From 20efa024cb172e9560b92f74340947bb40f411a8 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sun, 29 Mar 2026 02:09:50 +0000 Subject: [PATCH 1/8] Add codemode utils module and rename ui utils alias Co-authored-by: Kent C. Dodds --- .../mcp-apps/generated-ui-runtime-contract.ts | 2 +- .../mcp-apps/generated-ui-widget-runtime.ts | 2 +- .../src/app/saved-ui-hosted-html.node.test.ts | 4 +- .../src/mcp/capabilities/apps/ui-save-app.ts | 6 +- .../mcp/capabilities/apps/ui-update-app.ts | 2 +- .../generated-ui-oauth-guide.node.test.ts | 2 + .../coding/generated-ui-oauth-guide.ts | 12 +- packages/worker/src/mcp/executor.ts | 193 +++++++++++++- packages/worker/src/mcp/generated-ui-api.ts | 2 +- .../generated-ui-app-base-url.node.test.ts | 2 +- packages/worker/src/mcp/index.ts | 4 +- .../worker/src/mcp/mcp-server.mcp-e2e.test.ts | 2 +- .../mcp/run-codemode-registry.workers.test.ts | 103 ++++++++ .../worker/src/mcp/tools/codemode-utils.ts | 241 ++++++++++++++++++ packages/worker/src/mcp/tools/execute.ts | 17 +- .../worker/src/mcp/tools/open-generated-ui.ts | 4 +- 16 files changed, 566 insertions(+), 32 deletions(-) create mode 100644 packages/worker/src/mcp/run-codemode-registry.workers.test.ts create mode 100644 packages/worker/src/mcp/tools/codemode-utils.ts diff --git a/packages/worker/client/mcp-apps/generated-ui-runtime-contract.ts b/packages/worker/client/mcp-apps/generated-ui-runtime-contract.ts index d080b075aa..3aeeede39b 100644 --- a/packages/worker/client/mcp-apps/generated-ui-runtime-contract.ts +++ b/packages/worker/client/mcp-apps/generated-ui-runtime-contract.ts @@ -43,7 +43,7 @@ export type GeneratedUiRuntimeBootstrap = { appSession?: GeneratedUiAppSessionBootstrap | null } -export const generatedUiRuntimeModuleSpecifier = '@kody/utils' as const +export const generatedUiRuntimeModuleSpecifier = '@kody/ui-utils' as const export function buildGeneratedUiRuntimeImportMap(runtimeScriptHref: string) { const importMapJson = escapeInlineScriptSource( diff --git a/packages/worker/client/mcp-apps/generated-ui-widget-runtime.ts b/packages/worker/client/mcp-apps/generated-ui-widget-runtime.ts index ab14c84186..61df974c16 100644 --- a/packages/worker/client/mcp-apps/generated-ui-widget-runtime.ts +++ b/packages/worker/client/mcp-apps/generated-ui-widget-runtime.ts @@ -193,7 +193,7 @@ export function getKodyWidget(): KodyWidgetPublicApi { return widget } throw new Error( - 'kodyWidget is not ready yet. Import `whenKodyWidgetReady()` from `@kody/utils` and await it before using the runtime helpers.', + 'kodyWidget is not ready yet. Import `whenKodyWidgetReady()` from `@kody/ui-utils` and await it before using the runtime helpers.', ) } diff --git a/packages/worker/src/app/saved-ui-hosted-html.node.test.ts b/packages/worker/src/app/saved-ui-hosted-html.node.test.ts index 090cf62293..58d36272f3 100644 --- a/packages/worker/src/app/saved-ui-hosted-html.node.test.ts +++ b/packages/worker/src/app/saved-ui-hosted-html.node.test.ts @@ -39,7 +39,7 @@ test('renderHostedSavedUiHtml emits shared runtime assets for html apps', () => '', ) expect(result).toContain( - '', + '', ) expect(result).toContain( 'window.__kodyGeneratedUiBootstrap = {"mode":"hosted","appSession":{"token":"token-123","endpoints":{"source":"https://kody.example/ui-api/session-123/source","execute":"https://kody.example/ui-api/session-123/execute","secrets":"https://kody.example/ui-api/session-123/secrets","deleteSecret":"https://kody.example/ui-api/session-123/secrets/delete"}}};', @@ -69,7 +69,7 @@ test('renderHostedSavedUiHtml keeps user javascript separate from runtime bootst '', ) expect(result).toContain( - '', + '', ) expect(result).toContain( '