@case-framework/survey-assistant 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/{authoring-references-DYuOAdVx.mjs → authoring-references-yyYC4Ydi.mjs} +9 -3
  2. package/dist/authoring-references-yyYC4Ydi.mjs.map +1 -0
  3. package/dist/{capabilities-DlC1l6qy.d.mts → capabilities-CnsVuJ1k.d.mts} +12 -4
  4. package/dist/capabilities-CnsVuJ1k.d.mts.map +1 -0
  5. package/dist/capabilities-default.d.mts +1 -1
  6. package/dist/capabilities-default.d.mts.map +1 -1
  7. package/dist/capabilities-default.mjs +38 -4
  8. package/dist/capabilities-default.mjs.map +1 -1
  9. package/dist/{constants-D-5m_KGB.d.mts → constants-DrGZXtQf.d.mts} +12 -7
  10. package/dist/constants-DrGZXtQf.d.mts.map +1 -0
  11. package/dist/{controller-proxy-0WJZUZYx.mjs → controller-proxy-CpkQRezb.mjs} +3 -2
  12. package/dist/controller-proxy-CpkQRezb.mjs.map +1 -0
  13. package/dist/{controller-proxy-Hkuub9dt.d.mts → controller-proxy-DmBdzqKs.d.mts} +5 -2
  14. package/dist/controller-proxy-DmBdzqKs.d.mts.map +1 -0
  15. package/dist/{digest-BvXpeWcR.d.mts → digest-Dyjch_sC.d.mts} +2 -2
  16. package/dist/{digest-BvXpeWcR.d.mts.map → digest-Dyjch_sC.d.mts.map} +1 -1
  17. package/dist/digest.d.mts +1 -1
  18. package/dist/{engine-0AJrv0hI.mjs → engine-CWTuN3o2.mjs} +866 -663
  19. package/dist/engine-CWTuN3o2.mjs.map +1 -0
  20. package/dist/engine.d.mts +3 -3
  21. package/dist/engine.mjs +3 -3
  22. package/dist/fair-guidance-CEdJYccK.mjs +21 -0
  23. package/dist/fair-guidance-CEdJYccK.mjs.map +1 -0
  24. package/dist/form-authoring-DCd9XfXf.mjs +155 -0
  25. package/dist/form-authoring-DCd9XfXf.mjs.map +1 -0
  26. package/dist/{index-JXH-t2EJ.d.mts → index-Bo4dHAo8.d.mts} +68 -6
  27. package/dist/index-Bo4dHAo8.d.mts.map +1 -0
  28. package/dist/{index-MEOL9_Gr.d.mts → index-D4OitUg4.d.mts} +5 -430
  29. package/dist/index-D4OitUg4.d.mts.map +1 -0
  30. package/dist/{index-BcyfBeDj.d.mts → index-DZk20e3k.d.mts} +44 -22
  31. package/dist/index-DZk20e3k.d.mts.map +1 -0
  32. package/dist/{index-CneD8ibB.d.mts → index-Dxgg0-D_.d.mts} +12 -3
  33. package/dist/index-Dxgg0-D_.d.mts.map +1 -0
  34. package/dist/lifecycle-DWv5CiSu.d.mts +523 -0
  35. package/dist/lifecycle-DWv5CiSu.d.mts.map +1 -0
  36. package/dist/{memory-thread-repository-1ocPOda8.mjs → memory-thread-repository-acbz6HZJ.mjs} +181 -26
  37. package/dist/memory-thread-repository-acbz6HZJ.mjs.map +1 -0
  38. package/dist/{protocol-DpCYmCjr.mjs → protocol-DATvkr1S.mjs} +125 -6
  39. package/dist/protocol-DATvkr1S.mjs.map +1 -0
  40. package/dist/protocol.d.mts +4 -3
  41. package/dist/protocol.mjs +2 -2
  42. package/dist/{react-DXK5zWNo.mjs → react-Br5YE8H-.mjs} +132 -12
  43. package/dist/react-Br5YE8H-.mjs.map +1 -0
  44. package/dist/react-integration.d.mts +1 -1
  45. package/dist/react-integration.mjs +1 -1
  46. package/dist/react.d.mts +2 -2
  47. package/dist/react.mjs +2 -2
  48. package/dist/references/assistant-operations.md +13 -18
  49. package/dist/references/embedded-forms.md +41 -2
  50. package/dist/references/expressions.md +17 -9
  51. package/dist/references/fair-by-design.md +80 -0
  52. package/dist/references/item-types.md +19 -3
  53. package/dist/references/localization.md +7 -4
  54. package/dist/references/source-material-surveys.md +6 -4
  55. package/dist/{request-context-BBzU3VdG.mjs → request-context-BEjnaaFr.mjs} +10 -5
  56. package/dist/request-context-BEjnaaFr.mjs.map +1 -0
  57. package/dist/server-agent.d.mts +44 -22
  58. package/dist/server-agent.d.mts.map +1 -1
  59. package/dist/server-agent.mjs +71 -14
  60. package/dist/server-agent.mjs.map +1 -1
  61. package/dist/server-runtime.d.mts +22 -11
  62. package/dist/server-runtime.d.mts.map +1 -1
  63. package/dist/server-runtime.mjs +47 -19
  64. package/dist/server-runtime.mjs.map +1 -1
  65. package/dist/server-tasks.d.mts +1 -1
  66. package/dist/server-tasks.mjs +6 -4
  67. package/dist/server-tasks.mjs.map +1 -1
  68. package/dist/server-tools.d.mts +1 -1
  69. package/dist/server-tools.mjs +1 -1
  70. package/dist/server.d.mts +16 -7
  71. package/dist/server.d.mts.map +1 -1
  72. package/dist/server.mjs +4 -4
  73. package/dist/storage-postgres.d.mts +1 -1
  74. package/dist/{tasks-DcfQNJwO.d.mts → tasks-DQgL449A.d.mts} +8 -4
  75. package/dist/tasks-DQgL449A.d.mts.map +1 -0
  76. package/dist/{thread-documents-BlxNjc7S.d.mts → thread-documents-Dvo6XS7o.d.mts} +1 -1
  77. package/dist/{thread-documents-BlxNjc7S.d.mts.map → thread-documents-Dvo6XS7o.d.mts.map} +1 -1
  78. package/dist/{thread-handlers-uddXwQjp.d.mts → thread-handlers-CeYl45xG.d.mts} +9 -4
  79. package/dist/thread-handlers-CeYl45xG.d.mts.map +1 -0
  80. package/dist/{tools-wgLen05n.mjs → tools-Dg9HZrYU.mjs} +404 -78
  81. package/dist/tools-Dg9HZrYU.mjs.map +1 -0
  82. package/dist/ui.css +2 -2
  83. package/dist/ui.d.mts +94 -10
  84. package/dist/ui.d.mts.map +1 -1
  85. package/dist/ui.mjs +343 -112
  86. package/dist/ui.mjs.map +1 -1
  87. package/docs/integration.md +74 -6
  88. package/package.json +25 -19
  89. package/dist/authoring-references-DYuOAdVx.mjs.map +0 -1
  90. package/dist/capabilities-DKbNCnBf.mjs +0 -66
  91. package/dist/capabilities-DKbNCnBf.mjs.map +0 -1
  92. package/dist/capabilities-DlC1l6qy.d.mts.map +0 -1
  93. package/dist/constants-D-5m_KGB.d.mts.map +0 -1
  94. package/dist/controller-proxy-0WJZUZYx.mjs.map +0 -1
  95. package/dist/controller-proxy-Hkuub9dt.d.mts.map +0 -1
  96. package/dist/engine-0AJrv0hI.mjs.map +0 -1
  97. package/dist/index-BcyfBeDj.d.mts.map +0 -1
  98. package/dist/index-CneD8ibB.d.mts.map +0 -1
  99. package/dist/index-JXH-t2EJ.d.mts.map +0 -1
  100. package/dist/index-MEOL9_Gr.d.mts.map +0 -1
  101. package/dist/memory-thread-repository-1ocPOda8.mjs.map +0 -1
  102. package/dist/protocol-DpCYmCjr.mjs.map +0 -1
  103. package/dist/react-DXK5zWNo.mjs.map +0 -1
  104. package/dist/request-context-BBzU3VdG.mjs.map +0 -1
  105. package/dist/tasks-DcfQNJwO.d.mts.map +0 -1
  106. package/dist/thread-handlers-uddXwQjp.d.mts.map +0 -1
  107. package/dist/tools-wgLen05n.mjs.map +0 -1
