@clinebot/llms 0.0.18 → 0.0.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 (319) hide show
  1. package/dist/config-browser.d.ts +1 -0
  2. package/dist/config-browser.d.ts.map +1 -0
  3. package/dist/config.d.ts +1 -0
  4. package/dist/config.d.ts.map +1 -0
  5. package/dist/index.browser.d.ts +1 -0
  6. package/dist/index.browser.d.ts.map +1 -0
  7. package/dist/index.browser.js +5 -5
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +12 -12
  11. package/dist/models/generated-access.d.ts +1 -0
  12. package/dist/models/generated-access.d.ts.map +1 -0
  13. package/dist/models/generated-provider-loaders.d.ts +1 -0
  14. package/dist/models/generated-provider-loaders.d.ts.map +1 -0
  15. package/dist/models/generated.d.ts +1 -0
  16. package/dist/models/generated.d.ts.map +1 -0
  17. package/dist/models/index.d.ts +1 -0
  18. package/dist/models/index.d.ts.map +1 -0
  19. package/dist/models/models-dev-catalog.d.ts +1 -0
  20. package/dist/models/models-dev-catalog.d.ts.map +1 -0
  21. package/dist/models/providers/aihubmix.d.ts +1 -0
  22. package/dist/models/providers/aihubmix.d.ts.map +1 -0
  23. package/dist/models/providers/anthropic.d.ts +1 -0
  24. package/dist/models/providers/anthropic.d.ts.map +1 -0
  25. package/dist/models/providers/asksage.d.ts +1 -0
  26. package/dist/models/providers/asksage.d.ts.map +1 -0
  27. package/dist/models/providers/baseten.d.ts +1 -0
  28. package/dist/models/providers/baseten.d.ts.map +1 -0
  29. package/dist/models/providers/bedrock.d.ts +1 -0
  30. package/dist/models/providers/bedrock.d.ts.map +1 -0
  31. package/dist/models/providers/cerebras.d.ts +1 -0
  32. package/dist/models/providers/cerebras.d.ts.map +1 -0
  33. package/dist/models/providers/claude-code.d.ts +1 -0
  34. package/dist/models/providers/claude-code.d.ts.map +1 -0
  35. package/dist/models/providers/cline.d.ts +1 -0
  36. package/dist/models/providers/cline.d.ts.map +1 -0
  37. package/dist/models/providers/deepseek.d.ts +1 -0
  38. package/dist/models/providers/deepseek.d.ts.map +1 -0
  39. package/dist/models/providers/dify.d.ts +1 -0
  40. package/dist/models/providers/dify.d.ts.map +1 -0
  41. package/dist/models/providers/doubao.d.ts +1 -0
  42. package/dist/models/providers/doubao.d.ts.map +1 -0
  43. package/dist/models/providers/fireworks.d.ts +1 -0
  44. package/dist/models/providers/fireworks.d.ts.map +1 -0
  45. package/dist/models/providers/gemini.d.ts +1 -0
  46. package/dist/models/providers/gemini.d.ts.map +1 -0
  47. package/dist/models/providers/groq.d.ts +1 -0
  48. package/dist/models/providers/groq.d.ts.map +1 -0
  49. package/dist/models/providers/hicap.d.ts +1 -0
  50. package/dist/models/providers/hicap.d.ts.map +1 -0
  51. package/dist/models/providers/huawei-cloud-maas.d.ts +1 -0
  52. package/dist/models/providers/huawei-cloud-maas.d.ts.map +1 -0
  53. package/dist/models/providers/huggingface.d.ts +1 -0
  54. package/dist/models/providers/huggingface.d.ts.map +1 -0
  55. package/dist/models/providers/index.d.ts +1 -0
  56. package/dist/models/providers/index.d.ts.map +1 -0
  57. package/dist/models/providers/litellm.d.ts +1 -0
  58. package/dist/models/providers/litellm.d.ts.map +1 -0
  59. package/dist/models/providers/lmstudio.d.ts +1 -0
  60. package/dist/models/providers/lmstudio.d.ts.map +1 -0
  61. package/dist/models/providers/minimax.d.ts +1 -0
  62. package/dist/models/providers/minimax.d.ts.map +1 -0
  63. package/dist/models/providers/mistral.d.ts +1 -0
  64. package/dist/models/providers/mistral.d.ts.map +1 -0
  65. package/dist/models/providers/moonshot.d.ts +1 -0
  66. package/dist/models/providers/moonshot.d.ts.map +1 -0
  67. package/dist/models/providers/nebius.d.ts +1 -0
  68. package/dist/models/providers/nebius.d.ts.map +1 -0
  69. package/dist/models/providers/nous-research.d.ts +1 -0
  70. package/dist/models/providers/nous-research.d.ts.map +1 -0
  71. package/dist/models/providers/oca.d.ts +1 -0
  72. package/dist/models/providers/oca.d.ts.map +1 -0
  73. package/dist/models/providers/ollama.d.ts +1 -0
  74. package/dist/models/providers/ollama.d.ts.map +1 -0
  75. package/dist/models/providers/openai-codex.d.ts +1 -0
  76. package/dist/models/providers/openai-codex.d.ts.map +1 -0
  77. package/dist/models/providers/openai.d.ts +1 -0
  78. package/dist/models/providers/openai.d.ts.map +1 -0
  79. package/dist/models/providers/opencode.d.ts +1 -0
  80. package/dist/models/providers/opencode.d.ts.map +1 -0
  81. package/dist/models/providers/openrouter.d.ts +1 -0
  82. package/dist/models/providers/openrouter.d.ts.map +1 -0
  83. package/dist/models/providers/qwen-code.d.ts +1 -0
  84. package/dist/models/providers/qwen-code.d.ts.map +1 -0
  85. package/dist/models/providers/qwen.d.ts +1 -0
  86. package/dist/models/providers/qwen.d.ts.map +1 -0
  87. package/dist/models/providers/requesty.d.ts +1 -0
  88. package/dist/models/providers/requesty.d.ts.map +1 -0
  89. package/dist/models/providers/sambanova.d.ts +1 -0
  90. package/dist/models/providers/sambanova.d.ts.map +1 -0
  91. package/dist/models/providers/sapaicore.d.ts +1 -0
  92. package/dist/models/providers/sapaicore.d.ts.map +1 -0
  93. package/dist/models/providers/together.d.ts +1 -0
  94. package/dist/models/providers/together.d.ts.map +1 -0
  95. package/dist/models/providers/vercel-ai-gateway.d.ts +1 -0
  96. package/dist/models/providers/vercel-ai-gateway.d.ts.map +1 -0
  97. package/dist/models/providers/vertex.d.ts +1 -0
  98. package/dist/models/providers/vertex.d.ts.map +1 -0
  99. package/dist/models/providers/xai.d.ts +1 -0
  100. package/dist/models/providers/xai.d.ts.map +1 -0
  101. package/dist/models/providers/zai.d.ts +1 -0
  102. package/dist/models/providers/zai.d.ts.map +1 -0
  103. package/dist/models/query.d.ts +1 -0
  104. package/dist/models/query.d.ts.map +1 -0
  105. package/dist/models/registry.d.ts +1 -0
  106. package/dist/models/registry.d.ts.map +1 -0
  107. package/dist/models/schemas/index.d.ts +1 -0
  108. package/dist/models/schemas/index.d.ts.map +1 -0
  109. package/dist/models/schemas/model.d.ts +1 -0
  110. package/dist/models/schemas/model.d.ts.map +1 -0
  111. package/dist/models/schemas/query.d.ts +1 -0
  112. package/dist/models/schemas/query.d.ts.map +1 -0
  113. package/dist/providers/handlers/ai-sdk-community.d.ts +1 -0
  114. package/dist/providers/handlers/ai-sdk-community.d.ts.map +1 -0
  115. package/dist/providers/handlers/ai-sdk-provider-base.d.ts +1 -0
  116. package/dist/providers/handlers/ai-sdk-provider-base.d.ts.map +1 -0
  117. package/dist/providers/handlers/anthropic-base.d.ts +1 -0
  118. package/dist/providers/handlers/anthropic-base.d.ts.map +1 -0
  119. package/dist/providers/handlers/asksage.d.ts +1 -0
  120. package/dist/providers/handlers/asksage.d.ts.map +1 -0
  121. package/dist/providers/handlers/auth.d.ts +1 -0
  122. package/dist/providers/handlers/auth.d.ts.map +1 -0
  123. package/dist/providers/handlers/base.d.ts +1 -0
  124. package/dist/providers/handlers/base.d.ts.map +1 -0
  125. package/dist/providers/handlers/bedrock-base.d.ts +1 -0
  126. package/dist/providers/handlers/bedrock-base.d.ts.map +1 -0
  127. package/dist/providers/handlers/bedrock-client.d.ts +1 -0
  128. package/dist/providers/handlers/bedrock-client.d.ts.map +1 -0
  129. package/dist/providers/handlers/community-sdk.d.ts +1 -0
  130. package/dist/providers/handlers/community-sdk.d.ts.map +1 -0
  131. package/dist/providers/handlers/fetch-base.d.ts +1 -0
  132. package/dist/providers/handlers/fetch-base.d.ts.map +1 -0
  133. package/dist/providers/handlers/gemini-base.d.ts +1 -0
  134. package/dist/providers/handlers/gemini-base.d.ts.map +1 -0
  135. package/dist/providers/handlers/index.d.ts +1 -0
  136. package/dist/providers/handlers/index.d.ts.map +1 -0
  137. package/dist/providers/handlers/openai-base.d.ts +1 -0
  138. package/dist/providers/handlers/openai-base.d.ts.map +1 -0
  139. package/dist/providers/handlers/openai-responses.d.ts +1 -0
  140. package/dist/providers/handlers/openai-responses.d.ts.map +1 -0
  141. package/dist/providers/handlers/providers.d.ts +1 -0
  142. package/dist/providers/handlers/providers.d.ts.map +1 -0
  143. package/dist/providers/handlers/r1-base.d.ts +1 -0
  144. package/dist/providers/handlers/r1-base.d.ts.map +1 -0
  145. package/dist/providers/handlers/registry.d.ts +1 -0
  146. package/dist/providers/handlers/registry.d.ts.map +1 -0
  147. package/dist/providers/handlers/vertex.d.ts +1 -0
  148. package/dist/providers/handlers/vertex.d.ts.map +1 -0
  149. package/dist/providers/index.d.ts +1 -0
  150. package/dist/providers/index.d.ts.map +1 -0
  151. package/dist/providers/public.browser.d.ts +1 -0
  152. package/dist/providers/public.browser.d.ts.map +1 -0
  153. package/dist/providers/public.d.ts +1 -0
  154. package/dist/providers/public.d.ts.map +1 -0
  155. package/dist/providers/shared/openai-compatible.d.ts +1 -0
  156. package/dist/providers/shared/openai-compatible.d.ts.map +1 -0
  157. package/dist/providers/transform/ai-sdk-community-format.d.ts +1 -0
  158. package/dist/providers/transform/ai-sdk-community-format.d.ts.map +1 -0
  159. package/dist/providers/transform/anthropic-format.d.ts +1 -0
  160. package/dist/providers/transform/anthropic-format.d.ts.map +1 -0
  161. package/dist/providers/transform/content-format.d.ts +1 -0
  162. package/dist/providers/transform/content-format.d.ts.map +1 -0
  163. package/dist/providers/transform/gemini-format.d.ts +1 -0
  164. package/dist/providers/transform/gemini-format.d.ts.map +1 -0
  165. package/dist/providers/transform/index.d.ts +1 -0
  166. package/dist/providers/transform/index.d.ts.map +1 -0
  167. package/dist/providers/transform/openai-format.d.ts +1 -0
  168. package/dist/providers/transform/openai-format.d.ts.map +1 -0
  169. package/dist/providers/transform/r1-format.d.ts +1 -0
  170. package/dist/providers/transform/r1-format.d.ts.map +1 -0
  171. package/dist/providers/types/config.d.ts +1 -0
  172. package/dist/providers/types/config.d.ts.map +1 -0
  173. package/dist/providers/types/handler.d.ts +1 -0
  174. package/dist/providers/types/handler.d.ts.map +1 -0
  175. package/dist/providers/types/index.d.ts +1 -0
  176. package/dist/providers/types/index.d.ts.map +1 -0
  177. package/dist/providers/types/messages.d.ts +1 -0
  178. package/dist/providers/types/messages.d.ts.map +1 -0
  179. package/dist/providers/types/model-info.d.ts +1 -0
  180. package/dist/providers/types/model-info.d.ts.map +1 -0
  181. package/dist/providers/types/provider-ids.d.ts +1 -1
  182. package/dist/providers/types/provider-ids.d.ts.map +1 -0
  183. package/dist/providers/types/settings.d.ts +1 -0
  184. package/dist/providers/types/settings.d.ts.map +1 -0
  185. package/dist/providers/types/stream.d.ts +1 -0
  186. package/dist/providers/types/stream.d.ts.map +1 -0
  187. package/dist/providers/utils/index.d.ts +1 -0
  188. package/dist/providers/utils/index.d.ts.map +1 -0
  189. package/dist/providers/utils/retry.d.ts +1 -0
  190. package/dist/providers/utils/retry.d.ts.map +1 -0
  191. package/dist/providers/utils/stream-processor.d.ts +1 -0
  192. package/dist/providers/utils/stream-processor.d.ts.map +1 -0
  193. package/dist/providers/utils/tool-processor.d.ts +1 -0
  194. package/dist/providers/utils/tool-processor.d.ts.map +1 -0
  195. package/dist/sdk.d.ts +1 -0
  196. package/dist/sdk.d.ts.map +1 -0
  197. package/dist/types.d.ts +1 -0
  198. package/dist/types.d.ts.map +1 -0
  199. package/package.json +3 -4
  200. package/src/catalog.ts +0 -20
  201. package/src/config-browser.ts +0 -11
  202. package/src/config.ts +0 -49
  203. package/src/index.browser.ts +0 -9
  204. package/src/index.ts +0 -10
  205. package/src/live-providers.test.ts +0 -138
  206. package/src/models/generated-access.ts +0 -41
  207. package/src/models/generated-provider-loaders.ts +0 -166
  208. package/src/models/generated.ts +0 -11785
  209. package/src/models/index.ts +0 -271
  210. package/src/models/models-dev-catalog.test.ts +0 -161
  211. package/src/models/models-dev-catalog.ts +0 -168
  212. package/src/models/providers/aihubmix.ts +0 -19
  213. package/src/models/providers/anthropic.ts +0 -60
  214. package/src/models/providers/asksage.ts +0 -19
  215. package/src/models/providers/baseten.ts +0 -21
  216. package/src/models/providers/bedrock.ts +0 -30
  217. package/src/models/providers/cerebras.ts +0 -24
  218. package/src/models/providers/claude-code.ts +0 -51
  219. package/src/models/providers/cline.ts +0 -25
  220. package/src/models/providers/deepseek.ts +0 -33
  221. package/src/models/providers/dify.ts +0 -17
  222. package/src/models/providers/doubao.ts +0 -33
  223. package/src/models/providers/fireworks.ts +0 -34
  224. package/src/models/providers/gemini.ts +0 -43
  225. package/src/models/providers/groq.ts +0 -33
  226. package/src/models/providers/hicap.ts +0 -18
  227. package/src/models/providers/huawei-cloud-maas.ts +0 -18
  228. package/src/models/providers/huggingface.ts +0 -22
  229. package/src/models/providers/index.ts +0 -162
  230. package/src/models/providers/litellm.ts +0 -19
  231. package/src/models/providers/lmstudio.ts +0 -22
  232. package/src/models/providers/minimax.ts +0 -34
  233. package/src/models/providers/mistral.ts +0 -19
  234. package/src/models/providers/moonshot.ts +0 -34
  235. package/src/models/providers/nebius.ts +0 -24
  236. package/src/models/providers/nous-research.ts +0 -21
  237. package/src/models/providers/oca.ts +0 -30
  238. package/src/models/providers/ollama.ts +0 -18
  239. package/src/models/providers/openai-codex.ts +0 -46
  240. package/src/models/providers/openai.ts +0 -43
  241. package/src/models/providers/opencode.ts +0 -28
  242. package/src/models/providers/openrouter.ts +0 -24
  243. package/src/models/providers/qwen-code.ts +0 -33
  244. package/src/models/providers/qwen.ts +0 -34
  245. package/src/models/providers/requesty.ts +0 -23
  246. package/src/models/providers/sambanova.ts +0 -23
  247. package/src/models/providers/sapaicore.ts +0 -34
  248. package/src/models/providers/together.ts +0 -35
  249. package/src/models/providers/vercel-ai-gateway.ts +0 -23
  250. package/src/models/providers/vertex.ts +0 -36
  251. package/src/models/providers/xai.ts +0 -34
  252. package/src/models/providers/zai.ts +0 -25
  253. package/src/models/query.ts +0 -407
  254. package/src/models/registry.ts +0 -511
  255. package/src/models/schemas/index.ts +0 -62
  256. package/src/models/schemas/model.ts +0 -308
  257. package/src/models/schemas/query.ts +0 -336
  258. package/src/providers/browser.ts +0 -4
  259. package/src/providers/handlers/ai-sdk-community.ts +0 -229
  260. package/src/providers/handlers/ai-sdk-provider-base.ts +0 -203
  261. package/src/providers/handlers/anthropic-base.test.ts +0 -30
  262. package/src/providers/handlers/anthropic-base.ts +0 -387
  263. package/src/providers/handlers/asksage.test.ts +0 -103
  264. package/src/providers/handlers/asksage.ts +0 -138
  265. package/src/providers/handlers/auth.test.ts +0 -19
  266. package/src/providers/handlers/auth.ts +0 -121
  267. package/src/providers/handlers/base.test.ts +0 -230
  268. package/src/providers/handlers/base.ts +0 -310
  269. package/src/providers/handlers/bedrock-base.ts +0 -390
  270. package/src/providers/handlers/bedrock-client.ts +0 -100
  271. package/src/providers/handlers/codex.test.ts +0 -160
  272. package/src/providers/handlers/community-sdk.test.ts +0 -321
  273. package/src/providers/handlers/community-sdk.ts +0 -391
  274. package/src/providers/handlers/fetch-base.ts +0 -68
  275. package/src/providers/handlers/gemini-base.test.ts +0 -261
  276. package/src/providers/handlers/gemini-base.ts +0 -307
  277. package/src/providers/handlers/index.ts +0 -67
  278. package/src/providers/handlers/openai-base.ts +0 -341
  279. package/src/providers/handlers/openai-responses.test.ts +0 -259
  280. package/src/providers/handlers/openai-responses.ts +0 -634
  281. package/src/providers/handlers/providers.test.ts +0 -120
  282. package/src/providers/handlers/providers.ts +0 -563
  283. package/src/providers/handlers/r1-base.ts +0 -283
  284. package/src/providers/handlers/registry.ts +0 -185
  285. package/src/providers/handlers/vertex.test.ts +0 -124
  286. package/src/providers/handlers/vertex.ts +0 -302
  287. package/src/providers/index.ts +0 -534
  288. package/src/providers/public.browser.ts +0 -20
  289. package/src/providers/public.ts +0 -51
  290. package/src/providers/shared/openai-compatible.ts +0 -63
  291. package/src/providers/transform/ai-sdk-community-format.test.ts +0 -73
  292. package/src/providers/transform/ai-sdk-community-format.ts +0 -115
  293. package/src/providers/transform/anthropic-format.ts +0 -230
  294. package/src/providers/transform/content-format.ts +0 -34
  295. package/src/providers/transform/format-conversion.test.ts +0 -413
  296. package/src/providers/transform/gemini-format.ts +0 -262
  297. package/src/providers/transform/index.ts +0 -22
  298. package/src/providers/transform/openai-format.ts +0 -290
  299. package/src/providers/transform/r1-format.ts +0 -287
  300. package/src/providers/types/config.ts +0 -396
  301. package/src/providers/types/handler.ts +0 -92
  302. package/src/providers/types/index.ts +0 -120
  303. package/src/providers/types/messages.ts +0 -162
  304. package/src/providers/types/model-info.test.ts +0 -57
  305. package/src/providers/types/model-info.ts +0 -65
  306. package/src/providers/types/provider-ids.test.ts +0 -12
  307. package/src/providers/types/provider-ids.ts +0 -89
  308. package/src/providers/types/settings.test.ts +0 -49
  309. package/src/providers/types/settings.ts +0 -533
  310. package/src/providers/types/stream.ts +0 -117
  311. package/src/providers/utils/index.ts +0 -27
  312. package/src/providers/utils/retry.test.ts +0 -140
  313. package/src/providers/utils/retry.ts +0 -188
  314. package/src/providers/utils/stream-processor.test.ts +0 -232
  315. package/src/providers/utils/stream-processor.ts +0 -472
  316. package/src/providers/utils/tool-processor.test.ts +0 -235
  317. package/src/providers/utils/tool-processor.ts +0 -146
  318. package/src/sdk.ts +0 -264
  319. package/src/types.ts +0 -79
