@vybestack/llxprt-code 0.1.20-nightly.250818.90f427f5 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/README.md +31 -0
  2. package/dist/package.json +3 -3
  3. package/dist/src/config/auth.test.d.ts +6 -0
  4. package/dist/src/config/auth.test.js +57 -0
  5. package/dist/src/config/auth.test.js.map +1 -0
  6. package/dist/src/config/config.d.ts +1 -1
  7. package/dist/src/config/config.js +27 -14
  8. package/dist/src/config/config.js.map +1 -1
  9. package/dist/src/config/keyBindings.js +2 -2
  10. package/dist/src/config/keyBindings.test.d.ts +6 -0
  11. package/dist/src/config/keyBindings.test.js +51 -0
  12. package/dist/src/config/keyBindings.test.js.map +1 -0
  13. package/dist/src/config/logging/loggingConfig.test.d.ts +6 -0
  14. package/dist/src/config/logging/loggingConfig.test.js +363 -0
  15. package/dist/src/config/logging/loggingConfig.test.js.map +1 -0
  16. package/dist/src/config/settingsSchema.d.ts +0 -9
  17. package/dist/src/config/settingsSchema.js +0 -9
  18. package/dist/src/config/settingsSchema.js.map +1 -1
  19. package/dist/src/config/settingsSchema.test.d.ts +6 -0
  20. package/dist/src/config/settingsSchema.test.js +195 -0
  21. package/dist/src/config/settingsSchema.test.js.map +1 -0
  22. package/dist/src/config/trustedFolders.test.d.ts +6 -0
  23. package/dist/src/config/trustedFolders.test.js +156 -0
  24. package/dist/src/config/trustedFolders.test.js.map +1 -0
  25. package/dist/src/gemini.js +14 -4
  26. package/dist/src/gemini.js.map +1 -1
  27. package/dist/src/gemini.test.d.ts +6 -0
  28. package/dist/src/gemini.test.js +199 -0
  29. package/dist/src/gemini.test.js.map +1 -0
  30. package/dist/src/generated/git-commit.d.ts +1 -1
  31. package/dist/src/generated/git-commit.js +1 -1
  32. package/dist/src/integration-tests/base-url-behavior.integration.test.d.ts +6 -0
  33. package/dist/src/integration-tests/base-url-behavior.integration.test.js +492 -0
  34. package/dist/src/integration-tests/base-url-behavior.integration.test.js.map +1 -0
  35. package/dist/src/integration-tests/cli-args.integration.test.d.ts +6 -0
  36. package/dist/src/integration-tests/cli-args.integration.test.js +398 -0
  37. package/dist/src/integration-tests/cli-args.integration.test.js.map +1 -0
  38. package/dist/src/integration-tests/compression-settings-apply.integration.test.d.ts +6 -0
  39. package/dist/src/integration-tests/compression-settings-apply.integration.test.js +436 -0
  40. package/dist/src/integration-tests/compression-settings-apply.integration.test.js.map +1 -0
  41. package/dist/src/integration-tests/ephemeral-settings.integration.test.d.ts +6 -0
  42. package/dist/src/integration-tests/ephemeral-settings.integration.test.js +290 -0
  43. package/dist/src/integration-tests/ephemeral-settings.integration.test.js.map +1 -0
  44. package/dist/src/integration-tests/model-params-isolation.integration.test.d.ts +6 -0
  45. package/dist/src/integration-tests/model-params-isolation.integration.test.js +564 -0
  46. package/dist/src/integration-tests/model-params-isolation.integration.test.js.map +1 -0
  47. package/dist/src/integration-tests/modelParams.integration.test.d.ts +6 -0
  48. package/dist/src/integration-tests/modelParams.integration.test.js +784 -0
  49. package/dist/src/integration-tests/modelParams.integration.test.js.map +1 -0
  50. package/dist/src/integration-tests/profile-keyfile.integration.test.d.ts +6 -0
  51. package/dist/src/integration-tests/profile-keyfile.integration.test.js +429 -0
  52. package/dist/src/integration-tests/profile-keyfile.integration.test.js.map +1 -0
  53. package/dist/src/integration-tests/profile-system.integration.test.d.ts +6 -0
  54. package/dist/src/integration-tests/profile-system.integration.test.js +364 -0
  55. package/dist/src/integration-tests/profile-system.integration.test.js.map +1 -0
  56. package/dist/src/integration-tests/provider-switching.integration.test.d.ts +6 -0
  57. package/dist/src/integration-tests/provider-switching.integration.test.js +207 -0
  58. package/dist/src/integration-tests/provider-switching.integration.test.js.map +1 -0
  59. package/dist/src/integration-tests/security.integration.test.d.ts +6 -0
  60. package/dist/src/integration-tests/security.integration.test.js +319 -0
  61. package/dist/src/integration-tests/security.integration.test.js.map +1 -0
  62. package/dist/src/integration-tests/test-utils.test.d.ts +6 -0
  63. package/dist/src/integration-tests/test-utils.test.js +221 -0
  64. package/dist/src/integration-tests/test-utils.test.js.map +1 -0
  65. package/dist/src/integration-tests/todo-continuation.integration.test.d.ts +6 -0
  66. package/dist/src/integration-tests/todo-continuation.integration.test.js +559 -0
  67. package/dist/src/integration-tests/todo-continuation.integration.test.js.map +1 -0
  68. package/dist/src/providers/logging/LoggingProviderWrapper.test.d.ts +6 -0
  69. package/dist/src/providers/logging/LoggingProviderWrapper.test.js +305 -0
  70. package/dist/src/providers/logging/LoggingProviderWrapper.test.js.map +1 -0
  71. package/dist/src/providers/logging/git-stats.integration.test.d.ts +6 -0
  72. package/dist/src/providers/logging/git-stats.integration.test.js +245 -0
  73. package/dist/src/providers/logging/git-stats.integration.test.js.map +1 -0
  74. package/dist/src/providers/logging/git-stats.test.d.ts +6 -0
  75. package/dist/src/providers/logging/git-stats.test.js +432 -0
  76. package/dist/src/providers/logging/git-stats.test.js.map +1 -0
  77. package/dist/src/providers/logging/multi-provider-logging.integration.test.d.ts +6 -0
  78. package/dist/src/providers/logging/multi-provider-logging.integration.test.js +531 -0
  79. package/dist/src/providers/logging/multi-provider-logging.integration.test.js.map +1 -0
  80. package/dist/src/providers/logging/performance.test.d.ts +6 -0
  81. package/dist/src/providers/logging/performance.test.js +465 -0
  82. package/dist/src/providers/logging/performance.test.js.map +1 -0
  83. package/dist/src/providers/provider-gemini-switching.test.d.ts +6 -0
  84. package/dist/src/providers/provider-gemini-switching.test.js +129 -0
  85. package/dist/src/providers/provider-gemini-switching.test.js.map +1 -0
  86. package/dist/src/providers/provider-switching.integration.test.d.ts +6 -0
  87. package/dist/src/providers/provider-switching.integration.test.js +113 -0
  88. package/dist/src/providers/provider-switching.integration.test.js.map +1 -0
  89. package/dist/src/providers/providerManagerInstance.test.d.ts +6 -0
  90. package/dist/src/providers/providerManagerInstance.test.js +104 -0
  91. package/dist/src/providers/providerManagerInstance.test.js.map +1 -0
  92. package/dist/src/services/BuiltinCommandLoader.test.d.ts +6 -0
  93. package/dist/src/services/BuiltinCommandLoader.test.js +118 -0
  94. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -0
  95. package/dist/src/services/CommandService.test.d.ts +6 -0
  96. package/dist/src/services/CommandService.test.js +232 -0
  97. package/dist/src/services/CommandService.test.js.map +1 -0
  98. package/dist/src/storage/ConversationStorage.test.d.ts +6 -0
  99. package/dist/src/storage/ConversationStorage.test.js +379 -0
  100. package/dist/src/storage/ConversationStorage.test.js.map +1 -0
  101. package/dist/src/test-utils/customMatchers.d.ts +14 -0
  102. package/dist/src/test-utils/customMatchers.js +46 -0
  103. package/dist/src/test-utils/customMatchers.js.map +1 -0
  104. package/dist/src/test-utils/mockCommandContext.d.ts +18 -0
  105. package/dist/src/test-utils/mockCommandContext.js +86 -0
  106. package/dist/src/test-utils/mockCommandContext.js.map +1 -0
  107. package/dist/src/test-utils/mockCommandContext.test.d.ts +6 -0
  108. package/dist/src/test-utils/mockCommandContext.test.js +51 -0
  109. package/dist/src/test-utils/mockCommandContext.test.js.map +1 -0
  110. package/dist/src/test-utils/responsive-testing.d.ts +14 -0
  111. package/dist/src/test-utils/responsive-testing.js +35 -0
  112. package/dist/src/test-utils/responsive-testing.js.map +1 -0
  113. package/dist/src/test-utils/responsive-testing.test.d.ts +6 -0
  114. package/dist/src/test-utils/responsive-testing.test.js +89 -0
  115. package/dist/src/test-utils/responsive-testing.test.js.map +1 -0
  116. package/dist/src/test-utils/testProviderConfig.d.ts +18 -0
  117. package/dist/src/test-utils/testProviderConfig.js +19 -0
  118. package/dist/src/test-utils/testProviderConfig.js.map +1 -0
  119. package/dist/src/ui/App.js +1 -1
  120. package/dist/src/ui/App.js.map +1 -1
  121. package/dist/src/ui/IdeIntegrationNudge.js +1 -1
  122. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
  123. package/dist/src/ui/commands/chatCommand.js +8 -6
  124. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  125. package/dist/src/ui/commands/diagnosticsCommand.js +0 -1
  126. package/dist/src/ui/commands/diagnosticsCommand.js.map +1 -1
  127. package/dist/src/ui/commands/ideCommand.js +5 -5
  128. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  129. package/dist/src/ui/commands/keyCommand.test.d.ts +6 -0
  130. package/dist/src/ui/commands/keyCommand.test.js +128 -0
  131. package/dist/src/ui/commands/keyCommand.test.js.map +1 -0
  132. package/dist/src/ui/commands/profileCommand.test.d.ts +6 -0
  133. package/dist/src/ui/commands/profileCommand.test.js +343 -0
  134. package/dist/src/ui/commands/profileCommand.test.js.map +1 -0
  135. package/dist/src/ui/commands/setCommand.test.d.ts +6 -0
  136. package/dist/src/ui/commands/setCommand.test.js +431 -0
  137. package/dist/src/ui/commands/setCommand.test.js.map +1 -0
  138. package/dist/src/ui/commands/setupGithubCommand.test.d.ts +6 -0
  139. package/dist/src/ui/commands/setupGithubCommand.test.js +69 -0
  140. package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -0
  141. package/dist/src/ui/commands/toolformatCommand.test.d.ts +1 -0
  142. package/dist/src/ui/commands/toolformatCommand.test.js +145 -0
  143. package/dist/src/ui/commands/toolformatCommand.test.js.map +1 -0
  144. package/dist/src/ui/components/AuthDialog.js +1 -1
  145. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  146. package/dist/src/ui/components/AuthDialog.test.d.ts +6 -0
  147. package/dist/src/ui/components/AuthDialog.test.js +252 -0
  148. package/dist/src/ui/components/AuthDialog.test.js.map +1 -0
  149. package/dist/src/ui/components/ContextIndicator.ui.test.d.ts +1 -0
  150. package/dist/src/ui/components/ContextIndicator.ui.test.js +89 -0
  151. package/dist/src/ui/components/ContextIndicator.ui.test.js.map +1 -0
  152. package/dist/src/ui/components/ContextSummaryDisplay.js +1 -1
  153. package/dist/src/ui/components/ContextUsageDisplay.semantic.test.d.ts +6 -0
  154. package/dist/src/ui/components/ContextUsageDisplay.semantic.test.js +75 -0
  155. package/dist/src/ui/components/ContextUsageDisplay.semantic.test.js.map +1 -0
  156. package/dist/src/ui/components/FolderTrustDialog.test.d.ts +6 -0
  157. package/dist/src/ui/components/FolderTrustDialog.test.js +26 -0
  158. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -0
  159. package/dist/src/ui/components/Footer.d.ts +1 -0
  160. package/dist/src/ui/components/Footer.js +2 -2
  161. package/dist/src/ui/components/Footer.js.map +1 -1
  162. package/dist/src/ui/components/Footer.responsive.test.d.ts +6 -0
  163. package/dist/src/ui/components/Footer.responsive.test.js +262 -0
  164. package/dist/src/ui/components/Footer.responsive.test.js.map +1 -0
  165. package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +6 -0
  166. package/dist/src/ui/components/HistoryItemDisplay.test.js +92 -0
  167. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -0
  168. package/dist/src/ui/components/InputPrompt.paste.test.d.ts +6 -0
  169. package/dist/src/ui/components/InputPrompt.paste.test.js +263 -0
  170. package/dist/src/ui/components/InputPrompt.paste.test.js.map +1 -0
  171. package/dist/src/ui/components/LoadingIndicator.test.d.ts +6 -0
  172. package/dist/src/ui/components/LoadingIndicator.test.js +149 -0
  173. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -0
  174. package/dist/src/ui/components/MemoryUsageDisplay.semantic.test.d.ts +6 -0
  175. package/dist/src/ui/components/MemoryUsageDisplay.semantic.test.js +127 -0
  176. package/dist/src/ui/components/MemoryUsageDisplay.semantic.test.js.map +1 -0
  177. package/dist/src/ui/components/ProviderDialog.responsive.test.d.ts +6 -0
  178. package/dist/src/ui/components/ProviderDialog.responsive.test.js +153 -0
  179. package/dist/src/ui/components/ProviderDialog.responsive.test.js.map +1 -0
  180. package/dist/src/ui/components/ProviderModelDialog.responsive.test.d.ts +6 -0
  181. package/dist/src/ui/components/ProviderModelDialog.responsive.test.js +252 -0
  182. package/dist/src/ui/components/ProviderModelDialog.responsive.test.js.map +1 -0
  183. package/dist/src/ui/components/ProviderModelDialog.test.d.ts +6 -0
  184. package/dist/src/ui/components/ProviderModelDialog.test.js +197 -0
  185. package/dist/src/ui/components/ProviderModelDialog.test.js.map +1 -0
  186. package/dist/src/ui/components/SettingsDialog.test.d.ts +6 -0
  187. package/dist/src/ui/components/SettingsDialog.test.js +555 -0
  188. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -0
  189. package/dist/src/ui/components/ShellConfirmationDialog.test.d.ts +6 -0
  190. package/dist/src/ui/components/ShellConfirmationDialog.test.js +40 -0
  191. package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +1 -0
  192. package/dist/src/ui/components/TodoPanel.responsive.test.d.ts +6 -0
  193. package/dist/src/ui/components/TodoPanel.responsive.test.js +221 -0
  194. package/dist/src/ui/components/TodoPanel.responsive.test.js.map +1 -0
  195. package/dist/src/ui/components/TodoPanel.semantic.test.d.ts +6 -0
  196. package/dist/src/ui/components/TodoPanel.semantic.test.js +137 -0
  197. package/dist/src/ui/components/TodoPanel.semantic.test.js.map +1 -0
  198. package/dist/src/ui/components/__tests__/LayoutManager.test.d.ts +6 -0
  199. package/dist/src/ui/components/__tests__/LayoutManager.test.js +94 -0
  200. package/dist/src/ui/components/__tests__/LayoutManager.test.js.map +1 -0
  201. package/dist/src/ui/components/messages/DiffRenderer.js +9 -7
  202. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  203. package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +6 -0
  204. package/dist/src/ui/components/messages/DiffRenderer.test.js +239 -0
  205. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -0
  206. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +13 -4
  207. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  208. package/dist/src/ui/components/messages/ToolConfirmationMessage.responsive.test.d.ts +6 -0
  209. package/dist/src/ui/components/messages/ToolConfirmationMessage.responsive.test.js +172 -0
  210. package/dist/src/ui/components/messages/ToolConfirmationMessage.responsive.test.js.map +1 -0
  211. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +6 -0
  212. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +37 -0
  213. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -0
  214. package/dist/src/ui/components/messages/ToolMessage.test.d.ts +6 -0
  215. package/dist/src/ui/components/messages/ToolMessage.test.js +118 -0
  216. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -0
  217. package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +6 -0
  218. package/dist/src/ui/components/shared/MaxSizedBox.test.js +154 -0
  219. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -0
  220. package/dist/src/ui/components/shared/RadioButtonSelect.js +1 -1
  221. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  222. package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +6 -0
  223. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +112 -0
  224. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -0
  225. package/dist/src/ui/containers/SessionController.test.d.ts +6 -0
  226. package/dist/src/ui/containers/SessionController.test.js +440 -0
  227. package/dist/src/ui/containers/SessionController.test.js.map +1 -0
  228. package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +6 -0
  229. package/dist/src/ui/hooks/atCommandProcessor.test.js +830 -0
  230. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -0
  231. package/dist/src/ui/hooks/shellCommandProcessor.test.d.ts +6 -0
  232. package/dist/src/ui/hooks/shellCommandProcessor.test.js +328 -0
  233. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -0
  234. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.d.ts +6 -0
  235. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +191 -0
  236. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -0
  237. package/dist/src/ui/hooks/useEditorSettings.test.d.ts +6 -0
  238. package/dist/src/ui/hooks/useEditorSettings.test.js +221 -0
  239. package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -0
  240. package/dist/src/ui/hooks/useGeminiStream.integration.test.d.ts +6 -0
  241. package/dist/src/ui/hooks/useGeminiStream.integration.test.js +800 -0
  242. package/dist/src/ui/hooks/useGeminiStream.integration.test.js.map +1 -0
  243. package/dist/src/ui/hooks/useGeminiStream.js +12 -47
  244. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  245. package/dist/src/ui/hooks/useGitBranchName.test.d.ts +6 -0
  246. package/dist/src/ui/hooks/useGitBranchName.test.js +170 -0
  247. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -0
  248. package/dist/src/ui/hooks/useHistoryManager.test.d.ts +6 -0
  249. package/dist/src/ui/hooks/useHistoryManager.test.js +171 -0
  250. package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -0
  251. package/dist/src/ui/hooks/useInputHistory.test.d.ts +6 -0
  252. package/dist/src/ui/hooks/useInputHistory.test.js +207 -0
  253. package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -0
  254. package/dist/src/ui/hooks/useKeypress.test.d.ts +6 -0
  255. package/dist/src/ui/hooks/useKeypress.test.js +171 -0
  256. package/dist/src/ui/hooks/useKeypress.test.js.map +1 -0
  257. package/dist/src/ui/hooks/useResponsive.test.d.ts +6 -0
  258. package/dist/src/ui/hooks/useResponsive.test.js +124 -0
  259. package/dist/src/ui/hooks/useResponsive.test.js.map +1 -0
  260. package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +6 -0
  261. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +163 -0
  262. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -0
  263. package/dist/src/ui/hooks/useShellHistory.test.d.ts +6 -0
  264. package/dist/src/ui/hooks/useShellHistory.test.js +162 -0
  265. package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -0
  266. package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +6 -0
  267. package/dist/src/ui/hooks/useSlashCompletion.test.js +929 -0
  268. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -0
  269. package/dist/src/ui/hooks/useStableCallback.test.d.ts +6 -0
  270. package/dist/src/ui/hooks/useStableCallback.test.js +57 -0
  271. package/dist/src/ui/hooks/useStableCallback.test.js.map +1 -0
  272. package/dist/src/ui/keyMatchers.test.d.ts +6 -0
  273. package/dist/src/ui/keyMatchers.test.js +276 -0
  274. package/dist/src/ui/keyMatchers.test.js.map +1 -0
  275. package/dist/src/ui/reducers/appReducer.test.d.ts +6 -0
  276. package/dist/src/ui/reducers/appReducer.test.js +519 -0
  277. package/dist/src/ui/reducers/appReducer.test.js.map +1 -0
  278. package/dist/src/ui/themes/color-utils.test.d.ts +6 -0
  279. package/dist/src/ui/themes/color-utils.test.js +197 -0
  280. package/dist/src/ui/themes/color-utils.test.js.map +1 -0
  281. package/dist/src/ui/themes/semantic-resolver.test.d.ts +6 -0
  282. package/dist/src/ui/themes/semantic-resolver.test.js +210 -0
  283. package/dist/src/ui/themes/semantic-resolver.test.js.map +1 -0
  284. package/dist/src/ui/themes/semantic-tokens.test.d.ts +6 -0
  285. package/dist/src/ui/themes/semantic-tokens.test.js +272 -0
  286. package/dist/src/ui/themes/semantic-tokens.test.js.map +1 -0
  287. package/dist/src/ui/themes/theme-manager.test.d.ts +6 -0
  288. package/dist/src/ui/themes/theme-manager.test.js +151 -0
  289. package/dist/src/ui/themes/theme-manager.test.js.map +1 -0
  290. package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +6 -0
  291. package/dist/src/ui/utils/MarkdownDisplay.test.js +151 -0
  292. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -0
  293. package/dist/src/ui/utils/clipboardUtils.test.d.ts +6 -0
  294. package/dist/src/ui/utils/clipboardUtils.test.js +65 -0
  295. package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -0
  296. package/dist/src/ui/utils/commandUtils.test.d.ts +6 -0
  297. package/dist/src/ui/utils/commandUtils.test.js +294 -0
  298. package/dist/src/ui/utils/commandUtils.test.js.map +1 -0
  299. package/dist/src/ui/utils/displayUtils.test.d.ts +6 -0
  300. package/dist/src/ui/utils/displayUtils.test.js +42 -0
  301. package/dist/src/ui/utils/displayUtils.test.js.map +1 -0
  302. package/dist/src/ui/utils/formatters.test.d.ts +6 -0
  303. package/dist/src/ui/utils/formatters.test.js +56 -0
  304. package/dist/src/ui/utils/formatters.test.js.map +1 -0
  305. package/dist/src/ui/utils/markdownUtilities.test.d.ts +6 -0
  306. package/dist/src/ui/utils/markdownUtilities.test.js +42 -0
  307. package/dist/src/ui/utils/markdownUtilities.test.js.map +1 -0
  308. package/dist/src/ui/utils/responsive.test.d.ts +6 -0
  309. package/dist/src/ui/utils/responsive.test.js +107 -0
  310. package/dist/src/ui/utils/responsive.test.js.map +1 -0
  311. package/dist/src/ui/utils/secureInputHandler.test.d.ts +6 -0
  312. package/dist/src/ui/utils/secureInputHandler.test.js +274 -0
  313. package/dist/src/ui/utils/secureInputHandler.test.js.map +1 -0
  314. package/dist/src/ui/utils/updateCheck.test.d.ts +6 -0
  315. package/dist/src/ui/utils/updateCheck.test.js +202 -0
  316. package/dist/src/ui/utils/updateCheck.test.js.map +1 -0
  317. package/dist/src/utils/ConversationContext.test.d.ts +6 -0
  318. package/dist/src/utils/ConversationContext.test.js +64 -0
  319. package/dist/src/utils/ConversationContext.test.js.map +1 -0
  320. package/dist/src/utils/gitUtils.test.d.ts +6 -0
  321. package/dist/src/utils/gitUtils.test.js +113 -0
  322. package/dist/src/utils/gitUtils.test.js.map +1 -0
  323. package/dist/src/utils/installationInfo.test.d.ts +6 -0
  324. package/dist/src/utils/installationInfo.test.js +242 -0
  325. package/dist/src/utils/installationInfo.test.js.map +1 -0
  326. package/dist/src/utils/privacy/ConversationDataRedactor.test.d.ts +6 -0
  327. package/dist/src/utils/privacy/ConversationDataRedactor.test.js +463 -0
  328. package/dist/src/utils/privacy/ConversationDataRedactor.test.js.map +1 -0
  329. package/dist/src/utils/readStdin.js +10 -0
  330. package/dist/src/utils/readStdin.js.map +1 -1
  331. package/dist/src/utils/sandbox.js +2 -2
  332. package/dist/src/utils/sandbox.js.map +1 -1
  333. package/dist/src/utils/settingsUtils.test.d.ts +6 -0
  334. package/dist/src/utils/settingsUtils.test.js +514 -0
  335. package/dist/src/utils/settingsUtils.test.js.map +1 -0
  336. package/dist/src/utils/userStartupWarnings.js +2 -2
  337. package/dist/src/utils/userStartupWarnings.test.d.ts +6 -0
  338. package/dist/src/utils/userStartupWarnings.test.js +67 -0
  339. package/dist/src/utils/userStartupWarnings.test.js.map +1 -0
  340. package/dist/tsconfig.tsbuildinfo +1 -1
  341. package/package.json +3 -3
