@boardwalk-labs/cli 0.1.6 → 0.1.8

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/client.d.ts CHANGED
@@ -27,12 +27,73 @@ export interface RunSummary {
27
27
  startedAt: number | null;
28
28
  completedAt: number | null;
29
29
  }
30
+ /** One row of the org runs list (GET /v1/orgs/:slug/runs) — the columns the CLI renders. */
31
+ export interface RunListItem {
32
+ id: string;
33
+ workflowId: string;
34
+ workflowName: string | null;
35
+ status: string;
36
+ triggerKind: string | null;
37
+ createdAt: number;
38
+ startedAt: number | null;
39
+ completedAt: number | null;
40
+ /** Billed runtime (set at terminal); 0 while in flight. */
41
+ runtimeSeconds: number;
42
+ }
43
+ /** A page of org runs + an opaque cursor for the next page (null when there are no more). */
44
+ export interface RunList {
45
+ runs: RunListItem[];
46
+ nextCursor: string | null;
47
+ }
48
+ /** A single run's detail (GET /v1/runs/:id) — the list row plus tokens + a curated error. */
49
+ export interface RunDetail extends RunListItem {
50
+ outcomeStatus: string | null;
51
+ tokensIn: number;
52
+ tokensOut: number;
53
+ /** Curated failure cause for a failed run; null otherwise. */
54
+ error: {
55
+ code: string;
56
+ message: string;
57
+ } | null;
58
+ }
30
59
  /** A freshly-minted inference-gateway key: the plaintext token (shown once) + its expiry/id. */
31
60
  export interface MintedInferenceKey {
32
61
  token: string;
33
62
  expiresAt: number | null;
34
63
  id: string | null;
35
64
  }
