@cortexkit/aft-bridge 0.58.0 → 0.58.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/bash-format.d.ts +7 -0
  2. package/dist/bash-format.d.ts.map +1 -1
  3. package/dist/bash-format.js +9 -0
  4. package/dist/bash-format.js.map +1 -1
  5. package/dist/bash-hints.d.ts +113 -11
  6. package/dist/bash-hints.d.ts.map +1 -1
  7. package/dist/bash-hints.js +160 -13
  8. package/dist/bash-hints.js.map +1 -1
  9. package/dist/bridge.d.ts.map +1 -1
  10. package/dist/bridge.js +29 -12
  11. package/dist/bridge.js.map +1 -1
  12. package/dist/callgraph-format.d.ts.map +1 -1
  13. package/dist/callgraph-format.js +11 -3
  14. package/dist/callgraph-format.js.map +1 -1
  15. package/dist/child-process.d.ts +2 -0
  16. package/dist/child-process.d.ts.map +1 -1
  17. package/dist/child-process.js +3 -1
  18. package/dist/child-process.js.map +1 -1
  19. package/dist/coerce.d.ts +27 -0
  20. package/dist/coerce.d.ts.map +1 -1
  21. package/dist/coerce.js +64 -0
  22. package/dist/coerce.js.map +1 -1
  23. package/dist/config-watch.d.ts +170 -0
  24. package/dist/config-watch.d.ts.map +1 -0
  25. package/dist/config-watch.js +479 -0
  26. package/dist/config-watch.js.map +1 -0
  27. package/dist/durable-log.d.ts +4 -0
  28. package/dist/durable-log.d.ts.map +1 -1
  29. package/dist/durable-log.js +34 -1
  30. package/dist/durable-log.js.map +1 -1
  31. package/dist/edit-summary.d.ts +8 -0
  32. package/dist/edit-summary.d.ts.map +1 -1
  33. package/dist/edit-summary.js +7 -0
  34. package/dist/edit-summary.js.map +1 -1
  35. package/dist/index.d.ts +7 -5
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +7 -5
  38. package/dist/index.js.map +1 -1
  39. package/dist/location-lifecycle.d.ts.map +1 -1
  40. package/dist/location-lifecycle.js +18 -2
  41. package/dist/location-lifecycle.js.map +1 -1
  42. package/dist/message-detach.d.ts +7 -0
  43. package/dist/message-detach.d.ts.map +1 -1
  44. package/dist/message-detach.js +16 -0
  45. package/dist/message-detach.js.map +1 -1
  46. package/dist/onnx-runtime.d.ts +5 -0
  47. package/dist/onnx-runtime.d.ts.map +1 -1
  48. package/dist/onnx-runtime.js +18 -0
  49. package/dist/onnx-runtime.js.map +1 -1
  50. package/dist/path-aliases.d.ts.map +1 -1
  51. package/dist/path-aliases.js +8 -7
  52. package/dist/path-aliases.js.map +1 -1
  53. package/dist/subc-transport.d.ts +1 -0
  54. package/dist/subc-transport.d.ts.map +1 -1
  55. package/dist/subc-transport.js +158 -19
  56. package/dist/subc-transport.js.map +1 -1
  57. package/dist/transport.d.ts +15 -0
  58. package/dist/transport.d.ts.map +1 -1
  59. package/dist/transport.js +9 -1
  60. package/dist/transport.js.map +1 -1
  61. package/package.json +2 -2
@@ -17,11 +17,12 @@
17
17
  * published plugin dist; it is never a published runtime dependency.
18
18
  */
19
19
  import { existsSync, statSync } from "node:fs";
20
- import { connectionFileExists, isConsumerReconnectTransient, StaleRouteHandleError, SubcCallError, SubcClient, SubcError, } from "@cortexkit/subc-client";
20
+ import { AuthError, connectionFileExists, isConsumerReconnectTransient, StaleRouteHandleError, SubcCallError, SubcClient, SubcError, } from "@cortexkit/subc-client";
21
21
  import { log, warn } from "./active-logger.js";
