llm-relay 0.62.0 → 0.63.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/dist/accounting-store-io.js +0 -33
- package/dist/accounting-store-io.js.map +1 -1
- package/dist/accounting-store-schema.js +0 -65
- package/dist/accounting-store-schema.js.map +1 -1
- package/dist/accounting-store.js +0 -195
- package/dist/accounting-store.js.map +1 -1
- package/dist/accounting.js +0 -72
- package/dist/accounting.js.map +1 -1
- package/dist/anthropic.js +0 -18
- package/dist/anthropic.js.map +1 -1
- package/dist/authEnv.js +0 -78
- package/dist/authEnv.js.map +1 -1
- package/dist/availability-snapshot.js +0 -58
- package/dist/availability-snapshot.js.map +1 -1
- package/dist/availability.js +0 -162
- package/dist/availability.js.map +1 -1
- package/dist/backend.js +1 -416
- package/dist/backend.js.map +1 -1
- package/dist/benchmarks.js +1 -63
- package/dist/benchmarks.js.map +1 -1
- package/dist/breaker-persistence.js +0 -59
- package/dist/breaker-persistence.js.map +1 -1
- package/dist/candidates.js +0 -64
- package/dist/candidates.js.map +1 -1
- package/dist/catalog.js +1 -140
- package/dist/catalog.js.map +1 -1
- package/dist/circuit-breaker.js +1 -90
- package/dist/circuit-breaker.js.map +1 -1
- package/dist/claude-hook.js +0 -81
- package/dist/claude-hook.js.map +1 -1
- package/dist/cli.d.ts +36 -0
- package/dist/cli.js +73 -730
- package/dist/cli.js.map +1 -1
- package/dist/config-edit.js +0 -11
- package/dist/config-edit.js.map +1 -1
- package/dist/config.d.ts +21 -0
- package/dist/config.js +22 -372
- package/dist/config.js.map +1 -1
- package/dist/configured-limits.js +0 -58
- package/dist/configured-limits.js.map +1 -1
- package/dist/context-limits.js +0 -97
- package/dist/context-limits.js.map +1 -1
- package/dist/control-authorization.js +0 -36
- package/dist/control-authorization.js.map +1 -1
- package/dist/cooldown-clear.js +0 -6
- package/dist/cooldown-clear.js.map +1 -1
- package/dist/credential-fleet.js +0 -5
- package/dist/credential-fleet.js.map +1 -1
- package/dist/credential-select.js +4 -30
- package/dist/credential-select.js.map +1 -1
- package/dist/dashboard-auth.js +0 -29
- package/dist/dashboard-auth.js.map +1 -1
- package/dist/dashboard-contract.js +0 -46
- package/dist/dashboard-contract.js.map +1 -1
- package/dist/dashboard-routes.js +0 -32
- package/dist/dashboard-routes.js.map +1 -1
- package/dist/dashboard-snapshot.js +0 -154
- package/dist/dashboard-snapshot.js.map +1 -1
- package/dist/dashboard-static.js +0 -22
- package/dist/dashboard-static.js.map +1 -1
- package/dist/delegate-gate/cast-necessity.js +1 -22
- package/dist/delegate-gate/cast-necessity.js.map +1 -1
- package/dist/delegate-gate/cli.js +0 -6
- package/dist/delegate-gate/cli.js.map +1 -1
- package/dist/delegate-gate/diff-parser.js +0 -32
- package/dist/delegate-gate/diff-parser.js.map +1 -1
- package/dist/delegate-gate/fix.js +0 -10
- package/dist/delegate-gate/fix.js.map +1 -1
- package/dist/delegate-gate/gate.js +0 -12
- package/dist/delegate-gate/gate.js.map +1 -1
- package/dist/delegate-gate/minimality.js +0 -38
- package/dist/delegate-gate/minimality.js.map +1 -1
- package/dist/delegate-gate/post-image.js +1 -13
- package/dist/delegate-gate/post-image.js.map +1 -1
- package/dist/delegate-gate/shared-state.js +0 -23
- package/dist/delegate-gate/shared-state.js.map +1 -1
- package/dist/delegate-gate/test-assertions.js +1 -54
- package/dist/delegate-gate/test-assertions.js.map +1 -1
- package/dist/delegate-gate/types.js +0 -11
- package/dist/delegate-gate/types.js.map +1 -1
- package/dist/dialect-stream.js +9 -37
- package/dist/dialect-stream.js.map +1 -1
- package/dist/dispatch-exhaustion-persistence.js +0 -35
- package/dist/dispatch-exhaustion-persistence.js.map +1 -1
- package/dist/dispatch.js +0 -269
- package/dist/dispatch.js.map +1 -1
- package/dist/documents.js +0 -92
- package/dist/documents.js.map +1 -1
- package/dist/dotenv.js +0 -22
- package/dist/dotenv.js.map +1 -1
- package/dist/dynamic-pools.js +0 -93
- package/dist/dynamic-pools.js.map +1 -1
- package/dist/emitSse.js +0 -64
- package/dist/emitSse.js.map +1 -1
- package/dist/executable-lookup.js +0 -59
- package/dist/executable-lookup.js.map +1 -1
- package/dist/hard-cap.js +1 -32
- package/dist/hard-cap.js.map +1 -1
- package/dist/host-routing.js +0 -40
- package/dist/host-routing.js.map +1 -1
- package/dist/installed-hosts.js +0 -71
- package/dist/installed-hosts.js.map +1 -1
- package/dist/json-shape.js +0 -19
- package/dist/json-shape.js.map +1 -1
- package/dist/kernel/contracts.js +0 -26
- package/dist/kernel/contracts.js.map +1 -1
- package/dist/kernel/request-lifecycle.js +0 -4
- package/dist/kernel/request-lifecycle.js.map +1 -1
- package/dist/key-checker.js +0 -115
- package/dist/key-checker.js.map +1 -1
- package/dist/key-import.js +0 -20
- package/dist/key-import.js.map +1 -1
- package/dist/keys-cli.js +0 -15
- package/dist/keys-cli.js.map +1 -1
- package/dist/keystore.js +2 -51
- package/dist/keystore.js.map +1 -1
- package/dist/lane-cadence.js +1 -51
- package/dist/lane-cadence.js.map +1 -1
- package/dist/lane-manifest.js +0 -54
- package/dist/lane-manifest.js.map +1 -1
- package/dist/lane-probe.js +0 -36
- package/dist/lane-probe.js.map +1 -1
- package/dist/lane-quota-probe.js +0 -61
- package/dist/lane-quota-probe.js.map +1 -1
- package/dist/log.js +0 -17
- package/dist/log.js.map +1 -1
- package/dist/mcp/lane-runner.d.ts +114 -0
- package/dist/mcp/lane-runner.js +186 -0
- package/dist/mcp/lane-runner.js.map +1 -0
- package/dist/mcp/protocol.d.ts +98 -0
- package/dist/mcp/protocol.js +67 -0
- package/dist/mcp/protocol.js.map +1 -0
- package/dist/mcp/server.d.ts +78 -0
- package/dist/mcp/server.js +360 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/metadata.js +0 -73
- package/dist/metadata.js.map +1 -1
- package/dist/network-block.js +0 -45
- package/dist/network-block.js.map +1 -1
- package/dist/offload.js +0 -21
- package/dist/offload.js.map +1 -1
- package/dist/onboarding.js +0 -36
- package/dist/onboarding.js.map +1 -1
- package/dist/openai-dialect.js +0 -32
- package/dist/openai-dialect.js.map +1 -1
- package/dist/openai-request.js +0 -236
- package/dist/openai-request.js.map +1 -1
- package/dist/os-keyring.js +0 -28
- package/dist/os-keyring.js.map +1 -1
- package/dist/ping/cadence.js +3 -90
- package/dist/ping/cadence.js.map +1 -1
- package/dist/ping/metrics.js +0 -91
- package/dist/ping/metrics.js.map +1 -1
- package/dist/ping/ping.js +0 -17
- package/dist/ping/ping.js.map +1 -1
- package/dist/ping/probe-cache.js +2 -53
- package/dist/ping/probe-cache.js.map +1 -1
- package/dist/ping/quota.js +0 -17
- package/dist/ping/quota.js.map +1 -1
- package/dist/ping/runtime-telemetry.js +1 -18
- package/dist/ping/runtime-telemetry.js.map +1 -1
- package/dist/pool-health.js +0 -49
- package/dist/pool-health.js.map +1 -1
- package/dist/presets.js +0 -4
- package/dist/presets.js.map +1 -1
- package/dist/process-safety-net.js +0 -36
- package/dist/process-safety-net.js.map +1 -1
- package/dist/quota-demotion.js +1 -35
- package/dist/quota-demotion.js.map +1 -1
- package/dist/quota-observation.js +0 -21
- package/dist/quota-observation.js.map +1 -1
- package/dist/rate-limits.js +1 -94
- package/dist/rate-limits.js.map +1 -1
- package/dist/refusal-interpretation.js +2 -327
- package/dist/refusal-interpretation.js.map +1 -1
- package/dist/registry.js +0 -11
- package/dist/registry.js.map +1 -1
- package/dist/repair.js +1 -119
- package/dist/repair.js.map +1 -1
- package/dist/request-log.js +0 -2
- package/dist/request-log.js.map +1 -1
- package/dist/reshaper.js +0 -85
- package/dist/reshaper.js.map +1 -1
- package/dist/resolved-attempt.js +0 -3
- package/dist/resolved-attempt.js.map +1 -1
- package/dist/responses-request.js +0 -187
- package/dist/responses-request.js.map +1 -1
- package/dist/routes/admin.js +0 -38
- package/dist/routes/admin.js.map +1 -1
- package/dist/secret-file-acl.js +0 -26
- package/dist/secret-file-acl.js.map +1 -1
- package/dist/self-update.js +0 -118
- package/dist/self-update.js.map +1 -1
- package/dist/server.js +15 -952
- package/dist/server.js.map +1 -1
- package/dist/session-pin.js +0 -9
- package/dist/session-pin.js.map +1 -1
- package/dist/setup-claude.js +0 -9
- package/dist/setup-claude.js.map +1 -1
- package/dist/spend-headroom.js +0 -20
- package/dist/spend-headroom.js.map +1 -1
- package/dist/sse-frames.js +0 -31
- package/dist/sse-frames.js.map +1 -1
- package/dist/sse.js +1 -19
- package/dist/sse.js.map +1 -1
- package/dist/state-paths.js +0 -16
- package/dist/state-paths.js.map +1 -1
- package/dist/stream-commit.js +1 -27
- package/dist/stream-commit.js.map +1 -1
- package/dist/target-facts.js +2 -130
- package/dist/target-facts.js.map +1 -1
- package/dist/telemetry.js +0 -8
- package/dist/telemetry.js.map +1 -1
- package/dist/think-tags.js +1 -38
- package/dist/think-tags.js.map +1 -1
- package/dist/tier-data.js +0 -29
- package/dist/tier-data.js.map +1 -1
- package/dist/tool-dialects.js +1 -103
- package/dist/tool-dialects.js.map +1 -1
- package/dist/tool-use-ids.js +0 -51
- package/dist/tool-use-ids.js.map +1 -1
- package/dist/usage-observer.js +0 -52
- package/dist/usage-observer.js.map +1 -1
- package/dist/validator.js +1 -25
- package/dist/validator.js.map +1 -1
- package/dist/winenv.js +0 -63
- package/dist/winenv.js.map +1 -1
- package/dist/write-behind.js +0 -12
- package/dist/write-behind.js.map +1 -1
- package/package.json +2 -2
- package/skills/llm-relay/SKILL.md +26 -1
package/dist/accounting.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounting.js","sourceRoot":"","sources":["../src/accounting.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accounting.js","sourceRoot":"","sources":["../src/accounting.ts"],"names":[],"mappings":"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"}
|
package/dist/anthropic.js
CHANGED
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Minimal Anthropic Messages API shapes — only the fields the proxy inspects.
|
|
3
|
-
* The proxy is byte-transparent for everything else; these types exist to
|
|
4
|
-
* validate tool_use blocks and reconstruct streamed responses, not to model the
|
|
5
|
-
* whole API.
|
|
6
|
-
*/
|
|
7
1
|
export function isToolUseBlock(b) {
|
|
8
2
|
return b.type === "tool_use";
|
|
9
3
|
}
|
|
10
|
-
/**
|
|
11
|
-
* Extract the tools[] map (name → JSON schema) from a parsed Anthropic, Chat, or
|
|
12
|
-
* Responses request body. Value is `null` for a tool that is DECLARED but has no schema —
|
|
13
|
-
* notably Anthropic's built-in/typed tools (`bash`, `text_editor`, `computer`,
|
|
14
|
-
* `web_search`), which carry a `type` but no schema. Such tools are "known but
|
|
15
|
-
* unvalidatable": a tool_use naming them must NOT be flagged unknown_tool, but
|
|
16
|
-
* also cannot be schema-checked.
|
|
17
|
-
*/
|
|
18
4
|
export function toolSchemaMap(requestBody) {
|
|
19
5
|
const map = new Map();
|
|
20
6
|
if (typeof requestBody === "object" &&
|
|
@@ -24,8 +10,6 @@ export function toolSchemaMap(requestBody) {
|
|
|
24
10
|
if (typeof t !== "object" || t === null || Array.isArray(t))
|
|
25
11
|
continue;
|
|
26
12
|
const tool = t;
|
|
27
|
-
// Anthropic Messages and OpenAI Responses both put the function name on the tool itself;
|
|
28
|
-
// their schema fields differ. Anthropic built-ins deliberately remain declared/null.
|
|
29
13
|
if (typeof tool.name === "string") {
|
|
30
14
|
const rawSchema = tool.input_schema ?? tool.parameters;
|
|
31
15
|
const schema = typeof rawSchema === "object" && rawSchema !== null
|
|
@@ -34,8 +18,6 @@ export function toolSchemaMap(requestBody) {
|
|
|
34
18
|
map.set(tool.name, schema);
|
|
35
19
|
continue;
|
|
36
20
|
}
|
|
37
|
-
// Chat Completions wraps declarations in `{ type, function: { name, parameters } }`.
|
|
38
|
-
// Reading only Anthropic's shape made every direct Chat tool request look tool-free.
|
|
39
21
|
if (tool.type === "function" && typeof tool.function === "object" && tool.function !== null) {
|
|
40
22
|
const fn = tool.function;
|
|
41
23
|
if (typeof fn.name !== "string")
|
package/dist/anthropic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"AAoFA,MAAM,UAAU,cAAc,CAAC,CAAe;IAC5C,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;AAC/B,CAAC;AAUD,MAAM,UAAU,aAAa,CAAC,WAAoB;IAChD,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,IACE,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,KAAK,IAAI;QACpB,KAAK,CAAC,OAAO,CAAE,WAAmC,CAAC,KAAK,CAAC,EACzD,CAAC;QACD,KAAK,MAAM,CAAC,IAAK,WAAoC,CAAC,KAAK,EAAE,CAAC;YAC5D,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAAE,SAAS;YACtE,MAAM,IAAI,GAAG,CAA4B,CAAC;YAI1C,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC;gBACvD,MAAM,MAAM,GACV,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI;oBACjD,CAAC,CAAE,SAAwB;oBAC3B,CAAC,CAAC,IAAI,CAAC;gBACX,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YAID,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC5F,MAAM,EAAE,GAAG,IAAI,CAAC,QAAmC,CAAC;gBACpD,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ;oBAAE,SAAS;gBAC1C,MAAM,MAAM,GACV,OAAO,EAAE,CAAC,UAAU,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI;oBACzD,CAAC,CAAE,EAAE,CAAC,UAAyB;oBAC/B,CAAC,CAAC,IAAI,CAAC;gBACX,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/authEnv.js
CHANGED
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Env-var name resolution for provider credentials.
|
|
3
|
-
*
|
|
4
|
-
* A provider declares one `authEnv` name, but the same key lives under different
|
|
5
|
-
* names depending on which tool wrote it (`GEMINI_API_KEY` vs `GOOGLEAI_API_KEY`
|
|
6
|
-
* vs `GOOGLE_API_KEY`). Rather than make the user rename an already-working env
|
|
7
|
-
* var, resolve the declared name against a small set of known aliases and pick
|
|
8
|
-
* the first one that is actually set.
|
|
9
|
-
*
|
|
10
|
-
* The candidate list is deliberately a closed set per provider plus names derived
|
|
11
|
-
* from the provider's own name — never a scan of the environment for anything
|
|
12
|
-
* key-shaped. A heuristic match could ship one provider's credential to another
|
|
13
|
-
* provider's endpoint, which is a credential leak, not a convenience.
|
|
14
|
-
*/
|
|
15
1
|
import { keyIsPresent, lookupByEnvNames, } from "./keystore.js";
|
|
16
2
|
import { wasEnvNameLoadedFromFile } from "./dotenv.js";
|
|
17
|
-
/** The one credential-presence predicate, owned by the lower-level keystore surface. */
|
|
18
3
|
export { keyIsPresent };
|
|
19
|
-
/** Known alternate spellings, per provider, in preference order after the declared name. */
|
|
20
4
|
const PROVIDER_ENV_ALIASES = {
|
|
21
5
|
gemini: [
|
|
22
6
|
"GEMINI_API_KEY",
|
|
@@ -36,23 +20,12 @@ const PROVIDER_ENV_ALIASES = {
|
|
|
36
20
|
openai: ["OPENAI_API_KEY"],
|
|
37
21
|
anthropic: ["ANTHROPIC_API_KEY", "ANTHROPIC_AUTH_TOKEN"],
|
|
38
22
|
};
|
|
39
|
-
/**
|
|
40
|
-
* The curated aliases only, without the provider-name-derived candidates used by
|
|
41
|
-
* `candidateEnvNames()`. Importers need this narrower surface: accepting a credential from a
|
|
42
|
-
* file is allowed only when its NAME is explicitly listed, never because its value happens to
|
|
43
|
-
* look like a key or because an arbitrary provider slug can be turned into a plausible env name.
|
|
44
|
-
*/
|
|
45
23
|
export function curatedEnvNames(providerName) {
|
|
46
24
|
return [...(PROVIDER_ENV_ALIASES[providerName.toLowerCase()] ?? [])];
|
|
47
25
|
}
|
|
48
|
-
/** `my-provider.2` → `MY_PROVIDER_2`, so a custom provider gets sane derived candidates. */
|
|
49
26
|
function slug(providerName) {
|
|
50
27
|
return providerName.toUpperCase().replace(/[^A-Z0-9]+/g, "_").replace(/^_+|_+$/g, "");
|
|
51
28
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Every env-var name that may carry this provider's credential, most-preferred first:
|
|
54
|
-
* the declared name, then curated aliases, then names derived from the provider name.
|
|
55
|
-
*/
|
|
56
29
|
export function candidateEnvNames(providerName, declared) {
|
|
57
30
|
const s = slug(providerName);
|
|
58
31
|
const ordered = [
|
|
@@ -62,18 +35,9 @@ export function candidateEnvNames(providerName, declared) {
|
|
|
62
35
|
];
|
|
63
36
|
return [...new Set(ordered)];
|
|
64
37
|
}
|
|
65
|
-
/**
|
|
66
|
-
* The complete legacy credential-name walk, shared by resolution and custody
|
|
67
|
-
* coverage diagnostics. An env-name-implied provider family is considered before
|
|
68
|
-
* candidates derived from the configured provider name.
|
|
69
|
-
*/
|
|
70
38
|
export function credentialCandidateEnvNames(declaredAuthEnv, providerName) {
|
|
71
39
|
if (!declaredAuthEnv)
|
|
72
40
|
return [];
|
|
73
|
-
// A configured provider can be named differently from the provider family
|
|
74
|
-
// implied by its declared env name (for example, `claude` declaring
|
|
75
|
-
// `ANTHROPIC_API_KEY`). Search the declared family first so that a curated
|
|
76
|
-
// alias is not hidden by the explicit provider name's derived candidates.
|
|
77
41
|
let declaredFamily;
|
|
78
42
|
for (const [provider, aliases] of Object.entries(PROVIDER_ENV_ALIASES)) {
|
|
79
43
|
if (aliases.includes(declaredAuthEnv)) {
|
|
@@ -91,10 +55,6 @@ function envCredentialSource(envName, env) {
|
|
|
91
55
|
return env === process.env && wasEnvNameLoadedFromFile(envName) ? "env-file" : "env";
|
|
92
56
|
}
|
|
93
57
|
function resolveKeystoreCandidates(candidates, keystoreOptions) {
|
|
94
|
-
// The keystore is a third source of NAMED VALUES with env-var parity. A provider declaring this
|
|
95
|
-
// name in operator-authored config expresses the same intent as an env var, which would serve
|
|
96
|
-
// every provider declaring it. AAD authenticates envName against tampering; entry id/provider
|
|
97
|
-
// are provenance metadata only, never lookup filters or credential identity.
|
|
98
58
|
const stored = lookupByEnvNames(candidates, keystoreOptions);
|
|
99
59
|
if (stored === null || !keyIsPresent(stored.value))
|
|
100
60
|
return null;
|
|
@@ -134,11 +94,6 @@ export function resolveCredential(declaredAuthEnv, env = process.env, providerNa
|
|
|
134
94
|
source: undefined,
|
|
135
95
|
};
|
|
136
96
|
}
|
|
137
|
-
/**
|
|
138
|
-
* Resolve one explicitly-declared fleet slot. Unlike the legacy single `authEnv` form this
|
|
139
|
-
* intentionally does not consult curated or provider-derived aliases: alias fallback could make
|
|
140
|
-
* two slots share one environment variable and therefore share a quota domain.
|
|
141
|
-
*/
|
|
142
97
|
export function resolveCredentialExact(declaredAuthEnv, env = process.env, keystoreOptions) {
|
|
143
98
|
const normalized = declaredAuthEnv?.trim();
|
|
144
99
|
if (!normalized) {
|
|
@@ -160,49 +115,16 @@ export function resolveCredentialExact(declaredAuthEnv, env = process.env, keyst
|
|
|
160
115
|
source: undefined,
|
|
161
116
|
};
|
|
162
117
|
}
|
|
163
|
-
/**
|
|
164
|
-
* THE construction site for a provider credential header.
|
|
165
|
-
*
|
|
166
|
-
* Returns `{}` when the credential is absent, so the builder — not each caller —
|
|
167
|
-
* is what guarantees a blank key never reaches the wire as an empty `x-api-key` or
|
|
168
|
-
* a bare `Bearer`. Callers merge the result; they must not test the key themselves.
|
|
169
|
-
*
|
|
170
|
-
* Two normalisations, both deliberate:
|
|
171
|
-
* - The value is trimmed. A key pasted into `~/.llm-relay/.env` with a trailing
|
|
172
|
-
* newline is a valid key that 401s, which reads as "my key is bad".
|
|
173
|
-
* - `Bearer ` prefixing is idempotent. Three of the existing sites already accept a
|
|
174
|
-
* value that carries its own `Bearer ` prefix; double-prefixing it would break
|
|
175
|
-
* them on migration.
|
|
176
|
-
*
|
|
177
|
-
* ⚠ It obeys the DECLARED `authHeader` and never consults `provider.kind`. Three
|
|
178
|
-
* current sites (`key-checker.ts`, `ping/ping.ts`, `pool-health.ts`) additionally
|
|
179
|
-
* force `x-api-key` on any `kind: "anthropic"` provider, which silently discards an
|
|
180
|
-
* explicit `authHeader: "authorization"`. `config.ts` already defaults an
|
|
181
|
-
* anthropic-kind provider's `authHeader` to `x-api-key`, so migrating those sites is
|
|
182
|
-
* behaviour-preserving in every case EXCEPT that explicit override — where honouring
|
|
183
|
-
* the config is the correct answer. It is called out rather than encoded so the
|
|
184
|
-
* change is a visible decision, not a silent one.
|
|
185
|
-
*
|
|
186
|
-
* Non-credential companions (`anthropic-version`, `Content-Type`) stay with the
|
|
187
|
-
* caller: this function builds the auth header and nothing else.
|
|
188
|
-
*/
|
|
189
118
|
export function buildAuthHeaders(key, authHeader) {
|
|
190
119
|
if (!keyIsPresent(key))
|
|
191
120
|
return {};
|
|
192
121
|
const value = key.trim();
|
|
193
122
|
return AUTH_HEADER_WRITER[authHeader](value);
|
|
194
123
|
}
|
|
195
|
-
// A writer table, not an if/else: a future `AuthHeaderName` must be a compile error here, never a
|
|
196
|
-
// credential silently sent under the wrong header name. Gated on the declared `authHeader` only.
|
|
197
124
|
const AUTH_HEADER_WRITER = {
|
|
198
125
|
"x-api-key": (value) => ({ "x-api-key": value }),
|
|
199
126
|
authorization: (value) => ({ authorization: value.startsWith("Bearer ") ? value : `Bearer ${value}` }),
|
|
200
127
|
};
|
|
201
|
-
/**
|
|
202
|
-
* Pick the env-var name this provider's key actually lives under. Falls back to the
|
|
203
|
-
* declared name when nothing is set, so "missing key" diagnostics still name the
|
|
204
|
-
* variable the config asked for.
|
|
205
|
-
*/
|
|
206
128
|
export function resolveAuthEnv(providerName, declared, env = process.env) {
|
|
207
129
|
const candidates = candidateEnvNames(providerName, declared);
|
|
208
130
|
const found = candidates.find((n) => keyIsPresent(env[n]));
|
package/dist/authEnv.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authEnv.js","sourceRoot":"","sources":["../src/authEnv.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authEnv.js","sourceRoot":"","sources":["../src/authEnv.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,33 +6,21 @@ import { collectQuotaBuckets, factResetInputs, mapLimitBasis, mapLocalUsedBasis,
|
|
|
6
6
|
import { createHardCapLedgerReader, evaluateHardCap } from "./hard-cap.js";
|
|
7
7
|
import { POOL_PREFIX, splitSpec } from "./config.js";
|
|
8
8
|
import { factsFor } from "./target-facts.js";
|
|
9
|
-
/**
|
|
10
|
-
* One quota row per (credential × deployment × axis × period) with ANY evidence: a
|
|
11
|
-
* provider-stated observation, a learned limit, or a configured limit. Rows whose resolution
|
|
12
|
-
* leaves figures null are still emitted — a known-limit/unknown-used row is exactly the
|
|
13
|
-
* "limit known, usage unmeasured" state §5.3 wants rendered as `-`, not hidden.
|
|
14
|
-
*/
|
|
15
9
|
function buildQuotas(cfg, breaker, accounting, now, readFacts) {
|
|
16
10
|
const rows = [];
|
|
17
11
|
if (breaker === undefined)
|
|
18
12
|
return rows;
|
|
19
13
|
for (const state of breaker.getAllStates().values()) {
|
|
20
14
|
const parsed = parseCredentialId(state.target.credentialId);
|
|
21
|
-
// An unparseable cell id cannot be labelled or narrowed; skip it rather than guess.
|
|
22
15
|
if (parsed === null)
|
|
23
16
|
continue;
|
|
24
17
|
const provider = parsed.provider;
|
|
25
18
|
const model = state.target.model;
|
|
26
19
|
const credentialId = state.target.credentialId;
|
|
27
|
-
// ONE fact read per cell, not per bucket: `factsFor` walks and sorts the whole table, and
|
|
28
|
-
// every bucket of this cell asks it the same question. The ordering it returns
|
|
29
|
-
// (most-specific scope first) is load-bearing input to `factResetInputs`.
|
|
30
20
|
const cellFacts = readFacts(provider, credentialId, model, { now });
|
|
31
|
-
// Learned ceilings (packet C's store) cover this attempt/credential/deployment by scope.
|
|
32
21
|
const learned = model === null
|
|
33
22
|
? []
|
|
34
23
|
: observedRateLimits(provider, credentialId, model, { now });
|
|
35
|
-
// Operator-declared ceilings resolve per axis through packet B's ladder.
|
|
36
24
|
const configured = resolveConfiguredLimits(cfg, provider, parsed.label, model);
|
|
37
25
|
const buckets = collectQuotaBuckets({
|
|
38
26
|
observations: state.quotaObservations,
|
|
@@ -41,10 +29,6 @@ function buildQuotas(cfg, breaker, accounting, now, readFacts) {
|
|
|
41
29
|
});
|
|
42
30
|
for (const bucket of buckets.values()) {
|
|
43
31
|
const { axis: axisPart, period: periodPart } = bucket;
|
|
44
|
-
// The ledger reports {requests, tokens}; the ladder consumes one figure — tokens for the
|
|
45
|
-
// token axes (what a TPM/TPD ceiling bounds) and the request count otherwise.
|
|
46
|
-
// `localUsedForPeriod` owns the "an unknown period reads no ledger" half, so this producer
|
|
47
|
-
// and `quota-demotion.ts` cannot answer that question differently for the same bucket.
|
|
48
32
|
const localUsed = localUsedForPeriod((namedPeriod) => accounting === undefined || accounting === null
|
|
49
33
|
? null
|
|
50
34
|
: accounting.usedInWindow({ credentialId, ...(model !== null ? { model } : {}), period: namedPeriod, now }), periodPart, axisPart);
|
|
@@ -60,8 +44,6 @@ function buildQuotas(cfg, breaker, accounting, now, readFacts) {
|
|
|
60
44
|
localUsed,
|
|
61
45
|
now,
|
|
62
46
|
});
|
|
63
|
-
// The §5.2 rung inputs, resolved by the SAME helper `llm-relay candidates` calls, so the
|
|
64
|
-
// two surfaces cannot report different provenance for one cell.
|
|
65
47
|
const resets = resolveResetsAt({
|
|
66
48
|
...factResetInputs({
|
|
67
49
|
facts: cellFacts,
|
|
@@ -95,11 +77,9 @@ function buildQuotas(cfg, breaker, accounting, now, readFacts) {
|
|
|
95
77
|
}
|
|
96
78
|
return rows;
|
|
97
79
|
}
|
|
98
|
-
/** Models any relay-routed traffic can reach: pool members plus subagent/tier/default targets. */
|
|
99
80
|
function routableModels(cfg) {
|
|
100
81
|
const byProvider = new Map();
|
|
101
82
|
const addSpec = (spec) => {
|
|
102
|
-
// A pool ref expands to its member specs; anything else splits directly.
|
|
103
83
|
for (const member of spec.startsWith(`${POOL_PREFIX}/`)
|
|
104
84
|
? cfg.routing.pools?.[spec.slice(POOL_PREFIX.length + 1)] ?? []
|
|
105
85
|
: [spec]) {
|
|
@@ -119,8 +99,6 @@ function routableModels(cfg) {
|
|
|
119
99
|
addSpec(spec);
|
|
120
100
|
for (const spec of Object.values(cfg.routing.subagents ?? {}))
|
|
121
101
|
addSpec(spec);
|
|
122
|
-
// The default/tier routes are relay-routed traffic too, and often the ONLY place a
|
|
123
|
-
// single-provider install names a model.
|
|
124
102
|
const fallback = cfg.routing.default;
|
|
125
103
|
if (typeof fallback === "string")
|
|
126
104
|
addSpec(fallback);
|
|
@@ -133,19 +111,11 @@ function routableModels(cfg) {
|
|
|
133
111
|
}
|
|
134
112
|
return byProvider;
|
|
135
113
|
}
|
|
136
|
-
/**
|
|
137
|
-
* Cooldown rows from four sources, deduped per cell/reason keeping the LONGEST window:
|
|
138
|
-
* breaker cooldowns (reason from the cooldown source / last status), credential faults
|
|
139
|
-
* (auth_error), the COOLING half of target-facts, and REACHED operator-set hard caps
|
|
140
|
-
* (`manual` — G2). Fact mapping is documented at use site.
|
|
141
|
-
*/
|
|
142
114
|
function buildCooldowns(cfg, breaker, accounting, now, readFacts) {
|
|
143
115
|
const rows = new Map();
|
|
144
116
|
const push = (source, reason, until, observedAt) => {
|
|
145
117
|
const key = `${source.provider} ${source.credentialId} ${source.model ?? ""} ${reason}`;
|
|
146
118
|
const existing = rows.get(key);
|
|
147
|
-
// Keep the LONGEST window per cell/reason. Never fabricate an observation time — an absent
|
|
148
|
-
// one stays null rather than becoming "now" disguised as an observation.
|
|
149
119
|
if (existing !== undefined && existing.until !== null && Date.parse(existing.until) >= until)
|
|
150
120
|
return;
|
|
151
121
|
rows.set(key, {
|
|
@@ -168,9 +138,6 @@ function buildCooldowns(cfg, breaker, accounting, now, readFacts) {
|
|
|
168
138
|
};
|
|
169
139
|
const failureObservedAt = state.lastFailureTime > 0 ? state.lastFailureTime : null;
|
|
170
140
|
if (state.cooldownUntil > now) {
|
|
171
|
-
// "quota" joins rate_limit: Gap 12's demotion IS a spent-quota cooldown, which is what
|
|
172
|
-
// this panel exists to show — labelling it provider_error would hide the one fact the
|
|
173
|
-
// operator needs (the quota resets on its own; nothing is sick).
|
|
174
141
|
const rateLimited = state.cooldownSource === "retry-after" ||
|
|
175
142
|
state.cooldownSource === "escalation" ||
|
|
176
143
|
state.cooldownSource === "quota" ||
|
|
@@ -183,12 +150,6 @@ function buildCooldowns(cfg, breaker, accounting, now, readFacts) {
|
|
|
183
150
|
}
|
|
184
151
|
}
|
|
185
152
|
}
|
|
186
|
-
// What deployments STATED about themselves, through the COOLING half of target-facts:
|
|
187
|
-
// allowance-exhausted → rate_limit (a spent free allowance is the free lane's normal state;
|
|
188
|
-
// the contract has no cost class and inventing one would mislabel it),
|
|
189
|
-
// credential-invalid → auth_error, rate-limited → rate_limit.
|
|
190
|
-
// One lookup per known cell: `factsFor` already resolves scope most-specific-first. The fact
|
|
191
|
-
// reader does not expose `at`, so these rows carry observedAt null rather than a stand-in.
|
|
192
153
|
const seen = new Set();
|
|
193
154
|
const consult = (cell) => {
|
|
194
155
|
const key = `${cell.provider} ${cell.credentialId} ${cell.model ?? ""}`;
|
|
@@ -213,23 +174,10 @@ function buildCooldowns(cfg, breaker, accounting, now, readFacts) {
|
|
|
213
174
|
const models = routableModels(cfg);
|
|
214
175
|
for (const [name, p] of Object.entries(cfg.providers)) {
|
|
215
176
|
for (const slot of providerCredentialSlots(name, p)) {
|
|
216
|
-
// The credential-wide cell (model null) catches account/key-scoped facts; per-model cells
|
|
217
|
-
// catch attempt/deployment-scoped ones for traffic this config can actually route.
|
|
218
177
|
consult({ credentialId: slot.credentialId, provider: name, model: null });
|
|
219
178
|
for (const model of models.get(name) ?? []) {
|
|
220
179
|
consult({ credentialId: slot.credentialId, provider: name, model });
|
|
221
180
|
}
|
|
222
|
-
// G2: a REACHED operator-set hard cap is a self-lifting refusal condition too — the panel's
|
|
223
|
-
// reason vocabulary has `manual` precisely for "the operator stopped this, nothing is sick".
|
|
224
|
-
// The SAME evaluator the request path refuses on decides reachment, so panel and enforcement
|
|
225
|
-
// cannot disagree; no store ⇒ usage unknown ⇒ no row. observedAt stays null: config load is
|
|
226
|
-
// not an observation.
|
|
227
|
-
//
|
|
228
|
-
// This is the CREDENTIAL-WIDE cell (`model: null`): no `models.<id>` entry can win an axis
|
|
229
|
-
// without a model to key it, so the scope the evaluator asks for here is always
|
|
230
|
-
// `credential` and the read is deliberately un-narrowed. Narrowing to a model nobody named
|
|
231
|
-
// would be a fabricated read; the per-deployment cells belong to `/candidates`, which does
|
|
232
|
-
// carry a model and does honour the scope argument.
|
|
233
181
|
const verdict = evaluateHardCap({
|
|
234
182
|
cfg,
|
|
235
183
|
provider: name,
|
|
@@ -244,10 +192,6 @@ function buildCooldowns(cfg, breaker, accounting, now, readFacts) {
|
|
|
244
192
|
}
|
|
245
193
|
return [...rows.values()];
|
|
246
194
|
}
|
|
247
|
-
/**
|
|
248
|
-
* Build the port handed to `createDashboardSnapshotReadPort`. One instance per proxy; each
|
|
249
|
-
* `snapshot()` call re-reads live state, so restart-clearable breaker data recovers on its own.
|
|
250
|
-
*/
|
|
251
195
|
export function createAvailabilityProducer(options) {
|
|
252
196
|
const { breaker, config, accounting } = options;
|
|
253
197
|
const clock = options.now ?? (() => Date.now());
|
|
@@ -262,8 +206,6 @@ export function createAvailabilityProducer(options) {
|
|
|
262
206
|
};
|
|
263
207
|
}
|
|
264
208
|
catch {
|
|
265
|
-
// A diagnostic producer must never fail a dashboard read; an empty result surfaces as
|
|
266
|
-
// the panels' own coverage state instead.
|
|
267
209
|
return { quotas: [], cooldowns: [] };
|
|
268
210
|
}
|
|
269
211
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"availability-snapshot.js","sourceRoot":"","sources":["../src/availability-snapshot.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAe,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"availability-snapshot.js","sourceRoot":"","sources":["../src/availability-snapshot.ts"],"names":[],"mappings":"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"}
|