@case-framework/survey-assistant 0.7.0 → 0.9.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 (142) hide show
  1. package/README.md +58 -3
  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-BJQ_1nMX.mjs → authoring-references-CmwLc_C8.mjs} +49 -32
  5. package/dist/authoring-references-CmwLc_C8.mjs.map +1 -0
  6. package/dist/capabilities-D55dq-fO.mjs +582 -0
  7. package/dist/capabilities-D55dq-fO.mjs.map +1 -0
  8. package/dist/capabilities-default.d.mts +5 -12
  9. package/dist/capabilities-default.d.mts.map +1 -1
  10. package/dist/capabilities-default.mjs +2 -411
  11. package/dist/capabilities-z95e1mti.d.mts +117 -0
  12. package/dist/capabilities-z95e1mti.d.mts.map +1 -0
  13. package/dist/{constants-0UHGFcRJ.mjs → constants-Ct-vv9cu.mjs} +1 -1
  14. package/dist/{constants-0UHGFcRJ.mjs.map → constants-Ct-vv9cu.mjs.map} +1 -1
  15. package/dist/{constants-Be91Gay9.d.mts → constants-HL_klgJl.d.mts} +7 -28
  16. package/dist/constants-HL_klgJl.d.mts.map +1 -0
  17. package/dist/{controller-proxy-BH05e-C2.mjs → controller-proxy-BQ1YsVxJ.mjs} +12 -21
  18. package/dist/controller-proxy-BQ1YsVxJ.mjs.map +1 -0
  19. package/dist/controller-proxy-Cmzdr9tV.d.mts +65 -0
  20. package/dist/controller-proxy-Cmzdr9tV.d.mts.map +1 -0
  21. package/dist/default-D22AKTqE.mjs +233 -0
  22. package/dist/default-D22AKTqE.mjs.map +1 -0
  23. package/dist/{digest-SJmoYVaK.d.mts → digest-FnTTDBq2.d.mts} +2 -3
  24. package/dist/digest-FnTTDBq2.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-D950TfvC.mjs +3098 -0
  28. package/dist/engine-D950TfvC.mjs.map +1 -0
  29. package/dist/engine.d.mts +4 -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-l_EK4yK7.d.mts → index-B8TLBd1G.d.mts} +18 -72
  34. package/dist/index-B8TLBd1G.d.mts.map +1 -0
  35. package/dist/index-CaX3hZmr.d.mts +23813 -0
  36. package/dist/index-CaX3hZmr.d.mts.map +1 -0
  37. package/dist/{index-x0qprHgK.d.mts → index-CeUlGkoU.d.mts} +58 -28
  38. package/dist/index-CeUlGkoU.d.mts.map +1 -0
  39. package/dist/{index-nhrgbgO5.d.mts → index-DYHdvSE8.d.mts} +347 -88
  40. package/dist/index-DYHdvSE8.d.mts.map +1 -0
  41. package/dist/lifecycle-DFzxVxpq.d.mts +54346 -0
  42. package/dist/lifecycle-DFzxVxpq.d.mts.map +1 -0
  43. package/dist/{memory-thread-repository-KWHQWFEW.mjs → memory-thread-repository-DmLadygY.mjs} +60 -30
  44. package/dist/memory-thread-repository-DmLadygY.mjs.map +1 -0
  45. package/dist/protocol-BQ7uIDYT.mjs +569 -0
  46. package/dist/protocol-BQ7uIDYT.mjs.map +1 -0
  47. package/dist/protocol.d.mts +4 -4
  48. package/dist/protocol.mjs +4 -3
  49. package/dist/{react-B3ybjJ-X.mjs → react-DybJ5pWw.mjs} +159 -46
  50. package/dist/react-DybJ5pWw.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 +224 -180
  56. package/dist/references/core-rules.md +6 -3
  57. package/dist/references/element-types.md +189 -0
  58. package/dist/references/expressions.md +307 -168
  59. package/dist/references/fair-by-design.md +9 -9
  60. package/dist/references/follow-ups.md +151 -0
  61. package/dist/references/localization.md +26 -12
  62. package/dist/references/response-variables.md +38 -0
  63. package/dist/references/rich-text-content.md +22 -43
  64. package/dist/references/source-material-surveys.md +20 -24
  65. package/dist/references/survey-data-model.md +36 -102
  66. package/dist/{request-context-CG4SWijt.mjs → request-context-KVh8VjgH.mjs} +4 -10
  67. package/dist/request-context-KVh8VjgH.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 +62 -43
  71. package/dist/server-agent.d.mts.map +1 -1
  72. package/dist/server-agent.mjs +73 -40
  73. package/dist/server-agent.mjs.map +1 -1
  74. package/dist/server-runtime.d.mts +24 -42
  75. package/dist/server-runtime.d.mts.map +1 -1
  76. package/dist/server-runtime.mjs +12 -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 +14 -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-Coh5N027.mjs +397 -0
  91. package/dist/tasks-Coh5N027.mjs.map +1 -0
  92. package/dist/{tasks-CYqrcaRO.d.mts → tasks-wb9M-bak.d.mts} +25 -41
  93. package/dist/tasks-wb9M-bak.d.mts.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-DBAaU7BA.d.mts → thread-handlers-C3Iya92v.d.mts} +9 -40
  97. package/dist/thread-handlers-C3Iya92v.d.mts.map +1 -0
  98. package/dist/{tools-BvSovehT.mjs → tools-D0KBDolR.mjs} +677 -459
  99. package/dist/tools-D0KBDolR.mjs.map +1 -0
  100. package/dist/turn-survey-draft-B34lggSG.d.mts +185 -0
  101. package/dist/turn-survey-draft-B34lggSG.d.mts.map +1 -0
  102. package/dist/ui.css +1 -1
  103. package/dist/ui.d.mts +15 -54
  104. package/dist/ui.d.mts.map +1 -1
  105. package/dist/ui.mjs +203 -156
  106. package/dist/ui.mjs.map +1 -1
  107. package/docs/integration.md +11 -1
  108. package/package.json +41 -36
  109. package/dist/authoring-references-BJQ_1nMX.mjs.map +0 -1
  110. package/dist/capabilities-1KNnNO1_.mjs +0 -73
  111. package/dist/capabilities-1KNnNO1_.mjs.map +0 -1
  112. package/dist/capabilities-DVTfogjv.d.mts +0 -193
  113. package/dist/capabilities-DVTfogjv.d.mts.map +0 -1
  114. package/dist/capabilities-default.mjs.map +0 -1
  115. package/dist/constants-Be91Gay9.d.mts.map +0 -1
  116. package/dist/controller-proxy-BH05e-C2.mjs.map +0 -1
  117. package/dist/controller-proxy-Bd0ZHBPF.d.mts +0 -85
  118. package/dist/controller-proxy-Bd0ZHBPF.d.mts.map +0 -1
  119. package/dist/digest-SJmoYVaK.d.mts.map +0 -1
  120. package/dist/engine-Bo85Oyj0.mjs +0 -6723
  121. package/dist/engine-Bo85Oyj0.mjs.map +0 -1
  122. package/dist/index-Tnqv-yKW.d.mts +0 -777
  123. package/dist/index-Tnqv-yKW.d.mts.map +0 -1
  124. package/dist/index-l_EK4yK7.d.mts.map +0 -1
  125. package/dist/index-nhrgbgO5.d.mts.map +0 -1
  126. package/dist/index-x0qprHgK.d.mts.map +0 -1
  127. package/dist/lifecycle-Bx0aq_4S.d.mts +0 -529
  128. package/dist/lifecycle-Bx0aq_4S.d.mts.map +0 -1
  129. package/dist/memory-thread-repository-KWHQWFEW.mjs.map +0 -1
  130. package/dist/protocol-BhzQbx81.mjs +0 -1173
  131. package/dist/protocol-BhzQbx81.mjs.map +0 -1
  132. package/dist/react-B3ybjJ-X.mjs.map +0 -1
  133. package/dist/references/embedded-forms.md +0 -126
  134. package/dist/references/item-types.md +0 -407
  135. package/dist/request-context-CG4SWijt.mjs.map +0 -1
  136. package/dist/request-guardrails-TmgQtqp4.mjs.map +0 -1
  137. package/dist/server-tasks.mjs.map +0 -1
  138. package/dist/tasks-CYqrcaRO.d.mts.map +0 -1
  139. package/dist/thread-documents-rmd6nyX9.d.mts +0 -107
  140. package/dist/thread-documents-rmd6nyX9.d.mts.map +0 -1
  141. package/dist/thread-handlers-DBAaU7BA.d.mts.map +0 -1
  142. package/dist/tools-BvSovehT.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities-D55dq-fO.mjs","names":["richTextImageDimensionSchema"],"sources":["../src/protocol/response-settings.ts","../src/protocol/content.ts","../src/protocol/structure.ts","../src/protocol/operations.ts","../src/protocol/capabilities.ts"],"sourcesContent":["import { stringRecord } from \"@case-framework/survey-core/schema\";\nimport { z } from \"zod\";\nimport type { ResponseNamingEdit, ResponseSettingsEdit } from \"@case-framework/survey-core/editor\";\n\nconst variableName = z\n .string()\n .regex(/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/)\n .max(32);\nexport const responseNamingEditSchema: z.ZodType<ResponseNamingEdit> = z.union([\n z.object({ slotId: z.string().min(1), variableName }).strict(),\n z\n .object({\n elementId: z.string().min(1),\n prefix: variableName.optional(),\n rows: stringRecord(z.string(), variableName).optional(),\n columns: stringRecord(z.string(), variableName).optional(),\n })\n .strict(),\n]);\nexport const responseExportSettingsSchema = z\n .object({\n mode: z.string().min(1),\n include: z.boolean().optional(),\n categorical: z.enum([\"codes\", \"labels\", \"ids\"]).optional(),\n multiple: z.enum([\"json\", \"delimited\", \"indicators\"]).optional(),\n delimiter: z.string().optional(),\n locale: z.string().optional(),\n optionCodes: stringRecord(z.string(), z.string()).optional(),\n optionLabels: stringRecord(z.string(), z.string()).optional(),\n booleanValues: z.object({ true: z.string(), false: z.string() }).optional(),\n precision: z.number().int().nonnegative().optional(),\n durationUnit: z\n .enum([\"seconds\", \"minutes\", \"hours\", \"days\", \"weeks\", \"months\", \"years\"])\n .optional(),\n dateFormat: z.object({ pattern: z.string().min(1) }).optional(),\n maskText: z.string().optional(),\n })\n .strict();\nexport const responseSettingsEditSchema: z.ZodType<ResponseSettingsEdit> = z\n .object({\n slotId: z.string().min(1),\n optionCodes: stringRecord(z.string(), z.string().min(1)).optional(),\n exportSettings: responseExportSettingsSchema.optional(),\n })\n .strict();\nexport const responseSettingsChangesSchema = z.object({\n naming: z.array(responseNamingEditSchema).max(200),\n settings: z.array(responseSettingsEditSchema).max(200),\n});\n","import { z } from \"zod\";\nimport type { Content } from \"@case-framework/survey-core\";\nimport { jsonValueSchema, stringRecord } from \"@case-framework/survey-core/schema\";\n\nexport { jsonValueSchema };\n\nconst contentAttributesSchema = stringRecord(z.string(), jsonValueSchema);\n\nconst richTextStyleSchema = z.object({\n weight: z.enum([\"strong\", \"normal\"]).optional(),\n italic: z.enum([\"italic\", \"normal\"]).optional(),\n underline: z.enum([\"underline\", \"none\"]).optional(),\n color: z.enum([\"primary\", \"accent\", \"default\"]).optional(),\n});\n\nconst richTextTextInlineSchema = z.object({\n type: z.literal(\"text\"),\n text: z.string().max(20_000),\n style: richTextStyleSchema.optional(),\n attrs: contentAttributesSchema.optional(),\n});\n\nconst richTextTemplateInlineSchema = z.object({\n type: z.literal(\"template\"),\n key: z.string().min(1).max(240),\n style: richTextStyleSchema.optional(),\n attrs: contentAttributesSchema.optional(),\n});\n\nconst richTextLineBreakInlineSchema = z.object({\n type: z.literal(\"lineBreak\"),\n attrs: contentAttributesSchema.optional(),\n});\n\nconst richTextLinkChildInlineSchema = z.discriminatedUnion(\"type\", [\n richTextTextInlineSchema,\n richTextTemplateInlineSchema,\n richTextLineBreakInlineSchema,\n]);\n\nconst richTextLinkInlineSchema = z.object({\n type: z.literal(\"link\"),\n href: z.string().min(1).max(2000),\n target: z.string().max(120).nullable().optional(),\n rel: z.string().max(240).nullable().optional(),\n title: z.string().max(1000).nullable().optional(),\n attrs: contentAttributesSchema.optional(),\n children: z.array(richTextLinkChildInlineSchema).max(200),\n});\n\nconst richTextInlineExtensionSchema = z.object({\n type: z.literal(\"inlineExtension\"),\n name: z.string().min(1).max(120),\n attrs: contentAttributesSchema.optional(),\n});\n\nconst richTextInlineSchema = z.discriminatedUnion(\"type\", [\n richTextTextInlineSchema,\n richTextTemplateInlineSchema,\n richTextLinkInlineSchema,\n richTextLineBreakInlineSchema,\n richTextInlineExtensionSchema,\n]);\n\nconst textAlignmentSchema = z.enum([\"left\", \"center\", \"right\", \"justify\"]);\n\nconst richTextParagraphBlockSchema = z.object({\n type: z.literal(\"paragraph\"),\n children: z.array(richTextInlineSchema).max(500),\n alignment: textAlignmentSchema.optional(),\n attrs: contentAttributesSchema.optional(),\n});\n\nconst richTextHeadingBlockSchema = z.object({\n type: z.literal(\"heading\"),\n level: z.union([z.literal(1), z.literal(2)], {\n error:\n \"Heading level must be the number 1 (section heading) or 2 (subsection heading); other levels are not supported.\",\n }),\n children: z.array(richTextInlineSchema).max(500),\n alignment: textAlignmentSchema.optional(),\n attrs: contentAttributesSchema.optional(),\n});\n\nconst richTextListItemBlockSchema = z.object({\n type: z.literal(\"listItem\"),\n children: z.array(richTextParagraphBlockSchema).max(100),\n attrs: contentAttributesSchema.optional(),\n});\n\nconst richTextBulletListBlockSchema = z.object({\n type: z.literal(\"bulletList\"),\n items: z.array(richTextListItemBlockSchema).max(100),\n attrs: contentAttributesSchema.optional(),\n});\n\nconst richTextImageDimensionSchema = z.union([\n z.object({ unit: z.literal(\"px\"), value: z.number().finite().nonnegative() }),\n z.object({ unit: z.literal(\"%\"), value: z.number().finite().nonnegative() }),\n]);\n\nconst richTextImageSourceSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"asset\"), assetId: z.string().min(1).max(240) }),\n z.object({ type: z.literal(\"external\"), url: z.string().min(1).max(2000) }),\n]);\n\nconst richTextImageBlockSchema = z.object({\n type: z.literal(\"image\"),\n source: richTextImageSourceSchema,\n alt: z.string().max(2000).optional(),\n caption: z.array(richTextParagraphBlockSchema).max(20).optional(),\n size: z\n .object({\n width: richTextImageDimensionSchema.optional(),\n height: richTextImageDimensionSchema.optional(),\n maxWidth: richTextImageDimensionSchema.optional(),\n maxHeight: richTextImageDimensionSchema.optional(),\n })\n .optional(),\n alignment: textAlignmentSchema.optional(),\n attrs: contentAttributesSchema.optional(),\n});\n\nconst richTextInfoBoxBlockSchema = z.object({\n type: z.literal(\"infoBox\"),\n tone: z.enum([\"info\", \"warning\"]).optional(),\n title: z.array(richTextInlineSchema).max(100).optional(),\n collapsible: z.boolean().optional(),\n defaultOpen: z.boolean().optional(),\n children: z.array(richTextParagraphBlockSchema).max(100),\n attrs: contentAttributesSchema.optional(),\n});\n\nconst richTextSeparatorBlockSchema = z.object({\n type: z.literal(\"separator\"),\n attrs: contentAttributesSchema.optional(),\n});\n\nconst richTextBlockExtensionSchema = z.object({\n type: z.literal(\"blockExtension\"),\n name: z.string().min(1).max(120),\n attrs: contentAttributesSchema.optional(),\n});\n\nconst richTextBlockSchema = z.discriminatedUnion(\"type\", [\n richTextParagraphBlockSchema,\n richTextHeadingBlockSchema,\n richTextBulletListBlockSchema,\n richTextImageBlockSchema,\n richTextInfoBoxBlockSchema,\n richTextSeparatorBlockSchema,\n richTextBlockExtensionSchema,\n]);\n\nexport const surveyContentSchema: z.ZodType<Content> = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"md\"), content: z.string().max(20_000) }),\n z.object({ type: z.literal(\"plain\"), content: z.string().max(20_000) }),\n z.object({\n type: z.literal(\"richText\"),\n version: z.literal(1),\n doc: z.object({\n type: z.literal(\"doc\"),\n blocks: z.array(richTextBlockSchema).max(200),\n }),\n }),\n]) as z.ZodType<Content>;\n\nexport type SurveyContent = z.infer<typeof surveyContentSchema>;\nexport type JsonValue = z.infer<typeof jsonValueSchema>;\n","import { elementShape, stringRecord } from \"@case-framework/survey-core/schema\";\nimport { z } from \"zod\";\nimport { jsonValueSchema } from \"./content\";\n/** Envelope only: executable registry definitions validate custom configuration at the receiver. */\nexport const elementTransportSchema = z.strictObject({\n ...elementShape,\n elementType: z\n .string()\n .min(1)\n .describe(\n \"Exact type from the active element registry. Load the capability schema before authoring unfamiliar configuration.\",\n ),\n config: stringRecord(z.string(), jsonValueSchema).describe(\n \"Type-specific configuration validated by the registered schema, not an arbitrary extension bag. Preserve persistent IDs and use update-response-settings for coding edits.\",\n ),\n});\n","import type { JsonPatchOperation as CoreJsonPatchOperation } from \"@case-framework/survey-core\";\nimport { z } from \"zod\";\nimport {\n createCompositionSchema,\n createFlowItemSchema,\n richTextImageDimensionSchema,\n layoutPolicySchema,\n SURVEY_LOCALIZATION_SURFACES,\n stringRecord,\n} from \"@case-framework/survey-core/schema\";\nimport { SURVEY_EDITOR_ITEM_COLORS } from \"@case-framework/survey-core/editor/colors\";\nimport { responseSettingsChangesSchema } from \"./response-settings\";\nimport { elementTransportSchema } from \"./structure\";\nimport { jsonValueSchema, surveyContentSchema } from \"./content\";\n\nconst identity = z\n .string()\n .min(1)\n .max(240)\n .describe(\"Exact persistent ID from current inspection; never a displayed label.\");\nconst locale = z\n .string()\n .trim()\n .min(1)\n .max(40)\n .describe(\n \"Actual respondent locale code, such as en, de or nl. Copy an existing code exactly; a translation in a new code introduces a new survey language.\",\n );\nconst base = {\n id: z\n .string()\n .min(1)\n .max(120)\n .optional()\n .describe(\"Optional operation tracking ID, not an item, element or response ID.\"),\n};\nconst index = z\n .number()\n .int()\n .nonnegative()\n .optional()\n .describe(\n \"Zero-based insertion position in the current target list. Omit to append; 0 inserts first. Inspect the list before specifying an index.\",\n );\nconst flowTarget = z.strictObject({\n parentItemId: identity.describe(\n \"Exact ID of the destination flow group, including the root group. Never an element or layout ID.\",\n ),\n index,\n});\nconst layoutTarget = z.strictObject({\n layoutId: identity.describe(\n \"Exact ID of an existing layout group, including one inside a section or option follow-up.\",\n ),\n index,\n});\nconst ruleTransfer = z\n .enum([\"reject\", \"move-with-targets\"])\n .optional()\n .describe(\n \"Defaults to reject if a move crosses validation-rule ownership. Explicit move-with-targets is allowed only when every target of each affected rule moves together.\",\n );\nexport const localizationRefSchema = z.discriminatedUnion(\"scope\", [\n z.strictObject({\n scope: z.literal(\"content\"),\n ownerId: identity,\n role: z.string().min(1).max(240),\n }),\n z.strictObject({\n scope: z.literal(\"survey\"),\n surface: z.enum(SURVEY_LOCALIZATION_SURFACES),\n contentKey: z.string().min(1).max(240),\n }),\n]);\nconst contentWrite = {\n locale,\n plainText: z\n .string()\n .optional()\n .describe(\n \"Unformatted respondent wording, preserved as supplied. Use exactly one of plainText or content; Markdown syntax is not rendered formatting.\",\n ),\n content: surveyContentSchema\n .nullable()\n .optional()\n .describe(\n \"Canonical localized content, or null to clear this single surface. For structured formatting load rich-text-content; do not replace sibling translations.\",\n ),\n};\nconst exactlyOneContent = (value: { plainText?: string; content?: unknown }) =>\n (value.plainText !== undefined) !== (value.content !== undefined);\nconst contentRequired = {\n message: \"Provide exactly one of plainText or content; use content: null to clear.\",\n};\nexport const ownerTranslationSchema = z\n .strictObject({ ...contentWrite, ownerId: identity, role: z.string().min(1).max(240) })\n .refine(exactlyOneContent, contentRequired);\nconst translations = z\n .array(ownerTranslationSchema)\n .max(1000)\n .optional()\n .describe(\n \"Atomic respondent wording for exact content owner IDs and declared roles, in each requested locale. Include labels for new inputs/options and preserve existing languages on duplication.\",\n );\nconst bodySchema = createCompositionSchema(elementTransportSchema);\nconst pointer = z\n .string()\n .max(1000)\n .describe(\"Exact JSON Pointer from inspection. Escape ~ as ~0 and / as ~1 within a segment.\");\nexport const jsonPatchOperationSchema: z.ZodType<CoreJsonPatchOperation> = z.discriminatedUnion(\n \"op\",\n [\n z.strictObject({ op: z.literal(\"add\"), path: pointer, value: jsonValueSchema }),\n z.strictObject({ op: z.literal(\"replace\"), path: pointer, value: jsonValueSchema }),\n z.strictObject({ op: z.literal(\"test\"), path: pointer, value: jsonValueSchema }),\n z.strictObject({ op: z.literal(\"remove\"), path: pointer }),\n z.strictObject({ op: z.literal(\"move\"), from: pointer, path: pointer }),\n z.strictObject({ op: z.literal(\"copy\"), from: pointer, path: pointer }),\n ],\n);\nconst patches = z\n .array(jsonPatchOperationSchema)\n .min(1)\n .max(100)\n .describe(\n \"Use exact inspected JSON Pointers. Parent paths must exist; add appends with /-. replace requires an existing property.\",\n );\nexport const createItemOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"create-item\"),\n target: flowTarget,\n item: createFlowItemSchema(bodySchema).describe(\n \"Complete new flow item: content, group or page-break. A content item owns config.body.blocks with layouts/elements or sections. Create groups empty, then add children. New owned IDs must be unique survey-wide.\",\n ),\n translations,\n});\nexport const insertElementOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"insert-element\"),\n target: layoutTarget,\n element: elementTransportSchema.describe(\n \"Complete registered element with fresh owner and slot IDs. Load this elementType capability and its canonical schema; arbitrary configuration is validated by the active registry.\",\n ),\n translations,\n});\nexport const insertPresetOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"insert-preset\"),\n elementType: identity.describe(\n \"Exact installed element type advertised by the capability manifest, including custom elements when supported.\",\n ),\n presetId: identity.describe(\n \"Exact creation preset advertised for elementType. Never guess a preset ID; inspect the generated IDs before subsequent edits.\",\n ),\n locale,\n target: z.union([flowTarget, layoutTarget]),\n});\nexport const insertBlocksOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"insert-blocks\"),\n bodyOwnerId: identity.describe(\n \"Exact owner of an existing composition body: content item, semantic section or follow-up trigger. This is not a layout ID.\",\n ),\n index,\n body: bodySchema.describe(\n \"New blocks to insert, not a replacement for the existing body. One section level and one option-follow-up level are enforced independently.\",\n ),\n translations,\n});\nexport const updateContentOperationSchema = z\n .strictObject({\n ...base,\n kind: z.literal(\"update-content\"),\n ref: localizationRefSchema,\n ...contentWrite,\n })\n .refine(exactlyOneContent, contentRequired);\nexport const patchElementConfigOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"patch-element-config\"),\n elementId: identity,\n patches,\n translations,\n});\nexport const patchItemConfigOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"patch-item-config\"),\n itemId: identity,\n patches,\n translations,\n});\nexport const updateItemLabelOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"update-item-label\"),\n itemId: identity,\n itemLabel: z\n .string()\n .max(500)\n .describe(\n \"Internal editor label (the Add label control), never shown to respondents. Use update-content for question titles or input/option labels.\",\n ),\n});\nexport const updateItemColorOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"update-item-color\"),\n itemId: identity,\n color: z\n .enum(SURVEY_EDITOR_ITEM_COLORS)\n .describe(\n \"Editor-only palette swatch. Does not alter participant content or imply answer meaning.\",\n ),\n});\nexport const removeItemOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"remove-item\"),\n itemId: identity,\n includeChildren: z\n .boolean()\n .optional()\n .describe(\n \"Set true only when intentionally deleting a flow group and its complete subtree. Deletion is refused while authored references depend on removed identities.\",\n ),\n});\nexport const moveItemOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"move-item\"),\n itemId: identity,\n target: flowTarget,\n});\nexport const reorderItemsOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"reorder-items\"),\n parentItemId: identity,\n itemIds: z\n .array(identity)\n .max(1000)\n .describe(\"Include every existing child item ID exactly once, in the desired order.\"),\n});\nexport const moveElementOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"move-element\"),\n elementId: identity,\n target: layoutTarget,\n ruleTransfer,\n});\nexport const moveBlockOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"move-block\"),\n blockId: identity,\n bodyOwnerId: identity.describe(\n \"Exact owner of an existing composition body: content item, semantic section or follow-up trigger. This is not a layout ID.\",\n ),\n index,\n ruleTransfer,\n});\nexport const removeContentOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"remove-content\"),\n ownerId: identity.describe(\n \"Exact element or block owner to remove. External references must be repaired first; this is not a request to clear its wording.\",\n ),\n});\nexport const updateLayoutOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"update-layout\"),\n layoutId: identity,\n layout: layoutPolicySchema.describe(\n \"Complete layout policy; elements and IDs are preserved. Automatic maxColumns is a maximum and supports responsive wrapping; advanced mode supplies each breakpoint explicitly.\",\n ),\n});\nconst dimension = richTextImageDimensionSchema;\nexport const updatePlacedImageOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"update-placed-image\"),\n ref: localizationRefSchema,\n locale,\n imageIndex: z\n .number()\n .int()\n .nonnegative()\n .describe(\n \"Zero-based image-only index within the inspected rich-text surface, not its overall block index.\",\n ),\n expectedAssetId: identity\n .optional()\n .describe(\n \"Inspected current local asset ID, used to reject a stale placement instead of editing the wrong image.\",\n ),\n changes: z.strictObject({\n source: z\n .discriminatedUnion(\"type\", [\n z.strictObject({ type: z.literal(\"asset\"), assetId: identity }),\n z.strictObject({ type: z.literal(\"external\"), url: z.string().min(1) }),\n ])\n .optional(),\n alt: z.string().nullable().optional(),\n caption: z.string().nullable().optional(),\n width: dimension.nullable().optional(),\n height: dimension.nullable().optional(),\n maxWidth: dimension.nullable().optional(),\n maxHeight: dimension.nullable().optional(),\n alignment: z.enum([\"left\", \"center\", \"right\"]).nullable().optional(),\n }),\n});\nexport const updateSurveyMetadataOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"update-survey-metadata\"),\n values: stringRecord(z.string().min(1), z.string().nullable()).describe(\n \"Survey metadata entries to set; null deletes an entry. Unmentioned entries stay unchanged.\",\n ),\n});\nexport const updateSurveyPaginationOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"update-survey-pagination\"),\n value: z\n .strictObject({ large: z.number().int().positive(), small: z.number().int().positive() })\n .nullable(),\n});\nexport const updateSurveyTranslationOperationSchema = z\n .strictObject({\n ...base,\n kind: z.literal(\"update-survey-translation\"),\n surface: z.enum(SURVEY_LOCALIZATION_SURFACES),\n contentKey: z.string().min(1),\n ...contentWrite,\n })\n .refine(exactlyOneContent, contentRequired);\nexport const addSurveyLocaleOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"add-survey-locale\"),\n locale,\n});\nexport const removeSurveyLocaleOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"remove-survey-locale\"),\n locale,\n});\nconst assetMetadata = z.strictObject({\n name: z.string().optional(),\n filename: z.string().optional(),\n alt: z.string().optional(),\n width: z.number().int().positive().optional(),\n height: z.number().int().positive().optional(),\n});\nexport const setImageAssetOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"set-image-asset\"),\n assetId: identity,\n asset: z.strictObject({\n kind: z.literal(\"image\"),\n source: z.strictObject({\n type: z.literal(\"embedded\"),\n mediaType: z.string().regex(/^image\\//),\n encoding: z.literal(\"base64\"),\n data: z.string().min(1).max(8_000_000),\n }),\n metadata: assetMetadata.optional(),\n }),\n});\nexport const updateImageAssetMetadataOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"update-image-asset-metadata\"),\n assetId: identity,\n metadata: z.strictObject({\n name: z.string().nullable().optional(),\n filename: z.string().nullable().optional(),\n alt: z.string().nullable().optional(),\n width: z.number().int().positive().nullable().optional(),\n height: z.number().int().positive().nullable().optional(),\n }),\n});\nexport const removeImageAssetOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"remove-image-asset\"),\n assetId: identity,\n});\nexport const surveyPatchOperationSchema = z.strictObject({\n ...base,\n kind: z.literal(\"survey-json-patch\"),\n patches,\n});\nexport const updateResponseSettingsOperationSchema = responseSettingsChangesSchema\n .extend({ ...base, kind: z.literal(\"update-response-settings\") })\n .strict();\ninterface SurveyOperationSchemas {\n \"create-item\": typeof createItemOperationSchema;\n \"insert-element\": typeof insertElementOperationSchema;\n \"insert-preset\": typeof insertPresetOperationSchema;\n \"insert-blocks\": typeof insertBlocksOperationSchema;\n \"update-content\": typeof updateContentOperationSchema;\n \"patch-element-config\": typeof patchElementConfigOperationSchema;\n \"patch-item-config\": typeof patchItemConfigOperationSchema;\n \"update-item-label\": typeof updateItemLabelOperationSchema;\n \"update-item-color\": typeof updateItemColorOperationSchema;\n \"remove-item\": typeof removeItemOperationSchema;\n \"move-item\": typeof moveItemOperationSchema;\n \"reorder-items\": typeof reorderItemsOperationSchema;\n \"move-element\": typeof moveElementOperationSchema;\n \"move-block\": typeof moveBlockOperationSchema;\n \"remove-content\": typeof removeContentOperationSchema;\n \"update-layout\": typeof updateLayoutOperationSchema;\n \"update-placed-image\": typeof updatePlacedImageOperationSchema;\n \"update-survey-metadata\": typeof updateSurveyMetadataOperationSchema;\n \"update-survey-pagination\": typeof updateSurveyPaginationOperationSchema;\n \"update-survey-translation\": typeof updateSurveyTranslationOperationSchema;\n \"add-survey-locale\": typeof addSurveyLocaleOperationSchema;\n \"remove-survey-locale\": typeof removeSurveyLocaleOperationSchema;\n \"set-image-asset\": typeof setImageAssetOperationSchema;\n \"update-image-asset-metadata\": typeof updateImageAssetMetadataOperationSchema;\n \"remove-image-asset\": typeof removeImageAssetOperationSchema;\n \"survey-json-patch\": typeof surveyPatchOperationSchema;\n \"update-response-settings\": typeof updateResponseSettingsOperationSchema;\n}\nexport const surveyOperationSchemasByKind: SurveyOperationSchemas = {\n \"create-item\": createItemOperationSchema,\n \"insert-element\": insertElementOperationSchema,\n \"insert-preset\": insertPresetOperationSchema,\n \"insert-blocks\": insertBlocksOperationSchema,\n \"update-content\": updateContentOperationSchema,\n \"patch-element-config\": patchElementConfigOperationSchema,\n \"patch-item-config\": patchItemConfigOperationSchema,\n \"update-item-label\": updateItemLabelOperationSchema,\n \"update-item-color\": updateItemColorOperationSchema,\n \"remove-item\": removeItemOperationSchema,\n \"move-item\": moveItemOperationSchema,\n \"reorder-items\": reorderItemsOperationSchema,\n \"move-element\": moveElementOperationSchema,\n \"move-block\": moveBlockOperationSchema,\n \"remove-content\": removeContentOperationSchema,\n \"update-layout\": updateLayoutOperationSchema,\n \"update-placed-image\": updatePlacedImageOperationSchema,\n \"update-survey-metadata\": updateSurveyMetadataOperationSchema,\n \"update-survey-pagination\": updateSurveyPaginationOperationSchema,\n \"update-survey-translation\": updateSurveyTranslationOperationSchema,\n \"add-survey-locale\": addSurveyLocaleOperationSchema,\n \"remove-survey-locale\": removeSurveyLocaleOperationSchema,\n \"set-image-asset\": setImageAssetOperationSchema,\n \"update-image-asset-metadata\": updateImageAssetMetadataOperationSchema,\n \"remove-image-asset\": removeImageAssetOperationSchema,\n \"survey-json-patch\": surveyPatchOperationSchema,\n \"update-response-settings\": updateResponseSettingsOperationSchema,\n} as const;\nexport type SurveyOperation = z.infer<SurveyOperationSchemas[keyof SurveyOperationSchemas]>;\nexport const surveyOperationSchema: z.ZodType<SurveyOperation> = z.discriminatedUnion(\"kind\", [\n createItemOperationSchema,\n ...Object.values(surveyOperationSchemasByKind).filter(\n (schema) => schema !== createItemOperationSchema,\n ),\n]);\n\nexport type SurveyOperationKind = SurveyOperation[\"kind\"];\nexport const SURVEY_OPERATION_KINDS = Object.freeze(\n Object.keys(surveyOperationSchemasByKind),\n) as readonly [SurveyOperationKind, ...SurveyOperationKind[]];\nexport const surveyValidationIssueSchema = z.object({\n severity: z.enum([\"error\", \"warning\"]),\n code: z.string(),\n message: z.string(),\n operationIndex: z.number().int().nonnegative().optional(),\n operationId: z.string().optional(),\n itemId: z.string().optional(),\n});\nexport const surveyValidationResultSchema = z.object({\n valid: z.boolean(),\n issues: z.array(surveyValidationIssueSchema),\n warnings: z.array(surveyValidationIssueSchema),\n normalizedOperations: z.array(surveyOperationSchema),\n});\nexport type SurveyValidationIssue = z.infer<typeof surveyValidationIssueSchema>;\nexport type SurveyValidationResult = z.infer<typeof surveyValidationResultSchema>;\nexport type JsonPatchOperation = z.infer<typeof jsonPatchOperationSchema>;\n","import { z } from \"zod\";\nimport { SURVEY_OPERATION_KINDS } from \"./operations\";\n\nexport const assistantElementCreateModeSchema = z.enum([\n \"deterministic\",\n \"interactive-only\",\n \"unsupported\",\n]);\nexport const assistantElementAuthoringSchema = z.strictObject({\n compactHint: z.string().min(1).max(240).optional(),\n configSummary: z.string().min(1).max(1000).optional(),\n});\nexport const assistantCreationPresetSchema = z.strictObject({\n id: z.string().regex(/^[A-Za-z0-9][A-Za-z0-9._-]{0,119}$/),\n});\nexport const assistantElementTypeManifestSchema = z.strictObject({\n elementType: z.string().min(1),\n capabilityVersion: z.string().min(1),\n displayName: z.string().min(1),\n description: z.string().optional(),\n create: assistantElementCreateModeSchema,\n supportedOperations: z.array(z.enum(SURVEY_OPERATION_KINDS)),\n creationPresets: z.array(assistantCreationPresetSchema).max(100).optional(),\n referenceTopics: z.array(z.string().min(1)).optional(),\n authoring: assistantElementAuthoringSchema.optional(),\n});\nexport const surveyAssistantCapabilityManifestSchema = z.strictObject({\n digest: z.string().min(1),\n elementTypes: z.array(assistantElementTypeManifestSchema),\n});\nexport type AssistantElementCreateMode = z.infer<typeof assistantElementCreateModeSchema>;\nexport type AssistantElementAuthoring = z.infer<typeof assistantElementAuthoringSchema>;\nexport type AssistantCreationPreset = z.infer<typeof assistantCreationPresetSchema>;\nexport type AssistantElementTypeManifest = z.infer<typeof assistantElementTypeManifestSchema>;\nexport type SurveyAssistantCapabilityManifest = z.infer<\n typeof surveyAssistantCapabilityManifestSchema\n>;\n"],"mappings":"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"}
