@sentropic/h2a-runtime 0.85.20 → 0.85.21
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/index.d.ts.map +1 -1
- package/dist/index.js +58 -52
- package/dist/index.js.map +1 -1
- package/dist/llm-gateway-runtime/accounts.d.ts +1 -1
- package/dist/llm-gateway-runtime/accounts.d.ts.map +1 -1
- package/dist/llm-gateway-runtime/accounts.js +65 -12
- package/dist/llm-gateway-runtime/accounts.js.map +1 -1
- package/dist/llm-gateway-runtime/model-catalog.d.ts +3 -2
- package/dist/llm-gateway-runtime/model-catalog.d.ts.map +1 -1
- package/dist/llm-gateway-runtime/model-catalog.js +63 -16
- package/dist/llm-gateway-runtime/model-catalog.js.map +1 -1
- package/dist/llm-gateway-runtime/proxy-anthropic.d.ts.map +1 -1
- package/dist/llm-gateway-runtime/proxy-anthropic.js +19 -5
- package/dist/llm-gateway-runtime/proxy-anthropic.js.map +1 -1
- package/dist/llm-gateway-runtime/proxy-gemini.d.ts +1 -0
- package/dist/llm-gateway-runtime/proxy-gemini.d.ts.map +1 -1
- package/dist/llm-gateway-runtime/proxy-gemini.js +163 -26
- package/dist/llm-gateway-runtime/proxy-gemini.js.map +1 -1
- package/dist/llm-gateway-runtime/sticky.d.ts.map +1 -1
- package/dist/llm-gateway-runtime/sticky.js +11 -14
- package/dist/llm-gateway-runtime/sticky.js.map +1 -1
- package/dist/llm-mesh.d.ts +25 -3
- package/dist/llm-mesh.d.ts.map +1 -1
- package/dist/llm-mesh.js +128 -30
- package/dist/llm-mesh.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1164,7 +1164,7 @@ function shouldUseClaudeBare(profile) {
|
|
|
1164
1164
|
return ((profile === "claude" || profile === "claude-code") &&
|
|
1165
1165
|
Boolean(process.env.ANTHROPIC_BASE_URL && process.env.ANTHROPIC_AUTH_TOKEN));
|
|
1166
1166
|
}
|
|
1167
|
-
async function injectLlmMeshGatewayEnv(mode = "auto", allowDirectFallback = true) {
|
|
1167
|
+
async function injectLlmMeshGatewayEnv(mode = "auto", allowDirectFallback = true, clientSessionId) {
|
|
1168
1168
|
if (mode === "direct") {
|
|
1169
1169
|
delete process.env.ANTHROPIC_BASE_URL;
|
|
1170
1170
|
delete process.env.ANTHROPIC_AUTH_TOKEN;
|
|
@@ -1177,12 +1177,17 @@ async function injectLlmMeshGatewayEnv(mode = "auto", allowDirectFallback = true
|
|
|
1177
1177
|
delete process.env.ANTHROPIC_API_KEY;
|
|
1178
1178
|
return undefined;
|
|
1179
1179
|
}
|
|
1180
|
-
|
|
1180
|
+
// A new local CLI session needs its own gateway token so account affinity is
|
|
1181
|
+
// keyed by that session's stable identity. The cached token remains useful
|
|
1182
|
+
// for callers that do not have a session identity (for example restore).
|
|
1183
|
+
let meshEnv = clientSessionId
|
|
1184
|
+
? await acquireLlmMeshSessionEnv(undefined, clientSessionId)
|
|
1185
|
+
: readLlmMeshSessionEnv() ?? (await acquireLlmMeshSessionEnv());
|
|
1181
1186
|
if (!meshEnv) {
|
|
1182
1187
|
const config = readLlmMeshConfig();
|
|
1183
1188
|
if (config?.accounts.length) {
|
|
1184
1189
|
try {
|
|
1185
|
-
const result = await startGateway(config);
|
|
1190
|
+
const result = await startGateway(config, { clientSessionId });
|
|
1186
1191
|
meshEnv = {
|
|
1187
1192
|
ANTHROPIC_BASE_URL: `http://localhost:${result.port}`,
|
|
1188
1193
|
ANTHROPIC_AUTH_TOKEN: result.gatewayToken,
|
|
@@ -3101,7 +3106,7 @@ export async function main(argv) {
|
|
|
3101
3106
|
process.exitCode = 1;
|
|
3102
3107
|
return;
|
|
3103
3108
|
}
|
|
3104
|
-
const gateway = await injectLlmMeshGatewayEnv(gatewayMode);
|
|
3109
|
+
const gateway = await injectLlmMeshGatewayEnv(gatewayMode, true, entry.convId ?? localSessionName(resumeSlug));
|
|
3105
3110
|
const useBare = shouldUseClaudeBare(profile);
|
|
3106
3111
|
const command = localCliCommand(profile);
|
|
3107
3112
|
const args = localResumeArgs(profile, entry.convId, {
|
|
@@ -3401,55 +3406,8 @@ export async function main(argv) {
|
|
|
3401
3406
|
return;
|
|
3402
3407
|
}
|
|
3403
3408
|
const launchGatewayMode = structuredLaunch && profile === "codex" ? "direct" : gatewayMode;
|
|
3404
|
-
let activeGateway;
|
|
3405
|
-
try {
|
|
3406
|
-
if (structuredLaunch) {
|
|
3407
|
-
activeGateway = await prepareStructuredGateway(launchGatewayMode);
|
|
3408
|
-
}
|
|
3409
|
-
else {
|
|
3410
|
-
activeGateway = await injectLlmMeshGatewayEnv(gatewayMode);
|
|
3411
|
-
}
|
|
3412
|
-
}
|
|
3413
|
-
catch (error) {
|
|
3414
|
-
process.stderr.write(`[h2a] ${error.message}\n`);
|
|
3415
|
-
process.exitCode = 1;
|
|
3416
|
-
return;
|
|
3417
|
-
}
|
|
3418
|
-
const useBare = shouldUseClaudeBare(profile);
|
|
3419
3409
|
const command = localCliCommand(profile);
|
|
3420
|
-
let
|
|
3421
|
-
try {
|
|
3422
|
-
args =
|
|
3423
|
-
structuredLaunch && isAgentLaunchProfile(profile)
|
|
3424
|
-
? buildAgentLaunchArgs({
|
|
3425
|
-
profile,
|
|
3426
|
-
...(initialPrompt !== undefined
|
|
3427
|
-
? { prompt: initialPrompt }
|
|
3428
|
-
: {}),
|
|
3429
|
-
...(opts.model !== undefined ? { model: opts.model } : {}),
|
|
3430
|
-
...(opts.effort !== undefined
|
|
3431
|
-
? { effort: opts.effort }
|
|
3432
|
-
: {}),
|
|
3433
|
-
...(opts.resume !== undefined
|
|
3434
|
-
? { resumeId: opts.resume }
|
|
3435
|
-
: {}),
|
|
3436
|
-
...(opts.headless ? { headless: true } : {}),
|
|
3437
|
-
...(useBare ? { bare: true } : {}),
|
|
3438
|
-
})
|
|
3439
|
-
: opts.resume
|
|
3440
|
-
? localResumeArgs(profile, opts.resume, { bare: useBare })
|
|
3441
|
-
: localStartArgs(profile, { bare: useBare });
|
|
3442
|
-
}
|
|
3443
|
-
catch (error) {
|
|
3444
|
-
process.stderr.write(`[h2a] ${error.message}\n`);
|
|
3445
|
-
process.exitCode = 2;
|
|
3446
|
-
return;
|
|
3447
|
-
}
|
|
3448
|
-
if (opts.resume && args.length === 0) {
|
|
3449
|
-
process.stderr.write(`[h2a] profile "${profile}" has no verified local resume argv; start it without -r/--resume\n`);
|
|
3450
|
-
process.exitCode = 1;
|
|
3451
|
-
return;
|
|
3452
|
-
}
|
|
3410
|
+
let activeGateway;
|
|
3453
3411
|
const h2a = getH2aConfig();
|
|
3454
3412
|
const h2aSidecar = opts.h2a ?? h2a.enabled;
|
|
3455
3413
|
if (opts.headless && h2aSidecar) {
|
|
@@ -3464,6 +3422,54 @@ export async function main(argv) {
|
|
|
3464
3422
|
}
|
|
3465
3423
|
const started = [];
|
|
3466
3424
|
for (const label of labels) {
|
|
3425
|
+
const clientSessionId = opts.resume ?? localSessionName(slugify(label ?? cwd));
|
|
3426
|
+
try {
|
|
3427
|
+
if (structuredLaunch) {
|
|
3428
|
+
activeGateway = await prepareStructuredGateway(launchGatewayMode, (selectedMode) => injectLlmMeshGatewayEnv(selectedMode, selectedMode !== "gateway", clientSessionId));
|
|
3429
|
+
}
|
|
3430
|
+
else {
|
|
3431
|
+
activeGateway = await injectLlmMeshGatewayEnv(gatewayMode, true, clientSessionId);
|
|
3432
|
+
}
|
|
3433
|
+
}
|
|
3434
|
+
catch (error) {
|
|
3435
|
+
process.stderr.write(`[h2a] ${error.message}\n`);
|
|
3436
|
+
process.exitCode = 1;
|
|
3437
|
+
return;
|
|
3438
|
+
}
|
|
3439
|
+
const useBare = shouldUseClaudeBare(profile);
|
|
3440
|
+
let args;
|
|
3441
|
+
try {
|
|
3442
|
+
args =
|
|
3443
|
+
structuredLaunch && isAgentLaunchProfile(profile)
|
|
3444
|
+
? buildAgentLaunchArgs({
|
|
3445
|
+
profile,
|
|
3446
|
+
...(initialPrompt !== undefined
|
|
3447
|
+
? { prompt: initialPrompt }
|
|
3448
|
+
: {}),
|
|
3449
|
+
...(opts.model !== undefined ? { model: opts.model } : {}),
|
|
3450
|
+
...(opts.effort !== undefined
|
|
3451
|
+
? { effort: opts.effort }
|
|
3452
|
+
: {}),
|
|
3453
|
+
...(opts.resume !== undefined
|
|
3454
|
+
? { resumeId: opts.resume }
|
|
3455
|
+
: {}),
|
|
3456
|
+
...(opts.headless ? { headless: true } : {}),
|
|
3457
|
+
...(useBare ? { bare: true } : {}),
|
|
3458
|
+
})
|
|
3459
|
+
: opts.resume
|
|
3460
|
+
? localResumeArgs(profile, opts.resume, { bare: useBare })
|
|
3461
|
+
: localStartArgs(profile, { bare: useBare });
|
|
3462
|
+
}
|
|
3463
|
+
catch (error) {
|
|
3464
|
+
process.stderr.write(`[h2a] ${error.message}\n`);
|
|
3465
|
+
process.exitCode = 2;
|
|
3466
|
+
return;
|
|
3467
|
+
}
|
|
3468
|
+
if (opts.resume && args.length === 0) {
|
|
3469
|
+
process.stderr.write(`[h2a] profile "${profile}" has no verified local resume argv; start it without -r/--resume\n`);
|
|
3470
|
+
process.exitCode = 1;
|
|
3471
|
+
return;
|
|
3472
|
+
}
|
|
3467
3473
|
let name;
|
|
3468
3474
|
let slug;
|
|
3469
3475
|
let outputLog;
|