@claudexor/harness-opencode 1.0.1 → 2.1.2

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.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,28 @@
1
+ import type { CredentialProfile, CredentialProfileStatus } from "@claudexor/schema";
1
2
  import type { HarnessAdapter } from "@claudexor/core";
3
+ /**
4
+ * INV-135 strict profile routing, ONE owner for the run route and the doctor
5
+ * probe: an opencode profile is exactly its secret-ref API key, and the ref's
6
+ * NAMESPACED base selects the provider env var it rides (opencode is
7
+ * multi-provider by design). A bare ref would alias the engine-default slot;
8
+ * other kinds and missing secrets refuse typed, never the default ladder.
9
+ */
10
+ export declare function opencodeProfileKeyOrRefusal(profile: {
11
+ profile_id: string;
12
+ credential_kind: string;
13
+ secret_ref: string | null;
14
+ }, resolve?: (ref: string) => string | null): {
15
+ envVar: string;
16
+ value: string;
17
+ } | {
18
+ refusal: string;
19
+ reason: "misconfigured" | "missing_secret";
20
+ };
21
+ /**
22
+ * Doctor projection for one opencode profile (INV-135, release wave round-15
23
+ * #1): the SAME resolution the run route uses, mapped to a status. PRESENCE
24
+ * is the honest doctor fact for a stored key; liveness is the run's job.
25
+ */
26
+ export declare function probeOpencodeCredentialProfile(profile: CredentialProfile, resolve?: (ref: string) => string | null): CredentialProfileStatus;
2
27
  export declare function createOpenCodeAdapter(): HarnessAdapter;
3
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA0DlE,wBAAgB,qBAAqB,IAAI,cAAc,CAkGtD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EACjB,uBAAuB,EAIxB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAoElE;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,EACD,OAAO,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAoB,GAErD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAAA;CAAE,CAyBlE;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAoB,GACtD,uBAAuB,CAyBzB;AAmBD,wBAAgB,qBAAqB,IAAI,cAAc,CA8KtD"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { ConformanceReport as ConformanceReportSchema, HarnessManifest as HarnessManifestSchema } from "@claudexor/schema";
2
- import { HarnessUnavailableError, providerScrubEnv, runCapture, runCliHarness } from "@claudexor/core";
3
- import { resolveSecret } from "@claudexor/secrets";
4
- import { CLAUDEXOR_VERSION, redactSecrets } from "@claudexor/util";
1
+ import { ConformanceReport as ConformanceReportSchema, CredentialProfileStatus as CredentialProfileStatusSchema, HarnessManifest as HarnessManifestSchema, } from "@claudexor/schema";
2
+ import { HarnessUnavailableError, promptWithInstructions, providerScrubEnv, runCapture, runCliHarness, } from "@claudexor/core";
3
+ import { namespacedSecretRefBase, resolveSecret } from "@claudexor/secrets";
4
+ import { CLAUDEXOR_VERSION, nowIso, redactSecrets } from "@claudexor/util";
5
5
  import { parseOpenCodeEvent } from "./parse.js";
6
6
  const BIN = process.env.CLAUDEXOR_OPENCODE_BIN || "opencode";
7
7
  function accessArgs(access) {
@@ -47,9 +47,88 @@ function providerKey(env = process.env) {
47
47
  }
48
48
  return null;
49
49
  }