@@ -1,15 +1,8 @@
1
- import { Ut as AssistantItemCapabilityAdapter, qt as SurveyAssistantCapabilitySet } from "./index-Tnqv-yKW.mjs";
2
-
1
+ import { _ as SurveyAssistantCapabilitySet, m as AssistantElementCapabilityAdapter } from "./turn-survey-draft-B34lggSG.mjs";
2
+ import "./index-CaX3hZmr.mjs";
3
3
  //#region src/capabilities/default.d.ts
4
- declare const rootItemAssistantCapability: AssistantItemCapabilityAdapter;
5
- declare const groupItemAssistantCapability: AssistantItemCapabilityAdapter;
6
- declare const pageBreakItemAssistantCapability: AssistantItemCapabilityAdapter;
7
- declare const infoItemAssistantCapability: AssistantItemCapabilityAdapter;
8
- declare const choiceItemAssistantCapability: AssistantItemCapabilityAdapter;
9
- declare const formItemAssistantCapability: AssistantItemCapabilityAdapter;
10
- declare const defaultSurveyAssistantCapabilities: readonly [AssistantItemCapabilityAdapter, AssistantItemCapabilityAdapter, AssistantItemCapabilityAdapter, AssistantItemCapabilityAdapter, AssistantItemCapabilityAdapter, AssistantItemCapabilityAdapter];
11
- declare const defaultSurveyAssistantCapabilitySet: SurveyAssistantCapabilitySet;
12
- declare const getDefaultSurveyAssistantCapability: (itemType: string) => AssistantItemCapabilityAdapter | undefined;
4
+ export declare const defaultSurveyAssistantCapabilities: AssistantElementCapabilityAdapter[];
5
+ export declare const defaultSurveyAssistantCapabilitySet: SurveyAssistantCapabilitySet;
6
+ export declare const getDefaultSurveyAssistantCapability: (elementType: string) => AssistantElementCapabilityAdapter | undefined;
13
7
  //#endregion
