@vybestack/llxprt-code-core 0.1.19-beta → 0.1.19

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 (540) hide show
  1. package/README.md +49 -2
  2. package/dist/index.d.ts +6 -0
  3. package/dist/index.js +6 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/auth/anthropic-device-flow.d.ts +53 -0
  6. package/dist/src/auth/anthropic-device-flow.js +208 -0
  7. package/dist/src/auth/anthropic-device-flow.js.map +1 -0
  8. package/dist/src/auth/precedence.d.ts +55 -0
  9. package/dist/src/auth/precedence.js +211 -0
  10. package/dist/src/auth/precedence.js.map +1 -0
  11. package/dist/src/auth/qwen-device-flow.d.ts +45 -0
  12. package/dist/src/auth/qwen-device-flow.js +179 -0
  13. package/dist/src/auth/qwen-device-flow.js.map +1 -0
  14. package/dist/src/auth/token-store.d.ts +66 -0
  15. package/dist/src/auth/token-store.js +151 -0
  16. package/dist/src/auth/token-store.js.map +1 -0
  17. package/dist/src/auth/types.d.ts +130 -0
  18. package/dist/src/auth/types.js +60 -0
  19. package/dist/src/auth/types.js.map +1 -0
  20. package/dist/src/code_assist/converter.d.ts +2 -2
  21. package/dist/src/code_assist/converter.js +1 -1
  22. package/dist/src/code_assist/converter.js.map +1 -1
  23. package/dist/src/config/config.d.ts +7 -1
  24. package/dist/src/config/config.js +46 -5
  25. package/dist/src/config/config.js.map +1 -1
  26. package/dist/src/config/endpoints.d.ts +60 -0
  27. package/dist/src/config/endpoints.js +126 -0
  28. package/dist/src/config/endpoints.js.map +1 -0
  29. package/dist/src/config/profileManager.d.ts +14 -4
  30. package/dist/src/config/profileManager.js +90 -11
  31. package/dist/src/config/profileManager.js.map +1 -1
  32. package/dist/src/core/client.d.ts +5 -2
  33. package/dist/src/core/client.js +164 -44
  34. package/dist/src/core/client.js.map +1 -1
  35. package/dist/src/core/contentGenerator.d.ts +4 -1
  36. package/dist/src/core/contentGenerator.js +3 -0
  37. package/dist/src/core/contentGenerator.js.map +1 -1
  38. package/dist/src/core/loggingContentGenerator.d.ts +5 -0
  39. package/dist/src/core/loggingContentGenerator.js +9 -1
  40. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  41. package/dist/src/core/subagent.js +12 -10
  42. package/dist/src/core/subagent.js.map +1 -1
  43. package/dist/src/ide/detect-ide.d.ts +10 -2
  44. package/dist/src/ide/detect-ide.js +48 -5
  45. package/dist/src/ide/detect-ide.js.map +1 -1
  46. package/dist/src/ide/ide-client.js +22 -15
  47. package/dist/src/ide/ide-client.js.map +1 -1
  48. package/dist/src/index.d.ts +10 -1
  49. package/dist/src/index.js +10 -1
  50. package/dist/src/index.js.map +1 -1
  51. package/dist/src/prompt-config/defaults/core-defaults.d.ts +1 -1
  52. package/dist/src/prompt-config/defaults/core-defaults.js +21 -326
  53. package/dist/src/prompt-config/defaults/core-defaults.js.map +1 -1
  54. package/dist/src/prompt-config/defaults/core.md +1 -1
  55. package/dist/src/prompt-config/defaults/provider-defaults.d.ts +1 -1
  56. package/dist/src/prompt-config/defaults/provider-defaults.js +16 -19
  57. package/dist/src/prompt-config/defaults/provider-defaults.js.map +1 -1
  58. package/dist/src/prompt-config/defaults/providers/gemini/models/gemini-2.5-flash/core.md +273 -10
  59. package/dist/src/prompt-config/defaults/providers/gemini/models/gemini-2.5-flash/gemini-2-5-flash/core.md +278 -0
  60. package/dist/src/prompt-config/defaults/tool-defaults.d.ts +1 -1
  61. package/dist/src/prompt-config/defaults/tool-defaults.js +27 -75
  62. package/dist/src/prompt-config/defaults/tool-defaults.js.map +1 -1
  63. package/dist/src/prompt-config/defaults/tools/read-file.md +1 -1
  64. package/dist/src/providers/BaseProvider.d.ts +149 -0
  65. package/dist/src/providers/BaseProvider.js +315 -0
  66. package/dist/src/providers/BaseProvider.js.map +1 -0
  67. package/dist/src/providers/IProvider.d.ts +1 -0
  68. package/dist/src/providers/LoggingProviderWrapper.d.ts +1 -0
  69. package/dist/src/providers/LoggingProviderWrapper.js +3 -0
  70. package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
  71. package/dist/src/providers/ProviderManager.d.ts +0 -1
  72. package/dist/src/providers/ProviderManager.js +23 -14
  73. package/dist/src/providers/ProviderManager.js.map +1 -1
  74. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +20 -6
  75. package/dist/src/providers/anthropic/AnthropicProvider.js +173 -27
  76. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  77. package/dist/src/providers/gemini/GeminiProvider.d.ts +20 -7
  78. package/dist/src/providers/gemini/GeminiProvider.js +182 -147
  79. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  80. package/dist/src/providers/openai/OpenAIProvider.d.ts +53 -6
  81. package/dist/src/providers/openai/OpenAIProvider.js +373 -40
  82. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  83. package/dist/src/providers/openai/RESPONSES_API_MODELS.d.ts +1 -1
  84. package/dist/src/providers/openai/RESPONSES_API_MODELS.js +1 -0
  85. package/dist/src/providers/openai/RESPONSES_API_MODELS.js.map +1 -1
  86. package/dist/src/providers/openai/syntheticToolResponses.d.ts +52 -0
  87. package/dist/src/providers/openai/syntheticToolResponses.js +129 -0
  88. package/dist/src/providers/openai/syntheticToolResponses.js.map +1 -0
  89. package/dist/src/services/loopDetectionService.js +4 -5
  90. package/dist/src/services/loopDetectionService.js.map +1 -1
  91. package/dist/src/settings/SettingsService.d.ts +32 -0
  92. package/dist/src/settings/SettingsService.js +204 -0
  93. package/dist/src/settings/SettingsService.js.map +1 -0
  94. package/dist/src/settings/settingsServiceInstance.d.ts +12 -0
  95. package/dist/src/settings/settingsServiceInstance.js +24 -0
  96. package/dist/src/settings/settingsServiceInstance.js.map +1 -0
  97. package/dist/src/settings/types.d.ts +141 -0
  98. package/dist/src/settings/types.js +5 -0
  99. package/dist/src/settings/types.js.map +1 -0
  100. package/dist/src/tools/edit.js +6 -7
  101. package/dist/src/tools/edit.js.map +1 -1
  102. package/dist/src/tools/glob.js +7 -8
  103. package/dist/src/tools/glob.js.map +1 -1
  104. package/dist/src/tools/grep.js +6 -7
  105. package/dist/src/tools/grep.js.map +1 -1
  106. package/dist/src/tools/ls.js +9 -10
  107. package/dist/src/tools/ls.js.map +1 -1
  108. package/dist/src/tools/mcp-tool.d.ts +3 -8
  109. package/dist/src/tools/mcp-tool.js +5 -18
  110. package/dist/src/tools/mcp-tool.js.map +1 -1
  111. package/dist/src/tools/memoryTool.js +4 -5
  112. package/dist/src/tools/memoryTool.js.map +1 -1
  113. package/dist/src/tools/read-file.js +5 -6
  114. package/dist/src/tools/read-file.js.map +1 -1
  115. package/dist/src/tools/read-many-files.js +17 -18
  116. package/dist/src/tools/read-many-files.js.map +1 -1
  117. package/dist/src/tools/shell.js +8 -9
  118. package/dist/src/tools/shell.js.map +1 -1
  119. package/dist/src/tools/tool-registry.d.ts +1 -15
  120. package/dist/src/tools/tool-registry.js +4 -72
  121. package/dist/src/tools/tool-registry.js.map +1 -1
  122. package/dist/src/tools/tools.d.ts +6 -6
  123. package/dist/src/tools/tools.js +2 -2
  124. package/dist/src/tools/tools.js.map +1 -1
  125. package/dist/src/tools/web-fetch.js +3 -4
  126. package/dist/src/tools/web-fetch.js.map +1 -1
  127. package/dist/src/tools/web-search.js +3 -4
  128. package/dist/src/tools/web-search.js.map +1 -1
  129. package/dist/src/tools/write-file.js +4 -5
  130. package/dist/src/tools/write-file.js.map +1 -1
  131. package/dist/src/utils/editCorrector.js +8 -9
  132. package/dist/src/utils/editCorrector.js.map +1 -1
  133. package/dist/src/utils/nextSpeakerChecker.js +3 -4
  134. package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
  135. package/dist/src/utils/schemaValidator.d.ts +1 -9
  136. package/dist/src/utils/schemaValidator.js +1 -109
  137. package/dist/src/utils/schemaValidator.js.map +1 -1
  138. package/package.json +4 -2
  139. package/dist/src/code_assist/converter.test.d.ts +0 -6
  140. package/dist/src/code_assist/converter.test.js +0 -279
  141. package/dist/src/code_assist/converter.test.js.map +0 -1
  142. package/dist/src/code_assist/oauth2.test.d.ts +0 -6
  143. package/dist/src/code_assist/oauth2.test.js +0 -370
  144. package/dist/src/code_assist/oauth2.test.js.map +0 -1
  145. package/dist/src/code_assist/server.test.d.ts +0 -6
  146. package/dist/src/code_assist/server.test.js +0 -134
  147. package/dist/src/code_assist/server.test.js.map +0 -1
  148. package/dist/src/code_assist/setup.test.d.ts +0 -6
  149. package/dist/src/code_assist/setup.test.js +0 -65
  150. package/dist/src/code_assist/setup.test.js.map +0 -1
  151. package/dist/src/config/config.alwaysAllow.test.d.ts +0 -6
  152. package/dist/src/config/config.alwaysAllow.test.js +0 -84
  153. package/dist/src/config/config.alwaysAllow.test.js.map +0 -1
  154. package/dist/src/config/config.ephemeral.test.d.ts +0 -6
  155. package/dist/src/config/config.ephemeral.test.js +0 -152
  156. package/dist/src/config/config.ephemeral.test.js.map +0 -1
  157. package/dist/src/config/config.test.d.ts +0 -6
  158. package/dist/src/config/config.test.js +0 -369
  159. package/dist/src/config/config.test.js.map +0 -1
  160. package/dist/src/config/flashFallback.test.d.ts +0 -6
  161. package/dist/src/config/flashFallback.test.js +0 -91
  162. package/dist/src/config/flashFallback.test.js.map +0 -1
  163. package/dist/src/core/client.test.d.ts +0 -6
  164. package/dist/src/core/client.test.js +0 -1322
  165. package/dist/src/core/client.test.js.map +0 -1
  166. package/dist/src/core/contentGenerator.test.d.ts +0 -6
  167. package/dist/src/core/contentGenerator.test.js +0 -103
  168. package/dist/src/core/contentGenerator.test.js.map +0 -1
  169. package/dist/src/core/coreToolScheduler.test.d.ts +0 -6
  170. package/dist/src/core/coreToolScheduler.test.js +0 -637
  171. package/dist/src/core/coreToolScheduler.test.js.map +0 -1
  172. package/dist/src/core/geminiChat.test.d.ts +0 -6
  173. package/dist/src/core/geminiChat.test.js +0 -425
  174. package/dist/src/core/geminiChat.test.js.map +0 -1
  175. package/dist/src/core/googleGenAIWrapper.test.d.ts +0 -6
  176. package/dist/src/core/googleGenAIWrapper.test.js +0 -104
  177. package/dist/src/core/googleGenAIWrapper.test.js.map +0 -1
  178. package/dist/src/core/logger.test.d.ts +0 -6
  179. package/dist/src/core/logger.test.js +0 -467
  180. package/dist/src/core/logger.test.js.map +0 -1
  181. package/dist/src/core/nonInteractiveToolExecutor.test.d.ts +0 -6
  182. package/dist/src/core/nonInteractiveToolExecutor.test.js +0 -165
  183. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +0 -1
  184. package/dist/src/core/prompts-async.test.d.ts +0 -6
  185. package/dist/src/core/prompts-async.test.js +0 -115
  186. package/dist/src/core/prompts-async.test.js.map +0 -1
  187. package/dist/src/core/prompts.test.d.ts +0 -6
  188. package/dist/src/core/prompts.test.js +0 -68
  189. package/dist/src/core/prompts.test.js.map +0 -1
  190. package/dist/src/core/subagent.test.d.ts +0 -6
  191. package/dist/src/core/subagent.test.js +0 -519
  192. package/dist/src/core/subagent.test.js.map +0 -1
  193. package/dist/src/core/tokenLimits.test.d.ts +0 -6
  194. package/dist/src/core/tokenLimits.test.js +0 -66
  195. package/dist/src/core/tokenLimits.test.js.map +0 -1
  196. package/dist/src/core/turn.test.d.ts +0 -6
  197. package/dist/src/core/turn.test.js +0 -366
  198. package/dist/src/core/turn.test.js.map +0 -1
  199. package/dist/src/hooks/tool-render-suppression-hook.test.d.ts +0 -6
  200. package/dist/src/hooks/tool-render-suppression-hook.test.js +0 -59
  201. package/dist/src/hooks/tool-render-suppression-hook.test.js.map +0 -1
  202. package/dist/src/ide/ide-installer.test.d.ts +0 -6
  203. package/dist/src/ide/ide-installer.test.js +0 -55
  204. package/dist/src/ide/ide-installer.test.js.map +0 -1
  205. package/dist/src/ide/ideContext.test.d.ts +0 -6
  206. package/dist/src/ide/ideContext.test.js +0 -265
  207. package/dist/src/ide/ideContext.test.js.map +0 -1
  208. package/dist/src/index.test.d.ts +0 -6
  209. package/dist/src/index.test.js +0 -12
  210. package/dist/src/index.test.js.map +0 -1
  211. package/dist/src/integration-tests/todo-system.test.d.ts +0 -6
  212. package/dist/src/integration-tests/todo-system.test.js +0 -46
  213. package/dist/src/integration-tests/todo-system.test.js.map +0 -1
  214. package/dist/src/mcp/google-auth-provider.test.d.ts +0 -6
  215. package/dist/src/mcp/google-auth-provider.test.js +0 -54
  216. package/dist/src/mcp/google-auth-provider.test.js.map +0 -1
  217. package/dist/src/mcp/oauth-provider.test.d.ts +0 -6
  218. package/dist/src/mcp/oauth-provider.test.js +0 -602
  219. package/dist/src/mcp/oauth-provider.test.js.map +0 -1
  220. package/dist/src/mcp/oauth-token-storage.test.d.ts +0 -6
  221. package/dist/src/mcp/oauth-token-storage.test.js +0 -205
  222. package/dist/src/mcp/oauth-token-storage.test.js.map +0 -1
  223. package/dist/src/mcp/oauth-utils.test.d.ts +0 -6
  224. package/dist/src/mcp/oauth-utils.test.js +0 -144
  225. package/dist/src/mcp/oauth-utils.test.js.map +0 -1
  226. package/dist/src/parsers/TextToolCallParser.multibyte.test.d.ts +0 -1
  227. package/dist/src/parsers/TextToolCallParser.multibyte.test.js +0 -42
  228. package/dist/src/parsers/TextToolCallParser.multibyte.test.js.map +0 -1
  229. package/dist/src/parsers/TextToolCallParser.test.d.ts +0 -1
  230. package/dist/src/parsers/TextToolCallParser.test.js +0 -225
  231. package/dist/src/parsers/TextToolCallParser.test.js.map +0 -1
  232. package/dist/src/prompt-config/TemplateEngine.test.d.ts +0 -1
  233. package/dist/src/prompt-config/TemplateEngine.test.js +0 -494
  234. package/dist/src/prompt-config/TemplateEngine.test.js.map +0 -1
  235. package/dist/src/prompt-config/prompt-cache.test.d.ts +0 -6
  236. package/dist/src/prompt-config/prompt-cache.test.js +0 -437
  237. package/dist/src/prompt-config/prompt-cache.test.js.map +0 -1
  238. package/dist/src/prompt-config/prompt-installer.test.d.ts +0 -7
  239. package/dist/src/prompt-config/prompt-installer.test.js +0 -503
  240. package/dist/src/prompt-config/prompt-installer.test.js.map +0 -1
  241. package/dist/src/prompt-config/prompt-loader.test.d.ts +0 -5
  242. package/dist/src/prompt-config/prompt-loader.test.js +0 -413
  243. package/dist/src/prompt-config/prompt-loader.test.js.map +0 -1
  244. package/dist/src/prompt-config/prompt-resolver.test.d.ts +0 -1
  245. package/dist/src/prompt-config/prompt-resolver.test.js +0 -529
  246. package/dist/src/prompt-config/prompt-resolver.test.js.map +0 -1
  247. package/dist/src/prompt-config/prompt-service.test.d.ts +0 -1
  248. package/dist/src/prompt-config/prompt-service.test.js +0 -811
  249. package/dist/src/prompt-config/prompt-service.test.js.map +0 -1
  250. package/dist/src/providers/ProviderManager.gemini-switch.test.d.ts +0 -6
  251. package/dist/src/providers/ProviderManager.gemini-switch.test.js +0 -57
  252. package/dist/src/providers/ProviderManager.gemini-switch.test.js.map +0 -1
  253. package/dist/src/providers/ProviderManager.test.d.ts +0 -6
  254. package/dist/src/providers/ProviderManager.test.js +0 -284
  255. package/dist/src/providers/ProviderManager.test.js.map +0 -1
  256. package/dist/src/providers/adapters/GeminiCompatibleWrapper.test.d.ts +0 -6
  257. package/dist/src/providers/adapters/GeminiCompatibleWrapper.test.js +0 -273
  258. package/dist/src/providers/adapters/GeminiCompatibleWrapper.test.js.map +0 -1
  259. package/dist/src/providers/anthropic/AnthropicProvider.modelParams.test.d.ts +0 -1
  260. package/dist/src/providers/anthropic/AnthropicProvider.modelParams.test.js +0 -48
  261. package/dist/src/providers/anthropic/AnthropicProvider.modelParams.test.js.map +0 -1
  262. package/dist/src/providers/anthropic/AnthropicProvider.test.d.ts +0 -1
  263. package/dist/src/providers/anthropic/AnthropicProvider.test.js +0 -487
  264. package/dist/src/providers/anthropic/AnthropicProvider.test.js.map +0 -1
  265. package/dist/src/providers/gemini/GeminiProvider.integration.test.d.ts +0 -6
  266. package/dist/src/providers/gemini/GeminiProvider.integration.test.js +0 -126
  267. package/dist/src/providers/gemini/GeminiProvider.integration.test.js.map +0 -1
  268. package/dist/src/providers/gemini/GeminiProvider.test.d.ts +0 -6
  269. package/dist/src/providers/gemini/GeminiProvider.test.js +0 -136
  270. package/dist/src/providers/gemini/GeminiProvider.test.js.map +0 -1
  271. package/dist/src/providers/integration/multi-provider.integration.test.d.ts +0 -6
  272. package/dist/src/providers/integration/multi-provider.integration.test.js +0 -292
  273. package/dist/src/providers/integration/multi-provider.integration.test.js.map +0 -1
  274. package/dist/src/providers/openai/ConversationCache.accumTokens.test.d.ts +0 -1
  275. package/dist/src/providers/openai/ConversationCache.accumTokens.test.js +0 -97
  276. package/dist/src/providers/openai/ConversationCache.accumTokens.test.js.map +0 -1
  277. package/dist/src/providers/openai/ConversationCache.test.d.ts +0 -1
  278. package/dist/src/providers/openai/ConversationCache.test.js +0 -113
  279. package/dist/src/providers/openai/ConversationCache.test.js.map +0 -1
  280. package/dist/src/providers/openai/OpenAIProvider.callResponses.stateless.test.d.ts +0 -1
  281. package/dist/src/providers/openai/OpenAIProvider.callResponses.stateless.test.js +0 -189
  282. package/dist/src/providers/openai/OpenAIProvider.callResponses.stateless.test.js.map +0 -1
  283. package/dist/src/providers/openai/OpenAIProvider.integration.test.d.ts +0 -6
  284. package/dist/src/providers/openai/OpenAIProvider.integration.test.js +0 -125
  285. package/dist/src/providers/openai/OpenAIProvider.integration.test.js.map +0 -1
  286. package/dist/src/providers/openai/OpenAIProvider.responses.test.d.ts +0 -1
  287. package/dist/src/providers/openai/OpenAIProvider.responses.test.js +0 -350
  288. package/dist/src/providers/openai/OpenAIProvider.responses.test.js.map +0 -1
  289. package/dist/src/providers/openai/OpenAIProvider.responsesIntegration.test.d.ts +0 -1
  290. package/dist/src/providers/openai/OpenAIProvider.responsesIntegration.test.js +0 -213
  291. package/dist/src/providers/openai/OpenAIProvider.responsesIntegration.test.js.map +0 -1
  292. package/dist/src/providers/openai/OpenAIProvider.shouldUseResponses.test.d.ts +0 -1
  293. package/dist/src/providers/openai/OpenAIProvider.shouldUseResponses.test.js +0 -59
  294. package/dist/src/providers/openai/OpenAIProvider.shouldUseResponses.test.js.map +0 -1
  295. package/dist/src/providers/openai/OpenAIProvider.stateful.integration.test.d.ts +0 -6
  296. package/dist/src/providers/openai/OpenAIProvider.stateful.integration.test.js +0 -105
  297. package/dist/src/providers/openai/OpenAIProvider.stateful.integration.test.js.map +0 -1
  298. package/dist/src/providers/openai/OpenAIProvider.switch.test.d.ts +0 -1
  299. package/dist/src/providers/openai/OpenAIProvider.switch.test.js +0 -256
  300. package/dist/src/providers/openai/OpenAIProvider.switch.test.js.map +0 -1
  301. package/dist/src/providers/openai/OpenAIProvider.test.d.ts +0 -16
  302. package/dist/src/providers/openai/OpenAIProvider.test.js +0 -620
  303. package/dist/src/providers/openai/OpenAIProvider.test.js.map +0 -1
  304. package/dist/src/providers/openai/ResponsesContextTrim.integration.test.d.ts +0 -1
  305. package/dist/src/providers/openai/ResponsesContextTrim.integration.test.js +0 -210
  306. package/dist/src/providers/openai/ResponsesContextTrim.integration.test.js.map +0 -1
  307. package/dist/src/providers/openai/__tests__/formatArrayResponse.test.d.ts +0 -1
  308. package/dist/src/providers/openai/__tests__/formatArrayResponse.test.js +0 -65
  309. package/dist/src/providers/openai/__tests__/formatArrayResponse.test.js.map +0 -1
  310. package/dist/src/providers/openai/buildResponsesRequest.stripToolCalls.test.d.ts +0 -1
  311. package/dist/src/providers/openai/buildResponsesRequest.stripToolCalls.test.js +0 -129
  312. package/dist/src/providers/openai/buildResponsesRequest.stripToolCalls.test.js.map +0 -1
  313. package/dist/src/providers/openai/buildResponsesRequest.test.d.ts +0 -1
  314. package/dist/src/providers/openai/buildResponsesRequest.test.js +0 -406
  315. package/dist/src/providers/openai/buildResponsesRequest.test.js.map +0 -1
  316. package/dist/src/providers/openai/buildResponsesRequest.undefined.test.d.ts +0 -1
  317. package/dist/src/providers/openai/buildResponsesRequest.undefined.test.js +0 -50
  318. package/dist/src/providers/openai/buildResponsesRequest.undefined.test.js.map +0 -1
  319. package/dist/src/providers/openai/estimateRemoteTokens.test.d.ts +0 -1
  320. package/dist/src/providers/openai/estimateRemoteTokens.test.js +0 -125
  321. package/dist/src/providers/openai/estimateRemoteTokens.test.js.map +0 -1
  322. package/dist/src/providers/openai/parseResponsesStream.responsesToolCalls.test.d.ts +0 -1
  323. package/dist/src/providers/openai/parseResponsesStream.responsesToolCalls.test.js +0 -192
  324. package/dist/src/providers/openai/parseResponsesStream.responsesToolCalls.test.js.map +0 -1
  325. package/dist/src/providers/openai/parseResponsesStream.test.d.ts +0 -1
  326. package/dist/src/providers/openai/parseResponsesStream.test.js +0 -151
  327. package/dist/src/providers/openai/parseResponsesStream.test.js.map +0 -1
  328. package/dist/src/services/fileDiscoveryService.test.d.ts +0 -6
  329. package/dist/src/services/fileDiscoveryService.test.js +0 -143
  330. package/dist/src/services/fileDiscoveryService.test.js.map +0 -1
  331. package/dist/src/services/gitService.test.d.ts +0 -6
  332. package/dist/src/services/gitService.test.js +0 -209
  333. package/dist/src/services/gitService.test.js.map +0 -1
  334. package/dist/src/services/loopDetectionService.test.d.ts +0 -6
  335. package/dist/src/services/loopDetectionService.test.js +0 -484
  336. package/dist/src/services/loopDetectionService.test.js.map +0 -1
  337. package/dist/src/services/shellExecutionService.multibyte.test.d.ts +0 -6
  338. package/dist/src/services/shellExecutionService.multibyte.test.js +0 -72
  339. package/dist/src/services/shellExecutionService.multibyte.test.js.map +0 -1
  340. package/dist/src/services/shellExecutionService.test.d.ts +0 -6
  341. package/dist/src/services/shellExecutionService.test.js +0 -272
  342. package/dist/src/services/shellExecutionService.test.js.map +0 -1
  343. package/dist/src/services/shellExecutionService.windows.multibyte.test.d.ts +0 -6
  344. package/dist/src/services/shellExecutionService.windows.multibyte.test.js +0 -98
  345. package/dist/src/services/shellExecutionService.windows.multibyte.test.js.map +0 -1
  346. package/dist/src/services/shellExecutionService.windows.test.d.ts +0 -6
  347. package/dist/src/services/shellExecutionService.windows.test.js +0 -79
  348. package/dist/src/services/shellExecutionService.windows.test.js.map +0 -1
  349. package/dist/src/services/tool-call-tracker-service.test.d.ts +0 -6
  350. package/dist/src/services/tool-call-tracker-service.test.js +0 -99
  351. package/dist/src/services/tool-call-tracker-service.test.js.map +0 -1
  352. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -6
  353. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +0 -187
  354. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +0 -1
  355. package/dist/src/telemetry/loggers.test.d.ts +0 -6
  356. package/dist/src/telemetry/loggers.test.js +0 -573
  357. package/dist/src/telemetry/loggers.test.js.map +0 -1
  358. package/dist/src/telemetry/metrics.test.d.ts +0 -6
  359. package/dist/src/telemetry/metrics.test.js +0 -212
  360. package/dist/src/telemetry/metrics.test.js.map +0 -1
  361. package/dist/src/telemetry/telemetry.test.d.ts +0 -6
  362. package/dist/src/telemetry/telemetry.test.js +0 -54
  363. package/dist/src/telemetry/telemetry.test.js.map +0 -1
  364. package/dist/src/telemetry/uiTelemetry.test.d.ts +0 -6
  365. package/dist/src/telemetry/uiTelemetry.test.js +0 -518
  366. package/dist/src/telemetry/uiTelemetry.test.js.map +0 -1
  367. package/dist/src/tools/ToolFormatter.test.d.ts +0 -16
  368. package/dist/src/tools/ToolFormatter.test.js +0 -349
  369. package/dist/src/tools/ToolFormatter.test.js.map +0 -1
  370. package/dist/src/tools/ToolFormatter.toResponsesTool.test.d.ts +0 -1
  371. package/dist/src/tools/ToolFormatter.toResponsesTool.test.js +0 -241
  372. package/dist/src/tools/ToolFormatter.toResponsesTool.test.js.map +0 -1
  373. package/dist/src/tools/diffOptions.test.d.ts +0 -6
  374. package/dist/src/tools/diffOptions.test.js +0 -119
  375. package/dist/src/tools/diffOptions.test.js.map +0 -1
  376. package/dist/src/tools/edit.test.d.ts +0 -6
  377. package/dist/src/tools/edit.test.js +0 -689
  378. package/dist/src/tools/edit.test.js.map +0 -1
  379. package/dist/src/tools/glob.test.d.ts +0 -6
  380. package/dist/src/tools/glob.test.js +0 -332
  381. package/dist/src/tools/glob.test.js.map +0 -1
  382. package/dist/src/tools/grep.test.d.ts +0 -6
  383. package/dist/src/tools/grep.test.js +0 -272
  384. package/dist/src/tools/grep.test.js.map +0 -1
  385. package/dist/src/tools/ls.test.d.ts +0 -6
  386. package/dist/src/tools/ls.test.js +0 -357
  387. package/dist/src/tools/ls.test.js.map +0 -1
  388. package/dist/src/tools/mcp-client.test.d.ts +0 -6
  389. package/dist/src/tools/mcp-client.test.js +0 -617
  390. package/dist/src/tools/mcp-client.test.js.map +0 -1
  391. package/dist/src/tools/mcp-tool.test.d.ts +0 -6
  392. package/dist/src/tools/mcp-tool.test.js +0 -501
  393. package/dist/src/tools/mcp-tool.test.js.map +0 -1
  394. package/dist/src/tools/memoryTool.test.d.ts +0 -6
  395. package/dist/src/tools/memoryTool.test.js +0 -266
  396. package/dist/src/tools/memoryTool.test.js.map +0 -1
  397. package/dist/src/tools/modifiable-tool.test.d.ts +0 -6
  398. package/dist/src/tools/modifiable-tool.test.js +0 -193
  399. package/dist/src/tools/modifiable-tool.test.js.map +0 -1
  400. package/dist/src/tools/read-file.test.d.ts +0 -6
  401. package/dist/src/tools/read-file.test.js +0 -319
  402. package/dist/src/tools/read-file.test.js.map +0 -1
  403. package/dist/src/tools/read-many-files.test.d.ts +0 -6
  404. package/dist/src/tools/read-many-files.test.js +0 -644
  405. package/dist/src/tools/read-many-files.test.js.map +0 -1
  406. package/dist/src/tools/shell.multibyte.test.d.ts +0 -6
  407. package/dist/src/tools/shell.multibyte.test.js +0 -75
  408. package/dist/src/tools/shell.multibyte.test.js.map +0 -1
  409. package/dist/src/tools/shell.test.d.ts +0 -6
  410. package/dist/src/tools/shell.test.js +0 -367
  411. package/dist/src/tools/shell.test.js.map +0 -1
  412. package/dist/src/tools/todo-pause.spec.d.ts +0 -6
  413. package/dist/src/tools/todo-pause.spec.js +0 -287
  414. package/dist/src/tools/todo-pause.spec.js.map +0 -1
  415. package/dist/src/tools/todo-read.test.d.ts +0 -6
  416. package/dist/src/tools/todo-read.test.js +0 -162
  417. package/dist/src/tools/todo-read.test.js.map +0 -1
  418. package/dist/src/tools/todo-schemas.test.d.ts +0 -6
  419. package/dist/src/tools/todo-schemas.test.js +0 -341
  420. package/dist/src/tools/todo-schemas.test.js.map +0 -1
  421. package/dist/src/tools/todo-store.test.d.ts +0 -6
  422. package/dist/src/tools/todo-store.test.js +0 -169
  423. package/dist/src/tools/todo-store.test.js.map +0 -1
  424. package/dist/src/tools/todo-write.test.d.ts +0 -6
  425. package/dist/src/tools/todo-write.test.js +0 -226
  426. package/dist/src/tools/todo-write.test.js.map +0 -1
  427. package/dist/src/tools/tool-registry.test.d.ts +0 -6
  428. package/dist/src/tools/tool-registry.test.js +0 -468
  429. package/dist/src/tools/tool-registry.test.js.map +0 -1
  430. package/dist/src/tools/tools.test.d.ts +0 -6
  431. package/dist/src/tools/tools.test.js +0 -117
  432. package/dist/src/tools/tools.test.js.map +0 -1
  433. package/dist/src/tools/web-fetch.integration.test.d.ts +0 -6
  434. package/dist/src/tools/web-fetch.integration.test.js +0 -532
  435. package/dist/src/tools/web-fetch.integration.test.js.map +0 -1
  436. package/dist/src/tools/web-search.test.d.ts +0 -6
  437. package/dist/src/tools/web-search.test.js +0 -230
  438. package/dist/src/tools/web-search.test.js.map +0 -1
  439. package/dist/src/tools/write-file.test.d.ts +0 -6
  440. package/dist/src/tools/write-file.test.js +0 -465
  441. package/dist/src/tools/write-file.test.js.map +0 -1
  442. package/dist/src/utils/bfsFileSearch.test.d.ts +0 -6
  443. package/dist/src/utils/bfsFileSearch.test.js +0 -191
  444. package/dist/src/utils/bfsFileSearch.test.js.map +0 -1
  445. package/dist/src/utils/editCorrector.test.d.ts +0 -6
  446. package/dist/src/utils/editCorrector.test.js +0 -564
  447. package/dist/src/utils/editCorrector.test.js.map +0 -1
  448. package/dist/src/utils/editor.test.d.ts +0 -6
  449. package/dist/src/utils/editor.test.js +0 -445
  450. package/dist/src/utils/editor.test.js.map +0 -1
  451. package/dist/src/utils/environmentContext.test.d.ts +0 -6
  452. package/dist/src/utils/environmentContext.test.js +0 -139
  453. package/dist/src/utils/environmentContext.test.js.map +0 -1
  454. package/dist/src/utils/errorReporting.test.d.ts +0 -6
  455. package/dist/src/utils/errorReporting.test.js +0 -130
  456. package/dist/src/utils/errorReporting.test.js.map +0 -1
  457. package/dist/src/utils/fileUtils.test.d.ts +0 -6
  458. package/dist/src/utils/fileUtils.test.js +0 -363
  459. package/dist/src/utils/fileUtils.test.js.map +0 -1
  460. package/dist/src/utils/filesearch/crawlCache.test.d.ts +0 -6
  461. package/dist/src/utils/filesearch/crawlCache.test.js +0 -103
  462. package/dist/src/utils/filesearch/crawlCache.test.js.map +0 -1
  463. package/dist/src/utils/filesearch/fileSearch.test.d.ts +0 -6
  464. package/dist/src/utils/filesearch/fileSearch.test.js +0 -654
  465. package/dist/src/utils/filesearch/fileSearch.test.js.map +0 -1
  466. package/dist/src/utils/filesearch/ignore.test.d.ts +0 -6
  467. package/dist/src/utils/filesearch/ignore.test.js +0 -57
  468. package/dist/src/utils/filesearch/ignore.test.js.map +0 -1
  469. package/dist/src/utils/filesearch/result-cache.test.d.ts +0 -6
  470. package/dist/src/utils/filesearch/result-cache.test.js +0 -47
  471. package/dist/src/utils/filesearch/result-cache.test.js.map +0 -1
  472. package/dist/src/utils/flashFallback.integration.test.d.ts +0 -6
  473. package/dist/src/utils/flashFallback.integration.test.js +0 -120
  474. package/dist/src/utils/flashFallback.integration.test.js.map +0 -1
  475. package/dist/src/utils/generateContentResponseUtilities.test.d.ts +0 -6
  476. package/dist/src/utils/generateContentResponseUtilities.test.js +0 -273
  477. package/dist/src/utils/generateContentResponseUtilities.test.js.map +0 -1
  478. package/dist/src/utils/getFolderStructure.test.d.ts +0 -6
  479. package/dist/src/utils/getFolderStructure.test.js +0 -282
  480. package/dist/src/utils/getFolderStructure.test.js.map +0 -1
  481. package/dist/src/utils/gitIgnoreParser.test.d.ts +0 -6
  482. package/dist/src/utils/gitIgnoreParser.test.js +0 -154
  483. package/dist/src/utils/gitIgnoreParser.test.js.map +0 -1
  484. package/dist/src/utils/memoryDiscovery.test.d.ts +0 -6
  485. package/dist/src/utils/memoryDiscovery.test.js +0 -181
  486. package/dist/src/utils/memoryDiscovery.test.js.map +0 -1
  487. package/dist/src/utils/memoryImportProcessor.test.d.ts +0 -6
  488. package/dist/src/utils/memoryImportProcessor.test.js +0 -715
  489. package/dist/src/utils/memoryImportProcessor.test.js.map +0 -1
  490. package/dist/src/utils/nextSpeakerChecker.test.d.ts +0 -6
  491. package/dist/src/utils/nextSpeakerChecker.test.js +0 -172
  492. package/dist/src/utils/nextSpeakerChecker.test.js.map +0 -1
  493. package/dist/src/utils/partUtils.test.d.ts +0 -6
  494. package/dist/src/utils/partUtils.test.js +0 -130
  495. package/dist/src/utils/partUtils.test.js.map +0 -1
  496. package/dist/src/utils/paths.test.d.ts +0 -6
  497. package/dist/src/utils/paths.test.js +0 -153
  498. package/dist/src/utils/paths.test.js.map +0 -1
  499. package/dist/src/utils/retry.test.d.ts +0 -6
  500. package/dist/src/utils/retry.test.js +0 -322
  501. package/dist/src/utils/retry.test.js.map +0 -1
  502. package/dist/src/utils/safeJsonStringify.test.d.ts +0 -6
  503. package/dist/src/utils/safeJsonStringify.test.js +0 -61
  504. package/dist/src/utils/safeJsonStringify.test.js.map +0 -1
  505. package/dist/src/utils/sanitization.test.d.ts +0 -6
  506. package/dist/src/utils/sanitization.test.js +0 -81
  507. package/dist/src/utils/sanitization.test.js.map +0 -1
  508. package/dist/src/utils/schemaValidator.test.d.ts +0 -6
  509. package/dist/src/utils/schemaValidator.test.js +0 -146
  510. package/dist/src/utils/schemaValidator.test.js.map +0 -1
  511. package/dist/src/utils/secure-browser-launcher.test.d.ts +0 -6
  512. package/dist/src/utils/secure-browser-launcher.test.js +0 -149
  513. package/dist/src/utils/secure-browser-launcher.test.js.map +0 -1
  514. package/dist/src/utils/shell-utils.shellReplacement.test.d.ts +0 -6
  515. package/dist/src/utils/shell-utils.shellReplacement.test.js +0 -149
  516. package/dist/src/utils/shell-utils.shellReplacement.test.js.map +0 -1
  517. package/dist/src/utils/shell-utils.test.d.ts +0 -6
  518. package/dist/src/utils/shell-utils.test.js +0 -200
  519. package/dist/src/utils/shell-utils.test.js.map +0 -1
  520. package/dist/src/utils/summarizer.test.d.ts +0 -6
  521. package/dist/src/utils/summarizer.test.js +0 -131
  522. package/dist/src/utils/summarizer.test.js.map +0 -1
  523. package/dist/src/utils/systemEncoding.test.d.ts +0 -6
  524. package/dist/src/utils/systemEncoding.test.js +0 -368
  525. package/dist/src/utils/systemEncoding.test.js.map +0 -1
  526. package/dist/src/utils/toolOutputLimiter.test.d.ts +0 -6
  527. package/dist/src/utils/toolOutputLimiter.test.js +0 -164
  528. package/dist/src/utils/toolOutputLimiter.test.js.map +0 -1
  529. package/dist/src/utils/unicodeUtils.test.d.ts +0 -6
  530. package/dist/src/utils/unicodeUtils.test.js +0 -120
  531. package/dist/src/utils/unicodeUtils.test.js.map +0 -1
  532. package/dist/src/utils/user_account.test.d.ts +0 -6
  533. package/dist/src/utils/user_account.test.js +0 -153
  534. package/dist/src/utils/user_account.test.js.map +0 -1
  535. package/dist/src/utils/user_id.test.d.ts +0 -6
  536. package/dist/src/utils/user_id.test.js +0 -21
  537. package/dist/src/utils/user_id.test.js.map +0 -1
  538. package/dist/src/utils/workspaceContext.test.d.ts +0 -6
  539. package/dist/src/utils/workspaceContext.test.js +0 -209
  540. package/dist/src/utils/workspaceContext.test.js.map +0 -1
