@meshy-ai/cli 0.3.2 → 0.4.0

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 (56) hide show
  1. package/README.md +69 -581
  2. package/dist/cmd/auth.d.ts.map +1 -1
  3. package/dist/cmd/auth.js +14 -12
  4. package/dist/cmd/auth.js.map +1 -1
  5. package/dist/cmd/download.d.ts.map +1 -1
  6. package/dist/cmd/download.js +3 -2
  7. package/dist/cmd/download.js.map +1 -1
  8. package/dist/cmd/make.d.ts.map +1 -1
  9. package/dist/cmd/make.js +26 -10
  10. package/dist/cmd/make.js.map +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +29 -8
  13. package/dist/index.js.map +1 -1
  14. package/dist/internal/color.d.ts +1 -1
  15. package/dist/internal/color.d.ts.map +1 -1
  16. package/dist/internal/color.js +13 -1
  17. package/dist/internal/color.js.map +1 -1
  18. package/dist/internal/context.d.ts +5 -0
  19. package/dist/internal/context.d.ts.map +1 -1
  20. package/dist/internal/context.js +5 -0
  21. package/dist/internal/context.js.map +1 -1
  22. package/dist/internal/errors.d.ts.map +1 -1
  23. package/dist/internal/errors.js +8 -3
  24. package/dist/internal/errors.js.map +1 -1
  25. package/dist/internal/logger.d.ts.map +1 -1
  26. package/dist/internal/logger.js +2 -0
  27. package/dist/internal/logger.js.map +1 -1
  28. package/dist/internal/output.d.ts +7 -0
  29. package/dist/internal/output.d.ts.map +1 -1
  30. package/dist/internal/output.js +23 -2
  31. package/dist/internal/output.js.map +1 -1
  32. package/dist/internal/progress.d.ts +62 -0
  33. package/dist/internal/progress.d.ts.map +1 -0
  34. package/dist/internal/progress.js +198 -0
  35. package/dist/internal/progress.js.map +1 -0
  36. package/dist/internal/runtime.d.ts +13 -0
  37. package/dist/internal/runtime.d.ts.map +1 -1
  38. package/dist/internal/runtime.js +17 -2
  39. package/dist/internal/runtime.js.map +1 -1
  40. package/dist/internal/task-command.d.ts +0 -1
  41. package/dist/internal/task-command.d.ts.map +1 -1
  42. package/dist/internal/task-command.js +40 -10
  43. package/dist/internal/task-command.js.map +1 -1
  44. package/dist/internal/update-notifier.d.ts +2 -0
  45. package/dist/internal/update-notifier.d.ts.map +1 -1
  46. package/dist/internal/update-notifier.js +1 -1
  47. package/dist/internal/update-notifier.js.map +1 -1
  48. package/dist/internal/views.d.ts +57 -0
  49. package/dist/internal/views.d.ts.map +1 -0
  50. package/dist/internal/views.js +570 -0
  51. package/dist/internal/views.js.map +1 -0
  52. package/dist/root.d.ts.map +1 -1
  53. package/dist/root.js +3 -0
  54. package/dist/root.js.map +1 -1
  55. package/package.json +1 -1
  56. package/skills/meshy-cli/SKILL.md +6 -3
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Progress on stderr while a task runs.
3
+ *
4
+ * The mode follows where stderr goes, never a flag:
5
+ * - live: stderr is a terminal (not CI, not TERM=dumb). One line is redrawn
6
+ * in place — spinner, status, clock — and frozen as a ✓ / ✗ line
7
+ * when the step ends, so finished steps stay on screen.
8
+ * - lines: anything else (agents, CI, `2> log`). One plain line per step
9
+ * start, per status or percentage change, and per step end. Same
10
+ * text 0.3.x printed, minus the repeat on every poll.
11
+ * - off: `--format ndjson`: its consumers read events, and stderr stays quiet.
12
+ *
13
+ * Only stderr is ever written. Nothing here is a machine contract — the skill
14
+ * docs tell agents never to scrape it.
15
+ */
16
+ import { painterFor } from "./color.js";
17
+ import { formatDuration } from "./views.js";
18
+ import { CI_VARS } from "./update-notifier.js";
19
+ export function progressMode(format, stream = process.stderr, env = process.env) {
20
+ if (format === "ndjson")
21
+ return "off";
22
+ if (!stream.isTTY || env["TERM"] === "dumb" || CI_VARS.some((v) => env[v]))
23
+ return "lines";
24
+ return "live";
25
+ }
26
+ const FRAMES = "⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏";
27
+ const ERASE = "\r\u001b[2K";
28
+ /** The progress that currently owns the live line, so other stderr writers can clear it first. */
29
+ let active = null;
30
+ export function clearActiveProgress() {
31
+ active?.clear();
32
+ }
33
+ export function stopActiveProgress() {
34
+ active?.stop();
35
+ }
36
+ export function createProgress(format, opts = {}) {
37
+ const stream = opts.stream ?? process.stderr;
38
+ const env = opts.env ?? process.env;
39
+ const now = opts.now ?? (() => performance.now());
40
+ let mode = progressMode(format, stream, env);
41
+ if (opts.liveOnly && mode === "lines")
42
+ mode = "off";
43
+ const paint = painterFor(stream, env);
44
+ let step = null;
45
+ let startedAt = 0;
46
+ let status = null;
47
+ let pct = null;
48
+ let frame = 0;
49
+ let timer = null;
50
+ const elapsed = () => (now() - startedAt) / 1000;
51
+ // `||`: a pty with no size reports 0 columns. One column is kept free so
52
+ // the cursor never wraps — a wrapped line cannot be redrawn with \r.
53
+ const width = () => (stream.columns || 80) - 1;
54
+ const draw = () => {
55
+ if (!step)
56
+ return;
57
+ const cols = width();
58
+ const clock = formatDuration(elapsed()).padStart(CLOCK_WIDTH);
59
+ const right = [];
60
+ // A step with a task behind it gets a bar; a bare spinner (download, login) only a clock.
61
+ if (step.resource) {
62
+ const barWidth = cols >= 70 ? 20 : cols >= 50 ? 10 : 0;
63
+ if (barWidth)
64
+ right.push(...bar(pct ?? 0, barWidth), [" ", null]);
65
+ right.push([statusText(status, pct).padStart(STATUS_WIDTH), null], [" ", null]);
66
+ }
67
+ right.push([clock, "dim"]);
68
+ stream.write(`${ERASE}${row(paint, [[FRAMES[frame % FRAMES.length], "brand"], [" ", null]], step.label, right, cols, true)}`);
69
+ };
70
+ const halt = () => {
71
+ if (timer)
72
+ clearInterval(timer);
73
+ timer = null;
74
+ if (active === self)
75
+ active = null;
76
+ };
77
+ const self = {
78
+ mode,
79
+ start(next) {
80
+ if (mode === "off")
81
+ return;
82
+ if (step)
83
+ self.stop();
84
+ step = next;
85
+ startedAt = now();
86
+ status = null;
87
+ pct = null;
88
+ if (mode === "lines") {
89
+ stream.write(`${next.label}${next.taskId ? ` ${next.taskId}` : ""}\n`);
90
+ return;
91
+ }
92
+ active = self;
93
+ draw();
94
+ timer = setInterval(() => {
95
+ frame += 1;
96
+ draw();
97
+ }, opts.intervalMs ?? 100);
98
+ timer.unref?.();
99
+ },
100
+ tick(nextStatus, nextPct) {
101
+ if (!step)
102
+ return;
103
+ const s = nextStatus ?? null;
104
+ const p = typeof nextPct === "number" ? nextPct : null;
105
+ if (s === status && p === pct)
106
+ return;
107
+ status = s;
108
+ pct = p;
109
+ if (mode === "lines") {
110
+ if (s)
111
+ stream.write(`[${step.resource}] ${s}${p !== null ? ` ${p}%` : ""}\n`);
112
+ return;
113
+ }
114
+ draw();
115
+ },
116
+ finish(outcome, detail) {
117
+ if (!step)
118
+ return;
119
+ const took = elapsed();
120
+ const done = step;
121
+ step = null;
122
+ halt();
123
+ if (mode === "lines") {
124
+ const word = outcome === "ok" ? "ok" : detail ?? (outcome === "timeout" ? "timed out" : "failed");
125
+ stream.write(` ${word} in ${took.toFixed(0)}s\n`);
126
+ return;
127
+ }
128
+ const icon = outcome === "ok" ? ["✓", "green"] : outcome === "timeout" ? ["!", "yellow"] : ["✗", "red"];
129
+ const right = [];
130
+ if (done.taskId)
131
+ right.push([done.taskId, "dim"], [" ", null]);
132
+ if (outcome !== "ok")
133
+ right.push([detail ?? (outcome === "timeout" ? "timed out" : "failed"), outcome === "timeout" ? "yellow" : "red"], [" ", null]);
134
+ right.push([formatDuration(took).padStart(CLOCK_WIDTH), "dim"]);
135
+ // The frozen line keeps the full label and id; it may wrap, it is never redrawn.
136
+ stream.write(`${ERASE}${row(paint, [icon, [" ", null]], done.label, right, width(), false)}\n`);
137
+ },
138
+ clear() {
139
+ if (step && mode === "live")
140
+ stream.write(ERASE);
141
+ },
142
+ stop() {
143
+ if (!step)
144
+ return;
145
+ self.clear();
146
+ step = null;
147
+ halt();
148
+ },
149
+ };
150
+ return self;
151
+ }
152
+ /**
153
+ * Run `fn` under a live-only spinner (downloads). The spinner is erased, not
154
+ * frozen: the result view lists what was saved. Agents and logs see nothing new.
155
+ */
156
+ export async function withSpinner(format, label, fn) {
157
+ const progress = createProgress(format, { liveOnly: true });
158
+ progress.start({ label, resource: "" });
159
+ try {
160
+ return await fn();
161
+ }
162
+ finally {
163
+ progress.stop();
164
+ }
165
+ }
166
+ /** `[######--------]`, filled in proportion to the percentage. */
167
+ function bar(pct, width) {
168
+ const filled = Math.round((Math.min(100, Math.max(0, pct)) / 100) * width);
169
+ return [["[", "dim"], ["#".repeat(filled), "brand"], ["-".repeat(width - filled), "dim"], ["]", "dim"]];
170
+ }
171
+ /**
172
+ * `prefix label ······ right`, with `right` flush against column `cols`.
173
+ * Widths are measured on the plain text, then painted, so escapes never skew
174
+ * them. `fit` truncates the label rather than let the row exceed `cols`.
175
+ */
176
+ function row(paint, prefix, label, right, cols, fit) {
177
+ const len = (segs) => segs.reduce((n, [t]) => n + t.length, 0);
178
+ const fixed = len(prefix) + 2 + len(right);
179
+ let text = label;
180
+ if (fit && fixed + text.length > cols)
181
+ text = `${text.slice(0, Math.max(1, cols - fixed - 1))}…`;
182
+ const gap = " ".repeat(Math.max(2, cols - fixed - text.length + 2));
183
+ const draw = (segs) => segs.map(([t, style]) => (style ? paint(t, style) : t)).join("");
184
+ return `${draw(prefix)}${text}${gap}${draw(right)}`;
185
+ }
186
+ /** Fixed widths so the columns do not jiggle as the numbers change. */
187
+ const STATUS_WIDTH = 9; // "succeeded", "running", "queued", "42%"
188
+ const CLOCK_WIDTH = 7; // "59m 59s"
189
+ function statusText(status, pct) {
190
+ if (status === null)
191
+ return ""; // before the first status (and spinners that never get one): just the clock
192
+ if (status === "PENDING")
193
+ return "queued";
194
+ if (status === "IN_PROGRESS")
195
+ return pct !== null ? `${pct}%` : "running";
196
+ return status.toLowerCase().replace(/_/g, " ");
197
+ }
198
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/internal/progress.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,19 @@ export declare function buildRuntime(flags: GlobalFlags): Promise<Runtime>;
87
87
  export declare function buildLocalRuntime(flags: GlobalFlags): LocalRuntime;
