@sentropic/llm-mesh 0.26.1 → 0.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/catalog.js +1 -1
  2. package/dist/catalog.js.map +1 -1
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/launch-routing-contract.d.ts +28 -0
  8. package/dist/launch-routing-contract.d.ts.map +1 -0
  9. package/dist/launch-routing-contract.js +70 -0
  10. package/dist/launch-routing-contract.js.map +1 -0
  11. package/dist/ports/route-affinity-store.d.ts +21 -0
  12. package/dist/ports/route-affinity-store.d.ts.map +1 -0
  13. package/dist/ports/route-affinity-store.js +4 -0
  14. package/dist/ports/route-affinity-store.js.map +1 -0
  15. package/dist/route-attempt.d.ts +2 -2
  16. package/dist/route-attempt.d.ts.map +1 -1
  17. package/dist/route-attempt.js +2 -2
  18. package/dist/route-attempt.js.map +1 -1
  19. package/dist/route-planner-state.d.ts +4 -1
  20. package/dist/route-planner-state.d.ts.map +1 -1
  21. package/dist/route-planner-state.js.map +1 -1
  22. package/dist/route-planner.d.ts +5 -2
  23. package/dist/route-planner.d.ts.map +1 -1
  24. package/dist/route-planner.js +69 -35
  25. package/dist/route-planner.js.map +1 -1
  26. package/dist/route-quote.d.ts +1 -1
  27. package/dist/route-quote.d.ts.map +1 -1
  28. package/dist/route-quote.js +11 -1
  29. package/dist/route-quote.js.map +1 -1
  30. package/dist/route-selection.d.ts +1 -1
  31. package/dist/route-selection.d.ts.map +1 -1
  32. package/dist/route-selection.js +18 -9
  33. package/dist/route-selection.js.map +1 -1
  34. package/dist/routing-contracts.d.ts +3 -1
  35. package/dist/routing-contracts.d.ts.map +1 -1
  36. package/dist/routing-policy.js +1 -1
  37. package/dist/routing-policy.js.map +1 -1
  38. package/dist/routing-targets.d.ts +5 -0
  39. package/dist/routing-targets.d.ts.map +1 -1
  40. package/dist/routing-targets.js +28 -4
  41. package/dist/routing-targets.js.map +1 -1
  42. package/dist/transport/codex-runtime-client.d.ts.map +1 -1
  43. package/dist/transport/codex-runtime-client.js +66 -25
  44. package/dist/transport/codex-runtime-client.js.map +1 -1
  45. package/dist/transport/codex-runtime-wire.d.ts.map +1 -1
  46. package/dist/transport/codex-runtime-wire.js +6 -0
  47. package/dist/transport/codex-runtime-wire.js.map +1 -1
  48. package/dist/transport/muse-runtime-client.d.ts.map +1 -1
  49. package/dist/transport/muse-runtime-client.js +22 -0
  50. package/dist/transport/muse-runtime-client.js.map +1 -1
  51. package/package.json +1 -1
