@nodetool-ai/cli 0.8.1 → 0.8.3

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 (213) hide show
  1. package/README.md +31 -1
  2. package/dist/.nodetool-build-stamp +1 -1
  3. package/dist/affected/affected.d.ts +11 -13
  4. package/dist/affected/affected.d.ts.map +1 -1
  5. package/dist/affected/affected.js +51 -2
  6. package/dist/affected/affected.js.map +1 -1
  7. package/dist/app-debug/app-target.d.ts +1 -1
  8. package/dist/app-debug/app-target.d.ts.map +1 -1
  9. package/dist/app-debug/harness.d.ts +3 -1
  10. package/dist/app-debug/harness.d.ts.map +1 -1
  11. package/dist/app-debug/harness.js +23 -0
  12. package/dist/app-debug/harness.js.map +1 -1
  13. package/dist/app.d.ts.map +1 -1
  14. package/dist/app.js +2 -1
  15. package/dist/app.js.map +1 -1
  16. package/dist/chat-codeact.d.ts +8 -0
  17. package/dist/chat-codeact.d.ts.map +1 -1
  18. package/dist/chat-codeact.js +59 -21
  19. package/dist/chat-codeact.js.map +1 -1
  20. package/dist/chat-context.d.ts.map +1 -1
  21. package/dist/chat-context.js +7 -2
  22. package/dist/chat-context.js.map +1 -1
  23. package/dist/child-exit.d.ts +3 -0
  24. package/dist/child-exit.d.ts.map +1 -0
  25. package/dist/child-exit.js +17 -0
  26. package/dist/child-exit.js.map +1 -0
  27. package/dist/commands/__tests__/timeline-render-audio.test.js +1 -1
  28. package/dist/commands/__tests__/timeline-render-audio.test.js.map +1 -1
  29. package/dist/commands/__tests__/timeline-render-completeness.test.d.ts +2 -0
  30. package/dist/commands/__tests__/timeline-render-completeness.test.d.ts.map +1 -0
  31. package/dist/commands/__tests__/timeline-render-completeness.test.js +117 -0
  32. package/dist/commands/__tests__/timeline-render-completeness.test.js.map +1 -0
  33. package/dist/commands/__tests__/timeline-score.test.d.ts +2 -0
  34. package/dist/commands/__tests__/timeline-score.test.d.ts.map +1 -0
  35. package/dist/commands/__tests__/timeline-score.test.js +100 -0
  36. package/dist/commands/__tests__/timeline-score.test.js.map +1 -0
  37. package/dist/commands/affected.d.ts.map +1 -1
  38. package/dist/commands/affected.js +10 -5
  39. package/dist/commands/affected.js.map +1 -1
  40. package/dist/commands/agent.d.ts.map +1 -1
  41. package/dist/commands/agent.js +12 -2
  42. package/dist/commands/agent.js.map +1 -1
  43. package/dist/commands/app.d.ts.map +1 -1
  44. package/dist/commands/app.js +29 -5
  45. package/dist/commands/app.js.map +1 -1
  46. package/dist/commands/apps.d.ts.map +1 -1
  47. package/dist/commands/apps.js +126 -32
  48. package/dist/commands/apps.js.map +1 -1
  49. package/dist/commands/debug-summary-output.d.ts +22 -0
  50. package/dist/commands/debug-summary-output.d.ts.map +1 -0
  51. package/dist/commands/debug-summary-output.js +28 -0
  52. package/dist/commands/debug-summary-output.js.map +1 -0
  53. package/dist/commands/deploy-helpers.d.ts +2 -1
  54. package/dist/commands/deploy-helpers.d.ts.map +1 -1
  55. package/dist/commands/errors.d.ts +11 -0
  56. package/dist/commands/errors.d.ts.map +1 -0
  57. package/dist/commands/errors.js +177 -0
  58. package/dist/commands/errors.js.map +1 -0
  59. package/dist/commands/eval.d.ts.map +1 -1
  60. package/dist/commands/eval.js +4 -1
  61. package/dist/commands/eval.js.map +1 -1
  62. package/dist/commands/extension.d.ts +12 -0
  63. package/dist/commands/extension.d.ts.map +1 -0
  64. package/dist/commands/extension.js +30 -0
  65. package/dist/commands/extension.js.map +1 -0
  66. package/dist/commands/game-benchmark.d.ts +34 -0
  67. package/dist/commands/game-benchmark.d.ts.map +1 -0
  68. package/dist/commands/game-benchmark.js +95 -0
  69. package/dist/commands/game-benchmark.js.map +1 -0
  70. package/dist/commands/game-smoke.d.ts +3 -0
  71. package/dist/commands/game-smoke.d.ts.map +1 -0
  72. package/dist/commands/game-smoke.js +23 -0
  73. package/dist/commands/game-smoke.js.map +1 -0
  74. package/dist/commands/game.d.ts.map +1 -1
  75. package/dist/commands/game.js +291 -20
  76. package/dist/commands/game.js.map +1 -1
  77. package/dist/commands/harness.d.ts +50 -0
  78. package/dist/commands/harness.d.ts.map +1 -1
  79. package/dist/commands/harness.js +289 -73
  80. package/dist/commands/harness.js.map +1 -1
  81. package/dist/commands/js-script.d.ts.map +1 -1
  82. package/dist/commands/js-script.js +6 -22
  83. package/dist/commands/js-script.js.map +1 -1
  84. package/dist/commands/mcp.d.ts +21 -0
  85. package/dist/commands/mcp.d.ts.map +1 -0
  86. package/dist/commands/mcp.js +166 -0
  87. package/dist/commands/mcp.js.map +1 -0
  88. package/dist/commands/output.d.ts +8 -0
  89. package/dist/commands/output.d.ts.map +1 -1
  90. package/dist/commands/output.js +18 -0
  91. package/dist/commands/output.js.map +1 -1
  92. package/dist/commands/package.d.ts.map +1 -1
  93. package/dist/commands/package.js +12 -12
  94. package/dist/commands/package.js.map +1 -1
  95. package/dist/commands/resource-read.d.ts.map +1 -1
  96. package/dist/commands/resource-read.js +5 -1
  97. package/dist/commands/resource-read.js.map +1 -1
  98. package/dist/commands/runs.d.ts +7 -0
  99. package/dist/commands/runs.d.ts.map +1 -0
  100. package/dist/commands/runs.js +302 -0
  101. package/dist/commands/runs.js.map +1 -0
  102. package/dist/commands/sketch.d.ts.map +1 -1
  103. package/dist/commands/sketch.js +6 -22
  104. package/dist/commands/sketch.js.map +1 -1
  105. package/dist/commands/timeline-render.d.ts +6 -1
  106. package/dist/commands/timeline-render.d.ts.map +1 -1
  107. package/dist/commands/timeline-render.js +15 -25
  108. package/dist/commands/timeline-render.js.map +1 -1
  109. package/dist/commands/timeline-score.d.ts +16 -0
  110. package/dist/commands/timeline-score.d.ts.map +1 -0
  111. package/dist/commands/timeline-score.js +90 -0
  112. package/dist/commands/timeline-score.js.map +1 -0
  113. package/dist/commands/timeline.d.ts.map +1 -1
  114. package/dist/commands/timeline.js +8 -22
  115. package/dist/commands/timeline.js.map +1 -1
  116. package/dist/commands/version-commands.d.ts +2 -5
  117. package/dist/commands/version-commands.d.ts.map +1 -1
  118. package/dist/commands/version-commands.js.map +1 -1
  119. package/dist/commands/worker.js +1 -1
  120. package/dist/commands/worker.js.map +1 -1
  121. package/dist/debug/server-runner.d.ts +2 -0
  122. package/dist/debug/server-runner.d.ts.map +1 -1
  123. package/dist/debug/server-runner.js +45 -4
  124. package/dist/debug/server-runner.js.map +1 -1
  125. package/dist/debug-bundle.d.ts +12 -0
  126. package/dist/debug-bundle.d.ts.map +1 -0
  127. package/dist/debug-bundle.js +23 -0
  128. package/dist/debug-bundle.js.map +1 -0
  129. package/dist/document-json.d.ts +11 -0
  130. package/dist/document-json.d.ts.map +1 -0
  131. package/dist/document-json.js +27 -0
  132. package/dist/document-json.js.map +1 -0
  133. package/dist/harness/capability-coverage.d.ts +1 -1
  134. package/dist/harness/capability-coverage.d.ts.map +1 -1
  135. package/dist/harness/capability-coverage.js +1 -1
  136. package/dist/harness/capability-coverage.js.map +1 -1
  137. package/dist/harness/capability-table.d.ts.map +1 -1
  138. package/dist/harness/capability-table.js +365 -35
  139. package/dist/harness/capability-table.js.map +1 -1
  140. package/dist/harness/changed-files.d.ts +2 -0
  141. package/dist/harness/changed-files.d.ts.map +1 -1
  142. package/dist/harness/changed-files.js +14 -0
  143. package/dist/harness/changed-files.js.map +1 -1
  144. package/dist/harness/registry.d.ts +32 -4
  145. package/dist/harness/registry.d.ts.map +1 -1
  146. package/dist/harness/registry.js +377 -33
  147. package/dist/harness/registry.js.map +1 -1
  148. package/dist/index.js +4 -3
  149. package/dist/index.js.map +1 -1
  150. package/dist/interaction-script.d.ts +23 -0
  151. package/dist/interaction-script.d.ts.map +1 -1
  152. package/dist/interaction-script.js +50 -1
  153. package/dist/interaction-script.js.map +1 -1
  154. package/dist/js-script-debug/harness.d.ts +29 -1
  155. package/dist/js-script-debug/harness.d.ts.map +1 -1
  156. package/dist/js-script-debug/harness.js +29 -72
  157. package/dist/js-script-debug/harness.js.map +1 -1
  158. package/dist/js-script-debug/target.d.ts.map +1 -1
  159. package/dist/js-script-debug/target.js +1 -24
  160. package/dist/js-script-debug/target.js.map +1 -1
  161. package/dist/local-model-interfaces.d.ts.map +1 -1
  162. package/dist/local-model-interfaces.js +1 -24
  163. package/dist/local-model-interfaces.js.map +1 -1
  164. package/dist/node-registry.d.ts +14 -0
  165. package/dist/node-registry.d.ts.map +1 -1
  166. package/dist/node-registry.js +15 -18
  167. package/dist/node-registry.js.map +1 -1
  168. package/dist/nodetool-main.d.ts +15 -0
  169. package/dist/nodetool-main.d.ts.map +1 -0
  170. package/dist/nodetool-main.js +1411 -0
  171. package/dist/nodetool-main.js.map +1 -0
  172. package/dist/nodetool.d.ts +0 -13
  173. package/dist/nodetool.d.ts.map +1 -1
  174. package/dist/nodetool.js +17 -1683
  175. package/dist/nodetool.js.map +1 -1
  176. package/dist/package-assets.d.ts +8 -0
  177. package/dist/package-assets.d.ts.map +1 -0
  178. package/dist/package-assets.js +21 -0
  179. package/dist/package-assets.js.map +1 -0
  180. package/dist/providers.d.ts +1 -1
  181. package/dist/providers.d.ts.map +1 -1
  182. package/dist/providers.js +15 -1
  183. package/dist/providers.js.map +1 -1
  184. package/dist/run-dsl.d.ts +6 -0
  185. package/dist/run-dsl.d.ts.map +1 -1
  186. package/dist/run-dsl.js +4 -1
  187. package/dist/run-dsl.js.map +1 -1
  188. package/dist/sandbox-catalog.d.ts +15 -1
  189. package/dist/sandbox-catalog.d.ts.map +1 -1
  190. package/dist/sandbox-catalog.js +58 -2
  191. package/dist/sandbox-catalog.js.map +1 -1
  192. package/dist/settings.d.ts.map +1 -1
  193. package/dist/settings.js +2 -0
  194. package/dist/settings.js.map +1 -1
  195. package/dist/sketch-debug/harness.d.ts +14 -0
  196. package/dist/sketch-debug/harness.d.ts.map +1 -1
  197. package/dist/sketch-debug/harness.js +11 -66
  198. package/dist/sketch-debug/harness.js.map +1 -1
  199. package/dist/sketch-debug/target.d.ts.map +1 -1
  200. package/dist/sketch-debug/target.js +1 -24
  201. package/dist/sketch-debug/target.js.map +1 -1
  202. package/dist/stdin.d.ts +6 -1
  203. package/dist/stdin.d.ts.map +1 -1
  204. package/dist/stdin.js +10 -1
  205. package/dist/stdin.js.map +1 -1
  206. package/dist/timeline-debug/harness.d.ts +14 -0
  207. package/dist/timeline-debug/harness.d.ts.map +1 -1
  208. package/dist/timeline-debug/harness.js +11 -66
  209. package/dist/timeline-debug/harness.js.map +1 -1
  210. package/dist/timeline-debug/target.d.ts.map +1 -1
  211. package/dist/timeline-debug/target.js +1 -24
  212. package/dist/timeline-debug/target.js.map +1 -1
  213. package/package.json +39 -35
