@case-framework/survey-assistant 0.2.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/{authoring-references-ChDTVnms.mjs → authoring-references-yyYC4Ydi.mjs} +2 -2
  2. package/dist/{authoring-references-ChDTVnms.mjs.map → authoring-references-yyYC4Ydi.mjs.map} +1 -1
  3. package/dist/capabilities-default.d.mts +1 -1
  4. package/dist/{constants-BK1-g6pR.d.mts → constants-DrGZXtQf.d.mts} +4 -4
  5. package/dist/{constants-BK1-g6pR.d.mts.map → constants-DrGZXtQf.d.mts.map} +1 -1
  6. package/dist/{controller-proxy-DY36XFV3.mjs → controller-proxy-CpkQRezb.mjs} +2 -1
  7. package/dist/controller-proxy-CpkQRezb.mjs.map +1 -0
  8. package/dist/{controller-proxy-CIDRd8Wu.d.mts → controller-proxy-DmBdzqKs.d.mts} +5 -2
  9. package/dist/controller-proxy-DmBdzqKs.d.mts.map +1 -0
  10. package/dist/engine.d.mts +1 -1
  11. package/dist/{index-CPOQgkTN.d.mts → index-Bo4dHAo8.d.mts} +3 -2
  12. package/dist/index-Bo4dHAo8.d.mts.map +1 -0
  13. package/dist/index-D4OitUg4.d.mts +738 -0
  14. package/dist/index-D4OitUg4.d.mts.map +1 -0
  15. package/dist/{index-Bp5W_oPa.d.mts → index-DZk20e3k.d.mts} +26 -24
  16. package/dist/index-DZk20e3k.d.mts.map +1 -0
  17. package/dist/{index-SPHf3OoJ.d.mts → index-Dxgg0-D_.d.mts} +6 -3
  18. package/dist/index-Dxgg0-D_.d.mts.map +1 -0
  19. package/dist/lifecycle-DWv5CiSu.d.mts +523 -0
  20. package/dist/lifecycle-DWv5CiSu.d.mts.map +1 -0
  21. package/dist/protocol-DATvkr1S.mjs.map +1 -1
  22. package/dist/protocol.d.mts +2 -1
  23. package/dist/{react-3kSE6WtS.mjs → react-Br5YE8H-.mjs} +7 -5
  24. package/dist/react-Br5YE8H-.mjs.map +1 -0
  25. package/dist/react-integration.d.mts +1 -1
  26. package/dist/react-integration.mjs +1 -1
  27. package/dist/react.d.mts +2 -2
  28. package/dist/react.mjs +2 -2
  29. package/dist/server-agent.d.mts +26 -24
  30. package/dist/server-agent.d.mts.map +1 -1
  31. package/dist/server-agent.mjs +4 -4
  32. package/dist/server-agent.mjs.map +1 -1
  33. package/dist/server-runtime.d.mts +6 -6
  34. package/dist/server-runtime.mjs +1 -1
  35. package/dist/server-tasks.d.mts +1 -1
  36. package/dist/server-tasks.mjs +3 -2
  37. package/dist/server-tasks.mjs.map +1 -1
  38. package/dist/server-tools.d.mts +1 -1
  39. package/dist/server-tools.mjs +1 -1
  40. package/dist/server.d.mts +6 -6
  41. package/dist/server.d.mts.map +1 -1
  42. package/dist/server.mjs +1 -1
  43. package/dist/storage-postgres.d.mts +1 -1
  44. package/dist/{tasks-DIZgr4nD.d.mts → tasks-DQgL449A.d.mts} +3 -3
  45. package/dist/{tasks-DIZgr4nD.d.mts.map → tasks-DQgL449A.d.mts.map} +1 -1
  46. package/dist/{thread-documents-C3kf0Vds.d.mts → thread-documents-Dvo6XS7o.d.mts} +1 -1
  47. package/dist/{thread-documents-C3kf0Vds.d.mts.map → thread-documents-Dvo6XS7o.d.mts.map} +1 -1
  48. package/dist/{thread-handlers-DZ1WsorO.d.mts → thread-handlers-CeYl45xG.d.mts} +5 -5
  49. package/dist/{thread-handlers-DZ1WsorO.d.mts.map → thread-handlers-CeYl45xG.d.mts.map} +1 -1
  50. package/dist/{tools-GDd5_GUh.mjs → tools-Dg9HZrYU.mjs} +4 -4
  51. package/dist/tools-Dg9HZrYU.mjs.map +1 -0
  52. package/dist/ui.css +2 -2
  53. package/dist/ui.d.mts +94 -10
  54. package/dist/ui.d.mts.map +1 -1
  55. package/dist/ui.mjs +193 -78
  56. package/dist/ui.mjs.map +1 -1
  57. package/docs/integration.md +1 -1
  58. package/package.json +23 -17
  59. package/dist/controller-proxy-CIDRd8Wu.d.mts.map +0 -1
  60. package/dist/controller-proxy-DY36XFV3.mjs.map +0 -1
  61. package/dist/index-Bp5W_oPa.d.mts.map +0 -1
  62. package/dist/index-CPOQgkTN.d.mts.map +0 -1
  63. package/dist/index-EDL1V168.d.mts +0 -1257
  64. package/dist/index-EDL1V168.d.mts.map +0 -1
  65. package/dist/index-SPHf3OoJ.d.mts.map +0 -1
  66. package/dist/react-3kSE6WtS.mjs.map +0 -1
  67. package/dist/tools-GDd5_GUh.mjs.map +0 -1
