@case-framework/survey-assistant 0.6.0 → 0.8.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 (135) hide show
  1. package/README.md +67 -7
  2. package/dist/{attachments-B0hg3vpT.mjs → attachments-BuNni5vB.mjs} +1 -1
  3. package/dist/{attachments-B0hg3vpT.mjs.map → attachments-BuNni5vB.mjs.map} +1 -1
  4. package/dist/{authoring-references-CW38pYzK.mjs → authoring-references-DbuOKerg.mjs} +13 -4
  5. package/dist/authoring-references-DbuOKerg.mjs.map +1 -0
  6. package/dist/{capabilities-DVTfogjv.d.mts → capabilities-CmeeAjEc.d.mts} +3 -4
  7. package/dist/capabilities-CmeeAjEc.d.mts.map +1 -0
  8. package/dist/capabilities-DCMA71PP.mjs +58 -0
  9. package/dist/capabilities-DCMA71PP.mjs.map +1 -0
  10. package/dist/capabilities-default.d.mts +13 -12
  11. package/dist/capabilities-default.d.mts.map +1 -1
  12. package/dist/capabilities-default.mjs +2 -414
  13. package/dist/{constants-BMGTgfjv.d.mts → constants-B6HzpEsx.d.mts} +7 -28
  14. package/dist/constants-B6HzpEsx.d.mts.map +1 -0
  15. package/dist/{constants-0UHGFcRJ.mjs → constants-Ct-vv9cu.mjs} +1 -1
  16. package/dist/{constants-0UHGFcRJ.mjs.map → constants-Ct-vv9cu.mjs.map} +1 -1
  17. package/dist/controller-proxy-D7uQfm5f.d.mts +65 -0
  18. package/dist/controller-proxy-D7uQfm5f.d.mts.map +1 -0
  19. package/dist/{controller-proxy-DMTqer6T.mjs → controller-proxy-DEeFl9IA.mjs} +29 -26
  20. package/dist/controller-proxy-DEeFl9IA.mjs.map +1 -0
  21. package/dist/default-fhSon2RM.mjs +760 -0
  22. package/dist/default-fhSon2RM.mjs.map +1 -0
  23. package/dist/{digest-SJmoYVaK.d.mts → digest-C39WyAWG.d.mts} +2 -3
  24. package/dist/digest-C39WyAWG.d.mts.map +1 -0
  25. package/dist/digest.d.mts +1 -1
  26. package/dist/digest.mjs.map +1 -1
  27. package/dist/{engine-CQwOAcwK.mjs → engine-nXoCWYpQ.mjs} +2821 -2018
  28. package/dist/engine-nXoCWYpQ.mjs.map +1 -0
  29. package/dist/engine.d.mts +3 -3
  30. package/dist/engine.mjs +3 -3
  31. package/dist/{fair-guidance-CRYCRxQm.mjs → fair-guidance-BmO4PswW.mjs} +1 -1
  32. package/dist/{fair-guidance-CRYCRxQm.mjs.map → fair-guidance-BmO4PswW.mjs.map} +1 -1
  33. package/dist/{index-D6nqkz0O.d.mts → index-Ciq7vHIs.d.mts} +121 -197
  34. package/dist/index-Ciq7vHIs.d.mts.map +1 -0
  35. package/dist/{index-DvTqML-0.d.mts → index-D7wT6P3t.d.mts} +294 -63
  36. package/dist/index-D7wT6P3t.d.mts.map +1 -0
  37. package/dist/index-WB5kfnz0.d.mts +348 -0
  38. package/dist/index-WB5kfnz0.d.mts.map +1 -0
  39. package/dist/{index-B0lxsAzx.d.mts → index-r5riv4md.d.mts} +50 -29
  40. package/dist/index-r5riv4md.d.mts.map +1 -0
  41. package/dist/{lifecycle-BmGAIUlv.d.mts → lifecycle-Dm8u7QFh.d.mts} +40 -18
  42. package/dist/lifecycle-Dm8u7QFh.d.mts.map +1 -0
  43. package/dist/{memory-thread-repository-CjFGVNZh.mjs → memory-thread-repository-DAnOGIB3.mjs} +89 -34
  44. package/dist/memory-thread-repository-DAnOGIB3.mjs.map +1 -0
  45. package/dist/{protocol-DJUP4gc0.mjs → protocol-CF4Bh_Ch.mjs} +182 -50
  46. package/dist/protocol-CF4Bh_Ch.mjs.map +1 -0
  47. package/dist/protocol.d.mts +4 -4
  48. package/dist/protocol.mjs +3 -3
  49. package/dist/react-C_GY-Fsc.mjs +1727 -0
  50. package/dist/react-C_GY-Fsc.mjs.map +1 -0
  51. package/dist/react-integration.d.mts +2 -2
  52. package/dist/react-integration.mjs +2 -2
  53. package/dist/react.d.mts +3 -3
  54. package/dist/react.mjs +3 -3
  55. package/dist/references/assistant-operations.md +143 -68
  56. package/dist/references/core-rules.md +6 -3
  57. package/dist/references/embedded-forms.md +34 -14
  58. package/dist/references/expressions.md +238 -48
  59. package/dist/references/fair-by-design.md +9 -9
  60. package/dist/references/item-types.md +306 -72
  61. package/dist/references/localization.md +5 -4
  62. package/dist/references/response-variables.md +38 -0
  63. package/dist/references/rich-text-content.md +60 -27
  64. package/dist/references/source-material-surveys.md +13 -5
  65. package/dist/references/survey-data-model.md +32 -9
  66. package/dist/{request-context-BjTHNcDd.mjs → request-context-Dg4jSwN1.mjs} +4 -10
  67. package/dist/request-context-Dg4jSwN1.mjs.map +1 -0
  68. package/dist/{request-guardrails-TmgQtqp4.mjs → request-guardrails-C0ugBOp0.mjs} +6 -5
  69. package/dist/request-guardrails-C0ugBOp0.mjs.map +1 -0
  70. package/dist/server-agent.d.mts +53 -44
  71. package/dist/server-agent.d.mts.map +1 -1
  72. package/dist/server-agent.mjs +48 -27
  73. package/dist/server-agent.mjs.map +1 -1
  74. package/dist/server-runtime.d.mts +36 -49
  75. package/dist/server-runtime.d.mts.map +1 -1
  76. package/dist/server-runtime.mjs +17 -12
  77. package/dist/server-runtime.mjs.map +1 -1
  78. package/dist/server-tasks.d.mts +2 -2
  79. package/dist/server-tasks.mjs +2 -313
  80. package/dist/server-tools.d.mts +1 -1
  81. package/dist/server-tools.mjs +1 -1
  82. package/dist/server.d.mts +13 -36
  83. package/dist/server.d.mts.map +1 -1
  84. package/dist/server.mjs +5 -5
  85. package/dist/server.mjs.map +1 -1
  86. package/dist/storage-postgres.d.mts +9 -25
  87. package/dist/storage-postgres.d.mts.map +1 -1
  88. package/dist/storage-postgres.mjs +5 -4
  89. package/dist/storage-postgres.mjs.map +1 -1
  90. package/dist/{tasks-DxzD25Zc.d.mts → tasks-B9h3LPam.d.mts} +19 -35
  91. package/dist/tasks-B9h3LPam.d.mts.map +1 -0
  92. package/dist/tasks-BZEiwgxA.mjs +396 -0
  93. package/dist/tasks-BZEiwgxA.mjs.map +1 -0
  94. package/dist/thread-documents-DrHbaXqP.d.mts +119 -0
  95. package/dist/thread-documents-DrHbaXqP.d.mts.map +1 -0
  96. package/dist/{thread-handlers-AbQbt4sX.d.mts → thread-handlers-Bef0td9N.d.mts} +10 -40
  97. package/dist/thread-handlers-Bef0td9N.d.mts.map +1 -0
  98. package/dist/{tools-CFh35R4d.mjs → tools-CEsv-WoO.mjs} +705 -578
  99. package/dist/tools-CEsv-WoO.mjs.map +1 -0
  100. package/dist/ui.css +1 -1
  101. package/dist/ui.d.mts +17 -55
  102. package/dist/ui.d.mts.map +1 -1
  103. package/dist/ui.mjs +759 -171
  104. package/dist/ui.mjs.map +1 -1
  105. package/docs/integration.md +51 -1
  106. package/package.json +49 -42
  107. package/dist/authoring-references-CW38pYzK.mjs.map +0 -1
  108. package/dist/capabilities-DVTfogjv.d.mts.map +0 -1
  109. package/dist/capabilities-default.mjs.map +0 -1
  110. package/dist/constants-BMGTgfjv.d.mts.map +0 -1
  111. package/dist/controller-proxy-DMTqer6T.mjs.map +0 -1
  112. package/dist/controller-proxy-mRvez2qw.d.mts +0 -85
  113. package/dist/controller-proxy-mRvez2qw.d.mts.map +0 -1
  114. package/dist/digest-SJmoYVaK.d.mts.map +0 -1
  115. package/dist/engine-CQwOAcwK.mjs.map +0 -1
  116. package/dist/form-authoring-kQDgC5oz.mjs +0 -155
  117. package/dist/form-authoring-kQDgC5oz.mjs.map +0 -1
  118. package/dist/index-B0lxsAzx.d.mts.map +0 -1
  119. package/dist/index-BS-Xjk1h.d.mts +0 -224
  120. package/dist/index-BS-Xjk1h.d.mts.map +0 -1
  121. package/dist/index-D6nqkz0O.d.mts.map +0 -1
  122. package/dist/index-DvTqML-0.d.mts.map +0 -1
  123. package/dist/lifecycle-BmGAIUlv.d.mts.map +0 -1
  124. package/dist/memory-thread-repository-CjFGVNZh.mjs.map +0 -1
  125. package/dist/protocol-DJUP4gc0.mjs.map +0 -1
  126. package/dist/react-Dqlmasrs.mjs +0 -768
  127. package/dist/react-Dqlmasrs.mjs.map +0 -1
  128. package/dist/request-context-BjTHNcDd.mjs.map +0 -1
  129. package/dist/request-guardrails-TmgQtqp4.mjs.map +0 -1
  130. package/dist/server-tasks.mjs.map +0 -1
  131. package/dist/tasks-DxzD25Zc.d.mts.map +0 -1
  132. package/dist/thread-documents-rmd6nyX9.d.mts +0 -107
  133. package/dist/thread-documents-rmd6nyX9.d.mts.map +0 -1
  134. package/dist/thread-handlers-AbQbt4sX.d.mts.map +0 -1
  135. package/dist/tools-CFh35R4d.mjs.map +0 -1