@@ -0,0 +1,302 @@
1
+ import { setTimeout as delay } from "node:timers/promises";
2
+ import { TRPCClientError } from "@trpc/client";
3
+ import { listRuns, getRun, getRunTrace, getRunLogs, readRunUpdates } from "@nodetool-ai/execution";
4
+ import { runGetOptionsSchema, runListOptionsSchema, runTraceOptionsSchema, runLogsOptionsSchema, runUpdatesOptionsSchema, TRACE_SPAN_LIMIT, TRACE_EVENT_LIMIT } from "@nodetool-ai/protocol";
5
+ import { createApiClient } from "../api-client.js";
6
+ import { printCommandError } from "../command-errors.js";
7
+ import { asJson, printKv, printTable } from "./output.js";
8
+ const TERMINAL_DRAIN_IDLE_MS = 1_000;
9
+ const TERMINAL_DRAIN_MAX_MS = 5_000;
10
+ async function reader(apiUrl, deps) {
11
+ if (apiUrl) {
12
+ const client = createApiClient(apiUrl);
13
+ return {
14
+ list: (options) => client.runs.list.query(options), get: (id, options) => client.runs.get.query({ id, ...options }),
15
+ trace: (id, options) => client.runs.trace.query({ id, ...options }),
16
+ logs: (id, options) => client.runs.logs.query({ id, ...options }),
17
+ updates: (id, options, signal) => client.runs.updates.query({ id, ...options }, { signal })
18
+ };
19
+ }
20
+ await deps.ensureDb();
21
+ return {
22
+ list: (options) => listRuns(deps.localUserId, options), get: (id, options) => getRun(deps.localUserId, id, options),
23
+ trace: (id, options) => getRunTrace(deps.localUserId, id, options),
24
+ logs: (id, options) => getRunLogs(deps.localUserId, id, options),
25
+ updates: (id, options) => readRunUpdates(deps.localUserId, id, options)
26
+ };
27
+ }
28
+ function integer(value, option, minimum, maximum) {
29
+ const parsed = Number(value);
30
+ if (!/^\d+$/.test(value) || !Number.isSafeInteger(parsed) || parsed < minimum || parsed > maximum) {
31
+ throw new Error(`${option} must be an integer between ${minimum} and ${maximum}`);
32
+ }
33
+ return parsed;
34
+ }
35
+ function attr(attributes, key) { const value = attributes[key]; return value === undefined || value === null || value === "" ? undefined : String(value); }
36
+ function clip(text, max) { const flat = text.replace(/\s+/g, " "); return flat.length > max ? `${flat.slice(0, max - 1)}…` : flat; }
37
+ /** The most identifying attribute of a span: the node for node spans, provider/model for LLM spans. */
38
+ function spanDetail(attributes) {
39
+ const node = attr(attributes, "node.id");
40
+ const type = attr(attributes, "node.type");
41
+ if (node) {
42
+ return clip(type ? `${node} (${type})` : node, 48);
43
+ }
44
+ const provider = attr(attributes, "llm.provider");
45
+ const model = attr(attributes, "llm.model");
46
+ return provider || model ? clip([provider, model].filter(Boolean).join("/"), 48) : "";
47
+ }
48
+ function fail(error, json) { printCommandError(error, json); process.exitCode = 1; }
49
+ function common(command) {
50
+ return command.option("--api-url <url>", "Read a server instead of the local database", process.env["NODETOOL_API_URL"])
51
+ .option("--json", "JSON result; tail emits NDJSON");
52
+ }
53
+ /** Follow coalesced durable snapshots. Event frames are emitted once per stable identity. */
54
+ async function tail(reader, id, options) {
55
+ let cursor = integer(options.cursor, "--cursor", 0, Number.MAX_SAFE_INTEGER);
56
+ const limit = integer(options.limit, "--limit", 1, 500);
57
+ const interval = integer(options.pollInterval, "--poll-interval", 10, 5_000);
58
+ const timeout = options.timeout === undefined ? null : integer(options.timeout, "--timeout", 1, 86_400) * 1_000;
59
+ const controller = new AbortController();
60
+ const interrupt = () => { controller.abort("interrupt"); };
61
+ process.once("SIGINT", interrupt);
62
+ const timer = timeout === null ? null : setTimeout(() => { controller.abort("timeout"); }, timeout);
63
+ const seenSpans = new Map();
64
+ const seenEvents = new Set();
65
+ const emit = (value, text) => {
66
+ if (options.json) {
67
+ console.log(JSON.stringify(value));
68
+ }
69
+ else {
70
+ console.log(text);
71
+ }
72
+ };
73
+ let first = true;
74
+ let terminalDrainStarted = null;
75
+ let lastProgressAt = Date.now();
76
+ let dedupLimitReported = false;
77
+ const dedupLimit = () => {
78
+ if (dedupLimitReported) {
79
+ return;
80
+ }
81
+ dedupLimitReported = true;
82
+ emit({ type: "gap", cursor, reason: "dedup_limit" }, "Deduplication capacity reached. Later replay may repeat records.");
83
+ };
84
+ try {
85
+ while (!controller.signal.aborted) {
86
+ let page;
87
+ try {
88
+ page = await reader.updates(id, runUpdatesOptionsSchema.parse({ cursor, limit, include_content: options.includeContent ?? false }), controller.signal);
89
+ }
90
+ catch (error) {
91
+ if (!options.apiUrl || !(error instanceof TRPCClientError) || error.data) {
92
+ throw error;
93
+ }
94
+ emit({ type: "reconnecting", cursor }, `Connection lost. Retrying from cursor ${cursor}.`);
95
+ await delay(interval, undefined, { signal: controller.signal });
96
+ continue;
97
+ }
98
+ controller.signal.throwIfAborted();
99
+ if (first || page.records.length > 0) {
100
+ emit({ type: "resnapshot", run_id: page.run.id, after_cursor: cursor, cursor: page.cursor, resnapshot_required: page.resnapshot_required,
101
+ content_state: page.content_state, content_expired: page.content_expired, truncated: page.truncated, incomplete: page.incomplete, limited: page.limited }, `Run ${page.run.id}: latest snapshots after cursor ${cursor} (intermediate updates may be coalesced).`);
102
+ first = false;
103
+ }
104
+ for (const update of page.records) {
105
+ if ((seenSpans.get(update.record.span_id) ?? -1) >= update.cursor) {
106
+ continue;
107
+ }
108
+ if (seenSpans.has(update.record.span_id) || seenSpans.size < TRACE_SPAN_LIMIT + 1) {
109
+ seenSpans.set(update.record.span_id, update.cursor);
110
+ }
111
+ else {
112
+ dedupLimit();
113
+ }
114
+ emit({ type: "span", ...update }, `${update.cursor} ${update.record.name} ${update.record.span_id} ${update.record.status.code}`);
115
+ for (const [index, event] of update.record.events.entries()) {
116
+ const eventId = event.id ?? `${update.record.span_id}:${index}`;
117
+ const key = `${update.record.span_id}:${eventId}`;
118
+ if (seenEvents.has(key)) {
119
+ continue;
120
+ }
121
+ if (seenEvents.size < TRACE_EVENT_LIMIT) {
122
+ seenEvents.add(key);
123
+ }
124
+ else {
125
+ dedupLimit();
126
+ }
127
+ emit({ type: "event", run_id: update.run_id, span_id: update.record.span_id, cursor: update.cursor, event: { ...event, id: eventId } }, `${event.time_ms} ${event.name} ${JSON.stringify(event.attributes ?? {})}`);
128
+ }
129
+ }
130
+ if (page.cursor > cursor) {
131
+ lastProgressAt = Date.now();
132
+ }
133
+ cursor = Math.max(cursor, page.cursor);
134
+ if (page.has_more) {
135
+ continue;
136
+ }
137
+ if (page.run.status !== "running") {
138
+ const now = Date.now();
139
+ if (terminalDrainStarted === null) {
140
+ terminalDrainStarted = now;
141
+ lastProgressAt = now;
142
+ }
143
+ if (page.trace_settled || now - lastProgressAt >= TERMINAL_DRAIN_IDLE_MS || now - terminalDrainStarted >= TERMINAL_DRAIN_MAX_MS) {
144
+ if (!page.trace_settled) {
145
+ emit({ type: "gap", cursor, reason: "terminal_trace_incomplete" }, "Run ended before all final span snapshots were stored. Resume from this cursor to check later.");
146
+ }
147
+ emit({ type: "terminal", run: page.run, cursor, trace_settled: page.trace_settled }, `Run ${page.run.id} ${page.run.status}. Cursor ${cursor}.`);
148
+ return;
149
+ }
150
+ }
151
+ await delay(interval, undefined, { signal: controller.signal });
152
+ }
153
+ }
154
+ catch (error) {
155
+ if (!controller.signal.aborted) {
156
+ throw error;
157
+ }
158
+ }
159
+ finally {
160
+ process.removeListener("SIGINT", interrupt);
161
+ if (timer !== null) {
162
+ clearTimeout(timer);
163
+ }
164
+ }
165
+ if (controller.signal.reason === "interrupt") {
166
+ emit({ type: "interrupted", cursor }, `Stopped following at cursor ${cursor}.`);
167
+ process.exitCode = 130;
168
+ return;
169
+ }
170
+ throw new Error(`Timed out following run ${id} at cursor ${cursor}`);
171
+ }
172
+ export function registerRunsCommands(program, deps) {
173
+ const runs = program.command("runs").description("Inspect durable app runs, workflow jobs and chat turns");
174
+ common(runs.command("list").description("List owned runs, newest first")
175
+ .option("--kind <kind>", "app, workflow or chat").option("--app-id <id>", "App filter")
176
+ .option("--instance-id <id>", "Instance filter").option("--workflow-id <id>", "Workflow filter")
177
+ .option("--thread-id <id>", "Chat thread filter").option("--status <status>", "running, completed, failed or cancelled")
178
+ .option("--origin <origin>", "ui, agent, cli, debug or public").option("--since <iso>", "Inclusive start time")
179
+ .option("--until <iso>", "Exclusive end time").option("--limit <n>", "Results, 1–100", "20")
180
+ .option("--cursor <cursor>", "Opaque next_cursor from the previous page"))
181
+ .action(async (options) => {
182
+ try {
183
+ const query = runListOptionsSchema.parse({ kind: options.kind, app_id: options.appId, instance_id: options.instanceId,
184
+ workflow_id: options.workflowId, thread_id: options.threadId, status: options.status, origin: options.origin,
185
+ since: options.since, until: options.until, limit: integer(options.limit, "--limit", 1, 100), cursor: options.cursor });
186
+ const result = await (await reader(options.apiUrl, deps)).list(query);
187
+ if (options.json) {
188
+ asJson(result);
189
+ }
190
+ else {
191
+ printTable(result.runs, ["id", "kind", "status", "origin", "started_at", "cost_usd"]);
192
+ if (result.next_cursor) {
193
+ console.log(`next_cursor: ${result.next_cursor}`);
194
+ }
195
+ }
196
+ }
197
+ catch (error) {
198
+ fail(error, options.json);
199
+ }
200
+ });
201
+ common(runs.command("show <id>").description("Read the run and bounded diagnostic summary")
202
+ .option("--include-content", "Read capped app run inputs and outputs"))
203
+ .action(async (id, options) => {
204
+ try {
205
+ const query = runGetOptionsSchema.parse({ include_content: options.includeContent ?? false });
206
+ const result = await (await reader(options.apiUrl, deps)).get(id, query);
207
+ if (options.json) {
208
+ asJson(result);
209
+ return;
210
+ }
211
+ printKv({ id: result.run.id, kind: result.run.kind, status: result.run.status, error: result.run.error,
212
+ cost_usd: result.run.cost_usd, first_failed_span_id: result.summary.first_failed_span_id,
213
+ content_state: result.summary.content_state, truncated: result.summary.truncated, incomplete: result.summary.incomplete });
214
+ if (result.summary.failure_path.length > 0) {
215
+ printTable(result.summary.failure_path, ["span_id", "name", "status", "duration_ms", "error"]);
216
+ }
217
+ if (options.includeContent && result.run.app) {
218
+ asJson(result.run.app);
219
+ }
220
+ }
221
+ catch (error) {
222
+ fail(error, options.json);
223
+ }
224
+ });
225
+ common(runs.command("trace <id>").description("Read the span tree")
226
+ .option("--depth <n>", "Tree depth, 0–64", "4").option("--focus <span-id>", "Focus a full 16-character span ID")
227
+ .option("--name <name>", "Span name filter").option("--errors-only", "Only failed spans and their ancestors")
228
+ .option("--limit <n>", "Spans, 1–500", "100").option("--include-content", "Read capped content on the focused span"))
229
+ .action(async (id, options) => {
230
+ try {
231
+ const query = runTraceOptionsSchema.parse({ depth: integer(options.depth, "--depth", 0, 64), focus_span_id: options.focus,
232
+ name: options.name, errors_only: options.errorsOnly ?? false, limit: integer(options.limit, "--limit", 1, 500), include_content: options.includeContent ?? false });
233
+ const result = await (await reader(options.apiUrl, deps)).trace(id, query);
234
+ if (options.json) {
235
+ asJson(result);
236
+ }
237
+ else {
238
+ printTable(result.nodes.map(({ record, depth }) => ({ span_id: record.span_id, name: `${" ".repeat(depth)}${record.name}`, status: record.status.code, duration_ms: record.duration_ms, detail: spanDetail(record.attributes) })));
239
+ printKv({ content_state: result.content_state, truncated: result.truncated, incomplete: result.incomplete, limited: result.limited });
240
+ if (options.includeContent) {
241
+ asJson(result.nodes.map(({ record }) => record));
242
+ }
243
+ }
244
+ }
245
+ catch (error) {
246
+ fail(error, options.json);
247
+ }
248
+ });
249
+ common(runs.command("logs <id>").description("Read stored span events, oldest first")
250
+ .option("--level <level>", "Log level filter").option("--source <source>", "Source filter").option("--span <span-id>", "Full span ID filter")
251
+ .option("--since-ms <time>", "Inclusive event timestamp in milliseconds").option("--until-ms <time>", "Exclusive event timestamp in milliseconds")
252
+ .option("--limit <n>", "Events, 1–500", "100").option("--cursor <cursor>", "Opaque next_cursor from previous page")
253
+ .option("--include-content", "Read capped event content"))
254
+ .action(async (id, options) => {
255
+ try {
256
+ const query = runLogsOptionsSchema.parse({ level: options.level, source: options.source, span_id: options.span,
257
+ since_ms: options.sinceMs === undefined ? undefined : Number(options.sinceMs), until_ms: options.untilMs === undefined ? undefined : Number(options.untilMs),
258
+ limit: integer(options.limit, "--limit", 1, 500), cursor: options.cursor, include_content: options.includeContent ?? false });
259
+ const result = await (await reader(options.apiUrl, deps)).logs(id, query);
260
+ if (options.json) {
261
+ asJson(result);
262
+ }
263
+ else {
264
+ if (options.includeContent) {
265
+ printTable(result.logs.map((event) => ({ ...event, message: clip(attr(event.attributes, "log.message") ?? "", 80), arguments: clip(attr(event.attributes, "log.arguments") ?? "", 40) })), ["time_ms", "level", "source", "span_id", "message", "arguments"]);
266
+ }
267
+ else {
268
+ printTable(result.logs, ["time_ms", "level", "source", "span_id", "name"]);
269
+ if (result.logs.length > 0) {
270
+ console.log("Messages are excluded. Pass --include-content to read them.");
271
+ }
272
+ }
273
+ printKv({ content_state: result.content_state, truncated: result.truncated, incomplete: result.incomplete, limited: result.limited });
274
+ if (result.next_cursor) {
275
+ console.log(`next_cursor: ${result.next_cursor}`);
276
+ }
277
+ }
278
+ }
279
+ catch (error) {
280
+ fail(error, options.json);
281
+ }
282
+ });
283
+ common(runs.command("tail <id>").description("Follow durable span snapshots and events until the run ends")
284
+ .option("--cursor <n>", "Resume after a durable cursor", "0").option("--limit <n>", "Snapshots per page, 1–500", "100")
285
+ .option("--poll-interval <ms>", "Polling interval, 10–5000 ms", "250").option("--timeout <seconds>", "Stop waiting after 1–86400 seconds")
286
+ .option("--include-content", "Read capped owner content"))
287
+ .action(async (id, options) => {
288
+ try {
289
+ await tail(await reader(options.apiUrl, deps), id, options);
290
+ }
291
+ catch (error) {
292
+ if (options.json) {
293
+ console.log(JSON.stringify({ type: "error", error: error instanceof Error ? error.message : String(error) }));
294
+ process.exitCode = 1;
295
+ }
296
+ else {
297
+ fail(error);
298
+ }
299
+ }
300
+ });
301
+ }
302
+ //# sourceMappingURL=runs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../../src/commands/runs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sketch.d.ts","sourceRoot":"","sources":["../../src/commands/sketch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAuClC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqF7D"}
1
+ {"version":3,"file":"sketch.d.ts","sourceRoot":"","sources":["../../src/commands/sketch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAuClC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyF7D"}
@@ -1,4 +1,5 @@
1
1
  import { printCommandError } from "../command-errors.js";
2
+ import { printDebugSummary } from "./debug-summary-output.js";
2
3
  import { renderSketchValidation } from "./sketch-validation-output.js";
3
4
  import { registerSketchVersionsCommands } from "./sketch-versions.js";
4
5
  export { renderSketchValidation };
@@ -82,7 +83,11 @@ export function registerSketchCommands(program) {
82
83
  console.log(JSON.stringify(report, null, 2));
83
84
  }
84
85
  else {
85
- printSketchSummary(report, bundleDir);
86
+ printDebugSummary(report, bundleDir, {
87
+ label: "sketch",
88
+ meta: `${report.meta.layerCount} layer(s), ${report.meta.bindingCount} binding(s), ${report.meta.width}x${report.meta.height}`,
89
+ file: "sketch.json"
90
+ });
86
91
  }
87
92
  process.exit(report.verdict.ok ? 0 : 1);
88
93
  }
