@on-par/factory-core 0.9.8-next.5 → 0.9.8-next.51

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 (185) hide show
  1. package/dist/config/effort.d.ts.map +1 -1
  2. package/dist/config/effort.js +5 -0
  3. package/dist/config/effort.js.map +1 -1
  4. package/dist/config/index.d.ts +9 -5
  5. package/dist/config/index.d.ts.map +1 -1
  6. package/dist/config/index.js +8 -7
  7. package/dist/config/index.js.map +1 -1
  8. package/dist/config/intermediaries.d.ts +26 -0
  9. package/dist/config/intermediaries.d.ts.map +1 -1
  10. package/dist/config/intermediaries.js +86 -1
  11. package/dist/config/intermediaries.js.map +1 -1
  12. package/dist/config/repo-build-pin.js +2 -2
  13. package/dist/config/repo-build-pin.js.map +1 -1
  14. package/dist/config/repo-config-file.d.ts.map +1 -1
  15. package/dist/config/repo-config-file.js +4 -2
  16. package/dist/config/repo-config-file.js.map +1 -1
  17. package/dist/config/repo-harnesses.d.ts +3 -0
  18. package/dist/config/repo-harnesses.d.ts.map +1 -1
  19. package/dist/config/repo-harnesses.js +6 -0
  20. package/dist/config/repo-harnesses.js.map +1 -1
  21. package/dist/config/repo-tier-guard.d.ts +4 -0
  22. package/dist/config/repo-tier-guard.d.ts.map +1 -0
  23. package/dist/config/repo-tier-guard.js +8 -0
  24. package/dist/config/repo-tier-guard.js.map +1 -0
  25. package/dist/config/repo.d.ts +8 -5
  26. package/dist/config/repo.d.ts.map +1 -1
  27. package/dist/config/repo.js +14 -11
  28. package/dist/config/repo.js.map +1 -1
  29. package/dist/config/v2.d.ts +2 -0
  30. package/dist/config/v2.d.ts.map +1 -1
  31. package/dist/config/v2.js +9 -1
  32. package/dist/config/v2.js.map +1 -1
  33. package/dist/daemon/execution-config.d.ts +3 -0
  34. package/dist/daemon/execution-config.d.ts.map +1 -1
  35. package/dist/daemon/run-runtime.d.ts +4 -1
  36. package/dist/daemon/run-runtime.d.ts.map +1 -1
  37. package/dist/daemon/run-runtime.js +3 -3
  38. package/dist/daemon/run-runtime.js.map +1 -1
  39. package/dist/discovery/gherkin-scenario.d.ts +4 -0
  40. package/dist/discovery/gherkin-scenario.d.ts.map +1 -0
  41. package/dist/discovery/gherkin-scenario.js +2 -0
  42. package/dist/discovery/gherkin-scenario.js.map +1 -0
  43. package/dist/discovery/promote.d.ts +1 -3
  44. package/dist/discovery/promote.d.ts.map +1 -1
  45. package/dist/discovery/promote.js.map +1 -1
  46. package/dist/events/kinds.d.ts +1 -1
  47. package/dist/events/kinds.d.ts.map +1 -1
  48. package/dist/events/kinds.js +1 -0
  49. package/dist/events/kinds.js.map +1 -1
  50. package/dist/filing/index.d.ts.map +1 -1
  51. package/dist/filing/index.js +1 -0
  52. package/dist/filing/index.js.map +1 -1
  53. package/dist/harness/catalog.d.ts +5 -0
  54. package/dist/harness/catalog.d.ts.map +1 -1
  55. package/dist/harness/catalog.js +10 -0
  56. package/dist/harness/catalog.js.map +1 -1
  57. package/dist/harness/check.d.ts +29 -0
  58. package/dist/harness/check.d.ts.map +1 -0
  59. package/dist/harness/check.js +104 -0
  60. package/dist/harness/check.js.map +1 -0
  61. package/dist/harness/classify.d.ts.map +1 -1
  62. package/dist/harness/classify.js +4 -0
  63. package/dist/harness/classify.js.map +1 -1
  64. package/dist/harness/claude-cli.d.ts +10 -1
  65. package/dist/harness/claude-cli.d.ts.map +1 -1
  66. package/dist/harness/claude-cli.js +38 -3
  67. package/dist/harness/claude-cli.js.map +1 -1
  68. package/dist/harness/contract.d.ts.map +1 -1
  69. package/dist/harness/contract.js +1 -0
  70. package/dist/harness/contract.js.map +1 -1
  71. package/dist/harness/index.d.ts +1 -1
  72. package/dist/harness/index.d.ts.map +1 -1
  73. package/dist/harness/index.js +1 -0
  74. package/dist/harness/index.js.map +1 -1
  75. package/dist/harness/opencode.d.ts +31 -5
  76. package/dist/harness/opencode.d.ts.map +1 -1
  77. package/dist/harness/opencode.js +97 -13
  78. package/dist/harness/opencode.js.map +1 -1
  79. package/dist/harness/pi.d.ts +32 -0
  80. package/dist/harness/pi.d.ts.map +1 -0
  81. package/dist/harness/pi.js +194 -0
  82. package/dist/harness/pi.js.map +1 -0
  83. package/dist/index.d.ts +2 -1
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/internal.d.ts +7 -6
  86. package/dist/internal.d.ts.map +1 -1
  87. package/dist/internal.js +4 -0
  88. package/dist/internal.js.map +1 -1
  89. package/dist/models/diagnose-helpers.d.ts +8 -0
  90. package/dist/models/diagnose-helpers.d.ts.map +1 -0
  91. package/dist/models/diagnose-helpers.js +20 -0
  92. package/dist/models/diagnose-helpers.js.map +1 -0
  93. package/dist/models/harness-probe.d.ts +3 -0
  94. package/dist/models/harness-probe.d.ts.map +1 -0
  95. package/dist/models/harness-probe.js +20 -0
  96. package/dist/models/harness-probe.js.map +1 -0
  97. package/dist/models/index.d.ts +15 -15
  98. package/dist/models/index.d.ts.map +1 -1
  99. package/dist/models/index.js +59 -61
  100. package/dist/models/index.js.map +1 -1
  101. package/dist/models/overrides.d.ts +13 -0
  102. package/dist/models/overrides.d.ts.map +1 -0
  103. package/dist/models/overrides.js +24 -0
  104. package/dist/models/overrides.js.map +1 -0
  105. package/dist/models/pi-auth.d.ts +15 -0
  106. package/dist/models/pi-auth.d.ts.map +1 -0
  107. package/dist/models/pi-auth.js +57 -0
  108. package/dist/models/pi-auth.js.map +1 -0
  109. package/dist/phases/build-opencode-failover.d.ts +43 -0
  110. package/dist/phases/build-opencode-failover.d.ts.map +1 -0
  111. package/dist/phases/build-opencode-failover.js +36 -0
  112. package/dist/phases/build-opencode-failover.js.map +1 -0
  113. package/dist/phases/build.d.ts +2 -0
  114. package/dist/phases/build.d.ts.map +1 -1
  115. package/dist/phases/build.js +15 -0
  116. package/dist/phases/build.js.map +1 -1
  117. package/dist/phases/ship.d.ts.map +1 -1
  118. package/dist/phases/ship.js +3 -1
  119. package/dist/phases/ship.js.map +1 -1
  120. package/dist/queue/github-queue.d.ts +5 -2
  121. package/dist/queue/github-queue.d.ts.map +1 -1
  122. package/dist/queue/github-queue.js +9 -14
  123. package/dist/queue/github-queue.js.map +1 -1
  124. package/dist/queue/order-collision.d.ts +20 -0
  125. package/dist/queue/order-collision.d.ts.map +1 -0
  126. package/dist/queue/order-collision.js +37 -0
  127. package/dist/queue/order-collision.js.map +1 -0
  128. package/dist/queue/unpark.d.ts +4 -0
  129. package/dist/queue/unpark.d.ts.map +1 -1
  130. package/dist/queue/unpark.js +1 -0
  131. package/dist/queue/unpark.js.map +1 -1
  132. package/dist/router/breaker.d.ts +14 -7
  133. package/dist/router/breaker.d.ts.map +1 -1
  134. package/dist/router/breaker.js +27 -12
  135. package/dist/router/breaker.js.map +1 -1
  136. package/dist/router/index.d.ts +2 -1
  137. package/dist/router/index.d.ts.map +1 -1
  138. package/dist/router/index.js +7 -1
  139. package/dist/router/index.js.map +1 -1
  140. package/dist/router/missing-worktree.d.ts +7 -0
  141. package/dist/router/missing-worktree.d.ts.map +1 -0
  142. package/dist/router/missing-worktree.js +14 -0
  143. package/dist/router/missing-worktree.js.map +1 -0
  144. package/dist/router/requires.js +2 -2
  145. package/dist/router/requires.js.map +1 -1
  146. package/dist/router/stub.js +1 -1
  147. package/dist/router/stub.js.map +1 -1
  148. package/dist/run/provider-breaker-gate.d.ts +25 -0
  149. package/dist/run/provider-breaker-gate.d.ts.map +1 -0
  150. package/dist/run/provider-breaker-gate.js +37 -0
  151. package/dist/run/provider-breaker-gate.js.map +1 -0
  152. package/dist/run/run-issue.d.ts.map +1 -1
  153. package/dist/run/run-issue.js +16 -15
  154. package/dist/run/run-issue.js.map +1 -1
  155. package/dist/sim/jitter.js +1 -1
  156. package/dist/sim/jitter.js.map +1 -1
  157. package/dist/triage/index.d.ts +13 -0
  158. package/dist/triage/index.d.ts.map +1 -1
  159. package/dist/triage/index.js +64 -0
  160. package/dist/triage/index.js.map +1 -1
  161. package/dist/types/index.d.ts +6 -1
  162. package/dist/types/index.d.ts.map +1 -1
  163. package/dist/usage/subscription.js +1 -1
  164. package/dist/usage/subscription.js.map +1 -1
  165. package/dist/utils/ci-watch.d.ts +17 -3
  166. package/dist/utils/ci-watch.d.ts.map +1 -1
  167. package/dist/utils/ci-watch.js +67 -1
  168. package/dist/utils/ci-watch.js.map +1 -1
  169. package/dist/utils/coverage-ratchet.js +1 -1
  170. package/dist/utils/coverage-ratchet.js.map +1 -1
  171. package/dist/utils/exec.d.ts +1 -1
  172. package/dist/utils/exec.d.ts.map +1 -1
  173. package/dist/utils/local-auth-record.d.ts +2 -2
  174. package/dist/utils/local-auth-record.d.ts.map +1 -1
  175. package/dist/utils/local-auth-record.js +8 -3
  176. package/dist/utils/local-auth-record.js.map +1 -1
  177. package/dist/utils/worktree-gc-issues.d.ts +22 -0
  178. package/dist/utils/worktree-gc-issues.d.ts.map +1 -0
  179. package/dist/utils/worktree-gc-issues.js +80 -0
  180. package/dist/utils/worktree-gc-issues.js.map +1 -0
  181. package/dist/utils/worktree-gc.d.ts +5 -0
  182. package/dist/utils/worktree-gc.d.ts.map +1 -1
  183. package/dist/utils/worktree-gc.js +39 -77
  184. package/dist/utils/worktree-gc.js.map +1 -1
  185. package/package.json +5 -5
