primitive-admin 1.1.0-alpha.80 → 1.1.0-alpha.82

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 (87) hide show
  1. package/README.md +5 -5
  2. package/assets/skill/skills/primitive-platform/SKILL.md +23 -11
  3. package/dist/bin/primitive.js +14 -15
  4. package/dist/bin/primitive.js.map +1 -1
  5. package/dist/src/commands/databases.js +3 -5
  6. package/dist/src/commands/databases.js.map +1 -1
  7. package/dist/src/commands/documents.js +163 -21
  8. package/dist/src/commands/documents.js.map +1 -1
  9. package/dist/src/commands/functions.js +736 -12
  10. package/dist/src/commands/functions.js.map +1 -1
  11. package/dist/src/commands/prompts.js +19 -2
  12. package/dist/src/commands/prompts.js.map +1 -1
  13. package/dist/src/commands/sync-app-settings.js +2 -2
  14. package/dist/src/commands/sync-app-settings.js.map +1 -1
  15. package/dist/src/commands/sync.js +29 -27
  16. package/dist/src/commands/sync.js.map +1 -1
  17. package/dist/src/commands/webhooks.d.ts +29 -0
  18. package/dist/src/commands/webhooks.js +118 -54
  19. package/dist/src/commands/webhooks.js.map +1 -1
  20. package/dist/src/commands/workflows.d.ts +1 -29
  21. package/dist/src/commands/workflows.js +8 -109
  22. package/dist/src/commands/workflows.js.map +1 -1
  23. package/dist/src/lib/api-client.d.ts +119 -3
  24. package/dist/src/lib/api-client.js +166 -5
  25. package/dist/src/lib/api-client.js.map +1 -1
  26. package/dist/src/lib/config-object-descriptor.js +12 -4
  27. package/dist/src/lib/config-object-descriptor.js.map +1 -1
  28. package/dist/src/lib/env-resolver-core.d.ts +24 -19
  29. package/dist/src/lib/env-resolver-core.js +35 -54
  30. package/dist/src/lib/env-resolver-core.js.map +1 -1
  31. package/dist/src/lib/function-db-types.js +15 -0
  32. package/dist/src/lib/function-db-types.js.map +1 -1
  33. package/dist/src/lib/function-document-types.js +4 -0
  34. package/dist/src/lib/function-document-types.js.map +1 -1
  35. package/dist/src/lib/function-log-tail.d.ts +51 -2
  36. package/dist/src/lib/function-log-tail.js +160 -13
  37. package/dist/src/lib/function-log-tail.js.map +1 -1
  38. package/dist/src/lib/function-run.d.ts +271 -0
  39. package/dist/src/lib/function-run.js +378 -0
  40. package/dist/src/lib/function-run.js.map +1 -0
  41. package/dist/src/lib/function-schema-codegen.d.ts +28 -0
  42. package/dist/src/lib/function-schema-codegen.js +41 -10
  43. package/dist/src/lib/function-schema-codegen.js.map +1 -1
  44. package/dist/src/lib/function-sync.d.ts +9 -4
  45. package/dist/src/lib/function-sync.js +29 -7
  46. package/dist/src/lib/function-sync.js.map +1 -1
  47. package/dist/src/lib/generated-config-surfaces.d.ts +555 -19
  48. package/dist/src/lib/generated-config-surfaces.js +1826 -80
  49. package/dist/src/lib/generated-config-surfaces.js.map +1 -1
  50. package/dist/src/lib/generated-sdk-types.d.ts +1 -1
  51. package/dist/src/lib/generated-sdk-types.js +1 -1
  52. package/dist/src/lib/generated-sdk-types.js.map +1 -1
  53. package/dist/src/lib/local-test-cases.js +2 -2
  54. package/dist/src/lib/local-test-cases.js.map +1 -1
  55. package/dist/src/lib/prompt-schema-codegen.d.ts +94 -0
  56. package/dist/src/lib/prompt-schema-codegen.js +212 -0
  57. package/dist/src/lib/prompt-schema-codegen.js.map +1 -0
  58. package/dist/src/lib/snapshot-manifest-layout.d.ts +61 -0
  59. package/dist/src/lib/snapshot-manifest-layout.js +70 -0
  60. package/dist/src/lib/snapshot-manifest-layout.js.map +1 -0
  61. package/dist/src/lib/step-run-table.d.ts +43 -0
  62. package/dist/src/lib/step-run-table.js +129 -0
  63. package/dist/src/lib/step-run-table.js.map +1 -0
  64. package/dist/src/lib/swift-codegen/banners.d.ts +18 -0
  65. package/dist/src/lib/swift-codegen/banners.js +19 -0
  66. package/dist/src/lib/swift-codegen/banners.js.map +1 -0
  67. package/dist/src/lib/swift-codegen/dbGenerator.js +11 -7
  68. package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -1
  69. package/dist/src/lib/swift-codegen/functionGenerator.d.ts +125 -0
  70. package/dist/src/lib/swift-codegen/functionGenerator.js +423 -0
  71. package/dist/src/lib/swift-codegen/functionGenerator.js.map +1 -0
  72. package/dist/src/lib/swift-codegen/generator.d.ts +6 -0
  73. package/dist/src/lib/swift-codegen/generator.js +21 -10
  74. package/dist/src/lib/swift-codegen/generator.js.map +1 -1
  75. package/dist/src/lib/swift-codegen/schemaToSwift.d.ts +15 -0
  76. package/dist/src/lib/swift-codegen/schemaToSwift.js +21 -4
  77. package/dist/src/lib/swift-codegen/schemaToSwift.js.map +1 -1
  78. package/dist/src/lib/sync-paths.d.ts +19 -14
  79. package/dist/src/lib/sync-paths.js +26 -24
  80. package/dist/src/lib/sync-paths.js.map +1 -1
  81. package/dist/src/lib/webhook-deliver.d.ts +209 -0
  82. package/dist/src/lib/webhook-deliver.js +519 -0
  83. package/dist/src/lib/webhook-deliver.js.map +1 -0
  84. package/dist/src/lib/workflow-toml-validator.d.ts +9 -5
  85. package/dist/src/lib/workflow-toml-validator.js +18 -10
  86. package/dist/src/lib/workflow-toml-validator.js.map +1 -1
  87. package/package.json +2 -2