@@ -93,25 +98,4 @@ export function registerSketchCommands(program) {
93
98
  });
94
99
  registerSketchVersionsCommands(sketch);
95
100
  }
96
- function printSketchSummary(report, bundleDir) {
97
- const mark = report.verdict.ok ? "✅" : "❌";
98
- console.log(`\n${mark} ${report.verdict.headline}`);
99
- console.log(` sketch: ${report.meta.layerCount} layer(s), ${report.meta.bindingCount} binding(s), ${report.meta.width}x${report.meta.height}`);
100
- const failed = report.interactions.filter((i) => !i.ok).length;
101
- if (report.interactions.length > 0) {
102
- console.log(` session: ${report.interactions.length} step(s), ${failed} failed`);
103
- }
104
- if (report.verdict.issues.length > 0) {
105
- console.log("\nIssues:");
106
- for (const issue of report.verdict.issues)
107
- console.log(` - ${issue}`);
108
- }
109
- if (report.verdict.warnings && report.verdict.warnings.length > 0) {
110
- console.log("\nWarnings:");
111
- for (const warning of report.verdict.warnings)
112
- console.log(` - ${warning}`);
113
- }
114
- console.log(`\nDebug bundle: ${bundleDir}`);
115
- console.log(" report.md / report.json · sketch.json");
116
- }
117
101
  //# sourceMappingURL=sketch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sketch.js","sourceRoot":"","sources":["../../src/commands/sketch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sketch.js","sourceRoot":"","sources":["../../src/commands/sketch.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  * Video exports mix the timeline audio after compositing the picture.
