@on-par/factory-core 0.9.3 → 0.9.5-next.1

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 (182) hide show
  1. package/dist/checkers/base-health.js +2 -2
  2. package/dist/checkers/base-health.js.map +1 -1
  3. package/dist/checkers/baseline-cache.d.ts +6 -4
  4. package/dist/checkers/baseline-cache.d.ts.map +1 -1
  5. package/dist/checkers/baseline-cache.js +24 -7
  6. package/dist/checkers/baseline-cache.js.map +1 -1
  7. package/dist/checkers/baseline.d.ts +2 -0
  8. package/dist/checkers/baseline.d.ts.map +1 -1
  9. package/dist/checkers/baseline.js +34 -3
  10. package/dist/checkers/baseline.js.map +1 -1
  11. package/dist/checkers/constitution-preflight.d.ts +8 -0
  12. package/dist/checkers/constitution-preflight.d.ts.map +1 -0
  13. package/dist/checkers/constitution-preflight.js +71 -0
  14. package/dist/checkers/constitution-preflight.js.map +1 -0
  15. package/dist/checkers/design-smells.d.ts.map +1 -1
  16. package/dist/checkers/design-smells.js +1 -0
  17. package/dist/checkers/design-smells.js.map +1 -1
  18. package/dist/checkers/index.d.ts +11 -0
  19. package/dist/checkers/index.d.ts.map +1 -1
  20. package/dist/checkers/index.js +87 -9
  21. package/dist/checkers/index.js.map +1 -1
  22. package/dist/config/config-lint.d.ts +28 -0
  23. package/dist/config/config-lint.d.ts.map +1 -0
  24. package/dist/config/config-lint.js +39 -0
  25. package/dist/config/config-lint.js.map +1 -0
  26. package/dist/config/config-schema-lint.d.ts +17 -0
  27. package/dist/config/config-schema-lint.d.ts.map +1 -0
  28. package/dist/config/config-schema-lint.js +104 -0
  29. package/dist/config/config-schema-lint.js.map +1 -0
  30. package/dist/config/example.d.ts.map +1 -1
  31. package/dist/config/example.js +23 -1
  32. package/dist/config/example.js.map +1 -1
  33. package/dist/config/index.d.ts +19 -3
  34. package/dist/config/index.d.ts.map +1 -1
  35. package/dist/config/index.js +38 -13
  36. package/dist/config/index.js.map +1 -1
  37. package/dist/config/repo.d.ts +3 -0
  38. package/dist/config/repo.d.ts.map +1 -1
  39. package/dist/config/repo.js +12 -1
  40. package/dist/config/repo.js.map +1 -1
  41. package/dist/config/template-tokens.d.ts +21 -0
  42. package/dist/config/template-tokens.d.ts.map +1 -0
  43. package/dist/config/template-tokens.js +62 -0
  44. package/dist/config/template-tokens.js.map +1 -0
  45. package/dist/constitutions/index.d.ts.map +1 -1
  46. package/dist/constitutions/index.js +2 -0
  47. package/dist/constitutions/index.js.map +1 -1
  48. package/dist/events/kinds.d.ts +1 -1
  49. package/dist/events/kinds.d.ts.map +1 -1
  50. package/dist/events/kinds.js +4 -0
  51. package/dist/events/kinds.js.map +1 -1
  52. package/dist/filing/index.d.ts.map +1 -1
  53. package/dist/filing/index.js +1 -0
  54. package/dist/filing/index.js.map +1 -1
  55. package/dist/harness/catalog.d.ts +4 -1
  56. package/dist/harness/catalog.d.ts.map +1 -1
  57. package/dist/harness/catalog.js +7 -1
  58. package/dist/harness/catalog.js.map +1 -1
  59. package/dist/harness/classify.d.ts.map +1 -1
  60. package/dist/harness/classify.js +5 -0
  61. package/dist/harness/classify.js.map +1 -1
  62. package/dist/harness/codex-cli.d.ts.map +1 -1
  63. package/dist/harness/codex-cli.js +7 -0
  64. package/dist/harness/codex-cli.js.map +1 -1
  65. package/dist/harness/contract.d.ts.map +1 -1
  66. package/dist/harness/contract.js +1 -0
  67. package/dist/harness/contract.js.map +1 -1
  68. package/dist/harness/opencode.d.ts +17 -2
  69. package/dist/harness/opencode.d.ts.map +1 -1
  70. package/dist/harness/opencode.js +150 -36
  71. package/dist/harness/opencode.js.map +1 -1
  72. package/dist/internal.d.ts +25 -6
  73. package/dist/internal.d.ts.map +1 -1
  74. package/dist/internal.js +17 -5
  75. package/dist/internal.js.map +1 -1
  76. package/dist/models/index.d.ts +5 -0
  77. package/dist/models/index.d.ts.map +1 -1
  78. package/dist/models/index.js +33 -3
  79. package/dist/models/index.js.map +1 -1
  80. package/dist/phases/build.d.ts +6 -0
  81. package/dist/phases/build.d.ts.map +1 -1
  82. package/dist/phases/build.js +19 -4
  83. package/dist/phases/build.js.map +1 -1
  84. package/dist/phases/check.d.ts +5 -1
  85. package/dist/phases/check.d.ts.map +1 -1
  86. package/dist/phases/check.js +33 -7
  87. package/dist/phases/check.js.map +1 -1
  88. package/dist/phases/plan.d.ts +16 -3
  89. package/dist/phases/plan.d.ts.map +1 -1
  90. package/dist/phases/plan.js +104 -30
  91. package/dist/phases/plan.js.map +1 -1
  92. package/dist/phases/ship-stack.d.ts +43 -0
  93. package/dist/phases/ship-stack.d.ts.map +1 -0
  94. package/dist/phases/ship-stack.js +91 -0
  95. package/dist/phases/ship-stack.js.map +1 -0
  96. package/dist/phases/ship.d.ts +5 -0
  97. package/dist/phases/ship.d.ts.map +1 -1
  98. package/dist/phases/ship.js +2 -1
  99. package/dist/phases/ship.js.map +1 -1
  100. package/dist/queue/index.d.ts.map +1 -1
  101. package/dist/queue/index.js +2 -11
  102. package/dist/queue/index.js.map +1 -1
  103. package/dist/readiness/decompose.d.ts +4 -2
  104. package/dist/readiness/decompose.d.ts.map +1 -1
  105. package/dist/readiness/decompose.js +6 -2
  106. package/dist/readiness/decompose.js.map +1 -1
  107. package/dist/readiness/enrich.d.ts +6 -0
  108. package/dist/readiness/enrich.d.ts.map +1 -1
  109. package/dist/readiness/enrich.js +20 -1
  110. package/dist/readiness/enrich.js.map +1 -1
  111. package/dist/readiness/slice-gate.d.ts +5 -0
  112. package/dist/readiness/slice-gate.d.ts.map +1 -1
  113. package/dist/readiness/slice-gate.js +10 -4
  114. package/dist/readiness/slice-gate.js.map +1 -1
  115. package/dist/readiness/slice-plan-github.d.ts +25 -0
  116. package/dist/readiness/slice-plan-github.d.ts.map +1 -1
  117. package/dist/readiness/slice-plan-github.js +23 -1
  118. package/dist/readiness/slice-plan-github.js.map +1 -1
  119. package/dist/readiness/slice-plan.d.ts +11 -2
  120. package/dist/readiness/slice-plan.d.ts.map +1 -1
  121. package/dist/readiness/slice-plan.js +19 -4
  122. package/dist/readiness/slice-plan.js.map +1 -1
  123. package/dist/reports/benchmark-artifacts.d.ts +1 -1
  124. package/dist/reports/benchmark-artifacts.d.ts.map +1 -1
  125. package/dist/reports/evidence-pack.d.ts +4 -0
  126. package/dist/reports/evidence-pack.d.ts.map +1 -1
  127. package/dist/reports/evidence-pack.js +5 -1
  128. package/dist/reports/evidence-pack.js.map +1 -1
  129. package/dist/router/index.d.ts +17 -0
  130. package/dist/router/index.d.ts.map +1 -1
  131. package/dist/router/index.js +84 -1
  132. package/dist/router/index.js.map +1 -1
  133. package/dist/run/outcome.d.ts +3 -1
  134. package/dist/run/outcome.d.ts.map +1 -1
  135. package/dist/run/outcome.js.map +1 -1
  136. package/dist/run/resume-context.d.ts +51 -0
  137. package/dist/run/resume-context.d.ts.map +1 -1
  138. package/dist/run/resume-context.js +97 -0
  139. package/dist/run/resume-context.js.map +1 -1
  140. package/dist/run/run-issue.d.ts +16 -1
  141. package/dist/run/run-issue.d.ts.map +1 -1
  142. package/dist/run/run-issue.js +290 -187
  143. package/dist/run/run-issue.js.map +1 -1
  144. package/dist/sandbox/egress-proxy.d.ts +16 -0
  145. package/dist/sandbox/egress-proxy.d.ts.map +1 -1
  146. package/dist/sandbox/egress-proxy.js +91 -7
  147. package/dist/sandbox/egress-proxy.js.map +1 -1
  148. package/dist/sandbox/index.d.ts +2 -0
  149. package/dist/sandbox/index.d.ts.map +1 -1
  150. package/dist/sandbox/index.js +3 -1
  151. package/dist/sandbox/index.js.map +1 -1
  152. package/dist/steward/diagnose.d.ts +5 -1
  153. package/dist/steward/diagnose.d.ts.map +1 -1
  154. package/dist/steward/diagnose.js +13 -5
  155. package/dist/steward/diagnose.js.map +1 -1
  156. package/dist/steward/run.d.ts +2 -0
  157. package/dist/steward/run.d.ts.map +1 -1
  158. package/dist/steward/run.js +1 -0
  159. package/dist/steward/run.js.map +1 -1
  160. package/dist/triage/index.d.ts +25 -0
  161. package/dist/triage/index.d.ts.map +1 -0
  162. package/dist/triage/index.js +95 -0
  163. package/dist/triage/index.js.map +1 -0
  164. package/dist/types/index.d.ts +10 -2
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/dist/usage/index.d.ts +19 -1
  167. package/dist/usage/index.d.ts.map +1 -1
  168. package/dist/usage/index.js +27 -1
  169. package/dist/usage/index.js.map +1 -1
  170. package/dist/utils/codex-config.d.ts +19 -1
  171. package/dist/utils/codex-config.d.ts.map +1 -1
  172. package/dist/utils/codex-config.js +51 -2
  173. package/dist/utils/codex-config.js.map +1 -1
  174. package/dist/utils/opencode-config.d.ts +12 -0
  175. package/dist/utils/opencode-config.d.ts.map +1 -0
  176. package/dist/utils/opencode-config.js +24 -0
  177. package/dist/utils/opencode-config.js.map +1 -0
  178. package/dist/work/github-issue.d.ts +2 -0
  179. package/dist/work/github-issue.d.ts.map +1 -1
  180. package/dist/work/github-issue.js +18 -0
  181. package/dist/work/github-issue.js.map +1 -1
  182. package/package.json +5 -5
