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

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 (475) hide show
  1. package/README.md +49 -2
  2. package/dist/index.d.ts +6 -0
  3. package/dist/index.js +5 -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/config/config.d.ts +7 -1
  21. package/dist/src/config/config.js +42 -4
  22. package/dist/src/config/config.js.map +1 -1
  23. package/dist/src/config/endpoints.d.ts +60 -0
  24. package/dist/src/config/endpoints.js +126 -0
  25. package/dist/src/config/endpoints.js.map +1 -0
  26. package/dist/src/config/profileManager.d.ts +14 -4
  27. package/dist/src/config/profileManager.js +90 -11
  28. package/dist/src/config/profileManager.js.map +1 -1
  29. package/dist/src/core/client.js +9 -12
  30. package/dist/src/core/client.js.map +1 -1
  31. package/dist/src/core/contentGenerator.d.ts +4 -1
  32. package/dist/src/core/contentGenerator.js +3 -0
  33. package/dist/src/core/contentGenerator.js.map +1 -1
  34. package/dist/src/core/subagent.js +12 -10
  35. package/dist/src/core/subagent.js.map +1 -1
  36. package/dist/src/index.d.ts +9 -0
  37. package/dist/src/index.js +9 -0
  38. package/dist/src/index.js.map +1 -1
  39. package/dist/src/providers/BaseProvider.d.ts +149 -0
  40. package/dist/src/providers/BaseProvider.js +315 -0
  41. package/dist/src/providers/BaseProvider.js.map +1 -0
  42. package/dist/src/providers/IProvider.d.ts +1 -0
  43. package/dist/src/providers/LoggingProviderWrapper.d.ts +1 -0
  44. package/dist/src/providers/LoggingProviderWrapper.js +3 -0
  45. package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
  46. package/dist/src/providers/ProviderManager.d.ts +0 -1
  47. package/dist/src/providers/ProviderManager.js +23 -14
  48. package/dist/src/providers/ProviderManager.js.map +1 -1
  49. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +20 -6
  50. package/dist/src/providers/anthropic/AnthropicProvider.js +172 -26
  51. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  52. package/dist/src/providers/gemini/GeminiProvider.d.ts +16 -7
  53. package/dist/src/providers/gemini/GeminiProvider.js +163 -148
  54. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  55. package/dist/src/providers/openai/OpenAIProvider.d.ts +53 -6
  56. package/dist/src/providers/openai/OpenAIProvider.js +373 -40
  57. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  58. package/dist/src/providers/openai/RESPONSES_API_MODELS.d.ts +1 -1
  59. package/dist/src/providers/openai/RESPONSES_API_MODELS.js +1 -0
  60. package/dist/src/providers/openai/RESPONSES_API_MODELS.js.map +1 -1
  61. package/dist/src/providers/openai/syntheticToolResponses.d.ts +52 -0
  62. package/dist/src/providers/openai/syntheticToolResponses.js +129 -0
  63. package/dist/src/providers/openai/syntheticToolResponses.js.map +1 -0
  64. package/dist/src/settings/SettingsService.d.ts +32 -0
  65. package/dist/src/settings/SettingsService.js +204 -0
  66. package/dist/src/settings/SettingsService.js.map +1 -0
  67. package/dist/src/settings/settingsServiceInstance.d.ts +12 -0
  68. package/dist/src/settings/settingsServiceInstance.js +24 -0
  69. package/dist/src/settings/settingsServiceInstance.js.map +1 -0
  70. package/dist/src/settings/types.d.ts +141 -0
  71. package/dist/src/settings/types.js +5 -0
  72. package/dist/src/settings/types.js.map +1 -0
  73. package/package.json +4 -2
  74. package/dist/src/code_assist/converter.test.d.ts +0 -6
  75. package/dist/src/code_assist/converter.test.js +0 -279
  76. package/dist/src/code_assist/converter.test.js.map +0 -1
  77. package/dist/src/code_assist/oauth2.test.d.ts +0 -6
  78. package/dist/src/code_assist/oauth2.test.js +0 -370
  79. package/dist/src/code_assist/oauth2.test.js.map +0 -1
  80. package/dist/src/code_assist/server.test.d.ts +0 -6
  81. package/dist/src/code_assist/server.test.js +0 -134
  82. package/dist/src/code_assist/server.test.js.map +0 -1
  83. package/dist/src/code_assist/setup.test.d.ts +0 -6
  84. package/dist/src/code_assist/setup.test.js +0 -65
  85. package/dist/src/code_assist/setup.test.js.map +0 -1
  86. package/dist/src/config/config.alwaysAllow.test.d.ts +0 -6
  87. package/dist/src/config/config.alwaysAllow.test.js +0 -84
  88. package/dist/src/config/config.alwaysAllow.test.js.map +0 -1
  89. package/dist/src/config/config.ephemeral.test.d.ts +0 -6
  90. package/dist/src/config/config.ephemeral.test.js +0 -152
  91. package/dist/src/config/config.ephemeral.test.js.map +0 -1
  92. package/dist/src/config/config.test.d.ts +0 -6
  93. package/dist/src/config/config.test.js +0 -369
  94. package/dist/src/config/config.test.js.map +0 -1
  95. package/dist/src/config/flashFallback.test.d.ts +0 -6
  96. package/dist/src/config/flashFallback.test.js +0 -91
  97. package/dist/src/config/flashFallback.test.js.map +0 -1
  98. package/dist/src/core/client.test.d.ts +0 -6
  99. package/dist/src/core/client.test.js +0 -1322
  100. package/dist/src/core/client.test.js.map +0 -1
  101. package/dist/src/core/contentGenerator.test.d.ts +0 -6
  102. package/dist/src/core/contentGenerator.test.js +0 -103
  103. package/dist/src/core/contentGenerator.test.js.map +0 -1
  104. package/dist/src/core/coreToolScheduler.test.d.ts +0 -6
  105. package/dist/src/core/coreToolScheduler.test.js +0 -637
  106. package/dist/src/core/coreToolScheduler.test.js.map +0 -1
  107. package/dist/src/core/geminiChat.test.d.ts +0 -6
  108. package/dist/src/core/geminiChat.test.js +0 -425
  109. package/dist/src/core/geminiChat.test.js.map +0 -1
  110. package/dist/src/core/googleGenAIWrapper.test.d.ts +0 -6
  111. package/dist/src/core/googleGenAIWrapper.test.js +0 -104
  112. package/dist/src/core/googleGenAIWrapper.test.js.map +0 -1
  113. package/dist/src/core/logger.test.d.ts +0 -6
  114. package/dist/src/core/logger.test.js +0 -467
  115. package/dist/src/core/logger.test.js.map +0 -1
  116. package/dist/src/core/nonInteractiveToolExecutor.test.d.ts +0 -6
  117. package/dist/src/core/nonInteractiveToolExecutor.test.js +0 -165
  118. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +0 -1
  119. package/dist/src/core/prompts-async.test.d.ts +0 -6
  120. package/dist/src/core/prompts-async.test.js +0 -115
  121. package/dist/src/core/prompts-async.test.js.map +0 -1
  122. package/dist/src/core/prompts.test.d.ts +0 -6
  123. package/dist/src/core/prompts.test.js +0 -68
  124. package/dist/src/core/prompts.test.js.map +0 -1
  125. package/dist/src/core/subagent.test.d.ts +0 -6
  126. package/dist/src/core/subagent.test.js +0 -519
  127. package/dist/src/core/subagent.test.js.map +0 -1
  128. package/dist/src/core/tokenLimits.test.d.ts +0 -6
  129. package/dist/src/core/tokenLimits.test.js +0 -66
  130. package/dist/src/core/tokenLimits.test.js.map +0 -1
  131. package/dist/src/core/turn.test.d.ts +0 -6
  132. package/dist/src/core/turn.test.js +0 -366
  133. package/dist/src/core/turn.test.js.map +0 -1
  134. package/dist/src/hooks/tool-render-suppression-hook.test.d.ts +0 -6
  135. package/dist/src/hooks/tool-render-suppression-hook.test.js +0 -59
  136. package/dist/src/hooks/tool-render-suppression-hook.test.js.map +0 -1
  137. package/dist/src/ide/ide-installer.test.d.ts +0 -6
  138. package/dist/src/ide/ide-installer.test.js +0 -55
  139. package/dist/src/ide/ide-installer.test.js.map +0 -1
  140. package/dist/src/ide/ideContext.test.d.ts +0 -6
  141. package/dist/src/ide/ideContext.test.js +0 -265
  142. package/dist/src/ide/ideContext.test.js.map +0 -1
  143. package/dist/src/index.test.d.ts +0 -6
  144. package/dist/src/index.test.js +0 -12
  145. package/dist/src/index.test.js.map +0 -1
  146. package/dist/src/integration-tests/todo-system.test.d.ts +0 -6
  147. package/dist/src/integration-tests/todo-system.test.js +0 -46
  148. package/dist/src/integration-tests/todo-system.test.js.map +0 -1
  149. package/dist/src/mcp/google-auth-provider.test.d.ts +0 -6
  150. package/dist/src/mcp/google-auth-provider.test.js +0 -54
  151. package/dist/src/mcp/google-auth-provider.test.js.map +0 -1
  152. package/dist/src/mcp/oauth-provider.test.d.ts +0 -6
  153. package/dist/src/mcp/oauth-provider.test.js +0 -602
  154. package/dist/src/mcp/oauth-provider.test.js.map +0 -1
  155. package/dist/src/mcp/oauth-token-storage.test.d.ts +0 -6
  156. package/dist/src/mcp/oauth-token-storage.test.js +0 -205
  157. package/dist/src/mcp/oauth-token-storage.test.js.map +0 -1
  158. package/dist/src/mcp/oauth-utils.test.d.ts +0 -6
  159. package/dist/src/mcp/oauth-utils.test.js +0 -144
  160. package/dist/src/mcp/oauth-utils.test.js.map +0 -1
  161. package/dist/src/parsers/TextToolCallParser.multibyte.test.d.ts +0 -1
  162. package/dist/src/parsers/TextToolCallParser.multibyte.test.js +0 -42
  163. package/dist/src/parsers/TextToolCallParser.multibyte.test.js.map +0 -1
  164. package/dist/src/parsers/TextToolCallParser.test.d.ts +0 -1
  165. package/dist/src/parsers/TextToolCallParser.test.js +0 -225
  166. package/dist/src/parsers/TextToolCallParser.test.js.map +0 -1
  167. package/dist/src/prompt-config/TemplateEngine.test.d.ts +0 -1
  168. package/dist/src/prompt-config/TemplateEngine.test.js +0 -494
  169. package/dist/src/prompt-config/TemplateEngine.test.js.map +0 -1
  170. package/dist/src/prompt-config/prompt-cache.test.d.ts +0 -6
  171. package/dist/src/prompt-config/prompt-cache.test.js +0 -437
  172. package/dist/src/prompt-config/prompt-cache.test.js.map +0 -1
  173. package/dist/src/prompt-config/prompt-installer.test.d.ts +0 -7
  174. package/dist/src/prompt-config/prompt-installer.test.js +0 -503
  175. package/dist/src/prompt-config/prompt-installer.test.js.map +0 -1
  176. package/dist/src/prompt-config/prompt-loader.test.d.ts +0 -5
  177. package/dist/src/prompt-config/prompt-loader.test.js +0 -413
  178. package/dist/src/prompt-config/prompt-loader.test.js.map +0 -1
  179. package/dist/src/prompt-config/prompt-resolver.test.d.ts +0 -1
  180. package/dist/src/prompt-config/prompt-resolver.test.js +0 -529
  181. package/dist/src/prompt-config/prompt-resolver.test.js.map +0 -1
  182. package/dist/src/prompt-config/prompt-service.test.d.ts +0 -1
  183. package/dist/src/prompt-config/prompt-service.test.js +0 -811
  184. package/dist/src/prompt-config/prompt-service.test.js.map +0 -1
  185. package/dist/src/providers/ProviderManager.gemini-switch.test.d.ts +0 -6
  186. package/dist/src/providers/ProviderManager.gemini-switch.test.js +0 -57
  187. package/dist/src/providers/ProviderManager.gemini-switch.test.js.map +0 -1
  188. package/dist/src/providers/ProviderManager.test.d.ts +0 -6
  189. package/dist/src/providers/ProviderManager.test.js +0 -284
  190. package/dist/src/providers/ProviderManager.test.js.map +0 -1
  191. package/dist/src/providers/adapters/GeminiCompatibleWrapper.test.d.ts +0 -6
  192. package/dist/src/providers/adapters/GeminiCompatibleWrapper.test.js +0 -273
  193. package/dist/src/providers/adapters/GeminiCompatibleWrapper.test.js.map +0 -1
  194. package/dist/src/providers/anthropic/AnthropicProvider.modelParams.test.d.ts +0 -1
  195. package/dist/src/providers/anthropic/AnthropicProvider.modelParams.test.js +0 -48
  196. package/dist/src/providers/anthropic/AnthropicProvider.modelParams.test.js.map +0 -1
  197. package/dist/src/providers/anthropic/AnthropicProvider.test.d.ts +0 -1
  198. package/dist/src/providers/anthropic/AnthropicProvider.test.js +0 -487
  199. package/dist/src/providers/anthropic/AnthropicProvider.test.js.map +0 -1
  200. package/dist/src/providers/gemini/GeminiProvider.integration.test.d.ts +0 -6
  201. package/dist/src/providers/gemini/GeminiProvider.integration.test.js +0 -126
  202. package/dist/src/providers/gemini/GeminiProvider.integration.test.js.map +0 -1
  203. package/dist/src/providers/gemini/GeminiProvider.test.d.ts +0 -6
  204. package/dist/src/providers/gemini/GeminiProvider.test.js +0 -136
  205. package/dist/src/providers/gemini/GeminiProvider.test.js.map +0 -1
  206. package/dist/src/providers/integration/multi-provider.integration.test.d.ts +0 -6
  207. package/dist/src/providers/integration/multi-provider.integration.test.js +0 -292
  208. package/dist/src/providers/integration/multi-provider.integration.test.js.map +0 -1
  209. package/dist/src/providers/openai/ConversationCache.accumTokens.test.d.ts +0 -1
  210. package/dist/src/providers/openai/ConversationCache.accumTokens.test.js +0 -97
  211. package/dist/src/providers/openai/ConversationCache.accumTokens.test.js.map +0 -1
  212. package/dist/src/providers/openai/ConversationCache.test.d.ts +0 -1
  213. package/dist/src/providers/openai/ConversationCache.test.js +0 -113
  214. package/dist/src/providers/openai/ConversationCache.test.js.map +0 -1
  215. package/dist/src/providers/openai/OpenAIProvider.callResponses.stateless.test.d.ts +0 -1
  216. package/dist/src/providers/openai/OpenAIProvider.callResponses.stateless.test.js +0 -189
  217. package/dist/src/providers/openai/OpenAIProvider.callResponses.stateless.test.js.map +0 -1
  218. package/dist/src/providers/openai/OpenAIProvider.integration.test.d.ts +0 -6
  219. package/dist/src/providers/openai/OpenAIProvider.integration.test.js +0 -125
  220. package/dist/src/providers/openai/OpenAIProvider.integration.test.js.map +0 -1
  221. package/dist/src/providers/openai/OpenAIProvider.responses.test.d.ts +0 -1
  222. package/dist/src/providers/openai/OpenAIProvider.responses.test.js +0 -350
  223. package/dist/src/providers/openai/OpenAIProvider.responses.test.js.map +0 -1
  224. package/dist/src/providers/openai/OpenAIProvider.responsesIntegration.test.d.ts +0 -1
  225. package/dist/src/providers/openai/OpenAIProvider.responsesIntegration.test.js +0 -213
  226. package/dist/src/providers/openai/OpenAIProvider.responsesIntegration.test.js.map +0 -1
  227. package/dist/src/providers/openai/OpenAIProvider.shouldUseResponses.test.d.ts +0 -1
  228. package/dist/src/providers/openai/OpenAIProvider.shouldUseResponses.test.js +0 -59
  229. package/dist/src/providers/openai/OpenAIProvider.shouldUseResponses.test.js.map +0 -1
  230. package/dist/src/providers/openai/OpenAIProvider.stateful.integration.test.d.ts +0 -6
  231. package/dist/src/providers/openai/OpenAIProvider.stateful.integration.test.js +0 -105
  232. package/dist/src/providers/openai/OpenAIProvider.stateful.integration.test.js.map +0 -1
  233. package/dist/src/providers/openai/OpenAIProvider.switch.test.d.ts +0 -1
  234. package/dist/src/providers/openai/OpenAIProvider.switch.test.js +0 -256
  235. package/dist/src/providers/openai/OpenAIProvider.switch.test.js.map +0 -1
  236. package/dist/src/providers/openai/OpenAIProvider.test.d.ts +0 -16
  237. package/dist/src/providers/openai/OpenAIProvider.test.js +0 -620
  238. package/dist/src/providers/openai/OpenAIProvider.test.js.map +0 -1
  239. package/dist/src/providers/openai/ResponsesContextTrim.integration.test.d.ts +0 -1
  240. package/dist/src/providers/openai/ResponsesContextTrim.integration.test.js +0 -210
  241. package/dist/src/providers/openai/ResponsesContextTrim.integration.test.js.map +0 -1
  242. package/dist/src/providers/openai/__tests__/formatArrayResponse.test.d.ts +0 -1
  243. package/dist/src/providers/openai/__tests__/formatArrayResponse.test.js +0 -65
  244. package/dist/src/providers/openai/__tests__/formatArrayResponse.test.js.map +0 -1
  245. package/dist/src/providers/openai/buildResponsesRequest.stripToolCalls.test.d.ts +0 -1
  246. package/dist/src/providers/openai/buildResponsesRequest.stripToolCalls.test.js +0 -129
  247. package/dist/src/providers/openai/buildResponsesRequest.stripToolCalls.test.js.map +0 -1
  248. package/dist/src/providers/openai/buildResponsesRequest.test.d.ts +0 -1
  249. package/dist/src/providers/openai/buildResponsesRequest.test.js +0 -406
  250. package/dist/src/providers/openai/buildResponsesRequest.test.js.map +0 -1
  251. package/dist/src/providers/openai/buildResponsesRequest.undefined.test.d.ts +0 -1
  252. package/dist/src/providers/openai/buildResponsesRequest.undefined.test.js +0 -50
  253. package/dist/src/providers/openai/buildResponsesRequest.undefined.test.js.map +0 -1
  254. package/dist/src/providers/openai/estimateRemoteTokens.test.d.ts +0 -1
  255. package/dist/src/providers/openai/estimateRemoteTokens.test.js +0 -125
  256. package/dist/src/providers/openai/estimateRemoteTokens.test.js.map +0 -1
  257. package/dist/src/providers/openai/parseResponsesStream.responsesToolCalls.test.d.ts +0 -1
  258. package/dist/src/providers/openai/parseResponsesStream.responsesToolCalls.test.js +0 -192
  259. package/dist/src/providers/openai/parseResponsesStream.responsesToolCalls.test.js.map +0 -1
  260. package/dist/src/providers/openai/parseResponsesStream.test.d.ts +0 -1
  261. package/dist/src/providers/openai/parseResponsesStream.test.js +0 -151
  262. package/dist/src/providers/openai/parseResponsesStream.test.js.map +0 -1
  263. package/dist/src/services/fileDiscoveryService.test.d.ts +0 -6
  264. package/dist/src/services/fileDiscoveryService.test.js +0 -143
  265. package/dist/src/services/fileDiscoveryService.test.js.map +0 -1
  266. package/dist/src/services/gitService.test.d.ts +0 -6
  267. package/dist/src/services/gitService.test.js +0 -209
  268. package/dist/src/services/gitService.test.js.map +0 -1
  269. package/dist/src/services/loopDetectionService.test.d.ts +0 -6
  270. package/dist/src/services/loopDetectionService.test.js +0 -484
  271. package/dist/src/services/loopDetectionService.test.js.map +0 -1
  272. package/dist/src/services/shellExecutionService.multibyte.test.d.ts +0 -6
  273. package/dist/src/services/shellExecutionService.multibyte.test.js +0 -72
  274. package/dist/src/services/shellExecutionService.multibyte.test.js.map +0 -1
  275. package/dist/src/services/shellExecutionService.test.d.ts +0 -6
  276. package/dist/src/services/shellExecutionService.test.js +0 -272
  277. package/dist/src/services/shellExecutionService.test.js.map +0 -1
  278. package/dist/src/services/shellExecutionService.windows.multibyte.test.d.ts +0 -6
  279. package/dist/src/services/shellExecutionService.windows.multibyte.test.js +0 -98
  280. package/dist/src/services/shellExecutionService.windows.multibyte.test.js.map +0 -1
  281. package/dist/src/services/shellExecutionService.windows.test.d.ts +0 -6
  282. package/dist/src/services/shellExecutionService.windows.test.js +0 -79
  283. package/dist/src/services/shellExecutionService.windows.test.js.map +0 -1
  284. package/dist/src/services/tool-call-tracker-service.test.d.ts +0 -6
  285. package/dist/src/services/tool-call-tracker-service.test.js +0 -99
  286. package/dist/src/services/tool-call-tracker-service.test.js.map +0 -1
  287. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -6
  288. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +0 -187
  289. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +0 -1
  290. package/dist/src/telemetry/loggers.test.d.ts +0 -6
  291. package/dist/src/telemetry/loggers.test.js +0 -573
  292. package/dist/src/telemetry/loggers.test.js.map +0 -1
  293. package/dist/src/telemetry/metrics.test.d.ts +0 -6
  294. package/dist/src/telemetry/metrics.test.js +0 -212
  295. package/dist/src/telemetry/metrics.test.js.map +0 -1
  296. package/dist/src/telemetry/telemetry.test.d.ts +0 -6
  297. package/dist/src/telemetry/telemetry.test.js +0 -54
  298. package/dist/src/telemetry/telemetry.test.js.map +0 -1
  299. package/dist/src/telemetry/uiTelemetry.test.d.ts +0 -6
  300. package/dist/src/telemetry/uiTelemetry.test.js +0 -518
  301. package/dist/src/telemetry/uiTelemetry.test.js.map +0 -1
  302. package/dist/src/tools/ToolFormatter.test.d.ts +0 -16
  303. package/dist/src/tools/ToolFormatter.test.js +0 -349
  304. package/dist/src/tools/ToolFormatter.test.js.map +0 -1
  305. package/dist/src/tools/ToolFormatter.toResponsesTool.test.d.ts +0 -1
  306. package/dist/src/tools/ToolFormatter.toResponsesTool.test.js +0 -241
  307. package/dist/src/tools/ToolFormatter.toResponsesTool.test.js.map +0 -1
  308. package/dist/src/tools/diffOptions.test.d.ts +0 -6
  309. package/dist/src/tools/diffOptions.test.js +0 -119
  310. package/dist/src/tools/diffOptions.test.js.map +0 -1
  311. package/dist/src/tools/edit.test.d.ts +0 -6
  312. package/dist/src/tools/edit.test.js +0 -689
  313. package/dist/src/tools/edit.test.js.map +0 -1
  314. package/dist/src/tools/glob.test.d.ts +0 -6
  315. package/dist/src/tools/glob.test.js +0 -332
  316. package/dist/src/tools/glob.test.js.map +0 -1
  317. package/dist/src/tools/grep.test.d.ts +0 -6
  318. package/dist/src/tools/grep.test.js +0 -272
  319. package/dist/src/tools/grep.test.js.map +0 -1
  320. package/dist/src/tools/ls.test.d.ts +0 -6
  321. package/dist/src/tools/ls.test.js +0 -357
  322. package/dist/src/tools/ls.test.js.map +0 -1
  323. package/dist/src/tools/mcp-client.test.d.ts +0 -6
  324. package/dist/src/tools/mcp-client.test.js +0 -617
  325. package/dist/src/tools/mcp-client.test.js.map +0 -1
  326. package/dist/src/tools/mcp-tool.test.d.ts +0 -6
  327. package/dist/src/tools/mcp-tool.test.js +0 -501
  328. package/dist/src/tools/mcp-tool.test.js.map +0 -1
  329. package/dist/src/tools/memoryTool.test.d.ts +0 -6
  330. package/dist/src/tools/memoryTool.test.js +0 -266
  331. package/dist/src/tools/memoryTool.test.js.map +0 -1
  332. package/dist/src/tools/modifiable-tool.test.d.ts +0 -6
  333. package/dist/src/tools/modifiable-tool.test.js +0 -193
  334. package/dist/src/tools/modifiable-tool.test.js.map +0 -1
  335. package/dist/src/tools/read-file.test.d.ts +0 -6
  336. package/dist/src/tools/read-file.test.js +0 -319
  337. package/dist/src/tools/read-file.test.js.map +0 -1
  338. package/dist/src/tools/read-many-files.test.d.ts +0 -6
  339. package/dist/src/tools/read-many-files.test.js +0 -644
  340. package/dist/src/tools/read-many-files.test.js.map +0 -1
  341. package/dist/src/tools/shell.multibyte.test.d.ts +0 -6
  342. package/dist/src/tools/shell.multibyte.test.js +0 -75
  343. package/dist/src/tools/shell.multibyte.test.js.map +0 -1
  344. package/dist/src/tools/shell.test.d.ts +0 -6
  345. package/dist/src/tools/shell.test.js +0 -367
  346. package/dist/src/tools/shell.test.js.map +0 -1
  347. package/dist/src/tools/todo-pause.spec.d.ts +0 -6
  348. package/dist/src/tools/todo-pause.spec.js +0 -287
  349. package/dist/src/tools/todo-pause.spec.js.map +0 -1
  350. package/dist/src/tools/todo-read.test.d.ts +0 -6
  351. package/dist/src/tools/todo-read.test.js +0 -162
  352. package/dist/src/tools/todo-read.test.js.map +0 -1
  353. package/dist/src/tools/todo-schemas.test.d.ts +0 -6
  354. package/dist/src/tools/todo-schemas.test.js +0 -341
  355. package/dist/src/tools/todo-schemas.test.js.map +0 -1
  356. package/dist/src/tools/todo-store.test.d.ts +0 -6
  357. package/dist/src/tools/todo-store.test.js +0 -169
  358. package/dist/src/tools/todo-store.test.js.map +0 -1
  359. package/dist/src/tools/todo-write.test.d.ts +0 -6
  360. package/dist/src/tools/todo-write.test.js +0 -226
  361. package/dist/src/tools/todo-write.test.js.map +0 -1
  362. package/dist/src/tools/tool-registry.test.d.ts +0 -6
  363. package/dist/src/tools/tool-registry.test.js +0 -468
  364. package/dist/src/tools/tool-registry.test.js.map +0 -1
  365. package/dist/src/tools/tools.test.d.ts +0 -6
  366. package/dist/src/tools/tools.test.js +0 -117
  367. package/dist/src/tools/tools.test.js.map +0 -1
  368. package/dist/src/tools/web-fetch.integration.test.d.ts +0 -6
  369. package/dist/src/tools/web-fetch.integration.test.js +0 -532
  370. package/dist/src/tools/web-fetch.integration.test.js.map +0 -1
  371. package/dist/src/tools/web-search.test.d.ts +0 -6
  372. package/dist/src/tools/web-search.test.js +0 -230
  373. package/dist/src/tools/web-search.test.js.map +0 -1
  374. package/dist/src/tools/write-file.test.d.ts +0 -6
  375. package/dist/src/tools/write-file.test.js +0 -465
  376. package/dist/src/tools/write-file.test.js.map +0 -1
  377. package/dist/src/utils/bfsFileSearch.test.d.ts +0 -6
  378. package/dist/src/utils/bfsFileSearch.test.js +0 -191
  379. package/dist/src/utils/bfsFileSearch.test.js.map +0 -1
  380. package/dist/src/utils/editCorrector.test.d.ts +0 -6
  381. package/dist/src/utils/editCorrector.test.js +0 -564
  382. package/dist/src/utils/editCorrector.test.js.map +0 -1
  383. package/dist/src/utils/editor.test.d.ts +0 -6
  384. package/dist/src/utils/editor.test.js +0 -445
  385. package/dist/src/utils/editor.test.js.map +0 -1
  386. package/dist/src/utils/environmentContext.test.d.ts +0 -6
  387. package/dist/src/utils/environmentContext.test.js +0 -139
  388. package/dist/src/utils/environmentContext.test.js.map +0 -1
  389. package/dist/src/utils/errorReporting.test.d.ts +0 -6
  390. package/dist/src/utils/errorReporting.test.js +0 -130
  391. package/dist/src/utils/errorReporting.test.js.map +0 -1
  392. package/dist/src/utils/fileUtils.test.d.ts +0 -6
  393. package/dist/src/utils/fileUtils.test.js +0 -363
  394. package/dist/src/utils/fileUtils.test.js.map +0 -1
  395. package/dist/src/utils/filesearch/crawlCache.test.d.ts +0 -6
  396. package/dist/src/utils/filesearch/crawlCache.test.js +0 -103
  397. package/dist/src/utils/filesearch/crawlCache.test.js.map +0 -1
  398. package/dist/src/utils/filesearch/fileSearch.test.d.ts +0 -6
  399. package/dist/src/utils/filesearch/fileSearch.test.js +0 -654
  400. package/dist/src/utils/filesearch/fileSearch.test.js.map +0 -1
  401. package/dist/src/utils/filesearch/ignore.test.d.ts +0 -6
  402. package/dist/src/utils/filesearch/ignore.test.js +0 -57
  403. package/dist/src/utils/filesearch/ignore.test.js.map +0 -1
  404. package/dist/src/utils/filesearch/result-cache.test.d.ts +0 -6
  405. package/dist/src/utils/filesearch/result-cache.test.js +0 -47
  406. package/dist/src/utils/filesearch/result-cache.test.js.map +0 -1
  407. package/dist/src/utils/flashFallback.integration.test.d.ts +0 -6
  408. package/dist/src/utils/flashFallback.integration.test.js +0 -120
  409. package/dist/src/utils/flashFallback.integration.test.js.map +0 -1
  410. package/dist/src/utils/generateContentResponseUtilities.test.d.ts +0 -6
  411. package/dist/src/utils/generateContentResponseUtilities.test.js +0 -273
  412. package/dist/src/utils/generateContentResponseUtilities.test.js.map +0 -1
  413. package/dist/src/utils/getFolderStructure.test.d.ts +0 -6
  414. package/dist/src/utils/getFolderStructure.test.js +0 -282
  415. package/dist/src/utils/getFolderStructure.test.js.map +0 -1
  416. package/dist/src/utils/gitIgnoreParser.test.d.ts +0 -6
  417. package/dist/src/utils/gitIgnoreParser.test.js +0 -154
  418. package/dist/src/utils/gitIgnoreParser.test.js.map +0 -1
  419. package/dist/src/utils/memoryDiscovery.test.d.ts +0 -6
  420. package/dist/src/utils/memoryDiscovery.test.js +0 -181
  421. package/dist/src/utils/memoryDiscovery.test.js.map +0 -1
  422. package/dist/src/utils/memoryImportProcessor.test.d.ts +0 -6
  423. package/dist/src/utils/memoryImportProcessor.test.js +0 -715
  424. package/dist/src/utils/memoryImportProcessor.test.js.map +0 -1
  425. package/dist/src/utils/nextSpeakerChecker.test.d.ts +0 -6
  426. package/dist/src/utils/nextSpeakerChecker.test.js +0 -172
  427. package/dist/src/utils/nextSpeakerChecker.test.js.map +0 -1
  428. package/dist/src/utils/partUtils.test.d.ts +0 -6
  429. package/dist/src/utils/partUtils.test.js +0 -130
  430. package/dist/src/utils/partUtils.test.js.map +0 -1
  431. package/dist/src/utils/paths.test.d.ts +0 -6
  432. package/dist/src/utils/paths.test.js +0 -153
  433. package/dist/src/utils/paths.test.js.map +0 -1
  434. package/dist/src/utils/retry.test.d.ts +0 -6
  435. package/dist/src/utils/retry.test.js +0 -322
  436. package/dist/src/utils/retry.test.js.map +0 -1
  437. package/dist/src/utils/safeJsonStringify.test.d.ts +0 -6
  438. package/dist/src/utils/safeJsonStringify.test.js +0 -61
  439. package/dist/src/utils/safeJsonStringify.test.js.map +0 -1
  440. package/dist/src/utils/sanitization.test.d.ts +0 -6
  441. package/dist/src/utils/sanitization.test.js +0 -81
  442. package/dist/src/utils/sanitization.test.js.map +0 -1
  443. package/dist/src/utils/schemaValidator.test.d.ts +0 -6
  444. package/dist/src/utils/schemaValidator.test.js +0 -146
  445. package/dist/src/utils/schemaValidator.test.js.map +0 -1
  446. package/dist/src/utils/secure-browser-launcher.test.d.ts +0 -6
  447. package/dist/src/utils/secure-browser-launcher.test.js +0 -149
  448. package/dist/src/utils/secure-browser-launcher.test.js.map +0 -1
  449. package/dist/src/utils/shell-utils.shellReplacement.test.d.ts +0 -6
  450. package/dist/src/utils/shell-utils.shellReplacement.test.js +0 -149
  451. package/dist/src/utils/shell-utils.shellReplacement.test.js.map +0 -1
  452. package/dist/src/utils/shell-utils.test.d.ts +0 -6
  453. package/dist/src/utils/shell-utils.test.js +0 -200
  454. package/dist/src/utils/shell-utils.test.js.map +0 -1
  455. package/dist/src/utils/summarizer.test.d.ts +0 -6
  456. package/dist/src/utils/summarizer.test.js +0 -131
  457. package/dist/src/utils/summarizer.test.js.map +0 -1
  458. package/dist/src/utils/systemEncoding.test.d.ts +0 -6
  459. package/dist/src/utils/systemEncoding.test.js +0 -368
  460. package/dist/src/utils/systemEncoding.test.js.map +0 -1
  461. package/dist/src/utils/toolOutputLimiter.test.d.ts +0 -6
  462. package/dist/src/utils/toolOutputLimiter.test.js +0 -164
  463. package/dist/src/utils/toolOutputLimiter.test.js.map +0 -1
  464. package/dist/src/utils/unicodeUtils.test.d.ts +0 -6
  465. package/dist/src/utils/unicodeUtils.test.js +0 -120
  466. package/dist/src/utils/unicodeUtils.test.js.map +0 -1
  467. package/dist/src/utils/user_account.test.d.ts +0 -6
  468. package/dist/src/utils/user_account.test.js +0 -153
  469. package/dist/src/utils/user_account.test.js.map +0 -1
  470. package/dist/src/utils/user_id.test.d.ts +0 -6
  471. package/dist/src/utils/user_id.test.js +0 -21
  472. package/dist/src/utils/user_id.test.js.map +0 -1
  473. package/dist/src/utils/workspaceContext.test.d.ts +0 -6
  474. package/dist/src/utils/workspaceContext.test.js +0 -209
  475. package/dist/src/utils/workspaceContext.test.js.map +0 -1
