@vybestack/llxprt-code 0.1.18-nightly.250807.306d1939 → 0.1.18-nightly.250811.b0db22c6

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 (250) hide show
  1. package/README.md +1 -0
  2. package/dist/package.json +6 -4
  3. package/dist/src/acp/acpPeer.js +72 -64
  4. package/dist/src/acp/acpPeer.js.map +1 -1
  5. package/dist/src/auth/gemini-oauth-provider.d.ts +15 -0
  6. package/dist/src/auth/gemini-oauth-provider.js +33 -0
  7. package/dist/src/auth/gemini-oauth-provider.js.map +1 -0
  8. package/dist/src/auth/oauth-manager.d.ts +103 -0
  9. package/dist/src/auth/oauth-manager.js +326 -0
  10. package/dist/src/auth/oauth-manager.js.map +1 -0
  11. package/dist/src/auth/oauth-manager.spec.d.ts +6 -0
  12. package/dist/src/auth/oauth-manager.spec.js +523 -0
  13. package/dist/src/auth/oauth-manager.spec.js.map +1 -0
  14. package/dist/src/auth/qwen-oauth-provider.d.ts +14 -0
  15. package/dist/src/auth/qwen-oauth-provider.js +75 -0
  16. package/dist/src/auth/qwen-oauth-provider.js.map +1 -0
  17. package/dist/src/auth/types.d.ts +7 -0
  18. package/dist/src/auth/types.js +7 -0
  19. package/dist/src/auth/types.js.map +1 -0
  20. package/dist/src/commands/mcp/add.d.ts +7 -0
  21. package/dist/src/commands/mcp/add.js +155 -0
  22. package/dist/src/commands/mcp/add.js.map +1 -0
  23. package/dist/src/commands/mcp/list.d.ts +8 -0
  24. package/dist/src/commands/mcp/list.js +110 -0
  25. package/dist/src/commands/mcp/list.js.map +1 -0
  26. package/dist/src/commands/mcp/remove.d.ts +7 -0
  27. package/dist/src/commands/mcp/remove.js +44 -0
  28. package/dist/src/commands/mcp/remove.js.map +1 -0
  29. package/dist/src/commands/mcp.d.ts +7 -0
  30. package/dist/src/commands/mcp.js +23 -0
  31. package/dist/src/commands/mcp.js.map +1 -0
  32. package/dist/src/config/auth.js +9 -0
  33. package/dist/src/config/auth.js.map +1 -1
  34. package/dist/src/config/config.js +100 -43
  35. package/dist/src/config/config.js.map +1 -1
  36. package/dist/src/config/keyBindings.d.ts +66 -0
  37. package/dist/src/config/keyBindings.js +136 -0
  38. package/dist/src/config/keyBindings.js.map +1 -0
  39. package/dist/src/config/settings.d.ts +3 -56
  40. package/dist/src/config/settings.js +20 -4
  41. package/dist/src/config/settings.js.map +1 -1
  42. package/dist/src/config/settingsSchema.d.ts +587 -0
  43. package/dist/src/config/settingsSchema.js +565 -0
  44. package/dist/src/config/settingsSchema.js.map +1 -0
  45. package/dist/src/gemini.js +12 -109
  46. package/dist/src/gemini.js.map +1 -1
  47. package/dist/src/generated/git-commit.d.ts +1 -1
  48. package/dist/src/generated/git-commit.js +1 -1
  49. package/dist/src/nonInteractiveCli.js +0 -1
  50. package/dist/src/nonInteractiveCli.js.map +1 -1
  51. package/dist/src/providers/logging/git-stats-service-impl.d.ts +19 -0
  52. package/dist/src/providers/logging/git-stats-service-impl.js +25 -0
  53. package/dist/src/providers/logging/git-stats-service-impl.js.map +1 -0
  54. package/dist/src/providers/logging/git-stats.d.ts +43 -0
  55. package/dist/src/providers/logging/git-stats.js +137 -0
  56. package/dist/src/providers/logging/git-stats.js.map +1 -0
  57. package/dist/src/providers/providerManagerInstance.js +42 -4
  58. package/dist/src/providers/providerManagerInstance.js.map +1 -1
  59. package/dist/src/services/BuiltinCommandLoader.js +4 -0
  60. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  61. package/dist/src/services/todo-continuation/todoContinuationService.d.ts +172 -0
  62. package/dist/src/services/todo-continuation/todoContinuationService.js +387 -0
  63. package/dist/src/services/todo-continuation/todoContinuationService.js.map +1 -0
  64. package/dist/src/services/todo-continuation/todoContinuationService.spec.d.ts +6 -0
  65. package/dist/src/services/todo-continuation/todoContinuationService.spec.js +385 -0
  66. package/dist/src/services/todo-continuation/todoContinuationService.spec.js.map +1 -0
  67. package/dist/src/ui/App.js +123 -37
  68. package/dist/src/ui/App.js.map +1 -1
  69. package/dist/src/ui/IdeIntegrationNudge.d.ts +14 -0
  70. package/dist/src/ui/IdeIntegrationNudge.js +32 -0
  71. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -0
  72. package/dist/src/ui/colors.d.ts +5 -0
  73. package/dist/src/ui/colors.js +51 -0
  74. package/dist/src/ui/colors.js.map +1 -1
  75. package/dist/src/ui/commands/authCommand.d.ts +11 -1
  76. package/dist/src/ui/commands/authCommand.js +143 -48
  77. package/dist/src/ui/commands/authCommand.js.map +1 -1
  78. package/dist/src/ui/commands/chatCommand.js +16 -0
  79. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  80. package/dist/src/ui/commands/diagnosticsCommand.js +9 -1
  81. package/dist/src/ui/commands/diagnosticsCommand.js.map +1 -1
  82. package/dist/src/ui/commands/ideCommand.js +67 -31
  83. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  84. package/dist/src/ui/commands/keyfileCommand.js +15 -12
  85. package/dist/src/ui/commands/keyfileCommand.js.map +1 -1
  86. package/dist/src/ui/commands/loggingCommand.d.ts +15 -0
  87. package/dist/src/ui/commands/loggingCommand.js +421 -0
  88. package/dist/src/ui/commands/loggingCommand.js.map +1 -0
  89. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  90. package/dist/src/ui/commands/privacyCommand.d.ts +3 -0
  91. package/dist/src/ui/commands/privacyCommand.js +6 -3
  92. package/dist/src/ui/commands/privacyCommand.js.map +1 -1
  93. package/dist/src/ui/commands/profileCommand.js +1 -0
  94. package/dist/src/ui/commands/profileCommand.js.map +1 -1
  95. package/dist/src/ui/commands/setCommand.js +2 -0
  96. package/dist/src/ui/commands/setCommand.js.map +1 -1
  97. package/dist/src/ui/commands/settingsCommand.d.ts +7 -0
  98. package/dist/src/ui/commands/settingsCommand.js +16 -0
  99. package/dist/src/ui/commands/settingsCommand.js.map +1 -0
  100. package/dist/src/ui/commands/setupGithubCommand.js +90 -26
  101. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  102. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  103. package/dist/src/ui/commands/types.d.ts +14 -2
  104. package/dist/src/ui/commands/types.js.map +1 -1
  105. package/dist/src/ui/components/AuthDialog.js +13 -56
  106. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  107. package/dist/src/ui/components/AuthInProgress.js +3 -3
  108. package/dist/src/ui/components/AuthInProgress.js.map +1 -1
  109. package/dist/src/ui/components/ContextUsageDisplay.d.ts +10 -0
  110. package/dist/src/ui/components/ContextUsageDisplay.js +27 -0
  111. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
  112. package/dist/src/ui/components/FolderTrustDialog.d.ts +16 -0
  113. package/dist/src/ui/components/FolderTrustDialog.js +38 -0
  114. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
  115. package/dist/src/ui/components/Footer.js +132 -15
  116. package/dist/src/ui/components/Footer.js.map +1 -1
  117. package/dist/src/ui/components/InputPrompt.d.ts +1 -0
  118. package/dist/src/ui/components/InputPrompt.js +87 -31
  119. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  120. package/dist/src/ui/components/LoggingDialog.d.ts +37 -0
  121. package/dist/src/ui/components/LoggingDialog.js +155 -0
  122. package/dist/src/ui/components/LoggingDialog.js.map +1 -0
  123. package/dist/src/ui/components/MemoryUsageDisplay.js +6 -4
  124. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
  125. package/dist/src/ui/components/ProviderDialog.js +100 -26
  126. package/dist/src/ui/components/ProviderDialog.js.map +1 -1
  127. package/dist/src/ui/components/ProviderModelDialog.js +99 -27
  128. package/dist/src/ui/components/ProviderModelDialog.js.map +1 -1
  129. package/dist/src/ui/components/SettingsDialog.d.ts +14 -0
  130. package/dist/src/ui/components/SettingsDialog.js +247 -0
  131. package/dist/src/ui/components/SettingsDialog.js.map +1 -0
  132. package/dist/src/ui/components/ThemeDialog.js +4 -15
  133. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  134. package/dist/src/ui/components/TodoPanel.d.ts +11 -0
  135. package/dist/src/ui/components/TodoPanel.js +206 -0
  136. package/dist/src/ui/components/TodoPanel.js.map +1 -0
  137. package/dist/src/ui/components/ToolsDialog.d.ts +2 -2
  138. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +116 -16
  139. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  140. package/dist/src/ui/components/messages/ToolGroupMessage.js +36 -8
  141. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  142. package/dist/src/ui/components/todo-utils.d.ts +16 -0
  143. package/dist/src/ui/components/todo-utils.js +41 -0
  144. package/dist/src/ui/components/todo-utils.js.map +1 -0
  145. package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
  146. package/dist/src/ui/contexts/SettingsContext.js +15 -0
  147. package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
  148. package/dist/src/ui/contexts/TodoContext.d.ts +15 -0
  149. package/dist/src/ui/contexts/TodoContext.js +18 -0
  150. package/dist/src/ui/contexts/TodoContext.js.map +1 -0
  151. package/dist/src/ui/contexts/TodoProvider.d.ts +7 -0
  152. package/dist/src/ui/contexts/TodoProvider.js +62 -0
  153. package/dist/src/ui/contexts/TodoProvider.js.map +1 -0
  154. package/dist/src/ui/contexts/ToolCallContext.d.ts +19 -0
  155. package/dist/src/ui/contexts/ToolCallContext.js +13 -0
  156. package/dist/src/ui/contexts/ToolCallContext.js.map +1 -0
  157. package/dist/src/ui/contexts/ToolCallProvider.d.ts +12 -0
  158. package/dist/src/ui/contexts/ToolCallProvider.js +62 -0
  159. package/dist/src/ui/contexts/ToolCallProvider.js.map +1 -0
  160. package/dist/src/ui/hooks/atCommandProcessor.js +28 -4
  161. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  162. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +6 -2
  163. package/dist/src/ui/hooks/slashCommandProcessor.js +142 -113
  164. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  165. package/dist/src/ui/hooks/useAtCompletion.d.ts +23 -0
  166. package/dist/src/ui/hooks/useAtCompletion.js +180 -0
  167. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -0
  168. package/dist/src/ui/hooks/useAuthCommand.js +14 -0
  169. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  170. package/dist/src/ui/hooks/useConsoleMessages.js +7 -0
  171. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
  172. package/dist/src/ui/hooks/useFolderTrust.d.ts +11 -0
  173. package/dist/src/ui/hooks/useFolderTrust.js +22 -0
  174. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
  175. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
  176. package/dist/src/ui/hooks/useGeminiStream.js +16 -4
  177. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  178. package/dist/src/ui/hooks/useReactToolScheduler.js +12 -12
  179. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  180. package/dist/src/ui/hooks/useResponsive.d.ts +14 -0
  181. package/dist/src/ui/hooks/useResponsive.js +19 -0
  182. package/dist/src/ui/hooks/useResponsive.js.map +1 -0
  183. package/dist/src/ui/hooks/useSettingsCommand.d.ts +10 -0
  184. package/dist/src/ui/hooks/useSettingsCommand.js +21 -0
  185. package/dist/src/ui/hooks/useSettingsCommand.js.map +1 -0
  186. package/dist/src/ui/hooks/useTodoContinuation.d.ts +31 -0
  187. package/dist/src/ui/hooks/useTodoContinuation.js +148 -0
  188. package/dist/src/ui/hooks/useTodoContinuation.js.map +1 -0
  189. package/dist/src/ui/hooks/useTodoContinuation.spec.d.ts +6 -0
  190. package/dist/src/ui/hooks/useTodoContinuation.spec.js +378 -0
  191. package/dist/src/ui/hooks/useTodoContinuation.spec.js.map +1 -0
  192. package/dist/src/ui/hooks/useToolsDialog.d.ts +2 -2
  193. package/dist/src/ui/hooks/useToolsDialog.js.map +1 -1
  194. package/dist/src/ui/keyMatchers.d.ts +26 -0
  195. package/dist/src/ui/keyMatchers.js +68 -0
  196. package/dist/src/ui/keyMatchers.js.map +1 -0
  197. package/dist/src/ui/privacy/PrivacyNotice.js +10 -4
  198. package/dist/src/ui/privacy/PrivacyNotice.js.map +1 -1
  199. package/dist/src/ui/themes/semantic-resolver.d.ts +12 -0
  200. package/dist/src/ui/themes/semantic-resolver.js +32 -0
  201. package/dist/src/ui/themes/semantic-resolver.js.map +1 -0
  202. package/dist/src/ui/themes/semantic-tokens.d.ts +52 -0
  203. package/dist/src/ui/themes/semantic-tokens.js +7 -0
  204. package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
  205. package/dist/src/ui/themes/theme-compat.d.ts +34 -0
  206. package/dist/src/ui/themes/theme-compat.js +65 -0
  207. package/dist/src/ui/themes/theme-compat.js.map +1 -0
  208. package/dist/src/ui/themes/theme-manager.d.ts +8 -0
  209. package/dist/src/ui/themes/theme-manager.js +18 -0
  210. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  211. package/dist/src/ui/types.d.ts +1 -1
  212. package/dist/src/ui/utils/CodeColorizer.d.ts +2 -1
  213. package/dist/src/ui/utils/CodeColorizer.js +4 -3
  214. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  215. package/dist/src/ui/utils/ConsolePatcher.d.ts +1 -0
  216. package/dist/src/ui/utils/ConsolePatcher.js +3 -0
  217. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  218. package/dist/src/ui/utils/MarkdownDisplay.js +4 -2
  219. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  220. package/dist/src/ui/utils/commandUtils.d.ts +1 -0
  221. package/dist/src/ui/utils/commandUtils.js +22 -1
  222. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  223. package/dist/src/ui/utils/responsive.d.ts +16 -0
  224. package/dist/src/ui/utils/responsive.js +111 -0
  225. package/dist/src/ui/utils/responsive.js.map +1 -0
  226. package/dist/src/utils/cleanup.d.ts +2 -2
  227. package/dist/src/utils/cleanup.js +2 -2
  228. package/dist/src/utils/cleanup.js.map +1 -1
  229. package/dist/src/utils/dialogScopeUtils.d.ts +31 -0
  230. package/dist/src/utils/dialogScopeUtils.js +48 -0
  231. package/dist/src/utils/dialogScopeUtils.js.map +1 -0
  232. package/dist/src/utils/gitUtils.d.ts +21 -1
  233. package/dist/src/utils/gitUtils.js +70 -3
  234. package/dist/src/utils/gitUtils.js.map +1 -1
  235. package/dist/src/utils/privacy/ConversationDataRedactor.d.ts +75 -0
  236. package/dist/src/utils/privacy/ConversationDataRedactor.js +412 -0
  237. package/dist/src/utils/privacy/ConversationDataRedactor.js.map +1 -0
  238. package/dist/src/utils/privacy/PrivacyManager.d.ts +58 -0
  239. package/dist/src/utils/privacy/PrivacyManager.js +133 -0
  240. package/dist/src/utils/privacy/PrivacyManager.js.map +1 -0
  241. package/dist/src/utils/sandbox.js +430 -401
  242. package/dist/src/utils/sandbox.js.map +1 -1
  243. package/dist/src/utils/settingsUtils.d.ts +126 -0
  244. package/dist/src/utils/settingsUtils.js +327 -0
  245. package/dist/src/utils/settingsUtils.js.map +1 -0
  246. package/dist/tsconfig.tsbuildinfo +1 -1
  247. package/package.json +6 -4
  248. package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
  249. package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -17
  250. package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
