@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
@@ -1,4 +1,5 @@
1
1
  import { CaiError, EMAIL_VERIFICATION_REQUIRED_CODE, EMAIL_VERIFICATION_REQUIRED_MESSAGE, EXIT, SCRUBBED_HINT, authError, exitCodeForStatus, isScrubbed, networkError, userError, } from '../errors.js';
2
+ import { emitJsonEvent, isJsonMode } from '../output.js';
2
3
  const isRestEnvelope = (value) => typeof value === 'object' &&
3
4
  value !== null &&
4
5
  'statusCode' in value &&
@@ -10,6 +11,13 @@ const bareRestError = (value) => {
10
11
  return typeof value.error === 'string' ? value.error : '';
11
12
  };
12
13
  const DEFAULT_TIMEOUT = 120_000;
14
+ export const APPROVAL_POLL_TIMEOUT_MS = 9 * 60_000;
15
+ const APPROVAL_POLL_INITIAL_DELAY_MS = 750;
16
+ const APPROVAL_POLL_MAX_DELAY_MS = 5_000;
17
+ const APPROVAL_REQUEST_TIMEOUT_MS = 30_000;
18
+ export const MAX_ACTIVE_WORKFLOWS_CODE = 'MAX_NUMBER_OF_ACTIVE_WORKFLOWS_REACHED';
19
+ export const MAX_ACTIVE_WORKFLOWS_MESSAGE = 'This workspace has reached its active workflow limit. Stop and tell the user that another ' +
20
+ 'workflow must be archived or the plan limit raised before continuing; do not retry this command.';
13
21
  const CREDENTIAL_RESPONSE_ROUTES = [
14
22
  /^\/cli-auth\/signup$/,
15
23
  /^\/cli-auth\/device\/token$/,
@@ -62,11 +70,17 @@ export const authHeaders = (token) => {
62
70
  export class ApiClient {
63
71
  apiUrl;
64
72
  token;
73
+ sleep;
74
+ now;
75
+ approvalPollTimeoutMs;
65
76
  /** Every MCP tool call made this process, for `--debug`. */
66
77
  trace = [];
67
- constructor(config) {
78
+ constructor(config, runtime = {}) {
68
79
  this.apiUrl = assertSafeApiUrl(config.apiUrl);
69
80
  this.token = config.token;
81
+ this.sleep = runtime.sleep ?? (ms => new Promise(resolve => setTimeout(resolve, ms)));
82
+ this.now = runtime.now ?? Date.now;
83
+ this.approvalPollTimeoutMs = runtime.approvalPollTimeoutMs ?? APPROVAL_POLL_TIMEOUT_MS;
70
84
  }
71
85
  get hasToken() {
72
86
  return Boolean(this.token);
@@ -264,19 +278,111 @@ export class ApiClient {
264
278
  if (parsed.error) {
265
279
  throw toolError(parsed.error.message, name, parsed.error.data);
266
280
  }
267
- const content = parsed.result?.content ?? [];
268
- const payload = content.map(c => c.text ?? '').join('');
269
- if (parsed.result?.isError) {
270
- throw toolError(payload || 'Tool reported an error', name);
281
+ const decoded = decodeCallToolResult(parsed.result, name);
282
+ if (isApprovalRequiredCandidate(decoded)) {
283
+ const approval = parseApprovalRequiredPayload(decoded, name);
284
+ return (await this.pollBuilderApproval(name, approval.approvalId));
271
285
  }
272
- if (!payload)
273
- return undefined;
274
- try {
275
- return JSON.parse(payload);
286
+ return decoded;
287
+ }
288
+ /** Resume polling an already-created intent without dispatching the gated tool again. */
289
+ async resumeApproval(approvalId) {
290
+ if (!validApprovalId(approvalId)) {
291
+ throw userError('Approval ID must be a positive integer or safe opaque identifier.', 'BAD_APPROVAL_ID');
276
292
  }
277
- catch {
278
- // Some tools return prose rather than JSON; pass it through as-is.
279
- return payload;
293
+ return this.pollBuilderApproval('approval resume', approvalId);
294
+ }
295
+ reportApproval(approvalId, status, message) {
296
+ emitJsonEvent({
297
+ event: 'builder_approval',
298
+ approvalId,
299
+ status,
300
+ message,
301
+ });
302
+ if (!isJsonMode())
303
+ process.stderr.write(`${message}\n`);
304
+ }
305
+ async pollBuilderApproval(tool, approvalId) {
306
+ const deadline = this.now() + this.approvalPollTimeoutMs;
307
+ let delayMs = APPROVAL_POLL_INITIAL_DELAY_MS;
308
+ let reportedStatus = 'pending';
309
+ let reportedTransientFailure = false;
310
+ this.reportApproval(approvalId, 'pending', `Waiting for browser approval (approval ID ${approvalId}).`);
311
+ for (;;) {
312
+ let intent;
313
+ try {
314
+ const response = await this.rest(`/builder-approvals/${encodeURIComponent(String(approvalId))}`, { timeoutMs: APPROVAL_REQUEST_TIMEOUT_MS });
315
+ intent = parseBuilderApprovalIntent(response, approvalId, tool);
316
+ }
317
+ catch (error) {
318
+ if (!(error instanceof CaiError))
319
+ throw error;
320
+ if (error.code === 'BAD_APPROVAL_RESPONSE')
321
+ throw error;
322
+ if (isTransientApprovalPollError(error)) {
323
+ const remainingMs = deadline - this.now();
324
+ if (remainingMs <= 0) {
325
+ throw approvalResumeError(approvalId, reportedStatus, tool, 'BUILDER_APPROVAL_POLL_TIMEOUT', `Approval polling is still unavailable: ${error.message}`);
326
+ }
327
+ if (!reportedTransientFailure) {
328
+ reportedTransientFailure = true;
329
+ this.reportApproval(approvalId, reportedStatus, `Approval polling temporarily failed for ID ${approvalId}; continuing safely ` +
330
+ 'without redispatching the operation.');
331
+ }
332
+ await this.sleep(Math.min(delayMs, remainingMs));
333
+ delayMs = Math.min(delayMs * 2, APPROVAL_POLL_MAX_DELAY_MS);
334
+ continue;
335
+ }
336
+ throw approvalResumeError(approvalId, reportedStatus, tool, 'BUILDER_APPROVAL_POLL_INTERRUPTED', `Approval polling stopped: ${error.message}`, error);
337
+ }
338
+ if (intent.status === 'pending' || intent.status === 'executing') {
339
+ if (intent.status !== reportedStatus) {
340
+ reportedStatus = intent.status;
341
+ this.reportApproval(approvalId, intent.status, `Browser approval ${approvalId} was accepted; the operation is running.`);
342
+ }
343
+ const remainingMs = deadline - this.now();
344
+ if (remainingMs <= 0) {
345
+ throw approvalResumeError(approvalId, intent.status, tool, 'BUILDER_APPROVAL_POLL_TIMEOUT', `Approval ID ${approvalId} is still ${intent.status}.`);
346
+ }
347
+ await this.sleep(Math.min(delayMs, remainingMs));
348
+ delayMs = Math.min(delayMs * 2, APPROVAL_POLL_MAX_DELAY_MS);
349
+ continue;
350
+ }
351
+ if (intent.status === 'succeeded') {
352
+ this.reportApproval(approvalId, 'succeeded', `Browser-approved operation ${approvalId} completed.`);
353
+ return decodeCallToolResult(intent.result, tool);
354
+ }
355
+ const backendError = approvalErrorParts(intent.error);
356
+ if (backendError.code === MAX_ACTIVE_WORKFLOWS_CODE ||
357
+ backendError.message?.includes(MAX_ACTIVE_WORKFLOWS_CODE)) {
358
+ throw maxActiveWorkflowsError(tool, approvalId);
359
+ }
360
+ if (intent.status === 'denied') {
361
+ throw new CaiError(`Browser approval ${approvalId} was denied. Review the operation with the user before ` +
362
+ 'trying again.', {
363
+ exitCode: EXIT.user,
364
+ code: 'BUILDER_APPROVAL_DENIED',
365
+ detail: { approvalId, status: intent.status, tool },
366
+ });
367
+ }
368
+ if (intent.status === 'expired') {
369
+ throw new CaiError(`Browser approval ${approvalId} expired before completion. Ask the user to retry the ` +
370
+ 'command when they are ready to approve it.', {
371
+ exitCode: EXIT.user,
372
+ code: 'BUILDER_APPROVAL_EXPIRED',
373
+ detail: { approvalId, status: intent.status, tool },
374
+ });
375
+ }
376
+ throw new CaiError(`Browser-approved operation ${approvalId} failed: ${backendError.message || 'Unknown error'}`, {
377
+ exitCode: EXIT.user,
378
+ code: 'BUILDER_APPROVAL_FAILED',
379
+ detail: {
380
+ approvalId,
381
+ status: intent.status,
382
+ tool,
383
+ ...(backendError.code ? { backendCode: backendError.code } : {}),
384
+ },
385
+ });
280
386
  }
281
387
  }
282
388
  /**
@@ -286,7 +392,7 @@ export class ApiClient {
286
392
  * Current backends serialize `latestStateId` with a structured conflict, so
287
393
  * that exact head is reused. Older backends are supported by re-fetching it.
288
394
  */
289
- async mutate(workflowId, run) {
395
+ async mutate(workflowId, run, options) {
290
396
  let head = await this.head(workflowId).catch(() => null);
291
397
  try {
292
398
  return await run(head);
@@ -294,6 +400,15 @@ export class ApiClient {
294
400
  catch (error) {
295
401
  if (!(error instanceof CaiError) || error.exitCode !== EXIT.conflict)
296
402
  throw error;
403
+ if (options?.retryOnConflict === false) {
404
+ // Tools that deploy external resources (e.g. a provider trigger
405
+ // source) are not safe to blind-retry: the deployment may have
406
+ // happened before the state conflict, and a retry would create a
407
+ // duplicate. Fail loudly and let the caller re-read and decide.
408
+ throw new CaiError(`${error.message}\nNot retried automatically: this command provisions external ` +
409
+ 'resources, so a blind retry could duplicate them. Re-read the workflow state ' +
410
+ '(`cai trigger list`) before running it again.', { exitCode: EXIT.conflict, code: 'STATE_CONFLICT' });
411
+ }
297
412
  const latestStateId = conflictLatestStateId(error);
298
413
  head =
299
414
  latestStateId !== undefined ? latestStateId : await this.head(workflowId).catch(() => null);
@@ -323,6 +438,114 @@ const safeJson = (text) => {
323
438
  return null;
324
439
  }
325
440
  };
441
+ const isObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
442
+ const validApprovalId = (value) => (typeof value === 'string' &&
443
+ /^[A-Za-z0-9._:-]{1,128}$/.test(value) &&
444
+ (!/^\d+$/.test(value) || Number(value) > 0)) ||
445
+ (typeof value === 'number' && Number.isSafeInteger(value) && value > 0);
446
+ /** Decode the canonical MCP CallToolResult used by both immediate and approved execution. */
447
+ const decodeCallToolResult = (value, tool) => {
448
+ if (value === undefined)
449
+ return undefined;
450
+ if (!isObject(value)) {
451
+ throw new CaiError(`Malformed tool result for ${tool}.`, {
452
+ exitCode: EXIT.network,
453
+ code: 'BAD_RESPONSE',
454
+ detail: { tool },
455
+ });
456
+ }
457
+ const content = value.content === undefined ? [] : value.content;
458
+ if (!Array.isArray(content) || content.some(item => !isObject(item))) {
459
+ throw new CaiError(`Malformed tool result content for ${tool}.`, {
460
+ exitCode: EXIT.network,
461
+ code: 'BAD_RESPONSE',
462
+ detail: { tool },
463
+ });
464
+ }
465
+ const payload = content
466
+ .map(item => (typeof item.text === 'string' ? item.text : ''))
467
+ .join('');
468
+ if (value.isError === true) {
469
+ throw toolError(payload || 'Tool reported an error', tool);
470
+ }
471
+ if (!payload)
472
+ return undefined;
473
+ const decoded = safeJson(payload);
474
+ // Some legacy tools return prose rather than JSON; preserve that established behavior.
475
+ return decoded === null && payload !== 'null' ? payload : decoded;
476
+ };
477
+ const approvalResumeCommand = (approvalId) => `cai approval resume ${String(approvalId)}`;
478
+ const isTransientApprovalPollError = (error) => error.exitCode === EXIT.network ||
479
+ error.httpStatus === 408 ||
480
+ error.httpStatus === 425 ||
481
+ error.httpStatus === 429 ||
482
+ (error.httpStatus !== undefined && error.httpStatus >= 500);
483
+ const approvalResumeError = (approvalId, status, tool, code, reason, cause) => new CaiError(`${reason} Do not rerun the original gated command. Resume this existing operation with ` +
484
+ `\`${approvalResumeCommand(approvalId)}\`.`, {
485
+ exitCode: cause?.exitCode ?? EXIT.network,
486
+ code,
487
+ httpStatus: cause?.httpStatus,
488
+ scrubbed: cause?.scrubbed,
489
+ detail: { approvalId, status, tool, resumeCommand: approvalResumeCommand(approvalId) },
490
+ });
491
+ const badApprovalResponse = (message, tool, approvalId) => new CaiError(message, {
492
+ exitCode: EXIT.network,
493
+ code: 'BAD_APPROVAL_RESPONSE',
494
+ detail: {
495
+ tool,
496
+ ...(validApprovalId(approvalId) ? { approvalId } : {}),
497
+ },
498
+ });
499
+ const isApprovalRequiredCandidate = (value) => isObject(value) && Object.prototype.hasOwnProperty.call(value, 'approvalRequired') &&
500
+ value.approvalRequired === true;
501
+ const parseApprovalRequiredPayload = (value, tool) => {
502
+ if (!isObject(value)) {
503
+ throw badApprovalResponse(`Malformed approval response for ${tool}.`, tool);
504
+ }
505
+ if (!validApprovalId(value.approvalId) || value.status !== 'pending') {
506
+ throw badApprovalResponse(`Malformed approval response for ${tool}: expected approvalId and pending status.`, tool, value.approvalId);
507
+ }
508
+ return {
509
+ approvalRequired: true,
510
+ approvalId: value.approvalId,
511
+ status: 'pending',
512
+ };
513
+ };
514
+ const BUILDER_APPROVAL_STATUSES = new Set([
515
+ 'pending',
516
+ 'executing',
517
+ 'succeeded',
518
+ 'failed',
519
+ 'denied',
520
+ 'expired',
521
+ ]);
522
+ const parseBuilderApprovalIntent = (value, approvalId, tool) => {
523
+ if (!isObject(value) ||
524
+ !validApprovalId(value.id) ||
525
+ String(value.id) !== String(approvalId) ||
526
+ typeof value.status !== 'string' ||
527
+ !BUILDER_APPROVAL_STATUSES.has(value.status)) {
528
+ throw badApprovalResponse(`Malformed approval poll response for approval ID ${approvalId}.`, tool, approvalId);
529
+ }
530
+ if (value.error !== undefined &&
531
+ typeof value.error !== 'string' &&
532
+ (!isObject(value.error) ||
533
+ (value.error.code !== undefined && typeof value.error.code !== 'string') ||
534
+ (value.error.message !== undefined && typeof value.error.message !== 'string'))) {
535
+ throw badApprovalResponse(`Malformed approval error for approval ID ${approvalId}.`, tool, approvalId);
536
+ }
537
+ return value;
538
+ };
539
+ const approvalErrorParts = (error) => {
540
+ if (typeof error === 'string')
541
+ return { message: error };
542
+ return error ?? {};
543
+ };
544
+ const maxActiveWorkflowsError = (tool, approvalId) => new CaiError(MAX_ACTIVE_WORKFLOWS_MESSAGE, {
545
+ exitCode: EXIT.user,
546
+ code: MAX_ACTIVE_WORKFLOWS_CODE,
547
+ detail: { tool, ...(approvalId !== undefined ? { approvalId } : {}) },
548
+ });
326
549
  const conflictLatestStateId = (error) => {
327
550
  if (!error.detail || typeof error.detail !== 'object')
328
551
  return undefined;
@@ -339,6 +562,9 @@ const conflictLatestStateId = (error) => {
339
562
  export const toolError = (message, tool, data) => {
340
563
  const text = (message ?? '').trim();
341
564
  const errorData = data && typeof data === 'object' ? data : undefined;
565
+ if (errorData?.code === MAX_ACTIVE_WORKFLOWS_CODE || text.includes(MAX_ACTIVE_WORKFLOWS_CODE)) {
566
+ return maxActiveWorkflowsError(tool);
567
+ }
342
568
  if (errorData?.code === EMAIL_VERIFICATION_REQUIRED_CODE ||
343
569
  text === EMAIL_VERIFICATION_REQUIRED_CODE ||
344
570
  text === EMAIL_VERIFICATION_REQUIRED_MESSAGE ||
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,32 @@ const instructionText = (opts) => {
113
113
  return opts.instructions;
114
114
  };
115
115
  const getAgent = (api, id) => api.rest(`/agents/${id}`);
116
+ /** Calendar day of an ISO timestamp; unparseable values are echoed unchanged. */
117
+ const publishDay = (value) => {
118
+ const parsed = new Date(value);
119
+ return Number.isNaN(parsed.getTime()) ? value : parsed.toISOString().slice(0, 10);
120
+ };
121
+ /**
122
+ * Publish and Slack state only render when the server actually reported them.
123
+ * Older backends omit the keys entirely, and an invented "no"/"-" there would
124
+ * read as fact rather than as a missing field.
125
+ */
126
+ const hasField = (row, field) => typeof row === 'object' && row !== null && Object.prototype.hasOwnProperty.call(row, field);
127
+ const slackPairs = (slack) => {
128
+ const allowlist = slack.channelAllowlist;
129
+ const channels = !Array.isArray(allowlist)
130
+ ? '-'
131
+ : allowlist.length === 0
132
+ ? '(none)'
133
+ : allowlist.join(', ');
134
+ return [
135
+ ['slack enabled', slack.enabled ? 'yes' : 'no'],
136
+ ['slack slug', slack.slug ?? '-'],
137
+ ['slack display name', slack.displayName ?? '-'],
138
+ ['slack channels', channels],
139
+ ['slack connection', slack.connectionId ?? '-'],
140
+ ];
141
+ };
116
142
  const updateDraft = async (api, agentId, patch) => {
117
143
  for (let attempt = 0; attempt < 2; attempt += 1) {
118
144
  const current = await getAgent(api, agentId);
@@ -344,12 +370,13 @@ export const registerAgent = (program) => {
344
370
  if (opts.ownership)
345
371
  query.set('ownership', opts.ownership);
346
372
  const rows = await api.rest(`/agents?${query.toString()}`);
347
- emit({ agents: rows ?? [] }, () => printTable(['id', 'name', 'enabled', 'visibility', 'live version id'], (rows ?? []).map(row => [
373
+ emit({ agents: rows ?? [] }, () => printTable(['id', 'name', 'enabled', 'visibility', 'live version id', 'published'], (rows ?? []).map(row => [
348
374
  row.id,
349
375
  row.displayName,
350
376
  row.enabled ? 'yes' : 'no',
351
377
  row.visibility,
352
378
  row.liveAgentVersionId ?? '-',
379
+ row.publishedAt ? publishDay(row.publishedAt) : '-',
353
380
  ])));
354
381
  });
355
382
  agent
@@ -367,15 +394,26 @@ export const registerAgent = (program) => {
367
394
  integrationAction: 'cai integration search <capability>',
368
395
  workflowTool: `cai agent add-workflow ${row.id} --workflow-id <id> --flow <flowId>`,
369
396
  },
370
- }, () => printKeyValues([
371
- ['id', row.id],
372
- ['name', row.displayName],
373
- ['enabled', row.enabled ? 'yes' : 'no'],
374
- ['visibility', row.visibility],
375
- ['live version', row.liveVersion?.versionNumber ?? '(never published)'],
376
- ['unpublished changes', row.hasUnpublishedChanges ? 'yes' : 'no'],
377
- ['instructions', truncate(row.systemPrompt, 120)],
378
- ]));
397
+ }, () => {
398
+ const pairs = [
399
+ ['id', row.id],
400
+ ['name', row.displayName],
401
+ ['enabled', row.enabled ? 'yes' : 'no'],
402
+ ['visibility', row.visibility],
403
+ ['live version', row.liveVersion?.versionNumber ?? '(never published)'],
404
+ ['unpublished changes', row.hasUnpublishedChanges ? 'yes' : 'no'],
405
+ ];
406
+ if (hasField(row, 'publishedAt')) {
407
+ pairs.push([
408
+ 'published',
409
+ row.publishedAt ? `yes — ${publishDay(row.publishedAt)}` : 'no — never published',
410
+ ]);
411
+ }
412
+ if (row.slack)
413
+ pairs.push(...slackPairs(row.slack));
414
+ pairs.push(['instructions', truncate(row.systemPrompt, 120)]);
415
+ printKeyValues(pairs);
416
+ });
379
417
  });
380
418
  agent
381
419
  .command('create')
@@ -921,6 +959,42 @@ export const registerAgent = (program) => {
921
959
  printKeyValues(pairs);
922
960
  });
923
961
  });
962
+ agent
963
+ .command('present')
964
+ .argument('<agentId>')
965
+ .option('--description <text>', 'one-line user-facing summary shown on the card')
966
+ .option('--updated', 'this re-presents an agent changed by a follow-up request', false)
967
+ .description('Show the finished agent to the user as a rich card in the build chat. Read-only; ' +
968
+ 'call it as the final step after the agent is ready (or again with --updated after changes).')
969
+ .action(async (rawId, opts, command) => {
970
+ const { api, config } = buildClient(command);
971
+ const agentId = parsePositiveId(rawId, 'agentId');
972
+ const result = await api.rest(`/agents/${agentId}/present`, {
973
+ method: 'POST',
974
+ body: {
975
+ ...(opts.description ? { description: opts.description } : {}),
976
+ ...(opts.updated ? { updated: true } : {}),
977
+ },
978
+ });
979
+ const appUrl = agentUrl(config, agentId);
980
+ emit({ agentId, ...result, ...(appUrl ? { appUrl } : {}) }, () => {
981
+ printKeyValues([
982
+ ['agentId', agentId],
983
+ ['agent', result.displayName],
984
+ ['workflows', result.workflowsCount],
985
+ ['triggers', result.triggersCount],
986
+ ['published', result.isPublished ? 'yes' : 'draft'],
987
+ [
988
+ 'card',
989
+ result.presentedInChat
990
+ ? 'shown to the user in this build chat'
991
+ : result.cardDeliveryFailed
992
+ ? 'delivery FAILED — a build chat exists but the card did not persist; retry once'
993
+ : 'not shown (no build chat in scope)',
994
+ ],
995
+ ]);
996
+ });
997
+ });
924
998
  agent
925
999
  .command('versions')
926
1000
  .argument('<agentId>')