@@ -0,0 +1,492 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
7
+ import { Config, ProfileManager, ProviderManager, } from '@vybestack/llxprt-code-core';
8
+ import { createTempDirectory, cleanupTempDirectory } from './test-utils.js';
9
+ describe('Base URL Behavior Integration Tests', () => {
10
+ let tempDir;
11
+ let config;
12
+ let profileManager;
13
+ let providerManager;
14
+ let originalHome;
15
+ beforeEach(async () => {
16
+ // Store original HOME environment variable
17
+ originalHome = process.env.HOME;
18
+ // Create a temporary directory for our test
19
+ tempDir = await createTempDirectory();
20
+ // Set HOME to our temp directory so ProfileManager uses it
21
+ process.env.HOME = tempDir;
22
+ // Create instances
23
+ profileManager = new ProfileManager();
24
+ providerManager = new ProviderManager();
25
+ // Create a basic config instance
26
+ config = new Config({
27
+ sessionId: 'test-session',
28
+ targetDir: tempDir,
29
+ debugMode: false,
30
+ model: 'test-model',
31
+ cwd: tempDir,
32
+ });
33
+ // Set provider manager on config
34
+ config.setProviderManager(providerManager);
35
+ // Initialize the config
36
+ await config.initialize();
37
+ });
38
+ afterEach(async () => {
39
+ // Restore original HOME
40
+ if (originalHome !== undefined) {
41
+ process.env.HOME = originalHome;
42
+ }
43
+ else {
44
+ delete process.env.HOME;
45
+ }
46
+ // Clean up temp directory
47
+ await cleanupTempDirectory(tempDir);
48
+ });
49
+ describe('Base URL Setting via Ephemeral Settings', () => {
50
+ it('should set custom base URL on provider via ephemeral settings', async () => {
51
+ // Create and register a mock provider
52
+ const provider = createMockProvider('openai');
53
+ providerManager.registerProvider(provider);
54
+ providerManager.setActiveProvider('openai');
55
+ // Set base URL via ephemeral settings
56
+ const customBaseUrl = 'https://custom.openai.api.com/v1';
57
+ config.setEphemeralSetting('base-url', customBaseUrl);
58
+ // Apply base URL to provider (simulating what the CLI does)
59
+ const baseUrl = config.getEphemeralSetting('base-url');
60
+ if (baseUrl && baseUrl !== 'none' && provider.setBaseUrl) {
61
+ provider.setBaseUrl(baseUrl);
62
+ }
63
+ // Verify the provider received the base URL
64
+ expect(provider.baseUrl).toBe(customBaseUrl);
65
+ });
66
+ it('should clear base URL when set to empty string', async () => {
67
+ // Create and register a mock provider with initial base URL
68
+ const provider = createMockProvider('openai');
69
+ provider.baseUrl = 'https://initial.api.com';
70
+ providerManager.registerProvider(provider);
71
+ providerManager.setActiveProvider('openai');
72
+ // Clear base URL by setting to empty string
73
+ config.setEphemeralSetting('base-url', '');
74
+ // Apply clearing logic (simulating what the CLI does)
75
+ const baseUrl = config.getEphemeralSetting('base-url');
76
+ if (!baseUrl || baseUrl.trim() === '') {
77
+ provider.setBaseUrl?.(undefined);
78
+ }
79
+ // Verify the provider's base URL was cleared
80
+ expect(provider.baseUrl).toBeUndefined();
81
+ });
82
+ });
83
+ describe('Base URL "none" Value Handling', () => {
84
+ it('should ignore/clear base URL when value is "none"', async () => {
85
+ // Create and register a mock provider
86
+ const provider = createMockProvider('openai');
87
+ provider.baseUrl = 'https://existing.api.com';
88
+ providerManager.registerProvider(provider);
89
+ providerManager.setActiveProvider('openai');
90
+ // Set base URL to "none"
91
+ config.setEphemeralSetting('base-url', 'none');
92
+ // Apply "none" handling logic (simulating what the CLI does)
93
+ const baseUrl = config.getEphemeralSetting('base-url');
94
+ if (baseUrl && baseUrl !== 'none' && provider.setBaseUrl) {
95
+ provider.setBaseUrl(baseUrl);
96
+ }
97
+ else if (baseUrl === 'none' && provider.setBaseUrl) {
98
+ // Clear base URL when "none"
99
+ provider.setBaseUrl(undefined);
100
+ }
101
+ // Verify the provider's base URL was cleared
102
+ expect(provider.baseUrl).toBeUndefined();
103
+ });
104
+ it('should not cause Invalid URL error when loading profile with base-url: "none"', async () => {
105
+ // Create a profile with base-url: "none"
106
+ const profile = {
107
+ version: 1,
108
+ provider: 'openai',
109
+ model: 'gpt-4',
110
+ modelParams: {},
111
+ ephemeralSettings: {
112
+ 'base-url': 'none',
113
+ 'auth-key': 'test-key',
114
+ },
115
+ };
116
+ // Save the profile
117
+ await profileManager.saveProfile('test-none-profile', profile);
118
+ // Create and register provider
119
+ const provider = createMockProvider('openai');
120
+ providerManager.registerProvider(provider);
121
+ providerManager.setActiveProvider('openai');
122
+ // Load the profile
123
+ const loadedProfile = await profileManager.loadProfile('test-none-profile');
124
+ // Apply ephemeral settings from profile (simulating profileCommand logic)
125
+ for (const [key, value] of Object.entries(loadedProfile.ephemeralSettings)) {
126
+ config.setEphemeralSetting(key, value);
127
+ // Special handling for base-url
128
+ if (key === 'base-url' && provider.setBaseUrl) {
129
+ if (value === 'none') {
130
+ provider.setBaseUrl(undefined);
131
+ }
132
+ else if (value) {
133
+ provider.setBaseUrl(value);
134
+ }
135
+ }
136
+ }
137
+ // Verify no errors occurred and base URL is undefined
138
+ expect(provider.baseUrl).toBeUndefined();
139
+ expect(config.getEphemeralSetting('base-url')).toBe('none');
140
+ expect(config.getEphemeralSetting('auth-key')).toBe('test-key');
141
+ });
142
+ });
143
+ describe('Base URL Behavior with Different Providers', () => {
144
+ it('should handle base URLs for OpenAI provider', async () => {
145
+ const openaiProvider = createMockProvider('openai');
146
+ providerManager.registerProvider(openaiProvider);
147
+ providerManager.setActiveProvider('openai');
148
+ // Set custom OpenAI-compatible base URL
149
+ const openaiBaseUrl = 'https://api.openai.com/v1';
150
+ config.setEphemeralSetting('base-url', openaiBaseUrl);
151
+ openaiProvider.setBaseUrl?.(openaiBaseUrl);
152
+ expect(openaiProvider.baseUrl).toBe(openaiBaseUrl);
153
+ });
154
+ it('should handle base URLs for Azure OpenAI provider', async () => {
155
+ const azureProvider = createMockProvider('azure-openai');
156
+ providerManager.registerProvider(azureProvider);
157
+ providerManager.setActiveProvider('azure-openai');
158
+ // Set custom Azure deployment URL
159
+ const azureBaseUrl = 'https://myazure.openai.azure.com/';
160
+ config.setEphemeralSetting('base-url', azureBaseUrl);
161
+ azureProvider.setBaseUrl?.(azureBaseUrl);
162
+ expect(azureProvider.baseUrl).toBe(azureBaseUrl);
163
+ });
164
+ it('should handle base URLs for OpenRouter provider', async () => {
165
+ const openRouterProvider = createMockProvider('openrouter');
166
+ providerManager.registerProvider(openRouterProvider);
167
+ providerManager.setActiveProvider('openrouter');
168
+ // Set custom OpenRouter URL
169
+ const openRouterBaseUrl = 'https://openrouter.ai/api/v1';
170
+ config.setEphemeralSetting('base-url', openRouterBaseUrl);
171
+ openRouterProvider.setBaseUrl?.(openRouterBaseUrl);
172
+ expect(openRouterProvider.baseUrl).toBe(openRouterBaseUrl);
173
+ });
174
+ it('should handle providers that do not support custom base URLs', async () => {
175
+ const geminiProvider = createMockProvider('gemini');
176
+ // Remove setBaseUrl method to simulate provider without base URL support
177
+ delete geminiProvider.setBaseUrl;
178
+ providerManager.registerProvider(geminiProvider);
179
+ providerManager.setActiveProvider('gemini');
180
+ // Try to set base URL
181
+ config.setEphemeralSetting('base-url', 'https://custom.url.com');
182
+ // Verify nothing breaks when provider doesn't support setBaseUrl
183
+ expect(geminiProvider.baseUrl).toBeUndefined();
184
+ expect(config.getEphemeralSetting('base-url')).toBe('https://custom.url.com');
185
+ });
186
+ });
187
+ describe('Provider Switching Clears Base URL', () => {
188
+ it('should clear previous provider base URL when switching providers', async () => {
189
+ // Create and register two providers
190
+ const providerA = createMockProvider('openai');
191
+ const providerB = createMockProvider('anthropic');
192
+ providerManager.registerProvider(providerA);
193
+ providerManager.registerProvider(providerB);
194
+ // Set provider A as active with custom base URL
195
+ providerManager.setActiveProvider('openai');
196
+ const baseUrlA = 'https://api.provider-a.com';
197
+ config.setEphemeralSetting('base-url', baseUrlA);
198
+ providerA.setBaseUrl?.(baseUrlA);
199
+ expect(providerA.baseUrl).toBe(baseUrlA);
200
+ // Switch to provider B
201
+ providerManager.setActiveProvider('anthropic');
202
+ // Simulate clearing provider A's state (as done in real provider switching)
203
+ providerA.clearState?.();
204
+ // Set different base URL for provider B
205
+ const baseUrlB = 'https://api.provider-b.com';
206
+ config.setEphemeralSetting('base-url', baseUrlB);
207
+ providerB.setBaseUrl?.(baseUrlB);
208
+ // Verify provider A's base URL is cleared and provider B has its own
209
+ expect(providerA.baseUrl).toBeUndefined();
210
+ expect(providerB.baseUrl).toBe(baseUrlB);
211
+ });
212
+ it('should not affect base URL of server tools provider when switching active provider', async () => {
213
+ // Create providers
214
+ const geminiProvider = createMockProvider('gemini');
215
+ geminiProvider.getServerTools = () => ['web-search'];
216
+ const openaiProvider = createMockProvider('openai');
217
+ providerManager.registerProvider(geminiProvider);
218
+ providerManager.registerProvider(openaiProvider);
219
+ // Set Gemini as server tools provider with base URL
220
+ providerManager.setServerToolsProvider(geminiProvider);
221
+ const geminiBaseUrl = 'https://gemini.api.com';
222
+ geminiProvider.setBaseUrl?.(geminiBaseUrl);
223
+ // Set OpenAI as active provider with different base URL
224
+ providerManager.setActiveProvider('openai');
225
+ const openaiBaseUrl = 'https://openai.api.com';
226
+ config.setEphemeralSetting('base-url', openaiBaseUrl);
227
+ openaiProvider.setBaseUrl?.(openaiBaseUrl);
228
+ // Switch active provider to another one
229
+ const anthropicProvider = createMockProvider('anthropic');
230
+ providerManager.registerProvider(anthropicProvider);
231
+ providerManager.setActiveProvider('anthropic');
232
+ // Clear OpenAI's state
233
+ openaiProvider.clearState?.();
234
+ // Verify Gemini (server tools) retains its base URL while OpenAI's is cleared
235
+ expect(geminiProvider.baseUrl).toBe(geminiBaseUrl);
236
+ expect(openaiProvider.baseUrl).toBeUndefined();
237
+ });
238
+ });
239
+ describe('Profile Save/Load with Base URLs', () => {
240
+ it('should save and restore base URL in profile', async () => {
241
+ // Set up provider and base URL
242
+ const provider = createMockProvider('openai');
243
+ providerManager.registerProvider(provider);
244
+ providerManager.setActiveProvider('openai');
245
+ const customBaseUrl = 'https://profile.api.com';
246
+ config.setEphemeralSetting('base-url', customBaseUrl);
247
+ // Create profile with current settings
248
+ const profile = {
249
+ version: 1,
250
+ provider: 'openai',
251
+ model: 'gpt-4',
252
+ modelParams: {
253
+ temperature: 0.7,
254
+ },
255
+ ephemeralSettings: {
256
+ 'base-url': config.getEphemeralSetting('base-url'),
257
+ 'auth-key': 'profile-api-key',
258
+ },
259
+ };
260
+ // Save profile
261
+ await profileManager.saveProfile('base-url-profile', profile);
262
+ // Create new config instance (simulating restart)
263
+ const newConfig = new Config({
264
+ sessionId: 'new-session',
265
+ targetDir: tempDir,
266
+ debugMode: false,
267
+ model: 'test-model',
268
+ cwd: tempDir,
269
+ });
270
+ await newConfig.initialize();
271
+ // Verify base URL is not there initially
272
+ expect(newConfig.getEphemeralSetting('base-url')).toBeUndefined();
273
+ // Load profile
274
+ const loadedProfile = await profileManager.loadProfile('base-url-profile');
275
+ // Apply settings from profile
276
+ for (const [key, value] of Object.entries(loadedProfile.ephemeralSettings)) {
277
+ newConfig.setEphemeralSetting(key, value);
278
+ }
279
+ // Verify base URL is restored
280
+ expect(newConfig.getEphemeralSetting('base-url')).toBe(customBaseUrl);
281
+ expect(newConfig.getEphemeralSetting('auth-key')).toBe('profile-api-key');
282
+ });
283
+ it('should handle profile with base-url: "none" without errors', async () => {
284
+ // Create and save profile with "none" base URL
285
+ const profile = {
286
+ version: 1,
287
+ provider: 'openai',
288
+ model: 'gpt-4o',
289
+ modelParams: {},
290
+ ephemeralSettings: {
291
+ 'base-url': 'none',
292
+ },
293
+ };
294
+ await profileManager.saveProfile('none-base-url-profile', profile);
295
+ // Load profile
296
+ const loadedProfile = await profileManager.loadProfile('none-base-url-profile');
297
+ // Verify "none" value is preserved
298
+ expect(loadedProfile.ephemeralSettings['base-url']).toBe('none');
299
+ // Apply to config
300
+ config.setEphemeralSetting('base-url', loadedProfile.ephemeralSettings['base-url']);
301
+ // Create provider and handle "none" value
302
+ const provider = createMockProvider('openai');
303
+ providerManager.registerProvider(provider);
304
+ const baseUrl = config.getEphemeralSetting('base-url');
305
+ if (baseUrl === 'none') {
306
+ provider.setBaseUrl?.(undefined);
307
+ }
308
+ // Verify provider has no base URL set
309
+ expect(provider.baseUrl).toBeUndefined();
310
+ });
311
+ });
312
+ describe('CLI Args Override Profile Base URLs', () => {
313
+ it('should override profile base URL with CLI argument', async () => {
314
+ // Create profile with base URL
315
+ const profile = {
316
+ version: 1,
317
+ provider: 'openai',
318
+ model: 'gpt-4',
319
+ modelParams: {},
320
+ ephemeralSettings: {
321
+ 'base-url': 'https://profile.base.url.com',
322
+ },
323
+ };
324
+ await profileManager.saveProfile('override-test-profile', profile);
325
+ // Load profile
326
+ const loadedProfile = await profileManager.loadProfile('override-test-profile');
327
+ // Apply profile settings
328
+ for (const [key, value] of Object.entries(loadedProfile.ephemeralSettings)) {
329
+ config.setEphemeralSetting(key, value);
330
+ }
331
+ // Simulate CLI override (--base-url argument)
332
+ const cliBaseUrl = 'https://cli.override.url.com';
333
+ config.setEphemeralSetting('base-url', cliBaseUrl);
334
+ // Create provider and apply final base URL
335
+ const provider = createMockProvider('openai');
336
+ providerManager.registerProvider(provider);
337
+ providerManager.setActiveProvider('openai');
338
+ provider.setBaseUrl?.(config.getEphemeralSetting('base-url'));
339
+ // Verify CLI base URL takes precedence
340
+ expect(provider.baseUrl).toBe(cliBaseUrl);
341
+ expect(provider.baseUrl).not.toBe('https://profile.base.url.com');
342
+ });
343
+ it('should clear profile base URL when CLI provides empty string', async () => {
344
+ // Create profile with base URL
345
+ const profile = {
346
+ version: 1,
347
+ provider: 'anthropic',
348
+ model: 'claude-3-opus-20240229',
349
+ modelParams: {},
350
+ ephemeralSettings: {
351
+ 'base-url': 'https://profile.anthropic.url.com',
352
+ },
353
+ };
354
+ await profileManager.saveProfile('clear-override-profile', profile);
355
+ // Load profile
356
+ const loadedProfile = await profileManager.loadProfile('clear-override-profile');
357
+ // Apply profile settings
358
+ for (const [key, value] of Object.entries(loadedProfile.ephemeralSettings)) {
359
+ config.setEphemeralSetting(key, value);
360
+ }
361
+ // Simulate CLI override with empty string (--base-url "")
362
+ config.setEphemeralSetting('base-url', '');
363
+ // Create provider and apply final base URL
364
+ const provider = createMockProvider('anthropic');
365
+ providerManager.registerProvider(provider);
366
+ providerManager.setActiveProvider('anthropic');
367
+ const baseUrl = config.getEphemeralSetting('base-url');
368
+ if (!baseUrl || baseUrl.trim() === '') {
369
+ provider.setBaseUrl?.(undefined);
370
+ }
371
+ else {
372
+ provider.setBaseUrl?.(baseUrl);
373
+ }
374
+ // Verify base URL is cleared
375
+ expect(provider.baseUrl).toBeUndefined();
376
+ });
377
+ });
378
+ describe('Base URL Validation and Error Handling', () => {
379
+ it('should handle invalid URL formats gracefully', async () => {
380
+ const provider = createMockProvider('openai');
381
+ providerManager.registerProvider(provider);
382
+ providerManager.setActiveProvider('openai');
383
+ // Try to set invalid URLs
384
+ const invalidUrls = [
385
+ 'not-a-url',
386
+ 'http://',
387
+ 'ftp://invalid.protocol.com',
388
+ '//missing-protocol.com',
389
+ ];
390
+ for (const invalidUrl of invalidUrls) {
391
+ config.setEphemeralSetting('base-url', invalidUrl);
392
+ // Provider should validate and potentially reject invalid URLs
393
+ // For this test, we'll assume the provider stores whatever is given
394
+ provider.setBaseUrl?.(invalidUrl);
395
+ // In a real implementation, the provider might throw or sanitize
396
+ expect(provider.baseUrl).toBe(invalidUrl);
397
+ }
398
+ });
399
+ it('should preserve trailing slashes in base URLs', async () => {
400
+ const provider = createMockProvider('openai');
401
+ providerManager.registerProvider(provider);
402
+ providerManager.setActiveProvider('openai');
403
+ // Test URLs with and without trailing slashes
404
+ const urlsToTest = [
405
+ 'https://api.example.com/',
406
+ 'https://api.example.com',
407
+ 'https://api.example.com/v1/',
408
+ 'https://api.example.com/v1',
409
+ ];
410
+ for (const url of urlsToTest) {
411
+ config.setEphemeralSetting('base-url', url);
412
+ provider.setBaseUrl?.(url);
413
+ // Verify exact URL is preserved
414
+ expect(provider.baseUrl).toBe(url);
415
+ }
416
+ });
417
+ });
418
+ describe('Base URL Integration with Model Parameters', () => {
419
+ it('should maintain base URL when updating model parameters', async () => {
420
+ const provider = createMockProvider('openai');
421
+ providerManager.registerProvider(provider);
422
+ providerManager.setActiveProvider('openai');
423
+ // Set base URL
424
+ const baseUrl = 'https://stable.api.com';
425
+ config.setEphemeralSetting('base-url', baseUrl);
426
+ provider.setBaseUrl?.(baseUrl);
427
+ // Set model parameters
428
+ const modelParams = {
429
+ temperature: 0.8,
430
+ max_tokens: 2000,
431
+ top_p: 0.95,
432
+ };
433
+ provider.setModelParams?.(modelParams);
434
+ // Verify both base URL and model params are set
435
+ expect(provider.baseUrl).toBe(baseUrl);
436
+ expect(provider.getModelParams?.()).toEqual(modelParams);
437
+ // Update model params
438
+ const newParams = {
439
+ temperature: 0.5,
440
+ max_tokens: 4000,
441
+ };
442
+ provider.setModelParams?.(newParams);
443
+ // Verify base URL is maintained
444
+ expect(provider.baseUrl).toBe(baseUrl);
445
+ expect(provider.getModelParams?.()).toEqual(newParams);
446
+ });
447
+ });
448
+ });
449
+ // Helper function to create a mock provider with base URL support
450
+ function createMockProvider(name) {
451
+ const provider = {
452
+ name,
453
+ baseUrl: undefined,
454
+ apiKey: undefined,
455
+ modelParams: undefined,
456
+ state: {},
457
+ setApiKey(key) {
458
+ provider.apiKey = key;
459
+ },
460
+ setBaseUrl(url) {
461
+ provider.baseUrl = url;
462
+ },
463
+ setModelParams(params) {
464
+ provider.modelParams = params;
465
+ },
466
+ getModelParams() {
467
+ return provider.modelParams;
468
+ },
469
+ clearState() {
470
+ provider.apiKey = undefined;
471
+ provider.baseUrl = undefined;
472
+ provider.modelParams = undefined;
473
+ provider.state = {};
474
+ },
475
+ getModels: async () => [
476
+ {
477
+ id: 'test-model',
478
+ name: 'Test Model',
479
+ provider: name,
480
+ supportedToolFormats: [],
481
+ },
482
+ ],
483
+ getDefaultModel: () => 'test-model',
484
+ async *generateChatCompletion() {
485
+ yield { content: 'test response' };
486
+ },
487
+ getServerTools: () => [],
488
+ invokeServerTool: async () => ({ result: 'test' }),
489
+ };
490
+ return provider;
491
+ }
492
+ //# sourceMappingURL=base-url-behavior.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-url-behavior.integration.test.js","sourceRoot":"","sources":["../../../src/integration-tests/base-url-behavior.integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};