@@ -1,2 +1,31 @@
1
1
  import { Command } from "commander";
2
+ import { type FetchLike, type WebhookDeliverClient } from "../lib/webhook-deliver.js";
2
3
  export declare function registerWebhooksCommands(program: Command): void;
4
+ /** The transports `webhooks test` uses, injectable so its wiring is testable. */
5
+ export interface WebhooksTestDeps {
6
+ /** Defaults to a real `ApiClient`. */
7
+ client?: WebhookDeliverClient;
8
+ /**
9
+ * Defaults to the CLI's own transport — unauthenticated, because the receive
10
+ * endpoint is not an admin route, but localhost-HTTPS-aware like every other
11
+ * request the CLI makes.
12
+ */
13
+ fetchImpl?: FetchLike;
14
+ /** Defaults to the active environment's API base URL. */
15
+ serverUrl?: () => string;
16
+ sleep?: (ms: number) => Promise<void>;
17
+ }
18
+ /**
19
+ * `primitive webhooks test [--deliver]` — the command body, exported so its
20
+ * wiring and its outcome mapping are testable without a network (#3321).
21
+ *
22
+ * Returns the process exit code rather than calling `process.exit` itself:
23
+ * `0` for a signed preview, and in delivered mode `0` only when a dispatch was
24
+ * positively confirmed.
25
+ */
26
+ export declare function runWebhooksTest(webhookId: string, options: {
27
+ app?: string;
28
+ payload?: string;
29
+ deliver?: boolean;
30
+ json?: boolean;
31
+ }, deps?: WebhooksTestDeps): Promise<number>;
@@ -1,6 +1,7 @@
1
1
  import { readFileSync, statSync } from "fs";
2
2
  import { ApiClient } from "../lib/api-client.js";
3
- import { resolveAppId } from "../lib/config.js";
3
+ import { resolveAppId, getServerUrl } from "../lib/config.js";
4
+ import { deliverWebhookTest, } from "../lib/webhook-deliver.js";
4
5
  import { success, error, info, keyValue, result as printResult, formatTable, formatId, formatDate, formatStatus, json, divider, dim, warn, } from "../lib/output.js";
5
6
  import { assertSupportedFlags, buildWebhookEnvelope, } from "../lib/log-inspection.js";
6
7
  import { confirmPrompt } from "../lib/confirm-prompt.js";
@@ -369,12 +370,21 @@ Reclaiming the key and the slot means hard-deleting the row:
369
370
  .option("--payload <json>", "Test payload as JSON, signed verbatim. Pass the event " +
370
371
  "object directly (e.g. '{\"type\":\"event\",\"data\":{…}}'); it is used " +
371
372
  "as-is. Omit it to sign a canned webhook.test ping.")