@@ -1,5 +1,35 @@
1
1
  import { z } from "zod";
2
2
  import { SURVEY_EDITOR_ITEM_COLORS } from "@case-framework/survey-core/editor/colors";
3
+ //#region src/protocol/sanitization.ts
4
+ const MAX_USER_ERROR_MESSAGE_LENGTH = 700;
5
+ const CONTROL_CHARACTERS = /[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g;
6
+ const DATA_URL = /data:[^;,\s]+;base64,[a-z0-9+/=_-]+/gi;
7
+ const BEARER_TOKEN = /\bbearer\s+[a-z0-9._~+/-]{8,}/gi;
8
+ const OPENAI_KEY = /\bsk-(?:proj-)?[a-z0-9_-]{8,}/gi;
9
+ const AUTHORIZATION_VALUE = /(authorization\s*[:=]\s*)[^\s,;]+/gi;
10
+ const API_KEY_VALUE = /((?:api[-_ ]?key|token|secret)\s*[:=]\s*)[^\s,;]+/gi;
11
+ const redactSurveyAssistantDiagnosticSecrets = (value) => value.replace(CONTROL_CHARACTERS, "").replace(DATA_URL, "[data URL omitted]").replace(BEARER_TOKEN, "Bearer [credential omitted]").replace(OPENAI_KEY, "[credential omitted]").replace(AUTHORIZATION_VALUE, "$1[credential omitted]").replace(API_KEY_VALUE, "$1[credential omitted]");
12
+ const sanitizeSurveyAssistantDiagnosticText = (value, maximum = 700) => {
13
+ const normalized = redactSurveyAssistantDiagnosticSecrets(value).replace(/\s+/g, " ").trim();
14
+ if (normalized.length <= maximum) return normalized;
15
+ return `${normalized.slice(0, Math.max(0, maximum - 1))}…`;
16
+ };
17
+ const isSurveyAssistantSensitiveMetadataKey = (key) => {
18
+ const normalized = key.toLocaleLowerCase();
19
+ return normalized.includes("authorization") || normalized.includes("credential") || normalized.includes("encrypted") || normalized.includes("password") || normalized.includes("redacted") || normalized.includes("secret") || normalized.includes("signature") || normalized === "token" || normalized.endsWith("token") || normalized.includes("api_key") || normalized.includes("apikey");
20
+ };
21
+ const getSurveyAssistantEmbeddedBinaryMarker = (value, parent, key) => {
22
+ if (typeof value !== "string") return void 0;
23
+ if (key === "data" && parent?.type === "embedded" && parent.encoding === "base64") return {
24
+ characters: value.length,
25
+ redacted: "base64"
26
+ };
27
+ if (value.length > 512 && /^data:[^;,]+;base64,/.test(value)) return {
28
+ characters: value.length,
29
+ redacted: "data-url"
30
+ };
31
+ };
32
+ //#endregion
3
33
  //#region src/protocol/errors.ts
4
34
  const surveyAssistantErrorCodeSchema = z.enum([
5
35
  "attachment_unavailable",
@@ -11,16 +41,30 @@ const surveyAssistantErrorCodeSchema = z.enum([
11
41
  const surveyAssistantErrorInfoSchema = z.object({
12
42
  code: surveyAssistantErrorCodeSchema,
13
43
  detail: z.string().optional(),
14
- retryable: z.boolean().optional()
15
- });
44
+ retryable: z.boolean().optional(),
45
+ upstreamStatus: z.number().int().min(100).max(599).optional(),
46
+ providerRequestId: z.string().trim().min(1).max(240).optional(),
47
+ providerMessage: z.string().max(700).optional()
48
+ });
49
+ const isSurveyAssistantErrorRetryable = (error, httpStatus) => {
50
+ if (error.retryable !== void 0) return error.retryable;
51
+ if (error.code === "rate_limited") return true;
52
+ const status = httpStatus ?? error.upstreamStatus;
53
+ if (error.code === "request_failed") return status === void 0 || status >= 500;
54
+ return error.code === "attachment_unavailable" && status !== void 0 && status >= 500;
55
+ };
16
56
  const ERROR_PREFIX = "case-survey-assistant-error:";
17
57
  const serializeSurveyAssistantError = (error) => `${ERROR_PREFIX}${JSON.stringify(surveyAssistantErrorInfoSchema.parse(error))}`;
18
58
  const parseSurveyAssistantError = (value) => {
19
59
  if (typeof value === "object" && value !== null && "code" in value) {
60
+ const detail = "detail" in value && typeof value.detail === "string" ? value.detail : "message" in value && typeof value.message === "string" ? value.message : void 0;
20
61
  const parsed = surveyAssistantErrorInfoSchema.safeParse({
21
62
  code: value.code,
22
- detail: "detail" in value && typeof value.detail === "string" ? value.detail : "message" in value && typeof value.message === "string" ? value.message : void 0,
23
- retryable: "retryable" in value && typeof value.retryable === "boolean" ? value.retryable : void 0
63
+ detail: detail ? sanitizeSurveyAssistantDiagnosticText(detail, 700) : void 0,
64
+ retryable: "retryable" in value && typeof value.retryable === "boolean" ? value.retryable : void 0,
65
+ upstreamStatus: "upstreamStatus" in value && typeof value.upstreamStatus === "number" ? value.upstreamStatus : void 0,
66
+ providerRequestId: "providerRequestId" in value && typeof value.providerRequestId === "string" ? sanitizeSurveyAssistantDiagnosticText(value.providerRequestId, 240) : void 0,
67
+ providerMessage: "providerMessage" in value && typeof value.providerMessage === "string" ? sanitizeSurveyAssistantDiagnosticText(value.providerMessage, 700) : void 0
24
68
  });
25
69
  if (parsed.success) return parsed.data;
26
70
  }
@@ -31,10 +75,65 @@ const parseSurveyAssistantError = (value) => {
31
75
  } catch {}
32
76
  return {
33
77
  code: "request_failed",
34
- ...message.trim() ? { detail: message.trim() } : {}
78
+ ...message.trim() ? { detail: sanitizeSurveyAssistantDiagnosticText(message, 700) } : {}
35
79
  };
36
80
  };
37
81
  //#endregion
82
+ //#region src/protocol/response-settings.ts
83
+ const variableName = z.string().regex(/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/).max(32);
84
+ const responseNamingEditSchema = z.union([z.object({
85
+ slotId: z.string().min(1),
86
+ variableName
87
+ }).strict(), z.object({
88
+ primitiveId: z.string().min(1),
89
+ prefix: variableName.optional(),
90
+ rows: z.record(z.string(), variableName).optional(),
91
+ columns: z.record(z.string(), variableName).optional()
92
+ }).strict()]);
93
+ const responseExportSettingsSchema = z.object({
94
+ mode: z.string().min(1),
95
+ include: z.boolean().optional(),
96
+ categorical: z.enum([
97
+ "codes",
98
+ "labels",
99
+ "ids"
100
+ ]).optional(),
101
+ multiple: z.enum([
102
+ "json",
103
+ "delimited",
104
+ "indicators"
105
+ ]).optional(),
106
+ delimiter: z.string().optional(),
107
+ locale: z.string().optional(),
108
+ optionCodes: z.record(z.string(), z.string()).optional(),
109
+ optionLabels: z.record(z.string(), z.string()).optional(),
110
+ booleanValues: z.object({
111
+ true: z.string(),
112
+ false: z.string()
113
+ }).optional(),
114
+ precision: z.number().int().nonnegative().optional(),
115
+ durationUnit: z.enum([
116
+ "seconds",
117
+ "minutes",
118
+ "hours",
119
+ "days",
120
+ "weeks",
121
+ "months",
122
+ "years"
123
+ ]).optional(),
124
+ dateFormat: z.object({ pattern: z.string().min(1) }).optional(),
125
+ maskChar: z.string().optional()
126
+ }).strict();
127
+ const responseSettingsEditSchema = z.object({
128
+ slotId: z.string().min(1),
129
+ optionCodes: z.record(z.string(), z.string().min(1)).optional(),
130
+ exportSettings: responseExportSettingsSchema.optional()
131
+ }).strict();
132
+ const responseSettingsChangesSchema = z.object({
133
+ naming: z.array(responseNamingEditSchema).max(200),
134
+ settings: z.array(responseSettingsEditSchema).max(200)
135
+ });
136
+ //#endregion
38
137
  //#region src/protocol/content.ts
39
138
  const jsonValueSchema = z.lazy(() => z.union([
40
139
  z.string(),
@@ -202,22 +301,20 @@ const surveyContentSchema = z.discriminatedUnion("type", [
202
301
  //#endregion
203
302
  //#region src/protocol/operations.ts
204
303
  const operationIdSchema = z.string().min(1).max(120).optional().describe("Optional client/model supplied id for correlating validation issues.");
205
- const itemIdentifierSchema = z.string().min(1).max(240).describe("Survey item id, key, or fullKey.");
206
- const itemKeySchema = z.string().min(1).max(120).describe("New item key. It must be unique among siblings.");
304
+ const itemIdentifierSchema = z.string().min(1).max(240).describe("Exact stable survey item ID. Inspect editor names and breadcrumbs to discover the ID.");
207
305
  const itemTranslationSchema = z.object({
208
306
  locale: z.string().min(1).max(40),
209
307
  contentKey: z.string().min(1).max(240).describe("Item translation content key, for example \"label\" or \"content\"."),
210
308
  plainText: z.string().max(2e4).optional().describe("Simple text content to persist for the translation key."),
211
- content: surveyContentSchema.optional().describe("Structured survey content to persist for the translation key. Use { \"type\": \"richText\", \"version\": 1, \"doc\": ... } for formatted text.")
212
- }).refine((translation) => translation.plainText !== void 0 || translation.content !== void 0, { message: "Provide either plainText or content for a translation." });
309
+ content: surveyContentSchema.optional().describe("Canonical structured survey content to persist for the translation key. Use { \"type\": \"richText\", \"version\": 1, \"doc\": ... } for formatted text. The survey_change model interface also accepts documented richTextBlocks shorthand at this translation level and normalizes it to this field before canonical validation.")
310
+ }).refine((translation) => translation.plainText !== void 0 !== (translation.content !== void 0), { message: "Provide exactly one of plainText or content for a translation." });
213
311
  const choiceOptionInputSchema = z.object({
214
312
  id: z.string().min(1).max(120).optional().describe("Optional stable option id. If omitted, the validator derives a unique id."),
215
- key: z.string().min(1).max(120).optional().describe("Optional coding key. If omitted, the validator derives a unique key."),
313
+ code: z.string().min(1).max(120).optional().describe("Optional export code. If omitted, the validator derives a unique code."),
216
314
  label: z.string().min(1).max(1e3).describe("Respondent-visible option label as a plain string. Do not pass a translation object here; add-choice-option creates the matching translation in its locale.")
217
315
  });
218
316
  const rawSurveyItemForCreateSchema = z.object({
219
317
  id: z.string().min(1).max(120).optional(),
220
- key: itemKeySchema,
221
318
  itemType: z.string().min(1).max(120),
222
319
  metadata: z.record(z.string(), z.string()).optional(),
223
320
  config: z.unknown().optional().describe("Optional item-type config. For choiceItem, provide response options as config.options, for example [{ \"label\": \"Fuji\" }, { \"label\": \"Gala\" }]. Use config.maxSelection: 1 for single choice, null for unlimited multiple choice / select-all-that-apply, or a number greater than 1 for capped multiple choice. Put an inline embeddedForm directly on a new choice option; default an eligible one-field embeddedForm to authoringMode \"simple\" and use \"custom\" for blank or structured follow-ups. For formItem, use authoringMode \"simple\" only with one field group containing one field; use \"custom\" for blank or multi-field forms. The validator converts option labels into options.<optionId>.label translations."),
@@ -226,7 +323,7 @@ const rawSurveyItemForCreateSchema = z.object({
226
323
  disabledConditions: z.any().optional(),
227
324
  prefills: z.array(z.any()).optional()
228
325
  }).passthrough();
229
- const jsonPointerPathSchema = z.string().max(500).describe("JSON Pointer path into the survey document, for example \"/surveyItems/1/config/options/0/key\" or \"/translations/en/itemTranslations/<itemId>/title\".");
326
+ const jsonPointerPathSchema = z.string().max(500).describe("Survey-root JSON Pointer obtained from current raw inspection. Escape \"~\" as \"~0\" and \"/\" within one path segment as \"~1\". Use \"/-\" only as the final destination segment of an add, move, or copy that appends to an array.");
230
327
  const jsonPatchOperationSchema = z.discriminatedUnion("op", [
231
328
  z.object({
232
329
  op: z.literal("add"),
@@ -262,17 +359,12 @@ const createItemOperationSchema = z.object({
262
359
  id: operationIdSchema,
263
360
  kind: z.literal("create-item"),
264
361
  target: z.object({
265
- parentItemId: z.string().max(240).describe("Parent group item id, key, or fullKey where the new item should be inserted. Use the root group id/key for top-level items."),
266
- index: z.number().int().min(0).optional()
362
+ parentItemId: z.string().max(240).describe("Exact parent group item ID. Use the inspected root group ID for top-level items."),
363
+ index: z.number().int().min(0).optional().describe("Zero-based insertion index in the parent group. Omit to append; use 0 to insert first.")
267
364
  }),
268
365
  item: rawSurveyItemForCreateSchema,
269
- translations: z.array(itemTranslationSchema).optional().describe("Operation-level item translations for visible content, for example [{ \"locale\": \"en\", \"contentKey\": \"title\", \"plainText\": \"Question text\" }]. Put this property inside the create-item operation beside target and item, never beside the survey_change operations array. For formatted content, use the \"content\" field with a richText object. Form select/dropdown option labels must be translations at fields.<fieldId>.options.<optionId>.label.")
270
- });
271
- const updateItemKeyOperationSchema = z.object({
272
- id: operationIdSchema,
273
- kind: z.literal("update-item-key"),
274
- itemId: itemIdentifierSchema,
275
- key: itemKeySchema
366
+ presetId: z.string().min(1).max(120).optional().describe("Server-supported toolbox preset ID declared by the item capability. Materializes its configuration and translations; explicit item.config fields override defaults. Supply the remaining required content specified by the capability."),
367
+ translations: z.array(itemTranslationSchema).optional().describe("Operation-level item translations for visible content, for example [{ \"locale\": \"en\", \"contentKey\": \"title\", \"plainText\": \"Question text\" }]. Put this property inside the create-item operation beside target and item, never beside the survey_change operations array. For formatted content, the model interface accepts documented richTextBlocks shorthand and normalizes it to canonical content before validation. Form select/dropdown option labels must be translations at fields.<fieldId>.options.<optionId>.label.")
276
368
  });
277
369
  const updateItemLabelOperationSchema = z.object({
278
370
  id: operationIdSchema,
@@ -293,8 +385,8 @@ const updateItemTranslationOperationSchema = z.object({
293
385
  locale: z.string().min(1).max(40),
294
386
  contentKey: z.string().min(1).max(240).describe("Item translation content key, for example \"label\"."),
295
387
  plainText: z.string().max(2e4).optional().describe("Simple text content to persist for the translation key."),
296
- content: surveyContentSchema.optional().describe("Structured survey content to persist for the translation key. Use { \"type\": \"richText\", \"version\": 1, \"doc\": ... } for formatted text.")
297
- }).refine((operation) => operation.plainText !== void 0 || operation.content !== void 0, { message: "Provide either plainText or content for update-item-translation." });
388
+ content: surveyContentSchema.optional().describe("Canonical structured survey content to persist for the translation key. Use { \"type\": \"richText\", \"version\": 1, \"doc\": ... } for formatted text. The survey_change model interface also accepts documented top-level richTextBlocks shorthand and normalizes it to this field before canonical validation.")
389
+ }).refine((operation) => operation.plainText !== void 0 !== (operation.content !== void 0), { message: "Provide exactly one of plainText or content for update-item-translation." });
298
390
  const placedImageDimensionSchema = z.union([z.object({
299
391
  unit: z.literal("px"),
300
392
  value: z.number().finite().nonnegative()
@@ -336,6 +428,7 @@ const patchItemConfigOperationSchema = z.object({
336
428
  id: operationIdSchema,
337
429
  kind: z.literal("patch-item-config"),
338
430
  itemId: itemIdentifierSchema,
431
+ translations: z.array(itemTranslationSchema).max(200).optional().describe("Translations belonging to this configuration edit, applied atomically with it. Use the content keys declared by the item capability."),
339
432
  patches: z.array(jsonPatchOperationSchema).min(1).max(100).describe("JSON Patch operations relative to this item's config root, for example [{ \"op\": \"replace\", \"path\": \"/max\", \"value\": 7 }]. Inspect the item first and do not include /surveyItems/<index>/config in these paths.")
340
433
  });
341
434
  const formTargetSchema = z.object({
@@ -345,7 +438,7 @@ const formTargetSchema = z.object({
345
438
  const formTranslationsSchema = z.array(itemTranslationSchema).max(100).optional().describe("Translations written atomically with this form structure change. Put this property inside the form operation object, never beside the survey_change operations array. Content keys are relative to the form; embedded-form prefixes are added automatically.");
346
439
  const formFieldInputSchema = z.object({
347
440
  id: z.string().min(1).max(120),
348
- key: z.string().min(1).max(120),
441
+ variableName: z.string().min(1).max(32),
349
442
  type: z.enum([
350
443
  "input",
351
444
  "textarea",
@@ -444,7 +537,7 @@ const updateChoiceOptionLabelOperationSchema = z.object({
444
537
  id: operationIdSchema,
445
538
  kind: z.literal("update-choice-option-label"),
446
539
  itemId: itemIdentifierSchema,
447
- optionId: z.string().min(1).max(240).describe("Existing choice option id, key, or current visible label."),
540
+ optionId: z.string().min(1).max(240).describe("Exact persistent choice option ID; discover it through inspection."),
448
541
  locale: z.string().min(1).max(40).optional(),
449
542
  label: z.string().min(1).max(1e3).describe("New respondent-visible option label.")
450
543
  });
@@ -452,13 +545,13 @@ const removeChoiceOptionOperationSchema = z.object({
452
545
  id: operationIdSchema,
453
546
  kind: z.literal("remove-choice-option"),
454
547
  itemId: itemIdentifierSchema,
455
- optionId: z.string().min(1).max(240).describe("Existing choice option id, key, or current visible label.")
548
+ optionId: z.string().min(1).max(240).describe("Exact persistent choice option ID; discover it through inspection.")
456
549
  });
457
550
  const reorderChoiceOptionsOperationSchema = z.object({
458
551
  id: operationIdSchema,
459
552
  kind: z.literal("reorder-choice-options"),
460
553
  itemId: itemIdentifierSchema,
461
- optionIds: z.array(z.string().min(1).max(240)).min(1).max(100).describe("Complete desired order of existing choice options. Entries can be option ids, keys, or current visible labels.")
554
+ optionIds: z.array(z.string().min(1).max(240)).min(1).max(100).describe("Complete desired order of existing choice options, using their exact persistent option IDs.")
462
555
  });
463
556
  const removeItemOperationSchema = z.object({
464
557
  id: operationIdSchema,
@@ -472,7 +565,7 @@ const moveItemOperationSchema = z.object({
472
565
  itemId: itemIdentifierSchema,
473
566
  target: z.object({
474
567
  parentItemId: itemIdentifierSchema,
475
- index: z.number().int().min(0).optional()
568
+ index: z.number().int().min(0).optional().describe("Zero-based insertion index in the parent group. Omit to append; use 0 to insert first.")
476
569
  }).describe("A different parent group and optional insertion index. Omit unchanged placements; use reorder-items for sibling order within the current parent.")
477
570
  });
478
571
  const reorderItemsOperationSchema = z.object({
@@ -505,8 +598,8 @@ const updateSurveyTranslationOperationSchema = z.object({
505
598
  ]),
506
599
  contentKey: z.string().min(1).max(240),
507
600
  plainText: z.string().max(2e4).optional(),
508
- content: surveyContentSchema.optional()
509
- }).refine((operation) => operation.plainText !== void 0 || operation.content !== void 0, { message: "Provide either plainText or content for update-survey-translation." });
601
+ content: surveyContentSchema.optional().describe("Canonical structured survey content to persist for the survey translation. The survey_change model interface also accepts documented top-level richTextBlocks shorthand and normalizes it to this field before canonical validation.")
602
+ }).refine((operation) => operation.plainText !== void 0 !== (operation.content !== void 0), { message: "Provide exactly one of plainText or content for update-survey-translation." });
510
603
  const surveyLocaleSchema = z.string().trim().min(1).max(40);
511
604
  const addSurveyLocaleOperationSchema = z.object({
512
605
  id: operationIdSchema,
@@ -561,12 +654,15 @@ const removeImageAssetOperationSchema = z.object({
561
654
  const surveyPatchOperationSchema = z.object({
562
655
  id: operationIdSchema,
563
656
  kind: z.literal("survey-json-patch"),
564
- patches: z.array(jsonPatchOperationSchema).min(1).max(100).describe("Batch of JSON Patch operations applied to the survey document. Use this for raw survey edits such as reordering group items, editing item config, survey metadata, template values, translations/locales, or maxItemsPerPage.")
657
+ patches: z.array(jsonPatchOperationSchema).min(1).max(100).describe("Sequential JSON Patch operations applied to the survey document. Use only for an existing, inspected survey-root extension with no typed operation, patch-item-config helper, or survey_expression mutation. Parent paths must exist. Add creates or replaces an object member, inserts at an array index, or appends with /-. Replace, remove, and test require an existing path. Move and copy require an existing from path. Preserve exact JSON value types, and guard overwrites or removals with test when the current value is known.")
565
658
  });
566
659
  const asDiscriminable = (schema) => schema;
567
660
  const surveyOperationSchemasByKind = {
568
661
  "create-item": createItemOperationSchema,
569
- "update-item-key": updateItemKeyOperationSchema,
662
+ "update-response-settings": responseSettingsChangesSchema.extend({
663
+ id: operationIdSchema,
664
+ kind: z.literal("update-response-settings")
665
+ }),
570
666
  "update-item-label": updateItemLabelOperationSchema,
571
667
  "update-item-color": updateItemColorOperationSchema,
572
668
  "update-item-translation": updateItemTranslationOperationSchema,
@@ -616,7 +712,6 @@ const surveyValidationResultSchema = z.object({
616
712
  const SURVEY_OPERATION_KINDS = Object.freeze(Object.keys(surveyOperationSchemasByKind));
617
713
  const surveyJsonPatchOperationSchema = jsonPatchOperationSchema;
618
714
  const surveyAssistantCreateItemOperationSchema = createItemOperationSchema;
619
- const surveyAssistantUpdateItemKeyOperationSchema = updateItemKeyOperationSchema;
620
715
  const surveyAssistantUpdateItemLabelOperationSchema = updateItemLabelOperationSchema;
621
716
  const surveyAssistantUpdateItemColorOperationSchema = updateItemColorOperationSchema;
622
717
  const surveyAssistantUpdateItemTranslationOperationSchema = updateItemTranslationOperationSchema;
@@ -693,9 +788,11 @@ const surveyEditorUIContextSchema = z.object({
693
788
  "item-editor",
694
789
  "preview-mode",
695
790
  "translation-mode",
696
- "asset-manager"
791
+ "asset-manager",
792
+ "response-data"
697
793
  ]),
698
794
  selectedItemId: z.string().optional(),
795
+ responseSlotId: z.string().optional(),
699
796
  selectedLocale: z.string().min(1),
700
797
  focusItemId: z.string().optional(),
701
798
  recentItemIds: z.array(z.string()).max(10).optional(),
@@ -729,12 +826,12 @@ const surveyEditorUIContextSchema = z.object({
729
826
  });
730
827
  const rawSurveyItemSchema = z.object({
731
828
  id: z.string().min(1),
732
- key: z.string().min(1),
733
829
  itemType: z.string().min(1)
734
830
  }).passthrough();
735
831
  const rawSurveyTranslationsSchema = z.record(z.string(), z.object({ itemTranslations: z.record(z.string(), z.record(z.string(), surveyContentSchema)).optional() }).passthrough());
736
832
  const rawSurveyDocumentSchema = z.object({
737
833
  $schema: z.string().min(1),
834
+ schemaVersion: z.literal(2),
738
835
  surveyItems: z.array(rawSurveyItemSchema).min(1),
739
836
  translations: rawSurveyTranslationsSchema.optional()
740
837
  }).passthrough();
@@ -790,14 +887,15 @@ const surveyAssistantKeySuggestionSchema = surveyAssistantSuggestedTextSchema.ex
790
887
  category: surveyAssistantKeySuggestionCategorySchema,
791
888
  rationale: z.string().optional()
792
889
  });
793
- const surveyAssistantSuggestItemKeyInputSchema = z.object({
890
+ const surveyAssistantSuggestResponseNameInputSchema = z.object({
794
891
  itemId: z.string().min(1),
795
- draftKey: z.string(),
796
- currentKey: z.string(),
797
- siblingKeys: z.array(z.string()),
892
+ slotId: z.string().min(1),
893
+ draftName: z.string(),
894
+ currentName: z.string(),
895
+ existingNames: z.array(z.string()),
798
896
  maxSuggestions: z.number().int().positive().optional()
799
897
  });
800
- const surveyAssistantSuggestItemKeyResultSchema = z.object({ suggestions: z.array(surveyAssistantKeySuggestionSchema) });
898
+ const surveyAssistantSuggestResponseNameResultSchema = z.object({ suggestions: z.array(surveyAssistantKeySuggestionSchema) });
801
899
  const surveyAssistantSuggestItemLabelInputSchema = z.object({
802
900
  itemId: z.string().min(1),
803
901
  draftLabel: z.string(),
@@ -819,8 +917,8 @@ const surveyAssistantTranslateContentInputSchema = z.object({
819
917
  const surveyAssistantTranslateContentResultSchema = z.object({ translations: z.record(z.string(), z.record(z.string(), z.string())) });
820
918
  const surveyAssistantTaskItemSummarySchema = z.object({
821
919
  id: z.string().min(1),
822
- key: z.string(),
823
- fullKey: z.string(),
920
+ editorName: z.string(),
921
+ breadcrumb: z.string(),
824
922
  itemType: z.string().min(1),
825
923
  itemLabel: z.string().optional(),
826
924
  visibleText: z.array(z.object({
@@ -830,6 +928,11 @@ const surveyAssistantTaskItemSummarySchema = z.object({
830
928
  })),
831
929
  visibleTextTruncated: z.boolean()
832
930
  });
931
+ const surveyAssistantSuggestResponseSettingsInputSchema = z.object({
932
+ slotIds: z.array(z.string().min(1)).min(1).max(200),
933
+ category: surveyAssistantKeySuggestionCategorySchema.default("fair")
934
+ });
935
+ const surveyAssistantSuggestResponseSettingsResultSchema = responseSettingsChangesSchema;
833
936
  const namingRelationshipSchema = z.enum([
834
937
  "sibling",
835
938
  "same-type",
@@ -847,11 +950,14 @@ const surveyAssistantTaskContextSchema = z.object({
847
950
  itemCount: z.number().int().nonnegative(),
848
951
  selectedLocale: z.string().min(1)
849
952
  }),
953
+ responseVariables: z.array(z.record(z.string(), z.unknown())).optional(),
954
+ existingVariableNames: z.array(z.string()).optional(),
955
+ responseOwners: z.array(z.record(z.string(), z.unknown())).optional(),
850
956
  focus: z.object({
851
957
  item: surveyAssistantTaskItemSummarySchema,
852
958
  parent: surveyAssistantTaskItemSummarySchema.optional(),
853
959
  ancestorPath: z.array(surveyAssistantTaskItemSummarySchema),
854
- siblingKeys: z.array(z.string()),
960
+ siblingNames: z.array(z.string()),
855
961
  siblingItems: z.array(surveyAssistantTaskItemSummarySchema),
856
962
  siblingItemCount: z.number().int().nonnegative(),
857
963
  siblingItemsTruncated: z.boolean(),
@@ -898,8 +1004,13 @@ const taskRequestBase = {
898
1004
  const surveyAssistantTaskRequestSchema = z.discriminatedUnion("taskId", [
899
1005
  z.object({
900
1006
  ...taskRequestBase,
901
- taskId: z.literal("suggest-item-key"),
902
- input: surveyAssistantSuggestItemKeyInputSchema
1007
+ taskId: z.literal("suggest-response-settings"),
1008
+ input: surveyAssistantSuggestResponseSettingsInputSchema
1009
+ }),
1010
+ z.object({
1011
+ ...taskRequestBase,
1012
+ taskId: z.literal("suggest-response-name"),
1013
+ input: surveyAssistantSuggestResponseNameInputSchema
903
1014
  }),
904
1015
  z.object({
905
1016
  ...taskRequestBase,
@@ -957,6 +1068,12 @@ const surveyChangeSetSchema = z.object({
957
1068
  summary: z.string().min(1).max(500),
958
1069
  operations: z.array(surveyOperationSchema),
959
1070
  supersedesChangeIds: z.array(z.string().min(1)).max(100).optional(),
1071
+ pendingRepairs: z.array(z.object({
1072
+ changeId: z.string().min(1),
1073
+ targets: z.array(z.string()),
1074
+ requiresExplicitRetry: z.boolean(),
1075
+ allowsAcknowledgment: z.boolean().optional()
1076
+ })).optional(),
960
1077
  precondition: surveyDocumentVersionSchema.optional(),
961
1078
  postChange: z.object({
962
1079
  version: surveyDocumentVersionSchema,
@@ -970,9 +1087,23 @@ const surveyChangeSetSchema = z.object({
970
1087
  touchedItems: z.array(z.object({
971
1088
  itemId: z.string().min(1),
972
1089
  itemType: z.string().min(1),
973
- key: z.string().min(1),
974
- fullKey: z.string().min(1),
1090
+ editorName: z.string().min(1),
1091
+ breadcrumb: z.string().min(1),
975
1092
  itemLabel: z.string().optional(),
1093
+ placement: z.object({
1094
+ parentItemId: z.string().min(1),
1095
+ index: z.number().int().nonnegative(),
1096
+ siblingCount: z.number().int().nonnegative(),
1097
+ previousItemId: z.string().min(1).optional(),
1098
+ nextItemId: z.string().min(1).optional(),
1099
+ shuffled: z.boolean()
1100
+ }).optional(),
1101
+ childOrder: z.object({
1102
+ itemIds: z.array(z.string().min(1)).max(16),
1103
+ total: z.number().int().nonnegative(),
1104
+ truncated: z.boolean(),
1105
+ shuffled: z.boolean()
1106
+ }).optional(),
976
1107
  translationCount: z.number().int().nonnegative(),
977
1108
  translations: z.array(z.object({
978
1109
  locale: z.string().min(1),
@@ -982,7 +1113,8 @@ const surveyChangeSetSchema = z.object({
982
1113
  truncated: z.boolean()
983
1114
  })).max(12),
984
1115
  responseSlotCount: z.number().int().nonnegative(),
985
- responseSlots: z.array(z.string().min(1)).max(12)
1116
+ responseSlots: z.array(z.string().min(1)).max(12),
1117
+ responseVariables: z.array(z.unknown()).max(12).optional()
986
1118
  })).max(6),
987
1119
  truncated: z.boolean()
988
1120
  }).optional(),
@@ -1118,6 +1250,6 @@ const applyReceiptSchema = z.object({
1118
1250
  });
1119
1251
  const surveyAssistantDraftChangeEventSchema = surveyChangeSetSchema;
1120
1252
  //#endregion
1121
- export { jsonPatchOperationSchema as $, createSurveyAssistantThreadInputSchema as A, surveyContentSchema as At, surveyAssistantSnapshotSchema as B, surveyAssistantTaskInvocationModeSchema as C, surveyValidationResultSchema as Ct, surveyAssistantTranslateContentInputSchema as D, updateItemLabelOperationSchema as Dt, surveyAssistantTranslateContentEntrySchema as E, updateItemKeyOperationSchema as Et, SURVEY_ASSISTANT_PROTOCOL_VERSION as F, assistantItemAuthoringSchema as G, surveyDocumentVersionSchema as H, rawSurveyDocumentSchema as I, assistantResponseSlotSchema as J, assistantItemCreateModeSchema as K, surveyAssistantDraftChangePreconditionSchema as L, surveyAssistantThreadSchema as M, serializeSurveyAssistantError as Mt, surveyAssistantThreadTranscriptSchema as N, surveyAssistantErrorCodeSchema as Nt, surveyAssistantTranslateContentResultSchema as O, updateItemTranslationOperationSchema as Ot, updateSurveyAssistantThreadInputSchema as P, surveyAssistantErrorInfoSchema as Pt, createItemOperationSchema as Q, surveyAssistantProtocolVersionSchema as R, surveyAssistantTaskContextSchema as S, surveyValidationIssueSchema as St, surveyAssistantTaskRequestSchema as T, updateItemColorOperationSchema as Tt, surveyEditorUIContextSchema as U, surveyDocumentSnapshotSchema as V, assistantContentSurfaceSchema as W, SURVEY_OPERATION_KINDS as X, surveyAssistantCapabilityManifestSchema as Y, addChoiceOptionOperationSchema as Z, surveyAssistantSuggestItemKeyInputSchema as _, surveyAssistantValidationResultSchema as _t, surveyApplyStatusSchema as a, surveyAssistantCreateItemOperationSchema as at, surveyAssistantSuggestItemLabelResultSchema as b, surveyOperationSchemasByKind as bt, surveyAssistantDraftChangeEventSchema as c, surveyAssistantRemoveItemOperationSchema as ct, surveyBatchApplyResultSchema as d, surveyAssistantUpdateChoiceOptionLabelOperationSchema as dt, patchItemConfigOperationSchema as et, surveyChangeSetSchema as f, surveyAssistantUpdateItemColorOperationSchema as ft, surveyAssistantKeySuggestionSchema as g, surveyAssistantValidationIssueSchema as gt, surveyAssistantKeySuggestionCategorySchema as h, surveyAssistantUpdateItemTranslationOperationSchema as ht, surveyApplyResultSchema as i, surveyAssistantAddChoiceOptionOperationSchema as it, surveyAssistantThreadListSchema as j, parseSurveyAssistantError as jt, SURVEY_ASSISTANT_ATTACHMENT_PART_TYPE as k, jsonValueSchema as kt, surveyAssistantTurnFinalSchema as l, surveyAssistantReorderChoiceOptionsOperationSchema as lt, surveyAssistantModelOptionSchema as m, surveyAssistantUpdateItemLabelOperationSchema as mt, SURVEY_ASSISTANT_TURN_FINAL_PART_TYPE as n, removeItemOperationSchema as nt, surveyAssistantApplyOutcomeSchema as o, surveyAssistantOperationSchema as ot, surveyAssistantModelCatalogSchema as p, surveyAssistantUpdateItemKeyOperationSchema as pt, assistantItemTypeManifestSchema as q, applyReceiptSchema as r, reorderChoiceOptionsOperationSchema as rt, surveyAssistantApplyPolicySchema as s, surveyAssistantRemoveChoiceOptionOperationSchema as st, SURVEY_ASSISTANT_TURN_FINAL_DATA_NAME as t, removeChoiceOptionOperationSchema as tt, surveyAssistantTurnTerminationReasonSchema as u, surveyAssistantSurveyJsonPatchOperationSchema as ut, surveyAssistantSuggestItemKeyResultSchema as v, surveyJsonPatchOperationSchema as vt, surveyAssistantTaskItemSummarySchema as w, updateChoiceOptionLabelOperationSchema as wt, surveyAssistantSuggestedTextSchema as x, surveyPatchOperationSchema as xt, surveyAssistantSuggestItemLabelInputSchema as y, surveyOperationSchema as yt, surveyAssistantSnapshotPayloadSchema as z };
1253
+ export { addChoiceOptionOperationSchema as $, surveyAssistantTranslateContentResultSchema as A, surveyContentSchema as At, surveyAssistantProtocolVersionSchema as B, MAX_USER_ERROR_MESSAGE_LENGTH as Bt, surveyAssistantSuggestedTextSchema as C, surveyValidationIssueSchema as Ct, surveyAssistantTaskRequestSchema as D, updateItemLabelOperationSchema as Dt, surveyAssistantTaskItemSummarySchema as E, updateItemColorOperationSchema as Et, surveyAssistantThreadTranscriptSchema as F, isSurveyAssistantErrorRetryable as Ft, surveyEditorUIContextSchema as G, surveyAssistantSnapshotSchema as H, isSurveyAssistantSensitiveMetadataKey as Ht, updateSurveyAssistantThreadInputSchema as I, parseSurveyAssistantError as It, assistantItemCreateModeSchema as J, assistantContentSurfaceSchema as K, SURVEY_ASSISTANT_PROTOCOL_VERSION as L, serializeSurveyAssistantError as Lt, createSurveyAssistantThreadInputSchema as M, responseNamingEditSchema as Mt, surveyAssistantThreadListSchema as N, responseSettingsChangesSchema as Nt, surveyAssistantTranslateContentEntrySchema as O, updateItemTranslationOperationSchema as Ot, surveyAssistantThreadSchema as P, responseSettingsEditSchema as Pt, SURVEY_OPERATION_KINDS as Q, rawSurveyDocumentSchema as R, surveyAssistantErrorCodeSchema as Rt, surveyAssistantSuggestResponseSettingsResultSchema as S, surveyPatchOperationSchema as St, surveyAssistantTaskInvocationModeSchema as T, updateChoiceOptionLabelOperationSchema as Tt, surveyDocumentSnapshotSchema as U, redactSurveyAssistantDiagnosticSecrets as Ut, surveyAssistantSnapshotPayloadSchema as V, getSurveyAssistantEmbeddedBinaryMarker as Vt, surveyDocumentVersionSchema as W, sanitizeSurveyAssistantDiagnosticText as Wt, assistantResponseSlotSchema as X, assistantItemTypeManifestSchema as Y, surveyAssistantCapabilityManifestSchema as Z, surveyAssistantSuggestItemLabelInputSchema as _, surveyAssistantValidationIssueSchema as _t, surveyApplyStatusSchema as a, reorderChoiceOptionsOperationSchema as at, surveyAssistantSuggestResponseNameResultSchema as b, surveyOperationSchema as bt, surveyAssistantDraftChangeEventSchema as c, surveyAssistantOperationSchema as ct, surveyBatchApplyResultSchema as d, surveyAssistantReorderChoiceOptionsOperationSchema as dt, createItemOperationSchema as et, surveyChangeSetSchema as f, surveyAssistantSurveyJsonPatchOperationSchema as ft, surveyAssistantKeySuggestionSchema as g, surveyAssistantUpdateItemTranslationOperationSchema as gt, surveyAssistantKeySuggestionCategorySchema as h, surveyAssistantUpdateItemLabelOperationSchema as ht, surveyApplyResultSchema as i, removeItemOperationSchema as it, SURVEY_ASSISTANT_ATTACHMENT_PART_TYPE as j, responseExportSettingsSchema as jt, surveyAssistantTranslateContentInputSchema as k, jsonValueSchema as kt, surveyAssistantTurnFinalSchema as l, surveyAssistantRemoveChoiceOptionOperationSchema as lt, surveyAssistantModelOptionSchema as m, surveyAssistantUpdateItemColorOperationSchema as mt, SURVEY_ASSISTANT_TURN_FINAL_PART_TYPE as n, patchItemConfigOperationSchema as nt, surveyAssistantApplyOutcomeSchema as o, surveyAssistantAddChoiceOptionOperationSchema as ot, surveyAssistantModelCatalogSchema as p, surveyAssistantUpdateChoiceOptionLabelOperationSchema as pt, assistantItemAuthoringSchema as q, applyReceiptSchema as r, removeChoiceOptionOperationSchema as rt, surveyAssistantApplyPolicySchema as s, surveyAssistantCreateItemOperationSchema as st, SURVEY_ASSISTANT_TURN_FINAL_DATA_NAME as t, jsonPatchOperationSchema as tt, surveyAssistantTurnTerminationReasonSchema as u, surveyAssistantRemoveItemOperationSchema as ut, surveyAssistantSuggestItemLabelResultSchema as v, surveyAssistantValidationResultSchema as vt, surveyAssistantTaskContextSchema as w, surveyValidationResultSchema as wt, surveyAssistantSuggestResponseSettingsInputSchema as x, surveyOperationSchemasByKind as xt, surveyAssistantSuggestResponseNameInputSchema as y, surveyJsonPatchOperationSchema as yt, surveyAssistantDraftChangePreconditionSchema as z, surveyAssistantErrorInfoSchema as zt };
1122
1254
 
1123
- //# sourceMappingURL=protocol-DJUP4gc0.mjs.map
1255
+ //# sourceMappingURL=protocol-CF4Bh_Ch.mjs.map