@controllerai/cli 0.2.11 → 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.
- package/dist/api/client.js +239 -13
- package/dist/api/client.js.map +1 -1
- package/dist/commands/agent.js +162 -27
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/approval.js +34 -0
- package/dist/commands/approval.js.map +1 -0
- package/dist/commands/auth.js +5 -4
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/branch.js +32 -1
- package/dist/commands/branch.js.map +1 -1
- package/dist/commands/connection.js +41 -0
- package/dist/commands/connection.js.map +1 -1
- package/dist/commands/expr.js +36 -0
- package/dist/commands/expr.js.map +1 -1
- package/dist/commands/file.js +70 -0
- package/dist/commands/file.js.map +1 -0
- package/dist/commands/flow.js +227 -28
- package/dist/commands/flow.js.map +1 -1
- package/dist/commands/node.js +69 -9
- package/dist/commands/node.js.map +1 -1
- package/dist/commands/run.js +50 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/trigger.js +4 -1
- package/dist/commands/trigger.js.map +1 -1
- package/dist/commands/workflow.js +226 -61
- package/dist/commands/workflow.js.map +1 -1
- package/dist/config.js +7 -1
- package/dist/config.js.map +1 -1
- package/dist/errors.js +7 -3
- package/dist/errors.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/nodeProps.js +17 -3
- package/dist/nodeProps.js.map +1 -1
- package/package.json +1 -1
- package/skills/controllerai-agents/SKILL.md +32 -30
- package/skills/controllerai-flow-control/SKILL.md +11 -0
- package/skills/controllerai-integration-actions/SKILL.md +3 -1
- package/skills/controllerai-node-config/SKILL.md +3 -1
- package/skills/controllerai-runs/SKILL.md +1 -1
- package/skills/controllerai-triggers/SKILL.md +8 -0
- package/skills/controllerai-workflows/SKILL.md +9 -7
- package/skills/controllerai-workflows/references/command-map.md +2 -2
- package/skills/manifest.json +49 -49
package/dist/api/client.js
CHANGED
|
@@ -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
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
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
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
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
|
-
|
|
278
|
-
|
|
279
|
-
|
|
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 ||
|
package/dist/api/client.js.map
CHANGED
|
@@ -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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"}
|
package/dist/commands/agent.js
CHANGED
|
@@ -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);
|
|
@@ -158,30 +184,82 @@ const assertConversationRail = (conversation, draft) => {
|
|
|
158
184
|
const contentText = (content) => typeof content === 'string' ? content : JSON.stringify(content ?? null);
|
|
159
185
|
/**
|
|
160
186
|
* Distill a conversation transcript to what a caller actually asks after a
|
|
161
|
-
* test or timeout: the
|
|
162
|
-
*
|
|
163
|
-
*
|
|
187
|
+
* test or timeout: the last turn's assistant text, which tools ran with which
|
|
188
|
+
* inputs, and whether the turn really finished. Raw block JSON took a first-time
|
|
189
|
+
* agent five parsing attempts — this is the one-call answer.
|
|
164
190
|
*/
|
|
165
191
|
export const lastReplySummary = (history) => {
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
192
|
+
const messages = history.messages ?? [];
|
|
193
|
+
let lastUserIndex = -1;
|
|
194
|
+
for (let index = messages.length - 1; index >= 0; index -= 1) {
|
|
195
|
+
if (messages[index]?.role === 'user') {
|
|
196
|
+
lastUserIndex = index;
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
const replies = messages
|
|
201
|
+
.slice(lastUserIndex + 1)
|
|
202
|
+
.filter(message => message.role === 'assistant');
|
|
203
|
+
const contentBlocks = (content) => Array.isArray(content)
|
|
204
|
+
? content.filter((block) => Boolean(block) && typeof block === 'object' && !Array.isArray(block))
|
|
169
205
|
: [];
|
|
170
|
-
const
|
|
171
|
-
|
|
172
|
-
|
|
206
|
+
const blocks = replies.flatMap(reply => contentBlocks(reply.content));
|
|
207
|
+
const replyText = replies
|
|
208
|
+
.flatMap(reply => typeof reply.content === 'string'
|
|
209
|
+
? [reply.content]
|
|
210
|
+
: contentBlocks(reply.content)
|
|
173
211
|
.filter(block => block.type === 'text' && typeof block.text === 'string')
|
|
174
|
-
.map(block => block.text)
|
|
175
|
-
|
|
176
|
-
|
|
212
|
+
.map(block => block.text ?? ''))
|
|
213
|
+
.join('\n')
|
|
214
|
+
.trim() || null;
|
|
215
|
+
const replyWithCost = [...replies]
|
|
216
|
+
.reverse()
|
|
217
|
+
.find(reply => reply.totalCostUsd !== undefined && reply.totalCostUsd !== null);
|
|
218
|
+
const events = history.events ?? [];
|
|
219
|
+
const notificationStartsTurn = (event) => {
|
|
220
|
+
if (event.eventType !== 'system_notification')
|
|
221
|
+
return false;
|
|
222
|
+
const rawData = event.rawData !== null &&
|
|
223
|
+
typeof event.rawData === 'object' &&
|
|
224
|
+
!Array.isArray(event.rawData)
|
|
225
|
+
? event.rawData
|
|
226
|
+
: null;
|
|
227
|
+
return rawData?.source !== 'files_changed';
|
|
228
|
+
};
|
|
229
|
+
let lastTurnBoundaryIndex = -1;
|
|
230
|
+
for (let index = events.length - 1; index >= 0; index -= 1) {
|
|
231
|
+
const event = events[index];
|
|
232
|
+
if (event?.eventType === 'agent_user_message_sent' ||
|
|
233
|
+
(event !== undefined && notificationStartsTurn(event))) {
|
|
234
|
+
lastTurnBoundaryIndex = index;
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
const newestUserMessage = lastUserIndex >= 0 ? messages[lastUserIndex] : undefined;
|
|
239
|
+
const newestUserCreatedAt = newestUserMessage?.createdAt
|
|
240
|
+
? Date.parse(newestUserMessage.createdAt)
|
|
241
|
+
: Number.NaN;
|
|
177
242
|
return {
|
|
178
243
|
status: history.conversation?.status ?? 'unknown',
|
|
179
|
-
turnComplete:
|
|
244
|
+
turnComplete: events.some((event, index) => {
|
|
245
|
+
if (index <= lastTurnBoundaryIndex ||
|
|
246
|
+
event.eventType !== 'sdk_message' ||
|
|
247
|
+
event.sdkType !== 'result') {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
if (!Number.isFinite(newestUserCreatedAt))
|
|
251
|
+
return true;
|
|
252
|
+
const resultCreatedAt = event.createdAt ? Date.parse(event.createdAt) : Number.NaN;
|
|
253
|
+
return Number.isFinite(resultCreatedAt) && resultCreatedAt > newestUserCreatedAt;
|
|
254
|
+
}),
|
|
180
255
|
replyText,
|
|
181
256
|
toolCalls: blocks
|
|
182
257
|
.filter(block => block.type === 'tool_use')
|
|
183
|
-
.map(block =>
|
|
184
|
-
|
|
258
|
+
.map(block => ({
|
|
259
|
+
name: block.tool?.name ?? block.name ?? 'tool',
|
|
260
|
+
input: block.tool?.parsedInput ?? block.tool?.input ?? block.input ?? null,
|
|
261
|
+
})),
|
|
262
|
+
costUsd: replyWithCost?.totalCostUsd ?? null,
|
|
185
263
|
};
|
|
186
264
|
};
|
|
187
265
|
export const assistantReplyAfter = (history, afterMessageId) => [...(history.messages ?? [])]
|
|
@@ -292,12 +370,13 @@ export const registerAgent = (program) => {
|
|
|
292
370
|
if (opts.ownership)
|
|
293
371
|
query.set('ownership', opts.ownership);
|
|
294
372
|
const rows = await api.rest(`/agents?${query.toString()}`);
|
|
295
|
-
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 => [
|
|
296
374
|
row.id,
|
|
297
375
|
row.displayName,
|
|
298
376
|
row.enabled ? 'yes' : 'no',
|
|
299
377
|
row.visibility,
|
|
300
378
|
row.liveAgentVersionId ?? '-',
|
|
379
|
+
row.publishedAt ? publishDay(row.publishedAt) : '-',
|
|
301
380
|
])));
|
|
302
381
|
});
|
|
303
382
|
agent
|
|
@@ -315,15 +394,26 @@ export const registerAgent = (program) => {
|
|
|
315
394
|
integrationAction: 'cai integration search <capability>',
|
|
316
395
|
workflowTool: `cai agent add-workflow ${row.id} --workflow-id <id> --flow <flowId>`,
|
|
317
396
|
},
|
|
318
|
-
}, () =>
|
|
319
|
-
[
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
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
|
+
});
|
|
327
417
|
});
|
|
328
418
|
agent
|
|
329
419
|
.command('create')
|
|
@@ -869,6 +959,42 @@ export const registerAgent = (program) => {
|
|
|
869
959
|
printKeyValues(pairs);
|
|
870
960
|
});
|
|
871
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
|
+
});
|
|
872
998
|
agent
|
|
873
999
|
.command('versions')
|
|
874
1000
|
.argument('<agentId>')
|
|
@@ -946,7 +1072,7 @@ export const registerAgent = (program) => {
|
|
|
946
1072
|
conversation
|
|
947
1073
|
.command('history')
|
|
948
1074
|
.argument('<conversationId>')
|
|
949
|
-
.option('--last', '
|
|
1075
|
+
.option('--last', 'aggregates the assistant turn: status, text, tool-call summary, cost')
|
|
950
1076
|
.description('Read persisted messages, events, and pending permission requests')
|
|
951
1077
|
.action(async (rawId, opts, command) => {
|
|
952
1078
|
const { api } = buildClient(command);
|
|
@@ -958,7 +1084,16 @@ export const registerAgent = (program) => {
|
|
|
958
1084
|
['conversation', conversationId],
|
|
959
1085
|
['status', summary.status],
|
|
960
1086
|
['turn complete', summary.turnComplete ? 'yes' : 'no'],
|
|
961
|
-
[
|
|
1087
|
+
[
|
|
1088
|
+
'tool calls',
|
|
1089
|
+
summary.toolCalls.length
|
|
1090
|
+
? summary.toolCalls
|
|
1091
|
+
.map(call => call.input === null
|
|
1092
|
+
? call.name
|
|
1093
|
+
: `${call.name} ${JSON.stringify(call.input)}`)
|
|
1094
|
+
.join(', ')
|
|
1095
|
+
: '-',
|
|
1096
|
+
],
|
|
962
1097
|
['cost USD', summary.costUsd ?? '-'],
|
|
963
1098
|
['reply', summary.replyText ?? '(no assistant text yet)'],
|
|
964
1099
|
]));
|