@@ -7,18 +7,42 @@ import { shellEscape } from '../utils/index.js';
7
7
  import { classifyFailure } from './classify.js';
8
8
  import { HarnessError } from './index.js';
9
9
  import { probeOpenCodeMajor } from './opencode-version.js';
10
+ const PERMISSION_REJECTED = /cannot ask the user for permission/i;
11
+ /** OpenCode typed `error.type` → failure reason (#2889). Unlisted types fall back to classifyFailure. */
12
+ export const OPENCODE_ERROR_TYPE_REASONS = {
13
+ 'provider.rate-limit': 'rate_limit',
14
+ 'provider.quota': 'usage_cap',
15
+ 'provider.auth': 'local_auth',
16
+ 'provider.timeout': 'timeout',
17
+ 'provider.connect': 'unavailable',
18
+ 'provider.no-route': 'unavailable',
19
+ };
20
+ export function classifyOpenCodeErrorType(type) {
21
+ return type !== undefined && Object.hasOwn(OPENCODE_ERROR_TYPE_REASONS, type)
22
+ ? OPENCODE_ERROR_TYPE_REASONS[type]
23
+ : undefined;
24
+ }
10
25
  const num = (v) => (typeof v === 'number' && Number.isFinite(v) ? v : 0);
11
26
  /** Parses `opencode run --format json` NDJSON. Returns undefined when stdout has no
12
27
  * OpenCode event lines (an object with a string `type`), so callers fall back to raw
13
28
  * stdout. Tolerant by design: malformed lines, unknown event types and bad counts are
14
- * skipped. Usage capture must never fail a run (#2462). Only the last step's text is returned:
15
- * narration from earlier steps is dropped (#2881). */
29
+ * skipped. Usage capture must never fail a run (#2462). Usage `durationMs` is the span between
30
+ * the smallest and largest finite event `timestamp` (omitted when none). Only the last step's text is returned:
31
+ * narration from earlier steps is dropped (#2881). A `tool_use` whose state error/output says the
32
+ * run cannot ask for permission is reported in `permissionDenials` (#2888). The first `error` event
33
+ * with a string `error.type` is reported as `errorType`/`errorStatus` (#2889). */
16
34
  export function parseOpenCodeJson(stdout) {
17
35
  let stepTexts = [];
18
36
  const errors = [];
37
+ let errorType;
38
+ let errorStatus;
39
+ const permissionDenials = [];
19
40
  let sawEvent = false;
20
41
  let sawUsage = false;
42
+ let openStep = false;
21
43
  let numTurns = 0;
44
+ let minTs;
45
+ let maxTs;
22
46
  let input = 0;
23
47
  let output = 0;
24
48
  let reasoning = 0;
@@ -39,8 +63,16 @@ export function parseOpenCodeJson(stdout) {
39
63
  if (!event || typeof event !== 'object' || Array.isArray(event) || typeof event.type !== 'string')
40
64
  continue;
41
65
  sawEvent = true;
66
+ const ts = event.timestamp;
67
+ if (typeof ts === 'number' && Number.isFinite(ts)) {
68
+ if (minTs === undefined || ts < minTs)
69
+ minTs = ts;
70
+ if (maxTs === undefined || ts > maxTs)
71
+ maxTs = ts;
72
+ }
42
73
  if (event.type === 'step_start') {
43
74
  stepTexts = [];
75
+ openStep = true;
44
76
  }
45
77
  else if (event.type === 'text') {
46
78
  const text = event.part?.text;
@@ -48,6 +80,7 @@ export function parseOpenCodeJson(stdout) {
48
80
  stepTexts.push(text.trim());
49
81
  }
50
82
  else if (event.type === 'step_finish') {
83
+ openStep = false;
51
84
  const tokens = event.part?.tokens;
52
85
  if (!tokens || !Number.isFinite(tokens.input) || !Number.isFinite(tokens.output))
53
86
  continue;
@@ -63,6 +96,13 @@ export function parseOpenCodeJson(stdout) {
63
96
  else if (event.type === 'error') {
64
97
  const data = event.error?.data;
65
98
  const name = event.error?.name;
99
+ const type = event.error?.type;
100
+ const typed = typeof type === 'string' && type.length > 0;
101
+ const status = [event.error?.status, event.error?.statusCode, data?.statusCode].find((v) => typeof v === 'number' && Number.isFinite(v));
102
+ if (typed && errorType === undefined) {
103
+ errorType = type;
104
+ errorStatus = status;
105
+ }
66
106
  const parts = [];
67
107
  if (typeof data?.message === 'string')
68
108
  parts.push(data.message);
@@ -70,18 +110,36 @@ export function parseOpenCodeJson(stdout) {
70
110
  parts.push(name);
71
111
  if (typeof data?.responseBody === 'string' && data.responseBody)
72
112
  parts.push(data.responseBody);
113
+ if (parts.length === 0 && typed)
114
+ parts.push(type);
73
115
  if (typeof data?.statusCode === 'number' && Number.isFinite(data.statusCode)) {
74
116
  parts.push(`status ${data.statusCode}`);
75
117
  }
118
+ else if (parts.length > 0 && status !== undefined) {
119
+ parts.push(`status ${status}`);
120
+ }
76
121
  if (parts.length > 0)
77
122
  errors.push(parts.join(' '));
78
123
  }
124
+ else if (event.type === 'tool_use') {
125
+ const state = event.part?.state;
126
+ const match = [state?.error, state?.output].find((c) => typeof c === 'string' && PERMISSION_REJECTED.test(c));
127
+ if (match !== undefined) {
128
+ const tool = event.part?.tool;
129
+ const line = match.split('\n').find((l) => l.trim()) ?? match;
130
+ permissionDenials.push({ tool: typeof tool === 'string' && tool ? tool : 'unknown', message: line.trim() });
131
+ }
132
+ }
79
133
  }
80
134
  if (!sawEvent)
81
135
  return undefined;
82
136
  return {
83
137
  text: stepTexts.join('\n\n'),
84
138
  errorText: errors.join('\n'),
139
+ permissionDenials,
140
+ ...(errorType !== undefined ? { errorType } : {}),
141
+ ...(errorStatus !== undefined ? { errorStatus } : {}),
142
+ finished: !openStep,
85
143
  ...(sawUsage
86
144
  ? {
87
145
  usage: {
@@ -91,6 +149,7 @@ export function parseOpenCodeJson(stdout) {
91
149
  cacheReadTokens: cacheRead,
92
150
  cacheCreationTokens: cacheWrite,
93
151
  numTurns,
152
+ ...(minTs !== undefined && maxTs !== undefined ? { durationMs: maxTs - minTs } : {}),
94
153
  ...(cost > 0 ? { costUsd: cost } : {}),
95
154
  },
96
155
  }
@@ -108,7 +167,12 @@ export function buildOpenCodeModelArgs(providerModel, effort, major) {
108
167
  const modelArg = providerModel ? `--model ${shellEscape(providerModel)}` : '';
109
168
  return `${modelArg}${effort === undefined ? '' : ` --variant ${shellEscape(effort)}`}`;
110
169
  }
111
- /** Runs a model via the OpenCode CLI: opencode run --auto --format json [--model <p/m>[#<effort>]] [--variant <effort>] (v1 only) < prompt-file, executed with cwd = worktree. */
170
+ /** Isolation flag for `opencode run`. v2+ (#2879) shares a per-user background server by default;
171
+ * `--standalone` gives the run a private one. v1 has no such flag, and an unknown major omits it. */
172
+ export function buildOpenCodeIsolationArgs(major) {
173
+ return major !== undefined && major >= 2 ? '--standalone' : '';
174
+ }
175
+ /** Runs a model via the OpenCode CLI: opencode run --auto --format json [--standalone] (v2+ only) [--model <p/m>[#<effort>]] [--variant <effort>] (v1 only) < prompt-file, executed with cwd = worktree. */
112
176
  export class OpenCodeHarness {
113
177
  execFn;
114
178
  id = 'opencode';
@@ -129,12 +193,14 @@ export class OpenCodeHarness {
129
193
  const effort = registry.getEffort(model, request.task);
130
194
  const providerModel = registry.get(model)?.providerModel;
131
195
  const effortValue = effort === undefined ? undefined : String(effort);
132
- const major = effortValue === undefined ? undefined : await this.getMajorVersion();
196
+ const major = await this.getMajorVersion();
133
197
  const modelArgs = buildOpenCodeModelArgs(providerModel, effortValue, major);
198
+ const isolationArgs = buildOpenCodeIsolationArgs(major);
134
199
  // Agentic sessions can legitimately end on a tool call with an empty final
135
200
  // message (observed with deepseek-v4-flash on large plan prompts). One
136
201
  // retry with an explicit final-message instruction recovers those runs
137
202
  // without masking a genuinely broken provider (still throws after 2 tries).
203
+ // It also covers exit-0 runs truncated before the last `step_finish`.
138
204
  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.';
139
205
  const MAX_ATTEMPTS = 2;
140
206
  const promptDir = await mkdtemp(join(tmpdir(), 'factory-opencode-prompt-'));
@@ -142,6 +208,7 @@ export class OpenCodeHarness {
142
208
  try {
143
209
  let stdout = '';
144
210
  let stderr = '';
211
+ let truncated = false;
145
212
  for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {
146
213
  const attemptPrompt = attempt === 1 ? prompt : prompt + FINAL_MESSAGE_NUDGE;
147
214
  // `--auto`: headless runs auto-REJECT permission prompts (e.g. reading the
@@ -156,8 +223,10 @@ export class OpenCodeHarness {
156
223
  // every call until the phase timeout.
157
224
  // `--format json` emits NDJSON events so the harness can drop tool chatter
158
225
  // and read token usage from `step_finish` events.
226
+ // `--standalone` (v2+ only): v2's run attaches to a shared per-user background
227
+ // server by default; this gives the lane a private one. v1 has no such flag.
159
228
  await writeFile(promptPath, attemptPrompt, 'utf8');
160
- const cmd = `opencode run --auto --format json ${modelArgs} < ${shellEscape(promptPath)}`;
229
+ const cmd = `opencode run --auto --format json ${[isolationArgs, modelArgs].filter(Boolean).join(' ')} < ${shellEscape(promptPath)}`;
161
230
  try {
162
231
  ({ stdout, stderr } = await this.execFn(cmd, {
163
232
  cwd: worktree,
@@ -169,32 +238,47 @@ export class OpenCodeHarness {
169
238
  }));
170
239
  }
171
240
  catch (err) {
172
- // Under --format json, session errors arrive as stdout `error` events.
173
- const jsonErr = typeof err.stdout === 'string' ? (parseOpenCodeJson(err.stdout)?.errorText ?? '') : '';
241
+ // Under --format json, session errors arrive as stdout `error` events; kept as the diagnostic.
242
+ const parsedErr = typeof err.stdout === 'string' ? parseOpenCodeJson(err.stdout) : undefined;
243
+ const jsonErr = parsedErr?.errorText ?? '';
174
244
  const classifyText = [err.stderr ?? '', jsonErr].filter(Boolean).join('\n');
175
- const reason = err.killed ? 'timeout' : classifyFailure(classifyText, err.code ?? 1);
245
+ const reason = err.killed
246
+ ? 'timeout'
247
+ : ((err.code === 124 ? undefined : classifyOpenCodeErrorType(parsedErr?.errorType)) ??
248
+ classifyFailure(classifyText, err.code ?? 1));
176
249
  throw new HarnessError(err.message ?? String(err), reason, {
177
250
  exitCode: typeof err.code === 'number' ? err.code : undefined,
178
251
  stderr: err.stderr,
179
252
  code: typeof err.code === 'string' || typeof err.code === 'number' ? err.code : undefined,
180
253
  signal: typeof err.signal === 'string' ? err.signal : undefined,
181
254
  killed: err.killed === true ? true : undefined,
255
+ ...(jsonErr ? { diagnostic: jsonErr } : {}),
182
256
  });
183
257
  }
184
258
  const parsed = parseOpenCodeJson(stdout);
259
+ // A non-interactive run auto-rejects `ask` permissions, still exits 0, and the model carries
260
+ // on. The failure is deterministic: no nudge retry, no failover (#2888).
261
+ if (parsed && parsed.permissionDenials.length > 0) {
262
+ const tools = [...new Set(parsed.permissionDenials.map((d) => d.tool))].join(', ');
263
+ const diagnostic = parsed.permissionDenials.map((d) => `${d.tool}: ${d.message}`).join('\n');
264
+ throw new HarnessError(`opencode run auto-rejected a permission request for tool ${tools}: ${parsed.permissionDenials[0].message}`, 'permission_denied', { exitCode: 0, stderr: stderr || undefined, diagnostic });
265
+ }
185
266
  const output = parsed ? parsed.text : stdout;
186
- if (output.trim().length > 0)
267
+ // An exit-0 run whose last step never got a step_finish is truncated
268
+ // (anomalyco/opencode#50514): fall through to the nudge retry.
269
+ truncated = parsed !== undefined && !parsed.finished;
270
+ if (output.trim().length > 0 && !truncated)
187
271
  return { output, ...(parsed?.usage ? { usage: parsed.usage } : {}) };
188
272
  if (parsed && parsed.errorText) {
189
273
  // OpenCode can exit 0 with the session error only on stdout. Do not
190
274
  // nudge-retry into a usage cap or rate limit; let the router fail over.
191
275
  const classifyText = [stderr, parsed.errorText].filter(Boolean).join('\n');
192
- throw new HarnessError(`opencode run reported an error event: ${parsed.errorText.split('\n')[0]}`, classifyFailure(classifyText, 1), { exitCode: 0, stderr: stderr || undefined });
276
+ throw new HarnessError(`opencode run reported an error event: ${parsed.errorText.split('\n')[0]}`, classifyOpenCodeErrorType(parsed.errorType) ?? classifyFailure(classifyText, 1), { exitCode: 0, stderr: stderr || undefined, diagnostic: parsed.errorText });
193
277
  }
194
278
  }
195
- throw new HarnessError(`opencode CLI returned empty output (${MAX_ATTEMPTS} attempts)`, 'empty_response', {
196
- exitCode: 0,
197
- });
279
+ throw new HarnessError(truncated
280
+ ? `opencode run exited 0 without a final step_finish (${MAX_ATTEMPTS} attempts)`
281
+ : `opencode CLI returned empty output (${MAX_ATTEMPTS} attempts)`, 'empty_response', { exitCode: 0 });
198
282
  }
199
283
  finally {
200
284
  await rm(promptDir, { recursive: true, force: true });
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/harness/opencode.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAA6B,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAgBtF,MAAM,GAAG,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1F;;;;uDAIuD;AACvD,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,KAAU,CAAC;QACf,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QAC5G,QAAQ,GAAG,IAAI,CAAC;QAEhB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;YAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACtF,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;YAClC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAE,SAAS;YAC3F,QAAQ,GAAG,IAAI,CAAC;YAChB,QAAQ,EAAE,CAAC;YACX,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YACtB,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;YACxB,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrC,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACvC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;YAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3D,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,OAAO,IAAI,EAAE,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/F,IAAI,OAAO,IAAI,EAAE,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7E,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,WAAW,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU;oBAC3C,YAAY,EAAE,MAAM,GAAG,SAAS;oBAChC,cAAc,EAAE,KAAK;oBACrB,eAAe,EAAE,SAAS;oBAC1B,mBAAmB,EAAE,UAAU;oBAC/B,QAAQ;oBACR,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED;mFACmF;AACnF,MAAM,UAAU,sBAAsB,CACpC,aAAiC,EACjC,MAA0B,EAC1B,KAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO,WAAW,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC;IACvG,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,OAAO,GAAG,QAAQ,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AACzF,CAAC;AAED,kLAAkL;AAClL,MAAM,OAAO,eAAe;IAQhB,MAAM;IAPP,EAAE,GAAG,UAAU,CAAC;IAChB,OAAO,GAAG,IAAI,CAAC;IAEP,YAAY,CAAuB;IAC5C,YAAY,CAA+B;IAEnD,YACU,MAAM,GAAmB,aAAa,EAC9C,YAAmC;sBAD3B,MAAM;QAGd,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,2EAA2E;IACnE,eAAe;QACrB,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAuB;QAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QACnF,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;QACzD,MAAM,WAAW,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACnF,MAAM,SAAS,GAAG,sBAAsB,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAE5E,2EAA2E;QAC3E,uEAAuE;QACvE,uEAAuE;QACvE,4EAA4E;QAC5E,MAAM,mBAAmB,GACvB,oJAAoJ,CAAC;QACvJ,MAAM,YAAY,GAAG,CAAC,CAAC;QAEvB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAEjD,IAAI,CAAC;YACH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC;gBACzD,MAAM,aAAa,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,mBAAmB,CAAC;gBAC5E,2EAA2E;gBAC3E,0EAA0E;gBAC1E,yEAAyE;gBACzE,qEAAqE;gBACrE,qEAAqE;gBACrE,0EAA0E;gBAC1E,yEAAyE;gBACzE,wEAAwE;gBACxE,0EAA0E;gBAC1E,sCAAsC;gBACtC,2EAA2E;gBAC3E,kDAAkD;gBAClD,MAAM,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;gBACnD,MAAM,GAAG,GAAG,qCAAqC,SAAS,MAAM,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBAE1F,IAAI,CAAC;oBACH,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;wBAC3C,GAAG,EAAE,QAAQ;wBACb,SAAS,EAAE,cAAc,GAAG,IAAI;wBAChC,iDAAiD;wBACjD,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;wBAC3B,GAAG;wBACH,MAAM;qBACP,CAAC,CAAC,CAAC;gBACN,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,uEAAuE;oBACvE,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvG,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBACrF,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE;wBACzD,QAAQ,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;wBAC7D,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;wBACzF,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;wBAC/D,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;qBAC/C,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnG,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC/B,oEAAoE;oBACpE,wEAAwE;oBACxE,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3E,MAAM,IAAI,YAAY,CACpB,yCAAyC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAC1E,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,EAChC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,CAC7C,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,IAAI,YAAY,CAAC,uCAAuC,YAAY,YAAY,EAAE,gBAAgB,EAAE;gBACxG,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/harness/opencode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { ExecFn } from '../utils/exec.js';
2
+ import type { CodingHarness, HarnessRequest, HarnessResult, HarnessUsage } from './index.js';
3
+ export type PiExecFn = ExecFn;
4
+ export interface ParsedPiJson {
5
+ /** Text of the last assistant `message_end`; '' when none. */
6
+ text: string;
7
+ /** Summed assistant `message_end` usage; undefined when no message reported numeric tokens. */
8
+ usage?: HarnessUsage;
9
+ /** `stopReason` of the last assistant `message_end`. */
10
+ lastStopReason?: string;
11
+ /** `aborted` of the last `agent_settled` event; undefined when absent or non-boolean. */
12
+ aborted?: boolean;
13
+ /** One line per assistant `errorMessage`, `auto_retry_end.finalError` and `compaction_end.errorMessage`, in stream order; '' when none. */
14
+ errorText: string;
15
+ }
16
+ /** Parses `pi -p --mode json` JSONL. Returns undefined when stdout has no Pi event lines
17
+ * (an object with a string `type`). Pi frames records on LF only, so this splits on '\n' and
18
+ * strips one trailing CR; U+2028/U+2029 inside text must survive. Tolerant of malformed lines
19
+ * and unknown events. */
20
+ export declare function parsePiJson(stdout: string): ParsedPiJson | undefined;
21
+ /** Builds the headless `pi` invocation. providerModel is `<provider>/<model>`, split on the first '/'. */
22
+ export declare function buildPiCommand(providerModel: string | undefined, promptPath: string, effort?: string): string;
23
+ /** Runs a model via the Pi CLI: pi -p --mode json ... --provider <p> --model <m> [--thinking <level>] < prompt-file, executed with cwd = worktree.
24
+ * Pi can exit 0 after a failed response, so success is decided from the JSONL stream. */
25
+ export declare class PiHarness implements CodingHarness {
26
+ private execFn;
27
+ readonly id = "pi";
28
+ readonly agentic = true;
29
+ constructor(execFn?: PiExecFn);
30
+ run(request: HarnessRequest): Promise<HarnessResult>;
31
+ }
32
+ //# sourceMappingURL=pi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../src/harness/pi.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,KAAK,EAAE,aAAa,EAAwB,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGnH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,WAAW,YAAY;IAC3B,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2IAA2I;IAC3I,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD;;;0BAG0B;AAC1B,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAyEpE;AAED,0GAA0G;AAC1G,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAiB7G;AAED;0FAC0F;AAC1F,qBAAa,SAAU,YAAW,aAAa;IAIjC,OAAO,CAAC,MAAM;IAH1B,QAAQ,CAAC,EAAE,QAAQ;IACnB,QAAQ,CAAC,OAAO,QAAQ;IAExB,YAAoB,MAAM,GAAE,QAAwB,EAAI;IAElD,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA8EzD;CACF"}
@@ -0,0 +1,194 @@
1
+ // src/harness/pi.ts — CodingHarness adapter for the Pi coding agent CLI.
2
+ import { mkdtemp, rm, writeFile } from 'node:fs/promises';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import { wrapCommandInSandbox } from '../sandbox/index.js';
6
+ import { defaultExecFn } from '../utils/exec.js';
7
+ import { shellEscape } from '../utils/index.js';
8
+ import { classifyFailure } from './classify.js';
9
+ import { HarnessError } from './index.js';
10
+ /** Reasons an exit-0 Pi failure may be classified as; everything else stays a generic 'error'. */
11
+ const PI_PROVIDER_REASONS = new Set(['rate_limit', 'usage_cap', 'local_auth']);
12
+ const num = (v) => (typeof v === 'number' && Number.isFinite(v) ? v : 0);
13
+ /** Parses `pi -p --mode json` JSONL. Returns undefined when stdout has no Pi event lines
14
+ * (an object with a string `type`). Pi frames records on LF only, so this splits on '\n' and
15
+ * strips one trailing CR; U+2028/U+2029 inside text must survive. Tolerant of malformed lines
16
+ * and unknown events. */
17
+ export function parsePiJson(stdout) {
18
+ let lastText = '';
19
+ let lastStopReason;
20
+ let aborted;
21
+ const errors = [];
22
+ let sawEvent = false;
23
+ let sawUsage = false;
24
+ let numTurns = 0;
25
+ let input = 0;
26
+ let output = 0;
27
+ let cacheRead = 0;
28
+ let cacheWrite = 0;
29
+ let cost = 0;
30
+ for (const raw of stdout.split('\n')) {
31
+ const line = raw.endsWith('\r') ? raw.slice(0, -1) : raw;
32
+ if (!line.trim())
33
+ continue;
34
+ let event;
35
+ try {
36
+ event = JSON.parse(line);
37
+ }
38
+ catch {
39
+ continue;
40
+ }
41
+ if (!event || typeof event !== 'object' || Array.isArray(event) || typeof event.type !== 'string')
42
+ continue;
43
+ sawEvent = true;
44
+ if (event.type === 'message_end' && event.message?.role === 'assistant') {
45
+ const message = event.message;
46
+ const content = Array.isArray(message.content) ? message.content : [];
47
+ lastText = content
48
+ .map((part) => (part?.type === 'text' && typeof part.text === 'string' ? part.text : ''))
49
+ .join('');
50
+ lastStopReason = typeof message.stopReason === 'string' ? message.stopReason : undefined;
51
+ if (typeof message.errorMessage === 'string' && message.errorMessage.trim())
52
+ errors.push(message.errorMessage);
53
+ const usage = message.usage;
54
+ if (usage && Number.isFinite(usage.input) && Number.isFinite(usage.output)) {
55
+ sawUsage = true;
56
+ numTurns++;
57
+ input += usage.input;
58
+ output += usage.output;
59
+ cacheRead += num(usage.cacheRead);
60
+ cacheWrite += num(usage.cacheWrite);
61
+ cost += num(usage.cost?.total);
62
+ }
63
+ }
64
+ else if (event.type === 'agent_settled') {
65
+ aborted = typeof event.aborted === 'boolean' ? event.aborted : undefined;
66
+ }
67
+ else if (event.type === 'auto_retry_end' && typeof event.finalError === 'string' && event.finalError.trim()) {
68
+ errors.push(event.finalError);
69
+ }
70
+ else if (event.type === 'compaction_end' && typeof event.errorMessage === 'string' && event.errorMessage.trim()) {
71
+ errors.push(event.errorMessage);
72
+ }
73
+ }
74
+ if (!sawEvent)
75
+ return undefined;
76
+ return {
77
+ text: lastText,
78
+ lastStopReason,
79
+ aborted,
80
+ errorText: errors.join('\n'),
81
+ ...(sawUsage
82
+ ? {
83
+ usage: {
84
+ inputTokens: input + cacheRead + cacheWrite,
85
+ outputTokens: output,
86
+ rawInputTokens: input,
87
+ cacheReadTokens: cacheRead,
88
+ cacheCreationTokens: cacheWrite,
89
+ numTurns,
90
+ ...(cost > 0 ? { costUsd: cost } : {}),
91
+ },
92
+ }
93
+ : {}),
94
+ };
95
+ }
96
+ /** Builds the headless `pi` invocation. providerModel is `<provider>/<model>`, split on the first '/'. */
97
+ export function buildPiCommand(providerModel, promptPath, effort) {
98
+ const slash = providerModel?.indexOf('/') ?? -1;
99
+ if (!providerModel || slash <= 0 || slash === providerModel.length - 1) {
100
+ throw new HarnessError(`pi harness needs providerModel '<provider>/<model>' (got '${providerModel ?? ''}')`, 'error');
101
+ }
102
+ const provider = providerModel.slice(0, slash);
103
+ const id = providerModel.slice(slash + 1);
104
+ // -p --mode json: headless, JSONL events on stdout. --no-session: stateless run.
105
+ // --no-context-files: skip AGENTS.md/CLAUDE.md (the prompt already embeds the constitution).
106
+ // --no-extensions/--no-skills/--no-prompt-templates/--no-mcp: no repo-controlled code or tools.
107
+ // --no-approve: do not trust repo .pi/ project config. --offline: skip update/telemetry checks.
108
+ // --thinking: factory effort; Pi calls "no thinking" off, not none.
109
+ const thinkingArg = effort === undefined ? '' : ` --thinking ${shellEscape(effort === 'none' ? 'off' : effort)}`;
110
+ return `pi -p --mode json --no-session --no-context-files --no-extensions --no-skills --no-prompt-templates --no-mcp --no-approve --offline --provider ${shellEscape(provider)} --model ${shellEscape(id)}${thinkingArg} < ${shellEscape(promptPath)}`;
111
+ }
112
+ /** Runs a model via the Pi CLI: pi -p --mode json ... --provider <p> --model <m> [--thinking <level>] < prompt-file, executed with cwd = worktree.
113
+ * Pi can exit 0 after a failed response, so success is decided from the JSONL stream. */
114
+ export class PiHarness {
115
+ execFn;
116
+ id = 'pi';
117
+ agentic = true;
118
+ constructor(execFn = defaultExecFn) {
119
+ this.execFn = execFn;
120
+ }
121
+ async run(request) {
122
+ const { model, prompt, worktree, timeoutSeconds, registry, sandbox, env, onPgid } = request;
123
+ const providerModel = registry.get(model)?.providerModel;
124
+ const effort = registry.getEffort(model, request.task);
125
+ const promptDir = await mkdtemp(join(tmpdir(), 'factory-pi-prompt-'));
126
+ const promptPath = join(promptDir, 'prompt.txt');
127
+ try {
128
+ const cmd = buildPiCommand(providerModel, promptPath, effort === undefined ? undefined : String(effort));
129
+ await writeFile(promptPath, prompt, 'utf8');
130
+ const finalCmd = sandbox ? wrapCommandInSandbox(cmd, sandbox) : cmd;
131
+ // ADR-0163: the native deepseek provider is refused; DeepSeek models go through an
132
+ // approved intermediary, so Pi must not be able to authenticate with the native key.
133
+ // ExecFn merges `env` over the parent env, so deleting the key would leave the parent's
134
+ // copy in place; an explicit undefined override removes it from the child.
135
+ const childEnv = { ...env, DEEPSEEK_API_KEY: undefined };
136
+ let stdout;
137
+ let stderr;
138
+ try {
139
+ ({ stdout, stderr } = await this.execFn(finalCmd, {
140
+ cwd: worktree,
141
+ timeoutMs: timeoutSeconds * 1000,
142
+ maxBuffer: 64 * 1024 * 1024,
143
+ env: childEnv,
144
+ onPgid,
145
+ }));
146
+ }
147
+ catch (err) {
148
+ const jsonErr = typeof err.stdout === 'string' ? (parsePiJson(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 = parsePiJson(stdout);
160
+ if (!parsed) {
161
+ throw new HarnessError('pi returned no JSON events', stdout.trim() ? 'error' : 'empty_response', {
162
+ exitCode: 0,
163
+ stderr,
164
+ });
165
+ }
166
+ const detail = parsed.errorText ? `: ${parsed.errorText.split('\n')[0]}` : '';
167
+ if (parsed.aborted === true) {
168
+ throw new HarnessError(`pi run was aborted (agent_settled.aborted true)${detail}`, 'error', {
169
+ exitCode: 0,
170
+ stderr: stderr || undefined,
171
+ });
172
+ }
173
+ if (parsed.lastStopReason === 'length') {
174
+ throw new HarnessError(`pi response hit the output length limit (stopReason length)${detail}`, 'error', {
175
+ exitCode: 0,
176
+ stderr: stderr || undefined,
177
+ });
178
+ }
179
+ if (parsed.lastStopReason !== 'stop' || parsed.aborted !== false) {
180
+ const classified = classifyFailure([parsed.errorText, stderr].filter(Boolean).join('\n'), 0);
181
+ const reason = PI_PROVIDER_REASONS.has(classified) ? classified : 'error';
182
+ throw new HarnessError(`pi run did not finish cleanly (stopReason ${parsed.lastStopReason ?? 'missing'}, aborted ${String(parsed.aborted)})${detail}`, reason, { exitCode: 0, stderr: stderr || undefined, ...(parsed.errorText ? { diagnostic: parsed.errorText } : {}) });
183
+ }
184
+ if (parsed.text.trim() === '') {
185
+ throw new HarnessError('pi returned an empty final message', 'empty_response', { exitCode: 0 });
186
+ }
187
+ return { output: parsed.text, ...(parsed.usage ? { usage: parsed.usage } : {}) };
188
+ }
189
+ finally {
190
+ await rm(promptDir, { recursive: true, force: true });
191
+ }
192
+ }
193
+ }
194
+ //# sourceMappingURL=pi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/harness/pi.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -116,7 +116,8 @@ export type { AuthorDraftEpicDeps, AuthorDraftEpicOptions, AuthorDraftEpicResult
116
116
  export { authorDraftEpic, DEFAULT_OWNER_QUESTIONS, DISCOVERY_LABEL, EXPLORING_LABEL, ideaMarker, } from './discovery/author.js';
117
117
  export type { DiscoveryCandidate, DiscoveryScanDeps, DiscoveryScanOptions, DiscoveryScanResult, DiscoverySignal, DiscoverySignalSource, } from './discovery/index.js';
118
118
  export { DEFAULT_MAX_CANDIDATES, runDiscoveryScan } from './discovery/index.js';
119
- export type { AdvanceDraftEpicDeps, AdvanceDraftEpicOptions, AdvanceDraftEpicResult, DraftStory, EpicLifecycle, EpicView, GherkinScenario, } from './discovery/promote.js';
119
+ export type { AdvanceDraftEpicDeps, AdvanceDraftEpicOptions, AdvanceDraftEpicResult, DraftStory, EpicLifecycle, EpicView, } from './discovery/promote.js';
120
+ export type * from './discovery/gherkin-scenario.js';
120
121
  export { advanceDraftEpic, ARCHIVED_LABEL, classifyLifecycle, DEFAULT_MAX_STORIES, READY_LABEL, renderStoryBody, seedStories, VALIDATED_LABEL, WONTFIX_LABEL, } from './discovery/promote.js';
121
122
  export type { AutoIngestDeps, AutoIngestOptions, AutoIngestResult, FileOverlapSkip } from './ingest/index.js';
122
123
  export { issueFromFactoryBranch, runAutoIngest } from './ingest/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}