@controllerai/cli 0.2.12 → 0.2.13

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 (40) hide show
  1. package/dist/api/client.js +239 -13
  2. package/dist/api/client.js.map +1 -1
  3. package/dist/commands/agent.js +84 -10
  4. package/dist/commands/agent.js.map +1 -1
  5. package/dist/commands/approval.js +34 -0
  6. package/dist/commands/approval.js.map +1 -0
  7. package/dist/commands/auth.js +5 -4
  8. package/dist/commands/auth.js.map +1 -1
  9. package/dist/commands/branch.js +32 -1
  10. package/dist/commands/branch.js.map +1 -1
  11. package/dist/commands/connection.js +41 -0
  12. package/dist/commands/connection.js.map +1 -1
  13. package/dist/commands/expr.js +36 -0
  14. package/dist/commands/expr.js.map +1 -1
  15. package/dist/commands/file.js +70 -0
  16. package/dist/commands/file.js.map +1 -0
  17. package/dist/commands/flow.js +143 -26
  18. package/dist/commands/flow.js.map +1 -1
  19. package/dist/commands/node.js +66 -7
  20. package/dist/commands/node.js.map +1 -1
  21. package/dist/commands/run.js +50 -1
  22. package/dist/commands/run.js.map +1 -1
  23. package/dist/commands/trigger.js +4 -1
  24. package/dist/commands/trigger.js.map +1 -1
  25. package/dist/commands/workflow.js +149 -35
  26. package/dist/commands/workflow.js.map +1 -1
  27. package/dist/config.js +7 -1
  28. package/dist/config.js.map +1 -1
  29. package/dist/errors.js +2 -3
  30. package/dist/errors.js.map +1 -1
  31. package/dist/index.js +4 -0
  32. package/dist/index.js.map +1 -1
  33. package/package.json +1 -1
  34. package/skills/controllerai-agents/SKILL.md +32 -30
  35. package/skills/controllerai-node-config/SKILL.md +1 -1
  36. package/skills/controllerai-runs/SKILL.md +1 -1
  37. package/skills/controllerai-triggers/SKILL.md +2 -0
  38. package/skills/controllerai-workflows/SKILL.md +9 -7
  39. package/skills/controllerai-workflows/references/command-map.md +1 -1
  40. package/skills/manifest.json +45 -45
@@ -153,6 +153,28 @@ export const prepareWritableProp = async (api, workflowId, nodeId, propName, met
153
153
  }
154
154
  return refreshed;
155
155
  };