package/README.md CHANGED
@@ -266,6 +266,7 @@ Learn more in the [Prompt Configuration Guide](./docs/prompt-configuration.md).
266
266
  - Explore the available **[CLI Commands](./docs/cli/commands.md)**.
267
267
  - If you encounter any issues, review the **[troubleshooting guide](./docs/troubleshooting.md)**.
268
268
  - For more comprehensive documentation, see the [full documentation](./docs/index.md).
269
+ - **Migrating from Gemini CLI?** Check out our [tips for Gemini CLI users](./docs/gemini-cli-tips.md).
269
270
  - Take a look at some [popular tasks](#popular-tasks) for more inspiration.
270
271
  - Check out our **[Official Roadmap](./ROADMAP.md)**
271
272
 
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vybestack/llxprt-code",
3
- "version": "0.1.18-nightly.250807.306d1939",
3
+ "version": "0.1.18-nightly.250811.b0db22c6",
4
4
  "description": "LLxprt Code",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,15 +33,16 @@
33
33
  "dist"
34
34
  ],
35
35
  "config": {
36
- "sandboxImageUri": "ghcr.io/acoliver/llxprt-code/sandbox:0.1.18-nightly.250807.306d1939"
36
+ "sandboxImageUri": "ghcr.io/acoliver/llxprt-code/sandbox:0.1.18-nightly.250811.b0db22c6"
37
37
  },