@@ -1,81 +1,33 @@
1
1
  /**
2
2
  * Tool-specific default prompts
3
- * These constants contain the default content for tool-related prompts
3
+ * These constants reference the corresponding .md files for default content
4
4
  */
5
+ import { readFileSync } from 'node:fs';
6
+ import { join, dirname } from 'node:path';
7
+ import { fileURLToPath } from 'node:url';
8
+ const __dirname = dirname(fileURLToPath(import.meta.url));
9
+ function loadMarkdownFile(filename) {
10
+ try {
11
+ return readFileSync(join(__dirname, filename), 'utf-8');
12
+ }
13
+ catch (_error) {
14
+ console.warn(`Warning: Could not load ${filename}, using empty content`);
15
+ return '';
16
+ }
17
+ }
5
18
  export const TOOL_DEFAULTS = {
6
- 'tools/shell.md': `- Use the '\${ShellTool.Name}' tool for running shell commands, remembering the safety rule to explain modifying commands first.
7
- - **Explain Critical Commands:** Before executing commands with '\${ShellTool.Name}' that modify the file system, codebase, or system state, you *must* provide a brief explanation of the command's purpose and potential impact. Prioritize user understanding and safety. You should not ask permission to use the tool; the user will be presented with a confirmation dialogue upon use (you do not need to tell them this).
8
- - **Command Execution:** Use the '\${ShellTool.Name}' tool for running shell commands, remembering the safety rule to explain modifying commands first.
9
- - **Background Processes:** Use background processes (via \\\`&\\\`) for commands that are unlikely to stop on their own, e.g. \\\`node server.js &\\\`. If unsure, ask the user.
10
- - **Interactive Commands:** Try to avoid shell commands that are likely to require user interaction (e.g. \\\`git rebase -i\\\`). Use non-interactive versions of commands (e.g. \\\`npm init -y\\\` instead of \\\`npm init\\\`) when available, and otherwise remind the user that interactive shell commands are not supported and may cause hangs until canceled by the user.`,
11
- 'tools/read-file.md': `- **File Paths:** Always use absolute paths when referring to files with tools like '\${ReadFileTool.Name}' or '\${WriteFileTool.Name}'. Relative paths are not supported. You must provide an absolute path.
12
- - **Path Construction:** Before using any file system tool (e.g., \${ReadFileTool.Name}' or '\${WriteFileTool.Name}'), you must construct the full absolute path for the file_path argument. Always combine the absolute path of the project's root directory with the file's path relative to the root. For example, if the project root is /path/to/project/ and the file is foo/bar/baz.txt, the final path you must use is /path/to/project/foo/bar/baz.txt. If the user provides a relative path, you must resolve it against the root directory to create an absolute path.
13
- - Use '\${ReadFileTool.Name}' and '\${ReadManyFilesTool.Name}' to understand context and validate any assumptions you may have.
14
- - Never make assumptions about the contents of files; instead use '\${ReadFileTool.Name}' or '\${ReadManyFilesTool.Name}' to ensure you aren't making broad assumptions.`,
15
- 'tools/edit.md': `- Use the available tools (e.g., '\${EditTool.Name}', '\${WriteFileTool.Name}' '\${ShellTool.Name}' ...) to act on the plan, strictly adhering to the project's established conventions (detailed under 'Core Mandates').
16
- - When asked to modify files, use the '\${EditTool.Name}' tool`,
17
- 'tools/write-file.md': `- **File Paths:** Always use absolute paths when referring to files with tools like '\${ReadFileTool.Name}' or '\${WriteFileTool.Name}'. Relative paths are not supported. You must provide an absolute path.
18
- - **Path Construction:** Before using any file system tool (e.g., \${ReadFileTool.Name}' or '\${WriteFileTool.Name}'), you must construct the full absolute path for the file_path argument. Always combine the absolute path of the project's root directory with the file's path relative to the root. For example, if the project root is /path/to/project/ and the file is foo/bar/baz.txt, the final path you must use is /path/to/project/foo/bar/baz.txt. If the user provides a relative path, you must resolve it against the root directory to create an absolute path.
19
- - Some tools you may especially find useful are '\${WriteFileTool.Name}', '\${EditTool.Name}' and '\${ShellTool.Name}'.
20
- - When asked to create files, use the '\${WriteFileTool.Name}' tool`,
21
- 'tools/grep.md': `- Use '\${GrepTool.Name}' and '\${GlobTool.Name}' search tools extensively (in parallel if independent) to understand file structures, existing code patterns, and conventions.
22
- - When asked to search for patterns in files, use the '\${GrepTool.Name}' tool`,
23
- 'tools/glob.md': `- Use '\${GrepTool.Name}' and '\${GlobTool.Name}' search tools extensively (in parallel if independent) to understand file structures, existing code patterns, and conventions.
24
- - When asked to find files by name, use the '\${GlobTool.Name}' tool`,
25
- 'tools/ls.md': `- When asked to list files or directories, use the '\${LSTool.Name}' tool`,
26
- 'tools/memory.md': `- **Remembering Facts:** Use the '\${MemoryTool.Name}' tool to remember specific, *user-related* facts or preferences when the user explicitly asks, or when they state a clear, concise piece of information that would help personalize or streamline *your future interactions with them* (e.g., preferred coding style, common project paths they use, personal tool aliases). This tool is for user-specific information that should persist across sessions. Do *not* use it for general project context or information. If unsure whether to save something, you can ask the user, "Should I remember that for you?"`,
27
- 'tools/read-many-files.md': `- Use '\${ReadFileTool.Name}' and '\${ReadManyFilesTool.Name}' to understand context and validate any assumptions you may have.
28
- - Never make assumptions about the contents of files; instead use '\${ReadFileTool.Name}' or '\${ReadManyFilesTool.Name}' to ensure you aren't making broad assumptions.`,
29
- 'tools/todo-read.md': `# Task Management
30
- You have access to the TodoWrite and TodoRead tools to help you manage and plan tasks. Use these tools VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.`,
31
- 'tools/todo-write.md': `# Task Management
32
- You have access to the TodoWrite and TodoRead tools to help you manage and plan tasks. Use these tools VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.
33
-
34
- ## When to Use This Tool
35
- Use this tool proactively in these scenarios:
36
-
37
- 1. Complex multi-step tasks - When a task requires 3 or more distinct steps or actions
38
- 2. Non-trivial and complex tasks - Tasks that require careful planning or multiple operations
39
- 3. User explicitly requests todo list - When the user directly asks you to use the todo list
40
- 4. User provides multiple tasks - When users provide a list of things to be done (numbered or comma-separated)
41
- 5. After receiving new instructions - Immediately capture user requirements as todos
42
- 6. When you start working on a task - Mark it as in_progress BEFORE beginning work
43
- 7. After completing a task - Mark it as completed and add any new follow-up tasks discovered during implementation
44
-
45
- ## When NOT to Use This Tool
46
- Skip using this tool when:
47
- 1. There is only a single, straightforward task
48
- 2. The task is trivial and tracking it provides no organizational benefit
49
- 3. The task can be completed in less than 3 trivial steps
50
- 4. The task is purely conversational or informational
51
-
52
- ## Task States and Management
53
- 1. **Task States**: Use these states to track progress:
54
- - pending: Task not yet started
55
- - in_progress: Currently working on (limit to ONE task at a time)
56
- - completed: Task finished successfully
57
-
58
- 2. **Task Management**:
59
- - Update task status in real-time as you work
60
- - Mark tasks complete IMMEDIATELY after finishing (don't batch completions)
61
- - Only have ONE task in_progress at any time
62
- - Complete current tasks before starting new ones
63
- - Remove tasks that are no longer relevant from the list entirely
64
-
65
- 3. **Task Completion Requirements**:
66
- - ONLY mark a task as completed when you have FULLY accomplished it
67
- - If you encounter errors, blockers, or cannot finish, keep the task as in_progress
68
- - When blocked, create a new task describing what needs to be resolved
69
- - Never mark a task as completed if:
70
- - Tests are failing
71
- - Implementation is partial
72
- - You encountered unresolved errors
73
- - You couldn't find necessary files or dependencies
74
-
75
- When in doubt, use this tool. Being proactive with task management demonstrates attentiveness and ensures you complete all requirements successfully.`,
76
- 'tools/web-fetch.md': `# Web Fetch Tool
77
- Use this tool to fetch content from URLs when needed.`,
78
- 'tools/web-search.md': `# Web Search Tool
79
- Use this tool to search the web when needed.`,
19
+ 'tools/shell.md': loadMarkdownFile('tools/shell.md'),
20
+ 'tools/read-file.md': loadMarkdownFile('tools/read-file.md'),
21
+ 'tools/edit.md': loadMarkdownFile('tools/edit.md'),
22
+ 'tools/write-file.md': loadMarkdownFile('tools/write-file.md'),
23
+ 'tools/grep.md': loadMarkdownFile('tools/grep.md'),
24
+ 'tools/glob.md': loadMarkdownFile('tools/glob.md'),
25
+ 'tools/ls.md': loadMarkdownFile('tools/ls.md'),
26
+ 'tools/memory.md': loadMarkdownFile('tools/memory.md'),
27
+ 'tools/read-many-files.md': loadMarkdownFile('tools/read-many-files.md'),
28
+ 'tools/todo-read.md': loadMarkdownFile('tools/todo-read.md'),
29
+ 'tools/todo-write.md': loadMarkdownFile('tools/todo-write.md'),
30
+ 'tools/web-fetch.md': loadMarkdownFile('tools/web-fetch.md'),
31
+ 'tools/web-search.md': loadMarkdownFile('tools/web-search.md'),
80
32
  };
