@case-framework/survey-assistant 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -3
- package/dist/{attachments-B0hg3vpT.mjs → attachments-BuNni5vB.mjs} +1 -1
- package/dist/{attachments-B0hg3vpT.mjs.map → attachments-BuNni5vB.mjs.map} +1 -1
- package/dist/{authoring-references-BJQ_1nMX.mjs → authoring-references-CmwLc_C8.mjs} +49 -32
- package/dist/authoring-references-CmwLc_C8.mjs.map +1 -0
- package/dist/capabilities-D55dq-fO.mjs +582 -0
- package/dist/capabilities-D55dq-fO.mjs.map +1 -0
- package/dist/capabilities-default.d.mts +5 -12
- package/dist/capabilities-default.d.mts.map +1 -1
- package/dist/capabilities-default.mjs +2 -411
- package/dist/capabilities-z95e1mti.d.mts +117 -0
- package/dist/capabilities-z95e1mti.d.mts.map +1 -0
- package/dist/{constants-0UHGFcRJ.mjs → constants-Ct-vv9cu.mjs} +1 -1
- package/dist/{constants-0UHGFcRJ.mjs.map → constants-Ct-vv9cu.mjs.map} +1 -1
- package/dist/{constants-Be91Gay9.d.mts → constants-HL_klgJl.d.mts} +7 -28
- package/dist/constants-HL_klgJl.d.mts.map +1 -0
- package/dist/{controller-proxy-BH05e-C2.mjs → controller-proxy-BQ1YsVxJ.mjs} +12 -21
- package/dist/controller-proxy-BQ1YsVxJ.mjs.map +1 -0
- package/dist/controller-proxy-Cmzdr9tV.d.mts +65 -0
- package/dist/controller-proxy-Cmzdr9tV.d.mts.map +1 -0
- package/dist/default-D22AKTqE.mjs +233 -0
- package/dist/default-D22AKTqE.mjs.map +1 -0
- package/dist/{digest-SJmoYVaK.d.mts → digest-FnTTDBq2.d.mts} +2 -3
- package/dist/digest-FnTTDBq2.d.mts.map +1 -0
- package/dist/digest.d.mts +1 -1
- package/dist/digest.mjs.map +1 -1
- package/dist/engine-D950TfvC.mjs +3098 -0
- package/dist/engine-D950TfvC.mjs.map +1 -0
- package/dist/engine.d.mts +4 -3
- package/dist/engine.mjs +3 -3
- package/dist/{fair-guidance-CRYCRxQm.mjs → fair-guidance-BmO4PswW.mjs} +1 -1
- package/dist/{fair-guidance-CRYCRxQm.mjs.map → fair-guidance-BmO4PswW.mjs.map} +1 -1
- package/dist/{index-l_EK4yK7.d.mts → index-B8TLBd1G.d.mts} +18 -72
- package/dist/index-B8TLBd1G.d.mts.map +1 -0
- package/dist/index-CaX3hZmr.d.mts +23813 -0
- package/dist/index-CaX3hZmr.d.mts.map +1 -0
- package/dist/{index-x0qprHgK.d.mts → index-CeUlGkoU.d.mts} +58 -28
- package/dist/index-CeUlGkoU.d.mts.map +1 -0
- package/dist/{index-nhrgbgO5.d.mts → index-DYHdvSE8.d.mts} +347 -88
- package/dist/index-DYHdvSE8.d.mts.map +1 -0
- package/dist/lifecycle-DFzxVxpq.d.mts +54346 -0
- package/dist/lifecycle-DFzxVxpq.d.mts.map +1 -0
- package/dist/{memory-thread-repository-KWHQWFEW.mjs → memory-thread-repository-DmLadygY.mjs} +60 -30
- package/dist/memory-thread-repository-DmLadygY.mjs.map +1 -0
- package/dist/protocol-BQ7uIDYT.mjs +569 -0
- package/dist/protocol-BQ7uIDYT.mjs.map +1 -0
- package/dist/protocol.d.mts +4 -4
- package/dist/protocol.mjs +4 -3
- package/dist/{react-B3ybjJ-X.mjs → react-DybJ5pWw.mjs} +159 -46
- package/dist/react-DybJ5pWw.mjs.map +1 -0
- package/dist/react-integration.d.mts +2 -2
- package/dist/react-integration.mjs +2 -2
- package/dist/react.d.mts +3 -3
- package/dist/react.mjs +3 -3
- package/dist/references/assistant-operations.md +224 -180
- package/dist/references/core-rules.md +6 -3
- package/dist/references/element-types.md +189 -0
- package/dist/references/expressions.md +307 -168
- package/dist/references/fair-by-design.md +9 -9
- package/dist/references/follow-ups.md +151 -0
- package/dist/references/localization.md +26 -12
- package/dist/references/response-variables.md +38 -0
- package/dist/references/rich-text-content.md +22 -43
- package/dist/references/source-material-surveys.md +20 -24
- package/dist/references/survey-data-model.md +36 -102
- package/dist/{request-context-CG4SWijt.mjs → request-context-KVh8VjgH.mjs} +4 -10
- package/dist/request-context-KVh8VjgH.mjs.map +1 -0
- package/dist/{request-guardrails-TmgQtqp4.mjs → request-guardrails-C0ugBOp0.mjs} +6 -5
- package/dist/request-guardrails-C0ugBOp0.mjs.map +1 -0
- package/dist/server-agent.d.mts +62 -43
- package/dist/server-agent.d.mts.map +1 -1
- package/dist/server-agent.mjs +73 -40
- package/dist/server-agent.mjs.map +1 -1
- package/dist/server-runtime.d.mts +24 -42
- package/dist/server-runtime.d.mts.map +1 -1
- package/dist/server-runtime.mjs +12 -12
- package/dist/server-runtime.mjs.map +1 -1
- package/dist/server-tasks.d.mts +2 -2
- package/dist/server-tasks.mjs +2 -313
- package/dist/server-tools.d.mts +1 -1
- package/dist/server-tools.mjs +1 -1
- package/dist/server.d.mts +14 -36
- package/dist/server.d.mts.map +1 -1
- package/dist/server.mjs +5 -5
- package/dist/server.mjs.map +1 -1
- package/dist/storage-postgres.d.mts +9 -25
- package/dist/storage-postgres.d.mts.map +1 -1
- package/dist/storage-postgres.mjs +5 -4
- package/dist/storage-postgres.mjs.map +1 -1
- package/dist/tasks-Coh5N027.mjs +397 -0
- package/dist/tasks-Coh5N027.mjs.map +1 -0
- package/dist/{tasks-CYqrcaRO.d.mts → tasks-wb9M-bak.d.mts} +25 -41
- package/dist/tasks-wb9M-bak.d.mts.map +1 -0
- package/dist/thread-documents-DrHbaXqP.d.mts +119 -0
- package/dist/thread-documents-DrHbaXqP.d.mts.map +1 -0
- package/dist/{thread-handlers-DBAaU7BA.d.mts → thread-handlers-C3Iya92v.d.mts} +9 -40
- package/dist/thread-handlers-C3Iya92v.d.mts.map +1 -0
- package/dist/{tools-BvSovehT.mjs → tools-D0KBDolR.mjs} +677 -459
- package/dist/tools-D0KBDolR.mjs.map +1 -0
- package/dist/turn-survey-draft-B34lggSG.d.mts +185 -0
- package/dist/turn-survey-draft-B34lggSG.d.mts.map +1 -0
- package/dist/ui.css +1 -1
- package/dist/ui.d.mts +15 -54
- package/dist/ui.d.mts.map +1 -1
- package/dist/ui.mjs +203 -156
- package/dist/ui.mjs.map +1 -1
- package/docs/integration.md +11 -1
- package/package.json +41 -36
- package/dist/authoring-references-BJQ_1nMX.mjs.map +0 -1
- package/dist/capabilities-1KNnNO1_.mjs +0 -73
- package/dist/capabilities-1KNnNO1_.mjs.map +0 -1
- package/dist/capabilities-DVTfogjv.d.mts +0 -193
- package/dist/capabilities-DVTfogjv.d.mts.map +0 -1
- package/dist/capabilities-default.mjs.map +0 -1
- package/dist/constants-Be91Gay9.d.mts.map +0 -1
- package/dist/controller-proxy-BH05e-C2.mjs.map +0 -1
- package/dist/controller-proxy-Bd0ZHBPF.d.mts +0 -85
- package/dist/controller-proxy-Bd0ZHBPF.d.mts.map +0 -1
- package/dist/digest-SJmoYVaK.d.mts.map +0 -1
- package/dist/engine-Bo85Oyj0.mjs +0 -6723
- package/dist/engine-Bo85Oyj0.mjs.map +0 -1
- package/dist/index-Tnqv-yKW.d.mts +0 -777
- package/dist/index-Tnqv-yKW.d.mts.map +0 -1
- package/dist/index-l_EK4yK7.d.mts.map +0 -1
- package/dist/index-nhrgbgO5.d.mts.map +0 -1
- package/dist/index-x0qprHgK.d.mts.map +0 -1
- package/dist/lifecycle-Bx0aq_4S.d.mts +0 -529
- package/dist/lifecycle-Bx0aq_4S.d.mts.map +0 -1
- package/dist/memory-thread-repository-KWHQWFEW.mjs.map +0 -1
- package/dist/protocol-BhzQbx81.mjs +0 -1173
- package/dist/protocol-BhzQbx81.mjs.map +0 -1
- package/dist/react-B3ybjJ-X.mjs.map +0 -1
- package/dist/references/embedded-forms.md +0 -126
- package/dist/references/item-types.md +0 -407
- package/dist/request-context-CG4SWijt.mjs.map +0 -1
- package/dist/request-guardrails-TmgQtqp4.mjs.map +0 -1
- package/dist/server-tasks.mjs.map +0 -1
- package/dist/tasks-CYqrcaRO.d.mts.map +0 -1
- package/dist/thread-documents-rmd6nyX9.d.mts +0 -107
- package/dist/thread-documents-rmd6nyX9.d.mts.map +0 -1
- package/dist/thread-handlers-DBAaU7BA.d.mts.map +0 -1
- package/dist/tools-BvSovehT.mjs.map +0 -1
|
@@ -0,0 +1,569 @@
|
|
|
1
|
+
import { B as elementTransportSchema, G as responseSettingsChangesSchema, O as surveyValidationIssueSchema, T as surveyOperationSchema, V as jsonValueSchema, f as localizationRefSchema, i as surveyAssistantCapabilityManifestSchema, k as surveyValidationResultSchema } from "./capabilities-D55dq-fO.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { answerTypeReservationsSchema, createCompositionSchema, createSurveySchema, stringRecord } from "@case-framework/survey-core/schema";
|
|
4
|
+
//#region src/protocol/sanitization.ts
|
|
5
|
+
const MAX_USER_ERROR_MESSAGE_LENGTH = 700;
|
|
6
|
+
const CONTROL_CHARACTERS = /[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g;
|
|
7
|
+
const DATA_URL = /data:[^;,\s]+;base64,[a-z0-9+/=_-]+/gi;
|
|
8
|
+
const BEARER_TOKEN = /\bbearer\s+[a-z0-9._~+/-]{8,}/gi;
|
|
9
|
+
const OPENAI_KEY = /\bsk-(?:proj-)?[a-z0-9_-]{8,}/gi;
|
|
10
|
+
const AUTHORIZATION_VALUE = /(authorization\s*[:=]\s*)[^\s,;]+/gi;
|
|
11
|
+
const API_KEY_VALUE = /((?:api[-_ ]?key|token|secret)\s*[:=]\s*)[^\s,;]+/gi;
|
|
12
|
+
const redactSurveyAssistantDiagnosticSecrets = (value) => value.replace(CONTROL_CHARACTERS, "").replace(DATA_URL, "[data URL omitted]").replace(BEARER_TOKEN, "Bearer [credential omitted]").replace(OPENAI_KEY, "[credential omitted]").replace(AUTHORIZATION_VALUE, "$1[credential omitted]").replace(API_KEY_VALUE, "$1[credential omitted]");
|
|
13
|
+
const sanitizeSurveyAssistantDiagnosticText = (value, maximum = 700) => {
|
|
14
|
+
const normalized = redactSurveyAssistantDiagnosticSecrets(value).replace(/\s+/g, " ").trim();
|
|
15
|
+
if (normalized.length <= maximum) return normalized;
|
|
16
|
+
return `${normalized.slice(0, Math.max(0, maximum - 1))}…`;
|
|
17
|
+
};
|
|
18
|
+
const isSurveyAssistantSensitiveMetadataKey = (key) => {
|
|
19
|
+
const normalized = key.toLocaleLowerCase();
|
|
20
|
+
return normalized.includes("authorization") || normalized.includes("credential") || normalized.includes("encrypted") || normalized.includes("password") || normalized.includes("redacted") || normalized.includes("secret") || normalized.includes("signature") || normalized === "token" || normalized.endsWith("token") || normalized.includes("api_key") || normalized.includes("apikey");
|
|
21
|
+
};
|
|
22
|
+
const getSurveyAssistantEmbeddedBinaryMarker = (value, parent, key) => {
|
|
23
|
+
if (typeof value !== "string") return void 0;
|
|
24
|
+
if (key === "data" && parent?.type === "embedded" && parent.encoding === "base64") return {
|
|
25
|
+
characters: value.length,
|
|
26
|
+
redacted: "base64"
|
|
27
|
+
};
|
|
28
|
+
if (value.length > 512 && /^data:[^;,]+;base64,/.test(value)) return {
|
|
29
|
+
characters: value.length,
|
|
30
|
+
redacted: "data-url"
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/protocol/errors.ts
|
|
35
|
+
const surveyAssistantErrorCodeSchema = z.enum([
|
|
36
|
+
"attachment_unavailable",
|
|
37
|
+
"authorization_failed",
|
|
38
|
+
"model_unavailable",
|
|
39
|
+
"rate_limited",
|
|
40
|
+
"request_failed"
|
|
41
|
+
]);
|
|
42
|
+
const surveyAssistantErrorInfoSchema = z.object({
|
|
43
|
+
code: surveyAssistantErrorCodeSchema,
|
|
44
|
+
detail: z.string().optional(),
|
|
45
|
+
retryable: z.boolean().optional(),
|
|
46
|
+
upstreamStatus: z.number().int().min(100).max(599).optional(),
|
|
47
|
+
providerRequestId: z.string().trim().min(1).max(240).optional(),
|
|
48
|
+
providerMessage: z.string().max(700).optional()
|
|
49
|
+
});
|
|
50
|
+
const isSurveyAssistantErrorRetryable = (error, httpStatus) => {
|
|
51
|
+
if (error.retryable !== void 0) return error.retryable;
|
|
52
|
+
if (error.code === "rate_limited") return true;
|
|
53
|
+
const status = httpStatus ?? error.upstreamStatus;
|
|
54
|
+
if (error.code === "request_failed") return status === void 0 || status >= 500;
|
|
55
|
+
return error.code === "attachment_unavailable" && status !== void 0 && status >= 500;
|
|
56
|
+
};
|
|
57
|
+
const ERROR_PREFIX = "case-survey-assistant-error:";
|
|
58
|
+
const serializeSurveyAssistantError = (error) => `${ERROR_PREFIX}${JSON.stringify(surveyAssistantErrorInfoSchema.parse(error))}`;
|
|
59
|
+
const parseSurveyAssistantError = (value) => {
|
|
60
|
+
if (typeof value === "object" && value !== null && "code" in value) {
|
|
61
|
+
const detail = "detail" in value && typeof value.detail === "string" ? value.detail : "message" in value && typeof value.message === "string" ? value.message : void 0;
|
|
62
|
+
const parsed = surveyAssistantErrorInfoSchema.safeParse({
|
|
63
|
+
code: value.code,
|
|
64
|
+
detail: detail ? sanitizeSurveyAssistantDiagnosticText(detail, 700) : void 0,
|
|
65
|
+
retryable: "retryable" in value && typeof value.retryable === "boolean" ? value.retryable : void 0,
|
|
66
|
+
upstreamStatus: "upstreamStatus" in value && typeof value.upstreamStatus === "number" ? value.upstreamStatus : void 0,
|
|
67
|
+
providerRequestId: "providerRequestId" in value && typeof value.providerRequestId === "string" ? sanitizeSurveyAssistantDiagnosticText(value.providerRequestId, 240) : void 0,
|
|
68
|
+
providerMessage: "providerMessage" in value && typeof value.providerMessage === "string" ? sanitizeSurveyAssistantDiagnosticText(value.providerMessage, 700) : void 0
|
|
69
|
+
});
|
|
70
|
+
if (parsed.success) return parsed.data;
|
|
71
|
+
}
|
|
72
|
+
const message = value instanceof Error ? value.message : typeof value === "string" ? value : typeof value === "object" && value !== null && "message" in value ? String(value.message) : "";
|
|
73
|
+
if (message.startsWith(ERROR_PREFIX)) try {
|
|
74
|
+
const parsed = surveyAssistantErrorInfoSchema.safeParse(JSON.parse(message.slice(28)));
|
|
75
|
+
if (parsed.success) return parsed.data;
|
|
76
|
+
} catch {}
|
|
77
|
+
return {
|
|
78
|
+
code: "request_failed",
|
|
79
|
+
...message.trim() ? { detail: sanitizeSurveyAssistantDiagnosticText(message, 700) } : {}
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region src/protocol/document.ts
|
|
84
|
+
const SURVEY_ASSISTANT_PROTOCOL_VERSION = 1;
|
|
85
|
+
const surveyAssistantProtocolVersionSchema = z.literal(1);
|
|
86
|
+
const surveyDocumentVersionSchema = z.object({
|
|
87
|
+
sessionId: z.string().nullable(),
|
|
88
|
+
revision: z.number().int().nonnegative(),
|
|
89
|
+
historyIndex: z.number().int(),
|
|
90
|
+
contentHash: z.string().min(1),
|
|
91
|
+
capabilityDigest: z.string().min(1)
|
|
92
|
+
});
|
|
93
|
+
const SURVEY_EDITOR_UI_TASK_MAX_DATA_LENGTH = 64e3;
|
|
94
|
+
const surveyEditorUITaskSchema = z.object({
|
|
95
|
+
kind: z.string().min(1).max(80),
|
|
96
|
+
title: z.string().max(240).optional(),
|
|
97
|
+
instructions: z.string().max(4e3).optional(),
|
|
98
|
+
data: jsonValueSchema.refine((value) => JSON.stringify(value).length <= SURVEY_EDITOR_UI_TASK_MAX_DATA_LENGTH, { message: `Task data must serialize to at most ${SURVEY_EDITOR_UI_TASK_MAX_DATA_LENGTH} characters.` }).optional()
|
|
99
|
+
});
|
|
100
|
+
const surveyEditorUIContextSchema = z.object({
|
|
101
|
+
view: z.enum([
|
|
102
|
+
"item-editor",
|
|
103
|
+
"preview-mode",
|
|
104
|
+
"translation-mode",
|
|
105
|
+
"asset-manager",
|
|
106
|
+
"response-data"
|
|
107
|
+
]),
|
|
108
|
+
selectedItemId: z.string().optional(),
|
|
109
|
+
responseSlotId: z.string().optional(),
|
|
110
|
+
selectedLocale: z.string().min(1),
|
|
111
|
+
focusItemId: z.string().optional(),
|
|
112
|
+
recentItemIds: z.array(z.string()).max(10).optional(),
|
|
113
|
+
activeSurface: z.string().max(120).optional(),
|
|
114
|
+
openPanels: z.array(z.string().max(120)).max(12).optional(),
|
|
115
|
+
highlights: z.array(z.object({
|
|
116
|
+
kind: z.string().min(1).max(80),
|
|
117
|
+
itemId: z.string().optional(),
|
|
118
|
+
componentId: z.string().optional(),
|
|
119
|
+
label: z.string().max(240).optional(),
|
|
120
|
+
details: z.string().max(1e3).optional()
|
|
121
|
+
})).max(12).optional(),
|
|
122
|
+
task: surveyEditorUITaskSchema.optional(),
|
|
123
|
+
history: z.object({
|
|
124
|
+
currentIndex: z.number().int(),
|
|
125
|
+
totalEntries: z.number().int().nonnegative(),
|
|
126
|
+
canUndo: z.boolean(),
|
|
127
|
+
canRedo: z.boolean(),
|
|
128
|
+
recent: z.array(z.object({
|
|
129
|
+
index: z.number().int().nonnegative(),
|
|
130
|
+
kind: z.enum(["survey-snapshot", "asset-change"]),
|
|
131
|
+
label: z.string(),
|
|
132
|
+
source: z.enum([
|
|
133
|
+
"user",
|
|
134
|
+
"system",
|
|
135
|
+
"assistant"
|
|
136
|
+
]).optional(),
|
|
137
|
+
timestamp: z.number().nonnegative(),
|
|
138
|
+
isCurrent: z.boolean()
|
|
139
|
+
})).max(12)
|
|
140
|
+
}).optional()
|
|
141
|
+
});
|
|
142
|
+
const rawSurveyDocumentSchema = createSurveySchema(createCompositionSchema(elementTransportSchema));
|
|
143
|
+
const surveyDocumentSnapshotSchema = z.object({
|
|
144
|
+
protocolVersion: surveyAssistantProtocolVersionSchema,
|
|
145
|
+
version: surveyDocumentVersionSchema,
|
|
146
|
+
survey: rawSurveyDocumentSchema,
|
|
147
|
+
answerTypes: answerTypeReservationsSchema.optional(),
|
|
148
|
+
ui: surveyEditorUIContextSchema,
|
|
149
|
+
capabilities: surveyAssistantCapabilityManifestSchema,
|
|
150
|
+
createdAt: z.string().min(1)
|
|
151
|
+
});
|
|
152
|
+
const surveyAssistantSnapshotSchema = surveyDocumentSnapshotSchema;
|
|
153
|
+
const surveyAssistantSnapshotPayloadSchema = surveyDocumentSnapshotSchema;
|
|
154
|
+
const surveyAssistantDraftChangePreconditionSchema = surveyDocumentVersionSchema;
|
|
155
|
+
//#endregion
|
|
156
|
+
//#region src/protocol/threads.ts
|
|
157
|
+
const SURVEY_ASSISTANT_ATTACHMENT_PART_TYPE = "data-survey-assistant-attachment";
|
|
158
|
+
const surveyAssistantThreadSchema = z.object({
|
|
159
|
+
id: z.string().min(1).max(240),
|
|
160
|
+
title: z.string().min(1).max(160),
|
|
161
|
+
titleMode: z.enum(["automatic", "manual"]),
|
|
162
|
+
createdAt: z.string().datetime(),
|
|
163
|
+
updatedAt: z.string().datetime(),
|
|
164
|
+
/** Original UI-launched task, retained for continuations and reopened chats. */
|
|
165
|
+
task: surveyEditorUITaskSchema.optional()
|
|
166
|
+
});
|
|
167
|
+
const surveyAssistantThreadListSchema = z.object({
|
|
168
|
+
nextCursor: z.string().min(1).max(240).optional(),
|
|
169
|
+
threads: z.array(surveyAssistantThreadSchema)
|
|
170
|
+
});
|
|
171
|
+
const surveyAssistantThreadTranscriptSchema = z.object({
|
|
172
|
+
nextCursor: z.string().min(1).max(240).optional(),
|
|
173
|
+
thread: surveyAssistantThreadSchema,
|
|
174
|
+
messages: z.array(z.unknown())
|
|
175
|
+
});
|
|
176
|
+
const createSurveyAssistantThreadInputSchema = z.object({
|
|
177
|
+
title: z.string().trim().min(1).max(160).optional(),
|
|
178
|
+
task: surveyEditorUITaskSchema.optional()
|
|
179
|
+
});
|
|
180
|
+
const updateSurveyAssistantThreadInputSchema = z.union([z.object({
|
|
181
|
+
mode: z.literal("automatic"),
|
|
182
|
+
title: z.string().trim().min(1).max(160).optional()
|
|
183
|
+
}), z.object({
|
|
184
|
+
mode: z.literal("manual").optional(),
|
|
185
|
+
title: z.string().trim().min(1).max(160)
|
|
186
|
+
})]);
|
|
187
|
+
//#endregion
|
|
188
|
+
//#region src/protocol/tasks.ts
|
|
189
|
+
const surveyAssistantTaskInvocationModeSchema = z.enum(["user", "background"]);
|
|
190
|
+
const surveyAssistantSuggestedTextSchema = z.object({ text: z.string().min(1) });
|
|
191
|
+
const surveyAssistantKeySuggestionCategorySchema = z.enum([
|
|
192
|
+
"survey-pattern",
|
|
193
|
+
"compact",
|
|
194
|
+
"preferred",
|
|
195
|
+
"fair"
|
|
196
|
+
]);
|
|
197
|
+
const surveyAssistantKeySuggestionSchema = surveyAssistantSuggestedTextSchema.extend({
|
|
198
|
+
category: surveyAssistantKeySuggestionCategorySchema,
|
|
199
|
+
rationale: z.string().optional()
|
|
200
|
+
});
|
|
201
|
+
const surveyAssistantSuggestResponseNameInputSchema = z.object({
|
|
202
|
+
itemId: z.string().min(1),
|
|
203
|
+
slotId: z.string().min(1),
|
|
204
|
+
draftName: z.string(),
|
|
205
|
+
currentName: z.string(),
|
|
206
|
+
existingNames: z.array(z.string()),
|
|
207
|
+
maxSuggestions: z.number().int().positive().optional()
|
|
208
|
+
});
|
|
209
|
+
const surveyAssistantSuggestResponseNameResultSchema = z.object({ suggestions: z.array(surveyAssistantKeySuggestionSchema) });
|
|
210
|
+
const surveyAssistantSuggestItemLabelInputSchema = z.object({
|
|
211
|
+
itemId: z.string().min(1),
|
|
212
|
+
draftLabel: z.string(),
|
|
213
|
+
itemType: z.string().min(1),
|
|
214
|
+
locale: z.string().min(1).optional(),
|
|
215
|
+
maxSuggestions: z.number().int().positive().optional()
|
|
216
|
+
});
|
|
217
|
+
const surveyAssistantSuggestItemLabelResultSchema = z.object({ suggestions: z.array(surveyAssistantSuggestedTextSchema) });
|
|
218
|
+
const surveyAssistantTranslateContentEntrySchema = z.object({
|
|
219
|
+
id: z.string().min(1),
|
|
220
|
+
text: z.string(),
|
|
221
|
+
kind: z.string().min(1)
|
|
222
|
+
});
|
|
223
|
+
const surveyAssistantTranslateContentInputSchema = z.object({
|
|
224
|
+
sourceLocale: z.string().min(1),
|
|
225
|
+
targetLocales: z.array(z.string().min(1)).min(1),
|
|
226
|
+
entries: z.array(surveyAssistantTranslateContentEntrySchema).min(1)
|
|
227
|
+
});
|
|
228
|
+
const surveyAssistantTranslateContentResultSchema = z.object({ translations: stringRecord(z.string(), stringRecord(z.string(), z.string())) });
|
|
229
|
+
const surveyAssistantTaskItemSummarySchema = z.object({
|
|
230
|
+
id: z.string().min(1),
|
|
231
|
+
editorName: z.string(),
|
|
232
|
+
breadcrumb: z.string(),
|
|
233
|
+
itemType: z.string().min(1),
|
|
234
|
+
itemLabel: z.string().optional(),
|
|
235
|
+
visibleText: z.array(z.object({
|
|
236
|
+
locale: z.string().min(1),
|
|
237
|
+
ownerId: z.string().min(1),
|
|
238
|
+
role: z.string().min(1),
|
|
239
|
+
text: z.string()
|
|
240
|
+
})),
|
|
241
|
+
visibleTextTruncated: z.boolean()
|
|
242
|
+
});
|
|
243
|
+
const surveyAssistantSuggestResponseSettingsInputSchema = z.object({
|
|
244
|
+
slotIds: z.array(z.string().min(1)).min(1).max(200),
|
|
245
|
+
category: surveyAssistantKeySuggestionCategorySchema.default("fair")
|
|
246
|
+
});
|
|
247
|
+
const surveyAssistantSuggestResponseSettingsResultSchema = responseSettingsChangesSchema;
|
|
248
|
+
const namingRelationshipSchema = z.enum([
|
|
249
|
+
"sibling",
|
|
250
|
+
"same-type",
|
|
251
|
+
"survey"
|
|
252
|
+
]);
|
|
253
|
+
const surveyAssistantTaskContextSchema = z.object({
|
|
254
|
+
document: z.object({
|
|
255
|
+
revision: z.number().int().nonnegative(),
|
|
256
|
+
contentHash: z.string().min(1),
|
|
257
|
+
capabilityDigest: z.string().min(1)
|
|
258
|
+
}),
|
|
259
|
+
survey: z.object({
|
|
260
|
+
key: z.string().optional(),
|
|
261
|
+
locales: z.array(z.string()),
|
|
262
|
+
itemCount: z.number().int().nonnegative(),
|
|
263
|
+
selectedLocale: z.string().min(1)
|
|
264
|
+
}),
|
|
265
|
+
responseVariables: z.array(stringRecord(z.string(), z.unknown())).optional(),
|
|
266
|
+
existingVariableNames: z.array(z.string()).optional(),
|
|
267
|
+
responseOwners: z.array(stringRecord(z.string(), z.unknown())).optional(),
|
|
268
|
+
focus: z.object({
|
|
269
|
+
item: surveyAssistantTaskItemSummarySchema,
|
|
270
|
+
parent: surveyAssistantTaskItemSummarySchema.optional(),
|
|
271
|
+
ancestorPath: z.array(surveyAssistantTaskItemSummarySchema),
|
|
272
|
+
siblingNames: z.array(z.string()),
|
|
273
|
+
siblingItems: z.array(surveyAssistantTaskItemSummarySchema),
|
|
274
|
+
siblingItemCount: z.number().int().nonnegative(),
|
|
275
|
+
siblingItemsTruncated: z.boolean(),
|
|
276
|
+
relatedItems: z.array(surveyAssistantTaskItemSummarySchema),
|
|
277
|
+
relatedItemCount: z.number().int().nonnegative(),
|
|
278
|
+
relatedItemsTruncated: z.boolean()
|
|
279
|
+
}).optional(),
|
|
280
|
+
naming: z.object({
|
|
281
|
+
keyExamples: z.array(z.object({
|
|
282
|
+
itemId: z.string().min(1),
|
|
283
|
+
itemType: z.string().min(1),
|
|
284
|
+
key: z.string(),
|
|
285
|
+
relationship: namingRelationshipSchema
|
|
286
|
+
})),
|
|
287
|
+
keyExampleCount: z.number().int().nonnegative(),
|
|
288
|
+
keyExamplesTruncated: z.boolean(),
|
|
289
|
+
labelExamples: z.array(z.object({
|
|
290
|
+
itemId: z.string().min(1),
|
|
291
|
+
itemType: z.string().min(1),
|
|
292
|
+
key: z.string(),
|
|
293
|
+
label: z.string(),
|
|
294
|
+
relationship: namingRelationshipSchema
|
|
295
|
+
})),
|
|
296
|
+
labelExampleCount: z.number().int().nonnegative(),
|
|
297
|
+
labelExamplesTruncated: z.boolean()
|
|
298
|
+
}).optional(),
|
|
299
|
+
translation: z.object({
|
|
300
|
+
examples: z.array(z.object({
|
|
301
|
+
itemId: z.string().min(1),
|
|
302
|
+
ownerId: z.string().min(1),
|
|
303
|
+
role: z.string().min(1),
|
|
304
|
+
values: stringRecord(z.string(), z.string())
|
|
305
|
+
})),
|
|
306
|
+
exampleCount: z.number().int().nonnegative(),
|
|
307
|
+
examplesTruncated: z.boolean()
|
|
308
|
+
}).optional()
|
|
309
|
+
});
|
|
310
|
+
const taskRequestBase = {
|
|
311
|
+
context: surveyAssistantTaskContextSchema,
|
|
312
|
+
mode: surveyAssistantTaskInvocationModeSchema.optional(),
|
|
313
|
+
modelId: z.string().trim().min(1).max(240).optional(),
|
|
314
|
+
resourceId: z.string().trim().min(1).max(240).optional(),
|
|
315
|
+
surveyId: z.string().trim().min(1).max(240).optional()
|
|
316
|
+
};
|
|
317
|
+
const surveyAssistantTaskRequestSchema = z.discriminatedUnion("taskId", [
|
|
318
|
+
z.object({
|
|
319
|
+
...taskRequestBase,
|
|
320
|
+
taskId: z.literal("suggest-response-settings"),
|
|
321
|
+
input: surveyAssistantSuggestResponseSettingsInputSchema
|
|
322
|
+
}),
|
|
323
|
+
z.object({
|
|
324
|
+
...taskRequestBase,
|
|
325
|
+
taskId: z.literal("suggest-response-name"),
|
|
326
|
+
input: surveyAssistantSuggestResponseNameInputSchema
|
|
327
|
+
}),
|
|
328
|
+
z.object({
|
|
329
|
+
...taskRequestBase,
|
|
330
|
+
taskId: z.literal("suggest-item-label"),
|
|
331
|
+
input: surveyAssistantSuggestItemLabelInputSchema
|
|
332
|
+
}),
|
|
333
|
+
z.object({
|
|
334
|
+
...taskRequestBase,
|
|
335
|
+
taskId: z.literal("translate-content"),
|
|
336
|
+
input: surveyAssistantTranslateContentInputSchema
|
|
337
|
+
})
|
|
338
|
+
]);
|
|
339
|
+
//#endregion
|
|
340
|
+
//#region src/protocol/models.ts
|
|
341
|
+
const surveyAssistantModelOptionSchema = z.object({
|
|
342
|
+
id: z.string().trim().min(1).max(240),
|
|
343
|
+
label: z.string().trim().min(1).max(240)
|
|
344
|
+
});
|
|
345
|
+
const surveyAssistantModelCatalogSchema = z.object({
|
|
346
|
+
defaultModelId: z.string().trim().min(1).max(240),
|
|
347
|
+
models: z.array(surveyAssistantModelOptionSchema).min(1)
|
|
348
|
+
}).refine(({ defaultModelId, models }) => models.some((model) => model.id === defaultModelId), "The default model must be present in the model catalog.");
|
|
349
|
+
//#endregion
|
|
350
|
+
//#region src/protocol/lifecycle.ts
|
|
351
|
+
const surveyAssistantChangeVerificationReasonValues = [
|
|
352
|
+
"substantial-change",
|
|
353
|
+
"complex-change",
|
|
354
|
+
"bounded-preview",
|
|
355
|
+
"new-audit-findings"
|
|
356
|
+
];
|
|
357
|
+
const surveyAssistantTurnTerminationReasonValues = [
|
|
358
|
+
"client-abort",
|
|
359
|
+
"first-response-timeout",
|
|
360
|
+
"idle-timeout",
|
|
361
|
+
"max-duration",
|
|
362
|
+
"max-steps",
|
|
363
|
+
"length-limit",
|
|
364
|
+
"content-filter",
|
|
365
|
+
"provider-error",
|
|
366
|
+
"stream-error",
|
|
367
|
+
"incomplete-response"
|
|
368
|
+
];
|
|
369
|
+
const SURVEY_ASSISTANT_TURN_FINAL_DATA_NAME = "survey-assistant-turn-final";
|
|
370
|
+
const SURVEY_ASSISTANT_TURN_FINAL_PART_TYPE = `data-${SURVEY_ASSISTANT_TURN_FINAL_DATA_NAME}`;
|
|
371
|
+
const surveyAssistantApplyOutcomeStatusValues = [
|
|
372
|
+
"not-applied",
|
|
373
|
+
"apply-failed",
|
|
374
|
+
"settle-failed"
|
|
375
|
+
];
|
|
376
|
+
const surveyChangeSetSchema = z.object({
|
|
377
|
+
protocolVersion: surveyAssistantProtocolVersionSchema.default(1),
|
|
378
|
+
id: z.string().min(1),
|
|
379
|
+
turnId: z.string().min(1),
|
|
380
|
+
status: z.enum(["validated", "rejected"]),
|
|
381
|
+
summary: z.string().min(1).max(500),
|
|
382
|
+
operations: z.array(surveyOperationSchema),
|
|
383
|
+
supersedesChangeIds: z.array(z.string().min(1)).max(100).optional(),
|
|
384
|
+
pendingRepairs: z.array(z.object({
|
|
385
|
+
changeId: z.string().min(1),
|
|
386
|
+
targets: z.array(z.string()),
|
|
387
|
+
requiresExplicitRetry: z.boolean(),
|
|
388
|
+
allowsAcknowledgment: z.boolean().optional()
|
|
389
|
+
})).optional(),
|
|
390
|
+
precondition: surveyDocumentVersionSchema.optional(),
|
|
391
|
+
postChange: z.object({
|
|
392
|
+
version: surveyDocumentVersionSchema,
|
|
393
|
+
itemCount: z.number().int().nonnegative(),
|
|
394
|
+
localeCount: z.number().int().nonnegative(),
|
|
395
|
+
locales: z.array(z.string().min(1)).max(32),
|
|
396
|
+
targetCount: z.number().int().nonnegative(),
|
|
397
|
+
touchedTargets: z.array(z.string().min(1)).max(16),
|
|
398
|
+
touchedItemCount: z.number().int().nonnegative(),
|
|
399
|
+
availableTouchedItemCount: z.number().int().nonnegative(),
|
|
400
|
+
touchedItems: z.array(z.object({
|
|
401
|
+
itemId: z.string().min(1),
|
|
402
|
+
itemType: z.string().min(1),
|
|
403
|
+
editorName: z.string().min(1),
|
|
404
|
+
breadcrumb: z.string().min(1),
|
|
405
|
+
itemLabel: z.string().optional(),
|
|
406
|
+
placement: z.object({
|
|
407
|
+
parentItemId: z.string().min(1),
|
|
408
|
+
index: z.number().int().nonnegative(),
|
|
409
|
+
siblingCount: z.number().int().nonnegative(),
|
|
410
|
+
previousItemId: z.string().min(1).optional(),
|
|
411
|
+
nextItemId: z.string().min(1).optional(),
|
|
412
|
+
shuffled: z.boolean()
|
|
413
|
+
}).optional(),
|
|
414
|
+
childOrder: z.object({
|
|
415
|
+
itemIds: z.array(z.string().min(1)).max(16),
|
|
416
|
+
total: z.number().int().nonnegative(),
|
|
417
|
+
truncated: z.boolean(),
|
|
418
|
+
shuffled: z.boolean()
|
|
419
|
+
}).optional(),
|
|
420
|
+
translationCount: z.number().int().nonnegative(),
|
|
421
|
+
translations: z.array(z.object({
|
|
422
|
+
locale: z.string().min(1),
|
|
423
|
+
ownerId: z.string().min(1),
|
|
424
|
+
role: z.string().min(1),
|
|
425
|
+
textPreview: z.string(),
|
|
426
|
+
textLength: z.number().int().nonnegative(),
|
|
427
|
+
truncated: z.boolean()
|
|
428
|
+
})).max(12),
|
|
429
|
+
responseSlotCount: z.number().int().nonnegative(),
|
|
430
|
+
responseSlots: z.array(z.string().min(1)).max(12),
|
|
431
|
+
responseVariables: z.array(z.unknown()).max(12).optional()
|
|
432
|
+
})).max(6),
|
|
433
|
+
truncated: z.boolean()
|
|
434
|
+
}).optional(),
|
|
435
|
+
verification: z.object({
|
|
436
|
+
required: z.boolean(),
|
|
437
|
+
reasons: z.array(z.enum(surveyAssistantChangeVerificationReasonValues)).min(1).max(surveyAssistantChangeVerificationReasonValues.length),
|
|
438
|
+
newAuditFindingCount: z.number().int().nonnegative(),
|
|
439
|
+
auditFindings: z.array(z.object({
|
|
440
|
+
code: z.string().min(1),
|
|
441
|
+
severity: z.enum([
|
|
442
|
+
"error",
|
|
443
|
+
"warning",
|
|
444
|
+
"info"
|
|
445
|
+
]),
|
|
446
|
+
category: z.enum([
|
|
447
|
+
"structure",
|
|
448
|
+
"content",
|
|
449
|
+
"localization",
|
|
450
|
+
"logic",
|
|
451
|
+
"responses",
|
|
452
|
+
"assets",
|
|
453
|
+
"quality"
|
|
454
|
+
]),
|
|
455
|
+
itemId: z.string().min(1).optional(),
|
|
456
|
+
locale: z.string().min(1).optional(),
|
|
457
|
+
localizationRefs: z.array(localizationRefSchema).optional(),
|
|
458
|
+
messagePreview: z.string(),
|
|
459
|
+
messageLength: z.number().int().nonnegative(),
|
|
460
|
+
truncated: z.boolean()
|
|
461
|
+
})).max(8),
|
|
462
|
+
truncated: z.boolean()
|
|
463
|
+
}).optional(),
|
|
464
|
+
validation: surveyValidationResultSchema,
|
|
465
|
+
createdAt: z.string().min(1)
|
|
466
|
+
});
|
|
467
|
+
const surveyAssistantTurnTerminationReasonSchema = z.enum(surveyAssistantTurnTerminationReasonValues);
|
|
468
|
+
const surveyAssistantTurnFinalSchema = z.object({
|
|
469
|
+
protocolVersion: surveyAssistantProtocolVersionSchema,
|
|
470
|
+
turnId: z.string().min(1),
|
|
471
|
+
status: z.enum([
|
|
472
|
+
"completed",
|
|
473
|
+
"failed",
|
|
474
|
+
"aborted"
|
|
475
|
+
]),
|
|
476
|
+
executableChangeSetIds: z.array(z.string().min(1)),
|
|
477
|
+
blockedChangeSetIds: z.array(z.string().min(1)).max(100).optional(),
|
|
478
|
+
startedAt: z.string().datetime().optional(),
|
|
479
|
+
durationMs: z.number().int().nonnegative().optional(),
|
|
480
|
+
terminationReason: surveyAssistantTurnTerminationReasonSchema.optional(),
|
|
481
|
+
createdAt: z.string().min(1)
|
|
482
|
+
}).superRefine((value, context) => {
|
|
483
|
+
if (value.status !== "completed" && value.executableChangeSetIds.length > 0) context.addIssue({
|
|
484
|
+
code: "custom",
|
|
485
|
+
message: "Failed or aborted turns cannot authorize executable change sets.",
|
|
486
|
+
path: ["executableChangeSetIds"]
|
|
487
|
+
});
|
|
488
|
+
if (new Set(value.executableChangeSetIds).size !== value.executableChangeSetIds.length) context.addIssue({
|
|
489
|
+
code: "custom",
|
|
490
|
+
message: "Executable change-set ids must be unique.",
|
|
491
|
+
path: ["executableChangeSetIds"]
|
|
492
|
+
});
|
|
493
|
+
const blockedChangeSetIds = value.blockedChangeSetIds ?? [];
|
|
494
|
+
if (new Set(blockedChangeSetIds).size !== blockedChangeSetIds.length) context.addIssue({
|
|
495
|
+
code: "custom",
|
|
496
|
+
message: "Blocked change-set ids must be unique.",
|
|
497
|
+
path: ["blockedChangeSetIds"]
|
|
498
|
+
});
|
|
499
|
+
if (blockedChangeSetIds.length > 0 && value.executableChangeSetIds.length > 0) context.addIssue({
|
|
500
|
+
code: "custom",
|
|
501
|
+
message: "A blocked turn cannot authorize executable change sets.",
|
|
502
|
+
path: ["executableChangeSetIds"]
|
|
503
|
+
});
|
|
504
|
+
if (value.status === "completed" && value.terminationReason !== void 0) context.addIssue({
|
|
505
|
+
code: "custom",
|
|
506
|
+
message: "Completed turns cannot have a failure or abort reason.",
|
|
507
|
+
path: ["terminationReason"]
|
|
508
|
+
});
|
|
509
|
+
});
|
|
510
|
+
const surveyAssistantApplyPolicySchema = z.enum([
|
|
511
|
+
"auto",
|
|
512
|
+
"review",
|
|
513
|
+
"deny"
|
|
514
|
+
]);
|
|
515
|
+
const surveyApplyStatusSchema = z.enum([
|
|
516
|
+
"applied",
|
|
517
|
+
"rejected",
|
|
518
|
+
"stale",
|
|
519
|
+
"failed"
|
|
520
|
+
]);
|
|
521
|
+
const surveyApplyResultSchema = z.object({
|
|
522
|
+
status: surveyApplyStatusSchema,
|
|
523
|
+
changeId: z.string(),
|
|
524
|
+
summary: z.string(),
|
|
525
|
+
message: z.string(),
|
|
526
|
+
appliedOperations: z.number().int().nonnegative(),
|
|
527
|
+
issues: z.array(surveyValidationIssueSchema).optional()
|
|
528
|
+
});
|
|
529
|
+
const surveyBatchApplyResultSchema = z.object({ results: z.array(surveyApplyResultSchema) });
|
|
530
|
+
const surveyAssistantApplyOutcomeSchema = z.object({
|
|
531
|
+
protocolVersion: surveyAssistantProtocolVersionSchema,
|
|
532
|
+
turnId: z.string().min(1),
|
|
533
|
+
status: z.enum(surveyAssistantApplyOutcomeStatusValues),
|
|
534
|
+
message: z.string().min(1).max(2e3),
|
|
535
|
+
results: z.array(z.object({
|
|
536
|
+
status: surveyApplyStatusSchema,
|
|
537
|
+
changeId: z.string().min(1).max(240),
|
|
538
|
+
summary: z.string().min(1).max(500),
|
|
539
|
+
message: z.string().min(1).max(2e3),
|
|
540
|
+
appliedOperations: z.number().int().nonnegative()
|
|
541
|
+
})).max(100).optional(),
|
|
542
|
+
preparedChanges: z.array(z.object({
|
|
543
|
+
changeId: z.string().min(1).max(240),
|
|
544
|
+
status: z.enum(["validated", "rejected"]),
|
|
545
|
+
summary: z.string().min(1).max(500),
|
|
546
|
+
operationCount: z.number().int().nonnegative()
|
|
547
|
+
})).max(24).optional(),
|
|
548
|
+
createdAt: z.string().min(1)
|
|
549
|
+
});
|
|
550
|
+
const applyReceiptSchema = z.object({
|
|
551
|
+
protocolVersion: surveyAssistantProtocolVersionSchema,
|
|
552
|
+
turnId: z.string().min(1),
|
|
553
|
+
changeSetId: z.string().min(1),
|
|
554
|
+
beforeVersion: surveyDocumentVersionSchema,
|
|
555
|
+
afterVersion: surveyDocumentVersionSchema.optional(),
|
|
556
|
+
status: surveyApplyStatusSchema,
|
|
557
|
+
operationCount: z.number().int().nonnegative(),
|
|
558
|
+
commit: z.object({
|
|
559
|
+
id: z.string().min(1).optional(),
|
|
560
|
+
index: z.number().int().optional()
|
|
561
|
+
}).optional(),
|
|
562
|
+
issues: z.array(surveyValidationIssueSchema).optional(),
|
|
563
|
+
createdAt: z.string().min(1)
|
|
564
|
+
});
|
|
565
|
+
const surveyAssistantDraftChangeEventSchema = surveyChangeSetSchema;
|
|
566
|
+
//#endregion
|
|
567
|
+
export { MAX_USER_ERROR_MESSAGE_LENGTH as $, surveyAssistantTranslateContentResultSchema as A, surveyAssistantDraftChangePreconditionSchema as B, surveyAssistantSuggestedTextSchema as C, surveyAssistantTaskRequestSchema as D, surveyAssistantTaskItemSummarySchema as E, surveyAssistantThreadTranscriptSchema as F, surveyDocumentVersionSchema as G, surveyAssistantSnapshotPayloadSchema as H, updateSurveyAssistantThreadInputSchema as I, isSurveyAssistantErrorRetryable as J, surveyEditorUIContextSchema as K, SURVEY_ASSISTANT_PROTOCOL_VERSION as L, createSurveyAssistantThreadInputSchema as M, surveyAssistantThreadListSchema as N, surveyAssistantTranslateContentEntrySchema as O, surveyAssistantThreadSchema as P, surveyAssistantErrorInfoSchema as Q, SURVEY_EDITOR_UI_TASK_MAX_DATA_LENGTH as R, surveyAssistantSuggestResponseSettingsResultSchema as S, surveyAssistantTaskInvocationModeSchema as T, surveyAssistantSnapshotSchema as U, surveyAssistantProtocolVersionSchema as V, surveyDocumentSnapshotSchema as W, serializeSurveyAssistantError as X, parseSurveyAssistantError as Y, surveyAssistantErrorCodeSchema as Z, surveyAssistantSuggestItemLabelInputSchema as _, surveyApplyStatusSchema as a, surveyAssistantSuggestResponseNameResultSchema as b, surveyAssistantDraftChangeEventSchema as c, surveyBatchApplyResultSchema as d, getSurveyAssistantEmbeddedBinaryMarker as et, surveyChangeSetSchema as f, surveyAssistantKeySuggestionSchema as g, surveyAssistantKeySuggestionCategorySchema as h, surveyApplyResultSchema as i, SURVEY_ASSISTANT_ATTACHMENT_PART_TYPE as j, surveyAssistantTranslateContentInputSchema as k, surveyAssistantTurnFinalSchema as l, surveyAssistantModelOptionSchema as m, SURVEY_ASSISTANT_TURN_FINAL_PART_TYPE as n, redactSurveyAssistantDiagnosticSecrets as nt, surveyAssistantApplyOutcomeSchema as o, surveyAssistantModelCatalogSchema as p, surveyEditorUITaskSchema as q, applyReceiptSchema as r, sanitizeSurveyAssistantDiagnosticText as rt, surveyAssistantApplyPolicySchema as s, SURVEY_ASSISTANT_TURN_FINAL_DATA_NAME as t, isSurveyAssistantSensitiveMetadataKey as tt, surveyAssistantTurnTerminationReasonSchema as u, surveyAssistantSuggestItemLabelResultSchema as v, surveyAssistantTaskContextSchema as w, surveyAssistantSuggestResponseSettingsInputSchema as x, surveyAssistantSuggestResponseNameInputSchema as y, rawSurveyDocumentSchema as z };
|
|
568
|
+
|
|
569
|
+
//# sourceMappingURL=protocol-BQ7uIDYT.mjs.map
|