373
+ .option("--deliver", "Post the signed payload to the webhook's real receive endpoint, " +
374
+ "firing the function (or workflow) for real and reporting the run")
372
375
  .option("--json", "Output as JSON")
373
376
  .addHelpText("after", `
374
- This command signs a payload and prints the signature headers and the signed
375
- body. It does NOT post them to the webhook's receive endpoint, so no workflow
376
- runs and no delivery is recorded — send the returned body with the returned
377
- headers to POST /app/{appId}/webhook/{webhookKey} yourself to do that.
377
+ By default this command only SIGNS: it prints the signature headers and the
378
+ signed body, posts nothing, and so starts no run and records no delivery.
379
+
380
+ --deliver posts that signed body to the webhook's receive endpoint,
381
+ POST /app/{appId}/webhook/{webhookKey} — the same unauthenticated path a
382
+ provider uses, so signature verification, handshake rules, deduplication and
383
+ dispatch all run for real. That is a real delivery: a real event row is written
384
+ and the signed body's dedup key is spent (permanently on the 'github' scheme).
385
+ It reports the delivery's event id and the run id, and exits non-zero unless a
386
+ dispatch was positively confirmed; --json carries an outcome of
387
+ "dispatched" | "refused" | "unconfirmed".
378
388
 
379
389
  The value of --payload is signed exactly as given (WYSIWYG). A JSON object is
380
390
  used as the test body verbatim, so a wrapped payload such as '{"payload":{…}}'
@@ -383,55 +393,9 @@ passing a non-object such as an array) signs the canned
383
393
  {"type":"webhook.test", …} ping.
384
394
  `)
385
395
  .action(async (webhookId, options) => {
386
- const resolvedAppId = resolveAppId(undefined, options);
387
- let payload = {};
388
- if (options.payload) {
389
- try {
390
- payload = JSON.parse(options.payload);
391
- }
392
- catch {
393
- error("Invalid JSON in --payload");
394
- process.exit(1);
395
- }
396
- }
397
- const client = new ApiClient();
398
- try {
399
- const result = await client.testWebhook(resolvedAppId, webhookId, payload);
400
- if (options.json) {
401
- json(result);
402
- return;
403
- }
404
- if (result.success) {
405
- success("Test payload signed. Nothing was delivered — post the signed body " +
406
- "(--json shows the exact rawBody) with these headers to the " +
407
- "receive endpoint to trigger the workflow.");
408
- if (result.signatureHeaders) {
409
- divider();
410
- info("Generated Signature Headers:");
411
- for (const [header, value] of Object.entries(result.signatureHeaders)) {
412
- keyValue(` ${header}`, String(value));
413
- }
414
- }
415
- if (result.payload) {
416
- divider();
417
- info("Test Payload:");
418
- console.log(JSON.stringify(result.payload, null, 2));
419
- }
420
- }
421
- else {
422
- error(`Test failed: ${result.message || result.errorCode || "unknown error"}`);
423
- }
424
- }
425
- catch (err) {
426
- // The server refuses a preview it cannot sign with a coded 400 — the
427
- // scheme holds only public key material, the row still stores a raw
428
- // secret, the signing secret is unset or unresolvable (#2445). Print
429
- // the machine-readable code alongside the message, the established
430
- // convention here: the prose explains, the code is what an operator
431
- // searches for or reports.
432
- error(err?.code ? `${err.message} (${err.code})` : err.message);
433
- process.exit(1);
434
- }
396
+ const code = await runWebhooksTest(webhookId, options);
397
+ if (code !== 0)
398
+ process.exit(code);
435
399
  });
436
400
  // Verify a captured delivery's signature
437
401
  webhooks
@@ -559,4 +523,104 @@ script.
559
523
  }
560
524
  });
561
525
  }