@@ -14,6 +14,7 @@ import { DEFAULT_GEMINI_FLASH_MODEL } from './models.js';
14
14
  import type { IProviderManager as ProviderManager } from '../providers/IProviderManager.js';
15
15
  import { MCPOAuthConfig } from '../mcp/oauth-provider.js';
16
16
  import { IdeClient } from '../ide/ide-client.js';
17
+ import { SettingsService } from '../settings/SettingsService.js';
17
18
  export type { MCPOAuthConfig };
18
19
  import { WorkspaceContext } from '../utils/workspaceContext.js';
19
20
  export interface RedactionConfig {
@@ -190,8 +191,8 @@ export declare class Config {
190
191
  private toolRegistry;
191
192
  private promptRegistry;
192
193
  private readonly sessionId;
194
+ private settingsService;
193
195
  private contentGeneratorConfig;
194
- private ephemeralSettings;
195
196
  private readonly embeddingModel;
196
197
  private readonly sandbox;
197
198
  private readonly targetDir;
@@ -354,6 +355,7 @@ export declare class Config {
354
355
  getComplexityAnalyzerSettings(): ComplexityAnalyzerSettings;
355
356
  getEphemeralSetting(key: string): unknown;
356
357
  setEphemeralSetting(key: string, value: unknown): void;
358
+ clearEphemeralSettings(): void;
357
359
  getEphemeralSettings(): Record<string, unknown>;
358
360
  isInteractive(): boolean;
359
361
  getChatCompression(): ChatCompressionSettings | undefined;
@@ -362,6 +364,10 @@ export declare class Config {
362
364
  getAlwaysAllowedCommands(): string[];
363
365
  getShellReplacement(): boolean;
364
366
  getGitService(): Promise<GitService>;
367
+ /**
368
+ * Get the SettingsService instance
369
+ */
370
+ getSettingsService(): SettingsService;
365
371
  refreshMemory(): Promise<{
366
372
  memoryContent: string;
367
373
  fileCount: number;
@@ -34,6 +34,7 @@ initializeTelemetry, DEFAULT_TELEMETRY_TARGET, DEFAULT_OTLP_ENDPOINT,
34
34
  } from '../telemetry/index.js';
35
35
  import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, } from './models.js';
36
36
  import { shouldAttemptBrowserLaunch } from '../utils/browser.js';
37
+ import { getSettingsService } from '../settings/settingsServiceInstance.js';
37
38
  import { WorkspaceContext } from '../utils/workspaceContext.js';
38
39
  export var ApprovalMode;
39
40
  (function (ApprovalMode) {
@@ -110,8 +111,9 @@ export class Config {
110
111
  toolRegistry;
111
112
  promptRegistry;
112
113
  sessionId;
114
+ // Line 80: Get service instance
115
+ settingsService = getSettingsService();
113
116
  contentGeneratorConfig;
114
- ephemeralSettings = {};
115
117
  embeddingModel;
116
118
  sandbox;
117
119
  targetDir;
@@ -330,9 +332,30 @@ export class Config {
330
332
  return this.contentGeneratorConfig;
331
333
  }
332
334
  getModel() {
335
+ // Delegate to SettingsService as source of truth
336
+ const settingsService = this.getSettingsService();
337
+ if (settingsService) {
338
+ const activeProvider = settingsService.get('activeProvider');
339
+ if (activeProvider) {
340
+ const providerSettings = settingsService.getProviderSettings(activeProvider);
341
+ if (providerSettings.model) {
342
+ return providerSettings.model;
343
+ }
344
+ }
345
+ }
346
+ // Fallback to legacy
333
347
  return this.contentGeneratorConfig?.model || this.model;
334
348
  }
335
349
  setModel(newModel) {
350
+ // Update SettingsService as source of truth
351
+ const settingsService = this.getSettingsService();
352
+ if (settingsService) {
353
+ const activeProvider = settingsService.get('activeProvider');
354
+ if (activeProvider) {
355
+ settingsService.setProviderSetting(activeProvider, 'model', newModel);
356
+ }
357
+ }
358
+ // Keep legacy updates for backward compatibility
336
359
  if (this.contentGeneratorConfig) {
337
360
  this.contentGeneratorConfig.model = newModel;
338
361
  }
@@ -648,13 +671,22 @@ export class Config {
648
671
  return this.complexityAnalyzerSettings;
649
672
  }
650
673
  getEphemeralSetting(key) {
651
- return this.ephemeralSettings[key];
674
+ // Lines 84-85: Direct delegation
675
+ return this.settingsService.get(key);
652
676
  }
653
677
  setEphemeralSetting(key, value) {
654
- this.ephemeralSettings[key] = value;
678
+ // Line 90: Direct delegation, no local storage
679
+ this.settingsService.set(key, value);
680
+ // NO async operations
681
+ // NO queue processing
682
+ }
683
+ clearEphemeralSettings() {
684
+ // Line 97: Direct delegation
685
+ this.settingsService.clear();
655
686
  }
656
687
  getEphemeralSettings() {
657
- return { ...this.ephemeralSettings };
688
+ // Return a copy of all global settings from the SettingsService
689
+ return this.settingsService.getAllGlobalSettings();
658
690
  }
659
691
  isInteractive() {
660
692
  return this.interactive;
@@ -681,6 +713,12 @@ export class Config {
681
713
  }
682
714
  return this.gitService;
683
715
  }
716
+ /**
717
+ * Get the SettingsService instance
718
+ */
719
+ getSettingsService() {
720
+ return this.settingsService;
721
+ }
684
722
  async refreshMemory() {
685
723
  const { memoryContent, fileCount } = await loadServerHierarchicalMemory(this.getWorkingDir(), this.shouldLoadMemoryFromIncludeDirectories()
686
724
  ? this.getWorkspaceContext().getDirectories()
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Endpoint validation utilities for provider authentication
8
+ */
9
+ /**
10
+ * Known Qwen endpoints that support Qwen OAuth
11
+ */
12
+ export declare const QWEN_ENDPOINTS: readonly ["https://dashscope.aliyuncs.com", "https://api.qwen.com", "https://portal.qwen.ai"];
13
+ /**
14
+ * Known OpenAI endpoints
15
+ */
16
+ export declare const OPENAI_ENDPOINTS: readonly ["https://api.openai.com/v1", "https://api.openai.com"];
17
+ export interface EndpointValidationResult {
18
+ isQwenEndpoint: boolean;
19
+ isOpenAIEndpoint: boolean;
20
+ supportsQwenOAuth: boolean;
21
+ normalizedBaseURL: string;
22
+ }
23
+ /**
24
+ * Validates and categorizes an endpoint URL
25
+ * @param baseURL The base URL to validate
26
+ * @returns Endpoint validation information
27
+ */
28
+ export declare function validateEndpoint(baseURL: string): EndpointValidationResult;
29
+ /**
30
+ * Checks if a base URL is a Qwen endpoint that supports Qwen OAuth
31
+ * @param baseURL The base URL to check
32
+ * @returns true if the endpoint supports Qwen OAuth
33
+ */
34
+ export declare function isQwenEndpoint(baseURL: string): boolean;
35
+ /**
36
+ * Checks if a base URL is an OpenAI endpoint
37
+ * @param baseURL The base URL to check
38
+ * @returns true if the endpoint is an OpenAI endpoint
39
+ */
40
+ export declare function isOpenAIEndpoint(baseURL: string): boolean;
41
+ /**
42
+ * Determines if Qwen OAuth should be used for a given endpoint
43
+ * @param baseURL The base URL to check
44
+ * @param isOAuthEnabled Whether OAuth is enabled in configuration
45
+ * @returns true if Qwen OAuth should be used
46
+ */
47
+ export declare function shouldUseQwenOAuth(baseURL: string, isOAuthEnabled: boolean): boolean;
48
+ /**
49
+ * Generates a helpful error message for OAuth endpoint mismatches
50
+ * @param baseURL The base URL that doesn't support the requested OAuth
51
+ * @param oauthProvider The OAuth provider that was requested
52
+ * @returns Helpful error message
53
+ */
54
+ export declare function generateOAuthEndpointMismatchError(baseURL: string, oauthProvider: string): string;
55
+ /**
56
+ * Gets suggested endpoints for a given OAuth provider
57
+ * @param oauthProvider The OAuth provider
58
+ * @returns Array of suggested endpoints
59
+ */
60
+ export declare function getSuggestedEndpoints(oauthProvider: string): string[];
@@ -0,0 +1,126 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Endpoint validation utilities for provider authentication
8
+ */
9
+ /**
10
+ * Known Qwen endpoints that support Qwen OAuth
11
+ */
12
+ export const QWEN_ENDPOINTS = [
13
+ 'https://dashscope.aliyuncs.com',
14
+ 'https://api.qwen.com',
15
+ 'https://portal.qwen.ai',
16
+ // Add more Qwen endpoints as needed
17
+ ];
18
+ /**
19
+ * Known OpenAI endpoints
20
+ */
21
+ export const OPENAI_ENDPOINTS = [
22
+ 'https://api.openai.com/v1',
23
+ 'https://api.openai.com',
24
+ ];
25
+ /**
26
+ * Validates and categorizes an endpoint URL
27
+ * @param baseURL The base URL to validate
28
+ * @returns Endpoint validation information
29
+ */
30
+ export function validateEndpoint(baseURL) {
31
+ // Normalize the URL by removing trailing slashes and ensuring proper format
32
+ const normalizedBaseURL = normalizeBaseURL(baseURL);
33
+ // Check if it's a Qwen endpoint - ensure exact domain match
34
+ const isQwenEndpoint = QWEN_ENDPOINTS.some((endpoint) => {
35
+ const normalizedEndpoint = normalizeBaseURL(endpoint);
36
+ return (normalizedBaseURL === normalizedEndpoint ||
37
+ normalizedBaseURL.startsWith(normalizedEndpoint + '/'));
38
+ });
39
+ // Check if it's an OpenAI endpoint - ensure exact domain match
40
+ const isOpenAIEndpoint = OPENAI_ENDPOINTS.some((endpoint) => {
41
+ const normalizedEndpoint = normalizeBaseURL(endpoint);
42
+ return (normalizedBaseURL === normalizedEndpoint ||
43
+ normalizedBaseURL.startsWith(normalizedEndpoint + '/'));
44
+ });
45
+ // Qwen endpoints support Qwen OAuth
46
+ const supportsQwenOAuth = isQwenEndpoint;
47
+ return {
48
+ isQwenEndpoint,
49
+ isOpenAIEndpoint,
50
+ supportsQwenOAuth,
51
+ normalizedBaseURL,
52
+ };
53
+ }
54
+ /**
55
+ * Checks if a base URL is a Qwen endpoint that supports Qwen OAuth
56
+ * @param baseURL The base URL to check
57
+ * @returns true if the endpoint supports Qwen OAuth
58
+ */
59
+ export function isQwenEndpoint(baseURL) {
60
+ return validateEndpoint(baseURL).isQwenEndpoint;
61
+ }
62
+ /**
63
+ * Checks if a base URL is an OpenAI endpoint
64
+ * @param baseURL The base URL to check
65
+ * @returns true if the endpoint is an OpenAI endpoint
66
+ */
67
+ export function isOpenAIEndpoint(baseURL) {
68
+ return validateEndpoint(baseURL).isOpenAIEndpoint;
69
+ }
70
+ /**
71
+ * Determines if Qwen OAuth should be used for a given endpoint
72
+ * @param baseURL The base URL to check
73
+ * @param isOAuthEnabled Whether OAuth is enabled in configuration
74
+ * @returns true if Qwen OAuth should be used
75
+ */
76
+ export function shouldUseQwenOAuth(baseURL, isOAuthEnabled) {
77
+ if (!isOAuthEnabled) {
78
+ return false;
79
+ }
80
+ const validation = validateEndpoint(baseURL);
81
+ return validation.supportsQwenOAuth;
82
+ }
83
+ /**
84
+ * Normalizes a base URL by removing trailing slashes and ensuring proper format
85
+ * @param baseURL The base URL to normalize
86
+ * @returns Normalized base URL
87
+ */
88
+ function normalizeBaseURL(baseURL) {
89
+ if (!baseURL) {
90
+ return '';
91
+ }
92
+ // Remove trailing slashes
93
+ return baseURL.replace(/\/+$/, '');
94
+ }
95
+ /**
96
+ * Generates a helpful error message for OAuth endpoint mismatches
97
+ * @param baseURL The base URL that doesn't support the requested OAuth
98
+ * @param oauthProvider The OAuth provider that was requested
99
+ * @returns Helpful error message
100
+ */
101
+ export function generateOAuthEndpointMismatchError(baseURL, oauthProvider) {
102
+ const validation = validateEndpoint(baseURL);
103
+ if (oauthProvider === 'qwen' && !validation.supportsQwenOAuth) {
104
+ if (validation.isOpenAIEndpoint) {
105
+ return `Qwen OAuth is enabled but baseURL (${baseURL}) is an OpenAI endpoint that doesn't support Qwen OAuth. Either use an API key for OpenAI, or change the baseURL to a Qwen endpoint like ${QWEN_ENDPOINTS[0]}.`;
106
+ }
107
+ else {
108
+ return `Qwen OAuth is enabled but baseURL (${baseURL}) is not a Qwen endpoint. Either use an API key, or change the baseURL to a Qwen endpoint like ${QWEN_ENDPOINTS[0]}.`;
109
+ }
110
+ }
111
+ return `OAuth provider '${oauthProvider}' is not supported for endpoint ${baseURL}. Please use appropriate authentication for this endpoint.`;
112
+ }
113
+ /**
114
+ * Gets suggested endpoints for a given OAuth provider
115
+ * @param oauthProvider The OAuth provider
116
+ * @returns Array of suggested endpoints
117
+ */
118
+ export function getSuggestedEndpoints(oauthProvider) {
119
+ switch (oauthProvider) {
120
+ case 'qwen':
121
+ return [...QWEN_ENDPOINTS];
122
+ default:
123
+ return [];
124
+ }
125
+ }
126
+ //# sourceMappingURL=endpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../src/config/endpoints.ts"],"names":[],"mappings":"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"}
@@ -30,13 +30,23 @@ export declare class ProfileManager {
30
30
  listProfiles(): Promise<string[]>;
31
31
  /**
32
32
  * Delete a profile.
33
- * @param _profileName The name of the profile to delete
33
+ * @param profileName The name of the profile to delete
34
34
  */
35
- deleteProfile(_profileName: string): Promise<void>;
35
+ deleteProfile(profileName: string): Promise<void>;
36
36
  /**
37
37
  * Check if a profile exists.
38
- * @param _profileName The name of the profile to check
38
+ * @param profileName The name of the profile to check
39
39
  * @returns True if the profile exists
40
40
  */
41
- profileExists(_profileName: string): Promise<boolean>;
41
+ profileExists(profileName: string): Promise<boolean>;
42
+ /**
43
+ * Save current settings to a profile through SettingsService
44
+ * @param profileName The name of the profile to save
45
+ */
46
+ save(profileName: string): Promise<void>;
47
+ /**
48
+ * Load a profile and apply through SettingsService
49
+ * @param profileName The name of the profile to load
50
+ */
51
+ load(profileName: string): Promise<void>;
42
52
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2025 Vybestack LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { getSettingsService } from '../settings/settingsServiceInstance.js';
6
7
  import fs from 'fs/promises';
7
8
  import os from 'os';
8
9
  import path from 'path';
@@ -92,23 +93,101 @@ export class ProfileManager {
92
93
  }
93
94
  /**
94
95
  * Delete a profile.
95
- * @param _profileName The name of the profile to delete
96
+ * @param profileName The name of the profile to delete
96
97
  */
97
- async deleteProfile(_profileName) {
98
- // TODO: Implement delete functionality
99
- // 1. Check if profile exists
100
- // 2. Delete the file
101
- throw new Error('NotYetImplemented');
98
+ async deleteProfile(profileName) {
99
+ const filePath = path.join(this.profilesDir, `${profileName}.json`);
100
+ try {
101
+ await fs.unlink(filePath);
102
+ }
103
+ catch (error) {
104
+ if (error instanceof Error && error.message.includes('ENOENT')) {
105
+ throw new Error(`Profile '${profileName}' not found`);
106
+ }
107
+ throw error;
108
+ }
102
109
  }
103
110
  /**
104
111
  * Check if a profile exists.
105
- * @param _profileName The name of the profile to check
112
+ * @param profileName The name of the profile to check
106
113
  * @returns True if the profile exists
107
114
  */
108
- async profileExists(_profileName) {
109
- // TODO: Implement existence check
110
- // 1. Check if <profilesDir>/<profileName>.json exists
111
- throw new Error('NotYetImplemented');
115
+ async profileExists(profileName) {
116
+ const filePath = path.join(this.profilesDir, `${profileName}.json`);
117
+ try {
118
+ await fs.access(filePath);
119
+ return true;
120
+ }
121
+ catch (_error) {
122
+ return false;
123
+ }
124
+ }
125
+ /**
126
+ * Save current settings to a profile through SettingsService
127
+ * @param profileName The name of the profile to save
128
+ */
129
+ async save(profileName) {
130
+ const settingsService = getSettingsService();
131
+ // Use SettingsService to export current settings
132
+ if (!settingsService.exportForProfile) {
133
+ throw new Error('SettingsService does not support profile export');
134
+ }
135
+ const settingsData = await settingsService.exportForProfile();
136
+ // Convert SettingsService format to Profile format
137
+ // We need to extract provider/model from the default provider settings
138
+ const defaultProvider = settingsData.defaultProvider;
139
+ const providerSettings = settingsData.providers[defaultProvider];
140
+ const profile = {
141
+ version: 1,
142
+ provider: defaultProvider,
143
+ model: providerSettings?.model || 'default',
144
+ modelParams: {
145
+ temperature: providerSettings?.temperature,
146
+ max_tokens: providerSettings?.maxTokens,
147
+ },
148
+ ephemeralSettings: {
149
+ 'base-url': providerSettings?.baseUrl,
150
+ 'auth-key': providerSettings?.apiKey,
151
+ },
152
+ };
153
+ // Update current profile name in SettingsService
154
+ if (settingsService.setCurrentProfileName) {
155
+ settingsService.setCurrentProfileName(profileName);
156
+ }
157
+ // Save to file using existing method for consistency
158
+ await this.saveProfile(profileName, profile);
159
+ }
160
+ /**
161
+ * Load a profile and apply through SettingsService
162
+ * @param profileName The name of the profile to load
163
+ */
164
+ async load(profileName) {
165
+ const settingsService = getSettingsService();
166
+ // Load profile from file
167
+ const profile = await this.loadProfile(profileName);
168
+ // Convert Profile format to SettingsService format
169
+ const settingsData = {
170
+ defaultProvider: profile.provider,
171
+ providers: {
172
+ [profile.provider]: {
173
+ enabled: true,
174
+ model: profile.model,
175
+ temperature: profile.modelParams.temperature,
176
+ maxTokens: profile.modelParams.max_tokens,
177
+ baseUrl: profile.ephemeralSettings['base-url'],
178
+ apiKey: profile.ephemeralSettings['auth-key'],
179
+ },
180
+ },
181
+ };
182
+ // Update current profile name first
183
+ if (settingsService.setCurrentProfileName) {
184
+ settingsService.setCurrentProfileName(profileName);
185
+ }
186
+ // Apply through SettingsService
187
+ if (!settingsService.importFromProfile) {
188
+ throw new Error('SettingsService does not support profile import');
189
+ }
190
+ await settingsService.importFromProfile(settingsData);
112
191
  }
113
192
  }
114
193
  //# sourceMappingURL=profileManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profileManager.js","sourceRoot":"","sources":["../../../src/config/profileManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profileManager.js","sourceRoot":"","sources":["../../../src/config/profileManager.ts"],"names":[],"mappings":"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"}
@@ -247,24 +247,21 @@ export class GeminiClient {
247
247
  const toolRegistry = await this.config.getToolRegistry();
248
248
  const toolDeclarations = toolRegistry.getFunctionDeclarations();
249
249
  const tools = [{ functionDeclarations: toolDeclarations }];
250
- const history = [
251
- {
252
- role: 'user',
253
- parts: envParts,
254
- },
255
- {
256
- role: 'model',
257
- parts: [{ text: 'Got it. Thanks for the context!' }],
258
- },
259
- ...(extraHistory ?? []),
260
- ];
250
+ const history = [...(extraHistory ?? [])];
261
251
  try {
262
252
  const userMemory = this.config.getUserMemory();
263
253
  const model = this.config.getModel();
264
254
  if (process.env.DEBUG) {
265
255
  console.log('DEBUG [client.startChat]: Model from config:', model);
266
256
  }
267
- const systemInstruction = await getCoreSystemPromptAsync(userMemory, model);
257
+ let systemInstruction = await getCoreSystemPromptAsync(userMemory, model);
258
+ // Add environment context to system instruction
259
+ const envContextText = envParts
260
+ .map((part) => ('text' in part ? part.text : ''))
261
+ .join('\n');
262
+ if (envContextText) {
263
+ systemInstruction = `${envContextText}\n\n${systemInstruction}`;
264
+ }
268
265
  if (process.env.DEBUG) {
269
266
  console.log('DEBUG [client.startChat]: System instruction includes Flash instructions:', systemInstruction.includes('IMPORTANT: You MUST use the provided tools'));
270
267
  }