@wildorder/nightshift 0.17.0 → 0.18.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 (99) hide show
  1. package/README.md +269 -1
  2. package/dist/agent-runner.d.ts +41 -3
  3. package/dist/agent-runner.d.ts.map +1 -1
  4. package/dist/agent-runner.js +197 -12
  5. package/dist/agent-runner.js.map +1 -1
  6. package/dist/agent-session.d.ts +123 -0
  7. package/dist/agent-session.d.ts.map +1 -0
  8. package/dist/agent-session.js +114 -0
  9. package/dist/agent-session.js.map +1 -0
  10. package/dist/atomic-write.d.ts +18 -0
  11. package/dist/atomic-write.d.ts.map +1 -0
  12. package/dist/atomic-write.js +74 -0
  13. package/dist/atomic-write.js.map +1 -0
  14. package/dist/author.d.ts +112 -6
  15. package/dist/author.d.ts.map +1 -1
  16. package/dist/author.js +597 -137
  17. package/dist/author.js.map +1 -1
  18. package/dist/causal-analysis.d.ts +6 -2
  19. package/dist/causal-analysis.d.ts.map +1 -1
  20. package/dist/causal-analysis.js +55 -2
  21. package/dist/causal-analysis.js.map +1 -1
  22. package/dist/cli.js +22 -2
  23. package/dist/cli.js.map +1 -1
  24. package/dist/concurrency.d.ts +24 -0
  25. package/dist/concurrency.d.ts.map +1 -0
  26. package/dist/concurrency.js +28 -0
  27. package/dist/concurrency.js.map +1 -0
  28. package/dist/decider-review.d.ts +10 -3
  29. package/dist/decider-review.d.ts.map +1 -1
  30. package/dist/decider-review.js +6 -4
  31. package/dist/decider-review.js.map +1 -1
  32. package/dist/decision-ledger.d.ts +7 -0
  33. package/dist/decision-ledger.d.ts.map +1 -1
  34. package/dist/decision-ledger.js +25 -10
  35. package/dist/decision-ledger.js.map +1 -1
  36. package/dist/detect-package-manager.d.ts +10 -0
  37. package/dist/detect-package-manager.d.ts.map +1 -1
  38. package/dist/detect-package-manager.js +12 -0
  39. package/dist/detect-package-manager.js.map +1 -1
  40. package/dist/index.d.ts +3 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +3 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/manifest.d.ts +24 -5
  45. package/dist/manifest.d.ts.map +1 -1
  46. package/dist/manifest.js +254 -108
  47. package/dist/manifest.js.map +1 -1
  48. package/dist/permits.d.ts +18 -0
  49. package/dist/permits.d.ts.map +1 -1
  50. package/dist/permits.js +155 -0
  51. package/dist/permits.js.map +1 -1
  52. package/dist/preflight.d.ts +2 -2
  53. package/dist/preflight.d.ts.map +1 -1
  54. package/dist/preflight.js.map +1 -1
  55. package/dist/review-pass.d.ts +52 -10
  56. package/dist/review-pass.d.ts.map +1 -1
  57. package/dist/review-pass.js +114 -30
  58. package/dist/review-pass.js.map +1 -1
  59. package/dist/run-analytics-report.d.ts +114 -1
  60. package/dist/run-analytics-report.d.ts.map +1 -1
  61. package/dist/run-analytics-report.js +606 -14
  62. package/dist/run-analytics-report.js.map +1 -1
  63. package/dist/run-analytics.d.ts +107 -1
  64. package/dist/run-analytics.d.ts.map +1 -1
  65. package/dist/run-analytics.js +257 -25
  66. package/dist/run-analytics.js.map +1 -1
  67. package/dist/run-log.d.ts +16 -0
  68. package/dist/run-log.d.ts.map +1 -0
  69. package/dist/run-log.js +32 -0
  70. package/dist/run-log.js.map +1 -0
  71. package/dist/run-program.d.ts +203 -7
  72. package/dist/run-program.d.ts.map +1 -1
  73. package/dist/run-program.js +1526 -320
  74. package/dist/run-program.js.map +1 -1
  75. package/dist/scheduler.d.ts +75 -0
  76. package/dist/scheduler.d.ts.map +1 -0
  77. package/dist/scheduler.js +126 -0
  78. package/dist/scheduler.js.map +1 -0
  79. package/dist/verify-cache.d.ts +64 -0
  80. package/dist/verify-cache.d.ts.map +1 -0
  81. package/dist/verify-cache.js +56 -0
  82. package/dist/verify-cache.js.map +1 -0
  83. package/dist/whole-program-review.d.ts +2 -2
  84. package/dist/whole-program-review.d.ts.map +1 -1
  85. package/dist/whole-program-review.js.map +1 -1
  86. package/dist/worktree.d.ts +124 -0
  87. package/dist/worktree.d.ts.map +1 -0
  88. package/dist/worktree.js +397 -0
  89. package/dist/worktree.js.map +1 -0
  90. package/dist/write-queue.d.ts +25 -0
  91. package/dist/write-queue.d.ts.map +1 -0
  92. package/dist/write-queue.js +52 -0
  93. package/dist/write-queue.js.map +1 -0
  94. package/package.json +2 -2
  95. package/skills/plan-program/SKILL.md +37 -5
  96. package/dist/worktree-guard.d.ts +0 -40
  97. package/dist/worktree-guard.d.ts.map +0 -1
  98. package/dist/worktree-guard.js +0 -91
  99. package/dist/worktree-guard.js.map +0 -1