65
+ /** A {label → token volume} line for the usage breakdowns. */
66
+ export interface UsageLine {
67
+ label: string;
68
+ tokens: number;
69
+ }
70
+ /** The org usage summary (GET /v1/orgs/:slug/usage) — the subset the CLI renders. Newer fields are
71
+ * read leniently (defaulted), so the CLI keeps working against an older / self-hosted backend. */
72
+ export interface UsageSummary {
73
+ rangeDays: number;
74
+ totals: {
75
+ runs: number;
76
+ tokensIn: number;
77
+ tokensOut: number;
78
+ runtimeSeconds: number;
79
+ };
80
+ /** Effective available credit in cents; null when unavailable. */
81
+ creditCents: number | null;
82
+ /** Human-vs-automated run split. */
83
+ autonomy: {
84
+ humanRuns: number;
85
+ automatedRuns: number;
86
+ };
87
+ /** Prompt-cache efficiency: 0..1 hit rate + the read volume. */
88
+ cache: {
89
+ hitRate: number;
90
+ cachedReadTokens: number;
91
+ };
92
+ /** Heaviest models by token volume. */
93
+ byModel: UsageLine[];
94
+ /** Heaviest workflows by token volume. */
95
+ byWorkflow: UsageLine[];
96
+ }
36
97
  export interface BoardwalkClientOptions {
37
98
  baseUrl: string;
38
99
  token: string;
@@ -60,6 +121,13 @@ export declare class BoardwalkClient {
60
121
  uploadArtifact(uploadUrl: string, contentType: string, bytes: Uint8Array): Promise<void>;
61
122
  triggerRun(orgSlug: string, workflowId: string, input: unknown): Promise<RunSummary>;
62
123
  getRun(runId: string): Promise<RunSummary>;
124
+ /** List the org's recent runs, newest first. Optional `status` filter + `limit` (server-clamped). */
125
+ listOrgRuns(orgSlug: string, opts?: {
126
+ status?: string;
127
+ limit?: number;
128
+ }): Promise<RunList>;
129
+ /** Fetch one run's detail. The endpoint resolves the org from the run id, so no slug is needed. */
130
+ getRunDetail(runId: string): Promise<RunDetail>;
63
131
  /**
64
132
  * Cancel a run. Idempotent server-side (a terminal/already-cancelling run is a no-op); the
65
133
  * endpoint resolves the org from the run id, so no org slug is needed. Returns 204 No Content.
@@ -71,8 +139,18 @@ export declare class BoardwalkClient {
71
139
  * server fixes scopes/cap/expiry — no request body. Returns the plaintext token ONCE.
72
140
  */
73
141
  mintInferenceKey(orgSlug: string): Promise<MintedInferenceKey>;
142
+ /** Fetch the org's usage summary over `days` (server default when omitted, capped at 90). */
143
+ getUsage(orgSlug: string, days?: number): Promise<UsageSummary>;
74
144
  private request;
75
145
  private deployResult;
76
146
  private runSummary;
147
+ /** Validate the `{ runs, nextCursor }` envelope, reading each row leniently (rows missing an
148
+ * id/status are skipped, so a partial/older response still lists what it can). */
149
+ private runList;
150
+ /** Validate the `{ run }` envelope and read its columns + tokens + curated error. */
151
+ private runDetail;
77
152
  private mintedInferenceKey;
153
+ /** Validate the `{ usage }` envelope and read the fields the CLI renders. Lenient on the newer
154
+ * per-cut fields (defaulted), so an older / self-hosted backend still produces a usable summary. */
155
+ private usageSummary;
78
156
  }
package/dist/client.js CHANGED
@@ -75,6 +75,22 @@ export class BoardwalkClient {
75
75
  async getRun(runId) {
76
76
  return this.runSummary(await this.request("GET", `/v1/runs/${encodeURIComponent(runId)}`));
77
77
  }
78
+ /** List the org's recent runs, newest first. Optional `status` filter + `limit` (server-clamped). */
79
+ async listOrgRuns(orgSlug, opts = {}) {
80
+ const params = new URLSearchParams();
81
+ if (opts.status !== undefined)
82
+ params.set("status", opts.status);
83
+ if (opts.limit !== undefined)
84
+ params.set("limit", String(opts.limit));
85
+ const query = params.toString();
86
+ const body = await this.request("GET", `/v1/orgs/${encodeURIComponent(orgSlug)}/runs${query.length > 0 ? `?${query}` : ""}`);
87
+ return this.runList(body);
88
+ }
89
+ /** Fetch one run's detail. The endpoint resolves the org from the run id, so no slug is needed. */
90
+ async getRunDetail(runId) {
91
+ const body = await this.request("GET", `/v1/runs/${encodeURIComponent(runId)}`);
92
+ return this.runDetail(body);
93
+ }
78
94
  /**
79
95
  * Cancel a run. Idempotent server-side (a terminal/already-cancelling run is a no-op); the
80
96
  * endpoint resolves the org from the run id, so no org slug is needed. Returns 204 No Content.
@@ -91,6 +107,12 @@ export class BoardwalkClient {
91
107
  const body = await this.request("POST", `/v1/orgs/${encodeURIComponent(orgSlug)}/inference-keys`);
92
108
  return this.mintedInferenceKey(body);
93
109
  }
110
+ /** Fetch the org's usage summary over `days` (server default when omitted, capped at 90). */
111
+ async getUsage(orgSlug, days) {
112
+ const query = days !== undefined ? `?days=${String(days)}` : "";
113
+ const body = await this.request("GET", `/v1/orgs/${encodeURIComponent(orgSlug)}/usage${query}`);
114
+ return this.usageSummary(body);
115
+ }
94
116
  async request(method, path, body) {
95
117
  const headers = {
96
118
  Authorization: `Bearer ${this.token}`,
@@ -137,6 +159,35 @@ export class BoardwalkClient {
137
159
  return body.run;
138
160
  throw new CliError("The API returned an unexpected run response shape.");
139
161
  }
162
+ /** Validate the `{ runs, nextCursor }` envelope, reading each row leniently (rows missing an
163
+ * id/status are skipped, so a partial/older response still lists what it can). */
164
+ runList(body) {
165
+ if (!isRecord(body) || !Array.isArray(body.runs)) {
166
+ throw new CliError("The API returned an unexpected runs response shape.");
167
+ }
168
+ const runs = [];
169
+ for (const row of body.runs) {
170
+ const parsed = parseRunRow(row);
171
+ if (parsed !== null)
172
+ runs.push(parsed);
173
+ }
174
+ return { runs, nextCursor: typeof body.nextCursor === "string" ? body.nextCursor : null };
175
+ }
176
+ /** Validate the `{ run }` envelope and read its columns + tokens + curated error. */
177
+ runDetail(body) {
178
+ const run = isRecord(body) ? body.run : undefined;
179
+ const base = parseRunRow(run);
180
+ if (!isRecord(run) || base === null) {
181
+ throw new CliError("The API returned an unexpected run response shape.");
182
+ }
183
+ return {
184
+ ...base,
185
+ outcomeStatus: typeof run.outcomeStatus === "string" ? run.outcomeStatus : null,
186
+ tokensIn: numOr(run.tokensIn, 0),
187
+ tokensOut: numOr(run.tokensOut, 0),
188
+ error: parseRunError(run.error),
189
+ };
190
+ }
140
191
  mintedInferenceKey(body) {
141
192
  if (isRecord(body) && typeof body.token === "string" && body.token.length > 0) {
142
193
  const apiKey = isRecord(body.apiKey) ? body.apiKey : {};
@@ -148,6 +199,81 @@ export class BoardwalkClient {
148
199
  }
149
200
  throw new CliError("The API returned an unexpected inference-key response shape.");
150
201
  }
202
+ /** Validate the `{ usage }` envelope and read the fields the CLI renders. Lenient on the newer
203
+ * per-cut fields (defaulted), so an older / self-hosted backend still produces a usable summary. */
204
+ usageSummary(body) {
205
+ if (!isRecord(body) || !isRecord(body.usage)) {
206
+ throw new CliError("The API returned an unexpected usage response shape.");
207
+ }
208
+ const u = body.usage;
209
+ const totals = isRecord(u.totals) ? u.totals : {};
210
+ const autonomy = isRecord(u.autonomy) ? u.autonomy : {};
211
+ const cache = isRecord(u.cache) ? u.cache : {};
212
+ return {
213
+ rangeDays: numOr(u.rangeDays, 0),
214
+ totals: {
215
+ runs: numOr(totals.runs, 0),
216
+ tokensIn: numOr(totals.tokensIn, 0),
217
+ tokensOut: numOr(totals.tokensOut, 0),
218
+ runtimeSeconds: numOr(totals.runtimeSeconds, 0),
219
+ },
220
+ creditCents: typeof u.creditCents === "number" ? u.creditCents : null,
221
+ autonomy: {
222
+ humanRuns: numOr(autonomy.humanRuns, 0),
223
+ automatedRuns: numOr(autonomy.automatedRuns, 0),
224
+ },
225
+ cache: {
226
+ hitRate: numOr(cache.hitRate, 0),
227
+ cachedReadTokens: numOr(cache.totalCachedRead, 0),
228
+ },
229
+ byModel: usageLines(u.byModel, "model"),
230
+ byWorkflow: usageLines(u.byWorkflowUsage, "workflowName"),
231
+ };
232
+ }
233
+ }
234
+ /** A number field, or a fallback when it's missing/non-numeric. */
235
+ function numOr(value, fallback) {
236
+ return typeof value === "number" && Number.isFinite(value) ? value : fallback;
237
+ }
238
+ /** Read a serialized run row into a `RunListItem`, or null when it lacks an id/status. Shared by the
239
+ * runs-list and single-run parsers (the latter layers tokens + error on top). */
240
+ function parseRunRow(row) {
241
+ if (!isRecord(row) || typeof row.id !== "string" || typeof row.status !== "string")
242
+ return null;
243
+ return {
244
+ id: row.id,
245
+ workflowId: typeof row.workflowId === "string" ? row.workflowId : "",
246
+ workflowName: typeof row.workflowName === "string" ? row.workflowName : null,
247
+ status: row.status,
248
+ triggerKind: typeof row.triggerKind === "string" ? row.triggerKind : null,
249
+ createdAt: numOr(row.createdAt, 0),
250
+ startedAt: typeof row.startedAt === "number" ? row.startedAt : null,
251
+ completedAt: typeof row.completedAt === "number" ? row.completedAt : null,
252
+ runtimeSeconds: numOr(row.runtimeSeconds, 0),
253
+ };
254
+ }
255
+ /** Read a run's curated `{ code, message }` error, or null when there's no usable message. */
256
+ function parseRunError(value) {
257
+ if (!isRecord(value) || typeof value.message !== "string" || value.message.length === 0) {
258
+ return null;
259
+ }
260
+ return { code: typeof value.code === "string" ? value.code : "ERROR", message: value.message };
261
+ }
262
+ /** Read a usage breakdown array into `{ label, tokens }` lines, taking the label from `labelKey`.
263
+ * Rows missing a string label or numeric `tokens` are skipped. */
264
+ function usageLines(value, labelKey) {
265
+ if (!Array.isArray(value))
266
+ return [];
267
+ const lines = [];
268
+ for (const row of value) {
269
+ if (!isRecord(row))
270
+ continue;
271
+ const label = row[labelKey];
272
+ if (typeof label !== "string" || typeof row.tokens !== "number")
273
+ continue;
274
+ lines.push({ label, tokens: row.tokens });
275
+ }
276
+ return lines;
151
277
  }
152
278
  function isWorkflowSummary(value) {
153
279
  if (!isRecord(value))
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,9 @@ export async function runCheck(opts, deps = {}) {
25
25
  log(`✓ "${manifest.name}" is valid`);
26
26
  log(` entry: ${artifact.entry}`);
27
27
  log(` triggers: ${manifest.triggers.map((t) => t.kind).join(", ")}`);
28
- if (manifest.secrets !== undefined && manifest.secrets.length > 0) {
29
- log(` secrets: ${manifest.secrets.map((s) => s.name).join(", ")}`);
28
+ const secrets = manifest.permissions?.secrets;
29
+ if (secrets !== undefined && secrets.length > 0) {
30
+ log(` secrets: ${secrets.map((s) => s.name).join(", ")}`);
30
31
  }
31
32
  log(` artifact: ${String(artifact.size)} bytes (sha256 ${artifact.digest.slice(0, 12)}…)`);
32
33
  if (assets > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,oFAAoF;AACpF,EAAE;AACF,gCAAgC;AAChC,8FAA8F;AAC9F,iGAAiG;AACjG,4FAA4F;AAC5F,iCAAiC;AACjC,qEAAqE;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAU1D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAkB,EAAE,OAAkB,EAAE;IACrE,MAAM,GAAG,GACP,IAAI,CAAC,GAAG;QACR,CAAC,CAAC,IAAY,EAAQ,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IAEL,8FAA8F;IAC9F,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAE9E,yFAAyF;IACzF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;IAE1C,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,YAAY,CAAC,CAAC;IACrC,GAAG,CAAC,eAAe,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACrC,GAAG,CAAC,eAAe,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,eAAe,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,GAAG,CAAC,eAAe,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5F,IAAI,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,eAAe,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,oFAAoF;AACpF,EAAE;AACF,gCAAgC;AAChC,8FAA8F;AAC9F,iGAAiG;AACjG,4FAA4F;AAC5F,iCAAiC;AACjC,qEAAqE;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAU1D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAkB,EAAE,OAAkB,EAAE;IACrE,MAAM,GAAG,GACP,IAAI,CAAC,GAAG;QACR,CAAC,CAAC,IAAY,EAAQ,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IAEL,8FAA8F;IAC9F,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAE9E,yFAAyF;IACzF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;IAE1C,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,YAAY,CAAC,CAAC;IACrC,GAAG,CAAC,eAAe,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACrC,GAAG,CAAC,eAAe,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,eAAe,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,GAAG,CAAC,eAAe,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5F,IAAI,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,eAAe,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC"}
@@ -40,7 +40,7 @@ const HELLO_PACKAGE_JSON = `{
40
40
  }
41
41
  }
42
42
  `;
43
- const HELLO_ENV_EXAMPLE = `# Secrets for local runs — \`boardwalk dev\` resolves meta.secrets from .env.
43
+ const HELLO_ENV_EXAMPLE = `# Secrets for local runs — \`boardwalk dev\` resolves permissions.secrets from .env.
44
44
  # Copy to .env (gitignored) and fill in real values.
45
45
  # MY_API_KEY=…
46
46
  `;
@@ -0,0 +1,26 @@
1
+ import type { CliConfig } from "../config.js";
2
+ import { type RunListItem, type RunDetail } from "../client.js";
3
+ import type { FetchLike } from "../auth/pkce.js";
4
+ export interface RunsOptions {
5
+ /** When set, show this single run's detail instead of the org list (no --org needed). */
6
+ runId?: string | undefined;
7
+ org?: string | undefined;
8
+ status?: string | undefined;
9
+ limit?: string | undefined;
10
+ json?: boolean | undefined;
11
+ token?: string | undefined;
12
+ }
13
+ export interface RunsDeps {
14
+ config: CliConfig;
15
+ fetchImpl?: FetchLike;
16
+ log?: (line: string) => void;
17
+ /** Directory to look for a `.boardwalk` project link in (defaults to the process cwd). */
18
+ cwd?: string;
19
+ /** Wall-clock used to render ages (defaults to Date.now()). */
20
+ now?: number;
21
+ }
22
+ export declare function runRuns(opts: RunsOptions, deps: RunsDeps): Promise<void>;
23
+ /** Render the runs list as an aligned plain-text table (pure — exported for tests). `now` renders ages. */
24
+ export declare function formatRuns(org: string, runs: RunListItem[], now: number): string[];
25
+ /** Render one run's detail as a label/value block (pure — exported for tests). `now` renders ages. */
26
+ export declare function formatRunDetail(run: RunDetail, now: number): string[];
@@ -0,0 +1,166 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // `boardwalk runs [runId]` — two modes:
3
+ // • no id → the org's recent runs as a compact table (GET /orgs/:slug/runs); needs an org.
4
+ // • <runId> → one run's detail (GET /runs/:id); the endpoint resolves the org, so NO --org needed.
5
+ //
6
+ // Org precedence (list mode): --org > the linked project's org (.boardwalk/project.json). Auth
7
+ // precedence matches the other network commands: --token > BOARDWALK_API_KEY env > stored login.
8
+ import { CliError } from "../errors.js";
9
+ import { CredentialStore } from "../credentials.js";
10
+ import { resolveToken } from "../auth/resolve.js";
11
+ import { BoardwalkClient } from "../client.js";
12
+ import { readLink } from "../project.js";
13
+ export async function runRuns(opts, deps) {
14
+ const log = deps.log ??
15
+ ((line) => {
16
+ console.log(line);
17
+ });
18
+ const runId = (opts.runId ?? "").trim();
19
+ const now = deps.now ?? Date.now();
20
+ const store = CredentialStore.atConfigDir(deps.config.configDir);
21
+ const token = await resolveToken({
22
+ config: deps.config,
23
+ store,
24
+ tokenFlag: opts.token,
25
+ ...(deps.fetchImpl !== undefined ? { fetchImpl: deps.fetchImpl } : {}),
26
+ });
27
+ const client = new BoardwalkClient({
28
+ baseUrl: deps.config.apiBaseUrl,
29
+ token,
30
+ ...(deps.fetchImpl !== undefined ? { fetchImpl: deps.fetchImpl } : {}),
31
+ });
32
+ // Single-run detail — the endpoint resolves the org from the run id, so no --org is needed.
33
+ if (runId.length > 0) {
34
+ const run = await client.getRunDetail(runId);
35
+ if (opts.json === true) {
36
+ log(JSON.stringify(run, null, 2));
37
+ return;
38
+ }
39
+ for (const line of formatRunDetail(run, now))
40
+ log(line);
41
+ return;
42
+ }
43
+ // Org list — needs an org (from --org or the linked project).
44
+ const org = (opts.org ?? "").trim() || readLink(deps.cwd ?? process.cwd())?.orgSlug;
45
+ if (org === undefined || org.length === 0) {
46
+ throw new CliError("No org specified.", "Pass --org <slug>, or run from a linked project (deploy/run links one).");
47
+ }
48
+ const limit = parseLimit(opts.limit);
49
+ const status = (opts.status ?? "").trim();
50
+ const result = await client.listOrgRuns(org, {
51
+ ...(status.length > 0 ? { status } : {}),
52
+ ...(limit !== undefined ? { limit } : {}),
53
+ });
54
+ if (opts.json === true) {
55
+ log(JSON.stringify(result, null, 2));
56
+ return;
57
+ }
58
+ for (const line of formatRuns(org, result.runs, now))
59
+ log(line);
60
+ if (result.nextCursor !== null) {
61
+ log("");
62
+ log(" More runs available — raise --limit or filter with --status.");
63
+ }
64
+ }
65
+ /** Parse + validate the `--limit` (a positive whole number), or undefined for the server default. */
66
+ function parseLimit(value) {
67
+ if (value === undefined)
68
+ return undefined;
69
+ const n = Number.parseInt(value, 10);
70
+ if (!Number.isInteger(n) || n <= 0) {
71
+ throw new CliError(`Invalid --limit "${value}".`, "Use a positive whole number, e.g. --limit 20.");
72
+ }
73
+ return n;
74
+ }
75
+ /** Render the runs list as an aligned plain-text table (pure — exported for tests). `now` renders ages. */
76
+ export function formatRuns(org, runs, now) {
77
+ if (runs.length === 0) {
78
+ return [`No runs for ${org} in this window.`];
79
+ }
80
+ const lines = [
81
+ `Runs · ${org} (${String(runs.length)})`,
82
+ "",
83
+ ` ${col("RUN ID", ID_W)}${col("WORKFLOW", WF_W)}${col("STATUS", STATUS_W)}${col("TRIGGER", TRIGGER_W)}${col("AGE", AGE_W)}DURATION`,
84
+ ];
85
+ for (const r of runs) {
86
+ const wf = r.workflowName ?? r.workflowId;
87
+ lines.push(` ${col(r.id, ID_W)}${col(wf, WF_W)}${col(r.status, STATUS_W)}${col(r.triggerKind ?? "—", TRIGGER_W)}${col(age(r.createdAt, now), AGE_W)}${duration(r.runtimeSeconds)}`);
88
+ }
89
+ return lines;
90
+ }
91
+ /** Render one run's detail as a label/value block (pure — exported for tests). `now` renders ages. */
92
+ export function formatRunDetail(run, now) {
93
+ const status = run.outcomeStatus === null ? run.status : `${run.status} (${run.outcomeStatus})`;
94
+ const lines = [
95
+ `Run ${run.id}`,
96
+ "",
97
+ field("Workflow", run.workflowName ?? run.workflowId),
98
+ field("Status", status),
99
+ field("Trigger", run.triggerKind ?? "—"),
100
+ field("Created", `${isoUtc(run.createdAt)} (${age(run.createdAt, now)} ago)`),
101
+ ];
102
+ if (run.startedAt !== null)
103
+ lines.push(field("Started", isoUtc(run.startedAt)));
104
+ if (run.completedAt !== null)
105
+ lines.push(field("Finished", isoUtc(run.completedAt)));
106
+ lines.push(field("Duration", duration(run.runtimeSeconds)));
107
+ const tokens = run.tokensIn + run.tokensOut;
108
+ if (tokens > 0) {
109
+ lines.push(field("Tokens", `${compact(tokens)} (${compact(run.tokensIn)} in · ${compact(run.tokensOut)} out)`));
110
+ }
111
+ if (run.error !== null)
112
+ lines.push(field("Error", `${run.error.code}: ${run.error.message}`));
113
+ return lines;
114
+ }
115
+ const ID_W = 32;
116
+ const WF_W = 24;
117
+ const STATUS_W = 12;
118
+ const TRIGGER_W = 10;
119
+ const AGE_W = 7;
120
+ /** Left-justify `s` to `width`, truncating with `…` when it's too long. */
121
+ function col(s, width) {
122
+ return (s.length > width - 1 ? `${s.slice(0, width - 2)}…` : s).padEnd(width);
123
+ }
124
+ /** A " Label value" detail row. */
125
+ function field(label, value) {
126
+ return ` ${label.padEnd(10)} ${value}`;
127
+ }
128
+ /** Epoch ms → "YYYY-MM-DD HH:MM:SS UTC". */
129
+ function isoUtc(ms) {
130
+ return `${new Date(ms).toISOString().slice(0, 19).replace("T", " ")} UTC`;
131
+ }
132
+ /** 18432 → "18.4K", 1_840_000 → "1.8M". Mirrors the usage command's compact format. */
133
+ function compact(n) {
134
+ if (Math.abs(n) < 1_000)
135
+ return n.toLocaleString("en-US");
136
+ if (Math.abs(n) < 1_000_000)
137
+ return `${(n / 1_000).toFixed(1)}K`;
138
+ if (Math.abs(n) < 1_000_000_000)
139
+ return `${(n / 1_000_000).toFixed(1)}M`;
140
+ return `${(n / 1_000_000_000).toFixed(1)}B`;
141
+ }
142
+ /** Coarse "time since" label: 45s / 12m / 3h / 5d. */
143
+ function age(ts, now) {
144
+ const s = Math.max(0, Math.round((now - ts) / 1000));
145
+ if (s < 60)
146
+ return `${String(s)}s`;
147
+ const m = Math.round(s / 60);
148
+ if (m < 60)
149
+ return `${String(m)}m`;
150
+ const h = Math.round(m / 60);
151
+ if (h < 48)
152
+ return `${String(h)}h`;
153
+ return `${String(Math.round(h / 24))}d`;
154
+ }
155
+ /** Billed runtime as "45s" / "1m 23s" / "2h 3m"; "—" while a run is still in flight (0s). */
156
+ function duration(seconds) {
157
+ if (seconds <= 0)
158
+ return "—";
159
+ if (seconds < 60)
160
+ return `${String(seconds)}s`;
161
+ const m = Math.floor(seconds / 60);
162
+ if (m < 60)
163
+ return `${String(m)}m ${String(seconds % 60)}s`;
164
+ return `${String(Math.floor(m / 60))}h ${String(m % 60)}m`;
165
+ }
166
+ //# sourceMappingURL=runs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../../src/commands/runs.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,wCAAwC;AACxC,8FAA8F;AAC9F,qGAAqG;AACrG,EAAE;AACF,+FAA+F;AAC/F,iGAAiG;AAEjG,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAoC,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAuBzC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAiB,EAAE,IAAc;IAC7D,MAAM,GAAG,GACP,IAAI,CAAC,GAAG;QACR,CAAC,CAAC,IAAY,EAAQ,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IAEL,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAEnC,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK;QACL,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvE,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;QAC/B,KAAK;QACL,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvE,CAAC,CAAC;IAEH,4FAA4F;IAC5F,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,8DAA8D;IAC9D,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC;IACpF,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,QAAQ,CAChB,mBAAmB,EACnB,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAE1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3C,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/B,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,gEAAgE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,qGAAqG;AACrG,SAAS,UAAU,CAAC,KAAyB;IAC3C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,QAAQ,CAChB,oBAAoB,KAAK,IAAI,EAC7B,+CAA+C,CAChD,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,IAAmB,EAAE,GAAW;IACtE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,eAAe,GAAG,kBAAkB,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;QACzC,EAAE;QACF,KAAK,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU;KACrI,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,UAAU,CAAC;QAC1C,KAAK,CAAC,IAAI,CACR,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CACzK,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,eAAe,CAAC,GAAc,EAAE,GAAW;IACzD,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,aAAa,GAAG,CAAC;IAChG,MAAM,KAAK,GAAG;QACZ,OAAO,GAAG,CAAC,EAAE,EAAE;QACf,EAAE;QACF,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,UAAU,CAAC;QACrD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;QACvB,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;QACxC,KAAK,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC;KAC/E,CAAC;IACF,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChF,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC;IAC5C,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CACR,KAAK,CACH,QAAQ,EACR,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CACpF,CACF,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,IAAI,GAAG,EAAE,CAAC;AAChB,MAAM,IAAI,GAAG,EAAE,CAAC;AAChB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,KAAK,GAAG,CAAC,CAAC;AAEhB,2EAA2E;AAC3E,SAAS,GAAG,CAAC,CAAS,EAAE,KAAa;IACnC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,sCAAsC;AACtC,SAAS,KAAK,CAAC,KAAa,EAAE,KAAa;IACzC,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;AAC1C,CAAC;AAED,4CAA4C;AAC5C,SAAS,MAAM,CAAC,EAAU;IACxB,OAAO,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;AAC5E,CAAC;AAED,uFAAuF;AACvF,SAAS,OAAO,CAAC,CAAS;IACxB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK;QAAE,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACjE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,aAAa;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACzE,OAAO,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC;AAED,sDAAsD;AACtD,SAAS,GAAG,CAAC,EAAU,EAAE,GAAW;IAClC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IACnC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;AAC1C,CAAC;AAED,6FAA6F;AAC7F,SAAS,QAAQ,CAAC,OAAe;IAC/B,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAC7B,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC;IAC5D,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { CliConfig } from "../config.js";
2
+ import { type UsageSummary } from "../client.js";
3
+ import type { FetchLike } from "../auth/pkce.js";
4
+ export interface UsageOptions {
5
+ org?: string | undefined;
6
+ days?: string | undefined;
7
+ json?: boolean | undefined;
8
+ token?: string | undefined;
9
+ }
10
+ export interface UsageDeps {
11
+ config: CliConfig;
12
+ fetchImpl?: FetchLike;
13
+ log?: (line: string) => void;
14
+ /** Directory to look for a `.boardwalk` project link in (defaults to the process cwd). */
15
+ cwd?: string;
16
+ }
17
+ export declare function runUsage(opts: UsageOptions, deps: UsageDeps): Promise<void>;
18
+ /** Render the usage summary as aligned plain-text lines (pure — exported for tests). */
19
+ export declare function formatUsage(org: string, u: UsageSummary): string[];
@@ -0,0 +1,98 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // `boardwalk usage [--org <slug>] [--days <n>]` — the org's runs, compute, tokens, credit, autonomy,
3
+ // and cache-hit rate over a window, plus the heaviest models + workflows. Read-only (GET /usage).
4
+ //
5
+ // Org precedence: --org > the linked project's org (.boardwalk/project.json). Auth precedence matches
6
+ // the other network commands: --token > BOARDWALK_API_KEY env > stored login.
7
+ import { CliError } from "../errors.js";
8
+ import { CredentialStore } from "../credentials.js";
9
+ import { resolveToken } from "../auth/resolve.js";
10
+ import { BoardwalkClient } from "../client.js";
11
+ import { readLink } from "../project.js";
12
+ export async function runUsage(opts, deps) {
13
+ const log = deps.log ??
14
+ ((line) => {
15
+ console.log(line);
16
+ });
17
+ const org = (opts.org ?? "").trim() || readLink(deps.cwd ?? process.cwd())?.orgSlug;
18
+ if (org === undefined || org.length === 0) {
19
+ throw new CliError("No org specified.", "Pass --org <slug>, or run from a linked project (deploy/run links one).");
20
+ }
21
+ const days = parseDays(opts.days);
22
+ const store = CredentialStore.atConfigDir(deps.config.configDir);
23
+ const token = await resolveToken({
24
+ config: deps.config,
25
+ store,
26
+ tokenFlag: opts.token,
27
+ ...(deps.fetchImpl !== undefined ? { fetchImpl: deps.fetchImpl } : {}),
28
+ });
29
+ const client = new BoardwalkClient({
30
+ baseUrl: deps.config.apiBaseUrl,
31
+ token,
32
+ ...(deps.fetchImpl !== undefined ? { fetchImpl: deps.fetchImpl } : {}),
33
+ });
34
+ const usage = await client.getUsage(org, days);
35
+ if (opts.json === true) {
36
+ log(JSON.stringify(usage, null, 2));
37
+ return;
38
+ }
39
+ for (const line of formatUsage(org, usage))
40
+ log(line);
41
+ }
42
+ /** Parse + validate the `--days` window (a positive whole number), or undefined for the server default. */
43
+ function parseDays(value) {
44
+ if (value === undefined)
45
+ return undefined;
46
+ const n = Number.parseInt(value, 10);
47
+ if (!Number.isInteger(n) || n <= 0) {
48
+ throw new CliError(`Invalid --days "${value}".`, "Use a positive whole number of days, e.g. --days 30.");
49
+ }
50
+ return n;
51
+ }
52
+ /** Render the usage summary as aligned plain-text lines (pure — exported for tests). */
53
+ export function formatUsage(org, u) {
54
+ const totalTokens = u.totals.tokensIn + u.totals.tokensOut;
55
+ const minutes = Math.round(u.totals.runtimeSeconds / 60);
56
+ const autoTotal = u.autonomy.humanRuns + u.autonomy.automatedRuns;
57
+ const autoPct = autoTotal === 0 ? 0 : Math.round((u.autonomy.automatedRuns / autoTotal) * 100);
58
+ const cachePct = Math.round(u.cache.hitRate * 100);
59
+ const lines = [
60
+ `Usage · ${org} · last ${String(u.rangeDays)} days`,
61
+ "",
62
+ row("Runs", u.totals.runs.toLocaleString("en-US")),
63
+ row("Compute", `${minutes.toLocaleString("en-US")} min`),
64
+ row("Tokens", `${compact(totalTokens)} (${compact(u.totals.tokensIn)} in · ${compact(u.totals.tokensOut)} out)`),
65
+ row("Credit", u.creditCents === null ? "—" : usd(u.creditCents)),
66
+ row("Autonomy", `${String(autoPct)}% automated`),
67
+ row("Cache hit", `${String(cachePct)}%`),
68
+ ];
69
+ appendBreakdown(lines, "Top models", u.byModel);
70
+ appendBreakdown(lines, "Top workflows (by tokens)", u.byWorkflow);
71
+ return lines;
72
+ }
73
+ /** Append a " Heading\n label value" block for the top few non-empty rows (skipped if none). */
74
+ function appendBreakdown(lines, heading, items) {
75
+ const top = items.filter((i) => i.tokens > 0).slice(0, 5);
76
+ if (top.length === 0)
77
+ return;
78
+ lines.push("", ` ${heading}`);
79
+ for (const i of top)
80
+ lines.push(` ${i.label.padEnd(34)} ${compact(i.tokens)}`);
81
+ }
82
+ function row(label, value) {
83
+ return ` ${label.padEnd(11)} ${value}`;
84
+ }
85
+ /** 18432 → "18.4K", 1_840_000 → "1.8M". Mirrors the web dashboard's compact format. */
86
+ function compact(n) {
87
+ if (Math.abs(n) < 1_000)
88
+ return n.toLocaleString("en-US");
89
+ if (Math.abs(n) < 1_000_000)
90
+ return `${(n / 1_000).toFixed(1)}K`;
91
+ if (Math.abs(n) < 1_000_000_000)
92
+ return `${(n / 1_000_000).toFixed(1)}M`;
93
+ return `${(n / 1_000_000_000).toFixed(1)}B`;
94
+ }
95
+ function usd(cents) {
96
+ return `$${(cents / 100).toFixed(2)}`;
97
+ }
98
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,8 +11,10 @@
11
11
  // boardwalk deploy <file> --org <s> Create/update a workflow from a program file.
12
12
  // boardwalk run <file> --org <s> Deploy + trigger a real run, wait for the result.
13
13
  // boardwalk cancel <runId> Cancel a queued or in-flight run.
14
+ // boardwalk usage --org <s> Show org usage: runs, compute, tokens, credit, cache.
15
+ // boardwalk runs [runId] --org <s> List recent runs, or show one run's detail.
14
16
  //
15
- // Auth precedence for deploy/run/cancel: --token > BOARDWALK_API_KEY env > stored `login` session.
17
+ // Auth precedence for deploy/run/cancel/usage: --token > BOARDWALK_API_KEY env > stored `login`.
16
18
  //
17
19
  // Every command body is lazy-imported inside its action — `boardwalk --help` must stay fast, so
18
20
  // nothing heavy (esbuild, the SDK extractor, the API client) loads until its command actually runs.
@@ -162,6 +164,37 @@ function buildProgram() {
162
164
  const { runCancel } = await import("./commands/cancel.js");
163
165
  await runCancel({ runId, token: options.token }, { config: loadConfig() });
164
166
  });
167
+ program
168
+ .command("usage")
169
+ .option("--org <slug>", "the org to report on (optional once the project is linked)")
170
+ .option("--days <n>", "window length in days (server default ~14, capped at 90)")
171
+ .option("--json", "print the raw usage summary as JSON", false)
172
+ .option("--token <token>", "use this Bearer token instead of stored/env credentials")
173
+ .description("Show your org's runs, compute, tokens, credit, autonomy, and cache-hit rate.")
174
+ .action(async (options) => {
175
+ const { runUsage } = await import("./commands/usage.js");
176
+ await runUsage({ org: options.org, days: options.days, json: options.json, token: options.token }, { config: loadConfig() });
177
+ });
178
+ program
179
+ .command("runs")
180
+ .argument("[runId]", "show this run's detail instead of the list (no --org needed)")
181
+ .option("--org <slug>", "the org to list runs for (optional once the project is linked)")
182
+ .option("--status <status>", "filter by status (e.g. running, completed, failed, cancelled)")
183
+ .option("--limit <n>", "how many runs to show (server-clamped)")
184
+ .option("--json", "print the raw response as JSON", false)
185
+ .option("--token <token>", "use this Bearer token instead of stored/env credentials")
186
+ .description("List your org's recent runs, or show one run's detail with `runs <runId>`.")
187
+ .action(async (runId, options) => {
188
+ const { runRuns } = await import("./commands/runs.js");
189
+ await runRuns({
190
+ runId,
191
+ org: options.org,
192
+ status: options.status,
193
+ limit: options.limit,
194
+ json: options.json,
195
+ token: options.token,
196
+ }, { config: loadConfig() });
197
+ });
165
198
  return program;
166
199
  }
167
200
  async function main() {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,8EAA8E;AAC9E,EAAE;AACF,YAAY;AACZ,yFAAyF;AACzF,2FAA2F;AAC3F,uFAAuF;AACvF,+EAA+E;AAC/E,kEAAkE;AAClE,kEAAkE;AAClE,sFAAsF;AACtF,0FAA0F;AAC1F,0EAA0E;AAC1E,EAAE;AACF,mGAAmG;AACnG,EAAE;AACF,gGAAgG;AAChG,oGAAoG;AAEpG,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,4FAA4F;AAC5F,0FAA0F;AAC1F,+CAA+C;AAC/C,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACzE,MAAM,OAAO,GAAY,MAAM,CAAC,OAAO,CAAC;YACxC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,OAAO,CAAC;QACxE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;AA4B9B,SAAS,YAAY;IACnB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,OAAO,EAAE,iDAAiD,EAAE,GAAG,CAAC;SACzE,MAAM,CACL,mBAAmB,EACnB,wEAAwE,EACxE,OAAO,CACR;SACA,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,OAA8B,EAAE,EAAE;QAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,QAAQ,EAAE,+CAA+C,CAAC;SACnE,MAAM,CAAC,gBAAgB,EAAE,mDAAmD,CAAC;QAC9E,uFAAuF;QACvF,4FAA4F;SAC3F,MAAM,CAAC,cAAc,EAAE,wDAAwD,CAAC;SAChF,MAAM,CAAC,WAAW,EAAE,4DAA4D,EAAE,KAAK,CAAC;SACxF,MAAM,CAAC,qBAAqB,EAAE,4DAA4D,CAAC;QAC5F,8FAA8F;QAC9F,sFAAsF;SACrF,MAAM,CAAC,cAAc,EAAE,iEAAiE,CAAC;SACzF,MAAM,CAAC,iBAAiB,EAAE,gEAAgE,CAAC;SAC3F,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAsB,EAAE,EAAE;QACrD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC;YACX,IAAI;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,GAAG;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;YACjC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,QAAQ,EAAE,+CAA+C,CAAC;SACnE,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC7B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,QAAQ,EAAE,+CAA+C,CAAC;SACnE,MAAM,CAAC,cAAc,EAAE,uDAAuD,CAAC;SAC/E,WAAW,CACV,sFAAsF,CACvF;SACA,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAwB,EAAE,EAAE;QACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,0EAA0E,CAAC;SACvF,MAAM,CAAC,eAAe,EAAE,wDAAwD,CAAC;SACjF,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC3D,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC5D,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC5D,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,QAAQ,EAAE,+CAA+C,CAAC;SACnE,MAAM,CAAC,cAAc,EAAE,8DAA8D,CAAC;SACtF,MAAM,CAAC,WAAW,EAAE,mDAAmD,EAAE,KAAK,CAAC;SAC/E,MAAM,CAAC,iBAAiB,EAAE,yDAAyD,CAAC;SACpF,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAyB,EAAE,EAAE;QACxD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC3D,MAAM,SAAS,CACb;YACE,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,EACD,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,QAAQ,EAAE,+CAA+C,CAAC;SACnE,MAAM,CAAC,cAAc,EAAE,yDAAyD,CAAC;SACjF,MAAM,CAAC,gBAAgB,EAAE,mDAAmD,CAAC;SAC7E,MAAM,CAAC,WAAW,EAAE,wDAAwD,CAAC;SAC7E,MAAM,CAAC,iBAAiB,EAAE,yDAAyD,CAAC;SACpF,WAAW,CAAC,kEAAkE,CAAC;SAC/E,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAsB,EAAE,EAAE;QACrD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACrD,MAAM,MAAM,CACV;YACE,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,KAAK;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,EACD,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;SACxC,MAAM,CAAC,iBAAiB,EAAE,yDAAyD,CAAC;SACpF,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAA2B,EAAE,EAAE;QAC3D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC3D,MAAM,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,YAAY,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boardwalk-labs/cli",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "The boardwalk CLI: author, validate, run, and deploy Boardwalk workflows.",
5
5
  "license": "MIT",
6
6
  "repository": {