@@ -6,6 +6,7 @@ import { isNativeMessagesTarget, NATIVE_ANTHROPIC_MESSAGES_MODEL_IDS, validateNa
6
6
  import { resolveRequestedTargets, selectRouteCandidates } from './route-selection.js';
7
7
  import { computeRouteQuoteRef, isQuotedRouteTarget, quoteRoute, resolveQuotePolicy } from './route-quote.js';
8
8
  import { InMemoryRoutePolicyProfiles, resolveRouteStrategy } from './routing-policy.js';
9
+ import { LaunchRoutingContractError } from './launch-routing-contract.js';
9
10
  export class InMemoryRoutePlanner {
10
11
  options;
11
12
  plans = new Map();
@@ -65,7 +66,7 @@ export class InMemoryRoutePlanner {
65
66
  // The model-derived resolution ignores `explicit`, so an explicit
66
67
  // transport restriction wins over it here.
67
68
  const explicitTransport = input.explicit?.transportProviderId;
68
- const resolution = resolveRequestedTargets(input);
69
+ const resolution = resolveRequestedTargets(input, resolveQuotePolicy(input, this.profiles).policy.allowEquivalentModels);
69
70
  const transports = new Set(explicitTransport
70
71
  ? [explicitTransport]
71
72
  : resolution.kind === 'known'
@@ -77,6 +78,8 @@ export class InMemoryRoutePlanner {
77
78
  return diagnostics.filter((entry) => transports.has(entry.transportProviderId));
78
79
  }
79
80
  async plan(subject, input) {
81
+ if (input.launchRoutingContract && input.launchRoutingContract.ownerScopeRef !== subject.ownerScopeRef)
82
+ throw new LaunchRoutingContractError();
80
83
  this.evictPlans();
81
84
  const { profile, policy: resolvedPolicy } = resolveQuotePolicy(input, this.profiles);
82
85
  const { quote } = input;
@@ -88,10 +91,10 @@ export class InMemoryRoutePlanner {
88
91
  const inQuoteTarget = (target) => !quote || isQuotedRouteTarget(quote, target);
89
92
  const inQuote = (candidate) => inQuoteTarget(candidate.target);
90
93
  const strategy = resolveRouteStrategy(policy, input);
91
- const affinity = input.affinityKey
94
+ const affinityStoreKey = await this.readDurableAffinity(subject, input);
95
+ let affinity = input.affinityKey
92
96
  ? this.affinities.get(affinityRef(subject, input.affinityKey, input.workspaceId))
93
97
  : undefined;
94
- let affinityDropped = false;
95
98
  const accounts = await this.options.directory.listEligible(subject);
96
99
  const roundRobinKey = `${routingOwnerRef(subject)}\u001f${input.requestedModel}`;
97
100
  const roundRobinState = strategy.kind === 'round-robin'
@@ -138,38 +141,25 @@ export class InMemoryRoutePlanner {
138
141
  ? accounts.find((entry) => entry.accountRef === affinity.accountRef)
139
142
  : undefined;
140
143
  if (affinity && policy.stickyAccount
141
- && inQuoteTarget(affinity.target)
142
144
  && (!input.nativeMessages || (stickyAccount?.nativeMessages?.contractVersion === 1
143
145
  && stickyAccount.nativeMessages.protocol === 'anthropic-messages'
144
146
  && isNativeMessagesTarget(affinity.target, this.nativeMessagesModelIds)
145
147
  && affinity.target.modelId === input.requestedModel))) {
146
148
  const account = stickyAccount;
147
149
  if (!account) {
148
- // Auto-drop: the affinity account is gone (deleted) — resolve without
149
- // the dead pin instead of failing closed on it. The dropped pin is
150
- // cleared for the rest of planning so the stored plan carries no
151
- // affinity revision and round-robin reservation applies to the
152
- // replacement candidates.
153
- if (input.affinityKey) {
154
- this.affinities.delete(affinityRef(subject, input.affinityKey, input.workspaceId));
155
- }
156
- affinityDropped = true;
157
- candidates = this.visibleCandidates(candidates, inQuote, policy);
150
+ throw new RoutePlanError('Pinned account is unavailable', 'no-route');
158
151
  }
159
152
  else if (account.readiness !== 'ready') {
160
153
  candidates = [];
161
154
  }
162
155
  else {
163
- const sameAccount = candidates.filter((candidate) => candidate.account.accountRef === affinity.accountRef
164
- && !this.isAffinityTarget(candidate, affinity));
156
+ const sameAccount = candidates.filter((candidate) => candidate.account.accountRef === affinity.accountRef);
165
157
  const rotated = policy.rotateEquivalentAccounts
166
158
  ? candidates.filter((candidate) => candidate.account.accountRef !== affinity.accountRef)
167
159
  : [];
168
- const sticky = {
169
- account,
170
- target: { ...affinity.target, requestedModel: input.requestedModel, reason: 'sticky' },
171
- };
172
- candidates = this.visibleCandidates([sticky, ...sameAccount, ...rotated], inQuote, policy);
160
+ // A pin selects an account, never an obsolete model or an unauthorized target.
161
+ candidates = this.visibleCandidates([...sameAccount.map((candidate) => ({ ...candidate,
162
+ target: { ...candidate.target, reason: 'sticky' } })), ...rotated], inQuote, policy);
173
163
  }
174
164
  }
175
165
  else {
@@ -184,9 +174,18 @@ export class InMemoryRoutePlanner {
184
174
  const storedCandidates = candidates.map((candidate) => ({
185
175
  ...candidate, candidateRef: this.ids.next('candidate'),
186
176
  }));
187
- // An auto-dropped pin counts as no affinity from here on: the stored
188
- // plan carries no revision and round-robin treats this as a fresh plan.
189
- const effectiveAffinity = affinityDropped ? undefined : affinity;
177
+ const hadAffinity = Boolean(affinity);
178
+ if (affinityStoreKey && !affinity) {
179
+ const first = storedCandidates[0];
180
+ affinity = { affinityRef: affinityRef(subject, input.affinityKey, input.workspaceId),
181
+ accountRef: first.account.accountRef, diagnosticAccountRef: first.account.diagnosticAccountRef,
182
+ revision: 1, accountEpoch: 1, target: first.target, promoted: false };
183
+ await this.options.affinityStore.compareAndSet(affinityStoreKey, 0, { ...affinityStoreKey,
184
+ revision: 1, accountEpoch: 1, accountRef: affinity.accountRef,
185
+ diagnosticAccountRef: affinity.diagnosticAccountRef, target: affinity.target });
186
+ this.affinities.set(affinity.affinityRef, affinity);
187
+ }
188
+ const effectiveAffinity = affinity;
190
189
  const plan = {
191
190
  planRef,
192
191
  expiresAt: new Date(this.clock.now().getTime() + this.planTtlMs).toISOString(),
@@ -206,7 +205,8 @@ export class InMemoryRoutePlanner {
206
205
  };
207
206
  this.plans.set(planRef, {
208
207
  plan, subjectRef: subjectRef(subject), candidates: storedCandidates, policy,
209
- hadAffinity: Boolean(effectiveAffinity),
208
+ hadAffinity,
209
+ ...(affinityStoreKey ? { affinityStoreKey } : {}),
210
210
  ...(effectiveAffinity ? { affinityRevision: effectiveAffinity.revision } : {}),
211
211
  ...(profile ? {
212
212
  policyProfileName: profile.name,
@@ -267,7 +267,8 @@ export class InMemoryRoutePlanner {
267
267
  const quoted = this.keepQuoted(candidates, inQuote);
268
268
  const visible = quoted.filter((candidate) => !this.health.isSuppressed(candidate));
269
269
  if (visible.length > 0)
270
- return visible.slice(0, policy.maxAttempts);
270
+ return (policy.rotateEquivalentAccounts
271
+ ? visible : visible.filter((candidate) => candidate.account.accountRef === visible[0].account.accountRef)).slice(0, policy.maxAttempts);
271
272
  const [only] = quoted;
272
273
  if (quoted.length === 1 && only && this.health.suppressedDegradable(only))
273
274
  return quoted;
@@ -275,6 +276,11 @@ export class InMemoryRoutePlanner {
275
276
  }
276
277
  async prepareAttempt(subject, planRef, candidateRef, requestId, attemptIndex) {
277
278
  const stored = this.plans.get(planRef);
279
+ if (stored?.affinityStoreKey && this.options.affinityStore) {
280
+ const row = await this.options.affinityStore.read(stored.affinityStoreKey);
281
+ if (!row || row.revision !== stored.affinityRevision)
282
+ throw new RoutePlanError('Durable affinity revision changed', 'conflict');
283
+ }
278
284
  if (stored?.plan.councilRevision !== this.council.revision) {
279
285
  throw new RoutePlanError('Route council revision changed', 'invalid-plan');
280
286
  }
@@ -299,7 +305,7 @@ export class InMemoryRoutePlanner {
299
305
  onCommitted: (activePlan, candidate) => this.bind(activePlan, candidate),
300
306
  onSuccess: (activePlan, candidate) => {
301
307
  this.health.clear(candidate);
302
- this.bind(activePlan, candidate);
308
+ return this.bind(activePlan, candidate);
303
309
  },
304
310
  onCancelled: (activePlan) => this.releaseRoundRobin(activePlan),
305
311
  });
@@ -321,6 +327,8 @@ export class InMemoryRoutePlanner {
321
327
  return this.mutateAffinity(subject, planRef, candidateRef, true, expectedRevision);
322
328
  }
323
329
  resetAffinity(subject, key, expectedRevision, workspaceId) {
330
+ if (this.options.affinityStore)
331
+ throw new RoutePlanError('Durable reset requires a new acknowledged session policy', 'conflict');
324
332
  const ref = affinityRef(subject, key, workspaceId);
325
333
  const current = this.affinities.get(ref);
326
334
  if (!current)
@@ -337,6 +345,8 @@ export class InMemoryRoutePlanner {
337
345
  return removed;
338
346
  }
339
347
  mutateAffinity(subject, planRef, candidateRef, allowRebind, expectedRevision) {
348
+ if (this.options.affinityStore)
349
+ throw new RoutePlanError('Durable mutation requires a new acknowledged session policy', 'conflict');
340
350
  const stored = this.plans.get(planRef);
341
351
  if (!stored || stored.subjectRef !== subjectRef(subject) || !stored.affinityRef) {
342
352
  throw new RoutePlanError('Invalid affinity plan', 'invalid-plan');
@@ -365,14 +375,40 @@ export class InMemoryRoutePlanner {
365
375
  });
366
376
  return next;
367
377
  }
368
- bind(stored, candidate) {
378
+ async readDurableAffinity(subject, input) {
379
+ if (!this.options.affinityStore)
380
+ return undefined;
381
+ const contract = input.launchRoutingContract;
382
+ if (!contract || !input.affinityKey || !input.workspaceId)
383
+ throw new LaunchRoutingContractError();
384
+ const key = { ownerScopeRef: subject.ownerScopeRef, workspaceRef: input.workspaceId,
385
+ clientSessionRef: input.affinityKey, policyRevision: contract.revision };
386
+ const ref = affinityRef(subject, input.affinityKey, input.workspaceId);
387
+ const row = await this.options.affinityStore.read(key);
388
+ if (row)
389
+ this.affinities.set(ref, { ...row, affinityRef: ref, promoted: false });
390
+ else
391
+ this.affinities.delete(ref);
392
+ return key;
393
+ }
394
+ async persistAffinity(stored, next) {
395
+ if (!stored.affinityStoreKey || !this.options.affinityStore)
396
+ return;
397
+ await this.options.affinityStore.compareAndSet(stored.affinityStoreKey, next.revision - 1, {
398
+ ...stored.affinityStoreKey, revision: next.revision, accountRef: next.accountRef,
399
+ diagnosticAccountRef: next.diagnosticAccountRef, accountEpoch: next.accountEpoch ?? 1,
400
+ target: next.target,
401
+ });
402
+ }
403
+ async bind(stored, candidate) {
369
404
  this.commitRoundRobin(stored);
370
405
  if (!stored.affinityRef)
371
406
  return;
372
407
  const current = this.affinities.get(stored.affinityRef);
373
- if (current && stored.policy.fallbackMode !== 'one-way')
408
+ if (current && !stored.affinityStoreKey && stored.policy.fallbackMode !== 'one-way')
374
409
  return;
375
- if (current?.target.providerId === candidate.target.providerId
410
+ if (current?.accountRef === candidate.account.accountRef
411
+ && current.target.providerId === candidate.target.providerId
376
412
  && current.target.modelId === candidate.target.modelId
377
413
  && current.target.transportProviderId === candidate.target.transportProviderId)
378
414
  return;
@@ -381,8 +417,11 @@ export class InMemoryRoutePlanner {
381
417
  affinityRef: stored.affinityRef, accountRef: candidate.account.accountRef,
382
418
  diagnosticAccountRef: candidate.account.diagnosticAccountRef,
383
419
  target: candidate.target, revision: (current?.revision ?? 0) + 1,
420
+ accountEpoch: (current?.accountEpoch ?? 1) + (rebind ? 1 : 0),
384
421
  promoted: Boolean(current && !rebind),
385
422
  };
423
+ await this.persistAffinity(stored, next);
424
+ stored.affinityRevision = next.revision;
386
425
  this.affinities.set(stored.affinityRef, next);
387
426
  this.trim(this.affinities, this.maximumAffinityEntries);
388
427
  if (current)
@@ -392,11 +431,6 @@ export class InMemoryRoutePlanner {
392
431
  nextRevision: next.revision, cacheContinuityRisk: rebind,
393
432
  });
394
433
  }
395
- isAffinityTarget(candidate, affinity) {
396
- return candidate.target.providerId === affinity.target.providerId
397
- && candidate.target.modelId === affinity.target.modelId
398
- && candidate.target.transportProviderId === affinity.target.transportProviderId;
399
- }
400
434
  evictPlans() {
401
435
  const now = this.clock.now().getTime();
402
436
  for (const [ref, stored] of this.plans) {
@@ -1 +1 @@
1
- {"version":3,"file":"route-planner.js","sourceRoot":"","sources":["../src/route-planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-planner.js","sourceRoot":"","sources":["../src/route-planner.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export interface RouteQuoteOptions {
24
24
  readonly profiles?: InMemoryRoutePolicyProfiles;
25
25
  readonly nativeMessagesModelIds?: readonly string[];
26
26
  }
27
- type QuoteRouteFields = Pick<RoutePlanInput, 'targetCandidatesOverride' | 'intent' | 'requiredCapabilities' | 'requiredExecutionFeatures' | 'policyProfile' | 'policyOverride' | 'explicit' | 'nativeMessages'>;
27
+ type QuoteRouteFields = Pick<RoutePlanInput, 'targetCandidatesOverride' | 'intent' | 'launchRoutingContract' | 'requiredCapabilities' | 'requiredExecutionFeatures' | 'policyProfile' | 'policyOverride' | 'explicit' | 'nativeMessages'>;
28
28
  type QuoteBody = Omit<RouteQuote, 'quoteRef'>;
29
29
  /** Resolves the policy exactly as `plan()` does, without touching any account. */
30
30
  export declare const resolveQuotePolicy: (input: RoutePlanInput, profiles: InMemoryRoutePolicyProfiles) => {
@@ -1 +1 @@
1
- {"version":3,"file":"route-quote.d.ts","sourceRoot":"","sources":["../src/route-quote.ts"],"names":[],"mappings":"AACA,OAAO,EAC8B,KAAK,uBAAuB,EAChE,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAOhE,OAAO,KAAK,EACV,kBAAkB,EAAwB,cAAc,EAAE,UAAU,EAAE,mBAAmB,EACzF,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACiB,2BAA2B,EACjD,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAC1C,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAK7C,qBAAa,eAAgB,SAAQ,KAAK;IAGtC,QAAQ,CAAC,IAAI,EAAE,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC;gBAPhC,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,mBAAmB;IAClC;;;;OAIG;IACM,sBAAsB,CAAC,yCAA6B;CAKhE;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IAChD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrD;AAED,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,0BAA0B,GAAG,QAAQ,GAC9E,sBAAsB,GAAG,2BAA2B,GAAG,eAAe,GAAG,gBAAgB,GAAG,UAAU,GAAG,gBAAgB,CAAC,CAAC;AAC/H,KAAK,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AA0B9C,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,UACtB,cAAc,YACX,2BAA2B,KACpC;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAUvE,CAAC;AAuBF,+FAA+F;AAC/F,eAAO,MAAM,oBAAoB,UACxB,gBAAgB,qBACJ,MAAM,GAAG,SAAS,QAC/B,SAAS,KACd,MAuBG,CAAC;AAEP,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,UACvB,UAAU,UACT,KAAK,kBAAkB,EAAE,YAAY,GAAG,SAAS,GAAG,qBAAqB,CAAC,KACjF,OAIkE,CAAC;AAoEtE;;;;GAIG;AACH,eAAO,MAAM,UAAU,UAAW,eAAe,YAAW,iBAAiB,KAAQ,UAqEpF,CAAC"}
1
+ {"version":3,"file":"route-quote.d.ts","sourceRoot":"","sources":["../src/route-quote.ts"],"names":[],"mappings":"AACA,OAAO,EAC8B,KAAK,uBAAuB,EAChE,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAOhE,OAAO,KAAK,EACV,kBAAkB,EAAwB,cAAc,EAAE,UAAU,EAAE,mBAAmB,EACzF,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACiB,2BAA2B,EACjD,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAC1C,MAAM,qBAAqB,CAAC;AAI7B,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAK7C,qBAAa,eAAgB,SAAQ,KAAK;IAGtC,QAAQ,CAAC,IAAI,EAAE,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC;gBAPhC,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,mBAAmB;IAClC;;;;OAIG;IACM,sBAAsB,CAAC,yCAA6B;CAKhE;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IAChD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrD;AAED,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,0BAA0B,GAAG,QAAQ,GAC9E,uBAAuB,GACvB,sBAAsB,GAAG,2BAA2B,GAAG,eAAe,GAAG,gBAAgB,GAAG,UAAU,GAAG,gBAAgB,CAAC,CAAC;AAC/H,KAAK,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AA0B9C,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,UACtB,cAAc,YACX,2BAA2B,KACpC;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAiBvE,CAAC;AAuBF,+FAA+F;AAC/F,eAAO,MAAM,oBAAoB,UACxB,gBAAgB,qBACJ,MAAM,GAAG,SAAS,QAC/B,SAAS,KACd,MAwBG,CAAC;AAEP,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,UACvB,UAAU,UACT,KAAK,kBAAkB,EAAE,YAAY,GAAG,SAAS,GAAG,qBAAqB,CAAC,KACjF,OAIkE,CAAC;AAoEtE;;;;GAIG;AACH,eAAO,MAAM,UAAU,UAAW,eAAe,YAAW,iBAAiB,KAAQ,UAqEpF,CAAC"}
@@ -5,6 +5,7 @@ import { mergeRoutePolicy, RoutePlanError } from './route-planner-state.js';
5
5
  import { resolveRouteTargets } from './route-selection.js';
6
6
  import { DEFAULT_ROUTE_POLICY, InMemoryRoutePolicyProfiles, resolveRoutePolicy, validateRoutePolicy, } from './routing-policy.js';
7
7
  import { resolveTargetCapabilitySource } from './routing-targets.js';
8
+ import { validateLaunchRoutingContract, LaunchRoutingContractError } from './launch-routing-contract.js';
8
9
  export const MAX_ROUTE_QUOTE_CANDIDATES = 16;
9
10
  /** Transports that cannot apply a caller output ceiling (the Codex wire omits it). */
10
11
  const OUTPUT_CEILING_UNENFORCED_TRANSPORTS = ['codex'];
@@ -45,7 +46,15 @@ export const resolveQuotePolicy = (input, profiles) => {
45
46
  : profiles.active();
46
47
  if (input.policyProfile && !profile)
47
48
  throw new RoutePlanError('Unknown policy profile', 'no-route');
48
- const policy = resolveRoutePolicy(mergeRoutePolicy(profile?.policy ?? DEFAULT_ROUTE_POLICY, input.policyOverride), input);
49
+ let policy = resolveRoutePolicy(mergeRoutePolicy(profile?.policy ?? DEFAULT_ROUTE_POLICY, input.policyOverride), input);
50
+ if (input.launchRoutingContract) {
51
+ const contract = validateLaunchRoutingContract(input.launchRoutingContract);
52
+ if (input.policyOverride?.allowEquivalentModels === true
53
+ || (input.policyOverride?.rotateEquivalentAccounts === true && !contract.rotateAccounts))
54
+ throw new LaunchRoutingContractError();
55
+ policy = { ...policy, stickyAccount: true, allowEquivalentModels: false, rotateEquivalentAccounts: contract.rotateAccounts,
56
+ maxAttempts: contract.rotateAccounts ? Math.min(policy.maxAttempts, contract.authorizedAccountRefs.length) : 1 };
57
+ }
49
58
  validateRoutePolicy(policy);
50
59
  return { ...(profile ? { profile } : {}), policy };
51
60
  };
@@ -73,6 +82,7 @@ const digest = (text) => {
73
82
  export const computeRouteQuoteRef = (input, policyProfileName, body) => `quote_${digest(JSON.stringify(canonical({
74
83
  version: 1,
75
84
  route: {
85
+ launchRoutingContract: input.launchRoutingContract,
76
86
  targetCandidatesOverride: input.targetCandidatesOverride,
77
87
  intent: input.intent,
78
88
  // Order-insensitive: the capability filter is a conjunction.
@@ -1 +1 @@
1
- {"version":3,"file":"route-quote.js","sourceRoot":"","sources":["../src/route-quote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-quote.js","sourceRoot":"","sources":["../src/route-quote.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,7 @@ export type RequestedTargetResolution = {
47
47
  readonly kind: 'unknown-model';
48
48
  readonly requestedModel: string;
49
49
  };
50
- export declare const resolveRequestedTargets: (request: RoutePlanInput) => RequestedTargetResolution;
50
+ export declare const resolveRequestedTargets: (request: RoutePlanInput, allowEquivalentModels?: boolean) => RequestedTargetResolution;
51
51
  export type RouteTargetResolution = {
52
52
  readonly kind: 'targets';
53
53
  /** Requested targets followed by fresh council equivalents, before the capability filter. */
@@ -1 +1 @@
1
- {"version":3,"file":"route-selection.d.ts","sourceRoot":"","sources":["../src/route-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-selection.d.ts","sourceRoot":"","sources":["../src/route-selection.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@ import { modelProfiles } from './catalog.js';
2
2
  import { modelSupportsCapability } from './equivalence-council.js';
3
3
  import { transportSupportsExecutionFeatures } from './execution-features.js';
4
4
  import { resolveRouteStrategy } from './routing-policy.js';
5
- import { createCanonicalTargetCandidatesResolver, resolveTargetCapabilitySource, } from './routing-targets.js';
5
+ import { createCanonicalTargetCandidatesResolver, resolveTargetCapabilitySource, isExactModelTarget, normalizeExactModelId, } from './routing-targets.js';
6
+ import { launchTargets, LaunchRoutingContractError } from './launch-routing-contract.js';
6
7
  const resolveCanonicalTargets = createCanonicalTargetCandidatesResolver();
8
+ const resolveMappedTargets = createCanonicalTargetCandidatesResolver({ allowEquivalentModels: true });
7
9
  const supportsCapabilities = (profile, required) => !required?.length
8
10
  || required.every((capability) => modelSupportsCapability(profile, capability));
9
11
  const selectorMatches = (selector, candidate, requestedModel) => (!selector.providerId || selector.providerId === candidate.target.providerId)
@@ -17,16 +19,17 @@ const sameTarget = (left, right) => left.providerId === right.providerId
17
19
  && left.transportProviderId === right.transportProviderId
18
20
  && left.model === right.model
19
21
  && left.effort === right.effort;
20
- export const resolveRequestedTargets = (request) => {
22
+ export const resolveRequestedTargets = (request, allowEquivalentModels = false) => {
21
23
  const { requestedModel } = request;
22
- const canonicalTargets = resolveCanonicalTargets(requestedModel);
23
- const profile = modelProfiles.find((candidate) => candidate.modelId === requestedModel);
24
- if (canonicalTargets.length === 0 && !profile) {
24
+ const selected = request.launchRoutingContract ? launchTargets(request.launchRoutingContract, requestedModel) : undefined;
25
+ const canonicalTargets = selected ?? (allowEquivalentModels ? resolveMappedTargets : resolveCanonicalTargets)(requestedModel);
26
+ const profile = modelProfiles.find((candidate) => candidate.modelId === normalizeExactModelId(requestedModel));
27
+ if (canonicalTargets.length === 0 && !profile && resolveMappedTargets(requestedModel).length === 0) {
25
28
  return { kind: 'unknown-model', requestedModel };
26
29
  }
27
30
  const standardTargets = canonicalTargets.length > 0
28
31
  ? canonicalTargets
29
- : [{ providerId: profile.providerId, model: profile.modelId, transportProviderId: undefined }];
32
+ : profile ? [{ providerId: profile.providerId, model: profile.modelId, transportProviderId: undefined }] : [];
30
33
  const faithfulClaudeTarget = requestedModel.startsWith('claude-')
31
34
  ? standardTargets.find((target) => target.providerId === 'anthropic')
32
35
  : undefined;
@@ -36,12 +39,17 @@ export const resolveRequestedTargets = (request) => {
36
39
  // Per-request explicit restrictions apply later as filters and may
37
40
  // yield no route.
38
41
  const override = request.targetCandidatesOverride;
39
- const targets = override && useFaithfulAnthropicTarget
42
+ if (request.launchRoutingContract && override
43
+ && JSON.stringify(override) !== JSON.stringify(selected ?? standardTargets))
44
+ throw new LaunchRoutingContractError();
45
+ if (!allowEquivalentModels && !selected && override?.some((target) => !isExactModelTarget(requestedModel, target)))
46
+ throw new LaunchRoutingContractError();
47
+ const targets = selected ?? (override && useFaithfulAnthropicTarget
40
48
  ? [
41
49
  faithfulClaudeTarget,
42
50
  ...override.filter((target) => !sameTarget(faithfulClaudeTarget, target)),
43
51
  ]
44
- : override ?? standardTargets;
52
+ : override ?? standardTargets);
45
53
  return {
46
54
  kind: 'known',
47
55
  targets: targets.map((target) => ({
@@ -69,7 +77,7 @@ const unmetExecutionFeatures = (request, targets) => {
69
77
  * the faithful Claude rule. Pure: no clock read, no I/O.
70
78
  */
71
79
  export const resolveRouteTargets = (request, policy, council, now) => {
72
- const resolution = resolveRequestedTargets(request);
80
+ const resolution = resolveRequestedTargets(request, policy.allowEquivalentModels);
73
81
  if (resolution.kind === 'unknown-model')
74
82
  return resolution;
75
83
  const targets = resolution.targets.map((resolved) => ({
@@ -140,6 +148,7 @@ export const selectRouteCandidates = (input) => {
140
148
  const { targets, capableTargets, faithfulClaude } = resolution;
141
149
  const candidatesFor = (target) => input.accounts
142
150
  .filter((account) => account.readiness === 'ready'
151
+ && (!input.request.launchRoutingContract || input.request.launchRoutingContract.authorizedAccountRefs.includes(account.accountRef))
143
152
  && account.targetProviderId === target.providerId
144
153
  && account.supportedModelIds.includes(target.modelId)
145
154
  && (!target.transportProviderId
@@ -1 +1 @@
1
- {"version":3,"file":"route-selection.js","sourceRoot":"","sources":["../src/route-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-selection.js","sourceRoot":"","sources":["../src/route-selection.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { GenerateRequest, GenerateResponse, StreamRequest, StreamResult } f
4
4
  import type { NativeMessagesAdvertisement, NativeUsagePricing, PreparedNativeMessages } from './native-messages.js';
5
5
  import type { RoutePolicy, RouteSelector } from './routing-policy.js';
6
6
  import type { TargetMapping } from './routing-targets.js';
7
+ import type { LaunchRoutingContract } from './launch-routing-contract.js';
7
8
  export interface VerifiedRoutingSubject {
8
9
  readonly principalRef: string;
9
10
  readonly ownerScopeRef: string;
@@ -42,6 +43,7 @@ export interface PlannedRouteTarget {
42
43
  readonly reason: 'exact' | 'alias' | 'equivalent' | 'sticky' | 'promoted';
43
44
  }
44
45
  export interface RoutePlanInput {
46
+ readonly launchRoutingContract?: LaunchRoutingContract;
45
47
  readonly requestedModel: string;
46
48
  /** Optional owner-scoped replacement; known Claude ids retain their Anthropic-first target. */
47
49
  readonly targetCandidatesOverride?: readonly TargetMapping[];
@@ -77,7 +79,7 @@ export interface RouteUsageCeiling {
77
79
  /** Finite integer >= 0 when present. */
78
80
  readonly toolCalls?: number;
79
81
  }
80
- export type RouteQuoteInput = Pick<RoutePlanInput, 'requestedModel' | 'targetCandidatesOverride' | 'intent' | 'requiredCapabilities' | 'requiredExecutionFeatures' | 'policyProfile' | 'policyOverride' | 'explicit' | 'nativeMessages'> & {
82
+ export type RouteQuoteInput = Pick<RoutePlanInput, 'requestedModel' | 'targetCandidatesOverride' | 'intent' | 'launchRoutingContract' | 'requiredCapabilities' | 'requiredExecutionFeatures' | 'policyProfile' | 'policyOverride' | 'explicit' | 'nativeMessages'> & {
81
83
  readonly ceiling: RouteUsageCeiling;
82
84
  readonly now: Date;
83
85
  };