pi-ca-leash 0.16.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +1 -1
  2. package/extensions/index.ts +2 -1
  3. package/node_modules/@pi-claude-code-agent/intercom-bridge/dist/bridge.d.ts +55 -2
  4. package/node_modules/@pi-claude-code-agent/intercom-bridge/dist/bridge.js +250 -8
  5. package/node_modules/@pi-claude-code-agent/intercom-bridge/dist/bridge.js.map +1 -1
  6. package/node_modules/@pi-claude-code-agent/intercom-bridge/dist/index.d.ts +3 -2
  7. package/node_modules/@pi-claude-code-agent/intercom-bridge/dist/index.js +2 -1
  8. package/node_modules/@pi-claude-code-agent/intercom-bridge/dist/index.js.map +1 -1
  9. package/node_modules/@pi-claude-code-agent/intercom-bridge/dist/managed-peers.d.ts +22 -4
  10. package/node_modules/@pi-claude-code-agent/intercom-bridge/dist/managed-peers.js +22 -7
  11. package/node_modules/@pi-claude-code-agent/intercom-bridge/dist/managed-peers.js.map +1 -1
  12. package/node_modules/@pi-claude-code-agent/intercom-bridge/dist/types.d.ts +82 -1
  13. package/node_modules/@pi-claude-code-agent/intercom-bridge/dist/types.js +16 -1
  14. package/node_modules/@pi-claude-code-agent/intercom-bridge/dist/types.js.map +1 -1
  15. package/node_modules/@pi-claude-code-agent/intercom-bridge/package.json +2 -2
  16. package/node_modules/@pi-claude-code-agent/runtime/dist/drivers/claude-sdk.d.ts +23 -0
  17. package/node_modules/@pi-claude-code-agent/runtime/dist/drivers/claude-sdk.js +77 -0
  18. package/node_modules/@pi-claude-code-agent/runtime/dist/drivers/claude-sdk.js.map +1 -1
  19. package/node_modules/@pi-claude-code-agent/runtime/dist/drivers/codex-cli.js +6 -6
  20. package/node_modules/@pi-claude-code-agent/runtime/dist/drivers/codex-cli.js.map +1 -1
  21. package/node_modules/@pi-claude-code-agent/runtime/dist/index.d.ts +0 -1
  22. package/node_modules/@pi-claude-code-agent/runtime/dist/index.js +5 -1
  23. package/node_modules/@pi-claude-code-agent/runtime/dist/index.js.map +1 -1
  24. package/node_modules/@pi-claude-code-agent/runtime/dist/internal.d.ts +15 -0
  25. package/node_modules/@pi-claude-code-agent/runtime/dist/internal.js +16 -0
  26. package/node_modules/@pi-claude-code-agent/runtime/dist/internal.js.map +1 -0
  27. package/node_modules/@pi-claude-code-agent/runtime/dist/runtime.js +14 -2
  28. package/node_modules/@pi-claude-code-agent/runtime/dist/runtime.js.map +1 -1
  29. package/node_modules/@pi-claude-code-agent/runtime/dist/types.d.ts +7 -1
  30. package/node_modules/@pi-claude-code-agent/runtime/package.json +5 -1
  31. package/node_modules/@pi-claude-code-agent/subagents-backend/dist/backend.js +1 -1
  32. package/node_modules/@pi-claude-code-agent/subagents-backend/dist/backend.js.map +1 -1
  33. package/node_modules/@pi-claude-code-agent/subagents-backend/dist/cli.js +2 -1
  34. package/node_modules/@pi-claude-code-agent/subagents-backend/dist/cli.js.map +1 -1
  35. package/node_modules/@pi-claude-code-agent/subagents-backend/dist/types.d.ts +2 -1
  36. package/node_modules/@pi-claude-code-agent/subagents-backend/package.json +2 -2
  37. package/node_modules/@pi-claude-code-agent/teams-backend/dist/cli.js +4 -3
  38. package/node_modules/@pi-claude-code-agent/teams-backend/dist/cli.js.map +1 -1
  39. package/node_modules/@pi-claude-code-agent/teams-backend/package.json +3 -3
  40. package/package.json +8 -5
package/README.md CHANGED
@@ -75,7 +75,7 @@ pi install npm:pi-ca-leash
75
75
  Pin an explicit version when needed:
76
76
 
