primitive-admin 1.2.0-alpha.8 → 1.2.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/assets/skill/skills/primitive-platform/SKILL.md +12 -4
  2. package/dist/src/commands/apps-children.d.ts +1 -1
  3. package/dist/src/commands/apps-children.js +53 -145
  4. package/dist/src/commands/apps-children.js.map +1 -1
  5. package/dist/src/commands/database-types.js +13 -313
  6. package/dist/src/commands/database-types.js.map +1 -1
  7. package/dist/src/commands/llm.js +9 -6
  8. package/dist/src/commands/llm.js.map +1 -1
  9. package/dist/src/commands/settings.d.ts +12 -9
  10. package/dist/src/commands/settings.js +31 -79
  11. package/dist/src/commands/settings.js.map +1 -1
  12. package/dist/src/commands/sync.d.ts +1 -8
  13. package/dist/src/commands/sync.js +3 -35
  14. package/dist/src/commands/sync.js.map +1 -1
  15. package/dist/src/lib/api-client.d.ts +21 -0
  16. package/dist/src/lib/api-client.js +58 -0
  17. package/dist/src/lib/api-client.js.map +1 -1
  18. package/dist/src/lib/child-apps-local.d.ts +0 -46
  19. package/dist/src/lib/child-apps-local.js +2 -72
  20. package/dist/src/lib/child-apps-local.js.map +1 -1
  21. package/dist/src/lib/function-triggers.d.ts +15 -3
  22. package/dist/src/lib/function-triggers.js +72 -10
  23. package/dist/src/lib/function-triggers.js.map +1 -1
  24. package/dist/src/lib/generated-config-surfaces.d.ts +48 -11
  25. package/dist/src/lib/generated-config-surfaces.js +157 -39
  26. package/dist/src/lib/generated-config-surfaces.js.map +1 -1
  27. package/dist/src/lib/generated-sdk-types.d.ts +1 -1
  28. package/dist/src/lib/generated-sdk-types.js +1 -1
  29. package/dist/src/lib/generated-sdk-types.js.map +1 -1
  30. package/dist/src/lib/generated-workflow-model-fields.d.ts +20 -0
  31. package/dist/src/lib/generated-workflow-model-fields.js +53 -0
  32. package/dist/src/lib/generated-workflow-model-fields.js.map +1 -0
  33. package/dist/src/lib/prompt-schema-codegen.d.ts +10 -3
  34. package/dist/src/lib/prompt-schema-codegen.js +52 -14
  35. package/dist/src/lib/prompt-schema-codegen.js.map +1 -1
  36. package/dist/src/lib/swift-codegen/agentGenerator.d.ts +6 -2
  37. package/dist/src/lib/swift-codegen/agentGenerator.js +56 -4
  38. package/dist/src/lib/swift-codegen/agentGenerator.js.map +1 -1
  39. package/dist/src/lib/workflow-field-descriptor.d.ts +91 -0
  40. package/dist/src/lib/workflow-field-descriptor.js +153 -0
  41. package/dist/src/lib/workflow-field-descriptor.js.map +1 -0
  42. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"generated-sdk-types.js","sourceRoot":"","sources":["../../../src/lib/generated-sdk-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,s7kIAAs7kI,CAAC"}