package/dist/engine.d.mts CHANGED
@@ -1,3 +1,3 @@
1
- import { n as hashString, r as stableStringify, t as buildCapabilityDigest } from "./digest-BvXpeWcR.mjs";
2
- import { $ as normalizeText, A as SurveyOutlineNode, At as AssistantItemCreationResolution, B as formFieldDetailsSchema, Bt as resolveAssistantItemCreation, C as FormFieldGroupDetails, Ct as SurveyAssistantInspectionKeyEntry, D as SurveyFocusItemNode, Dt as deriveResponseSlotTypes, E as MAX_LIMIT, Et as createSurveyAssistantEngineContext, F as buildItemTranslationEntries, Ft as createSurveyAssistantCapabilities, G as getRawSurvey, H as formFieldGroupLayoutSchema, I as buildSurveyTranslations, It as createUnsupportedItemCapability, J as itemMatchesQuery, K as getRawSurveyItems, L as choiceOptionDetailsSchema, Lt as getDeterministicCreateItemTypes, M as buildConfigSearchText, Mt as SurveyAssistantCapabilityMismatchError, N as buildEmbeddedFormDetails, Nt as SurveyAssistantCapabilitySet, O as SurveyInspectionIndex, Ot as AssistantCapabilityReference, P as buildItemConfigDetails, Pt as assertSurveyAssistantCapabilities, Q as mapRawItemsById, R as clampLimit, Rt as inspectAssistantItem, S as FormFieldDetails, St as SurveyAssistantInspectionItemNode, T as ItemSummary, Tt as SurveyAssistantResponseSlotTypes, U as formSelectOptionDetailsSchema, V as formFieldGroupDetailsSchema, W as getKeyIndexEntries, X as mapKeyIndexById, Y as itemSummarySchema, Z as mapOutlineById, _ as createSurveyChangeSet, _t as validateExpression, a as SurveyQualityReviewPrinciple, at as summarizeKeyIndexEntries, b as ChoiceOptionDetails, bt as SurveyAssistantInspectionFocus, c as SurveyAssistantTaskResultCacheOptions, ct as summarizeRawItem, d as buildSurveyAssistantTaskContext, dt as ExpressionMutation, et as parseCursor, f as TurnSurveyDraft, ft as buildExpressionMutationPatches, g as buildSurveyDocumentVersion, gt as inferExpressionReturnType, h as applyValidatedSurveyOperationsToDraft, ht as ResponseSlotTypeLookup, i as SurveyAuditSeverity, it as summarizeItemById, j as TranslationEntry, jt as AssistantItemInspection, k as SurveyKeyIndexEntry, kt as AssistantItemCapabilityAdapter, l as BuildSurveyAssistantTaskContextOptions, lt as translationEntrySchema, m as MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT, mt as expressionSchema, n as SurveyAuditFinding, nt as sliceWithCursor, o as auditSurvey, ot as summarizeKeyIndexEntry, p as MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL, pt as expressionMutationSchema, q as itemConfigDetailsSchema, r as SurveyAuditReport, rt as summarizeFocusItemNode, s as SurveyAssistantTaskResultCache, st as summarizeOutlineNode, t as SurveyAuditCategory, tt as resolveItemSummary, u as SurveyAssistantTaskPurpose, ut as unique, v as validateSurveyOperations, vt as CreateSurveyAssistantEngineContextOptions, w as ItemConfigDetails, wt as SurveyAssistantInspectionOutlineNode, x as DEFAULT_LIMIT, xt as SurveyAssistantInspectionIndex, y as normalizeSurveyChangeOperations, yt as SurveyAssistantEngineContext, z as findDirectChildrenByFullKey, zt as resolveAssistantCapabilityReference } from "./index-JXH-t2EJ.mjs";
3
- export { AssistantCapabilityReference, AssistantItemCapabilityAdapter, AssistantItemCreationResolution, AssistantItemInspection, BuildSurveyAssistantTaskContextOptions, ChoiceOptionDetails, CreateSurveyAssistantEngineContextOptions, DEFAULT_LIMIT, ExpressionMutation, FormFieldDetails, FormFieldGroupDetails, ItemConfigDetails, ItemSummary, MAX_LIMIT, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT, ResponseSlotTypeLookup, SurveyAssistantCapabilityMismatchError, SurveyAssistantCapabilitySet, SurveyAssistantEngineContext, SurveyAssistantInspectionFocus, SurveyAssistantInspectionIndex, SurveyAssistantInspectionItemNode, SurveyAssistantInspectionKeyEntry, SurveyAssistantInspectionOutlineNode, SurveyAssistantResponseSlotTypes, SurveyAssistantTaskPurpose, SurveyAssistantTaskResultCache, SurveyAssistantTaskResultCacheOptions, SurveyAuditCategory, SurveyAuditFinding, SurveyAuditReport, SurveyAuditSeverity, SurveyFocusItemNode, SurveyInspectionIndex, SurveyKeyIndexEntry, SurveyOutlineNode, SurveyQualityReviewPrinciple, TranslationEntry, TurnSurveyDraft, applyValidatedSurveyOperationsToDraft, assertSurveyAssistantCapabilities, auditSurvey, buildCapabilityDigest, buildConfigSearchText, buildEmbeddedFormDetails, buildExpressionMutationPatches, buildItemConfigDetails, buildItemTranslationEntries, buildSurveyAssistantTaskContext, buildSurveyDocumentVersion, buildSurveyTranslations, choiceOptionDetailsSchema, clampLimit, createSurveyAssistantCapabilities, createSurveyAssistantEngineContext, createSurveyChangeSet, createUnsupportedItemCapability, deriveResponseSlotTypes, expressionMutationSchema, expressionSchema, findDirectChildrenByFullKey, formFieldDetailsSchema, formFieldGroupDetailsSchema, formFieldGroupLayoutSchema, formSelectOptionDetailsSchema, getDeterministicCreateItemTypes, getKeyIndexEntries, getRawSurvey, getRawSurveyItems, hashString, inferExpressionReturnType, inspectAssistantItem, itemConfigDetailsSchema, itemMatchesQuery, itemSummarySchema, mapKeyIndexById, mapOutlineById, mapRawItemsById, normalizeSurveyChangeOperations, normalizeText, parseCursor, resolveAssistantCapabilityReference, resolveAssistantItemCreation, resolveItemSummary, sliceWithCursor, stableStringify, summarizeFocusItemNode, summarizeItemById, summarizeKeyIndexEntries, summarizeKeyIndexEntry, summarizeOutlineNode, summarizeRawItem, translationEntrySchema, unique, validateExpression, validateSurveyOperations };
1
+ import { n as hashString, r as stableStringify, t as buildCapabilityDigest } from "./digest-Dyjch_sC.mjs";
2
+ import { $ as getRawSurveyItems, A as FormFieldGroupDetails, At as SurveyAssistantInspectionKeyEntry, B as buildEmbeddedFormDetails, Bt as SurveyAssistantCapabilitySet, C as buildSurveyDocumentVersion, Ct as inferExpressionReturnType, D as ChoiceOptionDetails, Dt as SurveyAssistantInspectionFocus, E as normalizeSurveyChangeOperations, Et as SurveyAssistantEngineContext, F as SurveyInspectionIndex, Ft as AssistantCapabilityReference, G as clampLimit, Gt as inspectAssistantItem, H as buildItemTranslationEntries, Ht as createSurveyAssistantCapabilities, I as SurveyKeyIndexEntry, It as AssistantItemCapabilityAdapter, J as formFieldGroupDetailsSchema, K as findDirectChildrenByFullKey, Kt as resolveAssistantCapabilityReference, L as SurveyOutlineNode, Lt as AssistantItemCreationResolution, M as ItemSummary, Mt as SurveyAssistantResponseSlotTypes, N as MAX_LIMIT, Nt as createSurveyAssistantEngineContext, O as DEFAULT_LIMIT, Ot as SurveyAssistantInspectionIndex, P as SurveyFocusItemNode, Pt as deriveResponseSlotTypes, Q as getRawSurvey, R as TranslationEntry, Rt as AssistantItemInspection, S as applyValidatedSurveyOperationsToDraft, St as ResponseSlotTypeLookup, T as validateSurveyOperations, Tt as CreateSurveyAssistantEngineContextOptions, U as buildSurveyTranslations, Ut as createUnsupportedItemCapability, V as buildItemConfigDetails, Vt as assertSurveyAssistantCapabilities, W as choiceOptionDetailsSchema, Wt as getDeterministicCreateItemTypes, X as formSelectOptionDetailsSchema, Y as formFieldGroupLayoutSchema, Z as getKeyIndexEntries, _ as SurveyAssistantTaskPurpose, _t as unique, a as SurveyQualityReviewPrinciple, at as mapRawItemsById, b as MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL, bt as expressionMutationSchema, c as getFormAuthoringMode, ct as resolveItemSummary, d as isValidSimpleFormConfig, dt as summarizeItemById, et as itemConfigDetailsSchema, f as normalizeFormAuthoringConfig, ft as summarizeKeyIndexEntries, g as BuildSurveyAssistantTaskContextOptions, gt as translationEntrySchema, h as SurveyAssistantTaskResultCacheOptions, ht as summarizeRawItem, i as SurveyAuditSeverity, it as mapOutlineById, j as ItemConfigDetails, jt as SurveyAssistantInspectionOutlineNode, k as FormFieldDetails, kt as SurveyAssistantInspectionItemNode, l as hasSingleFormField, lt as sliceWithCursor, m as SurveyAssistantTaskResultCache, mt as summarizeOutlineNode, n as SurveyAuditFinding, nt as itemSummarySchema, o as auditSurvey, ot as normalizeText, p as transitionFormAuthoringMode, pt as summarizeKeyIndexEntry, q as formFieldDetailsSchema, qt as resolveAssistantItemCreation, r as SurveyAuditReport, rt as mapKeyIndexById, s as FormAuthoringMode, st as parseCursor, t as SurveyAuditCategory, tt as itemMatchesQuery, u as isCompatibleSimpleFieldUpsert, ut as summarizeFocusItemNode, v as buildSurveyAssistantTaskContext, vt as ExpressionMutation, w as createSurveyChangeSet, wt as validateExpression, x as MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT, xt as expressionSchema, y as TurnSurveyDraft, yt as buildExpressionMutationPatches, z as buildConfigSearchText, zt as SurveyAssistantCapabilityMismatchError } from "./index-Bo4dHAo8.mjs";
3
+ export { AssistantCapabilityReference, AssistantItemCapabilityAdapter, AssistantItemCreationResolution, AssistantItemInspection, BuildSurveyAssistantTaskContextOptions, ChoiceOptionDetails, CreateSurveyAssistantEngineContextOptions, DEFAULT_LIMIT, ExpressionMutation, FormAuthoringMode, FormFieldDetails, FormFieldGroupDetails, ItemConfigDetails, ItemSummary, MAX_LIMIT, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT, ResponseSlotTypeLookup, SurveyAssistantCapabilityMismatchError, SurveyAssistantCapabilitySet, SurveyAssistantEngineContext, SurveyAssistantInspectionFocus, SurveyAssistantInspectionIndex, SurveyAssistantInspectionItemNode, SurveyAssistantInspectionKeyEntry, SurveyAssistantInspectionOutlineNode, SurveyAssistantResponseSlotTypes, SurveyAssistantTaskPurpose, SurveyAssistantTaskResultCache, SurveyAssistantTaskResultCacheOptions, SurveyAuditCategory, SurveyAuditFinding, SurveyAuditReport, SurveyAuditSeverity, SurveyFocusItemNode, SurveyInspectionIndex, SurveyKeyIndexEntry, SurveyOutlineNode, SurveyQualityReviewPrinciple, TranslationEntry, TurnSurveyDraft, applyValidatedSurveyOperationsToDraft, assertSurveyAssistantCapabilities, auditSurvey, buildCapabilityDigest, buildConfigSearchText, buildEmbeddedFormDetails, buildExpressionMutationPatches, buildItemConfigDetails, buildItemTranslationEntries, buildSurveyAssistantTaskContext, buildSurveyDocumentVersion, buildSurveyTranslations, choiceOptionDetailsSchema, clampLimit, createSurveyAssistantCapabilities, createSurveyAssistantEngineContext, createSurveyChangeSet, createUnsupportedItemCapability, deriveResponseSlotTypes, expressionMutationSchema, expressionSchema, findDirectChildrenByFullKey, formFieldDetailsSchema, formFieldGroupDetailsSchema, formFieldGroupLayoutSchema, formSelectOptionDetailsSchema, getDeterministicCreateItemTypes, getFormAuthoringMode, getKeyIndexEntries, getRawSurvey, getRawSurveyItems, hasSingleFormField, hashString, inferExpressionReturnType, inspectAssistantItem, isCompatibleSimpleFieldUpsert, isValidSimpleFormConfig, itemConfigDetailsSchema, itemMatchesQuery, itemSummarySchema, mapKeyIndexById, mapOutlineById, mapRawItemsById, normalizeFormAuthoringConfig, normalizeSurveyChangeOperations, normalizeText, parseCursor, resolveAssistantCapabilityReference, resolveAssistantItemCreation, resolveItemSummary, sliceWithCursor, stableStringify, summarizeFocusItemNode, summarizeItemById, summarizeKeyIndexEntries, summarizeKeyIndexEntry, summarizeOutlineNode, summarizeRawItem, transitionFormAuthoringMode, translationEntrySchema, unique, validateExpression, validateSurveyOperations };
package/dist/engine.mjs CHANGED
@@ -1,4 +1,4 @@
1
1
  import { buildCapabilityDigest, hashString, stableStringify } from "./digest.mjs";
