@loompad/cli 1.2.4 → 1.2.5

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/CHANGELOG.md CHANGED
@@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.2.5] — 2026-10-25
11
+
12
+ Fixes from a day of real use farming builds out to codex, antigravity and opencode: Loom no longer kills turns when it updates, every agent starts (and says why when it can't), and scripts get honest exits.
13
+
14
+ ### Changed
15
+
16
+ - **`loom init` keeps `.loom/` out of git when no one's there to ask.** In a script (no terminal), it now adds `.loom/` to `.gitignore` instead of printing a tip that agents skim past — the folder holds the event log and transcripts. `--no-gitignore` leaves `.gitignore` alone; in a terminal it still asks.
17
+
18
+ ### Added
19
+
20
+ - **`loom agents:mode <agent> [bypass|auto|ask]`** — see what each access mode means for that agent and switch it. Codex's default (Auto) is its `workspace-write` sandbox: no network and a read-only `.git`, so it can edit files but not commit, push or reach a dev server; **Bypass** lifts the sandbox. `loom agents` now shows each agent's access on a second line.
21
+
22
+ ### Fixed
23
+
24
+ - **A turn that reports no cost says so.** `send --wait --json` gave `costUsd: 0` for a subscription CLI's turn (a 3.6-minute codex run), which reads as "free"; it's now `null` — not reported.
25
+ - **Updating the CLI no longer kills running turns.** A `loom` command run with a newer CLI restarted a daemon on an older build automatically — and took every turn in flight down with it (three long `send --wait` runs died this way in the field). It now leaves a busy daemon alone and says how to restart once the turns finish; `loom up --restart` refuses too while turns run, unless you add `--force`.
26
+ - **`send --wait` says when a restart interrupted the turn**, instead of "event log is closed" or "fetch failed": it exits 75, names the agent, and gives the command to carry on (`--json`: `{"status":"interrupted", …, "resume": "…"}`).
27
+ - **`send` to an agent without the baton, from a script, no longer exits 0 having sent nothing.** It printed a yes/no prompt nobody could answer and quietly did nothing. With no terminal (or with `--json`) it now fails with a clear message; **`--handoff`** takes the baton and sends.
28
+ - **antigravity no longer ends a build turn on "I'll await the notification".** Agents that started tests in the background and said they'd wait to be notified ended the turn right there — nothing wakes a headless agent — leaving the work half done and uncommitted (2 of 2 field build turns). Every antigravity turn now says the turn ends at its reply and to run tests and builds in the foreground.
29
+ - **A dead opencode server ends its turn at once.** If `opencode serve` died mid-turn, the turn kept polling the dead port for up to an hour and the agent answered "busy" until `loom reap`. Now the turn ends with what happened, and the next send starts a new server.
30
+ - **An opencode session that silently swallows prompts no longer hangs every turn.** A session bound to a model opencode's session engine can't run (`opencode/big-pickle` on 1.18.31) took each prompt, stored nothing and stayed "busy" forever, and Loom reused that session every time — every send timed out. Loom now notices within 45s that the prompt never reached the session, carries on once in a fresh session (which takes opencode's current default model), and if that fails too, says which model and where opencode's log is.
31
+ - **opencode never started when `OPENCODE_SERVER_PASSWORD` was set.** opencode serve then requires a password on every request, and Loom's own readiness checks didn't send one — every start ended in "timed out waiting for condition" after 30s. A server Loom starts now gets a random password of its own (so nothing else on the machine can drive the agent through its port), and every request carries it; a server you run (`baseUrl`) uses your `OPENCODE_SERVER_PASSWORD`.
32
+ - **opencode says why it didn't start.** "timed out waiting for condition" now names what it waited for and shows the last thing `opencode serve` printed — or that it exited early — with how to check it yourself.
33
+ - `loom agents` (and `agents:available`) outside a project said "no Loom project here" and stopped; it now lists the agents this machine can drive, with `loom init` as the next step (`--json` gives `{ project: null, machine: [...] }`).
34
+ - `loom status` inside a project now lists that project first, marked **← here**, so "is my turn running here?" doesn't mean scanning the whole board.
35
+
10
36
  ## [1.2.4] — 2026-10-22
11
37
 
12
38
  Team auto-orchestration, set up in one step and steadier on a teammate's machine.
@@ -32,6 +32,13 @@
32
32
  */
33
33
  import type { SendInput } from "../types.js";
34
34
  import { AdapterBase } from "./base.js";
35
+ /**
36
+ * agy --print is one turn: it ends when the agent replies. Agents that start tests in the
37
+ * background and say they'll "await the completion notification" end the turn right there —
38
+ * nothing ever wakes them, and the work is left half done and uncommitted (field: 2 of 2
39
+ * build turns). Said on every turn, after the user's text.
40
+ */
41
+ export declare const HEADLESS_NOTE: string;
35
42
  /**
36
43
  * Where the agy CLI is on this machine: an explicit override, then PATH, then
37
44
  * the installer's default location — the daemon may have been started from a
@@ -36,6 +36,14 @@ import os from "node:os";
36
36
  import path from "node:path";
37
37
  import { AdapterBase, agentEnv, cliAvailable, frameBriefing } from "./base.js";
38
38
  import { permissionFor } from "../core/permissions.js";
39
+ /**
40
+ * agy --print is one turn: it ends when the agent replies. Agents that start tests in the
41
+ * background and say they'll "await the completion notification" end the turn right there —
42
+ * nothing ever wakes them, and the work is left half done and uncommitted (field: 2 of 2
43
+ * build turns). Said on every turn, after the user's text.
44
+ */
45
+ export const HEADLESS_NOTE = "(Loom runs you headless: this turn ends the moment you reply, and nothing will notify or wake you later. " +
46
+ "Run tests, builds and servers in the foreground and wait for them to finish before you answer — don't start them in the background to check on later.)";
39
47
  /** agy's own --print-timeout is 5 minutes; a review of a real diff took longer (#246). */
40
48
  const DEFAULT_TIMEOUT_MS = 15 * 60_000;
41
49
  /** The installer drops the binary here; it isn't always on the daemon's PATH. */
@@ -123,7 +131,7 @@ export class AntigravityCliAdapter extends AdapterBase {
123
131
  // `agy --print` has no system channel, so the handoff briefing rides in
124
132
  // front of the text as an unmissable authoritative block (see frameBriefing),
125
133
  // exactly as the Codex and OpenCode adapters do.
126
- const text = input.briefing ? `${frameBriefing(input.briefing)}\n\n${input.text}` : input.text;
134
+ const text = `${input.briefing ? `${frameBriefing(input.briefing)}\n\n` : ""}${input.text}\n\n${HEADLESS_NOTE}`;
127
135
  const resume = this.conversationId;
128
136
  // Permissions (core/permissions.ts). Bypass is the default and has to be
129
137
  // explicit: headless, with no one to answer, any tool agy wants to confirm
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity-cli.js","sourceRoot":"","sources":["../../src/adapters/antigravity-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"antigravity-cli.js","sourceRoot":"","sources":["../../src/adapters/antigravity-cli.ts"],"names":[],"mappings":"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"}
@@ -115,9 +115,11 @@ export declare function forgetProbes(key?: string): void;
115
115
  export declare function cliAvailable(cmd: string, args?: string[], timeoutMs?: number): Promise<boolean>;
116
116
  /** Grab an ephemeral free TCP port. */
117
117
  export declare function freePort(): Promise<number>;
118
- export declare function waitFor(probe: () => Promise<boolean>, { timeoutMs, intervalMs }?: {
119
- timeoutMs?: number | undefined;
120
- intervalMs?: number | undefined;
118
+ export declare function waitFor(probe: () => Promise<boolean>, { timeoutMs, intervalMs, what, gaveUp }?: {
119
+ timeoutMs?: number;
120
+ intervalMs?: number;
121
+ what?: string | (() => string);
122
+ gaveUp?: () => string | null;
121
123
  }): Promise<void>;
122
124
  export declare function fetchJson<T>(url: string, init?: RequestInit, timeoutMs?: number): Promise<T>;
123
125
  export {};
@@ -418,14 +418,19 @@ export function freePort() {
418
418
  srv.on("error", reject);
419
419
  });
420
420
  }
421
- export async function waitFor(probe, { timeoutMs = 30_000, intervalMs = 300 } = {}) {
421
+ export async function waitFor(probe, { timeoutMs = 30_000, intervalMs = 300, what, gaveUp } = {}) {
422
422
  const deadline = Date.now() + timeoutMs;
423
423
  while (Date.now() < deadline) {
424
424
  if (await probe().catch(() => false))
425
425
  return;
426
+ // the thing being waited on can say it's never coming (a server that exited)
427
+ const why = gaveUp?.();
428
+ if (why)
429
+ throw new Error(why);
426
430
  await new Promise((r) => setTimeout(r, intervalMs));
427
431
  }
428
- throw new Error("timed out waiting for condition");
432
+ const label = typeof what === "function" ? what() : what;
433
+ throw new Error(label ? `timed out after ${Math.round(timeoutMs / 1000)}s waiting for ${label}` : "timed out waiting for condition");
429
434
  }
430
435
  export async function fetchJson(url, init, timeoutMs = 15_000) {
431
436
  const res = await fetch(url, { ...init, signal: AbortSignal.timeout(timeoutMs) });
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/adapters/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,GAAG,MAAM,UAAU,CAAC;AAS3B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAKzD,MAAM,OAAgB,SAAS;IACpB,EAAE,CAAS;IACX,IAAI,CAAS;IACZ,UAAU,CAAS;IACV,WAAW,CAAkB;IACxC,SAAS,GAAG,IAAI,GAAG,EAAW,CAAC;IAC/B,SAAS,GAAG,IAAI,GAAG,EAAY,CAAC;IAExC,YAAY,EAAU,EAAE,IAAY,EAAE,UAAkB;QACtD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,CAAC,EAAW;QACjB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAES,IAAI,CAAC,CAAe;QAC5B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,EAAE,CAAC,CAAC,CAAC,CAAC;YACR,CAAC;YAAC,MAAM,CAAC;gBACP,iDAAiD;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,EAAY;QACnB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACO,UAAU,CAAC,IAAY,EAAE,SAAS,GAAG,KAAK;QAClD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,CAAC,GAAgB,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACxE,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,EAAE,CAAC,CAAC,CAAC,CAAC;YACR,CAAC;YAAC,MAAM,CAAC;gBACP,2CAA2C;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,IAAI,EAAE,SAAS;IACf,+EAA+E;IAC/E,GAAG,EAAE,KAAK;CACX,CAAC;AASF,MAAM,OAAgB,WAAY,SAAQ,SAAS;IACxC,YAAY,GAAsB,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC7D,KAAK,GAAG,KAAK,CAAC;IACd,cAAc,CAA0B;IAExC,eAAe,CAAC,KAAgB;QACxC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;IACS,aAAa,KAAW,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,KAAmB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK;gBAC9E,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACpF,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,yDAAyD,EAAE,CAAC,CAAC;IACvI,CAAC;IAQD,iEAAiE;IACjE,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAChF,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC9D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED;kFACkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,KAAmB,EAAE,IAA4B;IACjF,IAAI,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,MAAM,KAAK,GAAG,CAAC,KAAsB,EAAE,EAAE;QACvC,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACnF,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC;YACrB,IAAI,KAAK,GAAG,UAAU,EAAE,CAAC;gBACvB,MAAM,GAAG,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC,CAAC;gBAAC,OAAO;YACzH,CAAC;YACD,IAAI,OAAO,GAAG,CAAC;gBAAE,MAAM;YACvB,KAAK,GAAG,CAAC,CAAC;YAAC,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;oFACoF;AACpF,MAAM,UAAU,eAAe,CAAC,KAAmB,EAAE,IAA4B;IAC/E,IAAI,KAAgC,EAAE,QAAoC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,OAAO;QACvB,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACnC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC3B,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,0EAA0E,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACnJ,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,IAAI,EAAE;QAChB,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAI,KAAK,CAAC,GAAG;YAAE,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC;AAED;8EAC8E;AAC9E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAmB,EAAE,YAAY,GAAG,KAAK;IAC9E,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,YAAY,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;YACrF,CAAC,CAAC,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,uBAAuB,CAAC,8CAA8C,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACpL,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACzD,IAAI,YAAY,IAAI,KAAK,CAAC,GAAG;YAAE,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,IAAI,KAAqB,EAAE,QAAwB,CAAC;QACpD,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnG,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,IAAI,YAAY,IAAI,KAAK,CAAC,GAAG;YAAE,KAAK,mBAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;;YAAM,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1I,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,KAAqB,EAAE,EAAE,GAAG,IAAI,YAAY,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAAC,IAAK,KAA+B,CAAC,IAAI,KAAK,OAAO;oBAAE,MAAM,KAAK,CAAC;YAAC,CAAC;QAAC,CAAC;;YAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxO,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3G,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,uBAAuB,CAAC,qEAAqE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9J,IAAI,CAAC;YAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;8EAE8E;AAC9E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA6B;IACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,MAAM,IAAI,uBAAuB,CAAC,uDAAuD,CAAC,CAAC;QAC3H,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IAC7D,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,uBAAuB,CAAC,2BAA2B,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAC3C,OAAO,KAAK,EAAE,CAAC;YAAC,IAAK,KAA+B,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;YAAC,MAAM,IAAI,uBAAuB,CAAC,uCAAuC,GAAG,sBAAsB,CAAC,CAAC;QAAC,CAAC;IAC7L,CAAC,CAAC;IACF,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO;IACrB,MAAM,MAAM,GAAG,CAAC,KAAqB,EAAE,EAAE;QACvC,IAAI,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAAC,CAAC;QAClC,OAAO,KAAK,EAAE,CAAC;YAAC,IAAK,KAA+B,CAAC,IAAI,KAAK,OAAO;gBAAE,MAAM,IAAI,uBAAuB,CAAC,yCAAyC,GAAG,sBAAsB,CAAC,CAAC;QAAC,CAAC;IACjL,CAAC,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAAC,IAAI,MAAM,GAAG,KAAK,CAAC;IAC7C,OAAO,KAAK,EAAE,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,IAAI;YAAE,MAAM,IAAI,uBAAuB,CAAC,wBAAwB,GAAG,+DAA+D,CAAC,CAAC;QAC9J,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;YAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC;QAAC,CAAC;QAChF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,MAAM,OAAgB,UAAW,SAAQ,SAAS;IACvC,YAAY,GAAsB;QACzC,IAAI,EAAE,QAAQ;QACd,wEAAwE;QACxE,gEAAgE;QAChE,GAAG,EAAE,KAAK;KACX,CAAC;CAKH;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,OAAO;QACL,wEAAwE;QACxE,wEAAwE;QACxE,2EAA2E;QAC3E,4EAA4E;QAC5E,iEAAiE;QACjE,2DAA2D;QAC3D,EAAE;QACF,CAAC;QACD,6DAA6D;KAC9D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ;IACtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IAChD,MAAM,GAAG,GAAsB,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IACE,GAAG,KAAK,YAAY;YACpB,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC;YAC9B,GAAG,KAAK,0BAA0B;YAClC,GAAG,KAAK,eAAe;YACvB,GAAG,KAAK,oBAAoB;YAC5B,GAAG,KAAK,SAAS;YACjB,GAAG,KAAK,UAAU,EAClB,CAAC;YACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sHAAsH;AACtH,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,IAAc,EAAE,SAAS,GAAG,KAAK;IACtE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9G,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM;gBAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM;gBAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACrF,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,4CAA4C;IAC5C,OAAO,CAAC,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAEvH;;;;;;;GAOG;AACH;;;;;;GAMG;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsE,CAAC;AAC7F,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,KAA6B,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE;IAC3G,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,GAAG,EAAE,OAAO;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IACrC,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnG,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACxD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,OAAO,OAAO,CAAC;AACjB,CAAC;AACD,4FAA4F;AAC5F,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,CAAC,KAAK,EAAE,CAAC;;QACjC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,GAAW,EACX,OAAiB,CAAC,WAAW,CAAC;AAC9B,4EAA4E;AAC5E,6EAA6E;AAC7E,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;IAEzD,OAAO,eAAe,CAAC,QAAQ,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,IAAc,EAAE,SAAiB;IAChE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,CAAC,CAAU,EAAQ,EAAE;gBAChC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,CAAC;YACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;YAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvB,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,KAA6B,EAC7B,EAAE,SAAS,GAAG,MAAM,EAAE,UAAU,GAAG,GAAG,EAAE,GAAG,EAAE;IAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,MAAM,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;YAAE,OAAO;QAC7C,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAW,EACX,IAAkB,EAClB,SAAS,GAAG,MAAM;IAElB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/adapters/base.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,3 @@
1
- /**
2
- * OpenCode adapter — manages an `opencode serve` process per project and
3
- * speaks its HTTP + SSE API.
4
- *
5
- * create session : POST /api/session → { data: { id: "ses…" } }
6
- * send prompt : POST /api/session/:id/prompt { prompt: { text } }
7
- * wait for idle : POST /api/session/:id/wait
8
- * interrupt : POST /api/session/:id/interrupt
9
- * live events : GET /event (SSE)
10
- *
11
- * Surface verified against opencode 1.17.20 — see docs/integration-notes.md.
12
- *
13
- * Native continuity (see core/continuity): a continuity turn runs on the
14
- * session its binding names, or a new one it reports as `turn_started`; a
15
- * bound session the server no longer has is NativeSessionMissing, before
16
- * anything is sent. The prompt's admission is the acceptance evidence
17
- * (`native_turn_accepted`), and the turn is over — and quiescent — when
18
- * `/api/session/active` no longer lists the session. Verified against
19
- * opencode 1.18.31 (`/api/session/{id}/model` switches the model in place,
20
- * `session.next.compaction.*` reports compaction).
21
- */
22
1
  import type { SendInput } from "../types.js";
23
2
  import { AdapterBase, type AgentCheck } from "./base.js";
24
3
  /** "providerID/modelID" → ModelRef body for session create ({providerID, id}). */
@@ -38,6 +17,16 @@ export declare function pickDefaultModel(ids: string[]): string | undefined;
38
17
  */
39
18
  export declare function opencodePermissionEnv(options: object): Record<string, string>;
40
19
  export declare class OpenCodeAdapter extends AdapterBase {
20
+ /**
21
+ * The Authorization header for this agent's opencode server. With OPENCODE_SERVER_PASSWORD
22
+ * in the environment, opencode serve answers 401 to anything without it — Loom's own probes
23
+ * included, so the server never looked ready ("timed out waiting for condition"). A server
24
+ * Loom starts gets a password of its own; one you run (baseUrl) uses yours.
25
+ */
26
+ private auth;
27
+ private withAuth;
28
+ private http;
29
+ private json;
41
30
  private child;
42
31
  private baseUrl;
43
32
  private sseAbort;
@@ -87,6 +76,10 @@ export declare class OpenCodeAdapter extends AdapterBase {
87
76
  selfCheck(): Promise<AgentCheck[]>;
88
77
  /** Kill a serve child left behind by a previous daemon (verified by cmdline). */
89
78
  private reapOrphanServe;
79
+ private serveErr;
80
+ private serveExit;
81
+ /** The last meaningful line opencode serve wrote to stderr. */
82
+ private lastServeLine;
90
83
  private recordServePid;
91
84
  start(): Promise<void>;
92
85
  private get sessionModel();
@@ -137,6 +130,10 @@ export declare class OpenCodeAdapter extends AdapterBase {
137
130
  private sessionActive;
138
131
  /** When the current turn was interrupted (the wait gives up 20s later, whatever opencode says). */
139
132
  private interruptedAt;
133
+ /** "provider/model" a session runs, when opencode says. */
134
+ private modelOfSession;
135
+ /** Set when this agent's opencode serve died while a turn was waiting on it. */
136
+ private serverGone;
140
137
  /** Set when the last wait gave up on a turn opencode never began. */
141
138
  private neverStarted;
142
139
  /** How long a prompt may sit with nothing in the session before it counts as never started (options.startTimeoutMs, default 3 min). */
@@ -1,3 +1,4 @@
1
+ import { randomBytes } from "node:crypto";
1
2
  /**
2
3
  * OpenCode adapter — manages an `opencode serve` process per project and
3
4
  * speaks its HTTP + SSE API.
@@ -93,6 +94,26 @@ export function opencodePermissionEnv(options) {
93
94
  };
94
95
  }
95
96
  export class OpenCodeAdapter extends AdapterBase {
97
+ /**
98
+ * The Authorization header for this agent's opencode server. With OPENCODE_SERVER_PASSWORD
99
+ * in the environment, opencode serve answers 401 to anything without it — Loom's own probes
100
+ * included, so the server never looked ready ("timed out waiting for condition"). A server
101
+ * Loom starts gets a password of its own; one you run (baseUrl) uses yours.
102
+ */
103
+ auth = null;
104
+ withAuth(init) {
105
+ if (!this.auth)
106
+ return init;
107
+ const headers = new Headers(init?.headers);
108
+ headers.set("authorization", this.auth);
109
+ return { ...init, headers };
110
+ }
111
+ http(url, init) {
112
+ return fetch(url, this.withAuth(init));
113
+ }
114
+ json(url, init, timeoutMs) {
115
+ return fetchJson(url, this.withAuth(init), timeoutMs);
116
+ }
96
117
  child = null;
97
118
  baseUrl = null;
98
119
  sseAbort = null;
@@ -179,7 +200,7 @@ export class OpenCodeAdapter extends AdapterBase {
179
200
  };
180
201
  }
181
202
  async messageDetail(sid, mid) {
182
- const detail = await fetchJson(this.api(`/session/${sid}/message/${mid}`)).catch(() => null);
203
+ const detail = await this.json(this.api(`/session/${sid}/message/${mid}`)).catch(() => null);
183
204
  if (this.modernApi && detail?.info)
184
205
  return { ...detail.info, content: detail.parts };
185
206
  return detail;
@@ -263,6 +284,12 @@ export class OpenCodeAdapter extends AdapterBase {
263
284
  if (this.nativeState.read().servePid === pid)
264
285
  this.nativeState.patch({ servePid: undefined });
265
286
  }
287
+ serveErr = "";
288
+ serveExit = null;
289
+ /** The last meaningful line opencode serve wrote to stderr. */
290
+ lastServeLine() {
291
+ return this.serveErr.split("\n").map((l) => l.trim()).filter(Boolean).at(-1)?.slice(0, 300) ?? "";
292
+ }
266
293
  recordServePid(pid) {
267
294
  this.nativeState.patch({ servePid: pid });
268
295
  }
@@ -271,13 +298,26 @@ export class OpenCodeAdapter extends AdapterBase {
271
298
  return;
272
299
  if (this.options.baseUrl) {
273
300
  this.baseUrl = this.options.baseUrl.replace(/\/$/, "");
301
+ const pw = process.env.OPENCODE_SERVER_PASSWORD;
302
+ this.auth = pw ? `Basic ${Buffer.from(`${process.env.OPENCODE_SERVER_USERNAME || "opencode"}:${pw}`).toString("base64")}` : null;
274
303
  }
275
304
  else {
276
305
  await this.reapOrphanServe();
277
306
  const port = await freePort();
278
307
  this.baseUrl = `http://127.0.0.1:${port}`;
279
- const child = spawnContained("opencode", ["serve", "--port", String(port), "--hostname", "127.0.0.1", ...(this.options.extraArgs ?? [])], { cwd: this.projectDir, stdio: "ignore", env: { ...agentEnv(), ...opencodePermissionEnv(this.options) } });
308
+ // a password only this adapter knows: whatever OPENCODE_SERVER_PASSWORD says, and so no
309
+ // other process on the machine can drive this agent through its port
310
+ const password = randomBytes(18).toString("base64url");
311
+ this.auth = `Basic ${Buffer.from(`opencode:${password}`).toString("base64")}`;
312
+ const child = spawnContained("opencode", ["serve", "--port", String(port), "--hostname", "127.0.0.1", ...(this.options.extraArgs ?? [])], { cwd: this.projectDir, stdio: ["ignore", "ignore", "pipe"],
313
+ env: { ...agentEnv(), ...opencodePermissionEnv(this.options), OPENCODE_SERVER_USERNAME: "opencode", OPENCODE_SERVER_PASSWORD: password } });
280
314
  this.child = child;
315
+ // what it says on stderr, so a server that never comes up can say why
316
+ this.serveErr = "";
317
+ this.serveExit = null;
318
+ child.stderr?.on("data", (d) => { this.serveErr = (this.serveErr + d.toString()).slice(-2000); });
319
+ child.once("exit", (code, signal) => { if (!this.started)
320
+ this.serveExit = `exited (${code ?? signal})`; });
281
321
  child.on("error", (error) => this.emit({ kind: "error", payload: { message: `opencode serve could not start: ${error.message}` } }));
282
322
  this.recordServePid(child.pid);
283
323
  if (process.platform === "win32")
@@ -286,6 +326,12 @@ export class OpenCodeAdapter extends AdapterBase {
286
326
  if (!this.started)
287
327
  return;
288
328
  this.started = false;
329
+ // a turn waiting on this server would poll a dead port for its full hour, and the
330
+ // agent stay "busy" all that time (field: a serve killed mid-start) — end it now
331
+ if (this._busy) {
332
+ this.serverGone = `opencode serve ${code !== null ? `exited (${code})` : `was stopped (${signal ?? "killed"})`} mid-turn`;
333
+ return; // the turn reports it, once
334
+ }
289
335
  // Killed by a signal with no turn running is the daemon shutting down
290
336
  // (or restarting) around it — not a failure, and not worth a red card
291
337
  // in the thread. The next send starts a fresh server either way.
@@ -298,15 +344,19 @@ export class OpenCodeAdapter extends AdapterBase {
298
344
  }
299
345
  await waitFor(async () => {
300
346
  try {
301
- await fetchJson(`${this.baseUrl}/api/health`);
347
+ await this.json(`${this.baseUrl}/api/health`);
302
348
  this.modernApi = false;
303
349
  }
304
350
  catch {
305
- await fetchJson(`${this.baseUrl}/global/health`);
351
+ await this.json(`${this.baseUrl}/global/health`);
306
352
  this.modernApi = true;
307
353
  }
308
354
  return true;
309
- }, { timeoutMs: process.platform === "win32" ? 60_000 : 30_000 });
355
+ }, {
356
+ timeoutMs: process.platform === "win32" ? 60_000 : 30_000,
357
+ what: () => `opencode serve to answer on ${this.baseUrl}${this.serveErr ? ` — it said: ${this.lastServeLine()}` : ""}; check that \`opencode serve\` runs in this folder and that you're signed in (\`opencode auth login\`)`,
358
+ gaveUp: () => (this.serveExit ? `opencode serve ${this.serveExit} before it was ready${this.serveErr ? `: ${this.lastServeLine()}` : ""} — try \`opencode serve\` in this folder to see why` : null),
359
+ });
310
360
  await this.assertModelAvailable();
311
361
  // No session yet: an ordinary turn makes (or reuses) the agent's own when it
312
362
  // sends, and a continuity turn runs on its binding's. Creating one here left
@@ -331,7 +381,7 @@ export class OpenCodeAdapter extends AdapterBase {
331
381
  * server can actually run — and fail loudly with suggestions instead.
332
382
  */
333
383
  async assertModelAvailable() {
334
- const res = await fetchJson(this.modernApi ? `${this.baseUrl}/provider` : `${this.baseUrl}/api/model`).catch(() => null);
384
+ const res = await this.json(this.modernApi ? `${this.baseUrl}/provider` : `${this.baseUrl}/api/model`).catch(() => null);
335
385
  const connected = Array.isArray(res?.connected) ? res.connected : [];
336
386
  const models = this.modernApi && Array.isArray(res?.all)
337
387
  ? res.all.filter(p => connected.includes(String(p.id))).flatMap(p => Object.keys((p.models ?? {})).map(id => ({ providerID: p.id, id })))
@@ -362,7 +412,7 @@ export class OpenCodeAdapter extends AdapterBase {
362
412
  const modelChanged = (this.options.model ?? undefined) !== this.sessionModel;
363
413
  if (existing && !modelChanged) {
364
414
  try {
365
- await fetchJson(this.api(`/session/${existing}`));
415
+ await this.json(this.api(`/session/${existing}`));
366
416
  return existing;
367
417
  }
368
418
  catch {
@@ -377,7 +427,7 @@ export class OpenCodeAdapter extends AdapterBase {
377
427
  }
378
428
  if (this.options.agent)
379
429
  body.agent = this.options.agent;
380
- const res = await fetchJson(this.api("/session"), {
430
+ const res = await this.json(this.api("/session"), {
381
431
  method: "POST",
382
432
  headers: { "content-type": "application/json" },
383
433
  body: JSON.stringify(body),
@@ -396,7 +446,7 @@ export class OpenCodeAdapter extends AdapterBase {
396
446
  void (async () => {
397
447
  while (!abort.signal.aborted) {
398
448
  try {
399
- const res = await fetch(`${this.baseUrl}/event`, {
449
+ const res = await this.http(`${this.baseUrl}/event`, {
400
450
  signal: abort.signal,
401
451
  headers: { accept: "text/event-stream" },
402
452
  });
@@ -659,7 +709,7 @@ export class OpenCodeAdapter extends AdapterBase {
659
709
  ];
660
710
  let last = "";
661
711
  for (const url of routes) {
662
- const res = await fetch(url, { method: "POST", headers: { "content-type": "application/json" },
712
+ const res = await this.http(url, { method: "POST", headers: { "content-type": "application/json" },
663
713
  body: JSON.stringify(dismiss ? {} : { answers: picks }), signal: AbortSignal.timeout(15_000) }).catch((e) => ({ ok: false, status: 0, text: async () => e.message }));
664
714
  if (res.ok) {
665
715
  this.questions.delete(requestId);
@@ -692,7 +742,7 @@ export class OpenCodeAdapter extends AdapterBase {
692
742
  const reply = decision.behavior !== "allow" ? "reject" : decision.scope === "session" ? "always" : "once";
693
743
  const body = JSON.stringify({ reply, ...(decision.message ? { message: decision.message } : {}) });
694
744
  for (const url of this.modernApi ? [`${this.baseUrl}/permission/${encodeURIComponent(id)}/reply`] : [`${this.baseUrl}/api/session/${encodeURIComponent(sid)}/permission/${encodeURIComponent(id)}/reply`, `${this.baseUrl}/permission/${encodeURIComponent(id)}/reply`]) {
695
- const res = await fetch(url, { method: "POST", headers: { "content-type": "application/json" }, body, signal: AbortSignal.timeout(15_000) }).catch(() => null);
745
+ const res = await this.http(url, { method: "POST", headers: { "content-type": "application/json" }, body, signal: AbortSignal.timeout(15_000) }).catch(() => null);
696
746
  if (res?.ok)
697
747
  return;
698
748
  if (res && res.status !== 404)
@@ -753,7 +803,7 @@ export class OpenCodeAdapter extends AdapterBase {
753
803
  }
754
804
  /** All messages in the session, oldest first (info objects). */
755
805
  async listMessages(sid) {
756
- const res = await fetchJson(this.api(`/session/${sid}/message`));
806
+ const res = await this.json(this.api(`/session/${sid}/message`));
757
807
  const data = (res.data ?? res);
758
808
  const items = Array.isArray(data) ? data : [];
759
809
  return items
@@ -770,7 +820,7 @@ export class OpenCodeAdapter extends AdapterBase {
770
820
  */
771
821
  /** Is opencode still running this session? Null when this opencode can't say (older builds). */
772
822
  async sessionActive(sid) {
773
- const res = await fetchJson(this.modernApi ? this.api("/session/status") : this.api("/session/active")).catch(() => null);
823
+ const res = await this.json(this.modernApi ? this.api("/session/status") : this.api("/session/active")).catch(() => null);
774
824
  const active = res ? (res.data ?? res) : null;
775
825
  if (!active || typeof active !== "object" || Array.isArray(active))
776
826
  return null;
@@ -783,6 +833,14 @@ export class OpenCodeAdapter extends AdapterBase {
783
833
  }
784
834
  /** When the current turn was interrupted (the wait gives up 20s later, whatever opencode says). */
785
835
  interruptedAt = null;
836
+ /** "provider/model" a session runs, when opencode says. */
837
+ async modelOfSession(sid) {
838
+ const s = await this.json(this.api(`/session/${encodeURIComponent(sid)}`)).catch(() => null);
839
+ const m = (s?.model ?? null);
840
+ return m && typeof m.id === "string" ? `${typeof m.providerID === "string" ? `${m.providerID}/` : ""}${m.id}` : null;
841
+ }
842
+ /** Set when this agent's opencode serve died while a turn was waiting on it. */
843
+ serverGone = null;
786
844
  /** Set when the last wait gave up on a turn opencode never began. */
787
845
  neverStarted = false;
788
846
  /** How long a prompt may sit with nothing in the session before it counts as never started (options.startTimeoutMs, default 3 min). */
@@ -793,15 +851,21 @@ export class OpenCodeAdapter extends AdapterBase {
793
851
  async waitForTurn(sid, baseline, timeoutMs) {
794
852
  try {
795
853
  if (!this.modernApi)
796
- await fetchJson(`${this.baseUrl}/api/session/${sid}/wait`, { method: "POST", headers: { "content-type": "application/json" }, body: "{}" }, timeoutMs);
854
+ await this.json(`${this.baseUrl}/api/session/${sid}/wait`, { method: "POST", headers: { "content-type": "application/json" }, body: "{}" }, timeoutMs);
797
855
  }
798
856
  catch {
799
857
  // 503 "not available yet" on 1.17 — fall through to polling.
800
858
  }
801
859
  const deadline = Date.now() + timeoutMs;
802
860
  const startBy = Date.now() + this.startTimeoutMs();
861
+ // opencode stores the prompt the moment it takes it: nothing at all in the session this long
862
+ // after an accepted prompt means it never will — even while it reports the session "busy"
863
+ // (a model its session engine can't run left one busy forever: big-pickle on 1.18, field).
864
+ const takenBy = Date.now() + Math.min(45_000, this.startTimeoutMs());
803
865
  let stableId = null;
804
866
  while (Date.now() < deadline) {
867
+ if (this.serverGone)
868
+ return null;
805
869
  // Interrupted: done as soon as opencode stops running it, answer or not
806
870
  // (one that never answered would otherwise be waited on for the hour) —
807
871
  // and at most 20s after the interrupt, even if opencode still calls it
@@ -814,6 +878,10 @@ export class OpenCodeAdapter extends AdapterBase {
814
878
  return last ?? null;
815
879
  }
816
880
  const messages = await this.listMessages(sid).catch(() => []);
881
+ if (Date.now() > takenBy && !messages.some((m) => !baseline.has(String(m.id)))) {
882
+ this.neverStarted = true;
883
+ return null;
884
+ }
817
885
  // accepted but never begun: not even our own message reached the session, and opencode isn't working on it —
818
886
  // don't wait the hour out (a review sat 30 minutes on one, #291)
819
887
  if (Date.now() > startBy && !messages.some((m) => !baseline.has(String(m.id))) && (await this.sessionActive(sid)) !== true) {
@@ -876,7 +944,7 @@ export class OpenCodeAdapter extends AdapterBase {
876
944
  // the prompt — framed as an unmissable authoritative block (frameBriefing)
877
945
  // rather than a loose preamble.
878
946
  const text = input.briefing ? `${frameBriefing(input.briefing)}\n\n${input.text}` : input.text;
879
- const admission = await fetch(this.api(`/session/${sid}/${this.modernApi ? "prompt_async" : "prompt"}`), {
947
+ const admission = await this.http(this.api(`/session/${sid}/${this.modernApi ? "prompt_async" : "prompt"}`), {
880
948
  method: "POST",
881
949
  headers: { "content-type": "application/json" },
882
950
  body: JSON.stringify(this.promptBody(text)),
@@ -886,12 +954,25 @@ export class OpenCodeAdapter extends AdapterBase {
886
954
  throw new Error(`opencode prompt failed (${admission.status}): ${(await admission.text()).slice(0, 500)}`);
887
955
  await admission.arrayBuffer();
888
956
  this.neverStarted = false;
957
+ this.serverGone = null;
889
958
  const turn = await this.waitForTurn(sid, baseline, timeoutMs);
890
- if (!turn && this.interrupted) {
959
+ if (!turn && this.serverGone) {
960
+ this.emit({ kind: "error", payload: { message: `${this.serverGone} — the next send starts it again` } });
961
+ }
962
+ else if (!turn && this.interrupted) {
891
963
  this.emit({ kind: "status", payload: { state: "interrupted" } });
892
964
  }
893
965
  else if (!turn && this.neverStarted) {
894
- this.emit({ kind: "error", payload: { message: `opencode accepted the prompt but never started the turn (nothing in ${Math.round(this.startTimeoutMs() / 1000)}s) — its model may be unavailable; try another model, or restart the agent` } });
966
+ // the session itself may be what's broken (bound to a model opencode can't run now):
967
+ // once, carry on in a fresh session, which takes opencode's current default model
968
+ const model = await this.modelOfSession(sid);
969
+ if (attempt === 0) {
970
+ this.sessionId = undefined;
971
+ this.emit({ kind: "status", payload: { state: "session_reset", reason: `opencode never took the prompt in its session${model ? ` (model ${model})` : ""}; carrying on in a fresh session` } });
972
+ continue;
973
+ }
974
+ this.emit({ kind: "error", payload: { message: `opencode accepted the prompt but never started the turn${model ? ` — its session runs ${model}, which may not work with this opencode` : " — its model may be unavailable"}; ` +
975
+ "pick another model (loom agents, or opencode's own config) and try again. opencode's log (~/.local/share/opencode/log/opencode.log) says why" } });
895
976
  }
896
977
  else if (!turn) {
897
978
  this.emit({ kind: "error", payload: { message: "turn timed out waiting for opencode" } });
@@ -995,7 +1076,7 @@ export class OpenCodeAdapter extends AdapterBase {
995
1076
  const text = [c.context, input.briefing, input.text].filter(Boolean).join("\n\n");
996
1077
  let res;
997
1078
  try {
998
- res = await fetch(this.api(`/session/${encodeURIComponent(sid)}/${this.modernApi ? "prompt_async" : "prompt"}`), {
1079
+ res = await this.http(this.api(`/session/${encodeURIComponent(sid)}/${this.modernApi ? "prompt_async" : "prompt"}`), {
999
1080
  method: "POST",
1000
1081
  headers: { "content-type": "application/json" },
1001
1082
  body: JSON.stringify(this.modernApi ? { ...this.promptBody(text), ...(input.model ? { model: { providerID: parseModelRef(input.model)?.providerID, modelID: parseModelRef(input.model)?.id } } : {}) } : { prompt: promptWithFiles(text, this.projectDir) }),
@@ -1071,7 +1152,7 @@ export class OpenCodeAdapter extends AdapterBase {
1071
1152
  let res;
1072
1153
  for (let attempt = 0;; attempt++) {
1073
1154
  try {
1074
- res = await fetch(this.api(`/session/${encodeURIComponent(bound)}`), { signal: AbortSignal.timeout(15_000) });
1155
+ res = await this.http(this.api(`/session/${encodeURIComponent(bound)}`), { signal: AbortSignal.timeout(15_000) });
1075
1156
  break;
1076
1157
  }
1077
1158
  catch (err) {
@@ -1091,7 +1172,7 @@ export class OpenCodeAdapter extends AdapterBase {
1091
1172
  // A model change keeps the session, as it does for the other harnesses.
1092
1173
  if (!this.modernApi && ref && (cur.providerID !== ref.providerID || cur.id !== ref.id)) {
1093
1174
  try {
1094
- await fetchJson(`${this.baseUrl}/api/session/${encodeURIComponent(bound)}/model`, {
1175
+ await this.json(`${this.baseUrl}/api/session/${encodeURIComponent(bound)}/model`, {
1095
1176
  method: "POST",
1096
1177
  headers: { "content-type": "application/json" },
1097
1178
  body: JSON.stringify({ model: ref }),
@@ -1109,7 +1190,7 @@ export class OpenCodeAdapter extends AdapterBase {
1109
1190
  if (this.options.agent)
1110
1191
  body.agent = this.options.agent;
1111
1192
  try {
1112
- const created = await fetchJson(this.api("/session"), {
1193
+ const created = await this.json(this.api("/session"), {
1113
1194
  method: "POST",
1114
1195
  headers: { "content-type": "application/json" },
1115
1196
  body: JSON.stringify(this.modernApi ? {} : body),
@@ -1199,7 +1280,7 @@ export class OpenCodeAdapter extends AdapterBase {
1199
1280
  if (!sid || !this.baseUrl)
1200
1281
  return;
1201
1282
  try {
1202
- await fetchJson(this.api(`/session/${sid}/${this.modernApi ? "abort" : "interrupt"}`), {
1283
+ await this.json(this.api(`/session/${sid}/${this.modernApi ? "abort" : "interrupt"}`), {
1203
1284
  method: "POST",
1204
1285
  headers: { "content-type": "application/json" },
1205
1286
  body: "{}",