1
+ {"version":3,"file":"generated-sdk-types.js","sourceRoot":"","sources":["../../../src/lib/generated-sdk-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,srpIAAsrpI,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * GENERATED FILE — DO NOT EDIT BY HAND.
3
+ *
4
+ * Source of truth: the `WorkflowDefinition` model in the repo-root
5
+ * `models.yaml` — the one statically-parseable server anchor for the
6
+ * `[workflow]`-level config surface (issue #2326, Phase 1 of #1976).
7
+ *
8
+ * Regenerate with:
9
+ * node cli/scripts/gen-workflow-fields.mjs (runs automatically at CLI prebuild)
10
+ *
11
+ * A CI freshness guard (`cli/scripts/gen-workflow-fields.mjs --check`, also
12
+ * asserted by `cli/tests/unit/workflow-field-descriptor-drift-guard.test.ts`)
13
+ * fails if this committed artifact does not match a fresh parse of
14
+ * `models.yaml`. The same test asserts every field below is classified in
15
+ * `cli/src/lib/workflow-field-descriptor.ts` as synced, structural, or
16
+ * internal — so a new server-side workflow field cannot be silently ignored by
17
+ * the CLI.
18
+ */
19
+ /** Every `WorkflowDefinition` field, in `models.yaml` declaration order (#2326). */
20
+ export declare const GENERATED_WORKFLOW_MODEL_FIELDS: readonly string[];
@@ -0,0 +1,53 @@
1
+ /**
2
+ * GENERATED FILE — DO NOT EDIT BY HAND.
3
+ *
4
+ * Source of truth: the `WorkflowDefinition` model in the repo-root
5
+ * `models.yaml` — the one statically-parseable server anchor for the
6
+ * `[workflow]`-level config surface (issue #2326, Phase 1 of #1976).
7
+ *
8
+ * Regenerate with:
9
+ * node cli/scripts/gen-workflow-fields.mjs (runs automatically at CLI prebuild)
10
+ *
11
+ * A CI freshness guard (`cli/scripts/gen-workflow-fields.mjs --check`, also
12
+ * asserted by `cli/tests/unit/workflow-field-descriptor-drift-guard.test.ts`)
13
+ * fails if this committed artifact does not match a fresh parse of
14
+ * `models.yaml`. The same test asserts every field below is classified in
15
+ * `cli/src/lib/workflow-field-descriptor.ts` as synced, structural, or
16
+ * internal — so a new server-side workflow field cannot be silently ignored by
17
+ * the CLI.
18
+ */
19
+ /** Every `WorkflowDefinition` field, in `models.yaml` declaration order (#2326). */
20
+ export const GENERATED_WORKFLOW_MODEL_FIELDS = [
21
+ "workflowId",
22
+ "appId",
23
+ "workflowKey",
24
+ "name",
25
+ "status",
26
+ "latestRevision",
27
+ "description",
28
+ "stepsR2Key",
29
+ "draftStepsR2Key",
30
+ "draftInputSchema",
31
+ "draftOutputSchema",
32
+ "draftModifiedAt",
33
+ "activeConfigId",
34
+ "inputSchema",
35
+ "outputSchema",
36
+ "perUserMaxRunning",
37
+ "perUserMaxQueued",
38
+ "perAppMaxRunning",
39
+ "perAppMaxQueued",
40
+ "queueTtlSeconds",
41
+ "dequeueOrder",
42
+ "requiresClientApply",
43
+ "syncCallable",
44
+ "accessRule",
45
+ "metadataManifest",
46
+ "runAs",
47
+ "lock",
48
+ "capabilities",
49
+ "createdBy",
50
+ "createdAt",
51
+ "modifiedAt",
52
+ ];
53
+ //# sourceMappingURL=generated-workflow-model-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-workflow-model-fields.js","sourceRoot":"","sources":["../../../src/lib/generated-workflow-model-fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,oFAAoF;AACpF,MAAM,CAAC,MAAM,+BAA+B,GAAsB;IAChE,YAAY;IACZ,OAAO;IACP,aAAa;IACb,MAAM;IACN,QAAQ;IACR,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,iBAAiB;IACjB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;IACd,qBAAqB;IACrB,cAAc;IACd,YAAY;IACZ,kBAAkB;IAClB,OAAO;IACP,MAAM;IACN,cAAc;IACd,WAAW;IACX,WAAW;IACX,YAAY;CACb,CAAC"}
@@ -103,6 +103,11 @@ export interface AgentTypesIR {
103
103
  input: AgentNamedType;
104
104
  output: AgentNamedType;
105
105
  }>;
106
+ /**
107
+ * #4549 — each presentation (`runs = "presentation"`), typed from its
108
+ * `inputSchema` as `<Key>Presentation<Name>`; never a client tool.
109
+ */
110
+ presentations: AgentNamedType[];
106
111
  events: AgentNamedType[];
107
112
  }
108
113
  /**
@@ -134,9 +139,11 @@ export declare function renderPromptSchemasDeclaration(sources: readonly PromptS
134
139
  export declare function treeDeclaresAgentPrompt(configDir: string): boolean;
135
140
  /**
136
141
  * The client-side artifact of each agent prompt — #3798:
137
- * `<key>.agent.generated.ts`, carrying the agent's variables, client-tool and
138
- * event types, the `<Key>AgentClientTools` / `<Key>AgentEvents` maps an app's
139
- * session view is typed by, and `<Key>Agent.key`. Written beside the function
142
+ * `<key>.agent.generated.ts`, carrying the agent's variables, client-tool,
143
+ * presentation and event types, the `<Key>AgentClientTools` /
144
+ * `<Key>AgentEvents` maps an app's session view is typed by, the
145
+ * `<Key>AgentPresentation` union (#4549), and `<Key>Agent.key` and
146
+ * `<Key>Agent.presentationNames`. Written beside the function
140
147
  * invokers and owned by the same plan, so the invoker sweep keeps it; a
141
148
  * Prettier fixed point, like them (#1565).
142
149
  */
@@ -66,7 +66,7 @@ import { FunctionSchemaCodegenError, renderTypeDecl, } from "./function-schema-c
66
66
  import { workflowTypeBaseName } from "./workflow-codegen/naming.js";
67
67
  import { tsStringLiteral } from "./codegen-shared/prettierStable.js";
68
68
  import { fingerprintToml } from "./db-codegen/dbFingerprint.js";
69
- import { AGENT_TERMINAL_CALL_OUTPUT_SCHEMA, normalizeAgentDeclaration, promptKindOf, resolveAgentDeclaration, } from "./generated-config-surfaces.js";
69
+ import { normalizeAgentDeclaration, promptKindOf, resolveAgentDeclaration, } from "./generated-config-surfaces.js";
70
70
  /** The client-side artifact an agent prompt gets, beside the invokers (#3798). */
71
71
  export const AGENT_CLIENT_FILE_SUFFIX = ".agent.generated.ts";
72
72
  /** The regenerated declaration beside `primitive-function-types.d.ts`. */
@@ -173,22 +173,23 @@ function describeAgentTypes(label, typeBaseName, table) {
173
173
  throw new FunctionSchemaCodegenError(`${label}: \`inputSchema\` is not valid JSON (${error?.message ?? error})`);
174
174
  }
175
175
  const declaration = normalizeAgentDeclaration(resolution.declaration);
176
- const claimed = (what) => {
176
+ const claimed = (what, prefix) => {
177
177
  const byBase = new Map();
178
178
  return (name) => {
179
179
  const base = workflowTypeBaseName(name);
180
180
  const other = byBase.get(base);
181
181
  if (other !== undefined && other !== name) {
182
182
  throw new FunctionSchemaCodegenError(`${label}: ${what} names '${other}' and '${name}' both name the ` +
183
- `generated type \`${typeBaseName}${what === "tool" ? "Tool" : "Event"}${base}\` — ` +
183
+ `generated type \`${typeBaseName}${prefix}${base}\` — ` +
184
184
  "rename one so the two do not collide after sanitizing");
185
185
  }
186
186
  byBase.set(base, name);
187
187
  return base;
188
188
  };
189
189
  };
190
- const toolBase = claimed("tool");
191
- const eventBase = claimed("event");
190
+ const toolBase = claimed("tool", "Tool");
191
+ const presentationBase = claimed("presentation", "Presentation");
192
+ const eventBase = claimed("event", "Event");
192
193
  const clientTools = declaration.tools
193
194
  .filter((tool) => tool.runs === "client")
194
195
  .map((tool) => {
@@ -203,13 +204,17 @@ function describeAgentTypes(label, typeBaseName, table) {
203
204
  output: {
204
205
  name: tool.name,
205
206
  typeName: `${base}Output`,
206
- // A terminal client tool's result is the platform's (#4261).
207
- schema: tool.endsTurn
208
- ? structuredClone(AGENT_TERMINAL_CALL_OUTPUT_SCHEMA)
209
- : tool.outputSchema,
207
+ schema: tool.outputSchema,
210
208
  },
211
209
  };
212
210
  });
211
+ const presentations = declaration.tools
212
+ .filter((tool) => tool.runs === "presentation")
213
+ .map((tool) => ({
214
+ name: tool.name,
215
+ typeName: `${typeBaseName}Presentation${presentationBase(tool.name)}`,
216
+ schema: tool.inputSchema,
217
+ }));
213
218
  const events = declaration.events.map((event) => ({
214
219
  name: event.name,
215
220
  typeName: `${typeBaseName}Event${eventBase(event.name)}`,
@@ -219,6 +224,7 @@ function describeAgentTypes(label, typeBaseName, table) {
219
224
  variablesTypeName: `${typeBaseName}AgentVariables`,
220
225
  inputSchema,
221
226
  clientTools,
227
+ presentations,
222
228
  events,
223
229
  };
224
230
  }
@@ -243,6 +249,7 @@ function renderAgentTypeDecls(prompt) {
243
249
  renderAgentType(prompt, tool.input.typeName, tool.input.schema, `tools.${tool.name}.inputSchema`),
244
250
  renderAgentType(prompt, tool.output.typeName, tool.output.schema, `tools.${tool.name}.outputSchema`),
245
251
  ]),
252
+ ...agent.presentations.map((presentation) => renderAgentType(prompt, presentation.typeName, presentation.schema, `tools.${presentation.name}.inputSchema`)),
246
253
  ...agent.events.map((event) => renderAgentType(prompt, event.typeName, event.schema, `events.${event.name}.schema`)),
247
254
  ];
248
255
  }
@@ -255,9 +262,13 @@ function agentSchemaEntry(prompt) {
255
262
  const events = agent.events
256
263
  .map((event) => `${propertyKey(event.name)}: ${event.typeName}`)
257
264
  .join("; ");
265
+ const presentations = agent.presentations
266
+ .map((presentation) => `${propertyKey(presentation.name)}: ${presentation.typeName}`)
267
+ .join("; ");
258
268
  return (`{ agent: { variables: ${agent.variablesTypeName}; ` +
259
269
  `clientTools: {${tools ? ` ${tools} ` : ""}}; ` +
260
- `events: {${events ? ` ${events} ` : ""}} } }`);
270
+ `events: {${events ? ` ${events} ` : ""}}; ` +
271
+ `presentations: {${presentations ? ` ${presentations} ` : ""}} } }`);
261
272
  }
262
273
  /**
263
274
  * Describe every source, sorted by key, refusing the two collisions that
@@ -324,6 +335,10 @@ function declaredTypeNames(prompt) {
324
335
  { typeName: tool.input.typeName, path: `tools.${tool.name}.inputSchema` },
325
336
  { typeName: tool.output.typeName, path: `tools.${tool.name}.outputSchema` },
326
337
  ]),
338
+ ...agent.presentations.map((presentation) => ({
339
+ typeName: presentation.typeName,
340
+ path: `tools.${presentation.name}.inputSchema`,
341
+ })),
327
342
  ...agent.events.map((event) => ({
328
343
  typeName: event.typeName,
329
344
  path: `events.${event.name}.schema`,
@@ -409,9 +424,11 @@ export function treeDeclaresAgentPrompt(configDir) {
409
424
  }
410
425
  /**
411
426
  * The client-side artifact of each agent prompt — #3798:
412
- * `<key>.agent.generated.ts`, carrying the agent's variables, client-tool and
413
- * event types, the `<Key>AgentClientTools` / `<Key>AgentEvents` maps an app's
414
- * session view is typed by, and `<Key>Agent.key`. Written beside the function
427
+ * `<key>.agent.generated.ts`, carrying the agent's variables, client-tool,
428
+ * presentation and event types, the `<Key>AgentClientTools` /
429
+ * `<Key>AgentEvents` maps an app's session view is typed by, the
430
+ * `<Key>AgentPresentation` union (#4549), and `<Key>Agent.key` and
431
+ * `<Key>Agent.presentationNames`. Written beside the function
415
432
  * invokers and owned by the same plan, so the invoker sweep keeps it; a
416
433
  * Prettier fixed point, like them (#1565).
417
434
  */
@@ -439,6 +456,25 @@ export function renderAgentClientFiles(sources) {
439
456
  ...agent.events.map((event) => ` ${propertyKey(event.name)}: ${event.typeName};`),
440
457
  `}`,
441
458
  ].join("\n");
459
+ // Each member written expanded, which Prettier keeps whatever the widths.
460
+ const member = (presentation, indent) => [
461
+ `{`,
462
+ `${indent} name: ${tsStringLiteral(presentation.name)};`,
463
+ `${indent} input: ${presentation.typeName};`,
464
+ `${indent}}`,
465
+ ].join("\n");
466
+ const presentationUnion = agent.presentations.length === 0
467
+ ? `export type ${base}AgentPresentation = never;`
468
+ : agent.presentations.length === 1
469
+ ? `export type ${base}AgentPresentation = ${member(agent.presentations[0], "")};`
470
+ : [
471
+ `export type ${base}AgentPresentation =`,
472
+ ...agent.presentations.map((presentation) => ` | ${member(presentation, " ")}`),
473
+ ].join("\n") + ";";
474
+ const names = agent.presentations.map((presentation) => tsStringLiteral(presentation.name));
475
+ // One line when it fits Prettier's 80 columns, else one name per line (as Prettier prints it).
476
+ const namesLine = ` presentationNames: [${names.join(", ")}],`;
477
+ const presentationNames = namesLine.length <= 80 ? namesLine : [" presentationNames: [", ...names.map((name) => ` ${name},`), " ],"].join("\n");
442
478
  const blocks = [
443
479
  [
444
480
  `// AUTO-GENERATED FROM ${prompt.fileLabel} — DO NOT EDIT.`,
@@ -448,10 +484,12 @@ export function renderAgentClientFiles(sources) {
448
484
  ...renderAgentTypeDecls(prompt),
449
485
  `/** The client tools a member of the \`${prompt.key}\` agent answers, by name. */\n${toolsMap}`,
450
486
  `/** The event kinds the \`${prompt.key}\` agent records, by name. */\n${eventsMap}`,
487
+ `/** A presentation the \`${prompt.key}\` agent hands the client with its answer: its name and input. */\n${presentationUnion}`,
451
488
  [
452
- `/** The \`${prompt.key}\` agent: the key a session is created with. */`,
489
+ `/** The \`${prompt.key}\` agent: the key a session is created with, and its presentations' names. */`,
453
490
  `export const ${base}Agent = {`,
454
491
  ` key: ${tsStringLiteral(prompt.key)},`,
492
+ presentationNames,
455
493
  `} as const;`,
456
494
  ].join("\n"),
457
495
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-schema-codegen.js","sourceRoot":"","sources":["../../../src/lib/prompt-schema-codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,cAAc,GACf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,YAAY,EACZ,uBAAuB,GAExB,MAAM,gCAAgC,CAAC;AAExC,kFAAkF;AAClF,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAE9D,0EAA0E;AAC1E,MAAM,CAAC,MAAM,6BAA6B,GAAG,6BAA6B,CAAC;AA4C3E,+CAA+C;AAC/C,SAAS,gBAAgB,CAAC,MAA0B,EAAE,KAAU;IAC9D,OAAO,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AACrD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,SAAS;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YACH,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAC/E,SAAS,SAAS,CAAC,MAA0B;IAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA0B;IAC7D,IAAI,KAAU,CAAC;IACf,IAAI,CAAC;QACH,KAAK,GAAI,eAAe,CAAC,MAAM,CAAC,WAAW,CAAS,EAAE,MAAM,IAAI,EAAE,CAAC;IACrE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,0BAA0B,CAClC,GAAG,SAAS,CAAC,MAAM,CAAC,sCAAsC,KAAK,EAAE,OAAO,IAAI,KAAK,GAAG,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE5C,IAAI,YAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,wEAAwE;QACxE,kEAAkE;QAClE,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,0BAA0B,CAClC,GAAG,SAAS,CAAC,MAAM,CAAC,yCAAyC,KAAK,EAAE,OAAO,IAAI,KAAK,GAAG,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC/C,OAAO;QACL,GAAG;QACH,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC;QAC5B,YAAY;QACZ,YAAY;QACZ,cAAc,EAAE,GAAG,YAAY,cAAc;QAC7C,KAAK,EACH,YAAY,CAAC,KAAK,CAAC,KAAK,OAAO;YAC7B,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC;YAC5D,CAAC,CAAC,IAAI;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,KAAa,EACb,YAAoB,EACpB,KAAU;IAEV,MAAM,UAAU,GAAG,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAClF,IAAI,UAAU,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,0BAA0B,CAClC,GAAG,KAAK,KAAK,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpE,CAAC;IACJ,CAAC;IACD,IAAI,WAAoB,CAAC;IACzB,IAAI,CAAC;QACH,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,0BAA0B,CAClC,GAAG,KAAK,wCAAwC,KAAK,EAAE,OAAO,IAAI,KAAK,GAAG,CAC3E,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,yBAAyB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAEtE,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,OAAO,CAAC,IAAY,EAAU,EAAE;YAC9B,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,MAAM,IAAI,0BAA0B,CAClC,GAAG,KAAK,KAAK,IAAI,WAAW,KAAK,UAAU,IAAI,kBAAkB;oBAC/D,oBAAoB,YAAY,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,OAAO;oBACnF,uDAAuD,CAC1D,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK;SAClC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;SACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,GAAG,YAAY,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,GAAG,IAAI,OAAO;gBACxB,MAAM,EAAE,IAAI,CAAC,WAA0B;aACxC;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,GAAG,IAAI,QAAQ;gBACzB,6DAA6D;gBAC7D,MAAM,EAAE,IAAI,CAAC,QAAQ;oBACnB,CAAC,CAAE,eAAe,CAAC,iCAAiC,CAAiB;oBACrE,CAAC,CAAE,IAAI,CAAC,YAA4B;aACvC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,GAAG,YAAY,QAAQ,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACxD,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,iBAAiB,EAAE,GAAG,YAAY,gBAAgB;QAClD,WAAW;QACX,WAAW;QACX,MAAM;KACP,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,eAAe,CACtB,MAAsB,EACtB,QAAgB,EAChB,MAAe,EACf,IAAY;IAEZ,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,YAAY,0BAA0B;YAAE,MAAM,KAAK,CAAC;QAC7D,MAAM,IAAI,0BAA0B,CAClC,GAAG,MAAM,CAAC,SAAS,OAAO,IAAI,wCAAwC;YACpE,SAAS,KAAK,EAAE,OAAO,IAAI,KAAK,GAAG,CACtC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,SAAS,oBAAoB,CAAC,MAAsB;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAM,CAAC;IAC5B,OAAO;QACL,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC;QAClF,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACrC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,IAAI,cAAc,CAAC;YACjG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,IAAI,eAAe,CAAC;SACrG,CAAC;QACF,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5B,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,KAAK,CAAC,IAAI,SAAS,CAAC,CACrF;KACF,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,SAAS,gBAAgB,CAAC,MAAsB;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAM,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW;SAC5B,GAAG,CACF,CAAC,IAAI,EAAE,EAAE,CACP,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,aAAa,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAClG;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;SACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,CACL,yBAAyB,KAAK,CAAC,iBAAiB,IAAI;QACpD,iBAAiB,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK;QAC/C,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAC/C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAClB,OAAsC;IAEtC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC;QACpC,MAAM;KACP,CAAC,CAAC,CAAC;IACJ,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtB,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvE,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;IACpD,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,0BAA0B,CAClC,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,SAAS,CAAC,MAAM,CAAC,2BAA2B;gBACrE,QAAQ,MAAM,CAAC,GAAG,kDAAkD;gBACpE,sBAAsB,CACzB,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;YAChD,MAAM,IAAI,0BAA0B,CAClC,gBAAgB,KAAK,UAAU,MAAM,CAAC,GAAG,4BAA4B;gBACnE,UAAU,MAAM,CAAC,cAAc,oCAAoC;gBACnE,0BAA0B,CAC7B,CAAC;QACJ,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,gFAAgF;IAChF,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,+DAA+D;IAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QACnC,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,SAAS,OAAO,IAAI,KAAK,CAAC;YAClD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,0BAA0B,CAClC,GAAG,KAAK,QAAQ,KAAK,mCAAmC;oBACtD,KAAK,QAAQ,4DAA4D,CAC5E,CAAC;YACJ,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,mFAAmF;AACnF,SAAS,iBAAiB,CACxB,MAAsB;IAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,YAAY,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO;QACL,EAAE,QAAQ,EAAE,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE;QAC1D,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACrC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,cAAc,EAAE;YACzE,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,eAAe,EAAE;SAC5E,CAAC;QACF,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,UAAU,KAAK,CAAC,IAAI,SAAS;SACpC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,kBAAkB,GAAG;;;;;;;;CAQ1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAAsC;IAEtC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,KAAK,GAAa,CAAC,kBAAkB,CAAC,CAAC;IAE7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,MAAM,IAAI,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS;YAAE,SAAS;QAChD,IAAI,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,YAAY,0BAA0B;gBAAE,MAAM,KAAK,CAAC;YAC7D,MAAM,IAAI,0BAA0B,CAClC,GAAG,MAAM,CAAC,SAAS,6CAA6C;gBAC9D,oBAAoB,KAAK,EAAE,OAAO,IAAI,KAAK,GAAG,CACjD,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACxD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CACR,MAAM,CAAC,KAAK;gBACV,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAC,GAAG;gBACjE,CAAC,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS;oBACjC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO;oBACxC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,cAAc,KAAK,CAC/E,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IAC1E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,MAA0B;IAC/C,IAAI,CAAC;QACH,OAAO,YAAY,CAAE,eAAe,CAAC,MAAM,CAAC,WAAW,CAAS,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACvD,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAsC;IAEtC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAM,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC;QACjC,MAAM,QAAQ,GACZ,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YAC5B,CAAC,CAAC,oBAAoB,IAAI,qBAAqB;YAC/C,CAAC,CAAC;gBACE,oBAAoB,IAAI,oBAAoB;gBAC5C,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBACrC,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBAChC,cAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG;oBACpC,eAAe,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG;oBACtC,MAAM;iBACP,CAAC;gBACF,GAAG;aACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YACvB,CAAC,CAAC,oBAAoB,IAAI,gBAAgB;YAC1C,CAAC,CAAC;gBACE,oBAAoB,IAAI,eAAe;gBACvC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC;gBAClF,GAAG;aACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG;YACb;gBACE,0BAA0B,MAAM,CAAC,SAAS,iBAAiB;gBAC3D,qDAAqD;gBACrD,mBAAmB,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;aACzD,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,GAAG,oBAAoB,CAAC,MAAM,CAAC;YAC/B,0CAA0C,MAAM,CAAC,GAAG,kCAAkC,QAAQ,EAAE;YAChG,6BAA6B,MAAM,CAAC,GAAG,kCAAkC,SAAS,EAAE;YACpF;gBACE,aAAa,MAAM,CAAC,GAAG,iDAAiD;gBACxE,gBAAgB,IAAI,WAAW;gBAC/B,UAAU,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;gBACxC,aAAa;aACd,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC;QACF,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,QAAQ,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,wBAAwB,EAAE;YACpD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;SACpC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"prompt-schema-codegen.js","sourceRoot":"","sources":["../../../src/lib/prompt-schema-codegen.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,13 @@
8
8
  * - `<Key>Tool<Name>Input` / `<Key>Tool<Name>Output` for every CLIENT tool
9
9
  * (a server tool's schemas are its function's, typed in that function's
10
10
  * own file);
11
- * - `<Key>Event<Name>` for every event kind; and
11
+ * - `<Key>Presentation<Name>` for every presentation (`runs =
12
+ * "presentation"`, #4549), from its `inputSchema`;
13
+ * - `<Key>Event<Name>` for every event kind;
14
+ * - `<Key>AgentPresentation`, an enum with one case per presentation that
15
+ * decodes the client's `AgentPresentation` by name; and
12
16
  * - `<Key>Agent`, a namespace enum with the key a session is created with
13
- * and the declared client-tool and event names.
17
+ * and the declared client-tool, presentation and event names.
14
18
  *
15
19
  * ── Nothing about the agent is re-derived here ───────────────────────────
16
20
  *
@@ -8,9 +8,13 @@
8
8
  * - `<Key>Tool<Name>Input` / `<Key>Tool<Name>Output` for every CLIENT tool
9
9
  * (a server tool's schemas are its function's, typed in that function's
10
10
  * own file);
11
- * - `<Key>Event<Name>` for every event kind; and
11
+ * - `<Key>Presentation<Name>` for every presentation (`runs =
12
+ * "presentation"`, #4549), from its `inputSchema`;
13
+ * - `<Key>Event<Name>` for every event kind;
14
+ * - `<Key>AgentPresentation`, an enum with one case per presentation that
15
+ * decodes the client's `AgentPresentation` by name; and
12
16
  * - `<Key>Agent`, a namespace enum with the key a session is created with
13
- * and the declared client-tool and event names.
17
+ * and the declared client-tool, presentation and event names.
14
18
  *
15
19
  * ── Nothing about the agent is re-derived here ───────────────────────────
16
20
  *
@@ -29,6 +33,7 @@ import { fingerprintToml } from "../db-codegen/dbFingerprint.js";
29
33
  import { describePromptSchema, } from "../prompt-schema-codegen.js";
30
34
  import { renderSwiftRootType, SwiftCodegenError } from "./schemaToSwift.js";
31
35
  import { swiftKeyLiteral } from "./generator.js";
36
+ import { enumCaseNames } from "./swiftNaming.js";
32
37
  import { AGENT_SWIFT_BANNER_PREFIX } from "./banners.js";
33
38
  import { parseTopLevelSwiftSymbols } from "./siblingSymbols.js";
34
39
  export { AGENT_SWIFT_BANNER_PREFIX };
@@ -39,6 +44,47 @@ const INDENT = " ";
39
44
  function nameList(names) {
40
45
  return `[${names.map(swiftKeyLiteral).join(", ")}]`;
41
46
  }
47
+ /**
48
+ * `<Key>AgentPresentation`: one case per presentation carrying its typed
49
+ * input, and `init?(_:)`, which decodes a presentation the session view
50
+ * answers by its name — `nil` for another name or an input that does not
51
+ * decode. An agent with no presentation gets the enum with no case.
52
+ *
53
+ * The decode is a `do`/`catch`, not `try?`: an input schema that admits
54
+ * `null` types the case as an optional, and a decoded `nil` is a presentation
55
+ * the model sent, not a failure (CSO-4549-001).
56
+ */
57
+ function presentationEnum(typeBaseName, key, presentations) {
58
+ // `_` is a legal agent name and `enumCaseIdentifier` keeps it, but a bare
59
+ // `_` is not a legal case name or member reference (CSO-4549-002).
60
+ const cases = enumCaseNames(presentations.map((presentation) => presentation.name)).map((named, index) => ({
61
+ ...named,
62
+ name: named.name === "_" ? "`_`" : named.name,
63
+ typeName: presentations[index].typeName,
64
+ }));
65
+ const lines = [
66
+ `/// A presentation the \`${key}\` agent hands the client with its answer,`,
67
+ `/// typed by name: decode one of \`view.presentations(of:names:)\` with \`init?(_:)\`.`,
68
+ `public enum ${typeBaseName}AgentPresentation: Equatable, Sendable {`,
69
+ ];
70
+ for (const { name, typeName } of cases)
71
+ lines.push(`${INDENT}case ${name}(${typeName})`);
72
+ if (cases.length > 0)
73
+ lines.push("");
74
+ lines.push(`${INDENT}/// The presentation's typed input; \`nil\` for a name this agent does not`, `${INDENT}/// declare, or an input its type does not decode.`, `${INDENT}public init?(_ presentation: AgentPresentation) {`);
75
+ if (cases.length === 0) {
76
+ lines.push(`${INDENT}${INDENT}return nil`);
77
+ }
78
+ else {
79
+ lines.push(`${INDENT}${INDENT}switch presentation.name {`);
80
+ for (const { name, raw, typeName } of cases) {
81
+ lines.push(`${INDENT}${INDENT}case ${swiftKeyLiteral(raw)}:`, `${INDENT}${INDENT}${INDENT}do { self = .${name}(try presentation.decode(${typeName}.self)) } catch { return nil }`);
82
+ }
83
+ lines.push(`${INDENT}${INDENT}default:`, `${INDENT}${INDENT}${INDENT}return nil`, `${INDENT}${INDENT}}`);
84
+ }
85
+ lines.push(`${INDENT}}`, `}`);
86
+ return lines.join("\n");
87
+ }
42
88
  /**
43
89
  * Render the full `<key>.agent.generated.swift` content for one agent prompt.
44
90
  * Pure — exported so tests can assert on the string directly. Throws a
@@ -66,6 +112,10 @@ export function renderAgentSwiftFile(source) {
66
112
  decl: renderSwiftRootType(tool.output.typeName, tool.output.schema, { sourceFile }),
67
113
  },
68
114
  ]),
115
+ ...agent.presentations.map((presentation) => ({
116
+ path: `tools.${presentation.name}.inputSchema`,
117
+ decl: renderSwiftRootType(presentation.typeName, presentation.schema, { sourceFile }),
118
+ })),
69
119
  ...agent.events.map((event) => ({
70
120
  path: `events.${event.name}.schema`,
71
121
  decl: renderSwiftRootType(event.typeName, event.schema, { sourceFile }),
@@ -88,12 +138,14 @@ export function renderAgentSwiftFile(source) {
88
138
  }
89
139
  }
90
140
  const decls = rendered.map((entry) => entry.decl);
141
+ const presentations = presentationEnum(prompt.typeBaseName, prompt.key, agent.presentations);
91
142
  const namespace = [
92
143
  `/// The \`${prompt.key}\` agent: the key a session is created with, and the`,
93
- `/// client tools and event kinds it declares.`,
144
+ `/// client tools, presentations and event kinds it declares.`,
94
145
  `public enum ${prompt.typeBaseName}Agent {`,
95
146
  `${INDENT}public static let key = ${swiftKeyLiteral(prompt.key)}`,
96
147
  `${INDENT}public static let clientToolNames: [String] = ${nameList(agent.clientTools.map((tool) => tool.name))}`,
148
+ `${INDENT}public static let presentationNames: [String] = ${nameList(agent.presentations.map((presentation) => presentation.name))}`,
97
149
  `${INDENT}public static let eventNames: [String] = ${nameList(agent.events.map((event) => event.name))}`,
98
150
  `}`,
99
151
  ].join("\n");
@@ -105,7 +157,7 @@ export function renderAgentSwiftFile(source) {
105
157
  // `JsBaoClient` for `JSONValue`, which an open schema renders to — the
106
158
  // import the function invokers carry too.
107
159
  const imports = ["import Foundation", "import JsBaoClient"].join("\n");
108
- const content = [banner, imports, ...decls, namespace].join("\n\n") + "\n";
160
+ const content = [banner, imports, ...decls, presentations, namespace].join("\n\n") + "\n";
109
161
  return {
110
162
  key: prompt.key,
111
163
  content,
@@ -1 +1 @@
1
- {"version":3,"file":"agentGenerator.js","sourceRoot":"","sources":["../../../../src/lib/swift-codegen/agentGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentGenerator.js","sourceRoot":"","sources":["../../../../src/lib/swift-codegen/agentGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Classification of the `WorkflowDefinition` field surface (issue #2326,
3
+ * Phase 1 of #1976).
4
+ *
5
+ * Purpose: give the CLI a mechanical trip-wire for the drift that keeps
6
+ * happening — the server grows a `[workflow]`-level config field (`syncCallable`
7
+ * #807, `accessRule` #571, `runAs` #1081, `capabilities` #1172, `lock` #1518)
8
+ * and the CLI silently drops it on `sync push` / `sync pull`. Every field of the
9
+ * `WorkflowDefinition` model must appear in exactly one of the three groups
10
+ * below. The generated artifact `generated-workflow-model-fields.ts` carries the
11
+ * model's real field list (parsed from `models.yaml` at build time), and
12
+ * `cli/tests/unit/workflow-field-descriptor-drift-guard.test.ts` asserts
13
+ *
14
+ * synced ∪ structural ∪ internal === the model's fields
15
+ *
16
+ * so a new field hard-fails the guard until someone classifies it.
17
+ *
18
+ * ── Scope: declarative classification and coverage ONLY ──────────────────
19
+ * Decision of record (#1976, 2026-07-23): this table records WHICH fields
20
+ * exist, whether each is synced / structural / internal, and its `[workflow]`
21
+ * TOML key. Anything with real BEHAVIOR gets an explicit per-field handler or
22
+ * stays outside the table. In particular this file deliberately does NOT encode
23
+ * as boolean knobs:
24
+ * - the schema fields' native-TOML-table-vs-JSON-string parsing
25
+ * (`buildWorkflowPayloadFromToml` / `safeJsonParse` own that),
26
+ * - `syncCallable`'s deferred second PATCH on update (#807 — `applyWorkflowBody`
27
+ * owns that),
28
+ * - the `metadataManifest` (#1304) and `expr.cel` (#1614) structural side
29
+ * channels, which are attached alongside the steps write and are not
30
+ * `[workflow]`-table keys at all.
31
+ * `cli/src/lib/app-settings-descriptor.ts` is the shape being matched:
32
+ * deliberately narrow.
33
+ *
34
+ * ── What Phase 1 does and does not do ───────────────────────────────────
35
+ * Phase 1 (this file) is the guard only. Making the push builder
36
+ * (`workflow-payload.ts`) and the pull serializer (`serializeWorkflow` in
37
+ * `commands/sync.ts`) *consume* this table is Phase 2 (#2327).
38
+ * `synced` therefore means "belongs in the `[workflow]` TOML table", NOT
39
+ * "already round-trips" — see `SYNCED_NOT_YET_WIRED` below.
40
+ */
41
+ /** Value shape of a synced `[workflow]` key. Descriptive; behavior lives in the handlers. */
42
+ export type WorkflowFieldType = "string" | "number" | "boolean" | "string[]" | "json";
43
+ export interface WorkflowFieldDescriptor {
44
+ /** `WorkflowDefinition` model field name === the server payload key. */
45
+ field: string;
46
+ /** Key under the `[workflow]` table in workflow TOML (usually === `field`). */
47
+ tomlKey: string;
48
+ /** Value shape, for the Phase 2 handlers and for documentation. */
49
+ type: WorkflowFieldType;
50
+ }
51
+ /**
52
+ * The author-facing `[workflow]`-table config fields — the ones a workflow
53
+ * author manages as code and the CLI must round-trip.
54
+ */
55
+ export declare const WORKFLOW_FIELD_DESCRIPTOR: readonly WorkflowFieldDescriptor[];
56
+ /**
57
+ * Fields that ARE author-controlled but do not live in the `[workflow]` table —
58
+ * they travel through their own structural channel. Kept distinct from
59
+ * `WORKFLOW_FIELDS_INTERNAL` so "internal" keeps meaning "not author-facing".
60
+ */
61
+ export declare const WORKFLOW_FIELDS_STRUCTURAL: ReadonlySet<string>;
62
+ /**
63
+ * Fields the server owns: identity, ownership, timestamps, computed pointers,
64
+ * and the deprecated draft/revision slot. None of these are ever sent by the
65
+ * CLI, and none belong in workflow TOML.
66
+ */
67
+ export declare const WORKFLOW_FIELDS_INTERNAL: ReadonlySet<string>;
68
+ /**
69
+ * Synced fields the CLI does NOT round-trip yet — Phase 2 (#2327) wires them.
70
+ * Recorded explicitly so "classified" is never mistaken for "implemented".
71
+ * `lock` was wired by #1972; `templateMissingMarker` was removed from the
72
+ * platform by #2643, so the set is now empty.
73
+ */
74
+ export declare const SYNCED_NOT_YET_WIRED: ReadonlySet<string>;
75
+ /** Descriptor `field` names, for coverage/parity checks. */
76
+ export declare const WORKFLOW_SYNCED_FIELDS: ReadonlySet<string>;
77
+ /** Look up a synced field's descriptor by model field name. */
78
+ export declare function getWorkflowFieldDescriptor(field: string): WorkflowFieldDescriptor | undefined;
79
+ /**
80
+ * Model fields that are classified in NONE of synced / structural / internal —
81
+ * i.e. a field someone added to `models.yaml` without deciding how the CLI
82
+ * treats it. Non-empty is a hard failure in the drift guard.
83
+ */
84
+ export declare function findUnclassifiedWorkflowFields(modelFields: readonly string[]): string[];
85
+ /**
86
+ * Classifications that no longer correspond to a model field — i.e. a field
87
+ * removed from `models.yaml` while the CLI still classifies it. Also a hard
88
+ * failure: a stale classification must not silently pass, or the coverage
89
+ * claim quietly stops meaning anything.
90
+ */
91
+ export declare function findStaleWorkflowClassifications(modelFields: readonly string[]): string[];