forge-openclaw-plugin 0.2.23 → 0.2.25
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 +13 -0
- package/dist/assets/{board-_C6oMy5w.js → board-VmF4FAfr.js} +3 -3
- package/dist/assets/{board-_C6oMy5w.js.map → board-VmF4FAfr.js.map} +1 -1
- package/dist/assets/index-CFCKDIMH.js +67 -0
- package/dist/assets/index-CFCKDIMH.js.map +1 -0
- package/dist/assets/index-ZPY6U1TU.css +1 -0
- package/dist/assets/{motion-D4sZgCHd.js → motion-DvkU14p-.js} +3 -3
- package/dist/assets/motion-DvkU14p-.js.map +1 -0
- package/dist/assets/{table-BWzTaky1.js → table-DgiPof9E.js} +2 -2
- package/dist/assets/{table-BWzTaky1.js.map → table-DgiPof9E.js.map} +1 -1
- package/dist/assets/{ui-BzK4azQb.js → ui-nYfoC0Gq.js} +2 -2
- package/dist/assets/{ui-BzK4azQb.js.map → ui-nYfoC0Gq.js.map} +1 -1
- package/dist/assets/vendor-D9PTEPSB.js +824 -0
- package/dist/assets/vendor-D9PTEPSB.js.map +1 -0
- package/dist/assets/viz-Cqb6s--o.js +34 -0
- package/dist/assets/viz-Cqb6s--o.js.map +1 -0
- package/dist/index.html +8 -8
- package/dist/openclaw/parity.d.ts +1 -1
- package/dist/openclaw/parity.js +29 -0
- package/dist/openclaw/plugin-entry-shared.d.ts +1 -0
- package/dist/openclaw/plugin-entry-shared.js +7 -4
- package/dist/openclaw/plugin-sdk-types.d.ts +12 -0
- package/dist/openclaw/routes.js +236 -0
- package/dist/openclaw/session-bootstrap.d.ts +78 -0
- package/dist/openclaw/session-bootstrap.js +240 -0
- package/dist/openclaw/tools.js +279 -3
- package/dist/server/app.js +855 -19
- package/dist/server/connectors/box-registry.js +257 -0
- package/dist/server/db.js +2 -0
- package/dist/server/discovery-advertiser.js +114 -0
- package/dist/server/health.js +39 -11
- package/dist/server/index.js +4 -0
- package/dist/server/managers/platform/llm-manager.js +40 -4
- package/dist/server/managers/platform/openai-responses-provider.js +129 -19
- package/dist/server/movement.js +2935 -0
- package/dist/server/openapi.js +628 -5
- package/dist/server/psyche-types.js +15 -1
- package/dist/server/questionnaire-flow.js +552 -0
- package/dist/server/questionnaire-seeds.js +853 -0
- package/dist/server/questionnaire-types.js +340 -0
- package/dist/server/repositories/ai-connectors.js +944 -0
- package/dist/server/repositories/ai-processors.js +547 -0
- package/dist/server/repositories/diagnostic-logs.js +57 -4
- package/dist/server/repositories/entity-ownership.js +9 -1
- package/dist/server/repositories/habits.js +77 -9
- package/dist/server/repositories/model-settings.js +216 -0
- package/dist/server/repositories/notes.js +57 -15
- package/dist/server/repositories/preferences.js +124 -0
- package/dist/server/repositories/questionnaires.js +1338 -0
- package/dist/server/repositories/rewards.js +2 -2
- package/dist/server/repositories/settings.js +108 -12
- package/dist/server/repositories/surface-layouts.js +76 -0
- package/dist/server/repositories/wiki-memory.js +5 -1
- package/dist/server/services/entity-crud.js +81 -2
- package/dist/server/services/openai-codex-oauth.js +153 -0
- package/dist/server/services/psyche-observation-calendar.js +46 -0
- package/dist/server/types.js +492 -3
- package/dist/server/watch-mobile.js +562 -0
- package/dist/server/web.js +9 -2
- package/openclaw.plugin.json +1 -1
- package/package.json +6 -1
- package/server/migrations/024_questionnaires.sql +96 -0
- package/server/migrations/025_ai_model_connections.sql +26 -0
- package/server/migrations/026_custom_theme_settings.sql +2 -0
- package/server/migrations/027_ai_processors.sql +31 -0
- package/server/migrations/028_movement_domain.sql +136 -0
- package/server/migrations/029_watch_micro_capture.sql +23 -0
- package/server/migrations/030_surface_layouts.sql +5 -0
- package/server/migrations/031_ai_processor_runtime_upgrades.sql +10 -0
- package/server/migrations/032_ai_connectors.sql +44 -0
- package/server/migrations/033_movement_trip_point_sync.sql +36 -0
- package/server/migrations/034_movement_segment_sync.sql +49 -0
- package/skills/forge-openclaw/SKILL.md +12 -1
- package/skills/forge-openclaw/entity_conversation_playbooks.md +331 -84
- package/skills/forge-openclaw/psyche_entity_playbooks.md +252 -221
- package/dist/assets/index-Ch_xeZ2u.js +0 -63
- package/dist/assets/index-Ch_xeZ2u.js.map +0 -1
- package/dist/assets/index-DvVM7K6j.css +0 -1
- package/dist/assets/motion-D4sZgCHd.js.map +0 -1
- package/dist/assets/vendor-De38P6YR.js +0 -729
- package/dist/assets/vendor-De38P6YR.js.map +0 -1
- package/dist/assets/viz-C6hfyqzu.js +0 -34
- package/dist/assets/viz-C6hfyqzu.js.map +0 -1
- package/skills/forge-openclaw/cron_jobs.md +0 -395
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const trimmedString = z.string().trim();
|
|
3
|
+
const nonEmptyTrimmedString = trimmedString.min(1);
|
|
4
|
+
const stringArraySchema = z.array(nonEmptyTrimmedString);
|
|
5
|
+
export const questionnaireSourceClassSchema = z.enum([
|
|
6
|
+
"public_domain",
|
|
7
|
+
"free_use",
|
|
8
|
+
"open_access",
|
|
9
|
+
"open_noncommercial",
|
|
10
|
+
"free_clinician",
|
|
11
|
+
"secondary_verified"
|
|
12
|
+
]);
|
|
13
|
+
export const questionnaireAvailabilitySchema = z.enum([
|
|
14
|
+
"open",
|
|
15
|
+
"free_clinician",
|
|
16
|
+
"custom"
|
|
17
|
+
]);
|
|
18
|
+
export const questionnairePresentationModeSchema = z.enum([
|
|
19
|
+
"single_question",
|
|
20
|
+
"batched_likert"
|
|
21
|
+
]);
|
|
22
|
+
export const questionnaireVersionStatusSchema = z.enum([
|
|
23
|
+
"draft",
|
|
24
|
+
"published",
|
|
25
|
+
"archived"
|
|
26
|
+
]);
|
|
27
|
+
export const questionnaireInstrumentStatusSchema = z.enum([
|
|
28
|
+
"active",
|
|
29
|
+
"archived"
|
|
30
|
+
]);
|
|
31
|
+
export const questionnaireRunStatusSchema = z.enum([
|
|
32
|
+
"draft",
|
|
33
|
+
"completed",
|
|
34
|
+
"abandoned"
|
|
35
|
+
]);
|
|
36
|
+
export const questionnaireComparatorSchema = z.enum([
|
|
37
|
+
"eq",
|
|
38
|
+
"neq",
|
|
39
|
+
"gt",
|
|
40
|
+
"gte",
|
|
41
|
+
"lt",
|
|
42
|
+
"lte"
|
|
43
|
+
]);
|
|
44
|
+
export const questionnaireScoreValueTypeSchema = z.enum([
|
|
45
|
+
"number",
|
|
46
|
+
"text",
|
|
47
|
+
"boolean",
|
|
48
|
+
"percent"
|
|
49
|
+
]);
|
|
50
|
+
export const questionnaireMissingModeSchema = z.enum([
|
|
51
|
+
"require_all",
|
|
52
|
+
"allow_partial",
|
|
53
|
+
"min_answered"
|
|
54
|
+
]);
|
|
55
|
+
export const questionnaireOptionSchema = z.object({
|
|
56
|
+
key: nonEmptyTrimmedString,
|
|
57
|
+
label: nonEmptyTrimmedString,
|
|
58
|
+
value: z.number(),
|
|
59
|
+
description: trimmedString.default("")
|
|
60
|
+
});
|
|
61
|
+
export const questionnaireFlowRuleSchema = z.object({
|
|
62
|
+
script: nonEmptyTrimmedString
|
|
63
|
+
});
|
|
64
|
+
export const questionnaireItemSchema = z.object({
|
|
65
|
+
id: nonEmptyTrimmedString,
|
|
66
|
+
prompt: nonEmptyTrimmedString,
|
|
67
|
+
shortLabel: trimmedString.default(""),
|
|
68
|
+
description: trimmedString.default(""),
|
|
69
|
+
helperText: trimmedString.default(""),
|
|
70
|
+
required: z.boolean().default(true),
|
|
71
|
+
visibility: questionnaireFlowRuleSchema.nullable().default(null),
|
|
72
|
+
options: z.array(questionnaireOptionSchema).min(1),
|
|
73
|
+
tags: stringArraySchema.default([])
|
|
74
|
+
});
|
|
75
|
+
export const questionnaireSectionSchema = z.object({
|
|
76
|
+
id: nonEmptyTrimmedString,
|
|
77
|
+
title: nonEmptyTrimmedString,
|
|
78
|
+
description: trimmedString.default(""),
|
|
79
|
+
visibility: questionnaireFlowRuleSchema.nullable().default(null),
|
|
80
|
+
itemIds: stringArraySchema.min(1)
|
|
81
|
+
});
|
|
82
|
+
export const questionnaireDefinitionSchema = z.object({
|
|
83
|
+
locale: nonEmptyTrimmedString.default("en"),
|
|
84
|
+
instructions: trimmedString.default(""),
|
|
85
|
+
completionNote: trimmedString.default(""),
|
|
86
|
+
presentationMode: questionnairePresentationModeSchema,
|
|
87
|
+
responseStyle: nonEmptyTrimmedString,
|
|
88
|
+
itemIds: stringArraySchema.min(1),
|
|
89
|
+
items: z.array(questionnaireItemSchema).min(1),
|
|
90
|
+
sections: z.array(questionnaireSectionSchema).min(1),
|
|
91
|
+
pageSize: z.number().int().min(1).max(64).nullable().default(null)
|
|
92
|
+
});
|
|
93
|
+
export const questionnaireConstExpressionSchema = z.object({
|
|
94
|
+
kind: z.literal("const"),
|
|
95
|
+
value: z.union([z.number(), z.string(), z.boolean(), z.null()])
|
|
96
|
+
});
|
|
97
|
+
export const questionnaireAnswerExpressionSchema = z.object({
|
|
98
|
+
kind: z.literal("answer"),
|
|
99
|
+
itemId: nonEmptyTrimmedString,
|
|
100
|
+
defaultValue: z.number().nullable().optional()
|
|
101
|
+
});
|
|
102
|
+
export const questionnaireScoreExpressionRefSchema = z.object({
|
|
103
|
+
kind: z.literal("score"),
|
|
104
|
+
scoreKey: nonEmptyTrimmedString
|
|
105
|
+
});
|
|
106
|
+
export const questionnaireScoreExpressionSchema = z.lazy(() => z.union([
|
|
107
|
+
questionnaireConstExpressionSchema,
|
|
108
|
+
questionnaireAnswerExpressionSchema,
|
|
109
|
+
questionnaireScoreExpressionRefSchema,
|
|
110
|
+
z.object({
|
|
111
|
+
kind: z.enum(["add", "multiply", "min", "max"]),
|
|
112
|
+
values: z.array(questionnaireScoreExpressionSchema).min(1)
|
|
113
|
+
}),
|
|
114
|
+
z.object({
|
|
115
|
+
kind: z.enum(["subtract", "divide"]),
|
|
116
|
+
left: questionnaireScoreExpressionSchema,
|
|
117
|
+
right: questionnaireScoreExpressionSchema,
|
|
118
|
+
zeroValue: z.number().nullable().optional()
|
|
119
|
+
}),
|
|
120
|
+
z.object({
|
|
121
|
+
kind: z.enum(["sum", "average"]),
|
|
122
|
+
itemIds: stringArraySchema.min(1)
|
|
123
|
+
}),
|
|
124
|
+
z.object({
|
|
125
|
+
kind: z.literal("weighted_sum"),
|
|
126
|
+
terms: z
|
|
127
|
+
.array(z.object({
|
|
128
|
+
itemId: nonEmptyTrimmedString,
|
|
129
|
+
weight: z.number()
|
|
130
|
+
}))
|
|
131
|
+
.min(1)
|
|
132
|
+
}),
|
|
133
|
+
z.object({
|
|
134
|
+
kind: z.enum(["count_if", "filtered_mean"]),
|
|
135
|
+
itemIds: stringArraySchema.min(1),
|
|
136
|
+
comparator: questionnaireComparatorSchema,
|
|
137
|
+
target: z.number()
|
|
138
|
+
}),
|
|
139
|
+
z.object({
|
|
140
|
+
kind: z.literal("compare"),
|
|
141
|
+
comparator: questionnaireComparatorSchema,
|
|
142
|
+
left: questionnaireScoreExpressionSchema,
|
|
143
|
+
right: questionnaireScoreExpressionSchema
|
|
144
|
+
}),
|
|
145
|
+
z.object({
|
|
146
|
+
kind: z.literal("if"),
|
|
147
|
+
condition: questionnaireScoreExpressionSchema,
|
|
148
|
+
then: questionnaireScoreExpressionSchema,
|
|
149
|
+
else: questionnaireScoreExpressionSchema
|
|
150
|
+
}),
|
|
151
|
+
z.object({
|
|
152
|
+
kind: z.literal("round"),
|
|
153
|
+
value: questionnaireScoreExpressionSchema,
|
|
154
|
+
digits: z.number().int().min(0).max(6)
|
|
155
|
+
})
|
|
156
|
+
]));
|
|
157
|
+
export const questionnaireMissingPolicySchema = z.object({
|
|
158
|
+
mode: questionnaireMissingModeSchema,
|
|
159
|
+
minAnswered: z.number().int().min(0).nullable().optional()
|
|
160
|
+
});
|
|
161
|
+
export const questionnaireScoreBandSchema = z.object({
|
|
162
|
+
label: nonEmptyTrimmedString,
|
|
163
|
+
min: z.number().nullable().optional(),
|
|
164
|
+
max: z.number().nullable().optional(),
|
|
165
|
+
severity: trimmedString.default("")
|
|
166
|
+
});
|
|
167
|
+
export const questionnaireScoreDefinitionSchema = z.object({
|
|
168
|
+
key: nonEmptyTrimmedString,
|
|
169
|
+
label: nonEmptyTrimmedString,
|
|
170
|
+
description: trimmedString.default(""),
|
|
171
|
+
valueType: questionnaireScoreValueTypeSchema.default("number"),
|
|
172
|
+
expression: questionnaireScoreExpressionSchema,
|
|
173
|
+
dependsOnItemIds: stringArraySchema.default([]),
|
|
174
|
+
missingPolicy: questionnaireMissingPolicySchema
|
|
175
|
+
.default({ mode: "require_all" })
|
|
176
|
+
.optional(),
|
|
177
|
+
bands: z.array(questionnaireScoreBandSchema).default([]),
|
|
178
|
+
roundTo: z.number().int().min(0).max(6).nullable().optional(),
|
|
179
|
+
unitLabel: trimmedString.default("")
|
|
180
|
+
});
|
|
181
|
+
export const questionnaireScoringSchema = z.object({
|
|
182
|
+
scores: z.array(questionnaireScoreDefinitionSchema).min(1)
|
|
183
|
+
});
|
|
184
|
+
export const questionnaireProvenanceSourceSchema = z.object({
|
|
185
|
+
label: nonEmptyTrimmedString,
|
|
186
|
+
url: nonEmptyTrimmedString,
|
|
187
|
+
citation: trimmedString.default(""),
|
|
188
|
+
notes: trimmedString.default("")
|
|
189
|
+
});
|
|
190
|
+
export const questionnaireProvenanceSchema = z.object({
|
|
191
|
+
retrievalDate: nonEmptyTrimmedString,
|
|
192
|
+
sourceClass: questionnaireSourceClassSchema,
|
|
193
|
+
scoringNotes: trimmedString.default(""),
|
|
194
|
+
sources: z.array(questionnaireProvenanceSourceSchema).min(1)
|
|
195
|
+
});
|
|
196
|
+
export const questionnaireVersionSchema = z.object({
|
|
197
|
+
id: z.string(),
|
|
198
|
+
instrumentId: z.string(),
|
|
199
|
+
versionNumber: z.number().int().min(1),
|
|
200
|
+
status: questionnaireVersionStatusSchema,
|
|
201
|
+
label: trimmedString.default(""),
|
|
202
|
+
isReadOnly: z.boolean(),
|
|
203
|
+
definition: questionnaireDefinitionSchema,
|
|
204
|
+
scoring: questionnaireScoringSchema,
|
|
205
|
+
provenance: questionnaireProvenanceSchema,
|
|
206
|
+
createdBy: trimmedString.nullable(),
|
|
207
|
+
createdAt: z.string(),
|
|
208
|
+
updatedAt: z.string(),
|
|
209
|
+
publishedAt: z.string().nullable()
|
|
210
|
+
});
|
|
211
|
+
export const questionnaireHistoryPointSchema = z.object({
|
|
212
|
+
runId: z.string(),
|
|
213
|
+
completedAt: z.string(),
|
|
214
|
+
primaryScore: z.number().nullable(),
|
|
215
|
+
primaryScoreLabel: trimmedString.default(""),
|
|
216
|
+
bandLabel: trimmedString.default("")
|
|
217
|
+
});
|
|
218
|
+
export const questionnaireInstrumentSummarySchema = z.object({
|
|
219
|
+
id: z.string(),
|
|
220
|
+
key: nonEmptyTrimmedString,
|
|
221
|
+
slug: nonEmptyTrimmedString,
|
|
222
|
+
title: nonEmptyTrimmedString,
|
|
223
|
+
subtitle: trimmedString.default(""),
|
|
224
|
+
description: trimmedString.default(""),
|
|
225
|
+
aliases: stringArraySchema.default([]),
|
|
226
|
+
symptomDomains: stringArraySchema.default([]),
|
|
227
|
+
tags: stringArraySchema.default([]),
|
|
228
|
+
sourceClass: questionnaireSourceClassSchema,
|
|
229
|
+
availability: questionnaireAvailabilitySchema,
|
|
230
|
+
responseStyle: nonEmptyTrimmedString,
|
|
231
|
+
presentationMode: questionnairePresentationModeSchema,
|
|
232
|
+
itemCount: z.number().int().min(0),
|
|
233
|
+
isSelfReport: z.boolean(),
|
|
234
|
+
isSystem: z.boolean(),
|
|
235
|
+
isReadOnly: z.boolean(),
|
|
236
|
+
ownerUserId: trimmedString.nullable(),
|
|
237
|
+
currentVersionId: z.string().nullable(),
|
|
238
|
+
currentVersionNumber: z.number().int().min(1).nullable(),
|
|
239
|
+
latestRunId: z.string().nullable(),
|
|
240
|
+
latestRunAt: z.string().nullable(),
|
|
241
|
+
completedRunCount: z.number().int().min(0),
|
|
242
|
+
primarySourceUrl: trimmedString.default(""),
|
|
243
|
+
createdAt: z.string(),
|
|
244
|
+
updatedAt: z.string()
|
|
245
|
+
});
|
|
246
|
+
export const questionnaireInstrumentDetailSchema = questionnaireInstrumentSummarySchema.extend({
|
|
247
|
+
status: questionnaireInstrumentStatusSchema,
|
|
248
|
+
currentVersion: questionnaireVersionSchema.nullable(),
|
|
249
|
+
draftVersion: questionnaireVersionSchema.nullable(),
|
|
250
|
+
versions: z.array(questionnaireVersionSchema),
|
|
251
|
+
history: z.array(questionnaireHistoryPointSchema),
|
|
252
|
+
latestDraftRunId: z.string().nullable()
|
|
253
|
+
});
|
|
254
|
+
export const questionnaireAnswerSchema = z.object({
|
|
255
|
+
itemId: nonEmptyTrimmedString,
|
|
256
|
+
optionKey: trimmedString.nullable(),
|
|
257
|
+
valueText: trimmedString.default(""),
|
|
258
|
+
numericValue: z.number().nullable(),
|
|
259
|
+
answer: z.record(z.string(), z.unknown()).default({}),
|
|
260
|
+
createdAt: z.string(),
|
|
261
|
+
updatedAt: z.string()
|
|
262
|
+
});
|
|
263
|
+
export const questionnaireRunScoreSchema = z.object({
|
|
264
|
+
scoreKey: nonEmptyTrimmedString,
|
|
265
|
+
label: nonEmptyTrimmedString,
|
|
266
|
+
valueNumeric: z.number().nullable(),
|
|
267
|
+
valueText: trimmedString.nullable(),
|
|
268
|
+
bandLabel: trimmedString.default(""),
|
|
269
|
+
severity: trimmedString.default(""),
|
|
270
|
+
details: z.record(z.string(), z.unknown()).default({}),
|
|
271
|
+
createdAt: z.string()
|
|
272
|
+
});
|
|
273
|
+
export const questionnaireRunSchema = z.object({
|
|
274
|
+
id: z.string(),
|
|
275
|
+
instrumentId: z.string(),
|
|
276
|
+
versionId: z.string(),
|
|
277
|
+
userId: trimmedString.nullable(),
|
|
278
|
+
status: questionnaireRunStatusSchema,
|
|
279
|
+
startedAt: z.string(),
|
|
280
|
+
updatedAt: z.string(),
|
|
281
|
+
completedAt: z.string().nullable(),
|
|
282
|
+
progressIndex: z.number().int().min(0)
|
|
283
|
+
});
|
|
284
|
+
export const questionnaireRunDetailSchema = z.object({
|
|
285
|
+
run: questionnaireRunSchema,
|
|
286
|
+
instrument: questionnaireInstrumentSummarySchema,
|
|
287
|
+
version: questionnaireVersionSchema,
|
|
288
|
+
answers: z.array(questionnaireAnswerSchema),
|
|
289
|
+
scores: z.array(questionnaireRunScoreSchema),
|
|
290
|
+
history: z.array(questionnaireHistoryPointSchema)
|
|
291
|
+
});
|
|
292
|
+
export const questionnaireAnswerInputSchema = z.object({
|
|
293
|
+
itemId: nonEmptyTrimmedString,
|
|
294
|
+
optionKey: trimmedString.nullable().optional(),
|
|
295
|
+
valueText: trimmedString.default(""),
|
|
296
|
+
numericValue: z.number().nullable().optional(),
|
|
297
|
+
answer: z.record(z.string(), z.unknown()).default({})
|
|
298
|
+
});
|
|
299
|
+
export const startQuestionnaireRunSchema = z.object({
|
|
300
|
+
versionId: z.string().trim().min(1).nullable().optional(),
|
|
301
|
+
userId: z.string().trim().min(1).nullable().optional()
|
|
302
|
+
});
|
|
303
|
+
export const updateQuestionnaireRunSchema = z.object({
|
|
304
|
+
answers: z.array(questionnaireAnswerInputSchema).default([]),
|
|
305
|
+
progressIndex: z.number().int().min(0).nullable().optional()
|
|
306
|
+
});
|
|
307
|
+
export const createQuestionnaireInstrumentSchema = z.object({
|
|
308
|
+
title: nonEmptyTrimmedString,
|
|
309
|
+
subtitle: trimmedString.default(""),
|
|
310
|
+
description: trimmedString.default(""),
|
|
311
|
+
aliases: stringArraySchema.default([]),
|
|
312
|
+
symptomDomains: stringArraySchema.default([]),
|
|
313
|
+
tags: stringArraySchema.default([]),
|
|
314
|
+
sourceClass: questionnaireSourceClassSchema.default("secondary_verified"),
|
|
315
|
+
availability: questionnaireAvailabilitySchema.default("custom"),
|
|
316
|
+
isSelfReport: z.boolean().default(true),
|
|
317
|
+
userId: z.string().trim().min(1).nullable().optional(),
|
|
318
|
+
versionLabel: trimmedString.default("Draft 1"),
|
|
319
|
+
definition: questionnaireDefinitionSchema,
|
|
320
|
+
scoring: questionnaireScoringSchema,
|
|
321
|
+
provenance: questionnaireProvenanceSchema
|
|
322
|
+
});
|
|
323
|
+
export const updateQuestionnaireVersionSchema = z.object({
|
|
324
|
+
title: nonEmptyTrimmedString,
|
|
325
|
+
subtitle: trimmedString.default(""),
|
|
326
|
+
description: trimmedString.default(""),
|
|
327
|
+
aliases: stringArraySchema.default([]),
|
|
328
|
+
symptomDomains: stringArraySchema.default([]),
|
|
329
|
+
tags: stringArraySchema.default([]),
|
|
330
|
+
sourceClass: questionnaireSourceClassSchema,
|
|
331
|
+
availability: questionnaireAvailabilitySchema,
|
|
332
|
+
isSelfReport: z.boolean(),
|
|
333
|
+
label: trimmedString.default(""),
|
|
334
|
+
definition: questionnaireDefinitionSchema,
|
|
335
|
+
scoring: questionnaireScoringSchema,
|
|
336
|
+
provenance: questionnaireProvenanceSchema
|
|
337
|
+
});
|
|
338
|
+
export const publishQuestionnaireVersionSchema = z.object({
|
|
339
|
+
label: trimmedString.default("")
|
|
340
|
+
});
|