@@ -1,396 +0,0 @@
1
- /**
2
- * Provider Configuration Types
3
- *
4
- * Unified configuration interface for all providers.
5
- * This replaces the per-provider config chaos with a single structure.
6
- */
7
-
8
- import type { ModelInfo } from "./model-info";
9
- import {
10
- BUILT_IN_PROVIDER,
11
- BUILT_IN_PROVIDER_IDS,
12
- type BuiltInProviderId,
13
- isBuiltInProviderId,
14
- normalizeProviderId,
15
- } from "./provider-ids";
16
-
17
- // Re-export for convenience
18
- export {
19
- BUILT_IN_PROVIDER,
20
- BUILT_IN_PROVIDER_IDS,
21
- type BuiltInProviderId,
22
- isBuiltInProviderId,
23
- normalizeProviderId,
24
- };
25
-
26
- /**
27
- * All supported provider IDs (built-in + custom)
28
- *
29
- * Custom provider IDs can be registered via `registerHandler()` or `registerAsyncHandler()`.
30
- * Any string is accepted to allow for custom handlers that extend BaseHandler.
31
- */
32
- export type ProviderId = BuiltInProviderId | (string & {});
33
-
34
- /**
35
- * Provider categories based on underlying SDK/protocol
36
- */
37
- export type ProviderCategory =
38
- | "anthropic" // Anthropic SDK
39
- | "openai" // OpenAI SDK (native features)
40
- | "openai-compat" // OpenAI-compatible APIs
41
- | "openai-responses" // OpenAI-Responses APIs
42
- | "gemini" // Google GenAI SDK
43
- | "bedrock" // AWS Bedrock SDK
44
- | "custom"; // Custom implementations
45
-
46
- // =============================================================================
47
- // Provider Capabilities
48
- // =============================================================================
49
-
50
- /**
51
- * Capabilities that a provider/model may support
52
- */
53
- export type ProviderCapability =
54
- | "reasoning" // Extended thinking/reasoning
55
- | "prompt-cache" // Prompt caching
56
- | "streaming" // Streaming responses
57
- | "tools" // Tool/function calling
58
- | "vision" // Image inputs
59
- | "computer-use" // Computer use tools
60
- | "oauth"; // OAuth authentication flow
61
-
62
- // =============================================================================
63
- // Configuration Components
64
- // =============================================================================
65
-
66
- /**
67
- * Authentication configuration
68
- */
69
- export interface AuthConfig {
70
- /** API key (most common) */
71
- apiKey?: string;
72
- /** OAuth access token */
73
- accessToken?: string;
74
- /** Refresh token for OAuth */
75
- refreshToken?: string;
76
- /** Account ID (for account-based auth) */
77
- accountId?: string;
78
- /** OAuth callback path (e.g., for Qwen Code) */
79
- oauthPath?: string;
80
- }
81
-
82
- /**
83
- * Endpoint configuration
84
- */
85
- export interface EndpointConfig {
86
- /** Base URL for the API */
87
- baseUrl?: string;
88
- /** Custom headers to include */
89
- headers?: Record<string, string>;
90
- /** Request timeout in milliseconds */
91
- timeoutMs?: number;
92
- }
93
-
94
- /**
95
- * Model configuration
96
- */
97
- export interface ModelConfig {
98
- /** Model identifier */
99
- modelId: string;
100
- /** Pre-fetched model info (optional - will use defaults if not provided) */
101
- modelInfo?: ModelInfo;
102
- /** Known models for this provider with their info */
103
- knownModels?: Record<string, ModelInfo>;
104
- }
105
-
106
- /**
107
- * Token limits configuration
108
- */
109
- export interface TokenConfig {
110
- /** Maximum context window tokens (overrides model default) */
111
- maxContextTokens?: number;
112
- /** Maximum output tokens (overrides model default) */
113
- maxOutputTokens?: number;
114
- }
115
-
116
- /**
117
- * Reasoning/thinking model configuration
118
- */
119
- export interface ReasoningConfig {
120
- /** Reasoning effort level */
121
- reasoningEffort?: "low" | "medium" | "high" | "xhigh";
122
- /** Extended thinking budget in tokens */
123
- thinkingBudgetTokens?: number;
124
- /** Enable thinking with provider/model defaults when supported */
125
- thinking?: boolean;
126
- }
127
-
128
- /**
129
- * Region configuration (shared across cloud providers)
130
- */
131
- export interface RegionConfig {
132
- /** Cloud region (AWS, GCP, Azure, or provider-specific like Qwen's china/international) */
133
- region?: string;
134
- /** API line for region-specific routing (e.g., "china" | "international" for Qwen) */
135
- apiLine?: "china" | "international";
136
- /** Use cross-region inference (Bedrock) */
137
- useCrossRegionInference?: boolean;
138
- /** Use global inference (Bedrock) */
139
- useGlobalInference?: boolean;
140
- }
141
-
142
- /**
143
- * AWS-specific configuration (for Bedrock)
144
- */
145
- export interface AwsConfig {
146
- accessKey?: string;
147
- secretKey?: string;
148
- sessionToken?: string;
149
- authentication?: "iam" | "api-key" | "profile";
150
- profile?: string;
151
- usePromptCache?: boolean;
152
- endpoint?: string;
153
- customModelBaseId?: string;
154
- }
155
-
156
- /**
157
- * Google Cloud configuration (for Vertex AI)
158
- */
159
- export interface GcpConfig {
160
- projectId?: string;
161
- region?: string;
162
- }
163
-
164
- /**
165
- * Azure configuration (for Azure OpenAI)
166
- */
167
- export interface AzureConfig {
168
- apiVersion?: string;
169
- useIdentity?: boolean;
170
- }
171
-
172
- /**
173
- * SAP AI Core configuration
174
- */
175
- export interface SapConfig {
176
- clientId?: string;
177
- clientSecret?: string;
178
- tokenUrl?: string;
179
- resourceGroup?: string;
180
- deploymentId?: string;
181
- useOrchestrationMode?: boolean;
182
- api?: "orchestration" | "foundation-models";
183
- defaultSettings?: Record<string, unknown>;
184
- }
185
-
186
- /**
187
- * OCA (Oracle Cloud AI) configuration
188
- */
189
- export interface OcaConfig {
190
- mode?: "internal" | "external";
191
- usePromptCache?: boolean;
192
- }
193
-
194
- /**
195
- * Codex CLI provider options
196
- */
197
- export interface CodexConfig {
198
- defaultSettings?: Record<string, unknown>;
199
- modelSettings?: Record<string, unknown>;
200
- }
201
-
202
- /**
203
- * Claude Code provider options
204
- */
205
- export interface ClaudeCodeConfig {
206
- [key: string]: unknown;
207
- }
208
-
209
- /**
210
- * OpenCode provider options
211
- */
212
- export interface OpenCodeConfig {
213
- hostname?: string;
214
- port?: number;
215
- autoStartServer?: boolean;
216
- serverTimeout?: number;
217
- defaultSettings?: Record<string, unknown>;
218
- modelSettings?: Record<string, unknown>;
219
- }
220
-
221
- /**
222
- * Cloud provider configurations (grouped)
223
- */
224
- export interface CloudConfig {
225
- /** AWS/Bedrock options */
226
- aws?: AwsConfig;
227
- /** Google Cloud/Vertex options */
228
- gcp?: GcpConfig;
229
- /** Azure options */
230
- azure?: AzureConfig;
231
- /** SAP AI Core options */
232
- sap?: SapConfig;
233
- /** OCA options */
234
- oca?: OcaConfig;
235
- }
236
-
237
- /**
238
- * Provider-specific options that don't fit other categories
239
- */
240
- export interface ProviderOptions {
241
- /** OpenRouter provider sorting preference */
242
- openRouterProviderSorting?: string;
243
- /** Runtime model catalog refresh configuration */
244
- modelCatalog?: ModelCatalogConfig;
245
- }
246
-
247
- /**
248
- * Provider-specific options that don't fit other categories
249
- */
250
- import type { BasicLogger } from "@clinebot/shared";
251
-
252
- /**
253
- * Runtime model catalog refresh options
254
- */
255
- export interface ModelCatalogConfig {
256
- /** Fetch latest catalog at handler initialization */
257
- loadLatestOnInit?: boolean;
258
- /** Fetch provider-private models when auth is available */
259
- loadPrivateOnAuth?: boolean;
260
- /** Catalog endpoint URL */
261
- url?: string;
262
- /** Cache TTL for live catalog in milliseconds */
263
- cacheTtlMs?: number;
264
- /** Throw when live catalog refresh fails */
265
- failOnError?: boolean;
266
- }
267
-
268
- // =============================================================================
269
- // Main Configuration Interface
270
- // =============================================================================
271
-
272
- /**
273
- * Unified provider configuration interface
274
- *
275
- * This is the single configuration interface that clients provide.
276
- * All provider-specific options are grouped into logical sub-interfaces.
277
- */
278
- export interface ProviderConfig
279
- extends AuthConfig,
280
- EndpointConfig,
281
- ModelConfig,
282
- TokenConfig,
283
- ReasoningConfig,
284
- RegionConfig,
285
- CloudConfig,
286
- ProviderOptions {
287
- /** Provider ID - determines which handler to use */
288
- providerId: ProviderId;
289
-
290
- /** Capabilities this provider/model supports */
291
- capabilities?: ProviderCapability[];
292
-
293
- /** Task/session ID for telemetry */
294
- taskId?: string;
295
-
296
- /** Retry callback */
297
- onRetryAttempt?: (
298
- attempt: number,
299
- maxRetries: number,
300
- delay: number,
301
- error: unknown,
302
- ) => void;
303
-
304
- /** AbortSignal for cancelling requests */
305
- abortSignal?: AbortSignal;
306
-
307
- /** Optional runtime logger for provider-level diagnostics */
308
- logger?: BasicLogger;
309
-
310
- /** Codex CLI-specific options */
311
- codex?: CodexConfig;
312
-
313
- /** Claude Code-specific options */
314
- claudeCode?: ClaudeCodeConfig;
315
-
316
- /** OpenCode-specific options */
317
- opencode?: OpenCodeConfig;
318
- }
319
-
320
- /**
321
- * Simplified configuration for common use cases
322
- */
323
- export interface SimpleProviderConfig {
324
- providerId: ProviderId;
325
- apiKey: string;
326
- modelId: string;
327
- baseUrl?: string;
328
- }
329
-
330
- /**
331
- * Create a full ProviderConfig from a simple config
332
- */
333
- export function createConfig(simple: SimpleProviderConfig): ProviderConfig {
334
- return {
335
- providerId: simple.providerId,
336
- apiKey: simple.apiKey,
337
- modelId: simple.modelId,
338
- baseUrl: simple.baseUrl,
339
- };
340
- }
341
-
342
- // =============================================================================
343
- // Helper Functions
344
- // =============================================================================
345
-
346
- /**
347
- * Check if a provider config has a specific capability
348
- */
349
- export function hasCapability(
350
- config: ProviderConfig,
351
- capability: ProviderCapability,
352
- ): boolean {
353
- return config.capabilities?.includes(capability) ?? false;
354
- }
355
-
356
- /**
357
- * Check if provider supports reasoning/thinking
358
- */
359
- export function supportsReasoning(config: ProviderConfig): boolean {
360
- return hasCapability(config, "reasoning");
361
- }
362
-
363
- /**
364
- * Check if provider supports prompt caching
365
- */
366
- export function supportsPromptCache(config: ProviderConfig): boolean {
367
- return hasCapability(config, "prompt-cache");
368
- }
369
-
370
- // =============================================================================
371
- // Deprecated Types (for backwards compatibility)
372
- // =============================================================================
373
-
374
- /**
375
- * @deprecated Use ProviderConfig directly - all fields are now unified
376
- */
377
- export type ProviderSpecificConfig = Pick<
378
- ProviderConfig,
379
- | "aws"
380
- | "gcp"
381
- | "azure"
382
- | "sap"
383
- | "oca"
384
- | "maxContextTokens"
385
- | "apiLine"
386
- | "oauthPath"
387
- | "openRouterProviderSorting"
388
- >;
389
-
390
- /**
391
- * @deprecated Use ProviderConfig directly
392
- */
393
- export type ProviderDefaultsConfig = Pick<
394
- ProviderConfig,
395
- "baseUrl" | "modelId" | "knownModels" | "headers" | "capabilities"
396
- >;
@@ -1,92 +0,0 @@
1
- /**
2
- * Handler Interface Types
3
- *
4
- * Core interfaces that all provider handlers must implement.
5
- */
6
-
7
- import type { Message, ToolDefinition } from "./messages";
8
- import type { ModelInfo } from "./model-info";
9
- import type { ApiStream, ApiStreamUsageChunk } from "./stream";
10
-
11
- /**
12
- * Model information returned by handlers
13
- */
14
- export interface HandlerModelInfo {
15
- /** Model identifier */
16
- id: string;
17
- /** Model capabilities and pricing info */
18
- info: ModelInfo;
19
- }
20
-
21
- /**
22
- * Core API Handler interface
23
- *
24
- * All providers must implement this interface.
25
- */
26
- export interface ApiHandler {
27
- /**
28
- * Convert Cline messages into provider-specific message format
29
- *
30
- * @param systemPrompt - The system prompt to use
31
- * @param messages - Conversation history
32
- * @returns Provider-specific messages payload
33
- */
34
- getMessages(systemPrompt: string, messages: Message[]): unknown;
35
-
36
- /**
37
- * Create a streaming message completion
38
- *
39
- * @param systemPrompt - The system prompt to use
40
- * @param messages - Conversation history
41
- * @param tools - Optional tool definitions for native tool calling
42
- * @returns An async generator yielding stream chunks
43
- */
44
- createMessage(
45
- systemPrompt: string,
46
- messages: Message[],
47
- tools?: ToolDefinition[],
48
- ): ApiStream;
49
-
50
- /**
51
- * Get the current model configuration
52
- */
53
- getModel(): HandlerModelInfo;
54
-
55
- /**
56
- * Get usage information for the last API call (optional)
57
- * Some providers can fetch this from a separate endpoint
58
- */
59
- getApiStreamUsage?(): Promise<ApiStreamUsageChunk | undefined>;
60
-
61
- /**
62
- * Abort the current request (optional)
63
- */
64
- abort?(): void;
65
-
66
- /**
67
- * Update the abort signal used for subsequent requests (optional).
68
- */
69
- setAbortSignal?(signal: AbortSignal | undefined): void;
70
- }
71
-
72
- /**
73
- * Handler for simple single-turn completions
74
- */
75
- export interface SingleCompletionHandler {
76
- /**
77
- * Complete a single prompt without streaming
78
- */
79
- completePrompt(prompt: string): Promise<string>;
80
- }
81
-
82
- /**
83
- * Factory function type for creating handlers
84
- */
85
- export type HandlerFactory<TConfig = unknown> = (config: TConfig) => ApiHandler;
86
-
87
- /**
88
- * Async factory for lazy-loaded handlers
89
- */
90
- export type LazyHandlerFactory<TConfig = unknown> = (
91
- config: TConfig,
92
- ) => Promise<ApiHandler>;
@@ -1,120 +0,0 @@
1
- /**
2
- * Types Index
3
- *
4
- * Re-exports all types from the types module.
5
- */
6
-
7
- // Configuration types
8
- export {
9
- type AuthConfig,
10
- type AwsConfig,
11
- type AzureConfig,
12
- BUILT_IN_PROVIDER,
13
- BUILT_IN_PROVIDER_IDS,
14
- type BuiltInProviderId,
15
- type ClaudeCodeConfig,
16
- type CloudConfig,
17
- type CodexConfig,
18
- createConfig,
19
- type EndpointConfig,
20
- type GcpConfig,
21
- hasCapability,
22
- isBuiltInProviderId,
23
- type ModelCatalogConfig,
24
- type ModelConfig,
25
- normalizeProviderId,
26
- type OcaConfig,
27
- type OpenCodeConfig,
28
- type ProviderCapability,
29
- type ProviderCategory,
30
- type ProviderConfig,
31
- type ProviderDefaultsConfig,
32
- type ProviderId,
33
- type ProviderOptions,
34
- type ProviderSpecificConfig,
35
- type ReasoningConfig,
36
- type RegionConfig,
37
- type SapConfig,
38
- type SimpleProviderConfig,
39
- supportsPromptCache,
40
- supportsReasoning,
41
- type TokenConfig,
42
- } from "./config";
43
- // Handler types
44
- export type {
45
- ApiHandler,
46
- HandlerFactory,
47
- HandlerModelInfo,
48
- LazyHandlerFactory,
49
- SingleCompletionHandler,
50
- } from "./handler";
51
-
52
- // Message types
53
- export type {
54
- ContentBlock,
55
- FileContent,
56
- ImageContent,
57
- Message,
58
- MessageRole,
59
- MessageWithMetadata,
60
- RedactedThinkingContent,
61
- TextContent,
62
- ThinkingContent,
63
- ToolDefinition,
64
- ToolResultContent,
65
- ToolUseContent,
66
- } from "./messages";
67
- // Model information types
68
- export {
69
- ApiFormat,
70
- getModelPricing,
71
- hasModelCapability,
72
- type ModelCapability,
73
- type ModelInfo,
74
- type ModelPricing,
75
- type ModelWithId,
76
- type OpenAICompatibleModelInfo,
77
- supportsModelThinking,
78
- type ThinkingConfig,
79
- } from "./model-info";
80
- // Settings types and functions (Zod-based validation)
81
- export {
82
- type AuthSettings,
83
- AuthSettingsSchema,
84
- type AwsSettings,
85
- AwsSettingsSchema,
86
- type AzureSettings,
87
- AzureSettingsSchema,
88
- createProviderConfig,
89
- type GcpSettings,
90
- GcpSettingsSchema,
91
- type ModelCatalogSettings,
92
- ModelCatalogSettingsSchema,
93
- type OcaSettings,
94
- OcaSettingsSchema,
95
- // Schemas
96
- ProviderIdSchema,
97
- // Types
98
- type ProviderSettings,
99
- ProviderSettingsSchema,
100
- // Functions
101
- parseSettings,
102
- type ReasoningSettings,
103
- ReasoningSettingsSchema,
104
- type SapSettings,
105
- SapSettingsSchema,
106
- safeCreateProviderConfig,
107
- safeParseSettings,
108
- toProviderConfig,
109
- } from "./settings";
110
- // Stream types
111
- export type {
112
- ApiStream,
113
- ApiStreamChunk,
114
- ApiStreamDoneChunk,
115
- ApiStreamReasoningChunk,
116
- ApiStreamTextChunk,
117
- ApiStreamToolCall,
118
- ApiStreamToolCallsChunk,
119
- ApiStreamUsageChunk,
120
- } from "./stream";