@hilbras/omnihilbras 1.77.2 → 1.79.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.
Files changed (178) hide show
  1. package/dist/core/errors.d.ts.map +1 -0
  2. package/dist/core/errors.js.map +1 -0
  3. package/dist/core/modelFilters.d.ts.map +1 -0
  4. package/dist/core/modelFilters.js.map +1 -0
  5. package/dist/core/pricing.d.ts.map +1 -0
  6. package/dist/{pricing.js → core/pricing.js} +5 -1
  7. package/dist/core/pricing.js.map +1 -0
  8. package/dist/core/provider-slugs.d.ts +5 -0
  9. package/dist/core/provider-slugs.d.ts.map +1 -0
  10. package/dist/core/provider-slugs.js +50 -0
  11. package/dist/core/provider-slugs.js.map +1 -0
  12. package/dist/core/registry.d.ts.map +1 -0
  13. package/dist/core/registry.js.map +1 -0
  14. package/dist/core/secret-store.d.ts.map +1 -0
  15. package/dist/core/secret-store.js.map +1 -0
  16. package/dist/core/streaming.d.ts.map +1 -0
  17. package/dist/core/streaming.js.map +1 -0
  18. package/dist/core/tool-compress.d.ts +13 -0
  19. package/dist/core/tool-compress.d.ts.map +1 -0
  20. package/dist/core/tool-compress.js +45 -0
  21. package/dist/core/tool-compress.js.map +1 -0
  22. package/dist/core/tool-messages.d.ts +9 -0
  23. package/dist/core/tool-messages.d.ts.map +1 -0
  24. package/dist/core/tool-messages.js +28 -0
  25. package/dist/core/tool-messages.js.map +1 -0
  26. package/dist/{transport.d.ts → core/transport.d.ts} +23 -0
  27. package/dist/core/transport.d.ts.map +1 -0
  28. package/dist/{transport.js → core/transport.js} +70 -4
  29. package/dist/core/transport.js.map +1 -0
  30. package/dist/{types.d.ts → core/types.d.ts} +8 -0
  31. package/dist/core/types.d.ts.map +1 -0
  32. package/dist/core/types.js.map +1 -0
  33. package/dist/core/url.d.ts.map +1 -0
  34. package/dist/{url.js → core/url.js} +3 -1
  35. package/dist/core/url.js.map +1 -0
  36. package/dist/index.d.ts +29 -26
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +29 -26
  39. package/dist/index.js.map +1 -1
  40. package/dist/{adapters/anthropic.d.ts → providers/anthropic/index.d.ts} +3 -3
  41. package/dist/providers/anthropic/index.d.ts.map +1 -0
  42. package/dist/{adapters/anthropic.js → providers/anthropic/index.js} +6 -6
  43. package/dist/providers/anthropic/index.js.map +1 -0
  44. package/dist/{adapters/chatgpt-web.d.ts → providers/chatgpt-web/index.d.ts} +2 -2
  45. package/dist/providers/chatgpt-web/index.d.ts.map +1 -0
  46. package/dist/{adapters/chatgpt-web.js → providers/chatgpt-web/index.js} +2 -2
  47. package/dist/providers/chatgpt-web/index.js.map +1 -0
  48. package/dist/{adapters/claude-code.d.ts → providers/claude-code/index.d.ts} +3 -3
  49. package/dist/providers/claude-code/index.d.ts.map +1 -0
  50. package/dist/{adapters/claude-code.js → providers/claude-code/index.js} +20 -14
  51. package/dist/providers/claude-code/index.js.map +1 -0
  52. package/dist/{adapters/cline.d.ts → providers/cline/index.d.ts} +4 -4
  53. package/dist/providers/cline/index.d.ts.map +1 -0
  54. package/dist/{adapters/cline.js → providers/cline/index.js} +17 -9
  55. package/dist/providers/cline/index.js.map +1 -0
  56. package/dist/{adapters/clinepass.d.ts → providers/clinepass/index.d.ts} +3 -3
  57. package/dist/providers/clinepass/index.d.ts.map +1 -0
  58. package/dist/{adapters/clinepass.js → providers/clinepass/index.js} +2 -2
  59. package/dist/providers/clinepass/index.js.map +1 -0
  60. package/dist/providers/deepseek-web/deepseek-pow.d.ts.map +1 -0
  61. package/dist/providers/deepseek-web/deepseek-pow.js.map +1 -0
  62. package/dist/{adapters/deepseek-web.d.ts → providers/deepseek-web/index.d.ts} +2 -2
  63. package/dist/providers/deepseek-web/index.d.ts.map +1 -0
  64. package/dist/{adapters/deepseek-web.js → providers/deepseek-web/index.js} +2 -2
  65. package/dist/providers/deepseek-web/index.js.map +1 -0
  66. package/dist/{adapters/gemini.d.ts → providers/gemini/index.d.ts} +3 -3
  67. package/dist/providers/gemini/index.d.ts.map +1 -0
  68. package/dist/{adapters/gemini.js → providers/gemini/index.js} +5 -5
  69. package/dist/providers/gemini/index.js.map +1 -0
  70. package/dist/{adapters/kimi-code.d.ts → providers/kimi-code/index.d.ts} +3 -3
  71. package/dist/providers/kimi-code/index.d.ts.map +1 -0
  72. package/dist/{adapters/kimi-code.js → providers/kimi-code/index.js} +10 -5
  73. package/dist/providers/kimi-code/index.js.map +1 -0
  74. package/dist/{adapters/kiro.d.ts → providers/kiro/index.d.ts} +41 -5
  75. package/dist/providers/kiro/index.d.ts.map +1 -0
  76. package/dist/{adapters/kiro.js → providers/kiro/index.js} +132 -6
  77. package/dist/providers/kiro/index.js.map +1 -0
  78. package/dist/{adapters/openai.d.ts → providers/openai/index.d.ts} +2 -2
  79. package/dist/providers/openai/index.d.ts.map +1 -0
  80. package/dist/{adapters/openai.js → providers/openai/index.js} +2 -2
  81. package/dist/providers/openai/index.js.map +1 -0
  82. package/dist/{adapters/openai-compatible.d.ts → providers/openai-compatible/index.d.ts} +3 -3
  83. package/dist/{adapters/openai-compatible.d.ts.map → providers/openai-compatible/index.d.ts.map} +1 -1
  84. package/dist/{adapters/openai-compatible.js → providers/openai-compatible/index.js} +6 -5
  85. package/dist/providers/openai-compatible/index.js.map +1 -0
  86. package/dist/{adapters/opencode-console.d.ts → providers/opencode-console/index.d.ts} +16 -3
  87. package/dist/providers/opencode-console/index.d.ts.map +1 -0
  88. package/dist/{adapters/opencode-console.js → providers/opencode-console/index.js} +138 -6
  89. package/dist/providers/opencode-console/index.js.map +1 -0
  90. package/dist/{adapters/openrouter.d.ts → providers/openrouter/index.d.ts} +4 -4
  91. package/dist/providers/openrouter/index.d.ts.map +1 -0
  92. package/dist/{adapters/openrouter.js → providers/openrouter/index.js} +6 -6
  93. package/dist/providers/openrouter/index.js.map +1 -0
  94. package/dist/{adapters/qwen-web.d.ts → providers/qwen-web/index.d.ts} +3 -3
  95. package/dist/providers/qwen-web/index.d.ts.map +1 -0
  96. package/dist/{adapters/qwen-web.js → providers/qwen-web/index.js} +2 -2
  97. package/dist/providers/qwen-web/index.js.map +1 -0
  98. package/dist/{adapters/tokenharbor-web.d.ts → providers/tokenharbor-web/index.d.ts} +2 -2
  99. package/dist/providers/tokenharbor-web/index.d.ts.map +1 -0
  100. package/dist/{adapters/tokenharbor-web.js → providers/tokenharbor-web/index.js} +2 -2
  101. package/dist/providers/tokenharbor-web/index.js.map +1 -0
  102. package/dist/{adapters/zen.d.ts → providers/zen/index.d.ts} +12 -4
  103. package/dist/providers/zen/index.d.ts.map +1 -0
  104. package/dist/{adapters/zen.js → providers/zen/index.js} +73 -11
  105. package/dist/providers/zen/index.js.map +1 -0
  106. package/dist/{adapters → providers/zen}/zen-free-tier.d.ts +16 -14
  107. package/dist/providers/zen/zen-free-tier.d.ts.map +1 -0
  108. package/dist/{adapters → providers/zen}/zen-free-tier.js +17 -17
  109. package/dist/providers/zen/zen-free-tier.js.map +1 -0
  110. package/package.json +1 -1
  111. package/dist/adapters/anthropic.d.ts.map +0 -1
  112. package/dist/adapters/anthropic.js.map +0 -1
  113. package/dist/adapters/chatgpt-web.d.ts.map +0 -1
  114. package/dist/adapters/chatgpt-web.js.map +0 -1
  115. package/dist/adapters/claude-code.d.ts.map +0 -1
  116. package/dist/adapters/claude-code.js.map +0 -1
  117. package/dist/adapters/cline.d.ts.map +0 -1
  118. package/dist/adapters/cline.js.map +0 -1
  119. package/dist/adapters/clinepass.d.ts.map +0 -1
  120. package/dist/adapters/clinepass.js.map +0 -1
  121. package/dist/adapters/deepseek-pow.d.ts.map +0 -1
  122. package/dist/adapters/deepseek-pow.js.map +0 -1
  123. package/dist/adapters/deepseek-web.d.ts.map +0 -1
  124. package/dist/adapters/deepseek-web.js.map +0 -1
  125. package/dist/adapters/gemini.d.ts.map +0 -1
  126. package/dist/adapters/gemini.js.map +0 -1
  127. package/dist/adapters/kimi-code.d.ts.map +0 -1
  128. package/dist/adapters/kimi-code.js.map +0 -1
  129. package/dist/adapters/kiro.d.ts.map +0 -1
  130. package/dist/adapters/kiro.js.map +0 -1
  131. package/dist/adapters/openai-compatible.js.map +0 -1
  132. package/dist/adapters/openai.d.ts.map +0 -1
  133. package/dist/adapters/openai.js.map +0 -1
  134. package/dist/adapters/opencode-console.d.ts.map +0 -1
  135. package/dist/adapters/opencode-console.js.map +0 -1
  136. package/dist/adapters/openrouter.d.ts.map +0 -1
  137. package/dist/adapters/openrouter.js.map +0 -1
  138. package/dist/adapters/qwen-web.d.ts.map +0 -1
  139. package/dist/adapters/qwen-web.js.map +0 -1
  140. package/dist/adapters/tokenharbor-web.d.ts.map +0 -1
  141. package/dist/adapters/tokenharbor-web.js.map +0 -1
  142. package/dist/adapters/zen-free-tier.d.ts.map +0 -1
  143. package/dist/adapters/zen-free-tier.js.map +0 -1
  144. package/dist/adapters/zen.d.ts.map +0 -1
  145. package/dist/adapters/zen.js.map +0 -1
  146. package/dist/errors.d.ts.map +0 -1
  147. package/dist/errors.js.map +0 -1
  148. package/dist/modelFilters.d.ts.map +0 -1
  149. package/dist/modelFilters.js.map +0 -1
  150. package/dist/pricing.d.ts.map +0 -1
  151. package/dist/pricing.js.map +0 -1
  152. package/dist/registry.d.ts.map +0 -1
  153. package/dist/registry.js.map +0 -1
  154. package/dist/secret-store.d.ts.map +0 -1
  155. package/dist/secret-store.js.map +0 -1
  156. package/dist/streaming.d.ts.map +0 -1
  157. package/dist/streaming.js.map +0 -1
  158. package/dist/transport.d.ts.map +0 -1
  159. package/dist/transport.js.map +0 -1
  160. package/dist/types.d.ts.map +0 -1
  161. package/dist/types.js.map +0 -1
  162. package/dist/url.d.ts.map +0 -1
  163. package/dist/url.js.map +0 -1
  164. /package/dist/{errors.d.ts → core/errors.d.ts} +0 -0
  165. /package/dist/{errors.js → core/errors.js} +0 -0
  166. /package/dist/{modelFilters.d.ts → core/modelFilters.d.ts} +0 -0
  167. /package/dist/{modelFilters.js → core/modelFilters.js} +0 -0
  168. /package/dist/{pricing.d.ts → core/pricing.d.ts} +0 -0
  169. /package/dist/{registry.d.ts → core/registry.d.ts} +0 -0
  170. /package/dist/{registry.js → core/registry.js} +0 -0
  171. /package/dist/{secret-store.d.ts → core/secret-store.d.ts} +0 -0
  172. /package/dist/{secret-store.js → core/secret-store.js} +0 -0
  173. /package/dist/{streaming.d.ts → core/streaming.d.ts} +0 -0
  174. /package/dist/{streaming.js → core/streaming.js} +0 -0
  175. /package/dist/{types.js → core/types.js} +0 -0
  176. /package/dist/{url.d.ts → core/url.d.ts} +0 -0
  177. /package/dist/{adapters → providers/deepseek-web}/deepseek-pow.d.ts +0 -0
  178. /package/dist/{adapters → providers/deepseek-web}/deepseek-pow.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,WAAW,GACX,iBAAiB,GACjB,uBAAuB,GACvB,cAAc,GACd,yBAAyB,GACzB,kBAAkB,GAClB,sBAAsB,GACtB,kBAAkB,GAClB,WAAW,GACX,qBAAqB,CAAC;AAE1B,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;gBAEpB,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;IAqBxF,MAAM;;;;;;;CAYP;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,+bAe5D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,IAAI,CAAoB;IACxB,UAAU,CAAU;IACpB,UAAU,CAAU;IACpB,SAAS,CAAU;IACnB,OAAO,CAAW;IAClB,aAAa,CAAU;IAEhC,YAAY,IAAuB,EAAE,OAAe,EAAE,UAAgC,EAAE;QACtF,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QAC5C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE;YAC3C,KAAK,EAAE,OAAO,CAAC,aAAa;YAC5B,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;YACrC,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,2EAA2E;QAC3E,yEAAyE;QACzE,8CAA8C;QAC9C,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,aAAa,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/D,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAuB;IAC3D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,uBAAuB,CAAC,CAAC,OAAO,iCAAiC,CAAC;QACvE,KAAK,cAAc,CAAC,CAAC,OAAO,sCAAsC,CAAC;QACnE,KAAK,kBAAkB,CAAC,CAAC,OAAO,iCAAiC,CAAC;QAClE,KAAK,sBAAsB,CAAC,CAAC,OAAO,0CAA0C,CAAC;QAC/E,KAAK,WAAW,CAAC,CAAC,OAAO,4BAA4B,CAAC;QACtD,KAAK,kBAAkB,CAAC,CAAC,OAAO,4CAA4C,CAAC;QAC7E,KAAK,eAAe,CAAC,CAAC,OAAO,0DAA0D,CAAC;QACxF,KAAK,WAAW,CAAC,CAAC,OAAO,uCAAuC,CAAC;QACjE,KAAK,iBAAiB,CAAC,CAAC,OAAO,yBAAyB,CAAC;QACzD,KAAK,qBAAqB,CAAC,CAAC,OAAO,2CAA2C,CAAC;QAC/E,KAAK,yBAAyB,CAAC;QAC/B,OAAO,CAAC,CAAC,OAAO,8BAA8B,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,aAAa,CAAC;AACxC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelFilters.d.ts","sourceRoot":"","sources":["../../src/core/modelFilters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelFilters.js","sourceRoot":"","sources":["../../src/core/modelFilters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../src/core/pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;GAQG;AAEH,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,UAAY,CAAC;AAgB1C;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMhE;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKlE;AAaD,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,CAG9E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAUxE;AAED,kEAAkE;AAClE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIzE"}
