@vybestack/llxprt-code 0.4.8 → 0.5.0-nightly.251102.6bb3db7a

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 (269) hide show
  1. package/dist/package.json +5 -3
  2. package/dist/src/auth/__tests__/oauthManager.safety.test.d.ts +6 -0
  3. package/dist/src/auth/__tests__/oauthManager.safety.test.js +49 -0
  4. package/dist/src/auth/__tests__/oauthManager.safety.test.js.map +1 -0
  5. package/dist/src/auth/oauth-manager.d.ts +11 -0
  6. package/dist/src/auth/oauth-manager.js +62 -29
  7. package/dist/src/auth/oauth-manager.js.map +1 -1
  8. package/dist/src/auth/oauth-manager.spec.js +7 -2
  9. package/dist/src/auth/oauth-manager.spec.js.map +1 -1
  10. package/dist/src/config/__tests__/nonInteractiveTools.test.d.ts +6 -0
  11. package/dist/src/config/__tests__/nonInteractiveTools.test.js +13 -0
  12. package/dist/src/config/__tests__/nonInteractiveTools.test.js.map +1 -0
  13. package/dist/src/config/__tests__/profileBootstrap.test.d.ts +6 -0
  14. package/dist/src/config/__tests__/profileBootstrap.test.js +91 -0
  15. package/dist/src/config/__tests__/profileBootstrap.test.js.map +1 -0
  16. package/dist/src/config/config.d.ts +6 -2
  17. package/dist/src/config/config.js +219 -18
  18. package/dist/src/config/config.js.map +1 -1
  19. package/dist/src/config/profileBootstrap.d.ts +64 -0
  20. package/dist/src/config/profileBootstrap.js +140 -0
  21. package/dist/src/config/profileBootstrap.js.map +1 -0
  22. package/dist/src/gemini.js +68 -23
  23. package/dist/src/gemini.js.map +1 -1
  24. package/dist/src/gemini.test.js +1 -2
  25. package/dist/src/gemini.test.js.map +1 -1
  26. package/dist/src/generated/git-commit.d.ts +1 -1
  27. package/dist/src/generated/git-commit.js +1 -1
  28. package/dist/src/integration-tests/base-url-behavior.integration.test.js +110 -450
  29. package/dist/src/integration-tests/base-url-behavior.integration.test.js.map +1 -1
  30. package/dist/src/integration-tests/model-params-isolation.integration.test.js +101 -539
  31. package/dist/src/integration-tests/model-params-isolation.integration.test.js.map +1 -1
  32. package/dist/src/integration-tests/modelParams.integration.test.js +86 -761
  33. package/dist/src/integration-tests/modelParams.integration.test.js.map +1 -1
  34. package/dist/src/integration-tests/provider-multi-runtime.integration.test.d.ts +6 -0
  35. package/dist/src/integration-tests/provider-multi-runtime.integration.test.js +198 -0
  36. package/dist/src/integration-tests/provider-multi-runtime.integration.test.js.map +1 -0
  37. package/dist/src/integration-tests/provider-switching.integration.test.js +97 -151
  38. package/dist/src/integration-tests/provider-switching.integration.test.js.map +1 -1
  39. package/dist/src/integration-tests/runtime-isolation.test.d.ts +13 -0
  40. package/dist/src/integration-tests/runtime-isolation.test.js +170 -0
  41. package/dist/src/integration-tests/runtime-isolation.test.js.map +1 -0
  42. package/dist/src/integration-tests/test-utils.js +19 -2
  43. package/dist/src/integration-tests/test-utils.js.map +1 -1
  44. package/dist/src/integration-tests/test-utils.test.js +9 -8
  45. package/dist/src/integration-tests/test-utils.test.js.map +1 -1
  46. package/dist/src/integration-tests/todo-continuation.integration.test.js +5 -2
  47. package/dist/src/integration-tests/todo-continuation.integration.test.js.map +1 -1
  48. package/dist/src/integration-tests/tools-governance.integration.test.d.ts +6 -0
  49. package/dist/src/integration-tests/tools-governance.integration.test.js +98 -0
  50. package/dist/src/integration-tests/tools-governance.integration.test.js.map +1 -0
  51. package/dist/src/nonInteractiveCli.js +36 -11
  52. package/dist/src/nonInteractiveCli.js.map +1 -1
  53. package/dist/src/providers/logging/git-stats.test.js +11 -1
  54. package/dist/src/providers/logging/git-stats.test.js.map +1 -1
  55. package/dist/src/providers/logging/multi-provider-logging.integration.test.js +1 -2
  56. package/dist/src/providers/logging/multi-provider-logging.integration.test.js.map +1 -1
  57. package/dist/src/providers/logging/performance.test.js +1 -1
  58. package/dist/src/providers/logging/performance.test.js.map +1 -1
  59. package/dist/src/providers/oauth-provider-registration.d.ts +2 -2
  60. package/dist/src/providers/oauth-provider-registration.js +25 -9
  61. package/dist/src/providers/oauth-provider-registration.js.map +1 -1
  62. package/dist/src/providers/provider-gemini-switching.test.js +67 -89
  63. package/dist/src/providers/provider-gemini-switching.test.js.map +1 -1
  64. package/dist/src/providers/provider-switching.integration.test.js +42 -98
  65. package/dist/src/providers/provider-switching.integration.test.js.map +1 -1
  66. package/dist/src/providers/providerConfigUtils.d.ts +12 -7
  67. package/dist/src/providers/providerConfigUtils.js +31 -99
  68. package/dist/src/providers/providerConfigUtils.js.map +1 -1
  69. package/dist/src/providers/providerManagerInstance.d.ts +17 -1
  70. package/dist/src/providers/providerManagerInstance.js +157 -175
  71. package/dist/src/providers/providerManagerInstance.js.map +1 -1
  72. package/dist/src/providers/providerManagerInstance.oauthRegistration.test.js +19 -15
  73. package/dist/src/providers/providerManagerInstance.oauthRegistration.test.js.map +1 -1
  74. package/dist/src/providers/providerManagerInstance.test.js +2 -5
  75. package/dist/src/providers/providerManagerInstance.test.js.map +1 -1
  76. package/dist/src/runtime/__tests__/profileApplication.test.d.ts +5 -0
  77. package/dist/src/runtime/__tests__/profileApplication.test.js +232 -0
  78. package/dist/src/runtime/__tests__/profileApplication.test.js.map +1 -0
  79. package/dist/src/runtime/__tests__/runtimeIsolation.test.d.ts +5 -0
  80. package/dist/src/runtime/__tests__/runtimeIsolation.test.js +376 -0
  81. package/dist/src/runtime/__tests__/runtimeIsolation.test.js.map +1 -0
  82. package/dist/src/runtime/agentRuntimeAdapter.d.ts +249 -0
  83. package/dist/src/runtime/agentRuntimeAdapter.js +506 -0
  84. package/dist/src/runtime/agentRuntimeAdapter.js.map +1 -0
  85. package/dist/src/runtime/agentRuntimeAdapter.spec.d.ts +6 -0
  86. package/dist/src/runtime/agentRuntimeAdapter.spec.js +866 -0
  87. package/dist/src/runtime/agentRuntimeAdapter.spec.js.map +1 -0
  88. package/dist/src/runtime/messages.d.ts +28 -0
  89. package/dist/src/runtime/messages.js +64 -0
  90. package/dist/src/runtime/messages.js.map +1 -0
  91. package/dist/src/runtime/profileApplication.d.ts +33 -0
  92. package/dist/src/runtime/profileApplication.js +191 -0
  93. package/dist/src/runtime/profileApplication.js.map +1 -0
  94. package/dist/src/runtime/providerConfigUtils.test.d.ts +1 -0
  95. package/dist/src/runtime/providerConfigUtils.test.js +68 -0
  96. package/dist/src/runtime/providerConfigUtils.test.js.map +1 -0
  97. package/dist/src/runtime/runtimeContextFactory.d.ts +102 -0
  98. package/dist/src/runtime/runtimeContextFactory.js +190 -0
  99. package/dist/src/runtime/runtimeContextFactory.js.map +1 -0
  100. package/dist/src/runtime/runtimeSettings.d.ts +217 -0
  101. package/dist/src/runtime/runtimeSettings.js +1094 -0
  102. package/dist/src/runtime/runtimeSettings.js.map +1 -0
  103. package/dist/src/runtime/runtimeSettings.test.d.ts +1 -0
  104. package/dist/src/runtime/runtimeSettings.test.js +320 -0
  105. package/dist/src/runtime/runtimeSettings.test.js.map +1 -0
  106. package/dist/src/services/BuiltinCommandLoader.d.ts +13 -4
  107. package/dist/src/services/BuiltinCommandLoader.js +17 -4
  108. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  109. package/dist/src/services/McpPromptLoader.js +34 -13
  110. package/dist/src/services/McpPromptLoader.js.map +1 -1
  111. package/dist/src/test-utils/mockCommandContext.js +5 -2
  112. package/dist/src/test-utils/mockCommandContext.js.map +1 -1
  113. package/dist/src/ui/App.js +29 -49
  114. package/dist/src/ui/App.js.map +1 -1
  115. package/dist/src/ui/commands/aboutCommand.js +59 -38
  116. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  117. package/dist/src/ui/commands/authCommand.js +7 -9
  118. package/dist/src/ui/commands/authCommand.js.map +1 -1
  119. package/dist/src/ui/commands/baseurlCommand.js +8 -44
  120. package/dist/src/ui/commands/baseurlCommand.js.map +1 -1
  121. package/dist/src/ui/commands/chatCommand.js +28 -12
  122. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  123. package/dist/src/ui/commands/diagnosticsCommand.d.ts +0 -3
  124. package/dist/src/ui/commands/diagnosticsCommand.js +45 -191
  125. package/dist/src/ui/commands/diagnosticsCommand.js.map +1 -1
  126. package/dist/src/ui/commands/keyCommand.js +9 -58
  127. package/dist/src/ui/commands/keyCommand.js.map +1 -1
  128. package/dist/src/ui/commands/keyCommand.test.js +48 -102
  129. package/dist/src/ui/commands/keyCommand.test.js.map +1 -1
  130. package/dist/src/ui/commands/keyfileCommand.js +42 -93
  131. package/dist/src/ui/commands/keyfileCommand.js.map +1 -1
  132. package/dist/src/ui/commands/logoutCommand.js +2 -2
  133. package/dist/src/ui/commands/logoutCommand.js.map +1 -1
  134. package/dist/src/ui/commands/mcpCommand.js +29 -7
  135. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  136. package/dist/src/ui/commands/modelCommand.js +8 -59
  137. package/dist/src/ui/commands/modelCommand.js.map +1 -1
  138. package/dist/src/ui/commands/profileCommand.js +151 -267
  139. package/dist/src/ui/commands/profileCommand.js.map +1 -1
  140. package/dist/src/ui/commands/profileCommand.test.js +88 -344
  141. package/dist/src/ui/commands/profileCommand.test.js.map +1 -1
  142. package/dist/src/ui/commands/providerCommand.js +9 -3
  143. package/dist/src/ui/commands/providerCommand.js.map +1 -1
  144. package/dist/src/ui/commands/restoreCommand.js +38 -18
  145. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  146. package/dist/src/ui/commands/schema/argumentResolver.test.d.ts +6 -0
  147. package/dist/src/ui/commands/schema/argumentResolver.test.js +619 -0
  148. package/dist/src/ui/commands/schema/argumentResolver.test.js.map +1 -0
  149. package/dist/src/ui/commands/schema/index.d.ts +15 -0
  150. package/dist/src/ui/commands/schema/index.js +320 -0
  151. package/dist/src/ui/commands/schema/index.js.map +1 -0
  152. package/dist/src/ui/commands/schema/types.d.ts +61 -0
  153. package/dist/src/ui/commands/schema/types.js +12 -0
  154. package/dist/src/ui/commands/schema/types.js.map +1 -0
  155. package/dist/src/ui/commands/setCommand.js +641 -325
  156. package/dist/src/ui/commands/setCommand.js.map +1 -1
  157. package/dist/src/ui/commands/setCommand.test.js +92 -388
  158. package/dist/src/ui/commands/setCommand.test.js.map +1 -1
  159. package/dist/src/ui/commands/statusCommand.js +2 -2
  160. package/dist/src/ui/commands/statusCommand.js.map +1 -1
  161. package/dist/src/ui/commands/subagentCommand.d.ts +16 -0
  162. package/dist/src/ui/commands/subagentCommand.js +674 -0
  163. package/dist/src/ui/commands/subagentCommand.js.map +1 -0
  164. package/dist/src/ui/commands/test/setCommand.mutation.test.d.ts +6 -0
  165. package/dist/src/ui/commands/test/setCommand.mutation.test.js +132 -0
  166. package/dist/src/ui/commands/test/setCommand.mutation.test.js.map +1 -0
  167. package/dist/src/ui/commands/test/setCommand.phase09.test.d.ts +6 -0
  168. package/dist/src/ui/commands/test/setCommand.phase09.test.js +222 -0
  169. package/dist/src/ui/commands/test/setCommand.phase09.test.js.map +1 -0
  170. package/dist/src/ui/commands/test/subagentCommand.schema.test.d.ts +6 -0
  171. package/dist/src/ui/commands/test/subagentCommand.schema.test.js +125 -0
  172. package/dist/src/ui/commands/test/subagentCommand.schema.test.js.map +1 -0
  173. package/dist/src/ui/commands/test/subagentCommand.test.d.ts +1 -0
  174. package/dist/src/ui/commands/test/subagentCommand.test.js +598 -0
  175. package/dist/src/ui/commands/test/subagentCommand.test.js.map +1 -0
  176. package/dist/src/ui/commands/toolformatCommand.js +25 -98
  177. package/dist/src/ui/commands/toolformatCommand.js.map +1 -1
  178. package/dist/src/ui/commands/toolformatCommand.test.js +56 -102
  179. package/dist/src/ui/commands/toolformatCommand.test.js.map +1 -1
  180. package/dist/src/ui/commands/toolsCommand.js +187 -31
  181. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  182. package/dist/src/ui/commands/types.d.ts +11 -2
  183. package/dist/src/ui/commands/types.js.map +1 -1
  184. package/dist/src/ui/components/AuthDialog.js +16 -55
  185. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  186. package/dist/src/ui/components/Footer.js +4 -5
  187. package/dist/src/ui/components/Footer.js.map +1 -1
  188. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  189. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  190. package/dist/src/ui/components/InputPrompt.js +1 -1
  191. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  192. package/dist/src/ui/components/StatsDisplay.js +6 -11
  193. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  194. package/dist/src/ui/components/SuggestionsDisplay.d.ts +13 -1
  195. package/dist/src/ui/components/SuggestionsDisplay.js +22 -3
  196. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  197. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +1 -0
  198. package/dist/src/ui/components/messages/ToolGroupMessage.js +14 -14
  199. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  200. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +1 -0
  201. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  202. package/dist/src/ui/containers/SessionController.js +61 -117
  203. package/dist/src/ui/containers/SessionController.js.map +1 -1
  204. package/dist/src/ui/contexts/RuntimeContext.d.ts +61 -0
  205. package/dist/src/ui/contexts/RuntimeContext.js +118 -0
  206. package/dist/src/ui/contexts/RuntimeContext.js.map +1 -0
  207. package/dist/src/ui/contexts/TodoProvider.d.ts +1 -0
  208. package/dist/src/ui/contexts/TodoProvider.js +10 -8
  209. package/dist/src/ui/contexts/TodoProvider.js.map +1 -1
  210. package/dist/src/ui/contexts/ToolCallProvider.d.ts +1 -0
  211. package/dist/src/ui/contexts/ToolCallProvider.js +10 -9
  212. package/dist/src/ui/contexts/ToolCallProvider.js.map +1 -1
  213. package/dist/src/ui/hooks/__tests__/useSlashCompletion.set.phase09.test.d.ts +6 -0
  214. package/dist/src/ui/hooks/__tests__/useSlashCompletion.set.phase09.test.js +39 -0
  215. package/dist/src/ui/hooks/__tests__/useSlashCompletion.set.phase09.test.js.map +1 -0
  216. package/dist/src/ui/hooks/atCommandProcessor.js +11 -3
  217. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  218. package/dist/src/ui/hooks/atCommandProcessor.test.js +3 -1
  219. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  220. package/dist/src/ui/hooks/shellCommandProcessor.js +4 -1
  221. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  222. package/dist/src/ui/hooks/shellCommandProcessor.test.js +1 -0
  223. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
  224. package/dist/src/ui/hooks/slashCommandProcessor.js +27 -1
  225. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  226. package/dist/src/ui/hooks/useAuthCommand.js +11 -3
  227. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  228. package/dist/src/ui/hooks/useCommandCompletion.d.ts +1 -0
  229. package/dist/src/ui/hooks/useCommandCompletion.js +2 -0
  230. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  231. package/dist/src/ui/hooks/useGeminiStream.js +37 -11
  232. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  233. package/dist/src/ui/hooks/useGeminiStream.subagent.spec.d.ts +6 -0
  234. package/dist/src/ui/hooks/useGeminiStream.subagent.spec.js +232 -0
  235. package/dist/src/ui/hooks/useGeminiStream.subagent.spec.js.map +1 -0
  236. package/dist/src/ui/hooks/useLoadProfileDialog.d.ts +1 -1
  237. package/dist/src/ui/hooks/useLoadProfileDialog.js +18 -57
  238. package/dist/src/ui/hooks/useLoadProfileDialog.js.map +1 -1
  239. package/dist/src/ui/hooks/useOpenAIProviderInfo.d.ts +1 -1
  240. package/dist/src/ui/hooks/useOpenAIProviderInfo.js +12 -7
  241. package/dist/src/ui/hooks/useOpenAIProviderInfo.js.map +1 -1
  242. package/dist/src/ui/hooks/useProviderDialog.d.ts +1 -1
  243. package/dist/src/ui/hooks/useProviderDialog.js +17 -90
  244. package/dist/src/ui/hooks/useProviderDialog.js.map +1 -1
  245. package/dist/src/ui/hooks/useProviderModelDialog.d.ts +2 -2
  246. package/dist/src/ui/hooks/useProviderModelDialog.js +11 -12
  247. package/dist/src/ui/hooks/useProviderModelDialog.js.map +1 -1
  248. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +3 -1
  249. package/dist/src/ui/hooks/useReactToolScheduler.js +144 -34
  250. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  251. package/dist/src/ui/hooks/useSlashCompletion.d.ts +32 -0
  252. package/dist/src/ui/hooks/useSlashCompletion.js +154 -77
  253. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  254. package/dist/src/ui/hooks/useSlashCompletion.test.js +39 -14
  255. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  256. package/dist/src/ui/hooks/useToolScheduler.test.js +108 -79
  257. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  258. package/dist/src/ui/types.d.ts +1 -0
  259. package/dist/src/ui/types.js.map +1 -1
  260. package/dist/src/utils/sandbox.js +7 -5
  261. package/dist/src/utils/sandbox.js.map +1 -1
  262. package/dist/src/validateNonInterActiveAuth.js +4 -2
  263. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  264. package/dist/src/zed-integration/schema.d.ts +30 -30
  265. package/dist/src/zed-integration/zedIntegration.js +112 -39
  266. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  267. package/dist/tsconfig.build.tsbuildinfo +1 -0
  268. package/package.json +5 -3
  269. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -4,8 +4,88 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { CommandKind, } from './types.js';