14
- export { choiceItemAssistantCapability, defaultSurveyAssistantCapabilities, defaultSurveyAssistantCapabilitySet, formItemAssistantCapability, getDefaultSurveyAssistantCapability, groupItemAssistantCapability, infoItemAssistantCapability, pageBreakItemAssistantCapability, rootItemAssistantCapability };
15
8
  //# sourceMappingURL=capabilities-default.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities-default.d.mts","names":[],"sources":["../src/capabilities/default.ts"],"mappings":";;;cAoNa,2BAAA,EAA6B,8BAAA;AAAA,cAY7B,4BAAA,EAA8B,8BAAA;AAAA,cAsB9B,gCAAA,EAAkC,8BAAA;AAAA,cAsBlC,2BAAA,EAA6B,8BAAA;AAAA,cA6B7B,6BAAA,EAA+B,8BAAA;AAAA,cAyF/B,2BAAA,EAA6B,8BAAA;AAAA,cA2D7B,kCAAA,YAAkC,8BAAA,EAAA,8BAAA,EAAA,8BAAA,EAAA,8BAAA,EAAA,8BAAA,EAAA,8BAAA;AAAA,cASlC,mCAAA,EAEZ,4BAAA;AAAA,cAEY,mCAAA,GACX,QAAA,aACC,8BAAA"}