50
- function providerKeyAvailable() {
51
- return providerKey() !== null;
50
+ function providerKeyAvailable(env = process.env) {
51
+ return providerKey(env) !== null;
52
52
  }
53
+ /**
54
+ * INV-135 strict profile routing, ONE owner for the run route and the doctor
55
+ * probe: an opencode profile is exactly its secret-ref API key, and the ref's
56
+ * NAMESPACED base selects the provider env var it rides (opencode is
57
+ * multi-provider by design). A bare ref would alias the engine-default slot;
58
+ * other kinds and missing secrets refuse typed, never the default ladder.
59
+ */
60
+ export function opencodeProfileKeyOrRefusal(profile, resolve = resolveSecret) {
61
+ if (profile.credential_kind !== "api_key")
62
+ return {
63
+ refusal: `credential profile "${profile.profile_id}": opencode supports only the api_key transport`,
64
+ reason: "misconfigured",
65
+ };
66
+ const ref = profile.secret_ref ?? "";
67
+ const base = namespacedSecretRefBase(ref);
68
+ const envVar = base
69
+ ? { opencode: "OPENCODE_API_KEY", openai: "OPENAI_API_KEY", anthropic: "ANTHROPIC_API_KEY" }[base]
70
+ : undefined;
71
+ if (!envVar)
72
+ return {
73
+ refusal: `credential profile "${profile.profile_id}": api_key secret_ref must use a namespaced opencode/openai/anthropic slot (base:profile, e.g. opencode:${profile.profile_id}; got "${ref}")`,
74
+ reason: "misconfigured",
75
+ };
76
+ const value = resolve(ref);
77
+ if (!value)
78
+ return {
79
+ refusal: `credential profile "${profile.profile_id}": secret "${ref}" is not stored`,
80
+ reason: "missing_secret",
81
+ };
82
+ return { envVar, value };
83
+ }
84
+ /**
85
+ * Doctor projection for one opencode profile (INV-135, release wave round-15
86
+ * #1): the SAME resolution the run route uses, mapped to a status. PRESENCE
87
+ * is the honest doctor fact for a stored key; liveness is the run's job.
88
+ */
89
+ export function probeOpencodeCredentialProfile(profile, resolve = resolveSecret) {
90
+ const base = { profile_id: profile.profile_id, harness_id: "opencode" };
91
+ try {
92
+ const gate = opencodeProfileKeyOrRefusal(profile, resolve);
93
+ if ("refusal" in gate)
94
+ return CredentialProfileStatusSchema.parse({
95
+ ...base,
96
+ availability: "unavailable",
97
+ verification: gate.reason === "missing_secret" ? "not_run" : "failed",
98
+ detail: gate.refusal,
99
+ });
100
+ return CredentialProfileStatusSchema.parse({
101
+ ...base,
102
+ availability: "available",
103
+ verification: "not_run",
104
+ detail: `secret "${profile.secret_ref}" is stored`,
105
+ });
106
+ }
107
+ catch (err) {
108
+ return CredentialProfileStatusSchema.parse({
109
+ ...base,
110
+ availability: "unavailable",
111
+ verification: "failed",
112
+ detail: redactSecrets(err instanceof Error ? err.message : String(err)).slice(0, 300),
113
+ });
114
+ }
115
+ }
116
+ const OPENCODE_ENABLED_INTENTS = [
117
+ "implement",
118
+ "repair",
119
+ "create_from_scratch",
120
+ "verify",
121
+ "synthesize",
122
+ ];
123
+ const OPENCODE_DISABLED_INTENTS = [
124
+ "explain",
125
+ "audit",
126
+ "plan",
127
+ "spec",
128
+ "review",
129
+ "orchestrate",
130
+ ];
131
+ const ALL_OPENCODE_INTENTS = [...OPENCODE_ENABLED_INTENTS, ...OPENCODE_DISABLED_INTENTS];
53
132
  export function createOpenCodeAdapter() {
54
133
  return {
55
134
  id: "opencode",
@@ -87,31 +166,82 @@ export function createOpenCodeAdapter() {
87
166
  auth: {
88
167
  supported_sources: ["api_key_env"],
89
168
  preferred_source: authReady ? "api_key_env" : null,
90
- credential_transports: [{ source: "api_key_env", kind: "env_var", relocatable_by: ["ENV"] }],
169
+ credential_transports: [
170
+ { source: "api_key_env", kind: "env_var", relocatable_by: ["ENV"] },
171
+ ],
91
172
  },
92
173
  // HONEST access surface: the only permission flag the adapter drives
93
174
  // is `--dangerously-skip-permissions` (full access), so there is no
94
175
  // scoped readonly mechanism to declare (see access_profiles below).
95
176
  access_control: { readonly_mechanism: "none" },
96
177
  isolation: { supported_containment: ["env_or_file_injection"] },
97
- // No proven headless image input surface — attach is gated off until verified.
98
- image_input: "none",
178
+ attachment_inputs: [],
99
179
  },
100
180
  auth_modes: authReady ? ["api_key"] : [],
101
181
  access_profiles_supported: ["full", "inherit_native"],
102
182
  });
103
183
  },
