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.
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +133 -17
- package/dist/commands/server.js.map +1 -1
- package/dist/core/AnthropicSubscriptionRouter.d.ts +68 -0
- package/dist/core/AnthropicSubscriptionRouter.d.ts.map +1 -0
- package/dist/core/AnthropicSubscriptionRouter.js +82 -0
- package/dist/core/AnthropicSubscriptionRouter.js.map +1 -0
- package/dist/core/InteractivePoolIntelligenceProvider.d.ts +38 -0
- package/dist/core/InteractivePoolIntelligenceProvider.d.ts.map +1 -0
- package/dist/core/InteractivePoolIntelligenceProvider.js +61 -0
- package/dist/core/InteractivePoolIntelligenceProvider.js.map +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +17 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/intelligenceProviderFactory.d.ts +21 -0
- package/dist/core/intelligenceProviderFactory.d.ts.map +1 -1
- package/dist/core/intelligenceProviderFactory.js +24 -1
- package/dist/core/intelligenceProviderFactory.js.map +1 -1
- package/dist/core/types.d.ts +38 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/providers/adapters/anthropic-interactive-pool/config.d.ts +17 -0
- package/dist/providers/adapters/anthropic-interactive-pool/config.d.ts.map +1 -1
- package/dist/providers/adapters/anthropic-interactive-pool/config.js +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/config.js.map +1 -1
- package/dist/providers/adapters/anthropic-interactive-pool/pool.d.ts +16 -2
- package/dist/providers/adapters/anthropic-interactive-pool/pool.d.ts.map +1 -1
- package/dist/providers/adapters/anthropic-interactive-pool/pool.js +95 -5
- package/dist/providers/adapters/anthropic-interactive-pool/pool.js.map +1 -1
- package/dist/providers/bootRegistration.d.ts +83 -0
- package/dist/providers/bootRegistration.d.ts.map +1 -0
- package/dist/providers/bootRegistration.js +158 -0
- package/dist/providers/bootRegistration.js.map +1 -0
- package/dist/providers/costAwareRouting.d.ts +16 -0
- package/dist/providers/costAwareRouting.d.ts.map +1 -1
- package/dist/providers/costAwareRouting.js +37 -21
- package/dist/providers/costAwareRouting.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +5 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +26 -1
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +63 -63
- package/src/scaffold/templates.ts +5 -0
- package/upgrades/1.3.331.md +77 -0
- 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 =
|
|
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
|
-
|
|
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
|
|
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;
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AA2BnD,MAAM,OAAO,sBAAsB;IAGJ;IAFZ,oBAAoB,CAAS;IAE9C,YAA6B,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;QAC3D,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,8BAA8B,CAAC;QAC3F,IAAI,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,IAAI,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CACb,sEAAsE,IAAI,CAAC,oBAAoB,EAAE,CAClG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAA0C,EAC1C,QAAwB;QAExB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAEpF,oEAAoE;QACpE,iBAAiB;QACjB,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACvB,IAAI,QAAQ,GAAkC,IAAI,CAAC;YACnD,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;gBAC5D,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,
|
|
1
|
+
{"version":3,"file":"costAwareRouting.js","sourceRoot":"","sources":["../../src/providers/costAwareRouting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AA2BnD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAuC,EACvC,oBAA4B;IAE5B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,qDAAqD;SAC9D,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACxD,IAAI,QAAQ,CAAC,YAAY,IAAI,MAAM,EAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM,EACJ,uCAAuC;kBACrC,eAAe,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;SACvF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM,EACJ,uBAAuB;cACrB,eAAe,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;KACtF,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,sBAAsB;IAGJ;IAFZ,oBAAoB,CAAS;IAE9C,YAA6B,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;QAC3D,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,8BAA8B,CAAC;QAC3F,IAAI,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,IAAI,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CACb,sEAAsE,IAAI,CAAC,oBAAoB,EAAE,CAClG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAA0C,EAC1C,QAAwB;QAExB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAEpF,oEAAoE;QACpE,iBAAiB;QACjB,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACvB,IAAI,QAAQ,GAAkC,IAAI,CAAC;YACnD,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;gBAC5D,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC9E,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACrC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAClF,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QAClF,CAAC;QAED,4DAA4D;QAC5D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;QACxE,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,uCAAuC,EAAE,CAAC;QACjF,CAAC;QAED,qEAAqE;QACrE,qEAAqE;QACrE,4DAA4D;QAC5D,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;IACJ,CAAC;CACF;AAgDD;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAIE;IAHZ,oBAAoB,CAAS;IAC7B,qBAAqB,CAAS;IAE/C,YAA6B,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;QAC3D,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,8BAA8B,CAAC;QAC3F,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,IAAI,CAAC;IACrE,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,QAAQ;QACZ,IAAI,QAAQ,GAAkC,IAAI,CAAC;QACnD,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAsB,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3E,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACtE,MAAM,CAAC,cAAc,GAAG;gBACtB,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,eAAe;gBACf,WAAW,EAAE,QAAQ,CAAC,YAAY,IAAI,eAAe;gBACrD,gBAAgB,EACd,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC5E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,KAAwB,EAAE,OAA0B;QAClE,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;QAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;QAEjC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,+BAA+B,CAAC;QACrE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,iCAAiC,CAAC;QACvE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE1C,+BAA+B;QAC/B,IAAI,CAAE,CAAC,WAAW,KAAK,CAAE,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO,CAAE,CAAC,WAAW;gBACnB,CAAC,CAAC,wCAAwC;gBAC1C,CAAC,CAAC,0CAA0C,CAAC;QACjD,CAAC;QAED,IAAI,CAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,CAAC,CAAE,CAAC,YAAY,GAAG,CAAE,CAAC,YAAY,CAAC,GAAG,CAAE,CAAC,QAAQ,CAAC;YAChE,IAAI,KAAK,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACxC,OAAO,oBAAoB,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC;YAChF,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -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,
|
|
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"}
|