88
88
  /** Pull the resolved global flags from the top-level command. */
89
89
  export declare function readGlobalFlags(cmd: Command): GlobalFlags;
90
+ /**
91
+ * `--json` wins; a typed `--format` is honoured; untyped follows the TTY.
92
+ *
93
+ * D-065: an untyped format with a typed `--output-schema v1` is JSON even on a
94
+ * TTY. No person types a schema version — that is a machine asking for the
95
+ * envelope (an agent in a pseudo-terminal, or copying a skill example). It
96
+ * leaves formatExplicit false, so `-o` keeps its own rule.
97
+ */
98
+ export declare function resolveFormat(opts: {
99
+ format?: string;
100
+ json?: boolean;
101
+ outputSchema?: string;
102
+ }, isTTY?: boolean): OutputFormat;
90
103
  /**
91
104
  * Decide which stdout data model a command uses.
92
105
  * - `legacy` commands (everything 0.2.0 shipped) default to legacy and opt
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/internal/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAc,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAKjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,iGAAiG;IACjG,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uHAAuH;IACvH,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAKD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,WAAW,CAAC,CA6EtB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,CASvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAKvE;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CAQlE;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CA6CzD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,GAAG,YAAY,CAQ5F"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/internal/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAc,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAKjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAA0C,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,iGAAiG;IACjG,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uHAAuH;IACvH,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAKD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,WAAW,CAAC,CA6EtB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,CASvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAKvE;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CAQlE;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CA6CzD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,EAChE,KAAK,GAAE,OAAuC,GAC7C,YAAY,CAId;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,GAAG,YAAY,CAQ5F"}
@@ -17,7 +17,7 @@ import { credentialsPath, readCredentials, saveProfile } from "./credentials.js"
17
17
  import { authRequiredError, UsageError } from "./errors.js";
18
18
  import { logger, setLogLevel } from "./logger.js";
19
19
  import { refreshTokens } from "./oauth.js";
20
- import { parseOutputFormat } from "./output.js";
20
+ import { defaultOutputFormat, parseOutputFormat } from "./output.js";
21
21
  /** 60-second skew window: refresh if token expires within this many ms. */