38
38
  "dependencies": {
39
39
  "@anthropic-ai/sdk": "^0.55.1",
40
40
  "@dqbd/tiktoken": "^1.0.21",
41
41
  "@google/genai": "1.9.0",
42
42
  "@iarna/toml": "^2.2.5",
43
+ "@modelcontextprotocol/sdk": "^1.15.1",
43
44
  "@types/update-notifier": "^6.0.8",
44
- "@vybestack/llxprt-code-core": "0.1.18-nightly.250807.306d1939",
45
+ "@vybestack/llxprt-code-core": "0.1.18-nightly.250811.b0db22c6",
45
46
  "chalk": "^5.3.0",
46
47
  "command-exists": "^1.2.9",
47
48
  "diff": "^7.0.0",
@@ -64,13 +65,13 @@
64
65
  "string-width": "^7.1.0",
65
66
  "strip-ansi": "^7.1.0",
66
67
  "strip-json-comments": "^3.1.1",
68
+ "undici": "^7.10.0",
67
69
  "update-notifier": "^7.3.1",
68
70
  "yargs": "^17.7.2",
69
71
  "zod": "^3.23.8"
70
72
  },
71
73
  "devDependencies": {
72
74
  "@babel/runtime": "^7.27.6",
73
- "@google/gemini-cli-test-utils": "file:../test-utils",
74
75
  "@testing-library/dom": "^10.4.0",
75
76
  "@testing-library/react": "^16.3.0",
76
77
  "@types/command-exists": "^1.2.3",
@@ -82,6 +83,7 @@
82
83
  "@types/semver": "^7.7.0",
83
84
  "@types/shell-quote": "^1.7.5",
84
85
  "@types/yargs": "^17.0.33",
86
+ "@vybestack/llxprt-code-test-utils": "file:../test-utils",
85
87
  "dom-accessibility-api": "^0.5.16",
86
88
  "ink-testing-library": "^4.0.0",
87
89
  "jsdom": "^26.1.0",
@@ -167,53 +167,54 @@ class GeminiAgent {
167
167
  if (!tool) {
168
168
  return errorResponse(new Error(`Tool "${fc.name}" not found in registry.`));
169
169
  }
170
- let toolCallId;
171
- const confirmationDetails = await tool.shouldConfirmExecute(args, abortSignal);
172
- if (confirmationDetails) {
173
- let content = null;
174
- if (confirmationDetails.type === 'edit') {
175
- content = {
176
- type: 'diff',
177
- path: confirmationDetails.fileName,
178
- oldText: confirmationDetails.originalContent,
179
- newText: confirmationDetails.newContent,
180
- };
181
- }
182
- const result = await this.client.requestToolCallConfirmation({
183
- label: tool.getDescription(args),
184
- icon: tool.icon,
185
- content,
186
- confirmation: toAcpToolCallConfirmation(confirmationDetails),
187
- locations: tool.toolLocations(args),
188
- });
189
- await confirmationDetails.onConfirm(toToolCallOutcome(result.outcome));
190
- switch (result.outcome) {
191
- case 'reject':
192
- return errorResponse(new Error(`Tool "${fc.name}" not allowed to run by the user.`));
193
- case 'cancel':
194
- return errorResponse(new Error(`Tool "${fc.name}" was canceled by the user.`));
195
- case 'allow':
196
- case 'alwaysAllow':
197
- case 'alwaysAllowMcpServer':
198
- case 'alwaysAllowTool':
199
- break;
200
- default: {
201
- const resultOutcome = result.outcome;
202
- throw new Error(`Unexpected: ${resultOutcome}`);
170
+ let toolCallId = undefined;
171
+ try {
172
+ const invocation = tool.build(args);
173
+ const confirmationDetails = await invocation.shouldConfirmExecute(abortSignal);
174
+ if (confirmationDetails) {
175
+ let content = null;
176
+ if (confirmationDetails.type === 'edit') {
177
+ content = {
178
+ type: 'diff',
179
+ path: confirmationDetails.fileName,
180
+ oldText: confirmationDetails.originalContent,
181
+ newText: confirmationDetails.newContent,
182
+ };
183
+ }
184
+ const result = await this.client.requestToolCallConfirmation({
185
+ label: invocation.getDescription(),
186
+ icon: tool.icon,
187
+ content,
188
+ confirmation: toAcpToolCallConfirmation(confirmationDetails),
189
+ locations: invocation.toolLocations(),
190
+ });
191
+ await confirmationDetails.onConfirm(toToolCallOutcome(result.outcome));
192
+ switch (result.outcome) {
193
+ case 'reject':
194
+ return errorResponse(new Error(`Tool "${fc.name}" not allowed to run by the user.`));
195
+ case 'cancel':
196
+ return errorResponse(new Error(`Tool "${fc.name}" was canceled by the user.`));
197
+ case 'allow':
198
+ case 'alwaysAllow':
199
+ case 'alwaysAllowMcpServer':
200
+ case 'alwaysAllowTool':
201
+ break;
202
+ default: {
203
+ const resultOutcome = result.outcome;
204
+ throw new Error(`Unexpected: ${resultOutcome}`);
205
+ }
203
206
  }
207
+ toolCallId = result.id;
204
208
  }
205
- toolCallId = result.id;
206
- }
207
- else {
208
- const result = await this.client.pushToolCall({
209
- icon: tool.icon,
210
- label: tool.getDescription(args),
211
- locations: tool.toolLocations(args),
212
- });
213
- toolCallId = result.id;
214
- }
215
- try {
216
- const toolResult = await tool.execute(args, abortSignal);
209
+ else {
210
+ const result = await this.client.pushToolCall({
211
+ icon: tool.icon,
212
+ label: invocation.getDescription(),
213
+ locations: invocation.toolLocations(),
214
+ });
215
+ toolCallId = result.id;
216
+ }
217
+ const toolResult = await invocation.execute(abortSignal);
217
218
  const toolCallContent = toToolCallContent(toolResult);
218
219
  await this.client.updateToolCall({
219
220
  toolCallId,
@@ -234,11 +235,13 @@ class GeminiAgent {
234
235
  }
235
236
  catch (e) {
236
237
  const error = e instanceof Error ? e : new Error(String(e));
237
- await this.client.updateToolCall({
238
- toolCallId,
239
- status: 'error',
240
- content: { type: 'markdown', markdown: error.message },
241
- });
238
+ if (toolCallId) {
239
+ await this.client.updateToolCall({
240
+ toolCallId,
241
+ status: 'error',
242
+ content: { type: 'markdown', markdown: error.message },
243
+ });
244
+ }
242
245
  return errorResponse(error);
243
246
  }
244
247
  }
@@ -304,7 +307,7 @@ class GeminiAgent {
304
307
  if (this.config.getEnableRecursiveFileSearch() && globTool) {
305
308
  this.#debug(`Path ${pathName} not found directly, attempting glob search.`);
306
309
  try {
307
- const globResult = await globTool.execute({
310
+ const globResult = await globTool.buildAndExecute({
308
311
  pattern: `**/*${pathName}*`,
309
312
  path: this.config.getTargetDir(),
310
313
  }, abortSignal);
@@ -398,12 +401,15 @@ class GeminiAgent {
398
401
  paths: pathSpecsToRead,
399
402
  respectGitIgnore, // Use configuration setting
400
403
  };
401
- const toolCall = await this.client.pushToolCall({
402
- icon: readManyFilesTool.icon,
403
- label: readManyFilesTool.getDescription(toolArgs),
404
- });
404
+ let toolCallId = undefined;
405
405
  try {
406
- const result = await readManyFilesTool.execute(toolArgs, abortSignal);
406
+ const invocation = readManyFilesTool.build(toolArgs);
407
+ const toolCall = await this.client.pushToolCall({
408
+ icon: readManyFilesTool.icon,
409
+ label: invocation.getDescription(),
410
+ });
411
+ toolCallId = toolCall.id;
412
+ const result = await invocation.execute(abortSignal);
407
413
  const content = toToolCallContent(result) || {
408
414
  type: 'markdown',
409
415
  markdown: `Successfully read: ${contentLabelsForDisplay.join(', ')}`,
@@ -446,14 +452,16 @@ class GeminiAgent {
446
452
  return processedQueryParts;
447
453
  }
448
454
  catch (error) {
449
- await this.client.updateToolCall({
450
- toolCallId: toolCall.id,
451
- status: 'error',
452
- content: {
453
- type: 'markdown',
454
- markdown: `Error reading files (${contentLabelsForDisplay.join(', ')}): ${getErrorMessage(error)}`,
455
- },
456
- });
455
+ if (toolCallId) {
456
+ await this.client.updateToolCall({
457
+ toolCallId,
458
+ status: 'error',
459
+ content: {
460
+ type: 'markdown',
461
+ markdown: `Error reading files (${contentLabelsForDisplay.join(', ')}): ${getErrorMessage(error)}`,
462
+ },
463
+ });
464
+ }
457
465
  throw error;
458
466
  }
459
467
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acpPeer.js","sourceRoot":"","sources":["../../../src/acp/acpPeer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acpPeer.js","sourceRoot":"","sources":["../../../src/acp/acpPeer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Gemini OAuth Provider Implementation
3
+ *
4
+ * Note: This is a placeholder that signals to use the existing Gemini OAuth flow.
5
+ * The actual OAuth is handled by the GeminiProvider itself using LOGIN_WITH_GOOGLE.
6
+ */
7
+ import { OAuthProvider } from './oauth-manager.js';
8
+ import { OAuthToken } from '@vybestack/llxprt-code-core';
9
+ export declare class GeminiOAuthProvider implements OAuthProvider {
10
+ name: string;
11
+ private currentToken;
12
+ initiateAuth(): Promise<void>;
13
+ getToken(): Promise<OAuthToken | null>;
14
+ refreshIfNeeded(): Promise<OAuthToken | null>;
15
+ }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Gemini OAuth Provider Implementation
3
+ *
4
+ * Note: This is a placeholder that signals to use the existing Gemini OAuth flow.
5
+ * The actual OAuth is handled by the GeminiProvider itself using LOGIN_WITH_GOOGLE.
6
+ */
7
+ export class GeminiOAuthProvider {
8
+ name = 'gemini';
9
+ currentToken = null;
10
+ async initiateAuth() {
11
+ // Signal that the existing LOGIN_WITH_GOOGLE flow should be used
12
+ // The GeminiProvider will handle this through its own OAuth mechanism
13
+ throw new Error('USE_EXISTING_GEMINI_OAUTH');
14
+ }
15
+ async getToken() {
16
+ return this.currentToken;
17
+ }
18
+ async refreshIfNeeded() {
19
+ if (!this.currentToken) {
20
+ return null;
21
+ }
22
+ // Check if token needs refresh (30 second buffer)
23
+ const now = Date.now() / 1000;
24
+ const expiresAt = this.currentToken.expiry;
25
+ if (expiresAt && expiresAt - now < 30) {
26
+ // Token expires soon, refresh it
27
+ // TODO: Implement Gemini token refresh
28
+ console.log('Gemini token refresh needed');
29
+ }
30
+ return this.currentToken;
31
+ }
32
+ }
33
+ //# sourceMappingURL=gemini-oauth-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-oauth-provider.js","sourceRoot":"","sources":["../../../src/auth/gemini-oauth-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,OAAO,mBAAmB;IAC9B,IAAI,GAAG,QAAQ,CAAC;IACR,YAAY,GAAsB,IAAI,CAAC;IAE/C,KAAK,CAAC,YAAY;QAChB,iEAAiE;QACjE,sEAAsE;QACtE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kDAAkD;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAE3C,IAAI,SAAS,IAAI,SAAS,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC;YACtC,iCAAiC;YACjC,uCAAuC;YACvC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { OAuthToken, AuthStatus, TokenStore } from './types.js';
7
+ import { LoadedSettings } from '../config/settings.js';
8
+ /**
9
+ * Interface for OAuth provider abstraction
10
+ * Each provider (e.g., Google, Qwen) implements this interface
11
+ */
12
+ export interface OAuthProvider {
13
+ /** Provider name (e.g., 'gemini', 'qwen') */
14
+ name: string;
15
+ /**
16
+ * Initiate OAuth authentication flow
17
+ * This starts the device flow or opens browser for auth
18
+ */
19
+ initiateAuth(): Promise<void>;
20
+ /**
21
+ * Get current OAuth token for this provider
22
+ * @returns OAuth token if available, null otherwise
23
+ */
24
+ getToken(): Promise<OAuthToken | null>;
25
+ /**
26
+ * Refresh token if it's expired or about to expire
27
+ * @returns Refreshed token or null if refresh failed
28
+ */
29
+ refreshIfNeeded(): Promise<OAuthToken | null>;
30
+ }
31
+ /**
32
+ * OAuth Manager coordinates multiple OAuth providers
33
+ * Provides unified interface for authentication across providers
34
+ */
35
+ export declare class OAuthManager {
36
+ private providers;
37
+ private tokenStore;
38
+ private settings?;
39
+ constructor(tokenStore: TokenStore, settings?: LoadedSettings);
40
+ /**
41
+ * Register an OAuth provider with the manager
42
+ * @param provider - The OAuth provider to register
43
+ */
44
+ registerProvider(provider: OAuthProvider): void;
45
+ /**
46
+ * Authenticate with a specific provider
47
+ * @param providerName - Name of the provider to authenticate with
48
+ */
49
+ authenticate(providerName: string): Promise<void>;
50
+ /**
51
+ * Get authentication status for all registered providers
52
+ * @returns Array of authentication status for each provider
53
+ */
54
+ getAuthStatus(): Promise<AuthStatus[]>;
55
+ /**
56
+ * Check if authenticated with a specific provider (required by precedence resolver)
57
+ * @param providerName - Name of the provider
58
+ * @returns True if authenticated, false otherwise
59
+ */
60
+ isAuthenticated(providerName: string): Promise<boolean>;
61
+ /**
62
+ * Get OAuth token for a specific provider
63
+ * Compatible with precedence resolver - returns access token string
64
+ * @param providerName - Name of the provider
65
+ * @returns Access token string if available, null otherwise
66
+ */
67
+ getToken(providerName: string): Promise<string | null>;
68
+ /**
69
+ * Get OAuth token object for a specific provider
70
+ * @param providerName - Name of the provider
71
+ * @returns OAuth token if available, null otherwise
72
+ */
73
+ getOAuthToken(providerName: string): Promise<OAuthToken | null>;
74
+ /**
75
+ * Get list of all registered provider names
76
+ * @returns Array of provider names
77
+ */
78
+ getSupportedProviders(): string[];
79
+ /**
80
+ * Toggle OAuth enablement for a provider
81
+ * @param providerName - Name of the provider
82
+ * @returns New enablement state (true if enabled, false if disabled)
83
+ */
84
+ toggleOAuthEnabled(providerName: string): Promise<boolean>;
85
+ /**
86
+ * Check if OAuth is enabled for a provider
87
+ * @param providerName - Name of the provider
88
+ * @returns True if OAuth is enabled, false otherwise
89
+ */
90
+ isOAuthEnabled(providerName: string): boolean;
91
+ /**
92
+ * Check for higher priority authentication methods
93
+ * @param providerName - Name of the provider to check
94
+ * @returns String describing higher priority auth method, null if none
95
+ */
96
+ getHigherPriorityAuth(providerName: string): Promise<string | null>;
97
+ /**
98
+ * Check if a URL is compatible with Qwen OAuth
99
+ * @param url - The base URL to check
100
+ * @returns True if compatible, false otherwise
101
+ */
102
+ private isQwenCompatibleUrl;
103
+ }