@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
@@ -4,8 +4,10 @@ import { createWriteStream } from "node:fs";
4
4
  import { mkdir, writeFile } from "node:fs/promises";
5
5
  import { dirname, join } from "node:path";
6
6
  import crossSpawn from "cross-spawn";
7
+ import { deriveResumeInvocation, hasPinnedSessionFlag, } from "./permits.js";
7
8
  import { createTelemetryAccumulator, parseConfiguredModel, providerLabelFromCommand, providerTelemetryPoints, } from "./provider-telemetry.js";
8
9
  import { NOOP_RUN_RECORDER, } from "./run-analytics.js";
10
+ import { describeSessionDecline, } from "./agent-session.js";
9
11
  // In-memory output is kept to a bounded tail; full output belongs in the
10
12
  // per-workstream log via onOutput streaming.
11
13
  const OUTPUT_TAIL_LIMIT = 200_000;
@@ -57,7 +59,10 @@ export function runProcess(command, args, options) {
57
59
  push(chunk);
58
60
  options.onStdout?.(chunk);
59
61
  });
60
- child.stderr.on("data", push);
62
+ child.stderr.on("data", (chunk) => {
63
+ push(chunk);
64
+ options.onStderr?.(chunk);
65
+ });
61
66
  child.on("error", rejectPromise);
62
67
  let inputError;