@@ -1,9 +1,98 @@
1
1
  // src/harness/opencode.ts — CodingHarness adapter for the OpenCode CLI.
2
+ import { mkdtemp, rm, writeFile } from 'node:fs/promises';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
2
5
  import { defaultExecFn } from '../utils/exec.js';
3
6
  import { shellEscape } from '../utils/index.js';
4
7
  import { classifyFailure } from './classify.js';
5
8
  import { HarnessError } from './index.js';
6
- /** Runs a model via the OpenCode CLI: opencode run [--model <provider/model>] <prompt>, executed with cwd = worktree. */
9
+ const num = (v) => (typeof v === 'number' && Number.isFinite(v) ? v : 0);
10
+ /** Parses `opencode run --format json` NDJSON. Returns undefined when stdout has no
11
+ * OpenCode event lines (an object with a string `type`), so callers fall back to raw
12
+ * stdout. Tolerant by design: malformed lines, unknown event types and bad counts are
13
+ * skipped. Usage capture must never fail a run (#2462). */
14
+ export function parseOpenCodeJson(stdout) {
15
+ const texts = [];
16
+ const errors = [];
17
+ let sawEvent = false;
18
+ let sawUsage = false;
19
+ let numTurns = 0;
20
+ let input = 0;
21
+ let output = 0;
22
+ let reasoning = 0;
23
+ let cacheRead = 0;
24
+ let cacheWrite = 0;
25
+ let cost = 0;
26
+ for (const raw of stdout.split('\n')) {
27
+ const line = raw.trim();
28
+ if (!line)
29
+ continue;
30
+ let event;
31
+ try {
32
+ event = JSON.parse(line);
33
+ }
34
+ catch {
35
+ continue;
36
+ }
37
+ if (!event || typeof event !== 'object' || Array.isArray(event) || typeof event.type !== 'string')
38
+ continue;
39
+ sawEvent = true;
40
+ if (event.type === 'text') {
41
+ const text = event.part?.text;
42
+ if (typeof text === 'string' && text.trim().length > 0)
43
+ texts.push(text.trim());
44
+ }
45
+ else if (event.type === 'step_finish') {
46
+ const tokens = event.part?.tokens;
47
+ if (!tokens || !Number.isFinite(tokens.input) || !Number.isFinite(tokens.output))
48
+ continue;
49
+ sawUsage = true;
50
+ numTurns++;
51
+ input += tokens.input;
52
+ output += tokens.output;
53
+ reasoning += num(tokens.reasoning);
54
+ cacheRead += num(tokens.cache?.read);
55
+ cacheWrite += num(tokens.cache?.write);
56
+ cost += num(event.part?.cost);
57
+ }
58
+ else if (event.type === 'error') {
59
+ const data = event.error?.data;
60
+ const name = event.error?.name;
61
+ const parts = [];
62
+ if (typeof data?.message === 'string')
63
+ parts.push(data.message);
64
+ else if (typeof name === 'string')
65
+ parts.push(name);
66
+ if (typeof data?.responseBody === 'string' && data.responseBody)
67
+ parts.push(data.responseBody);
68
+ if (typeof data?.statusCode === 'number' && Number.isFinite(data.statusCode)) {
69
+ parts.push(`status ${data.statusCode}`);
70
+ }
71
+ if (parts.length > 0)
72
+ errors.push(parts.join(' '));
73
+ }
74
+ }
75
+ if (!sawEvent)
76
+ return undefined;
77
+ return {
78
+ text: texts.join('\n\n'),
79
+ errorText: errors.join('\n'),
80
+ ...(sawUsage
81
+ ? {
82
+ usage: {
83
+ inputTokens: input + cacheRead + cacheWrite,
84
+ outputTokens: output + reasoning,
85
+ rawInputTokens: input,
86
+ cacheReadTokens: cacheRead,
87
+ cacheCreationTokens: cacheWrite,
88
+ numTurns,
89
+ ...(cost > 0 ? { costUsd: cost } : {}),
90
+ },
91
+ }
92
+ : {}),
93
+ };
94
+ }
95
+ /** Runs a model via the OpenCode CLI: opencode run --auto --format json [--model <provider/model>] [--variant <effort>] < prompt-file, executed with cwd = worktree. */
7
96
  export class OpenCodeHarness {
8
97
  execFn;
9
98
  id = 'opencode';
@@ -23,43 +112,68 @@ export class OpenCodeHarness {
23
112
  // without masking a genuinely broken provider (still throws after 2 tries).
24
113
  const FINAL_MESSAGE_NUDGE = '\n\nIMPORTANT: your final message must contain your complete answer as plain text. Do not end the session on a tool call or with an empty message.';
25
114
  const MAX_ATTEMPTS = 2;
26
- let stdout = '';
27
- for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {
28
- const attemptPrompt = attempt === 1 ? prompt : prompt + FINAL_MESSAGE_NUDGE;
29
- // `--auto`: headless runs auto-REJECT permission prompts (e.g. reading the
30
- // frozen spec in .factory/plans/, which is outside the worktree), killing
31
- // the session with an empty final message. Auto-approve matches the risk
32
- // model of the other engines (claude --dangerously-skip-permissions,
33
- // codex --yolo): the factory owns the worktree and reviews the diff.
34
- // `< /dev/null`: opencode run blocks awaiting stdin EOF when spawned with a
35
- // pipe stdin (execDetached never closes child.stdin), hanging every call
36
- // until the phase timeout. Redirecting stdin closes it at spawn.
37
- const cmd = `opencode run --auto ${modelArg}${effortArg} ${shellEscape(attemptPrompt)} < /dev/null`;
38
- try {
39
- ({ stdout } = await this.execFn(cmd, {
40
- cwd: worktree,
41
- timeoutMs: timeoutSeconds * 1000,
42
- maxBuffer: 10 * 1024 * 1024,
43
- env,
44
- onPgid,
45
- }));
115
+ const promptDir = await mkdtemp(join(tmpdir(), 'factory-opencode-prompt-'));
116
+ const promptPath = join(promptDir, 'prompt.txt');
117
+ try {
118
+ let stdout = '';
119
+ let stderr = '';
120
+ for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {
121
+ const attemptPrompt = attempt === 1 ? prompt : prompt + FINAL_MESSAGE_NUDGE;
122
+ // `--auto`: headless runs auto-REJECT permission prompts (e.g. reading the
123
+ // frozen spec in .factory/plans/, which is outside the worktree), killing
124
+ // the session with an empty final message. Auto-approve matches the risk
125
+ // model of the other engines (claude --dangerously-skip-permissions,
126
+ // codex --yolo): the factory owns the worktree and reviews the diff.
127
+ // `< promptPath`: opencode run reads a non-TTY stdin as the message. This
128
+ // keeps the prompt out of argv so large prompts don't hit ARG_MAX/E2BIG,
129
+ // and a file redirect still closes stdin at EOF: opencode run otherwise
130
+ // blocks on a pipe stdin (execDetached never closes child.stdin), hanging
131
+ // every call until the phase timeout.
132
+ // `--format json` emits NDJSON events so the harness can drop tool chatter
133
+ // and read token usage from `step_finish` events.
134
+ await writeFile(promptPath, attemptPrompt, 'utf8');
135
+ const cmd = `opencode run --auto --format json ${modelArg}${effortArg} < ${shellEscape(promptPath)}`;
136
+ try {
137
+ ({ stdout, stderr } = await this.execFn(cmd, {
138
+ cwd: worktree,
139
+ timeoutMs: timeoutSeconds * 1000,
140
+ // JSON `tool_use` events carry full tool output.
141
+ maxBuffer: 64 * 1024 * 1024,
142
+ env,
143
+ onPgid,
144
+ }));
145
+ }
146
+ catch (err) {
147
+ // Under --format json, session errors arrive as stdout `error` events.
148
+ const jsonErr = typeof err.stdout === 'string' ? (parseOpenCodeJson(err.stdout)?.errorText ?? '') : '';
149
+ const classifyText = [err.stderr ?? '', jsonErr].filter(Boolean).join('\n');
150
+ const reason = err.killed ? 'timeout' : classifyFailure(classifyText, err.code ?? 1);
151
+ throw new HarnessError(err.message ?? String(err), reason, {
152
+ exitCode: typeof err.code === 'number' ? err.code : undefined,
153
+ stderr: err.stderr,
154
+ code: typeof err.code === 'string' || typeof err.code === 'number' ? err.code : undefined,
155
+ signal: typeof err.signal === 'string' ? err.signal : undefined,
156
+ killed: err.killed === true ? true : undefined,
157
+ });
158
+ }
159
+ const parsed = parseOpenCodeJson(stdout);
160
+ const output = parsed ? parsed.text : stdout;
161
+ if (output.trim().length > 0)
162
+ return { output, ...(parsed?.usage ? { usage: parsed.usage } : {}) };
163
+ if (parsed && parsed.errorText) {
164
+ // OpenCode can exit 0 with the session error only on stdout. Do not
165
+ // nudge-retry into a usage cap or rate limit; let the router fail over.
166
+ const classifyText = [stderr, parsed.errorText].filter(Boolean).join('\n');
167
+ throw new HarnessError(`opencode run reported an error event: ${parsed.errorText.split('\n')[0]}`, classifyFailure(classifyText, 1), { exitCode: 0, stderr: stderr || undefined });
168
+ }
46
169
  }
47
- catch (err) {
48
- const reason = err.killed ? 'timeout' : classifyFailure(err.stderr ?? '', err.code ?? 1);
49
- throw new HarnessError(err.message ?? String(err), reason, {
50
- exitCode: typeof err.code === 'number' ? err.code : undefined,
51
- stderr: err.stderr,
52
- code: typeof err.code === 'string' || typeof err.code === 'number' ? err.code : undefined,
53
- signal: typeof err.signal === 'string' ? err.signal : undefined,
54
- killed: err.killed === true ? true : undefined,
55
- });
56
- }
57
- if (stdout.trim().length > 0)
58
- return { output: stdout };
170
+ throw new HarnessError(`opencode CLI returned empty output (${MAX_ATTEMPTS} attempts)`, 'empty_response', {
171
+ exitCode: 0,
172
+ });
173
+ }
174
+ finally {
175
+ await rm(promptDir, { recursive: true, force: true });
59
176
  }
60
- throw new HarnessError(`opencode CLI returned empty output (${MAX_ATTEMPTS} attempts)`, 'empty_response', {
61
- exitCode: 0,
62
- });
63
177
  }
64
178
  }
65
179
  //# sourceMappingURL=opencode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/harness/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/harness/opencode.ts"],"names":[],"mappings":"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"}
@@ -44,9 +44,12 @@ export type { DockerEngineOptions } from './hosted/docker.js';
44
44
  export { createDockerEngine } from './hosted/docker.js';
45
45
  export type { OrphanContainer, ReapedContainer } from './hosted/orphans.js';
46
46
  export { listOrphanContainers, reapOrphanContainers } from './hosted/orphans.js';
47
+ export { harnessCliCommand } from './harness/catalog.js';
48
+ export { isHarnessCliPresent } from './models/index.js';
47
49
  export { CliModelExecutor } from './router/index.js';
48
50
  export type { PlanPromptOpts } from './phases/plan.js';
49
51
  export { buildPlanPrompt } from './phases/plan.js';
52
+ export { buildTriagePrompt, normalizeTriageQueue, parseTriageCandidates } from './triage/index.js';
50
53
  export type { BoardQueueDispatcher, BoardQueueOrdering, LocalLaneCandidate, QueueIntentReader, } from './phases/board-queue-dispatch.js';
51
54
  export { createBoardQueueDispatcher } from './phases/board-queue-dispatch.js';
52
55
  export type { BoardQueueScheduler, BoardQueueSchedulerOptions, ProjectQueueProjectionReader, } from './phases/board-queue-scheduler.js';
@@ -57,6 +60,8 @@ export type { LocalSmallContextPack, LocalSmallDryRunInput, LocalSmallDryRunResu
57
60
  export { applyLocalSmallPatchStep, createLocalSmallDryRun } from './local-small/stepwise.js';
58
61
  export { judgeSpec, median, runJudgeSamples, scoreSpec } from './eval/index.js';
59
62
  export { defaultTranscriptRoots, priceFor, TRAILING_WINDOW_MS } from './usage/index.js';
63
+ export { harnessHasUsageSignal, resolveRunUsageHarness, USAGE_NOT_AVAILABLE_FOR_AGENT } from './usage/index.js';
64
+ export type { RunUsageHarnessInput } from './usage/index.js';
60
65
  export { readClaudeAccessToken } from './usage/subscription.js';
61
66
  export type { CiFailureClass, CiJobLike, CiJobStepLike, CiNoChecksInfo, CiOutcome, CiRerunBudget, CiRescue, CiRescueFailure, CiWatchProgress, InfraRerunOutcome, InfraRerunWatchOptions, WatchChecksOptions, } from './utils/ci-watch.js';
62
67
  export { classifyCiFailure, DEFAULT_CI_DEADLINE_MS, DEFAULT_CI_NO_CHECKS_GRACE_MS, isPassingConclusion, resolveCiNoChecksGraceMs, watchChecks, watchChecksWithInfraRerun, } from './utils/ci-watch.js';
@@ -66,7 +71,8 @@ export type { CoverageMetrics, RatchetCheckResult, RatchetDrift } from './utils/
66
71
  export { checkRatchetDrift, checkScopedRatchetDrift, DEFAULT_RATCHET_SLACK, parseCoverageSummary, parseCoverageSummaryScopes, renderRatchetReport, } from './utils/coverage-ratchet.js';
67
72
  export type { LaneWorktreeReapResult } from './utils/index.js';
68
73
  export { branchFor, branchPrefixSlug, LEGACY_BRANCH_PREFIX, factoryBranchPrefixes, factoryBranchIssue, cleanupWorktree, colorEnabled, defaultRemoteBase, ensureDir, escalationLine, formatEventLine, getIssueTitle, gitFetch, isEscalation, levelForType, logCost, logEvent, readCosts, reapLaneWorktree, setupWorktree, shellEscape, slugify, } from './utils/index.js';
69
- export { claudeConfigDirOverride, claudeKeychainService } from './utils/claude-config.js';
74
+ export { claudeConfigDirOverride, claudeKeychainService, hasClaudeLoginEvidence } from './utils/claude-config.js';
75
+ export { hasOpencodeLoginEvidence } from './utils/opencode-config.js';
70
76
  export type { MicroVmLifecycleOptions, ReapedMicroVm, WorktreeSandbox } from './utils/microvm.js';
71
77
  export { createMicroVm, listMicroVms, microVmName, reapOrphanMicroVm, removeMicroVm, worktreeSandboxFor, } from './utils/microvm.js';
72
78
  export type { FileLockOptions, SyncFileLockOptions } from './utils/lock.js';
@@ -136,9 +142,11 @@ export { createProjectBoardStatusWriter } from './queue/project-board-status-wri
136
142
  export type { BeginDetachResult, DetachRepoDeps, DrainOutcome } from './daemon/repos-detach.js';
137
143
  export { beginDetach, DEFAULT_DRAIN_POLL_INTERVAL_MS, DEFAULT_DRAIN_TIMEOUT_MS, DRAIN_BLOCKING_STATUSES, drainAndDetach, isDrainSafe, } from './daemon/repos-detach.js';
138
144
  export { wrapCommandInSandbox, shouldProxyEgress } from './sandbox/index.js';
139
- export { startEgressProxy, egressSummaryMessage, type EgressProxy } from './sandbox/egress-proxy.js';
145
+ export { startEgressProxy, egressSummaryMessage, egressHostMessage, isTelemetryHost, TELEMETRY_HOST_PATTERNS, type EgressProxy, } from './sandbox/egress-proxy.js';
140
146
  export { createRunRuntime, type RunRuntime } from './daemon/run-runtime.js';
141
147
  export { findOpenPR, type PrLookup } from './phases/ship.js';
148
+ export { openSliceStack } from './phases/ship-stack.js';
149
+ export type { SliceStackResult, StackSliceInput, StackedPr } from './phases/ship-stack.js';
142
150
  export { createShipExecutor } from './daemon/ship-executor.js';
143
151
  export type { AcceptanceCriterionFinding, ReviewContextLevel, ReviewVerdict, ReviewVerdictInput, ReviewVerdictResult, } from './review/verdict.js';
144
152
  export { computeReviewVerdict, DETERMINISTIC_CHECKERS } from './review/verdict.js';
@@ -160,12 +168,20 @@ export type { ReviewConstitution, ReviewConstitutionSource } from './constitutio
160
168
  export { DEFAULT_CODE_CONSTITUTION, DEFAULT_REVIEW_CONSTITUTION, describeConstitutionSource, describeReviewConstitutionSource, } from './constitutions/index.js';
161
169
  export type { BuiltInCheckerInfo } from './checkers/index.js';
162
170
  export { listBuiltInCheckers } from './checkers/index.js';
171
+ export { findTemplateTokens, isTemplateToken } from './config/template-tokens.js';
172
+ export { lintFactoryConfig } from './config/config-lint.js';
173
+ export { findConfigSchemaErrors } from './config/config-schema-lint.js';
174
+ export type { ConfigSchemaFinding } from './config/config-schema-lint.js';
175
+ export type { ConfigLintFinding, ConfigLintInput, ConfigLintResult, ConfigLintVerdict } from './config/config-lint.js';
176
+ export type { TemplateTokenFinding } from './config/template-tokens.js';
177
+ export { findUnknownConstitutionCheckers, formatUnknownCheckerMessage } from './checkers/constitution-preflight.js';
178
+ export type { UnknownConstitutionChecker } from './checkers/constitution-preflight.js';
163
179
  export type { DecompositionOutput } from './readiness/decompose.js';
164
180
  export { buildDecompositionPrompt, parseDecompositionOutput } from './readiness/decompose.js';
165
181
  export type { Slice, SlicePlan, SlicePlanBuildResult, SlicePlanParseResult, SliceState, } from './readiness/slice-plan.js';
166
- export { DEFAULT_MAX_SLICES, SLICE_CAP_CEILING, overCapReason, sliceCapExceeded, SLICE_PLAN_MARKER, currentSlice, parseSlicePlanComment, renderSlicePlanComment, slicePlanFromDecomposition, withSliceState, } from './readiness/slice-plan.js';
167
- export type { SlicePlanCommentLookup, SlicePlanUpsertResult } from './readiness/slice-plan-github.js';
168
- export { findSlicePlanComment, upsertSlicePlanComment } from './readiness/slice-plan-github.js';
182
+ export { DEFAULT_MAX_SLICES, SLICE_CAP_CEILING, overCapReason, sliceCapExceeded, SLICE_PLAN_MARKER, currentSlice, markSliceMerged, parseSlicePlanComment, renderSlicePlanComment, slicePlanFromDecomposition, withSliceState, } from './readiness/slice-plan.js';
183
+ export type { SliceMergeRecordResult, SlicePlanCommentLookup, SlicePlanUpsertResult, } from './readiness/slice-plan-github.js';
184
+ export { findSlicePlanComment, recordSliceMerged, upsertSlicePlanComment } from './readiness/slice-plan-github.js';
169
185
  export type { SliceGateOutcome } from './readiness/slice-gate.js';
170
186
  export { resolveSliceGate } from './readiness/slice-gate.js';
171
187
  export { publishDecomposition } from './readiness/decompose.js';
@@ -173,8 +189,11 @@ export type { ReadinessGapCriterion, ReadinessGapReport } from './readiness/enri
173
189
  export { buildReadinessGapPrompt, parseReadinessGapOutput } from './readiness/enrich.js';
174
190
  export type { IssueRunState, RunStatus } from './types/index.js';
175
191
  export { readIssueRunState } from './run/state.js';
176
- export { createPlanReuseStore, issueBodyHash, planReusePath } from './run/resume-context.js';
192
+ export { checkResumePath, configParkMessage, createCheckResumeStore, createPlanReuseStore, formatPreservedBuildMessage, issueBodyHash, planReusePath, preservedFixTarget, } from './run/resume-context.js';
193
+ export type { CheckResumeRecord, CheckResumeStore } from './run/resume-context.js';
177
194
  export type { PlanReuseRecord, PlanReuseStore } from './run/resume-context.js';
178
195
  export { BASE_HEALTH_CHECKERS, checkBaseHealth } from './checkers/base-health.js';
179
196
  export type { BaseHealthOptions, BaseHealthResult } from './checkers/base-health.js';
197
+ export { codexChatgptSessionState } from './utils/codex-config.js';
198
+ export type { CodexSessionState } from './utils/codex-config.js';
180
199
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACjG,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,+BAA+B,EAC/B,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGrG,YAAY,EACV,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACvG,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnF,YAAY,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,yCAAyC,EAAE,MAAM,qBAAqB,CAAC;AACnG,YAAY,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGxH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACzG,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAGnG,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAG9E,YAAY,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAG9E,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAG7F,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGhF,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAChH,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,YAAY,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,cAAc,EACd,SAAS,EACT,aAAa,EACb,QAAQ,EACR,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,EACX,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC/E,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACrG,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,OAAO,GACR,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClH,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9E,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,QAAQ,GACT,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAGvC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGxF,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG5E,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjH,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,GACd,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACtG,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGtF,YAAY,EACV,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGzF,YAAY,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACvH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,YAAY,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtF,YAAY,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,YAAY,EAAE,yBAAyB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACxG,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG9E,YAAY,EACV,2BAA2B,EAC3B,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG1G,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAG1G,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAC7G,YAAY,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG7E,YAAY,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGlH,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1G,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,WAAW,EACX,2BAA2B,EAC3B,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjH,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,YAAY,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,YAAY,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,YAAY,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACpE,YAAY,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAGhF,YAAY,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAC3G,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAGhF,YAAY,EACV,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AAExF,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EACL,WAAW,EACX,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACd,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,KAAK,WAAW,GACjB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,YAAY,EACV,0BAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGnF,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAGnF,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGvH,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC/G,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,oCAAoC,EACpC,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACrH,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvH,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACpH,YAAY,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGvF,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC9F,YAAY,EACV,KAAK,EACL,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AACnH,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGzF,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACnF,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG/E,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAClF,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/internal.js CHANGED
@@ -37,8 +37,11 @@ export { OpenCodeHarness } from './harness/opencode.js';
37
37
  export { createDockerEngine } from './hosted/docker.js';
38
38
  export { listOrphanContainers, reapOrphanContainers } from './hosted/orphans.js';
39
39
  // Router
40
+ export { harnessCliCommand } from './harness/catalog.js';
41
+ export { isHarnessCliPresent } from './models/index.js';
40
42
  export { CliModelExecutor } from './router/index.js';
41
43
  export { buildPlanPrompt } from './phases/plan.js';
44
+ export { buildTriagePrompt, normalizeTriageQueue, parseTriageCandidates } from './triage/index.js';
42
45
  export { createBoardQueueDispatcher } from './phases/board-queue-dispatch.js';
43
46
  export { createBoardQueueScheduler } from './phases/board-queue-scheduler.js';
44
47
  export { runOvernightQueue } from './local-small/overnight.js';
@@ -47,13 +50,15 @@ export { applyLocalSmallPatchStep, createLocalSmallDryRun } from './local-small/
47
50
  export { judgeSpec, median, runJudgeSamples, scoreSpec } from './eval/index.js';
48
51
  // Usage internals
49
52
  export { defaultTranscriptRoots, priceFor, TRAILING_WINDOW_MS } from './usage/index.js';
53
+ export { harnessHasUsageSignal, resolveRunUsageHarness, USAGE_NOT_AVAILABLE_FOR_AGENT } from './usage/index.js';
50
54
  export { readClaudeAccessToken } from './usage/subscription.js';
51
55
  export { classifyCiFailure, DEFAULT_CI_DEADLINE_MS, DEFAULT_CI_NO_CHECKS_GRACE_MS, isPassingConclusion, resolveCiNoChecksGraceMs, watchChecks, watchChecksWithInfraRerun, } from './utils/ci-watch.js';
52
56
  export { describeCommandFailure, runCommand } from './utils/command-runner.js';
53
57
  export { checkRatchetDrift, checkScopedRatchetDrift, DEFAULT_RATCHET_SLACK, parseCoverageSummary, parseCoverageSummaryScopes, renderRatchetReport, } from './utils/coverage-ratchet.js';
54
58
  export { branchFor, branchPrefixSlug, LEGACY_BRANCH_PREFIX, factoryBranchPrefixes, factoryBranchIssue, cleanupWorktree, colorEnabled, defaultRemoteBase, ensureDir, escalationLine, formatEventLine, getIssueTitle, gitFetch, isEscalation, levelForType, logCost, logEvent, readCosts, reapLaneWorktree, setupWorktree, shellEscape, slugify, } from './utils/index.js';
55
59
  // Selected Claude profile (CLAUDE_CONFIG_DIR) and its keychain entry
56
- export { claudeConfigDirOverride, claudeKeychainService } from './utils/claude-config.js';
60
+ export { claudeConfigDirOverride, claudeKeychainService, hasClaudeLoginEvidence } from './utils/claude-config.js';
61
+ export { hasOpencodeLoginEvidence } from './utils/opencode-config.js';
57
62
  export { createMicroVm, listMicroVms, microVmName, reapOrphanMicroVm, removeMicroVm, worktreeSandboxFor, } from './utils/microvm.js';
58
63
  export { withFileLock, withFileLockSync, withGitLock } from './utils/lock.js';
59
64
  export { readRunLockHolder, RunLockHeldError, withRunLock } from './utils/run-lock.js';
@@ -89,9 +94,10 @@ export { createProjectBoardStatusWriter } from './queue/project-board-status-wri
89
94
  export { beginDetach, DEFAULT_DRAIN_POLL_INTERVAL_MS, DEFAULT_DRAIN_TIMEOUT_MS, DRAIN_BLOCKING_STATUSES, drainAndDetach, isDrainSafe, } from './daemon/repos-detach.js';
90
95
  // Sandbox command wrapping — used by the CLI's doctor probe (#1008)
91
96
  export { wrapCommandInSandbox, shouldProxyEgress } from './sandbox/index.js';
92
- export { startEgressProxy, egressSummaryMessage } from './sandbox/egress-proxy.js';
97
+ export { startEgressProxy, egressSummaryMessage, egressHostMessage, isTelemetryHost, TELEMETRY_HOST_PATTERNS, } from './sandbox/egress-proxy.js';
93
98
  export { createRunRuntime } from './daemon/run-runtime.js';
94
99
  export { findOpenPR } from './phases/ship.js';
100
+ export { openSliceStack } from './phases/ship-stack.js';
95
101
  export { createShipExecutor } from './daemon/ship-executor.js';
96
102
  export { computeReviewVerdict, DETERMINISTIC_CHECKERS } from './review/verdict.js';
97
103
  export { computeReviewFloor, DEFAULT_REVIEW_FLOOR_RULES } from './review/floor.js';
@@ -103,14 +109,20 @@ export { isCrossRepoPullRequest, isForkPullRequest, resolveReviewContainment, RE
103
109
  export { describePullRequestAccessError, formatPullRequestReference, parsePullRequestReference, resolvePullRequestReference, REVIEW_ACCESS_ERROR_EXIT_CODE, } from './review/pr-reference.js';
104
110
  export { DEFAULT_CODE_CONSTITUTION, DEFAULT_REVIEW_CONSTITUTION, describeConstitutionSource, describeReviewConstitutionSource, } from './constitutions/index.js';
105
111
  export { listBuiltInCheckers } from './checkers/index.js';
112
+ export { findTemplateTokens, isTemplateToken } from './config/template-tokens.js';
113
+ export { lintFactoryConfig } from './config/config-lint.js';
114
+ export { findConfigSchemaErrors } from './config/config-schema-lint.js';
115
+ export { findUnknownConstitutionCheckers, formatUnknownCheckerMessage } from './checkers/constitution-preflight.js';
106
116
  export { buildDecompositionPrompt, parseDecompositionOutput } from './readiness/decompose.js';
107
- export { DEFAULT_MAX_SLICES, SLICE_CAP_CEILING, overCapReason, sliceCapExceeded, SLICE_PLAN_MARKER, currentSlice, parseSlicePlanComment, renderSlicePlanComment, slicePlanFromDecomposition, withSliceState, } from './readiness/slice-plan.js';
108
- export { findSlicePlanComment, upsertSlicePlanComment } from './readiness/slice-plan-github.js';
117
+ export { DEFAULT_MAX_SLICES, SLICE_CAP_CEILING, overCapReason, sliceCapExceeded, SLICE_PLAN_MARKER, currentSlice, markSliceMerged, parseSlicePlanComment, renderSlicePlanComment, slicePlanFromDecomposition, withSliceState, } from './readiness/slice-plan.js';
118
+ export { findSlicePlanComment, recordSliceMerged, upsertSlicePlanComment } from './readiness/slice-plan-github.js';
109
119
  export { resolveSliceGate } from './readiness/slice-gate.js';
110
120
  export { publishDecomposition } from './readiness/decompose.js';
111
121
  export { buildReadinessGapPrompt, parseReadinessGapOutput } from './readiness/enrich.js';
112
122
  export { readIssueRunState } from './run/state.js';
113
- export { createPlanReuseStore, issueBodyHash, planReusePath } from './run/resume-context.js';
123
+ export { checkResumePath, configParkMessage, createCheckResumeStore, createPlanReuseStore, formatPreservedBuildMessage, issueBodyHash, planReusePath, preservedFixTarget, } from './run/resume-context.js';
114
124
  // Pre-PLAN base health (#2339)
115
125
  export { BASE_HEALTH_CHECKERS, checkBaseHealth } from './checkers/base-health.js';
126
+ // Codex ChatGPT session freshness for doctor (#2509)
127
+ export { codexChatgptSessionState } from './utils/codex-config.js';
116
128
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,8 @@ export interface ModelOverrides {
63
63
  export declare function resolveModelOverrides(registry: ModelRegistry, env?: NodeJS.ProcessEnv): ModelOverrides;
64
64
  /** Check if a command is available on PATH */
65
65
  export declare function isCommandAvailable(cmd: string): boolean;
66
+ /** True unless the harness needs a CLI that is not on PATH. Harnesses with no CLI probe are always present. */
67
+ export declare function isHarnessCliPresent(harnessId: string | undefined, commandAvailable?: (cmd: string) => boolean): boolean;
66
68
  /** Run a declared harness probe command. Returns null on exit 0, else a one-line failure detail. */
67
69
  export declare function runHarnessProbe(cmd: string): string | null;
68
70
  export type HarnessProbeStatus = 'available' | 'unavailable' | 'unverified';
@@ -88,6 +90,9 @@ export interface DoctorProbes {
88
90
  /** Non-inference evidence that the codex CLI is logged in (`codex login status` exit 0 /
89
91
  * CODEX_API_KEY). Default: hasCodexLoginEvidence(). Never runs `codex exec`. */
90
92
  codexLoggedIn?: () => boolean;
93
+ /** Non-inference evidence that the opencode CLI is logged in (stored credentials in opencode's
94
+ * auth.json). Default: hasOpencodeLoginEvidence(). Never runs `opencode run`. */
95
+ opencodeLoggedIn?: () => boolean;
91
96
  /** Runs a declared harness `probe` command; returns null on exit 0, else a failure detail.
92
97
  * Default: runHarnessProbe. */
93
98
  harnessProbe?: (cmd: string) => string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  // src/models/index.ts — Model registry: availability checks, cost calculation, tier resolution
2
2
  import { execSync } from 'node:child_process';
3
3
  import { ModelEffortsSchema, supportsEffort } from '../config/effort.js';
4
- import { HARNESS_CATALOG, isAgenticHarness, KNOWN_HARNESS_IDS } from '../harness/catalog.js';
4
+ import { HARNESS_CATALOG, harnessCliCommand, isAgenticHarness, KNOWN_HARNESS_IDS } from '../harness/catalog.js';
5
5
  import { hasClaudeLoginEvidence } from '../utils/claude-config.js';
6
6
  import { hasCodexLoginEvidence } from '../utils/codex-config.js';
7
+ import { hasOpencodeLoginEvidence } from '../utils/opencode-config.js';
7
8
  export class ModelRegistry {
8
9
  config;
9
10
  constructor(config) {
@@ -181,6 +182,11 @@ export function isCommandAvailable(cmd) {
181
182
  return false;
182
183
  }
183
184
  }
185
+ /** True unless the harness needs a CLI that is not on PATH. Harnesses with no CLI probe are always present. */
186
+ export function isHarnessCliPresent(harnessId, commandAvailable = isCommandAvailable) {
187
+ const cmd = harnessCliCommand(harnessId);
188
+ return cmd === undefined || commandAvailable(cmd);
189
+ }
184
190
  const HARNESS_PROBE_TIMEOUT_MS = 10_000;
185
191
  /** Run a declared harness probe command. Returns null on exit 0, else a one-line failure detail. */
186
192
  export function runHarnessProbe(cmd) {
@@ -266,6 +272,19 @@ export function diagnoseModels(registry, probes = {}, allowExperimental = false,
266
272
  }
267
273
  return codexLoggedInCache;
268
274
  };
275
+ const opencodeLoggedInProbe = probes.opencodeLoggedIn ?? (() => hasOpencodeLoginEvidence());
276
+ let opencodeLoggedInCache;
277
+ const opencodeLoggedIn = () => {
278
+ if (opencodeLoggedInCache === undefined) {
279
+ try {
280
+ opencodeLoggedInCache = opencodeLoggedInProbe();
281
+ }
282
+ catch {
283
+ opencodeLoggedInCache = false;
284
+ }
285
+ }
286
+ return opencodeLoggedInCache;
287
+ };
269
288
  let declaredProbes;
270
289
  const declaredProbe = (id) => {
271
290
  declaredProbes ??= new Map(probeDeclaredHarnesses(registry, probes.harnessProbe ?? runHarnessProbe).map((p) => [p.harness, p]));
@@ -307,16 +326,27 @@ export function diagnoseModels(registry, probes = {}, allowExperimental = false,
307
326
  }
308
327
  else if (entry.probe.kind === 'command') {
309
328
  const probe = entry.probe;
310
- if (!commandAvailable(probe.command)) {
329
+ if (!isHarnessCliPresent(harnessId, commandAvailable)) {
311
330
  reason = `${probe.command} CLI not found on PATH`;
312
331
  }
313
332
  else if (probe.auth === 'cli') {
314
333
  // CLI carries its own (OAuth-based) auth — a missing API key doesn't block, but the
315
- // CLI must show login evidence (#2418).
334
+ // CLI must show login evidence (#2418). For opencode the envKey is an optional override (#2461).
316
335
  if (probe.command === 'codex' && !codexLoggedIn()) {
317
336
  unverified = true;
318
337
  reason = `${UNVERIFIED_PREFIX}${probe.okLabel} installed but not logged in — run \`codex login\` (or set CODEX_API_KEY)`;
319
338
  }
339
+ else if (probe.command === 'opencode' && def.envKey && !envPresent(def.envKey)) {
340
+ // OPENCODE_API_KEY is an optional override; a CLI login substitutes for it (#2461).
341
+ if (opencodeLoggedIn()) {
342
+ reachable = true;
343
+ reason = `ok (${probe.okLabel} auth; ${def.envKey} not set)`;
344
+ }
345
+ else {
346
+ unverified = true;
347
+ reason = `${UNVERIFIED_PREFIX}${probe.okLabel} installed but not logged in and ${def.envKey} not set — run \`opencode auth login\` or export ${def.envKey}`;
348
+ }
349
+ }
320
350
  else {
321
351
  reachable = true;
322
352
  reason = `ok (${probe.okLabel})`;