@case-framework/survey-assistant 0.3.0 → 0.5.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 (79) hide show
  1. package/README.md +20 -4
  2. package/dist/capabilities-default.d.mts +1 -1
  3. package/dist/capabilities-default.mjs +1 -1
  4. package/dist/{constants-DrGZXtQf.d.mts → constants-DbrJxxOh.d.mts} +5 -2
  5. package/dist/constants-DbrJxxOh.d.mts.map +1 -0
  6. package/dist/{controller-proxy-DmBdzqKs.d.mts → controller-proxy-BdKF2yrq.d.mts} +2 -2
  7. package/dist/{controller-proxy-DmBdzqKs.d.mts.map → controller-proxy-BdKF2yrq.d.mts.map} +1 -1
  8. package/dist/{controller-proxy-CpkQRezb.mjs → controller-proxy-jWIPOZAv.mjs} +17 -8
  9. package/dist/controller-proxy-jWIPOZAv.mjs.map +1 -0
  10. package/dist/{engine-CWTuN3o2.mjs → engine-DcSdLRle.mjs} +172 -12
  11. package/dist/engine-DcSdLRle.mjs.map +1 -0
  12. package/dist/engine.d.mts +2 -2
  13. package/dist/engine.mjs +3 -3
  14. package/dist/{form-authoring-DCd9XfXf.mjs → form-authoring-BQh40yDb.mjs} +2 -2
  15. package/dist/{form-authoring-DCd9XfXf.mjs.map → form-authoring-BQh40yDb.mjs.map} +1 -1
  16. package/dist/{index-D4OitUg4.d.mts → index-BApnIiCI.d.mts} +7 -4
  17. package/dist/index-BApnIiCI.d.mts.map +1 -0
  18. package/dist/{index-Bo4dHAo8.d.mts → index-Da_Hb9-1.d.mts} +28 -4
  19. package/dist/index-Da_Hb9-1.d.mts.map +1 -0
  20. package/dist/{index-DZk20e3k.d.mts → index-DhNQKOwr.d.mts} +9 -5
  21. package/dist/index-DhNQKOwr.d.mts.map +1 -0
  22. package/dist/{index-Dxgg0-D_.d.mts → index-dV6df0W3.d.mts} +11 -5
  23. package/dist/index-dV6df0W3.d.mts.map +1 -0
  24. package/dist/{memory-thread-repository-acbz6HZJ.mjs → memory-thread-repository-CvYZwni6.mjs} +87 -28
  25. package/dist/memory-thread-repository-CvYZwni6.mjs.map +1 -0
  26. package/dist/{protocol-DATvkr1S.mjs → protocol-DJUP4gc0.mjs} +10 -4
  27. package/dist/protocol-DJUP4gc0.mjs.map +1 -0
  28. package/dist/protocol.d.mts +1 -1
  29. package/dist/protocol.mjs +1 -1
  30. package/dist/{react-Br5YE8H-.mjs → react-CY6N7lVi.mjs} +25 -5
  31. package/dist/react-CY6N7lVi.mjs.map +1 -0
  32. package/dist/react-integration.d.mts +1 -1
  33. package/dist/react-integration.mjs +1 -1
  34. package/dist/react.d.mts +2 -2
  35. package/dist/react.mjs +2 -2
  36. package/dist/{request-context-BEjnaaFr.mjs → request-context-D1sC54ZA.mjs} +3 -3
  37. package/dist/request-context-D1sC54ZA.mjs.map +1 -0
  38. package/dist/server-agent.d.mts +8 -6
  39. package/dist/server-agent.d.mts.map +1 -1
  40. package/dist/server-agent.mjs +4 -3
  41. package/dist/server-agent.mjs.map +1 -1
  42. package/dist/server-runtime.d.mts +354 -7
  43. package/dist/server-runtime.d.mts.map +1 -1
  44. package/dist/server-runtime.mjs +361 -24
  45. package/dist/server-runtime.mjs.map +1 -1
  46. package/dist/server-tasks.d.mts +1 -1
  47. package/dist/server-tasks.mjs +5 -4
  48. package/dist/server-tasks.mjs.map +1 -1
  49. package/dist/server-tools.d.mts +1 -1
  50. package/dist/server-tools.mjs +1 -1
  51. package/dist/server.d.mts +7 -7
  52. package/dist/server.d.mts.map +1 -1
  53. package/dist/server.mjs +2 -2
  54. package/dist/storage-postgres.mjs +3 -0
  55. package/dist/storage-postgres.mjs.map +1 -1
  56. package/dist/{tasks-DQgL449A.d.mts → tasks-CCtxjhwh.d.mts} +3 -3
  57. package/dist/{tasks-DQgL449A.d.mts.map → tasks-CCtxjhwh.d.mts.map} +1 -1
  58. package/dist/{thread-handlers-CeYl45xG.d.mts → thread-handlers-Bt9cDo-F.d.mts} +21 -6
  59. package/dist/{thread-handlers-CeYl45xG.d.mts.map → thread-handlers-Bt9cDo-F.d.mts.map} +1 -1
  60. package/dist/{tools-Dg9HZrYU.mjs → tools-3tq-XqI0.mjs} +31 -6
  61. package/dist/{tools-Dg9HZrYU.mjs.map → tools-3tq-XqI0.mjs.map} +1 -1
  62. package/dist/ui.css +1 -1
  63. package/dist/ui.d.mts +3 -3
  64. package/dist/ui.d.mts.map +1 -1
  65. package/dist/ui.mjs +438 -140
  66. package/dist/ui.mjs.map +1 -1
  67. package/docs/integration.md +113 -58
  68. package/package.json +3 -3
  69. package/dist/constants-DrGZXtQf.d.mts.map +0 -1
  70. package/dist/controller-proxy-CpkQRezb.mjs.map +0 -1
  71. package/dist/engine-CWTuN3o2.mjs.map +0 -1
  72. package/dist/index-Bo4dHAo8.d.mts.map +0 -1
  73. package/dist/index-D4OitUg4.d.mts.map +0 -1
  74. package/dist/index-DZk20e3k.d.mts.map +0 -1
  75. package/dist/index-Dxgg0-D_.d.mts.map +0 -1
  76. package/dist/memory-thread-repository-acbz6HZJ.mjs.map +0 -1
  77. package/dist/protocol-DATvkr1S.mjs.map +0 -1
  78. package/dist/react-Br5YE8H-.mjs.map +0 -1
  79. package/dist/request-context-BEjnaaFr.mjs.map +0 -1