@@ -1,7 +1,8 @@
1
1
  import { randomBytes } from "node:crypto";
2
- import { appendFile, mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
2
+ import { appendFile, mkdir, readFile } from "node:fs/promises";
3
3
  import { dirname, join, resolve } from "node:path";
4
4
  import { z } from "zod";
5
+ import { atomicWriteFile } from "./atomic-write.js";
5
6
  /**
6
7
  * The versioned, provider-neutral run-observation contract (WS-01). This
7
8
  * module defines the schema, the stage-to-bucket mapping, the injectable
@@ -64,6 +65,8 @@ export const STAGE_BUCKET = {
64
65
  "analytics-persist": "git-and-persistence",
65
66
  "git-diff": "git-and-persistence",
66
67
  "git-commit": "git-and-persistence",
68
+ "worktree-setup": "git-and-persistence",
69
+ integration: "git-and-persistence",
67
70
  "whole-program-review": "whole-program-review",
68
71
  "as-built-snapshot": "whole-program-review",
69
72
  "report-assembly": "reporting",
@@ -88,6 +91,47 @@ export const KNOWN_OUTCOMES = [
88
91
  "skipped",
89
92
  "interrupted",
90
93
  ];
94
+ /**
95
+ * The fixed scheduling-observation vocabulary (WS-01 SC-10): a workstream
96
+ * becomes ready, is scheduled, or waits, and why. `workstream-ready` and
97
+ * `workstream-scheduled` are instants, emitted at most once per workstream
98
+ * per run; `workstream-waiting` is emitted once per (workstream, cause)
99
+ * pair, when the wait ends, carrying `value` = milliseconds waited. No
100
+ * emitter runs yet in this workstream — WS-04 is the first caller — but the
101
+ * vocabulary, the schema support, and the typed emitters below are final.
102
+ */
103
+ export const SCHEDULING_POINT_KINDS = [
104
+ "workstream-ready",
105
+ "workstream-scheduled",
106
+ "workstream-waiting",
107
+ ];
108
+ /** Open vocabulary, exactly like KNOWN_OUTCOMES: documentation and a lint
109
+ * target, never a gate. A future wait cause is not a schema change. */
110
+ export const KNOWN_WAIT_CAUSES = [
111
+ "dependency",
112
+ "concurrency-cap",
113
+ "integration-mutex",
114
+ /**
115
+ * WS-05: a workstream whose dependencies had all integrated but whose own
116
+ * spec was still being authored. Measured on the build item, from the
117
+ * latest settle of any roster dependency's build item (or the scheduler's
118
+ * start, for a root workstream) to `workstream-ready`. Pre-`ready`, like
119
+ * `dependency`; distinguishes a run that was authoring-bound from one that
120
+ * was dependency-bound, which the critical path (WS-06) needs to tell
121
+ * apart.
122
+ */
123
+ "spec-pending",
124
+ /**
125
+ * WS-05: the authoring half of the shared `--max-parallel` budget,
126
+ * measured on the author item (admissible to launched) rather than the
127
+ * build item — the only wait cause that answers "did the cap delay the
128
+ * *spec*?" A root workstream can accrue this with no `concurrency-cap`
129
+ * point at all, since its build item may never even queue. Nests inside
130
+ * `spec-pending`, never summed with it (see the wait-cause table in
131
+ * `docs/run-analytics.md`).
132
+ */
133
+ "author-concurrency-cap",
134
+ ];
91
135
  /** The only evidence locality WS-01 defines: a build-logs reference resolves only on the machine that ran. */
92
136
  export const evidenceReferenceSchema = z.object({
93
137
  kind: z.enum(["transcript", "ledger-event", "commit", "diagnosis"]),
@@ -113,6 +157,8 @@ export const dimensionsSchema = z.object({
113
157
  verifyCommand: z.string().optional(),
114
158
  outcome: z.string().optional(),
115
159
  evidence: z.array(evidenceReferenceSchema).optional(),
160
+ /** Present only on a `workstream-waiting` point (open vocabulary; see {@link KNOWN_WAIT_CAUSES}). */
161
+ waitCause: z.string().optional(),
116
162
  });
117
163
  const partialDimensionsSchema = dimensionsSchema.partial();
118
164
  /**
@@ -216,6 +262,92 @@ export const runAnalyticsSchema = z
216
262
  });
217
263
  }
218
264
  });
265
+ const spanById = new Map(artifact.spans.map((span) => [span.id, span]));
266
+ // Cycle detection over the raw `parentId` graph, deliberately independent
267
+ // of `dimensions.workstream`. A walk that only recurses while resolving
268
+ // *effective* ownership (below) stops at the first span in the chain
269
+ // that names its own workstream — so an a<->b cycle where both spans
270
+ // explicitly name the same workstream would never be walked far enough
271
+ // to be noticed (see WS-01 test-critique). This pass never looks at
272
+ // dimensions: it only asks whether following `parentId` from a span
273
+ // returns to a span already on the current path, and is memoized via
274
+ // `resolved` so no span's chain is walked more than once overall.
275
+ const cyclicSpanIds = new Set();
276
+ const resolved = new Set();
277
+ for (const span of artifact.spans) {
278
+ if (resolved.has(span.id))
279
+ continue;
280
+ const path = [];
281
+ let currentId = span.id;
282
+ while (currentId !== undefined && spanById.has(currentId) && !resolved.has(currentId)) {
283
+ const seenAt = path.indexOf(currentId);
284
+ if (seenAt !== -1) {
285
+ for (const id of path.slice(seenAt))
286
+ cyclicSpanIds.add(id);
287
+ break;
288
+ }
289
+ path.push(currentId);
290
+ currentId = spanById.get(currentId)?.parentId;
291
+ }
292
+ for (const id of path)
293
+ resolved.add(id);
294
+ }
295
+ artifact.spans.forEach((span, index) => {
296
+ if (cyclicSpanIds.has(span.id)) {
297
+ ctx.addIssue({
298
+ code: z.ZodIssueCode.custom,
299
+ message: `span "${span.id}" is part of a parentId cycle`,
300
+ path: ["spans", index, "parentId"],
301
+ });
302
+ }
303
+ });
304
+ // The effective-workstream rule (WS-01 §3.3, shared clause of SC-09): a
305
+ // span whose own `dimensions.workstream` is defined and whose nearest
306
+ // ancestor with a *defined* workstream names a *different* one is
307
+ // invalid — closed over an unattributed intermediary too, so a
308
+ // WS-01 → unattributed → WS-02 chain is rejected, not just a direct
309
+ // WS-01 → WS-02 one. Cycle safety is handled entirely by the pass above;
310
+ // any span not in `cyclicSpanIds` has a finite, acyclic parent chain, so
311
+ // this recursion always terminates.
312
+ const effectiveCache = new Map();
313
+ const effectiveWorkstreamOf = (id) => {
314
+ if (effectiveCache.has(id))
315
+ return effectiveCache.get(id);
316
+ if (cyclicSpanIds.has(id)) {
317
+ effectiveCache.set(id, undefined);
318
+ return undefined;
319
+ }
320
+ const span = spanById.get(id);
321
+ if (span === undefined)
322
+ return undefined;
323
+ if (span.dimensions.workstream !== undefined) {
324
+ effectiveCache.set(id, span.dimensions.workstream);
325
+ return span.dimensions.workstream;
326
+ }
327
+ if (span.parentId === undefined || !spanById.has(span.parentId)) {
328
+ effectiveCache.set(id, undefined);
329
+ return undefined;
330
+ }
331
+ const parentEffective = effectiveWorkstreamOf(span.parentId);
332
+ effectiveCache.set(id, parentEffective);
333
+ return parentEffective;
334
+ };
335
+ artifact.spans.forEach((span, index) => {
336
+ if (span.parentId === undefined || !ids.has(span.parentId) || cyclicSpanIds.has(span.id)) {
337
+ return;
338
+ }
339
+ const parentEffective = effectiveWorkstreamOf(span.parentId);
340
+ if (span.dimensions.workstream !== undefined &&
341
+ parentEffective !== undefined &&
342
+ parentEffective !== span.dimensions.workstream) {
343
+ ctx.addIssue({
344
+ code: z.ZodIssueCode.custom,
345
+ message: `span "${span.id}" (workstream "${span.dimensions.workstream}") is nested ` +
346
+ `under a span whose effective workstream is "${parentEffective}"`,
347
+ path: ["spans", index, "dimensions", "workstream"],
348
+ });
349
+ }
350
+ });
219
351
  });
220
352
  /** Mirrors `runReportPath` — the one canonical location for a program's analytics artifact. */
221
353
  export function runAnalyticsPath(root, programId) {
@@ -228,26 +360,6 @@ function runAnalyticsSidecarPath(root, programId) {
228
360
  function randomId() {
229
361
  return randomBytes(8).toString("hex");
230
362
  }
231
- /**
232
- * Write-temp-then-rename in the same directory as the target. Same-directory
233
- * rename is atomic on POSIX and, via libuv's `MOVEFILE_REPLACE_EXISTING`,
234
- * replaces atomically on Windows too — a crash mid-write can never leave a
235
- * half-written artifact; a reader sees either the old file or the new one.
236
- */
237
- async function atomicWriteFile(path, contents) {
238
- await mkdir(dirname(path), { recursive: true });
239
- const tmp = join(dirname(path), `.${randomId()}.tmp-${randomId()}`);
240
- await writeFile(tmp, contents, "utf8");
241
- try {
242
- await rename(tmp, path);
243
- }
244
- catch (error) {
245
- // A failed rename must never leave an orphaned temp file behind for a
246
- // later `docs/programs` commit to sweep up as an untracked artifact.
247
- await rm(tmp, { force: true }).catch(() => undefined);
248
- throw error;
249
- }
250
- }
251
363
  /**
252
364
  * Reads any prior finalized artifact for `programId` purely to source
253
365
  * `parentRunId` — a plain read with no durable effect, safe before the
@@ -276,6 +388,8 @@ export async function readPriorRunId(root, programId) {
276
388
  */
277
389
  export class RunRecorder {
278
390
  runId;
391
+ /** `RunRecorder` is a degenerate, unscoped `SpanScope` — always `undefined`; see the interface doc comment. */
392
+ workstream = undefined;
279
393
  clock;
280
394
  root;
281
395
  programId;
@@ -290,6 +404,13 @@ export class RunRecorder {
290
404
  points = [];
291
405
  openStack = [];
292
406
  sidecarQueue = Promise.resolve();
407
+ // Metadata for every span ever opened (open or closed), keyed by id — the
408
+ // effective-workstream guard (§3.3) needs to walk a parent chain even
409
+ // after an ancestor has closed. `effectiveWorkstream` is computed and
410
+ // cached once, at open time, from the span's own dimensions and its
411
+ // resolved parent's stored value — a span's parent never changes after
412
+ // it is opened, so the cached value cannot go stale.
413
+ spanMeta = new Map();
293
414
  constructor(opts) {
294
415
  this.clock = opts.clock;
295
416
  this.root = opts.root;
@@ -394,7 +515,7 @@ export class RunRecorder {
394
515
  this.diagnose(`analytics artifact failed validation and was not written: ${parsed.error.message}`);
395
516
  return;
396
517
  }
397
- await atomicWriteFile(runAnalyticsPath(this.root, this.programId), `${JSON.stringify(parsed.data, null, 2)}\n`);
518
+ await atomicWriteFile(runAnalyticsPath(this.root, this.programId), `${JSON.stringify(parsed.data, null, 2)}\n`, { tempDir: join(resolve(this.root), "build-logs", this.programId, "tmp") });
398
519
  }
399
520
  catch (error) {
400
521
  this.diagnose(`analytics finalize failed: ${error.message}`);
@@ -422,11 +543,49 @@ export class RunRecorder {
422
543
  elapsedMs() {
423
544
  return this.clock.monotonic() - this.monotonicAnchorMs;
424
545
  }
546
+ /**
547
+ * Resolves the parent for a new span, explicit or implicit (§3.3). Starts
548
+ * from `requestedParentId` (a scope's own anchor span, or — for the
549
+ * implicit path — whatever is currently open on the stack). While the new
550
+ * span's `workstream` is defined, the candidate's *effective* workstream
551
+ * (walking through unattributed intermediaries) is defined, and the two
552
+ * differ, walks to the candidate's own parent. The first compatible
553
+ * ancestor is the parent; if the walk runs out, the span has none. A walk
554
+ * that actually moves the parent emits one diagnostic naming both stages
555
+ * and both workstreams.
556
+ */
557
+ resolveParent(requestedParentId, dims) {
558
+ let candidateId = requestedParentId;
559
+ let walked = false;
560
+ while (dims.workstream !== undefined && candidateId !== undefined) {
561
+ const meta = this.spanMeta.get(candidateId);
562
+ if (meta === undefined ||
563
+ meta.effectiveWorkstream === undefined ||
564
+ meta.effectiveWorkstream === dims.workstream) {
565
+ break;
566
+ }
567
+ walked = true;
568
+ candidateId = meta.parentId;
569
+ }
570
+ if (walked && requestedParentId !== undefined) {
571
+ const from = this.spanMeta.get(requestedParentId);
572
+ this.diagnose(`span "${dims.stage}" (workstream "${dims.workstream}") would have nested under ` +
573
+ `"${from?.stage}" (workstream "${from?.effectiveWorkstream}") by timing accident; ` +
574
+ `reparented to the nearest compatible ancestor. A concurrent call site likely ` +
575
+ "forgot SpanHandle.scope().");
576
+ }
577
+ return candidateId;
578
+ }
425
579
  openSpan(dims, parentId) {
426
580
  try {
581
+ const resolvedParentId = this.resolveParent(parentId, dims);
582
+ const id = randomId();
583
+ const effectiveWorkstream = dims.workstream ??
584
+ (resolvedParentId === undefined ? undefined : this.spanMeta.get(resolvedParentId)?.effectiveWorkstream);
585
+ this.spanMeta.set(id, { parentId: resolvedParentId, stage: dims.stage, effectiveWorkstream });
427
586
  const open = {
428
- id: randomId(),
429
- ...(parentId === undefined ? {} : { parentId }),
587
+ id,
588
+ ...(resolvedParentId === undefined ? {} : { parentId: resolvedParentId }),
430
589
  stage: dims.stage,
431
590
  bucket: STAGE_BUCKET[dims.stage],
432
591
  startOffsetMs: this.elapsedMs(),
@@ -442,6 +601,7 @@ export class RunRecorder {
442
601
  this.closeSpan(open, result);
443
602
  },
444
603
  child: (childDims) => this.openSpan(childDims, open.id),
604
+ scope: (options) => this.makeScope(open.id, options?.workstream),
445
605
  };
446
606
  }
447
607
  catch (error) {
@@ -450,7 +610,41 @@ export class RunRecorder {
450
610
  }
451
611
  }
452
612
  inertHandle() {
453
- return { close: () => undefined, child: () => this.inertHandle() };
613
+ return {
614
+ close: () => undefined,
615
+ child: () => this.inertHandle(),
616
+ scope: () => this.inertScope(),
617
+ };
618
+ }
619
+ /**
620
+ * Builds a `SpanScope` anchored to `anchorSpanId` (a specific span's id,
621
+ * or `undefined` for the recorder's own top-level scope), stamping
622
+ * `workstream` onto every span/point it opens whose own dimensions omit
623
+ * it — never overriding a dimension the call site supplied.
624
+ */
625
+ makeScope(anchorSpanId, workstream) {
626
+ return {
627
+ workstream,
628
+ span: (dims) => {
629
+ const stamped = workstream !== undefined && dims.workstream === undefined
630
+ ? { ...dims, workstream }
631
+ : dims;
632
+ return this.openSpan(stamped, anchorSpanId);
633
+ },
634
+ point: (obs) => {
635
+ const stamped = workstream !== undefined && obs.dimensions?.workstream === undefined
636
+ ? { ...obs, dimensions: { ...(obs.dimensions ?? {}), workstream } }
637
+ : obs;
638
+ this.point(stamped);
639
+ },
640
+ };
641
+ }
642
+ inertScope() {
643
+ return {
644
+ workstream: undefined,
645
+ span: () => this.inertHandle(),
646
+ point: () => undefined,
647
+ };
454
648
  }
455
649
  closeSpan(open, result) {
456
650
  try {
@@ -542,4 +736,42 @@ export const NOOP_RUN_RECORDER = RunRecorder.create({
542
736
  log: () => undefined,
543
737
  permanentlyDisarmed: true,
544
738
  });
739
+ /**
740
+ * Typed emitters for the scheduling-observation vocabulary (§3.4). They
741
+ * take the workstream id explicitly rather than reading it off `scope`: a
742
+ * workstream becomes ready, and waits, *before* its own flow scope exists —
743
+ * these are called from the run-level scope with the subject named. No
744
+ * emitter runs yet in this workstream; WS-04 is the first caller.
745
+ */
746
+ /** Emitted once per workstream per run, the instant its dependencies are integrated, its spec is complete, and it is not blocked. */
747
+ export function recordWorkstreamReady(scope, workstream) {
748
+ scope.point({
749
+ kind: "workstream-ready",
750
+ coverage: "observed",
751
+ dimensions: { workstream },
752
+ });
753
+ }
754
+ /** Emitted once per workstream per run, the instant its flow actually launches. */
755
+ export function recordWorkstreamScheduled(scope, workstream) {
756
+ scope.point({
757
+ kind: "workstream-scheduled",
758
+ coverage: "observed",
759
+ dimensions: { workstream },
760
+ });
761
+ }
762
+ /**
763
+ * Emitted when a wait *ends*, once per (workstream, cause) pair —
764
+ * `wait.waitedMs` is the milliseconds spent waiting on that cause. A
765
+ * workstream that waited on two causes emits two points; their sum should
766
+ * approximate `scheduled − ready`.
767
+ */
768
+ export function recordWorkstreamWaiting(scope, workstream, wait) {
769
+ scope.point({
770
+ kind: "workstream-waiting",
771
+ coverage: "observed",
772
+ value: wait.waitedMs,
773
+ unit: "ms",
774
+ dimensions: { workstream, waitCause: wait.cause },
775
+ });
776
+ }
545
777
  //# sourceMappingURL=run-analytics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-analytics.js","sourceRoot":"","sources":["../src/run-analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-analytics.js","sourceRoot":"","sources":["../src/run-analytics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export type LogFn = (line: string) => void;
2
+ /**
3
+ * Prefixes only the first physical line of an emission with `[prefix] `;
4
+ * later lines pass through byte-identical. One `log()` call is one write to
5
+ * the sink, so a multi-line blob never interleaves with another flow's
6
+ * output — the prefix on its first line is enough to attribute it, and
7
+ * leaving the body untouched keeps a pasted verify failure or stack trace
8
+ * pasteable. An empty or whitespace-only string passes through unchanged,
9
+ * so blank separator lines stay blank.
10
+ */
11
+ export declare function prefixedLog(log: LogFn, prefix: string): LogFn;
12
+ /** `[WS-xx] …` — every line emitted inside a workstream flow. */
13
+ export declare function workstreamLog(log: LogFn, workstreamId: string): LogFn;
14
+ /** `[run] …` — the scheduler's own lines (WS-04 is the first caller). */
15
+ export declare function schedulerLog(log: LogFn): LogFn;
16
+ //# sourceMappingURL=run-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-log.d.ts","sourceRoot":"","sources":["../src/run-log.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAa7D;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,CAErE;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK,CAE9C"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Prefixes only the first physical line of an emission with `[prefix] `;
3
+ * later lines pass through byte-identical. One `log()` call is one write to
4
+ * the sink, so a multi-line blob never interleaves with another flow's
5
+ * output — the prefix on its first line is enough to attribute it, and
6
+ * leaving the body untouched keeps a pasted verify failure or stack trace
7
+ * pasteable. An empty or whitespace-only string passes through unchanged,
8
+ * so blank separator lines stay blank.
9
+ */
10
+ export function prefixedLog(log, prefix) {
11
+ return (line) => {
12
+ if (line.trim() === "") {
13
+ log(line);
14
+ return;
15
+ }
16
+ const newline = line.indexOf("\n");
17
+ if (newline === -1) {
18
+ log(`${prefix} ${line}`);
19
+ return;
20
+ }
21
+ log(`${prefix} ${line.slice(0, newline)}${line.slice(newline)}`);
22
+ };
23
+ }
24
+ /** `[WS-xx] …` — every line emitted inside a workstream flow. */
25
+ export function workstreamLog(log, workstreamId) {
26
+ return prefixedLog(log, `[${workstreamId}]`);
27
+ }
28
+ /** `[run] …` — the scheduler's own lines (WS-04 is the first caller). */
29
+ export function schedulerLog(log) {
30
+ return prefixedLog(log, "[run]");
31
+ }
32
+ //# sourceMappingURL=run-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-log.js","sourceRoot":"","sources":["../src/run-log.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,GAAU,EAAE,MAAc;IACpD,OAAO,CAAC,IAAY,EAAQ,EAAE;QAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,GAAU,EAAE,YAAoB;IAC5D,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,YAAY,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,GAAU;IACrC,OAAO,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC"}