10
10
  */
11
11
  import type { Command } from "commander";
12
+ import type { TimelineExportDiagnostic } from "@nodetool-ai/video-nodes/nodes/timeline/compositeRender";
12
13
  import type { TimelineSequenceRecord } from "../timeline-debug/target.js";
13
14
  interface TimelineRenderCliOptions {
14
15
  out?: string;
@@ -60,7 +61,7 @@ export declare function parseCoverageFrames(source: string): {
60
61
  frames: number[];
61
62
  skipped: SkippedCoverageRow[];
62
63
  };
63
- export declare function registerTimelineRenderCommand(timeline: Command, loadSequence: () => Promise<(id: string) => Promise<TimelineSequenceRecord | null>>): void;
64
+ export declare function registerTimelineRenderCommand(timeline: Command, loadSequence: () => Promise<(id: string) => Promise<TimelineSequenceRecord | null>>, renderComposited?: typeof import("@nodetool-ai/video-nodes/nodes/timeline/compositeRender").renderTimelineComposited): void;
64
65
  interface TimelineRenderResult {
65
66
  out: string;
66
67
  format: string;
@@ -72,6 +73,10 @@ interface TimelineRenderResult {
72
73
  fps: number;
73
74
  elapsedMs: number;
74
75
  skippedClips: string[];
76
+ complete: boolean;
77
+ diagnostics: TimelineExportDiagnostic[];
78
+ /** Font families a text or caption layer names that could not be resolved. */
79
+ fontsUnavailable: string[];
75
80
  /** Coverage rows `--frames coverage:<file>` could not read a frame from. */
76
81
  coverageSkipped?: SkippedCoverageRow[];
77
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"timeline-render.d.ts","sourceRoot":"","sources":["../../src/commands/timeline-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAK1E,UAAU,wBAAwB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA2B1E;AAED,sCAAsC;AACtC,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EACnD,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,MAAM,GACX,CAAC,EAAE,CAqEL;AAED,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IACnD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B,CA0DA;AAyFD,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,MAAM,OAAO,CACzB,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CACvD,GACA,IAAI,CA0DN;AAED,UAAU,oBAAoB;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACxC;AAkBD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,wBAAwB,EAC9B,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,EACpE,gBAAgB,CAAC,EAAE,cACjB,yDAAyD,EACzD,wBAAwB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAyM/B"}
1
+ {"version":3,"file":"timeline-render.d.ts","sourceRoot":"","sources":["../../src/commands/timeline-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAC;AAExG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAK1E,UAAU,wBAAwB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA2B1E;AAED,sCAAsC;AACtC,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EACnD,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,MAAM,GACX,CAAC,EAAE,CAqEL;AAED,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IACnD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B,CA0DA;AAsED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,MAAM,OAAO,CACzB,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CACvD,EACD,gBAAgB,CAAC,EAAE,cAAc,yDAAyD,EAAE,wBAAwB,GACnH,IAAI,CAoEN;AAED,UAAU,oBAAoB;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,wBAAwB,EAAE,CAAC;IACxC,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,4EAA4E;IAC5E,eAAe,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACxC;AAkBD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,wBAAwB,EAC9B,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,EACpE,gBAAgB,CAAC,EAAE,cACjB,yDAAyD,EACzD,wBAAwB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CA4M/B"}
@@ -187,26 +187,6 @@ function slugOf(name) {
187
187
  .replace(/^-+|-+$/g, "");
188
188
  return slug || "timeline";
189
189
  }
190
- /**
191
- * The shipped `package://` assets in a checkout, which the server serves from
192
- * `packages/base-nodes/nodetool/assets`. The runtime reads that directory when
193
- * `NODETOOL_PACKAGE_ASSETS_DIR` names it and otherwise asks a running server,
194
- * so without this a rendered example's stills need the server up.
195
- */
196
- async function checkoutPackageAssetsDir() {
197
- const { existsSync } = await import("node:fs");
198
- const { createRequire } = await import("node:module");
199
- const path = await import("node:path");
200
- try {
201
- const entry = createRequire(import.meta.url).resolve("@nodetool-ai/base-nodes");
202
- const dir = path.resolve(path.dirname(entry), "..", "nodetool", "assets");
203
- return existsSync(dir) ? dir : null;
204
- }
205
- catch {
206
- // Not installed beside the CLI: package assets resolve over HTTP.
207
- return null;
208
- }
209
- }
210
190
  /**
211
191
  * Resolve clip assets to local files through the local asset store. The
212
192
  * database opens on the first asset a clip needs, so a pure motion-graphics
@@ -220,7 +200,8 @@ async function localAssetResolver(workDir) {
220
200
  const { ProcessingContext } = await import("@nodetool-ai/runtime");
221
201
  const { FileStorageAdapter } = await import("@nodetool-ai/storage");
222
202
  const { AssetFiles } = await import("@nodetool-ai/video-nodes/nodes/timeline/assetFiles");
223
- const packageAssets = await checkoutPackageAssetsDir();
203
+ const { checkoutPackageAssetsDir } = await import("../package-assets.js");
204
+ const packageAssets = checkoutPackageAssetsDir();
224
205
  initDb(getDefaultDbPath());
225
206
  const context = new ProcessingContext({
226
207
  jobId: `timeline-render-${Date.now()}`,
@@ -238,7 +219,7 @@ async function localAssetResolver(workDir) {
238
219
  return (await files).path(assetId);
239
220
  };
240
221
  }
241
- export function registerTimelineRenderCommand(timeline, loadSequence) {
222
+ export function registerTimelineRenderCommand(timeline, loadSequence, renderComposited) {
242
223
  timeline
243
224
  .command("render <timeline_id_or_file>")
244
225
  .description("Render a timeline through the GPU compositor the Render Timeline node uses. Takes a timeline JSON file or a timeline_sequences row id. Writes a video with audio, stills, or a contact sheet")
@@ -253,7 +234,7 @@ export function registerTimelineRenderCommand(timeline, loadSequence) {
253
234
  .option("--json", "Print the result as JSON")
254
235
  .action(async (ref, opts) => {
255
236
  try {
256
- const result = await runTimelineRender(ref, opts, await loadSequence());
237
+ const result = await runTimelineRender(ref, opts, await loadSequence(), renderComposited);
257
238
  if (opts.json) {
258
239
  console.log(JSON.stringify(result, null, 2));
259
240
  }
@@ -265,8 +246,14 @@ export function registerTimelineRenderCommand(timeline, loadSequence) {
265
246
  if (result.skippedClips.length > 0) {
266
247
  console.log(`Skipped clips: ${result.skippedClips.join(", ")}`);
267
248
  }
249
+ for (const diagnostic of result.diagnostics) {
250
+ console.log(`Incomplete export: clip ${diagnostic.clipId} at ${diagnostic.startMs}-${diagnostic.endMs}ms (${diagnostic.reason}): ${diagnostic.detail}`);
251
+ }
252
+ if (result.fontsUnavailable.length > 0) {
253
+ console.log(`Fonts unavailable: ${result.fontsUnavailable.join(", ")}`);
254
+ }
268
255
  }
269
- process.exit(0);
256
+ process.exit(result.complete || result.stills ? 0 : 1);
270
257
  }
271
258
  catch (e) {
272
259
  printCommandError(e, opts.json);
@@ -395,7 +382,7 @@ export async function runTimelineRender(ref, opts, loadSequence, renderComposite
395
382
  : path.join(workDir, `composited.${output.extension}`);
396
383
  console.error(`Rendering ${selected} frame(s) at ${width}x${height}. The first frame compiles the GPU pipelines and can take a while.`);
397
384
  const render = renderComposited ?? renderTimelineComposited;
398
- const { skippedClips } = await render({
385
+ const { skippedClips, fontsUnavailable, complete, diagnostics } = await render({
399
386
  sequence,
400
387
  width,
401
388
  height,
@@ -455,6 +442,9 @@ export async function runTimelineRender(ref, opts, loadSequence, renderComposite
455
442
  fps,
456
443
  elapsedMs: Date.now() - started,
457
444
  skippedClips,
445
+ fontsUnavailable,
446
+ complete,
447
+ diagnostics,
458
448
  ...(coverageSkipped && { coverageSkipped })
459
449
  };
460
450
  }
@@ -1 +1 @@
1
- {"version":3,"file":"timeline-render.js","sourceRoot":"","sources":["../../src/commands/timeline-render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeline-render.js","sourceRoot":"","sources":["../../src/commands/timeline-render.ts"],"names":[],"mappings":"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"}