@@ -7,7 +7,7 @@ storage credentials, logs, and deployment policy.
7
7
 
8
8
  ## Compatibility and release gate
9
9
 
10
- - Node.js 20 or newer and standard Web `Request`/`Response` route handlers.
10
+ - Node.js 22.13.0 or newer and standard Web `Request`/`Response` route handlers.
11
11
  - React and React DOM 19.2 or newer for `/react` and `/ui`.
12
12
  - `@case-framework/survey-core` 0.4.2 or newer within the 0.4 line; the
13
13
  assistant uses its browser-safe `editor/colors` entry.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@case-framework/survey-assistant",
3
- "version": "0.2.3",
3
+ "version": "0.3.0",
4
4
  "description": "Shared protocol, engine, and runtime for the CASE survey assistant.",
5
5
  "license": "ISC",
6
6
  "files": [
@@ -90,29 +90,32 @@
90
90
  "clsx": "^2.1.1",
91
91
  "lucide-react": "^1.11.0",
92
92
  "motion": "^12.42.2",
93
- "radix-ui": "^1.6.1",
93
+ "radix-ui": "^1.6.7",
94
94
  "shiki": "^4.3.0",
95
95
  "streamdown": "2.5.0",
96
96
  "tailwind-merge": "^3.5.0",
97
97
  "tw-animate-css": "^1.4.0",
98
98
  "use-stick-to-bottom": "^1.1.6",
99
- "zod": "^4.3.6",
99
+ "zod": "^4.4.3",
100
100
  "@case-framework/ui-localization": "0.2.1"
101
101
  },
102
102
  "devDependencies": {
103
- "@ai-sdk/react": "^4.0.10",
103
+ "@ai-sdk/react": "^4.0.55",
104
104
  "@jest/globals": "30.3.0",
105
- "@mastra/ai-sdk": "^1.6.0",
106
- "@mastra/core": "^1.47.0",
107
- "@mastra/memory": "^1.21.2",
108
- "@mastra/pg": "^1.14.2",
105
+ "@mastra/ai-sdk": "^1.7.1",
106
+ "@mastra/core": "^1.56.0",
107
+ "@mastra/memory": "^1.25.0",
108
+ "@mastra/pg": "^1.19.0",
109
109
  "@tailwindcss/vite": "^4.3.2",
110
110
  "@types/jest": "^30.0.0",
111
111
  "@types/node": "^25.6.0",
112
- "@types/react": "^19.2.14",
113
- "ai": "^7.0.15",
112
+ "@types/react": "^19.2.18",
113
+ "@types/react-test-renderer": "19.1.0",
114
+ "ai": "^7.0.52",
114
115
  "jest": "^30.3.0",
115
- "react": "~19.2.5",
116
+ "react": "~19.2.8",
117
+ "react-dom": "~19.2.8",
118
+ "react-test-renderer": "19.2.8",
116
119
  "ts-jest": "^29.4.9",
117
120
  "tsdown": "^0.21.10",
118
121
  "typescript": "^6.0.3",
@@ -120,12 +123,12 @@
120
123
  "@case-framework/survey-core": "0.6.1"
121
124
  },