22
22
  const REFRESH_SKEW_MS = 60_000;
23
23
  /**
@@ -156,7 +156,7 @@ export function readGlobalFlags(cmd) {
156
156
  // was untyped, because a file write must stay JSON no matter what the
157
157
  // terminal would have shown.
158
158
  const formatExplicit = opts.json === true || opts.format !== undefined;
159
- const format = opts.json ? "json" : parseOutputFormat(opts.format);
159
+ const format = resolveFormat(opts);
160
160
  return {
161
161
  apiKey: opts.apiKey,
162
162
  baseUrlV1: opts.baseUrlV1,
@@ -175,6 +175,21 @@ export function readGlobalFlags(cmd) {
175
175
  logLevel: normalizeLogLevel(opts.logLevel),
176
176
  };
177
177
  }
178
+ /**
179
+ * `--json` wins; a typed `--format` is honoured; untyped follows the TTY.
180
+ *
181
+ * D-065: an untyped format with a typed `--output-schema v1` is JSON even on a
182
+ * TTY. No person types a schema version — that is a machine asking for the
183
+ * envelope (an agent in a pseudo-terminal, or copying a skill example). It
184
+ * leaves formatExplicit false, so `-o` keeps its own rule.
185
+ */
186
+ export function resolveFormat(opts, isTTY = Boolean(process.stdout.isTTY)) {
187
+ if (opts.json)
188
+ return "json";
189
+ if (opts.format === undefined)
190
+ return opts.outputSchema?.toLowerCase() === "v1" ? "json" : defaultOutputFormat(isTTY);
191
+ return parseOutputFormat(opts.format);
192
+ }
178
193
  /**
179
194
  * Decide which stdout data model a command uses.
180
195
  * - `legacy` commands (everything 0.2.0 shipped) default to legacy and opt
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/internal/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/internal/runtime.ts"],"names":[],"mappings":"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"}
@@ -149,7 +149,6 @@ export declare function credentialIdentityFor(runtime: Runtime, apiOrigin: strin
149
149
  * machine.
150
150
  */