77
77
  ```bash
78
- pi install npm:pi-ca-leash@0.16.1
78
+ pi install npm:pi-ca-leash@1.1.0
79
79
  ```
80
80
 
81
81
  Local checkout install:
@@ -2,7 +2,8 @@ import { appendFile, mkdir } from "node:fs/promises";
2
2
  import { createRequire } from "node:module";
3
3
  import { dirname, join, resolve } from "node:path";
4
4
  import { ClaudeRuntimeIntercomBridge, extractReplyText, type BridgePeer, PiIntercomTransport } from "@pi-claude-code-agent/intercom-bridge";
5
- import { ClaudeCodeRuntime, type InterruptResult, type RuntimeEvent, type RuntimeMessageBlock } from "@pi-claude-code-agent/runtime";
5
+ import { type InterruptResult, type RuntimeEvent, type RuntimeMessageBlock } from "@pi-claude-code-agent/runtime";
6
+ import { ClaudeCodeRuntime } from "@pi-claude-code-agent/runtime/internal";
6
7
  import { ClaudeCodeSubagentBackend } from "@pi-claude-code-agent/subagents-backend";
7
8
  import { ClaudeCodeTeamsBackend } from "@pi-claude-code-agent/teams-backend";
8
9
  import type { ExtensionAPI, ExtensionContext, ExtensionCommandContext } from "@mariozechner/pi-coding-agent";
@@ -1,5 +1,16 @@
1
- import { type RuntimeEvent, type RuntimeStatus } from "@pi-claude-code-agent/runtime";
2
- import type { AskResult, AttachPeerInput, BridgeOptions, BridgePeer, BridgeState, BridgeTransport, BridgeTransportIncomingMessage, BridgeTransportStatus, IntercomInboundMessage, InterruptPeerResult, LaunchPeerInput } from "./types.js";
1
+ import { type RuntimeDriverName, type RuntimeEvent, type RuntimeSessionId, type RuntimeStatus, type TranscriptChunk } from "@pi-claude-code-agent/runtime";
2
+ import type { AskResult, AttachPeerInput, BridgeOptions, BridgePeer, BridgeState, BridgeTransport, BridgeTransportIncomingMessage, BridgeTransportStatus, IntercomInboundMessage, InterruptPeerResult, LaunchPeerInput, WaitForCompletionOptions } from "./types.js";
3
+ /**
4
+ * Driver-aware default for `WaitForCompletionOptions.staleThresholdMs`.
5
+ *
6
+ * Different drivers emit driver events at very different rates. Claude
7
+ * (sdk/cli) streams thinking blocks and tool deltas continuously, so a
8
+ * 2-minute gap is already strongly indicative of a wedged peer. Codex and
9
+ * `pi-coding-agent` batch much more aggressively — a 5-minute gap is closer
10
+ * to the "alive but quiet" floor. The numbers are deliberately coarse;
11
+ * callers wanting tighter bounds should pass `staleThresholdMs` explicitly.
12
+ */
13
+ export declare function defaultStaleThresholdMsForDriver(driver: RuntimeDriverName): number;
3
14
  declare const BRIDGE_SYSTEM_PROMPT: string;
4
15
  export declare class ClaudeRuntimeIntercomBridge {
5
16
  private readonly runtime;
@@ -8,11 +19,53 @@ export declare class ClaudeRuntimeIntercomBridge {
8
19
  private readonly pollIntervalMs;
9
20
  private readonly askTimeoutMs;
10
21
  private readonly peers;
22
+ /**
23
+ * Names of peers that were launched with `waitForIdle: false` and have not
24
+ * yet been observed in a terminal state. While in this set, a concurrent
25
+ * `send`/`ask` must wait through the launch run's `busy` window rather
26
+ * than reject with `PEER_BUSY` — the only work the peer is doing is its
27
+ * own bootstrap. Cleared as soon as `deliver` (or any sync path) sees
28
+ * idle/interrupted/failed/stopped, or on stop/disconnect.
29
+ */
30
+ private readonly bootstrappingPeers;
11
31
  constructor(options?: BridgeOptions);
12
32
  launchPeer(input: LaunchPeerInput): Promise<BridgePeer>;
13
33
  attachPeer(input: AttachPeerInput): Promise<BridgePeer>;
14
34
  listPeers(): Promise<BridgePeer[]>;
15
35
  status(name: string): Promise<BridgePeer | undefined>;
36
+ /**
37
+ * Look up a peer by its runtime sessionId rather than its registry name.
38
+ * Useful for callers that received the sessionId from `launchPeer` or from
39
+ * a runtime event and don't want to keep a name→sessionId map of their own.
40
+ */
41
+ statusBySessionId(sessionId: RuntimeSessionId): Promise<BridgePeer | undefined>;
42
+ /**
43
+ * Fetch the transcript chunk for a sessionId. Thin Bridge-routed wrapper
44
+ * over the embedded runtime so any future Bridge-side accounting (rate
45
+ * limiting, telemetry, replay buffers) applies uniformly.
46
+ */
47
+ events(sessionId: RuntimeSessionId, cursor?: number): Promise<TranscriptChunk>;
48
+ /**
49
+ * Subscribe to raw runtime events, optionally filtered to a single
50
+ * sessionId. Returns an unsubscribe function. This is a passthrough — the
51
+ * caller sees the underlying `RuntimeEvent` stream, not the Bridge's own
52
+ * lifecycle envelope.
53
+ */
54
+ subscribe(listener: (event: RuntimeEvent) => void, sessionId?: RuntimeSessionId): () => void;
55
+ /**
56
+ * Wait until `sessionId` reaches a terminal state (`idle`, `interrupted`,
57
+ * `failed`, `stopped`), or reject if the peer goes silent past
58
+ * `staleThresholdMs`, exceeds `hardCeilingMs`, or the caller aborts.
59
+ *
60
+ * Event-driven: subscribes to the runtime's event stream and resets the
61
+ * staleness window on every event for this session. The pattern is
62
+ * listen-then-look — we subscribe BEFORE snapshotting status, so a peer
63
+ * that lands terminal between snapshot and subscribe cannot be missed.
64
+ *
65
+ * Resolves with the terminal `RuntimeStatus`. `failed` is a resolution,
66
+ * not a rejection: inspect `.state` and `.lastError` to distinguish.
67
+ */
68
+ waitForCompletion(sessionId: RuntimeSessionId, opts?: WaitForCompletionOptions): Promise<RuntimeStatus>;
16
69
  reconcilePeers(): Promise<BridgePeer[]>;
17
70
  send(name: string, message: Omit<IntercomInboundMessage, "kind">, options?: {
18
71
  waitForIdle?: boolean;
@@ -1,8 +1,35 @@
1
1
  import { resolve } from "node:path";
2
- import { ClaudeCodeRuntime, } from "@pi-claude-code-agent/runtime";
2
+ import { ClaudeCodeRuntime } from "@pi-claude-code-agent/runtime/internal";
3
3
  import { defaultBridgeStorageDir, readBridgeRegistry, writeBridgeRegistry, } from "./persistence.js";
4
+ import { WaitCompletionError } from "./types.js";
4
5
  const DEFAULT_ASK_TIMEOUT_MS = 60_000;
5
6
  const DEFAULT_POLL_INTERVAL_MS = 100;
7
+ const TERMINAL_RUNTIME_STATES = new Set([
8
+ "idle",
9
+ "interrupted",
10
+ "failed",
11
+ "stopped",
12
+ ]);
13
+ /**
14
+ * Driver-aware default for `WaitForCompletionOptions.staleThresholdMs`.
15
+ *
16
+ * Different drivers emit driver events at very different rates. Claude
17
+ * (sdk/cli) streams thinking blocks and tool deltas continuously, so a
18
+ * 2-minute gap is already strongly indicative of a wedged peer. Codex and
19
+ * `pi-coding-agent` batch much more aggressively — a 5-minute gap is closer
20
+ * to the "alive but quiet" floor. The numbers are deliberately coarse;
21
+ * callers wanting tighter bounds should pass `staleThresholdMs` explicitly.
22
+ */
23
+ export function defaultStaleThresholdMsForDriver(driver) {
24
+ switch (driver) {
25
+ case "claude-sdk":
26
+ case "claude-cli":
27
+ return 2 * 60_000;
28
+ case "codex-cli":
29
+ case "pi-coding-agent":
30
+ return 5 * 60_000;
31
+ }
32
+ }
6
33
  const BRIDGE_SYSTEM_PROMPT = [
7
34
  "You are a long-lived Claude worker reached through intercom-style messages.",
8
35
  "Treat new messages as continuation of same session, not fresh bootstrap.",
@@ -16,8 +43,17 @@ export class ClaudeRuntimeIntercomBridge {
16
43
  pollIntervalMs;
17
44
  askTimeoutMs;
18
45
  peers = new Map();
46
+ /**
47
+ * Names of peers that were launched with `waitForIdle: false` and have not
48
+ * yet been observed in a terminal state. While in this set, a concurrent
49
+ * `send`/`ask` must wait through the launch run's `busy` window rather
50
+ * than reject with `PEER_BUSY` — the only work the peer is doing is its
51
+ * own bootstrap. Cleared as soon as `deliver` (or any sync path) sees
52
+ * idle/interrupted/failed/stopped, or on stop/disconnect.
53
+ */
54
+ bootstrappingPeers = new Set();
19
55
  constructor(options = {}) {
20
- this.runtime = options.runtime ?? new ClaudeCodeRuntime();
56
+ this.runtime = options.runtime ?? new ClaudeCodeRuntime(options.runtimeOptions);
21
57
  this.storageDir = resolve(options.storageDir ?? defaultBridgeStorageDir());
22
58
  this.transport = options.transport;
23
59
  this.pollIntervalMs = options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
@@ -49,6 +85,11 @@ export class ClaudeRuntimeIntercomBridge {
49
85
  if (input.waitForIdle !== false) {
50
86
  await this.waitForTerminalState(peer.sessionId);
51
87
  }
88
+ else {
89
+ // Fire-and-forget launch: subsequent `send`/`ask` must treat the launch
90
+ // run's `busy` state as part of the starting window, not as PEER_BUSY.
91
+ this.bootstrappingPeers.add(input.name);
92
+ }
52
93
  return this.syncPeerFromRuntime(peer.name);
53
94
  }
54
95
  async attachPeer(input) {
@@ -80,6 +121,188 @@ export class ClaudeRuntimeIntercomBridge {
80
121
  }
81
122
  return this.syncPeerFromRuntime(name);
82
123
  }
124
+ /**
125
+ * Look up a peer by its runtime sessionId rather than its registry name.
126
+ * Useful for callers that received the sessionId from `launchPeer` or from
127
+ * a runtime event and don't want to keep a name→sessionId map of their own.
128
+ */
129
+ async statusBySessionId(sessionId) {
130
+ for (const peer of this.peers.values()) {
131
+ if (peer.sessionId === sessionId) {
132
+ return this.syncPeerFromRuntime(peer.name);
133
+ }
134
+ }
135
+ await this.restorePeers();
136
+ for (const peer of this.peers.values()) {
137
+ if (peer.sessionId === sessionId) {
138
+ return this.syncPeerFromRuntime(peer.name);
139
+ }
140
+ }
141
+ return undefined;
142
+ }
143
+ /**
144
+ * Fetch the transcript chunk for a sessionId. Thin Bridge-routed wrapper
145
+ * over the embedded runtime so any future Bridge-side accounting (rate
146
+ * limiting, telemetry, replay buffers) applies uniformly.
147
+ */
148
+ async events(sessionId, cursor = 0) {
149
+ return this.runtime.events(sessionId, cursor);
150
+ }
151
+ /**
152
+ * Subscribe to raw runtime events, optionally filtered to a single
153
+ * sessionId. Returns an unsubscribe function. This is a passthrough — the
154
+ * caller sees the underlying `RuntimeEvent` stream, not the Bridge's own
155
+ * lifecycle envelope.
156
+ */
157
+ subscribe(listener, sessionId) {
158
+ return this.runtime.subscribe(listener, sessionId);
159
+ }
160
+ /**
161
+ * Wait until `sessionId` reaches a terminal state (`idle`, `interrupted`,
162
+ * `failed`, `stopped`), or reject if the peer goes silent past
163
+ * `staleThresholdMs`, exceeds `hardCeilingMs`, or the caller aborts.
164
+ *
165
+ * Event-driven: subscribes to the runtime's event stream and resets the
166
+ * staleness window on every event for this session. The pattern is
167
+ * listen-then-look — we subscribe BEFORE snapshotting status, so a peer
168
+ * that lands terminal between snapshot and subscribe cannot be missed.
169
+ *
170
+ * Resolves with the terminal `RuntimeStatus`. `failed` is a resolution,
171
+ * not a rejection: inspect `.state` and `.lastError` to distinguish.
172
+ */
173
+ async waitForCompletion(sessionId, opts = {}) {
174
+ const started = Date.now();
175
+ return new Promise((resolveP, rejectP) => {
176
+ let settled = false;
177
+ let unsubscribe = null;
178
+ let staleTimer = null;
179
+ let ceilingTimer = null;
180
+ let abortHandler = null;
181
+ let staleThresholdMs;
182
+ let lastActivityIso;
183
+ let lastActivityMs = started;
184
+ const cleanup = () => {
185
+ if (staleTimer) {
186
+ clearTimeout(staleTimer);
187
+ staleTimer = null;
188
+ }
189
+ if (ceilingTimer) {
190
+ clearTimeout(ceilingTimer);
191
+ ceilingTimer = null;
192
+ }
193
+ if (abortHandler && opts.signal) {
194
+ opts.signal.removeEventListener("abort", abortHandler);
195
+ abortHandler = null;
196
+ }
197
+ if (unsubscribe) {
198
+ unsubscribe();
199
+ unsubscribe = null;
200
+ }
201
+ };
202
+ const resolve = (status) => {
203
+ if (settled)
204
+ return;
205
+ settled = true;
206
+ cleanup();
207
+ if (status.state === "failed" && !opts.silentOnFailure) {
208
+ // `failed` is a resolution, not a rejection — but we make it loud
209
+ // so callers don't silently drop a failure on the floor. Suppress
210
+ // with `silentOnFailure: true` (tests, expected-failure flows).
211
+ const detail = status.lastError?.message ?? "(no lastError captured)";
212
+ // eslint-disable-next-line no-console
213
+ console.warn(`[bridge.waitForCompletion] peer ${status.sessionId} resolved with state=failed: ${detail}`);
214
+ }
215
+ resolveP(status);
216
+ };
217
+ const reject = (err) => {
218
+ if (settled)
219
+ return;
220
+ settled = true;
221
+ cleanup();
222
+ rejectP(err);
223
+ };
224
+ const armStaleTimer = () => {
225
+ if (staleThresholdMs === undefined || !Number.isFinite(staleThresholdMs))
226
+ return;
227
+ if (staleTimer)
228
+ clearTimeout(staleTimer);
229
+ const remaining = Math.max(0, staleThresholdMs - (Date.now() - lastActivityMs));
230
+ staleTimer = setTimeout(() => {
231
+ const stalenessMs = Date.now() - lastActivityMs;
232
+ reject(new WaitCompletionError({
233
+ code: "WAIT_STALE",
234
+ message: `Peer ${sessionId} silent for ${stalenessMs}ms (threshold ${staleThresholdMs}ms)`,
235
+ sessionId,
236
+ elapsedMs: Date.now() - started,
237
+ stalenessMs,
238
+ lastActivityAt: lastActivityIso,
239
+ }));
240
+ }, remaining);
241
+ };
242
+ const onEvent = (event) => {
243
+ if (settled)
244
+ return;
245
+ if (event.sessionId !== sessionId)
246
+ return;
247
+ lastActivityMs = Date.now();
248
+ lastActivityIso = event.timestamp ?? new Date(lastActivityMs).toISOString();
249
+ armStaleTimer();
250
+ if (event.type === "session.idle" || event.type === "session.stopped") {
251
+ this.runtime.status(sessionId).then((status) => {
252
+ if (!status) {
253
+ reject(new Error(`Unknown runtime session ${sessionId}`));
254
+ return;
255
+ }
256
+ resolve(status);
257
+ }).catch(reject);
258
+ }
259
+ };
260
+ // 1. Listen first — anything emitted between here and the snapshot
261
+ // below will hit `onEvent` and cannot be lost.
262
+ unsubscribe = this.runtime.subscribe(onEvent, sessionId);
263
+ // 2. Hard ceiling + abort signal.
264
+ if (opts.hardCeilingMs !== undefined && Number.isFinite(opts.hardCeilingMs)) {
265
+ ceilingTimer = setTimeout(() => {
266
+ reject(new WaitCompletionError({
267
+ code: "WAIT_HARD_CEILING",
268
+ message: `Peer ${sessionId} did not complete within hard ceiling ${opts.hardCeilingMs}ms`,
269
+ sessionId,
270
+ elapsedMs: Date.now() - started,
271
+ lastActivityAt: lastActivityIso,
272
+ }));
273
+ }, opts.hardCeilingMs);
274
+ }
275
+ if (opts.signal) {
276
+ if (opts.signal.aborted) {
277
+ queueMicrotask(() => reject(opts.signal.reason ?? new DOMException("Aborted", "AbortError")));
278
+ return;
279
+ }
280
+ abortHandler = () => reject(opts.signal.reason ?? new DOMException("Aborted", "AbortError"));
281
+ opts.signal.addEventListener("abort", abortHandler, { once: true });
282
+ }
283
+ // 3. Snapshot. Returns immediately for already-terminal peers; otherwise
284
+ // arms the staleness timer using the driver-aware default.
285
+ this.runtime.status(sessionId).then((status) => {
286
+ if (settled)
287
+ return;
288
+ if (!status) {
289
+ reject(new Error(`Unknown runtime session ${sessionId}`));
290
+ return;
291
+ }
292
+ if (TERMINAL_RUNTIME_STATES.has(status.state)) {
293
+ resolve(status);
294
+ return;
295
+ }
296
+ staleThresholdMs = opts.staleThresholdMs ?? defaultStaleThresholdMsForDriver(status.driver);
297
+ const parsed = Date.parse(status.lastActivityAt);
298
+ if (Number.isFinite(parsed)) {
299
+ lastActivityMs = parsed;
300
+ lastActivityIso = status.lastActivityAt;
301
+ }
302
+ armStaleTimer();
303
+ }).catch(reject);
304
+ });
305
+ }
83
306
  async reconcilePeers() {
84
307
  await this.restorePeers();
85
308
  return this.listPeersWithoutRestore();
@@ -190,15 +413,23 @@ export class ClaudeRuntimeIntercomBridge {
190
413
  }
191
414
  async deliver(name, inbound, options) {
192
415
  let peer = await this.syncPeerFromRuntime(name);
193
- if (peer.state === "starting" || peer.state === "connected") {
194
- // Slow-spawn drivers (notably claude-cli) leave the peer in `starting`
195
- // while the first prompt runs. Wait for the bootstrap window to close
196
- // before deciding deliverability — racing it would surface as a
197
- // misleading "busy" error even though the peer never had a chance to run.
416
+ // If the peer has ever reached a terminal state, its launch run is done —
417
+ // any future `busy` is real work, not bootstrap.
418
+ if (["idle", "interrupted", "failed", "stopped"].includes(peer.state)) {
419
+ this.bootstrappingPeers.delete(name);
420
+ }
421
+ const inBootstrap = this.bootstrappingPeers.has(name);
422
+ // Slow-spawn drivers leave the peer in `starting` while the first prompt
423
+ // runs (claude-cli). Fast-init drivers flip to `busy` after `init` even
424
+ // though the launch prompt is still running (claude-sdk via fake/slow
425
+ // driver). Both cases are bootstrap and must wait through, not throw
426
+ // PEER_BUSY — the peer never had a chance to accept a follow-up.
427
+ if (peer.state === "starting" || peer.state === "connected" || (inBootstrap && peer.state === "busy")) {
198
428
  const waited = await this.waitForTerminalStateOrCurrent(peer.sessionId, inbound.timeoutMs ?? this.askTimeoutMs);
199
429
  if (waited.timedOut) {
200
430
  throw Object.assign(new Error(`Peer ${name} did not finish starting within timeout. Last runtime state: ${waited.status.state}.`), { code: "PEER_STARTING_TIMEOUT" });
201
431
  }
432
+ this.bootstrappingPeers.delete(name);
202
433
  peer = await this.syncPeerFromRuntime(name);
203
434
  }
204
435
  if (peer.state === "busy") {
@@ -209,10 +440,19 @@ export class ClaudeRuntimeIntercomBridge {
209
440
  }
210
441
  const before = await this.runtime.events(peer.sessionId);
211
442
  const cursor = before.nextCursor;
443
+ // Pass-through invariant: forward every driver field from `inbound`
444
+ // verbatim. The Bridge owns (and overrides) `sessionId` and the
445
+ // formatted `message` envelope; everything else flows through as-is.
446
+ // Drivers ignore fields they don't understand. The destructure here
447
+ // strips Bridge-only fields (`kind`/`from`/`text`/`replyTo`/`timeoutMs`)
448
+ // and spreads the remainder — so adding a new driver field to
449
+ // `IntercomInboundMessage` propagates automatically without touching
450
+ // this method.
451
+ const { kind: _kind, from: _from, text: _text, replyTo: _replyTo, timeoutMs: _timeoutMs, ...passthrough } = inbound;
212
452
  const sentStatus = await this.runtime.send({
453
+ ...passthrough,
213
454
  sessionId: peer.sessionId,
214
455
  message: formatInboundMessage(inbound),
215
- model: inbound.model,
216
456
  });
217
457
  if (!options.waitForIdle) {
218
458
  const syncedPeer = await this.syncPeerFromRuntime(name);
@@ -298,6 +538,7 @@ export class ClaudeRuntimeIntercomBridge {
298
538
  lastActivityAt: status.lastActivityAt,
299
539
  kind: preserved.kind,
300
540
  metadata: cloneMetadata(preserved.metadata),
541
+ raw: status.raw,
301
542
  };
302
543
  }
303
544
  async registerTransportPeer(name) {
@@ -344,6 +585,7 @@ export class ClaudeRuntimeIntercomBridge {
344
585
  await writeBridgeRegistry(this.storageDir, { peers: peers.sort((a, b) => a.name.localeCompare(b.name)) });
345
586
  }
346
587
  async forgetPeer(name) {
588
+ this.bootstrappingPeers.delete(name);
347
589
  const registry = await readBridgeRegistry(this.storageDir);
348
590
  await writeBridgeRegistry(this.storageDir, {
349
591
  peers: registry.peers.filter((peer) => peer.name !== name),
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  export { ClaudeRuntimeIntercomBridge } from "./bridge.js";
2
2
  export { PI_CA_LEASH_STATE_DIR_NAME, PiCaLeashManagedPeerApi, piCaLeashBridgeStorageDir, piCaLeashRuntimeStorageDir, piCaLeashStateDir, } from "./managed-peers.js";
3
3
  export { PiIntercomTransport } from "./pi-intercom-transport.js";
4
- export { BRIDGE_SYSTEM_PROMPT, extractLatestReplyText, extractReplyText, formatInboundMessage, formatTransportInboundText, mapRuntimeState, } from "./bridge.js";
4
+ export { BRIDGE_SYSTEM_PROMPT, defaultStaleThresholdMsForDriver, extractLatestReplyText, extractReplyText, formatInboundMessage, formatTransportInboundText, mapRuntimeState, } from "./bridge.js";
5
+ export { WaitCompletionError } from "./types.js";
5
6
  export { defaultBridgeStorageDir, bridgeRegistryPath, readBridgeRegistry, writeBridgeRegistry, } from "./persistence.js";
6
- export type { AskResult, AttachPeerInput, BridgeOptions, BridgePeer, BridgePeerKind, BridgeState, BridgeTransport, BridgeTransportAttachment, BridgeTransportIncomingMessage, BridgeTransportOutgoingMessage, BridgeTransportSessionInfo, BridgeTransportStatus, DeliveryState, IntercomInboundMessage, IntercomMessageKind, InterruptPeerResult, LaunchPeerInput, } from "./types.js";
7
+ export type { AskResult, AttachPeerInput, BridgeOptions, BridgePeer, BridgePeerKind, BridgeState, BridgeTransport, BridgeTransportAttachment, BridgeTransportIncomingMessage, BridgeTransportOutgoingMessage, BridgeTransportSessionInfo, BridgeTransportStatus, DeliveryState, IntercomInboundMessage, IntercomMessageKind, InterruptPeerResult, LaunchPeerInput, WaitCompletionErrorCode, WaitForCompletionOptions, } from "./types.js";
7
8
  export type { ManagedPeerApiOptions } from "./managed-peers.js";
@@ -1,6 +1,7 @@
1
1
  export { ClaudeRuntimeIntercomBridge } from "./bridge.js";
2
2
  export { PI_CA_LEASH_STATE_DIR_NAME, PiCaLeashManagedPeerApi, piCaLeashBridgeStorageDir, piCaLeashRuntimeStorageDir, piCaLeashStateDir, } from "./managed-peers.js";
3
3
  export { PiIntercomTransport } from "./pi-intercom-transport.js";
4
- export { BRIDGE_SYSTEM_PROMPT, extractLatestReplyText, extractReplyText, formatInboundMessage, formatTransportInboundText, mapRuntimeState, } from "./bridge.js";
4
+ export { BRIDGE_SYSTEM_PROMPT, defaultStaleThresholdMsForDriver, extractLatestReplyText, extractReplyText, formatInboundMessage, formatTransportInboundText, mapRuntimeState, } from "./bridge.js";
5
+ export { WaitCompletionError } from "./types.js";
5
6
  export { defaultBridgeStorageDir, bridgeRegistryPath, readBridgeRegistry, writeBridgeRegistry, } from "./persistence.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
@@ -1,24 +1,42 @@
1
- import { ClaudeCodeRuntime, type RuntimeDriverName } from "@pi-claude-code-agent/runtime";
1
+ import type { RuntimeDriverName, RuntimeEvent, RuntimeOptions, RuntimeSessionId, TranscriptChunk } from "@pi-claude-code-agent/runtime";
2
2
  import { ClaudeRuntimeIntercomBridge } from "./bridge.js";
3
- import type { AskResult, AttachPeerInput, BridgeOptions, BridgePeer, InterruptPeerResult, LaunchPeerInput } from "./types.js";
3
+ import type { AskResult, AttachPeerInput, BridgeOptions, BridgePeer, InterruptPeerResult, LaunchPeerInput, WaitForCompletionOptions } from "./types.js";
4
+ import type { RuntimeStatus } from "@pi-claude-code-agent/runtime";
4
5
  export declare const PI_CA_LEASH_STATE_DIR_NAME = ".pi-ca-leash";
5
6
  export declare function piCaLeashStateDir(cwd?: string): string;
6
7
  export declare function piCaLeashRuntimeStorageDir(cwd?: string): string;
7
8
  export declare function piCaLeashBridgeStorageDir(cwd?: string): string;
8
9
  export interface ManagedPeerApiOptions extends Pick<BridgeOptions, "transport" | "pollIntervalMs" | "askTimeoutMs"> {
9
10
  cwd?: string;
10
- runtime?: ClaudeCodeRuntime;
11
11
  bridge?: ClaudeRuntimeIntercomBridge;
12
12
  defaultDriver?: RuntimeDriverName;
13
+ /**
14
+ * Optional overrides for the embedded Runtime's construction. Merged on top
15
+ * of the defaults derived from `cwd` and `defaultDriver`. Use this to inject
16
+ * a custom driver/resolver (e.g. tests with a fake driver) without exposing
17
+ * the Runtime instance.
18
+ */
19
+ runtimeOptions?: Omit<RuntimeOptions, "storageDir" | "defaultDriver"> & {
20
+ storageDir?: string;
21
+ defaultDriver?: RuntimeDriverName;
22
+ };
13
23
  }
14
24
  export declare class PiCaLeashManagedPeerApi {
15
- readonly runtime: ClaudeCodeRuntime;
16
25
  readonly bridge: ClaudeRuntimeIntercomBridge;
17
26
  constructor(options?: ManagedPeerApiOptions);
18
27
  launchPeer(input: LaunchPeerInput): Promise<BridgePeer>;
19
28
  attachPeer(input: AttachPeerInput): Promise<BridgePeer>;
20
29
  listPeers(): Promise<BridgePeer[]>;
21
30
  status(name: string): Promise<BridgePeer | undefined>;
31
+ statusBySessionId(sessionId: RuntimeSessionId): Promise<BridgePeer | undefined>;
32
+ events(sessionId: RuntimeSessionId, cursor?: number): Promise<TranscriptChunk>;
33
+ subscribe(listener: (event: RuntimeEvent) => void, sessionId?: RuntimeSessionId): () => void;
34
+ /**
35
+ * Event-driven wait for a session to reach a terminal state, with
36
+ * staleness + hard-ceiling backstops. Driver-aware defaults are picked
37
+ * from the session's runtime driver. See `ClaudeRuntimeIntercomBridge.waitForCompletion`.
38
+ */
39
+ waitForCompletion(sessionId: RuntimeSessionId, opts?: WaitForCompletionOptions): Promise<RuntimeStatus>;
22
40
  reconcilePeers(): Promise<BridgePeer[]>;
23
41
  send(name: string, message: Parameters<ClaudeRuntimeIntercomBridge["send"]>[1], options?: Parameters<ClaudeRuntimeIntercomBridge["send"]>[2]): Promise<BridgePeer>;
24
42
  ask(name: string, message: Parameters<ClaudeRuntimeIntercomBridge["ask"]>[1]): Promise<AskResult>;