2
- import { a as getDeterministicCreateItemTypes, c as resolveAssistantItemCreation, i as createUnsupportedItemCapability, n as assertSurveyAssistantCapabilities, o as inspectAssistantItem, r as createSurveyAssistantCapabilities, s as resolveAssistantCapabilityReference, t as SurveyAssistantCapabilityMismatchError } from "./capabilities-DKbNCnBf.mjs";
3
- import { $ as deriveResponseSlotTypes, A as getRawSurvey, B as resolveItemSummary, C as clampLimit, D as formFieldGroupLayoutSchema, E as formFieldGroupDetailsSchema, F as mapKeyIndexById, G as summarizeKeyIndexEntry, H as summarizeFocusItemNode, I as mapOutlineById, J as translationEntrySchema, K as summarizeOutlineNode, L as mapRawItemsById, M as itemConfigDetailsSchema, N as itemMatchesQuery, O as formSelectOptionDetailsSchema, P as itemSummarySchema, Q as createSurveyAssistantEngineContext, R as normalizeText, S as choiceOptionDetailsSchema, T as formFieldDetailsSchema, U as summarizeItemById, V as sliceWithCursor, W as summarizeKeyIndexEntries, X as inferExpressionReturnType, Y as unique, Z as validateExpression, _ as buildConfigSearchText, a as MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL, b as buildItemTranslationEntries, c as buildSurveyDocumentVersion, d as normalizeSurveyChangeOperations, f as buildExpressionMutationPatches, g as MAX_LIMIT, h as DEFAULT_LIMIT, i as TurnSurveyDraft, j as getRawSurveyItems, k as getKeyIndexEntries, l as createSurveyChangeSet, m as expressionSchema, n as SurveyAssistantTaskResultCache, o as MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT, p as expressionMutationSchema, q as summarizeRawItem, r as buildSurveyAssistantTaskContext, s as applyValidatedSurveyOperationsToDraft, t as auditSurvey, u as validateSurveyOperations, v as buildEmbeddedFormDetails, w as findDirectChildrenByFullKey, x as buildSurveyTranslations, y as buildItemConfigDetails, z as parseCursor } from "./engine-0AJrv0hI.mjs";
4
- export { DEFAULT_LIMIT, MAX_LIMIT, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT, SurveyAssistantCapabilityMismatchError, SurveyAssistantTaskResultCache, TurnSurveyDraft, applyValidatedSurveyOperationsToDraft, assertSurveyAssistantCapabilities, auditSurvey, buildCapabilityDigest, buildConfigSearchText, buildEmbeddedFormDetails, buildExpressionMutationPatches, buildItemConfigDetails, buildItemTranslationEntries, buildSurveyAssistantTaskContext, buildSurveyDocumentVersion, buildSurveyTranslations, choiceOptionDetailsSchema, clampLimit, createSurveyAssistantCapabilities, createSurveyAssistantEngineContext, createSurveyChangeSet, createUnsupportedItemCapability, deriveResponseSlotTypes, expressionMutationSchema, expressionSchema, findDirectChildrenByFullKey, formFieldDetailsSchema, formFieldGroupDetailsSchema, formFieldGroupLayoutSchema, formSelectOptionDetailsSchema, getDeterministicCreateItemTypes, getKeyIndexEntries, getRawSurvey, getRawSurveyItems, hashString, inferExpressionReturnType, inspectAssistantItem, itemConfigDetailsSchema, itemMatchesQuery, itemSummarySchema, mapKeyIndexById, mapOutlineById, mapRawItemsById, normalizeSurveyChangeOperations, normalizeText, parseCursor, resolveAssistantCapabilityReference, resolveAssistantItemCreation, resolveItemSummary, sliceWithCursor, stableStringify, summarizeFocusItemNode, summarizeItemById, summarizeKeyIndexEntries, summarizeKeyIndexEntry, summarizeOutlineNode, summarizeRawItem, translationEntrySchema, unique, validateExpression, validateSurveyOperations };
2
+ import { a as normalizeFormAuthoringConfig, c as assertSurveyAssistantCapabilities, d as getDeterministicCreateItemTypes, f as inspectAssistantItem, i as isValidSimpleFormConfig, l as createSurveyAssistantCapabilities, m as resolveAssistantItemCreation, n as hasSingleFormField, o as transitionFormAuthoringMode, p as resolveAssistantCapabilityReference, r as isCompatibleSimpleFieldUpsert, s as SurveyAssistantCapabilityMismatchError, t as getFormAuthoringMode, u as createUnsupportedItemCapability } from "./form-authoring-DCd9XfXf.mjs";
3
+ import { $ as deriveResponseSlotTypes, A as getRawSurvey, B as resolveItemSummary, C as clampLimit, D as formFieldGroupLayoutSchema, E as formFieldGroupDetailsSchema, F as mapKeyIndexById, G as summarizeKeyIndexEntry, H as summarizeFocusItemNode, I as mapOutlineById, J as translationEntrySchema, K as summarizeOutlineNode, L as mapRawItemsById, M as itemConfigDetailsSchema, N as itemMatchesQuery, O as formSelectOptionDetailsSchema, P as itemSummarySchema, Q as createSurveyAssistantEngineContext, R as normalizeText, S as choiceOptionDetailsSchema, T as formFieldDetailsSchema, U as summarizeItemById, V as sliceWithCursor, W as summarizeKeyIndexEntries, X as inferExpressionReturnType, Y as unique, Z as validateExpression, _ as buildConfigSearchText, a as MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL, b as buildItemTranslationEntries, c as buildSurveyDocumentVersion, d as normalizeSurveyChangeOperations, f as buildExpressionMutationPatches, g as MAX_LIMIT, h as DEFAULT_LIMIT, i as auditSurvey, j as getRawSurveyItems, k as getKeyIndexEntries, l as createSurveyChangeSet, m as expressionSchema, n as buildSurveyAssistantTaskContext, o as MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT, p as expressionMutationSchema, q as summarizeRawItem, r as TurnSurveyDraft, s as applyValidatedSurveyOperationsToDraft, t as SurveyAssistantTaskResultCache, u as validateSurveyOperations, v as buildEmbeddedFormDetails, w as findDirectChildrenByFullKey, x as buildSurveyTranslations, y as buildItemConfigDetails, z as parseCursor } from "./engine-CWTuN3o2.mjs";
4
+ export { DEFAULT_LIMIT, MAX_LIMIT, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT, SurveyAssistantCapabilityMismatchError, SurveyAssistantTaskResultCache, TurnSurveyDraft, applyValidatedSurveyOperationsToDraft, assertSurveyAssistantCapabilities, auditSurvey, buildCapabilityDigest, buildConfigSearchText, buildEmbeddedFormDetails, buildExpressionMutationPatches, buildItemConfigDetails, buildItemTranslationEntries, buildSurveyAssistantTaskContext, buildSurveyDocumentVersion, buildSurveyTranslations, choiceOptionDetailsSchema, clampLimit, createSurveyAssistantCapabilities, createSurveyAssistantEngineContext, createSurveyChangeSet, createUnsupportedItemCapability, deriveResponseSlotTypes, expressionMutationSchema, expressionSchema, findDirectChildrenByFullKey, formFieldDetailsSchema, formFieldGroupDetailsSchema, formFieldGroupLayoutSchema, formSelectOptionDetailsSchema, getDeterministicCreateItemTypes, getFormAuthoringMode, getKeyIndexEntries, getRawSurvey, getRawSurveyItems, hasSingleFormField, hashString, inferExpressionReturnType, inspectAssistantItem, isCompatibleSimpleFieldUpsert, isValidSimpleFormConfig, itemConfigDetailsSchema, itemMatchesQuery, itemSummarySchema, mapKeyIndexById, mapOutlineById, mapRawItemsById, normalizeFormAuthoringConfig, normalizeSurveyChangeOperations, normalizeText, parseCursor, resolveAssistantCapabilityReference, resolveAssistantItemCreation, resolveItemSummary, sliceWithCursor, stableStringify, summarizeFocusItemNode, summarizeItemById, summarizeKeyIndexEntries, summarizeKeyIndexEntry, summarizeOutlineNode, summarizeRawItem, transitionFormAuthoringMode, translationEntrySchema, unique, validateExpression, validateSurveyOperations };
@@ -0,0 +1,21 @@
1
+ const FAIR_ITEM_KEY_RULES_TEXT = [
2
+ "start with a letter",
3
+ "use lowercase ASCII letters, digits, and underscores only",
4
+ "use lowercase snake_case",
5
+ "stay at or below 32 characters",
6
+ "avoid programming and database reserved words",
7
+ "prefer a stable, language-neutral English concept name",
8
+ "reuse the same concept name across waves and studies",
9
+ "use established instrument prefixes and sortable item numbers when applicable",
10
+ "distinguish raw variables from derived variables"
11
+ ].join("; ");
12
+ const FAIR_BY_DESIGN_REFERENCE_ROUTING_INSTRUCTION = [
13
+ "FAIR-by-design is optional task context, not a universal authoring rule.",
14
+ "Load the fair-by-design reference before advising or editing when the user mentions FAIR or born-FAIR data, interoperability, reuse, standardization, harmonization, cross-study or cross-wave comparability, codebooks or data export, stable identifiers or codes, missing-value semantics, metadata, provenance, versioning, standard instruments, controlled vocabularies, units, or standard country, language, and date codes.",
15
+ "It may also help when the user asks how survey data will remain machine-readable across languages or tools.",
16
+ "Do not load or impose it for ordinary wording, layout, ordering, or localization work unless one of those concerns is material."
17
+ ].join(" ");
18
+ //#endregion
19
+ export { FAIR_ITEM_KEY_RULES_TEXT as n, FAIR_BY_DESIGN_REFERENCE_ROUTING_INSTRUCTION as t };
20
+
21
+ //# sourceMappingURL=fair-guidance-CEdJYccK.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fair-guidance-CEdJYccK.mjs","names":[],"sources":["../src/server/fair-guidance.ts"],"sourcesContent":["const FAIR_ITEM_KEY_RULES = [\n \"start with a letter\",\n \"use lowercase ASCII letters, digits, and underscores only\",\n \"use lowercase snake_case\",\n \"stay at or below 32 characters\",\n \"avoid programming and database reserved words\",\n \"prefer a stable, language-neutral English concept name\",\n \"reuse the same concept name across waves and studies\",\n \"use established instrument prefixes and sortable item numbers when applicable\",\n \"distinguish raw variables from derived variables\",\n] as const;\n\nexport const FAIR_ITEM_KEY_RULES_TEXT = FAIR_ITEM_KEY_RULES.join(\"; \");\n\nexport const FAIR_BY_DESIGN_REFERENCE_ROUTING_INSTRUCTION = [\n \"FAIR-by-design is optional task context, not a universal authoring rule.\",\n \"Load the fair-by-design reference before advising or editing when the user mentions FAIR or born-FAIR data, interoperability, reuse, standardization, harmonization, cross-study or cross-wave comparability, codebooks or data export, stable identifiers or codes, missing-value semantics, metadata, provenance, versioning, standard instruments, controlled vocabularies, units, or standard country, language, and date codes.\",\n \"It may also help when the user asks how survey data will remain machine-readable across languages or tools.\",\n \"Do not load or impose it for ordinary wording, layout, ordering, or localization work unless one of those concerns is material.\",\n].join(\" \");\n"],"mappings":"AAYA,MAAa,2BAA2B;CAXtC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGsC,CAAoB,KAAK,KAAK;AAEtE,MAAa,+CAA+C;CAC1D;CACA;CACA;CACA;CACD,CAAC,KAAK,IAAI"}
@@ -0,0 +1,155 @@
1
+ import { q as assistantItemTypeManifestSchema } from "./protocol-DATvkr1S.mjs";
2
+ import { buildCapabilityDigest, stableStringify } from "./digest.mjs";
3
+ //#region src/engine/capabilities.ts
4
+ const resolveAssistantCapabilityReference = ({ capabilities, itemType, topic }) => capabilities?.byItemType.get(itemType)?.references?.find((reference) => reference.topic === topic);
5
+ const inspectAssistantItem = ({ capabilities, item }) => capabilities?.byItemType.get(item.itemType)?.inspectItem?.(item);
6
+ const createSurveyAssistantCapabilities = (capabilities) => {
7
+ const byItemType = /* @__PURE__ */ new Map();
8
+ const normalizedManifests = [];
9
+ for (const capability of capabilities) {
10
+ const manifest = assistantItemTypeManifestSchema.parse(capability.manifest);
11
+ const itemType = manifest.itemType;
12
+ if (byItemType.has(itemType)) throw new Error(`Duplicate survey assistant capability for item type "${itemType}".`);
13
+ if (manifest.create === "deterministic" && !manifest.supportedOperations.includes("create-item")) throw new Error(`Deterministically creatable item type "${itemType}" must support "create-item".`);
14
+ const declaredReferenceTopics = new Set(manifest.referenceTopics ?? []);
15
+ for (const reference of capability.references ?? []) if (!declaredReferenceTopics.has(reference.topic)) throw new Error(`Capability reference "${reference.topic}" for item type "${itemType}" is missing from manifest.referenceTopics.`);
16
+ byItemType.set(itemType, capability);
17
+ normalizedManifests.push(assistantItemTypeManifestSchema.parse(JSON.parse(JSON.stringify(manifest))));
18
+ }
19
+ const manifestWithoutDigest = { itemTypes: normalizedManifests.sort((left, right) => left.itemType.localeCompare(right.itemType)) };
20
+ return {
21
+ manifest: {
22
+ ...manifestWithoutDigest,
23
+ digest: buildCapabilityDigest(manifestWithoutDigest)
24
+ },
25
+ byItemType
26
+ };
27
+ };
28
+ const getDeterministicCreateItemTypes = (manifest) => manifest.itemTypes.filter((entry) => entry.create === "deterministic").map((entry) => entry.itemType);
29
+ const resolveAssistantItemCreation = ({ itemType, manifest, parentItemId }) => {
30
+ const capability = manifest.itemTypes.find((entry) => entry.itemType === itemType);
31
+ if (capability?.create === "deterministic") return { kind: "deterministic" };
32
+ if (capability?.create === "interactive-only") return {
33
+ kind: "ui-intent",
34
+ intent: {
35
+ kind: "open-create-item",
36
+ itemType,
37
+ parentItemId
38
+ }
39
+ };
40
+ return {
41
+ kind: "unsupported",
42
+ reason: capability ? `Item type "${itemType}" does not support assistant creation.` : `Item type "${itemType}" is not installed.`
43
+ };
44
+ };
45
+ const createUnsupportedItemCapability = ({ displayName, itemType }) => ({ manifest: {
46
+ itemType,
47
+ capabilityVersion: "unsupported-v1",
48
+ displayName,
49
+ create: "unsupported",
50
+ supportedOperations: [],
51
+ contentSurfaces: []
52
+ } });
53
+ var SurveyAssistantCapabilityMismatchError = class extends Error {
54
+ code = "survey-assistant-capability-mismatch";
55
+ constructor(message = "Survey assistant capabilities changed; start a fresh turn and retry.") {
56
+ super(message);
57
+ this.name = "SurveyAssistantCapabilityMismatchError";
58
+ }
59
+ };
60
+ const assertSurveyAssistantCapabilities = ({ manifest, trustedCapabilities, versionDigest }) => {
61
+ const { digest: claimedDigest, ...manifestWithoutDigest } = manifest;
62
+ if (claimedDigest !== buildCapabilityDigest(manifestWithoutDigest) || versionDigest !== claimedDigest) throw new SurveyAssistantCapabilityMismatchError();
63
+ if (trustedCapabilities) {
64
+ const withoutContextualPresets = ({ creationPresets: _creationPresets, ...capability }) => capability;
65
+ const claimedBaseCapabilities = manifest.itemTypes.map(withoutContextualPresets);
66
+ const trustedBaseCapabilities = trustedCapabilities.manifest.itemTypes.map(withoutContextualPresets);
67
+ if (stableStringify(claimedBaseCapabilities) !== stableStringify(trustedBaseCapabilities)) throw new SurveyAssistantCapabilityMismatchError("The editor and server use different survey assistant capabilities; refresh and retry.");
68
+ }
69
+ };
70
+ //#endregion
71
+ //#region src/engine/form-authoring.ts
72
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
73
+ const SIMPLE_FORM_FIELD_TYPES = new Set([
74
+ "input",
75
+ "textarea",
76
+ "number",
77
+ "slider",
78
+ "select",
79
+ "datepicker",
80
+ "switch"
81
+ ]);
82
+ const getFormAuthoringMode = (config) => isRecord(config) && config.authoringMode === "simple" ? "simple" : "custom";
83
+ const hasSingleFormField = (config) => {
84
+ if (!isRecord(config) || !Array.isArray(config.fieldGroups) || config.fieldGroups.length !== 1) return false;
85
+ const [group] = config.fieldGroups;
86
+ if (!isRecord(group) || !Array.isArray(group.fields) || group.fields.length !== 1) return false;
87
+ const layout = isRecord(group.layout) ? group.layout : void 0;
88
+ if (group.hasDisplayCondition === true || layout && [
89
+ "base",
90
+ "xs",
91
+ "sm",
92
+ "md",
93
+ "xl"
94
+ ].some((breakpoint) => layout[breakpoint] !== void 0 && layout[breakpoint] !== 1)) return false;
95
+ const [field] = group.fields;
96
+ return isRecord(field) && typeof field.id === "string" && field.id.length > 0 && typeof field.key === "string" && field.key.length > 0 && typeof field.type === "string" && SIMPLE_FORM_FIELD_TYPES.has(field.type) && isRecord(field.controller) && field.controller.type === field.type;
97
+ };
98
+ const isValidSimpleFormConfig = (config) => getFormAuthoringMode(config) !== "simple" || hasSingleFormField(config);
99
+ /**
100
+ * Canonicalizes the editor-facing mode without modifying groups, fields, or translations.
101
+ * Missing modes and malformed simple forms become custom; valid simple forms stay simple.
102
+ */
103
+ const normalizeFormAuthoringConfig = (config) => {
104
+ if (!isRecord(config)) return;
105
+ return {
106
+ ...config,
107
+ authoringMode: config.authoringMode === "simple" && hasSingleFormField(config) ? "simple" : "custom"
108
+ };
109
+ };
110
+ /**
111
+ * Returns true only for an in-place edit of the existing sole field that the
112
+ * simple editor can still represent. Adding, moving, retyping, or exposing
113
+ * hidden field configuration is structural and must promote the form.
114
+ */
115
+ const isCompatibleSimpleFieldUpsert = ({ config, field, groupId, index }) => {
116
+ if (getFormAuthoringMode(config) !== "simple" || !isRecord(config) || !Array.isArray(config.fieldGroups) || config.fieldGroups.length !== 1 || (index ?? 0) > 0) return false;
117
+ const [group] = config.fieldGroups;
118
+ if (!isRecord(group) || group.id !== groupId || !Array.isArray(group.fields)) return false;
119
+ const [existingField] = group.fields;
120
+ if (!isRecord(existingField) || group.fields.length !== 1) return false;
121
+ const controller = isRecord(field.controller) ? field.controller : void 0;
122
+ const validationsUnchanged = field.validations === void 0 || JSON.stringify(field.validations) === JSON.stringify(existingField.validations);
123
+ const simpleEditableKeys = new Set([
124
+ "id",
125
+ "key",
126
+ "type",
127
+ "controller",
128
+ "required",
129
+ "validations"
130
+ ]);
131
+ const hiddenConfigUnchanged = Object.keys(field).filter((key) => !simpleEditableKeys.has(key)).every((key) => JSON.stringify(field[key]) === JSON.stringify(existingField[key]));
132
+ return existingField.id === field.id && existingField.key === field.key && existingField.type === field.type && controller?.type === field.type && validationsUnchanged && hiddenConfigUnchanged;
133
+ };
134
+ /**
135
+ * Structural form operations are a one-way transition out of simple mode unless the caller has
136
+ * proved that the same sole field remains compatible with the simple editor.
137
+ */
138
+ const transitionFormAuthoringMode = ({ config, fieldGroups, preserveSimpleMode = false }) => {
139
+ const nextConfig = {
140
+ ...config,
141
+ fieldGroups
142
+ };
143
+ if (getFormAuthoringMode(config) !== "simple") return {
144
+ ...nextConfig,
145
+ authoringMode: "custom"
146
+ };
147
+ return {
148
+ ...nextConfig,
149
+ authoringMode: preserveSimpleMode && hasSingleFormField(nextConfig) ? "simple" : "custom"
150
+ };
151
+ };
152
+ //#endregion
153
+ export { normalizeFormAuthoringConfig as a, assertSurveyAssistantCapabilities as c, getDeterministicCreateItemTypes as d, inspectAssistantItem as f, isValidSimpleFormConfig as i, createSurveyAssistantCapabilities as l, resolveAssistantItemCreation as m, hasSingleFormField as n, transitionFormAuthoringMode as o, resolveAssistantCapabilityReference as p, isCompatibleSimpleFieldUpsert as r, SurveyAssistantCapabilityMismatchError as s, getFormAuthoringMode as t, createUnsupportedItemCapability as u };
154
+
155
+ //# sourceMappingURL=form-authoring-DCd9XfXf.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-authoring-DCd9XfXf.mjs","names":[],"sources":["../src/engine/capabilities.ts","../src/engine/form-authoring.ts"],"sourcesContent":["import type { RawSurveyItem, ValueType } from \"@case-framework/survey-core\";\nimport type {\n AssistantItemTypeManifest,\n JsonValue,\n SurveyAssistantCapabilityManifest,\n SurveyOperation,\n SurveyValidationIssue,\n} from \"../protocol\";\nimport { assistantItemTypeManifestSchema } from \"../protocol\";\nimport { buildCapabilityDigest, stableStringify } from \"../protocol/digest\";\n\nexport interface AssistantCapabilityReference {\n topic: string;\n title?: string;\n markdown: string;\n}\n\nexport interface AssistantItemInspection {\n summary: string;\n details?: JsonValue;\n}\n\nexport interface AssistantItemCapabilityAdapter {\n manifest: AssistantItemTypeManifest;\n references?: AssistantCapabilityReference[];\n normalizeCreate?: (item: RawSurveyItem) => RawSurveyItem;\n validateItem?: (item: RawSurveyItem) => SurveyValidationIssue[];\n supportsOperation?: (operation: SurveyOperation) => boolean;\n deriveResponseSlots?: (item: RawSurveyItem) => Record<string, ValueType>;\n inspectItem?: (item: RawSurveyItem) => AssistantItemInspection;\n}\n\nexport interface SurveyAssistantCapabilitySet {\n manifest: SurveyAssistantCapabilityManifest;\n byItemType: ReadonlyMap<string, AssistantItemCapabilityAdapter>;\n}\n\nexport const resolveAssistantCapabilityReference = ({\n capabilities,\n itemType,\n topic,\n}: {\n capabilities: SurveyAssistantCapabilitySet | undefined;\n itemType: string;\n topic: string;\n}): AssistantCapabilityReference | undefined =>\n capabilities?.byItemType\n .get(itemType)\n ?.references?.find((reference) => reference.topic === topic);\n\nexport const inspectAssistantItem = ({\n capabilities,\n item,\n}: {\n capabilities: SurveyAssistantCapabilitySet | undefined;\n item: RawSurveyItem;\n}): AssistantItemInspection | undefined =>\n capabilities?.byItemType.get(item.itemType)?.inspectItem?.(item);\n\nexport type AssistantItemCreationResolution =\n | { kind: \"deterministic\" }\n | {\n kind: \"ui-intent\";\n intent: { kind: \"open-create-item\"; itemType: string; parentItemId?: string };\n }\n | { kind: \"unsupported\"; reason: string };\n\nexport const createSurveyAssistantCapabilities = (\n capabilities: readonly AssistantItemCapabilityAdapter[],\n): SurveyAssistantCapabilitySet => {\n const byItemType = new Map<string, AssistantItemCapabilityAdapter>();\n const normalizedManifests: AssistantItemTypeManifest[] = [];\n\n for (const capability of capabilities) {\n const manifest = assistantItemTypeManifestSchema.parse(capability.manifest);\n const itemType = manifest.itemType;\n if (byItemType.has(itemType)) {\n throw new Error(`Duplicate survey assistant capability for item type \"${itemType}\".`);\n }\n if (\n manifest.create === \"deterministic\" &&\n !manifest.supportedOperations.includes(\"create-item\")\n ) {\n throw new Error(\n `Deterministically creatable item type \"${itemType}\" must support \"create-item\".`,\n );\n }\n const declaredReferenceTopics = new Set(manifest.referenceTopics ?? []);\n for (const reference of capability.references ?? []) {\n if (!declaredReferenceTopics.has(reference.topic)) {\n throw new Error(\n `Capability reference \"${reference.topic}\" for item type \"${itemType}\" is missing from manifest.referenceTopics.`,\n );\n }\n }\n byItemType.set(itemType, capability);\n normalizedManifests.push(\n assistantItemTypeManifestSchema.parse(JSON.parse(JSON.stringify(manifest))),\n );\n }\n\n const itemTypes = normalizedManifests.sort((left, right) =>\n left.itemType.localeCompare(right.itemType),\n );\n const manifestWithoutDigest = { itemTypes };\n\n return {\n manifest: {\n ...manifestWithoutDigest,\n digest: buildCapabilityDigest(manifestWithoutDigest),\n },\n byItemType,\n };\n};\n\nexport const getDeterministicCreateItemTypes = (\n manifest: SurveyAssistantCapabilityManifest,\n): string[] =>\n manifest.itemTypes\n .filter((entry) => entry.create === \"deterministic\")\n .map((entry) => entry.itemType);\n\nexport const resolveAssistantItemCreation = ({\n itemType,\n manifest,\n parentItemId,\n}: {\n itemType: string;\n manifest: SurveyAssistantCapabilityManifest;\n parentItemId?: string;\n}): AssistantItemCreationResolution => {\n const capability = manifest.itemTypes.find((entry) => entry.itemType === itemType);\n if (capability?.create === \"deterministic\") {\n return { kind: \"deterministic\" };\n }\n if (capability?.create === \"interactive-only\") {\n return {\n kind: \"ui-intent\",\n intent: { kind: \"open-create-item\", itemType, parentItemId },\n };\n }\n return {\n kind: \"unsupported\",\n reason: capability\n ? `Item type \"${itemType}\" does not support assistant creation.`\n : `Item type \"${itemType}\" is not installed.`,\n };\n};\n\nexport const createUnsupportedItemCapability = ({\n displayName,\n itemType,\n}: {\n displayName: string;\n itemType: string;\n}): AssistantItemCapabilityAdapter => ({\n manifest: {\n itemType,\n capabilityVersion: \"unsupported-v1\",\n displayName,\n create: \"unsupported\",\n supportedOperations: [],\n contentSurfaces: [],\n },\n});\n\nexport class SurveyAssistantCapabilityMismatchError extends Error {\n readonly code = \"survey-assistant-capability-mismatch\";\n\n constructor(message = \"Survey assistant capabilities changed; start a fresh turn and retry.\") {\n super(message);\n this.name = \"SurveyAssistantCapabilityMismatchError\";\n }\n}\n\nexport const assertSurveyAssistantCapabilities = ({\n manifest,\n trustedCapabilities,\n versionDigest,\n}: {\n manifest: SurveyAssistantCapabilityManifest;\n trustedCapabilities?: SurveyAssistantCapabilitySet;\n versionDigest: string;\n}): void => {\n const { digest: claimedDigest, ...manifestWithoutDigest } = manifest;\n const computedDigest = buildCapabilityDigest(manifestWithoutDigest);\n if (claimedDigest !== computedDigest || versionDigest !== claimedDigest) {\n throw new SurveyAssistantCapabilityMismatchError();\n }\n\n if (trustedCapabilities) {\n const withoutContextualPresets = ({\n creationPresets: _creationPresets,\n ...capability\n }: AssistantItemTypeManifest): Omit<AssistantItemTypeManifest, \"creationPresets\"> => capability;\n const claimedBaseCapabilities = manifest.itemTypes.map(withoutContextualPresets);\n const trustedBaseCapabilities =\n trustedCapabilities.manifest.itemTypes.map(withoutContextualPresets);\n\n // Creation presets are editor-registry context for the model. They do not\n // grant operations or install executable adapters, so the server validates\n // the stable capability contract while retaining its own trusted adapters.\n if (stableStringify(claimedBaseCapabilities) !== stableStringify(trustedBaseCapabilities)) {\n throw new SurveyAssistantCapabilityMismatchError(\n \"The editor and server use different survey assistant capabilities; refresh and retry.\",\n );\n }\n }\n};\n","export type FormAuthoringMode = \"simple\" | \"custom\";\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\nconst SIMPLE_FORM_FIELD_TYPES = new Set([\n \"input\",\n \"textarea\",\n \"number\",\n \"slider\",\n \"select\",\n \"datepicker\",\n \"switch\",\n]);\n\nexport const getFormAuthoringMode = (config: unknown): FormAuthoringMode =>\n isRecord(config) && config.authoringMode === \"simple\" ? \"simple\" : \"custom\";\n\nexport const hasSingleFormField = (config: unknown): boolean => {\n if (!isRecord(config) || !Array.isArray(config.fieldGroups) || config.fieldGroups.length !== 1) {\n return false;\n }\n\n const [group] = config.fieldGroups;\n if (!isRecord(group) || !Array.isArray(group.fields) || group.fields.length !== 1) {\n return false;\n }\n const layout = isRecord(group.layout) ? group.layout : undefined;\n if (\n group.hasDisplayCondition === true ||\n (layout &&\n [\"base\", \"xs\", \"sm\", \"md\", \"xl\"].some(\n (breakpoint) => layout[breakpoint] !== undefined && layout[breakpoint] !== 1,\n ))\n ) {\n return false;\n }\n\n const [field] = group.fields;\n return (\n isRecord(field) &&\n typeof field.id === \"string\" &&\n field.id.length > 0 &&\n typeof field.key === \"string\" &&\n field.key.length > 0 &&\n typeof field.type === \"string\" &&\n SIMPLE_FORM_FIELD_TYPES.has(field.type) &&\n isRecord(field.controller) &&\n field.controller.type === field.type\n );\n};\n\nexport const isValidSimpleFormConfig = (config: unknown): boolean =>\n getFormAuthoringMode(config) !== \"simple\" || hasSingleFormField(config);\n\n/**\n * Canonicalizes the editor-facing mode without modifying groups, fields, or translations.\n * Missing modes and malformed simple forms become custom; valid simple forms stay simple.\n */\nexport const normalizeFormAuthoringConfig = (\n config: unknown,\n): Record<string, unknown> | undefined => {\n if (!isRecord(config)) {\n return undefined;\n }\n\n return {\n ...config,\n authoringMode:\n config.authoringMode === \"simple\" && hasSingleFormField(config) ? \"simple\" : \"custom\",\n };\n};\n\n/**\n * Returns true only for an in-place edit of the existing sole field that the\n * simple editor can still represent. Adding, moving, retyping, or exposing\n * hidden field configuration is structural and must promote the form.\n */\nexport const isCompatibleSimpleFieldUpsert = ({\n config,\n field,\n groupId,\n index,\n}: {\n config: unknown;\n field: Record<string, unknown> & { id: string; key: string; type: string };\n groupId: string;\n index?: number;\n}): boolean => {\n if (\n getFormAuthoringMode(config) !== \"simple\" ||\n !isRecord(config) ||\n !Array.isArray(config.fieldGroups) ||\n config.fieldGroups.length !== 1 ||\n (index ?? 0) > 0\n ) {\n return false;\n }\n\n const [group] = config.fieldGroups;\n if (!isRecord(group) || group.id !== groupId || !Array.isArray(group.fields)) {\n return false;\n }\n const [existingField] = group.fields;\n if (!isRecord(existingField) || group.fields.length !== 1) {\n return false;\n }\n\n const controller = isRecord(field.controller) ? field.controller : undefined;\n const validationsUnchanged =\n field.validations === undefined ||\n JSON.stringify(field.validations) === JSON.stringify(existingField.validations);\n const simpleEditableKeys = new Set([\n \"id\",\n \"key\",\n \"type\",\n \"controller\",\n \"required\",\n \"validations\",\n ]);\n const hiddenConfigUnchanged = Object.keys(field)\n .filter((key) => !simpleEditableKeys.has(key))\n .every((key) => JSON.stringify(field[key]) === JSON.stringify(existingField[key]));\n\n return (\n existingField.id === field.id &&\n existingField.key === field.key &&\n existingField.type === field.type &&\n controller?.type === field.type &&\n validationsUnchanged &&\n hiddenConfigUnchanged\n );\n};\n\n/**\n * Structural form operations are a one-way transition out of simple mode unless the caller has\n * proved that the same sole field remains compatible with the simple editor.\n */\nexport const transitionFormAuthoringMode = ({\n config,\n fieldGroups,\n preserveSimpleMode = false,\n}: {\n config: Record<string, unknown>;\n fieldGroups: Record<string, unknown>[];\n preserveSimpleMode?: boolean;\n}): Record<string, unknown> => {\n const nextConfig = { ...config, fieldGroups };\n if (getFormAuthoringMode(config) !== \"simple\") {\n return { ...nextConfig, authoringMode: \"custom\" };\n }\n\n return {\n ...nextConfig,\n authoringMode: preserveSimpleMode && hasSingleFormField(nextConfig) ? \"simple\" : \"custom\",\n };\n};\n"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { i as AssistantItemTypeManifest, o as SurveyAssistantCapabilityManifest } from "./capabilities-DlC1l6qy.mjs";
2
- import { Ct as SurveyValidationResult, P as SurveyAssistantTaskContext, St as SurveyValidationIssue, bt as SurveyOperation, d as SurveyAssistantTurnFinal, dn as SurveyDocumentVersion, p as SurveyChangeSet, un as SurveyDocumentSnapshot, xn as JsonValue$1 } from "./index-MEOL9_Gr.mjs";
1
+ import { i as AssistantItemTypeManifest, o as SurveyAssistantCapabilityManifest } from "./capabilities-CnsVuJ1k.mjs";
2
+ import { p as SurveyAssistantTaskContext } from "./index-D4OitUg4.mjs";
3
+ import { Ct as SurveyDocumentSnapshot, F as SurveyValidationIssue, I as SurveyValidationResult, N as SurveyOperation, Pt as JsonValue$1, f as SurveyAssistantTurnFinal, h as SurveyChangeSet, wt as SurveyDocumentVersion } from "./lifecycle-DWv5CiSu.mjs";
3
4
  import { z } from "zod";
