@controllerai/cli 0.2.9 → 0.2.11

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 (57) hide show
  1. package/dist/api/client.js +66 -13
  2. package/dist/api/client.js.map +1 -1
  3. package/dist/argv.js +330 -29
  4. package/dist/argv.js.map +1 -1
  5. package/dist/commands/agent.js +208 -8
  6. package/dist/commands/agent.js.map +1 -1
  7. package/dist/commands/auth.js +21 -5
  8. package/dist/commands/auth.js.map +1 -1
  9. package/dist/commands/connect.js +26 -7
  10. package/dist/commands/connect.js.map +1 -1
  11. package/dist/commands/doctor.js +71 -4
  12. package/dist/commands/doctor.js.map +1 -1
  13. package/dist/commands/exec.js +161 -49
  14. package/dist/commands/exec.js.map +1 -1
  15. package/dist/commands/expr.js +284 -53
  16. package/dist/commands/expr.js.map +1 -1
  17. package/dist/commands/flow.js +58 -14
  18. package/dist/commands/flow.js.map +1 -1
  19. package/dist/commands/node.js +746 -173
  20. package/dist/commands/node.js.map +1 -1
  21. package/dist/commands/organize.js +1 -1
  22. package/dist/commands/organize.js.map +1 -1
  23. package/dist/commands/run.js +165 -33
  24. package/dist/commands/run.js.map +1 -1
  25. package/dist/commands/schema.js +8 -7
  26. package/dist/commands/schema.js.map +1 -1
  27. package/dist/commands/signup.js +250 -0
  28. package/dist/commands/signup.js.map +1 -0
  29. package/dist/commands/workflow.js +151 -24
  30. package/dist/commands/workflow.js.map +1 -1
  31. package/dist/config.js +160 -9
  32. package/dist/config.js.map +1 -1
  33. package/dist/context.js +66 -5
  34. package/dist/context.js.map +1 -1
  35. package/dist/errors.js +41 -8
  36. package/dist/errors.js.map +1 -1
  37. package/dist/index.js +13 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/nodeProps.js +333 -10
  40. package/dist/nodeProps.js.map +1 -1
  41. package/dist/output.js +6 -1
  42. package/dist/output.js.map +1 -1
  43. package/package.json +1 -1
  44. package/skills/controllerai-agents/SKILL.md +30 -10
  45. package/skills/controllerai-agents/references/instructions-and-versioning.md +1 -1
  46. package/skills/controllerai-data/SKILL.md +17 -0
  47. package/skills/controllerai-data/references/data-rails.md +1 -1
  48. package/skills/controllerai-expressions/SKILL.md +7 -3
  49. package/skills/controllerai-flow-control/SKILL.md +2 -0
  50. package/skills/controllerai-node-config/SKILL.md +33 -6
  51. package/skills/controllerai-node-config/references/prop-and-readiness.md +34 -0
  52. package/skills/controllerai-runs/SKILL.md +14 -4
  53. package/skills/controllerai-runs/references/debugging.md +1 -1
  54. package/skills/controllerai-start/SKILL.md +4 -1
  55. package/skills/controllerai-workflows/SKILL.md +14 -8
  56. package/skills/controllerai-workflows/references/command-map.md +3 -2
  57. package/skills/manifest.json +59 -59
@@ -1,11 +1,171 @@
1
1
  import { requireContext } from '../context.js';
2
2
  import { CaiError, userError } from '../errors.js';
3
3
  import { resolveJsSource } from '../jsSource.js';
4
- import { expressionReadbackChannel, nodePropsFromPayload } from '../nodeProps.js';
4
+ import { arrayExpressionReplacementWarning, assertArrayExpressionWriteSupported, expressionPersistenceMismatchMessage, nodePropsFromPayload, remoteOptionsCompiledLiteralNote, verifyExpressionPersistence, } from '../nodeProps.js';
5
5
  import { emit, emitError, isJsonMode, printKeyValues, printTable, warn } from '../output.js';
6
6
  const bindingName = (js) => js.replace(/^(inputs|flow)\./, '');
7
7
  export const validationFailed = (result) => result?.valid !== true || (result?.errors ?? []).length > 0;
8
8
  export const validationMessage = (result) => (result?.errors ?? []).join('\n') || JSON.stringify(result ?? null);