package/dist/engine.d.mts CHANGED
@@ -1,3 +1,3 @@
1
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 };
2
+ import { $ as getRawSurvey, A as FormFieldDetails, At as SurveyAssistantInspectionFocus, B as buildConfigSearchText, Bt as AssistantItemCreationResolution, C as applyValidatedSurveyOperationsToDraft, Ct as analyzeSurveyAssistantExpressionReferences, D as normalizeSurveyChangeOperations, Dt as validateExpression, E as validateSurveyOperations, Et as inferExpressionReturnType, F as SurveyFocusItemNode, Ft as SurveyAssistantResponseSlotTypes, G as choiceOptionDetailsSchema, Gt as createSurveyAssistantCapabilities, H as buildItemConfigDetails, Ht as SurveyAssistantCapabilityMismatchError, I as SurveyInspectionIndex, It as createSurveyAssistantEngineContext, J as formFieldDetailsSchema, Jt as inspectAssistantItem, K as clampLimit, Kt as createUnsupportedItemCapability, L as SurveyKeyIndexEntry, Lt as deriveResponseSlotTypes, M as ItemConfigDetails, Mt as SurveyAssistantInspectionItemNode, N as ItemSummary, Nt as SurveyAssistantInspectionKeyEntry, O as ChoiceOptionDetails, Ot as CreateSurveyAssistantEngineContextOptions, P as MAX_LIMIT, Pt as SurveyAssistantInspectionOutlineNode, Q as getKeyIndexEntries, R as SurveyOutlineNode, Rt as AssistantCapabilityReference, S as MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT, St as expressionSchema, T as createSurveyChangeSet, Tt as ResponseSlotTypeLookup, U as buildItemTranslationEntries, Ut as SurveyAssistantCapabilitySet, V as buildEmbeddedFormDetails, Vt as AssistantItemInspection, W as buildSurveyTranslations, Wt as assertSurveyAssistantCapabilities, X as formFieldGroupLayoutSchema, Xt as resolveAssistantItemCreation, Y as formFieldGroupDetailsSchema, Yt as resolveAssistantCapabilityReference, Z as formSelectOptionDetailsSchema, _ as BuildSurveyAssistantTaskContextOptions, _t as translationEntrySchema, a as SurveyAuditSeverity, at as mapOutlineById, b as TurnSurveyDraft, bt as buildExpressionMutationPatches, c as FormAuthoringMode, ct as parseCursor, d as isCompatibleSimpleFieldUpsert, dt as summarizeFocusItemNode, et as getRawSurveyItems, f as isValidSimpleFormConfig, ft as summarizeItemById, g as SurveyAssistantTaskResultCacheOptions, gt as summarizeRawItem, h as SurveyAssistantTaskResultCache, ht as summarizeOutlineNode, i as SurveyAuditReport, it as mapKeyIndexById, j as FormFieldGroupDetails, jt as SurveyAssistantInspectionIndex, k as DEFAULT_LIMIT, kt as SurveyAssistantEngineContext, l as getFormAuthoringMode, lt as resolveItemSummary, m as transitionFormAuthoringMode, mt as summarizeKeyIndexEntry, n as SurveyAuditFinding, nt as itemMatchesQuery, o as SurveyQualityReviewPrinciple, ot as mapRawItemsById, p as normalizeFormAuthoringConfig, pt as summarizeKeyIndexEntries, q as findDirectChildrenByFullKey, qt as getDeterministicCreateItemTypes, r as SurveyAuditKeyReviewEntry, rt as itemSummarySchema, s as auditSurvey, st as normalizeText, t as SurveyAuditCategory, tt as itemConfigDetailsSchema, u as hasSingleFormField, ut as sliceWithCursor, v as SurveyAssistantTaskPurpose, vt as unique, w as buildSurveyDocumentVersion, wt as deriveSurveyExpressionResponseSlots, x as MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL, xt as expressionMutationSchema, y as buildSurveyAssistantTaskContext, yt as ExpressionMutation, z as TranslationEntry, zt as AssistantItemCapabilityAdapter } from "./index-Da_Hb9-1.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, SurveyAuditKeyReviewEntry, SurveyAuditReport, SurveyAuditSeverity, SurveyFocusItemNode, SurveyInspectionIndex, SurveyKeyIndexEntry, SurveyOutlineNode, SurveyQualityReviewPrinciple, TranslationEntry, TurnSurveyDraft, analyzeSurveyAssistantExpressionReferences, applyValidatedSurveyOperationsToDraft, assertSurveyAssistantCapabilities, auditSurvey, buildCapabilityDigest, buildConfigSearchText, buildEmbeddedFormDetails, buildExpressionMutationPatches, buildItemConfigDetails, buildItemTranslationEntries, buildSurveyAssistantTaskContext, buildSurveyDocumentVersion, buildSurveyTranslations, choiceOptionDetailsSchema, clampLimit, createSurveyAssistantCapabilities, createSurveyAssistantEngineContext, createSurveyChangeSet, createUnsupportedItemCapability, deriveResponseSlotTypes, deriveSurveyExpressionResponseSlots, 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 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 };
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-BQh40yDb.mjs";
3
+ import { $ as validateExpression, 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 inferExpressionReturnType, R as normalizeText, S as choiceOptionDetailsSchema, T as formFieldDetailsSchema, U as summarizeItemById, V as sliceWithCursor, W as summarizeKeyIndexEntries, X as analyzeSurveyAssistantExpressionReferences, Y as unique, Z as deriveSurveyExpressionResponseSlots, _ as buildConfigSearchText, a as MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL, b as buildItemTranslationEntries, c as buildSurveyDocumentVersion, d as normalizeSurveyChangeOperations, et as createSurveyAssistantEngineContext, 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, tt as deriveResponseSlotTypes, u as validateSurveyOperations, v as buildEmbeddedFormDetails, w as findDirectChildrenByFullKey, x as buildSurveyTranslations, y as buildItemConfigDetails, z as parseCursor } from "./engine-DcSdLRle.mjs";
4
+ export { DEFAULT_LIMIT, MAX_LIMIT, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT, SurveyAssistantCapabilityMismatchError, SurveyAssistantTaskResultCache, TurnSurveyDraft, analyzeSurveyAssistantExpressionReferences, applyValidatedSurveyOperationsToDraft, assertSurveyAssistantCapabilities, auditSurvey, buildCapabilityDigest, buildConfigSearchText, buildEmbeddedFormDetails, buildExpressionMutationPatches, buildItemConfigDetails, buildItemTranslationEntries, buildSurveyAssistantTaskContext, buildSurveyDocumentVersion, buildSurveyTranslations, choiceOptionDetailsSchema, clampLimit, createSurveyAssistantCapabilities, createSurveyAssistantEngineContext, createSurveyChangeSet, createUnsupportedItemCapability, deriveResponseSlotTypes, deriveSurveyExpressionResponseSlots, 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 };
@@ -1,4 +1,4 @@
1
- import { q as assistantItemTypeManifestSchema } from "./protocol-DATvkr1S.mjs";
1
+ import { q as assistantItemTypeManifestSchema } from "./protocol-DJUP4gc0.mjs";
2
2
  import { buildCapabilityDigest, stableStringify } from "./digest.mjs";