22
22
  import { isRouteOpenReloadWindowError, isRouteRequestReloadRefusal } from "./error-contract.js";
23
23
  import { asCanonicalRootPath, asRootGeneration, LifecycleRegistry, } from "./lifecycle-registry.js";
24
24
  import { canonicalizeProjectRoot } from "./project-identity.js";
25
+ import { WORKER_SESSION_FIELD } from "./transport.js";
25
26
  /** The subc pool is closing and cannot carry another request. */
26
27
  export class SubcTransportShuttingDownError extends SubcCallError {
27
28
  constructor() {
@@ -29,6 +30,12 @@ export class SubcTransportShuttingDownError extends SubcCallError {
29
30
  this.name = "SubcTransportShuttingDownError";
30
31
  }
31
32
  }
33
+ class ReconnectKeyChangedError extends Error {
34
+ constructor() {
35
+ super("the subc daemon restarted and its connection key changed; the reconnect did not complete within the deadline, retry");
36
+ this.name = "ReconnectKeyChangedError";
37
+ }
38
+ }
32
39
  /** True when subc-client rejected locally because its connection was already closed. */
33
40
  export function isSubcClientClosedError(error) {
34
41
  return error instanceof SubcError && error.message === "client closed";
@@ -148,6 +155,8 @@ const SUBC_DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
148
155
  * example bash host fallback) promptly instead of after a long transport timeout.
149
156
  */
150
157
  const ROUTE_OPEN_RELOAD_WAIT_CEILING_MS = 45_000;
158
+ /** Resolution of the timer a call races its route.open against when its deadline passes first. */
159
+ const CALL_DEADLINE_EXPIRED = Symbol("call deadline expired");
151
160
  function reloadWaitExhaustedSuffix(callDeadlineMs) {
152
161
  if (callDeadlineMs > ROUTE_OPEN_RELOAD_WAIT_CEILING_MS) {
153
162
  const ceilingSeconds = ROUTE_OPEN_RELOAD_WAIT_CEILING_MS / 1000;
@@ -555,7 +564,23 @@ function absentRootError(root) {
555
564
  }
556
565
  /** Preserve the daemon's final refusal while making the reload timeout actionable. */
557
566
  function reloadWindowExhaustedError(error, callDeadlineMs) {
558
- const suffix = reloadWaitExhaustedSuffix(callDeadlineMs);
567
+ return withDeadlineSuffix(error, reloadWaitExhaustedSuffix(callDeadlineMs));
568
+ }
569
+ /**
570
+ * The error a call surfaces once its own deadline has passed before a reply.
571
+ * `lastError` is the most recent route refusal the call saw (it keeps its code,
572
+ * so a reload refusal still lets bash take its host fallback); with none, the
573
+ * error carries subc-client's own `request_deadline` code, the same one a
574
+ * route.open or request that ran out of time inside the client would carry.
575
+ */
576
+ function callDeadlinePassedError(lastError, callDeadlineMs) {
577
+ const seconds = Math.round(callDeadlineMs / 100) / 10;
578
+ const suffix = ` The AFT daemon module did not return within this call's ${seconds}s deadline.`;
579
+ if (lastError !== undefined)
580
+ return withDeadlineSuffix(lastError, suffix);
581
+ return new SubcError(`route to module '${AFT_MODULE_ID}' was not ready before the call ran out of time.${suffix}`, REQUEST_DEADLINE_CODE);
582
+ }
583
+ function withDeadlineSuffix(error, suffix) {
559
584
  if (error instanceof Error) {
560
585
  try {
561
586
  error.message += suffix;
@@ -682,6 +707,8 @@ class SubcTransport {
682
707
  body.edit_slot_survives = editSlotSurvives;
683
708
  if (preview === true)
684
709
  body.preview = true;
710
+ if (options?.workerSession === true)
711
+ body[WORKER_SESSION_FIELD] = true;
685
712
  const reply = await this.pool.routeRequest(this.identityFor(sessionId), body, timeoutMs, onProgress, this.generation, abortSignal);
686
713
  return reliftReply(reply);
687
714
  }
@@ -702,7 +729,13 @@ class SubcTransport {
702
729
  }
703
730
  const { timeoutMs, onProgress, abortSignal } = this.splitOptions(options);
704
731
  const session = typeof params.session_id === "string" ? params.session_id : undefined;
705
- const body = { name: command, arguments: params };
732
+ // The caller's role travels beside the call, like the session (which the
733
+ // route bind carries), not inside the command's arguments: the module
734
+ // reads it from the call body.
735
+ const { [WORKER_SESSION_FIELD]: workerSession, ...args } = params;
736
+ const body = { name: command, arguments: args };
737
+ if (workerSession === true)
738
+ body[WORKER_SESSION_FIELD] = true;
706
739
  const editSlotSurvives = this.pool.getEditSlotSurvives();
707
740
  if (editSlotSurvives !== undefined)
708
741
  body.edit_slot_survives = editSlotSurvives;
@@ -747,6 +780,7 @@ export class SubcTransportPool {
747
780
  lifecycleRegistration = null;
748
781
  outerFacadeEvictor;
749
782
  client = null;
783
+ hadWorkingClient = false;
750
784
  /** Single-flight guard so concurrent first calls share one connect. */
751
785
  connecting = null;
752
786
  /** The growing delay for a safe, once-only route resend after route closure. */
@@ -1267,6 +1301,12 @@ export class SubcTransportPool {
1267
1301
  }
1268
1302
  /** Open or reuse a route while guarding every lifecycle boundary. */
1269
1303
  async routeRequest(identity, body, timeoutMs, onProgress, expectedGeneration, abortSignal) {
1304
+ const callStartedAt = performance.now();
1305
+ const callDeadlineMs = timeoutMs ?? SUBC_DEFAULT_REQUEST_TIMEOUT_MS;
1306
+ // Charge shared backoff delays even when an injected sleeper advances no real time.
1307
+ let scheduledDelayMs = 0;
1308
+ const spentMs = () => Math.max(performance.now() - callStartedAt, scheduledDelayMs);
1309
+ const remainingMs = () => callDeadlineMs - spentMs();
1270
1310
  const root = asCanonicalRootPath(identity.project_root);
1271
1311
  let generation = expectedGeneration;
1272
1312
  if (this.lifecycleEnabled()) {
@@ -1282,7 +1322,54 @@ export class SubcTransportPool {
1282
1322
  try {
1283
1323
  let client;
1284
1324
  try {
1285
- client = await this.ensureClient();
1325
+ let keyChanged;
1326
+ while (true) {
1327
+ const remaining = remainingMs();
1328
+ if (remaining <= 0)
1329
+ throw keyChanged ?? callDeadlinePassedError(undefined, callDeadlineMs);
1330
+ let timer;
1331
+ try {
1332
+ // Each attempt calls SubcClient.connect anew, which re-reads the connection file.
1333
+ const acquired = await Promise.race([
1334
+ this.ensureClient(),
1335
+ new Promise((resolve) => {
1336
+ timer = setTimeout(() => resolve(CALL_DEADLINE_EXPIRED), remaining);
1337
+ }),
1338
+ ]);
1339
+ if (acquired === CALL_DEADLINE_EXPIRED) {
1340
+ throw keyChanged ?? callDeadlinePassedError(undefined, callDeadlineMs);
1341
+ }
1342
+ client = acquired;
1343
+ break;
1344
+ }
1345
+ catch (error) {
1346
+ if (!(error instanceof ReconnectKeyChangedError))
1347
+ throw error;
1348
+ keyChanged = error;
1349
+ if (spentMs() + this.nextRouteReopenDelayMs() >= callDeadlineMs)
1350
+ throw error;
1351
+ }
1352
+ finally {
1353
+ clearTimeout(timer);
1354
+ }
1355
+ const { delayMs, wait } = this.waitForRouteReopenBackoff();
1356
+ scheduledDelayMs = spentMs() + delayMs;
1357
+ // A shared retry sleeper may outlive this caller's remaining budget.
1358
+ let retryTimer;
1359
+ try {
1360
+ const waited = await Promise.race([
1361
+ wait,
1362
+ new Promise((resolve) => {
1363
+ retryTimer = setTimeout(() => resolve(CALL_DEADLINE_EXPIRED), callDeadlineMs - (performance.now() - callStartedAt));
1364
+ }),
1365
+ ]);
1366
+ if (waited === CALL_DEADLINE_EXPIRED)
1367
+ throw keyChanged;
1368
+ }
1369
+ finally {
1370
+ clearTimeout(retryTimer);
1371
+ }
1372
+ }
1286
1373
  this.assertRecordLive(record);
1287
1374
  }
1288
1375
  catch (error) {
@@ -1326,27 +1413,56 @@ export class SubcTransportPool {
1326
1413
  // A module reload (drain, restart, warm-up) refuses route.open for as long
1327
1414
  // as it lasts. The call waits it out for as long as its own deadline allows,
1328
1415
  // but never longer than ROUTE_OPEN_RELOAD_WAIT_CEILING_MS, and then surfaces
1329
- // the refusal (which lets a caller such as bash fall back). Time spent
1330
- // waiting comes out of the request's budget, so the call never outlives the
1331
- // deadline it was given.
1332
- const callDeadlineMs = timeoutMs ?? SUBC_DEFAULT_REQUEST_TIMEOUT_MS;
1416
+ // the refusal (which lets a caller such as bash fall back).
1417
+ //
1418
+ // Everything the call does counts against its deadline: route opens
1419
+ // (a bind relay can hold one for about 12 s), retry sleeps, and the
1420
+ // request itself, which is sent with only the time that is left. So the
1421
+ // call never outlives the deadline it was given, whichever path it takes.
1333
1422
  const reloadWaitBudgetMs = Math.min(callDeadlineMs, ROUTE_OPEN_RELOAD_WAIT_CEILING_MS);
1334
- let reloadWaitedMs = 0;
1423
+ // The most recent route refusal, so a deadline that passes mid-open still
1424
+ // names the daemon's reason instead of a bare timeout.
1425
+ let lastRefusal;
1426
+ // subc-client's routeOpen takes no deadline of its own (only its fixed
1427
+ // channel-0 default), so the call stops waiting for the open once its
1428
+ // own time is up. An open that completes later still lands in the
1429
+ // session's route entry, where the next call reuses it or teardown
1430
+ // closes it.
1431
+ const openRouteWithinDeadline = async () => {
1432
+ const remaining = remainingMs();
1433
+ if (remaining <= 0)
1434
+ throw callDeadlinePassedError(lastRefusal, callDeadlineMs);
1435
+ let timer;
1436
+ const expired = new Promise((resolve) => {
1437
+ timer = setTimeout(() => resolve(CALL_DEADLINE_EXPIRED), remaining);
1438
+ });
1439
+ try {
1440
+ const opened = await Promise.race([openRoute(), expired]);
1441
+ if (opened === CALL_DEADLINE_EXPIRED) {
1442
+ throw callDeadlinePassedError(lastRefusal, callDeadlineMs);
1443
+ }
1444
+ return opened;
1445
+ }
1446
+ finally {
1447
+ clearTimeout(timer);
1448
+ }
1449
+ };
1335
1450
  const openRouteAfterReloadWindow = async () => {
1336
1451
  while (true) {
1337
1452
  try {
1338
- return await openRoute();
1453
+ return await openRouteWithinDeadline();
1339
1454
  }
1340
1455
  catch (error) {
1341
1456
  if (!isRouteOpenReloadWindowError(error))
1342
1457
  throw error;
1458
+ lastRefusal = error;
1343
1459
  // Check the budget before starting (or joining) the shared retry
1344
1460
  // timer, so a call that gives up leaves no orphan timer behind.
1345
- if (reloadWaitedMs + this.nextRouteReopenDelayMs() >= reloadWaitBudgetMs) {
1461
+ if (spentMs() + this.nextRouteReopenDelayMs() >= reloadWaitBudgetMs) {
1346
1462
  throw reloadWindowExhaustedError(error, callDeadlineMs);
1347
1463
  }
1348
1464
  const { delayMs, wait } = this.waitForRouteReopenBackoff();
1349
- reloadWaitedMs += delayMs;
1465
+ scheduledDelayMs = spentMs() + delayMs;
1350
1466
  await wait;
1351
1467
  }
1352
1468
  }
@@ -1388,7 +1504,7 @@ export class SubcTransportPool {
1388
1504
  route: routeLabel(entry.handle),
1389
1505
  });
1390
1506
  };
1391
- const requestOnRoute = async (route, entry) => {
1507
+ const requestOnRoute = async (route, entry, requestTimeoutMs) => {
1392
1508
  this.assertRecordLive(record);
1393
1509
  if (abortSignal?.aborted) {
1394
1510
  clearRouteEntry(entry);
@@ -1404,8 +1520,10 @@ export class SubcTransportPool {
1404
1520
  };
1405
1521
  abortSignal?.addEventListener("abort", onAbort, { once: true });
1406
1522
  try {
1407
- const requestTimeoutMs = reloadWaitedMs > 0 ? callDeadlineMs - reloadWaitedMs : timeoutMs;
1408
- const request = client.request(route, body, { timeoutMs: requestTimeoutMs, onProgress });
1523
+ const request = client.request(route, body, {
1524
+ timeoutMs: Math.ceil(requestTimeoutMs),
1525
+ onProgress,
1526
+ });
1409
1527
  const reply = abortSignal ? await Promise.race([request, aborted]) : await request;
1410
1528
  // A legacy closeSession may intentionally let an already-delivered reply
1411
1529
  // settle. It must not mutate shared state or recreate a subscription.
@@ -1429,8 +1547,13 @@ export class SubcTransportPool {
1429
1547
  let reopened = false;
1430
1548
  let retriedAbsentRoute = false;
1431
1549
  while (true) {
1550
+ // Checked outside the try below so the retry branches never mistake
1551
+ // this call's own expiry for a daemon refusal worth retrying.
1552
+ const requestTimeoutMs = remainingMs();
1553
+ if (requestTimeoutMs <= 0)
1554
+ throw callDeadlinePassedError(lastRefusal, callDeadlineMs);
1432
1555
  try {
1433
- const reply = await requestOnRoute(routeAndEntry.route, routeAndEntry.entry);
1556
+ const reply = await requestOnRoute(routeAndEntry.route, routeAndEntry.entry, requestTimeoutMs);
1434
1557
  if (reopened)
1435
1558
  this.resetRouteReopenBackoff();
1436
1559
  return reply;
@@ -1449,11 +1572,12 @@ export class SubcTransportPool {
1449
1572
  // failure.
1450
1573
  if (ownsRoute && isRouteRequestReloadRefusal(error)) {
1451
1574
  clearRouteEntry(routeAndEntry.entry);
1452
- if (reloadWaitedMs + this.nextRouteReopenDelayMs() >= reloadWaitBudgetMs) {
1575
+ lastRefusal = error;
1576
+ if (spentMs() + this.nextRouteReopenDelayMs() >= reloadWaitBudgetMs) {
1453
1577
  throw reloadWindowExhaustedError(error, callDeadlineMs);
1454
1578
  }
1455
1579
  const { delayMs, wait } = this.waitForRouteReopenBackoff();
1456
- reloadWaitedMs += delayMs;
1580
+ scheduledDelayMs = spentMs() + delayMs;
1457
1581
  await wait;
1458
1582
  routeAndEntry = await openRouteAfterReloadWindow();
1459
1583
  reopened = true;
@@ -1462,7 +1586,15 @@ export class SubcTransportPool {
1462
1586
  if (ownsRoute && !retriedAbsentRoute && isRouteProvenAbsentError(error)) {
1463
1587
  retriedAbsentRoute = true;
1464
1588
  clearRouteEntry(routeAndEntry.entry);
1465
- await this.waitForRouteReopenBackoff().wait;
1589
+ // The one resend after a vanished route is still bounded by the
1590
+ // call's deadline: its delay is charged like any other, and a
1591
+ // delay that would run past the deadline is not taken.
1592
+ if (spentMs() + this.nextRouteReopenDelayMs() >= callDeadlineMs) {
1593
+ throw callDeadlinePassedError(error, callDeadlineMs);
1594
+ }
1595
+ const { delayMs, wait } = this.waitForRouteReopenBackoff();
1596
+ scheduledDelayMs = spentMs() + delayMs;
1597
+ await wait;
1466
1598
  routeAndEntry = await openRouteAfterReloadWindow();
1467
1599
  reopened = true;
1468
1600
  continue;
@@ -1539,11 +1671,18 @@ export class SubcTransportPool {
1539
1671
  throw new SubcTransportShuttingDownError();
1540
1672
  }
1541
1673
  this.client = client;
1674
+ this.hadWorkingClient = true;
1542
1675
  this.transportFailures = 0;
1543
1676
  return client;
1544
1677
  })
1545
1678
  .catch((error) => {
1546
1679
  this.connecting = null;
1680
+ // A previously authenticated transport can race the daemon's key rotation.
1681
+ // Without a prior authenticated client, a proof mismatch can mean an impostor
1682
+ // or misconfiguration, so preserve the SDK's permanent authentication error.
1683
+ if (this.hadWorkingClient && error instanceof AuthError) {
1684
+ throw new ReconnectKeyChangedError();
1685
+ }
1547
1686
  throw error;
1548
1687
  });
1549
1688
  return this.connecting;
@@ -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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"}
@@ -21,7 +21,22 @@ export interface AftTransportOptions extends BridgeRequestOptions {
21
21
  export interface ToolCallOptions extends AftTransportOptions {
22
22
  /** Server-owned dry-run flag placed at the top level of the tool_call request. */
23
23
  preview?: boolean;
24
+ /**
25
+ * The caller is a delegated worker (subagent) session. Placed beside the
26
+ * session, outside the agent's arguments, as `worker_session: true`; see
27
+ * WORKER_SESSION_FIELD.
28
+ */
29
+ workerSession?: boolean;
24
30
  }
31
+ /**
32
+ * Request field that tells AFT the caller is a delegated worker (subagent)
33
+ * session rather than a primary one. A worker cannot be woken once its turn
34
+ * ends, so AFT words its replies accordingly: it never promises a completion
35
+ * reminder or tells a worker to end its turn, and a worker's `wait: true`
36
+ * bash call runs without the default hard kill. The plugins set it on every
37
+ * request from a worker, next to `session_id`; absent means primary.
38
+ */
39
+ export declare const WORKER_SESSION_FIELD = "worker_session";
25
40
  export interface AftProjectTransport {
26
41
  send(command: string, params?: Record<string, unknown>, options?: AftTransportOptions): Promise<Record<string, unknown>>;
27
42
  toolCall(sessionId: string | undefined, name: string, rawArgs?: ToolCallArguments, options?: ToolCallOptions): Promise<ToolCallResult>;