@vybestack/llxprt-code 0.1.12

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 (575) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +256 -0
  3. package/dist/.last_build +0 -0
  4. package/dist/index.d.ts +7 -0
  5. package/dist/index.js +21 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/package.json +95 -0
  8. package/dist/src/config/auth.d.ts +6 -0
  9. package/dist/src/config/auth.js +42 -0
  10. package/dist/src/config/auth.js.map +1 -0
  11. package/dist/src/config/config.d.ts +41 -0
  12. package/dist/src/config/config.js +345 -0
  13. package/dist/src/config/config.js.map +1 -0
  14. package/dist/src/config/extension.d.ts +21 -0
  15. package/dist/src/config/extension.js +109 -0
  16. package/dist/src/config/extension.js.map +1 -0
  17. package/dist/src/config/sandboxConfig.d.ts +13 -0
  18. package/dist/src/config/sandboxConfig.js +75 -0
  19. package/dist/src/config/sandboxConfig.js.map +1 -0
  20. package/dist/src/config/settings.d.ts +88 -0
  21. package/dist/src/config/settings.js +263 -0
  22. package/dist/src/config/settings.js.map +1 -0
  23. package/dist/src/gemini.d.ts +6 -0
  24. package/dist/src/gemini.js +420 -0
  25. package/dist/src/gemini.js.map +1 -0
  26. package/dist/src/generated/git-commit.d.ts +6 -0
  27. package/dist/src/generated/git-commit.js +9 -0
  28. package/dist/src/generated/git-commit.js.map +1 -0
  29. package/dist/src/nonInteractiveCli.d.ts +7 -0
  30. package/dist/src/nonInteractiveCli.js +131 -0
  31. package/dist/src/nonInteractiveCli.js.map +1 -0
  32. package/dist/src/providers/IMessage.d.ts +38 -0
  33. package/dist/src/providers/IMessage.js +17 -0
  34. package/dist/src/providers/IMessage.js.map +1 -0
  35. package/dist/src/providers/IModel.d.ts +23 -0
  36. package/dist/src/providers/IModel.js +17 -0
  37. package/dist/src/providers/IModel.js.map +1 -0
  38. package/dist/src/providers/IProvider.d.ts +32 -0
  39. package/dist/src/providers/IProvider.js +17 -0
  40. package/dist/src/providers/IProvider.js.map +1 -0
  41. package/dist/src/providers/ITool.d.ts +23 -0
  42. package/dist/src/providers/ITool.js +17 -0
  43. package/dist/src/providers/ITool.js.map +1 -0
  44. package/dist/src/providers/ProviderAwareContentGenerator.d.ts +6 -0
  45. package/dist/src/providers/ProviderAwareContentGenerator.js +9 -0
  46. package/dist/src/providers/ProviderAwareContentGenerator.js.map +1 -0
  47. package/dist/src/providers/ProviderManager.d.ts +19 -0
  48. package/dist/src/providers/ProviderManager.js +63 -0
  49. package/dist/src/providers/ProviderManager.js.map +1 -0
  50. package/dist/src/providers/ProviderManagerAdapter.d.ts +17 -0
  51. package/dist/src/providers/ProviderManagerAdapter.js +113 -0
  52. package/dist/src/providers/ProviderManagerAdapter.js.map +1 -0
  53. package/dist/src/providers/README-qwen3.md +60 -0
  54. package/dist/src/providers/README.md +203 -0
  55. package/dist/src/providers/adapters/IStreamAdapter.d.ts +18 -0
  56. package/dist/src/providers/adapters/IStreamAdapter.js +7 -0
  57. package/dist/src/providers/adapters/IStreamAdapter.js.map +1 -0
  58. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +46 -0
  59. package/dist/src/providers/anthropic/AnthropicProvider.js +478 -0
  60. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -0
  61. package/dist/src/providers/contentGeneratorProvider.d.ts +13 -0
  62. package/dist/src/providers/contentGeneratorProvider.js +17 -0
  63. package/dist/src/providers/contentGeneratorProvider.js.map +1 -0
  64. package/dist/src/providers/enhanceConfigWithProviders.d.ts +12 -0
  65. package/dist/src/providers/enhanceConfigWithProviders.js +16 -0
  66. package/dist/src/providers/enhanceConfigWithProviders.js.map +1 -0
  67. package/dist/src/providers/gemini/GeminiProvider.d.ts +72 -0
  68. package/dist/src/providers/gemini/GeminiProvider.js +454 -0
  69. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -0
  70. package/dist/src/providers/index.d.ts +13 -0
  71. package/dist/src/providers/index.js +18 -0
  72. package/dist/src/providers/index.js.map +1 -0
  73. package/dist/src/providers/integration/TEST_INSTRUCTIONS.md +197 -0
  74. package/dist/src/providers/openai/ConversationCache.d.ts +20 -0
  75. package/dist/src/providers/openai/ConversationCache.js +109 -0
  76. package/dist/src/providers/openai/ConversationCache.js.map +1 -0
  77. package/dist/src/providers/openai/IChatGenerateParams.d.ts +11 -0
  78. package/dist/src/providers/openai/IChatGenerateParams.js +2 -0
  79. package/dist/src/providers/openai/IChatGenerateParams.js.map +1 -0
  80. package/dist/src/providers/openai/OpenAIProvider.d.ts +71 -0
  81. package/dist/src/providers/openai/OpenAIProvider.js +486 -0
  82. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -0
  83. package/dist/src/providers/openai/Qwen3FireworksProvider.d.ts +39 -0
  84. package/dist/src/providers/openai/Qwen3FireworksProvider.js +209 -0
  85. package/dist/src/providers/openai/Qwen3FireworksProvider.js.map +1 -0
  86. package/dist/src/providers/openai/RESPONSES_API_MODELS.d.ts +2 -0
  87. package/dist/src/providers/openai/RESPONSES_API_MODELS.js +14 -0
  88. package/dist/src/providers/openai/RESPONSES_API_MODELS.js.map +1 -0
  89. package/dist/src/providers/openai/buildResponsesRequest.d.ts +67 -0
  90. package/dist/src/providers/openai/buildResponsesRequest.js +144 -0
  91. package/dist/src/providers/openai/buildResponsesRequest.js.map +1 -0
  92. package/dist/src/providers/openai/docs/accessing-provider-info.md +172 -0
  93. package/dist/src/providers/openai/docs/params-mapping.md +91 -0
  94. package/dist/src/providers/openai/docs/qwen3-fireworks.md +47 -0
  95. package/dist/src/providers/openai/docs/responses-api-tool-calls.md +96 -0
  96. package/dist/src/providers/openai/estimateRemoteTokens.d.ts +26 -0
  97. package/dist/src/providers/openai/estimateRemoteTokens.js +75 -0
  98. package/dist/src/providers/openai/estimateRemoteTokens.js.map +1 -0
  99. package/dist/src/providers/openai/getOpenAIProviderInfo.d.ts +46 -0
  100. package/dist/src/providers/openai/getOpenAIProviderInfo.js +74 -0
  101. package/dist/src/providers/openai/getOpenAIProviderInfo.js.map +1 -0
  102. package/dist/src/providers/openai/parseResponsesStream.d.ts +3 -0
  103. package/dist/src/providers/openai/parseResponsesStream.js +444 -0
  104. package/dist/src/providers/openai/parseResponsesStream.js.map +1 -0
  105. package/dist/src/providers/parsers/TextToolCallParser.d.ts +35 -0
  106. package/dist/src/providers/parsers/TextToolCallParser.js +248 -0
  107. package/dist/src/providers/parsers/TextToolCallParser.js.map +1 -0
  108. package/dist/src/providers/providerConfigUtils.d.ts +26 -0
  109. package/dist/src/providers/providerConfigUtils.js +173 -0
  110. package/dist/src/providers/providerConfigUtils.js.map +1 -0
  111. package/dist/src/providers/providerManagerInstance.d.ts +9 -0
  112. package/dist/src/providers/providerManagerInstance.js +109 -0
  113. package/dist/src/providers/providerManagerInstance.js.map +1 -0
  114. package/dist/src/providers/tokenizers/AnthropicTokenizer.d.ts +19 -0
  115. package/dist/src/providers/tokenizers/AnthropicTokenizer.js +37 -0
  116. package/dist/src/providers/tokenizers/AnthropicTokenizer.js.map +1 -0
  117. package/dist/src/providers/tokenizers/ITokenizer.d.ts +18 -0
  118. package/dist/src/providers/tokenizers/ITokenizer.js +17 -0
  119. package/dist/src/providers/tokenizers/ITokenizer.js.map +1 -0
  120. package/dist/src/providers/tokenizers/OpenAITokenizer.d.ts +24 -0
  121. package/dist/src/providers/tokenizers/OpenAITokenizer.js +56 -0
  122. package/dist/src/providers/tokenizers/OpenAITokenizer.js.map +1 -0
  123. package/dist/src/providers/types.d.ts +14 -0
  124. package/dist/src/providers/types.js +16 -0
  125. package/dist/src/providers/types.js.map +1 -0
  126. package/dist/src/services/CommandService.d.ts +13 -0
  127. package/dist/src/services/CommandService.js +38 -0
  128. package/dist/src/services/CommandService.js.map +1 -0
  129. package/dist/src/tools/IToolFormatter.d.ts +40 -0
  130. package/dist/src/tools/IToolFormatter.js +17 -0
  131. package/dist/src/tools/IToolFormatter.js.map +1 -0
  132. package/dist/src/tools/ToolFormatter.d.ts +45 -0
  133. package/dist/src/tools/ToolFormatter.js +216 -0
  134. package/dist/src/tools/ToolFormatter.js.map +1 -0
  135. package/dist/src/ui/App.d.ts +15 -0
  136. package/dist/src/ui/App.js +468 -0
  137. package/dist/src/ui/App.js.map +1 -0
  138. package/dist/src/ui/colors.d.ts +25 -0
  139. package/dist/src/ui/colors.js +126 -0
  140. package/dist/src/ui/colors.js.map +1 -0
  141. package/dist/src/ui/commands/aboutCommand.d.ts +7 -0
  142. package/dist/src/ui/commands/aboutCommand.js +61 -0
  143. package/dist/src/ui/commands/aboutCommand.js.map +1 -0
  144. package/dist/src/ui/commands/authCommand.d.ts +7 -0
  145. package/dist/src/ui/commands/authCommand.js +14 -0
  146. package/dist/src/ui/commands/authCommand.js.map +1 -0
  147. package/dist/src/ui/commands/clearCommand.d.ts +7 -0
  148. package/dist/src/ui/commands/clearCommand.js +15 -0
  149. package/dist/src/ui/commands/clearCommand.js.map +1 -0
  150. package/dist/src/ui/commands/helpCommand.d.ts +7 -0
  151. package/dist/src/ui/commands/helpCommand.js +18 -0
  152. package/dist/src/ui/commands/helpCommand.js.map +1 -0
  153. package/dist/src/ui/commands/memoryCommand.d.ts +7 -0
  154. package/dist/src/ui/commands/memoryCommand.js +81 -0
  155. package/dist/src/ui/commands/memoryCommand.js.map +1 -0
  156. package/dist/src/ui/commands/privacyCommand.d.ts +7 -0
  157. package/dist/src/ui/commands/privacyCommand.js +14 -0
  158. package/dist/src/ui/commands/privacyCommand.js.map +1 -0
  159. package/dist/src/ui/commands/themeCommand.d.ts +7 -0
  160. package/dist/src/ui/commands/themeCommand.js +14 -0
  161. package/dist/src/ui/commands/themeCommand.js.map +1 -0
  162. package/dist/src/ui/commands/types.d.ts +63 -0
  163. package/dist/src/ui/commands/types.js +7 -0
  164. package/dist/src/ui/commands/types.js.map +1 -0
  165. package/dist/src/ui/components/AboutBox.d.ts +16 -0
  166. package/dist/src/ui/components/AboutBox.js +6 -0
  167. package/dist/src/ui/components/AboutBox.js.map +1 -0
  168. package/dist/src/ui/components/AsciiArt.d.ts +7 -0
  169. package/dist/src/ui/components/AsciiArt.js +24 -0
  170. package/dist/src/ui/components/AsciiArt.js.map +1 -0
  171. package/dist/src/ui/components/AuthDialog.d.ts +15 -0
  172. package/dist/src/ui/components/AuthDialog.js +102 -0
  173. package/dist/src/ui/components/AuthDialog.js.map +1 -0
  174. package/dist/src/ui/components/AuthInProgress.d.ts +11 -0
  175. package/dist/src/ui/components/AuthInProgress.js +27 -0
  176. package/dist/src/ui/components/AuthInProgress.js.map +1 -0
  177. package/dist/src/ui/components/AutoAcceptIndicator.d.ts +12 -0
  178. package/dist/src/ui/components/AutoAcceptIndicator.js +26 -0
  179. package/dist/src/ui/components/AutoAcceptIndicator.js.map +1 -0
  180. package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +11 -0
  181. package/dist/src/ui/components/ConsoleSummaryDisplay.js +11 -0
  182. package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +1 -0
  183. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +15 -0
  184. package/dist/src/ui/components/ContextSummaryDisplay.js +41 -0
  185. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -0
  186. package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +14 -0
  187. package/dist/src/ui/components/DetailedMessagesDisplay.js +34 -0
  188. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -0
  189. package/dist/src/ui/components/EditorSettingsDialog.d.ts +15 -0
  190. package/dist/src/ui/components/EditorSettingsDialog.js +73 -0
  191. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -0
  192. package/dist/src/ui/components/ErrorBoundary.d.ts +46 -0
  193. package/dist/src/ui/components/ErrorBoundary.js +115 -0
  194. package/dist/src/ui/components/ErrorBoundary.js.map +1 -0
  195. package/dist/src/ui/components/Footer.d.ts +22 -0
  196. package/dist/src/ui/components/Footer.js +32 -0
  197. package/dist/src/ui/components/Footer.js.map +1 -0
  198. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +17 -0
  199. package/dist/src/ui/components/GeminiRespondingSpinner.js +16 -0
  200. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -0
  201. package/dist/src/ui/components/Header.d.ts +14 -0
  202. package/dist/src/ui/components/Header.js +20 -0
  203. package/dist/src/ui/components/Header.js.map +1 -0
  204. package/dist/src/ui/components/Help.d.ts +12 -0
  205. package/dist/src/ui/components/Help.js +10 -0
  206. package/dist/src/ui/components/Help.js.map +1 -0
  207. package/dist/src/ui/components/HistoryItemDisplay.d.ts +18 -0
  208. package/dist/src/ui/components/HistoryItemDisplay.js +17 -0
  209. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -0
  210. package/dist/src/ui/components/InputPrompt.d.ts +25 -0
  211. package/dist/src/ui/components/InputPrompt.js +350 -0
  212. package/dist/src/ui/components/InputPrompt.js.map +1 -0
  213. package/dist/src/ui/components/LayoutManager.d.ts +24 -0
  214. package/dist/src/ui/components/LayoutManager.js +58 -0
  215. package/dist/src/ui/components/LayoutManager.js.map +1 -0
  216. package/dist/src/ui/components/LoadingIndicator.d.ts +15 -0
  217. package/dist/src/ui/components/LoadingIndicator.js +20 -0
  218. package/dist/src/ui/components/LoadingIndicator.js.map +1 -0
  219. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +7 -0
  220. package/dist/src/ui/components/MemoryUsageDisplay.js +27 -0
  221. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -0
  222. package/dist/src/ui/components/ModelStatsDisplay.d.ts +7 -0
  223. package/dist/src/ui/components/ModelStatsDisplay.js +33 -0
  224. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -0
  225. package/dist/src/ui/components/ProviderDialog.d.ts +9 -0
  226. package/dist/src/ui/components/ProviderDialog.js +54 -0
  227. package/dist/src/ui/components/ProviderDialog.js.map +1 -0
  228. package/dist/src/ui/components/ProviderModelDialog.d.ts +15 -0
  229. package/dist/src/ui/components/ProviderModelDialog.js +54 -0
  230. package/dist/src/ui/components/ProviderModelDialog.js.map +1 -0
  231. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +11 -0
  232. package/dist/src/ui/components/SessionSummaryDisplay.js +4 -0
  233. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -0
  234. package/dist/src/ui/components/ShellModeIndicator.d.ts +7 -0
  235. package/dist/src/ui/components/ShellModeIndicator.js +5 -0
  236. package/dist/src/ui/components/ShellModeIndicator.js.map +1 -0
  237. package/dist/src/ui/components/ShowMoreLines.d.ts +10 -0
  238. package/dist/src/ui/components/ShowMoreLines.js +24 -0
  239. package/dist/src/ui/components/ShowMoreLines.js.map +1 -0
  240. package/dist/src/ui/components/StatsDisplay.d.ts +12 -0
  241. package/dist/src/ui/components/StatsDisplay.js +42 -0
  242. package/dist/src/ui/components/StatsDisplay.js.map +1 -0
  243. package/dist/src/ui/components/SuggestionsDisplay.d.ts +21 -0
  244. package/dist/src/ui/components/SuggestionsDisplay.js +32 -0
  245. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -0
  246. package/dist/src/ui/components/ThemeDialog.d.ts +19 -0
  247. package/dist/src/ui/components/ThemeDialog.js +127 -0
  248. package/dist/src/ui/components/ThemeDialog.js.map +1 -0
  249. package/dist/src/ui/components/Tips.d.ts +12 -0
  250. package/dist/src/ui/components/Tips.js +8 -0
  251. package/dist/src/ui/components/Tips.js.map +1 -0
  252. package/dist/src/ui/components/ToolStatsDisplay.d.ts +7 -0
  253. package/dist/src/ui/components/ToolStatsDisplay.js +41 -0
  254. package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -0
  255. package/dist/src/ui/components/UpdateNotification.d.ts +10 -0
  256. package/dist/src/ui/components/UpdateNotification.js +10 -0
  257. package/dist/src/ui/components/UpdateNotification.js.map +1 -0
  258. package/dist/src/ui/components/messages/CompressionMessage.d.ts +11 -0
  259. package/dist/src/ui/components/messages/CompressionMessage.js +16 -0
  260. package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -0
  261. package/dist/src/ui/components/messages/DiffRenderer.d.ts +15 -0
  262. package/dist/src/ui/components/messages/DiffRenderer.js +212 -0
  263. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -0
  264. package/dist/src/ui/components/messages/ErrorMessage.d.ts +11 -0
  265. package/dist/src/ui/components/messages/ErrorMessage.js +9 -0
  266. package/dist/src/ui/components/messages/ErrorMessage.js.map +1 -0
  267. package/dist/src/ui/components/messages/GeminiMessage.d.ts +15 -0
  268. package/dist/src/ui/components/messages/GeminiMessage.js +10 -0
  269. package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -0
  270. package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +14 -0
  271. package/dist/src/ui/components/messages/GeminiMessageContent.js +15 -0
  272. package/dist/src/ui/components/messages/GeminiMessageContent.js.map +1 -0
  273. package/dist/src/ui/components/messages/InfoMessage.d.ts +11 -0
  274. package/dist/src/ui/components/messages/InfoMessage.js +9 -0
  275. package/dist/src/ui/components/messages/InfoMessage.js.map +1 -0
  276. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +15 -0
  277. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +117 -0
  278. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -0
  279. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +18 -0
  280. package/dist/src/ui/components/messages/ToolGroupMessage.js +53 -0
  281. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -0
  282. package/dist/src/ui/components/messages/ToolMessage.d.ts +15 -0
  283. package/dist/src/ui/components/messages/ToolMessage.js +61 -0
  284. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -0
  285. package/dist/src/ui/components/messages/UserMessage.d.ts +11 -0
  286. package/dist/src/ui/components/messages/UserMessage.js +9 -0
  287. package/dist/src/ui/components/messages/UserMessage.js.map +1 -0
  288. package/dist/src/ui/components/messages/UserShellMessage.d.ts +11 -0
  289. package/dist/src/ui/components/messages/UserShellMessage.js +9 -0
  290. package/dist/src/ui/components/messages/UserShellMessage.js.map +1 -0
  291. package/dist/src/ui/components/shared/MaxSizedBox.d.ts +61 -0
  292. package/dist/src/ui/components/shared/MaxSizedBox.js +384 -0
  293. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -0
  294. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +44 -0
  295. package/dist/src/ui/components/shared/RadioButtonSelect.js +77 -0
  296. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -0
  297. package/dist/src/ui/components/shared/text-buffer.d.ts +184 -0
  298. package/dist/src/ui/components/shared/text-buffer.js +1021 -0
  299. package/dist/src/ui/components/shared/text-buffer.js.map +1 -0
  300. package/dist/src/ui/constants.d.ts +8 -0
  301. package/dist/src/ui/constants.js +12 -0
  302. package/dist/src/ui/constants.js.map +1 -0
  303. package/dist/src/ui/containers/SessionController.d.ts +26 -0
  304. package/dist/src/ui/containers/SessionController.js +314 -0
  305. package/dist/src/ui/containers/SessionController.js.map +1 -0
  306. package/dist/src/ui/containers/UIStateShell.d.ts +6 -0
  307. package/dist/src/ui/containers/UIStateShell.js +4 -0
  308. package/dist/src/ui/containers/UIStateShell.js.map +1 -0
  309. package/dist/src/ui/contexts/AppDispatchContext.d.ts +12 -0
  310. package/dist/src/ui/contexts/AppDispatchContext.js +17 -0
  311. package/dist/src/ui/contexts/AppDispatchContext.js.map +1 -0
  312. package/dist/src/ui/contexts/OpenAIProviderContext.d.ts +29 -0
  313. package/dist/src/ui/contexts/OpenAIProviderContext.js +63 -0
  314. package/dist/src/ui/contexts/OpenAIProviderContext.js.map +1 -0
  315. package/dist/src/ui/contexts/OverflowContext.d.ts +19 -0
  316. package/dist/src/ui/contexts/OverflowContext.js +43 -0
  317. package/dist/src/ui/contexts/OverflowContext.js.map +1 -0
  318. package/dist/src/ui/contexts/SessionContext.d.ts +36 -0
  319. package/dist/src/ui/contexts/SessionContext.js +66 -0
  320. package/dist/src/ui/contexts/SessionContext.js.map +1 -0
  321. package/dist/src/ui/contexts/SessionStateContext.d.ts +15 -0
  322. package/dist/src/ui/contexts/SessionStateContext.js +26 -0
  323. package/dist/src/ui/contexts/SessionStateContext.js.map +1 -0
  324. package/dist/src/ui/contexts/StreamingContext.d.ts +9 -0
  325. package/dist/src/ui/contexts/StreamingContext.js +15 -0
  326. package/dist/src/ui/contexts/StreamingContext.js.map +1 -0
  327. package/dist/src/ui/editors/editorSettingsManager.d.ts +19 -0
  328. package/dist/src/ui/editors/editorSettingsManager.js +54 -0
  329. package/dist/src/ui/editors/editorSettingsManager.js.map +1 -0
  330. package/dist/src/ui/hooks/atCommandProcessor.d.ts +31 -0
  331. package/dist/src/ui/hooks/atCommandProcessor.js +310 -0
  332. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -0
  333. package/dist/src/ui/hooks/index.d.ts +2 -0
  334. package/dist/src/ui/hooks/index.js +3 -0
  335. package/dist/src/ui/hooks/index.js.map +1 -0
  336. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +16 -0
  337. package/dist/src/ui/hooks/shellCommandProcessor.js +263 -0
  338. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -0
  339. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +27 -0
  340. package/dist/src/ui/hooks/slashCommandProcessor.js +1413 -0
  341. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -0
  342. package/dist/src/ui/hooks/useAuthCommand.d.ts +15 -0
  343. package/dist/src/ui/hooks/useAuthCommand.js +76 -0
  344. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -0
  345. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +10 -0
  346. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +37 -0
  347. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -0
  348. package/dist/src/ui/hooks/useBracketedPaste.d.ts +12 -0
  349. package/dist/src/ui/hooks/useBracketedPaste.js +32 -0
  350. package/dist/src/ui/hooks/useBracketedPaste.js.map +1 -0
  351. package/dist/src/ui/hooks/useCompletion.d.ts +21 -0
  352. package/dist/src/ui/hooks/useCompletion.js +375 -0
  353. package/dist/src/ui/hooks/useCompletion.js.map +1 -0
  354. package/dist/src/ui/hooks/useConsoleMessages.d.ts +12 -0
  355. package/dist/src/ui/hooks/useConsoleMessages.js +60 -0
  356. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -0
  357. package/dist/src/ui/hooks/useEditorSettings.d.ts +17 -0
  358. package/dist/src/ui/hooks/useEditorSettings.js +48 -0
  359. package/dist/src/ui/hooks/useEditorSettings.js.map +1 -0
  360. package/dist/src/ui/hooks/useGeminiStream.d.ts +23 -0
  361. package/dist/src/ui/hooks/useGeminiStream.js +607 -0
  362. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -0
  363. package/dist/src/ui/hooks/useGitBranchName.d.ts +6 -0
  364. package/dist/src/ui/hooks/useGitBranchName.js +61 -0
  365. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -0
  366. package/dist/src/ui/hooks/useHistoryManager.d.ts +22 -0
  367. package/dist/src/ui/hooks/useHistoryManager.js +74 -0
  368. package/dist/src/ui/hooks/useHistoryManager.js.map +1 -0
  369. package/dist/src/ui/hooks/useInputHistory.d.ts +19 -0
  370. package/dist/src/ui/hooks/useInputHistory.js +84 -0
  371. package/dist/src/ui/hooks/useInputHistory.js.map +1 -0
  372. package/dist/src/ui/hooks/useKeypress.d.ts +29 -0
  373. package/dist/src/ui/hooks/useKeypress.js +162 -0
  374. package/dist/src/ui/hooks/useKeypress.js.map +1 -0
  375. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +10 -0
  376. package/dist/src/ui/hooks/useLoadingIndicator.js +44 -0
  377. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -0
  378. package/dist/src/ui/hooks/useLogger.d.ts +10 -0
  379. package/dist/src/ui/hooks/useLogger.js +29 -0
  380. package/dist/src/ui/hooks/useLogger.js.map +1 -0
  381. package/dist/src/ui/hooks/useOpenAIProviderInfo.d.ts +17 -0
  382. package/dist/src/ui/hooks/useOpenAIProviderInfo.js +43 -0
  383. package/dist/src/ui/hooks/useOpenAIProviderInfo.js.map +1 -0
  384. package/dist/src/ui/hooks/usePhraseCycler.d.ts +14 -0
  385. package/dist/src/ui/hooks/usePhraseCycler.js +197 -0
  386. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -0
  387. package/dist/src/ui/hooks/usePrivacySettings.d.ts +16 -0
  388. package/dist/src/ui/hooks/usePrivacySettings.js +115 -0
  389. package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -0
  390. package/dist/src/ui/hooks/useProviderDialog.d.ts +25 -0
  391. package/dist/src/ui/hooks/useProviderDialog.js +61 -0
  392. package/dist/src/ui/hooks/useProviderDialog.js.map +1 -0
  393. package/dist/src/ui/hooks/useProviderModelDialog.d.ts +26 -0
  394. package/dist/src/ui/hooks/useProviderModelDialog.js +62 -0
  395. package/dist/src/ui/hooks/useProviderModelDialog.js.map +1 -0
  396. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +33 -0
  397. package/dist/src/ui/hooks/useReactToolScheduler.js +186 -0
  398. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -0
  399. package/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +6 -0
  400. package/dist/src/ui/hooks/useRefreshMemoryCommand.js +7 -0
  401. package/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +1 -0
  402. package/dist/src/ui/hooks/useSession.d.ts +11 -0
  403. package/dist/src/ui/hooks/useSession.js +19 -0
  404. package/dist/src/ui/hooks/useSession.js.map +1 -0
  405. package/dist/src/ui/hooks/useShellHistory.d.ts +11 -0
  406. package/dist/src/ui/hooks/useShellHistory.js +89 -0
  407. package/dist/src/ui/hooks/useShellHistory.js.map +1 -0
  408. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +9 -0
  409. package/dist/src/ui/hooks/useShowMemoryCommand.js +50 -0
  410. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +1 -0
  411. package/dist/src/ui/hooks/useStableCallback.d.ts +40 -0
  412. package/dist/src/ui/hooks/useStableCallback.js +58 -0
  413. package/dist/src/ui/hooks/useStableCallback.js.map +1 -0
  414. package/dist/src/ui/hooks/useStateAndRef.d.ts +7 -0
  415. package/dist/src/ui/hooks/useStateAndRef.js +26 -0
  416. package/dist/src/ui/hooks/useStateAndRef.js.map +1 -0
  417. package/dist/src/ui/hooks/useTerminalSize.d.ts +9 -0
  418. package/dist/src/ui/hooks/useTerminalSize.js +27 -0
  419. package/dist/src/ui/hooks/useTerminalSize.js.map +1 -0
  420. package/dist/src/ui/hooks/useThemeCommand.d.ts +16 -0
  421. package/dist/src/ui/hooks/useThemeCommand.js +94 -0
  422. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -0
  423. package/dist/src/ui/hooks/useTimer.d.ts +12 -0
  424. package/dist/src/ui/hooks/useTimer.js +58 -0
  425. package/dist/src/ui/hooks/useTimer.js.map +1 -0
  426. package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +12 -0
  427. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +42 -0
  428. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -0
  429. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +10 -0
  430. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +17 -0
  431. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +1 -0
  432. package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +10 -0
  433. package/dist/src/ui/privacy/GeminiPrivacyNotice.js +17 -0
  434. package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +1 -0
  435. package/dist/src/ui/privacy/PrivacyNotice.d.ts +12 -0
  436. package/dist/src/ui/privacy/PrivacyNotice.js +25 -0
  437. package/dist/src/ui/privacy/PrivacyNotice.js.map +1 -0
  438. package/dist/src/ui/reducers/appReducer.d.ts +59 -0
  439. package/dist/src/ui/reducers/appReducer.js +91 -0
  440. package/dist/src/ui/reducers/appReducer.js.map +1 -0
  441. package/dist/src/ui/reducers/sessionReducer.d.ts +36 -0
  442. package/dist/src/ui/reducers/sessionReducer.js +30 -0
  443. package/dist/src/ui/reducers/sessionReducer.js.map +1 -0
  444. package/dist/src/ui/themes/ansi-light.d.ts +7 -0
  445. package/dist/src/ui/themes/ansi-light.js +139 -0
  446. package/dist/src/ui/themes/ansi-light.js.map +1 -0
  447. package/dist/src/ui/themes/ansi.d.ts +7 -0
  448. package/dist/src/ui/themes/ansi.js +149 -0
  449. package/dist/src/ui/themes/ansi.js.map +1 -0
  450. package/dist/src/ui/themes/atom-one-dark.d.ts +7 -0
  451. package/dist/src/ui/themes/atom-one-dark.js +136 -0
  452. package/dist/src/ui/themes/atom-one-dark.js.map +1 -0
  453. package/dist/src/ui/themes/ayu-light.d.ts +7 -0
  454. package/dist/src/ui/themes/ayu-light.js +128 -0
  455. package/dist/src/ui/themes/ayu-light.js.map +1 -0
  456. package/dist/src/ui/themes/ayu.d.ts +7 -0
  457. package/dist/src/ui/themes/ayu.js +102 -0
  458. package/dist/src/ui/themes/ayu.js.map +1 -0
  459. package/dist/src/ui/themes/default-light.d.ts +7 -0
  460. package/dist/src/ui/themes/default-light.js +100 -0
  461. package/dist/src/ui/themes/default-light.js.map +1 -0
  462. package/dist/src/ui/themes/default.d.ts +7 -0
  463. package/dist/src/ui/themes/default.js +143 -0
  464. package/dist/src/ui/themes/default.js.map +1 -0
  465. package/dist/src/ui/themes/dracula.d.ts +7 -0
  466. package/dist/src/ui/themes/dracula.js +113 -0
  467. package/dist/src/ui/themes/dracula.js.map +1 -0
  468. package/dist/src/ui/themes/github-dark.d.ts +7 -0
  469. package/dist/src/ui/themes/github-dark.js +136 -0
  470. package/dist/src/ui/themes/github-dark.js.map +1 -0
  471. package/dist/src/ui/themes/github-light.d.ts +7 -0
  472. package/dist/src/ui/themes/github-light.js +138 -0
  473. package/dist/src/ui/themes/github-light.js.map +1 -0
  474. package/dist/src/ui/themes/googlecode.d.ts +7 -0
  475. package/dist/src/ui/themes/googlecode.js +135 -0
  476. package/dist/src/ui/themes/googlecode.js.map +1 -0
  477. package/dist/src/ui/themes/green-screen.d.ts +7 -0
  478. package/dist/src/ui/themes/green-screen.js +113 -0
  479. package/dist/src/ui/themes/green-screen.js.map +1 -0
  480. package/dist/src/ui/themes/no-color.d.ts +7 -0
  481. package/dist/src/ui/themes/no-color.js +84 -0
  482. package/dist/src/ui/themes/no-color.js.map +1 -0
  483. package/dist/src/ui/themes/shades-of-purple.d.ts +11 -0
  484. package/dist/src/ui/themes/shades-of-purple.js +302 -0
  485. package/dist/src/ui/themes/shades-of-purple.js.map +1 -0
  486. package/dist/src/ui/themes/theme-manager.d.ts +33 -0
  487. package/dist/src/ui/themes/theme-manager.js +111 -0
  488. package/dist/src/ui/themes/theme-manager.js.map +1 -0
  489. package/dist/src/ui/themes/theme.d.ts +83 -0
  490. package/dist/src/ui/themes/theme.js +304 -0
  491. package/dist/src/ui/themes/theme.js.map +1 -0
  492. package/dist/src/ui/themes/xcode.d.ts +7 -0
  493. package/dist/src/ui/themes/xcode.js +143 -0
  494. package/dist/src/ui/themes/xcode.js.map +1 -0
  495. package/dist/src/ui/types.d.ts +174 -0
  496. package/dist/src/ui/types.js +43 -0
  497. package/dist/src/ui/types.js.map +1 -0
  498. package/dist/src/ui/utils/CodeColorizer.d.ts +14 -0
  499. package/dist/src/ui/utils/CodeColorizer.js +97 -0
  500. package/dist/src/ui/utils/CodeColorizer.js.map +1 -0
  501. package/dist/src/ui/utils/ConsolePatcher.d.ts +23 -0
  502. package/dist/src/ui/utils/ConsolePatcher.js +42 -0
  503. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -0
  504. package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +16 -0
  505. package/dist/src/ui/utils/InlineMarkdownRenderer.js +104 -0
  506. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -0
  507. package/dist/src/ui/utils/MarkdownDisplay.d.ts +14 -0
  508. package/dist/src/ui/utils/MarkdownDisplay.js +205 -0
  509. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -0
  510. package/dist/src/ui/utils/TableRenderer.d.ts +17 -0
  511. package/dist/src/ui/utils/TableRenderer.js +84 -0
  512. package/dist/src/ui/utils/TableRenderer.js.map +1 -0
  513. package/dist/src/ui/utils/clipboardUtils.d.ts +22 -0
  514. package/dist/src/ui/utils/clipboardUtils.js +127 -0
  515. package/dist/src/ui/utils/clipboardUtils.js.map +1 -0
  516. package/dist/src/ui/utils/commandUtils.d.ts +22 -0
  517. package/dist/src/ui/utils/commandUtils.js +25 -0
  518. package/dist/src/ui/utils/commandUtils.js.map +1 -0
  519. package/dist/src/ui/utils/computeStats.d.ts +10 -0
  520. package/dist/src/ui/utils/computeStats.js +55 -0
  521. package/dist/src/ui/utils/computeStats.js.map +1 -0
  522. package/dist/src/ui/utils/displayUtils.d.ts +17 -0
  523. package/dist/src/ui/utils/displayUtils.js +24 -0
  524. package/dist/src/ui/utils/displayUtils.js.map +1 -0
  525. package/dist/src/ui/utils/errorParsing.d.ts +7 -0
  526. package/dist/src/ui/utils/errorParsing.js +106 -0
  527. package/dist/src/ui/utils/errorParsing.js.map +1 -0
  528. package/dist/src/ui/utils/formatters.d.ts +13 -0
  529. package/dist/src/ui/utils/formatters.js +56 -0
  530. package/dist/src/ui/utils/formatters.js.map +1 -0
  531. package/dist/src/ui/utils/markdownUtilities.d.ts +6 -0
  532. package/dist/src/ui/utils/markdownUtilities.js +110 -0
  533. package/dist/src/ui/utils/markdownUtilities.js.map +1 -0
  534. package/dist/src/ui/utils/renderLoopDetector.d.ts +52 -0
  535. package/dist/src/ui/utils/renderLoopDetector.js +146 -0
  536. package/dist/src/ui/utils/renderLoopDetector.js.map +1 -0
  537. package/dist/src/ui/utils/textUtils.d.ts +22 -0
  538. package/dist/src/ui/utils/textUtils.js +58 -0
  539. package/dist/src/ui/utils/textUtils.js.map +1 -0
  540. package/dist/src/ui/utils/updateCheck.d.ts +6 -0
  541. package/dist/src/ui/utils/updateCheck.js +50 -0
  542. package/dist/src/ui/utils/updateCheck.js.map +1 -0
  543. package/dist/src/utils/ConversationContext.d.ts +55 -0
  544. package/dist/src/utils/ConversationContext.js +85 -0
  545. package/dist/src/utils/ConversationContext.js.map +1 -0
  546. package/dist/src/utils/cleanup.d.ts +8 -0
  547. package/dist/src/utils/cleanup.js +34 -0
  548. package/dist/src/utils/cleanup.js.map +1 -0
  549. package/dist/src/utils/package.d.ts +12 -0
  550. package/dist/src/utils/package.js +24 -0
  551. package/dist/src/utils/package.js.map +1 -0
  552. package/dist/src/utils/readStdin.d.ts +6 -0
  553. package/dist/src/utils/readStdin.js +34 -0
  554. package/dist/src/utils/readStdin.js.map +1 -0
  555. package/dist/src/utils/sandbox-macos-permissive-closed.sb +26 -0
  556. package/dist/src/utils/sandbox-macos-permissive-open.sb +19 -0
  557. package/dist/src/utils/sandbox-macos-permissive-proxied.sb +31 -0
  558. package/dist/src/utils/sandbox-macos-restrictive-closed.sb +87 -0
  559. package/dist/src/utils/sandbox-macos-restrictive-open.sb +90 -0
  560. package/dist/src/utils/sandbox-macos-restrictive-proxied.sb +92 -0
  561. package/dist/src/utils/sandbox.d.ts +7 -0
  562. package/dist/src/utils/sandbox.js +680 -0
  563. package/dist/src/utils/sandbox.js.map +1 -0
  564. package/dist/src/utils/startupWarnings.d.ts +6 -0
  565. package/dist/src/utils/startupWarnings.js +40 -0
  566. package/dist/src/utils/startupWarnings.js.map +1 -0
  567. package/dist/src/utils/userStartupWarnings.d.ts +6 -0
  568. package/dist/src/utils/userStartupWarnings.js +48 -0
  569. package/dist/src/utils/userStartupWarnings.js.map +1 -0
  570. package/dist/src/utils/version.d.ts +6 -0
  571. package/dist/src/utils/version.js +11 -0
  572. package/dist/src/utils/version.js.map +1 -0
  573. package/dist/tsconfig.tsbuildinfo +1 -0
  574. package/dist/vybestack-llxprt-code-0.1.12.tgz +0 -0
  575. package/package.json +95 -0