9
+ const toolArgument = (args, name) => {
10
+ const match = new RegExp(`(?:^|,\\s*)${name}\\s*:\\s*(?:"([^"]*)"|'([^']*)'|([^,\\s)]+))`).exec(args);
11
+ return match?.[1] ?? match?.[2] ?? match?.[3];
12
+ };
13
+ /**
14
+ * Backend context guidance is written for MCP callers. Translate only the
15
+ * three tool spellings that have direct CLI equivalents; all other text is
16
+ * deliberately preserved verbatim.
17
+ */
18
+ export const formatExpressionContextError = (message, nodeId, propName) => {
19
+ const targetProp = /^Prop "([^"]+)"/m.exec(message)?.[1] ?? propName;
20
+ const selectorProp = /Selector prop "([^"]+)"/.exec(message)?.[1];
21
+ return message
22
+ .replace(/\benable_optional_prop\(([^\n)]*)\)/g, (match, args = '') => {
23
+ const commandNodeId = toolArgument(args, 'nodeId') ?? nodeId;
24
+ const commandProp = toolArgument(args, 'propName') ?? targetProp;
25
+ return commandProp ? `\`cai node enable-prop ${commandNodeId} --prop ${commandProp}\`` : match;
26
+ })
27
+ .replace(/\bupdate_node_prop\(([^\n)]*)\)/g, (match, args = '') => {
28
+ const commandNodeId = toolArgument(args, 'nodeId') ?? nodeId;
29
+ const commandProp = toolArgument(args, 'key') ?? toolArgument(args, 'propName') ?? selectorProp ?? propName;
30
+ const commandValue = toolArgument(args, 'value') ?? '<v>';
31
+ return commandProp
32
+ ? `\`cai node set ${commandNodeId} --prop ${commandProp} --value ${commandValue}\``
33
+ : match;
34
+ })
35
+ .replace(/\bget_node_props\(([^\n)]*)\)/g, (_match, args = '') => {
36
+ const commandNodeId = toolArgument(args, 'nodeId') ?? nodeId;
37
+ return `\`cai node props ${commandNodeId} --json\``;
38
+ });
39
+ };
40
+ const formatValidationResult = (result, nodeId, propName) => ({
41
+ ...result,
42
+ ...(result.errors
43
+ ? {
44
+ errors: result.errors.map(message => formatExpressionContextError(message, nodeId, propName)),
45
+ }
46
+ : {}),
47
+ ...(result.warnings
48
+ ? {
49
+ warnings: result.warnings.map(message => formatExpressionContextError(message, nodeId, propName)),
50
+ }
51
+ : {}),
52
+ });
53
+ const rethrowFormattedContextError = (error, nodeId, propName) => {
54
+ if (error instanceof CaiError) {
55
+ const message = formatExpressionContextError(error.message, nodeId, propName);
56
+ if (message !== error.message) {
57
+ throw new CaiError(message, {
58
+ exitCode: error.exitCode,
59
+ code: error.code,
60
+ detail: error.detail,
61
+ scrubbed: error.scrubbed,
62
+ });
63
+ }
64
+ }
65
+ throw error;
66
+ };
67
+ const withFormattedContextErrors = async (run, nodeId, propName) => {
68
+ try {
69
+ return await run();
70
+ }
71
+ catch (error) {
72
+ return rethrowFormattedContextError(error, nodeId, propName);
73
+ }
74
+ };
75
+ const getExpressionContext = async (api, workflowId, nodeId, propName) => {
76
+ return withFormattedContextErrors(() => api.tool(workflowId, 'get_expression_context', {
77
+ nodeId,
78
+ ...(propName ? { propName } : {}),
79
+ }), nodeId, propName);
80
+ };
81
+ const validateExpression = async (api, workflowId, args) => {
82
+ const result = await withFormattedContextErrors(() => api.tool(workflowId, 'validate_expression', {
83
+ js: args.js,
84
+ nodeId: args.nodeId,
85
+ ...(args.propName ? { propName: args.propName } : {}),
86
+ ...(args.mode ? { mode: args.mode } : {}),
87
+ }), args.nodeId, args.propName);
88
+ return formatValidationResult(result, args.nodeId, args.propName);
89
+ };
90
+ const propKey = (prop) => prop.name ?? prop.key;
91
+ const disabledProp = (prop) => prop.enabled === false || prop.source === 'propsCatalog';
92
+ /**
93
+ * Fresh, read-only prop lookup for canonical readback. This helper can never
94
+ * auto-enable: callers deliberately retain an absent row so the canonical
95
+ * verifier can report the observed missing state.
96
+ */
97
+ export const requireReadbackProp = async (api, workflowId, nodeId, propName) => {
98
+ const data = await api.tool(workflowId, 'get_node_props', { nodeId });
99
+ return nodePropsFromPayload(data).find(row => propKey(row) === propName);
100
+ };
101
+ /**
102
+ * Resolve the live prop row used by a write, materializing a catalog-only
103
+ * optional prop when (and only when) the read-only context taxonomy confirms
104
+ * that enablement is the blocker.
105
+ */
106
+ export const prepareWritableProp = async (api, workflowId, nodeId, propName, metadataGate) => {
107
+ const data = await api.tool(workflowId, 'get_node_props', { nodeId });
108
+ const props = nodePropsFromPayload(data);
109
+ const prop = props.find(row => propKey(row) === propName);
110
+ if (!prop) {
111
+ const known = [...new Set(props.map(propKey).filter((name) => Boolean(name)))];
112
+ throw userError(`Node ${nodeId} has no prop "${propName}". Known props: ${known.join(', ') || '(none)'}. ` +
113
+ `Re-read \`cai node props ${nodeId} --json\`; a selector, connection, or reload may ` +
114
+ 'need to be configured first.', 'UNKNOWN_PROP');
115
+ }
116
+ // Locally decidable policy checks must run while this is still a read-only
117
+ // lookup. Compile-dependent checks happen after optional-prop materialization.
118
+ metadataGate?.(prop);
119
+ if (!disabledProp(prop))
120
+ return prop;
121
+ let blocker;
122
+ try {
123
+ const probe = await api.tool(workflowId, 'get_expression_context', {
124
+ nodeId,
125
+ propName,
126
+ });
127
+ blocker = probe?.targetPropError;
128
+ }
129
+ catch (error) {
130
+ if (error instanceof CaiError && /\benable_optional_prop\s*\(/.test(error.message)) {
131
+ blocker = error.message;
132
+ }
133
+ else {
134
+ rethrowFormattedContextError(error, nodeId, propName);
135
+ }
136
+ }
137
+ if (typeof blocker !== 'string' || !/\benable_optional_prop\s*\(/.test(blocker)) {
138
+ const message = typeof blocker === 'string'
139
+ ? formatExpressionContextError(blocker, nodeId, propName)
140
+ : `Prop "${propName}" is disabled in node metadata, but expression context did not ` +
141
+ 'confirm that optional-prop enablement is safe. Nothing was changed.';
142
+ throw userError(message, 'EXPRESSION_TARGET_UNAVAILABLE');
143
+ }
144
+ await api.mutate(workflowId, () => api.tool(workflowId, 'enable_optional_prop', { nodeId, propName }));
145
+ warn(`Auto-enabled ${nodeId}.${propName} before writing. If this command later fails, ` +
146
+ `the prop stays enabled; undo with \`cai node disable-prop ${nodeId} --prop ${propName}\`. ` +
147
+ 'If that command reports an unknown tool, this backend predates disable_optional_prop; ' +
148
+ 'disable the prop in the builder instead.');
149
+ const refreshed = await requireReadbackProp(api, workflowId, nodeId, propName);
150
+ if (!refreshed || disabledProp(refreshed)) {
151
+ throw userError(`Prop "${propName}" did not materialize after it was enabled. A prop reload may have ` +
152
+ `removed or replaced it. Inspect \`cai node props ${nodeId} --json\` before retrying.`, 'PROP_NOT_MATERIALIZED');
153
+ }
154
+ return refreshed;
155
+ };
156
+ const looksLikeExpressionBearingTextExpression = (value) => {
157
+ if (!value || typeof value !== 'object' || Array.isArray(value))
158
+ return false;
159
+ const record = value;
160
+ if (record.type !== 'TextExpression' || !Array.isArray(record.entries))
161
+ return false;
162
+ const expressionChipTypes = new Set(['data_source', 'operation', 'injected_value', 'empty']);
163
+ return record.entries.some(row => Array.isArray(row) &&
164
+ row.some(entry => entry !== null &&
165
+ typeof entry === 'object' &&
166
+ !Array.isArray(entry) &&
167
+ expressionChipTypes.has(String(entry.type ?? ''))));
168
+ };
9
169
  const sourceNodeOf = (type) => {
10
170
  const match = /^output\.node\.(.+?)(#data)?$/.exec(type ?? '');
11
171
  return match ? match[1] : null;
@@ -63,10 +223,7 @@ export const registerExpr = (program) => {
63
223
  .action(async (nodeId, opts, command) => {
64
224
  const { api, workflowId } = requireContext(command);
65
225
  const [context, nodeRecord] = await Promise.all([
66
- api.tool(workflowId, 'get_expression_context', {
67
- nodeId,
68
- ...(opts.prop ? { propName: opts.prop } : {}),
69
- }),
226
+ getExpressionContext(api, workflowId, nodeId, opts.prop),
70
227
  api.tool(workflowId, 'get_node', { nodeId }).catch(() => null),
71
228
  ]);
72
229
  const nodeInputs = nodeRecord?.inputs ?? nodeRecord?.data?.inputs ?? [];
@@ -95,7 +252,9 @@ export const registerExpr = (program) => {
95
252
  unwiredUpstreamOutputs: context.unwiredUpstreamOutputs ?? [],
96
253
  schemas: context.schemas ?? {},
97
254
  targetProp: context.targetProp ?? null,
98
- targetPropError: context.targetPropError ?? null,
255
+ targetPropError: context.targetPropError
256
+ ? formatExpressionContextError(String(context.targetPropError), nodeId, opts.prop)
257
+ : null,
99
258
  duplicateDisplayNames: duplicates.map(d => ({
100
259
  displayName: d.displayName,
101
260
  js: d.js,
@@ -176,7 +335,7 @@ export const registerExpr = (program) => {
176
335
  if (opts.mode && !['text', 'expression', 'onlyWhen'].includes(opts.mode)) {
177
336
  throw userError(`--mode must be text, expression or onlyWhen.`, 'BAD_MODE');
178
337
  }
179
- const result = await api.tool(workflowId, 'validate_expression', {
338
+ const result = await validateExpression(api, workflowId, {
180
339
  js,
181
340
  nodeId,
182
341
  ...(opts.prop ? { propName: opts.prop } : {}),
@@ -223,27 +382,12 @@ export const registerExpr = (program) => {
223
382
  .action(async (nodeId, opts, command) => {
224
383
  const js = resolveJsSource(opts);
225
384
  const { api, workflowId } = requireContext(command);
226
- const context = await api.tool(workflowId, 'get_expression_context', {
227
- nodeId,
228
- propName: opts.prop,
229
- });
385
+ const prop = await prepareWritableProp(api, workflowId, nodeId, opts.prop, candidate => assertArrayExpressionWriteSupported(nodeId, opts.prop, candidate, undefined));
386
+ const context = await getExpressionContext(api, workflowId, nodeId, opts.prop);
230
387
  if (context?.targetPropError) {
231
- throw userError(String(context.targetPropError), 'EXPRESSION_TARGET_UNAVAILABLE');
232
- }
233
- const propsData = await api.tool(workflowId, 'get_node_props', { nodeId });
234
- const props = nodePropsFromPayload(propsData);
235
- const prop = props.find(row => (row.name ?? row.key) === opts.prop);
236
- if (!prop) {
237
- throw userError(`Prop "${opts.prop}" is not available. Known: ${props
238
- .map(row => row.name ?? row.key)
239
- .filter(Boolean)
240
- .join(', ')}`, 'PROP_NOT_FOUND');
241
- }
242
- if (prop.enabled === false || prop.source === 'propsCatalog') {
243
- throw userError(`Prop "${opts.prop}" must be enabled before writing an expression: ` +
244
- `\`cai node enable-prop ${nodeId} --prop ${opts.prop}\`.`, 'PROP_NOT_ENABLED');
388
+ throw userError(formatExpressionContextError(String(context.targetPropError), nodeId, opts.prop), 'EXPRESSION_TARGET_UNAVAILABLE');
245
389
  }
246
- const validation = await api.tool(workflowId, 'validate_expression', {
390
+ const validation = await validateExpression(api, workflowId, {
247
391
  js,
248
392
  nodeId,
249
393
  propName: opts.prop,
@@ -251,46 +395,70 @@ export const registerExpr = (program) => {
251
395
  if (validationFailed(validation)) {
252
396
  throw userError(`Expression did not compile — nothing was written.\n\n${validationMessage(validation)}`, 'EXPRESSION_COMPILE_ERROR');
253
397
  }
398
+ assertArrayExpressionWriteSupported(nodeId, opts.prop, prop, validation.inferredType);
399
+ const replacementWarning = arrayExpressionReplacementWarning(opts.prop, prop);
400
+ if (replacementWarning)
401
+ warn(replacementWarning);
254
402
  for (const message of validation.warnings ?? [])
255
403
  warn(String(message));
256
- const channel = expressionReadbackChannel(prop);
257
- const result = await api.mutate(workflowId, () => api.tool(workflowId, 'update_node_prop', {
404
+ const result = await withFormattedContextErrors(() => api.mutate(workflowId, () => api.tool(workflowId, 'update_node_prop', {
258
405
  nodeId,
259
406
  key: opts.prop,
260
407
  // The backend owns the compile target and stored-channel routing.
261
- // Always write valueJs, then verify its decompiled stored channel.
408
+ // Always write valueJs, then verify the exact canonical raw AST.
262
409
  valueJs: js,
263
- }));
264
- const freshData = await api.tool(workflowId, 'get_node_props', { nodeId });
265
- const freshProps = nodePropsFromPayload(freshData);
266
- const readback = freshProps.find(row => (row.name ?? row.key) === opts.prop);
267
- // ARRAY props (SHORT_TEXT_ARRAY &co) persist the expression inside the
268
- // value array's entries, not in a scalar channel. The first dogfood run
269
- // hit a FALSE "did not read back" here on a successful write — never
270
- // report an error for a shape that is simply stored differently.
271
- const storedInArrayEntries = !readback?.[channel] &&
272
- String(prop.inputType ?? '').endsWith('_ARRAY') &&
273
- Array.isArray(readback?.value) &&
274
- (readback?.value).length > 0;
275
- if (!readback?.[channel] && !storedInArrayEntries) {
276
- throw userError(`The backend accepted the write but ${opts.prop}.${channel} did not read back.`, 'READBACK_MISMATCH');
410
+ })), nodeId, opts.prop);
411
+ const readback = await requireReadbackProp(api, workflowId, nodeId, opts.prop);
412
+ const verification = verifyExpressionPersistence(prop, readback, validation.expression);
413
+ if (!verification.verified) {
414
+ throw new CaiError(expressionPersistenceMismatchMessage(opts.prop, verification), {
415
+ code: 'READBACK_MISMATCH',
416
+ detail: {
417
+ nodeId,
418
+ prop: opts.prop,
419
+ expected: verification.expected,
420
+ observed: verification.observed,
421
+ },
422
+ });
277
423
  }
424
+ const note = remoteOptionsCompiledLiteralNote(prop, verification);
425
+ const rawDynamicSelectorNote = result && typeof result === 'object' && !Array.isArray(result)
426
+ ? result.dynamicSelectorNote
427
+ : undefined;
428
+ const dynamicSelectorNote = typeof rawDynamicSelectorNote === 'string' && rawDynamicSelectorNote.trim()
429
+ ? rawDynamicSelectorNote
430
+ : undefined;
278
431
  emit({
279
432
  nodeId,
280
433
  prop: opts.prop,
281
- channel: storedInArrayEntries ? 'value (array entries)' : channel,
434
+ source: 'explicit --js',
435
+ channel: verification.channel,
436
+ kind: verification.kind,
282
437
  inferredType: validation.inferredType ?? null,
283
438
  expectedType: context?.targetProp?.expectedType ?? null,
284
- persistedJs: storedInArrayEntries ? readback?.value : readback?.[channel],
439
+ // Compatibility alias for existing JSON consumers. `persistedValue`
440
+ // is the truthful name when the verified channel contains a raw AST.
441
+ persistedJs: verification.persistedValue,
442
+ persistedValue: verification.persistedValue,
443
+ ...(note ? { note } : {}),
444
+ ...(dynamicSelectorNote ? { dynamicSelectorNote } : {}),
285
445
  result,
286
- }, () => printKeyValues([
287
- ['nodeId', nodeId],
288
- ['prop', opts.prop],
289
- ['channel', channel],
290
- ['inferred type', validation.inferredType ?? '-'],
291
- ['expected type', context?.targetProp?.expectedType ?? '-'],
292
- ['verified', 'yes'],
293
- ]));
446
+ }, () => {
447
+ printKeyValues([
448
+ ['nodeId', nodeId],
449
+ ['prop', opts.prop],
450
+ ['source', 'explicit --js'],
451
+ ['channel', verification.channel],
452
+ ['kind', verification.kind],
453
+ ['inferred type', validation.inferredType ?? '-'],
454
+ ['expected type', context?.targetProp?.expectedType ?? '-'],
455
+ ['verified', 'yes'],
456
+ ]);
457
+ if (note)
458
+ process.stdout.write(`\n${note}\n`);
459
+ if (dynamicSelectorNote)
460
+ process.stdout.write(`\n${dynamicSelectorNote}\n`);
461
+ });
294
462
  });
295
463
  expr
296
464
  .command('ops')
@@ -336,6 +504,69 @@ export const registerExpr = (program) => {
336
504
  .map(p => p.name ?? p.key)
337
505
  .join(', ')}`, 'PROP_NOT_FOUND');
338
506
  }
507
+ if (String(prop.inputType ?? '').endsWith('_ARRAY')) {
508
+ const rawElements = Array.isArray(prop.value) ? prop.value : [];
509
+ if (Array.isArray(prop.valueItems)) {
510
+ const valueItemsByIndex = new Map(prop.valueItems.map(item => [item.index, item]));
511
+ const indexes = new Set([
512
+ ...rawElements.map((_value, index) => index),
513
+ ...prop.valueItems.map(item => item.index),
514
+ ]);
515
+ const elements = [...indexes]
516
+ .sort((left, right) => left - right)
517
+ .map(index => ({
518
+ index,
519
+ valueJs: typeof valueItemsByIndex.get(index)?.valueJs === 'string'
520
+ ? valueItemsByIndex.get(index).valueJs
521
+ : null,
522
+ value: rawElements[index] ?? null,
523
+ }));
524
+ emit({
525
+ nodeId,
526
+ prop: opts.prop,
527
+ elements,
528
+ ...(prop.valueItemsTruncated
529
+ ? { valueItemsTruncated: prop.valueItemsTruncated }
530
+ : {}),
531
+ }, () => {
532
+ printKeyValues([
533
+ ['prop', opts.prop],
534
+ ['inputType', prop.inputType],
535
+ ]);
536
+ process.stdout.write('\nelements\n');
537
+ printTable(['index', 'kind', 'js'], elements.map(element => {
538
+ const kind = element.valueJs !== null
539
+ ? 'expression'
540
+ : looksLikeExpressionBearingTextExpression(element.value)
541
+ ? 'expression-unavailable'
542
+ : 'static';
543
+ return [element.index, kind, element.valueJs];
544
+ }));
545
+ if (prop.valueItemsTruncated) {
546
+ process.stdout.write(`\nElement JS metadata was returned for ${prop.valueItemsTruncated.returned} ` +
547
+ `of ${prop.valueItemsTruncated.total} elements.\n`);
548
+ }
549
+ });
550
+ return;
551
+ }
552
+ const note = 'Element JS requires a newer backend; showing raw stored array entries instead.';
553
+ emit({ nodeId, prop: opts.prop, elements: rawElements, note }, () => {
554
+ printKeyValues([
555
+ ['prop', opts.prop],
556
+ ['inputType', prop.inputType],
557
+ ]);
558
+ process.stdout.write('\nelements\n');
559
+ printTable(['index', 'kind', 'value'], rawElements.map((element, index) => [
560
+ index,
561
+ looksLikeExpressionBearingTextExpression(element)
562
+ ? 'expression-unavailable'
563
+ : 'static',
564
+ element,
565
+ ]));
566
+ process.stdout.write(`\n${note}\n`);
567
+ });
568
+ return;
569
+ }
339
570
  const channel = prop.expressionValueJs !== undefined && prop.expressionValueJs !== null
340
571
  ? 'expressionValueJs'
341
572
  : 'valueJs';
@@ -1 +1 @@
1
- {"version":3,"file":"expr.js","sourceRoot":"","sources":["../../src/commands/expr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expr.js","sourceRoot":"","sources":["../../src/commands/expr.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,oCAAoC,EACpC,oBAAoB,EACpB,gCAAgC,EAEhC,2BAA2B,GAC5B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAyB5F,MAAM,WAAW,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;AAgB9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAoC,EAAW,EAAE,CAChF,MAAM,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;AAE7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAoC,EAAU,EAAE,CAChF,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,CAAA;AAErE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,IAAY,EAAsB,EAAE;IACtE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,IAAI,8CAA8C,CAAC,CAAC,IAAI,CAC7F,IAAI,CACL,CAAA;IACD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,OAAe,EACf,MAAc,EACd,QAAiB,EACT,EAAE;IACV,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAA;IACpE,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEjE,OAAO,OAAO;SACX,OAAO,CAAC,sCAAsC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;QACpE,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAA;QAC5D,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,UAAU,CAAA;QAChE,OAAO,WAAW,CAAC,CAAC,CAAC,0BAA0B,aAAa,WAAW,WAAW,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;IAChG,CAAC,CAAC;SACD,OAAO,CAAC,kCAAkC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;QAChE,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAA;QAC5D,MAAM,WAAW,GACf,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,YAAY,IAAI,QAAQ,CAAA;QACzF,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,CAAA;QACzD,OAAO,WAAW;YAChB,CAAC,CAAC,kBAAkB,aAAa,WAAW,WAAW,YAAY,YAAY,IAAI;YACnF,CAAC,CAAC,KAAK,CAAA;IACX,CAAC,CAAC;SACD,OAAO,CAAC,gCAAgC,EAAE,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;QAC/D,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAA;QAC5D,OAAO,oBAAoB,aAAa,WAAW,CAAA;IACrD,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAC7B,MAAwB,EACxB,MAAc,EACd,QAAiB,EACC,EAAE,CAAC,CAAC;IACtB,GAAG,MAAM;IACT,GAAG,CAAC,MAAM,CAAC,MAAM;QACf,CAAC,CAAC;YACE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAClC,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CACxD;SACF;QACH,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,CAAC,MAAM,CAAC,QAAQ;QACjB,CAAC,CAAC;YACE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACtC,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CACxD;SACF;QACH,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,CAAA;AAEF,MAAM,4BAA4B,GAAG,CAAC,KAAc,EAAE,MAAc,EAAE,QAAiB,EAAS,EAAE;IAChG,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC7E,IAAI,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAA;AACb,CAAC,CAAA;AAED,MAAM,0BAA0B,GAAG,KAAK,EACtC,GAAqB,EACrB,MAAc,EACd,QAAiB,EACL,EAAE;IACd,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,EAAE,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC,CAAA;AAED,MAAM,oBAAoB,GAAG,KAAK,EAChC,GAAc,EACd,UAAkB,EAClB,MAAc,EACd,QAAiB,EACH,EAAE;IAChB,OAAO,0BAA0B,CAC/B,GAAG,EAAE,CACH,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,EAAE;QAC7C,MAAM;QACN,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC,EACJ,MAAM,EACN,QAAQ,CACT,CAAA;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,KAAK,EAC9B,GAAc,EACd,UAAkB,EAClB,IAAkF,EACvD,EAAE;IAC7B,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAC7C,GAAG,EAAE,CACH,GAAG,CAAC,IAAI,CAAmB,UAAU,EAAE,qBAAqB,EAAE;QAC5D,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC,EACJ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,CACd,CAAA;IACD,OAAO,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;AACnE,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,IAAsB,EAAsB,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAA;AAErF,MAAM,YAAY,GAAG,CAAC,IAAsB,EAAW,EAAE,CACvD,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,CAAA;AAE1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,GAAc,EACd,UAAkB,EAClB,MAAc,EACd,QAAgB,EACuB,EAAE;IACzC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAU,UAAU,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9E,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAA;AAC1E,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,GAAc,EACd,UAAkB,EAClB,MAAc,EACd,QAAgB,EAChB,YAA+C,EACpB,EAAE;IAC7B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAU,UAAU,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAA;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9F,MAAM,SAAS,CACb,QAAQ,MAAM,iBAAiB,QAAQ,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,IAAI;YACxF,4BAA4B,MAAM,mDAAmD;YACrF,8BAA8B,EAChC,cAAc,CACf,CAAA;IACH,CAAC;IACD,2EAA2E;IAC3E,+EAA+E;IAC/E,YAAY,EAAE,CAAC,IAAI,CAAC,CAAA;IACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAEpC,IAAI,OAAgB,CAAA;IACpB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,CAAM,UAAU,EAAE,wBAAwB,EAAE;YACtE,MAAM;YACN,QAAQ;SACT,CAAC,CAAA;QACF,OAAO,GAAG,KAAK,EAAE,eAAe,CAAA;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ,IAAI,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACnF,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChF,MAAM,OAAO,GACX,OAAO,OAAO,KAAK,QAAQ;YACzB,CAAC,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;YACzD,CAAC,CAAC,SAAS,QAAQ,iEAAiE;gBAClF,qEAAqE,CAAA;QAC3E,MAAM,SAAS,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,CAChC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CACnE,CAAA;IACD,IAAI,CACF,gBAAgB,MAAM,IAAI,QAAQ,gDAAgD;QAChF,6DAA6D,MAAM,WAAW,QAAQ,MAAM;QAC5F,wFAAwF;QACxF,0CAA0C,CAC7C,CAAA;IAED,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC9E,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,MAAM,SAAS,CACb,SAAS,QAAQ,qEAAqE;YACpF,oDAAoD,MAAM,4BAA4B,EACxF,uBAAuB,CACxB,CAAA;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,wCAAwC,GAAG,CAAC,KAAc,EAAW,EAAE;IAC3E,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7E,MAAM,MAAM,GAAG,KAAgC,CAAA;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IACpF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAA;IAC5F,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CACxB,GAAG,CAAC,EAAE,CACJ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAClB,GAAG,CAAC,IAAI,CACN,KAAK,CAAC,EAAE,CACN,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAE,KAAiC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CACjF,CACJ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,IAAY,EAAiB,EAAE;IACnD,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC9D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAChC,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,QAA0B,EAC1B,OAAoD,EAChC,EAAE;IACtB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC/C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QAC/C,IAAI,GAAG;YAAE,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACpE,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,GAAG,CAAC;QACJ,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,IAAI;QACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAClC,oBAAoB,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;KACxF,CAAC,CAAC,CAAA;AACL,CAAC,CAAA;AAED,6EAA6E;AAC7E,MAAM,cAAc,GAAG,KAAK,EAC1B,GAAyF,EACzF,UAAkB,EAClB,MAAc,EACwC,EAAE;IACxD,IAAI,CAAC;QACH,MAAM,KAAK,GAAU,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;QAChE,KAAK,MAAM,OAAO,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,cAAc;gBAAE,SAAQ;YACrC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;YAC7E,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;gBAC5D,OAAO,MAAM,EAAE,UAAU,IAAI,EAAE,CAAA;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;IAC9E,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAQ,EAAE;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAA;IAE1E,IAAI;SACD,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,UAAU,CAAC;SACpB,MAAM,CAAC,eAAe,EAAE,wDAAwD,CAAC;SACjF,MAAM,CAAC,WAAW,EAAE,yCAAyC,EAAE,KAAK,CAAC;SACrE,WAAW,CAAC,kEAAkE,CAAC;SAC/E,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE;QACvD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAC/D,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,UAAU,EAAE,MAAM,IAAI,UAAU,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAA;QACvE,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM;YAC5C,CAAC,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC;YAC/C,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,CAAC,CAAA;QACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,UAAU,CAAC,CAAA;QAErD,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;QAC3E,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CACF,2BAA2B,CAAC,CAAC,WAAW,oCAAoC,CAAC,CAAC,EAAE,IAAI;gBAClF,aAAa,CAAC,CAAC,OAAO,IAAI,SAAS,GACjC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EACrD,+EAA+E;gBAC/E,2BAA2B,CAC9B,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG;YACd,MAAM;YACN,MAAM;YACN,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;YACxC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,IAAI,EAAE;YAC5D,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YACtC,eAAe,EAAE,OAAO,CAAC,eAAe;gBACtC,CAAC,CAAC,4BAA4B,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;gBAClF,CAAC,CAAC,IAAI;YACR,qBAAqB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1C,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,YAAY,EAAE,CAAC,CAAC,YAAY;aAC7B,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAA;QAED,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACjB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,cAAc,CAAC;oBACb,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;oBACvC,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;oBAClD,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;iBAClC,CAAC,CAAA;gBACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC5B,CAAC;YACD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,eAAe,MAAM,CAAC,CAAA;YAC1E,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YACrC,UAAU,CACR,CAAC,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,EACnE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACd,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI;gBACxB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;aAC1C,CAAC,CACH,CAAA;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACvC,UAAU,CACR,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAC/C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACZ,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;aAC1C,CAAC,CACH,CAAA;YAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA;YACpF,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uBAAuB,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CACxE,CAAA;YACH,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;YACzC,UAAU,CACR,CAAC,IAAI,EAAE,MAAM,CAAC,EACb,OAAO,CAAC,YAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CACzD,CAAA;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YACrC,UAAU,CACR,CAAC,IAAI,EAAE,MAAM,CAAC,EACb,OAAO,CAAC,SAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CACtD,CAAA;YAED,IAAI,OAAO,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAA;gBAC7D,UAAU,CACR,CAAC,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,EACnD,OAAO,CAAC,sBAAgC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,QAAQ;iBACX,CAAC,CACH,CAAA;YACH,CAAC;YAED,MAAM,SAAS,GAAG,MAAM;iBACrB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC9E,MAAM,CACL,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACpF,CAAA;YACH,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBAC5C,UAAU,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAAA;YAClD,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,IAAI;SACD,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,UAAU,CAAC;SACpB,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC;SAC7C,MAAM,CAAC,oBAAoB,EAAE,uDAAuD,CAAC;SACrF,MAAM,CAAC,eAAe,EAAE,6DAA6D,CAAC;SACtF,MAAM,CAAC,mCAAmC,EAAE,uCAAuC,CAAC;SACpF,WAAW,CAAC,wEAAwE,CAAC;SACrF,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE;QACvD,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACnD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,MAAM,SAAS,CAAC,8CAA8C,EAAE,UAAU,CAAC,CAAA;QAC7E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE;YACvD,EAAE;YACF,MAAM;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACvC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,QAAQ,IAAI,EAAE;YAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACvD,IAAI,MAAM,IAAI,UAAU,EAAE,EAAE,CAAC;YAC3B,SAAS,CACP,IAAI,QAAQ,CAAC,oCAAoC,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE;gBAC5E,IAAI,EAAE,oBAAoB;gBAC1B,MAAM,EAAE,MAAM;aACf,CAAC,CACH,CAAA;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YAChB,cAAc,CAAC;gBACb,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBAChC,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,IAAI,GAAG,CAAC;gBAC7C,GAAG,CAAC,MAAM,EAAE,aAAa;oBACvB,CAAC,CAAE,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAA8B;oBACzE,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAA;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;gBAClC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,MAAM,IAAI,EAAE;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,IAAI,CAAC,CAAA;YACpF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;YACtF,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,MAAM;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEJ,IAAI;SACD,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,UAAU,CAAC;SACpB,cAAc,CAAC,eAAe,EAAE,kBAAkB,CAAC;SACnD,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC;SAC7C,MAAM,CAAC,oBAAoB,EAAE,uDAAuD,CAAC;SACrF,WAAW,CAAC,6EAA6E,CAAC;SAC1F,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE;QACvD,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CACrF,mCAAmC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAC7E,CAAA;QACD,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9E,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;YAC7B,MAAM,SAAS,CACb,4BAA4B,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAChF,+BAA+B,CAChC,CAAA;QACH,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE;YAC3D,EAAE;YACF,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC,CAAA;QACF,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,SAAS,CACb,wDAAwD,iBAAiB,CAAC,UAAU,CAAC,EAAE,EACvF,0BAA0B,CAC3B,CAAA;QACH,CAAC;QACD,mCAAmC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;QACrF,MAAM,kBAAkB,GAAG,iCAAiC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC7E,IAAI,kBAAkB;YAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAChD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,IAAI,EAAE;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QAEtE,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAC7C,GAAG,EAAE,CACH,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,CAC1B,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,EAAE;YACvC,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,kEAAkE;YAClE,iEAAiE;YACjE,OAAO,EAAE,EAAE;SACZ,CAAC,CACH,EACH,MAAM,EACN,IAAI,CAAC,IAAI,CACV,CAAA;QACD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9E,MAAM,YAAY,GAAG,2BAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;QACvF,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,QAAQ,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE;gBAChF,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE;oBACN,MAAM;oBACN,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,YAAY,CAAC,QAAQ;oBAC/B,QAAQ,EAAE,YAAY,CAAC,QAAQ;iBAChC;aACF,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,gCAAgC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;QACjE,MAAM,sBAAsB,GAC1B,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC5D,CAAC,CAAE,MAAkC,CAAC,mBAAmB;YACzD,CAAC,CAAC,SAAS,CAAA;QACf,MAAM,mBAAmB,GACvB,OAAO,sBAAsB,KAAK,QAAQ,IAAI,sBAAsB,CAAC,IAAI,EAAE;YACzE,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,SAAS,CAAA;QACf,IAAI,CACF;YACE,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI;YAC7C,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,IAAI,IAAI;YACvD,oEAAoE;YACpE,qEAAqE;YACrE,WAAW,EAAE,YAAY,CAAC,cAAc;YACxC,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,MAAM;SACP,EACD,GAAG,EAAE;YACH,cAAc,CAAC;gBACb,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAClB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;gBACnB,CAAC,QAAQ,EAAE,eAAe,CAAC;gBAC3B,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC;gBACjC,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;gBAC3B,CAAC,eAAe,EAAE,UAAU,CAAC,YAAY,IAAI,GAAG,CAAC;gBACjD,CAAC,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,IAAI,GAAG,CAAC;gBAC3D,CAAC,UAAU,EAAE,KAAK,CAAC;aACpB,CAAC,CAAA;YACF,IAAI,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAA;YAC7C,IAAI,mBAAmB;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,mBAAmB,IAAI,CAAC,CAAA;QAC7E,CAAC,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,IAAI;SACD,OAAO,CAAC,KAAK,CAAC;SACd,MAAM,CACL,gBAAgB,EAChB,sEAAsE,CACvE;SACA,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE;QACvC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACnD,yEAAyE;QACzE,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,CAAQ,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;QAChE,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,SAAS,CACb,mFAAmF;gBACjF,8CAA8C,EAChD,UAAU,CACX,CAAA;QACH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;QAC7E,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAC3C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;QAC3F,MAAM,OAAO,GAA6B,OAAO,CAAC,OAAO,IAAI,EAAE,CAAA;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;QAChF,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,SAAS,CACb,iBAAiB,IAAI,CAAC,IAAI,aAAa,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EACzE,eAAe,CAChB,CAAA;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YAClB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAA;gBACnC,KAAK,MAAM,EAAE,IAAI,GAAG;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACzD,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,IAAI;SACD,OAAO,CAAC,WAAW,CAAC;SACpB,QAAQ,CAAC,UAAU,CAAC;SACpB,cAAc,CAAC,eAAe,CAAC;SAC/B,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE;QACvD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACrE,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,SAAS,CACb,SAAS,IAAI,CAAC,IAAI,kBAAkB,MAAM,YAAY,KAAK;iBACxD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC;iBACzB,IAAI,CAAC,IAAI,CAAC,EAAE,EACf,gBAAgB,CACjB,CAAA;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;gBAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;oBACtB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;oBAC5C,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;iBAC3C,CAAC,CAAA;gBACF,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC;qBAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;qBACnC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACb,KAAK;oBACL,OAAO,EACL,OAAO,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,QAAQ;wBACvD,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,OAAO;wBACvC,CAAC,CAAC,IAAI;oBACV,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI;iBAClC,CAAC,CAAC,CAAA;gBACL,IAAI,CACF;oBACE,MAAM;oBACN,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ;oBACR,GAAG,CAAC,IAAI,CAAC,mBAAmB;wBAC1B,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE;wBACnD,CAAC,CAAC,EAAE,CAAC;iBACR,EACD,GAAG,EAAE;oBACH,cAAc,CAAC;wBACb,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;wBACnB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;qBAC9B,CAAC,CAAA;oBACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;oBACpC,UAAU,CACR,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EACvB,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;wBACrB,MAAM,IAAI,GACR,OAAO,CAAC,OAAO,KAAK,IAAI;4BACtB,CAAC,CAAC,YAAY;4BACd,CAAC,CAAC,wCAAwC,CAAC,OAAO,CAAC,KAAK,CAAC;gCACvD,CAAC,CAAC,wBAAwB;gCAC1B,CAAC,CAAC,QAAQ,CAAA;wBAChB,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;oBAC/C,CAAC,CAAC,CACH,CAAA;oBACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0CAA0C,IAAI,CAAC,mBAAmB,CAAC,QAAQ,GAAG;4BAC5E,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,cAAc,CACrD,CAAA;oBACH,CAAC;gBACH,CAAC,CACF,CAAA;gBACD,OAAM;YACR,CAAC;YAED,MAAM,IAAI,GACR,gFAAgF,CAAA;YAClF,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;gBAClE,cAAc,CAAC;oBACb,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;oBACnB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;iBAC9B,CAAC,CAAA;gBACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;gBACpC,UAAU,CACR,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAC1B,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;oBAClC,KAAK;oBACL,wCAAwC,CAAC,OAAO,CAAC;wBAC/C,CAAC,CAAC,wBAAwB;wBAC1B,CAAC,CAAC,QAAQ;oBACZ,OAAO;iBACR,CAAC,CACH,CAAA;gBACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAA;YACrC,CAAC,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QACD,MAAM,OAAO,GACX,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI;YACrE,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,SAAS,CAAA;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,+CAA+C,CAAC,CAAA;QACzE,CAAC;QACD,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,CACzF,cAAc,CAAC;YACb,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC,SAAS,EAAE,OAAO,CAAC;YACpB,CAAC,IAAI,EAAE,EAAE,IAAI,gBAAgB,CAAC;YAC9B,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;SAC9C,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { requireContext } from '../context.js';
2
- import { userError } from '../errors.js';
2
+ import { CaiError, userError } from '../errors.js';
3
3
  import { resolveJsSource } from '../jsSource.js';
4
4
  import { nodePropsFromPayload } from '../nodeProps.js';
5
5
  import { emit, printKeyValues, printTable, warn } from '../output.js';
@@ -13,11 +13,14 @@ const toSnakeCase = (value) => value
13
13
  .replace(/^_/, '')
14
14
  .replace(/_$/, '');
15
15
  const toCamel = (value) => value.replace(/_([a-z0-9])/g, (_, char) => char.toUpperCase());
16
+ const isUnknownToolError = (error, toolName) => error instanceof CaiError &&
17
+ error.message.includes(toolName) &&
18
+ /unknown tool|tool[^\n]*(?:not found|does not exist|unrecognized)/i.test(error.message);
16
19
  export const resolveFlowInputDisplayName = (displayName, legacyName) => {
17
20
  const value = String(displayName ?? legacyName ?? '').trim();
18
21
  if (!value) {
19
22
  throw userError('Pass --display <human label>. --name remains only as a legacy alias; the server derives ' +
20
- 'and deduplicates the immutable JS binding.', 'MISSING_FLOW_INPUT_DISPLAY');
23
+ 'the compiler-current jsBinding. legacyBinding is frozen diagnostic metadata.', 'MISSING_FLOW_INPUT_DISPLAY');
21
24
  }
22
25
  return value;
23
26
  };
@@ -104,9 +107,10 @@ export const registerFlow = (program) => {
104
107
  }
105
108
  if (data.flowInputs?.length) {
106
109
  process.stdout.write('\ninputs\n');
107
- printTable(['id', 'name', 'displayName', 'dataType'], data.flowInputs.map((i) => [
110
+ printTable(['id', 'jsBinding', 'legacyBinding', 'displayName', 'dataType'], data.flowInputs.map((i) => [
108
111
  i.id,
109
112
  i.jsBinding ?? i.name,
113
+ i.legacyBinding ?? '-',
110
114
  i.displayName,
111
115
  i.dataType,
112
116
  ]));
@@ -168,6 +172,33 @@ export const registerFlow = (program) => {
168
172
  ['copy', data?.newFlowId ?? data?.flowId ?? data?.id ?? JSON.stringify(data)],
169
173
  ]));
170
174
  });
175
+ flow
176
+ .command('layout')
177
+ .argument('<flowId>')
178
+ .description('Deterministically tidy positions after headless builds; an open builder auto-tidies while you build')
179
+ .action(async (flowId, _opts, command) => {
180
+ const { api, workflowId } = requireContext(command);
181
+ let data;
182
+ try {
183
+ data = await api.mutate(workflowId, () => api.tool(workflowId, 'layout_flow', { flowId }));
184
+ }
185
+ catch (error) {
186
+ if (isUnknownToolError(error, 'layout_flow')) {
187
+ throw new CaiError(`${error.message}\n\`cai flow layout\` requires a newer backend with layout_flow support.`, {
188
+ exitCode: error.exitCode,
189
+ code: error.code,
190
+ detail: error.detail,
191
+ scrubbed: error.scrubbed,
192
+ });
193
+ }
194
+ throw error;
195
+ }
196
+ emit(data, () => printKeyValues([
197
+ ['flowId', data?.flowId ?? flowId],
198
+ ['movedNodes', data?.movedNodes ?? 0],
199
+ ['changed', data?.changed ? 'yes' : 'no'],
200
+ ]));
201
+ });
171
202
  flow
172
203
  .command('reorder')
173
204
  .requiredOption('--order <flowIds>', 'every flow id, comma-separated, in the new order')
@@ -356,9 +387,9 @@ export const registerFlow = (program) => {
356
387
  input
357
388
  .command('add')
358
389
  .argument('<flowId>')
359
- .option('--name <displayName>', 'legacy alias for --display; it does not set the JS binding')
390
+ .option('--name <displayName>', 'legacy alias for --display; the server derives compiler-current jsBinding')
360
391
  .requiredOption('--type <ctype>', 'CType, e.g. text / number / custom.lead')
361
- .option('--display <name>', 'human display name; the server derives and deduplicates the frozen JS binding')
392
+ .option('--display <name>', 'human label used to derive compiler-current jsBinding; legacyBinding is diagnostic')
362
393
  .option('--list', 'the input is a list of --type', false)
363
394
  .option('--optional', 'input is optional', false)
364
395
  .option('--description <text>')
@@ -380,28 +411,41 @@ export const registerFlow = (program) => {
380
411
  const flowInputId = data.flowInputId ?? data.id;
381
412
  const flowState = await api.tool(workflowId, 'get_flow', { flowId });
382
413
  const flowInput = (flowState?.flowInputs ?? []).find((item) => item.id === flowInputId);
414
+ const hasReadbackLegacyBinding = Object.prototype.hasOwnProperty.call(flowInput ?? {}, 'legacyBinding');
415
+ const hasMutationLegacyBinding = Object.prototype.hasOwnProperty.call(data ?? {}, 'legacyBinding');
383
416
  const result = {
384
417
  ...data,
385
418
  flowInputId,
386
419
  displayName: flowInput?.displayName ?? displayName,
387
- jsBinding: data.jsBinding ?? flowInput?.jsBinding ?? flowInput?.name ?? null,
420
+ jsBinding: flowInput?.jsBinding ?? data.jsBinding ?? flowInput?.name ?? null,
421
+ ...(hasReadbackLegacyBinding
422
+ ? { legacyBinding: flowInput.legacyBinding }
423
+ : hasMutationLegacyBinding
424
+ ? { legacyBinding: data.legacyBinding }
425
+ : {}),
388
426
  };
389
427
  if (!result.jsBinding) {
390
428
  warn('The backend did not return the derived JS binding. Read it from `cai expr context ' +
391
429
  '<nodeId> --prop <prop> --json` before authoring an expression.');
392
430
  }
393
- emit(result, () => printKeyValues([
394
- ['flowInputId', result.flowInputId ?? '-'],
395
- ['displayName', result.displayName],
396
- ['jsBinding', result.jsBinding ?? '(read with expr context)'],
397
- ]));
431
+ emit(result, () => {
432
+ const rows = [
433
+ ['flowInputId', result.flowInputId ?? '-'],
434
+ ['displayName', result.displayName],
435
+ ['jsBinding', result.jsBinding ?? '(read with expr context)'],
436
+ ];
437
+ if (Object.prototype.hasOwnProperty.call(result, 'legacyBinding')) {
438
+ rows.push(['legacyBinding', result.legacyBinding ?? '-']);
439
+ }
440
+ printKeyValues(rows);
441
+ });
398
442
  });
399
443
  input
400
444
  .command('update')
401
445
  .argument('<flowId>')
402
446
  .requiredOption('--input <id>', 'flow input id')
403
- .option('--name <displayName>', 'legacy alias for --display; does not rename the JS binding')
404
- .option('--display <name>', 'new human display name; the existing JS binding stays frozen')
447
+ .option('--name <displayName>', 'legacy alias for --display; display changes recompute compiler-current jsBinding')
448
+ .option('--display <name>', 'new human label; recomputes jsBinding while legacyBinding stays diagnostic')
405
449
  .option('--type <ctype>')
406
450
  .option('--description <text>')
407
451
  .description('Update a flow input')
@@ -410,7 +454,7 @@ export const registerFlow = (program) => {
410
454
  const displayName = opts.display ?? opts.name;
411
455
  if (!displayName && !opts.type && !opts.description) {
412
456
  throw userError('Pass at least one of --display, --type, or --description. --name is a legacy alias ' +
413
- 'for --display and never edits the JS binding.', 'NO_FLOW_INPUT_UPDATE');
457
+ 'for --display; display changes recompute compiler-current jsBinding.', 'NO_FLOW_INPUT_UPDATE');
414
458
  }
415
459
  const data = await api.mutate(workflowId, () => api.tool(workflowId, 'update_flow_input', {
416
460
  flowId,