From 33fcade0f8703cfb93dbd916dd4b0c99d3b06737 Mon Sep 17 00:00:00 2001 From: stone Date: Thu, 26 Sep 2024 16:38:35 +0800 Subject: [PATCH 1/8] fix: resolve the issue where the table couldn't run --- packages/vscode-extension/src/app/VsCodeClient.tsx | 12 +++++++++--- .../vscode-extension/src/messageHandlers/onRun.ts | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/vscode-extension/src/app/VsCodeClient.tsx b/packages/vscode-extension/src/app/VsCodeClient.tsx index e006ade5..685d2133 100644 --- a/packages/vscode-extension/src/app/VsCodeClient.tsx +++ b/packages/vscode-extension/src/app/VsCodeClient.tsx @@ -3,12 +3,12 @@ import { DataStoryEvents, eventManager } from '@data-story/ui'; // @ts-ignore import { WorkspaceApiClient } from '@data-story/ui/dist/src/components/DataStory/clients/WorkspaceApiClient'; // @ts-ignore -import { ClientRunParams } from '@data-story/ui/dist/src/components/DataStory/types'; +import { ClientRunParams, ServerClientObservationConfig } from '@data-story/ui/dist/src/components/DataStory/types'; export class VsCodeClient implements WorkspaceApiClient { updateEdgeCounts: any; private vscode: any; - + private observers: ServerClientObservationConfig | undefined; constructor(vscode: any) { this.vscode = vscode; @@ -22,6 +22,7 @@ export class VsCodeClient implements WorkspaceApiClient { } run = async ({ diagram, updateEdgeCounts, observers }: ClientRunParams): Promise => { + this.observers = observers; this.updateEdgeCounts = updateEdgeCounts; const message = { type: 'run', @@ -83,6 +84,11 @@ export class VsCodeClient implements WorkspaceApiClient { return; } + if (data.type === 'NotifyObservers') { + this?.observers?.onDataChange(data.items, data.inputObservers); + return; + } + if (data.type === 'ExecutionResult') { console.log('Execution complete 💫') eventManager.emit({ @@ -104,7 +110,7 @@ export class VsCodeClient implements WorkspaceApiClient { return } - if (data.type === 'UpdateStorage' || data.type === 'NotifyObservers') { + if (data.type === 'UpdateStorage') { return; } diff --git a/packages/vscode-extension/src/messageHandlers/onRun.ts b/packages/vscode-extension/src/messageHandlers/onRun.ts index 478a5567..aeb5cc08 100644 --- a/packages/vscode-extension/src/messageHandlers/onRun.ts +++ b/packages/vscode-extension/src/messageHandlers/onRun.ts @@ -19,11 +19,11 @@ export const onRun: MessageHandler = async ({ event, webviewPanel }) => { }) const sendMsg: ReportCallback = (items, inputObservers) => { - webviewPanel.webview.postMessage(JSON.stringify({ + webviewPanel.webview.postMessage({ type: 'NotifyObservers', inputObservers, items - })) + }) } const inputObserverController = new InputObserverController( From e75ce804e3d2d2bc4fcfd5bcfcd07978a19dee72 Mon Sep 17 00:00:00 2001 From: stone Date: Thu, 26 Sep 2024 17:04:45 +0800 Subject: [PATCH 2/8] feat: change @data-story dependencies to use workspace --- packages/ui/src/index.ts | 3 +- packages/vscode-extension/package.json | 4 +- .../vscode-extension/src/app/VsCodeClient.tsx | 5 +- yarn.lock | 46 +------------------ 4 files changed, 7 insertions(+), 51 deletions(-) diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts index 58326c62..eb80bed4 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -7,8 +7,9 @@ export { OpenIcon } from './components/DataStory/icons/openIcon' export { useDataStoryControls } from './components/DataStory/dataStoryControls'; export { eventManager, useDataStoryEvent } from './components/DataStory/events/eventManager' export { DataStoryEvents, type DataStoryEventType } from './components/DataStory/events/dataStoryEventType' -export type { DataStoryObservers, DataStoryProps } from './components/DataStory/types' +export type { DataStoryObservers, DataStoryProps, ClientRunParams, ServerClientObservationConfig } from './components/DataStory/types' export { default as NodeComponent } from './components/Node/NodeComponent'; export { WorkspaceApiJSClient } from './components/DataStory/clients/WorkspaceApiJSClient'; export { WorkspaceSocketClient } from './components/DataStory/clients/WorkspaceSocketClient'; export type { DataStoryControlsType } from './components/DataStory/dataStoryControls'; +export type { WorkspaceApiClient } from './components/DataStory/clients/WorkspaceApiClient'; diff --git a/packages/vscode-extension/package.json b/packages/vscode-extension/package.json index eb7d9b94..b83f5e43 100644 --- a/packages/vscode-extension/package.json +++ b/packages/vscode-extension/package.json @@ -106,8 +106,8 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@data-story/core": "^0.0.92", - "@data-story/ui": "^0.0.92", + "@data-story/core": "workspace:*", + "@data-story/ui": "workspace:*", "react": "^18.3.1", "react-dom": "^18.3.1", "ts-loader": "^9.5.1" diff --git a/packages/vscode-extension/src/app/VsCodeClient.tsx b/packages/vscode-extension/src/app/VsCodeClient.tsx index 685d2133..ad2d9892 100644 --- a/packages/vscode-extension/src/app/VsCodeClient.tsx +++ b/packages/vscode-extension/src/app/VsCodeClient.tsx @@ -1,9 +1,6 @@ import { createDataStoryId, Hook } from '@data-story/core'; import { DataStoryEvents, eventManager } from '@data-story/ui'; -// @ts-ignore -import { WorkspaceApiClient } from '@data-story/ui/dist/src/components/DataStory/clients/WorkspaceApiClient'; -// @ts-ignore -import { ClientRunParams, ServerClientObservationConfig } from '@data-story/ui/dist/src/components/DataStory/types'; +import type { WorkspaceApiClient, ClientRunParams, ServerClientObservationConfig } from '@data-story/ui'; export class VsCodeClient implements WorkspaceApiClient { updateEdgeCounts: any; diff --git a/yarn.lock b/yarn.lock index 3685b1c2..82538330 100644 --- a/yarn.lock +++ b/yarn.lock @@ -458,19 +458,6 @@ __metadata: languageName: node linkType: hard -"@data-story/core@npm:0.0.92, @data-story/core@npm:^0.0.92": - version: 0.0.92 - resolution: "@data-story/core@npm:0.0.92" - dependencies: - axios: "npm:^1.3.4" - dotenv: "npm:^16.0.3" - nanoid: "npm:3" - peerDependencies: - vitest: ^1.6.0 - checksum: 10/026139c25d8c564cd594e517f16190592e44e5d88a8b08d210a96770a980559ea478ccf8a6d350d22df9304e398ba79673837a13d7d94bd68522e51d0994a510 - languageName: node - linkType: hard - "@data-story/core@workspace:*, @data-story/core@workspace:packages/core": version: 0.0.0-use.local resolution: "@data-story/core@workspace:packages/core" @@ -582,35 +569,6 @@ __metadata: languageName: unknown linkType: soft -"@data-story/ui@npm:^0.0.92": - version: 0.0.92 - resolution: "@data-story/ui@npm:0.0.92" - dependencies: - "@codemirror/autocomplete": "npm:^6.16.2" - "@data-story/core": "npm:0.0.92" - "@floating-ui/react": "npm:^0.26.10" - "@tanstack/react-table": "npm:^8.11.7" - "@tanstack/react-virtual": "npm:^3.5.0" - "@uiw/react-codemirror": "npm:^4.22.2" - "@xyflow/react": "npm:^12.0.2" - ahooks: "npm:^3.7.10" - allotment: "npm:^1.20.2" - clsx: "npm:^2.0.0" - codemirror: "npm:^6.0.1" - concurrently: "npm:^8.2.1" - markdown-it: "npm:^13.0.2" - react-arborist: "npm:^3.4.0" - react-dnd: "npm:^16.0.1" - react-dnd-html5-backend: "npm:^16.0.1" - rxjs: "npm:^7.8.1" - zustand: "npm:^4.3.9" - peerDependencies: - react: ^18.2.0 - react-dom: ^18.2.0 - checksum: 10/0fc3eb51011b865214149c9f78f5d331bba0f2875a2c28946045554316be704daf32baefc489ddb087372406e00722c3bc61fd5d1f5c6a6d13bedcbccd6553f3 - languageName: node - linkType: hard - "@data-story/ui@workspace:*, @data-story/ui@workspace:packages/ui": version: 0.0.0-use.local resolution: "@data-story/ui@workspace:packages/ui" @@ -663,8 +621,8 @@ __metadata: version: 0.0.0-use.local resolution: "@data-story/vscode-extension@workspace:packages/vscode-extension" dependencies: - "@data-story/core": "npm:^0.0.92" - "@data-story/ui": "npm:^0.0.92" + "@data-story/core": "workspace:*" + "@data-story/ui": "workspace:*" "@types/mocha": "npm:^10.0.7" "@types/node": "npm:20.x" "@types/react": "npm:^18" From 635157289c113da242ea0f8f6e614e95d3dedf1e Mon Sep 17 00:00:00 2001 From: stone Date: Thu, 26 Sep 2024 18:06:13 +0800 Subject: [PATCH 3/8] feat: implment the data-story/core create esm format files --- packages/core/package.json | 1 + packages/core/tsconfig.build.esm.json | 43 +++++++++++++++++++++++++++ packages/core/vite.config.ts | 21 +++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 packages/core/tsconfig.build.esm.json create mode 100644 packages/core/vite.config.ts diff --git a/packages/core/package.json b/packages/core/package.json index 12207572..cefadd1f 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -36,6 +36,7 @@ "demo": "npx ts-node ./src/V2/old/demo.ts", "test": "yarn run -T vitest run", "watch:test": "yarn run -T vitest", + "build:esm": "tsc -p tsconfig.build.esm.json", "build:cjs": "tsc -p tsconfig.build.json", "build": "yarn build:cjs && yarn build-vite", "release": "yarn run -T release-it" diff --git a/packages/core/tsconfig.build.esm.json b/packages/core/tsconfig.build.esm.json new file mode 100644 index 00000000..175bacc5 --- /dev/null +++ b/packages/core/tsconfig.build.esm.json @@ -0,0 +1,43 @@ +{ + "compilerOptions": { + "target": "ES6", + "lib": [ + "esnext" + ], + "allowJs": true, + "checkJs": false, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "outDir": "dist/esm", + "esModuleInterop": true, + "module": "ESNext", + "sourceMap": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "incremental": true, + "noImplicitAny": true, + "types": [ + "vitest/globals" + ], + "declaration": true + }, + "ts-node": { + "compilerOptions": { + "module": "ESNext" + } + }, + "include": [ + "./src/**/*.ts", + "global.d.ts" + ], + "exclude": [ + "./node_modules", + "./src/**/*.spec.ts", + "./src/**/*.test.ts", + "./src/**/*.cy.ts", + "./src/**/*.d.ts", + ] + } + \ No newline at end of file diff --git a/packages/core/vite.config.ts b/packages/core/vite.config.ts new file mode 100644 index 00000000..cbe3c5c1 --- /dev/null +++ b/packages/core/vite.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from 'vite'; +import { resolve } from 'path'; + +export default defineConfig({ + build: { + outDir: 'dist/esm', + rollupOptions: { + input: { + main: resolve(__dirname, 'src/index.ts'), + }, + output: { + entryFileNames: '[name].mjs', + chunkFileNames: '[name]-[hash].mjs', + assetFileNames: '[name]-[hash][extname]', + dir: resolve(__dirname, 'dist/esm'), + format: 'es', + sourcemap: true, + }, + }, + }, +}); From 6f9cfa8b50c394aa1207dbe7b18fd9b1456d3e59 Mon Sep 17 00:00:00 2001 From: stone Date: Thu, 26 Sep 2024 18:09:48 +0800 Subject: [PATCH 4/8] fix: resolve the issue where vscode-extension couldn't find data-story/core method --- packages/core/package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index cefadd1f..1bbb936a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -4,9 +4,10 @@ "main": "dist/main/index.js", "type": "commonjs", "types": "dist/main/index.d.ts", + "module": "dist/esm/index.js", "exports": { ".": { - "import": "./dist/main/index.js", + "import": "./dist/esm/index.js", "require": "./dist/main/index.js" }, "./test-tools": { @@ -38,7 +39,7 @@ "watch:test": "yarn run -T vitest", "build:esm": "tsc -p tsconfig.build.esm.json", "build:cjs": "tsc -p tsconfig.build.json", - "build": "yarn build:cjs && yarn build-vite", + "build": "yarn build:esm && yarn build:cjs && yarn build-vite", "release": "yarn run -T release-it" }, "release-it": { From 6f809e65dc73875f6e8f62c1021d2a73a2ac53fc Mon Sep 17 00:00:00 2001 From: stone Date: Thu, 26 Sep 2024 19:07:41 +0800 Subject: [PATCH 5/8] chore: upadate the read.md --- packages/ui/package.json | 1 + packages/vscode-extension/README.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/ui/package.json b/packages/ui/package.json index ccf1e412..3a724931 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -3,6 +3,7 @@ "version": "0.0.93", "main": "./dist/bundle.js", "types": "./dist/src/index.d.ts", + "module": "./dist/bundle.mjs", "exports": { "./data-story.css": "./dist/data-story.css", ".": { diff --git a/packages/vscode-extension/README.md b/packages/vscode-extension/README.md index aaba4255..8a4154f6 100644 --- a/packages/vscode-extension/README.md +++ b/packages/vscode-extension/README.md @@ -1,6 +1,6 @@ # Development Installation * clone repo -* in root, also run `yarn` +* in root, also run `yarn` and `yarn build` * open repo with VS Code * In "Run and Debug" tab, click "Run Extension" * This opens a new instance of VS Code From c5872fc216704c47767f01f21168b1485994b638 Mon Sep 17 00:00:00 2001 From: stone Date: Fri, 27 Sep 2024 16:03:04 +0800 Subject: [PATCH 6/8] feat: change bundled file extension in `data-story/core` to `.mjs` for ESM format --- packages/core/package.json | 7 ++++--- packages/core/vite.config.esm.ts | 19 +++++++++++++++++++ packages/core/vite.config.ts | 21 --------------------- yarn.lock | 10 ++++++++++ 4 files changed, 33 insertions(+), 24 deletions(-) create mode 100644 packages/core/vite.config.esm.ts delete mode 100644 packages/core/vite.config.ts diff --git a/packages/core/package.json b/packages/core/package.json index 1bbb936a..d4edee13 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -4,10 +4,10 @@ "main": "dist/main/index.js", "type": "commonjs", "types": "dist/main/index.d.ts", - "module": "dist/esm/index.js", + "module": "dist/esm/index.mjs", "exports": { ".": { - "import": "./dist/esm/index.js", + "import": "./dist/esm/index.mjs", "require": "./dist/main/index.js" }, "./test-tools": { @@ -37,7 +37,7 @@ "demo": "npx ts-node ./src/V2/old/demo.ts", "test": "yarn run -T vitest run", "watch:test": "yarn run -T vitest", - "build:esm": "tsc -p tsconfig.build.esm.json", + "build:esm": "vite build --config vite.config.esm.ts", "build:cjs": "tsc -p tsconfig.build.json", "build": "yarn build:esm && yarn build:cjs && yarn build-vite", "release": "yarn run -T release-it" @@ -62,6 +62,7 @@ "ts-node": "^10.9.1", "typescript": "4.9.5", "vite": "^5.0.10", + "vite-plugin-externalize-deps": "^0.8.0", "webpack": "^5.88.1", "webpack-cli": "^5.1.4", "webpack-shebang-plugin": "^1.1.8" diff --git a/packages/core/vite.config.esm.ts b/packages/core/vite.config.esm.ts new file mode 100644 index 00000000..5ed8661e --- /dev/null +++ b/packages/core/vite.config.esm.ts @@ -0,0 +1,19 @@ +import { defineConfig } from 'vite'; +import { resolve } from 'path'; +import { externalizeDeps } from 'vite-plugin-externalize-deps'; + +export default defineConfig({ + plugins: [ + externalizeDeps(), + ], + build: { + outDir: 'dist/esm', + lib: { + entry: resolve(__dirname, 'src/index.ts'), + name: '@data-story/core', + formats: ['es'], + fileName: 'index' + }, + sourcemap: true + }, +}); diff --git a/packages/core/vite.config.ts b/packages/core/vite.config.ts deleted file mode 100644 index cbe3c5c1..00000000 --- a/packages/core/vite.config.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { defineConfig } from 'vite'; -import { resolve } from 'path'; - -export default defineConfig({ - build: { - outDir: 'dist/esm', - rollupOptions: { - input: { - main: resolve(__dirname, 'src/index.ts'), - }, - output: { - entryFileNames: '[name].mjs', - chunkFileNames: '[name]-[hash].mjs', - assetFileNames: '[name]-[hash][extname]', - dir: resolve(__dirname, 'dist/esm'), - format: 'es', - sourcemap: true, - }, - }, - }, -}); diff --git a/yarn.lock b/yarn.lock index 82538330..6803048a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -469,6 +469,7 @@ __metadata: ts-node: "npm:^10.9.1" typescript: "npm:4.9.5" vite: "npm:^5.0.10" + vite-plugin-externalize-deps: "npm:^0.8.0" webpack: "npm:^5.88.1" webpack-cli: "npm:^5.1.4" webpack-shebang-plugin: "npm:^1.1.8" @@ -14932,6 +14933,15 @@ __metadata: languageName: node linkType: hard +"vite-plugin-externalize-deps@npm:^0.8.0": + version: 0.8.0 + resolution: "vite-plugin-externalize-deps@npm:0.8.0" + peerDependencies: + vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + checksum: 10/a87b7bc44c810e5ef16314d76ccdd442d27018ea3fae531d22fc6bd803c20e0de4268d981bfc5db604ceb382cd9f646804da84df5a77dac98914be8ddc15b6ec + languageName: node + linkType: hard + "vite@npm:^5.0.0, vite@npm:^5.0.10": version: 5.2.11 resolution: "vite@npm:5.2.11" From 7f2222c4221c589e6e94a90346c85b791ef167e0 Mon Sep 17 00:00:00 2001 From: stone Date: Fri, 27 Sep 2024 16:48:44 +0800 Subject: [PATCH 7/8] fix: resolve table usage issue in socket mode --- packages/nodejs/test-server.ts | 1 - .../clients/WorkspaceSocketClient.tsx | 25 +++++++++++-------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/nodejs/test-server.ts b/packages/nodejs/test-server.ts index a72f447a..e2561ba1 100644 --- a/packages/nodejs/test-server.ts +++ b/packages/nodejs/test-server.ts @@ -1,6 +1,5 @@ import { nodeJsProvider, SocketServer } from './src'; import { Application, coreNodeProvider } from '@data-story/core'; -import * as path from 'node:path'; import * as dotenv from 'dotenv'; import { hubspotProvider } from '@data-story/hubspot'; import { openAiProvider } from '@data-story/openai'; diff --git a/packages/ui/src/components/DataStory/clients/WorkspaceSocketClient.tsx b/packages/ui/src/components/DataStory/clients/WorkspaceSocketClient.tsx index 93414aa5..8a4f18de 100644 --- a/packages/ui/src/components/DataStory/clients/WorkspaceSocketClient.tsx +++ b/packages/ui/src/components/DataStory/clients/WorkspaceSocketClient.tsx @@ -1,11 +1,12 @@ import { createDataStoryId, Hook, NodeDescription } from '@data-story/core'; import { webSocket, WebSocketSubject } from 'rxjs/webSocket'; -import { Observable, retry } from 'rxjs'; -import { ClientRunParams, DescribeResponse } from '../types'; +import { filter, Observable, retry } from 'rxjs'; +import { ClientRunParams, DescribeResponse, ServerClientObservationConfig } from '../types'; import { WorkspaceApiClient } from './WorkspaceApiClient'; import { processWaitingResponse, waitForResponse } from './WebSocketHandleResponseMiddleware'; import { DataStoryEvents } from '../events/dataStoryEventType'; import { eventManager } from '../events/eventManager'; +import { clientBuffer } from './ClientBuffer'; export class WorkspaceSocketClient implements WorkspaceApiClient { private socket$: WebSocketSubject; @@ -13,6 +14,7 @@ export class WorkspaceSocketClient implements WorkspaceApiClient { private maxReconnectTries = 100; private reconnectTimeoutMs = 1000; private updateEdgeCounts?: ClientRunParams['updateEdgeCounts']; + private observers: ServerClientObservationConfig | undefined; constructor() { this.socket$ = webSocket({ @@ -41,20 +43,21 @@ export class WorkspaceSocketClient implements WorkspaceApiClient { error: (err) => console.log('WebSocket error: ', err), }); - // this.wsObservable.pipe( - // filter(data => data.type === 'NotifyObservers'), - // clientBuffer() - // ).subscribe((data) => { - // this?.observers?.onDataChange( - // data.items, - // data.inputObservers, - // ); - // }); + this.wsObservable.pipe( + filter(data => data.type === 'NotifyObservers'), + clientBuffer() + ).subscribe((data) => { + this?.observers?.onDataChange( + data.items, + data.inputObservers, + ); + }); } run = ( { updateEdgeCounts, diagram, observers }: ClientRunParams ) => { + this.observers = observers; this.updateEdgeCounts = updateEdgeCounts; const message = { type: 'run', From d4588313f84c629ab53b6aca123261109e053bec Mon Sep 17 00:00:00 2001 From: stone Date: Fri, 27 Sep 2024 17:10:07 +0800 Subject: [PATCH 8/8] fix: ensure table data reset successfully --- .../components/DataStory/clients/WorkspaceSocketClient.tsx | 7 ++++++- packages/vscode-extension/src/app/VsCodeClient.tsx | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/components/DataStory/clients/WorkspaceSocketClient.tsx b/packages/ui/src/components/DataStory/clients/WorkspaceSocketClient.tsx index 8a4f18de..c6e7401c 100644 --- a/packages/ui/src/components/DataStory/clients/WorkspaceSocketClient.tsx +++ b/packages/ui/src/components/DataStory/clients/WorkspaceSocketClient.tsx @@ -14,7 +14,7 @@ export class WorkspaceSocketClient implements WorkspaceApiClient { private maxReconnectTries = 100; private reconnectTimeoutMs = 1000; private updateEdgeCounts?: ClientRunParams['updateEdgeCounts']; - private observers: ServerClientObservationConfig | undefined; + private observers: ServerClientObservationConfig|undefined; constructor() { this.socket$ = webSocket({ @@ -47,6 +47,7 @@ export class WorkspaceSocketClient implements WorkspaceApiClient { filter(data => data.type === 'NotifyObservers'), clientBuffer() ).subscribe((data) => { + console.log('workspaceSocketClient: NotifyObservers', data); this?.observers?.onDataChange( data.items, data.inputObservers, @@ -65,6 +66,10 @@ export class WorkspaceSocketClient implements WorkspaceApiClient { inputObservers: observers?.inputObservers || [], }; + eventManager.emit({ + type: DataStoryEvents.RUN_START + }); + this.socketSendMsg(message); } diff --git a/packages/vscode-extension/src/app/VsCodeClient.tsx b/packages/vscode-extension/src/app/VsCodeClient.tsx index ad2d9892..7077ed90 100644 --- a/packages/vscode-extension/src/app/VsCodeClient.tsx +++ b/packages/vscode-extension/src/app/VsCodeClient.tsx @@ -27,6 +27,10 @@ export class VsCodeClient implements WorkspaceApiClient { inputObservers: observers?.inputObservers || [], }; + eventManager.emit({ + type: DataStoryEvents.RUN_START + }); + this.sendMessage(message); } @@ -143,4 +147,4 @@ export async function waitForResponse(params: any): Promise { } }, 10000); }); -} \ No newline at end of file +}