1
+ {"version":3,"file":"capabilities-default.d.mts","names":[],"sources":["../src/capabilities/default.ts"],"mappings":";;;qBAwMa,oCAAkC;qBAGlC,qCAAA;qBAIA,sCAAuC,wBAAmB"}
@@ -1,411 +1,2 @@
1
- import { r as createSurveyAssistantCapabilities } from "./capabilities-1KNnNO1_.mjs";
2
- import { createFormItemConfig, getFormFieldValueType, isValidSimpleFormConfig, normalizeFormAuthoringConfig } from "@case-framework/survey-items/form";
3
- import { createChoiceItemConfig, getChoiceOptionEmbeddedFormResponseSlotPrefix, getChoiceResponseValueType } from "@case-framework/survey-items/choice";
4
- //#region src/capabilities/default.ts
5
- const COMMON_OPERATIONS = [
6
- "create-item",
7
- "update-item-key",
8
- "update-item-label",
9
- "update-item-color",
10
- "update-item-translation",
11
- "update-placed-image",
12
- "patch-item-config",
13
- "remove-item",
14
- "move-item",
15
- "survey-json-patch"
16
- ];
17
- const QUESTION_CONTENT_SURFACES = [
18
- {
19
- key: "title",
20
- role: "primary",
21
- format: "rich",
22
- requiredOnCreate: true,
23
- aliases: [
24
- "content",
25
- "label",
26
- "prompt",
27
- "question",
28
- "text"
29
- ]
30
- },
31
- {
32
- key: "subtitle",
33
- role: "secondary",
34
- format: "rich",
35
- aliases: ["subheading", "subtext"]
36
- },
37
- {
38
- key: "topContent",
39
- role: "secondary",
40
- format: "rich",
41
- aliases: ["preContent", "preResponse"]
42
- },
43
- {
44
- key: "bottomContent",
45
- role: "secondary",
46
- format: "rich",
47
- aliases: ["postContent", "postResponse"]
48
- },
49
- {
50
- key: "cardFooter",
51
- role: "secondary",
52
- format: "rich",
53
- aliases: ["footer"]
54
- }
55
- ];
56
- const FIELD_CONTENT_SURFACES = [
57
- "label",
58
- "description",
59
- "error",
60
- "placeholder",
61
- "unit",
62
- "checkedLabel",
63
- "uncheckedLabel"
64
- ].map((key) => ({
65
- key: `fields.<fieldId>.${key}`,
66
- role: key === "error" ? "validation" : "field",
67
- format: "rich",
68
- pattern: true
69
- }));
70
- const createManifest = (manifest) => ({
71
- capabilityVersion: "1",
72
- ...manifest
73
- });
74
- const STRUCTURE_REFERENCE = {
75
- topic: "item-types",
76
- markdown: "Groups are containers. Create a group without child ids, then create or move children through separate operations. Page breaks are standalone structural boundaries."
77
- };
78
- const QUESTION_REFERENCE = {
79
- topic: "item-types",
80
- markdown: "Question titles and supporting text are translations. Configuration stores response behavior; respondent-visible option and field labels use the declared dynamic content surfaces."
81
- };
82
- const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
83
- const withMaterializedConfig = (item, defaults) => ({
84
- ...item,
85
- config: {
86
- ...defaults,
87
- ...isRecord(item.config) ? item.config : {}
88
- }
89
- });
90
- const materializeGroupCreate = (item) => withMaterializedConfig(item, {
91
- items: [],
92
- shuffleItems: false
93
- });
94
- const materializeEmptyConfigCreate = (item) => withMaterializedConfig(item, {});
95
- const materializeChoiceCreate = (item) => {
96
- const config = isRecord(item.config) ? item.config : {};
97
- const defaults = createChoiceItemConfig(item.id);
98
- return normalizeEmbeddedFormAuthoringModes({
99
- ...item,
100
- config: {
101
- ...defaults,
102
- ...config,
103
- id: item.id,
104
- maxSelection: "maxSelection" in config ? config.maxSelection : defaults.maxSelection,
105
- shuffleOptions: "shuffleOptions" in config ? config.shuffleOptions : defaults.shuffleOptions,
106
- options: Array.isArray(config.options) ? config.options : defaults.options
107
- }
108
- });
109
- };
110
- const materializeFormCreate = (item) => ({
111
- ...item,
112
- config: normalizeFormAuthoringConfig({
113
- ...createFormItemConfig(item.id),
114
- ...isRecord(item.config) ? item.config : {},
115
- id: item.id
116
- })
117
- });
118
- const deriveFormResponseSlots = (config, prefix) => {
119
- if (!isRecord(config) || !Array.isArray(config.fieldGroups)) return {};
120
- const slots = {};
121
- for (const group of config.fieldGroups.filter(isRecord)) {
122
- if (!Array.isArray(group.fields)) continue;
123
- for (const field of group.fields.filter(isRecord)) {
124
- if (typeof field.key !== "string" || field.key.length === 0) continue;
125
- slots[prefix ? `${prefix}.${field.key}` : field.key] = getFormFieldValueType(field);
126
- }
127
- }
128
- return slots;
129
- };
130
- const deriveChoiceResponseSlots = (item) => {
131
- const config = isRecord(item.config) ? item.config : {};
132
- const slots = { [typeof config.id === "string" && config.id.length > 0 ? config.id : item.id]: getChoiceResponseValueType(config.maxSelection === 1 ? 1 : null) };
133
- if (Array.isArray(config.options)) for (const option of config.options.filter(isRecord)) {
134
- if (typeof option.id !== "string" || !option.embeddedForm) continue;
135
- Object.assign(slots, deriveFormResponseSlots(option.embeddedForm, getChoiceOptionEmbeddedFormResponseSlotPrefix(option.id)));
136
- }
137
- return slots;
138
- };
139
- const normalizeEmbeddedFormAuthoringModes = (item) => {
140
- if (!isRecord(item.config) || !Array.isArray(item.config.options)) return item;
141
- return {
142
- ...item,
143
- config: {
144
- ...item.config,
145
- options: item.config.options.map((option) => {
146
- if (!isRecord(option) || !isRecord(option.embeddedForm)) return option;
147
- return {
148
- ...option,
149
- embeddedForm: normalizeFormAuthoringConfig(option.embeddedForm)
150
- };
151
- })
152
- }
153
- };
154
- };
155
- const getSimpleFormValidationIssues = (config, subject) => isValidSimpleFormConfig(config) ? [] : [{
156
- severity: "error",
157
- code: "invalid-simple-form-structure",
158
- message: `${subject} with authoringMode "simple" must contain one single-column field group without group display behavior and exactly one supported field whose controller type matches the field type. Use authoringMode "custom" for any other structure.`
159
- }];
160
- const rootItemAssistantCapability = { manifest: createManifest({
161
- itemType: "root",
162
- displayName: "Survey root",
163
- description: "The existing root container. A second root cannot be created.",
164
- create: "unsupported",
165
- supportedOperations: [
166
- "update-item-key",
167
- "update-item-label",
168
- "update-item-color"
169
- ],
170
- contentSurfaces: [],
171
- referenceTopics: ["survey-data-model", "item-types"]
172
- }) };
173
- const groupItemAssistantCapability = {
174
- manifest: createManifest({
175
- itemType: "group",
176
- displayName: "Group",
177
- description: "A structural container whose children are created as separate items.",
178
- defaultItemKeyPrefix: "group",
179
- create: "deterministic",
180
- supportedOperations: [...COMMON_OPERATIONS, "reorder-items"],
181
- contentSurfaces: [{
182
- key: "title",
183
- role: "primary",
184
- format: "rich",
185
- aliases: [
186
- "content",
187
- "label",
188
- "name",
189
- "text"
190
- ]
191
- }],
192
- referenceTopics: ["survey-data-model", "item-types"]
193
- }),
194
- references: [STRUCTURE_REFERENCE],
195
- normalizeCreate: materializeGroupCreate
196
- };
197
- const pageBreakItemAssistantCapability = {
198
- manifest: createManifest({
199
- itemType: "page-break",
200
- displayName: "Page break",
201
- description: "A structural page boundary.",
202
- defaultItemKeyPrefix: "page",
203
- create: "deterministic",
204
- supportedOperations: COMMON_OPERATIONS,
205
- contentSurfaces: [{
206
- key: "title",
207
- role: "primary",
208
- format: "rich",
209
- aliases: [
210
- "content",
211
- "label",
212
- "name",
213
- "text"
214
- ]
215
- }],
216
- referenceTopics: ["survey-data-model", "item-types"]
217
- }),
218
- references: [STRUCTURE_REFERENCE],
219
- normalizeCreate: materializeEmptyConfigCreate
220
- };
221
- const infoItemAssistantCapability = {
222
- manifest: createManifest({
223
- itemType: "infoItem",
224
- displayName: "Info",
225
- description: "Display-only formatted content without a response slot.",
226
- defaultItemKeyPrefix: "info",
227
- create: "deterministic",
228
- supportedOperations: COMMON_OPERATIONS,
229
- contentSurfaces: [{
230
- key: "content",
231
- role: "primary",
232
- format: "rich",
233
- requiredOnCreate: true,
234
- aliases: [
235
- "body",
236
- "label",
237
- "prompt",
238
- "question",
239
- "text",
240
- "title"
241
- ]
242
- }],
243
- referenceTopics: ["item-types", "rich-text-content"]
244
- }),
245
- references: [{
246
- topic: "rich-text-content",
247
- markdown: "Info content uses the rich `content` surface. Markdown strings are not parsed; send structured rich text when formatting matters."
248
- }],
249
- normalizeCreate: materializeEmptyConfigCreate
250
- };
251
- const choiceItemAssistantCapability = {
252
- manifest: createManifest({
253
- itemType: "choiceItem",
254
- displayName: "Choice question",
255
- description: "A single- or multiple-choice question with optional embedded forms.",
256
- defaultItemKeyPrefix: "choice",
257
- create: "deterministic",
258
- supportedOperations: [
259
- ...COMMON_OPERATIONS,
260
- "add-choice-option",
261
- "update-choice-option-label",
262
- "remove-choice-option",
263
- "reorder-choice-options",
264
- "upsert-form-field-group",
265
- "remove-form-field-group",
266
- "reorder-form-field-groups",
267
- "upsert-form-field",
268
- "remove-form-field",
269
- "move-form-field",
270
- "set-embedded-form",
271
- "remove-embedded-form"
272
- ],
273
- contentSurfaces: [
274
- ...QUESTION_CONTENT_SURFACES,
275
- {
276
- key: "options.<optionId>.label",
277
- role: "option",
278
- format: "rich",
279
- pattern: true
280
- },
281
- ...FIELD_CONTENT_SURFACES.map((surface) => ({
282
- ...surface,
283
- key: `embeddedForms.<optionId>.${surface.key}`
284
- })),
285
- {
286
- key: "embeddedForms.<optionId>.fields.<fieldId>.options.<optionId>.label",
287
- role: "option",
288
- format: "rich",
289
- pattern: true
290
- },
291
- {
292
- key: "embeddedForms.<optionId>.fields.<fieldId>.validations.<validationId>.message",
293
- role: "validation",
294
- format: "rich",
295
- pattern: true
296
- },
297
- {
298
- key: "embeddedForms.<optionId>.fieldGroups.<groupId>.title",
299
- role: "field",
300
- format: "rich",
301
- pattern: true
302
- },
303
- {
304
- key: "embeddedForms.<optionId>.fieldGroups.<groupId>.description",
305
- role: "field",
306
- format: "rich",
307
- pattern: true
308
- }
309
- ],
310
- responseSlots: [{
311
- key: "<responseId>",
312
- valueType: "reference|referenceArray"
313
- }],
314
- referenceTopics: [
315
- "item-types",
316
- "embedded-forms",
317
- "localization",
318
- "expressions",
319
- "rich-text-content"
320
- ],
321
- authoring: {
322
- compactHint: "presets choice.single=maxSelection 1; choice.multiple=maxSelection null; embedded one supported field=simple; embedded blank/structured=custom",
323
- configSummary: "Config stores id, maxSelection, shuffleOptions, and options. Put every initial option and inline embeddedForm in create-item config; choice option operations edit only choice items already present in the live snapshot. Default an eligible one-field embedded form to authoringMode simple; use custom for blank or structured follow-ups. Embedded field content uses embeddedForms.<choiceOption.id> (case-sensitive), never the option key or embeddedForm id. Form layout values are column counts 1-4; one column makes a lone field full width."
324
- }
325
- }),
326
- references: [QUESTION_REFERENCE],
327
- normalizeCreate: materializeChoiceCreate,
328
- validateItem: (item) => {
329
- if (!isRecord(item.config) || !Array.isArray(item.config.options)) return [];
330
- return item.config.options.flatMap((option) => isRecord(option) && isRecord(option.embeddedForm) ? getSimpleFormValidationIssues(option.embeddedForm, "An embedded form") : []);
331
- },
332
- deriveResponseSlots: deriveChoiceResponseSlots
333
- };
334
- const formItemAssistantCapability = {
335
- manifest: createManifest({
336
- itemType: "formItem",
337
- displayName: "Form",
338
- description: "A form with groups, typed fields, validations, and select options.",
339
- defaultItemKeyPrefix: "form",
340
- create: "deterministic",
341
- supportedOperations: [
342
- ...COMMON_OPERATIONS,
343
- "upsert-form-field-group",
344
- "remove-form-field-group",
345
- "reorder-form-field-groups",
346
- "upsert-form-field",
347
- "remove-form-field",
348
- "move-form-field"
349
- ],
350
- contentSurfaces: [
351
- ...QUESTION_CONTENT_SURFACES,
352
- {
353
- key: "fieldGroups.<groupId>.title",
354
- role: "field",
355
- format: "rich",
356
- pattern: true
357
- },
358
- {
359
- key: "fieldGroups.<groupId>.description",
360
- role: "field",
361
- format: "rich",
362
- pattern: true
363
- },
364
- ...FIELD_CONTENT_SURFACES,
365
- {
366
- key: "fields.<fieldId>.options.<optionId>.label",
367
- role: "option",
368
- format: "rich",
369
- pattern: true
370
- },
371
- {
372
- key: "fields.<fieldId>.validations.<validationId>.message",
373
- role: "validation",
374
- format: "rich",
375
- pattern: true
376
- }
377
- ],
378
- responseSlots: [{
379
- key: "<fieldKey>",
380
- valueType: "field-dependent"
381
- }],
382
- referenceTopics: [
383
- "item-types",
384
- "localization",
385
- "expressions",
386
- "rich-text-content"
387
- ],
388
- authoring: {
389
- compactHint: "presets form.text=input|form.long-text=textarea|form.number=number|form.slider=slider|form.dropdown=select|form.date=datepicker|form.switch=switch; form.blank=custom",
390
- configSummary: "Config stores authoringMode and fieldGroups with typed fields. Use authoringMode \"simple\" only for exactly one internal group with exactly one field: text=input, long text=textarea, number=number, slider=slider, dropdown=select, date=datepicker, switch=switch. Use \"custom\" for blank or multi-field forms. Structural changes are a one-way transition to custom. The controller type must match the field type; full date uses datepicker/year-month-day. Layout values are column counts 1-4, not spans."
391
- }
392
- }),
393
- references: [QUESTION_REFERENCE],
394
- normalizeCreate: materializeFormCreate,
395
- validateItem: (item) => getSimpleFormValidationIssues(item.config, "A formItem"),
396
- deriveResponseSlots: (item) => deriveFormResponseSlots(item.config)
397
- };
398
- const defaultSurveyAssistantCapabilities = [
399
- rootItemAssistantCapability,
400
- groupItemAssistantCapability,
401
- pageBreakItemAssistantCapability,
402
- infoItemAssistantCapability,
403
- choiceItemAssistantCapability,
404
- formItemAssistantCapability
405
- ];
406
- const defaultSurveyAssistantCapabilitySet = createSurveyAssistantCapabilities(defaultSurveyAssistantCapabilities);
407
- const getDefaultSurveyAssistantCapability = (itemType) => defaultSurveyAssistantCapabilitySet.byItemType.get(itemType);
408
- //#endregion
409
- export { choiceItemAssistantCapability, defaultSurveyAssistantCapabilities, defaultSurveyAssistantCapabilitySet, formItemAssistantCapability, getDefaultSurveyAssistantCapability, groupItemAssistantCapability, infoItemAssistantCapability, pageBreakItemAssistantCapability, rootItemAssistantCapability };
410
-
411
- //# sourceMappingURL=capabilities-default.mjs.map
1
+ import { n as defaultSurveyAssistantCapabilitySet, r as getDefaultSurveyAssistantCapability, t as defaultSurveyAssistantCapabilities } from "./default-D22AKTqE.mjs";
2
+ export { defaultSurveyAssistantCapabilities, defaultSurveyAssistantCapabilitySet, getDefaultSurveyAssistantCapability };
@@ -0,0 +1,117 @@
1
+ import { z } from "zod";
2
+ //#region src/protocol/capabilities.d.ts
3
+ declare const assistantElementCreateModeSchema: z.ZodEnum<{
4
+ deterministic: "deterministic";
5
+ "interactive-only": "interactive-only";
6
+ unsupported: "unsupported";
7
+ }>;
8
+ declare const assistantElementAuthoringSchema: z.ZodObject<{
9
+ compactHint: z.ZodOptional<z.ZodString>;
10
+ configSummary: z.ZodOptional<z.ZodString>;
11
+ }, z.core.$strict>;
12
+ declare const assistantElementTypeManifestSchema: z.ZodObject<{
13
+ elementType: z.ZodString;
14
+ capabilityVersion: z.ZodString;
15
+ displayName: z.ZodString;
16
+ description: z.ZodOptional<z.ZodString>;
17
+ create: z.ZodEnum<{
18
+ deterministic: "deterministic";
19
+ "interactive-only": "interactive-only";
20
+ unsupported: "unsupported";
21
+ }>;
22
+ supportedOperations: z.ZodArray<z.ZodEnum<{
23
+ "create-item": "create-item";
24
+ "insert-element": "insert-element";
25
+ "insert-preset": "insert-preset";
26
+ "insert-blocks": "insert-blocks";
27
+ "update-content": "update-content";
28
+ "patch-element-config": "patch-element-config";
29
+ "patch-item-config": "patch-item-config";
30
+ "update-item-label": "update-item-label";
31
+ "update-item-color": "update-item-color";
32
+ "remove-item": "remove-item";
33
+ "move-item": "move-item";
34
+ "reorder-items": "reorder-items";
35
+ "move-element": "move-element";
36
+ "move-block": "move-block";
37
+ "remove-content": "remove-content";
38
+ "update-layout": "update-layout";
39
+ "update-placed-image": "update-placed-image";
40
+ "update-survey-metadata": "update-survey-metadata";
41
+ "update-survey-pagination": "update-survey-pagination";
42
+ "update-survey-translation": "update-survey-translation";
43
+ "add-survey-locale": "add-survey-locale";
44
+ "remove-survey-locale": "remove-survey-locale";
45
+ "set-image-asset": "set-image-asset";
46
+ "update-image-asset-metadata": "update-image-asset-metadata";
47
+ "remove-image-asset": "remove-image-asset";
48
+ "survey-json-patch": "survey-json-patch";
49
+ "update-response-settings": "update-response-settings";
50
+ }>>;
51
+ creationPresets: z.ZodOptional<z.ZodArray<z.ZodObject<{
52
+ id: z.ZodString;
53
+ }, z.core.$strict>>>;
54
+ referenceTopics: z.ZodOptional<z.ZodArray<z.ZodString>>;
55
+ authoring: z.ZodOptional<z.ZodObject<{
56
+ compactHint: z.ZodOptional<z.ZodString>;
57
+ configSummary: z.ZodOptional<z.ZodString>;
58
+ }, z.core.$strict>>;
59
+ }, z.core.$strict>;
60
+ declare const surveyAssistantCapabilityManifestSchema: z.ZodObject<{
61
+ digest: z.ZodString;
62
+ elementTypes: z.ZodArray<z.ZodObject<{
63
+ elementType: z.ZodString;
64
+ capabilityVersion: z.ZodString;
65
+ displayName: z.ZodString;
66
+ description: z.ZodOptional<z.ZodString>;
67
+ create: z.ZodEnum<{
68
+ deterministic: "deterministic";
69
+ "interactive-only": "interactive-only";
70
+ unsupported: "unsupported";
71
+ }>;
72
+ supportedOperations: z.ZodArray<z.ZodEnum<{
73
+ "create-item": "create-item";
74
+ "insert-element": "insert-element";
75
+ "insert-preset": "insert-preset";
76
+ "insert-blocks": "insert-blocks";
77
+ "update-content": "update-content";
78
+ "patch-element-config": "patch-element-config";
79
+ "patch-item-config": "patch-item-config";
80
+ "update-item-label": "update-item-label";
81
+ "update-item-color": "update-item-color";
82
+ "remove-item": "remove-item";
83
+ "move-item": "move-item";
84
+ "reorder-items": "reorder-items";
85
+ "move-element": "move-element";
86
+ "move-block": "move-block";
87
+ "remove-content": "remove-content";
88
+ "update-layout": "update-layout";
89
+ "update-placed-image": "update-placed-image";
90
+ "update-survey-metadata": "update-survey-metadata";
91
+ "update-survey-pagination": "update-survey-pagination";
92
+ "update-survey-translation": "update-survey-translation";
93
+ "add-survey-locale": "add-survey-locale";
94
+ "remove-survey-locale": "remove-survey-locale";
95
+ "set-image-asset": "set-image-asset";
96
+ "update-image-asset-metadata": "update-image-asset-metadata";
97
+ "remove-image-asset": "remove-image-asset";
98
+ "survey-json-patch": "survey-json-patch";
99
+ "update-response-settings": "update-response-settings";
100
+ }>>;
101
+ creationPresets: z.ZodOptional<z.ZodArray<z.ZodObject<{
102
+ id: z.ZodString;
103
+ }, z.core.$strict>>>;
104
+ referenceTopics: z.ZodOptional<z.ZodArray<z.ZodString>>;
105
+ authoring: z.ZodOptional<z.ZodObject<{
106
+ compactHint: z.ZodOptional<z.ZodString>;
107
+ configSummary: z.ZodOptional<z.ZodString>;
108
+ }, z.core.$strict>>;
109
+ }, z.core.$strict>>;
110
+ }, z.core.$strict>;
111
+ type AssistantElementCreateMode = z.infer<typeof assistantElementCreateModeSchema>;
112
+ type AssistantElementAuthoring = z.infer<typeof assistantElementAuthoringSchema>;
113
+ type AssistantElementTypeManifest = z.infer<typeof assistantElementTypeManifestSchema>;
114
+ type SurveyAssistantCapabilityManifest = z.infer<typeof surveyAssistantCapabilityManifestSchema>;
115
+ //#endregion
116
+ export { assistantElementAuthoringSchema as a, surveyAssistantCapabilityManifestSchema as c, SurveyAssistantCapabilityManifest as i, AssistantElementCreateMode as n, assistantElementCreateModeSchema as o, AssistantElementTypeManifest as r, assistantElementTypeManifestSchema as s, AssistantElementAuthoring as t };
117
+ //# sourceMappingURL=capabilities-z95e1mti.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities-z95e1mti.d.mts","names":[],"sources":["../src/protocol/capabilities.ts"],"mappings":";;cAGa,kCAAgC,EAAA;;;;;cAKhC,iCAA+B,EAAA;;;GAG1C,EAAA,KAAA;cAIW,oCAAkC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAU7C,EAAA,KAAA;cACW,yCAAuC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAGlD,EAAA,KAAA;KACU,6BAA6B,EAAE,aAAa;KAC5C,4BAA4B,EAAE,aAAa;KAE3C,+BAA+B,EAAE,aAAa;KAC9C,oCAAoC,EAAE,aACzC"}