63
68
  child.stdin.on("error", (error) => {
@@ -183,6 +188,11 @@ function createClaudeStreamJsonDemultiplexer(telemetryInputs) {
183
188
  const errorResults = new Map();
184
189
  let resultText;
185
190
  let assistantText = "";
191
+ // WS-08: the authoritative source is the `system`/`init` event; any other
192
+ // event carrying a `session_id` sets it only if nothing is held yet, so a
193
+ // stream that lost its init line (an operator who pinned
194
+ // `--output-format=stream-json` without `--verbose`) still yields an id.
195
+ let sessionId;
186
196
  const telemetry = createTelemetryAccumulator({
187
197
  configuredModel: parseConfiguredModel(telemetryInputs?.configuredArgs ?? []),
188
198
  commandProviderGuess: providerLabelFromCommand(telemetryInputs?.command),
@@ -194,6 +204,14 @@ function createClaudeStreamJsonDemultiplexer(telemetryInputs) {
194
204
  // WS-03 rides the same already-parsed event this function routes for
195
205
  // commands/denials — never a second parse of the underlying text.
196
206
  telemetry.observeEvent(record);
207
+ if (typeof record.session_id === "string") {
208
+ if (record.type === "system" && record.subtype === "init") {
209
+ sessionId = record.session_id;
210
+ }
211
+ else if (sessionId === undefined) {
212
+ sessionId = record.session_id;
213
+ }
214
+ }
197
215
  if (record.type === "assistant") {
198
216
  const content = record.message?.content;
199
217
  if (Array.isArray(content)) {
@@ -336,6 +354,7 @@ function createClaudeStreamJsonDemultiplexer(telemetryInputs) {
336
354
  commands,
337
355
  denials: finalDenials,
338
356
  ...(corrupted ? { corrupted: true } : {}),
357
+ ...(sessionId === undefined ? {} : { sessionId }),
339
358
  },
340
359
  };
341
360
  },
@@ -354,6 +373,73 @@ export function demultiplexClaudeStreamJson(raw) {
354
373
  demux.feed(raw);
355
374
  return demux.finish();
356
375
  }
376
+ // ---------------------------------------------------------------------------
377
+ // Codex session id capture (WS-08 §2.3/§2.4) — verified against codex
378
+ // v0.149.0 on 2026-09-11. Codex writes its startup header, including the
379
+ // `session id:` line, and its entire running transcript to stderr, writing
380
+ // only the agent's final message to stdout; with `--json` (never added by
381
+ // nightshift, but an operator may configure it) the id instead arrives as
382
+ // `thread_id` on a stdout `thread.started` event, and a resumed run reprints
383
+ // the same value on its `session id:` line either way.
384
+ // ---------------------------------------------------------------------------
385
+ const UUID_PATTERN = "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";
386
+ const CODEX_SESSION_ID_LINE = new RegExp(`^\\s*session id:\\s*(${UUID_PATTERN})\\s*$`, "iu");
387
+ const UUID_ONLY = new RegExp(`^${UUID_PATTERN}$`, "iu");
388
+ /** The session id from one codex stderr line, when it is the anchored
389
+ * `session id: <uuid>` header line — an embedded or prefixed occurrence
390
+ * inside ordinary prose does not match. */
391
+ export function captureCodexSessionIdFromStderr(line) {
392
+ return CODEX_SESSION_ID_LINE.exec(line)?.[1];
393
+ }
394
+ /** The `thread_id` from one codex `--json`-mode stdout line, when it is a
395
+ * well-formed `thread.started` event. */
396
+ export function captureCodexSessionIdFromStdout(line) {
397
+ let parsed;
398
+ try {
399
+ parsed = JSON.parse(line);
400
+ }
401
+ catch {
402
+ return undefined;
403
+ }
404
+ if (parsed === null || typeof parsed !== "object")
405
+ return undefined;
406
+ const record = parsed;
407
+ if (record.type !== "thread.started")
408
+ return undefined;
409
+ const threadId = record.thread_id;
410
+ return typeof threadId === "string" && UUID_ONLY.test(threadId) ? threadId : undefined;
411
+ }
412
+ /** Line-buffered, like the Claude demultiplexer; stops at the first match —
413
+ * codex prints its header before any model output, so the first match is
414
+ * structurally the header's, never the agent's own prose. */
415
+ function createCodexSessionScanner() {
416
+ let sessionId;
417
+ let stderrCarry = "";
418
+ let stdoutCarry = "";
419
+ function scanLines(carry, chunk, setCarry, capture) {
420
+ if (sessionId !== undefined)
421
+ return;
422
+ let buffer = carry + chunk;
423
+ let newline;
424
+ while (sessionId === undefined && (newline = buffer.indexOf("\n")) !== -1) {
425
+ const line = buffer.slice(0, newline);
426
+ buffer = buffer.slice(newline + 1);
427
+ const found = capture(line);
428
+ if (found !== undefined)
429
+ sessionId = found;
430
+ }
431
+ setCarry(sessionId === undefined ? buffer : "");
432
+ }
433
+ return {
434
+ feedStderr(chunk) {
435
+ scanLines(stderrCarry, chunk, (value) => (stderrCarry = value), captureCodexSessionIdFromStderr);
436
+ },
437
+ feedStdout(chunk) {
438
+ scanLines(stdoutCarry, chunk, (value) => (stdoutCarry = value), captureCodexSessionIdFromStdout);
439
+ },
440
+ sessionId: () => sessionId,
441
+ };
442
+ }
357
443
  export const defaultAgentRunner = async (invocation) => {
358
444
  const finalArgs = invocation.promptMode === "argument"
359
445
  ? [...invocation.args, invocation.prompt]
@@ -361,6 +447,10 @@ export const defaultAgentRunner = async (invocation) => {
361
447
  const demux = claudeStreamJsonRequested(invocation.args)
362
448
  ? createClaudeStreamJsonDemultiplexer({ configuredArgs: invocation.args, command: invocation.command })
363
449
  : undefined;
450
+ // Gated on the command so a non-codex spawn's stderr is never scanned —
451
+ // an operator's chatty stderr elsewhere must never be mistaken for a
452
+ // codex session header (WS-08).
453
+ const codexScanner = providerLabelFromCommand(invocation.command).value === "codex" ? createCodexSessionScanner() : undefined;
364
454
  const result = await runProcess(invocation.command, finalArgs, {
365
455
  cwd: invocation.cwd,
366
456
  // Never a shell: agent args are structured argv from the config, and
@@ -381,6 +471,7 @@ export const defaultAgentRunner = async (invocation) => {
381
471
  // the process actually printed.
382
472
  onStdout: (chunk) => {
383
473
  demux?.feed(chunk);
474
+ codexScanner?.feedStdout(chunk);
384
475
  try {
385
476
  invocation.rawTranscript?.write(chunk);
386
477
  }
@@ -388,12 +479,17 @@ export const defaultAgentRunner = async (invocation) => {
388
479
  invocation.rawTranscript?.onError(error);
389
480
  }
390
481
  },
482
+ onStderr: (chunk) => {
483
+ codexScanner?.feedStderr(chunk);
484
+ },
391
485
  ...(invocation.promptMode === "stdin"
392
486
  ? { input: invocation.prompt }
393
487
  : {}),
394
488
  });
395
- if (!demux)
396
- return result;
489
+ const codexSessionId = codexScanner?.sessionId();
490
+ if (!demux) {
491
+ return codexSessionId === undefined ? result : { ...result, sessionId: codexSessionId };
492
+ }
397
493
  const demultiplexed = demux.finish();
398
494
  const telemetry = demux.finishTelemetry();
399
495
  if (demultiplexed === undefined) {
@@ -411,6 +507,9 @@ export const defaultAgentRunner = async (invocation) => {
411
507
  // string.
412
508
  output: demultiplexed.output !== "" ? demultiplexed.output : result.output,
413
509
  transcript: { ...demultiplexed.transcript, telemetry },
510
+ ...(demultiplexed.transcript.sessionId === undefined
511
+ ? {}
512
+ : { sessionId: demultiplexed.transcript.sessionId }),
414
513
  };
415
514
  };
416
515
  export const defaultVerifyRunner = (command, cwd) => runProcess(command, [], { cwd, shell: true });
@@ -423,7 +522,12 @@ async function writeTranscript(sink, role, transcript, nonce) {
423
522
  await mkdir(dir, { recursive: true });
424
523
  const fileName = `${sink.label}-${nonce}.jsonl`;
425
524
  const lines = [
426
- JSON.stringify({ role, label: sink.label, ...(transcript.corrupted ? { corrupted: true } : {}) }),
525
+ JSON.stringify({
526
+ role,
527
+ label: sink.label,
528
+ ...(transcript.corrupted ? { corrupted: true } : {}),
529
+ ...(transcript.sessionId === undefined ? {} : { sessionId: transcript.sessionId }),
530
+ }),
427
531
  ...transcript.commands.map((command) => JSON.stringify({ kind: "command", ...command })),
428
532
  ...transcript.denials.map((denial) => JSON.stringify({ kind: "denial", ...denial })),
429
533
  ];
@@ -550,6 +654,44 @@ const STAGE_FOR_ROLE = {
550
654
  deciderAgent: "decision-review",
551
655
  reviewerAgent: "test-critique",
552
656
  };
657
+ function sameArgs(a, b) {
658
+ return a.length === b.length && a.every((value, index) => value === b[index]);
659
+ }
660
+ /**
661
+ * The §3.3.2 checks, in order, and the §3.4 resume derivation (WS-08).
662
+ * `originalAgent` is the operator's configured agent, pre-`permits.derive` —
663
+ * the pinned-session-flag check reads that, never the derived args, because
664
+ * an operator-authored session flag is what it exists to detect. Every other
665
+ * comparison is on the derived, pre-resume invocation, which is stable for a
666
+ * given role/config across a run (`permits.derive` is deterministic).
667
+ */
668
+ function resolveSessionContinuity(request, originalAgent, derivedAgent, cwd) {
669
+ const decline = (reason) => ({
670
+ continuity: { mode: "fresh", declineReason: reason },
671
+ spawnAgent: derivedAgent,
672
+ });
673
+ const handle = request.handle;
674
+ if (handle === undefined)
675
+ return decline("no-session-captured");
676
+ if (handle.command !== derivedAgent.command)
677
+ return decline("provider-mismatch");
678
+ if (!sameArgs(handle.args, derivedAgent.args) || handle.promptMode !== derivedAgent.promptMode) {
679
+ return decline("invocation-mismatch");
680
+ }
681
+ if (handle.cwd !== cwd)
682
+ return decline("cwd-mismatch");
683
+ if (hasPinnedSessionFlag(originalAgent))
684
+ return decline("operator-pinned-session-flag");
685
+ const resumeDerivation = deriveResumeInvocation(derivedAgent, handle.id);
686
+ if (!resumeDerivation.supported)
687
+ return decline("unsupported-resume-argv");
688
+ return { continuity: { mode: "resumed" }, spawnAgent: resumeDerivation.agent };
689
+ }
690
+ /** First 8 characters of a session id, for a log line — enough to tell two
691
+ * sessions apart at a glance without printing the whole machine-local id. */
692
+ function shortSessionId(id) {
693
+ return id.slice(0, 8);
694
+ }
553
695
  /**
554
696
  * Spawns a configured agent role with a prompt; shared by every brief
555
697
  * spawner. `permits` derives the posture for this role/agent/host before the
@@ -580,17 +722,41 @@ const STAGE_FOR_ROLE = {
580
722
  * today's `STAGE_FOR_ROLE` default, so every pre-WS-02 call site (the doctor
581
723
  * probe, standalone tests) is unaffected.
582
724
  */
583
- export async function invokeAgent(runner, agent, prompt, cwd, permits, role, observe, recorder = NOOP_RUN_RECORDER, spanDims) {
725
+ export async function invokeAgent(runner, agent, prompt, cwd, permits, role, observe, recorder = NOOP_RUN_RECORDER, spanDims,
726
+ /** Present only for the three seats that may continue a session (SC-13,
727
+ * WS-08); its presence is the permission and its `handle` is the
728
+ * candidate. Omitted everywhere else, which is how reviewer, decider,
729
+ * recovery and informed-retry seats are structurally incapable of
730
+ * resuming — not by a runtime check they could forget. */
731
+ continuityRequest) {
584
732
  const span = recorder.span({ stage: STAGE_FOR_ROLE[role], role, ...spanDims });
585
733
  try {
586
734
  const derived = await permits.derive(role, agent);
735
+ // WS-08: resolved *after* `permits.derive` (so a resumed Claude spawn
736
+ // still carries `observabilityFlags`'s stream-json/verbose pair) and
737
+ // applied to whatever `permits.derive` returned — never to `agent`
738
+ // directly — so this works identically under the real context, the
739
+ // no-op context, and a test double (§2.7).
740
+ let spawnAgent = derived.agent;
741
+ let continuity;
742
+ if (continuityRequest) {
743
+ const resolved = resolveSessionContinuity(continuityRequest, agent, derived.agent, cwd);
744
+ continuity = resolved.continuity;
745
+ spawnAgent = resolved.spawnAgent;
746
+ if (continuity.mode === "resumed" && continuityRequest.handle) {
747
+ observe?.log(`resumed session ${shortSessionId(continuityRequest.handle.id)}`);
748
+ }
749
+ else if (continuity.declineReason) {
750
+ observe?.log(`session continuity declined for ${role}: ${describeSessionDecline(continuity.declineReason)}`);
751
+ }
752
+ }
587
753
  const stem = observe ? allocateTranscriptStem(observe) : undefined;
588
754
  // Only a spawn that actually requests structured stream-json output has
589
755
  // raw provider events worth retaining — a codex (or any non-Claude)
590
756
  // spawn writes no plaintext sidecar, matching its already-`unavailable`
591
757
  // telemetry rather than littering build-logs/ with an empty file.
592
758
  let rawSink;
593
- if (observe && stem && claudeStreamJsonRequested(derived.agent.args)) {
759
+ if (observe && stem && claudeStreamJsonRequested(spawnAgent.args)) {
594
760
  try {
595
761
  await mkdir(dirname(stem.rawPath), { recursive: true });
596
762
  rawSink = createRawTranscriptSink(stem.rawPath, observe.log);
@@ -602,10 +768,10 @@ export async function invokeAgent(runner, agent, prompt, cwd, permits, role, obs
602
768
  let result;
603
769
  try {
604
770
  result = await runner({
605
- command: derived.agent.command,
606
- args: derived.agent.args,
771
+ command: spawnAgent.command,
772
+ args: spawnAgent.args,
607
773
  prompt,
608
- promptMode: derived.agent.promptMode,
774
+ promptMode: spawnAgent.promptMode,
609
775
  cwd,
610
776
  ...(rawSink ? { rawTranscript: rawSink } : {}),
611
777
  });
@@ -658,8 +824,8 @@ export async function invokeAgent(runner, agent, prompt, cwd, permits, role, obs
658
824
  try {
659
825
  const telemetry = result.transcript?.telemetry ??
660
826
  createTelemetryAccumulator({
661
- configuredModel: parseConfiguredModel(derived.agent.args),
662
- commandProviderGuess: providerLabelFromCommand(derived.agent.command),
827
+ configuredModel: parseConfiguredModel(spawnAgent.args),
828
+ commandProviderGuess: providerLabelFromCommand(spawnAgent.command),
663
829
  }).finish({ observed: false, corrupted: false });
664
830
  for (const point of providerTelemetryPoints(telemetry, { role }, evidence)) {
665
831
  recorder.point(point);
@@ -672,7 +838,26 @@ export async function invokeAgent(runner, agent, prompt, cwd, permits, role, obs
672
838
  outcome: result.exitCode === 0 ? "success" : "failed",
673
839
  ...(evidence.length === 0 ? {} : { evidence }),
674
840
  });
675
- return result;
841
+ // WS-08: assembled from the spawn's own reported id and the *pre-resume*
842
+ // derived invocation (`derived`, never `spawnAgent`) — so a handle
843
+ // captured from a resumed spawn compares equal to one captured from a
844
+ // fresh spawn of the same seat, which is what lets a fix-now fix resume
845
+ // a test-critique fix's session rather than re-declining on its own
846
+ // `--resume` argument (§3.3.3).
847
+ const session = result.sessionId
848
+ ? {
849
+ id: result.sessionId,
850
+ command: derived.agent.command,
851
+ cwd,
852
+ args: derived.agent.args,
853
+ promptMode: derived.agent.promptMode,
854
+ }
855
+ : undefined;
856
+ return {
857
+ ...result,
858
+ ...(session ? { session } : {}),
859
+ ...(continuityRequest ? { continuity: continuity ?? { mode: "fresh", declineReason: "no-session-captured" } } : {}),
860
+ };
676
861
  }
677
862
  catch (error) {
678
863
  span.close({ outcome: "failed" });
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Opens a resumed revision brief (§3.7): a resumed agent must be told it is
3
+ * resuming, or it re-orients as if the brief were its first contact. Shared
4
+ * verbatim by the spec-critique writer and the test-critique fix brief so
5
+ * the two revision briefs never drift in wording.
6
+ */
7
+ export declare const SESSION_CONTINUATION_PREAMBLE: string;
8
+ /**
9
+ * Provider session continuity (WS-08, SC-13): the seat that revises an
10
+ * artifact resumes the session that produced it; the seat that judges an
11
+ * artifact never does. A session id lives in memory for exactly one run — it
12
+ * is never written to the manifest, the decision ledger, the report body, or
13
+ * read back from a prior run. The only durable trace is the `sessionId`
14
+ * field on a spawn's JSONL transcript header, under gitignored `build-logs/`.
15
+ *
16
+ * This module is the leaf of the dependency direction: `agent-runner.ts`
17
+ * imports the types below (`CommandResult` gains `session`/`continuity`), so
18
+ * nothing here may import `agent-runner.ts` back. `ContinuitySpawnResult`
19
+ * declares only the structural shape this module actually reads, which
20
+ * `CommandResult` satisfies without either module naming the other.
21
+ */
22
+ /**
23
+ * A provider session this run can continue. Run-scoped and in-memory only —
24
+ * see the module comment above.
25
+ */
26
+ export interface AgentSessionHandle {
27
+ /** The provider's own identifier, verbatim. */
28
+ id: string;
29
+ /** The command that produced it — resume is never cross-provider. */
30
+ command: string;
31
+ /** The directory the capturing spawn ran in; both providers resolve a
32
+ * session against on-disk state keyed in part by it. */
33
+ cwd: string;
34
+ /** The producing spawn's argv exactly as `permits.derive` returned it,
35
+ * **before** any resume rewrite — so a handle captured from a resumed
36
+ * spawn compares equal to one captured from a fresh spawn of the same
37
+ * seat. Resuming a session is continuing a *posture* (model, effort,
38
+ * permission mode, settings file, sandbox), not just a transcript; a
39
+ * mismatch here refuses the resume rather than silently continuing under
40
+ * a different posture. */
41
+ args: string[];
42
+ /** The producing spawn's prompt delivery, for the same reason. */
43
+ promptMode: "stdin" | "argument";
44
+ }
45
+ /**
46
+ * Passed by exactly the three seats permitted to continue a session (the
47
+ * spec-critique writer, the test-critique fix, and the fix-now fix), and by
48
+ * nothing else. Its *presence* is the statement "this seat is permitted to
49
+ * continue a session"; its `handle` is whether the lineage actually had one
50
+ * to offer. The eight non-resuming seats pass nothing, which is how they are
51
+ * structurally incapable of resuming rather than merely well-behaved.
52
+ */
53
+ export interface SessionContinuityRequest {
54
+ /** The lineage's current handle, absent when no id was ever captured. */
55
+ handle?: AgentSessionHandle;
56
+ }
57
+ export type SessionContinuityMode = "resumed" | "fresh";
58
+ export type SessionDeclineReason = "no-session-captured" | "provider-mismatch" | "invocation-mismatch" | "cwd-mismatch" | "operator-pinned-session-flag" | "unsupported-resume-argv" | "resume-spawn-failed";
59
+ export interface SessionContinuity {
60
+ mode: SessionContinuityMode;
61
+ /** Absent only when a requested resume succeeded. Always present on
62
+ * `mode: "fresh"` under a request — a requested-but-declined resume
63
+ * always says why. */
64
+ declineReason?: SessionDeclineReason;
65
+ }
66
+ /** Human sentences for each decline reason, one exported and exhaustively
67
+ * switched function so the wording lives in one place and fails to compile
68
+ * when a reason is added without a sentence. Never prints the session id
69
+ * itself — it is a machine-local handle with no meaning to the reader. */
70
+ export declare function describeSessionDecline(reason: SessionDeclineReason, detail?: {
71
+ producerCommand?: string | undefined;
72
+ seatCommand?: string | undefined;
73
+ token?: string | undefined;
74
+ }): string;
75
+ /**
76
+ * What the fallback helper needs from a spawn result. `CommandResult`
77
+ * satisfies it structurally, which keeps this module free of any import
78
+ * from `agent-runner.ts` (that module imports *this* one).
79
+ */
80
+ export interface ContinuitySpawnResult {
81
+ exitCode: number;
82
+ output: string;
83
+ session?: AgentSessionHandle;
84
+ continuity?: SessionContinuity;
85
+ }
86
+ export interface ResumableSpawnOptions<R extends ContinuitySpawnResult> {
87
+ /** The lineage's handle; `undefined` means the seat wanted to resume and
88
+ * had nothing to resume from — `fresh` / `no-session-captured`, reported
89
+ * and counted. This helper is called only from the three resuming seats,
90
+ * so "no request at all" never reaches it. */
91
+ resume: AgentSessionHandle | undefined;
92
+ /** Spawns once. `resumed` tells the caller which brief to build. The
93
+ * callback is expected to go through `invokeAgent` with a
94
+ * `SessionContinuityRequest`, so its result carries `continuity`. */
95
+ spawn: (resume: AgentSessionHandle | undefined, resumed: boolean) => Promise<R>;
96
+ /** True when the artifact this seat was asked to change is byte-identical
97
+ * to what it was before the spawn — the only state in which a second
98
+ * attempt is safe. Called before *any* fallback, including after a throw. */
99
+ untouched: () => Promise<boolean>;
100
+ log: (line: string) => void;
101
+ /** The analytics seam: called exactly once, with the seat's final
102
+ * continuity, before this helper returns. Must not throw; wrapped anyway. */
103
+ observeContinuity?: (continuity: SessionContinuity) => void;
104
+ }
105
+ export interface ResumableSpawnResult<R extends ContinuitySpawnResult> {
106
+ /** The spawn that actually ran **last** — the fallback's result when a
107
+ * fallback happened, the first spawn's otherwise. Its `session` field is
108
+ * therefore the lineage's new handle under the last-wins rule, including
109
+ * when the fresh fallback is the one that wrote the artifact. */
110
+ result: R;
111
+ /** The seat's final continuity — what `observeContinuity` was given and
112
+ * what the report renders. Overrides whatever `result.continuity` says. */
113
+ continuity: SessionContinuity;
114
+ }
115
+ /**
116
+ * The one fallback helper the three resuming seats share (§3.6): a resumed
117
+ * spawn that failed *before touching the artifact* falls back to exactly one
118
+ * fresh spawn; a resumed spawn that failed *after* changing the tree is
119
+ * never compounded with a second attempt — the existing verify-and-reset
120
+ * machinery handles it exactly as it would a fresh spawn's failure.
121
+ */
122
+ export declare function spawnWithSessionContinuity<R extends ContinuitySpawnResult>(options: ResumableSpawnOptions<R>): Promise<ResumableSpawnResult<R>>;
123
+ //# sourceMappingURL=agent-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../src/agent-session.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,QAO9B,CAAC;AAEb;;;;;;;;;;;;;GAaG;AAEH;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB;6DACyD;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;+BAM2B;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,kEAAkE;IAClE,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC,yEAAyE;IACzE,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAC5B,qBAAqB,GACrB,mBAAmB,GACnB,qBAAqB,GACrB,cAAc,GACd,8BAA8B,GAC9B,yBAAyB,GACzB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B;;2BAEuB;IACvB,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED;;;2EAG2E;AAC3E,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,oBAAoB,EAC5B,MAAM,CAAC,EAAE;IACP,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,GACA,MAAM,CAqBR;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,qBAAqB;IACpE;;;mDAG+C;IAC/C,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC;;0EAEsE;IACtE,KAAK,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAChF;;kFAE8E;IAC9E,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B;kFAC8E;IAC9E,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC7D;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,qBAAqB;IACnE;;;sEAGkE;IAClE,MAAM,EAAE,CAAC,CAAC;IACV;gFAC4E;IAC5E,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAkBD;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,SAAS,qBAAqB,EAC9E,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAChC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAkDlC"}