3
3
  //#region src/engine/capabilities.ts
4
4
  const resolveAssistantCapabilityReference = ({ capabilities, itemType, topic }) => capabilities?.byItemType.get(itemType)?.references?.find((reference) => reference.topic === topic);
@@ -152,4 +152,4 @@ const transitionFormAuthoringMode = ({ config, fieldGroups, preserveSimpleMode =
152
152
  //#endregion
153
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
154
 
155
- //# sourceMappingURL=form-authoring-DCd9XfXf.mjs.map
155
+ //# sourceMappingURL=form-authoring-BQh40yDb.mjs.map
@@ -1 +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
+ {"version":3,"file":"form-authoring-BQh40yDb.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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"}
@@ -18,6 +18,7 @@ declare const surveyAssistantErrorInfoSchema: z.ZodObject<{
18
18
  rate_limited: "rate_limited";
19
19
  }>;
20
20
  detail: z.ZodOptional<z.ZodString>;
21
+ retryable: z.ZodOptional<z.ZodBoolean>;
21
22
  }, z.core.$strip>;
22
23
  type SurveyAssistantErrorInfo = z.infer<typeof surveyAssistantErrorInfoSchema>;
23
24
  declare const serializeSurveyAssistantError: (error: SurveyAssistantErrorInfo) => string;
@@ -42,6 +43,7 @@ declare const surveyAssistantThreadSchema: z.ZodObject<{
42
43
  updatedAt: z.ZodString;
43
44
  }, z.core.$strip>;
44
45
  declare const surveyAssistantThreadListSchema: z.ZodObject<{
46
+ nextCursor: z.ZodOptional<z.ZodString>;
45
47
  threads: z.ZodArray<z.ZodObject<{
46
48
  id: z.ZodString;
47
49
  title: z.ZodString;
@@ -54,6 +56,7 @@ declare const surveyAssistantThreadListSchema: z.ZodObject<{
54
56
  }, z.core.$strip>>;
55
57
  }, z.core.$strip>;
56
58
  declare const surveyAssistantThreadTranscriptSchema: z.ZodObject<{
59
+ nextCursor: z.ZodOptional<z.ZodString>;
57
60
  thread: z.ZodObject<{
58
61
  id: z.ZodString;
59
62
  title: z.ZodString;
@@ -94,8 +97,8 @@ declare const surveyAssistantSuggestedTextSchema: z.ZodObject<{
94
97
  }, z.core.$strip>;
95
98
  type SurveyAssistantSuggestedText = z.infer<typeof surveyAssistantSuggestedTextSchema>;
96
99
  declare const surveyAssistantKeySuggestionCategorySchema: z.ZodEnum<{
97
- compact: "compact";
98
100
  "survey-pattern": "survey-pattern";
101
+ compact: "compact";
99
102
  preferred: "preferred";
100
103
  fair: "fair";
101
104
  }>;
@@ -103,8 +106,8 @@ type SurveyAssistantKeySuggestionCategory = z.infer<typeof surveyAssistantKeySug
103
106
  declare const surveyAssistantKeySuggestionSchema: z.ZodObject<{
104
107
  text: z.ZodString;
105
108
  category: z.ZodEnum<{
106
- compact: "compact";
107
109
  "survey-pattern": "survey-pattern";
110
+ compact: "compact";
108
111
  preferred: "preferred";
109
112
  fair: "fair";
110
113
  }>;
@@ -123,8 +126,8 @@ declare const surveyAssistantSuggestItemKeyResultSchema: z.ZodObject<{
123
126
  suggestions: z.ZodArray<z.ZodObject<{
124
127
  text: z.ZodString;
125
128
  category: z.ZodEnum<{
126
- compact: "compact";
127
129
  "survey-pattern": "survey-pattern";
130
+ compact: "compact";
128
131
  preferred: "preferred";
129
132
  fair: "fair";
130
133
  }>;
@@ -735,4 +738,4 @@ type SurveyAssistantModelOption = z.infer<typeof surveyAssistantModelOptionSchem
735
738
  type SurveyAssistantModelCatalog = z.infer<typeof surveyAssistantModelCatalogSchema>;
736
739
  //#endregion
737
740
  export { surveyAssistantTaskRequestSchema as A, SurveyAssistantThreadTranscript as B, surveyAssistantSuggestItemKeyResultSchema as C, surveyAssistantTaskContextSchema as D, surveyAssistantSuggestedTextSchema as E, SURVEY_ASSISTANT_ATTACHMENT_PART_TYPE as F, surveyAssistantThreadTranscriptSchema as G, createSurveyAssistantThreadInputSchema as H, SurveyAssistantAttachmentReference as I, SurveyAssistantErrorInfo as J, updateSurveyAssistantThreadInputSchema as K, SurveyAssistantThread as L, surveyAssistantTranslateContentInputSchema as M, surveyAssistantTranslateContentResultSchema as N, surveyAssistantTaskInvocationModeSchema as O, CreateSurveyAssistantThreadInput as P, surveyAssistantErrorInfoSchema as Q, SurveyAssistantThreadList as R, surveyAssistantSuggestItemKeyInputSchema as S, surveyAssistantSuggestItemLabelResultSchema as T, surveyAssistantThreadListSchema as U, UpdateSurveyAssistantThreadInput as V, surveyAssistantThreadSchema as W, serializeSurveyAssistantError as X, parseSurveyAssistantError as Y, surveyAssistantErrorCodeSchema as Z, SurveyAssistantTranslateContentEntry as _, SurveyAssistantKeySuggestion as a, surveyAssistantKeySuggestionCategorySchema as b, SurveyAssistantSuggestItemKeyInput as c, SurveyAssistantSuggestItemLabelResult as d, SurveyAssistantSuggestedText as f, SurveyAssistantTaskRequest as g, SurveyAssistantTaskItemSummary as h, surveyAssistantModelOptionSchema as i, surveyAssistantTranslateContentEntrySchema as j, surveyAssistantTaskItemSummarySchema as k, SurveyAssistantSuggestItemKeyResult as l, SurveyAssistantTaskInvocationMode as m, SurveyAssistantModelOption as n, SurveyAssistantKeySuggestionCategory as o, SurveyAssistantTaskContext as p, SurveyAssistantErrorCode as q, surveyAssistantModelCatalogSchema as r, SurveyAssistantLabelSuggestion as s, SurveyAssistantModelCatalog as t, SurveyAssistantSuggestItemLabelInput as u, SurveyAssistantTranslateContentInput as v, surveyAssistantSuggestItemLabelInputSchema as w, surveyAssistantKeySuggestionSchema as x, SurveyAssistantTranslateContentResult as y, SurveyAssistantThreadTitleMode as z };
738
- //# sourceMappingURL=index-D4OitUg4.d.mts.map
741
+ //# sourceMappingURL=index-BApnIiCI.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BApnIiCI.d.mts","names":[],"sources":["../src/protocol/errors.ts","../src/protocol/threads.ts","../src/protocol/tasks.ts","../src/protocol/models.ts"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { i as AssistantItemTypeManifest, o as SurveyAssistantCapabilityManifest } from "./capabilities-CnsVuJ1k.mjs";
2
- import { p as SurveyAssistantTaskContext } from "./index-D4OitUg4.mjs";
2
+ import { p as SurveyAssistantTaskContext } from "./index-BApnIiCI.mjs";
3
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";
4
4
  import { z } from "zod";
5
- import { JsonExpression, JsonPatchOperation, RawSurvey, RawSurveyItem, ResponseValue, SurveyTranslations, ValueType } from "@case-framework/survey-core";
5
+ import { JsonExpression, JsonPatchOperation, RawSurvey, RawSurveyItem, ResponseValue, SurveyExpressionReferenceDiagnostic, SurveyExpressionResponseSlot, SurveyTranslations, ValueType } from "@case-framework/survey-core";
6
6
 
7
7
  //#region src/engine/capabilities.d.ts
8
8
  interface AssistantCapabilityReference {
@@ -178,6 +178,10 @@ declare const validateExpression: ({
178
178
  scope: string;
179
179
  }) => void;
180
180
  //#endregion
181
+ //#region src/engine/expression-reference-integrity.d.ts
182
+ declare const deriveSurveyExpressionResponseSlots: (survey: RawSurvey, trustedCapabilities?: SurveyAssistantCapabilitySet) => SurveyExpressionResponseSlot[];
183
+ declare const analyzeSurveyAssistantExpressionReferences: (survey: RawSurvey, trustedCapabilities?: SurveyAssistantCapabilitySet) => SurveyExpressionReferenceDiagnostic[];
184
+ //#endregion
181
185
  //#region src/engine/expression-mutations.d.ts
182
186
  declare const expressionSchema: z.ZodType<JsonExpression>;
183
187
  declare const expressionMutationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -720,6 +724,15 @@ interface SurveyQualityReviewPrinciple {
720
724
  title: string;
721
725
  prompt: string;
722
726
  }
727
+ interface SurveyAuditKeyReviewEntry {
728
+ kind: "item" | "choice-option" | "form-field";
729
+ itemId: string;
730
+ itemKey: string;
731
+ key: string;
732
+ keySource: "explicit" | "fallback-id";
733
+ contentKey?: string;
734
+ content?: string;
735
+ }
723
736
  interface SurveyAuditReport {
724
737
  summary: Record<SurveyAuditSeverity, number> & {
725
738
  total: number;
@@ -735,13 +748,24 @@ interface SurveyAuditReport {
735
748
  };
736
749
  findings: SurveyAuditFinding[];
737
750
  qualityReviewPrinciples: SurveyQualityReviewPrinciple[];
751
+ keyReview: {
752
+ sourceLocale?: string;
753
+ entryCount: number;
754
+ offset: number;
755
+ returnedEntryCount: number;
756
+ truncated: boolean;
757
+ entries: SurveyAuditKeyReviewEntry[];
758
+ note: string;
759
+ };
738
760
  note: string;
739
761
  }
740
762
  declare const auditSurvey: (context: SurveyAssistantEngineContext, options?: {
741
763
  sourceLocale?: string;
742
764
  targetLocales?: string[];
743
765
  maxFindings?: number;
766
+ keyReviewOffset?: number;
767
+ keyReviewLimit?: number;
744
768
  }) => SurveyAuditReport;
745
769
  //#endregion
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
770
+ export { getRawSurvey as $, FormFieldDetails as A, SurveyAssistantInspectionFocus as At, buildConfigSearchText as B, AssistantItemCreationResolution as Bt, applyValidatedSurveyOperationsToDraft as C, analyzeSurveyAssistantExpressionReferences as Ct, normalizeSurveyChangeOperations as D, validateExpression as Dt, validateSurveyOperations as E, inferExpressionReturnType as Et, SurveyFocusItemNode as F, SurveyAssistantResponseSlotTypes as Ft, choiceOptionDetailsSchema as G, createSurveyAssistantCapabilities as Gt, buildItemConfigDetails as H, SurveyAssistantCapabilityMismatchError as Ht, SurveyInspectionIndex as I, createSurveyAssistantEngineContext as It, formFieldDetailsSchema as J, inspectAssistantItem as Jt, clampLimit as K, createUnsupportedItemCapability as Kt, SurveyKeyIndexEntry as L, deriveResponseSlotTypes as Lt, ItemConfigDetails as M, SurveyAssistantInspectionItemNode as Mt, ItemSummary as N, SurveyAssistantInspectionKeyEntry as Nt, ChoiceOptionDetails as O, CreateSurveyAssistantEngineContextOptions as Ot, MAX_LIMIT as P, SurveyAssistantInspectionOutlineNode as Pt, getKeyIndexEntries as Q, SurveyOutlineNode as R, AssistantCapabilityReference as Rt, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_TURN_DRAFT as S, expressionSchema as St, createSurveyChangeSet as T, ResponseSlotTypeLookup as Tt, buildItemTranslationEntries as U, SurveyAssistantCapabilitySet as Ut, buildEmbeddedFormDetails as V, AssistantItemInspection as Vt, buildSurveyTranslations as W, assertSurveyAssistantCapabilities as Wt, formFieldGroupLayoutSchema as X, resolveAssistantItemCreation as Xt, formFieldGroupDetailsSchema as Y, resolveAssistantCapabilityReference as Yt, formSelectOptionDetailsSchema as Z, BuildSurveyAssistantTaskContextOptions as _, translationEntrySchema as _t, SurveyAuditSeverity as a, mapOutlineById as at, TurnSurveyDraft as b, buildExpressionMutationPatches as bt, FormAuthoringMode as c, parseCursor as ct, isCompatibleSimpleFieldUpsert as d, summarizeFocusItemNode as dt, getRawSurveyItems as et, isValidSimpleFormConfig as f, summarizeItemById as ft, SurveyAssistantTaskResultCacheOptions as g, summarizeRawItem as gt, SurveyAssistantTaskResultCache as h, summarizeOutlineNode as ht, SurveyAuditReport as i, mapKeyIndexById as it, FormFieldGroupDetails as j, SurveyAssistantInspectionIndex as jt, DEFAULT_LIMIT as k, SurveyAssistantEngineContext as kt, getFormAuthoringMode as l, resolveItemSummary as lt, transitionFormAuthoringMode as m, summarizeKeyIndexEntry as mt, SurveyAuditFinding as n, itemMatchesQuery as nt, SurveyQualityReviewPrinciple as o, mapRawItemsById as ot, normalizeFormAuthoringConfig as p, summarizeKeyIndexEntries as pt, findDirectChildrenByFullKey as q, getDeterministicCreateItemTypes as qt, SurveyAuditKeyReviewEntry as r, itemSummarySchema as rt, auditSurvey as s, normalizeText as st, SurveyAuditCategory as t, itemConfigDetailsSchema as tt, hasSingleFormField as u, sliceWithCursor as ut, SurveyAssistantTaskPurpose as v, unique as vt, buildSurveyDocumentVersion as w, deriveSurveyExpressionResponseSlots as wt, MAX_SURVEY_ASSISTANT_OPERATIONS_PER_PROPOSAL as x, expressionMutationSchema as xt, buildSurveyAssistantTaskContext as y, ExpressionMutation as yt, TranslationEntry as z, AssistantItemCapabilityAdapter as zt };
771
+ //# sourceMappingURL=index-Da_Hb9-1.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Da_Hb9-1.d.mts","names":[],"sources":["../src/engine/capabilities.ts","../src/engine/context.ts","../src/engine/expression-validation.ts","../src/engine/expression-reference-integrity.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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"}
@@ -6,6 +6,8 @@ declare const surveyAuditTool: _$_mastra_core_tools0.Tool<{
6
6
  sourceLocale?: string | undefined;
7
7
  targetLocales?: string[] | undefined;
8
8
  maxFindings?: number | undefined;
9
+ keyReviewOffset?: number | undefined;
10
+ keyReviewLimit?: number | undefined;
9
11
  reason?: string | undefined;
10
12
  }, {
11
13
  ok: boolean;
@@ -28,7 +30,7 @@ declare const surveyAssetTool: _$_mastra_core_tools0.Tool<{
28
30
  declare const SURVEY_ASSISTANT_TOOL_IDS: readonly ["survey_inspect", "survey_change", "survey_expression", "survey_authoring_reference", "survey_attachment", "survey_audit", "survey_asset"];
29
31
  declare const surveyAssistantTools: Readonly<{
30
32
  survey_inspect: _$_mastra_core_tools0.Tool<{
31
- action: "current-context" | "search-items" | "item-details" | "localization" | "assets" | "raw-json";
33
+ action: "localization" | "current-context" | "search-items" | "item-details" | "assets" | "expression-diagnostics" | "raw-json";
32
34
  reason?: string | undefined;
33
35
  scopes?: ("summary" | "selected-item" | "outline" | "response-slots" | "ui-context" | "history")[] | undefined;
34
36
  query?: string | undefined;
@@ -44,7 +46,7 @@ declare const surveyAssistantTools: Readonly<{
44
46
  limit?: number | undefined;
45
47
  }, {
46
48
  ok: boolean;
47
- action: "current-context" | "search-items" | "item-details" | "localization" | "assets" | "raw-json";
49
+ action: "localization" | "current-context" | "search-items" | "item-details" | "assets" | "expression-diagnostics" | "raw-json";
48
50
  modelSummary: string;
49
51
  reason?: string | undefined;
50
52
  result?: unknown;
@@ -57,7 +59,7 @@ declare const surveyAssistantTools: Readonly<{
57
59
  topic: string;
58
60
  itemType?: string | undefined;
59
61
  operationKind?: string | undefined;
60
- detail?: "full" | "compact" | undefined;
62
+ detail?: "compact" | "full" | undefined;
61
63
  reason?: string | undefined;
62
64
  }, {
63
65
  ok: boolean;
@@ -66,7 +68,7 @@ declare const surveyAssistantTools: Readonly<{
66
68
  content: string;
67
69
  itemType?: string | undefined;
68
70
  operationKind?: string | undefined;
69
- detail?: "full" | "compact" | undefined;
71
+ detail?: "compact" | "full" | undefined;
70
72
  }, unknown, unknown, _$_mastra_core_tools0.ToolExecutionContext<unknown, unknown, unknown>, "survey_authoring_reference", unknown>;
71
73
  survey_expression: _$_mastra_core_tools0.Tool<{
72
74
  action: "context" | "prepare";
@@ -119,6 +121,8 @@ declare const surveyAssistantTools: Readonly<{
119
121
  sourceLocale?: string | undefined;
120
122
  targetLocales?: string[] | undefined;
121
123
  maxFindings?: number | undefined;
124
+ keyReviewOffset?: number | undefined;
125
+ keyReviewLimit?: number | undefined;
122
126
  reason?: string | undefined;
123
127
  }, {
124
128
  ok: boolean;
@@ -137,4 +141,4 @@ declare const surveyAssistantTools: Readonly<{
137
141
  }>;
138
142
  //#endregion
139
143
  export { surveyAuditTool as i, surveyAssistantTools as n, surveyAssetTool as r, SURVEY_ASSISTANT_TOOL_IDS as t };
140
- //# sourceMappingURL=index-DZk20e3k.d.mts.map
144
+ //# sourceMappingURL=index-DhNQKOwr.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DhNQKOwr.d.mts","names":[],"sources":["../src/server/tools/survey-audit-tool.ts","../src/server/tools/survey-asset-tool.ts","../src/server/tools/index.ts"],"mappings":";;;;cAqIa,eAAA,EAwBX,qBAAA,CAxB0B,IAAA;;;;;;;;;;;qBAwB1B,qBAAA,CAAA,oBAAA;;;cCQW,eAAA,wBAAe,IAAA;;;;;;;;GA6H1B,oBAAA;;;cCvRW,yBAAA;AAAA,cAUA,oBAAA,EAAoB,QAAA;;;;;;;;;;;;;;;;;;;;;;uBAQ/B,qBAAA,CAAA,oBAAA"}
@@ -1,6 +1,6 @@
1
- import { B as SurveyAssistantThreadTranscript, L as SurveyAssistantThread, n as SurveyAssistantModelOption, q as SurveyAssistantErrorCode, t as SurveyAssistantModelCatalog } from "./index-D4OitUg4.mjs";
1
+ import { B as SurveyAssistantThreadTranscript, L as SurveyAssistantThread, R as SurveyAssistantThreadList, n as SurveyAssistantModelOption, q as SurveyAssistantErrorCode, t as SurveyAssistantModelCatalog } from "./index-BApnIiCI.mjs";
2
2
  import { f as SurveyAssistantTurnFinal, h as SurveyChangeSet, i as SurveyApplyResult, s as SurveyAssistantApplyPolicy, t as ApplyReceipt, wt as SurveyDocumentVersion, xt as SurveyAssistantSnapshot } from "./lifecycle-DWv5CiSu.mjs";
3
- import { a as SurveyAssistantController, m as SurveyAssistantLaunchUIContext } from "./controller-proxy-DmBdzqKs.mjs";
3
+ import { a as SurveyAssistantController, m as SurveyAssistantLaunchUIContext } from "./controller-proxy-BdKF2yrq.mjs";
4
4
  import * as _$ai from "ai";
5
5
  import { ChatStatus, DefaultChatTransport, FileUIPart, UIMessage } from "ai";
6
6
 
@@ -109,7 +109,11 @@ interface SurveyAssistantThreadClient {
109
109
  delete(threadId: string): Promise<void>;
110
110
  create(title?: string): Promise<SurveyAssistantThread>;
111
111
  list(): Promise<SurveyAssistantThread[]>;
112
- read(threadId: string): Promise<SurveyAssistantThreadTranscript>;
112
+ /** Paged history capability. Older custom clients may omit this method. */
113
+ listPage?(options?: {
114
+ cursor?: string;
115
+ }): Promise<SurveyAssistantThreadList>;
116
+ read(threadId: string, cursor?: string): Promise<SurveyAssistantThreadTranscript>;
113
117
  rename(threadId: string, title: string): Promise<SurveyAssistantThread>;
114
118
  setAutomaticTitle(threadId: string, title?: string): Promise<SurveyAssistantThread>;
115
119
  }
@@ -118,7 +122,8 @@ declare const createSurveyAssistantThreadClient: (api?: string) => SurveyAssista
118
122
  //#region src/react/client-error.d.ts
119
123
  declare class SurveyAssistantClientError extends Error {
120
124
  readonly code: SurveyAssistantErrorCode;
121
- constructor(code: SurveyAssistantErrorCode, message: string);
125
+ readonly retryable: boolean;
126
+ constructor(code: SurveyAssistantErrorCode, message: string, retryable?: boolean);
122
127
  }
123
128
  //#endregion
124
129
  //#region src/react/model-catalog.d.ts
@@ -193,6 +198,7 @@ interface SurveyAssistantSession {
193
198
  isStreaming: boolean;
194
199
  latestTurnOutcome: SurveyTurnOutcome | null;
195
200
  messages: UIMessage[];
201
+ prependMessages(messages: UIMessage[]): void;
196
202
  state: SurveyAssistantSessionState;
197
203
  status: ChatStatus;
198
204
  stop(): void;
@@ -215,4 +221,4 @@ declare const useSurveyAssistantSession: ({
215
221
  }: SurveyAssistantSessionOptions) => SurveyAssistantSession;
216
222
  //#endregion
217
223
  export { SurveyAssistantSessionEvent as C, reduceSurveyAssistantSessionState as E, unwrapSurveyAssistantToolOutput as S, isSurveyAssistantTurnActive as T, createApplyReceipts as _, SurveyAssistantModelCatalogClient as a, resolveLatestSurveyTurnAuthorization as b, createSurveyAssistantModelCatalogClient as c, SurveyAssistantThreadClient as d, createSurveyAssistantThreadClient as f, collectSurveyChangeSets as g, SurveyTurnOutcome as h, useSurveyAssistantSession as i, useSurveyAssistantModelCatalog as l, SurveyTurnAuthorization as m, SurveyAssistantSessionOptions as n, SurveyAssistantModelCatalogState as o, createSurveyAssistantTransport as p, SurveyAssistantSubmitMessage as r, UseSurveyAssistantModelCatalogOptions as s, SurveyAssistantSession as t, SurveyAssistantClientError as u, getSurveyDocumentVersionFromSnapshot as v, SurveyAssistantSessionState as w, resolveSurveyTurnOutcome as x, parseSurveyChangeSet as y };
218
- //# sourceMappingURL=index-Dxgg0-D_.d.mts.map
224
+ //# sourceMappingURL=index-dV6df0W3.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-dV6df0W3.d.mts","names":[],"sources":["../src/react/session-state.ts","../src/react/turn-authorization.ts","../src/react/transport.ts","../src/react/thread-client.ts","../src/react/client-error.ts","../src/react/model-catalog.ts","../src/react/use-survey-assistant-session.ts"],"mappings":"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"}