7
- import { ProfileManager, AuthType } from '@vybestack/llxprt-code-core';
8
7
  import { SettingScope } from '../../config/settings.js';
8
+ import { getRuntimeApi } from '../contexts/RuntimeContext.js';
9
+ import { DebugLogger } from '@vybestack/llxprt-code-core';
10
+ const profileSuggestionDescription = 'Saved profile';
11
+ const normalizeProfilePartial = (partial) => partial.startsWith('"') ? partial.slice(1) : partial;
12
+ async function listProfiles() {
13
+ return getRuntimeApi().listSavedProfiles();
14
+ }
15
+ function filterProfiles(partialArg, profiles) {
16
+ const normalizedPartial = normalizeProfilePartial(partialArg).toLowerCase();
17
+ return profiles.filter((profile) => normalizedPartial.length === 0
18
+ ? true
19
+ : profile.toLowerCase().startsWith(normalizedPartial));
20
+ }
21
+ const profileNameCompleter = async (_ctx, partialArg) => {
22
+ try {
23
+ const profiles = await listProfiles();
24
+ return filterProfiles(partialArg, profiles).map((profile) => ({
25
+ value: profile,
26
+ description: profileSuggestionDescription,
27
+ }));
28
+ }
29
+ catch {
30
+ return [];
31
+ }
32
+ };
33
+ const profileSaveSchema = [
34
+ {
35
+ kind: 'value',
36
+ name: 'profile',
37
+ description: 'Enter profile name to save',
38
+ /**
39
+ * @plan:PLAN-20251013-AUTOCOMPLETE.P11
40
+ * @requirement:REQ-004
41
+ * Schema-driven completion replaces legacy helpers.
42
+ */
43
+ completer: profileNameCompleter,
44
+ },
45
+ ];
46
+ const profileLoadSchema = [
47
+ {
48
+ kind: 'value',
49
+ name: 'profile',
50
+ description: 'Select profile to load',
51
+ completer: profileNameCompleter,
52
+ },
53
+ ];
54
+ const profileDeleteSchema = [
55
+ {
56
+ kind: 'value',
57
+ name: 'profile',
58
+ description: 'Select profile to delete',
59
+ completer: profileNameCompleter,
60
+ },
61
+ ];
62
+ const profileSetDefaultSchema = [
63
+ {
64
+ kind: 'value',
65
+ name: 'profile',
66
+ description: 'Set default profile or choose none',
67
+ completer: async (_ctx, partialArg) => {
68
+ try {
69
+ const profiles = await listProfiles();
70
+ const candidates = ['none', ...profiles];
71
+ const normalizedPartial = normalizeProfilePartial(partialArg).toLowerCase();
72
+ return candidates
73
+ .filter((option) => normalizedPartial.length === 0
74
+ ? true
75
+ : option.toLowerCase().startsWith(normalizedPartial))
76
+ .map((option) => ({
77
+ value: option,
78
+ description: option === 'none'
79
+ ? 'Clear default profile'
80
+ : profileSuggestionDescription,
81
+ }));
82
+ }
83
+ catch {
84
+ return [];
85
+ }
86
+ },
87
+ },
88
+ ];
9
89
  /**
10
90
  * Profile save subcommand
11
91
  */
