@case-framework/survey-assistant 0.2.2 → 0.2.3
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.
- package/dist/{authoring-references-DYuOAdVx.mjs → authoring-references-ChDTVnms.mjs} +8 -2
- package/dist/authoring-references-ChDTVnms.mjs.map +1 -0
- package/dist/{capabilities-DlC1l6qy.d.mts → capabilities-CnsVuJ1k.d.mts} +12 -4
- package/dist/capabilities-CnsVuJ1k.d.mts.map +1 -0
- package/dist/capabilities-default.d.mts +1 -1
- package/dist/capabilities-default.d.mts.map +1 -1
- package/dist/capabilities-default.mjs +38 -4
- package/dist/capabilities-default.mjs.map +1 -1
- package/dist/{constants-D-5m_KGB.d.mts → constants-BK1-g6pR.d.mts} +12 -7
- package/dist/constants-BK1-g6pR.d.mts.map +1 -0
- package/dist/{controller-proxy-Hkuub9dt.d.mts → controller-proxy-CIDRd8Wu.d.mts} +2 -2
- package/dist/{controller-proxy-Hkuub9dt.d.mts.map → controller-proxy-CIDRd8Wu.d.mts.map} +1 -1
- package/dist/{controller-proxy-0WJZUZYx.mjs → controller-proxy-DY36XFV3.mjs} +2 -2
- package/dist/{controller-proxy-0WJZUZYx.mjs.map → controller-proxy-DY36XFV3.mjs.map} +1 -1
- package/dist/{digest-BvXpeWcR.d.mts → digest-Dyjch_sC.d.mts} +2 -2
- package/dist/{digest-BvXpeWcR.d.mts.map → digest-Dyjch_sC.d.mts.map} +1 -1
- package/dist/digest.d.mts +1 -1
- package/dist/{engine-0AJrv0hI.mjs → engine-CWTuN3o2.mjs} +866 -663
- package/dist/engine-CWTuN3o2.mjs.map +1 -0
- package/dist/engine.d.mts +3 -3
- package/dist/engine.mjs +3 -3
- package/dist/fair-guidance-CEdJYccK.mjs +21 -0
- package/dist/fair-guidance-CEdJYccK.mjs.map +1 -0
- package/dist/form-authoring-DCd9XfXf.mjs +155 -0
- package/dist/form-authoring-DCd9XfXf.mjs.map +1 -0
- package/dist/{index-BcyfBeDj.d.mts → index-Bp5W_oPa.d.mts} +25 -5
- package/dist/index-Bp5W_oPa.d.mts.map +1 -0
- package/dist/{index-JXH-t2EJ.d.mts → index-CPOQgkTN.d.mts} +67 -6
- package/dist/index-CPOQgkTN.d.mts.map +1 -0
- package/dist/{index-MEOL9_Gr.d.mts → index-EDL1V168.d.mts} +98 -4
- package/dist/{index-MEOL9_Gr.d.mts.map → index-EDL1V168.d.mts.map} +1 -1
- package/dist/{index-CneD8ibB.d.mts → index-SPHf3OoJ.d.mts} +9 -3
- package/dist/index-SPHf3OoJ.d.mts.map +1 -0
- package/dist/{memory-thread-repository-1ocPOda8.mjs → memory-thread-repository-acbz6HZJ.mjs} +181 -26
- package/dist/memory-thread-repository-acbz6HZJ.mjs.map +1 -0
- package/dist/{protocol-DpCYmCjr.mjs → protocol-DATvkr1S.mjs} +125 -6
- package/dist/protocol-DATvkr1S.mjs.map +1 -0
- package/dist/protocol.d.mts +3 -3
- package/dist/protocol.mjs +2 -2
- package/dist/{react-DXK5zWNo.mjs → react-3kSE6WtS.mjs} +127 -9
- package/dist/react-3kSE6WtS.mjs.map +1 -0
- package/dist/react-integration.d.mts +1 -1
- package/dist/react-integration.mjs +1 -1
- package/dist/react.d.mts +2 -2
- package/dist/react.mjs +2 -2
- package/dist/references/assistant-operations.md +13 -18
- package/dist/references/embedded-forms.md +41 -2
- package/dist/references/expressions.md +17 -9
- package/dist/references/fair-by-design.md +80 -0
- package/dist/references/item-types.md +19 -3
- package/dist/references/localization.md +7 -4
- package/dist/references/source-material-surveys.md +6 -4
- package/dist/{request-context-BBzU3VdG.mjs → request-context-BEjnaaFr.mjs} +10 -5
- package/dist/request-context-BEjnaaFr.mjs.map +1 -0
- package/dist/server-agent.d.mts +26 -6
- package/dist/server-agent.d.mts.map +1 -1
- package/dist/server-agent.mjs +70 -13
- package/dist/server-agent.mjs.map +1 -1
- package/dist/server-runtime.d.mts +22 -11
- package/dist/server-runtime.d.mts.map +1 -1
- package/dist/server-runtime.mjs +47 -19
- package/dist/server-runtime.mjs.map +1 -1
- package/dist/server-tasks.d.mts +1 -1
- package/dist/server-tasks.mjs +4 -3
- package/dist/server-tasks.mjs.map +1 -1
- package/dist/server-tools.d.mts +1 -1
- package/dist/server-tools.mjs +1 -1
- package/dist/server.d.mts +16 -7
- package/dist/server.d.mts.map +1 -1
- package/dist/server.mjs +4 -4
- package/dist/storage-postgres.d.mts +1 -1
- package/dist/{tasks-DcfQNJwO.d.mts → tasks-DIZgr4nD.d.mts} +8 -4
- package/dist/tasks-DIZgr4nD.d.mts.map +1 -0
- package/dist/{thread-documents-BlxNjc7S.d.mts → thread-documents-C3kf0Vds.d.mts} +1 -1
- package/dist/{thread-documents-BlxNjc7S.d.mts.map → thread-documents-C3kf0Vds.d.mts.map} +1 -1
- package/dist/{thread-handlers-uddXwQjp.d.mts → thread-handlers-DZ1WsorO.d.mts} +9 -4
- package/dist/thread-handlers-DZ1WsorO.d.mts.map +1 -0
- package/dist/{tools-wgLen05n.mjs → tools-GDd5_GUh.mjs} +403 -77
- package/dist/tools-GDd5_GUh.mjs.map +1 -0
- package/dist/ui.css +1 -1
- package/dist/ui.d.mts +3 -3
- package/dist/ui.d.mts.map +1 -1
- package/dist/ui.mjs +152 -36
- package/dist/ui.mjs.map +1 -1
- package/docs/integration.md +73 -5
- package/package.json +3 -3
- package/dist/authoring-references-DYuOAdVx.mjs.map +0 -1
- package/dist/capabilities-DKbNCnBf.mjs +0 -66
- package/dist/capabilities-DKbNCnBf.mjs.map +0 -1
- package/dist/capabilities-DlC1l6qy.d.mts.map +0 -1
- package/dist/constants-D-5m_KGB.d.mts.map +0 -1
- package/dist/engine-0AJrv0hI.mjs.map +0 -1
- package/dist/index-BcyfBeDj.d.mts.map +0 -1
- package/dist/index-CneD8ibB.d.mts.map +0 -1
- package/dist/index-JXH-t2EJ.d.mts.map +0 -1
- package/dist/memory-thread-repository-1ocPOda8.mjs.map +0 -1
- package/dist/protocol-DpCYmCjr.mjs.map +0 -1
- package/dist/react-DXK5zWNo.mjs.map +0 -1
- package/dist/request-context-BBzU3VdG.mjs.map +0 -1
- package/dist/tasks-DcfQNJwO.d.mts.map +0 -1
- package/dist/thread-handlers-uddXwQjp.d.mts.map +0 -1
- 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-
|
|
2
|
-
import { $ as
|
|
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-CPOQgkTN.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
|
|
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
|
|
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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"}
|
|
@@ -27,10 +27,13 @@ declare const surveyAssetTool: _$_mastra_core_tools0.Tool<{
|
|
|
27
27
|
declare const SURVEY_ASSISTANT_TOOL_IDS: readonly ["survey_inspect", "survey_change", "survey_expression", "survey_authoring_reference", "survey_attachment", "survey_audit", "survey_asset"];
|
|
28
28
|
declare const surveyAssistantTools: Readonly<{
|
|
29
29
|
survey_inspect: _$_mastra_core_tools0.Tool<{
|
|
30
|
-
action: "current-context" | "search-items" | "item-details" | "assets" | "raw-json";
|
|
30
|
+
action: "localization" | "current-context" | "search-items" | "item-details" | "assets" | "raw-json";
|
|
31
31
|
reason: unknown;
|
|
32
32
|
scopes: unknown;
|
|
33
33
|
query: unknown;
|
|
34
|
+
sourceLocale: unknown;
|
|
35
|
+
targetLocale: unknown;
|
|
36
|
+
missingOnly: unknown;
|
|
34
37
|
itemRef: unknown;
|
|
35
38
|
cursor: unknown;
|
|
36
39
|
outlineMode: unknown;
|
|
@@ -39,10 +42,13 @@ declare const surveyAssistantTools: Readonly<{
|
|
|
39
42
|
includeItemConfig: unknown;
|
|
40
43
|
limit: unknown;
|
|
41
44
|
} | {
|
|
42
|
-
action: "current-context" | "search-items" | "item-details" | "assets" | "raw-json";
|
|
45
|
+
action: "localization" | "current-context" | "search-items" | "item-details" | "assets" | "raw-json";
|
|
43
46
|
reason?: string | undefined;
|
|
44
47
|
scopes?: ("summary" | "selected-item" | "outline" | "response-slots" | "ui-context" | "history")[] | undefined;
|
|
45
48
|
query?: string | undefined;
|
|
49
|
+
sourceLocale?: string | undefined;
|
|
50
|
+
targetLocale?: string | undefined;
|
|
51
|
+
missingOnly?: boolean | undefined;
|
|
46
52
|
itemRef?: string | undefined;
|
|
47
53
|
cursor?: string | undefined;
|
|
48
54
|
outlineMode?: "full" | "focused" | "children" | undefined;
|
|
@@ -52,7 +58,7 @@ declare const surveyAssistantTools: Readonly<{
|
|
|
52
58
|
limit?: number | undefined;
|
|
53
59
|
}, {
|
|
54
60
|
ok: boolean;
|
|
55
|
-
action: "current-context" | "search-items" | "item-details" | "assets" | "raw-json";
|
|
61
|
+
action: "localization" | "current-context" | "search-items" | "item-details" | "assets" | "raw-json";
|
|
56
62
|
modelSummary: string;
|
|
57
63
|
reason?: string | undefined;
|
|
58
64
|
result?: unknown;
|
|
@@ -85,13 +91,27 @@ declare const surveyAssistantTools: Readonly<{
|
|
|
85
91
|
mutations?: Record<string, unknown>[] | undefined;
|
|
86
92
|
}, unknown, unknown, unknown, _$_mastra_core_tools0.ToolExecutionContext<unknown, unknown, unknown>, "survey_expression", unknown>;
|
|
87
93
|
survey_attachment: _$_mastra_core_tools0.Tool<{
|
|
88
|
-
documentIds
|
|
94
|
+
documentIds?: string[] | undefined;
|
|
95
|
+
documentRequests?: {
|
|
96
|
+
documentId: string;
|
|
97
|
+
pages?: {
|
|
98
|
+
start: number;
|
|
99
|
+
end: number;
|
|
100
|
+
} | undefined;
|
|
101
|
+
focus?: string | undefined;
|
|
102
|
+
}[] | undefined;
|
|
89
103
|
}, {
|
|
90
104
|
loaded: {
|
|
91
105
|
id: string;
|
|
92
106
|
filename: string;
|
|
93
107
|
mediaType: string;
|
|
108
|
+
pages?: {
|
|
109
|
+
start: number;
|
|
110
|
+
end: number;
|
|
111
|
+
} | undefined;
|
|
112
|
+
focus?: string | undefined;
|
|
94
113
|
}[];
|
|
114
|
+
warnings?: string[] | undefined;
|
|
95
115
|
}, unknown, unknown, _$_mastra_core_tools0.ToolExecutionContext<unknown, unknown, unknown>, "survey_attachment", unknown>;
|
|
96
116
|
survey_audit: _$_mastra_core_tools0.Tool<{
|
|
97
117
|
sourceLocale?: string | undefined;
|
|
@@ -115,4 +135,4 @@ declare const surveyAssistantTools: Readonly<{
|
|
|
115
135
|
}>;
|
|
116
136
|
//#endregion
|
|
117
137
|
export { surveyAuditTool as i, surveyAssistantTools as n, surveyAssetTool as r, SURVEY_ASSISTANT_TOOL_IDS as t };
|
|
118
|
-
//# sourceMappingURL=index-
|
|
138
|
+
//# sourceMappingURL=index-Bp5W_oPa.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Bp5W_oPa.d.mts","names":[],"sources":["../src/server/tools/survey-audit-tool.ts","../src/server/tools/survey-asset-tool.ts","../src/server/tools/index.ts"],"mappings":";;;cA4Ga,eAAA,EAwBX,qBAAA,CAxB0B,IAAA;;;;;;;;;qBAwB1B,qBAAA,CAAA,oBAAA;;;cCiCW,eAAA,EA6HX,qBAAA,CA7H0B,IAAA;;;;;;;;8BA6H1B,qBAAA,CAAA,oBAAA;;;cCvRW,yBAAA;AAAA,cAUA,oBAAA,EAAoB,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAQ/B,qBAAA,CAAA,oBAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as AssistantItemTypeManifest, o as SurveyAssistantCapabilityManifest } from "./capabilities-
|
|
2
|
-
import {
|
|
1
|
+
import { i as AssistantItemTypeManifest, o as SurveyAssistantCapabilityManifest } from "./capabilities-CnsVuJ1k.mjs";
|
|
2
|
+
import { Dt as SurveyValidationResult, Et as SurveyValidationIssue, R as SurveyAssistantTaskContext, Tn as JsonValue$1, f as SurveyAssistantTurnFinal, h as SurveyChangeSet, hn as SurveyDocumentVersion, mn as SurveyDocumentSnapshot, wt as SurveyOperation } from "./index-EDL1V168.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { JsonExpression, JsonPatchOperation, RawSurvey, RawSurveyItem, ResponseValue, SurveyTranslations, ValueType } from "@case-framework/survey-core";
|
|
5
5
|
|
|
@@ -275,8 +275,8 @@ declare const expressionMutationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
275
275
|
number: "number";
|
|
276
276
|
boolean: "boolean";
|
|
277
277
|
date: "date";
|
|
278
|
-
duration: "duration";
|
|
279
278
|
reference: "reference";
|
|
279
|
+
duration: "duration";
|
|
280
280
|
"string[]": "string[]";
|
|
281
281
|
"duration[]": "duration[]";
|
|
282
282
|
"reference[]": "reference[]";
|
|
@@ -337,6 +337,11 @@ declare const choiceOptionDetailsSchema: z.ZodObject<{
|
|
|
337
337
|
hasDisplayCondition: z.ZodOptional<z.ZodBoolean>;
|
|
338
338
|
embeddedFormItemId: z.ZodOptional<z.ZodString>;
|
|
339
339
|
embeddedFormFieldGroupCount: z.ZodOptional<z.ZodNumber>;
|
|
340
|
+
embeddedFormAuthoringMode: z.ZodOptional<z.ZodEnum<{
|
|
341
|
+
custom: "custom";
|
|
342
|
+
simple: "simple";
|
|
343
|
+
}>>;
|
|
344
|
+
embeddedFormSimpleModeValid: z.ZodOptional<z.ZodBoolean>;
|
|
340
345
|
embeddedFormTranslationPrefix: z.ZodOptional<z.ZodString>;
|
|
341
346
|
embeddedFormResponseSlotPrefix: z.ZodOptional<z.ZodString>;
|
|
342
347
|
}, z.core.$strip>;
|
|
@@ -423,6 +428,11 @@ declare const itemConfigDetailsSchema: z.ZodObject<{
|
|
|
423
428
|
generic: "generic";
|
|
424
429
|
}>;
|
|
425
430
|
summary: z.ZodArray<z.ZodString>;
|
|
431
|
+
authoringMode: z.ZodOptional<z.ZodEnum<{
|
|
432
|
+
custom: "custom";
|
|
433
|
+
simple: "simple";
|
|
434
|
+
}>>;
|
|
435
|
+
simpleModeValid: z.ZodOptional<z.ZodBoolean>;
|
|
426
436
|
mainResponseSlotId: z.ZodOptional<z.ZodString>;
|
|
427
437
|
choiceOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
428
438
|
position: z.ZodNumber;
|
|
@@ -432,6 +442,11 @@ declare const itemConfigDetailsSchema: z.ZodObject<{
|
|
|
432
442
|
hasDisplayCondition: z.ZodOptional<z.ZodBoolean>;
|
|
433
443
|
embeddedFormItemId: z.ZodOptional<z.ZodString>;
|
|
434
444
|
embeddedFormFieldGroupCount: z.ZodOptional<z.ZodNumber>;
|
|
445
|
+
embeddedFormAuthoringMode: z.ZodOptional<z.ZodEnum<{
|
|
446
|
+
custom: "custom";
|
|
447
|
+
simple: "simple";
|
|
448
|
+
}>>;
|
|
449
|
+
embeddedFormSimpleModeValid: z.ZodOptional<z.ZodBoolean>;
|
|
435
450
|
embeddedFormTranslationPrefix: z.ZodOptional<z.ZodString>;
|
|
436
451
|
embeddedFormResponseSlotPrefix: z.ZodOptional<z.ZodString>;
|
|
437
452
|
}, z.core.$strip>>>;
|
|
@@ -606,7 +621,7 @@ declare class TurnSurveyDraft {
|
|
|
606
621
|
summary: string;
|
|
607
622
|
}): SurveyChangeSet;
|
|
608
623
|
reject(candidate: SurveyChangeSet, addressedTargets?: Iterable<string>): SurveyChangeSet;
|
|
609
|
-
finalize(status: SurveyAssistantTurnFinal["status"], createdAt?: string): SurveyAssistantTurnFinal;
|
|
624
|
+
finalize(status: SurveyAssistantTurnFinal["status"], createdAt?: string, details?: Pick<SurveyAssistantTurnFinal, "durationMs" | "startedAt" | "terminationReason">): SurveyAssistantTurnFinal;
|
|
610
625
|
getCandidate(changeSetId: string): SurveyChangeSet | undefined;
|
|
611
626
|
get draftOperations(): readonly SurveyOperation[];
|
|
612
627
|
get context(): SurveyAssistantEngineContext | undefined;
|
|
@@ -642,6 +657,50 @@ declare class SurveyAssistantTaskResultCache {
|
|
|
642
657
|
clear(): void;
|
|
643
658
|
}
|
|
644
659
|
//#endregion
|
|
660
|
+
//#region src/engine/form-authoring.d.ts
|
|
661
|
+
type FormAuthoringMode = "simple" | "custom";
|
|
662
|
+
declare const getFormAuthoringMode: (config: unknown) => FormAuthoringMode;
|
|
663
|
+
declare const hasSingleFormField: (config: unknown) => boolean;
|
|
664
|
+
declare const isValidSimpleFormConfig: (config: unknown) => boolean;
|
|
665
|
+
/**
|
|
666
|
+
* Canonicalizes the editor-facing mode without modifying groups, fields, or translations.
|
|
667
|
+
* Missing modes and malformed simple forms become custom; valid simple forms stay simple.
|
|
668
|
+
*/
|
|
669
|
+
declare const normalizeFormAuthoringConfig: (config: unknown) => Record<string, unknown> | undefined;
|
|
670
|
+
/**
|
|
671
|
+
* Returns true only for an in-place edit of the existing sole field that the
|
|
672
|
+
* simple editor can still represent. Adding, moving, retyping, or exposing
|
|
673
|
+
* hidden field configuration is structural and must promote the form.
|
|
674
|
+
*/
|
|
675
|
+
declare const isCompatibleSimpleFieldUpsert: ({
|
|
676
|
+
config,
|
|
677
|
+
field,
|
|
678
|
+
groupId,
|
|
679
|
+
index
|
|
680
|
+
}: {
|
|
681
|
+
config: unknown;
|
|
682
|
+
field: Record<string, unknown> & {
|
|
683
|
+
id: string;
|
|
684
|
+
key: string;
|
|
685
|
+
type: string;
|
|
686
|
+
};
|
|
687
|
+
groupId: string;
|
|
688
|
+
index?: number;
|
|
689
|
+
}) => boolean;
|
|
690
|
+
/**
|
|
691
|
+
* Structural form operations are a one-way transition out of simple mode unless the caller has
|
|
692
|
+
* proved that the same sole field remains compatible with the simple editor.
|
|
693
|
+
*/
|
|
694
|
+
declare const transitionFormAuthoringMode: ({
|
|
695
|
+
config,
|
|
696
|
+
fieldGroups,
|
|
697
|
+
preserveSimpleMode
|
|
698
|
+
}: {
|
|
699
|
+
config: Record<string, unknown>;
|
|
700
|
+
fieldGroups: Record<string, unknown>[];
|
|
701
|
+
preserveSimpleMode?: boolean;
|
|
702
|
+
}) => Record<string, unknown>;
|
|
703
|
+
//#endregion
|
|
645
704
|
//#region src/engine/audit.d.ts
|
|
646
705
|
type SurveyAuditSeverity = "error" | "warning" | "info";
|
|
647
706
|
type SurveyAuditCategory = "structure" | "content" | "localization" | "logic" | "responses" | "assets" | "quality";
|
|
@@ -664,6 +723,8 @@ interface SurveyAuditReport {
|
|
|
664
723
|
summary: Record<SurveyAuditSeverity, number> & {
|
|
665
724
|
total: number;
|
|
666
725
|
};
|
|
726
|
+
findingCount: number;
|
|
727
|
+
truncated: boolean;
|
|
667
728
|
metrics: {
|
|
668
729
|
itemCount: number;
|
|
669
730
|
localeCount: number;
|
|
@@ -681,5 +742,5 @@ declare const auditSurvey: (context: SurveyAssistantEngineContext, options?: {
|
|
|
681
742
|
maxFindings?: number;
|
|
682
743
|
}) => SurveyAuditReport;
|
|
683
744
|
//#endregion
|
|
684
|
-
export {
|
|
685
|
-
//# sourceMappingURL=index-
|
|
745
|
+
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 };
|
|
746
|
+
//# sourceMappingURL=index-CPOQgkTN.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CPOQgkTN.d.mts","names":[],"sources":["../src/engine/capabilities.ts","../src/engine/context.ts","../src/engine/expression-validation.ts","../src/engine/expression-mutations.ts","../src/engine/inspection.ts","../src/engine/normalization.ts","../src/engine/operations.ts","../src/engine/turn-survey-draft.ts","../src/engine/task-context.ts","../src/engine/task-result-cache.ts","../src/engine/form-authoring.ts","../src/engine/audit.ts"],"mappings":"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"}
|