@cortexkit/aft-bridge 0.45.1 → 0.47.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.
@@ -16,7 +16,7 @@
16
16
  * top of it. subc-client is a build-time path dependency bundled into the
17
17
  * published plugin dist; it is never a published runtime dependency.
18
18
  */
19
- import { connectionFileExists, isConsumerReconnectTransient, SubcCallError, SubcClient, } from "@cortexkit/subc-client";
19
+ import { connectionFileExists, isConsumerReconnectTransient, StaleRouteHandleError, SubcCallError, SubcClient, SubcError, } from "@cortexkit/subc-client";
20
20
  import { canonicalizeProjectRoot } from "./project-identity.js";
21
21
  import { parseStatusBarCounts } from "./status-bar.js";
22
22
  /** The subc module id AFT registers under (matches the daemon manifest). */
@@ -73,16 +73,18 @@ class BgSubscription {
73
73
  identity;
74
74
  acquireClient;
75
75
  dropClient;
76
+ consumerIdentity;
76
77
  onNudge;
77
78
  sleep;
78
79
  stopped = false;
79
80
  /** The live subscription handle, read by stop() to wake the loop's `await closed`. */
80
81
  current = null;
81
82
  loop;
82
- constructor(identity, acquireClient, dropClient, onNudge, sleep) {
83
+ constructor(identity, acquireClient, dropClient, consumerIdentity, onNudge, sleep) {
83
84
  this.identity = identity;
84
85
  this.acquireClient = acquireClient;
85
86
  this.dropClient = dropClient;
87
+ this.consumerIdentity = consumerIdentity;
86
88
  this.onNudge = onNudge;
87
89
  this.sleep = sleep;
88
90
  this.loop = this.run();
@@ -118,12 +120,11 @@ class BgSubscription {
118
120
  }
119
121
  if (this.stopped)
120
122
  return;
121
- let channel;
123
+ let route;
122
124
  try {
123
- // A SECOND, dedicated routeOpen (NOT the tool route cache): the daemon
124
- // mints a fresh channel per route.open, so the bg_events subscribe rides
125
- // its own channel, isolated from the tool route's credit window.
126
- channel = await client.routeOpen({ kind: "tool_provider", module_id: AFT_MODULE_ID }, this.identity);
125
+ // A second dedicated route isolates bg_events from the tool route's
126
+ // credit window while preserving the client's connection-bound handle.
127
+ route = await client.routeOpen({ kind: "tool_provider", module_id: AFT_MODULE_ID }, this.identity, { consumerIdentity: this.consumerIdentity });
127
128
  }
128
129
  catch (err) {
129
130
  // routeOpen failed. If it signals a dead CONNECTION, drop the shared
@@ -136,15 +137,15 @@ class BgSubscription {
136
137
  continue;
137
138
  }
138
139
  if (this.stopped) {
139
- safeCloseRoute(client, channel);
140
+ safeCloseRoute(client, route);
140
141
  return;
141
142
  }
142
- // Channel lifetime: the `finally` guarantees closeRouteChannel on EVERY exit
143
+ // Route lifetime: the `finally` guarantees closeRouteChannel on every exit
143
144
  // path from here (StreamEnd return, drop+resubscribe, stopped) so the
144
145
  // dedicated route never leaks (B-#2).
145
146
  const subscribedAt = Date.now();
146
147
  try {
147
- const sub = client.subscribe(channel, { op: "bg_events" }, () => {
148
+ const sub = client.subscribe(route, { op: "bg_events" }, () => {
148
149
  if (!this.stopped)
149
150
  this.onNudge();
150
151
  });
@@ -180,7 +181,7 @@ class BgSubscription {
180
181
  }
181
182
  finally {
182
183
  this.current = null;
183
- safeCloseRoute(client, channel);
184
+ safeCloseRoute(client, route);
184
185
  }
185
186
  await this.backoff(attempt++);
186
187
  }
@@ -193,14 +194,18 @@ class BgSubscription {
193
194
  function isRecord(value) {
194
195
  return typeof value === "object" && value !== null && !Array.isArray(value);
195
196
  }
197
+ function isRouteProvenAbsentError(err) {
198
+ return ((err instanceof SubcError && err.code === "unknown_channel") ||
199
+ err instanceof StaleRouteHandleError);
200
+ }
196
201
  /**
197
202
  * Fire-and-forget route close that can never throw — neither synchronously (a
198
203
  * client that rejects/throws when closing a route on an already-dead socket) nor
199
204
  * via an unhandled rejection. Used on every best-effort teardown path.
200
205
  */
201
- function safeCloseRoute(client, channel) {
206
+ function safeCloseRoute(client, route) {
202
207
  try {
203
- void client.closeRouteChannel(channel).catch(() => undefined);
208
+ void client.closeRouteChannel(route).catch(() => undefined);
204
209
  }
205
210
  catch {
206
211
  // synchronous throw (e.g. closing a route on an already-closed client) — ignore
@@ -313,7 +318,11 @@ class SubcTransport {
313
318
  if (!options)
314
319
  return {};
315
320
  const preview = options.preview;
316
- const timeoutMs = options.timeoutMs;
321
+ // Mirror BinaryBridge.send's budget precedence (transportTimeoutMs wins):
322
+ // orchestrated bash passes its wait-aware budget as transportTimeoutMs, and
323
+ // dropping it here would cap long tool executions at the subc client's
324
+ // default unary deadline while the command keeps running module-side.
325
+ const timeoutMs = options.transportTimeoutMs ?? options.timeoutMs;
317
326
  const onProgress = options.onProgress;
318
327
  return { preview, timeoutMs, onProgress };
319
328
  }
@@ -327,6 +336,7 @@ export class SubcTransportPool {
327
336
  harness;
328
337
  connectionFile;
329
338
  handshakeTimeoutMs;
339
+ consumerIdentity;
330
340
  connectFn;
331
341
  onBgEventsNudge;
332
342
  bgBackoffSleep;
@@ -349,6 +359,7 @@ export class SubcTransportPool {
349
359
  this.connectionFile = options.connectionFile;
350
360
  this.harness = options.harness;
351
361
  this.handshakeTimeoutMs = options.handshakeTimeoutMs;
362
+ this.consumerIdentity = options.consumerIdentity;
352
363
  this.connectFn = options.connect ?? ((opts) => SubcClient.connect(opts));
353
364
  this.onBgEventsNudge = options.onBgEventsNudge;
354
365
  this.bgBackoffSleep =
@@ -376,6 +387,14 @@ export class SubcTransportPool {
376
387
  return null;
377
388
  return this.transports.get(key) ?? null;
378
389
  }
390
+ /** All live per-root facades, for session-scoped signals that must not
391
+ * depend on exact root-key resolution (the command carries the session ID
392
+ * and the module scopes by session, so fan-out is safe). */
393
+ activeBridges() {
394
+ if (!this.client || this.shuttingDown)
395
+ return [];
396
+ return [...this.transports.values()];
397
+ }
379
398
  async toolCall(projectRoot, runtime, name, rawArgs = {}, options) {
380
399
  return this.getBridge(projectRoot).toolCall(runtime.sessionID, name, rawArgs, options);
381
400
  }
@@ -401,12 +420,13 @@ export class SubcTransportPool {
401
420
  }
402
421
  /**
403
422
  * Open-or-reuse a route for `identity` and send `body` as a data-plane Request.
404
- * Rd reconnect (mutation-safe by construction NEVER auto-retries): on a
405
- * transport-level {@link SubcCallError} the cached channel is discarded and the
406
- * dead client cleared so the NEXT call re-establishes, but the failed call is
407
- * surfaced to the agent unchanged (identical to a standalone bridge death). Only
408
- * `SubcClient.request` transport failures throw here; a tool-level error comes
409
- * back as a normal reply with `success:false` and is returned, not thrown.
423
+ * Rd reconnect is mutation-safe by construction: transport failures surface to
424
+ * the caller after clearing stale route/client state so the NEXT call
425
+ * re-establishes. The only in-place retries are route-absence proofs: either the
426
+ * daemon returns `unknown_channel`, or the client rejects a stale handle before
427
+ * writing. In both cases, the request was not delivered to the module.
428
+ * Tool-level errors come back as normal replies with `success:false` and are
429
+ * returned, not thrown.
410
430
  */
411
431
  async routeRequest(identity, body, timeoutMs, onProgress) {
412
432
  const key = identityKey(identity);
@@ -414,57 +434,46 @@ export class SubcTransportPool {
414
434
  record.inflight += 1;
415
435
  try {
416
436
  const client = await this.ensureClient();
417
- // closeSession/shutdown marks and deletes the record synchronously. A request
418
- // that was waiting for connect must not open a route for a session that no
419
- // longer exists.
420
- if (!this.isCurrentSession(key, record)) {
421
- throw new RouteTornDownError("subc session closed");
422
- }
423
- let channel;
424
- let entry;
425
- try {
426
- ({ channel, entry } = await this.routeChannel(client, identity, record));
427
- // routeOpen may have awaited. Do not send a request after a close, even
428
- // if a stale route entry just resolved.
437
+ const openRoute = async () => {
438
+ // closeSession/shutdown marks and deletes the record synchronously. A request
439
+ // that was waiting for connect must not open a route for a session that no
440
+ // longer exists.
429
441
  if (!this.isCurrentSession(key, record)) {
430
442
  throw new RouteTornDownError("subc session closed");
431
443
  }
432
- }
433
- catch (err) {
434
- // A teardown that raced the open is not a transport fault surface it
435
- // without dropping the client or charging the failure budget.
436
- if (err instanceof RouteTornDownError)
444
+ try {
445
+ const opened = await this.routeHandle(client, identity, record);
446
+ // routeOpen may have awaited. Do not send a request after a close, even
447
+ // if a stale route entry just resolved.
448
+ if (!this.isCurrentSession(key, record)) {
449
+ throw new RouteTornDownError("subc session closed");
450
+ }
451
+ return opened;
452
+ }
453
+ catch (err) {
454
+ // A teardown that raced the open is not a transport fault — surface it
455
+ // without dropping the client or charging the failure budget.
456
+ if (err instanceof RouteTornDownError)
457
+ throw err;
458
+ // routeOpen itself failed. Classify the error like other request failures
459
+ // for transient connection death, but only while this request's session
460
+ // and client are still current. A close-induced failure must not drop a
461
+ // healthy client shared by other sessions.
462
+ if (isConsumerReconnectTransient(err) &&
463
+ this.isCurrentSession(key, record) &&
464
+ this.client === client) {
465
+ this.dropClient(client);
466
+ }
437
467
  throw err;
438
- // routeOpen itself failed. Classify the error like other request failures
439
- // for transient connection death, but only while this request's session
440
- // and client are still current. A close-induced failure must not drop a
441
- // healthy client shared by other sessions.
442
- if (isConsumerReconnectTransient(err) &&
443
- this.isCurrentSession(key, record) &&
444
- this.client === client) {
445
- this.dropClient(client);
446
468
  }
447
- throw err;
448
- }
449
- try {
450
- // Forward the caller's progress callback to the subc client. Current
451
- // foreground calls return one final reply, so production does not rely on
452
- // live progress events here.
453
- const reply = await client.request(channel, body, { timeoutMs, onProgress });
454
- // The half-open failure budget belongs to the current live session on the
455
- // current client. A late success after close or client replacement must
456
- // not mutate the current client's counter.
457
- if (this.isCurrentSession(key, record) && this.client === client) {
458
- this.transportFailures = 0;
469
+ };
470
+ const clearRouteEntry = (entry) => {
471
+ if (record.routeEntry === entry) {
472
+ entry.closed = true;
473
+ record.routeEntry = null;
459
474
  }
460
- // bg_events is a session resource, not a route-entry resource. A
461
- // successful request on an older route should still ensure the subscription
462
- // while the session remains open, and a late success after close must not
463
- // resurrect one.
464
- this.ensureBgSubscription(identity, record);
465
- return reply;
466
- }
467
- catch (err) {
475
+ };
476
+ const handleRequestFailure = (err, entry) => {
468
477
  // The raw `request()` path does not turn failures into SubcCallError; it
469
478
  // rejects with a base SubcError for route-level failures or a raw socket
470
479
  // error for connection failures. Use `isConsumerReconnectTransient`, not
@@ -474,10 +483,7 @@ export class SubcTransportPool {
474
483
  // A failed request makes its own route suspect, so drop it and let the next
475
484
  // call re-open. Check only the current entry; a stale failure must not
476
485
  // delete a successor route in the same still-open session.
477
- if (record.routeEntry === entry) {
478
- entry.closed = true;
479
- record.routeEntry = null;
480
- }
486
+ clearRouteEntry(entry);
481
487
  // Only a failure from the current session on the current client can charge
482
488
  // or drop that client. A failure caused by closeSession sees
483
489
  // !isCurrentSession because close marked/deleted the record before awaiting
@@ -487,7 +493,8 @@ export class SubcTransportPool {
487
493
  this.transportFailures = 0;
488
494
  this.dropClient(client);
489
495
  }
490
- else if (++this.transportFailures >= MAX_CONSECUTIVE_TRANSPORT_FAILURES) {
496
+ else if (!isRouteProvenAbsentError(err) &&
497
+ ++this.transportFailures >= MAX_CONSECUTIVE_TRANSPORT_FAILURES) {
491
498
  // A run of non-transient throws (timeouts / route GOODBYEs) with no
492
499
  // success between them is a half-open socket: local writes succeed but
493
500
  // no response ever returns, so isConsumerReconnectTransient never fires
@@ -496,6 +503,47 @@ export class SubcTransportPool {
496
503
  this.dropClient(client);
497
504
  }
498
505
  }
506
+ };
507
+ const requestOnRoute = async (route) => {
508
+ // Forward the caller's progress callback to the subc client. Current
509
+ // foreground calls return one final reply, so production does not rely on
510
+ // live progress events here.
511
+ const reply = await client.request(route, body, { timeoutMs, onProgress });
512
+ // The half-open failure budget belongs to the current live session on the
513
+ // current client. A late success after close or client replacement must
514
+ // not mutate the current client's counter.
515
+ if (this.isCurrentSession(key, record) && this.client === client) {
516
+ this.transportFailures = 0;
517
+ }
518
+ // bg_events is a session resource, not a route-entry resource. A
519
+ // successful request on an older route should still ensure the subscription
520
+ // while the session remains open, and a late success after close must not
521
+ // resurrect one.
522
+ this.ensureBgSubscription(identity, record);
523
+ return reply;
524
+ };
525
+ let { route, entry } = await openRoute();
526
+ try {
527
+ return await requestOnRoute(route);
528
+ }
529
+ catch (err) {
530
+ if (isRouteProvenAbsentError(err) &&
531
+ this.isCurrentSession(key, record) &&
532
+ this.client === client) {
533
+ // Either the daemon says the channel does not exist, or the client
534
+ // rejected the stale handle before writing. Reopen and resend once; all
535
+ // other failures keep the no-auto-retry mutation-safety rule.
536
+ clearRouteEntry(entry);
537
+ ({ route, entry } = await openRoute());
538
+ try {
539
+ return await requestOnRoute(route);
540
+ }
541
+ catch (retryErr) {
542
+ handleRequestFailure(retryErr, entry);
543
+ throw retryErr;
544
+ }
545
+ }
546
+ handleRequestFailure(err, entry);
499
547
  throw err;
500
548
  }
501
549
  }
@@ -547,19 +595,21 @@ export class SubcTransportPool {
547
595
  * ownership guard: stale request failures can clear only the route they used,
548
596
  * never a successor route in the same still-open session.
549
597
  */
550
- async routeChannel(client, identity, record) {
598
+ async routeHandle(client, identity, record) {
551
599
  const key = identityKey(identity);
552
600
  const existing = record.routeEntry;
553
- if (existing?.channel != null)
554
- return { channel: existing.channel, entry: existing };
601
+ if (existing?.handle != null)
602
+ return { route: existing.handle, entry: existing };
555
603
  if (existing?.opening)
556
- return { channel: await existing.opening, entry: existing };
604
+ return { route: await existing.opening, entry: existing };
557
605
  // Singleflight: install the entry BEFORE awaiting so a concurrent caller for
558
606
  // the same identity awaits this same open instead of minting a second channel.
559
- const entry = { client, opening: null, channel: null, closed: false };
607
+ const entry = { client, opening: null, handle: null, closed: false };
560
608
  const opening = client
561
- .routeOpen({ kind: "tool_provider", module_id: AFT_MODULE_ID }, identity)
562
- .then((channel) => {
609
+ .routeOpen({ kind: "tool_provider", module_id: AFT_MODULE_ID }, identity, {
610
+ consumerIdentity: this.consumerIdentity,
611
+ })
612
+ .then((route) => {
563
613
  // A close/shutdown may have raced this open, or this entry may have been
564
614
  // replaced by a transient drop/reopen. In both cases, release the freshly
565
615
  // minted channel and clear only this entry if it still owns the cache slot.
@@ -567,14 +617,14 @@ export class SubcTransportPool {
567
617
  record.routeEntry !== entry ||
568
618
  entry.closed ||
569
619
  this.client !== client) {
570
- safeCloseRoute(client, channel);
620
+ safeCloseRoute(client, route);
571
621
  if (record.routeEntry === entry)
572
622
  record.routeEntry = null;
573
623
  throw new RouteTornDownError("subc route opened after teardown");
574
624
  }
575
- entry.channel = channel;
625
+ entry.handle = route;
576
626
  entry.opening = null;
577
- return channel;
627
+ return route;
578
628
  })
579
629
  .catch((err) => {
580
630
  const current = this.isCurrentSession(key, record);
@@ -591,7 +641,7 @@ export class SubcTransportPool {
591
641
  });
592
642
  entry.opening = opening;
593
643
  record.routeEntry = entry;
594
- return { channel: await opening, entry };
644
+ return { route: await opening, entry };
595
645
  }
596
646
  /**
597
647
  * Open the dedicated bg_events subscription for `identity` once. Idempotent —
@@ -608,7 +658,7 @@ export class SubcTransportPool {
608
658
  if (record.bgSub)
609
659
  return;
610
660
  const onNudge = () => this.onBgEventsNudge?.(identity.project_root, identity.session);
611
- const sub = new BgSubscription(identity, () => this.ensureClient(), (client) => this.dropClient(client), onNudge, this.bgBackoffSleep);
661
+ const sub = new BgSubscription(identity, () => this.ensureClient(), (client) => this.dropClient(client), this.consumerIdentity, onNudge, this.bgBackoffSleep);
612
662
  record.bgSub = sub;
613
663
  }
614
664
  /** Drop a dead client so the next call reconnects; preserves session records. */
@@ -639,10 +689,16 @@ export class SubcTransportPool {
639
689
  }
640
690
  /** No-op over subc: config is read locally by AFT (wire tiers are ignored). */
641
691
  setConfigureOverride(_key, _value) { }
692
+ /** No-op over subc: the daemon owns the live module's configure lifecycle. */
693
+ async reconfigure(_projectRoot, _overrides) { }
642
694
  /** No-op over subc: the daemon supervises the binary, not the plugin. */
643
695
  async replaceBinary(path) {
644
696
  return path;
645
697
  }
698
+ /** A subc pool instance is terminal after shutdown; ownership revives it outside this class. */
699
+ isShutdown() {
700
+ return this.shuttingDown;
701
+ }
646
702
  async shutdown() {
647
703
  this.shuttingDown = true;
648
704
  const subs = [];
@@ -666,10 +722,10 @@ export class SubcTransportPool {
666
722
  this.transports.clear();
667
723
  await Promise.allSettled(subs.map((sub) => sub.stop()));
668
724
  await Promise.allSettled(entries.map(async (entry) => {
669
- if (entry.channel == null)
725
+ if (entry.handle == null)
670
726
  return;
671
727
  try {
672
- await entry.client.closeRouteChannel(entry.channel);
728
+ await entry.client.closeRouteChannel(entry.handle);
673
729
  }
674
730
  catch {
675
731
  // best-effort; a dropped connection releases the route on the other side
@@ -712,9 +768,9 @@ export class SubcTransportPool {
712
768
  entry.closed = true;
713
769
  if (sub)
714
770
  await sub.stop();
715
- if (entry?.channel != null) {
771
+ if (entry?.handle != null) {
716
772
  try {
717
- await entry.client.closeRouteChannel(entry.channel);
773
+ await entry.client.closeRouteChannel(entry.handle);
718
774
  }
719
775
  catch {
720
776
  // best-effort; a dropped connection releases the route on the other side
@@ -1 +1 @@
1
- {"version":3,"file":"subc-transport.js","sourceRoot":"","sources":["../src/subc-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subc-transport.js","sourceRoot":"","sources":["../src/subc-transport.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@
12
12
  * the file is MISSING ⇒ FAIL LOUD (throw) — never a silent downgrade to
13
13
  * standalone, which would split-brain a user who meant to run under the daemon.
14
14
  */
15
+ import type { ConsumerIdentity } from "@cortexkit/subc-client";
15
16
  import { type PoolOptions } from "./pool.js";
16
17
  import type { AftTransportPool } from "./transport.js";
17
18
  export interface AftTransportFactoryOptions {
@@ -29,6 +30,8 @@ export interface AftTransportFactoryOptions {
29
30
  * relative paths are resolved against the user's home directory.
30
31
  */
31
32
  subcConnectionFile?: string;
33
+ /** Test/in-process override for route principal identity. Production leaves this undefined. */
34
+ subcConsumerIdentity?: ConsumerIdentity | null;
32
35
  /**
33
36
  * Subc path: idle bg-completion wake handler (a `{op:"bg_events"}` nudge). The
34
37
  * handler MUST force a drain (the nudge is payload-less). Ignored standalone.
@@ -39,7 +42,8 @@ export interface AftTransportFactoryOptions {
39
42
  * Construct the transport pool for this plugin process. Async because the subc
40
43
  * presence check stats the connection file. Returns a pool satisfying
41
44
  * {@link AftTransportPool} either way; the caller's downstream code does not
42
- * branch on which.
45
+ * branch on which. The returned ownership layer replaces a terminal subc or
46
+ * standalone instance when a later tool call arrives after host teardown.
43
47
  */
44
48
  export declare function createAftTransportPool(opts: AftTransportFactoryOptions): Promise<AftTransportPool>;
45
49
  //# sourceMappingURL=transport-factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport-factory.d.ts","sourceRoot":"","sources":["../src/transport-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,WAAW,0BAA0B;IACzC,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,WAAW,EAAE,WAAW,CAAC;IACzB,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAaD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAuB3B"}
1
+ {"version":3,"file":"transport-factory.d.ts","sourceRoot":"","sources":["../src/transport-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAGzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,WAAW,0BAA0B;IACzC,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,WAAW,EAAE,WAAW,CAAC;IACzB,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+FAA+F;IAC/F,oBAAoB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/C;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAaD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAM3B"}
@@ -15,6 +15,7 @@
15
15
  import { homedir } from "node:os";
16
16
  import { isAbsolute, join } from "node:path";
17
17
  import { BridgePool } from "./pool.js";
18
+ import { RevivableTransportPool } from "./revivable-transport.js";
18
19
  import { SubcTransportPool } from "./subc-transport.js";
19
20
  function resolveConnectionFilePath(raw) {
20
21
  const trimmed = raw.trim();
@@ -31,9 +32,17 @@ function resolveConnectionFilePath(raw) {
31
32
  * Construct the transport pool for this plugin process. Async because the subc
32
33
  * presence check stats the connection file. Returns a pool satisfying
33
34
  * {@link AftTransportPool} either way; the caller's downstream code does not
34
- * branch on which.
35
+ * branch on which. The returned ownership layer replaces a terminal subc or
36
+ * standalone instance when a later tool call arrives after host teardown.
35
37
  */
36
38
  export async function createAftTransportPool(opts) {
39
+ let binaryPath = opts.binaryPath;
40
+ const createPool = () => createConcreteAftTransportPool({ ...opts, binaryPath });
41
+ return new RevivableTransportPool(await createPool(), createPool, (path) => {
42
+ binaryPath = path;
43
+ });
44
+ }
45
+ async function createConcreteAftTransportPool(opts) {
37
46
  const raw = opts.subcConnectionFile?.trim();
38
47
  if (raw && raw.length > 0) {
39
48
  const connectionFile = resolveConnectionFilePath(raw);
@@ -50,6 +59,7 @@ export async function createAftTransportPool(opts) {
50
59
  return new SubcTransportPool({
51
60
  connectionFile,
52
61
  harness: opts.harness,
62
+ consumerIdentity: opts.subcConsumerIdentity,
53
63
  onBgEventsNudge: opts.onBgEventsNudge,
54
64
  });
55
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transport-factory.js","sourceRoot":"","sources":["../src/transport-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAoB,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAyBxD,SAAS,yBAAyB,CAAC,GAAW;IAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,+EAA+E;IAC/E,oEAAoE;IACpE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAgC;IAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC5C,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,2EAA2E;YAC3E,0EAA0E;YAC1E,2EAA2E;YAC3E,wCAAwC;YACxC,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAG,gBAAgB,cAAc,gBAAgB;gBAClF,iFAAiF;gBACjF,oFAAoF,CACvF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,iBAAiB,CAAC;YAC3B,cAAc;YACd,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"transport-factory.js","sourceRoot":"","sources":["../src/transport-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAI7C,OAAO,EAAE,UAAU,EAAoB,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA2BxD,SAAS,yBAAyB,CAAC,GAAW;IAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,+EAA+E;IAC/E,oEAAoE;IACpE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAgC;IAEhC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACjC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,8BAA8B,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACjF,OAAO,IAAI,sBAAsB,CAAC,MAAM,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QACzE,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,IAAgC;IAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC5C,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,2EAA2E;YAC3E,0EAA0E;YAC1E,2EAA2E;YAC3E,wCAAwC;YACxC,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAG,gBAAgB,cAAc,gBAAgB;gBAClF,iFAAiF;gBACjF,oFAAoF,CACvF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,iBAAiB,CAAC;YAC3B,cAAc;YACd,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,oBAAoB;YAC3C,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACjF,CAAC"}
@@ -35,9 +35,20 @@ export interface AftProjectTransport {
35
35
  export interface AftTransportPool {
36
36
  getBridge(projectRoot: string): AftProjectTransport;
37
37
  getActiveBridgeForRoot(projectRoot: string): AftProjectTransport | null;
38
+ /**
39
+ * All currently-live project transports, for session-scoped signals (e.g.
40
+ * bash wait-detach) that must reach their target even when the caller's
41
+ * root-key resolution disagrees with the key the tool call used. Callers
42
+ * must only send session-scoped, read-only commands through these.
43
+ */
44
+ activeBridges(): AftProjectTransport[];
38
45
  toolCall(projectRoot: string, runtime: BridgeToolCallRuntime, name: string, rawArgs?: ToolCallArguments, options?: ToolCallOptions): Promise<ToolCallResult>;
39
46
  setConfigureOverride(key: string, value: unknown): void;
47
+ /** Reapply configure-time overrides to an already-live project bridge. */
48
+ reconfigure(projectRoot: string, overrides: Record<string, unknown>): Promise<void>;
40
49
  replaceBinary(path: string): Promise<string>;
50
+ /** True when this pool instance has reached its terminal shutdown state. */
51
+ isShutdown(): boolean;
41
52
  shutdown(): Promise<void>;
42
53
  /**
43
54
  * Release any per-session transport state for `(projectRoot, session)` on
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExD,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sEAAsE;IACtE,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,MAAM,WAAW,mBAAmB;IAClC,IAAI,CACF,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpC,QAAQ,CACN,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B,MAAM,IAAI,MAAM,CAAC;IACjB,YAAY,IAAI,eAAe,GAAG,SAAS,CAAC;IAC5C,eAAe,IAAI,cAAc,GAAG,IAAI,CAAC;IACzC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CACrD;AAGD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpD,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAC;IACxE,QAAQ,CACN,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACxD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,YAAY,CAAC,eAAe,GAAG,MAAM,GAAG,SAAS;IAChE,2EAA2E;IAC3E,IAAI,CACF,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpC;;;OAGG;IACH,QAAQ,CACN,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5B"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}