@@ -13,19 +93,7 @@ const saveCommand = {
13
93
  name: 'save',
14
94
  description: 'save current configuration to a profile',
15
95
  kind: CommandKind.BUILT_IN,
16
- completion: async (_context, partialArg) => {
17
- const profileManager = new ProfileManager();
18
- const profiles = await profileManager.listProfiles();
19
- // Filter profiles based on partial argument
20
- if (partialArg) {
21
- // Handle quoted partial arguments
22
- const unquoted = partialArg.startsWith('"')
23
- ? partialArg.slice(1)
24
- : partialArg;
25
- return profiles.filter((profile) => profile.startsWith(unquoted));
26
- }
27
- return profiles;
28
- },
96
+ schema: profileSaveSchema,
29
97
  action: async (context, args) => {
30
98
  // Parse profile name from args
31
99
  const trimmedArgs = args?.trim();
@@ -56,98 +124,8 @@ const saveCommand = {
56
124
  };
57
125
  }
58
126
  try {
59
- // Check if config is available
60
- if (!context.services.config) {
61
- return {
62
- type: 'message',
63
- messageType: 'error',
64
- content: 'No configuration available',
65
- };
66
- }
67
- // Get current provider and model
68
- const providerName = context.services.config.getProvider();
69
- // Get the provider manager and active provider
70
- const providerManager = context.services.config.getProviderManager();
71
- const activeProvider = providerManager?.getActiveProvider();
72
- // Get the model from the provider first (source of truth), fallback to config
73
- const providerModel = activeProvider?.getCurrentModel?.();
74
- const configModel = context.services.config.getModel();
75
- const modelName = providerModel || configModel;
76
- // Get model params from provider
77
- let modelParams = {};
78
- if (activeProvider &&
79
- 'getModelParams' in activeProvider &&
80
- activeProvider.getModelParams) {
81
- modelParams = activeProvider.getModelParams() || {};
82
- }
83
- // Get ephemeral settings from config
84
- const allEphemeralSettings = context.services.config.getEphemeralSettings();
85
- const ephemeralKeys = [
86
- 'context-limit',
87
- 'compression-threshold',
88
- 'base-url',
89
- 'tool-format',
90
- 'api-version',
91
- 'custom-headers',
92
- 'disabled-tools',
93
- 'tool-output-max-items',
94
- 'tool-output-max-tokens',
95
- 'tool-output-truncate-mode',
96
- 'tool-output-item-size-limit',
97
- 'max-prompt-tokens',
98
- 'shell-replacement',
99
- 'todo-continuation',
100
- 'socket-timeout',
101
- 'socket-keepalive',
102
- 'socket-nodelay',
103
- 'streaming',
104
- 'retries',
105
- 'retrywait',
106
- 'authOnly',
107
- ];
108
- const ephemeralSettings = {};
109
- for (const key of ephemeralKeys) {
110
- const value = allEphemeralSettings[key];
111
- if (value !== undefined) {
112
- ephemeralSettings[key] = value;
113
- }
114
- }
115
- // Get auth-keyfile from ephemeral settings (set by /keyfile command)
116
- const ephemeralKeyfile = allEphemeralSettings['auth-keyfile'];
117
- if (ephemeralKeyfile) {
118
- ephemeralSettings['auth-keyfile'] =
119
- ephemeralKeyfile;
120
- // Don't save auth-key if using keyfile
121
- }
122
- else {
123
- // Get auth-key from ephemeral settings (set by /key command)
124
- const ephemeralApiKey = allEphemeralSettings['auth-key'];
125
- if (ephemeralApiKey) {
126
- ephemeralSettings['auth-key'] =
127
- ephemeralApiKey;
128
- }
129
- }
130
- // Fallback: Check persistent settings for base-url if not in ephemeral
131
- // This handles the case where base-url was set with the old command
132
- if (!ephemeralSettings['base-url']) {
133
- const allSettings = context.services.settings.merged || {};
134
- const providerBaseUrls = allSettings.providerBaseUrls || {};
135
- if (providerName && providerBaseUrls[providerName]) {
136
- ephemeralSettings['base-url'] =
137
- providerBaseUrls[providerName];
138
- }
139
- }
140
- // Create profile object
141
- const profile = {
142
- version: 1,
143
- provider: providerName || '',
144
- model: modelName || '',
145
- modelParams,
146
- ephemeralSettings: ephemeralSettings,
147
- };
148
- // Save profile
149
- const profileManager = new ProfileManager();
150
- await profileManager.saveProfile(profileName, profile);
127
+ const runtime = getRuntimeApi();
128
+ await runtime.saveProfileSnapshot(profileName);
151
129
  return {
152
130
  type: 'message',
153
131
  messageType: 'info',
@@ -166,23 +144,12 @@ const saveCommand = {
166
144
  /**
167
145
  * Profile load subcommand
168
146
  */
147
+ const logger = new DebugLogger('llxprt:ui:profile-command');
169
148
  const loadCommand = {
170
149
  name: 'load',
171
150
  description: 'load configuration from a saved profile',
172
151
  kind: CommandKind.BUILT_IN,
173
- completion: async (_context, partialArg) => {
174
- const profileManager = new ProfileManager();
175
- const profiles = await profileManager.listProfiles();
176
- // Filter profiles based on partial argument
177
- if (partialArg) {
178
- // Handle quoted partial arguments
179
- const unquoted = partialArg.startsWith('"')
180
- ? partialArg.slice(1)
181
- : partialArg;
182
- return profiles.filter((profile) => profile.startsWith(unquoted));
183
- }
184
- return profiles;
185
- },
152
+ schema: profileLoadSchema,
186
153
  action: async (context, args) => {
187
154
  // Parse profile name from args
188
155
  const trimmedArgs = args?.trim();
@@ -212,133 +179,76 @@ const loadCommand = {
212
179
  };
213
180
  }
214
181
  try {
215
- // Check if config is available
216
- if (!context.services.config) {
217
- return {
218
- type: 'message',
219
- messageType: 'error',
220
- content: 'No configuration available',
221
- };
222
- }
223
- // Load the profile
224
- const profileManager = new ProfileManager();
225
- const profile = await profileManager.loadProfile(profileName);
226
- // Apply settings in the correct order:
227
- // 1. Set provider first
228
- const providerManager = context.services.config.getProviderManager();
229
- if (providerManager) {
230
- providerManager.setActiveProvider(profile.provider);
231
- // Ensure provider manager is set on config
232
- context.services.config.setProviderManager(providerManager);
233
- // Update the provider in config
234
- context.services.config.setProvider(profile.provider);
235
- }
236
- // 2. Set model second
237
- context.services.config.setModel(profile.model);
238
- // Also set model on the provider
239
- const activeProviderForModel = providerManager?.getActiveProvider();
240
- if (activeProviderForModel && activeProviderForModel.setModel) {
241
- activeProviderForModel.setModel(profile.model);
242
- }
243
- // 3. Clear existing ephemeral settings first
244
- const ephemeralKeys = [
245
- 'auth-key',
246
- 'auth-keyfile',
247
- 'context-limit',
248
- 'compression-threshold',
249
- 'base-url',
250
- 'tool-format',
251
- 'api-version',
252
- 'custom-headers',
253
- 'disabled-tools',
254
- 'socket-timeout',
255
- 'socket-keepalive',
256
- 'socket-nodelay',
257
- 'streaming',
258
- 'retries',
259
- 'retrywait',
260
- 'todo-continuation',
261
- 'shell-replacement',
262
- 'tool-output-max-items',
263
- 'tool-output-max-tokens',
264
- 'tool-output-truncate-mode',
265
- 'tool-output-item-size-limit',
266
- 'max-prompt-tokens',
267
- 'authOnly',
268
- ];
269
- // Clear all known ephemeral settings
270
- for (const key of ephemeralKeys) {
271
- context.services.config.setEphemeralSetting(key, undefined);
272
- }
273
- // Reset compression ephemeral settings
274
- context.services.config.setEphemeralSetting('compression-threshold', undefined);
275
- context.services.config.setEphemeralSetting('context-limit', undefined);
276
- // Clear model parameters on the provider
277
- const activeProvider = providerManager?.getActiveProvider();
278
- if (activeProvider &&
279
- 'setModelParams' in activeProvider &&
280
- activeProvider.setModelParams) {
281
- // Clear all existing model params by passing undefined
282
- activeProvider.setModelParams(undefined);
182
+ const runtime = getRuntimeApi();
183
+ const statusBefore = runtime.getActiveProviderStatus();
184
+ const result = await runtime.loadProfileByName(profileName);
185
+ if (result.providerName) {
186
+ try {
187
+ await runtime.switchActiveProvider(result.providerName);
188
+ logger.debug(() => `[profile] switchActiveProvider invoked for '${result.providerName}'`);
189
+ }
190
+ catch (error) {
191
+ logger.error(() => `[profile] failed to switch provider via runtime API: ${error instanceof Error ? error.message : String(error)}`);
192
+ }
283
193
  }
284
- // 4. Apply ephemeral settings from profile
285
- for (const [key, value] of Object.entries(profile.ephemeralSettings)) {
286
- // Store in ephemeral settings
287
- context.services.config.setEphemeralSetting(key, value);
288
- // Special handling for auth-key, auth-keyfile, and base-url
289
- if (key === 'auth-key' && typeof value === 'string') {
290
- // Directly set API key on the provider without saving to persistent settings
291
- const activeProvider = providerManager?.getActiveProvider();
292
- if (activeProvider && activeProvider.setApiKey) {
293
- activeProvider.setApiKey(value);
194
+ const infoMessages = (result.infoMessages ?? [])
195
+ .map((message) => `\n- ${message}`)
196
+ .join('');
197
+ const warningMessages = (result.warnings ?? [])
198
+ .map((warning) => `\n⚠ ${warning}`)
199
+ .join('');
200
+ const configService = context.services.config;
201
+ if (configService) {
202
+ const providerManager = configService.getProviderManager?.();
203
+ if (providerManager && result.providerName) {
204
+ logger.debug(() => `[profile] forcing config provider manager switch to '${result.providerName}'`);
205
+ try {
206
+ providerManager.setActiveProvider(result.providerName);
207
+ logger.debug(() => {
208
+ let activeName = 'unknown';
209
+ try {
210
+ activeName = providerManager.getActiveProvider().name;
211
+ }
212
+ catch (readError) {
213
+ logger.debug(() => `[profile] unable to read active provider: ${readError instanceof Error ? readError.message : String(readError)}`);
214
+ }
215
+ return `[profile] config manager active provider after switch: ${activeName}`;
216
+ });
294
217
  }
218
+ catch (error) {
219
+ logger.error(() => `[profile] failed to set provider on config manager: ${error instanceof Error ? error.message : String(error)}`);
220
+ }
221
+ configService.setProvider?.(result.providerName);
295
222
  }
296
- else if (key === 'auth-keyfile' && typeof value === 'string') {
297
- // Just store the keyfile path in ephemeral settings
298
- // The AuthPrecedenceResolver will read from the file when needed
299
- // DO NOT read the file and call setApiKey here - that defeats the purpose
300
- }
301
- else if (key === 'base-url' && typeof value === 'string') {
302
- // Directly set base URL on the provider without saving to persistent settings
303
- const activeProvider = providerManager?.getActiveProvider();
304
- if (activeProvider && activeProvider.setBaseUrl) {
305
- // Handle "none" as clearing the base URL
306
- if (value === 'none') {
307
- activeProvider.setBaseUrl(undefined);
308
- }
309
- else {
310
- activeProvider.setBaseUrl(value);
311
- }
223
+ const geminiClient = configService.getGeminiClient?.();
224
+ if (geminiClient && typeof geminiClient.setTools === 'function') {
225
+ try {
226
+ await geminiClient.setTools();
227
+ }
228
+ catch (error) {
229
+ logger.warn(() => `[profile] failed to refresh Gemini tool schema after load: ${error instanceof Error ? error.message : String(error)}`);
312
230
  }
313
231
  }
314
232
  }
315
- // Apply compression settings if they exist in the profile
316
- const contextLimit = profile.ephemeralSettings['context-limit'];
317
- const compressionThreshold = profile.ephemeralSettings['compression-threshold'];
318
- // Apply compression settings via ephemeral settings
319
- // Always set them (even if undefined) to ensure proper reset
320
- context.services.config.setEphemeralSetting('compression-threshold', compressionThreshold);
321
- context.services.config.setEphemeralSetting('context-limit', contextLimit);
322
- // 5. Call provider.setModelParams() with the profile's model params
323
- if (activeProvider &&
324
- 'setModelParams' in activeProvider &&
325
- activeProvider.setModelParams) {
326
- if (profile.modelParams &&
327
- Object.keys(profile.modelParams).length > 0) {
328
- activeProvider.setModelParams(profile.modelParams);
329
- }
233
+ try {
234
+ const status = runtime.getActiveProviderStatus();
235
+ logger.debug(() => `[profile] runtime provider status after load: provider=${status.providerName}, model=${status.modelName}`);
236
+ }
237
+ catch (error) {
238
+ logger.error(() => `[profile] failed to read runtime provider status: ${error instanceof Error ? error.message : String(error)}`);
239
+ }
240
+ const extendedContext = context;
241
+ if (extendedContext.checkPaymentModeChange) {
242
+ setTimeout(() => extendedContext.checkPaymentModeChange?.(statusBefore.providerName ?? undefined), 100);
330
243
  }
331
- // 6. Refresh auth to ensure provider is properly initialized
332
- const currentAuthType = context.services.config.getContentGeneratorConfig()?.authType ||
333
- AuthType.LOGIN_WITH_GOOGLE;
334
- await context.services.config.refreshAuth(currentAuthType);
335
244
  return {
336
245
  type: 'message',
337
246
  messageType: 'info',
338
- content: `Profile '${profileName}' loaded`,
247
+ content: `Profile '${profileName}' loaded${infoMessages}${warningMessages}`,
339
248
  };
340
249
  }
341
250
  catch (error) {
251
+ logger.error(() => `[profile] failed to load '${profileName}': ${error instanceof Error ? (error.stack ?? error.message) : String(error)}`);
342
252
  // Handle specific error messages
343
253
  if (error instanceof Error) {
344
254
  if (error.message.includes('not found')) {
@@ -383,19 +293,7 @@ const deleteCommand = {
383
293
  name: 'delete',
384
294
  description: 'delete a saved profile',
385
295
  kind: CommandKind.BUILT_IN,
386
- completion: async (_context, partialArg) => {
387
- const profileManager = new ProfileManager();
388
- const profiles = await profileManager.listProfiles();
389
- // Filter profiles based on partial argument
390
- if (partialArg) {
391
- // Handle quoted partial arguments
392
- const unquoted = partialArg.startsWith('"')
393
- ? partialArg.slice(1)
394
- : partialArg;
395
- return profiles.filter((profile) => profile.startsWith(unquoted));
396
- }
397
- return profiles;
398
- },
296
+ schema: profileDeleteSchema,
399
297
  action: async (context, args) => {
400
298
  // Parse profile name from args
401
299
  const trimmedArgs = args?.trim();
@@ -426,9 +324,8 @@ const deleteCommand = {
426
324
  };
427
325
  }
428
326
  try {
429
- // Delete the profile
430
- const profileManager = new ProfileManager();
431
- await profileManager.deleteProfile(profileName);
327
+ const runtime = getRuntimeApi();
328
+ await runtime.deleteProfileByName(profileName);
432
329
  return {
433
330
  type: 'message',
434
331
  messageType: 'info',
@@ -466,20 +363,7 @@ const setDefaultCommand = {
466
363
  name: 'set-default',
467
364
  description: 'set a profile to load automatically on startup',
468
365
  kind: CommandKind.BUILT_IN,
469
- completion: async (_context, partialArg) => {
470
- const profileManager = new ProfileManager();
471
- const profiles = await profileManager.listProfiles();
472
- // Add 'none' option to clear default
473
- const options = ['none', ...profiles];
474
- // Filter based on partial argument
475
- if (partialArg) {
476
- const unquoted = partialArg.startsWith('"')
477
- ? partialArg.slice(1)
478
- : partialArg;
479
- return options.filter((option) => option.startsWith(unquoted));
480
- }
481
- return options;
482
- },
366
+ schema: profileSetDefaultSchema,
483
367
  action: async (context, args) => {
484
368
  // Parse profile name from args
485
369
  const trimmedArgs = args?.trim();
@@ -511,6 +395,7 @@ const setDefaultCommand = {
511
395
  }
512
396
  if (profileName.toLowerCase() === 'none') {
513
397
  // Clear the default profile
398
+ getRuntimeApi().setDefaultProfileName(null);
514
399
  context.services.settings.setValue(SettingScope.User, 'defaultProfile', undefined);
515
400
  return {
516
401
  type: 'message',
@@ -519,8 +404,7 @@ const setDefaultCommand = {
519
404
  };
520
405
  }
521
406
  // Verify profile exists
522
- const profileManager = new ProfileManager();
523
- const profiles = await profileManager.listProfiles();
407
+ const profiles = await listProfiles();
524
408
  if (!profiles.includes(profileName)) {
525
409
  return {
526
410
  type: 'message',
@@ -529,6 +413,7 @@ const setDefaultCommand = {
529
413
  };
530
414
  }
531
415
  // Set the default profile
416
+ getRuntimeApi().setDefaultProfileName(profileName);
532
417
  context.services.settings.setValue(SettingScope.User, 'defaultProfile', profileName);
533
418
  return {
534
419
  type: 'message',
@@ -554,8 +439,7 @@ const listCommand = {
554
439
  kind: CommandKind.BUILT_IN,
555
440
  action: async (_context, _args) => {
556
441
  try {
557
- const profileManager = new ProfileManager();
558
- const profiles = await profileManager.listProfiles();
442
+ const profiles = await listProfiles();
559
443
  if (profiles.length === 0) {
560
444
  return {
561
445
  type: 'message',
@@ -1 +1 @@
1
- {"version":3,"file":"profileCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/profileCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profileCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/profileCommand.ts"],"names":[],"mappings":"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"}