@sentropic/llm-mesh 0.14.0 → 0.15.0
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/README.md +6 -0
- package/dist/route-selection.d.ts.map +1 -1
- package/dist/route-selection.js +42 -39
- package/dist/route-selection.js.map +1 -1
- package/dist/routing-targets.d.ts +10 -0
- package/dist/routing-targets.d.ts.map +1 -1
- package/dist/routing-targets.js +25 -1
- package/dist/routing-targets.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,6 +40,12 @@ preferred route is suppressed until its TTL expires, then tested again.
|
|
|
40
40
|
`one-way` promotes a successful fallback instead. Override `negativeCacheTtlMs`
|
|
41
41
|
between 1 second and 1 hour.
|
|
42
42
|
|
|
43
|
+
Suffixed Claude launch aliases expose the owner-ratified Codex and Cloud Code
|
|
44
|
+
targets returned by `createCanonicalTargetCandidatesResolver()`. An ordered
|
|
45
|
+
policy can therefore place either enrolled transport first and keep the other
|
|
46
|
+
as bounded pre-byte fallback. Bare provider model ids remain provider-faithful;
|
|
47
|
+
these explicit alias routes do not create general model equivalence.
|
|
48
|
+
|
|
43
49
|
Equivalent-account rotation is disabled by default. Enabling
|
|
44
50
|
`rotateEquivalentAccounts` may move an affinity to another account and lose
|
|
45
51
|
provider-side prompt/session cache continuity; such a move is exposed as an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-selection.d.ts","sourceRoot":"","sources":["../src/route-selection.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5G,OAAO,EAAwB,KAAK,WAAW,EAAsB,MAAM,qBAAqB,CAAC;AAEjG,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;
|
|
1
|
+
{"version":3,"file":"route-selection.d.ts","sourceRoot":"","sources":["../src/route-selection.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5G,OAAO,EAAwB,KAAK,WAAW,EAAsB,MAAM,qBAAqB,CAAC;AAEjG,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAiDD,eAAO,MAAM,qBAAqB,UAAW;IAC3C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACxD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC,KAAG,SAAS,oBAAoB,EAwGhC,CAAC"}
|
package/dist/route-selection.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { modelProfiles } from './catalog.js';
|
|
2
2
|
import { modelSupportsCapability } from './equivalence-council.js';
|
|
3
3
|
import { resolveRouteStrategy } from './routing-policy.js';
|
|
4
|
-
import {
|
|
5
|
-
const
|
|
4
|
+
import { createCanonicalTargetCandidatesResolver } from './routing-targets.js';
|
|
5
|
+
const resolveCanonicalTargets = createCanonicalTargetCandidatesResolver();
|
|
6
6
|
const supportsCapabilities = (profile, required) => !required?.length
|
|
7
7
|
|| required.every((capability) => modelSupportsCapability(profile, capability));
|
|
8
8
|
const selectorMatches = (selector, candidate, requestedModel) => (!selector.providerId || selector.providerId === candidate.target.providerId)
|
|
@@ -12,49 +12,52 @@ const selectorMatches = (selector, candidate, requestedModel) => (!selector.prov
|
|
|
12
12
|
|| selector.transportProviderId === candidate.target.transportProviderId)
|
|
13
13
|
&& (!selector.diagnosticAccountRef
|
|
14
14
|
|| selector.diagnosticAccountRef === candidate.account.diagnosticAccountRef);
|
|
15
|
-
const
|
|
16
|
-
const canonical =
|
|
17
|
-
if (canonical)
|
|
18
|
-
return
|
|
15
|
+
const resolveRequestedTargets = (requestedModel) => {
|
|
16
|
+
const canonical = resolveCanonicalTargets(requestedModel);
|
|
17
|
+
if (canonical.length > 0)
|
|
18
|
+
return canonical.map((target) => ({
|
|
19
|
+
...target,
|
|
20
|
+
reason: requestedModel === target.model ? 'exact' : 'alias',
|
|
21
|
+
}));
|
|
19
22
|
const profile = modelProfiles.find((candidate) => candidate.modelId === requestedModel);
|
|
20
|
-
return profile ? {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
return profile ? [{
|
|
24
|
+
providerId: profile.providerId,
|
|
25
|
+
model: profile.modelId,
|
|
26
|
+
reason: 'exact',
|
|
27
|
+
}] : [];
|
|
25
28
|
};
|
|
26
29
|
export const selectRouteCandidates = (input) => {
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
29
|
-
return [];
|
|
30
|
-
const requestedProfile = modelProfiles.find((profile) => profile.providerId === resolved.providerId && profile.modelId === resolved.model);
|
|
31
|
-
if (!supportsCapabilities(requestedProfile, input.request.requiredCapabilities))
|
|
30
|
+
const resolvedTargets = resolveRequestedTargets(input.request.requestedModel);
|
|
31
|
+
if (resolvedTargets.length === 0)
|
|
32
32
|
return [];
|
|
33
|
-
const targets =
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
33
|
+
const targets = resolvedTargets.map((resolved) => ({
|
|
34
|
+
providerId: resolved.providerId,
|
|
35
|
+
modelId: resolved.model,
|
|
36
|
+
...(resolved.effort ? { effort: resolved.effort } : {}),
|
|
37
|
+
...(resolved.transportProviderId
|
|
38
|
+
? { transportProviderId: resolved.transportProviderId }
|
|
39
|
+
: {}),
|
|
40
|
+
reason: resolved.reason,
|
|
41
|
+
}));
|
|
42
42
|
if (input.policy.allowEquivalentModels) {
|
|
43
43
|
const now = (input.now ?? new Date()).getTime();
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
? {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
44
|
+
for (const resolved of resolvedTargets) {
|
|
45
|
+
const group = input.council.groups.find((candidate) => Date.parse(candidate.expiresAt) > now
|
|
46
|
+
&& candidate.evidence.length > 0
|
|
47
|
+
&& candidate.members.some((member) => member.providerId === resolved.providerId && member.modelId === resolved.model));
|
|
48
|
+
group?.members.filter((member) => !targets.some((target) => target.providerId === member.providerId
|
|
49
|
+
&& target.modelId === member.modelId))
|
|
50
|
+
.sort((left, right) => left.rank - right.rank)
|
|
51
|
+
.forEach((member) => targets.push({
|
|
52
|
+
providerId: member.providerId,
|
|
53
|
+
modelId: member.modelId,
|
|
54
|
+
...(member.effort ? { effort: member.effort } : {}),
|
|
55
|
+
...(member.transportPreferences
|
|
56
|
+
? { transportPreferences: member.transportPreferences }
|
|
57
|
+
: {}),
|
|
58
|
+
reason: 'equivalent',
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
58
61
|
}
|
|
59
62
|
let candidates = targets.flatMap((target) => {
|
|
60
63
|
const targetProfile = modelProfiles.find((profile) => profile.providerId === target.providerId && profile.modelId === target.modelId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-selection.js","sourceRoot":"","sources":["../src/route-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAgC,MAAM,0BAA0B,CAAC;AAEjG,OAAO,EAAE,oBAAoB,EAAwC,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"route-selection.js","sourceRoot":"","sources":["../src/route-selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,14 +12,24 @@ export interface TargetRouteDescription extends TargetMapping {
|
|
|
12
12
|
readonly kind: 'faithful' | 'alias';
|
|
13
13
|
}
|
|
14
14
|
export type ModelTargetResolver = (model: string) => TargetMapping | undefined;
|
|
15
|
+
export type ModelTargetCandidatesResolver = (model: string) => readonly TargetMapping[];
|
|
15
16
|
export declare const defineLaunchAliases: (definitions: readonly LaunchAliasDefinition[]) => Readonly<Record<string, TargetMapping>>;
|
|
16
17
|
export declare const DEFAULT_TARGET_MAPPINGS: Readonly<Record<string, TargetMapping>>;
|
|
17
18
|
export declare const LAUNCH_ALIAS_TARGET_MAPPINGS: Readonly<Record<string, TargetMapping>>;
|
|
19
|
+
/**
|
|
20
|
+
* A launch alias is an explicit user-facing routing contract, not benchmark
|
|
21
|
+
* equivalence evidence. Keep the historical Codex target first for backwards
|
|
22
|
+
* compatibility while exposing the owner-ratified Cloud Code target to route
|
|
23
|
+
* policy ordering and bounded pre-byte fallback.
|
|
24
|
+
*/
|
|
25
|
+
export declare const LAUNCH_ALIAS_ROUTE_MAPPINGS: Readonly<Record<string, readonly TargetMapping[]>>;
|
|
18
26
|
export declare const CANONICAL_TARGET_MAPPINGS: Readonly<Record<string, TargetMapping>>;
|
|
27
|
+
export declare const CANONICAL_TARGET_ROUTE_MAPPINGS: Readonly<Record<string, readonly TargetMapping[]>>;
|
|
19
28
|
export declare const createStaticTargetResolver: (options: {
|
|
20
29
|
readonly mappings: Readonly<Record<string, TargetMapping>>;
|
|
21
30
|
}) => ModelTargetResolver;
|
|
22
31
|
export declare const createCanonicalTargetResolver: () => ModelTargetResolver;
|
|
32
|
+
export declare const createCanonicalTargetCandidatesResolver: () => ModelTargetCandidatesResolver;
|
|
23
33
|
export declare const describeTargetRoutes: (mappings: Readonly<Record<string, TargetMapping>>) => readonly TargetRouteDescription[];
|
|
24
34
|
export declare const describeCanonicalTargetRoutes: () => readonly TargetRouteDescription[];
|
|
25
35
|
//# sourceMappingURL=routing-targets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing-targets.d.ts","sourceRoot":"","sources":["../src/routing-targets.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"routing-targets.d.ts","sourceRoot":"","sources":["../src/routing-targets.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;AAC/E,MAAM,MAAM,6BAA6B,GAAG,CAC1C,KAAK,EAAE,MAAM,KACV,SAAS,aAAa,EAAE,CAAC;AAE9B,eAAO,MAAM,mBAAmB,gBACjB,SAAS,qBAAqB,EAAE,KAC5C,SAAS,OAAO,MAAM,EAAE,aAAa,CAAC,CAExC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAsB3E,CAAC;AAEF,eAAO,MAAM,4BAA4B,yCAQvC,CAAC;AAQH;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAChD,MAAM,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC,CAGxC,CAAC;AAEH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAG7E,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CACpD,MAAM,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC,CAMzC,CAAC;AAEF,eAAO,MAAM,0BAA0B,YAAa;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;CAC5D,KAAG,mBAAyD,CAAC;AAE9D,eAAO,MAAM,6BAA6B,QAAO,mBACoB,CAAC;AAEtE,eAAO,MAAM,uCAAuC,QACjD,6BAC2C,CAAC;AAE/C,eAAO,MAAM,oBAAoB,aACrB,SAAS,OAAO,MAAM,EAAE,aAAa,CAAC,CAAC,KAChD,SAAS,sBAAsB,EAMyC,CAAC;AAE5E,eAAO,MAAM,6BAA6B,QAAO,SAAS,sBAAsB,EAQL,CAAC"}
|
package/dist/routing-targets.js
CHANGED
|
@@ -31,12 +31,29 @@ export const LAUNCH_ALIAS_TARGET_MAPPINGS = defineLaunchAliases([
|
|
|
31
31
|
{ alias: 'claude-fable-5-max', providerId: 'openai', transportProviderId: 'codex', model: 'gpt-5.6-sol', effort: 'max' },
|
|
32
32
|
{ alias: 'claude-sonnet-5-xhigh', providerId: 'openai', transportProviderId: 'codex', model: 'gpt-5.6-luna', effort: 'xhigh' },
|
|
33
33
|
]);
|
|
34
|
+
const CLOUD_CODE_LAUNCH_TARGET = {
|
|
35
|
+
providerId: 'gemini',
|
|
36
|
+
transportProviderId: 'cloud-code',
|
|
37
|
+
model: 'gemini-3.1-flash-lite',
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* A launch alias is an explicit user-facing routing contract, not benchmark
|
|
41
|
+
* equivalence evidence. Keep the historical Codex target first for backwards
|
|
42
|
+
* compatibility while exposing the owner-ratified Cloud Code target to route
|
|
43
|
+
* policy ordering and bounded pre-byte fallback.
|
|
44
|
+
*/
|
|
45
|
+
export const LAUNCH_ALIAS_ROUTE_MAPPINGS = Object.fromEntries(Object.entries(LAUNCH_ALIAS_TARGET_MAPPINGS).map(([alias, primary]) => [alias, [primary, CLOUD_CODE_LAUNCH_TARGET]]));
|
|
34
46
|
export const CANONICAL_TARGET_MAPPINGS = {
|
|
35
47
|
...DEFAULT_TARGET_MAPPINGS,
|
|
36
48
|
...LAUNCH_ALIAS_TARGET_MAPPINGS,
|
|
37
49
|
};
|
|
50
|
+
export const CANONICAL_TARGET_ROUTE_MAPPINGS = {
|
|
51
|
+
...Object.fromEntries(Object.entries(DEFAULT_TARGET_MAPPINGS).map(([requestedId, target]) => [requestedId, [target]])),
|
|
52
|
+
...LAUNCH_ALIAS_ROUTE_MAPPINGS,
|
|
53
|
+
};
|
|
38
54
|
export const createStaticTargetResolver = (options) => (model) => options.mappings[model];
|
|
39
55
|
export const createCanonicalTargetResolver = () => createStaticTargetResolver({ mappings: CANONICAL_TARGET_MAPPINGS });
|
|
56
|
+
export const createCanonicalTargetCandidatesResolver = () => (model) => CANONICAL_TARGET_ROUTE_MAPPINGS[model] ?? [];
|
|
40
57
|
export const describeTargetRoutes = (mappings) => Object.entries(mappings)
|
|
41
58
|
.map(([requestedId, target]) => ({
|
|
42
59
|
requestedId,
|
|
@@ -44,5 +61,12 @@ export const describeTargetRoutes = (mappings) => Object.entries(mappings)
|
|
|
44
61
|
kind: requestedId === target.model ? 'faithful' : 'alias',
|
|
45
62
|
}))
|
|
46
63
|
.sort((left, right) => left.requestedId.localeCompare(right.requestedId));
|
|
47
|
-
export const describeCanonicalTargetRoutes = () =>
|
|
64
|
+
export const describeCanonicalTargetRoutes = () => Object.entries(CANONICAL_TARGET_ROUTE_MAPPINGS)
|
|
65
|
+
.flatMap(([requestedId, targets]) => targets.map((target) => ({
|
|
66
|
+
requestedId,
|
|
67
|
+
...target,
|
|
68
|
+
kind: requestedId === target.model ? 'faithful' : 'alias',
|
|
69
|
+
})))
|
|
70
|
+
.sort((left, right) => left.requestedId.localeCompare(right.requestedId)
|
|
71
|
+
|| left.transportProviderId.localeCompare(right.transportProviderId));
|
|
48
72
|
//# sourceMappingURL=routing-targets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing-targets.js","sourceRoot":"","sources":["../src/routing-targets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routing-targets.js","sourceRoot":"","sources":["../src/routing-targets.ts"],"names":[],"mappings":"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"}
|