@@ -0,0 +1,478 @@
1
+ import Anthropic from '@anthropic-ai/sdk';
2
+ import { ToolFormatter } from '../../tools/ToolFormatter.js';
3
+ import { retryWithBackoff } from '@vybestack/llxprt-code-core';
4
+ export class AnthropicProvider {
5
+ name = 'anthropic';
6
+ anthropic;
7
+ toolFormatter;
8
+ toolFormat = 'anthropic';
9
+ apiKey;
10
+ baseURL;
11
+ currentModel = 'claude-sonnet-4-latest'; // Default model using latest alias
12
+ // Model cache for latest resolution
13
+ modelCache = null;
14
+ modelCacheTTL = 5 * 60 * 1000; // 5 minutes
15
+ // Retry configuration
16
+ retryableErrorMessages = [
17
+ 'overloaded',
18
+ 'rate_limit',
19
+ 'server_error',
20
+ 'service_unavailable',
21
+ ];
22
+ // Model patterns for max output tokens
23
+ modelTokenPatterns = [
24
+ { pattern: /claude-.*opus-4/i, tokens: 32000 },
25
+ { pattern: /claude-.*sonnet-4/i, tokens: 64000 },
26
+ { pattern: /claude-.*haiku-4/i, tokens: 200000 }, // Future-proofing for Haiku 4
27
+ { pattern: /claude-.*3-7.*sonnet/i, tokens: 64000 },
28
+ { pattern: /claude-.*3-5.*sonnet/i, tokens: 8192 },
29
+ { pattern: /claude-.*3-5.*haiku/i, tokens: 8192 },
30
+ { pattern: /claude-.*3.*opus/i, tokens: 4096 },
31
+ { pattern: /claude-.*3.*haiku/i, tokens: 4096 },
32
+ ];
33
+ constructor(apiKey, baseURL) {
34
+ this.apiKey = apiKey;
35
+ this.baseURL = baseURL;
36
+ this.anthropic = new Anthropic({
37
+ apiKey,
38
+ baseURL,
39
+ });
40
+ this.toolFormatter = new ToolFormatter();
41
+ }
42
+ async getModels() {
43
+ if (!this.apiKey || this.apiKey.trim() === '') {
44
+ throw new Error('Anthropic API key is required to fetch models');
45
+ }
46
+ try {
47
+ // Fetch models from Anthropic API (beta endpoint)
48
+ const models = [];
49
+ // Handle pagination
50
+ for await (const model of this.anthropic.beta.models.list()) {
51
+ models.push({
52
+ id: model.id,
53
+ name: model.display_name || model.id,
54
+ provider: 'anthropic',
55
+ supportedToolFormats: ['anthropic'],
56
+ contextWindow: this.getContextWindowForModel(model.id),
57
+ maxOutputTokens: this.getMaxTokensForModel(model.id),
58
+ });
59
+ }
60
+ // Add "latest" aliases for Claude 4 tiers (opus, sonnet). We pick the newest
61
+ // version of each tier based on the sorted order created above.
62
+ const addLatestAlias = (tier) => {
63
+ const latest = models
64
+ .filter((m) => m.id.startsWith(`claude-${tier}-4-`))
65
+ .sort((a, b) => b.id.localeCompare(a.id))[0];
66
+ if (latest) {
67
+ models.push({
68
+ ...latest,
69
+ id: `claude-${tier}-4-latest`,
70
+ name: latest.name.replace(/-\d{8}$/, '-latest'),
71
+ });
72
+ }
73
+ };
74
+ addLatestAlias('opus');
75
+ addLatestAlias('sonnet');
76
+ return models;
77
+ }
78
+ catch (error) {
79
+ console.error('Failed to fetch Anthropic models:', error);
80
+ return []; // Return empty array on error
81
+ }
82
+ }
83
+ async *generateChatCompletion(messages, tools, _toolFormat) {
84
+ if (!this.apiKey || this.apiKey.trim() === '') {
85
+ throw new Error('Anthropic API key is required to generate chat completions');
86
+ }
87
+ let attemptCount = 0;
88
+ const apiCall = async () => {
89
+ attemptCount++;
90
+ // Resolve model if it uses -latest placeholder
91
+ const resolvedModel = await this.resolveLatestModel(this.currentModel);
92
+ // Validate and fix message history to prevent tool_use/tool_result mismatches
93
+ const validatedMessages = attemptCount > 1 ? this.validateAndFixMessages(messages) : messages;
94
+ // Use the resolved model for the API call
95
+ const modelForApi = resolvedModel;
96
+ // Extract system message if present and handle tool responses
97
+ let systemMessage;
98
+ const anthropicMessages = [];
99
+ for (const msg of validatedMessages) {
100
+ if (msg.role === 'system') {
101
+ systemMessage = msg.content;
102
+ }
103
+ else if (msg.role === 'tool') {
104
+ // Anthropic expects tool responses as user messages with tool_result content
105
+ anthropicMessages.push({
106
+ role: 'user',
107
+ content: [
108
+ {
109
+ type: 'tool_result',
110
+ tool_use_id: msg.tool_call_id || 'unknown',
111
+ content: msg.content,
112
+ },
113
+ ],
114
+ });
115
+ }
116
+ else if (msg.role === 'assistant' && msg.tool_calls) {
117
+ // Handle assistant messages with tool calls
118
+ const content = [];
119
+ if (msg.content) {
120
+ content.push({ type: 'text', text: msg.content });
121
+ }
122
+ for (const toolCall of msg.tool_calls) {
123
+ content.push({
124
+ type: 'tool_use',
125
+ id: toolCall.id,
126
+ name: toolCall.function.name,
127
+ input: toolCall.function.arguments
128
+ ? JSON.parse(toolCall.function.arguments)
129
+ : {},
130
+ });
131
+ }
132
+ anthropicMessages.push({
133
+ role: 'assistant',
134
+ content,
135
+ });
136
+ }
137
+ else {
138
+ // Regular user/assistant messages
139
+ anthropicMessages.push({
140
+ role: msg.role,
141
+ content: msg.content,
142
+ });
143
+ }
144
+ }
145
+ // Convert ITool[] to Anthropic's tool format if tools are provided
146
+ const anthropicTools = tools
147
+ ? this.toolFormatter.toProviderFormat(tools, 'anthropic')
148
+ : undefined;
149
+ // Create the stream with proper typing
150
+ const createOptions = {
151
+ model: modelForApi,
152
+ messages: anthropicMessages,
153
+ max_tokens: this.getMaxTokensForModel(resolvedModel),
154
+ stream: true,
155
+ };
156
+ // Add system message as top-level parameter if present
157
+ if (systemMessage) {
158
+ createOptions.system = systemMessage;
159
+ }
160
+ if (anthropicTools) {
161
+ createOptions.tools = anthropicTools;
162
+ }
163
+ return this.anthropic.messages.create(createOptions);
164
+ };
165
+ try {
166
+ const stream = await retryWithBackoff(apiCall, {
167
+ shouldRetry: (error) => this.isRetryableError(error),
168
+ });
169
+ let currentUsage;
170
+ // Track current tool call being streamed
171
+ let currentToolCall;
172
+ // Process the stream
173
+ for await (const chunk of stream) {
174
+ if (chunk.type === 'message_start') {
175
+ // Initial usage info
176
+ if (chunk.message.usage) {
177
+ const usage = chunk.message.usage;
178
+ if (usage.input_tokens !== null && usage.output_tokens !== null) {
179
+ currentUsage = {
180
+ input_tokens: usage.input_tokens,
181
+ output_tokens: usage.output_tokens,
182
+ };
183
+ yield {
184
+ role: 'assistant',
185
+ content: '',
186
+ usage: {
187
+ prompt_tokens: currentUsage.input_tokens,
188
+ completion_tokens: currentUsage.output_tokens,
189
+ total_tokens: currentUsage.input_tokens + currentUsage.output_tokens,
190
+ },
191
+ };
192
+ }
193
+ }
194
+ }
195
+ else if (chunk.type === 'content_block_start') {
196
+ // Handle tool use blocks
197
+ if (chunk.content_block.type === 'tool_use') {
198
+ currentToolCall = {
199
+ id: chunk.content_block.id,
200
+ name: chunk.content_block.name,
201
+ input: '',
202
+ };
203
+ }
204
+ }
205
+ else if (chunk.type === 'content_block_delta') {
206
+ // Yield content chunks
207
+ if (chunk.delta.type === 'text_delta') {
208
+ yield {
209
+ role: 'assistant',
210
+ content: chunk.delta.text,
211
+ };
212
+ }
213
+ else if (chunk.delta.type === 'input_json_delta' &&
214
+ currentToolCall) {
215
+ // Handle input deltas for tool calls
216
+ currentToolCall.input += chunk.delta.partial_json;
217
+ }
218
+ }
219
+ else if (chunk.type === 'content_block_stop') {
220
+ // Complete the tool call
221
+ if (currentToolCall) {
222
+ const toolCallResult = this.toolFormatter.fromProviderFormat({
223
+ id: currentToolCall.id,
224
+ type: 'tool_use',
225
+ name: currentToolCall.name,
226
+ input: currentToolCall.input
227
+ ? JSON.parse(currentToolCall.input)
228
+ : undefined,
229
+ }, 'anthropic');
230
+ yield {
231
+ role: 'assistant',
232
+ content: '',
233
+ tool_calls: toolCallResult,
234
+ };
235
+ currentToolCall = undefined;
236
+ }
237
+ }
238
+ else if (chunk.type === 'message_delta') {
239
+ // Update usage if provided
240
+ if (chunk.usage &&
241
+ chunk.usage.input_tokens !== null &&
242
+ chunk.usage.output_tokens !== null) {
243
+ currentUsage = {
244
+ input_tokens: chunk.usage.input_tokens,
245
+ output_tokens: chunk.usage.output_tokens,
246
+ };
247
+ yield {
248
+ role: 'assistant',
249
+ content: '',
250
+ usage: {
251
+ prompt_tokens: currentUsage.input_tokens,
252
+ completion_tokens: currentUsage.output_tokens,
253
+ total_tokens: currentUsage.input_tokens + currentUsage.output_tokens,
254
+ },
255
+ };
256
+ }
257
+ }
258
+ else if (chunk.type === 'message_stop') {
259
+ // Final usage info
260
+ if (currentUsage) {
261
+ yield {
262
+ role: 'assistant',
263
+ content: '',
264
+ usage: {
265
+ prompt_tokens: currentUsage.input_tokens,
266
+ completion_tokens: currentUsage.output_tokens,
267
+ total_tokens: currentUsage.input_tokens + currentUsage.output_tokens,
268
+ },
269
+ };
270
+ }
271
+ }
272
+ }
273
+ }
274
+ catch (error) {
275
+ const errorMessage = error instanceof Error ? error.message : String(error);
276
+ throw new Error(`Anthropic API error: ${errorMessage}`);
277
+ }
278
+ }
279
+ setApiKey(apiKey) {
280
+ this.apiKey = apiKey;
281
+ // Create a new Anthropic client with the updated API key
282
+ this.anthropic = new Anthropic({
283
+ apiKey,
284
+ baseURL: this.baseURL,
285
+ });
286
+ }
287
+ setBaseUrl(baseUrl) {
288
+ // If no baseUrl is provided, clear to default (undefined)
289
+ this.baseURL = baseUrl && baseUrl.trim() !== '' ? baseUrl : undefined;
290
+ // Create a new Anthropic client with the updated (or cleared) base URL
291
+ this.anthropic = new Anthropic({
292
+ apiKey: this.apiKey,
293
+ baseURL: this.baseURL,
294
+ });
295
+ }
296
+ setModel(modelId) {
297
+ this.currentModel = modelId;
298
+ }
299
+ getCurrentModel() {
300
+ return this.currentModel;
301
+ }
302
+ /**
303
+ * Helper method to get the latest Claude 4 model ID for a given tier.
304
+ * This can be used when you want to ensure you're using the latest model.
305
+ * @param tier - The model tier: 'opus', 'sonnet', or 'haiku'
306
+ * @returns The latest model ID for that tier
307
+ */
308
+ getLatestClaude4Model(tier = 'sonnet') {
309
+ switch (tier) {
310
+ case 'opus':
311
+ return 'claude-opus-4-latest';
312
+ case 'sonnet':
313
+ return 'claude-sonnet-4-latest';
314
+ case 'haiku':
315
+ // Haiku 4 not yet available, but future-proofed
316
+ return 'claude-haiku-4-latest';
317
+ default:
318
+ return 'claude-sonnet-4-latest';
319
+ }
320
+ }
321
+ /**
322
+ * Resolves a model ID that may contain "-latest" to the actual model ID.
323
+ * Caches the result to avoid frequent API calls.
324
+ */
325
+ async resolveLatestModel(modelId) {
326
+ // If it's not a latest alias, return as-is
327
+ if (!modelId.endsWith('-latest')) {
328
+ return modelId;
329
+ }
330
+ // Check cache
331
+ const now = Date.now();
332
+ if (this.modelCache &&
333
+ now - this.modelCache.timestamp < this.modelCacheTTL) {
334
+ // Find the corresponding model from cache
335
+ const model = this.modelCache.models.find((m) => m.id === modelId);
336
+ if (model) {
337
+ // The latest aliases are synthetic, find the real model
338
+ const tier = modelId.includes('opus') ? 'opus' : 'sonnet';
339
+ const realModel = this.modelCache.models
340
+ .filter((m) => m.id.startsWith(`claude-${tier}-4-`) && !m.id.endsWith('-latest'))
341
+ .sort((a, b) => b.id.localeCompare(a.id))[0];
342
+ return realModel ? realModel.id : modelId;
343
+ }
344
+ }
345
+ // Fetch fresh models
346
+ const models = await this.getModels();
347
+ this.modelCache = { models, timestamp: now };
348
+ // Find the real model for this latest alias
349
+ const tier = modelId.includes('opus') ? 'opus' : 'sonnet';
350
+ const realModel = models
351
+ .filter((m) => m.id.startsWith(`claude-${tier}-4-`) && !m.id.endsWith('-latest'))
352
+ .sort((a, b) => b.id.localeCompare(a.id))[0];
353
+ return realModel ? realModel.id : modelId;
354
+ }
355
+ getMaxTokensForModel(modelId) {
356
+ // Handle latest aliases explicitly
357
+ if (modelId === 'claude-opus-4-latest' ||
358
+ modelId.includes('claude-opus-4')) {
359
+ return 32000;
360
+ }
361
+ if (modelId === 'claude-sonnet-4-latest' ||
362
+ modelId.includes('claude-sonnet-4')) {
363
+ return 64000;
364
+ }
365
+ // Try to match model patterns
366
+ for (const { pattern, tokens } of this.modelTokenPatterns) {
367
+ if (pattern.test(modelId)) {
368
+ return tokens;
369
+ }
370
+ }
371
+ // Default for unknown models
372
+ return 4096;
373
+ }
374
+ getContextWindowForModel(modelId) {
375
+ // Claude 4 models have larger context windows
376
+ if (modelId.includes('claude-opus-4')) {
377
+ return 500000;
378
+ }
379
+ if (modelId.includes('claude-sonnet-4')) {
380
+ return 400000;
381
+ }
382
+ // Claude 3.7 models
383
+ if (modelId.includes('claude-3-7')) {
384
+ return 300000;
385
+ }
386
+ // Default for Claude 3.x models
387
+ return 200000;
388
+ }
389
+ isRetryableError(error) {
390
+ if (!(error instanceof Error))
391
+ return false;
392
+ const errorMessage = error.message.toLowerCase();
393
+ if (error.message.includes('rate_limit_error'))
394
+ return true;
395
+ // Check for Anthropic-specific error patterns
396
+ if (error.message.includes('Anthropic API error:')) {
397
+ // Extract the actual error content
398
+ const match = error.message.match(/{"type":"error","error":({.*})}/);
399
+ if (match) {
400
+ try {
401
+ const errorData = JSON.parse(match[1]);
402
+ const errorType = errorData.type?.toLowerCase() || '';
403
+ const errorMsg = errorData.message?.toLowerCase() || '';
404
+ return this.retryableErrorMessages.some((retryable) => errorType.includes(retryable) || errorMsg.includes(retryable));
405
+ }
406
+ catch {
407
+ // If parsing fails, fall back to string matching
408
+ }
409
+ }
410
+ }
411
+ // Direct error message checking
412
+ return this.retryableErrorMessages.some((msg) => errorMessage.includes(msg));
413
+ }
414
+ /**
415
+ * Validates and potentially fixes the message history to ensure proper tool_use/tool_result pairing.
416
+ * This prevents the "tool_use ids were found without tool_result blocks" error after a failed request.
417
+ */
418
+ validateAndFixMessages(messages) {
419
+ const fixedMessages = [];
420
+ let pendingToolCalls = [];
421
+ for (let i = 0; i < messages.length; i++) {
422
+ const msg = messages[i];
423
+ if (msg.role === 'assistant' && msg.tool_calls) {
424
+ // Track tool calls from assistant
425
+ fixedMessages.push(msg);
426
+ pendingToolCalls = msg.tool_calls.map((tc) => ({
427
+ id: tc.id,
428
+ name: tc.function.name,
429
+ }));
430
+ }
431
+ else if (msg.role === 'tool' && pendingToolCalls.length > 0) {
432
+ // Match tool results with pending tool calls
433
+ fixedMessages.push(msg);
434
+ // Remove the matched tool call
435
+ pendingToolCalls = pendingToolCalls.filter((tc) => tc.id !== msg.tool_call_id);
436
+ }
437
+ else if (msg.role === 'assistant' ||
438
+ msg.role === 'user' ||
439
+ msg.role === 'system') {
440
+ // If we have pending tool calls and encounter a non-tool message,
441
+ // we need to add dummy tool results to maintain consistency
442
+ if (pendingToolCalls.length > 0 && msg.role !== 'system') {
443
+ // Add dummy tool results for unmatched tool calls
444
+ for (const toolCall of pendingToolCalls) {
445
+ fixedMessages.push({
446
+ role: 'tool',
447
+ tool_call_id: toolCall.id,
448
+ content: 'Error: Tool execution was interrupted. Please retry.',
449
+ });
450
+ }
451
+ pendingToolCalls = [];
452
+ }
453
+ fixedMessages.push(msg);
454
+ }
455
+ else {
456
+ fixedMessages.push(msg);
457
+ }
458
+ }
459
+ // Handle any remaining pending tool calls at the end
460
+ if (pendingToolCalls.length > 0) {
461
+ for (const toolCall of pendingToolCalls) {
462
+ fixedMessages.push({
463
+ role: 'tool',
464
+ tool_call_id: toolCall.id,
465
+ content: 'Error: Tool execution was interrupted. Please retry.',
466
+ });
467
+ }
468
+ }
469
+ return fixedMessages;
470
+ }
471
+ /**
472
+ * Anthropic always requires payment (API key)
473
+ */
474
+ isPaidMode() {
475
+ return true;
476
+ }
477
+ }
478
+ //# sourceMappingURL=AnthropicProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../../src/providers/anthropic/AnthropicProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ContentGenerator, ContentGeneratorConfig } from '@vybestack/llxprt-code-core';
7
+ /**
8
+ * Creates a ContentGenerator using the active provider if available
9
+ * @param config The content generator configuration
10
+ * @param defaultGenerator Function to create the default Gemini generator
11
+ * @returns A ContentGenerator instance
12
+ */
13
+ export declare function createProviderContentGenerator(config: ContentGeneratorConfig, defaultGenerator: () => Promise<ContentGenerator>): Promise<ContentGenerator>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Creates a ContentGenerator using the active provider if available
8
+ * @param config The content generator configuration
9
+ * @param defaultGenerator Function to create the default Gemini generator
10
+ * @returns A ContentGenerator instance
11
+ */
12
+ export async function createProviderContentGenerator(config, defaultGenerator) {
13
+ // Provider support is now handled in the core package
14
+ // This function is kept for backward compatibility
15
+ return defaultGenerator();
16
+ }
17
+ //# sourceMappingURL=contentGeneratorProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentGeneratorProvider.js","sourceRoot":"","sources":["../../../src/providers/contentGeneratorProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,MAA8B,EAC9B,gBAAiD;IAEjD,sDAAsD;IACtD,mDAAmD;IACnD,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Config } from '@vybestack/llxprt-code-core';
7
+ /**
8
+ * Enhances a Config instance to support providers
9
+ * @param config The original config instance
10
+ * @returns The same config instance with provider support
11
+ */
12
+ export declare function enhanceConfigWithProviders(config: Config): Config;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Enhances a Config instance to support providers
8
+ * @param config The original config instance
9
+ * @returns The same config instance with provider support
10
+ */
11
+ export function enhanceConfigWithProviders(config) {
12
+ // Provider support is now built into the core Config class
13
+ // This function is kept for backward compatibility
14
+ return config;
15
+ }
16
+ //# sourceMappingURL=enhanceConfigWithProviders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanceConfigWithProviders.js","sourceRoot":"","sources":["../../../src/providers/enhanceConfigWithProviders.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAc;IACvD,2DAA2D;IAC3D,mDAAmD;IAEnD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { IProvider, IModel, IMessage, ITool } from '../IProvider.js';
7
+ import { Config, AuthType } from '@vybestack/llxprt-code-core';
8
+ /**
9
+ * Represents the default Gemini provider.
10
+ * This provider is implicitly active when no other provider is explicitly set.
11
+ *
12
+ * NOTE: This provider acts as a configuration layer for the native Gemini integration.
13
+ * It doesn't implement generateChatCompletion directly but instead configures the
14
+ * system to use the native Gemini client with the appropriate authentication.
15
+ */
16
+ type GeminiAuthMode = 'oauth' | 'gemini-api-key' | 'vertex-ai' | 'none';
17
+ export declare class GeminiProvider implements IProvider {
18
+ readonly name: string;
19
+ readonly isDefault: boolean;
20
+ private apiKey?;
21
+ private authMode;
22
+ private config?;
23
+ private currentModel;
24
+ constructor();
25
+ /**
26
+ * Determines the best available authentication method based on environment variables
27
+ * and existing configuration. Follows the hierarchy: Vertex AI → Gemini API key → OAuth
28
+ */
29
+ private determineBestAuth;
30
+ /**
31
+ * Checks if Vertex AI credentials are available
32
+ */
33
+ private hasVertexAICredentials;
34
+ /**
35
+ * Checks if Gemini API key is available
36
+ */
37
+ private hasGeminiAPIKey;
38
+ /**
39
+ * Sets up environment variables for Vertex AI authentication
40
+ */
41
+ private setupVertexAIAuth;
42
+ /**
43
+ * Sets the config instance for reading OAuth credentials
44
+ */
45
+ setConfig(config: Config): void;
46
+ getModels(): Promise<IModel[]>;
47
+ generateChatCompletion(messages: IMessage[], tools?: ITool[], _toolFormat?: string): AsyncIterableIterator<unknown>;
48
+ private convertMessagesToGeminiFormat;
49
+ private convertToolsToGeminiFormat;
50
+ setApiKey(apiKey: string): void;
51
+ /**
52
+ * Gets the current authentication mode
53
+ */
54
+ getAuthMode(): GeminiAuthMode;
55
+ /**
56
+ * Gets the appropriate AuthType for the core library
57
+ */
58
+ getCoreAuthType(): AuthType;
59
+ /**
60
+ * Gets the current model ID
61
+ */
62
+ getCurrentModel(): string;
63
+ /**
64
+ * Sets the current model ID
65
+ */
66
+ setModel(modelId: string): void;
67
+ /**
68
+ * Checks if the current auth mode requires payment
69
+ */
70
+ isPaidMode(): boolean;
71
+ }
72
+ export {};