instar 1.3.330 → 1.3.331

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 (48) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +133 -17
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/AnthropicSubscriptionRouter.d.ts +68 -0
  5. package/dist/core/AnthropicSubscriptionRouter.d.ts.map +1 -0
  6. package/dist/core/AnthropicSubscriptionRouter.js +82 -0
  7. package/dist/core/AnthropicSubscriptionRouter.js.map +1 -0
  8. package/dist/core/InteractivePoolIntelligenceProvider.d.ts +38 -0
  9. package/dist/core/InteractivePoolIntelligenceProvider.d.ts.map +1 -0
  10. package/dist/core/InteractivePoolIntelligenceProvider.js +61 -0
  11. package/dist/core/InteractivePoolIntelligenceProvider.js.map +1 -0
  12. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  13. package/dist/core/PostUpdateMigrator.js +17 -0
  14. package/dist/core/PostUpdateMigrator.js.map +1 -1
  15. package/dist/core/intelligenceProviderFactory.d.ts +21 -0
  16. package/dist/core/intelligenceProviderFactory.d.ts.map +1 -1
  17. package/dist/core/intelligenceProviderFactory.js +24 -1
  18. package/dist/core/intelligenceProviderFactory.js.map +1 -1
  19. package/dist/core/types.d.ts +38 -0
  20. package/dist/core/types.d.ts.map +1 -1
  21. package/dist/core/types.js.map +1 -1
  22. package/dist/providers/adapters/anthropic-interactive-pool/config.d.ts +17 -0
  23. package/dist/providers/adapters/anthropic-interactive-pool/config.d.ts.map +1 -1
  24. package/dist/providers/adapters/anthropic-interactive-pool/config.js +1 -0
  25. package/dist/providers/adapters/anthropic-interactive-pool/config.js.map +1 -1
  26. package/dist/providers/adapters/anthropic-interactive-pool/pool.d.ts +16 -2
  27. package/dist/providers/adapters/anthropic-interactive-pool/pool.d.ts.map +1 -1
  28. package/dist/providers/adapters/anthropic-interactive-pool/pool.js +95 -5
  29. package/dist/providers/adapters/anthropic-interactive-pool/pool.js.map +1 -1
  30. package/dist/providers/bootRegistration.d.ts +83 -0
  31. package/dist/providers/bootRegistration.d.ts.map +1 -0
  32. package/dist/providers/bootRegistration.js +158 -0
  33. package/dist/providers/bootRegistration.js.map +1 -0
  34. package/dist/providers/costAwareRouting.d.ts +16 -0
  35. package/dist/providers/costAwareRouting.d.ts.map +1 -1
  36. package/dist/providers/costAwareRouting.js +37 -21
  37. package/dist/providers/costAwareRouting.js.map +1 -1
  38. package/dist/scaffold/templates.d.ts.map +1 -1
  39. package/dist/scaffold/templates.js +5 -0
  40. package/dist/scaffold/templates.js.map +1 -1
  41. package/dist/server/routes.d.ts.map +1 -1
  42. package/dist/server/routes.js +26 -1
  43. package/dist/server/routes.js.map +1 -1
  44. package/package.json +1 -1
  45. package/src/data/builtin-manifest.json +63 -63
  46. package/src/scaffold/templates.ts +5 -0
  47. package/upgrades/1.3.331.md +77 -0
  48. package/upgrades/side-effects/provider-substrate-live-wiring.md +145 -0