4
5
  import { JsonExpression, JsonPatchOperation, RawSurvey, RawSurveyItem, ResponseValue, SurveyTranslations, ValueType } from "@case-framework/survey-core";
5
6
 
@@ -275,8 +276,8 @@ declare const expressionMutationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
275
276
  number: "number";
276
277
  boolean: "boolean";
277
278
  date: "date";
278
- duration: "duration";
279
279
  reference: "reference";
280
+ duration: "duration";
280
281
  "string[]": "string[]";
281
282
  "duration[]": "duration[]";
282
283
  "reference[]": "reference[]";
@@ -337,6 +338,11 @@ declare const choiceOptionDetailsSchema: z.ZodObject<{
337
338
  hasDisplayCondition: z.ZodOptional<z.ZodBoolean>;
338
339
  embeddedFormItemId: z.ZodOptional<z.ZodString>;
339
340
  embeddedFormFieldGroupCount: z.ZodOptional<z.ZodNumber>;
341
+ embeddedFormAuthoringMode: z.ZodOptional<z.ZodEnum<{
342
+ custom: "custom";
343
+ simple: "simple";
344
+ }>>;
345
+ embeddedFormSimpleModeValid: z.ZodOptional<z.ZodBoolean>;
340
346
  embeddedFormTranslationPrefix: z.ZodOptional<z.ZodString>;
341
347
  embeddedFormResponseSlotPrefix: z.ZodOptional<z.ZodString>;
342
348
  }, z.core.$strip>;