104
- async doctor(_spec) {
184
+ async doctor(spec) {
105
185
  const version = await detectVersion();
186
+ const requestedSource = spec.authSource;
187
+ if (requestedSource !== undefined && requestedSource !== "api_key_env") {
188
+ return ConformanceReportSchema.parse({
189
+ harness_id: "opencode",
190
+ status: "unavailable",
191
+ checks: [
192
+ version === null
193
+ ? { id: "installed", status: "fail", detail: "opencode not found" }
194
+ : { id: "installed", status: "pass", detail: redactSecrets(version) },
195
+ {
196
+ id: "auth_source",
197
+ status: "fail",
198
+ detail: `opencode does not support ${requestedSource}`,
199
+ },
200
+ ],
201
+ enabled_intents: [],
202
+ disabled_intents: ALL_OPENCODE_INTENTS,
203
+ reasons: [
204
+ ...(version === null
205
+ ? ["opencode not found (install OpenCode or set CLAUDEXOR_OPENCODE_BIN)"]
206
+ : []),
207
+ `opencode does not support auth source ${requestedSource}`,
208
+ ],
209
+ auth_sources: [
210
+ {
211
+ source: requestedSource,
212
+ availability: "unavailable",
213
+ verification: "not_run",
214
+ detail: `opencode does not support ${requestedSource}`,
215
+ },
216
+ ],
217
+ });
218
+ }
219
+ const authReady = providerKeyAvailable({ ...process.env, ...spec.env });
220
+ const readiness = {
221
+ source: "api_key_env",
222
+ availability: authReady ? "available" : "unavailable",
223
+ verification: "not_run",
224
+ detail: authReady
225
+ ? "credential source is present; verification requires an isolated capability smoke"
226
+ : "no provider API key is configured",
227
+ };
106
228
  if (version === null) {
107
229
  return ConformanceReportSchema.parse({
108
230
  harness_id: "opencode",
109
231
  status: "unavailable",
110
- checks: [{ id: "installed", status: "fail", detail: "opencode not found" }],
111
- reasons: ["opencode not found (install OpenCode or set CLAUDEXOR_OPENCODE_BIN)"],
232
+ checks: [
233
+ { id: "installed", status: "fail", detail: "opencode not found" },
234
+ { id: "provider_auth", status: authReady ? "pass" : "fail", detail: readiness.detail },
235
+ ],
236
+ enabled_intents: [],
237
+ disabled_intents: ALL_OPENCODE_INTENTS,
238
+ reasons: [
239
+ "opencode not found (install OpenCode or set CLAUDEXOR_OPENCODE_BIN)",
240
+ ...(authReady ? [] : ["opencode provider auth not configured"]),
241
+ ],
242
+ auth_sources: [readiness],
112
243
  });
113
244
  }
114
- const authReady = providerKeyAvailable();
115
245
  // A key STRING is source availability, not readiness: without an isolated
116
246
  // smoke proving the route, the honest status is degraded (cursor parity).
117
247
  return ConformanceReportSchema.parse({
@@ -119,22 +249,37 @@ export function createOpenCodeAdapter() {
119
249
  // No auth source at all = unavailable; key-present-but-unproven = degraded.
120
250
  status: authReady ? "degraded" : "unavailable",
121
251
  checks: [
122
- { id: "installed", status: "pass", detail: version },
123
- { id: "provider_auth", status: authReady ? "pass" : "fail", detail: authReady ? "provider key available (unproven without isolated smoke)" : undefined },
124
- { id: "isolated_smoke", status: "skip", detail: "no isolated smoke implemented for opencode yet" },
125
- { id: "readonly_conformance", status: "skip", detail: "readonly not proven for opencode adapter yet" },
252
+ { id: "installed", status: "pass", detail: redactSecrets(version) },
253
+ {
254
+ id: "provider_auth",
255
+ status: authReady ? "pass" : "fail",
256
+ detail: authReady
257
+ ? "provider key available (unproven without isolated smoke)"
258
+ : undefined,
259
+ },
260
+ {
261
+ id: "isolated_smoke",
262
+ status: "skip",
263
+ detail: "no isolated smoke implemented for opencode yet",
264
+ },
265
+ {
266
+ id: "readonly_conformance",
267
+ status: "skip",
268
+ detail: "readonly not proven for opencode adapter yet",
269
+ },
126
270
  ],
127
271
  // COMPLETE intent bookkeeping: every declared-capability intent is in
128
272
  // exactly one list, so routing can never lose an intent to a gap
129
273
  // (review/plan/spec stay gated until an isolated smoke proves the
130
274
  // route — the same conformance bar explain/audit wait on).
131
- enabled_intents: authReady ? ["implement", "repair", "create_from_scratch", "verify", "synthesize"] : [],
132
- disabled_intents: authReady
133
- ? ["explain", "audit", "plan", "spec", "review", "orchestrate"]
134
- : ["implement", "repair", "create_from_scratch", "verify", "synthesize", "explain", "audit", "plan", "spec", "review", "orchestrate"],
275
+ enabled_intents: authReady ? OPENCODE_ENABLED_INTENTS : [],
276
+ disabled_intents: authReady ? OPENCODE_DISABLED_INTENTS : ALL_OPENCODE_INTENTS,
135
277
  reasons: authReady
136
- ? ["key present but route unproven (no isolated smoke); read-only and reviewer intents stay disabled until conformance-proven"]
278
+ ? [
279
+ "key present but route unproven (no isolated smoke); read-only and reviewer intents stay disabled until conformance-proven",
280
+ ]
137
281
  : ["opencode provider auth not configured"],
282
+ auth_sources: [readiness],
138
283
  });
139
284
  },
140
285
  run(spec) {
@@ -143,6 +288,12 @@ export function createOpenCodeAdapter() {
143
288
  review(spec) {
144
289
  return runOpenCode(spec);
145
290
  },
291
+ // INV-135 (release wave round-15 #1): a valid opencode profile must admit
292
+ // the route even when no default provider key exists — the orchestrator
293
+ // consults THIS probe to override the default auth verdict.
294
+ async probeCredentialProfile(profile) {
295
+ return probeOpencodeCredentialProfile(profile);
296
+ },
146
297
  };
147
298
  }
148
299
  async function* runOpenCode(spec) {
@@ -166,11 +317,30 @@ async function* runOpenCode(spec) {
166
317
  // Resume the thread's native opencode session (ses_...) as a follow-up turn.
167
318
  if (spec.resume_session_id)
168
319
  args.push("--session", spec.resume_session_id);
169
- args.push(spec.prompt);
320
+ // opencode has no native system-prompt flag; layer instructions as a delimited
321
+ // prompt prefix (the engine already withheld them from synthesis/reviewers).
322
+ args.push(promptWithInstructions(spec));
170
323
  // Doctor/run symmetry: resolve the key from the same sources doctor credits
171
324
  // (spec env first, then process env, then stored secrets) so a doctor "ok"
172
325
  // cannot precede a guaranteed-unauthenticated run.
173
- const key = providerKey({ ...process.env, ...spec.env });
326
+ const profile = spec.credential_profile;
327
+ let key;
328
+ if (profile) {
329
+ // INV-135 strict profile routing — the same single owner the doctor
330
+ // probe consults (opencodeProfileKeyOrRefusal). The refusal rides the
331
+ // TYPED stream shape (error then completed) like every other adapter's
332
+ // profile gate (round-18 scope) — one refusal mechanism across the five.
333
+ const gate = opencodeProfileKeyOrRefusal(profile);
334
+ if ("refusal" in gate) {
335
+ yield { type: "error", session_id: spec.session_id, ts: nowIso(), error: gate.refusal };
336
+ yield { type: "completed", session_id: spec.session_id, ts: nowIso() };
337
+ return;
338
+ }
339
+ key = gate;
340
+ }
341
+ else {
342
+ key = providerKey({ ...process.env, ...spec.env });
343
+ }
174
344
  // Unified provider scrub (cross-provider leak fix): clear EVERY known provider
175
345
  // secret/redirect from the child, then re-add ONLY the single key opencode's
176
346
  // chosen provider route needs. The shared runner starts from process.env, so
@@ -188,7 +358,21 @@ async function* runOpenCode(spec) {
188
358
  env,
189
359
  label: "opencode",
190
360
  redact: redactSecrets,
191
- parseEvent: parseOpenCodeEvent,
361
+ parseEvent: (obj, sessionId) => {
362
+ const out = parseOpenCodeEvent(obj, sessionId);
363
+ if (out) {
364
+ // Route evidence (release wave tier1 #5): opencode always runs the
365
+ // managed key route; profiled runs additionally stamp their profile
366
+ // so the attempt's auth receipt stays attributable.
367
+ for (const ev of out) {
368
+ ev.credential_route = "managed_api_key";
369
+ ev.credential_source = "api_key_env";
370
+ if (profile)
371
+ ev.credential_profile_id = profile.profile_id;
372
+ }
373
+ }
374
+ return out;
375
+ },
192
376
  });
193
377
  }
194
378
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,mBAAmB,CAAC;AAGzE,KAAK,IAAI,GAAG,GAAG,CAAC;AAchB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,GAAG,IAAI,CA6FtF"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,mBAAmB,CAAC;AAGzE,KAAK,IAAI,GAAG,GAAG,CAAC;AAsBhB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,GAAG,IAAI,CAmItF"}
package/dist/parse.js CHANGED
@@ -7,7 +7,12 @@ function toolKindFor(name) {
7
7
  return "command";
8
8
  if (n.includes("glob") || n.includes("grep") || n.includes("search"))
9
9
  return "search";
10
- if (n.includes("edit") || n.includes("write") || n.includes("patch") || n.includes("read") || n.includes("file") || n === "ls")
10
+ if (n.includes("edit") ||
11
+ n.includes("write") ||
12
+ n.includes("patch") ||
13
+ n.includes("read") ||
14
+ n.includes("file") ||
15
+ n === "ls")
11
16
  return "file";
12
17
  if (n.includes("mcp"))
13
18
  return "mcp";
@@ -24,22 +29,43 @@ export function parseOpenCodeEvent(obj, sessionId) {
24
29
  const ts = nowIso();
25
30
  const type = String(obj?.type ?? "");
26
31
  if (type === "error") {
27
- return [{ type: "error", session_id: sessionId, ts, error: String(obj.error ?? obj.message ?? "opencode error") }];
32
+ return [
33
+ {
34
+ type: "error",
35
+ session_id: sessionId,
36
+ ts,
37
+ error: String(obj.error ?? obj.message ?? "opencode error"),
38
+ },
39
+ ];
28
40
  }
29
41
  if (type === "session" || type === "start" || type === "init") {
30
42
  // Surface the native session id (ses_...) so the engine can resume this thread.
31
- const nativeId = typeof obj.sessionID === "string" ? obj.sessionID : typeof obj.session_id === "string" ? obj.session_id : typeof obj.session?.id === "string" ? obj.session.id : undefined;
32
- return [{
43
+ const nativeId = typeof obj.sessionID === "string"
44
+ ? obj.sessionID
45
+ : typeof obj.session_id === "string"
46
+ ? obj.session_id
47
+ : typeof obj.session?.id === "string"
48
+ ? obj.session.id
49
+ : undefined;
50
+ return [
51
+ {
33
52
  type: "started",
34
53
  session_id: sessionId,
35
54
  ts,
36
55
  observed_model: typeof obj.model === "string" ? obj.model : undefined,
37
56
  ...(nativeId ? { payload: { native_session_id: nativeId } } : {}),
38
- }];
57
+ },
58
+ ];
39
59
  }
40
60
  // Text parts can arrive under several shapes across versions.
41
61
  const text = obj.text ?? obj.part?.text ?? obj.message?.text ?? obj.delta?.text;
42
- if ((type === "message" || type === "text" || type === "assistant" || type === "part" || type.startsWith("message.part")) && typeof text === "string" && text) {
62
+ if ((type === "message" ||
63
+ type === "text" ||
64
+ type === "assistant" ||
65
+ type === "part" ||
66
+ type.startsWith("message.part")) &&
67
+ typeof text === "string" &&
68
+ text) {
43
69
  return [{ type: "message", session_id: sessionId, ts, text }];
44
70
  }
45
71
  // Tool lifecycle: flat `tool`/`tool_call` events and part-based shapes with a state.
@@ -47,7 +73,11 @@ export function parseOpenCodeEvent(obj, sessionId) {
47
73
  if (type === "tool" || type === "tool_call" || (typeof partTool === "string" && partTool)) {
48
74
  const name = String(obj.tool ?? obj.name ?? partTool ?? "tool");
49
75
  const status = String(obj.status ?? obj.part?.state?.status ?? obj.state?.status ?? "");
50
- const target = boundedTarget(obj.path ?? obj.args?.path ?? obj.part?.path ?? obj.args?.command ?? obj.part?.state?.input?.command);
76
+ const target = boundedTarget(obj.path ??
77
+ obj.args?.path ??
78
+ obj.part?.path ??
79
+ obj.args?.command ??
80
+ obj.part?.state?.input?.command);
51
81
  const useId = stringOrUndef(obj.id ?? obj.call_id ?? obj.part?.id);
52
82
  const tool = { name, kind: toolKindFor(name), use_id: useId, target };
53
83
  if (status === "error" || status === "failed") {
@@ -75,14 +105,22 @@ export function parseOpenCodeEvent(obj, sessionId) {
75
105
  ];
76
106
  if (EDIT_TOOLS.test(name)) {
77
107
  const path = obj.path ?? obj.args?.path ?? obj.part?.path ?? obj.part?.state?.input?.filePath;
78
- events.push({ type: "file_change", session_id: sessionId, ts, tool: { name, kind: "file", use_id: useId }, payload: { path, tool: name } });
108
+ events.push({
109
+ type: "file_change",
110
+ session_id: sessionId,
111
+ ts,
112
+ tool: { name, kind: "file", use_id: useId },
113
+ payload: { path, tool: name },
114
+ });
79
115
  }
80
116
  return events;
81
117
  }
82
118
  // Pending/running (or legacy shape without status): a tool call start.
83
119
  if (EDIT_TOOLS.test(name) && !status) {
84
120
  const path = obj.path ?? obj.args?.path ?? obj.part?.path;
85
- return [{ type: "file_change", session_id: sessionId, ts, tool, payload: { path, tool: name } }];
121
+ return [
122
+ { type: "file_change", session_id: sessionId, ts, tool, payload: { path, tool: name } },
123
+ ];
86
124
  }
87
125
  return [{ type: "tool_call", session_id: sessionId, ts, text: name, tool }];
88
126
  }
package/dist/parse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claudexor/harness-opencode",
3
- "version": "1.0.1",
3
+ "version": "2.1.2",
4
4
  "license": "MIT",
5
5
  "description": "OpenCode adapter (opencode run --format json).",
6
6
  "type": "module",
@@ -16,10 +16,10 @@
16
16
  "dist"
17
17
  ],
18
18
  "dependencies": {
19
- "@claudexor/secrets": "1.0.1",
20
- "@claudexor/util": "1.0.1",
21
- "@claudexor/core": "1.0.1",
22
- "@claudexor/schema": "1.0.1"
19
+ "@claudexor/core": "2.1.2",
20
+ "@claudexor/secrets": "2.1.2",
21
+ "@claudexor/schema": "2.1.2",
22
+ "@claudexor/util": "2.1.2"
23
23
  },
24
24
  "repository": {
25
25
  "type": "git",
@@ -36,6 +36,9 @@
36
36
  "publishConfig": {
37
37
  "access": "public"
38
38
  },
39
+ "devDependencies": {
40
+ "yaml": "^2.6.1"
41
+ },
39
42
  "scripts": {
40
43
  "build": "tsc",
41
44
  "typecheck": "tsc --noEmit"