@takeshape/schema 11.105.1 → 11.106.1
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/agents.d.ts +4 -4
- package/dist/agents.js +4 -4
- package/dist/migration/index.d.ts +1 -0
- package/dist/migration/index.js +3 -1
- package/dist/migration/to/v3.57.0.d.ts +4 -0
- package/dist/migration/to/v3.57.0.js +18 -0
- package/dist/migration/types.d.ts +7 -4
- package/dist/migration/types.js +3 -3
- package/dist/project-schema/index.d.ts +4 -1
- package/dist/project-schema/index.js +2 -1
- package/dist/project-schema/latest.d.ts +452 -260
- package/dist/project-schema/migrate.js +4 -1
- package/dist/project-schema/v3.57.0.d.ts +2597 -0
- package/dist/project-schema/v3.57.0.js +7 -0
- package/dist/refs.js +2 -2
- package/dist/schema-util.d.ts +2 -2
- package/dist/schemas/index.d.ts +2 -2
- package/dist/schemas/index.js +5 -3
- package/dist/schemas/project-schema/{experimental.json → experimental-2025-07.json} +1 -2
- package/dist/schemas/project-schema/latest.d.ts +180 -0
- package/dist/schemas/project-schema/latest.js +11 -0
- package/dist/schemas/project-schema/latest.json +1292 -12
- package/dist/schemas/project-schema/v3.48.0.json +2 -2
- package/dist/schemas/project-schema/v3.49.0.json +2 -2
- package/dist/schemas/project-schema/v3.50.0.json +3 -3
- package/dist/schemas/project-schema/v3.51.0.json +3 -3
- package/dist/schemas/project-schema/v3.52.0.json +3 -3
- package/dist/schemas/project-schema/v3.53.0.json +3 -3
- package/dist/schemas/project-schema/v3.54.0.json +3 -3
- package/dist/schemas/project-schema/v3.55.0.json +3 -3
- package/dist/schemas/project-schema/v3.56.0.json +7 -7
- package/dist/schemas/project-schema/v3.57.0.json +4810 -0
- package/dist/schemas/project-schema.json +3 -0
- package/dist/util/mcp.d.ts +1 -1
- package/dist/util/mcp.js +2 -2
- package/dist/validate/validate.d.ts +2 -1
- package/dist/validate/validate.js +15 -13
- package/examples/latest/agent-schema.json +174 -176
- package/examples/latest/all-fields-shapes-inline.json +1 -1
- package/examples/latest/all-fields-shapes.json +1 -1
- package/examples/latest/betzino.json +1 -1
- package/examples/latest/blog-schema.json +1 -1
- package/examples/latest/brewery-schema.json +1 -1
- package/examples/latest/clear-cache-schema.json +1 -1
- package/examples/latest/complex-project-schema.json +1 -1
- package/examples/latest/complex-schema.json +1 -1
- package/examples/latest/edit-schema.json +1 -1
- package/examples/latest/fabric-ecommerce.json +1 -1
- package/examples/latest/frank-and-fred-schema.json +1 -1
- package/examples/latest/klirr-schema.json +1 -1
- package/examples/latest/layers/rick-and-morty-layer.json +1 -1
- package/examples/latest/layers/shopify-layer-2023-01.json +1 -1
- package/examples/latest/layers/shopify-storefront-2023-04.json +1 -1
- package/examples/latest/layers/wordpress-2024-01.json +1 -1
- package/examples/latest/massive-schema.json +1 -1
- package/examples/latest/mill-components-schema.json +1 -1
- package/examples/latest/nested-shape-arrays.json +1 -1
- package/examples/latest/one-earth.json +1 -1
- package/examples/latest/pet-oneof-array.json +1 -1
- package/examples/latest/post-schema.json +1 -1
- package/examples/latest/pruned-shopify-product-schema.json +1 -1
- package/examples/latest/rag-example.json +1 -1
- package/examples/latest/real-world-schema.json +1 -1
- package/examples/latest/recursive-repeater-schema.json +1 -1
- package/examples/latest/recursive-schema.json +1 -1
- package/examples/latest/rick-and-morty-ast.json +1 -1
- package/examples/latest/rick-and-morty-graphql.json +1 -1
- package/examples/latest/rick-and-morty-rest.json +1 -1
- package/examples/latest/rick-and-morty-user-schema.json +1 -1
- package/examples/latest/rick-and-morty-with-indexing.json +1 -1
- package/examples/latest/schema-where-filter.json +1 -1
- package/examples/latest/schema-with-repeater-draftjs.json +1 -1
- package/examples/latest/schema-with-rick-and-morty.json +1 -1
- package/examples/latest/shape-books-v3_2_0.json +1 -1
- package/examples/latest/shape-books.json +1 -1
- package/examples/latest/shape-editor-schema-edited.json +1 -1
- package/examples/latest/shape-editor-schema-initial.json +1 -1
- package/examples/latest/shapedb-crud-every-prop-type.json +1 -1
- package/examples/latest/shopify-lookbook.json +1 -1
- package/examples/latest/shopify-product-2022-07.json +1 -1
- package/examples/latest/shopify-product-2023-04.json +1 -1
- package/examples/latest/shopify-store-with-widget.json +1 -1
- package/examples/latest/stripe-product-runtime-schema.json +1 -1
- package/examples/latest/stripe-starter-resolved.json +1 -1
- package/examples/latest/user-schema-no-required.json +1 -1
- package/examples/latest/user-schema-with-defaults.json +1 -1
- package/examples/latest/valvoline-ai-demo.json +1 -1
- package/examples/latest/vector-search-schema.json +1 -1
- package/package.json +27 -28
package/dist/util/mcp.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ProjectSchemaJSON, ToolJSON, ToolMap } from '../project-schema/latest.ts';
|
|
2
|
-
export declare const TOOL_SCHEMA_PATH: readonly ["
|
|
2
|
+
export declare const TOOL_SCHEMA_PATH: readonly ["mcp", "tools"];
|
|
3
3
|
export declare function getMcpToolMap(projectSchema: ProjectSchemaJSON): ToolMap | undefined;
|
|
4
4
|
export declare function getMcpTools(projectSchema: ProjectSchemaJSON): ToolJSON[] | undefined;
|
|
5
5
|
export declare function getMcpToolNames(projectSchema: ProjectSchemaJSON): string[];
|
package/dist/util/mcp.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import set from 'lodash/fp/set.js';
|
|
2
|
-
export const TOOL_SCHEMA_PATH = ['
|
|
2
|
+
export const TOOL_SCHEMA_PATH = ['mcp', 'tools'];
|
|
3
3
|
export function getMcpToolMap(projectSchema) {
|
|
4
|
-
return projectSchema
|
|
4
|
+
return projectSchema.mcp?.tools;
|
|
5
5
|
}
|
|
6
6
|
export function getMcpTools(projectSchema) {
|
|
7
7
|
const toolMap = getMcpToolMap(projectSchema);
|
|
@@ -21,7 +21,7 @@ export type Validation = {
|
|
|
21
21
|
validate: (schema: unknown, options?: ValidateSyntaxOptions) => SchemaValidationResult;
|
|
22
22
|
};
|
|
23
23
|
export type ValidateSyntaxOptions = {
|
|
24
|
-
|
|
24
|
+
suppressErrors?: (error: SchemaValidationErrorItem) => boolean;
|
|
25
25
|
resolveLayer?: ResolveLayer;
|
|
26
26
|
};
|
|
27
27
|
export type ResolveLayer = (layerId: string) => Promise<LayerState>;
|
|
@@ -61,6 +61,7 @@ export type ProjectSchemaImportValidationResult = {
|
|
|
61
61
|
schema: undefined;
|
|
62
62
|
errors: SchemaValidationErrorItem[];
|
|
63
63
|
};
|
|
64
|
+
export declare function suppressPaths(paths: string[]): (error: SchemaValidationErrorItem) => boolean;
|
|
64
65
|
/**
|
|
65
66
|
* Only use when validating an imported schema! ignore fields optional when importing
|
|
66
67
|
*/
|
|
@@ -824,8 +824,9 @@ const ajv = createAjv();
|
|
|
824
824
|
function validateStructure(schemaVersion, context, schema, ref) {
|
|
825
825
|
const coerced = coerce(schemaVersion);
|
|
826
826
|
const versionStr = coerced?.format();
|
|
827
|
-
const hasExperimental = Boolean(coerced && gte(coerced, '3.48.0'));
|
|
828
|
-
const relevantSchemas = allProjectSchemas.filter((metaSchema) => (hasExperimental && metaSchema.$id.endsWith('experimental#')) ||
|
|
827
|
+
const hasExperimental = Boolean(coerced && gte(coerced, '3.48.0') && lt(coerced, '3.57.0'));
|
|
828
|
+
const relevantSchemas = allProjectSchemas.filter((metaSchema) => (hasExperimental && metaSchema.$id.endsWith('experimental-2025-07#')) ||
|
|
829
|
+
metaSchema.$id.endsWith(`v${versionStr}#`));
|
|
829
830
|
for (const relevantSchema of relevantSchemas) {
|
|
830
831
|
if (!ajv.getSchema(relevantSchema.$id)) {
|
|
831
832
|
ajv.addSchema(relevantSchema);
|
|
@@ -833,11 +834,9 @@ function validateStructure(schemaVersion, context, schema, ref) {
|
|
|
833
834
|
}
|
|
834
835
|
ajv.validate(`https://schema.takeshape.io/project-schema/v${versionStr}#${ref ?? ''}`, schema);
|
|
835
836
|
let errors = ajv.errors?.map(formatError) ?? [];
|
|
836
|
-
const {
|
|
837
|
-
if (errors.length &&
|
|
838
|
-
errors = errors.filter((error) =>
|
|
839
|
-
return !suppressErrorPaths.includes(error.path.join('.'));
|
|
840
|
-
});
|
|
837
|
+
const { suppressErrors } = context;
|
|
838
|
+
if (errors.length && suppressErrors) {
|
|
839
|
+
errors = errors.filter((error) => !suppressErrors(error));
|
|
841
840
|
}
|
|
842
841
|
if (errors.length) {
|
|
843
842
|
return {
|
|
@@ -869,11 +868,9 @@ function validateGuards(context, schema) {
|
|
|
869
868
|
return errors;
|
|
870
869
|
}
|
|
871
870
|
function formatValidationResult(context, errors, schema) {
|
|
872
|
-
const {
|
|
873
|
-
if (
|
|
874
|
-
errors = errors.filter((error) =>
|
|
875
|
-
return !suppressErrorPaths.includes(error.path.join('.'));
|
|
876
|
-
});
|
|
871
|
+
const { suppressErrors } = context;
|
|
872
|
+
if (suppressErrors) {
|
|
873
|
+
errors = errors.filter((error) => !suppressErrors(error));
|
|
877
874
|
}
|
|
878
875
|
return errors.length ? { valid: false, schema: undefined, errors } : { valid: true, schema, errors: undefined };
|
|
879
876
|
}
|
|
@@ -1024,12 +1021,17 @@ export function ensureValidRoleImport(maybeRoles) {
|
|
|
1024
1021
|
}
|
|
1025
1022
|
throw new SchemaValidationError('Roles were invalid', validate.errors?.map(formatError));
|
|
1026
1023
|
}
|
|
1024
|
+
export function suppressPaths(paths) {
|
|
1025
|
+
return (error) => {
|
|
1026
|
+
return paths.includes(error.path.join('.'));
|
|
1027
|
+
};
|
|
1028
|
+
}
|
|
1027
1029
|
/**
|
|
1028
1030
|
* Only use when validating an imported schema! ignore fields optional when importing
|
|
1029
1031
|
*/
|
|
1030
1032
|
export function validateProjectSchemaImport(maybeSchema) {
|
|
1031
1033
|
return validateSchemaSyntax(maybeSchema, {
|
|
1032
|
-
|
|
1034
|
+
suppressErrors: suppressPaths([...projectSchemaImportOptionalProps, ...legacyProjectSchemaImportOptionalProps])
|
|
1033
1035
|
});
|
|
1034
1036
|
}
|
|
1035
1037
|
/**
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
},
|
|
151
|
-
"schemaVersion": "3.
|
|
151
|
+
"schemaVersion": "3.57.0",
|
|
152
152
|
"apiVersion": "2",
|
|
153
153
|
"services": {
|
|
154
154
|
"openai": {
|
|
@@ -182,202 +182,200 @@
|
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
},
|
|
185
|
-
"
|
|
186
|
-
"
|
|
187
|
-
"
|
|
188
|
-
|
|
189
|
-
"
|
|
190
|
-
|
|
185
|
+
"agents": {
|
|
186
|
+
"findDogColor": {
|
|
187
|
+
"description": "AI Agent finds a dog's color based on its name",
|
|
188
|
+
"api": {
|
|
189
|
+
"inputs": [
|
|
190
|
+
{
|
|
191
|
+
"name": "findDogColor",
|
|
192
|
+
"type": "mutation",
|
|
193
|
+
"args": "TSGenerateArgs"
|
|
194
|
+
}
|
|
195
|
+
]
|
|
196
|
+
},
|
|
197
|
+
"start": {
|
|
198
|
+
"transitions": [
|
|
199
|
+
{
|
|
200
|
+
"type": "suspend",
|
|
201
|
+
"input": "findDogColor",
|
|
202
|
+
"destination": "bbb"
|
|
203
|
+
}
|
|
204
|
+
]
|
|
205
|
+
},
|
|
206
|
+
"memory": {
|
|
207
|
+
"sessionMemory": {}
|
|
208
|
+
},
|
|
209
|
+
"states": {
|
|
210
|
+
"bbb": {
|
|
211
|
+
"name": "query",
|
|
212
|
+
"variables": [
|
|
191
213
|
{
|
|
192
|
-
"name": "
|
|
193
|
-
"
|
|
194
|
-
|
|
214
|
+
"name": "input",
|
|
215
|
+
"steps": [
|
|
216
|
+
{
|
|
217
|
+
"expression": "stateOutputs['ccc'].dogName"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"expression": "args.input"
|
|
221
|
+
}
|
|
222
|
+
]
|
|
195
223
|
}
|
|
196
|
-
]
|
|
197
|
-
|
|
198
|
-
|
|
224
|
+
],
|
|
225
|
+
"execution": {
|
|
226
|
+
"type": "graphql",
|
|
227
|
+
"query": "query ($input: String!) {\n getDogList(terms: $input) {\n items {\n name\n color\n }\n }\n}\n",
|
|
228
|
+
"path": "getDogList.items[0]"
|
|
229
|
+
},
|
|
199
230
|
"transitions": [
|
|
200
231
|
{
|
|
201
|
-
"type": "
|
|
202
|
-
"
|
|
203
|
-
"destination": "bbb"
|
|
232
|
+
"type": "immediate",
|
|
233
|
+
"destination": "ccc"
|
|
204
234
|
}
|
|
205
235
|
]
|
|
206
236
|
},
|
|
207
|
-
"
|
|
208
|
-
"
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
{
|
|
218
|
-
"expression": "stateOutputs['ccc'].dogName"
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
"expression": "args.input"
|
|
222
|
-
}
|
|
223
|
-
]
|
|
224
|
-
}
|
|
225
|
-
],
|
|
226
|
-
"execution": {
|
|
227
|
-
"type": "graphql",
|
|
228
|
-
"query": "query ($input: String!) {\n getDogList(terms: $input) {\n items {\n name\n color\n }\n }\n}\n",
|
|
229
|
-
"path": "getDogList.items[0]"
|
|
237
|
+
"ccc": {
|
|
238
|
+
"name": "answer",
|
|
239
|
+
"variables": [
|
|
240
|
+
{
|
|
241
|
+
"name": "input",
|
|
242
|
+
"steps": [
|
|
243
|
+
{
|
|
244
|
+
"expression": "args.input"
|
|
245
|
+
}
|
|
246
|
+
]
|
|
230
247
|
},
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
]
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
"name": "results",
|
|
251
|
-
"steps": [
|
|
252
|
-
{
|
|
253
|
-
"expression": "previousStateOutput"
|
|
254
|
-
}
|
|
255
|
-
]
|
|
256
|
-
}
|
|
257
|
-
],
|
|
258
|
-
"execution": {
|
|
259
|
-
"type": "generate",
|
|
260
|
-
"service": "openai",
|
|
261
|
-
"model": "gpt-4o",
|
|
262
|
-
"input": {
|
|
263
|
-
"type": "template",
|
|
264
|
-
"inputTemplate": "Please respond with the color of this dog\n\n{{input}}\n\nif the answer is in this data:\n\n{{{json results}}}"
|
|
265
|
-
},
|
|
266
|
-
"outputShape": "AnswerResponse"
|
|
248
|
+
{
|
|
249
|
+
"name": "results",
|
|
250
|
+
"steps": [
|
|
251
|
+
{
|
|
252
|
+
"expression": "previousStateOutput"
|
|
253
|
+
}
|
|
254
|
+
]
|
|
255
|
+
}
|
|
256
|
+
],
|
|
257
|
+
"execution": {
|
|
258
|
+
"type": "generate",
|
|
259
|
+
"service": "openai",
|
|
260
|
+
"model": "gpt-4o",
|
|
261
|
+
"input": {
|
|
262
|
+
"type": "template",
|
|
263
|
+
"inputTemplate": "Please respond with the color of this dog\n\n{{input}}\n\nif the answer is in this data:\n\n{{{json results}}}"
|
|
267
264
|
},
|
|
268
|
-
"
|
|
269
|
-
{
|
|
270
|
-
"type": "immediate",
|
|
271
|
-
"condition": "stateOutputs['ccc'].answered",
|
|
272
|
-
"destination": "ddd"
|
|
273
|
-
},
|
|
274
|
-
{
|
|
275
|
-
"type": "immediate",
|
|
276
|
-
"limit": 3,
|
|
277
|
-
"destination": "bbb"
|
|
278
|
-
},
|
|
279
|
-
{
|
|
280
|
-
"type": "immediate",
|
|
281
|
-
"destination": "eee"
|
|
282
|
-
}
|
|
283
|
-
]
|
|
265
|
+
"outputShape": "AnswerResponse"
|
|
284
266
|
},
|
|
285
|
-
"
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
"steps": [
|
|
291
|
-
{
|
|
292
|
-
"expression": "previousStateOutput.message"
|
|
293
|
-
}
|
|
294
|
-
]
|
|
295
|
-
}
|
|
296
|
-
],
|
|
297
|
-
"execution": {
|
|
298
|
-
"type": "generate",
|
|
299
|
-
"service": "openai",
|
|
300
|
-
"model": "gpt-4o",
|
|
301
|
-
"input": {
|
|
302
|
-
"type": "template",
|
|
303
|
-
"inputTemplate": "Please summarize this information:\n\n{{results}}"
|
|
304
|
-
}
|
|
267
|
+
"transitions": [
|
|
268
|
+
{
|
|
269
|
+
"type": "immediate",
|
|
270
|
+
"condition": "stateOutputs['ccc'].answered",
|
|
271
|
+
"destination": "ddd"
|
|
305
272
|
},
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
"variables": [
|
|
311
|
-
{
|
|
312
|
-
"name": "results",
|
|
313
|
-
"steps": [
|
|
314
|
-
{
|
|
315
|
-
"expression": "previousStateOutput.message"
|
|
316
|
-
}
|
|
317
|
-
]
|
|
318
|
-
}
|
|
319
|
-
],
|
|
320
|
-
"execution": {
|
|
321
|
-
"type": "generate",
|
|
322
|
-
"service": "openai",
|
|
323
|
-
"model": "gpt-4o",
|
|
324
|
-
"input": {
|
|
325
|
-
"type": "template",
|
|
326
|
-
"inputTemplate": "Please provide a generic polite apology that there were no search results."
|
|
327
|
-
}
|
|
273
|
+
{
|
|
274
|
+
"type": "immediate",
|
|
275
|
+
"limit": 3,
|
|
276
|
+
"destination": "bbb"
|
|
328
277
|
},
|
|
329
|
-
"transitions": []
|
|
330
|
-
}
|
|
331
|
-
},
|
|
332
|
-
"historyStrategies": {}
|
|
333
|
-
},
|
|
334
|
-
"chat": {
|
|
335
|
-
"api": {
|
|
336
|
-
"inputs": [
|
|
337
278
|
{
|
|
338
|
-
"
|
|
339
|
-
"
|
|
340
|
-
"args": "TSChatArgs"
|
|
279
|
+
"type": "immediate",
|
|
280
|
+
"destination": "eee"
|
|
341
281
|
}
|
|
342
282
|
]
|
|
343
283
|
},
|
|
344
|
-
"
|
|
345
|
-
"
|
|
284
|
+
"ddd": {
|
|
285
|
+
"name": "summarize",
|
|
286
|
+
"variables": [
|
|
346
287
|
{
|
|
347
|
-
"
|
|
348
|
-
"
|
|
349
|
-
|
|
288
|
+
"name": "results",
|
|
289
|
+
"steps": [
|
|
290
|
+
{
|
|
291
|
+
"expression": "previousStateOutput.message"
|
|
292
|
+
}
|
|
293
|
+
]
|
|
350
294
|
}
|
|
351
|
-
]
|
|
295
|
+
],
|
|
296
|
+
"execution": {
|
|
297
|
+
"type": "generate",
|
|
298
|
+
"service": "openai",
|
|
299
|
+
"model": "gpt-4o",
|
|
300
|
+
"input": {
|
|
301
|
+
"type": "template",
|
|
302
|
+
"inputTemplate": "Please summarize this information:\n\n{{results}}"
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
"transitions": []
|
|
352
306
|
},
|
|
353
|
-
"
|
|
354
|
-
"
|
|
307
|
+
"eee": {
|
|
308
|
+
"name": "apologize",
|
|
309
|
+
"variables": [
|
|
310
|
+
{
|
|
311
|
+
"name": "results",
|
|
312
|
+
"steps": [
|
|
313
|
+
{
|
|
314
|
+
"expression": "previousStateOutput.message"
|
|
315
|
+
}
|
|
316
|
+
]
|
|
317
|
+
}
|
|
318
|
+
],
|
|
319
|
+
"execution": {
|
|
320
|
+
"type": "generate",
|
|
321
|
+
"service": "openai",
|
|
322
|
+
"model": "gpt-4o",
|
|
323
|
+
"input": {
|
|
324
|
+
"type": "template",
|
|
325
|
+
"inputTemplate": "Please provide a generic polite apology that there were no search results."
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
"transitions": []
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"historyStrategies": {}
|
|
332
|
+
},
|
|
333
|
+
"chat": {
|
|
334
|
+
"api": {
|
|
335
|
+
"inputs": [
|
|
336
|
+
{
|
|
355
337
|
"name": "chat",
|
|
356
|
-
"
|
|
357
|
-
|
|
358
|
-
"service": "openai",
|
|
359
|
-
"model": "gpt-4o",
|
|
360
|
-
"input": {
|
|
361
|
-
"type": "arg"
|
|
362
|
-
},
|
|
363
|
-
"systemPrompt": "You are a helpful assistant. If the user says they have no further questions, end your response with the string ALL_DONE."
|
|
364
|
-
},
|
|
365
|
-
"transitions": [
|
|
366
|
-
{
|
|
367
|
-
"type": "immediate",
|
|
368
|
-
"condition": "contains(currentStateOutput.content, 'ALL_DONE')",
|
|
369
|
-
"destination": "END"
|
|
370
|
-
},
|
|
371
|
-
{
|
|
372
|
-
"type": "suspend",
|
|
373
|
-
"destination": "3pjuyB47X",
|
|
374
|
-
"input": "chat"
|
|
375
|
-
}
|
|
376
|
-
]
|
|
338
|
+
"type": "mutation",
|
|
339
|
+
"args": "TSChatArgs"
|
|
377
340
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
341
|
+
]
|
|
342
|
+
},
|
|
343
|
+
"start": {
|
|
344
|
+
"transitions": [
|
|
345
|
+
{
|
|
346
|
+
"type": "suspend",
|
|
347
|
+
"input": "chat",
|
|
348
|
+
"destination": "3pjuyB47X"
|
|
349
|
+
}
|
|
350
|
+
]
|
|
351
|
+
},
|
|
352
|
+
"states": {
|
|
353
|
+
"3pjuyB47X": {
|
|
354
|
+
"name": "chat",
|
|
355
|
+
"execution": {
|
|
356
|
+
"type": "chat",
|
|
357
|
+
"service": "openai",
|
|
358
|
+
"model": "gpt-4o",
|
|
359
|
+
"input": {
|
|
360
|
+
"type": "arg"
|
|
361
|
+
},
|
|
362
|
+
"systemPrompt": "You are a helpful assistant. If the user says they have no further questions, end your response with the string ALL_DONE."
|
|
363
|
+
},
|
|
364
|
+
"transitions": [
|
|
365
|
+
{
|
|
366
|
+
"type": "immediate",
|
|
367
|
+
"condition": "contains(currentStateOutput.content, 'ALL_DONE')",
|
|
368
|
+
"destination": "END"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"type": "suspend",
|
|
372
|
+
"destination": "3pjuyB47X",
|
|
373
|
+
"input": "chat"
|
|
374
|
+
}
|
|
375
|
+
]
|
|
376
|
+
}
|
|
377
|
+
},
|
|
378
|
+
"historyStrategies": {}
|
|
381
379
|
}
|
|
382
380
|
}
|
|
383
381
|
}
|
|
@@ -52781,6 +52781,6 @@
|
|
|
52781
52781
|
}
|
|
52782
52782
|
}
|
|
52783
52783
|
},
|
|
52784
|
-
"schemaVersion": "3.
|
|
52784
|
+
"schemaVersion": "3.57.0",
|
|
52785
52785
|
"services": {}
|
|
52786
52786
|
}
|
|
@@ -10474,5 +10474,5 @@
|
|
|
10474
10474
|
}
|
|
10475
10475
|
}
|
|
10476
10476
|
},
|
|
10477
|
-
"schemaVersion": "3.
|
|
10477
|
+
"schemaVersion": "3.57.0"
|
|
10478
10478
|
}
|
|
@@ -23446,6 +23446,6 @@
|
|
|
23446
23446
|
}
|
|
23447
23447
|
}
|
|
23448
23448
|
},
|
|
23449
|
-
"schemaVersion": "3.
|
|
23449
|
+
"schemaVersion": "3.57.0",
|
|
23450
23450
|
"services": {}
|
|
23451
23451
|
}
|
|
@@ -35163,6 +35163,6 @@
|
|
|
35163
35163
|
}
|
|
35164
35164
|
}
|
|
35165
35165
|
},
|
|
35166
|
-
"schemaVersion": "3.
|
|
35166
|
+
"schemaVersion": "3.57.0",
|
|
35167
35167
|
"services": {}
|
|
35168
35168
|
}
|
|
@@ -86168,5 +86168,5 @@
|
|
|
86168
86168
|
"shape": "Shopify_WebhookSubscriptionUpdatePayload"
|
|
86169
86169
|
}
|
|
86170
86170
|
},
|
|
86171
|
-
"schemaVersion": "3.
|
|
86171
|
+
"schemaVersion": "3.57.0"
|
|
86172
86172
|
}
|
|
@@ -15937,5 +15937,5 @@
|
|
|
15937
15937
|
"shape": "ShopifyStorefront_CustomerUpdatePayload"
|
|
15938
15938
|
}
|
|
15939
15939
|
},
|
|
15940
|
-
"schemaVersion": "3.
|
|
15940
|
+
"schemaVersion": "3.57.0"
|
|
15941
15941
|
}
|
|
@@ -26892,5 +26892,5 @@
|
|
|
26892
26892
|
"shape": "WP_UpdateUserPayload"
|
|
26893
26893
|
}
|
|
26894
26894
|
},
|
|
26895
|
-
"schemaVersion": "3.
|
|
26895
|
+
"schemaVersion": "3.57.0"
|
|
26896
26896
|
}
|