@@ -35,12 +35,30 @@ export class InteractivePool extends EventEmitter {
35
35
  scheduledCanaryTimer = null;
36
36
  /** Lock to prevent overlapping scheduled-canary runs if the previous one is slow. */
37
37
  scheduledCanaryInFlight = false;
38
+ /** Interval handle for the idle-retirement sweep. Cleared on shutdown. */
39
+ idleSweepTimer = null;
38
40
  shuttingDown = false;
39
41
  constructor(config) {
40
42
  super();
41
43
  this.config = config;
44
+ // A zero/negative/NaN pool can never serve a call — every allocate
45
+ // would silently wait out its full timeout. Refuse loudly at
46
+ // construction (boot) where it's debuggable, not at call time.
47
+ if (!Number.isFinite(config.poolSize) || config.poolSize < 1) {
48
+ throw new UnexpectedError(`poolSize must be a finite number >= 1, got ${config.poolSize}`, ANTHROPIC_INTERACTIVE_POOL_ID);
49
+ }
50
+ }
51
+ /** The tmux session-name prefix for this pool (see config.sessionPrefix). */
52
+ get sessionPrefix() {
53
+ return this.config.sessionPrefix ?? 'instar-pool';
42
54
  }
43
55
  async start() {
56
+ // Orphan recovery: a crashed previous process (SIGKILL, OOM) never ran
57
+ // dispose(), leaving its REPL sessions alive and silently drawing
58
+ // subscription quota. Our prefix is agent-scoped (config.sessionPrefix),
59
+ // so anything matching it is OURS from a dead process — kill before
60
+ // spawning fresh, or orphans accumulate across every crash/update.
61
+ await this.killStaleSessions();
44
62
  const promises = [];
45
63
  for (let i = 0; i < this.config.poolSize; i++) {
46
64
  promises.push(this.spawnOne());
@@ -50,6 +68,58 @@ export class InteractivePool extends EventEmitter {
50
68
  if (this.config.canaryIntervalMs > 0) {
51
69
  this.scheduleRecurringCanary();
52
70
  }
71
+ // Idle-retirement sweep: a ready session untouched past maxIdleMinutes
72
+ // is retired WITHOUT immediate replacement (allocate() respawns on
73
+ // demand) — stale context dies and an idle agent holds zero REPLs.
74
+ if (this.config.maxIdleMinutes > 0) {
75
+ this.idleSweepTimer = setInterval(() => this.sweepIdleSessions(), 60_000);
76
+ this.idleSweepTimer.unref?.();
77
+ }
78
+ }
79
+ /** Kill leftover `<prefix>-*` tmux sessions from a previous process. */
80
+ async killStaleSessions() {
81
+ let names = [];
82
+ try {
83
+ const { stdout } = await execFileAsync(this.config.tmuxPath, ['list-sessions', '-F', '#{session_name}'], { timeout: 5000 });
84
+ names = stdout.split('\n').map((s) => s.trim()).filter(Boolean);
85
+ }
86
+ catch {
87
+ // No tmux server running (common: fresh boot) — nothing to clean.
88
+ return;
89
+ }
90
+ const stale = names.filter((n) => n.startsWith(`${this.sessionPrefix}-`) && !this.hasSessionNamed(n));
91
+ for (const name of stale) {
92
+ try {
93
+ await execFileAsync(this.config.tmuxPath, ['kill-session', '-t', `=${name}:`], {
94
+ timeout: 5000,
95
+ });
96
+ console.log(`[interactive-pool] killed stale pool session from a previous process: ${name}`);
97
+ }
98
+ catch {
99
+ // @silent-fallback-ok — kill-session raced: the stale session is
100
+ // already gone, which is the desired end-state; nothing degraded.
101
+ }
102
+ }
103
+ }
104
+ hasSessionNamed(tmuxName) {
105
+ for (const s of this.sessions.values()) {
106
+ if (s.tmuxName === tmuxName)
107
+ return true;
108
+ }
109
+ return false;
110
+ }
111
+ /** Retire ready sessions idle past maxIdleMinutes (no immediate replace). */
112
+ sweepIdleSessions() {
113
+ if (this.shuttingDown)
114
+ return;
115
+ const cutoff = Date.now() - this.config.maxIdleMinutes * 60_000;
116
+ for (const s of this.sessions.values()) {
117
+ if (s.state === 'ready' && s.lastUsedAt < cutoff) {
118
+ this.retire(s, { replace: false }).catch((err) => {
119
+ console.error('[interactive-pool] idle retirement failed:', err);
120
+ });
121
+ }
122
+ }
53
123
  }
54
124
  /**
55
125
  * Schedule the recurring empty-prompt canary. Each tick allocates a
@@ -122,7 +192,7 @@ export class InteractivePool extends EventEmitter {
122
192
  }
123
193
  async spawnOne() {
124
194
  const id = `aip-${randomBytes(6).toString('hex')}`;
125
- const tmuxName = `instar-pool-${id}`;
195
+ const tmuxName = `${this.sessionPrefix}-${id}`;
126
196
  const session = {
127
197
  id,
128
198
  tmuxName,
@@ -167,6 +237,9 @@ export class InteractivePool extends EventEmitter {
167
237
  }
168
238
  args.push(...envFlags);
169
239
  args.push(this.config.claudePath, '--dangerously-skip-permissions');
240
+ if (this.config.model) {
241
+ args.push('--model', this.config.model);
242
+ }
170
243
  try {
171
244
  execFileSync(this.config.tmuxPath, args, { encoding: 'utf-8' });
172
245
  try {
@@ -281,7 +354,7 @@ export class InteractivePool extends EventEmitter {
281
354
  this.markBusy(ready);
282
355
  return ready;
283
356
  }
284
- return new Promise((resolve, reject) => {
357
+ const waiting = new Promise((resolve, reject) => {
285
358
  const timer = setTimeout(() => {
286
359
  const idx = this.waiters.findIndex((w) => w.resolve === resolve);
287
360
  if (idx >= 0)
@@ -290,6 +363,16 @@ export class InteractivePool extends EventEmitter {
290
363
  }, this.config.allocateTimeoutMs);
291
364
  this.waiters.push({ resolve, reject, timer });
292
365
  });
366
+ // On-demand growth: idle retirement (and crash recovery) can shrink
367
+ // the pool below poolSize — even to zero. If there's headroom, kick a
368
+ // spawn so the waiter above has something to be flushed onto
369
+ // (otherwise an empty pool waits out the full allocate timeout for
370
+ // nothing). Ordering matters: the waiter is enqueued FIRST so a fast
371
+ // spawn's flushWaiter can never miss it.
372
+ if (this.sessions.size < this.config.poolSize) {
373
+ this.replaceRetired();
374
+ }
375
+ return waiting;
293
376
  }
294
377
  findReadyLru() {
295
378
  let best;
@@ -332,9 +415,12 @@ export class InteractivePool extends EventEmitter {
332
415
  this.flushWaiter(s);
333
416
  }
334
417
  /**
335
- * Gracefully retire a session and spawn a replacement.
418
+ * Gracefully retire a session. By default spawns a replacement (the
419
+ * busy-path retirement contract — a caller is likely waiting); idle
420
+ * retirement passes `replace: false` so an idle agent holds zero REPLs
421
+ * and allocate() respawns on demand.
336
422
  */
337
- async retire(s) {
423
+ async retire(s, opts) {
338
424
  if (s.state === 'retiring' || s.state === 'dead')
339
425
  return;
340
426
  s.state = 'retiring';
@@ -347,7 +433,7 @@ export class InteractivePool extends EventEmitter {
347
433
  s.state = 'dead';
348
434
  this.emit('session:retired', s);
349
435
  this.sessions.delete(s.id);
350
- if (!this.shuttingDown) {
436
+ if (!this.shuttingDown && (opts?.replace ?? true)) {
351
437
  // Replace, with retry-on-failure and observable degradation events.
352
438
  // Previous behavior was `.catch(console.error)` — spawn failures were
353
439
  // swallowed and the pool decayed silently. Now spawn failures emit
@@ -399,6 +485,10 @@ export class InteractivePool extends EventEmitter {
399
485
  clearInterval(this.scheduledCanaryTimer);
400
486
  this.scheduledCanaryTimer = null;
401
487
  }
488
+ if (this.idleSweepTimer !== null) {
489
+ clearInterval(this.idleSweepTimer);
490
+ this.idleSweepTimer = null;
491
+ }
402
492
  for (const w of this.waiters) {
403
493
  clearTimeout(w.timer);
404
494
  w.reject(new UnexpectedError('Pool shutting down', ANTHROPIC_INTERACTIVE_POOL_ID));
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../../src/providers/adapters/anthropic-interactive-pool/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../../src/providers/adapters/anthropic-interactive-pool/pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * bootRegistration — production registration of the Anthropic adapters.
3
+ *
4
+ * This is the "separate cycle" deferred when the Phase-5 routing policy was
5
+ * installed at server boot: the policy was wired but NO adapters were ever
6
+ * registered against the providers registry, so `registry.resolve()` had
7
+ * nothing to choose between and the cost-aware routing was a no-op. This
8
+ * module closes that gap (Rule 1 of
9
+ * specs/provider-portability/04-anthropic-path-constraints.md — the
10
+ * subscription-backed interactive pool must be an operational floor, not a
11
+ * designed-only one).
12
+ *
13
+ * Properties (all load-bearing for the server boot path):
14
+ * - GATED: never registers Claude adapters on a codex-only agent
15
+ * (process-level claudeForbidden flag + enabledFrameworks check).
16
+ * - IDEMPOTENT: re-entering startServer in the same process (tests,
17
+ * in-proc respawn) does not double-register or clobber.
18
+ * - LAZY: registration spawns NOTHING. Both adapter factories are pure
19
+ * in-memory construction; the interactive pool only spawns tmux REPL
20
+ * sessions on first use (or an explicit `start()`).
21
+ * - HONEST CREDIT READS: `readSdkCredit` is plumbed from the headless
22
+ * adapter's UsageMeterProvider (GET /api/oauth/usage). Unknown state
23
+ * (no OAuth credential, API error, no agentSdkCredit field yet) returns
24
+ * null, which the CostAwareRoutingPolicy treats as "fall to the
25
+ * subscription floor" — conservative by design.
26
+ */
27
+ import { Registry, type ProviderAdapter } from './registry.js';
28
+ import type { ProviderId } from './types.js';
29
+ import type { AgentSdkCreditSnapshot } from './primitives/observability/usageMeterProvider.js';
30
+ import { type AnthropicHeadlessConfig } from './adapters/anthropic-headless/index.js';
31
+ import { type InteractivePoolAdapter } from './adapters/anthropic-interactive-pool/index.js';
32
+ import type { InteractivePoolConfig } from './adapters/anthropic-interactive-pool/config.js';
33
+ export interface RegisterAnthropicAdaptersOptions {
34
+ /**
35
+ * The agent's enabled frameworks (InstarConfig.enabledFrameworks). When
36
+ * unset or empty, defaults to ['claude-code'] — the historical behavior,
37
+ * matching the migrator's reading of the same field.
38
+ */
39
+ enabledFrameworks?: ReadonlyArray<string>;
40
+ /** Detected `claude` binary path. Unset → adapter env defaults. */
41
+ claudePath?: string;
42
+ /** Detected `tmux` binary path. Unset → adapter env defaults. */
43
+ tmuxPath?: string;
44
+ /** Overrides for the headless adapter config (credential, model, ...). */
45
+ headless?: Partial<AnthropicHeadlessConfig>;
46
+ /** Overrides for the interactive-pool config (poolSize, model, workingDirectory, ...). */
47
+ pool?: Partial<InteractivePoolConfig>;
48
+ /** Registry to register against. Defaults to the module singleton. */
49
+ registryInstance?: Registry;
50
+ /** TTL for the cached SDK-credit read (ms). Default 60s. */
51
+ creditCacheTtlMs?: number;
52
+ }
53
+ export interface RegisterAnthropicAdaptersResult {
54
+ /** Adapter ids newly registered by THIS call. */
55
+ registered: ProviderId[];
56
+ /** Adapter ids that were already present (idempotent re-entry). */
57
+ alreadyRegistered: ProviderId[];
58
+ /** Set when the gate skipped registration entirely. */
59
+ skippedReason?: 'claude-forbidden' | 'claude-code-not-enabled';
60
+ /** The headless adapter (undefined when skipped). */
61
+ headless?: ProviderAdapter;
62
+ /** The interactive-pool adapter (undefined when skipped). */
63
+ pool?: InteractivePoolAdapter;
64
+ /**
65
+ * Real SDK-credit reader for CostAwareRoutingPolicy. Returns null when
66
+ * the state is unknown (skipped registration, no credential, API error,
67
+ * or Anthropic not yet exposing the credit pot) — never throws.
68
+ */
69
+ readSdkCredit: () => Promise<AgentSdkCreditSnapshot | null>;
70
+ }
71
+ /**
72
+ * Build a TTL-cached SDK-credit reader from the headless adapter's
73
+ * UsageMeterProvider. Bounded cost: at most one GET /api/oauth/usage per
74
+ * TTL window regardless of routing-decision volume.
75
+ */
76
+ export declare function buildReadSdkCredit(headless: ProviderAdapter, ttlMs?: number): () => Promise<AgentSdkCreditSnapshot | null>;
77
+ /**
78
+ * Register both Anthropic adapters with the providers registry, gated and
79
+ * idempotent (including under concurrent calls). See module docstring for
80
+ * the contract.
81
+ */
82
+ export declare function registerAnthropicAdapters(options?: RegisterAnthropicAdaptersOptions): Promise<RegisterAnthropicAdaptersResult>;
83
+ //# sourceMappingURL=bootRegistration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootRegistration.d.ts","sourceRoot":"","sources":["../../src/providers/bootRegistration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAA+B,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAE5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAG7F,MAAM,WAAW,gCAAgC;IAC/C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC5C,0FAA0F;IAC1F,IAAI,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACtC,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,+BAA+B;IAC9C,iDAAiD;IACjD,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,mEAAmE;IACnE,iBAAiB,EAAE,UAAU,EAAE,CAAC;IAChC,uDAAuD;IACvD,aAAa,CAAC,EAAE,kBAAkB,GAAG,yBAAyB,CAAC;IAC/D,qDAAqD;IACrD,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,6DAA6D;IAC7D,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B;;;;OAIG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;CAC7D;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,KAAK,SAAS,GACb,MAAM,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CA8B9C;AAWD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,+BAA+B,CAAC,CAS1C"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * bootRegistration — production registration of the Anthropic adapters.
3
+ *
4
+ * This is the "separate cycle" deferred when the Phase-5 routing policy was
5
+ * installed at server boot: the policy was wired but NO adapters were ever
6
+ * registered against the providers registry, so `registry.resolve()` had
7
+ * nothing to choose between and the cost-aware routing was a no-op. This
8
+ * module closes that gap (Rule 1 of
9
+ * specs/provider-portability/04-anthropic-path-constraints.md — the
10
+ * subscription-backed interactive pool must be an operational floor, not a
11
+ * designed-only one).
12
+ *
13
+ * Properties (all load-bearing for the server boot path):
14
+ * - GATED: never registers Claude adapters on a codex-only agent
15
+ * (process-level claudeForbidden flag + enabledFrameworks check).
16
+ * - IDEMPOTENT: re-entering startServer in the same process (tests,
17
+ * in-proc respawn) does not double-register or clobber.
18
+ * - LAZY: registration spawns NOTHING. Both adapter factories are pure
19
+ * in-memory construction; the interactive pool only spawns tmux REPL
20
+ * sessions on first use (or an explicit `start()`).
21
+ * - HONEST CREDIT READS: `readSdkCredit` is plumbed from the headless
22
+ * adapter's UsageMeterProvider (GET /api/oauth/usage). Unknown state
23
+ * (no OAuth credential, API error, no agentSdkCredit field yet) returns
24
+ * null, which the CostAwareRoutingPolicy treats as "fall to the
25
+ * subscription floor" — conservative by design.
26
+ */
27
+ import { registry as defaultRegistry } from './registry.js';
28
+ import { CapabilityFlag } from './capabilities.js';
29
+ import { createAnthropicHeadlessAdapter, ANTHROPIC_HEADLESS_ID, } from './adapters/anthropic-headless/index.js';
30
+ import { createAnthropicInteractivePoolAdapter, ANTHROPIC_INTERACTIVE_POOL_ID, } from './adapters/anthropic-interactive-pool/index.js';
31
+ import { isClaudeForbidden } from '../core/claudeForbiddenGuard.js';
32
+ const NULL_CREDIT = async () => null;
33
+ /**
34
+ * Build a TTL-cached SDK-credit reader from the headless adapter's
35
+ * UsageMeterProvider. Bounded cost: at most one GET /api/oauth/usage per
36
+ * TTL window regardless of routing-decision volume.
37
+ */
38
+ export function buildReadSdkCredit(headless, ttlMs = 60_000) {
39
+ let cachedAt = 0;
40
+ let cached = null;
41
+ let inFlight = null;
42
+ return async () => {
43
+ const now = Date.now();
44
+ if (now - cachedAt < ttlMs)
45
+ return cached;
46
+ if (inFlight)
47
+ return inFlight;
48
+ inFlight = (async () => {
49
+ try {
50
+ const meter = headless.primitive(CapabilityFlag.UsageMeterProvider);
51
+ const snapshot = await meter.read();
52
+ cached = snapshot?.agentSdkCredit ?? null;
53
+ }
54
+ catch {
55
+ // @silent-fallback-ok — meter errors are expected (no OAuth
56
+ // credential, transient API failure); unknown state = null and the
57
+ // CostAwareRoutingPolicy conservatively falls to the subscription
58
+ // floor. Never throw into a routing decision.
59
+ cached = null;
60
+ }
61
+ finally {
62
+ // finally, not tail code: even an unforeseeable throw between the
63
+ // catch and here must never wedge the reader with a stale inFlight.
64
+ cachedAt = Date.now();
65
+ inFlight = null;
66
+ }
67
+ return cached;
68
+ })();
69
+ return inFlight;
70
+ };
71
+ }
72
+ /**
73
+ * Single-flight guard: concurrent registerAnthropicAdapters calls against
74
+ * the SAME registry instance await one shared registration instead of
75
+ * racing get()-then-register() (Registry.register throws on duplicates, so
76
+ * a TOCTOU race would make the loser throw — breaking the idempotency
77
+ * contract under exactly the re-entrant boots it exists for).
78
+ */
79
+ const inFlightByRegistry = new WeakMap();
80
+ /**
81
+ * Register both Anthropic adapters with the providers registry, gated and
82
+ * idempotent (including under concurrent calls). See module docstring for
83
+ * the contract.
84
+ */
85
+ export async function registerAnthropicAdapters(options = {}) {
86
+ const targetRegistry = options.registryInstance ?? defaultRegistry;
87
+ const existing = inFlightByRegistry.get(targetRegistry);
88
+ if (existing)
89
+ return existing;
90
+ const run = registerAnthropicAdaptersInner(options, targetRegistry).finally(() => {
91
+ inFlightByRegistry.delete(targetRegistry);
92
+ });
93
+ inFlightByRegistry.set(targetRegistry, run);
94
+ return run;
95
+ }
96
+ async function registerAnthropicAdaptersInner(options, reg) {
97
+ // Gate 1 — process-level codex-only enforcement (mirrors the
98
+ // ClaudeCliIntelligenceProvider constructor guard).
99
+ if (isClaudeForbidden()) {
100
+ return {
101
+ registered: [],
102
+ alreadyRegistered: [],
103
+ skippedReason: 'claude-forbidden',
104
+ readSdkCredit: NULL_CREDIT,
105
+ };
106
+ }
107
+ // Gate 2 — enabledFrameworks. Unset/empty defaults to ['claude-code']
108
+ // (historical behavior; mirrors PostUpdateMigrator's reading).
109
+ const frameworks = options.enabledFrameworks && options.enabledFrameworks.length > 0
110
+ ? options.enabledFrameworks
111
+ : ['claude-code'];
112
+ if (!frameworks.includes('claude-code')) {
113
+ return {
114
+ registered: [],
115
+ alreadyRegistered: [],
116
+ skippedReason: 'claude-code-not-enabled',
117
+ readSdkCredit: NULL_CREDIT,
118
+ };
119
+ }
120
+ const registered = [];
121
+ const alreadyRegistered = [];
122
+ // Headless (SDK-credit `claude -p` path) — idempotent.
123
+ let headless = reg.get(ANTHROPIC_HEADLESS_ID);
124
+ if (headless) {
125
+ alreadyRegistered.push(ANTHROPIC_HEADLESS_ID);
126
+ }
127
+ else {
128
+ headless = createAnthropicHeadlessAdapter({
129
+ ...(options.claudePath ? { claudePath: options.claudePath } : {}),
130
+ ...(options.tmuxPath ? { tmuxPath: options.tmuxPath } : {}),
131
+ ...options.headless,
132
+ });
133
+ await reg.register(headless);
134
+ registered.push(ANTHROPIC_HEADLESS_ID);
135
+ }
136
+ // Interactive pool (subscription floor) — idempotent, lazy (no spawn).
137
+ let pool = reg.get(ANTHROPIC_INTERACTIVE_POOL_ID);
138
+ if (pool) {
139
+ alreadyRegistered.push(ANTHROPIC_INTERACTIVE_POOL_ID);
140
+ }
141
+ else {
142
+ pool = createAnthropicInteractivePoolAdapter({
143
+ ...(options.claudePath ? { claudePath: options.claudePath } : {}),
144
+ ...(options.tmuxPath ? { tmuxPath: options.tmuxPath } : {}),
145
+ ...options.pool,
146
+ });
147
+ await reg.register(pool);
148
+ registered.push(ANTHROPIC_INTERACTIVE_POOL_ID);
149
+ }
150
+ return {
151
+ registered,
152
+ alreadyRegistered,
153
+ headless,
154
+ pool,
155
+ readSdkCredit: buildReadSdkCredit(headless, options.creditCacheTtlMs),
156
+ };
157
+ }
158
+ //# sourceMappingURL=bootRegistration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootRegistration.js","sourceRoot":"","sources":["../../src/providers/bootRegistration.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,22 @@ export interface CostAwareRoutingOptions {
56
56
  */
57
57
  safetyMarginFraction?: number;
58
58
  }
59
+ /**
60
+ * Pure SDK-pot-vs-subscription decision — the single source of truth shared
61
+ * by CostAwareRoutingPolicy (registry-level adapter resolution) and
62
+ * AnthropicSubscriptionRouter (intelligence-funnel routing). Keeping ONE
63
+ * implementation prevents the two routing layers from drifting apart on
64
+ * threshold semantics.
65
+ *
66
+ * - Unknown state (null snapshot) → subscription floor (conservative).
67
+ * - At/below the safety margin → subscription floor.
68
+ * - Above the margin → SDK credit path (drain the prepaid pot first —
69
+ * the routing default locked 2026-05-15, spec 04 §Routing default).
70
+ */
71
+ export declare function decideSdkVsSubscription(snapshot: AgentSdkCreditSnapshot | null, safetyMarginFraction: number): {
72
+ path: 'sdk-credit' | 'subscription';
73
+ reason: string;
74
+ };
59
75
  export declare class CostAwareRoutingPolicy implements RoutingPolicy {
60
76
  private readonly options;
61
77
  private readonly safetyMarginFraction;
@@ -1 +1 @@
1
- {"version":3,"file":"costAwareRouting.d.ts","sourceRoot":"","sources":["../../src/providers/costAwareRouting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAE/F;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,MAAO,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAC5D;;;OAGG;IACH,kBAAkB,EAAE,UAAU,CAAC;IAC/B;;;OAGG;IACH,qBAAqB,EAAE,UAAU,CAAC;IAClC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,sBAAuB,YAAW,aAAa;IAG9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;gBAEjB,OAAO,EAAE,uBAAuB;IASvD,MAAM,CACV,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,EAC1C,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,eAAe,CAAC;CA0D5B;AAMD;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE;QACf,gCAAgC;QAChC,YAAY,EAAE,MAAM,CAAC;QACrB,wCAAwC;QACxC,QAAQ,EAAE,MAAM,CAAC;QACjB,kEAAkE;QAClE,eAAe,EAAE,MAAM,CAAC;QACxB,mDAAmD;QACnD,WAAW,EAAE,OAAO,CAAC;QACrB,2CAA2C;QAC3C,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GAAG,IAAI,CAAC;CACV;AAED,MAAM,WAAW,uBAAuB;IACtC,+EAA+E;IAC/E,aAAa,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAC5D,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAIf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAElB,OAAO,EAAE,uBAAuB;IAK7D,4CAA4C;IACtC,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAyB5C;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI;CAwBrF"}
1
+ {"version":3,"file":"costAwareRouting.d.ts","sourceRoot":"","sources":["../../src/providers/costAwareRouting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAE/F;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,MAAO,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAC5D;;;OAGG;IACH,kBAAkB,EAAE,UAAU,CAAC;IAC/B;;;OAGG;IACH,qBAAqB,EAAE,UAAU,CAAC;IAClC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,EACvC,oBAAoB,EAAE,MAAM,GAC3B;IAAE,IAAI,EAAE,YAAY,GAAG,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAsBzD;AAED,qBAAa,sBAAuB,YAAW,aAAa;IAG9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;gBAEjB,OAAO,EAAE,uBAAuB;IASvD,MAAM,CACV,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,EAC1C,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,eAAe,CAAC;CAqC5B;AAMD;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE;QACf,gCAAgC;QAChC,YAAY,EAAE,MAAM,CAAC;QACrB,wCAAwC;QACxC,QAAQ,EAAE,MAAM,CAAC;QACjB,kEAAkE;QAClE,eAAe,EAAE,MAAM,CAAC;QACxB,mDAAmD;QACnD,WAAW,EAAE,OAAO,CAAC;QACrB,2CAA2C;QAC3C,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GAAG,IAAI,CAAC;CACV;AAED,MAAM,WAAW,uBAAuB;IACtC,+EAA+E;IAC/E,aAAa,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAC5D,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAIf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAElB,OAAO,EAAE,uBAAuB;IAK7D,4CAA4C;IACtC,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAyB5C;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI;CAwBrF"}
@@ -28,6 +28,39 @@
28
28
  * after routine consumption has drained most of the pot.
29
29
  */
30
30
  export const DEFAULT_SAFETY_MARGIN_FRACTION = 0.10;
31
+ /**
32
+ * Pure SDK-pot-vs-subscription decision — the single source of truth shared
33
+ * by CostAwareRoutingPolicy (registry-level adapter resolution) and
34
+ * AnthropicSubscriptionRouter (intelligence-funnel routing). Keeping ONE
35
+ * implementation prevents the two routing layers from drifting apart on
36
+ * threshold semantics.
37
+ *
38
+ * - Unknown state (null snapshot) → subscription floor (conservative).
39
+ * - At/below the safety margin → subscription floor.
40
+ * - Above the margin → SDK credit path (drain the prepaid pot first —
41
+ * the routing default locked 2026-05-15, spec 04 §Routing default).
42
+ */
43
+ export function decideSdkVsSubscription(snapshot, safetyMarginFraction) {
44
+ if (snapshot === null) {
45
+ return {
46
+ path: 'subscription',
47
+ reason: 'sdk-credit-state-unknown-fall-to-subscription-floor',
48
+ };
49
+ }
50
+ const margin = safetyMarginFraction * snapshot.totalUsd;
51
+ if (snapshot.remainingUsd <= margin) {
52
+ return {
53
+ path: 'subscription',
54
+ reason: `sdk-credit-at-or-below-safety-margin `
55
+ + `(remaining=$${snapshot.remainingUsd.toFixed(2)} <= margin=$${margin.toFixed(2)})`,
56
+ };
57
+ }
58
+ return {
59
+ path: 'sdk-credit',
60
+ reason: `sdk-credit-preferred `
61
+ + `(remaining=$${snapshot.remainingUsd.toFixed(2)} > margin=$${margin.toFixed(2)})`,
62
+ };
63
+ }
31
64
  export class CostAwareRoutingPolicy {
32
65
  options;
33
66
  safetyMarginFraction;
@@ -52,28 +85,11 @@ export class CostAwareRoutingPolicy {
52
85
  // Treat read errors as "state unknown" — fall to the floor.
53
86
  snapshot = null;
54
87
  }
55
- if (snapshot === null) {
56
- return {
57
- chosen: subCand.id,
58
- reason: 'sdk-credit-state-unknown-fall-to-subscription-floor',
59
- fallbacks: [sdkCand.id],
60
- };
88
+ const decision = decideSdkVsSubscription(snapshot, this.safetyMarginFraction);
89
+ if (decision.path === 'subscription') {
90
+ return { chosen: subCand.id, reason: decision.reason, fallbacks: [sdkCand.id] };
61
91
  }
62
- const margin = this.safetyMarginFraction * snapshot.totalUsd;
63
- if (snapshot.remainingUsd <= margin) {
64
- return {
65
- chosen: subCand.id,
66
- reason: `sdk-credit-at-or-below-safety-margin `
67
- + `(remaining=$${snapshot.remainingUsd.toFixed(2)} <= margin=$${margin.toFixed(2)})`,
68
- fallbacks: [sdkCand.id],
69
- };
70
- }
71
- return {
72
- chosen: sdkCand.id,
73
- reason: `sdk-credit-preferred `
74
- + `(remaining=$${snapshot.remainingUsd.toFixed(2)} > margin=$${margin.toFixed(2)})`,
75
- fallbacks: [subCand.id],
76
- };
92
+ return { chosen: sdkCand.id, reason: decision.reason, fallbacks: [subCand.id] };
77
93
  }
78
94
  // Only one Anthropic adapter in the candidate set — use it.
79
95
  if (sdkCand) {
@@ -1 +1 @@
1
- {"version":3,"file":"costAwareRouting.js","sourceRoot":"","sources":["../../src/providers/costAwareRouting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"costAwareRouting.js","sourceRoot":"","sources":["../../src/providers/costAwareRouting.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAgG/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2E/F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,EAC5B,WAAW,GAAE,OAAe,GAC3B,MAAM,CAszCR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,GAC3B,MAAM,CAuTR"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAgG/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2E/F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,EAC5B,WAAW,GAAE,OAAe,GAC3B,MAAM,CA2zCR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,GAC3B,MAAM,CAuTR"}