@telorun/cli 0.26.1 → 0.28.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.
@@ -0,0 +1,28 @@
1
+ export interface Blob {
2
+ bytes: Uint8Array;
3
+ mediaType: string;
4
+ }
5
+ /**
6
+ * In-memory, content-addressed blob store for debug binary payloads. The debug
7
+ * serializer offloads every `Uint8Array` here and emits a small pointer in the
8
+ * event log instead of the bytes; the `DebugServer` serves them at `/blobs/:id`
9
+ * on demand. Content addressing (sha1 of the bytes) deduplicates — a redraw loop
10
+ * that emits the same image every turn stores it once.
11
+ *
12
+ * Bounded by a total-byte LRU so a long session of large payloads can't grow
13
+ * without limit; evicted blobs 404 (the event log keeps the pointer + metadata,
14
+ * so the UI still shows *what* it was). Both `put` and `get` refresh recency, so
15
+ * a blob you're actively viewing stays resident.
16
+ */
17
+ export declare class LruBlobStore {
18
+ private readonly maxBytes;
19
+ private readonly map;
20
+ private totalBytes;
21
+ constructor(maxBytes?: number);
22
+ /** Store `bytes`, returning a stable content id. Idempotent for equal bytes. */
23
+ put(bytes: Uint8Array, mediaType: string): string;
24
+ get(id: string): Blob | undefined;
25
+ private touch;
26
+ private evict;
27
+ }
28
+ //# sourceMappingURL=blob-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob-store.d.ts","sourceRoot":"","sources":["../src/blob-store.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAHrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA2B;IAC/C,OAAO,CAAC,UAAU,CAAK;gBAEM,QAAQ,SAAoB;IAEzD,gFAAgF;IAChF,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAajD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAMjC,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,KAAK;CAQd"}
@@ -0,0 +1,53 @@
1
+ import { createHash } from "crypto";
2
+ /**
3
+ * In-memory, content-addressed blob store for debug binary payloads. The debug
4
+ * serializer offloads every `Uint8Array` here and emits a small pointer in the
5
+ * event log instead of the bytes; the `DebugServer` serves them at `/blobs/:id`
6
+ * on demand. Content addressing (sha1 of the bytes) deduplicates — a redraw loop
7
+ * that emits the same image every turn stores it once.
8
+ *
9
+ * Bounded by a total-byte LRU so a long session of large payloads can't grow
10
+ * without limit; evicted blobs 404 (the event log keeps the pointer + metadata,
11
+ * so the UI still shows *what* it was). Both `put` and `get` refresh recency, so
12
+ * a blob you're actively viewing stays resident.
13
+ */
14
+ export class LruBlobStore {
15
+ maxBytes;
16
+ map = new Map(); // insertion order = LRU order
17
+ totalBytes = 0;
18
+ constructor(maxBytes = 100 * 1024 * 1024) {
19
+ this.maxBytes = maxBytes;
20
+ }
21
+ /** Store `bytes`, returning a stable content id. Idempotent for equal bytes. */
22
+ put(bytes, mediaType) {
23
+ const id = createHash("sha1").update(bytes).digest("hex").slice(0, 16);
24
+ const existing = this.map.get(id);
25
+ if (existing) {
26
+ this.touch(id, existing);
27
+ return id;
28
+ }
29
+ this.map.set(id, { bytes, mediaType });
30
+ this.totalBytes += bytes.byteLength;
31
+ this.evict();
32
+ return id;
33
+ }
34
+ get(id) {
35
+ const blob = this.map.get(id);
36
+ if (blob)
37
+ this.touch(id, blob);
38
+ return blob;
39
+ }
40
+ touch(id, blob) {
41
+ this.map.delete(id);
42
+ this.map.set(id, blob);
43
+ }
44
+ evict() {
45
+ while (this.totalBytes > this.maxBytes && this.map.size > 1) {
46
+ const oldest = this.map.keys().next().value;
47
+ const blob = this.map.get(oldest);
48
+ this.map.delete(oldest);
49
+ this.totalBytes -= blob.bytes.byteLength;
50
+ }
51
+ }
52
+ }
53
+ //# sourceMappingURL=blob-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob-store.js","sourceRoot":"","sources":["../src/blob-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAOpC;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAY;IAIM;IAHZ,GAAG,GAAG,IAAI,GAAG,EAAgB,CAAC,CAAC,8BAA8B;IACtE,UAAU,GAAG,CAAC,CAAC;IAEvB,YAA6B,WAAW,GAAG,GAAG,IAAI,GAAG,IAAI;QAA5B,aAAQ,GAAR,QAAQ,CAAoB;IAAG,CAAC;IAE7D,gFAAgF;IAChF,GAAG,CAAC,KAAiB,EAAE,SAAiB;QACtC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,EAAU,EAAE,IAAU;QAClC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IAEO,KAAK;QACX,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC3C,CAAC;IACH,CAAC;CACF"}
@@ -2,7 +2,13 @@ import type { Argv } from "yargs";
2
2
  type RunArgv = {
3
3
  path: string;
4
4
  verbose: boolean;
5
+ /** `--debug`: write the `.telo.debug.jsonl` event log. No network, no UI. */
5
6
  debug: boolean;
7
+ /** `--inspect[=[host:]port]`: start the live inspection endpoint. `undefined`
8
+ * when the flag is absent; the (possibly empty) string value otherwise. */
9
+ inspect?: string;
10
+ /** `--no-open`: with `--inspect`, don't auto-open the UI in a browser. */
11
+ open: boolean;
6
12
  snapshotOnExit: boolean;
7
13
  watch: boolean;
8
14
  /** `--no-cache-write`: read the baked cache but never persist derived entries. */
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAsIlC,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AA0GF,wBAAsB,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCtD;AA8ED,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAoD5C"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AA4IlC,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,KAAK,EAAE,OAAO,CAAC;IACf;gFAC4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AA+NF,wBAAsB,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CtD;AAuFD,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAoE5C"}
@@ -3,8 +3,14 @@ import * as dotenv from "dotenv";
3
3
  import * as fs from "fs";