122
125
  "peerDependencies": {
123
- "@ai-sdk/react": "^4.0.10",
124
- "@mastra/ai-sdk": "^1.6.0",
125
- "@mastra/core": "^1.47.0",
126
- "@mastra/memory": "^1.21.2",
127
- "@mastra/pg": "^1.14.2",
128
- "ai": "^7.0.15",
126
+ "@ai-sdk/react": "^4.0.55",
127
+ "@mastra/ai-sdk": "^1.7.1",
128
+ "@mastra/core": "^1.56.0",
129
+ "@mastra/memory": "^1.25.0",
130
+ "@mastra/pg": "^1.19.0",
131
+ "ai": "^7.0.52",
129
132
  "react": ">=19.2.0",
130
133
  "react-dom": ">=19.2.0",
131
134
  "@case-framework/survey-core": "0.6.1"
@@ -156,6 +159,9 @@
156
159
  "optional": true
157
160
  }
158
161
  },
162
+ "engines": {
163
+ "node": ">=22.13.0"
164
+ },
159
165
  "scripts": {
160
166
  "build": "tsdown && vite build --config vite.ui.config.ts",
161
167
  "test": "jest --config jest.config.cjs --runInBand",
@@ -1 +0,0 @@
1
- {"version":3,"file":"controller-proxy-CIDRd8Wu.d.mts","names":[],"sources":["../src/react/thread-launcher.ts","../src/react/task-client.ts","../src/react/controller.ts","../src/react/controller-proxy.ts"],"mappings":";;;;KAOY,8BAAA,GAAiC,OAAA,CAAQ,IAAA,CAAK,qBAAA;AAAA,UAEzC,2BAAA;EAFL;EAIV,MAAA;EACA,KAAA,GAAQ,UAAA;EALgD;EAOxD,KAAA;EAP2C;EAS3C,SAAA,GAAY,8BAAA;AAAA;AAAA,UAGG,6BAAA;EAZoC;;;;EAiBnD,WAAA,CAAY,KAAA,EAAO,2BAAA,GAA8B,OAAA,CAAQ,qBAAA;AAAA;AAAA,cA6D9C,mCAAA,QAA0C,6BAAA;;;UCtEtC,gCAAA;EACf,GAAA;EACA,UAAA;EACA,UAAA;EACA,QAAA;AAAA;AAAA,UAGe,mCAAA;EACf,IAAA,GAAO,iCAAA;EACP,OAAA;EACA,MAAA,GAAS,WAAA;AAAA;AAAA,UAGM,yBAAA;EACf,cAAA,CACE,KAAA,EAAO,kCAAA,EACP,OAAA,EAAS,0BAAA,EACT,OAAA,GAAU,mCAAA,GACT,OAAA,CAAQ,mCAAA;EACX,gBAAA,CACE,KAAA,EAAO,oCAAA,EACP,OAAA,EAAS,0BAAA,EACT,OAAA,GAAU,mCAAA,GACT,OAAA,CAAQ,qCAAA;EACX,gBAAA,CACE,KAAA,EAAO,oCAAA,EACP,OAAA,EAAS,0BAAA,EACT,OAAA,GAAU,mCAAA,GACT,OAAA,CAAQ,qCAAA;AAAA;AAAA,UAGI,yCAAA;EACf,IAAA,GAAO,iCAAA;EACP,MAAA,GAAS,WAAA;AAAA;AAAA,UAGM,uCAAA;EACf,UAAA;AAAA;AAAA,UAGe,2BAAA;EACf,cAAA,CACE,KAAA,EAAO,kCAAA,EACP,OAAA,EAAS,0BAAA,EACT,OAAA,GAAU,yCAAA,EACV,KAAA,GAAQ,uCAAA,GACP,OAAA,CAAQ,mCAAA;EACX,gBAAA,CACE,KAAA,EAAO,oCAAA,EACP,OAAA,EAAS,0BAAA,EACT,OAAA,GAAU,yCAAA,EACV,KAAA,GAAQ,uCAAA,GACP,OAAA,CAAQ,qCAAA;EACX,gBAAA,CACE,KAAA,EAAO,oCAAA,EACP,OAAA,EAAS,0BAAA,EACT,OAAA,GAAU,yCAAA,EACV,KAAA,GAAQ,uCAAA,GACP,OAAA,CAAQ,qCAAA;AAAA;AAAA,cAGA,+BAAA;EAAmC,GAAA;EAAA,UAAA;EAAA,UAAA;EAAA;AAAA,IAK7C,gCAAA,KAAwC,yBAAA;AAAA,cA8C9B,iCAAA,GACX,OAAA,GAAS,gCAAA,KACR,2BAAA;;;UC1Hc,yBAAA;EACf,WAAA,IAAe,uBAAA;EACf,oBAAA,EAAsB,MAAA,EAAQ,eAAA,GAAkB,iBAAA;EAChD,qBAAA,EAAuB,OAAA,EAAS,eAAA,KAAoB,sBAAA;AAAA;;;UCPrC,2CAAA;EACf,eAAA;AAAA;AAAA,UAGe,+BAAA;EACf,UAAA,EAAY,yBAAA;EACZ,aAAA,CAAc,UAAA,EAAY,yBAAA;AAAA;AAAA,cAWf,oCAAA,GACX,aAAA,QAAqB,yBAAA;EACrB;AAAA,IAEG,2CAAA,KACF,yBAAA;AAAA,cAUU,qCAAA,GACX,OAAA,GAAU,2CAAA,KACT,+BAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"controller-proxy-DY36XFV3.mjs","names":[],"sources":["../src/react/client-error.ts","../src/react/thread-launcher.ts","../src/react/task-client.ts","../src/react/controller-proxy.ts"],"sourcesContent":["import { parseSurveyAssistantError, type SurveyAssistantErrorCode } from \"../protocol\";\n\nexport class SurveyAssistantClientError extends Error {\n readonly code: SurveyAssistantErrorCode;\n\n constructor(code: SurveyAssistantErrorCode, message: string) {\n super(message);\n this.name = \"SurveyAssistantClientError\";\n this.code = code;\n }\n}\n\nexport const readSurveyAssistantJson = async (\n response: Response,\n fallback = \"The assistant request could not be completed.\",\n) => {\n const body = await response.json().catch(() => ({}));\n if (!response.ok) {\n const detail = typeof body?.error === \"string\" ? body.error : fallback;\n const parsed = parseSurveyAssistantError(\n typeof body?.code === \"string\" ? { code: body.code, detail } : detail,\n );\n throw new SurveyAssistantClientError(parsed.code, parsed.detail ?? detail);\n }\n return body;\n};\n","import type {\n SurveyAssistantSnapshot,\n SurveyAssistantThread,\n SurveyEditorUIContext,\n} from \"../protocol\";\nimport type { FileUIPart } from \"ai\";\n\nexport type SurveyAssistantLaunchUIContext = Partial<Omit<SurveyEditorUIContext, \"history\">>;\n\nexport interface SurveyAssistantThreadLaunch {\n /** User-visible prompt submitted as the first message in the new thread. */\n prompt: string;\n files?: FileUIPart[];\n /** Optional manual thread title. The prompt-derived automatic title is used by default. */\n title?: string;\n /** Turn-local editor context merged into the snapshot captured when the prompt is submitted. */\n uiContext?: SurveyAssistantLaunchUIContext;\n}\n\nexport interface SurveyAssistantThreadLauncher {\n /**\n * Creates a new thread and submits its first prompt when a connected panel is ready.\n * Calls made before the panel mounts are queued.\n */\n startThread(input: SurveyAssistantThreadLaunch): Promise<SurveyAssistantThread>;\n}\n\ntype LaunchHandler = (input: SurveyAssistantThreadLaunch) => Promise<SurveyAssistantThread>;\n\ninterface PendingLaunch {\n input: SurveyAssistantThreadLaunch;\n reject(error: unknown): void;\n resolve(thread: SurveyAssistantThread): void;\n}\n\ninterface LauncherState {\n handler: LaunchHandler | null;\n pending: PendingLaunch[];\n draining: boolean;\n}\n\nconst launcherStates = new WeakMap<SurveyAssistantThreadLauncher, LauncherState>();\n\nexport const applySurveyAssistantLaunchUIContext = (\n snapshot: SurveyAssistantSnapshot | null,\n uiContext: SurveyAssistantLaunchUIContext | undefined,\n): SurveyAssistantSnapshot | null =>\n snapshot && uiContext\n ? {\n ...snapshot,\n ui: {\n ...snapshot.ui,\n ...uiContext,\n },\n }\n : snapshot;\n\nconst getLauncherState = (launcher: SurveyAssistantThreadLauncher) => {\n const state = launcherStates.get(launcher);\n if (!state) {\n throw new Error(\n \"The survey assistant thread launcher was not created by createSurveyAssistantThreadLauncher.\",\n );\n }\n return state;\n};\n\nconst drainPendingLaunches = async (state: LauncherState) => {\n if (state.draining) return;\n state.draining = true;\n try {\n while (state.handler && state.pending.length > 0) {\n const pending = state.pending.shift();\n if (!pending) continue;\n try {\n pending.resolve(await state.handler(pending.input));\n } catch (error) {\n pending.reject(error);\n }\n }\n } finally {\n state.draining = false;\n }\n};\n\nexport const createSurveyAssistantThreadLauncher = (): SurveyAssistantThreadLauncher => {\n const state: LauncherState = { handler: null, pending: [], draining: false };\n const launcher: SurveyAssistantThreadLauncher = {\n startThread(input) {\n const prompt = input.prompt.trim();\n if (!prompt && (input.files?.length ?? 0) === 0) {\n return Promise.reject(new Error(\"A survey assistant prompt or attachment is required.\"));\n }\n\n return new Promise((resolve, reject) => {\n state.pending.push({\n input: {\n ...input,\n prompt,\n ...(input.files ? { files: [...input.files] } : {}),\n ...(input.title ? { title: input.title.trim() } : {}),\n },\n reject,\n resolve,\n });\n void drainPendingLaunches(state);\n });\n },\n };\n launcherStates.set(launcher, state);\n return launcher;\n};\n\nexport const connectSurveyAssistantThreadLauncher = (\n launcher: SurveyAssistantThreadLauncher,\n handler: LaunchHandler,\n) => {\n const state = getLauncherState(launcher);\n if (state.handler && state.handler !== handler) {\n throw new Error(\"A survey assistant thread launcher can only control one mounted panel.\");\n }\n state.handler = handler;\n void drainPendingLaunches(state);\n\n return () => {\n if (state.handler === handler) state.handler = null;\n };\n};\n","import {\n surveyAssistantSuggestItemKeyResultSchema,\n surveyAssistantSuggestItemLabelResultSchema,\n surveyAssistantTranslateContentResultSchema,\n type SurveyAssistantSuggestItemKeyInput,\n type SurveyAssistantSuggestItemKeyResult,\n type SurveyAssistantSuggestItemLabelInput,\n type SurveyAssistantSuggestItemLabelResult,\n type SurveyAssistantTaskContext,\n type SurveyAssistantTaskInvocationMode,\n type SurveyAssistantTranslateContentInput,\n type SurveyAssistantTranslateContentResult,\n} from \"../protocol\";\nimport { readSurveyAssistantJson } from \"./client-error\";\n\nexport interface SurveyAssistantTaskClientOptions {\n api?: string;\n getModelId?: () => string | undefined;\n resourceId?: string;\n surveyId?: string;\n}\n\nexport interface SurveyAssistantTaskExecutionOptions {\n mode?: SurveyAssistantTaskInvocationMode;\n modelId?: string;\n signal?: AbortSignal;\n}\n\nexport interface SurveyAssistantTaskClient {\n suggestItemKey(\n input: SurveyAssistantSuggestItemKeyInput,\n context: SurveyAssistantTaskContext,\n options?: SurveyAssistantTaskExecutionOptions,\n ): Promise<SurveyAssistantSuggestItemKeyResult>;\n suggestItemLabel(\n input: SurveyAssistantSuggestItemLabelInput,\n context: SurveyAssistantTaskContext,\n options?: SurveyAssistantTaskExecutionOptions,\n ): Promise<SurveyAssistantSuggestItemLabelResult>;\n translateContent(\n input: SurveyAssistantTranslateContentInput,\n context: SurveyAssistantTaskContext,\n options?: SurveyAssistantTaskExecutionOptions,\n ): Promise<SurveyAssistantTranslateContentResult>;\n}\n\nexport interface SurveyAssistantTaskExecutorRequestOptions {\n mode?: SurveyAssistantTaskInvocationMode;\n signal?: AbortSignal;\n}\n\nexport interface SurveyAssistantTaskExecutorCacheContext {\n cacheScope?: string;\n}\n\nexport interface SurveyAssistantTaskExecutor {\n suggestItemKey(\n input: SurveyAssistantSuggestItemKeyInput,\n context: SurveyAssistantTaskContext,\n options?: SurveyAssistantTaskExecutorRequestOptions,\n cache?: SurveyAssistantTaskExecutorCacheContext,\n ): Promise<SurveyAssistantSuggestItemKeyResult>;\n suggestItemLabel(\n input: SurveyAssistantSuggestItemLabelInput,\n context: SurveyAssistantTaskContext,\n options?: SurveyAssistantTaskExecutorRequestOptions,\n cache?: SurveyAssistantTaskExecutorCacheContext,\n ): Promise<SurveyAssistantSuggestItemLabelResult>;\n translateContent(\n input: SurveyAssistantTranslateContentInput,\n context: SurveyAssistantTaskContext,\n options?: SurveyAssistantTaskExecutorRequestOptions,\n cache?: SurveyAssistantTaskExecutorCacheContext,\n ): Promise<SurveyAssistantTranslateContentResult>;\n}\n\nexport const createSurveyAssistantTaskClient = ({\n api = \"/api/survey-assistant/tasks\",\n getModelId,\n resourceId,\n surveyId,\n}: SurveyAssistantTaskClientOptions = {}): SurveyAssistantTaskClient => {\n const run = async (\n taskId: \"suggest-item-key\" | \"suggest-item-label\" | \"translate-content\",\n input: unknown,\n context: SurveyAssistantTaskContext,\n options?: SurveyAssistantTaskExecutionOptions,\n ) => {\n const modelId = options?.modelId ?? getModelId?.();\n return readSurveyAssistantJson(\n await fetch(api, {\n body: JSON.stringify({\n taskId,\n input,\n context,\n ...(options?.mode ? { mode: options.mode } : {}),\n ...(modelId ? { modelId } : {}),\n ...(resourceId ? { resourceId } : {}),\n ...(surveyId ? { surveyId } : {}),\n }),\n headers: { \"content-type\": \"application/json\" },\n method: \"POST\",\n signal: options?.signal,\n }),\n \"The survey assistant task could not be completed.\",\n );\n };\n\n return {\n async suggestItemKey(input, context, options) {\n return surveyAssistantSuggestItemKeyResultSchema.parse(\n await run(\"suggest-item-key\", input, context, options),\n );\n },\n async suggestItemLabel(input, context, options) {\n return surveyAssistantSuggestItemLabelResultSchema.parse(\n await run(\"suggest-item-label\", input, context, options),\n );\n },\n async translateContent(input, context, options) {\n return surveyAssistantTranslateContentResultSchema.parse(\n await run(\"translate-content\", input, context, options),\n );\n },\n };\n};\n\nexport const createSurveyAssistantTaskExecutor = (\n options: SurveyAssistantTaskClientOptions = {},\n): SurveyAssistantTaskExecutor => {\n const client = createSurveyAssistantTaskClient(options);\n const executionOptions = (\n request?: SurveyAssistantTaskExecutorRequestOptions,\n cache?: SurveyAssistantTaskExecutorCacheContext,\n ): SurveyAssistantTaskExecutionOptions => ({\n mode: request?.mode,\n modelId: cache?.cacheScope,\n signal: request?.signal,\n });\n\n return {\n suggestItemKey: (input, context, request, cache) =>\n client.suggestItemKey(input, context, executionOptions(request, cache)),\n suggestItemLabel: (input, context, request, cache) =>\n client.suggestItemLabel(input, context, executionOptions(request, cache)),\n translateContent: (input, context, request, cache) =>\n client.translateContent(input, context, executionOptions(request, cache)),\n };\n};\n","import type { SurveyApplyResult, SurveyBatchApplyResult, SurveyChangeSet } from \"../protocol\";\nimport type { SurveyAssistantController } from \"./controller\";\n\nexport interface CreateSurveyAssistantControllerProxyOptions {\n notReadyMessage?: string;\n}\n\nexport interface SurveyAssistantControllerBridge {\n controller: SurveyAssistantController;\n setController(controller: SurveyAssistantController | null | undefined): void;\n}\n\nconst failedResult = (change: SurveyChangeSet, message: string): SurveyApplyResult => ({\n status: \"failed\",\n changeId: change.id,\n summary: change.summary,\n message,\n appliedOperations: 0,\n});\n\nexport const createSurveyAssistantControllerProxy = (\n getController: () => SurveyAssistantController | null | undefined,\n {\n notReadyMessage = \"The survey editor is not ready.\",\n }: CreateSurveyAssistantControllerProxyOptions = {},\n): SurveyAssistantController => ({\n getSnapshot: () => getController()?.getSnapshot() ?? null,\n applyAssistantChange: (change) =>\n getController()?.applyAssistantChange?.(change) ?? failedResult(change, notReadyMessage),\n applyAssistantChanges: (changes): SurveyBatchApplyResult =>\n getController()?.applyAssistantChanges?.(changes) ?? {\n results: changes.map((change) => failedResult(change, notReadyMessage)),\n },\n});\n\nexport const createSurveyAssistantControllerBridge = (\n options?: CreateSurveyAssistantControllerProxyOptions,\n): SurveyAssistantControllerBridge => {\n let currentController: SurveyAssistantController | null | undefined;\n return {\n controller: createSurveyAssistantControllerProxy(() => currentController, options),\n setController(controller) {\n currentController = controller;\n },\n };\n};\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Bp5W_oPa.d.mts","names":[],"sources":["../src/server/tools/survey-audit-tool.ts","../src/server/tools/survey-asset-tool.ts","../src/server/tools/index.ts"],"mappings":";;;cA4Ga,eAAA,EAwBX,qBAAA,CAxB0B,IAAA;;;;;;;;;qBAwB1B,qBAAA,CAAA,oBAAA;;;cCiCW,eAAA,EA6HX,qBAAA,CA7H0B,IAAA;;;;;;;;8BA6H1B,qBAAA,CAAA,oBAAA;;;cCvRW,yBAAA;AAAA,cAUA,oBAAA,EAAoB,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAQ/B,qBAAA,CAAA,oBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CPOQgkTN.d.mts","names":[],"sources":["../src/engine/capabilities.ts","../src/engine/context.ts","../src/engine/expression-validation.ts","../src/engine/expression-mutations.ts","../src/engine/inspection.ts","../src/engine/normalization.ts","../src/engine/operations.ts","../src/engine/turn-survey-draft.ts","../src/engine/task-context.ts","../src/engine/task-result-cache.ts","../src/engine/form-authoring.ts","../src/engine/audit.ts"],"mappings":"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"}