81
33
  //# sourceMappingURL=tool-defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-defaults.js","sourceRoot":"","sources":["../../../../src/prompt-config/defaults/tool-defaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,gBAAgB,EAAE;;;;kXAI8V;IAEhX,oBAAoB,EAAE;;;yKAGiJ;IAEvK,eAAe,EAAE;+DAC4C;IAE7D,qBAAqB,EAAE;;;oEAG2C;IAElE,eAAe,EAAE;+EAC4D;IAE7E,eAAe,EAAE;qEACkD;IAEnE,aAAa,EAAE,2EAA2E;IAE1F,iBAAiB,EAAE,6lBAA6lB;IAEhnB,0BAA0B,EAAE;yKAC2I;IAEvK,oBAAoB,EAAE;qNAC6L;IAEnN,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sJA4C6H;IAEpJ,oBAAoB,EAAE;sDAC8B;IAEpD,qBAAqB,EAAE;6CACoB;CAC5C,CAAC"}
1
+ {"version":3,"file":"tool-defaults.js","sourceRoot":"","sources":["../../../../src/prompt-config/defaults/tool-defaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,SAAS,gBAAgB,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,2BAA2B,QAAQ,uBAAuB,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;IACpD,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC;IAC5D,eAAe,EAAE,gBAAgB,CAAC,eAAe,CAAC;IAClD,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB,CAAC;IAC9D,eAAe,EAAE,gBAAgB,CAAC,eAAe,CAAC;IAClD,eAAe,EAAE,gBAAgB,CAAC,eAAe,CAAC;IAClD,aAAa,EAAE,gBAAgB,CAAC,aAAa,CAAC;IAC9C,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC;IACtD,0BAA0B,EAAE,gBAAgB,CAAC,0BAA0B,CAAC;IACxE,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC;IAC5D,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB,CAAC;IAC9D,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC;IAC5D,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB,CAAC;CAC/D,CAAC"}
@@ -1,4 +1,4 @@
1
1
  - **File Paths:** Always use absolute paths when referring to files with tools like '${ReadFileTool.Name}' or '${WriteFileTool.Name}'. Relative paths are not supported. You must provide an absolute path.
2
- - **Path Construction:** Before using any file system tool (e.g., ${ReadFileTool.Name}' or '${WriteFileTool.Name}'), you must construct the full absolute path for the file_path argument. Always combine the absolute path of the project's root directory with the file's path relative to the root. For example, if the project root is /path/to/project/ and the file is foo/bar/baz.txt, the final path you must use is /path/to/project/foo/bar/baz.txt. If the user provides a relative path, you must resolve it against the root directory to create an absolute path.
2
+ - **Path Construction:** Before using any file system tool (e.g., ${ReadFileTool.Name}' or '${WriteFileTool.Name}'), you must construct the full absolute path for the absolute_path argument. Always combine the absolute path of the project's root directory with the file's path relative to the root. For example, if the project root is /path/to/project/ and the file is foo/bar/baz.txt, the final path you must use is /path/to/project/foo/bar/baz.txt. If the user provides a relative path, you must resolve it against the root directory to create an absolute path.
3
3
  - Use '${ReadFileTool.Name}' and '${ReadManyFilesTool.Name}' to understand context and validate any assumptions you may have.
4
4
  - Never make assumptions about the contents of files; instead use '${ReadFileTool.Name}' or '${ReadManyFilesTool.Name}' to ensure you aren't making broad assumptions.
@@ -0,0 +1,149 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Base provider class with authentication precedence logic
8
+ */
9
+ import { IProvider } from './IProvider.js';
10
+ import { IModel } from './IModel.js';
11
+ import { ITool } from './ITool.js';
12
+ import { IMessage } from './IMessage.js';
13
+ import { AuthPrecedenceResolver, OAuthManager } from '../auth/precedence.js';
14
+ export interface BaseProviderConfig {
15
+ name: string;
16
+ apiKey?: string;
17
+ baseURL?: string;
18
+ commandKey?: string;
19
+ commandKeyfile?: string;
20
+ cliKey?: string;
21
+ cliKeyfile?: string;
22
+ envKeyNames?: string[];
23
+ isOAuthEnabled?: boolean;
24
+ oauthProvider?: string;
25
+ oauthManager?: OAuthManager;
26
+ }
27
+ /**
28
+ * Abstract base provider class that implements authentication precedence logic
29
+ * This class provides lazy OAuth triggering and proper authentication precedence
30
+ */
31
+ export declare abstract class BaseProvider implements IProvider {
32
+ readonly name: string;
33
+ protected authResolver: AuthPrecedenceResolver;
34
+ protected baseProviderConfig: BaseProviderConfig;
35
+ private cachedAuthToken?;
36
+ private authCacheTimestamp?;
37
+ private readonly AUTH_CACHE_DURATION;
38
+ constructor(config: BaseProviderConfig);
39
+ /**
40
+ * Gets authentication token using the precedence chain
41
+ * This method implements lazy OAuth triggering - only triggers OAuth when actually making API calls
42
+ */
43
+ protected getAuthToken(): Promise<string>;
44
+ /**
45
+ * Checks if OAuth is enabled for this provider
46
+ */
47
+ protected isOAuthEnabled(): boolean;
48
+ /**
49
+ * Abstract method to determine if this provider supports OAuth
50
+ * Must be implemented by concrete providers
51
+ */
52
+ protected abstract supportsOAuth(): boolean;
53
+ /**
54
+ * Checks if authentication is available without triggering OAuth
55
+ */
56
+ hasNonOAuthAuthentication(): Promise<boolean>;
57
+ /**
58
+ * Checks if OAuth is the only available authentication method
59
+ */
60
+ isOAuthOnlyAvailable(): Promise<boolean>;
61
+ /**
62
+ * Gets the current authentication method name for debugging
63
+ */
64
+ getAuthMethodName(): Promise<string | null>;
65
+ /**
66
+ * Updates the API key (used for CLI --key argument)
67
+ */
68
+ setApiKey?(apiKey: string): void;
69
+ /**
70
+ * Updates the base URL
71
+ */
72
+ setBaseUrl?(baseUrl?: string): void;
73
+ /**
74
+ * Updates OAuth configuration
75
+ */
76
+ protected updateOAuthConfig(isEnabled: boolean, provider?: string, manager?: OAuthManager): void;
77
+ /**
78
+ * Clears the authentication token cache
79
+ */
80
+ protected clearAuthCache(): void;
81
+ /**
82
+ * Checks if the provider is authenticated using any available method
83
+ */
84
+ isAuthenticated(): Promise<boolean>;
85
+ abstract getModels(): Promise<IModel[]>;
86
+ abstract getDefaultModel(): string;
87
+ abstract generateChatCompletion(messages: IMessage[], tools?: ITool[], toolFormat?: string): AsyncIterableIterator<unknown>;
88
+ setModel?(_modelId: string): void;
89
+ getCurrentModel?(): string;
90
+ getToolFormat?(): string;
91
+ setToolFormatOverride?(_format: string | null): void;
92
+ isPaidMode?(): boolean;
93
+ clearState?(): void;
94
+ setConfig?(_config: unknown): void;
95
+ getServerTools(): string[];
96
+ invokeServerTool(toolName: string, _params: unknown, _config?: unknown): Promise<unknown>;
97
+ setModelParams?(_params: Record<string, unknown> | undefined): void;
98
+ getModelParams?(): Record<string, unknown> | undefined;
99
+ /**
100
+ * Get setting value from SettingsService
101
+ */
102
+ protected getProviderSetting<T>(key: keyof ProviderSettings, fallback?: T): Promise<T | undefined>;
103
+ /**
104
+ * Set setting value in SettingsService
105
+ */
106
+ protected setProviderSetting<T>(key: keyof ProviderSettings, value: T): Promise<void>;
107
+ /**
108
+ * Get API key from SettingsService if available
109
+ */
110
+ protected getApiKeyFromSettings(): Promise<string | undefined>;
111
+ /**
112
+ * Set API key in SettingsService if available
113
+ */
114
+ protected setApiKeyInSettings(apiKey: string): Promise<void>;
115
+ /**
116
+ * Get model from SettingsService if available
117
+ */
118
+ protected getModelFromSettings(): Promise<string | undefined>;
119
+ /**
120
+ * Set model in SettingsService if available
121
+ */
122
+ protected setModelInSettings(model: string): Promise<void>;
123
+ /**
124
+ * Get base URL from SettingsService if available
125
+ */
126
+ protected getBaseUrlFromSettings(): Promise<string | undefined>;
127
+ /**
128
+ * Set base URL in SettingsService if available
129
+ */
130
+ protected setBaseUrlInSettings(baseUrl?: string): Promise<void>;
131
+ /**
132
+ * Get model parameters from SettingsService
133
+ */
134
+ protected getModelParamsFromSettings(): Promise<Record<string, unknown> | undefined>;
135
+ /**
136
+ * Set model parameters in SettingsService
137
+ */
138
+ protected setModelParamsInSettings(params: Record<string, unknown> | undefined): Promise<void>;
139
+ }
140
+ interface ProviderSettings {
141
+ enabled: boolean;
142
+ apiKey?: string;
143
+ baseUrl?: string;
144
+ model?: string;
145
+ maxTokens?: number;
146
+ temperature?: number;
147
+ [key: string]: unknown;
148
+ }
149
+ export {};
@@ -0,0 +1,315 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AuthPrecedenceResolver, } from '../auth/precedence.js';
7
+ import { getSettingsService } from '../settings/settingsServiceInstance.js';
8
+ import { UnauthorizedError } from '../utils/errors.js';
9
+ /**
10
+ * Abstract base provider class that implements authentication precedence logic
11
+ * This class provides lazy OAuth triggering and proper authentication precedence
12
+ */
13
+ export class BaseProvider {
14
+ name;
15
+ authResolver;
16
+ baseProviderConfig;
17
+ cachedAuthToken;
18
+ authCacheTimestamp;
19
+ AUTH_CACHE_DURATION = 60000; // 1 minute in milliseconds
20
+ constructor(config) {
21
+ this.name = config.name;
22
+ this.baseProviderConfig = config;
23
+ // Initialize auth precedence resolver
24
+ // OAuth enablement will be checked dynamically through the manager
25
+ const precedenceConfig = {
26
+ commandKey: config.commandKey,
27
+ commandKeyfile: config.commandKeyfile,
28
+ cliKey: config.cliKey,
29
+ cliKeyfile: config.cliKeyfile,
30
+ envKeyNames: config.envKeyNames || [],
31
+ isOAuthEnabled: config.isOAuthEnabled ?? false, // Use the config value, which can be updated
32
+ supportsOAuth: this.supportsOAuth(),
33
+ oauthProvider: config.oauthProvider,
34
+ };
35
+ this.authResolver = new AuthPrecedenceResolver(precedenceConfig, config.oauthManager);
36
+ }
37
+ /**
38
+ * Gets authentication token using the precedence chain
39
+ * This method implements lazy OAuth triggering - only triggers OAuth when actually making API calls
40
+ */
41
+ async getAuthToken() {
42
+ // Check cache first (short-lived cache to avoid repeated OAuth calls)
43
+ if (this.cachedAuthToken &&
44
+ this.authCacheTimestamp &&
45
+ Date.now() - this.authCacheTimestamp < this.AUTH_CACHE_DURATION) {
46
+ return this.cachedAuthToken;
47
+ }
48
+ // Clear stale cache
49
+ this.cachedAuthToken = undefined;
50
+ this.authCacheTimestamp = undefined;
51
+ // Resolve authentication using precedence chain
52
+ const token = await this.authResolver.resolveAuthentication();
53
+ if (!token) {
54
+ const isOAuthOnly = await this.authResolver.isOAuthOnlyAvailable();
55
+ if (isOAuthOnly) {
56
+ // Special message for Qwen explaining the OAuth limitation
57
+ if (this.baseProviderConfig.oauthProvider === 'qwen') {
58
+ throw new Error(`Qwen OAuth (chat.qwen.ai) doesn't provide API access to DashScope. ` +
59
+ `You need a DashScope API key from https://dashscope.console.aliyun.com/ ` +
60
+ `Use /key <your-api-key> to set it.`);
61
+ }
62
+ throw new UnauthorizedError(`No API key found and OAuth is available but not authenticated for ${this.name} provider. ` +
63
+ `Please authenticate using OAuth or provide an API key.`);
64
+ }
65
+ else {
66
+ throw new Error(`No authentication method available for ${this.name} provider`);
67
+ }
68
+ }
69
+ // Cache the token briefly
70
+ this.cachedAuthToken = token;
71
+ this.authCacheTimestamp = Date.now();
72
+ if (process.env.DEBUG) {
73
+ const authMethod = await this.authResolver.getAuthMethodName();
74
+ console.log(`[${this.name}] Authentication resolved using: ${authMethod}`);
75
+ }
76
+ return token;
77
+ }
78
+ /**
79
+ * Checks if OAuth is enabled for this provider
80
+ */
81
+ isOAuthEnabled() {
82
+ // OAuth is enabled if we have a manager AND it's enabled in settings
83
+ return !!this.baseProviderConfig.oauthManager;
84
+ }
85
+ /**
86
+ * Checks if authentication is available without triggering OAuth
87
+ */
88
+ async hasNonOAuthAuthentication() {
89
+ return this.authResolver.hasNonOAuthAuthentication();
90
+ }
91
+ /**
92
+ * Checks if OAuth is the only available authentication method
93
+ */
94
+ async isOAuthOnlyAvailable() {
95
+ return this.authResolver.isOAuthOnlyAvailable();
96
+ }
97
+ /**
98
+ * Gets the current authentication method name for debugging
99
+ */
100
+ async getAuthMethodName() {
101
+ return this.authResolver.getAuthMethodName();
102
+ }
103
+ /**
104
+ * Updates the API key (used for CLI --key argument)
105
+ */
106
+ setApiKey(apiKey) {
107
+ this.baseProviderConfig.cliKey = apiKey;
108
+ this.authResolver.updateConfig({ cliKey: apiKey });
109
+ this.clearAuthCache();
110
+ }
111
+ /**
112
+ * Updates the base URL
113
+ */
114
+ setBaseUrl(baseUrl) {
115
+ this.baseProviderConfig.baseURL = baseUrl;
116
+ // Providers may override to implement endpoint-specific OAuth logic
117
+ this.clearAuthCache();
118
+ }
119
+ /**
120
+ * Updates OAuth configuration
121
+ */
122
+ updateOAuthConfig(isEnabled, provider, manager) {
123
+ this.baseProviderConfig.isOAuthEnabled = isEnabled;
124
+ this.baseProviderConfig.oauthProvider = provider;
125
+ this.baseProviderConfig.oauthManager = manager;
126
+ this.authResolver.updateConfig({
127
+ isOAuthEnabled: isEnabled,
128
+ supportsOAuth: this.supportsOAuth(),
129
+ oauthProvider: provider,
130
+ });
131
+ if (manager) {
132
+ this.authResolver.updateOAuthManager(manager);
133
+ }
134
+ this.clearAuthCache();
135
+ }
136
+ /**
137
+ * Clears the authentication token cache
138
+ */
139
+ clearAuthCache() {
140
+ this.cachedAuthToken = undefined;
141
+ this.authCacheTimestamp = undefined;
142
+ }
143
+ /**
144
+ * Checks if the provider is authenticated using any available method
145
+ */
146
+ async isAuthenticated() {
147
+ try {
148
+ const token = await this.authResolver.resolveAuthentication();
149
+ return token !== null;
150
+ }
151
+ catch {
152
+ return false;
153
+ }
154
+ }
155
+ // Optional methods with default implementations
156
+ setModel(_modelId) { }
157
+ getCurrentModel() {
158
+ return 'default';
159
+ }
160
+ getToolFormat() {
161
+ return 'default';
162
+ }
163
+ setToolFormatOverride(_format) { }
164
+ isPaidMode() {
165
+ return false;
166
+ }
167
+ clearState() {
168
+ this.clearAuthCache();
169
+ }
170
+ setConfig(_config) { }
171
+ getServerTools() {
172
+ return [];
173
+ }
174
+ async invokeServerTool(toolName, _params, _config) {
175
+ throw new Error(`Server tool '${toolName}' not supported by ${this.name} provider`);
176
+ }
177
+ setModelParams(_params) { }
178
+ getModelParams() {
179
+ return undefined;
180
+ }
181
+ /**
182
+ * Get setting value from SettingsService
183
+ */
184
+ async getProviderSetting(key, fallback) {
185
+ const settingsService = getSettingsService();
186
+ try {
187
+ const settings = await settingsService.getSettings(this.name);
188
+ return settings[key] || fallback;
189
+ }
190
+ catch (error) {
191
+ if (process.env.DEBUG) {
192
+ console.error(`Failed to get ${key} from SettingsService for ${this.name}:`, error);
193
+ }
194
+ return fallback;
195
+ }
196
+ }
197
+ /**
198
+ * Set setting value in SettingsService
199
+ */
200
+ async setProviderSetting(key, value) {
201
+ const settingsService = getSettingsService();
202
+ try {
203
+ await settingsService.updateSettings(this.name, {
204
+ [key]: value,
205
+ });
206
+ }
207
+ catch (error) {
208
+ if (process.env.DEBUG) {
209
+ console.error(`Failed to set ${key} in SettingsService for ${this.name}:`, error);
210
+ }
211
+ }
212
+ }
213
+ /**
214
+ * Get API key from SettingsService if available
215
+ */
216
+ async getApiKeyFromSettings() {
217
+ return this.getProviderSetting('apiKey');
218
+ }
219
+ /**
220
+ * Set API key in SettingsService if available
221
+ */
222
+ async setApiKeyInSettings(apiKey) {
223
+ await this.setProviderSetting('apiKey', apiKey);
224
+ }
225
+ /**
226
+ * Get model from SettingsService if available
227
+ */
228
+ async getModelFromSettings() {
229
+ return this.getProviderSetting('model');
230
+ }
231
+ /**
232
+ * Set model in SettingsService if available
233
+ */
234
+ async setModelInSettings(model) {
235
+ await this.setProviderSetting('model', model);
236
+ }
237
+ /**
238
+ * Get base URL from SettingsService if available
239
+ */
240
+ async getBaseUrlFromSettings() {
241
+ return this.getProviderSetting('baseUrl');
242
+ }
243
+ /**
244
+ * Set base URL in SettingsService if available
245
+ */
246
+ async setBaseUrlInSettings(baseUrl) {
247
+ await this.setProviderSetting('baseUrl', baseUrl);
248
+ }
249
+ /**
250
+ * Get model parameters from SettingsService
251
+ */
252
+ async getModelParamsFromSettings() {
253
+ const settingsService = getSettingsService();
254
+ try {
255
+ const settings = await settingsService.getSettings(this.name);
256
+ // Extract model parameters from settings, excluding standard fields
257
+ const { enabled: _enabled, apiKey: _apiKey, baseUrl: _baseUrl, model: _model, maxTokens, temperature, ...modelParams } = settings;
258
+ // Include temperature and maxTokens as model params if they exist
259
+ const params = {};
260
+ if (temperature !== undefined)
261
+ params.temperature = temperature;
262
+ if (maxTokens !== undefined)
263
+ params.max_tokens = maxTokens;
264
+ return Object.keys(params).length > 0 ||
265
+ Object.keys(modelParams).length > 0
266
+ ? { ...params, ...modelParams }
267
+ : undefined;
268
+ }
269
+ catch (error) {
270
+ if (process.env.DEBUG) {
271
+ console.error(`Failed to get model params from SettingsService for ${this.name}:`, error);
272
+ }
273
+ return undefined;
274
+ }
275
+ }
276
+ /**
277
+ * Set model parameters in SettingsService
278
+ */
279
+ async setModelParamsInSettings(params) {
280
+ const settingsService = getSettingsService();
281
+ try {
282
+ if (params === undefined) {
283
+ // Clear model parameters by setting them to undefined
284
+ await settingsService.updateSettings(this.name, {
285
+ temperature: undefined,
286
+ maxTokens: undefined,
287
+ });
288
+ return;
289
+ }
290
+ // Convert standard model params to settings format
291
+ const updates = {};
292
+ if ('temperature' in params)
293
+ updates.temperature = params.temperature;
294
+ if ('max_tokens' in params)
295
+ updates.maxTokens = params.max_tokens;
296
+ if ('maxTokens' in params)
297
+ updates.maxTokens = params.maxTokens;
298
+ // Store other parameters as custom fields
299
+ for (const [key, value] of Object.entries(params)) {
300
+ if (!['temperature', 'max_tokens', 'maxTokens'].includes(key)) {
301
+ updates[key] = value;
302
+ }
303
+ }
304
+ if (Object.keys(updates).length > 0) {
305
+ await settingsService.updateSettings(this.name, updates);
306
+ }
307
+ }
308
+ catch (error) {
309
+ if (process.env.DEBUG) {
310
+ console.error(`Failed to set model params in SettingsService for ${this.name}:`, error);
311
+ }
312
+ }
313
+ }
314
+ }
315
+ //# sourceMappingURL=BaseProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseProvider.js","sourceRoot":"","sources":["../../../src/providers/BaseProvider.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export interface IProvider {
23
23
  generateChatCompletion(messages: IMessage[], tools?: ITool[], toolFormat?: string): AsyncIterableIterator<unknown>;
24
24
  setModel?(modelId: string): void;
25
25
  getCurrentModel?(): string;
26
+ getDefaultModel(): string;
26
27
  setApiKey?(apiKey: string): void;
27
28
  setBaseUrl?(baseUrl?: string): void;
28
29
  getToolFormat?(): string;
@@ -29,6 +29,7 @@ export declare class LoggingProviderWrapper implements IProvider {
29
29
  get name(): string;
30
30
  get isDefault(): boolean | undefined;
31
31
  getModels(): Promise<IModel[]>;
32
+ getDefaultModel(): string;
32
33
  generateChatCompletion(messages: IMessage[], tools?: ITool[], toolFormat?: string): AsyncIterableIterator<unknown>;
33
34
  private logRequest;
34
35
  private logResponseStream;
@@ -131,6 +131,9 @@ export class LoggingProviderWrapper {
131
131
  async getModels() {
132
132
  return this.wrapped.getModels();
133
133
  }
134
+ getDefaultModel() {
135
+ return this.wrapped.getDefaultModel();
136
+ }
134
137
  // Only method that includes logging - everything else is passthrough
135
138
  async *generateChatCompletion(messages, tools, toolFormat) {
136
139
  const promptId = this.generatePromptId();