4
4
  import * as path from "path";
5
5
  import { fileURLToPath } from "url";
6
- import { createLogger, formatDiagnostics } from "../logger.js";
7
6
  import { attachControllerProgress } from "../controller-progress.js";
7
+ import { DebugEventSubscriber } from "../debug-event-subscriber.js";
8
+ import { serializeEvent, serializeLog } from "../debug-serialize.js";
9
+ import { DebugServer } from "../debug-server.js";
10
+ import { teeStdio } from "../stdio-tee.js";
11
+ import { createLogger, formatDiagnostics } from "../logger.js";
12
+ import { canOpenBrowser, openBrowser } from "../open-browser.js";
13
+ import { resolveUiBundle } from "../ui-fetch.js";
8
14
  /**
9
15
  * Load .env and .env.local from the manifest's directory into process.env.
10
16
  * Priority (highest to lowest): process.env > .env.local > .env
@@ -127,12 +133,107 @@ function createWatcherSet(log, onChange) {
127
133
  },
128
134
  };
129
135
  }
136
+ const DEFAULT_INSPECT_HOST = "127.0.0.1";
137
+ const DEFAULT_INSPECT_PORT = 9230;
138
+ /** Parse `--inspect`'s value: `""` → defaults, `"9300"` → port only,
139
+ * `"host:9300"` / `"[::1]:9300"` → both, `"host"` → host only. */
140
+ function parseInspectTarget(value) {
141
+ const v = value.trim();
142
+ if (!v)
143
+ return { host: DEFAULT_INSPECT_HOST, port: DEFAULT_INSPECT_PORT };
144
+ const bracket = v.match(/^\[(.+)\]:(\d+)$/);
145
+ if (bracket)
146
+ return { host: bracket[1], port: Number(bracket[2]) };
147
+ if (/^\d+$/.test(v))
148
+ return { host: DEFAULT_INSPECT_HOST, port: Number(v) };
149
+ const idx = v.lastIndexOf(":");
150
+ if (idx >= 0) {
151
+ const portStr = v.slice(idx + 1);
152
+ return {
153
+ host: v.slice(0, idx) || DEFAULT_INSPECT_HOST,
154
+ port: /^\d+$/.test(portStr) ? Number(portStr) : DEFAULT_INSPECT_PORT,
155
+ };
156
+ }
157
+ return { host: v, port: DEFAULT_INSPECT_PORT };
158
+ }
159
+ function isLoopbackHost(host) {
160
+ return host === "127.0.0.1" || host === "::1" || host === "localhost";
161
+ }
130
162
  function registryUrlFor(argv) {
131
163
  // The CLI owns the registry-URL fallback chain: --registry-url > TELO_REGISTRY_URL >
132
164
  // RegistrySource default. The kernel itself does no env lookup — programmatic
133
165
  // callers (tests, SDK) pass registryUrl explicitly when they need one.
134
166
  return argv.registryUrl ?? process.env.TELO_REGISTRY_URL ?? "https://registry.telo.run";
135
167
  }