@@ -423,6 +429,11 @@ declare const itemConfigDetailsSchema: z.ZodObject<{
423
429
  generic: "generic";
424
430
  }>;
425
431
  summary: z.ZodArray<z.ZodString>;
432
+ authoringMode: z.ZodOptional<z.ZodEnum<{
433
+ custom: "custom";
434
+ simple: "simple";
435
+ }>>;
436
+ simpleModeValid: z.ZodOptional<z.ZodBoolean>;
426
437
  mainResponseSlotId: z.ZodOptional<z.ZodString>;
427
438
  choiceOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
428
439
  position: z.ZodNumber;
@@ -432,6 +443,11 @@ declare const itemConfigDetailsSchema: z.ZodObject<{
432
443
  hasDisplayCondition: z.ZodOptional<z.ZodBoolean>;
433
444
  embeddedFormItemId: z.ZodOptional<z.ZodString>;
434
445
  embeddedFormFieldGroupCount: z.ZodOptional<z.ZodNumber>;
446
+ embeddedFormAuthoringMode: z.ZodOptional<z.ZodEnum<{
447
+ custom: "custom";
448
+ simple: "simple";
449
+ }>>;
450
+ embeddedFormSimpleModeValid: z.ZodOptional<z.ZodBoolean>;
435
451
  embeddedFormTranslationPrefix: z.ZodOptional<z.ZodString>;
436
452
  embeddedFormResponseSlotPrefix: z.ZodOptional<z.ZodString>;
437
453
  }, z.core.$strip>>>;
