Trace

loom-buildersourcetypescript
Path: loom-builder/src/trace.tsRelative: src/trace.tsSubproject: loom-builderCategory: dispatch-system
Lines: 20Bytes: 806Imports: 3Exports: 2

Content Preview

  1. import { appendFileSync, mkdirSync } from "node:fs";
  2. import { dirname } from "node:path";
  3. import type { TraceEvent } from "./types.js";
  4. /** Append-only JSONL trace — ground truth for every dispatch (H3.4 in miniature). */
  5. export class Trace {
  6. constructor(private path: string) {
  7. mkdirSync(dirname(path), { recursive: true });
  8. }
  9. append(event: { kind: TraceEvent["kind"] } & Record<string, unknown>): void {
  10. const full = { ts: new Date().toISOString(), ...event };
  11. appendFileSync(thi