@wudao-org/providers 0.0.0-stage → 0.4.20
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/LICENSE +21 -0
- package/README.md +17 -2
- package/dist/.tsbuildinfo +1 -0
- package/dist/anthropic.d.ts +19 -0
- package/dist/anthropic.d.ts.map +1 -0
- package/dist/anthropic.js +621 -0
- package/dist/anthropic.js.map +1 -0
- package/dist/balance.d.ts +28 -0
- package/dist/balance.d.ts.map +1 -0
- package/dist/balance.js +105 -0
- package/dist/balance.js.map +1 -0
- package/dist/config.d.ts +328 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +623 -0
- package/dist/config.js.map +1 -0
- package/dist/dispatcher.d.ts +5 -0
- package/dist/dispatcher.d.ts.map +1 -0
- package/dist/dispatcher.js +21 -0
- package/dist/dispatcher.js.map +1 -0
- package/dist/effort-catalog.d.ts +17 -0
- package/dist/effort-catalog.d.ts.map +1 -0
- package/dist/effort-catalog.js +73 -0
- package/dist/effort-catalog.js.map +1 -0
- package/dist/error-body.d.ts +32 -0
- package/dist/error-body.d.ts.map +1 -0
- package/dist/error-body.js +74 -0
- package/dist/error-body.js.map +1 -0
- package/dist/header-validation.d.ts +57 -0
- package/dist/header-validation.d.ts.map +1 -0
- package/dist/header-validation.js +130 -0
- package/dist/header-validation.js.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +110 -0
- package/dist/index.js.map +1 -0
- package/dist/json-arguments.d.ts +17 -0
- package/dist/json-arguments.d.ts.map +1 -0
- package/dist/json-arguments.js +227 -0
- package/dist/json-arguments.js.map +1 -0
- package/dist/key-pool.d.ts +66 -0
- package/dist/key-pool.d.ts.map +1 -0
- package/dist/key-pool.js +207 -0
- package/dist/key-pool.js.map +1 -0
- package/dist/missing-reasoning-circuit.d.ts +17 -0
- package/dist/missing-reasoning-circuit.d.ts.map +1 -0
- package/dist/missing-reasoning-circuit.js +38 -0
- package/dist/missing-reasoning-circuit.js.map +1 -0
- package/dist/model-failure.d.ts +156 -0
- package/dist/model-failure.d.ts.map +1 -0
- package/dist/model-failure.js +253 -0
- package/dist/model-failure.js.map +1 -0
- package/dist/model-fallback.d.ts +18 -0
- package/dist/model-fallback.d.ts.map +1 -0
- package/dist/model-fallback.js +87 -0
- package/dist/model-fallback.js.map +1 -0
- package/dist/models.d.ts +20 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +55 -0
- package/dist/models.js.map +1 -0
- package/dist/openai-compatible.d.ts +87 -0
- package/dist/openai-compatible.d.ts.map +1 -0
- package/dist/openai-compatible.js +368 -0
- package/dist/openai-compatible.js.map +1 -0
- package/dist/openai-engine.d.ts +18 -0
- package/dist/openai-engine.d.ts.map +1 -0
- package/dist/openai-engine.js +515 -0
- package/dist/openai-engine.js.map +1 -0
- package/dist/openai-images.d.ts +38 -0
- package/dist/openai-images.d.ts.map +1 -0
- package/dist/openai-images.js +301 -0
- package/dist/openai-images.js.map +1 -0
- package/dist/openai-messages.d.ts +40 -0
- package/dist/openai-messages.d.ts.map +1 -0
- package/dist/openai-messages.js +135 -0
- package/dist/openai-messages.js.map +1 -0
- package/dist/openai-wire.d.ts +93 -0
- package/dist/openai-wire.d.ts.map +1 -0
- package/dist/openai-wire.js +151 -0
- package/dist/openai-wire.js.map +1 -0
- package/dist/persona/apply.d.ts +19 -0
- package/dist/persona/apply.d.ts.map +1 -0
- package/dist/persona/apply.js +98 -0
- package/dist/persona/apply.js.map +1 -0
- package/dist/persona/builtins.d.ts +3 -0
- package/dist/persona/builtins.d.ts.map +1 -0
- package/dist/persona/builtins.js +180 -0
- package/dist/persona/builtins.js.map +1 -0
- package/dist/persona/decorator.d.ts +4 -0
- package/dist/persona/decorator.d.ts.map +1 -0
- package/dist/persona/decorator.js +112 -0
- package/dist/persona/decorator.js.map +1 -0
- package/dist/persona/files.d.ts +20 -0
- package/dist/persona/files.d.ts.map +1 -0
- package/dist/persona/files.js +84 -0
- package/dist/persona/files.js.map +1 -0
- package/dist/persona/ids.d.ts +9 -0
- package/dist/persona/ids.d.ts.map +1 -0
- package/dist/persona/ids.js +11 -0
- package/dist/persona/ids.js.map +1 -0
- package/dist/persona/registry.d.ts +12 -0
- package/dist/persona/registry.d.ts.map +1 -0
- package/dist/persona/registry.js +54 -0
- package/dist/persona/registry.js.map +1 -0
- package/dist/persona/runtime.d.ts +23 -0
- package/dist/persona/runtime.d.ts.map +1 -0
- package/dist/persona/runtime.js +32 -0
- package/dist/persona/runtime.js.map +1 -0
- package/dist/persona/schema.d.ts +27 -0
- package/dist/persona/schema.d.ts.map +1 -0
- package/dist/persona/schema.js +165 -0
- package/dist/persona/schema.js.map +1 -0
- package/dist/persona/types.d.ts +38 -0
- package/dist/persona/types.d.ts.map +1 -0
- package/dist/persona/types.js +2 -0
- package/dist/persona/types.js.map +1 -0
- package/dist/pricing.d.ts +40 -0
- package/dist/pricing.d.ts.map +1 -0
- package/dist/pricing.js +70 -0
- package/dist/pricing.js.map +1 -0
- package/dist/quota-park.d.ts +53 -0
- package/dist/quota-park.d.ts.map +1 -0
- package/dist/quota-park.js +135 -0
- package/dist/quota-park.js.map +1 -0
- package/dist/rate-pause.d.ts +28 -0
- package/dist/rate-pause.d.ts.map +1 -0
- package/dist/rate-pause.js +72 -0
- package/dist/rate-pause.js.map +1 -0
- package/dist/registry.d.ts +142 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +471 -0
- package/dist/registry.js.map +1 -0
- package/dist/responses.d.ts +5 -0
- package/dist/responses.d.ts.map +1 -0
- package/dist/responses.js +290 -0
- package/dist/responses.js.map +1 -0
- package/dist/retry-after.d.ts +13 -0
- package/dist/retry-after.d.ts.map +1 -0
- package/dist/retry-after.js +64 -0
- package/dist/retry-after.js.map +1 -0
- package/dist/retry-ladder.d.ts +176 -0
- package/dist/retry-ladder.d.ts.map +1 -0
- package/dist/retry-ladder.js +664 -0
- package/dist/retry-ladder.js.map +1 -0
- package/dist/split-inband-thinking.d.ts +35 -0
- package/dist/split-inband-thinking.d.ts.map +1 -0
- package/dist/split-inband-thinking.js +117 -0
- package/dist/split-inband-thinking.js.map +1 -0
- package/dist/stream-idle.d.ts +97 -0
- package/dist/stream-idle.d.ts.map +1 -0
- package/dist/stream-idle.js +127 -0
- package/dist/stream-idle.js.map +1 -0
- package/dist/tool-call-ids.d.ts +16 -0
- package/dist/tool-call-ids.d.ts.map +1 -0
- package/dist/tool-call-ids.js +36 -0
- package/dist/tool-call-ids.js.map +1 -0
- package/package.json +32 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface BalanceInfo {
|
|
2
|
+
readonly currency: string;
|
|
3
|
+
readonly totalBalance: string;
|
|
4
|
+
readonly grantedBalance: string;
|
|
5
|
+
readonly toppedUpBalance: string;
|
|
6
|
+
}
|
|
7
|
+
/** One provider's wallet, normalized for display. */
|
|
8
|
+
export interface ProviderBalance {
|
|
9
|
+
/** The provider reports the account can still serve API calls. */
|
|
10
|
+
readonly available: boolean;
|
|
11
|
+
/** One entry per currency the provider returns. */
|
|
12
|
+
readonly infos: readonly BalanceInfo[];
|
|
13
|
+
}
|
|
14
|
+
/** Default GET deadline (the /cost all command waits at most this long). */
|
|
15
|
+
export declare const BALANCE_TIMEOUT_MS = 8000;
|
|
16
|
+
/** GET the provider's wallet balance. Returns `undefined` when no balanceUrl
|
|
17
|
+
* is configured (NOT an error — the caller silently omits the readout);
|
|
18
|
+
* throws `balance: status …` on a non-OK response and `balance: decode: …`
|
|
19
|
+
* on an unparseable body. `fetchImpl`/`timeoutMs` are injection seams for
|
|
20
|
+
* deterministic tests. */
|
|
21
|
+
export declare function fetchProviderBalance(config: {
|
|
22
|
+
readonly balanceUrl?: string;
|
|
23
|
+
readonly apiKey?: string;
|
|
24
|
+
}, opts?: {
|
|
25
|
+
readonly timeoutMs?: number;
|
|
26
|
+
readonly fetchImpl?: typeof fetch;
|
|
27
|
+
}): Promise<ProviderBalance | undefined>;
|
|
28
|
+
//# sourceMappingURL=balance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../src/balance.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;CACxC;AAED,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,OAAQ,CAAC;AA+CxC;;;;2BAI2B;AAC3B,wBAAsB,oBAAoB,CACxC,MAAM,EAAE;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAClE,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAE,GACxE,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAsCtC"}
|
package/dist/balance.js
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// P0-4 (96 队列) — the provider wallet-balance face (DeepSeek-Reasonix
|
|
2
|
+
// internal/billing/balance.go discipline): one dependency-free fetch every
|
|
3
|
+
// frontend can share. The only documented shape today is DeepSeek's
|
|
4
|
+
// GET /user/balance, so the parser speaks that schema.
|
|
5
|
+
//
|
|
6
|
+
// Balance is strictly OPTIONAL: a provider with no balanceUrl is never
|
|
7
|
+
// queried — `undefined` is "not configured", not an error, and callers
|
|
8
|
+
// silently omit the readout (Reasonix: empty balance_url → (nil, nil)).
|
|
9
|
+
// Money never enters a float: the API's amount STRINGS ride through verbatim,
|
|
10
|
+
// untouched by arithmetic.
|
|
11
|
+
import { truncateSafe } from "@wudao-org/core";
|
|
12
|
+
/** Default GET deadline (the /cost all command waits at most this long). */
|
|
13
|
+
export const BALANCE_TIMEOUT_MS = 8_000;
|
|
14
|
+
/** Body read cap — 64KiB, mirroring the engine's error-body bound. */
|
|
15
|
+
const BODY_CAP_BYTES = 64 * 1024;
|
|
16
|
+
/** Read at most `capBytes` of the response body as text (stream-capped:
|
|
17
|
+
* consumption STOPS at the cap — a hostile infinite body cannot buffer). */
|
|
18
|
+
async function readBodyCapped(res, capBytes) {
|
|
19
|
+
const reader = res.body?.getReader();
|
|
20
|
+
if (reader === undefined) {
|
|
21
|
+
const text = await res.text();
|
|
22
|
+
return text.length > capBytes ? truncateSafe(text, capBytes) : text; // 113-A4
|
|
23
|
+
}
|
|
24
|
+
const buf = new Uint8Array(capBytes);
|
|
25
|
+
let filled = 0;
|
|
26
|
+
for (;;) {
|
|
27
|
+
const { done, value } = await reader.read();
|
|
28
|
+
if (done || value === undefined)
|
|
29
|
+
break;
|
|
30
|
+
const room = capBytes - filled;
|
|
31
|
+
if (room <= 0) {
|
|
32
|
+
await reader.cancel().catch(() => { });
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
const take = Math.min(room, value.byteLength);
|
|
36
|
+
buf.set(value.subarray(0, take), filled);
|
|
37
|
+
filled += take;
|
|
38
|
+
if (take < value.byteLength) {
|
|
39
|
+
await reader.cancel().catch(() => { });
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return new TextDecoder().decode(buf.subarray(0, filled));
|
|
44
|
+
}
|
|
45
|
+
function isPlainObject(v) {
|
|
46
|
+
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
47
|
+
}
|
|
48
|
+
/** The amount field's 宽进严出 rule: the API's string verbatim; a number the
|
|
49
|
+
* API already materialized is stringified (still no arithmetic); anything
|
|
50
|
+
* else is "" (missing). */
|
|
51
|
+
function amount(v) {
|
|
52
|
+
if (typeof v === "string")
|
|
53
|
+
return v;
|
|
54
|
+
if (typeof v === "number" && Number.isFinite(v))
|
|
55
|
+
return String(v);
|
|
56
|
+
return "";
|
|
57
|
+
}
|
|
58
|
+
/** GET the provider's wallet balance. Returns `undefined` when no balanceUrl
|
|
59
|
+
* is configured (NOT an error — the caller silently omits the readout);
|
|
60
|
+
* throws `balance: status …` on a non-OK response and `balance: decode: …`
|
|
61
|
+
* on an unparseable body. `fetchImpl`/`timeoutMs` are injection seams for
|
|
62
|
+
* deterministic tests. */
|
|
63
|
+
export async function fetchProviderBalance(config, opts) {
|
|
64
|
+
const url = config.balanceUrl?.trim();
|
|
65
|
+
if (url === undefined || url === "")
|
|
66
|
+
return undefined;
|
|
67
|
+
const doFetch = opts?.fetchImpl ?? fetch;
|
|
68
|
+
const headers = { accept: "application/json" };
|
|
69
|
+
if (config.apiKey !== undefined && config.apiKey !== "") {
|
|
70
|
+
headers.authorization = `Bearer ${config.apiKey}`;
|
|
71
|
+
}
|
|
72
|
+
const res = await doFetch(url, {
|
|
73
|
+
method: "GET",
|
|
74
|
+
headers,
|
|
75
|
+
signal: AbortSignal.timeout(opts?.timeoutMs ?? BALANCE_TIMEOUT_MS),
|
|
76
|
+
});
|
|
77
|
+
const body = await readBodyCapped(res, BODY_CAP_BYTES);
|
|
78
|
+
if (!res.ok) {
|
|
79
|
+
throw new Error(`balance: status ${res.status}: ${truncateSafe(body, 200).trim()}`); // 113-A4
|
|
80
|
+
}
|
|
81
|
+
let parsed;
|
|
82
|
+
try {
|
|
83
|
+
parsed = JSON.parse(body);
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
throw new Error(`balance: decode: ${e.message}`);
|
|
87
|
+
}
|
|
88
|
+
// DeepSeek schema, 宽进严出: wrong-shape bodies normalize to empty, never
|
|
89
|
+
// crash — every field defaults (`is_available` → false, amounts → "").
|
|
90
|
+
const root = isPlainObject(parsed) ? parsed : {};
|
|
91
|
+
const infosRaw = Array.isArray(root.balance_infos) ? root.balance_infos : [];
|
|
92
|
+
const infos = [];
|
|
93
|
+
for (const e of infosRaw) {
|
|
94
|
+
if (!isPlainObject(e))
|
|
95
|
+
continue;
|
|
96
|
+
infos.push({
|
|
97
|
+
currency: typeof e.currency === "string" ? e.currency : "",
|
|
98
|
+
totalBalance: amount(e.total_balance),
|
|
99
|
+
grantedBalance: amount(e.granted_balance),
|
|
100
|
+
toppedUpBalance: amount(e.topped_up_balance),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return { available: root.is_available === true, infos };
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=balance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../src/balance.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import type { LayerFlags, ProtocolId } from "./persona/types.js";
|
|
2
|
+
import type { EffectiveProfile, ProviderModelEntry } from "./registry.js";
|
|
3
|
+
import type { ModelInput } from "@wudao-org/core";
|
|
4
|
+
/** The closed set of profiles compiled into the binary. The registry
|
|
5
|
+
* (registry.ts) layers user overlays on top of these and adds custom
|
|
6
|
+
* OpenAI-compatible providers — `ProviderName` is the OPEN spelling that
|
|
7
|
+
* covers both. */
|
|
8
|
+
export type BuiltinProviderName = "deepseek" | "glm" | "qwen" | "wudao" | "anthropic" | "kimi" | "minimax" | "glm-code" | "kimi-code" | "minimax-code";
|
|
9
|
+
/** Widened (provider management R2): any provider id — builtin or a registry
|
|
10
|
+
* custom. Code that indexes PROVIDER_PROFILES must narrow with
|
|
11
|
+
* `isBuiltinProviderName` (or annotate `BuiltinProviderName`). */
|
|
12
|
+
export type ProviderName = string;
|
|
13
|
+
export type ReasoningEffort = "low" | "medium" | "high" | "max" | "none";
|
|
14
|
+
export type ReasoningFormat = "none" | "deepseek" | "zai" | "qwen" | "qwen-chat-template" | "openrouter" | "together" | "baseten";
|
|
15
|
+
export declare const REASONING_FORMATS: readonly ReasoningFormat[];
|
|
16
|
+
export interface ProviderProfile {
|
|
17
|
+
readonly label: string;
|
|
18
|
+
/** Profile default; absent for `wudao` (OpenAI-compatible endpoint, must be configured). */
|
|
19
|
+
readonly defaultBaseUrl?: string;
|
|
20
|
+
readonly defaultModel: string;
|
|
21
|
+
/** When true, resolution fails (with a friendly reason) unless an explicit baseUrl is set. */
|
|
22
|
+
readonly requiresBaseUrl?: boolean;
|
|
23
|
+
/** Which matrix entry shapes the reasoning fields; defaults to `deepseek`. */
|
|
24
|
+
readonly reasoningFormat?: ReasoningFormat;
|
|
25
|
+
/** effort → native level mapping (null = the level is unsupported on this endpoint). */
|
|
26
|
+
readonly thinkingLevelMap?: Readonly<Record<string, string | null>>;
|
|
27
|
+
/** Whether the endpoint takes a top-level `reasoning_effort` rider alongside
|
|
28
|
+
* the format's envelope. Pinned per profile; unpinned profiles sniff the baseUrl. */
|
|
29
|
+
readonly supportsReasoningEffort?: boolean;
|
|
30
|
+
/** M48 §2: this provider's finishes are known to come back reasoning-only
|
|
31
|
+
* (reasoning present, content and tool_calls empty) — the degenerate shape
|
|
32
|
+
* the terminal-repair pair handles with one frozen replay. Default true on
|
|
33
|
+
* the deepseek / zai-format profiles, false elsewhere. */
|
|
34
|
+
readonly acceptsReasoningOnlyFinish?: boolean;
|
|
35
|
+
/** 夜移 022: this endpoint is known to omit reasoning on VALID
|
|
36
|
+
* thinking-enabled tool turns (Reasonix reasoning_replay_policy.go: zhipu
|
|
37
|
+
* does; replay is only owed when the turn actually carried reasoning).
|
|
38
|
+
* Such a turn is the provider's legitimate shape, not a malformed one —
|
|
39
|
+
* the missing-reasoning terminal repair skips it. Default false. */
|
|
40
|
+
readonly omitsReasoningOnToolTurns?: boolean;
|
|
41
|
+
/** ω99-39: this endpoint DISCARDS client-sent `reasoning_content` — the
|
|
42
|
+
* replay contract's bytes are never counted and never join cache
|
|
43
|
+
* matching, so serializing them is pure waste and silently defeats the
|
|
44
|
+
* user's WUDAO_REASONING_REPLAY intent. A probe-verified FACT (not a
|
|
45
|
+
* doc transcription — ω99-33 §5.2: billing face P2−P1=0 / P4−P3=0 AND
|
|
46
|
+
* cache face, 7-leg live probe, DeepSeek v4-flash), pinned ONLY where
|
|
47
|
+
* both proofs exist: deepseek today. GLM/Qwen/wudao are unprobed and
|
|
48
|
+
* MUST stay unpinned (byte-identical). Caps the user's intent at the
|
|
49
|
+
* resolution seam (see capClientReasoningReplay) — not a new knob. */
|
|
50
|
+
readonly dropsClientReasoningReplay?: boolean;
|
|
51
|
+
/** ω-2b (I1-c): how this endpoint counts the context window against a
|
|
52
|
+
* request. "shared" — prompt and completion draw on ONE window (DeepSeek:
|
|
53
|
+
* a prompt at 63% can still 400 because max_tokens pushed the total over);
|
|
54
|
+
* "independent" — separate prompt/completion budgets; "unknown" (default)
|
|
55
|
+
* — not characterized. Gates ONLY the loop's proactive admission clip
|
|
56
|
+
* (the reactive clip-retry is trusted-parse-gated, not profile-gated). */
|
|
57
|
+
readonly windowMode?: WindowMode;
|
|
58
|
+
/** 0.3.12: the wire (protocol) this profile speaks NATIVELY — the builtin
|
|
59
|
+
* anthropic id carries "anthropic" so selecting it needs no WUDAO_WIRE.
|
|
60
|
+
* Resolution: selection.wire > env WUDAO_WIRE > profile.wire (an explicit
|
|
61
|
+
* override must still beat the profile's native protocol). */
|
|
62
|
+
readonly wire?: ProtocolId;
|
|
63
|
+
/** Coding-plan gateways (glm-code / kimi-code / minimax-code): the
|
|
64
|
+
* endpoint prefers `Authorization: Bearer` auth (Kimi/MiniMax official
|
|
65
|
+
* docs set ANTHROPIC_AUTH_TOKEN). When true the anthropic-wire adapter
|
|
66
|
+
* ADDS the bearer header alongside x-api-key (both accepted; dual-send
|
|
67
|
+
* is the widest compatibility face). Absent = the historical header set,
|
|
68
|
+
* byte-identical — the real anthropic builtin must never pin this. */
|
|
69
|
+
readonly bearerAuth?: boolean;
|
|
70
|
+
/** P0-4 (96 队列): the provider's documented wallet-balance endpoint (GET,
|
|
71
|
+
* Bearer-authed). Only deepseek pins one today; every other profile stays
|
|
72
|
+
* undefined — NO documented balance API means the readout is silently
|
|
73
|
+
* omitted (graceful omission is the design, not a debt — Reasonix
|
|
74
|
+
* discipline). A user overlay/custom may set its own. */
|
|
75
|
+
readonly balanceUrl?: string;
|
|
76
|
+
/** ω99-64 (controller ruling): the endpoint's transport-layer extra request
|
|
77
|
+
* headers — a gateway-fronting fact of the SAME class as baseUrl /
|
|
78
|
+
* wire / balanceUrl, folded through the effectiveProfiles overlay merge
|
|
79
|
+
* (an overlay's row beats the builtin; builtins carry none today).
|
|
80
|
+
* resolveProviderConfigResult copies it onto ProviderConfig.extraHeaders;
|
|
81
|
+
* FORBIDDEN keys (auth/transport-control, persona/schema single source)
|
|
82
|
+
* refuse the row at the registry seam — the adapter owns auth. NOT
|
|
83
|
+
* binding-chain data: unlike `persona` this IS a profile fact. The
|
|
84
|
+
* 2026-08-24 reg-headers stance ("deliberately never an EffectiveProfile
|
|
85
|
+
* fact") is REVERSED by this arc — headers are endpoint transport facts. */
|
|
86
|
+
readonly headers?: Readonly<Record<string, string>>;
|
|
87
|
+
/** 反馈① 收口 (2026-08-29 夜): per-model context windows for the builtin
|
|
88
|
+
* catalog. A pin exists ONLY where the number comes from the provider's
|
|
89
|
+
* own docs — a wrong pin (late autocompact → provider 413) is worse than
|
|
90
|
+
* the env fallback, so uncataloged names keep falling through. A user
|
|
91
|
+
* overlay's models list REPLACES the builtin one wholesale (registry
|
|
92
|
+
* semantics; see effectiveProfiles). */
|
|
93
|
+
readonly models?: readonly ProviderModelEntry[];
|
|
94
|
+
/** Profile-level window default. No builtin pins this today: every
|
|
95
|
+
* doc-verified pin is per-model because the provider lines mix window
|
|
96
|
+
* sizes (glm-4.6 204_800 vs glm-4.5 128K on the same profile). */
|
|
97
|
+
readonly defaultContextLength?: number;
|
|
98
|
+
/** 取证弧 0921(polyglot 三败题根因): completion cap the anthropic-wire
|
|
99
|
+
* adapter should send when nothing explicit does. Pinned ONLY where
|
|
100
|
+
* live-verified (glm-code 16384/32768 both probe-accepted 2026-09-21);
|
|
101
|
+
* absent = the adapter's conservative 4096 default, byte-identical
|
|
102
|
+
* history. Root cause this kills: glm-5.3 burns 4096 tokens on pure
|
|
103
|
+
* reasoning before the first tool call → stop:length → zero output
|
|
104
|
+
* (polyglot paasio 0/25 deterministic death; 49 length-stops across 8
|
|
105
|
+
* forensics runs). Per-call maxTokens still wins at the adapter's
|
|
106
|
+
* input ?? config seam. */
|
|
107
|
+
readonly defaultMaxTokens?: number;
|
|
108
|
+
/** 取证弧 0921: the output-limit ladder's continuation tier — HIGHER than
|
|
109
|
+
* defaultMaxTokens when both are set (same value would no-op: escalation
|
|
110
|
+
* fires only on cap-free requests, and the registry cap rides config,
|
|
111
|
+
* so equal tiers cancel). Loop 夜移 013's contract: "supply it from the
|
|
112
|
+
* provider profile, never a magic 64k". Absent = no escalation. */
|
|
113
|
+
readonly outputEscalateTo?: number;
|
|
114
|
+
}
|
|
115
|
+
/** The ω-2b window-semantics union, named (registry/UserProviderConfig reuses it). */
|
|
116
|
+
export type WindowMode = "shared" | "independent" | "unknown";
|
|
117
|
+
export declare const PROVIDER_PROFILES: Readonly<Record<BuiltinProviderName, ProviderProfile>>;
|
|
118
|
+
export declare const REASONING_EFFORTS: readonly ReasoningEffort[];
|
|
119
|
+
export type ReasoningReplay = "never" | "toolCallTurns" | "always";
|
|
120
|
+
export declare const REASONING_REPLAYS: readonly ReasoningReplay[];
|
|
121
|
+
/** Parse/fail-fast the replay value (WUDAO_REASONING_REPLAY). */
|
|
122
|
+
export declare function parseReasoningReplay(v: string): ReasoningReplay;
|
|
123
|
+
/** Narrow to the compiled-in four (pure, compile-time table). Providers-internal
|
|
124
|
+
* and evals use this; the registry adds customs on top at the CLI layer. */
|
|
125
|
+
export declare function isBuiltinProviderName(v: string): v is BuiltinProviderName;
|
|
126
|
+
/** Historical spelling of `isBuiltinProviderName` — retained for existing
|
|
127
|
+
* consumers (cli, evals). Still narrows to the builtin union. */
|
|
128
|
+
export declare function isProviderName(v: string): v is BuiltinProviderName;
|
|
129
|
+
/** Everything the engine needs to shape reasoning fields for one request. */
|
|
130
|
+
export interface ReasoningRequestContext {
|
|
131
|
+
readonly format: ReasoningFormat;
|
|
132
|
+
readonly thinkingLevelMap?: Readonly<Record<string, string | null>>;
|
|
133
|
+
readonly supportsReasoningEffort: boolean;
|
|
134
|
+
}
|
|
135
|
+
/** Response fields that may carry reasoning text, format-preferred first. */
|
|
136
|
+
export declare function reasoningResponseFields(format: ReasoningFormat): readonly string[];
|
|
137
|
+
/** First present reasoning field on a message/delta object, else undefined. */
|
|
138
|
+
export declare function pickReasoning(fields: readonly string[], source: Record<string, unknown>): string | undefined;
|
|
139
|
+
/** The ONE request-side implementation of the matrix (M16's per-profile
|
|
140
|
+
* transforms folded in; single point, no scattered ifs). Pure: returns only
|
|
141
|
+
* the extra fields to merge into the chat-completions body; never called
|
|
142
|
+
* when no effort is configured. */
|
|
143
|
+
export declare function reasoningFormatBody(ctx: ReasoningRequestContext, effort: ReasoningEffort): Record<string, unknown>;
|
|
144
|
+
/** ω99-42: the repair body a mandatory-reasoning rejection re-sends with —
|
|
145
|
+
* the matrix's EXPLICIT enable, at the medium default level (hermes' own
|
|
146
|
+
* default reasoning effort; every format in the tree can express it), with
|
|
147
|
+
* the thinkingLevelMap deliberately STRIPPED: the map is exactly what folds
|
|
148
|
+
* low/medium onto "disabled", so a mapped repair would resend the very
|
|
149
|
+
* disable the endpoint just rejected. `{}` for the "none" format — that
|
|
150
|
+
* wire cannot express reasoning, the repair is impossible, and the
|
|
151
|
+
* rejection stays terminal. Pure: returns only the extra fields to merge
|
|
152
|
+
* into the chat-completions body (same contract as reasoningFormatBody). */
|
|
153
|
+
export declare function mandatoryRepairReasoningBody(ctx: ReasoningRequestContext): Record<string, unknown>;
|
|
154
|
+
/** Resolve the reasoning request context for a config: explicit config fields
|
|
155
|
+
* beat the selected profile's defaults; unpinned rider gates sniff the baseUrl. */
|
|
156
|
+
export declare function resolveReasoningContext(config: ProviderConfig): ReasoningRequestContext;
|
|
157
|
+
/** URL sniff (custom baseUrls): does this endpoint take a top-level
|
|
158
|
+
* `reasoning_effort`? Mirrors pi's detection — the domestic and gateway
|
|
159
|
+
* endpoints known to reject the field say false, everything else true. */
|
|
160
|
+
export declare function supportsReasoningEffort(baseURL: string): boolean;
|
|
161
|
+
export declare function parseReasoningEffort(v: string): ReasoningEffort;
|
|
162
|
+
/** Validate a per-input reasoning effort ONCE at the adapter's public
|
|
163
|
+
* boundary, BEFORE the retry ladder — the fail-fast parse error must never
|
|
164
|
+
* walk the ladder (junk can never succeed on retry). The parsed value rides
|
|
165
|
+
* the returned input; absent/empty = the input unchanged (the config's own
|
|
166
|
+
* effort applies). */
|
|
167
|
+
export declare function validatedInputEffort(input: ModelInput): ModelInput;
|
|
168
|
+
/** The request's EFFECTIVE reasoning effort — a per-input effort (already
|
|
169
|
+
* validated at the adapter boundary) overrides the config's own; absent
|
|
170
|
+
* both = undefined (no effort field on the wire — byte-identical status
|
|
171
|
+
* quo, the prefix-cache red line). */
|
|
172
|
+
export declare function effectiveReasoningEffort(input: Pick<ModelInput, "reasoningEffort">, config: ProviderConfig): ReasoningEffort | undefined;
|
|
173
|
+
export declare function parseReasoningFormat(v: string): ReasoningFormat;
|
|
174
|
+
export declare function parseWire(v: string): ProtocolId;
|
|
175
|
+
export interface ProviderConfig {
|
|
176
|
+
readonly apiKey: string;
|
|
177
|
+
/** M56 §1: the multi-key pool (primary first, deduped). `apiKey` is always
|
|
178
|
+
* `apiKeys[0]` — single-key configs keep the historical one-element shape
|
|
179
|
+
* and the engine rotates over whatever is here when more keys exist. */
|
|
180
|
+
readonly apiKeys?: readonly string[];
|
|
181
|
+
readonly baseURL: string;
|
|
182
|
+
readonly model: string;
|
|
183
|
+
/** Selected profile; always set by resolveProviderConfig, optional for hand-built configs. */
|
|
184
|
+
readonly provider?: ProviderName;
|
|
185
|
+
/** Set only when an effort is configured — absent means no extra request field. */
|
|
186
|
+
readonly reasoningEffort?: ReasoningEffort;
|
|
187
|
+
/** ω99-42: the config's `reasoningEffort: "none"` is a CODE default (a
|
|
188
|
+
* cheap-call policy — e.g. the sidecar classifier's config), not a user
|
|
189
|
+
* pin. A mandatory-reasoning endpoint's 400 is then repairable (one retry
|
|
190
|
+
* with reasoning enabled). Absent = the effort is user-pinned, and an
|
|
191
|
+
* explicit "none" is never silently rewritten — the rejection surfaces
|
|
192
|
+
* typed, with guidance, unrepaired. */
|
|
193
|
+
readonly softReasoningNone?: boolean;
|
|
194
|
+
/** Matrix entry; resolved from the profile when hand-built configs omit it. */
|
|
195
|
+
readonly reasoningFormat?: ReasoningFormat;
|
|
196
|
+
/** 夜移 011: peel a turn-initial in-band `<think>…</think>` block out of
|
|
197
|
+
* the content stream into reasoning (the vLLM chat-template CoT lane).
|
|
198
|
+
* Default: derived from the format (`qwen-chat-template` on, everything
|
|
199
|
+
* else off) — see resolveSplitInbandThinking. */
|
|
200
|
+
readonly splitInbandThinking?: boolean;
|
|
201
|
+
/** effort → native level mapping; resolved from the profile when omitted. */
|
|
202
|
+
readonly thinkingLevelMap?: Readonly<Record<string, string | null>>;
|
|
203
|
+
/** Explicit rider gate; defaults to the profile pin, then the baseUrl sniff. */
|
|
204
|
+
readonly supportsReasoningEffort?: boolean;
|
|
205
|
+
/** M45: hard completion cap sent as `max_tokens` — set for budget-critical
|
|
206
|
+
* side calls (the auto-mode sidecar classifier); absent = no field on the
|
|
207
|
+
* wire (the main loop's requests stay byte-identical). */
|
|
208
|
+
readonly maxTokens?: number;
|
|
209
|
+
/** M47 §1: when AssistantMessage.reasoning is serialized back out as
|
|
210
|
+
* `reasoning_content` (never | toolCallTurns | always; default never =
|
|
211
|
+
* byte-identical status quo). Set via WUDAO_REASONING_REPLAY. */
|
|
212
|
+
readonly reasoningReplay?: ReasoningReplay;
|
|
213
|
+
/** M48 §2: terminal-shape repair gate — resolved from the profile when the
|
|
214
|
+
* hand-built config omits it (deepseek/glm/wudao true, qwen false). */
|
|
215
|
+
readonly acceptsReasoningOnlyFinish?: boolean;
|
|
216
|
+
/** 夜移 022: legitimate reasoning omission on tool turns — explicit beats
|
|
217
|
+
* the profile (glm true), default false. Gates ONLY the
|
|
218
|
+
* missing-reasoning repair; the reasoning-only shape keeps its own flag. */
|
|
219
|
+
readonly omitsReasoningOnToolTurns?: boolean;
|
|
220
|
+
/** M62 §7: ordered model fallback chain (same provider/key pool). After
|
|
221
|
+
* the primary's retry ladder exhausts with a MODEL-class failure (5xx /
|
|
222
|
+
* overload / 404 / transport — never key-class 401/403, never abort or
|
|
223
|
+
* context overflow), the call retries on the next name in order; the
|
|
224
|
+
* usage receipt annotates fallbackModel/fallbackFrom. Orthogonal to the
|
|
225
|
+
* M56 key pool (model failure ≠ credential failure). */
|
|
226
|
+
readonly fallbackModels?: readonly string[];
|
|
227
|
+
/** M79 §3: explicit per-model input-modality pin (e.g. a custom
|
|
228
|
+
* OpenAI-compatible endpoint fronting a vision model). Beats the model
|
|
229
|
+
* catalog (models.ts); absent → the catalog's verdict, uncataloged →
|
|
230
|
+
* text-only (fail-closed — images then fail with UNSUPPORTED_CONTENT
|
|
231
|
+
* before any network call). Capability is exact model metadata, never a
|
|
232
|
+
* provider-level fact. */
|
|
233
|
+
readonly inputModalities?: readonly ("text" | "image")[];
|
|
234
|
+
/** ω-2b (I1-c): the profile's window semantics, resolved from it when a
|
|
235
|
+
* hand-built config omits the field (deepseek = shared; everything else
|
|
236
|
+
* unknown). The CLI threads it into the loop's compaction options, where
|
|
237
|
+
* it gates the proactive admission clip ONLY. */
|
|
238
|
+
readonly windowMode?: WindowMode;
|
|
239
|
+
/** Persona Phase B (design 93 §4.2-1): the protocol this config speaks —
|
|
240
|
+
* createProvider dispatches on it ("anthropic" → the messages adapter,
|
|
241
|
+
* "responses" → the responses adapter, absent → the historical
|
|
242
|
+
* openai-compatible engine, byte-identical). ORTHOGONAL to the vendor
|
|
243
|
+
* profile (no fourth profile dimension): resolution is
|
|
244
|
+
* selection.wire > env WUDAO_WIRE > absent. */
|
|
245
|
+
readonly wire?: ProtocolId;
|
|
246
|
+
/** Coding-plan gateways: the anthropic-wire adapter dual-sends
|
|
247
|
+
* `authorization: Bearer` alongside x-api-key when true. Folded from the
|
|
248
|
+
* profile like windowMode; absent on every historical config. */
|
|
249
|
+
readonly bearerAuth?: boolean;
|
|
250
|
+
/** P0-4 (96 队列): the provider's wallet-balance endpoint, folded from the
|
|
251
|
+
* profile exactly like bearerAuth. Absent = no balance face (the /cost all
|
|
252
|
+
* readout silently omits the provider). Never consumed by request
|
|
253
|
+
* construction — the balance fetch is an offline-side call. */
|
|
254
|
+
readonly balanceUrl?: string;
|
|
255
|
+
/** ω99-64: the provider card's extra request headers (the registry row's
|
|
256
|
+
* `headers` column, folded through the effective profile) — the last mile
|
|
257
|
+
* of the enterprise-gateway column 92 §3.4-1 reserved. The adapters
|
|
258
|
+
* spread them AFTER their own auth headers and BEFORE persona
|
|
259
|
+
* wire.headers: priority adapter auth > persona (per-request persona
|
|
260
|
+
* override) > registry (per-provider baseline). The seam defensively
|
|
261
|
+
* skips the full FORBIDDEN_HEADER_KEYS set (14 keys — single source
|
|
262
|
+
* header-validation.ts, ω99-69), a superset of the reserved credential
|
|
263
|
+
* keys (gatewayExtraHeaders — hand-built configs bypass the registry
|
|
264
|
+
* validator; the registry refuses them at save AND load). Absent =
|
|
265
|
+
* nothing on the wire, byte-identical; an empty {} spreads to nothing. */
|
|
266
|
+
readonly extraHeaders?: Readonly<Record<string, string>>;
|
|
267
|
+
/** Persona fallback (spec §6): data-only. CLI resolves the registry and
|
|
268
|
+
* constructs PersonaRuntime from this at startup. */
|
|
269
|
+
readonly persona?: {
|
|
270
|
+
readonly id: string;
|
|
271
|
+
readonly layers?: Partial<LayerFlags>;
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
export interface ProviderSelection {
|
|
275
|
+
readonly provider?: string;
|
|
276
|
+
readonly reasoningEffort?: string;
|
|
277
|
+
/** R3-T002 深测弧:显式 --model 旗标(最高优先,越过 env 钉——仓库树
|
|
278
|
+
* .env 的 WUDAO_MODEL 不再劫持 --provider 切换)。空串=未选。 */
|
|
279
|
+
readonly model?: string;
|
|
280
|
+
/** R3-T002(续):枚举面的豁免标记。目录哨兵只对「用户/环境钉的模型 ×
|
|
281
|
+
* 所选 provider」这种可证伪配对设防;矩阵扫描类调用方(goal 的
|
|
282
|
+
* cheapestMatrixModel、workflow 的 routePreflight)逐个 provider 试解,
|
|
283
|
+
* env 模型与某成员目录不合=跳过该成员,不是致命错。置 true 关哨兵。 */
|
|
284
|
+
readonly allowEnvModelMismatch?: true;
|
|
285
|
+
/** Phase B: the wire leg of the selection chain (see ProviderConfig.wire). */
|
|
286
|
+
readonly wire?: string;
|
|
287
|
+
}
|
|
288
|
+
export type ProviderConfigResult = {
|
|
289
|
+
readonly ok: true;
|
|
290
|
+
readonly config: ProviderConfig;
|
|
291
|
+
} | {
|
|
292
|
+
readonly ok: false;
|
|
293
|
+
readonly reason: string;
|
|
294
|
+
};
|
|
295
|
+
export declare const NO_KEY_REASON = "no API key found";
|
|
296
|
+
/** M56 §1: the key POOL from env — `WUDAO_API_KEYS` (comma-separated) riding
|
|
297
|
+
* alongside the historical single `WUDAO_API_KEY` (or `OPENAI_API_KEY`
|
|
298
|
+
* fallback). The single key stays the PRIMARY (first), the comma list adds
|
|
299
|
+
* the rest, everything deduped order-preserving. Empty when no key at all —
|
|
300
|
+
* `resolveProviderConfigResult` keeps failing with NO_KEY_REASON. */
|
|
301
|
+
export declare function parseApiKeyPool(env: NodeJS.ProcessEnv): string[];
|
|
302
|
+
export type CredentialsMap = Readonly<Record<string, string>>;
|
|
303
|
+
export declare function resolveProviderConfigResult(env?: NodeJS.ProcessEnv, selection?: ProviderSelection, credentials?: CredentialsMap, providers?: ReadonlyMap<string, EffectiveProfile>): ProviderConfigResult;
|
|
304
|
+
/** M48 §2: the reasoning-only repair gate for the engine — explicit config
|
|
305
|
+
* field, then the selected profile's default, then false. */
|
|
306
|
+
export declare function acceptsReasoningOnlyFinish(config: ProviderConfig): boolean;
|
|
307
|
+
/** 夜移 022: the tool-turn reasoning-omission gate for terminal repair —
|
|
308
|
+
* the same three-step ladder as acceptsReasoningOnlyFinish (explicit config
|
|
309
|
+
* field, then the selected profile's default, then false). */
|
|
310
|
+
export declare function omitsReasoningOnToolTurns(config: ProviderConfig): boolean;
|
|
311
|
+
/** 取证弧 0921: the output-limit ladder's escalateTo from the profile (loop
|
|
312
|
+
* 夜移 013's contract: "supply it from the provider profile, never a magic
|
|
313
|
+
* 64k"). Undefined = the ladder runs nudge-only, byte-identical history. */
|
|
314
|
+
export declare function outputLimitEscalateFor(provider: string | undefined): number | undefined;
|
|
315
|
+
/** ω99-39: cap a configured reasoning replay by the provider's probe-verified
|
|
316
|
+
* drop fact. The profile fact is an UPPER BOUND on the user's intent, not a
|
|
317
|
+
* new knob: `never` and absent pass through untouched (nothing to cap), an
|
|
318
|
+
* unmarked profile passes everything through byte-identically, and only a
|
|
319
|
+
* drops-marked endpoint forces toolCallTurns/always down to "never" — with
|
|
320
|
+
* the one-line stderr tell above (the honest chain: silent ineffectiveness
|
|
321
|
+
* → explicit shutoff + why). Pure; the notice is the only side effect. */
|
|
322
|
+
export declare function capClientReasoningReplay(profile: Pick<ProviderProfile, "dropsClientReasoningReplay" | "label"> | undefined, replay: ReasoningReplay | undefined): ReasoningReplay | undefined;
|
|
323
|
+
/** ω-2b (I1-c): the window semantics for the loop's admission clip — explicit
|
|
324
|
+
* config field, then the selected profile's pin, then "unknown" (the clip
|
|
325
|
+
* stays off until the endpoint is characterized). */
|
|
326
|
+
export declare function resolveWindowMode(config: ProviderConfig): WindowMode;
|
|
327
|
+
export declare function resolveProviderConfig(env?: NodeJS.ProcessEnv, selection?: ProviderSelection): ProviderConfig | null;
|
|
328
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|