@wudao-org/providers 0.0.0-stage → 0.4.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.
Files changed (156) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +8 -2
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/anthropic.d.ts +19 -0
  5. package/dist/anthropic.d.ts.map +1 -0
  6. package/dist/anthropic.js +621 -0
  7. package/dist/anthropic.js.map +1 -0
  8. package/dist/balance.d.ts +28 -0
  9. package/dist/balance.d.ts.map +1 -0
  10. package/dist/balance.js +105 -0
  11. package/dist/balance.js.map +1 -0
  12. package/dist/config.d.ts +328 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +623 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/dispatcher.d.ts +5 -0
  17. package/dist/dispatcher.d.ts.map +1 -0
  18. package/dist/dispatcher.js +21 -0
  19. package/dist/dispatcher.js.map +1 -0
  20. package/dist/effort-catalog.d.ts +17 -0
  21. package/dist/effort-catalog.d.ts.map +1 -0
  22. package/dist/effort-catalog.js +73 -0
  23. package/dist/effort-catalog.js.map +1 -0
  24. package/dist/error-body.d.ts +32 -0
  25. package/dist/error-body.d.ts.map +1 -0
  26. package/dist/error-body.js +74 -0
  27. package/dist/error-body.js.map +1 -0
  28. package/dist/header-validation.d.ts +57 -0
  29. package/dist/header-validation.d.ts.map +1 -0
  30. package/dist/header-validation.js +130 -0
  31. package/dist/header-validation.js.map +1 -0
  32. package/dist/index.d.ts +42 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +110 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/json-arguments.d.ts +17 -0
  37. package/dist/json-arguments.d.ts.map +1 -0
  38. package/dist/json-arguments.js +227 -0
  39. package/dist/json-arguments.js.map +1 -0
  40. package/dist/key-pool.d.ts +66 -0
  41. package/dist/key-pool.d.ts.map +1 -0
  42. package/dist/key-pool.js +207 -0
  43. package/dist/key-pool.js.map +1 -0
  44. package/dist/missing-reasoning-circuit.d.ts +17 -0
  45. package/dist/missing-reasoning-circuit.d.ts.map +1 -0
  46. package/dist/missing-reasoning-circuit.js +38 -0
  47. package/dist/missing-reasoning-circuit.js.map +1 -0
  48. package/dist/model-failure.d.ts +156 -0
  49. package/dist/model-failure.d.ts.map +1 -0
  50. package/dist/model-failure.js +253 -0
  51. package/dist/model-failure.js.map +1 -0
  52. package/dist/model-fallback.d.ts +18 -0
  53. package/dist/model-fallback.d.ts.map +1 -0
  54. package/dist/model-fallback.js +87 -0
  55. package/dist/model-fallback.js.map +1 -0
  56. package/dist/models.d.ts +20 -0
  57. package/dist/models.d.ts.map +1 -0
  58. package/dist/models.js +55 -0
  59. package/dist/models.js.map +1 -0
  60. package/dist/openai-compatible.d.ts +87 -0
  61. package/dist/openai-compatible.d.ts.map +1 -0
  62. package/dist/openai-compatible.js +368 -0
  63. package/dist/openai-compatible.js.map +1 -0
  64. package/dist/openai-engine.d.ts +18 -0
  65. package/dist/openai-engine.d.ts.map +1 -0
  66. package/dist/openai-engine.js +515 -0
  67. package/dist/openai-engine.js.map +1 -0
  68. package/dist/openai-images.d.ts +38 -0
  69. package/dist/openai-images.d.ts.map +1 -0
  70. package/dist/openai-images.js +301 -0
  71. package/dist/openai-images.js.map +1 -0
  72. package/dist/openai-messages.d.ts +40 -0
  73. package/dist/openai-messages.d.ts.map +1 -0
  74. package/dist/openai-messages.js +135 -0
  75. package/dist/openai-messages.js.map +1 -0
  76. package/dist/openai-wire.d.ts +93 -0
  77. package/dist/openai-wire.d.ts.map +1 -0
  78. package/dist/openai-wire.js +151 -0
  79. package/dist/openai-wire.js.map +1 -0
  80. package/dist/persona/apply.d.ts +19 -0
  81. package/dist/persona/apply.d.ts.map +1 -0
  82. package/dist/persona/apply.js +98 -0
  83. package/dist/persona/apply.js.map +1 -0
  84. package/dist/persona/builtins.d.ts +3 -0
  85. package/dist/persona/builtins.d.ts.map +1 -0
  86. package/dist/persona/builtins.js +180 -0
  87. package/dist/persona/builtins.js.map +1 -0
  88. package/dist/persona/decorator.d.ts +4 -0
  89. package/dist/persona/decorator.d.ts.map +1 -0
  90. package/dist/persona/decorator.js +112 -0
  91. package/dist/persona/decorator.js.map +1 -0
  92. package/dist/persona/files.d.ts +20 -0
  93. package/dist/persona/files.d.ts.map +1 -0
  94. package/dist/persona/files.js +84 -0
  95. package/dist/persona/files.js.map +1 -0
  96. package/dist/persona/ids.d.ts +9 -0
  97. package/dist/persona/ids.d.ts.map +1 -0
  98. package/dist/persona/ids.js +11 -0
  99. package/dist/persona/ids.js.map +1 -0
  100. package/dist/persona/registry.d.ts +12 -0
  101. package/dist/persona/registry.d.ts.map +1 -0
  102. package/dist/persona/registry.js +54 -0
  103. package/dist/persona/registry.js.map +1 -0
  104. package/dist/persona/runtime.d.ts +23 -0
  105. package/dist/persona/runtime.d.ts.map +1 -0
  106. package/dist/persona/runtime.js +32 -0
  107. package/dist/persona/runtime.js.map +1 -0
  108. package/dist/persona/schema.d.ts +27 -0
  109. package/dist/persona/schema.d.ts.map +1 -0
  110. package/dist/persona/schema.js +165 -0
  111. package/dist/persona/schema.js.map +1 -0
  112. package/dist/persona/types.d.ts +38 -0
  113. package/dist/persona/types.d.ts.map +1 -0
  114. package/dist/persona/types.js +2 -0
  115. package/dist/persona/types.js.map +1 -0
  116. package/dist/pricing.d.ts +40 -0
  117. package/dist/pricing.d.ts.map +1 -0
  118. package/dist/pricing.js +70 -0
  119. package/dist/pricing.js.map +1 -0
  120. package/dist/quota-park.d.ts +53 -0
  121. package/dist/quota-park.d.ts.map +1 -0
  122. package/dist/quota-park.js +135 -0
  123. package/dist/quota-park.js.map +1 -0
  124. package/dist/rate-pause.d.ts +28 -0
  125. package/dist/rate-pause.d.ts.map +1 -0
  126. package/dist/rate-pause.js +72 -0
  127. package/dist/rate-pause.js.map +1 -0
  128. package/dist/registry.d.ts +142 -0
  129. package/dist/registry.d.ts.map +1 -0
  130. package/dist/registry.js +471 -0
  131. package/dist/registry.js.map +1 -0
  132. package/dist/responses.d.ts +5 -0
  133. package/dist/responses.d.ts.map +1 -0
  134. package/dist/responses.js +290 -0
  135. package/dist/responses.js.map +1 -0
  136. package/dist/retry-after.d.ts +13 -0
  137. package/dist/retry-after.d.ts.map +1 -0
  138. package/dist/retry-after.js +64 -0
  139. package/dist/retry-after.js.map +1 -0
  140. package/dist/retry-ladder.d.ts +176 -0
  141. package/dist/retry-ladder.d.ts.map +1 -0
  142. package/dist/retry-ladder.js +664 -0
  143. package/dist/retry-ladder.js.map +1 -0
  144. package/dist/split-inband-thinking.d.ts +35 -0
  145. package/dist/split-inband-thinking.d.ts.map +1 -0
  146. package/dist/split-inband-thinking.js +117 -0
  147. package/dist/split-inband-thinking.js.map +1 -0
  148. package/dist/stream-idle.d.ts +97 -0
  149. package/dist/stream-idle.d.ts.map +1 -0
  150. package/dist/stream-idle.js +127 -0
  151. package/dist/stream-idle.js.map +1 -0
  152. package/dist/tool-call-ids.d.ts +16 -0
  153. package/dist/tool-call-ids.d.ts.map +1 -0
  154. package/dist/tool-call-ids.js +36 -0
  155. package/dist/tool-call-ids.js.map +1 -0
  156. package/package.json +32 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { ModelClient } from "@wudao-org/core";