526
+ /**
527
+ * `primitive webhooks test [--deliver]` — the command body, exported so its
528
+ * wiring and its outcome mapping are testable without a network (#3321).
529
+ *
530
+ * Returns the process exit code rather than calling `process.exit` itself:
531
+ * `0` for a signed preview, and in delivered mode `0` only when a dispatch was
532
+ * positively confirmed.
533
+ */
534
+ export async function runWebhooksTest(webhookId, options, deps = {}) {
535
+ const resolvedAppId = resolveAppId(undefined, options);
536
+ let payload = {};
537
+ if (options.payload) {
538
+ try {
539
+ payload = JSON.parse(options.payload);
540
+ }
541
+ catch {
542
+ error("Invalid JSON in --payload");
543
+ return 1;
544
+ }
545
+ }
546
+ const client = (deps.client ?? new ApiClient());
547
+ if (options.deliver) {
548
+ const result = await deliverWebhookTest({
549
+ appId: resolvedAppId,
550
+ webhookId,
551
+ payload,
552
+ serverUrl: (deps.serverUrl ?? getServerUrl)(),
553
+ }, {
554
+ client,
555
+ ...(deps.fetchImpl ? { fetchImpl: deps.fetchImpl } : {}),
556
+ ...(deps.sleep ? { sleep: deps.sleep } : {}),
557
+ // Said before anything is delivered, and in the terminal rather than
558
+ // only in the guide: a diagnostic that mutates the app has to announce
559
+ // it where the user is looking (#3321 criterion 4). It goes to stderr,
560
+ // so `--json` keeps one clean object on stdout.
561
+ onBeforeDeliver: (notice) => notice.forEach((line) => warn(line)),
562
+ });
563
+ if (options.json) {
564
+ json(result);
565
+ }
566
+ else if (result.outcome === "dispatched") {
567
+ success(result.headline);
568
+ result.details.forEach((line) => info(line));
569
+ }
570
+ else {
571
+ // A refusal the server explained keeps the established convention: the
572
+ // prose explains, the code is what an operator searches for (#2445).
573
+ if (result.refusal) {
574
+ error(result.refusal.code
575
+ ? `${result.refusal.message} (${result.refusal.code})`
576
+ : result.refusal.message);
577
+ if (result.delivery === null)
578
+ info("Nothing was delivered.");
579
+ }
580
+ else {
581
+ error(result.headline);
582
+ }
583
+ result.details.forEach((line) => info(line));
584
+ }
585
+ return result.outcome === "dispatched" ? 0 : 1;
586
+ }
587
+ try {
588
+ const result = await client.testWebhook(resolvedAppId, webhookId, payload);
589
+ if (options.json) {
590
+ json(result);
591
+ return 0;
592
+ }
593
+ if (result.success) {
594
+ success("Test payload signed. Nothing was delivered — re-run with --deliver " +
595
+ "to post it to the receive endpoint for real, or post the signed " +
596
+ "body (--json shows the exact rawBody) with these headers yourself.");
597
+ if (result.signatureHeaders) {
598
+ divider();
599
+ info("Generated Signature Headers:");
600
+ for (const [header, value] of Object.entries(result.signatureHeaders)) {
601
+ keyValue(` ${header}`, String(value));
602
+ }
603
+ }
604
+ if (result.payload) {
605
+ divider();
606
+ info("Test Payload:");
607
+ console.log(JSON.stringify(result.payload, null, 2));
608
+ }
609
+ }
610
+ else {
611
+ error(`Test failed: ${result.message || result.errorCode || "unknown error"}`);
612
+ }
613
+ return 0;
614
+ }
615
+ catch (err) {
616
+ // The server refuses a preview it cannot sign with a coded 400 — the
617
+ // scheme holds only public key material, the row still stores a raw
618
+ // secret, the signing secret is unset or unresolvable (#2445). Print
619
+ // the machine-readable code alongside the message, the established
620
+ // convention here: the prose explains, the code is what an operator
621
+ // searches for or reports.
622
+ error(err?.code ? `${err.message} (${err.code})` : err.message);
623
+ return 1;
624
+ }
625
+ }
562
626
  //# sourceMappingURL=webhooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../src/commands/webhooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../src/commands/webhooks.ts"],"names":[],"mappings":"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"}
@@ -48,17 +48,7 @@ export declare function isPreviewWaitTerminalStatus(s: unknown): boolean;
48
48
  */
49
49
  export declare function previewWaitOutcome(status: unknown): "completed" | "failed" | "terminated" | "skipped" | "apply" | "missing" | "timeout";
50
50
  export declare function renderRunStatusStepResults(stepResults: any[]): string[];
51
- /**
52
- * #2771 — how long a step row has been going.
53
- *
54
- * A step that is still executing is persisted with status `running` and a
55
- * `durationMs` of 0 (the column is required; the real value is written when the
56
- * step ends). Printing that 0 hides the one number that matters while a run is
57
- * in flight — how long the current step has been stuck — so a running row is
58
- * measured from its `startedAt` instead. Finished rows keep their stored
59
- * duration. Exported for testability.
60
- */
61
- export declare function stepRunDisplayDurationMs(step: any, now?: number): number | null;
51
+ export { annotateStepGaps, stepRunDisplayDurationMs, } from "../lib/step-run-table.js";
62
52
  /**
63
53
  * #2771 — the step lines `workflows runs status` should render.
64
54
  *
@@ -70,24 +60,6 @@ export declare function stepRunDisplayDurationMs(step: any, now?: number): numbe
70
60
  * results always win when it has them. Exported for testability.
71
61
  */