168
+ /**
169
+ * Stand up the enabled sinks once per CLI process: `--debug` opens the JSONL file
170
+ * sink; `--inspect` starts the live endpoint (loopback by default) and serves the
171
+ * on-demand UI. The two compose — either, both, or (when neither flag is set) the
172
+ * caller skips this entirely. A watch session re-attaches each rebuilt kernel via
173
+ * {@link DebugSession.attach} rather than recreating sinks, so the endpoint's port
174
+ * stays stable and the replay buffer + JSONL persist across reloads.
175
+ */
176
+ async function startDebugSession(argv, log, cacheRoot) {
177
+ let fileSink;
178
+ let eventLogPath;
179
+ if (argv.debug) {
180
+ // Stream next to the manifest by default (cwd fallback for URL entries).
181
+ const debugDir = resolveEntryDir(argv.path) ?? process.cwd();
182
+ eventLogPath = path.join(debugDir, ".telo.debug.jsonl");
183
+ fileSink = new DebugEventSubscriber(eventLogPath);
184
+ await fileSink.open();
185
+ log.info(`Debug log: ${eventLogPath}`);
186
+ }
187
+ let server;
188
+ if (argv.inspect !== undefined) {
189
+ const { host, port } = parseInspectTarget(argv.inspect);
190
+ if (!isLoopbackHost(host)) {
191
+ log.info(log.warn(`[inspect] binding ${host}:${port} — the inspection endpoint streams event ` +
192
+ `payloads (which can include secrets) to anyone who can reach this address.`));
193
+ }
194
+ const uiHtmlPath = (await resolveUiBundle(cacheRoot)) ?? undefined;
195
+ server = new DebugServer({ host, port, jsonlPath: eventLogPath, uiHtmlPath });
196
+ await server.start();
197
+ log.info(`Inspect: ${server.url}`);
198
+ }
199
+ // Open the UI once (markReady), after the first load resolves the app's ports —
200
+ // so the browser's discovery handshake already carries the app endpoints.
201
+ // Reloads re-attach to the same endpoint, so no new tab. Skipped on CI/headless.
202
+ let opened = false;
203
+ const openUi = () => {
204
+ if (opened || !server || !argv.open || !canOpenBrowser())
205
+ return;
206
+ opened = true;
207
+ openBrowser(server.url);
208
+ };
209
+ // Tee stdout/stderr into the same sinks so the stream carries the run's output
210
+ // (`log` frames) alongside kernel events. The terminal is untouched. Installed
211
+ // once per process; restored on stop so the wrapping never outlives the session.
212
+ const stopTee = teeStdio((stream, line) => {
213
+ const wireLine = serializeLog(stream, line);
214
+ void fileSink?.write(wireLine);
215
+ server?.push(wireLine);
216
+ });
217
+ return {
218
+ attach(kernel) {
219
+ // One `*` tap, serialized once, fanned to whichever sinks are enabled. The
220
+ // kernel knows nothing of debug/inspect — it's a plain event listener.
221
+ kernel.on("*", (event) => {
222
+ const line = serializeEvent(event.name, event.payload, event.metadata, server?.blobStore);
223
+ void fileSink?.write(line);
224
+ server?.push(line);
225
+ });
226
+ },
227
+ markReady(kernel) {
228
+ server?.setEndpoints(kernel.getResolvedPorts().map(({ port, protocol }) => ({ host: "", port, protocol })));
229
+ openUi();
230
+ },
231
+ stop() {
232
+ stopTee();
233
+ server?.stop();
234
+ },
235
+ };
236
+ }
136
237
  async function buildKernel(argv, log, cacheRoot) {
137
238
  const registryUrl = argv.registryUrl ?? process.env.TELO_REGISTRY_URL;
138
239
  // The manifest cache (populated by `telo install`) wins over the registry
@@ -152,12 +253,6 @@ async function buildKernel(argv, log, cacheRoot) {
152
253
  // (so captured logs/CI output get the lines too); otherwise gate on TTY
153
254
  // so CI and the docker service stay silent.
154
255
  attachControllerProgress(kernel, log, { force: argv.verbose });
155
- if (argv.debug) {
156
- const debugDir = path.join(process.cwd(), ".telo-debug");
157
- const eventStreamPath = path.join(debugDir, "events.jsonl");
158
- await kernel.enableEventStream(eventStreamPath);
159
- log.info(`Event stream enabled: ${eventStreamPath}`);
160
- }
161
256
  return kernel;
162
257
  }
163
258
  /**
@@ -222,8 +317,12 @@ export async function run(argv) {
222
317
  }
223
318
  // Resolve the `.telo` cache root once per invocation, then thread it.
224
319
  const cacheRoot = resolveCacheRoot(argv.path);
320
+ const debug = argv.debug || argv.inspect !== undefined
321
+ ? await startDebugSession(argv, log, cacheRoot)
322
+ : undefined;
225
323
  try {
226
324
  const kernel = await buildKernel(argv, log, cacheRoot);
325
+ debug?.attach(kernel);
227
326
  const shutdown = () => {
228
327
  // Cooperatively cancel the boot run first (so honoring targets / in-flight
229
328
  // invoke trees stop early), then unblock the idle wait for graceful exit.
@@ -238,12 +337,18 @@ export async function run(argv) {
238
337
  writeCache: argv.cacheWrite,
239
338
  });
240
339
  await persistManifestCache(argv, kernel, log, cacheRoot);
340
+ debug?.markReady(kernel);
241
341
  await kernel.start();
342
+ // start() resolves once the app is idle/torn down (incl. via the SIGINT
343
+ // handler's forceIdle). Stop the debug server so its SSE sockets + heartbeats
344
+ // don't keep the process alive past here.
345
+ debug?.stop();
242
346
  if (kernel.exitCode !== 0) {
243
347
  process.exit(kernel.exitCode);
244
348
  }
245
349
  }
246
350
  catch (error) {
351
+ debug?.stop();
247
352
  reportError(argv, error, log);
248
353
  process.exit(1);
249
354
  }
@@ -259,6 +364,11 @@ async function runWatch(argv, log) {
259
364
  loadEnvFiles(argv.path);
260
365
  // Resolve the `.telo` cache root once per invocation, then thread it.
261
366
  const cacheRoot = resolveCacheRoot(argv.path);
367
+ // One inspect endpoint for the whole watch session — reloads re-attach the
368
+ // rebuilt kernel to it (see startDebugSession), so the UI connection survives.
369
+ const debug = argv.debug || argv.inspect !== undefined
370
+ ? await startDebugSession(argv, log, cacheRoot)
371
+ : undefined;
262
372
  let stopping = false;
263
373
  let signalChange = null;
264
374
  let currentKernel = null;
@@ -270,6 +380,7 @@ async function runWatch(argv, log) {
270
380
  stopping = true;
271
381
  log.info("\n[watch] stopping...");
272
382
  watchers.cleanup();
383
+ debug?.stop();
273
384
  currentKernel?.cancel("interrupted");
274
385
  currentKernel?.forceIdle();
275
386
  signalChange?.();
@@ -281,6 +392,7 @@ async function runWatch(argv, log) {
281
392
  watchers.sync(new Set([entryFilePath(argv.path)]));
282
393
  while (!stopping) {
283
394
  const kernel = await buildKernel(argv, log, cacheRoot);
395
+ debug?.attach(kernel);
284
396
  currentKernel = kernel;
285
397
  // Hold the kernel alive across the cycle so apps without their own hold
286
398
  // (e.g. script-only manifests) stay up until a change or Ctrl+C; forceIdle()
@@ -295,6 +407,7 @@ async function runWatch(argv, log) {
295
407
  writeCache: argv.cacheWrite,
296
408
  });
297
409
  await persistManifestCache(argv, kernel, log, cacheRoot);
410
+ debug?.markReady(kernel);
298
411
  const count = watchers.sync(collectWatchFiles(kernel));
299
412
  log.info(`[watch] watching ${count} file(s)`);
300
413
  // start() resolves on its own only on boot error or one-shot completion
@@ -326,6 +439,19 @@ export function runCommand(yargs) {
326
439
  .option("registry-url", {
327
440
  type: "string",
328
441
  describe: "Base URL for the telo module registry. Overrides TELO_REGISTRY_URL.",
442
+ })
443
+ .option("debug", {
444
+ type: "boolean",
445
+ describe: "Write a .telo.debug.jsonl event log next to the manifest.",
446
+ })
447
+ .option("inspect", {
448
+ type: "string",
449
+ describe: "Start the live inspection endpoint. Optional [host:]port (default 127.0.0.1:9230).",
450
+ })
451
+ .option("open", {
452
+ type: "boolean",
453
+ default: true,
454
+ describe: "With --inspect, auto-open the UI in a browser. Use --no-open to suppress.",
329
455
  })
330
456
  .strict(false), async (argv) => {
331
457
  // Everything after the manifest path that isn't a known telo flag
@@ -334,10 +460,12 @@ export function runCommand(yargs) {
334
460
  // known telo flags.
335
461
  const knownBooleanFlags = new Set([
336
462
  "--verbose", "--debug", "--snapshot-on-exit", "--watch", "-w",
337
- "--cache-write", "--no-cache-write",
463
+ "--cache-write", "--no-cache-write", "--open", "--no-open",
338
464
  "--help", "--version",
339
465
  ]);
340
- const knownValuedFlags = new Set(["--registry-url"]);
466
+ // `--inspect` is valued ([host:]port). The valued-flag branch below skips
467
+ // the `=` form and the space form alike, so neither leaks into kernel argv.
468
+ const knownValuedFlags = new Set(["--registry-url", "--inspect"]);
341
469
  const rawArgs = process.argv;
342
470
  const pathIdx = rawArgs.indexOf(argv.path);
343
471
  const sliced = pathIdx >= 0 ? rawArgs.slice(pathIdx + 1) : [];
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The JSONL file sink for `--debug`: one wire-format event per line, appended to
3
+ * `<manifest-dir>/.telo.debug.jsonl`. A pure writer — it does not serialize (that's
4
+ * `debug-serialize.ts`, shared with the SSE server) and does not subscribe to the
5
+ * kernel (the caller owns the single `kernel.on("*")` tap and fans each
6
+ * already-serialized line to both this and the `DebugServer`).
7
+ */
8
+ export declare class DebugEventSubscriber {
9
+ private readonly filePath;
10
+ constructor(filePath: string);
11
+ /** Create the directory and truncate the file so each run starts fresh. */
12
+ open(): Promise<void>;
13
+ /** Append one pre-serialized wire line. A write failure is reported, not fatal. */
14
+ write(line: string): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=debug-event-subscriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-event-subscriber.d.ts","sourceRoot":"","sources":["../src/debug-event-subscriber.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE7C,2EAA2E;IACrE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,mFAAmF;IAC7E,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOzC"}
@@ -0,0 +1,32 @@
1
+ import * as fs from "fs/promises";
2
+ import * as path from "path";
3
+ /**
4
+ * The JSONL file sink for `--debug`: one wire-format event per line, appended to
5
+ * `<manifest-dir>/.telo.debug.jsonl`. A pure writer — it does not serialize (that's
6
+ * `debug-serialize.ts`, shared with the SSE server) and does not subscribe to the
7
+ * kernel (the caller owns the single `kernel.on("*")` tap and fans each
8
+ * already-serialized line to both this and the `DebugServer`).
9
+ */
10
+ export class DebugEventSubscriber {
11
+ filePath;
12
+ constructor(filePath) {
13
+ this.filePath = filePath;
14
+ }
15
+ /** Create the directory and truncate the file so each run starts fresh. */
16
+ async open() {
17
+ const dir = path.dirname(this.filePath);
18
+ if (dir && dir !== ".")
19
+ await fs.mkdir(dir, { recursive: true });
20
+ await fs.writeFile(this.filePath, "", "utf-8");
21
+ }
22
+ /** Append one pre-serialized wire line. A write failure is reported, not fatal. */
23
+ async write(line) {
24
+ try {
25
+ await fs.appendFile(this.filePath, line + "\n", "utf-8");
26
+ }
27
+ catch (error) {
28
+ console.error("Failed to write event to debug log:", error);
29
+ }
30
+ }
31
+ }
32
+ //# sourceMappingURL=debug-event-subscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-event-subscriber.js","sourceRoot":"","sources":["../src/debug-event-subscriber.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,2EAA2E;IAC3E,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG;YAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import type { LruBlobStore } from "./blob-store.js";
2
+ /**
3
+ * Serialize one event to a single wire-format JSON line (no trailing newline).
4
+ * When `blobStore` is given, byte buffers in the payload are offloaded to it and
5
+ * replaced by pointers; otherwise they degrade to `[Bytes n]` markers.
6
+ */
7
+ export declare function serializeEvent(event: string, payload?: unknown, metadata?: Record<string, unknown>, blobStore?: LruBlobStore): string;
8
+ /**
9
+ * Serialize one stdout/stderr line to a wire-format `log` frame (no trailing
10
+ * newline). Log lines are plain text, so unlike {@link serializeEvent} there is
11
+ * no payload to reduce — the line travels verbatim, ANSI escapes intact.
12
+ */
13
+ export declare function serializeLog(stream: "stdout" | "stderr", line: string): string;
14
+ //# sourceMappingURL=debug-serialize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-serialize.d.ts","sourceRoot":"","sources":["../src/debug-serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAsGpD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,SAAS,CAAC,EAAE,YAAY,GACvB,MAAM,CASR;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9E"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * The Node producer's implementation of the Telo debug wire format (see
3
+ * `@telorun/debug-wire` `wire.ts` / `wire-schema.json` for the language-neutral
4
+ * contract). Both debug sinks — the JSONL file and the live SSE server — encode
5
+ * through here, so a file line and a streamed frame are byte-identical.
6
+ *
7
+ * Event payloads carry live runtime values, not plain data, so a plain
8
+ * `JSON.stringify` is unusable. We walk the value ourselves (rather than via a
9
+ * `JSON.stringify` replacer) so binary is caught by `instanceof Uint8Array`
10
+ * *before* `Buffer.prototype.toJSON` would expand it into a giant number array.
11
+ *
12
+ * Encoding rules (the wire contract):
13
+ * - a byte buffer (`Uint8Array`/`Buffer`) → offloaded to the blob store, emitted
14
+ * as a pointer `{ "$blob": "blobs/<id>", "mediaType", "byteLength" }` (the
15
+ * object key it sits under is preserved; only the bytes leave the log). Without
16
+ * a store, a `"[Bytes <n>]"` marker.
17
+ * - a resolved `!ref` (a controller instance) → the `{ kind, name }` it stands for.
18
+ * - a value with `toJSON` (e.g. `Date`) → its `toJSON()` result.
19
+ * - any other live object (context, stream, client, Node handle) — and values
20
+ * JSON can't represent (functions, bigint) → a one-token `[Marker]`.
21
+ * - a reference cycle → `[Circular]`.
22
+ * - everything else → plain JSON.
23
+ */
24
+ function toWire(value, store, seen) {
25
+ if (typeof value === "bigint")
26
+ return `[BigInt ${value}]`;
27
+ if (typeof value === "function") {
28
+ return `[Function ${value.name || "anonymous"}]`;
29
+ }
30
+ if (value === null || typeof value !== "object")
31
+ return value;
32
+ // Binary first — before the cycle check and before any toJSON. Buffer is a
33
+ // Uint8Array subclass, so this catches both.
34
+ if (value instanceof Uint8Array) {
35
+ const mediaType = sniffMediaType(value);
36
+ if (store) {
37
+ const id = store.put(value, mediaType);
38
+ return { $blob: `blobs/${id}`, mediaType, byteLength: value.byteLength };
39
+ }
40
+ return `[Bytes ${value.byteLength}]`;
41
+ }
42
+ if (seen.has(value))
43
+ return "[Circular]";
44
+ seen.add(value);
45
+ if (Array.isArray(value)) {
46
+ return value.map((v) => toWire(v, store, seen));
47
+ }
48
+ const toJSON = value.toJSON;
49
+ if (typeof toJSON === "function") {
50
+ return toWire(toJSON.call(value), store, seen);
51
+ }
52
+ const proto = Object.getPrototypeOf(value);
53
+ if (proto !== Object.prototype && proto !== null) {
54
+ const ref = resourceRefOf(value);
55
+ if (ref)
56
+ return ref;
57
+ return `[${value.constructor?.name || "Object"}]`;
58
+ }
59
+ const out = {};
60
+ for (const [k, v] of Object.entries(value))
61
+ out[k] = toWire(v, store, seen);
62
+ return out;
63
+ }
64
+ /**
65
+ * If `instance` is a controller instance built from a resource manifest, return
66
+ * the `{ kind, name }` reference it stands for. Controllers don't name the
67
+ * manifest field uniformly (`HttpServerApi` calls it `manifest`, `Run.Sequence`
68
+ * calls it `resource`, …), so rather than hard-code field names we look for any
69
+ * own field holding a manifest-shaped value (`{ kind: string, metadata.name:
70
+ * string }`). Returns null when no field qualifies.
71
+ */
72
+ function resourceRefOf(instance) {
73
+ for (const v of Object.values(instance)) {
74
+ const m = v;
75
+ if (m && typeof m === "object" && typeof m.kind === "string" && typeof m.metadata?.name === "string") {
76
+ return { kind: m.kind, name: m.metadata.name };
77
+ }
78
+ }
79
+ return null;
80
+ }
81
+ /** Best-effort content sniff from magic bytes, for any file kind. Falls back to
82
+ * `application/octet-stream` so a value is still offloaded and downloadable. */
83
+ function sniffMediaType(b) {
84
+ const at = (i, ...sig) => sig.every((v, k) => b[i + k] === v);
85
+ if (b.length >= 8 && at(0, 0x89, 0x50, 0x4e, 0x47))
86
+ return "image/png";
87
+ if (b.length >= 3 && at(0, 0xff, 0xd8, 0xff))
88
+ return "image/jpeg";
89
+ if (b.length >= 6 && at(0, 0x47, 0x49, 0x46, 0x38))
90
+ return "image/gif";
91
+ if (b.length >= 12 && at(0, 0x52, 0x49, 0x46, 0x46) && at(8, 0x57, 0x45, 0x42, 0x50))
92
+ return "image/webp";
93
+ if (b.length >= 4 && at(0, 0x25, 0x50, 0x44, 0x46))
94
+ return "application/pdf";
95
+ if (b.length >= 2 && at(0, 0x1f, 0x8b))
96
+ return "application/gzip";
97
+ if (b.length >= 4 && at(0, 0x50, 0x4b) && (b[2] === 0x03 || b[2] === 0x05 || b[2] === 0x07))
98
+ return "application/zip";
99
+ if (b.length >= 4 && at(0, 0x00, 0x61, 0x73, 0x6d))
100
+ return "application/wasm";
101
+ if (b.length >= 4 && at(0, 0x49, 0x44, 0x33))
102
+ return "audio/mpeg"; // ID3 (mp3)
103
+ if (b.length >= 12 && at(4, 0x66, 0x74, 0x79, 0x70))
104
+ return "video/mp4"; // ....ftyp
105
+ return "application/octet-stream";
106
+ }
107
+ /**
108
+ * Serialize one event to a single wire-format JSON line (no trailing newline).
109
+ * When `blobStore` is given, byte buffers in the payload are offloaded to it and
110
+ * replaced by pointers; otherwise they degrade to `[Bytes n]` markers.
111
+ */
112
+ export function serializeEvent(event, payload, metadata, blobStore) {
113
+ const entry = {
114
+ kind: "event",
115
+ timestamp: new Date().toISOString(),
116
+ event,
117
+ };
118
+ if (payload !== undefined)
119
+ entry.payload = payload;
120
+ if (metadata && Object.keys(metadata).length > 0)
121
+ entry.metadata = metadata;
122
+ return JSON.stringify(toWire(entry, blobStore, new WeakSet()));
123
+ }
124
+ /**
125
+ * Serialize one stdout/stderr line to a wire-format `log` frame (no trailing
126
+ * newline). Log lines are plain text, so unlike {@link serializeEvent} there is
127
+ * no payload to reduce — the line travels verbatim, ANSI escapes intact.
128
+ */
129
+ export function serializeLog(stream, line) {
130
+ return JSON.stringify({
131
+ kind: "log",
132
+ timestamp: new Date().toISOString(),
133
+ stream,
134
+ line,
135
+ });
136
+ }
137
+ //# sourceMappingURL=debug-serialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-serialize.js","sourceRoot":"","sources":["../src/debug-serialize.ts"],"names":[],"mappings":"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"}