151
151
  export declare function submitCreate(runtime: Runtime, descriptor: TaskResourceDescriptor, endpoint: TaskEndpoint, payload: Record<string, unknown>, requestedOperationId: string | null, ctx?: SubmitContext): Promise<Submitted>;
152
- /** Kept for make.ts (legacy path). */
153
152
  export declare function emitTerminalOutcome(task: Task, timedOut: boolean, elapsedSeconds: number | undefined, resourceName: string, runtime: Runtime): Promise<void>;
154
153
  export { taskResult as buildTaskResult, nextCommands as taskNextCommands };
155
154
  export type { TaskView };
@@ -1 +1 @@
1
- {"version":3,"file":"task-command.d.ts","sourceRoot":"","sources":["../../src/internal/task-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-command.d.ts","sourceRoot":"","sources":["../../src/internal/task-command.ts"],"names":[],"mappings":"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"}
@@ -34,12 +34,15 @@ import { classifyError, CliError, UsageError } from "./errors.js";
34
34
  import { normalizeMediaPayload } from "./file-input.js";
35
35
  import { logger } from "./logger.js";
36
36
  import { mergeNestedObjects, mergePayload, parseJsonFlag } from "./payload.js";
37
+ import { painterFor } from "./color.js";
38
+ import { taskCard } from "./views.js";
37
39
  import { emitEnvelope, emitStreamEvent, emit } from "./output.js";
38
40
  import { parseTimeoutSeconds, pollUntilTerminal } from "./poll.js";
41
+ import { createProgress, withSpinner } from "./progress.js";
39
42
  import { printReport } from "./report.js";
40
43
  import { errorEnvelope, okEnvelope, warning } from "./result.js";
41
44
  import { buildRuntime } from "./runtime.js";
42
- import { getUpdateNotice } from "./update-notifier.js";
45
+ import { getUpdateNotice, printHumanUpdateHint } from "./update-notifier.js";
43
46
  import { streamTask } from "./stream.js";
44
47
  import { toTaskView } from "./task-view.js";
45
48
  import { beginOperation, credentialBinding, credentialFingerprint, newOperationId, operationsRoot, payloadFingerprint, updateOperation, } from "./operation-store.js";
@@ -700,7 +703,7 @@ async function maybeDownloadV1(opened, descriptor, task, raw, submission, warnin
700
703
  if (task.status !== "SUCCEEDED")
701
704
  return { state: "not_ready", files: [], metadata_path: null };
702
705
  try {
703
- const { files, metadataPath, materialLinks } = await downloadArtifacts(task, output, descriptor.id, { root: opened.flags.workspaceRoot, signal: abortSignal() });
706
+ const { files, metadataPath, materialLinks } = await withSpinner(opened.format, "Downloading assets", () => downloadArtifacts(task, output, descriptor.id, { root: opened.flags.workspaceRoot, signal: abortSignal() }));
704
707
  if (materialLinks)
705
708
  warnings.push(...materialLinks.warnings);
706
709
  return {
@@ -748,6 +751,8 @@ async function waitAndReport(opened, runtime, descriptor, endpoint, taskId, time
748
751
  // A holder (not a bare `let`) so the callback's assignment is visible to the
749
752
  // catch block without TypeScript narrowing it away.
750
753
  const seen = { last: null, polls: 0 };
754
+ const progress = createProgress(opened.format);
755
+ progress.start({ label: `${descriptor.id} ${taskId}`, resource: descriptor.id });
751
756
  let poll;
752
757
  try {
753
758
  poll = await pollUntilTerminal(endpoint, taskId, {
@@ -758,13 +763,12 @@ async function waitAndReport(opened, runtime, descriptor, endpoint, taskId, time
758
763
  onTick: (task, raw) => {
759
764
  seen.last = { task, raw };
760
765
  seen.polls += 1;
761
- if (opened.schema === "v1" && opened.format !== "ndjson") {
762
- process.stderr.write(`[${descriptor.id}] ${task.status}${typeof task.progress === "number" ? ` ${task.progress}%` : ""}\n`);
763
- }
766
+ progress.tick(task.status, task.progress);
764
767
  },
765
768
  });
766
769
  }
767
770
  catch (err) {
771
+ progress.stop();
768
772
  if (wasInterrupted() || abortSignal().aborted) {
769
773
  throw interruptedError(descriptor, taskId, seen.last, submission, opts, opened);
770
774
  }
@@ -784,6 +788,7 @@ async function waitAndReport(opened, runtime, descriptor, endpoint, taskId, time
784
788
  const elapsed = (performance.now() - started) / 1000;
785
789
  const { task, raw, timedOut, aborted } = poll;
786
790
  const waitInfo = { timed_out: timedOut, elapsed_seconds: Number(elapsed.toFixed(2)), polls: poll.polls };
791
+ endProgress(progress, task, timedOut, aborted);
787
792
  if (aborted)
788
793
  throw interruptedError(descriptor, taskId, task ? { task, raw } : seen.last, submission, opts, opened);
789
794
  if (task === null) {
@@ -873,6 +878,8 @@ async function streamAndReport(opened, runtime, descriptor, endpoint, taskId, ti
873
878
  let sequence = 0;
874
879
  const submission = { state: "accepted", operation_id: null };
875
880
  const warnings = [];
881
+ const progress = createProgress(opened.format);
882
+ progress.start({ label: `${descriptor.id} ${taskId}`, resource: descriptor.id });
876
883
  const outcome = await streamTask(endpoint, taskId, {
877
884
  timeoutMs: timeoutSeconds * 1000,
878
885
  idleTimeoutMs: idleSeconds * 1000,
@@ -881,6 +888,7 @@ async function streamAndReport(opened, runtime, descriptor, endpoint, taskId, ti
881
888
  warnings.push(warning("unknown_sse_event", `ignored SSE event '${ev.event}'`));
882
889
  },
883
890
  onTask: async (task, raw) => {
891
+ progress.tick(task.status, task.progress);
884
892
  if (opened.schema === "v1" && ndjson) {
885
893
  sequence += 1;
886
894
  const event = {
@@ -890,11 +898,9 @@ async function streamAndReport(opened, runtime, descriptor, endpoint, taskId, ti
890
898
  };
891
899
  await emitStreamEvent(event);
892
900
  }
893
- else if (opened.schema === "v1") {
894
- process.stderr.write(`[${descriptor.id}] ${task.status}${typeof task.progress === "number" ? ` ${task.progress}%` : ""}\n`);
895
- }
896
901
  },
897
902
  });
903
+ endProgress(progress, outcome.task, outcome.reason === "timeout", outcome.reason !== "terminal" && outcome.reason !== "timeout");
898
904
  const streamInfo = { events: outcome.events, ended: outcome.reason, elapsed_seconds: Number((outcome.elapsedMs / 1000).toFixed(2)) };
899
905
  const ctx = { descriptor, taskId, task: outcome.task, raw: outcome.raw, submission, includeRaw, extra: { stream: streamInfo, task_id: taskId } };
900
906
  // Once the stream has started, every later step — saving JSON, recording the
@@ -1008,9 +1014,14 @@ function wrapStreamError(err, result, warnings) {
1008
1014
  async function emitLegacyOutcome(task, timedOut, elapsedSeconds, resourceName, runtime, mode) {
1009
1015
  const output = runtime.flags.output;
1010
1016
  const succeeded = !timedOut && task.status === "SUCCEEDED";
1017
+ const pretty = runtime.flags.format === "pretty";
1011
1018
  if (output) {
1012
1019
  if (succeeded) {
1013
- const { savedFiles, metadataPath } = await downloadArtifacts(task, output, resourceName, { root: runtime.flags.workspaceRoot, signal: abortSignal() });
1020
+ const { savedFiles, metadataPath } = await withSpinner(runtime.flags.format, "Downloading assets", () => downloadArtifacts(task, output, resourceName, { root: runtime.flags.workspaceRoot, signal: abortSignal() }));
1021
+ if (pretty) {
1022
+ printTaskCard(task, savedFiles);
1023
+ return;
1024
+ }
1014
1025
  const successReport = {
1015
1026
  status: "SUCCESS",
1016
1027
  taskId: task.id,
@@ -1038,7 +1049,10 @@ async function emitLegacyOutcome(task, timedOut, elapsedSeconds, resourceName, r
1038
1049
  const failNotice = getUpdateNotice();
1039
1050
  if (failNotice)
1040
1051
  report._notice = failNotice;
1041
- printReport(report);
1052
+ if (pretty)
1053
+ printTaskCard(task, []);
1054
+ else
1055
+ printReport(report);
1042
1056
  if (timedOut)
1043
1057
  process.exitCode = 8;
1044
1058
  else if (mode.query && !isTerminalStatus(task.status))
@@ -1062,6 +1076,22 @@ async function emitLegacyOutcome(task, timedOut, elapsedSeconds, resourceName, r
1062
1076
  process.exitCode = 1;
1063
1077
  }
1064
1078
  /** Kept for make.ts (legacy path). */
1079
+ /** The `-o` report for a person: the task card with the files it saved, the update hint on stderr. */
1080
+ function printTaskCard(task, saved) {
1081
+ process.stdout.write(`${taskCard(toTaskView(task), painterFor(process.stdout), { saved }).join("\n")}\n`);
1082
+ printHumanUpdateHint(getUpdateNotice(), process);
1083
+ }
1084
+ /** Freeze the progress line with how the wait or stream ended. */
1085
+ function endProgress(progress, task, timedOut, abandoned) {
1086
+ if (abandoned)
1087
+ progress.stop();
1088
+ else if (timedOut)
1089
+ progress.finish("timeout");
1090
+ else if (task?.status === "SUCCEEDED")
1091
+ progress.finish("ok");
1092
+ else
1093
+ progress.finish("failed", task?.status ?? "no status received");
1094
+ }
1065
1095
  export async function emitTerminalOutcome(task, timedOut, elapsedSeconds, resourceName, runtime) {
1066
1096
  await emitLegacyOutcome(task, timedOut, elapsedSeconds, resourceName, runtime, { query: false });
1067
1097
  }