156
+ /**
157
+ * The server-side decompiler marks constructs it cannot render as JS with an
158
+ * inline `UNREPRESENTABLE:` comment. Recompiling the JS a caller can see would
159
+ * then drop whatever the marker stands for — silently, and with a green
160
+ * readback — so the write is refused rather than verified into a loss.
161
+ */
162
+ const UNREPRESENTABLE_MARKER = 'UNREPRESENTABLE:';
163
+ const unrepresentableStoredExpression = (prop) => {
164
+ for (const channel of ['valueJs', 'expressionValueJs']) {
165
+ const source = prop[channel];
166
+ if (typeof source !== 'string')
167
+ continue;
168
+ const at = source.indexOf(UNREPRESENTABLE_MARKER);
169
+ if (at === -1)
170
+ continue;
171
+ const rest = source.slice(at + UNREPRESENTABLE_MARKER.length);
172
+ const commentEnd = rest.indexOf('*/');
173
+ const note = (commentEnd === -1 ? rest : rest.slice(0, commentEnd)).trim().slice(0, 120);
174
+ return { channel, note };
175
+ }
176
+ return null;
177
+ };
156
178
  const looksLikeExpressionBearingTextExpression = (value) => {
157
179
  if (!value || typeof value !== 'object' || Array.isArray(value))
158
180
  return false;
@@ -378,11 +400,25 @@ export const registerExpr = (program) => {
378
400
  .requiredOption('--prop <name>', 'destination prop')
379
401
  .option('--js <src>', 'expression DSL source')
380
402
  .option('--js-file <path|->', 'read expression DSL source from a UTF-8 file or stdin')
403
+ .option('--force', 'overwrite a stored expression the JS DSL cannot fully express, losing those constructs', false)
381
404
  .description('Context-check, compile, persist to the correct channel, and verify readback')
382
405
  .action(async (nodeId, opts, command) => {
383
406
  const js = resolveJsSource(opts);
384
407
  const { api, workflowId } = requireContext(command);
385
408
  const prop = await prepareWritableProp(api, workflowId, nodeId, opts.prop, candidate => assertArrayExpressionWriteSupported(nodeId, opts.prop, candidate, undefined));
409
+ const unrepresentable = unrepresentableStoredExpression(prop);
410
+ if (unrepresentable && !opts.force) {
411
+ throw userError(`${nodeId}.${opts.prop} already stores constructs the expression DSL cannot express: ` +
412
+ `its decompiled ${unrepresentable.channel} carries an UNREPRESENTABLE marker` +
413
+ `${unrepresentable.note ? ` (${unrepresentable.note})` : ''}. Recompiling the JS you ` +
414
+ 'can see would silently destroy them — nothing was written.\n\n' +
415
+ `Author the value raw with \`cai node set ${nodeId} --prop ${opts.prop} ` +
416
+ '--raw-expression-json <path|->`, or re-run with --force to overwrite it anyway.', 'UNREPRESENTABLE_STORED_EXPRESSION');
417
+ }
418
+ if (unrepresentable) {
419
+ warn(`--force: overwriting ${nodeId}.${opts.prop}, whose stored ${unrepresentable.channel} ` +
420
+ 'contains constructs the expression DSL cannot express. They will be lost.');
421
+ }
386
422
  const context = await getExpressionContext(api, workflowId, nodeId, opts.prop);
387
423
  if (context?.targetPropError) {
388
424
  throw userError(formatExpressionContextError(String(context.targetPropError), nodeId, opts.prop), 'EXPRESSION_TARGET_UNAVAILABLE');
@@ -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":"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"}
@@ -0,0 +1,70 @@
1
+ import { readFileSync, statSync } from 'node:fs';
2
+ import { basename, extname } from 'node:path';
3
+ import { buildClient } from '../context.js';
4
+ import { userError } from '../errors.js';
5
+ import { emit, printKeyValues } from '../output.js';
6
+ const SHARE_MAX_BYTES = 25 * 1024 * 1024;
7
+ // formidable infers the stored mimeType from the part header; a plain Blob
8
+ // defaults to octet-stream, which downgrades every card to "other". Cover the
9
+ // common deliverable types.
10
+ const MIME_BY_EXTENSION = {
11
+ '.csv': 'text/csv',
12
+ '.html': 'text/html',
13
+ '.json': 'application/json',
14
+ '.md': 'text/markdown',
15
+ '.pdf': 'application/pdf',
16
+ '.png': 'image/png',
17
+ '.jpg': 'image/jpeg',
18
+ '.jpeg': 'image/jpeg',
19
+ '.gif': 'image/gif',
20
+ '.webp': 'image/webp',
21
+ '.txt': 'text/plain',
22
+ '.xml': 'application/xml',
23
+ '.zip': 'application/zip',
24
+ '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
25
+ '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
26
+ };
27
+ export const registerFile = (program) => {
28
+ const file = program
29
+ .command('file')
30
+ .description('Hand files back to the user inside the build chat');
31
+ file
32
+ .command('share')
33
+ .argument('<path>')
34
+ .option('--name <displayName>', 'name shown on the file card (defaults to the file name)')
35
+ .description('Share one file with the user as a downloadable card in this build chat. ' +
36
+ 'Use it to deliver reports, exports, or other artifacts you produced.')
37
+ .action(async (rawPath, opts, command) => {
38
+ const { api } = buildClient(command);
39
+ let stats;
40
+ try {
41
+ stats = statSync(rawPath);
42
+ }
43
+ catch {
44
+ throw userError(`No file at ${rawPath}`, 'FILE_NOT_FOUND');
45
+ }
46
+ if (!stats.isFile()) {
47
+ throw userError(`${rawPath} is not a regular file`, 'NOT_A_FILE');
48
+ }
49
+ if (stats.size > SHARE_MAX_BYTES) {
50
+ throw userError('File is larger than the 25 MB share limit', 'FILE_TOO_LARGE');
51
+ }
52
+ const displayName = (opts.name?.trim() || basename(rawPath)).trim();
53
+ const mimeType = MIME_BY_EXTENSION[extname(displayName).toLowerCase()] ?? 'application/octet-stream';
54
+ const form = new FormData();
55
+ form.set('files', new Blob([new Uint8Array(readFileSync(rawPath))], { type: mimeType }), displayName);
56
+ form.set('displayName', displayName);
57
+ const result = await api.upload('/agent/thread-files/share', form);
58
+ emit({ ...result }, () => printKeyValues([
59
+ ['file', result.attachment?.name ?? displayName],
60
+ ['size', `${result.attachment?.sizeBytes ?? stats.size} bytes`],
61
+ [
62
+ 'card',
63
+ result.sharedInChat
64
+ ? 'shown to the user in this build chat'
65
+ : 'stored, but the chat card could not be delivered',
66
+ ],
67
+ ]));
68
+ });
69
+ };
70
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/commands/file.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ 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';
6
+ import { parseLiteral } from './node.js';
6
7
  import { parseFieldSpecs } from './schema.js';
7
8
  const toSnakeCase = (value) => value
8
9
  .trim()
@@ -17,19 +18,28 @@ const isUnknownToolError = (error, toolName) => error instanceof CaiError &&
17
18
  error.message.includes(toolName) &&
18
19
  /unknown tool|tool[^\n]*(?:not found|does not exist|unrecognized)/i.test(error.message);
19
20
  const FLOW_INPUT_NAME_UNAVAILABLE_WARNING = 'input name unavailable — read scope required';
21
+ const EDGE_HANDLE_UNAVAILABLE_WARNING = 'edge sourceHandle unavailable — read scope required; branch wiring is not shown';
22
+ const EDGE_HANDLE_AMBIGUOUS_WARNING = 'Parallel edges share a source and target on this flow and carry no matching id, so ' +
23
+ 'sourceHandle was attached in document order and may be misattributed. Confirm branch ' +
24
+ 'wiring with `cai branch list <nodeId>`.';
25
+ const readPersistedFlow = async (api, workflowId, flowId) => {
26
+ const state = await api.rest(`/workflow-agent/development-version-state/${workflowId}`);
27
+ if (typeof state?.json !== 'string')
28
+ throw new Error('Missing development-state JSON.');
29
+ const document = JSON.parse(state.json);
30
+ if (!document || typeof document !== 'object' || !Array.isArray(document.flows)) {
31
+ throw new Error('Malformed development-state document.');
32
+ }
33
+ const flow = document.flows.find((candidate) => candidate?.id === flowId);
34
+ if (!flow)
35
+ throw new Error('Malformed development-state flow.');
36
+ return flow;
37
+ };
20
38
  const persistedFlowInputs = async (api, workflowId, flowId) => {
21
39
  try {
22
- const state = await api.rest(`/workflow-agent/development-version-state/${workflowId}`);
23
- if (typeof state?.json !== 'string')
24
- throw new Error('Missing development-state JSON.');
25
- const document = JSON.parse(state.json);
26
- if (!document || typeof document !== 'object' || !Array.isArray(document.flows)) {
27
- throw new Error('Malformed development-state document.');
28
- }
29
- const flow = document.flows.find((candidate) => candidate?.id === flowId);
30
- if (!flow || !Array.isArray(flow.flowInputs)) {
40
+ const flow = await readPersistedFlow(api, workflowId, flowId);
41
+ if (!Array.isArray(flow.flowInputs))
31
42
  throw new Error('Malformed development-state flow.');
32
- }
33
43
  return flow.flowInputs;
34
44
  }
35
45
  catch {
@@ -58,6 +68,45 @@ const enrichFlowInputNames = (flow, rawInputs) => {
58
68
  }),
59
69
  };
60
70
  };
71
+ /**
72
+ * `get_flow` projects an edge as `{id, source, target}` and drops
73
+ * `sourceHandle`, which is where a Router route or If/Else branch records which
74
+ * arm the edge leaves from (`output-<routeId>`). Without it an unwired branch is
75
+ * indistinguishable from a wired one: the run stays green and simply stops.
76
+ * The development-state document keeps the full record, and both sides carry the
77
+ * same edge id, so the merge is exact. The (source,target) fallback exists only
78
+ * for an edge the document does not identify.
79
+ */
80
+ export const mergeEdgeSourceHandles = (edges, rawEdges) => {
81
+ const pairKey = (edge) => `${edge?.source}\u0000${edge?.target}`;
82
+ const byId = new Map();
83
+ const byPair = new Map();
84
+ for (const edge of rawEdges) {
85
+ if (edge?.id !== undefined && edge?.id !== null && !byId.has(edge.id))
86
+ byId.set(edge.id, edge);
87
+ byPair.set(pairKey(edge), [...(byPair.get(pairKey(edge)) ?? []), edge]);
88
+ }
89
+ const consumed = new Map();
90
+ let ambiguous = false;
91
+ const merged = edges.map((edge) => {
92
+ let match = edge?.id === undefined || edge?.id === null ? undefined : byId.get(edge.id);
93
+ if (!match) {
94
+ const key = pairKey(edge);
95
+ const candidates = byPair.get(key) ?? [];
96
+ const index = consumed.get(key) ?? 0;
97
+ consumed.set(key, index + 1);
98
+ if (candidates.length > 1)
99
+ ambiguous = true;
100
+ match = candidates[index];
101
+ }
102
+ if (!match)
103
+ return edge;
104
+ const sourceHandle = match.sourceHandle ?? null;
105
+ const branch = typeof sourceHandle === 'string' ? /^output-(.+)$/.exec(sourceHandle) : null;
106
+ return { ...edge, sourceHandle, ...(branch ? { branchId: branch[1] } : {}) };
107
+ });
108
+ return { edges: merged, ambiguous };
109
+ };
61
110
  export const resolveFlowInputDisplayName = (displayName, legacyName) => {
62
111
  const value = String(displayName ?? legacyName ?? '').trim();
63
112
  if (!value) {
@@ -135,7 +184,25 @@ export const registerFlow = (program) => {
135
184
  const data = await api.tool(workflowId, 'get_flow', { flowId });
136
185
  const hasEnrichableInput = Array.isArray(data?.flowInputs) &&
137
186
  data.flowInputs.some((input) => input?.id !== null && input?.id !== undefined);
138
- const result = enrichFlowInputNames(data, hasEnrichableInput ? await persistedFlowInputs(api, workflowId, flowId) : undefined);
187
+ const hasEdges = Array.isArray(data?.edges) && data.edges.length > 0;
188
+ // Both enrichments read the same raw document; read it once.
189
+ const persisted = hasEnrichableInput || hasEdges
190
+ ? await readPersistedFlow(api, workflowId, flowId).catch(() => undefined)
191
+ : undefined;
192
+ const rawInputs = Array.isArray(persisted?.flowInputs) ? persisted.flowInputs : undefined;
193
+ if (hasEnrichableInput && rawInputs === undefined)
194
+ warn(FLOW_INPUT_NAME_UNAVAILABLE_WARNING);
195
+ const rawEdges = Array.isArray(persisted?.edges) ? persisted.edges : undefined;
196
+ if (hasEdges && rawEdges === undefined)
197
+ warn(EDGE_HANDLE_UNAVAILABLE_WARNING);
198
+ const withInputNames = enrichFlowInputNames(data, rawInputs);
199
+ let result = withInputNames;
200
+ if (hasEdges && rawEdges) {
201
+ const merged = mergeEdgeSourceHandles(withInputNames.edges, rawEdges);
202
+ if (merged.ambiguous)
203
+ warn(EDGE_HANDLE_AMBIGUOUS_WARNING);
204
+ result = { ...withInputNames, edges: merged.edges };
205
+ }
139
206
  emit(result, () => {
140
207
  printKeyValues([
141
208
  ['flow', `${result.id ?? flowId} — ${result.name ?? ''}`],
@@ -362,10 +429,11 @@ export const registerFlow = (program) => {
362
429
  flow
363
430
  .command('for-each')
364
431
  .requiredOption('--flow <flowId>', 'parent flow holding the list-producing node')
365
- .requiredOption('--from <nodeId>', 'node whose output carries the list')
366
- .requiredOption('--source-output <outputId>', 'exact opaque outputs[].id from `cai node get <nodeId> --json`; never a label')
432
+ .option('--from <nodeId>', 'node whose output carries the list; optional with --list-js')
433
+ .option('--source-output <outputId>', 'exact opaque outputs[].id from `cai node get <nodeId> --json`; never a label')
367
434
  .requiredOption('--name <bodyFlowName>', 'name for the new per-item flow')
368
- .requiredOption('--item-type <type>', 'one item: a primitive (text|number|date|boolean) or an existing/new custom.* type')
435
+ .requiredOption('--item-type <type>', 'one item: a primitive (text|number|date|boolean), an existing/new custom.* type, ' +
436
+ 'or a dataRecord.custom.* record')
369
437
  .option('--item-field <id:type[:display]>', 'field of a NEW custom item type; repeatable. Omit to reuse an existing custom type', (value, previous = []) => [...previous, value])
370
438
  .option('--list-js <expr>', 'JS selecting the list from the wired input')
371
439
  .option('--js-file <path|->', 'read the list-selection JS from a UTF-8 file or stdin')
@@ -377,14 +445,35 @@ export const registerFlow = (program) => {
377
445
  .action(async (opts, command) => {
378
446
  let listJs = resolveJsSource({ js: opts.listJs, jsFile: opts.jsFile }, { required: false, inlineFlag: '--list-js' });
379
447
  const { api, workflowId } = requireContext(command);
380
- const isPrimitive = !opts.itemType.startsWith('custom.');
381
- if (isPrimitive && opts.itemField?.length) {
448
+ // Convenience only, keyed on the two namespaces the server treats as
449
+ // field-bearing item types. An unrecognized namespace is forwarded as-is
450
+ // so the server's own validation message is the one the caller reads.
451
+ const isCustomItemType = opts.itemType.startsWith('custom.') || opts.itemType.startsWith('dataRecord.custom.');
452
+ const isPrimitiveItemType = !isCustomItemType && !opts.itemType.includes('.');
453
+ if (opts.itemField?.length && isPrimitiveItemType) {
382
454
  throw userError(`--item-field is only for custom.* item types; "${opts.itemType}" is a primitive, ` +
383
455
  'and a list of plain values needs no wrapper type.', 'FIELDS_ON_PRIMITIVE');
384
456
  }
385
457
  if (listJs !== undefined && opts.listField) {
386
458
  throw userError('--list-field is mutually exclusive with --list-js and --js-file.', 'CONFLICTING_LIST_PATH');
387
459
  }
460
+ // The list comes either from a node output (--from + --source-output, and
461
+ // --list-field resolves its path against that node) or from an expression.
462
+ // Only the expression path can stand alone.
463
+ if (opts.listField || listJs === undefined) {
464
+ const missing = [
465
+ ...(opts.from ? [] : ['--from']),
466
+ ...(opts.sourceOutput ? [] : ['--source-output']),
467
+ ];
468
+ if (missing.length > 0) {
469
+ const subject = `${missing.join(' and ')} ${missing.length === 1 ? 'is' : 'are'} required`;
470
+ throw userError(opts.listField
471
+ ? `--list-field builds its path from the source node's output, so ${subject}. ` +
472
+ 'Use --list-js instead to select the list with a standalone expression.'
473
+ : `${subject} to take the list from a node output; pass --list-js or --js-file ` +
474
+ 'to select the list with an expression instead.', 'MISSING_LIST_SOURCE');
475
+ }
476
+ }
388
477
  if (opts.listField) {
389
478
  const source = await api.tool(workflowId, 'get_node', { nodeId: opts.from });
390
479
  const sourceOutput = selectSourceOutput(opts.from, source, opts.sourceOutput);
@@ -399,8 +488,10 @@ export const registerFlow = (program) => {
399
488
  const maxItems = parseLoopMaxItems(opts.maxItems);
400
489
  const data = await api.mutate(workflowId, () => api.tool(workflowId, 'scaffold_for_each', {
401
490
  flowId: opts.flow,
402
- sourceNodeId: opts.from,
403
- sourceOutputId: opts.sourceOutput,
491
+ // Absent on the pure --list-js path. Sending explicit undefined would
492
+ // still serialize the keys out, so omit them.
493
+ ...(opts.from ? { sourceNodeId: opts.from } : {}),
494
+ ...(opts.sourceOutput ? { sourceOutputId: opts.sourceOutput } : {}),
404
495
  bodyFlowName: opts.name,
405
496
  itemType: {
406
497
  name: opts.itemType,
@@ -530,13 +621,30 @@ export const registerFlow = (program) => {
530
621
  .option('--display <name>', 'new human label; recomputes jsBinding while legacyBinding stays diagnostic')
531
622
  .option('--type <ctype>')
532
623
  .option('--description <text>')
624
+ .option('--optional', 'the input may be omitted by callers')
625
+ .option('--required', 'the input must be supplied by callers')
626
+ .option('--default-value <literal>', 'stored default metadata (JSON when it parses, else a string); an omitted optional input ' +
627
+ 'still resolves to null at run time')
533
628
  .description('Update a flow input')
534
629
  .action(async (flowId, opts, command) => {
535
630
  const { api, workflowId } = requireContext(command);
536
631
  const displayName = opts.display ?? opts.name;
537
- if (!displayName && !opts.type && !opts.description) {
538
- throw userError('Pass at least one of --display, --type, or --description. --name is a legacy alias ' +
539
- 'for --display; display changes recompute compiler-current jsBinding.', 'NO_FLOW_INPUT_UPDATE');
632
+ if (opts.optional && opts.required) {
633
+ throw userError('--optional and --required are mutually exclusive; nothing was written.', 'CONFLICTING_FLOW_INPUT_OPTIONAL');
634
+ }
635
+ // Absent must stay `undefined` so the update leaves the persisted flag
636
+ // alone; `input add` can default to false only because it creates the row.
637
+ const optional = opts.optional ? true : opts.required ? false : undefined;
638
+ const hasDefaultValue = opts.defaultValue !== undefined;
639
+ const defaultValue = hasDefaultValue ? parseLiteral(String(opts.defaultValue)) : undefined;
640
+ if (!displayName &&
641
+ !opts.type &&
642
+ !opts.description &&
643
+ optional === undefined &&
644
+ !hasDefaultValue) {
645
+ throw userError('Pass at least one of --display, --type, --description, --optional/--required, or ' +
646
+ '--default-value. --name is a legacy alias for --display; display changes recompute ' +
647
+ 'compiler-current jsBinding.', 'NO_FLOW_INPUT_UPDATE');
540
648
  }
541
649
  const data = await api.mutate(workflowId, () => api.tool(workflowId, 'update_flow_input', {
542
650
  flowId,
@@ -544,6 +652,8 @@ export const registerFlow = (program) => {
544
652
  ...(displayName ? { displayName } : {}),
545
653
  ...(opts.type ? { dataType: opts.type } : {}),
546
654
  ...(opts.description ? { description: opts.description } : {}),
655
+ ...(optional !== undefined ? { optional } : {}),
656
+ ...(hasDefaultValue ? { defaultValue } : {}),
547
657
  }));
548
658
  const flowState = await api.tool(workflowId, 'get_flow', { flowId });
549
659
  const flowInput = (flowState?.flowInputs ?? []).find((item) => item.id === opts.input);
@@ -553,11 +663,18 @@ export const registerFlow = (program) => {
553
663
  flowInput: flowInput ?? null,
554
664
  jsBinding: flowInput?.jsBinding ?? flowInput?.name ?? null,
555
665
  };
556
- emit(result, () => printKeyValues([
557
- ['updated', opts.input],
558
- ['displayName', flowInput?.displayName ?? displayName ?? '-'],
559
- ['jsBinding', result.jsBinding ?? '(read with expr context)'],
560
- ]));
666
+ emit(result, () => {
667
+ const rows = [
668
+ ['updated', opts.input],
669
+ ['displayName', flowInput?.displayName ?? displayName ?? '-'],
670
+ ['jsBinding', result.jsBinding ?? '(read with expr context)'],
671
+ ];
672
+ if (optional !== undefined)
673
+ rows.push(['optional', flowInput?.optional ?? optional]);
674
+ if (hasDefaultValue)
675
+ rows.push(['defaultValue', flowInput?.defaultValue ?? defaultValue]);
676
+ printKeyValues(rows);
677
+ });
561
678
  });
562
679
  input
563
680
  .command('delete')