@@ -606,7 +622,7 @@ declare class TurnSurveyDraft {
606
622
  summary: string;
607
623
  }): SurveyChangeSet;
608
624
  reject(candidate: SurveyChangeSet, addressedTargets?: Iterable<string>): SurveyChangeSet;
609
- finalize(status: SurveyAssistantTurnFinal["status"], createdAt?: string): SurveyAssistantTurnFinal;
625
+ finalize(status: SurveyAssistantTurnFinal["status"], createdAt?: string, details?: Pick<SurveyAssistantTurnFinal, "durationMs" | "startedAt" | "terminationReason">): SurveyAssistantTurnFinal;
610
626
  getCandidate(changeSetId: string): SurveyChangeSet | undefined;
611
627
  get draftOperations(): readonly SurveyOperation[];
612
628
  get context(): SurveyAssistantEngineContext | undefined;
@@ -642,6 +658,50 @@ declare class SurveyAssistantTaskResultCache {
642
658
  clear(): void;
643
659
  }
644
660
  //#endregion
661
+ //#region src/engine/form-authoring.d.ts
662
+ type FormAuthoringMode = "simple" | "custom";
663
+ declare const getFormAuthoringMode: (config: unknown) => FormAuthoringMode;
664
+ declare const hasSingleFormField: (config: unknown) => boolean;
665
+ declare const isValidSimpleFormConfig: (config: unknown) => boolean;
666
+ /**
667
+ * Canonicalizes the editor-facing mode without modifying groups, fields, or translations.
668
+ * Missing modes and malformed simple forms become custom; valid simple forms stay simple.
669
+ */
670
+ declare const normalizeFormAuthoringConfig: (config: unknown) => Record<string, unknown> | undefined;
671
+ /**
672
+ * Returns true only for an in-place edit of the existing sole field that the
673
+ * simple editor can still represent. Adding, moving, retyping, or exposing
674
+ * hidden field configuration is structural and must promote the form.
675
+ */
676
+ declare const isCompatibleSimpleFieldUpsert: ({
677
+ config,
678
+ field,
679
+ groupId,
680
+ index
681
+ }: {
682
+ config: unknown;
683
+ field: Record<string, unknown> & {
684
+ id: string;
685
+ key: string;
686
+ type: string;
687
+ };
688
+ groupId: string;
689
+ index?: number;
690
+ }) => boolean;
691
+ /**
692
+ * Structural form operations are a one-way transition out of simple mode unless the caller has
693
+ * proved that the same sole field remains compatible with the simple editor.
694
+ */
695
+ declare const transitionFormAuthoringMode: ({
696
+ config,
697
+ fieldGroups,
698
+ preserveSimpleMode
699
+ }: {
700
+ config: Record<string, unknown>;
701
+ fieldGroups: Record<string, unknown>[];
702
+ preserveSimpleMode?: boolean;
703
+ }) => Record<string, unknown>;
704
+ //#endregion
645
705
  //#region src/engine/audit.d.ts