@@ -55,7 +55,11 @@ export function perMillionPrice(value) {
55
55
  * on a filter and a tooltip, and four decimals is finer than any of these figures.
56
56
  */
57
57
  function roundPrice(value) {
58
- return Math.round(value * 10_000) / 10_000;
58
+ const rounded = Math.round(value * 10_000) / 10_000;
59
+ // A real charge below the 4-decimal floor is kept, not erased into a zero that reads as free.
60
+ if (rounded === 0 && value > 0)
61
+ return value;
62
+ return rounded;
59
63
  }
60
64
  /** Drops absent entries so an unquoted model does not report a price of zero. */
61
65
  export function compactPricing(pricing) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/core/pricing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** The prefix for a provider id: its fixed slug, or the id itself when the table has no entry. */
2
+ export declare function providerSlug(providerId: string): string;
3
+ /** A model id as clients see it: `<slug>/<model>`. */
4
+ export declare function qualifiedModelId(providerId: string, modelId: string): string;
5
+ //# sourceMappingURL=provider-slugs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-slugs.d.ts","sourceRoot":"","sources":["../../src/core/provider-slugs.ts"],"names":[],"mappings":"AA0CA,kGAAkG;AAClG,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5E"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * The prefix a model id carries, per provider: `<slug>/<model>`.
3
+ *
4
+ * Each slug is fixed by hand from the provider's title and kept here, rather than computed from the title at
5
+ * runtime. A title can be renamed on a card, and a model id built from it would then change under every saved
6
+ * client. A slug only changes in a release, and only on purpose.
7
+ *
8
+ * A provider missing from this table falls back to its id, so a new provider is never given an empty prefix.
9
+ */
10
+ const PROVIDER_SLUGS = {
11
+ 'opencode-console': 'opencode-console',
12
+ 'chatgpt-web': 'chatgpt-web',
13
+ 'qwen-web': 'qwen-web',
14
+ 'deepseek-web': 'deepseek-web',
15
+ kiro: 'kiro',
16
+ cline: 'cline',
17
+ clinepass: 'clinepass',
18
+ opencode: 'opencode-zen',
19
+ ollama: 'ollama',
20
+ mistral: 'mistral',
21
+ openrouter: 'openrouter',
22
+ 'nara-router': 'nararouter',
23
+ tokenharbor: 'tokenharbor',
24
+ apmix: 'apmix',
25
+ apinex: 'apinex',
26
+ tiarina: 'tiarina',
27
+ xkiro: 'xkiro',
28
+ 'tokenharbor-web': 'token-harbor-web',
29
+ kimi: 'kimi',
30
+ 'kimi-code': 'kimi-code',
31
+ 'claude-code': 'claude-code',
32
+ deepseek: 'deepseek',
33
+ qwen: 'qwen',
34
+ groq: 'groq',
35
+ grok: 'grok',
36
+ nvidia: 'nvidia',
37
+ openai: 'openai',
38
+ anthropic: 'anthropic',
39
+ gemini: 'gemini',
40
+ custom: 'custom-endpoint',
41
+ };
42
+ /** The prefix for a provider id: its fixed slug, or the id itself when the table has no entry. */
43
+ export function providerSlug(providerId) {
44
+ return PROVIDER_SLUGS[providerId] ?? providerId;
45
+ }
46
+ /** A model id as clients see it: `<slug>/<model>`. */
47
+ export function qualifiedModelId(providerId, modelId) {
48
+ return `${providerSlug(providerId)}/${modelId}`;
49
+ }
50
+ //# sourceMappingURL=provider-slugs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-slugs.js","sourceRoot":"","sources":["../../src/core/provider-slugs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAqC;IACvD,kBAAkB,EAAE,kBAAkB;IACtC,aAAa,EAAE,aAAa;IAC5B,UAAU,EAAE,UAAU;IACtB,cAAc,EAAE,cAAc;IAC9B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,YAAY;IAC3B,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,kBAAkB;IACrC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,WAAW;IACxB,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,iBAAiB;CAC1B,CAAC;AAEF,kGAAkG;AAClG,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC7C,OAAO,cAAc,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;AAClD,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,OAAe;IAClE,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,OAAO,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAElF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IAEnE,QAAQ,CAAC,OAAO,EAAE,eAAe;IAiBjC,UAAU,CAAC,UAAU,EAAE,UAAU;IAIjC,GAAG,CAAC,UAAU,EAAE,UAAU;IAI1B,OAAO,CAAC,UAAU,EAAE,UAAU;IAU9B,GAAG,CAAC,UAAU,EAAE,UAAU;IAI1B,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB;IAI/D,IAAI;CAGL"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,OAAO,gBAAgB;IACV,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEnE,QAAQ,CAAC,OAAwB;QAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,aAAa,CAAC,qBAAqB,EAAE,oCAAoC,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,aAAa,CAAC,qBAAqB,EAAE,wCAAwC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACxF,MAAM,IAAI,aAAa,CAAC,qBAAqB,EAAE,0DAA0D,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACtJ,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACrF,MAAM,IAAI,aAAa,CAAC,qBAAqB,EAAE,uDAAuD,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACnJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,UAAsB;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG,CAAC,UAAsB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,UAAsB;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,uCAAuC,UAAU,GAAG,EAAE;gBACzF,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,UAAsB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,UAAsB,EAAE,UAA8B;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACpE,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-store.d.ts","sourceRoot":"","sources":["../../src/core/secret-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;CACtE;AAED,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6C;gBAE7D,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAM;IAMpE,GAAG,CAAC,UAAU,EAAE,UAAU;IAIhC,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB;IAI1D,MAAM,CAAC,UAAU,EAAE,UAAU;CAG9B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-store.js","sourceRoot":"","sources":["../../src/core/secret-store.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,mBAAmB;IACb,WAAW,GAAG,IAAI,GAAG,EAAkC,CAAC;IAEzE,YAAY,UAA4D,EAAE;QACxE,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,UAAsB;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG,CAAC,UAAsB,EAAE,UAA8B;QACxD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,UAAsB;QAC3B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/core/streaming.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAIF,wBAAuB,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,GAAE,eAAoB,GAAG,aAAa,CAAC,QAAQ,CAAC,CAqE3H;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAWnF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/core/streaming.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ChatMessage } from './types.js';
2
+ /**
3
+ * Shortens long plain-text tool results before they are resent, keeping the head and tail and stating how many
4
+ * lines were dropped. Agent loops resend every result on every turn, and most of a long output is never read
5
+ * again.
6
+ *
7
+ * It never touches a result marked as an error, a message that is not a tool result, or content that is not
8
+ * text, and it returns the original messages when anything goes wrong or when the output would not be smaller.
9
+ */
10
+ export declare function compressToolResults(messages: readonly ChatMessage[]): ChatMessage[];
11
+ /** The total bytes of text in tool results, for reporting how much compression saved. */
12
+ export declare function toolResultBytes(messages: readonly ChatMessage[]): number;
13
+ //# sourceMappingURL=tool-compress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-compress.d.ts","sourceRoot":"","sources":["../../src/core/tool-compress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAM9C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,EAAE,CAMnF;AAgBD,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,CAMxE"}
@@ -0,0 +1,45 @@
1
+ const longAfterLines = 250;
2
+ const keepHeadLines = 120;
3
+ const keepTailLines = 60;
4
+ /**
5
+ * Shortens long plain-text tool results before they are resent, keeping the head and tail and stating how many
6
+ * lines were dropped. Agent loops resend every result on every turn, and most of a long output is never read
7
+ * again.
8
+ *
9
+ * It never touches a result marked as an error, a message that is not a tool result, or content that is not
10
+ * text, and it returns the original messages when anything goes wrong or when the output would not be smaller.
11
+ */
12
+ export function compressToolResults(messages) {
13
+ try {
14
+ return messages.map(compressOne);
15
+ }
16
+ catch {
17
+ return messages;
18
+ }
19
+ }
20
+ function compressOne(message) {
21
+ if (message.role !== 'tool' || message.isError || typeof message.content !== 'string')
22
+ return message;
23
+ const lines = message.content.split('\n');
24
+ if (lines.length <= longAfterLines)
25
+ return message;
26
+ const omitted = lines.length - keepHeadLines - keepTailLines;
27
+ const shortened = [
28
+ ...lines.slice(0, keepHeadLines),
29
+ `... ${omitted} lines omitted ...`,
30
+ ...lines.slice(lines.length - keepTailLines),
31
+ ].join('\n');
32
+ if (shortened.length >= message.content.length)
33
+ return message;
34
+ return { ...message, content: shortened };
35
+ }
36
+ /** The total bytes of text in tool results, for reporting how much compression saved. */
37
+ export function toolResultBytes(messages) {
38
+ let total = 0;
39
+ for (const message of messages) {
40
+ if (message.role === 'tool' && typeof message.content === 'string')
41
+ total += new TextEncoder().encode(message.content).length;
42
+ }
43
+ return total;
44
+ }
45
+ //# sourceMappingURL=tool-compress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-compress.js","sourceRoot":"","sources":["../../src/core/tool-compress.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgC;IAClE,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAyB,CAAC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAAoB;IACvC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IACtG,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,MAAM,IAAI,cAAc;QAAE,OAAO,OAAO,CAAC;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;IAC7D,MAAM,SAAS,GAAG;QAChB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;QAChC,OAAO,OAAO,oBAAoB;QAClC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;KAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,IAAI,SAAS,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAC/D,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,eAAe,CAAC,QAAgC;IAC9D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;YAAE,KAAK,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAChI,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ChatMessage } from './types.js';
2
+ /**
3
+ * Answers every tool call that has no result, by inserting an empty `tool` message directly after the
4
+ * assistant turn that made the call. A provider refuses a conversation with an unanswered call (DeepSeek
5
+ * answers 400), and an agent that interrupts a parallel round produces exactly that. Existing results are
6
+ * kept as they are, and the input is not changed.
7
+ */
8
+ export declare function completeToolRounds(messages: readonly ChatMessage[]): ChatMessage[];
9
+ //# sourceMappingURL=tool-messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-messages.d.ts","sourceRoot":"","sources":["../../src/core/tool-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,EAAE,CAiBlF"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Answers every tool call that has no result, by inserting an empty `tool` message directly after the
3
+ * assistant turn that made the call. A provider refuses a conversation with an unanswered call (DeepSeek
4
+ * answers 400), and an agent that interrupts a parallel round produces exactly that. Existing results are
5
+ * kept as they are, and the input is not changed.
6
+ */
7
+ export function completeToolRounds(messages) {
8
+ const out = [];
9
+ for (let index = 0; index < messages.length; index += 1) {
10
+ const message = messages[index];
11
+ out.push(message);
12
+ const calls = message.role === 'assistant' ? message.toolCalls ?? [] : [];
13
+ if (calls.length === 0)
14
+ continue;
15
+ const answered = new Set();
16
+ for (let next = index + 1; next < messages.length && messages[next].role === 'tool'; next += 1) {
17
+ const id = messages[next].toolCallId;
18
+ if (id)
19
+ answered.add(id);
20
+ }
21
+ for (const call of calls) {
22
+ if (!answered.has(call.id))
23
+ out.push({ role: 'tool', content: '', toolCallId: call.id });
24
+ }
25
+ }
26
+ return out;
27
+ }
28
+ //# sourceMappingURL=tool-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-messages.js","sourceRoot":"","sources":["../../src/core/tool-messages.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgC;IACjE,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAE,CAAC,IAAI,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YAChG,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAE,CAAC,UAAU,CAAC;YACtC,IAAI,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -50,6 +50,14 @@ export type FetchHttpTransportOptions = {
50
50
  maxResponseBytes?: number;
51
51
  maxStreamBytes?: number;
52
52
  maxStreamDurationMs?: number;
53
+ /**
54
+ * Asked before a remote request is sent, with the hostname from the URL. Throw to refuse it.
55
+ *
56
+ * The SDK cannot resolve names itself: it is bundled into the browser dashboard, where `node:dns`
57
+ * does not exist. A host that runs in Node supplies the check, and the gateway does. Absent, the
58
+ * request is sent as before, so existing callers are unchanged.
59
+ */
60
+ checkDestination?: (hostname: string, signal?: AbortSignal) => Promise<void>;
53
61
  };
