@zhihaohong52/sonata 0.13.0 → 0.13.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.
- package/dist/native/litellm.js +18 -5
- package/dist/native/litellm.js.map +1 -1
- package/dist/native/providers.js +27 -0
- package/dist/native/providers.js.map +1 -1
- package/dist/native/router.js +61 -2
- package/dist/native/router.js.map +1 -1
- package/dist/tmux.js +31 -2
- package/dist/tmux.js.map +1 -1
- package/package.json +1 -1
package/dist/native/litellm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { execFileSync } from 'node:child_process';
|
|
2
|
-
import { providerForBaseUrl } from './providers.js';
|
|
2
|
+
import { providerForBaseUrl, requiresSessionHeader } from './providers.js';
|
|
3
3
|
export function envVarForGateway(gateway) {
|
|
4
4
|
return `SONATA_KEY_${gateway.toUpperCase().replace(/-/g, '_')}`;
|
|
5
5
|
}
|
|
@@ -72,8 +72,8 @@ function litellmModelEntry(modelName, gateway, id, gateways) {
|
|
|
72
72
|
* (see the comment on it below), and a third hand-inlined copy is a third place
|
|
73
73
|
* it can silently stop matching.
|
|
74
74
|
*/
|
|
75
|
-
function sharedSettings(masterKey) {
|
|
76
|
-
|
|
75
|
+
function sharedSettings(masterKey, forwardHeaders = []) {
|
|
76
|
+
const settings = {
|
|
77
77
|
// LiteLLM 1.82+ silently routes any `openai/<id>` model hit through its
|
|
78
78
|
// Anthropic /v1/messages passthrough to the OpenAI Responses API rather
|
|
79
79
|
// than chat/completions (see _should_route_to_responses_api in
|
|
@@ -86,9 +86,16 @@ function sharedSettings(masterKey) {
|
|
|
86
86
|
litellm_settings: { drop_params: true, use_chat_completions_url_for_anthropic_messages: true },
|
|
87
87
|
general_settings: { master_key: masterKey },
|
|
88
88
|
};
|
|
89
|
+
if (forwardHeaders.length > 0) {
|
|
90
|
+
settings.litellm_settings.model_group_settings = { forward_client_headers_to_llm_api: forwardHeaders };
|
|
91
|
+
}
|
|
92
|
+
return settings;
|
|
89
93
|
}
|
|
90
94
|
export function litellmConfig(native, masterKey, unifiedModels = {}) {
|
|
91
95
|
const modelList = Object.entries(native.models).map(([modelName, model]) => litellmModelEntry(modelName, model.gateway, model.id, native.gateways));
|
|
96
|
+
const forwardHeaders = Object.entries(native.models)
|
|
97
|
+
.filter(([, model]) => requiresSessionHeader(native.gateways[model.gateway]?.baseUrl))
|
|
98
|
+
.map(([modelName]) => modelName);
|
|
92
99
|
// Legacy native.models entries stay authoritative during migration: a
|
|
93
100
|
// unified [models] entry sharing a key with one is skipped rather than
|
|
94
101
|
// emitting a duplicate model_name LiteLLM would then pick between.
|
|
@@ -98,8 +105,10 @@ export function litellmConfig(native, masterKey, unifiedModels = {}) {
|
|
|
98
105
|
if (model.gateway === undefined || model.id === undefined)
|
|
99
106
|
continue;
|
|
100
107
|
modelList.push(litellmModelEntry(modelName, model.gateway, model.id, native.gateways));
|
|
108
|
+
if (requiresSessionHeader(native.gateways[model.gateway]?.baseUrl))
|
|
109
|
+
forwardHeaders.push(modelName);
|
|
101
110
|
}
|
|
102
|
-
return { model_list: modelList, ...sharedSettings(masterKey) };
|
|
111
|
+
return { model_list: modelList, ...sharedSettings(masterKey, forwardHeaders) };
|
|
103
112
|
}
|
|
104
113
|
/**
|
|
105
114
|
* The union of every known tenant's native models, each under
|
|
@@ -111,6 +120,7 @@ export function litellmConfig(native, masterKey, unifiedModels = {}) {
|
|
|
111
120
|
*/
|
|
112
121
|
export function litellmConfigForTenants(tenants, masterKey) {
|
|
113
122
|
const modelList = [];
|
|
123
|
+
const forwardHeaders = [];
|
|
114
124
|
for (const { id, config } of tenants) {
|
|
115
125
|
const native = config.native;
|
|
116
126
|
if (native === undefined)
|
|
@@ -119,8 +129,11 @@ export function litellmConfigForTenants(tenants, masterKey) {
|
|
|
119
129
|
for (const entry of single.model_list) {
|
|
120
130
|
modelList.push({ ...entry, model_name: `${id}/${entry.model_name}` });
|
|
121
131
|
}
|
|
132
|
+
for (const name of single.litellm_settings.model_group_settings?.forward_client_headers_to_llm_api ?? []) {
|
|
133
|
+
forwardHeaders.push(`${id}/${name}`);
|
|
134
|
+
}
|
|
122
135
|
}
|
|
123
|
-
return { model_list: modelList, ...sharedSettings(masterKey) };
|
|
136
|
+
return { model_list: modelList, ...sharedSettings(masterKey, forwardHeaders) };
|
|
124
137
|
}
|
|
125
138
|
export function litellmConfigYamlForTenants(tenants, masterKey) {
|
|
126
139
|
return `${JSON.stringify(litellmConfigForTenants(tenants, masterKey), null, 2)}\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"litellm.js","sourceRoot":"","sources":["../../src/native/litellm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"litellm.js","sourceRoot":"","sources":["../../src/native/litellm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAkC3E,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,cAAc,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAiB,EACjB,OAAe,EACf,EAAU,EACV,QAAkC;IAElC,sEAAsE;IACtE,uEAAuE;IACvE,qEAAqE;IACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IACpC,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,OAAO;YACL,UAAU,EAAE,SAAS;YACrB,cAAc,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE;YAC1C,UAAU,EAAE;gBACV,mEAAmE;gBACnE,4DAA4D;gBAC5D,IAAI,EAAE,WAAW;gBACjB,4DAA4D;gBAC5D,gEAAgE;gBAChE,uEAAuE;gBACvE,uEAAuE;gBACvE,mEAAmE;gBACnE,uEAAuE;gBACvE,uEAAuE;gBACvE,gEAAgE;gBAChE,EAAE;gBACF,qEAAqE;gBACrE,2DAA2D;gBAC3D,mEAAmE;gBACnE,qEAAqE;gBACrE,qEAAqE;gBACrE,mCAAmC;gBACnC,uBAAuB,EAAE,KAAK;aAC/B;SACF,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,qEAAqE;QACrE,gEAAgE;QAChE,OAAO;YACL,UAAU,EAAE,SAAS;YACrB,cAAc,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE;SAClD,CAAC;IACJ,CAAC;IACD,wEAAwE;IACxE,8EAA8E;IAC9E,0EAA0E;IAC1E,oEAAoE;IACpE,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,gCAAgC;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ;WACtC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU;WAC5B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO;QACL,UAAU,EAAE,SAAS;QACrB,cAAc,EAAE;YACd,KAAK,EAAE,GAAG,QAAQ,IAAI,EAAE,EAAE;YAC1B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO;YACnC,OAAO,EAAE,cAAc,gBAAgB,CAAC,OAAO,CAAC,EAAE;SACnD;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,SAAiB,EAAE,iBAA2B,EAAE;IACtE,MAAM,QAAQ,GAAG;QACf,wEAAwE;QACxE,wEAAwE;QACxE,+DAA+D;QAC/D,uEAAuE;QACvE,qEAAqE;QACrE,sEAAsE;QACtE,yEAAyE;QACzE,0EAA0E;QAC1E,iDAAiD;QACjD,gBAAgB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,+CAA+C,EAAE,IAAI,EAAE;QAC9F,gBAAgB,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;KACoB,CAAC;IAClE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,GAAG,EAAE,iCAAiC,EAAE,cAAc,EAAE,CAAC;IACzG,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAAoB,EACpB,SAAiB,EACjB,gBAAoD,EAAE;IAEtD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CACjD,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAC/F,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;SACjD,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;SACrF,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IAEnC,sEAAsE;IACtE,uEAAuE;IACvE,mEAAmE;IACnE,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/D,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM;YAAE,SAAS;QACzC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS;YAAE,SAAS;QACpE,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,IAAI,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;AACjF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA+C,EAC/C,SAAiB;IAEjB,MAAM,SAAS,GAAyB,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QACnC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACtE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,iCAAiC,IAAI,EAAE,EAAE,CAAC;YACzG,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAA+C,EAC/C,SAAiB;IAEjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AACrF,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,iBAAiB,CAC/B,MAAoB,EACpB,SAAiB,EACjB,gBAAoD,EAAE;IAEtD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/native/providers.js
CHANGED
|
@@ -28,6 +28,33 @@ export const PROVIDER_FOR_GATEWAY = {
|
|
|
28
28
|
export function providerForBaseUrl(gateway) {
|
|
29
29
|
return PROVIDER_FOR_GATEWAY[gateway] ?? 'openai';
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* The header opencode.ai routes a conversation by.
|
|
33
|
+
*
|
|
34
|
+
* OpenCode Go answers a request without one with 400 `MissingSessionID`
|
|
35
|
+
* ("Request is missing x-opencode-session and cannot be routed efficiently").
|
|
36
|
+
* Measured 2026-09-26 against `opencode.ai/zen/go/v1`: the identical body
|
|
37
|
+
* answered 200 once the header was set. Claude Code's own session header is
|
|
38
|
+
* accepted in its place, but LiteLLM drops every client header it is not told
|
|
39
|
+
* to forward, so on the native path the upstream saw neither.
|
|
40
|
+
*/
|
|
41
|
+
export const OPENCODE_SESSION_HEADER = 'x-opencode-session';
|
|
42
|
+
/**
|
|
43
|
+
* Whether a gateway's upstream needs `OPENCODE_SESSION_HEADER` forwarded.
|
|
44
|
+
*
|
|
45
|
+
* Keyed by host, not by gateway name: a user may call an opencode.ai gateway
|
|
46
|
+
* anything, and the requirement belongs to the endpoint.
|
|
47
|
+
*/
|
|
48
|
+
export function requiresSessionHeader(baseUrl) {
|
|
49
|
+
if (baseUrl === undefined)
|
|
50
|
+
return false;
|
|
51
|
+
try {
|
|
52
|
+
return new URL(baseUrl).hostname === 'opencode.ai';
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
31
58
|
/**
|
|
32
59
|
* Derived from provider + auth, never configured separately.
|
|
33
60
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/native/providers.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,iBAAiB,GAC5B,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAEjF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAoC;IACnE,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,2EAA2E;IAC3E,qEAAqE;IACrE,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,iDAAiD;IACjD,UAAU,EAAE,YAAY;CACzB,CAAC;AAEF,sFAAsF;AACtF,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,oBAAoB,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC;AACnD,CAAC;AAaD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,EAAuB,EAAE,OAAe;IACnE,iEAAiE;IACjE,wEAAwE;IACxE,yDAAyD;IACzD,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,UAAU,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7E,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAAC,MAAoB;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,EAAE,KAAK,SAAS,IAAI,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/native/providers.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,iBAAiB,GAC5B,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAEjF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAoC;IACnE,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,2EAA2E;IAC3E,qEAAqE;IACrE,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,iDAAiD;IACjD,UAAU,EAAE,YAAY;CACzB,CAAC;AAEF,sFAAsF;AACtF,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,oBAAoB,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC;AACnD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA2B;IAC/D,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,aAAa,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAaD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,EAAuB,EAAE,OAAe;IACnE,iEAAiE;IACjE,wEAAwE;IACxE,yDAAyD;IACzD,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,UAAU,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7E,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAAC,MAAoB;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,EAAE,KAAK,SAAS,IAAI,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/native/router.js
CHANGED
|
@@ -3,6 +3,7 @@ import { createServer } from 'node:http';
|
|
|
3
3
|
import { budgetRefusal } from '../budget.js';
|
|
4
4
|
import { SONATA_PROJECT_HEADER, TenantError } from './tenants.js';
|
|
5
5
|
import { SONATA_TOKEN_HEADER, projectHintAuthorised } from './router-token.js';
|
|
6
|
+
import { OPENCODE_SESSION_HEADER } from './providers.js';
|
|
6
7
|
import { joinCandidate, splitCandidate, wireEffort } from '../effort.js';
|
|
7
8
|
import { createUsageCollector, usageFromJsonBody } from './usage.js';
|
|
8
9
|
import { handleUiRequest } from './ui.js';
|
|
@@ -332,6 +333,24 @@ const CAPABILITY_400_SIGNATURES = [
|
|
|
332
333
|
'No tool output found for function call',
|
|
333
334
|
'Reasoning is mandatory',
|
|
334
335
|
];
|
|
336
|
+
/**
|
|
337
|
+
* 400 bodies that mean "this gateway cannot serve ANY request as sonata sends
|
|
338
|
+
* it" — a refusal about how the request was addressed, not its shape.
|
|
339
|
+
*
|
|
340
|
+
* Unlike `CAPABILITY_400_SIGNATURES` these need no run of three: every request
|
|
341
|
+
* to the gateway fails identically, so the first is proof, and waiting for a
|
|
342
|
+
* third means two agents die to learn what the first already said. They fall
|
|
343
|
+
* through at once and cool the whole gateway, since its sibling models are
|
|
344
|
+
* refused for the same reason.
|
|
345
|
+
*
|
|
346
|
+
* `MissingSessionID` is opencode.ai refusing a request without
|
|
347
|
+
* `x-opencode-session` (measured 2026-09-26). The router now sends one, so
|
|
348
|
+
* this is the backstop for when it cannot — a request with no messages and no
|
|
349
|
+
* Claude Code session, or a LiteLLM that stops forwarding the header — where a
|
|
350
|
+
* 400 would otherwise be terminal and kill every agent on a tier that ranks an
|
|
351
|
+
* opencode.ai model first.
|
|
352
|
+
*/
|
|
353
|
+
const UNSERVABLE_400_SIGNATURES = ['MissingSessionID'];
|
|
335
354
|
/** Module-level so a cooling-down key stays cool across requests. Test seam: `clearCooldowns()`. */
|
|
336
355
|
const cooldowns = new Map();
|
|
337
356
|
/**
|
|
@@ -836,6 +855,32 @@ function litellmHeaders(headers, litellmKey) {
|
|
|
836
855
|
out.authorization = `Bearer ${litellmKey}`;
|
|
837
856
|
return out;
|
|
838
857
|
}
|
|
858
|
+
/**
|
|
859
|
+
* Names the conversation to an upstream that routes by one, and sends LiteLLM
|
|
860
|
+
* no other client `x-*` header.
|
|
861
|
+
*
|
|
862
|
+
* The session is set on every request to LiteLLM, which forwards it only to
|
|
863
|
+
* the model groups `litellmConfig` lists — opencode.ai's, which refuse a
|
|
864
|
+
* request without it. The value is the conversation key where there is one,
|
|
865
|
+
* because that is stable across a transcript's turns (what the upstream's
|
|
866
|
+
* prompt cache needs) and distinct between two subagents of one Claude
|
|
867
|
+
* session, which Claude Code's own session id is not. Failing that, the
|
|
868
|
+
* session id; failing both, nothing, and the upstream's refusal reaches the
|
|
869
|
+
* fallback below.
|
|
870
|
+
*
|
|
871
|
+
* Every other `x-*` header is dropped, AFTER the session is read from them:
|
|
872
|
+
* for those model groups LiteLLM forwards every client `x-*` header upstream,
|
|
873
|
+
* and Claude Code's session id and metadata are not a third party's business.
|
|
874
|
+
* Nothing on the LiteLLM path reads them — the router takes its own session
|
|
875
|
+
* from the incoming request, not from this copy.
|
|
876
|
+
*/
|
|
877
|
+
function withSessionHeader(headers, conversation) {
|
|
878
|
+
const session = conversation ?? headers['x-claude-code-session-id'];
|
|
879
|
+
const out = Object.fromEntries(Object.entries(headers).filter(([name]) => !name.toLowerCase().startsWith('x-')));
|
|
880
|
+
if (session !== undefined)
|
|
881
|
+
out[OPENCODE_SESSION_HEADER] = session;
|
|
882
|
+
return out;
|
|
883
|
+
}
|
|
839
884
|
/**
|
|
840
885
|
* Forwards straight to an Anthropic-native gateway, no LiteLLM in the path.
|
|
841
886
|
*
|
|
@@ -905,7 +950,6 @@ async function routeTierRequest(req, deps, alias, startedAt, session, tenant, un
|
|
|
905
950
|
};
|
|
906
951
|
}
|
|
907
952
|
const now = deps.now ?? Date.now;
|
|
908
|
-
const headers = litellmHeaders(requestHeaders(req.headers), deps.litellmKey);
|
|
909
953
|
const flattened = litellmBody(req.body);
|
|
910
954
|
const ranked = resolved.routes.filter((route) => route.native !== undefined);
|
|
911
955
|
const attempts = [];
|
|
@@ -919,6 +963,7 @@ async function routeTierRequest(req, deps, alias, startedAt, session, tenant, un
|
|
|
919
963
|
// keeps a multi-turn agent on one model, which is what stops its transcript
|
|
920
964
|
// growing extended-thinking blocks the next candidate would reject.
|
|
921
965
|
const conversation = conversationKey(req.body, tenant.id, alias);
|
|
966
|
+
const headers = withSessionHeader(litellmHeaders(requestHeaders(req.headers), deps.litellmKey), conversation);
|
|
922
967
|
const pinned = conversation === undefined ? undefined : stickyGet(conversation, now());
|
|
923
968
|
// Two different questions, deliberately read from two fields. `lastServed`
|
|
924
969
|
// is whose extended-thinking blocks the transcript carries, and stays true
|
|
@@ -1057,6 +1102,20 @@ async function routeTierRequest(req, deps, alias, startedAt, session, tenant, un
|
|
|
1057
1102
|
// one-shot iterable — handing the caller the drained original would give
|
|
1058
1103
|
// them an empty error. This mirrors the 500 path in `forwardToLitellm`.
|
|
1059
1104
|
const bodyBuf = await bufferBody(response.body);
|
|
1105
|
+
const unservable = response.status === 400
|
|
1106
|
+
? UNSERVABLE_400_SIGNATURES.find((signature) => bodyBuf.toString().includes(signature))
|
|
1107
|
+
: undefined;
|
|
1108
|
+
if (unservable !== undefined) {
|
|
1109
|
+
attempts.push({ key: route.key, status: response.status });
|
|
1110
|
+
cooldowns.set(cool, now() + TIER_COOLDOWN_MS);
|
|
1111
|
+
const refusingGateway = gatewayOf(route);
|
|
1112
|
+
if (refusingGateway !== undefined) {
|
|
1113
|
+
providerCooldowns.set(providerCooldownKey(tenant, refusingGateway), now() + TIER_COOLDOWN_MS);
|
|
1114
|
+
}
|
|
1115
|
+
deps.log?.(`router: ${route.key} refused (400 "${unservable}"), ` +
|
|
1116
|
+
`cooling gateway ${refusingGateway ?? '?'} and trying next`);
|
|
1117
|
+
continue;
|
|
1118
|
+
}
|
|
1060
1119
|
const fingerprint = response.status === 400
|
|
1061
1120
|
? capability400Fingerprint(bodyBuf.toString())
|
|
1062
1121
|
: undefined;
|
|
@@ -1263,7 +1322,7 @@ export async function routeRequest(req, deps) {
|
|
|
1263
1322
|
// key isn't a `sonata-*` alias), so this is the only place such a
|
|
1264
1323
|
// request's config-change check can fire.
|
|
1265
1324
|
deps.checkModelChange?.();
|
|
1266
|
-
return withUsageRecording(await forwardToLitellm(body, litellmHeaders(headers, deps.litellmKey), req, deps), {
|
|
1325
|
+
return withUsageRecording(await forwardToLitellm(body, withSessionHeader(litellmHeaders(headers, deps.litellmKey), alias === undefined ? undefined : conversationKey(req.body, tenant.id, alias)), req, deps), {
|
|
1267
1326
|
startedAt,
|
|
1268
1327
|
session,
|
|
1269
1328
|
project: tenant.project,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/native/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/native/router.ts"],"names":[],"mappings":"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"}
|
package/dist/tmux.js
CHANGED
|
@@ -5,6 +5,35 @@ async function tmux(args) {
|
|
|
5
5
|
const { stdout } = await run('tmux', args, { encoding: 'utf8' });
|
|
6
6
|
return stdout;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Runs `fn` again when tmux reports the server exited under it.
|
|
10
|
+
*
|
|
11
|
+
* A tmux server exits when its last session closes, and a client that
|
|
12
|
+
* connects while it is exiting fails with "server exited unexpectedly" having
|
|
13
|
+
* created nothing — so trying again is safe, and starts a fresh server.
|
|
14
|
+
* Sonata's parallel dispatches share the user's server, so one run ending
|
|
15
|
+
* while another launches is enough to lose the race (reproduced 3 in 300 by
|
|
16
|
+
* churning sessions beside a creator; seen in CI as a failed e2e launch).
|
|
17
|
+
* Only that message is retried: any other failure, a duplicate session name
|
|
18
|
+
* included, is the caller's to see.
|
|
19
|
+
*/
|
|
20
|
+
export async function retryWhenServerExits(fn, opts = {}) {
|
|
21
|
+
const attempts = opts.attempts ?? 3;
|
|
22
|
+
const delayMs = opts.delayMs ?? 100;
|
|
23
|
+
for (let attempt = 1;; attempt++) {
|
|
24
|
+
try {
|
|
25
|
+
return await fn();
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
const stderr = String(error.stderr ?? '');
|
|
29
|
+
const message = error instanceof Error ? error.message : '';
|
|
30
|
+
const raced = `${stderr}\n${message}`.includes('server exited unexpectedly');
|
|
31
|
+
if (!raced || attempt >= attempts)
|
|
32
|
+
throw error;
|
|
33
|
+
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
8
37
|
export async function tmuxVersion() {
|
|
9
38
|
const out = await tmux(['-V']);
|
|
10
39
|
return out.trim().replace(/^tmux\s+/, '');
|
|
@@ -15,12 +44,12 @@ export async function tmuxVersion() {
|
|
|
15
44
|
* the pane-tail fallback is unavailable exactly when a harness crashes.
|
|
16
45
|
*/
|
|
17
46
|
export async function newSession(opts) {
|
|
18
|
-
await tmux([
|
|
47
|
+
await retryWhenServerExits(() => tmux([
|
|
19
48
|
'new-session', '-d',
|
|
20
49
|
'-s', opts.session,
|
|
21
50
|
'-c', opts.cwd,
|
|
22
51
|
'-x', '200', '-y', '50',
|
|
23
|
-
]);
|
|
52
|
+
]));
|
|
24
53
|
await tmux(['set-option', '-t', opts.session, 'remain-on-exit', 'on']);
|
|
25
54
|
await tmux(['set-option', '-t', opts.session, 'history-limit', '10000']);
|
|
26
55
|
}
|
package/dist/tmux.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEhC,KAAK,UAAU,IAAI,CAAC,IAAc;IAChC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAsC;IACrE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEhC,KAAK,UAAU,IAAI,CAAC,IAAc;IAChC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,EAAoB,EACpB,OAAgD,EAAE;IAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC;IACpC,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,CAAE,KAA8B,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,GAAG,MAAM,KAAK,OAAO,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YAC7E,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,QAAQ;gBAAE,MAAM,KAAK,CAAC;YAC/C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAsC;IACrE,MAAM,oBAAoB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACpC,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,IAAI,CAAC,OAAO;QAClB,IAAI,EAAE,IAAI,CAAC,GAAG;QACd,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI;KACxB,CAAC,CAAC,CAAC;IACJ,MAAM,IAAI,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe,EAAE,UAAkB;IACjE,MAAM,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe,EAAE,IAAY;IAC1D,MAAM,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe;IAC/C,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe;IAClD,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,CAAC,eAAe,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACnE,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe;IAC/C,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED