@cortexkit/aft-bridge 0.46.0 → 0.47.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config-keys.d.ts +11 -0
- package/dist/config-keys.d.ts.map +1 -0
- package/dist/config-keys.js +18 -0
- package/dist/config-keys.js.map +1 -0
- package/dist/durable-log.d.ts +31 -0
- package/dist/durable-log.d.ts.map +1 -0
- package/dist/durable-log.js +125 -0
- package/dist/durable-log.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/onnx-runtime.d.ts.map +1 -1
- package/dist/onnx-runtime.js +25 -0
- package/dist/onnx-runtime.js.map +1 -1
- package/dist/paths.d.ts +16 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +61 -0
- package/dist/paths.js.map +1 -1
- package/dist/pool.d.ts +16 -0
- package/dist/pool.d.ts.map +1 -1
- package/dist/pool.js +70 -14
- package/dist/pool.js.map +1 -1
- package/dist/revivable-transport.d.ts +58 -0
- package/dist/revivable-transport.d.ts.map +1 -0
- package/dist/revivable-transport.js +188 -0
- package/dist/revivable-transport.js.map +1 -0
- package/dist/subc-transport.d.ts +26 -8
- package/dist/subc-transport.d.ts.map +1 -1
- package/dist/subc-transport.js +66 -45
- package/dist/subc-transport.js.map +1 -1
- package/dist/transport-factory.d.ts +5 -1
- package/dist/transport-factory.d.ts.map +1 -1
- package/dist/transport-factory.js +11 -1
- package/dist/transport-factory.js.map +1 -1
- package/dist/transport.d.ts +11 -0
- package/dist/transport.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/pool.d.ts
CHANGED
|
@@ -90,6 +90,7 @@ export declare class BridgePool implements AftTransportPool {
|
|
|
90
90
|
private readonly projectConfigLoader;
|
|
91
91
|
private readonly logger;
|
|
92
92
|
private cleanupTimer;
|
|
93
|
+
private shutdownCalled;
|
|
93
94
|
constructor(binaryPath: string, options?: PoolOptions, configOverrides?: Record<string, unknown>);
|
|
94
95
|
/**
|
|
95
96
|
* Get an alive bridge only when it belongs to the requested project root.
|
|
@@ -102,6 +103,9 @@ export declare class BridgePool implements AftTransportPool {
|
|
|
102
103
|
* status from another project's bridge mixes session-isolated state.
|
|
103
104
|
*/
|
|
104
105
|
getActiveBridgeForRoot(projectRoot: string): BinaryBridge | null;
|
|
106
|
+
/** All live bridges, for session-scoped signals that must not depend on
|
|
107
|
+
* exact root-key resolution (the command itself carries the session ID). */
|
|
108
|
+
activeBridges(): BinaryBridge[];
|
|
105
109
|
/**
|
|
106
110
|
* Get or create the bridge for `projectRoot`.
|
|
107
111
|
*
|
|
@@ -126,11 +130,14 @@ export declare class BridgePool implements AftTransportPool {
|
|
|
126
130
|
closeSession(_projectRoot: string, _session: string): Promise<void>;
|
|
127
131
|
/** Shut down all bridges and stop the cleanup timer. */
|
|
128
132
|
shutdown(): Promise<void>;
|
|
133
|
+
/** A standalone pool can be restarted by its owner after shutdown. */
|
|
134
|
+
isShutdown(): boolean;
|
|
129
135
|
/**
|
|
130
136
|
* Replace the binary path and restart all bridges.
|
|
131
137
|
* Used after downloading a newer binary version.
|
|
132
138
|
*/
|
|
133
139
|
replaceBinary(newPath: string): Promise<string>;
|
|
140
|
+
private startCleanupTimer;
|
|
134
141
|
private log;
|
|
135
142
|
private error;
|
|
136
143
|
/**
|
|
@@ -144,6 +151,15 @@ export declare class BridgePool implements AftTransportPool {
|
|
|
144
151
|
* If `value === undefined`, the override key is removed.
|
|
145
152
|
*/
|
|
146
153
|
setConfigureOverride(key: string, value: unknown): void;
|
|
154
|
+
/**
|
|
155
|
+
* Reapply configure overrides to a live bridge without replacing it.
|
|
156
|
+
*
|
|
157
|
+
* Async resources such as the LSP install cache can become available after a
|
|
158
|
+
* bridge has configured. Sending a normal configure request keeps the bridge's
|
|
159
|
+
* warm Rust state while allowing those process-state paths to take effect.
|
|
160
|
+
*/
|
|
161
|
+
reconfigure(projectRoot: string, overrides: Record<string, unknown>): Promise<void>;
|
|
162
|
+
private loadProjectOverrides;
|
|
147
163
|
/** Number of active bridges in the pool. */
|
|
148
164
|
get size(): number;
|
|
149
165
|
/**
|
package/dist/pool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAW,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACf,MAAM,gBAAgB,CAAC;AAMxB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aACjB,WAAW,EAAE,MAAM;gBAAnB,WAAW,EAAE,MAAM;CAQhD;AAiBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAIlE;AAOD,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxE;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,UAAW,YAAW,gBAAgB;IACjD,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAEtB;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,YAAY,CAA+C;
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
|
package/dist/pool.js
CHANGED
|
@@ -88,6 +88,7 @@ export class BridgePool {
|
|
|
88
88
|
projectConfigLoader;
|
|
89
89
|
logger;
|
|
90
90
|
cleanupTimer = null;
|
|
91
|
+
shutdownCalled = false;
|
|
91
92
|
constructor(binaryPath, options = {}, configOverrides = {}) {
|
|
92
93
|
this.binaryPath = binaryPath;
|
|
93
94
|
this.maxPoolSize = options.maxPoolSize ?? DEFAULT_MAX_POOL_SIZE;
|
|
@@ -115,10 +116,7 @@ export class BridgePool {
|
|
|
115
116
|
// Reuse the existing idle-window timer for both idle eviction and binary
|
|
116
117
|
// refresh checks. When idle eviction is disabled, there is no background
|
|
117
118
|
// maintenance loop.
|
|
118
|
-
|
|
119
|
-
this.cleanupTimer = setInterval(() => this.cleanup(), CLEANUP_INTERVAL_MS);
|
|
120
|
-
this.cleanupTimer.unref(); // don't prevent Node from exiting
|
|
121
|
-
}
|
|
119
|
+
this.startCleanupTimer();
|
|
122
120
|
}
|
|
123
121
|
/**
|
|
124
122
|
* Get an alive bridge only when it belongs to the requested project root.
|
|
@@ -131,6 +129,8 @@ export class BridgePool {
|
|
|
131
129
|
* status from another project's bridge mixes session-isolated state.
|
|
132
130
|
*/
|
|
133
131
|
getActiveBridgeForRoot(projectRoot) {
|
|
132
|
+
if (this.shutdownCalled)
|
|
133
|
+
return null;
|
|
134
134
|
const key = normalizeKey(projectRoot);
|
|
135
135
|
const entry = this.bridges.get(key);
|
|
136
136
|
if (!entry?.bridge.isAlive())
|
|
@@ -138,6 +138,18 @@ export class BridgePool {
|
|
|
138
138
|
entry.lastUsed = Date.now();
|
|
139
139
|
return entry.bridge;
|
|
140
140
|
}
|
|
141
|
+
/** All live bridges, for session-scoped signals that must not depend on
|
|
142
|
+
* exact root-key resolution (the command itself carries the session ID). */
|
|
143
|
+
activeBridges() {
|
|
144
|
+
if (this.shutdownCalled)
|
|
145
|
+
return [];
|
|
146
|
+
const alive = [];
|
|
147
|
+
for (const entry of this.bridges.values()) {
|
|
148
|
+
if (entry.bridge.isAlive())
|
|
149
|
+
alive.push(entry.bridge);
|
|
150
|
+
}
|
|
151
|
+
return alive;
|
|
152
|
+
}
|
|
141
153
|
/**
|
|
142
154
|
* Get or create the bridge for `projectRoot`.
|
|
143
155
|
*
|
|
@@ -147,6 +159,10 @@ export class BridgePool {
|
|
|
147
159
|
* isolated by `session_id` on the Rust side.
|
|
148
160
|
*/
|
|
149
161
|
getBridge(projectRoot) {
|
|
162
|
+
if (this.shutdownCalled) {
|
|
163
|
+
this.shutdownCalled = false;
|
|
164
|
+
this.startCleanupTimer();
|
|
165
|
+
}
|
|
150
166
|
const key = normalizeKey(projectRoot);
|
|
151
167
|
// `$HOME`-rooted spawns are no longer refused here. The Rust
|
|
152
168
|
// `handle_configure` auto-disables heavy subsystems (search_index,
|
|
@@ -170,16 +186,7 @@ export class BridgePool {
|
|
|
170
186
|
// project's `.opencode/aft.jsonc` was visible at plugin init for ALL
|
|
171
187
|
// sessions, ignoring the actual session's project config. See the
|
|
172
188
|
// `projectConfigLoader` doc-comment on PoolOptions.
|
|
173
|
-
|
|
174
|
-
if (this.projectConfigLoader) {
|
|
175
|
-
try {
|
|
176
|
-
projectOverrides = this.projectConfigLoader(key) ?? {};
|
|
177
|
-
}
|
|
178
|
-
catch (err) {
|
|
179
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
180
|
-
this.error(`projectConfigLoader failed; using global overrides only: ${message}`);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
189
|
+
const projectOverrides = this.loadProjectOverrides(key);
|
|
183
190
|
const mergedOverrides = { ...this.configOverrides, ...projectOverrides };
|
|
184
191
|
const bridge = new BinaryBridge(this.binaryPath, key, this.bridgeOptions, mergedOverrides);
|
|
185
192
|
this.bridges.set(key, { bridge, lastUsed: Date.now() });
|
|
@@ -239,6 +246,7 @@ export class BridgePool {
|
|
|
239
246
|
async closeSession(_projectRoot, _session) { }
|
|
240
247
|
/** Shut down all bridges and stop the cleanup timer. */
|
|
241
248
|
async shutdown() {
|
|
249
|
+
this.shutdownCalled = true;
|
|
242
250
|
if (this.cleanupTimer) {
|
|
243
251
|
clearInterval(this.cleanupTimer);
|
|
244
252
|
this.cleanupTimer = null;
|
|
@@ -251,6 +259,10 @@ export class BridgePool {
|
|
|
251
259
|
this.staleBridges.clear();
|
|
252
260
|
await Promise.allSettled(shutdowns);
|
|
253
261
|
}
|
|
262
|
+
/** A standalone pool can be restarted by its owner after shutdown. */
|
|
263
|
+
isShutdown() {
|
|
264
|
+
return this.shutdownCalled;
|
|
265
|
+
}
|
|
254
266
|
/**
|
|
255
267
|
* Replace the binary path and restart all bridges.
|
|
256
268
|
* Used after downloading a newer binary version.
|
|
@@ -272,6 +284,12 @@ export class BridgePool {
|
|
|
272
284
|
this.log(`Binary path updated to ${newPath}. Active bridges marked stale — next calls will use the new binary.`);
|
|
273
285
|
return newPath;
|
|
274
286
|
}
|
|
287
|
+
startCleanupTimer() {
|
|
288
|
+
if (!Number.isFinite(this.idleTimeoutMs) || this.cleanupTimer)
|
|
289
|
+
return;
|
|
290
|
+
this.cleanupTimer = setInterval(() => this.cleanup(), CLEANUP_INTERVAL_MS);
|
|
291
|
+
this.cleanupTimer.unref(); // don't prevent Node from exiting
|
|
292
|
+
}
|
|
275
293
|
log(message, meta) {
|
|
276
294
|
const logger = this.logger ?? getActiveLogger();
|
|
277
295
|
if (logger) {
|
|
@@ -318,6 +336,44 @@ export class BridgePool {
|
|
|
318
336
|
this.configOverrides[key] = value;
|
|
319
337
|
}
|
|
320
338
|
}
|
|
339
|
+
/**
|
|
340
|
+
* Reapply configure overrides to a live bridge without replacing it.
|
|
341
|
+
*
|
|
342
|
+
* Async resources such as the LSP install cache can become available after a
|
|
343
|
+
* bridge has configured. Sending a normal configure request keeps the bridge's
|
|
344
|
+
* warm Rust state while allowing those process-state paths to take effect.
|
|
345
|
+
*/
|
|
346
|
+
async reconfigure(projectRoot, overrides) {
|
|
347
|
+
const key = normalizeKey(projectRoot);
|
|
348
|
+
for (const [name, value] of Object.entries(overrides)) {
|
|
349
|
+
this.setConfigureOverride(name, value);
|
|
350
|
+
}
|
|
351
|
+
const bridge = this.getActiveBridgeForRoot(key);
|
|
352
|
+
if (!bridge)
|
|
353
|
+
return;
|
|
354
|
+
const projectOverrides = this.loadProjectOverrides(key);
|
|
355
|
+
const response = await bridge.send("configure", {
|
|
356
|
+
project_root: key,
|
|
357
|
+
...this.configOverrides,
|
|
358
|
+
...projectOverrides,
|
|
359
|
+
...overrides,
|
|
360
|
+
});
|
|
361
|
+
if (response.success === false) {
|
|
362
|
+
throw new Error(`configure refresh failed for ${key}: ${String(response.message ?? "unknown error")}`);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
loadProjectOverrides(key) {
|
|
366
|
+
if (!this.projectConfigLoader)
|
|
367
|
+
return {};
|
|
368
|
+
try {
|
|
369
|
+
return this.projectConfigLoader(key) ?? {};
|
|
370
|
+
}
|
|
371
|
+
catch (err) {
|
|
372
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
373
|
+
this.error(`projectConfigLoader failed; using global overrides only: ${message}`);
|
|
374
|
+
return {};
|
|
375
|
+
}
|
|
376
|
+
}
|
|
321
377
|
/** Number of active bridges in the pool. */
|
|
322
378
|
get size() {
|
|
323
379
|
return this.bridges.size;
|
package/dist/pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAQhE,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,sCAAsC;AACtF,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,qBAAqB;AAE5D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACjB;IAA5B,YAA4B,WAAmB;QAC7C,KAAK,CACH,mDAAmD,WAAW,0BAA0B;YACtF,6EAA6E;YAC7E,mCAAmC,CACtC,CAAC;QALwB,gBAAW,GAAX,WAAW,CAAQ;QAM7C,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACvD,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,aAAa,KAAK,IAAI,CAAC;AAChC,CAAC;AA0CD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,UAAU;IACrB,iEAAiE;IAChD,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IACvC,YAAY,GAAG,IAAI,GAAG,EAAgB,CAAC;IAChD,UAAU,CAAS;IACV,WAAW,CAAS;IACpB,aAAa,CAAS;IACtB,aAAa,CAAgB;IAC7B,eAAe,CAA0B;IACzC,mBAAmB,CAEtB;IACG,MAAM,CAAqB;IACpC,YAAY,GAA0C,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { AftProjectTransport, AftTransportPool, ToolCallArguments, ToolCallOptions, ToolCallResult } from "./transport.js";
|
|
2
|
+
type StatusListener = (snapshot: Record<string, unknown>) => void;
|
|
3
|
+
type PoolFactory = () => Promise<AftTransportPool>;
|
|
4
|
+
/**
|
|
5
|
+
* Owns one terminal transport instance and replaces it when new demand arrives
|
|
6
|
+
* after the host has shut it down. The replaced instance is never reused: its
|
|
7
|
+
* routes, sessions, and sockets remain owned by the dead instance.
|
|
8
|
+
*/
|
|
9
|
+
export declare class RevivableTransportPool implements AftTransportPool {
|
|
10
|
+
private readonly createPool;
|
|
11
|
+
private readonly onBinaryReplaced?;
|
|
12
|
+
private activePool;
|
|
13
|
+
private revival;
|
|
14
|
+
private readonly transports;
|
|
15
|
+
private readonly configureOverrides;
|
|
16
|
+
constructor(initialPool: AftTransportPool, createPool: PoolFactory, onBinaryReplaced?: ((path: string) => void) | undefined);
|
|
17
|
+
getBridge(projectRoot: string): RevivableProjectTransport;
|
|
18
|
+
/** Delegate to the active pool: session-scoped signal fan-out reaches the
|
|
19
|
+
* same live transports the underlying pool would report. */
|
|
20
|
+
activeBridges(): AftProjectTransport[];
|
|
21
|
+
getActiveBridgeForRoot(projectRoot: string): RevivableProjectTransport | null;
|
|
22
|
+
toolCall(projectRoot: string, runtime: {
|
|
23
|
+
sessionID?: string;
|
|
24
|
+
}, name: string, rawArgs?: ToolCallArguments, options?: ToolCallOptions): Promise<ToolCallResult>;
|
|
25
|
+
setConfigureOverride(key: string, value: unknown): void;
|
|
26
|
+
reconfigure(projectRoot: string, overrides: Record<string, unknown>): Promise<void>;
|
|
27
|
+
replaceBinary(path: string): Promise<string>;
|
|
28
|
+
closeSession(projectRoot: string, session: string): Promise<void>;
|
|
29
|
+
shutdown(): Promise<void>;
|
|
30
|
+
isShutdown(): boolean;
|
|
31
|
+
ensureActivePool(): Promise<AftTransportPool>;
|
|
32
|
+
currentBridge(projectRoot: string): AftProjectTransport | null;
|
|
33
|
+
send(projectRoot: string, command: string, params?: Record<string, unknown>, options?: Parameters<AftProjectTransport["send"]>[2]): Promise<Record<string, unknown>>;
|
|
34
|
+
toolCallOnProject(projectRoot: string, sessionId: string | undefined, name: string, rawArgs?: ToolCallArguments, options?: ToolCallOptions): Promise<ToolCallResult>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Stable project facade returned to callers so a facade acquired before a host
|
|
38
|
+
* quit hook still routes the next call through the replacement pool.
|
|
39
|
+
*/
|
|
40
|
+
declare class RevivableProjectTransport implements AftProjectTransport {
|
|
41
|
+
private readonly owner;
|
|
42
|
+
private readonly projectRoot;
|
|
43
|
+
private readonly statusListeners;
|
|
44
|
+
private readonly statusBridges;
|
|
45
|
+
constructor(owner: RevivableTransportPool, projectRoot: string);
|
|
46
|
+
getCwd(): string;
|
|
47
|
+
getStatusBar(): import("./status-bar.js").StatusBarCounts | undefined;
|
|
48
|
+
getCachedStatus(): import("./bridge.js").StatusSnapshot | null;
|
|
49
|
+
cacheStatusSnapshot(snapshot: Parameters<AftProjectTransport["cacheStatusSnapshot"]>[0]): void;
|
|
50
|
+
send(command: string, params?: Record<string, unknown>, options?: Parameters<AftProjectTransport["send"]>[2]): Promise<Record<string, unknown>>;
|
|
51
|
+
toolCall(sessionId: string | undefined, name: string, rawArgs?: ToolCallArguments, options?: ToolCallOptions): Promise<ToolCallResult>;
|
|
52
|
+
subscribeStatus(listener: StatusListener): () => void;
|
|
53
|
+
refreshStatusSubscription(bridge: AftProjectTransport | null): void;
|
|
54
|
+
private bindStatusListener;
|
|
55
|
+
private removeStatusListener;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=revivable-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revivable-transport.d.ts","sourceRoot":"","sources":["../src/revivable-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { warn } from "./active-logger.js";
|
|
2
|
+
import { canonicalizeProjectRoot } from "./project-identity.js";
|
|
3
|
+
/**
|
|
4
|
+
* Owns one terminal transport instance and replaces it when new demand arrives
|
|
5
|
+
* after the host has shut it down. The replaced instance is never reused: its
|
|
6
|
+
* routes, sessions, and sockets remain owned by the dead instance.
|
|
7
|
+
*/
|
|
8
|
+
export class RevivableTransportPool {
|
|
9
|
+
createPool;
|
|
10
|
+
onBinaryReplaced;
|
|
11
|
+
activePool;
|
|
12
|
+
revival = null;
|
|
13
|
+
transports = new Map();
|
|
14
|
+
configureOverrides = new Map();
|
|
15
|
+
constructor(initialPool, createPool, onBinaryReplaced) {
|
|
16
|
+
this.createPool = createPool;
|
|
17
|
+
this.onBinaryReplaced = onBinaryReplaced;
|
|
18
|
+
this.activePool = initialPool;
|
|
19
|
+
}
|
|
20
|
+
getBridge(projectRoot) {
|
|
21
|
+
const key = canonicalizeProjectRoot(projectRoot);
|
|
22
|
+
let transport = this.transports.get(key);
|
|
23
|
+
if (!transport) {
|
|
24
|
+
transport = new RevivableProjectTransport(this, key);
|
|
25
|
+
this.transports.set(key, transport);
|
|
26
|
+
}
|
|
27
|
+
return transport;
|
|
28
|
+
}
|
|
29
|
+
/** Delegate to the active pool: session-scoped signal fan-out reaches the
|
|
30
|
+
* same live transports the underlying pool would report. */
|
|
31
|
+
activeBridges() {
|
|
32
|
+
return this.activePool.activeBridges();
|
|
33
|
+
}
|
|
34
|
+
getActiveBridgeForRoot(projectRoot) {
|
|
35
|
+
const key = canonicalizeProjectRoot(projectRoot);
|
|
36
|
+
const bridge = this.currentBridge(key);
|
|
37
|
+
if (!bridge)
|
|
38
|
+
return null;
|
|
39
|
+
const transport = this.getBridge(key);
|
|
40
|
+
transport.refreshStatusSubscription(bridge);
|
|
41
|
+
return transport;
|
|
42
|
+
}
|
|
43
|
+
async toolCall(projectRoot, runtime, name, rawArgs = {}, options) {
|
|
44
|
+
return this.getBridge(projectRoot).toolCall(runtime.sessionID, name, rawArgs, options);
|
|
45
|
+
}
|
|
46
|
+
setConfigureOverride(key, value) {
|
|
47
|
+
if (value === undefined)
|
|
48
|
+
this.configureOverrides.delete(key);
|
|
49
|
+
else
|
|
50
|
+
this.configureOverrides.set(key, value);
|
|
51
|
+
this.activePool.setConfigureOverride(key, value);
|
|
52
|
+
}
|
|
53
|
+
async reconfigure(projectRoot, overrides) {
|
|
54
|
+
for (const [key, value] of Object.entries(overrides)) {
|
|
55
|
+
if (value === undefined)
|
|
56
|
+
this.configureOverrides.delete(key);
|
|
57
|
+
else
|
|
58
|
+
this.configureOverrides.set(key, value);
|
|
59
|
+
}
|
|
60
|
+
const pool = await this.ensureActivePool();
|
|
61
|
+
await pool.reconfigure(projectRoot, overrides);
|
|
62
|
+
}
|
|
63
|
+
async replaceBinary(path) {
|
|
64
|
+
const replaced = await this.activePool.replaceBinary(path);
|
|
65
|
+
this.onBinaryReplaced?.(replaced);
|
|
66
|
+
return replaced;
|
|
67
|
+
}
|
|
68
|
+
closeSession(projectRoot, session) {
|
|
69
|
+
return this.activePool.closeSession(projectRoot, session);
|
|
70
|
+
}
|
|
71
|
+
async shutdown() {
|
|
72
|
+
const revival = this.revival;
|
|
73
|
+
if (revival) {
|
|
74
|
+
await Promise.allSettled([revival]);
|
|
75
|
+
}
|
|
76
|
+
await this.activePool.shutdown();
|
|
77
|
+
for (const transport of this.transports.values()) {
|
|
78
|
+
transport.refreshStatusSubscription(null);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
isShutdown() {
|
|
82
|
+
return this.activePool.isShutdown();
|
|
83
|
+
}
|
|
84
|
+
async ensureActivePool() {
|
|
85
|
+
if (!this.activePool.isShutdown())
|
|
86
|
+
return this.activePool;
|
|
87
|
+
if (this.revival)
|
|
88
|
+
return this.revival;
|
|
89
|
+
warn("transport was shut down but new demand arrived — reviving (host quit hook fired without process exit?)");
|
|
90
|
+
const revival = this.createPool().then((pool) => {
|
|
91
|
+
for (const [key, value] of this.configureOverrides) {
|
|
92
|
+
pool.setConfigureOverride(key, value);
|
|
93
|
+
}
|
|
94
|
+
this.activePool = pool;
|
|
95
|
+
for (const [root, transport] of this.transports) {
|
|
96
|
+
transport.refreshStatusSubscription(pool.getActiveBridgeForRoot(root));
|
|
97
|
+
}
|
|
98
|
+
return pool;
|
|
99
|
+
});
|
|
100
|
+
this.revival = revival;
|
|
101
|
+
revival.then(() => {
|
|
102
|
+
if (this.revival === revival)
|
|
103
|
+
this.revival = null;
|
|
104
|
+
}, () => {
|
|
105
|
+
if (this.revival === revival)
|
|
106
|
+
this.revival = null;
|
|
107
|
+
});
|
|
108
|
+
return revival;
|
|
109
|
+
}
|
|
110
|
+
currentBridge(projectRoot) {
|
|
111
|
+
return this.activePool.getActiveBridgeForRoot(projectRoot);
|
|
112
|
+
}
|
|
113
|
+
async send(projectRoot, command, params, options) {
|
|
114
|
+
const pool = await this.ensureActivePool();
|
|
115
|
+
const bridge = pool.getBridge(projectRoot);
|
|
116
|
+
this.getBridge(projectRoot).refreshStatusSubscription(bridge);
|
|
117
|
+
return bridge.send(command, params, options);
|
|
118
|
+
}
|
|
119
|
+
async toolCallOnProject(projectRoot, sessionId, name, rawArgs, options) {
|
|
120
|
+
const pool = await this.ensureActivePool();
|
|
121
|
+
const bridge = pool.getBridge(projectRoot);
|
|
122
|
+
this.getBridge(projectRoot).refreshStatusSubscription(bridge);
|
|
123
|
+
return bridge.toolCall(sessionId, name, rawArgs, options);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Stable project facade returned to callers so a facade acquired before a host
|
|
128
|
+
* quit hook still routes the next call through the replacement pool.
|
|
129
|
+
*/
|
|
130
|
+
class RevivableProjectTransport {
|
|
131
|
+
owner;
|
|
132
|
+
projectRoot;
|
|
133
|
+
statusListeners = new Map();
|
|
134
|
+
statusBridges = new Map();
|
|
135
|
+
constructor(owner, projectRoot) {
|
|
136
|
+
this.owner = owner;
|
|
137
|
+
this.projectRoot = projectRoot;
|
|
138
|
+
}
|
|
139
|
+
getCwd() {
|
|
140
|
+
return this.projectRoot;
|
|
141
|
+
}
|
|
142
|
+
getStatusBar() {
|
|
143
|
+
return this.owner.currentBridge(this.projectRoot)?.getStatusBar();
|
|
144
|
+
}
|
|
145
|
+
getCachedStatus() {
|
|
146
|
+
return this.owner.currentBridge(this.projectRoot)?.getCachedStatus() ?? null;
|
|
147
|
+
}
|
|
148
|
+
cacheStatusSnapshot(snapshot) {
|
|
149
|
+
this.owner.currentBridge(this.projectRoot)?.cacheStatusSnapshot(snapshot);
|
|
150
|
+
}
|
|
151
|
+
send(command, params, options) {
|
|
152
|
+
return this.owner.send(this.projectRoot, command, params, options);
|
|
153
|
+
}
|
|
154
|
+
toolCall(sessionId, name, rawArgs, options) {
|
|
155
|
+
return this.owner.toolCallOnProject(this.projectRoot, sessionId, name, rawArgs, options);
|
|
156
|
+
}
|
|
157
|
+
subscribeStatus(listener) {
|
|
158
|
+
if (this.statusListeners.has(listener))
|
|
159
|
+
return () => this.removeStatusListener(listener);
|
|
160
|
+
this.statusListeners.set(listener, () => { });
|
|
161
|
+
this.bindStatusListener(listener, this.owner.currentBridge(this.projectRoot));
|
|
162
|
+
return () => this.removeStatusListener(listener);
|
|
163
|
+
}
|
|
164
|
+
refreshStatusSubscription(bridge) {
|
|
165
|
+
for (const listener of this.statusListeners.keys()) {
|
|
166
|
+
this.bindStatusListener(listener, bridge);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
bindStatusListener(listener, bridge) {
|
|
170
|
+
if (this.statusBridges.get(listener) === bridge)
|
|
171
|
+
return;
|
|
172
|
+
const previousUnsubscribe = this.statusListeners.get(listener);
|
|
173
|
+
previousUnsubscribe?.();
|
|
174
|
+
const maybe = bridge;
|
|
175
|
+
const unsubscribe = maybe && typeof maybe.subscribeStatus === "function"
|
|
176
|
+
? maybe.subscribeStatus(listener)
|
|
177
|
+
: () => { };
|
|
178
|
+
this.statusListeners.set(listener, unsubscribe);
|
|
179
|
+
this.statusBridges.set(listener, bridge);
|
|
180
|
+
}
|
|
181
|
+
removeStatusListener(listener) {
|
|
182
|
+
const unsubscribe = this.statusListeners.get(listener);
|
|
183
|
+
this.statusListeners.delete(listener);
|
|
184
|
+
this.statusBridges.delete(listener);
|
|
185
|
+
unsubscribe?.();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=revivable-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revivable-transport.js","sourceRoot":"","sources":["../src/revivable-transport.ts"],"names":[],"mappings":"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"}
|
package/dist/subc-transport.d.ts
CHANGED
|
@@ -16,7 +16,8 @@
|
|
|
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
|
|
19
|
+
import type { RouteHandle } from "@cortexkit/subc-client";
|
|
20
|
+
import { type BindIdentity, type ConsumerIdentity, type RequestOptions, type RouteTarget } from "@cortexkit/subc-client";
|
|
20
21
|
import type { StatusSnapshot } from "./bridge.js";
|
|
21
22
|
import { type StatusBarCounts } from "./status-bar.js";
|
|
22
23
|
import type { AftProjectTransport, AftTransportOptions, AftTransportPool, ToolCallArguments, ToolCallOptions, ToolCallResult } from "./transport.js";
|
|
@@ -33,10 +34,12 @@ export interface SubcSubscriptionLike {
|
|
|
33
34
|
* seam without standing up a daemon; the real `SubcClient` satisfies it.
|
|
34
35
|
*/
|
|
35
36
|
export interface SubcClientLike {
|
|
36
|
-
routeOpen(target: RouteTarget, identity: BindIdentity
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
routeOpen(target: RouteTarget, identity: BindIdentity, opts?: {
|
|
38
|
+
consumerIdentity?: ConsumerIdentity | null;
|
|
39
|
+
}): Promise<RouteHandle>;
|
|
40
|
+
request(route: RouteHandle, body: unknown, opts?: RequestOptions): Promise<unknown>;
|
|
41
|
+
subscribe(route: RouteHandle, body: unknown, onEvent: (event: Uint8Array) => void): SubcSubscriptionLike;
|
|
42
|
+
closeRouteChannel(route: RouteHandle, opts?: {
|
|
40
43
|
drain?: boolean;
|
|
41
44
|
}): Promise<void>;
|
|
42
45
|
close(): void;
|
|
@@ -46,6 +49,11 @@ export interface SubcTransportPoolOptions {
|
|
|
46
49
|
connectionFile: string;
|
|
47
50
|
/** Harness identity carried in every BindIdentity ("opencode" | "pi" | …). */
|
|
48
51
|
harness: string;
|
|
52
|
+
/**
|
|
53
|
+
* Explicit route consumer identity. Undefined preserves subc-client's environment-derived
|
|
54
|
+
* production identity; null is used by hermetic tests that run inside another module.
|
|
55
|
+
*/
|
|
56
|
+
consumerIdentity?: ConsumerIdentity | null;
|
|
49
57
|
/** Handshake timeout forwarded to SubcClient.connect. */
|
|
50
58
|
handshakeTimeoutMs?: number;
|
|
51
59
|
/**
|
|
@@ -110,6 +118,7 @@ export declare class SubcTransportPool implements AftTransportPool {
|
|
|
110
118
|
readonly harness: string;
|
|
111
119
|
private readonly connectionFile;
|
|
112
120
|
private readonly handshakeTimeoutMs?;
|
|
121
|
+
private readonly consumerIdentity;
|
|
113
122
|
private readonly connectFn;
|
|
114
123
|
private readonly onBgEventsNudge?;
|
|
115
124
|
private readonly bgBackoffSleep;
|
|
@@ -136,6 +145,10 @@ export declare class SubcTransportPool implements AftTransportPool {
|
|
|
136
145
|
static connectionAvailable(connectionFile: string): Promise<boolean>;
|
|
137
146
|
getBridge(projectRoot: string): SubcTransport;
|
|
138
147
|
getActiveBridgeForRoot(projectRoot: string): SubcTransport | null;
|
|
148
|
+
/** All live per-root facades, for session-scoped signals that must not
|
|
149
|
+
* depend on exact root-key resolution (the command carries the session ID
|
|
150
|
+
* and the module scopes by session, so fan-out is safe). */
|
|
151
|
+
activeBridges(): SubcTransport[];
|
|
139
152
|
toolCall(projectRoot: string, runtime: {
|
|
140
153
|
sessionID?: string;
|
|
141
154
|
}, name: string, rawArgs?: ToolCallArguments, options?: ToolCallOptions): Promise<ToolCallResult>;
|
|
@@ -146,8 +159,9 @@ export declare class SubcTransportPool implements AftTransportPool {
|
|
|
146
159
|
* Open-or-reuse a route for `identity` and send `body` as a data-plane Request.
|
|
147
160
|
* Rd reconnect is mutation-safe by construction: transport failures surface to
|
|
148
161
|
* the caller after clearing stale route/client state so the NEXT call
|
|
149
|
-
* re-establishes. The only in-place
|
|
150
|
-
*
|
|
162
|
+
* re-establishes. The only in-place retries are route-absence proofs: either the
|
|
163
|
+
* daemon returns `unknown_channel`, or the client rejects a stale handle before
|
|
164
|
+
* writing. In both cases, the request was not delivered to the module.
|
|
151
165
|
* Tool-level errors come back as normal replies with `success:false` and are
|
|
152
166
|
* returned, not thrown.
|
|
153
167
|
*/
|
|
@@ -159,7 +173,7 @@ export declare class SubcTransportPool implements AftTransportPool {
|
|
|
159
173
|
* ownership guard: stale request failures can clear only the route they used,
|
|
160
174
|
* never a successor route in the same still-open session.
|
|
161
175
|
*/
|
|
162
|
-
private
|
|
176
|
+
private routeHandle;
|
|
163
177
|
/**
|
|
164
178
|
* Open the dedicated bg_events subscription for `identity` once. Idempotent —
|
|
165
179
|
* a second call for the same identity is a no-op (one sub per session, the
|
|
@@ -171,8 +185,12 @@ export declare class SubcTransportPool implements AftTransportPool {
|
|
|
171
185
|
private dropClient;
|
|
172
186
|
/** No-op over subc: config is read locally by AFT (wire tiers are ignored). */
|
|
173
187
|
setConfigureOverride(_key: string, _value: unknown): void;
|
|
188
|
+
/** No-op over subc: the daemon owns the live module's configure lifecycle. */
|
|
189
|
+
reconfigure(_projectRoot: string, _overrides: Record<string, unknown>): Promise<void>;
|
|
174
190
|
/** No-op over subc: the daemon supervises the binary, not the plugin. */
|
|
175
191
|
replaceBinary(path: string): Promise<string>;
|
|
192
|
+
/** A subc pool instance is terminal after shutdown; ownership revives it outside this class. */
|
|
193
|
+
isShutdown(): boolean;
|
|
176
194
|
shutdown(): Promise<void>;
|
|
177
195
|
/**
|
|
178
196
|
* Tear down a single session's bg subscription (and tool route) — the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subc-transport.d.ts","sourceRoot":"","sources":["../src/subc-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"subc-transport.d.ts","sourceRoot":"","sources":["../src/subc-transport.ts"],"names":[],"mappings":"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"}
|