54
62
  export declare class FetchHttpTransport implements HttpTransport {
55
63
  private readonly fetchImpl;
@@ -58,9 +66,24 @@ export declare class FetchHttpTransport implements HttpTransport {
58
66
  private readonly maxResponseBytes;
59
67
  private readonly maxStreamBytes;
60
68
  private readonly maxStreamDurationMs;
69
+ private readonly checkDestination;
61
70
  constructor(options?: FetchHttpTransportOptions);
62
71
  request<T>(request: HttpRequest): Promise<HttpResponse<T>>;
72
+ /**
73
+ * Refuses a remote destination the host's check rejects, with the same error shape as the URL check.
74
+ *
75
+ * Loopback hosts are not checked here. They are the deliberate local-inference exemption, and a
76
+ * check that refused them would break the default compatible base (`localhost`).
77
+ */
78
+ private assertDestination;
63
79
  stream(request: HttpRequest): AsyncIterable<string>;
64
80
  }
65
81
  export declare function providerErrorDetail(body: unknown): string | undefined;
82
+ /**
83
+ * The wait a provider asked for in `Retry-After`, in milliseconds, or undefined when it asked for none.
84
+ *
85
+ * RFC 9110 allows delay-seconds or an HTTP date. A value that is neither, or a date already past, is
86
+ * treated as no advice rather than a zero wait, so a malformed header cannot make the gateway retry at once.
87
+ */
88
+ export declare function retryAfterMs(value: string | null, now?: number): number | undefined;
66
89
  //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/core/transport.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE5F;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;CACrD;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E,CAAC;AAcF,qBAAa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0E;gBAE/F,OAAO,GAAE,yBAA8B;IAe7C,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAmDhE;;;;;OAKG;YACW,iBAAiB;IAwBxB,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC;CAwE3D;AAuID,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkCrE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,GAAG,SAAS,CAQ/F"}
@@ -1,5 +1,5 @@
1
1
  import { isProviderError, ProviderError } from './errors.js';
2
- import { assertSafeProviderRequestUrl } from './url.js';
2
+ import { assertSafeProviderRequestUrl, isLoopbackHostname } from './url.js';
3
3
  const defaultTimeoutMs = 30_000;
4
4
  const defaultMaxResponseBytes = 10 * 1024 * 1024;
5
5
  const defaultMaxStreamBytes = 50 * 1024 * 1024;
@@ -11,6 +11,7 @@ export class FetchHttpTransport {
11
11
  maxResponseBytes;
12
12
  maxStreamBytes;
13
13
  maxStreamDurationMs;
14
+ checkDestination;
14
15
  constructor(options = {}) {
15
16
  const fetchImpl = options.fetch ?? globalThis.fetch;
16
17
  if (!fetchImpl) {
@@ -22,9 +23,11 @@ export class FetchHttpTransport {
22
23
  this.maxResponseBytes = options.maxResponseBytes ?? defaultMaxResponseBytes;
23
24
  this.maxStreamBytes = options.maxStreamBytes ?? defaultMaxStreamBytes;
24
25
  this.maxStreamDurationMs = options.maxStreamDurationMs ?? defaultMaxStreamDurationMs;
26
+ this.checkDestination = options.checkDestination;
25
27
  }
26
28
  async request(request) {
27
29
  assertSafeProviderRequestUrl(request.url, request.providerId ?? 'provider');
30
+ await this.assertDestination(request);
28
31
  const lifecycle = createRequestLifecycle(request.signal, this.timeoutMs);
29
32
  try {
30
33
  const response = await this.fetchImpl(request.url, {
@@ -54,8 +57,10 @@ export class FetchHttpTransport {
54
57
  catch {
55
58
  body = undefined;
56
59
  }
57
- // Opted out only by an OAuth token exchange, where the body *is* the answer.
58
- if (!request.tolerateRefusalBody)
60
+ // Opted out only by an OAuth token exchange, where a 4xx body *is* the answer. A 5xx carries no answer:
61
+ // it is an outage in front of the endpoint, and is classified like any other.
62
+ const refusal = response.status >= 400 && response.status < 500;
63
+ if (!request.tolerateRefusalBody || !refusal)
59
64
  throw providerErrorFromResponse(response, body, request.providerId);
60
65
  return { status: response.status, headers: response.headers, data: body };
61
66
  }
@@ -71,8 +76,41 @@ export class FetchHttpTransport {
71
76
  lifecycle.cleanup();
72
77
  }
73
78
  }
79
+ /**
80
+ * Refuses a remote destination the host's check rejects, with the same error shape as the URL check.
81
+ *
82
+ * Loopback hosts are not checked here. They are the deliberate local-inference exemption, and a
83
+ * check that refused them would break the default compatible base (`localhost`).
84
+ */
85
+ async assertDestination(request) {
86
+ if (!this.checkDestination)
87
+ return;
88
+ const hostname = new URL(request.url).hostname.replace(/^\[|\]$/g, '');
89
+ if (isLoopbackHostname(hostname))
90
+ return;
91
+ try {
92
+ await this.checkDestination(hostname, request.signal);
93
+ }
94
+ catch (error) {
95
+ if (request.signal?.aborted) {
96
+ throw new ProviderError('CANCELLED', 'The provider request was cancelled.', { providerId: request.providerId, cause: error });
97
+ }
98
+ if (isTemporaryDnsFailure(error)) {
99
+ throw new ProviderError('PROVIDER_UNAVAILABLE', 'The provider destination could not be resolved.', {
100
+ providerId: request.providerId,
101
+ cause: error,
102
+ retryable: true,
103
+ });
104
+ }
105
+ throw new ProviderError('CONFIGURATION_ERROR', `Provider destination refused for ${request.providerId ?? 'provider'}.`, {
106
+ providerId: request.providerId,
107
+ cause: error,
108
+ });
109
+ }
110
+ }
74
111
  async *stream(request) {
75
112
  assertSafeProviderRequestUrl(request.url, request.providerId ?? 'provider');
113
+ await this.assertDestination(request);
76
114
  const lifecycle = createRequestLifecycle(request.signal, this.streamIdleTimeoutMs, this.maxStreamDurationMs);
77
115
  try {
78
116
  const response = await this.fetchImpl(request.url, {
@@ -331,6 +369,30 @@ export function providerErrorDetail(body) {
331
369
  .trim();
332
370
  return cleaned ? cleaned.slice(0, 200) : undefined;
333
371
  }
372
+ /**
373
+ * The wait a provider asked for in `Retry-After`, in milliseconds, or undefined when it asked for none.
374
+ *
375
+ * RFC 9110 allows delay-seconds or an HTTP date. A value that is neither, or a date already past, is
376
+ * treated as no advice rather than a zero wait, so a malformed header cannot make the gateway retry at once.
377
+ */
378
+ export function retryAfterMs(value, now = Date.now()) {
379
+ if (value === null)
380
+ return undefined;
381
+ const trimmed = value.trim();
382
+ if (/^\d+$/.test(trimmed))
383
+ return Number(trimmed) * 1000;
384
+ const at = Date.parse(trimmed);
385
+ if (Number.isNaN(at))
386
+ return undefined;
387
+ const wait = at - now;
388
+ return wait > 0 ? wait : undefined;
389
+ }
390
+ function retryAfterDetail(code, response) {
391
+ if (code !== 'RATE_LIMITED')
392
+ return {};
393
+ const retryAfter = retryAfterMs(response.headers.get('retry-after'));
394
+ return retryAfter === undefined ? {} : { retryAfterMs: retryAfter };
395
+ }
334
396
  function providerErrorFromResponse(response, body, providerId) {
335
397
  /**
336
398
  * A 403 is a refusal, not proof that the credential is bad.
@@ -369,7 +431,7 @@ function providerErrorFromResponse(response, body, providerId) {
369
431
  providerId,
370
432
  statusCode: response.status,
371
433
  retryable: code === 'RATE_LIMITED' || code === 'PROVIDER_TIMEOUT' || code === 'PROVIDER_UNAVAILABLE',
372
- ...(detail ? { details: { providerMessage: detail } } : {}),
434
+ ...(detail ? { details: { providerMessage: detail, ...retryAfterDetail(code, response) } } : {}),
373
435
  });
374
436
  }
375
437
  function normalizeTransportError(error, requestSignal, lifecycle) {
@@ -383,6 +445,10 @@ function normalizeTransportError(error, requestSignal, lifecycle) {
383
445
  }
384
446
  return new ProviderError('PROVIDER_UNAVAILABLE', 'The provider could not be reached.', { cause: error, retryable: true });
385
447
  }
448
+ function isTemporaryDnsFailure(error) {
449
+ const code = error?.code;
450
+ return code === 'EAI_AGAIN';
451
+ }
386
452
  function isAbortError(error) {
387
453
  return error instanceof Error && error.name === 'AbortError';
388
454
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/core/transport.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,13 @@ export type ChatMessage = {
42
42
  name?: string;
43
43
  toolCallId?: string;
44
44
  toolCalls?: readonly ToolCall[];
45
+ /** A tool result that reports a failure, so the provider does not read it as success. */
46
+ isError?: boolean;
47
+ /**
48
+ * The reasoning a thinking model produced on this assistant turn. Some providers refuse a tool round unless
49
+ * it is sent back (DeepSeek answers 400 without it), so it is kept with the message and replayed to that provider.
50
+ */
51
+ reasoning?: string;
45
52
  };
46
53
  export type ChatRequest = {
47
54
  model: string;
@@ -198,6 +205,7 @@ export type ProviderCredential = {
198
205
  accountId?: string;
199
206
  oauthClientId?: string;
200
207
  oauthClientSecret?: string;
208
+ kiroLogin?: 'social';
201
209
  } | {
202
210
  type: 'none';
203
211
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/core/url.ts"],"names":[],"mappings":"AAEA,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UASzE;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAY7E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAenF;AAKD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,QAKzH;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAI5F;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,0BAQtG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,WAuBjD;AAmED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,WAKlD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,UAMrD"}
@@ -66,7 +66,9 @@ export function sanitizeProviderHeaders(headers, providerId) {
66
66
  return safe;
67
67
  }
68
68
  export function isPrivateHostname(hostname) {
69
- const normalized = hostname.trim().toLowerCase().replace(/^\[|\]$/g, '');
69
+ // `localhost.` and `nas.local.` are the same DNS names with a fully qualified trailing dot. Stripping it keeps
70
+ // the suffix checks below from being bypassed by a single character.
71
+ const normalized = hostname.trim().toLowerCase().replace(/^\[|\]$/g, '').replace(/\.$/, '');
70
72
  if (normalized === 'localhost' || normalized.endsWith('.local') || normalized.endsWith('.internal'))
71
73
  return true;
72
74
  // An IPv4-mapped or -compatible IPv6 address is an IPv4 address wearing a hat: `::ffff:169.254.169.254`
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/core/url.ts"],"names":[],"mappings":"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"}