2
+ import type { ProviderConfig } from "./config.js";
3
+ import type { ProviderOptions } from "./openai-compatible.js";
4
+ export declare function createProvider(config: ProviderConfig, options?: ProviderOptions): ModelClient;
5
+ //# sourceMappingURL=dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../src/dispatcher.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,GAAE,eAAoB,GAAG,WAAW,CAejG"}
@@ -0,0 +1,21 @@
1
+ import { PROTOCOL_IDS } from "./persona/schema.js";
2
+ import { createOpenAICompatibleProvider } from "./openai-compatible.js";
3
+ import { createAnthropicProvider } from "./anthropic.js";
4
+ import { createResponsesProvider } from "./responses.js";
5
+ export function createProvider(config, options = {}) {
6
+ // Widen to string so the default arm stays reachable: a hand-built config
7
+ // (JS caller, or one parsed off disk) can carry any runtime value — the
8
+ // ProtocolId type is the compile-time promise, not the runtime guarantee.
9
+ const wire = config.wire ?? "openai-chat";
10
+ switch (wire) {
11
+ case "openai-chat":
12
+ return createOpenAICompatibleProvider(config, options);
13
+ case "anthropic":
14
+ return createAnthropicProvider(config, options);
15
+ case "responses":
16
+ return createResponsesProvider(config, options);
17
+ default:
18
+ throw new Error(`unknown wire "${wire}" (expected one of: ${PROTOCOL_IDS.join(", ")})`);
19
+ }
20
+ }
21
+ //# sourceMappingURL=dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../src/dispatcher.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,UAAU,cAAc,CAAC,MAAsB,EAAE,UAA2B,EAAE;IAClF,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,IAAI,GAAW,MAAM,CAAC,IAAI,IAAI,aAAa,CAAC;IAClD,QAAQ,IAAkB,EAAE,CAAC;QAC3B,KAAK,aAAa;YAChB,OAAO,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzD,KAAK,WAAW;YACd,OAAO,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClD,KAAK,WAAW;YACd,OAAO,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClD;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,uBAAuB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { ReasoningEffort } from "./config.js";
2
+ import type { EffectiveProfile } from "./registry.js";
3
+ /** 模型级 effort 钉:只钉有平台文档出处的限制(kimi-k2.7-code 家族——
4
+ * platform.kimi.com/docs/guide/claude-code-kimi:该模型必须显式 thinking,
5
+ * effort none(不发 thinking 块)会被端点 400)。键序:provider → model →
6
+ * 完整支持集合。 */
7
+ export declare const MODEL_EFFORT_PINS: Readonly<Record<string, Readonly<Record<string, readonly ReasoningEffort[]>>>>;
8
+ /** The supported effort set for a (provider, model) pair, or undefined when
9
+ * the provider is unknown (custom-without-row, blank) — the caller degrades
10
+ * to「未验证」, never blocks. Precedence: registry `efforts` override
11
+ * (wholesale, beats model pins) > model pin > derived family set. Pure. */
12
+ export declare function supportedEfforts(provider: string | undefined, model: string, profiles?: ReadonlyMap<string, EffectiveProfile>): readonly ReasoningEffort[] | undefined;
13
+ /** Does this family's wire carry streaming reasoning_content? true for the
14
+ * openai-wire reasoning formats; false for format "none" (anthropic-wire
15
+ * thinking blocks / no reasoning lane). undefined = unknown provider. Pure. */
16
+ export declare function reasoningContentStreams(provider: string | undefined, profiles?: ReadonlyMap<string, EffectiveProfile>): boolean | undefined;
17
+ //# sourceMappingURL=effort-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effort-catalog.d.ts","sourceRoot":"","sources":["../src/effort-catalog.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAmB,eAAe,EAAmB,MAAM,aAAa,CAAC;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAsBtD;;;cAGc;AACd,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CACtC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC,CAAC,CAAC,CAMrE,CAAC;AAuBF;;;4EAG4E;AAC5E,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC/C,SAAS,eAAe,EAAE,GAAG,SAAS,CAOxC;AAED;;gFAEgF;AAChF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC/C,OAAO,GAAG,SAAS,CAIrB"}
@@ -0,0 +1,73 @@
1
+ // ω99-245: #4 — 角色化推理能力目录(数据层)。每模型族 → 支持的 effort 档
2
+ // 集合 + 是否 reasoning 模型(reasoning_content 有无)。纯查表:族默认从
3
+ // PROVIDER_PROFILES 推导(单一事实源——目录永不与矩阵漂移),模型级钉只落在
4
+ // 有出处的文档事实上;registry 的 `efforts` 覆盖列整卡替换(fail-closed 但
5
+ // 可逃生:用户新模型/目录过时不被卡死)。未知 provider/模型返回 undefined
6
+ // = 降级「未验证」,绝不阻塞。
7
+ import { PROVIDER_PROFILES, REASONING_EFFORTS, isBuiltinProviderName } from "./config.js";
8
+ /** 流式 reasoning_content 的推理格式(openai 线族——deepseek/zai/qwen 系)。
9
+ * format "none"(anthropic wire 的 thinking 块线与无推理端点)没有
10
+ * reasoning_content。 */
11
+ const REASONING_CONTENT_FORMATS = new Set([
12
+ "deepseek",
13
+ "zai",
14
+ "qwen",
15
+ "qwen-chat-template",
16
+ "openrouter",
17
+ "together",
18
+ "baseten",
19
+ ]);
20
+ /** 模型级 effort 钉:只钉有平台文档出处的限制(kimi-k2.7-code 家族——
21
+ * platform.kimi.com/docs/guide/claude-code-kimi:该模型必须显式 thinking,
22
+ * effort none(不发 thinking 块)会被端点 400)。键序:provider → model →
23
+ * 完整支持集合。 */
24
+ export const MODEL_EFFORT_PINS = {
25
+ kimi: {
26
+ "kimi-k2.7-code": ["low", "medium", "high", "max"],
27
+ "kimi-k2.7-code-highspeed": ["low", "medium", "high", "max"],
28
+ },
29
+ };
30
+ /** Resolve the profile view for a provider id: the effective (registry) view
31
+ * first, then the compiled-in builtin. undefined = unknown provider. */
32
+ function profileFor(provider, profiles) {
33
+ if (provider === undefined || provider === "")
34
+ return undefined;
35
+ const registered = profiles?.get(provider);
36
+ if (registered !== undefined)
37
+ return registered;
38
+ return isBuiltinProviderName(provider) ? PROVIDER_PROFILES[provider] : undefined;
39
+ }
40
+ /** 族默认支持集:全五档减去 thinkingLevelMap 显式钉为 null(不支持)的档。
41
+ * 折叠(glm 的 enabled/disabled、qwen 的布尔)不是不支持——引擎每档都可
42
+ * 表达,目录照收。 */
43
+ function familyEfforts(profile) {
44
+ const map = profile.thinkingLevelMap;
45
+ if (map === undefined)
46
+ return REASONING_EFFORTS;
47
+ return REASONING_EFFORTS.filter((e) => map[e] !== null);
48
+ }
49
+ /** The supported effort set for a (provider, model) pair, or undefined when
50
+ * the provider is unknown (custom-without-row, blank) — the caller degrades
51
+ * to「未验证」, never blocks. Precedence: registry `efforts` override
52
+ * (wholesale, beats model pins) > model pin > derived family set. Pure. */
53
+ export function supportedEfforts(provider, model, profiles) {
54
+ const profile = profileFor(provider, profiles);
55
+ if (profile === undefined)
56
+ return undefined;
57
+ if (profile.efforts !== undefined)
58
+ return profile.efforts;
59
+ const pinned = MODEL_EFFORT_PINS[provider ?? ""]?.[model];
60
+ if (pinned !== undefined)
61
+ return pinned;
62
+ return familyEfforts(profile);
63
+ }
64
+ /** Does this family's wire carry streaming reasoning_content? true for the
65
+ * openai-wire reasoning formats; false for format "none" (anthropic-wire
66
+ * thinking blocks / no reasoning lane). undefined = unknown provider. Pure. */
67
+ export function reasoningContentStreams(provider, profiles) {
68
+ const profile = profileFor(provider, profiles);
69
+ if (profile === undefined)
70
+ return undefined;
71
+ return REASONING_CONTENT_FORMATS.has(profile.reasoningFormat ?? "none");
72
+ }
73
+ //# sourceMappingURL=effort-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effort-catalog.js","sourceRoot":"","sources":["../src/effort-catalog.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,sDAAsD;AACtD,iDAAiD;AACjD,uDAAuD;AACvD,iDAAiD;AACjD,kBAAkB;AAClB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAW1F;;yBAEyB;AACzB,MAAM,yBAAyB,GAAiC,IAAI,GAAG,CAAC;IACtE,UAAU;IACV,KAAK;IACL,MAAM;IACN,oBAAoB;IACpB,YAAY;IACZ,UAAU;IACV,SAAS;CACV,CAAC,CAAC;AAEH;;;cAGc;AACd,MAAM,CAAC,MAAM,iBAAiB,GAE1B;IACF,IAAI,EAAE;QACJ,gBAAgB,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;QAClD,0BAA0B,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;KAC7D;CACF,CAAC;AAEF;yEACyE;AACzE,SAAS,UAAU,CACjB,QAA4B,EAC5B,QAAgD;IAEhD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,UAAU,GAAG,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAChD,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC;AAED;;eAEe;AACf,SAAS,aAAa,CAAC,OAAuB;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACrC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,iBAAiB,CAAC;IAChD,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED;;;4EAG4E;AAC5E,MAAM,UAAU,gBAAgB,CAC9B,QAA4B,EAC5B,KAAa,EACb,QAAgD;IAEhD,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC;IAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;gFAEgF;AAChF,MAAM,UAAU,uBAAuB,CACrC,QAA4B,EAC5B,QAAgD;IAEhD,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * 波次 8 #42 (hermes #24 `bounded_response.py`): bounded error-body read.
3
+ *
4
+ * The three protocol factories read a non-OK response's body for diagnostics.
5
+ * A bare `await res.text()` is unbounded on BOTH axes:
6
+ * · bytes — a server that answers 500 with a multi-GB body buffers all of
7
+ * it into memory for a diagnostic string nobody reads past a few hundred
8
+ * chars;
9
+ * · wall clock — a server that opens the error body then STOPS sending
10
+ * parks the read in C/socket land; no outer timer cancels it and the
11
+ * request hangs well past every retry deadline.
12
+ *
13
+ * `readErrorBody` reads the (already-decompressed) body stream with a byte
14
+ * cap and a wall-clock deadline; whichever trips first, the reader is
15
+ * CANCELLED — undici tears down the connection instead of leaking the stalled
16
+ * read — and the received prefix is returned. Mid-read stream errors return
17
+ * the prefix too (more diagnostic value than the old catch→""), and the whole
18
+ * function never throws (the `safeText` contract rides unchanged).
19
+ */
20
+ /** Diagnostic bodies are shown truncated to a few hundred chars everywhere
21
+ * downstream; 64KB is generously past that and hermes' chosen bound. */
22
+ export declare const ERROR_BODY_MAX_BYTES: number;
23
+ /** Generous for a healthy error answer, but finite for a stalled one. */
24
+ export declare const ERROR_BODY_DEADLINE_MS = 5000;
25
+ export interface ReadErrorBodyOptions {
26
+ /** Byte cap; default {@link ERROR_BODY_MAX_BYTES}. */
27
+ readonly maxBytes?: number;
28
+ /** Wall-clock deadline, ms; default {@link ERROR_BODY_DEADLINE_MS}. */
29
+ readonly deadlineMs?: number;
30
+ }
31
+ export declare function readErrorBody(res: Response, opts?: ReadErrorBodyOptions): Promise<string>;
32
+ //# sourceMappingURL=error-body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-body.d.ts","sourceRoot":"","sources":["../src/error-body.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;yEACyE;AACzE,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAE9C,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,OAAQ,CAAC;AAE5C,MAAM,WAAW,oBAAoB;IACnC,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2CnG"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * 波次 8 #42 (hermes #24 `bounded_response.py`): bounded error-body read.
3
+ *
4
+ * The three protocol factories read a non-OK response's body for diagnostics.
5
+ * A bare `await res.text()` is unbounded on BOTH axes:
6
+ * · bytes — a server that answers 500 with a multi-GB body buffers all of
7
+ * it into memory for a diagnostic string nobody reads past a few hundred
8
+ * chars;
9
+ * · wall clock — a server that opens the error body then STOPS sending
10
+ * parks the read in C/socket land; no outer timer cancels it and the
11
+ * request hangs well past every retry deadline.
12
+ *
13
+ * `readErrorBody` reads the (already-decompressed) body stream with a byte
14
+ * cap and a wall-clock deadline; whichever trips first, the reader is
15
+ * CANCELLED — undici tears down the connection instead of leaking the stalled
16
+ * read — and the received prefix is returned. Mid-read stream errors return
17
+ * the prefix too (more diagnostic value than the old catch→""), and the whole
18
+ * function never throws (the `safeText` contract rides unchanged).
19
+ */
20
+ /** Diagnostic bodies are shown truncated to a few hundred chars everywhere
21
+ * downstream; 64KB is generously past that and hermes' chosen bound. */
22
+ export const ERROR_BODY_MAX_BYTES = 64 * 1024;
23
+ /** Generous for a healthy error answer, but finite for a stalled one. */
24
+ export const ERROR_BODY_DEADLINE_MS = 5_000;
25
+ export async function readErrorBody(res, opts = {}) {
26
+ const maxBytes = opts.maxBytes ?? ERROR_BODY_MAX_BYTES;
27
+ const deadlineMs = opts.deadlineMs ?? ERROR_BODY_DEADLINE_MS;
28
+ try {
29
+ const body = res.body;
30
+ if (!body)
31
+ return await res.text(); // no stream to bound — 204/304 shapes
32
+ const reader = body.getReader();
33
+ const decoder = new TextDecoder();
34
+ let out = "";
35
+ let bytes = 0;
36
+ const deadline = Date.now() + deadlineMs;
37
+ while (true) {
38
+ const remaining = deadline - Date.now();
39
+ if (remaining <= 0)
40
+ break; // stalled — the prefix below is all we get
41
+ // settle-safe: the losing side of the race must never surface as an
42
+ // unhandled rejection when we abandon the read.
43
+ const readP = reader.read().then((r) => ({ kind: "read", r }), (e) => ({ kind: "fail", e }));
44
+ let timer;
45
+ const gate = new Promise((resolve) => { timer = setTimeout(() => resolve("timer"), remaining); });
46
+ const winner = await Promise.race([readP, gate]);
47
+ if (timer !== undefined)
48
+ clearTimeout(timer);
49
+ if (winner === "timer")
50
+ break;
51
+ if (winner.kind === "fail")
52
+ return out + decoder.decode(); // prefix, flushed
53
+ const { done, value } = winner.r;
54
+ if (done)
55
+ return out + decoder.decode(); // clean end — flush multibyte tail
56
+ if (value) {
57
+ const room = maxBytes - bytes;
58
+ const slice = value.byteLength > room ? value.subarray(0, Math.max(0, room)) : value;
59
+ out += decoder.decode(slice, { stream: true });
60
+ bytes += slice.byteLength;
61
+ if (bytes >= maxBytes)
62
+ break; // cap reached — the tail is worthless
63
+ }
64
+ }
65
+ // Abandoning mid-stream (deadline or cap): cancel so the socket is freed
66
+ // instead of parking the read forever.
67
+ await reader.cancel().catch(() => { });
68
+ return out + decoder.decode();
69
+ }
70
+ catch {
71
+ return "";
72
+ }
73
+ }
74
+ //# sourceMappingURL=error-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-body.js","sourceRoot":"","sources":["../src/error-body.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /** The credential headers the adapter's key pool owns. A persona header with
2
+ * one of these names is SKIPPED (never sent) by resolvePersonaHeaders — the
3
+ * once-per-process notice below is visibility for that silent drop, not a
4
+ * behavior change. Deliberately excludes anthropic-version (pinned by design
5
+ * on the claude-code builtin persona). */
6
+ export declare const RESERVED_CREDENTIAL_HEADER_KEYS: ReadonlySet<string>;
7
+ /** ω99-69(64 停泊 C1 收口):persona 永不控制、hand-built 配置也永不覆盖的
8
+ * 头全集——鉴权键(键池所有)+ hop-by-hop / 传输语义键(适配器所有)。
9
+ * 定义唯一下沉到这里(header-validation.ts 单一来源,无 import 出边——依赖
10
+ * 图无环);persona/schema.ts re-export 保既有 import 面(registry/apply 的
11
+ * ABI 零 diff)。四个消费面同一堵墙:schema 加载期拒绝(checkHeaderMap)、
12
+ * registry 保存/加载期拒行(validateUserProviderEntry /
13
+ * readProviderRegistrySync)、resolvePersonaHeaders 防御性跳过(persona
14
+ * 面)、gatewayExtraHeaders seam 跳过(hand-built 面)——64 裁定反转理由:
15
+ * registry 面(唯一用户面)已全集拦,hand-built 面与它的防御不对称没有
16
+ * 架构理由,两入口同一堵墙。 */
17
+ export declare const FORBIDDEN_HEADER_KEYS: ReadonlySet<string>;
18
+ /** Probe: can this [name, value] pair ride a fetch wire? Returns the
19
+ * underlying TypeError message when the global Headers constructor refuses
20
+ * the pair (the same validation undici applies at request time), null when
21
+ * representable. Single probe source: the schema (load-time errors), the
22
+ * registry (save-time red), and the adapter seam (typed throw) all consume
23
+ * this one function. */
24
+ export declare function headerRepresentabilityError(name: string, value: string): string | null;
25
+ /** The typed load-time rejection (dsh assertValidHeaders form). Deterministic
26
+ * — junk can never succeed on retry or on a sibling model — so BOTH error
27
+ * ladders fail fast on its name (isRetryableProviderError /
28
+ * isModelFallbackEligible), the validatedInputEffort/M58 §C discipline. */
29
+ export declare class HeaderValidationError extends Error {
30
+ constructor(label: string, headerName: string, originalMessage: string);
31
+ }
32
+ /** Throw a named HeaderValidationError when any [name, value] in `headers`
33
+ * cannot ride a fetch wire. `label` names the source (provider/persona/card)
34
+ * so the error points at the fix instead of dying as an anonymous undici
35
+ * TypeError mid-request. */
36
+ export declare function assertValidHeaders(headers: Readonly<Record<string, string>>, label: string): void;
37
+ /** ω99-64 → ω99-69: the registry/provider-card extra headers as they ride the
38
+ * adapter seam — FORBIDDEN keys (auth + transport-control, the full 14-key
39
+ * set) are skipped, never sent: the key pool owns auth and the adapter owns
40
+ * transport on the wire, structurally (both land BEFORE the user spreads at
41
+ * all five header-construction points, so an unfiltered key would silently
42
+ * REPLACE the adapter's own — a hand-built content-type used to clobber the
43
+ * JSON body's content-type). ω99-69 reverses 64's parking of the transport
44
+ * half ("loud self-injury"): the registry face (the only user-facing
45
+ * entrance) already refuses the full FORBIDDEN set at save AND load, so the
46
+ * hand-built face skipping only auth was a defense asymmetry with no
47
+ * architectural reason — one wall, both entrances (same posture as
48
+ * resolvePersonaHeaders, which already skips the full set; its skip is
49
+ * likewise silent for transport keys — no notice added here either).
50
+ * undefined → {} so an unconfigured config keeps its historical header
51
+ * bytes; an empty {} row spreads to nothing (§3.6 no-op). */
52
+ export declare function gatewayExtraHeaders(extra: Readonly<Record<string, string>> | undefined): Record<string, string>;
53
+ /** One-line stderr tell that a persona header named a reserved credential
54
+ * key and was therefore IGNORED (the adapter's key-pool credentials own
55
+ * auth on the wire). Visibility only — the skip itself is unchanged. */
56
+ export declare function noticeReservedCredentialHeader(headerName: string, label: string): void;
57
+ //# sourceMappingURL=header-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-validation.d.ts","sourceRoot":"","sources":["../src/header-validation.ts"],"names":[],"mappings":"AAqBA;;;;2CAI2C;AAC3C,eAAO,MAAM,+BAA+B,EAAE,WAAW,CAAC,MAAM,CAA2C,CAAC;AAE5G;;;;;;;;;oBASoB;AACpB,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAepD,CAAC;AAEH;;;;;yBAKyB;AACzB,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQtF;AAED;;;4EAG4E;AAC5E,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAIvE;AAED;;;6BAG6B;AAC7B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAKjG;AAED;;;;;;;;;;;;;;8DAc8D;AAC9D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ/G;AAOD;;yEAEyE;AACzE,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMtF"}
@@ -0,0 +1,130 @@
1
+ // packages/providers/src/header-validation.ts — ω99-50:用户自定义 header 的
2
+ // fetch 可表示性校验 + 凭证保留名可见性。
3
+ //
4
+ // 来源:dsh 候选 9(assertValidHeaders,commit 25e4527f5e)经队列 105 §3 池
5
+ // 第 6 项。wudao 裁定(brief §1,控制器预裁决):
6
+ // - 只校验用户输入面 —— persona wire.headers(5 触点的唯一来源)与 registry
7
+ // 行的 headers 列(持久化保留面,尚未上 wire);适配器自带头不校验。
8
+ // - 探针依据(node 24 实测):`new Headers([[name, value]])` 与 fetch(undici)
9
+ // 请求时刻消费同一校验 —— LF/CR/NUL 值、>255 字节值(CJK)、空格/换行/
10
+ // 制表/空/非 ASCII 名全部抛 TypeError;空值与 latin-1 内字符合法。
11
+ // 加载期用它预测请求时刻的失败,错误早一步且指名(provider + header 名
12
+ // + 原始 TypeError 文案)——dsh 形。
13
+ // - 保留名(authorization/x-api-key)不采纳 dsh 的"harness 归属、拒绝用户"
14
+ // ——wudao 里这两个键在 persona schema 加载期已拒、resolve 期防御性跳过
15
+ // (FORBIDDEN_HEADER_KEYS —— ω99-69 起定义在本文件单一来源,schema.ts
16
+ // re-export),根本到不了 wire;本弧只对"程序化构造绕过 schema"的兜底
17
+ // 路径加一次性 stderr 可见性(静默丢弃 → 告知丢弃),行为零变化。
18
+ // anthropic-version 不在警告集:内置 claude-code persona 按设计钉它
19
+ // (builtins.ts 身份仿真),警告即常态噪音。
20
+ //
21
+ // 红线:合法 header 请求字节零变化;`...(wire?.headers)` 仍在 auth 后 spread。
22
+ /** The credential headers the adapter's key pool owns. A persona header with
23
+ * one of these names is SKIPPED (never sent) by resolvePersonaHeaders — the
24
+ * once-per-process notice below is visibility for that silent drop, not a
25
+ * behavior change. Deliberately excludes anthropic-version (pinned by design
26
+ * on the claude-code builtin persona). */
27
+ export const RESERVED_CREDENTIAL_HEADER_KEYS = new Set(["authorization", "x-api-key"]);
28
+ /** ω99-69(64 停泊 C1 收口):persona 永不控制、hand-built 配置也永不覆盖的
29
+ * 头全集——鉴权键(键池所有)+ hop-by-hop / 传输语义键(适配器所有)。
30
+ * 定义唯一下沉到这里(header-validation.ts 单一来源,无 import 出边——依赖
31
+ * 图无环);persona/schema.ts re-export 保既有 import 面(registry/apply 的
32
+ * ABI 零 diff)。四个消费面同一堵墙:schema 加载期拒绝(checkHeaderMap)、
33
+ * registry 保存/加载期拒行(validateUserProviderEntry /
34
+ * readProviderRegistrySync)、resolvePersonaHeaders 防御性跳过(persona
35
+ * 面)、gatewayExtraHeaders seam 跳过(hand-built 面)——64 裁定反转理由:
36
+ * registry 面(唯一用户面)已全集拦,hand-built 面与它的防御不对称没有
37
+ * 架构理由,两入口同一堵墙。 */
38
+ export const FORBIDDEN_HEADER_KEYS = new Set([
39
+ "authorization",
40
+ "x-api-key",
41
+ "host",
42
+ "content-length",
43
+ "content-type",
44
+ "connection",
45
+ "keep-alive",
46
+ "proxy-authenticate",
47
+ "proxy-authorization",
48
+ "te",
49
+ "trailer",
50
+ "transfer-encoding",
51
+ "upgrade",
52
+ "cookie",
53
+ ]);
54
+ /** Probe: can this [name, value] pair ride a fetch wire? Returns the
55
+ * underlying TypeError message when the global Headers constructor refuses
56
+ * the pair (the same validation undici applies at request time), null when
57
+ * representable. Single probe source: the schema (load-time errors), the
58
+ * registry (save-time red), and the adapter seam (typed throw) all consume
59
+ * this one function. */
60
+ export function headerRepresentabilityError(name, value) {
61
+ const init = [[name, value]];
62
+ try {
63
+ new Headers(init);
64
+ return null;
65
+ }
66
+ catch (e) {
67
+ return e instanceof Error ? e.message : String(e);
68
+ }
69
+ }
70
+ /** The typed load-time rejection (dsh assertValidHeaders form). Deterministic
71
+ * — junk can never succeed on retry or on a sibling model — so BOTH error
72
+ * ladders fail fast on its name (isRetryableProviderError /
73
+ * isModelFallbackEligible), the validatedInputEffort/M58 §C discipline. */
74
+ export class HeaderValidationError extends Error {
75
+ constructor(label, headerName, originalMessage) {
76
+ super(`${label}: header "${headerName}" cannot be sent — ${originalMessage}`);
77
+ this.name = "HeaderValidationError";
78
+ }
79
+ }
80
+ /** Throw a named HeaderValidationError when any [name, value] in `headers`
81
+ * cannot ride a fetch wire. `label` names the source (provider/persona/card)
82
+ * so the error points at the fix instead of dying as an anonymous undici
83
+ * TypeError mid-request. */
84
+ export function assertValidHeaders(headers, label) {
85
+ for (const [name, value] of Object.entries(headers)) {
86
+ const rep = headerRepresentabilityError(name, value);
87
+ if (rep !== null)
88
+ throw new HeaderValidationError(label, name, rep);
89
+ }
90
+ }
91
+ /** ω99-64 → ω99-69: the registry/provider-card extra headers as they ride the
92
+ * adapter seam — FORBIDDEN keys (auth + transport-control, the full 14-key
93
+ * set) are skipped, never sent: the key pool owns auth and the adapter owns
94
+ * transport on the wire, structurally (both land BEFORE the user spreads at
95
+ * all five header-construction points, so an unfiltered key would silently
96
+ * REPLACE the adapter's own — a hand-built content-type used to clobber the
97
+ * JSON body's content-type). ω99-69 reverses 64's parking of the transport
98
+ * half ("loud self-injury"): the registry face (the only user-facing
99
+ * entrance) already refuses the full FORBIDDEN set at save AND load, so the
100
+ * hand-built face skipping only auth was a defense asymmetry with no
101
+ * architectural reason — one wall, both entrances (same posture as
102
+ * resolvePersonaHeaders, which already skips the full set; its skip is
103
+ * likewise silent for transport keys — no notice added here either).
104
+ * undefined → {} so an unconfigured config keeps its historical header
105
+ * bytes; an empty {} row spreads to nothing (§3.6 no-op). */
106
+ export function gatewayExtraHeaders(extra) {
107
+ if (extra === undefined)
108
+ return {};
109
+ const out = {};
110
+ for (const [k, v] of Object.entries(extra)) {
111
+ if (FORBIDDEN_HEADER_KEYS.has(k.toLowerCase()))
112
+ continue;
113
+ out[k] = v;
114
+ }
115
+ return out;
116
+ }
117
+ // ω99-39 form: providers has no warn/notice channel, so the pre-authorized
118
+ // fallback applies — ONE stderr line per process, module-level guard. Tests
119
+ // re-arm with vi.resetModules + dynamic import (a fresh module instance).
120
+ let reservedHeaderNoticeShown = false;
121
+ /** One-line stderr tell that a persona header named a reserved credential
122
+ * key and was therefore IGNORED (the adapter's key-pool credentials own
123
+ * auth on the wire). Visibility only — the skip itself is unchanged. */
124
+ export function noticeReservedCredentialHeader(headerName, label) {
125
+ if (reservedHeaderNoticeShown)
126
+ return;
127
+ reservedHeaderNoticeShown = true;
128
+ process.stderr.write(`wudao: ${label}: persona header "${headerName}" is ignored — auth headers are reserved for the key pool\n`);
129
+ }
130
+ //# sourceMappingURL=header-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-validation.js","sourceRoot":"","sources":["../src/header-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export { createOpenAICompatibleProvider, serializePrompt, withRetry, withRetryStream, isRetryableProviderError, backoffDelayMs, defaultMaxRetries, ProviderHttpError, OVERLOAD_BODY_SIGNATURES, sniffOverloadBody, isOverloadError, overloadBackoffDelayMs, ContextLengthError, CONTEXT_LENGTH_BODY_SIGNATURES, CONTEXT_LIMIT_INPUT_LENGTH_RE, matchContextLimitInputLength, sniffContextLengthBody, isContextLengthFailure, StreamIdleError, DEFAULT_STREAM_IDLE_TIMEOUT_MS, MAX_STREAM_IDLE_TIMEOUT_MS, defaultStreamIdleTimeoutMs, DEFAULT_STREAM_IDLE_SOFT_MS, DEFAULT_STREAM_IDLE_HARD_MS, resolveStreamIdleBudget, type StreamIdleBudget, type StreamIdleRuntime, type StreamIdleWarningInfo, StreamOverflowError, TruncatedStreamError, FOREGROUND_QUERY_SOURCES, isOverloadClassFailure, isNetworkClassFailure, DEFAULT_NETWORK_GRACE_RETRY_MULTIPLIER, DEFAULT_NETWORK_GRACE_MAX_DELAY_MS, BackgroundOverloadError, parseMaxTokensOverflow, selfRepairMaxTokensValue, parseContextLimitBody, terminalRepairKind, ReasoningMandatoryError, isMandatoryReasoningRejection, MANDATORY_REASONING_BODY_SIGNATURES, assertImagesSupported, TOOL_IMAGE_NOTE, QUOTA_BODY_SIGNATURES, sniffQuotaBody, parseQuotaResetAt, isQuotaParkFailure, tryQuotaParkError, QuotaParkError, } from "./openai-compatible.js";
2
+ export { createAnthropicProvider } from "./anthropic.js";
3
+ export { createResponsesProvider } from "./responses.js";
4
+ export { withModelFallback } from "./model-fallback.js";
5
+ export type { ModelClientFactory, StreamingModelClient } from "./model-fallback.js";
6
+ export { MaxTokensThinkingBudgetConflictError } from "./model-failure.js";
7
+ export { parseRetryAfterMs, RETRY_AFTER_FAIL_CAP_MS } from "./retry-after.js";
8
+ export type { RetryAfterHeadersLike } from "./retry-after.js";
9
+ export { readErrorBody, ERROR_BODY_MAX_BYTES, ERROR_BODY_DEADLINE_MS } from "./error-body.js";
10
+ export type { ReadErrorBodyOptions } from "./error-body.js";
11
+ export { createProvider } from "./dispatcher.js";
12
+ export type { ProviderOptions, RetryLadderOptions, RetryObserver, AttachmentResolver } from "./openai-compatible.js";
13
+ export { modelInputModalities, resolveInputModalities, modelAcceptsImages, } from "./models.js";
14
+ export type { InputModality, ModelDescriptor } from "./models.js";
15
+ export { PROVIDER_PROFILES, REASONING_EFFORTS, REASONING_FORMATS, REASONING_REPLAYS, NO_KEY_REASON, parseApiKeyPool, isProviderName, isBuiltinProviderName, parseReasoningEffort, parseReasoningFormat, parseReasoningReplay, capClientReasoningReplay, parseWire, reasoningFormatBody, mandatoryRepairReasoningBody, reasoningResponseFields, pickReasoning, resolveReasoningContext, supportsReasoningEffort, resolveProviderConfig, resolveProviderConfigResult, acceptsReasoningOnlyFinish, omitsReasoningOnToolTurns, outputLimitEscalateFor, resolveWindowMode, } from "./config.js";
16
+ export { InbandThinkSplitter, resolveSplitInbandThinking } from "./split-inband-thinking.js";
17
+ export type { SplitOutput } from "./split-inband-thinking.js";
18
+ export type { ProviderConfig, ProviderConfigResult, ProviderName, BuiltinProviderName, ProviderProfile, ProviderSelection, ReasoningEffort, ReasoningFormat, ReasoningReplay, ReasoningRequestContext, WindowMode, CredentialsMap, } from "./config.js";
19
+ export { defaultProviderRegistryPath, readProviderRegistrySync, writeProviderRegistrySync, effectiveProfiles, validateUserProviderEntry, resolveContextWindowTokens, } from "./registry.js";
20
+ export type { ProviderModelEntry, UserProviderConfig, ProviderRegistryFile, RegistryLoadResult, EffectiveProfile, } from "./registry.js";
21
+ export { deriveCachePricing, isModelPrices, catalogPricesFor } from "./pricing.js";
22
+ export type { ModelPrices, PriceSource } from "./pricing.js";
23
+ export { supportedEfforts, reasoningContentStreams, MODEL_EFFORT_PINS, } from "./effort-catalog.js";
24
+ export { fetchProviderBalance, BALANCE_TIMEOUT_MS } from "./balance.js";
25
+ export type { BalanceInfo, ProviderBalance } from "./balance.js";
26
+ export { createKeyPool, createLiveKeyPool, keyPoolFromEnv, cooldownClassForStatus, DEFAULT_KEY_COOLDOWN_MS, DEFAULT_AUTH_COOLDOWN_MS, } from "./key-pool.js";
27
+ export type { KeyPool, KeyPoolOptions, KeyPoolSnapshot, CooldownClass } from "./key-pool.js";
28
+ export { createRatePauseWindow, DEFAULT_RATE_PAUSE_MS, RATE_PAUSE_SLICE_MS } from "./rate-pause.js";
29
+ export type { RatePauseWindow, RatePauseOptions } from "./rate-pause.js";
30
+ export { validatePersonaDefinition, effectiveLayers, BODY_WHITELIST, PROTOCOL_IDS } from "./persona/schema.js";
31
+ export { loadPersonaRegistry, lookupPersona } from "./persona/registry.js";
32
+ export type { PersonaRegistry } from "./persona/registry.js";
33
+ export { savePersonaDefinition, deletePersonaDefinition, personaIdsInDir } from "./persona/files.js";
34
+ export { BUILTIN_PERSONAS } from "./persona/builtins.js";
35
+ export { createPersonaRuntime, resolvePersona, parsePersonaSpec } from "./persona/runtime.js";
36
+ export type { PersonaRuntime, PersonaRuntimeSlots } from "./persona/runtime.js";
37
+ export { applyWirePersona, mergeBodyOverlay, resolveTemplate, resolvePersonaHeaders } from "./persona/apply.js";
38
+ export type { WirePersona } from "./persona/apply.js";
39
+ export { withPersona } from "./persona/decorator.js";
40
+ export type { ProtocolId, LayerFlags, PersonaDefinition, ResolvedPersona, PromptStyle, SystemStyle, BodyStyleOverlay, PersonaSource, } from "./persona/types.js";
41
+ export declare const PACKAGE_NAME = "@wudao-org/providers";
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}