72
62
  export declare function stepResultsForRunStatus(instanceStepResults: any[] | undefined | null, persistedStepRuns: any[] | undefined | null, now?: number): any[];
73
- /**
74
- * #1367 — annotate step-run rows with the inter-step gap: the wall-clock time
75
- * between the previous step's `endedAt` and this step's `startedAt`. Sorts by
76
- * `startedAt` when every row has a parseable one (tie-break `stepIndex`),
77
- * otherwise by `stepIndex` for the whole list — the ordering mode must be
78
- * chosen once for all rows, not per pair: a per-pair timestamp-vs-index
79
- * fallback is not transitive when some rows lack a timestamp (A<B by index,
80
- * B<C by index, C<A by time), and a non-transitive comparator leaves
81
- * Array.prototype.sort free to return an arbitrary order, computing gaps
82
- * against the wrong predecessor. The first step has no predecessor, so its
83
- * `gapMs` is `null`. A gap is only meaningful when both adjacent timestamps
84
- * parse and the gap is positive. When the immediate predecessor lacks a valid
85
- * `endedAt`, the gap is left `null` rather than measured from an older,
86
- * non-adjacent step — otherwise a later step could raise a false stall
87
- * warning against a step it does not actually follow. Exported for
88
- * testability.
89
- */
90
- export declare function annotateStepGaps(steps: any[]): any[];
91
63
  /**
92
64
  * #1367 — compute min / p50 / p95 / max over a set of latency samples (ms).
93
65
  * Ignores non-finite values. Returns `null` when there are no valid samples.
@@ -121,25 +121,13 @@ export function renderRunStatusStepResults(stepResults) {
121
121
  }
122
122
  return lines;
123
123
  }
124
- /**
125
- * #2771 — how long a step row has been going.
126
- *
127
- * A step that is still executing is persisted with status `running` and a
128
- * `durationMs` of 0 (the column is required; the real value is written when the
129
- * step ends). Printing that 0 hides the one number that matters while a run is
130
- * in flight — how long the current step has been stuck — so a running row is
131
- * measured from its `startedAt` instead. Finished rows keep their stored
132
- * duration. Exported for testability.
133
- */
134
- export function stepRunDisplayDurationMs(step, now = Date.now()) {
135
- const stored = typeof step?.durationMs === "number" ? step.durationMs : null;
136
- if (step?.status !== "running")
137
- return stored;
138
- const started = step?.startedAt ? new Date(step.startedAt).getTime() : NaN;
139
- if (Number.isNaN(started))
140
- return stored;
141
- return Math.max(0, now - started);
142
- }
124
+ // #3348 — the step table, the gap annotation and the running-step duration now
125
+ // live in `lib/step-run-table.ts`, shared with `functions runs steps`: a
126
+ // function run's steps are the same rows, and the two views must not be two
127
+ // tables that merely resemble each other. Re-exported from here because this is
128
+ // where the two helpers were first exported for testability.
129
+ export { annotateStepGaps, stepRunDisplayDurationMs, } from "../lib/step-run-table.js";
130
+ import { renderStepRunTable, stepRunDisplayDurationMs, } from "../lib/step-run-table.js";
143
131
  /**
144
132
  * #2771 — the step lines `workflows runs status` should render.
145
133
  *
@@ -163,53 +151,6 @@ export function stepResultsForRunStatus(instanceStepResults, persistedStepRuns,
163
151
  output: row?.output,
164
152
  }));
165
153
  }
166
- /**
167
- * #1367 — annotate step-run rows with the inter-step gap: the wall-clock time
168
- * between the previous step's `endedAt` and this step's `startedAt`. Sorts by
169
- * `startedAt` when every row has a parseable one (tie-break `stepIndex`),
170
- * otherwise by `stepIndex` for the whole list — the ordering mode must be
171
- * chosen once for all rows, not per pair: a per-pair timestamp-vs-index
172
- * fallback is not transitive when some rows lack a timestamp (A<B by index,
173
- * B<C by index, C<A by time), and a non-transitive comparator leaves
174
- * Array.prototype.sort free to return an arbitrary order, computing gaps
175
- * against the wrong predecessor. The first step has no predecessor, so its
176
- * `gapMs` is `null`. A gap is only meaningful when both adjacent timestamps
177
- * parse and the gap is positive. When the immediate predecessor lacks a valid
178
- * `endedAt`, the gap is left `null` rather than measured from an older,
179
- * non-adjacent step — otherwise a later step could raise a false stall
180
- * warning against a step it does not actually follow. Exported for
181
- * testability.
182
- */
183
- export function annotateStepGaps(steps) {
184
- const rows = [...(steps || [])];
185
- const allTimed = rows.every((r) => r?.startedAt && !Number.isNaN(new Date(r.startedAt).getTime()));
186
- rows.sort((a, b) => {
187
- if (allTimed) {
188
- const sa = new Date(a.startedAt).getTime();
189
- const sb = new Date(b.startedAt).getTime();
190
- if (sa !== sb)
191
- return sa - sb;
192
- }
193
- return (a?.stepIndex ?? 0) - (b?.stepIndex ?? 0);
194
- });
195
- let prevEnded = null;
196
- for (const row of rows) {
197
- const started = row?.startedAt ? new Date(row.startedAt).getTime() : NaN;
198
- if (prevEnded != null && !Number.isNaN(started)) {
199
- const gap = started - prevEnded;
200
- row.gapMs = gap > 0 ? gap : 0;
201
- }
202
- else {
203
- row.gapMs = null;
204
- }
205
- // Only genuinely adjacent steps yield a gap: if this step lacks a valid
206
- // `endedAt`, clear the predecessor so the NEXT step's gap is left null
207
- // instead of being measured from a non-adjacent earlier step.
208
- const ended = row?.endedAt ? new Date(row.endedAt).getTime() : NaN;
209
- prevEnded = Number.isNaN(ended) ? null : ended;
210
- }
211
- return rows;
212
- }
213
154
  /**
214
155
  * #1367 — compute min / p50 / p95 / max over a set of latency samples (ms).
215
156
  * Ignores non-finite values. Returns `null` when there are no valid samples.
@@ -1236,49 +1177,7 @@ Reclaiming the key means hard-deleting the row and its cascade:
1236
1177
  info("No step runs found.");
1237
1178
  return;
1238
1179
  }
1239
- // #1367 — inter-step gap: idle time between one step ending and the
1240
- // next starting. Only surfaced above a 1s threshold so normal
1241
- // back-to-back steps stay quiet; a large gap flags a mid-run stall.
1242
- const STEP_GAP_THRESHOLD_MS = 1000;
1243
- // #2771 — an in-flight run also returns the step executing right now
1244
- // (status `running`, duration not written yet). Show its elapsed time
1245
- // so a step stuck retrying is visible as such.
1246
- const rows = annotateStepGaps(items).map((row) => ({
1247
- ...row,
1248
- displayDurationMs: stepRunDisplayDurationMs(row),
1249
- }));
1250
- console.log(formatTable(rows, [
1251
- { header: "STEP", key: "stepId" },
1252
- { header: "KIND", key: "stepKind" },
1253
- {
1254
- header: "STATUS",
1255
- key: "status",
1256
- format: (v) => v === "completed" ? chalk.green(v) :
1257
- v === "failed" ? chalk.red(v) :
1258
- v === "skipped" ? chalk.gray(v) :
1259
- v === "error_captured" ? chalk.yellow(v) :
1260
- // #2771 — the step executing right now.
1261
- v === "running" ? chalk.cyan(v) : v,
1262
- },
1263
- {
1264
- header: "GAP",
1265
- key: "gapMs",
1266
- format: (v) => typeof v === "number" && v >= STEP_GAP_THRESHOLD_MS
1267
- ? chalk.yellow(formatDuration(v))
1268
- : chalk.dim("-"),
1269
- },
1270
- { header: "DURATION", key: "displayDurationMs", format: formatDuration },
1271
- {
1272
- header: "TOKENS",
1273
- key: "totalTokens",
1274
- format: (v) => v ? String(v).replace(/\B(?=(\d{3})+(?!\d))/g, ",") : "-",
1275
- },
1276
- {
1277
- header: "ERROR",
1278
- key: "error",
1279
- format: (v) => v ? (v.length > 60 ? v.slice(0, 57) + "..." : v) : "",
1280
- },
1281
- ]));
1180
+ console.log(renderStepRunTable(items));
1282
1181
  }
1283
1182
  catch (err) {
1284
1183
  error(err.message);