646
706
  type SurveyAuditSeverity = "error" | "warning" | "info";
647
707
  type SurveyAuditCategory = "structure" | "content" | "localization" | "logic" | "responses" | "assets" | "quality";
@@ -664,6 +724,8 @@ interface SurveyAuditReport {
664
724
  summary: Record<SurveyAuditSeverity, number> & {
665
725
  total: number;
666
726
  };
727
+ findingCount: number;
728
+ truncated: boolean;
667
729
  metrics: {
668
730
  itemCount: number;
669
731
  localeCount: number;
@@ -681,5 +743,5 @@ declare const auditSurvey: (context: SurveyAssistantEngineContext, options?: {
681
743
  maxFindings?: number;
682
744
  }) => SurveyAuditReport;
683
745
  //#endregion
684
- export { normalizeText as $, SurveyOutlineNode as A, AssistantItemCreationResolution as At, formFieldDetailsSchema as B, resolveAssistantItemCreation as Bt, FormFieldGroupDetails as C, SurveyAssistantInspectionKeyEntry as Ct, SurveyFocusItemNode as D, deriveResponseSlotTypes as Dt, MAX_LIMIT as E, createSurveyAssistantEngineContext as Et, buildItemTranslationEntries as F, createSurveyAssistantCapabilities as Ft, getRawSurvey as G, formFieldGroupLayoutSchema as H, buildSurveyTranslations as I, createUnsupportedItemCapability as It, itemMatchesQuery as J, getRawSurveyItems as K, choiceOptionDetailsSchema as L, getDeterministicCreateItemTypes as Lt, buildConfigSearchText as M, SurveyAssistantCapabilityMismatchError as Mt, buildEmbeddedFormDetails as N, SurveyAssistantCapabilitySet as Nt, SurveyInspectionIndex as O, AssistantCapabilityReference as Ot, buildItemConfigDetails as P, assertSurveyAssistantCapabilities as Pt, mapRawItemsById as Q, clampLimit as R, inspectAssistantItem as Rt, FormFieldDetails as S, SurveyAssistantInspectionItemNode as St, ItemSummary as T, SurveyAssistantResponseSlotTypes as Tt, formSelectOptionDetailsSchema as U, formFieldGroupDetailsSchema as V, getKeyIndexEntries as W, mapKeyIndexById as X, itemSummarySchema as Y, mapOutlineById as Z, createSurveyChangeSet as _, validateExpression as _t, SurveyQualityReviewPrinciple as a, summarizeKeyIndexEntries as at, ChoiceOptionDetails as b, SurveyAssistantInspectionFocus as bt, SurveyAssistantTaskResultCacheOptions as c, summarizeRawItem as ct, buildSurveyAssistantTaskContext as d, ExpressionMutation as dt, parseCursor as et, TurnSurveyDraft as f, buildExpressionMutationPatches as ft, buildSurveyDocumentVersion as g, inferExpressionReturnType as gt, applyValidatedSurveyOperationsToDraft as h, ResponseSlotTypeLookup as ht, SurveyAuditSeverity as i, summarizeItemById as it, TranslationEntry as j, AssistantItemInspection as jt, SurveyKeyIndexEntry as k, AssistantItemCapabilityAdapter as kt, BuildSurveyAssistantTaskContextOptions as l, translationEntrySchema as lt, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT as m, expressionSchema as mt, SurveyAuditFinding as n, sliceWithCursor as nt, auditSurvey as o, summarizeKeyIndexEntry as ot, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL as p, expressionMutationSchema as pt, itemConfigDetailsSchema as q, SurveyAuditReport as r, summarizeFocusItemNode as rt, SurveyAssistantTaskResultCache as s, summarizeOutlineNode as st, SurveyAuditCategory as t, resolveItemSummary as tt, SurveyAssistantTaskPurpose as u, unique as ut, validateSurveyOperations as v, CreateSurveyAssistantEngineContextOptions as vt, ItemConfigDetails as w, SurveyAssistantInspectionOutlineNode as wt, DEFAULT_LIMIT as x, SurveyAssistantInspectionIndex as xt, normalizeSurveyChangeOperations as y, SurveyAssistantEngineContext as yt, findDirectChildrenByFullKey as z, resolveAssistantCapabilityReference as zt };
685
- //# sourceMappingURL=index-JXH-t2EJ.d.mts.map
746
+ export { getRawSurveyItems as $, FormFieldGroupDetails as A, SurveyAssistantInspectionKeyEntry as At, buildEmbeddedFormDetails as B, SurveyAssistantCapabilitySet as Bt, buildSurveyDocumentVersion as C, inferExpressionReturnType as Ct, ChoiceOptionDetails as D, SurveyAssistantInspectionFocus as Dt, normalizeSurveyChangeOperations as E, SurveyAssistantEngineContext as Et, SurveyInspectionIndex as F, AssistantCapabilityReference as Ft, clampLimit as G, inspectAssistantItem as Gt, buildItemTranslationEntries as H, createSurveyAssistantCapabilities as Ht, SurveyKeyIndexEntry as I, AssistantItemCapabilityAdapter as It, formFieldGroupDetailsSchema as J, findDirectChildrenByFullKey as K, resolveAssistantCapabilityReference as Kt, SurveyOutlineNode as L, AssistantItemCreationResolution as Lt, ItemSummary as M, SurveyAssistantResponseSlotTypes as Mt, MAX_LIMIT as N, createSurveyAssistantEngineContext as Nt, DEFAULT_LIMIT as O, SurveyAssistantInspectionIndex as Ot, SurveyFocusItemNode as P, deriveResponseSlotTypes as Pt, getRawSurvey as Q, TranslationEntry as R, AssistantItemInspection as Rt, applyValidatedSurveyOperationsToDraft as S, ResponseSlotTypeLookup as St, validateSurveyOperations as T, CreateSurveyAssistantEngineContextOptions as Tt, buildSurveyTranslations as U, createUnsupportedItemCapability as Ut, buildItemConfigDetails as V, assertSurveyAssistantCapabilities as Vt, choiceOptionDetailsSchema as W, getDeterministicCreateItemTypes as Wt, formSelectOptionDetailsSchema as X, formFieldGroupLayoutSchema as Y, getKeyIndexEntries as Z, SurveyAssistantTaskPurpose as _, unique as _t, SurveyQualityReviewPrinciple as a, mapRawItemsById as at, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL as b, expressionMutationSchema as bt, getFormAuthoringMode as c, resolveItemSummary as ct, isValidSimpleFormConfig as d, summarizeItemById as dt, itemConfigDetailsSchema as et, normalizeFormAuthoringConfig as f, summarizeKeyIndexEntries as ft, BuildSurveyAssistantTaskContextOptions as g, translationEntrySchema as gt, SurveyAssistantTaskResultCacheOptions as h, summarizeRawItem as ht, SurveyAuditSeverity as i, mapOutlineById as it, ItemConfigDetails as j, SurveyAssistantInspectionOutlineNode as jt, FormFieldDetails as k, SurveyAssistantInspectionItemNode as kt, hasSingleFormField as l, sliceWithCursor as lt, SurveyAssistantTaskResultCache as m, summarizeOutlineNode as mt, SurveyAuditFinding as n, itemSummarySchema as nt, auditSurvey as o, normalizeText as ot, transitionFormAuthoringMode as p, summarizeKeyIndexEntry as pt, formFieldDetailsSchema as q, resolveAssistantItemCreation as qt, SurveyAuditReport as r, mapKeyIndexById as rt, FormAuthoringMode as s, parseCursor as st, SurveyAuditCategory as t, itemMatchesQuery as tt, isCompatibleSimpleFieldUpsert as u, summarizeFocusItemNode as ut, buildSurveyAssistantTaskContext as v, ExpressionMutation as vt, createSurveyChangeSet as w, validateExpression as wt, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT as x, expressionSchema as xt, TurnSurveyDraft as y, buildExpressionMutationPatches as yt, buildConfigSearchText as z, SurveyAssistantCapabilityMismatchError as zt };
747
+ //# sourceMappingURL=index-Bo4dHAo8.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Bo4dHAo8.d.mts","names":[],"sources":["../src/engine/capabilities.ts","../src/engine/context.ts","../src/engine/expression-validation.ts","../src/engine/expression-mutations.ts","../src/engine/inspection.ts","../src/engine/normalization.ts","../src/engine/operations.ts","../src/engine/turn-survey-draft.ts","../src/engine/task-context.ts","../src/engine/task-result-cache.ts","../src/engine/form-authoring.ts","../src/engine/audit.ts"],"mappings":"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"}