@vybestack/llxprt-code 0.4.8 → 0.5.0-nightly.251102.f115237d

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 (265) 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/authCommand.js +7 -9
  116. package/dist/src/ui/commands/authCommand.js.map +1 -1
  117. package/dist/src/ui/commands/baseurlCommand.js +8 -44
  118. package/dist/src/ui/commands/baseurlCommand.js.map +1 -1
  119. package/dist/src/ui/commands/chatCommand.js +28 -12
  120. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  121. package/dist/src/ui/commands/diagnosticsCommand.d.ts +0 -3
  122. package/dist/src/ui/commands/diagnosticsCommand.js +40 -191
  123. package/dist/src/ui/commands/diagnosticsCommand.js.map +1 -1
  124. package/dist/src/ui/commands/keyCommand.js +9 -58
  125. package/dist/src/ui/commands/keyCommand.js.map +1 -1
  126. package/dist/src/ui/commands/keyCommand.test.js +48 -102
  127. package/dist/src/ui/commands/keyCommand.test.js.map +1 -1
  128. package/dist/src/ui/commands/keyfileCommand.js +42 -93
  129. package/dist/src/ui/commands/keyfileCommand.js.map +1 -1
  130. package/dist/src/ui/commands/logoutCommand.js +2 -2
  131. package/dist/src/ui/commands/logoutCommand.js.map +1 -1
  132. package/dist/src/ui/commands/mcpCommand.js +29 -7
  133. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  134. package/dist/src/ui/commands/modelCommand.js +8 -59
  135. package/dist/src/ui/commands/modelCommand.js.map +1 -1
  136. package/dist/src/ui/commands/profileCommand.js +151 -267
  137. package/dist/src/ui/commands/profileCommand.js.map +1 -1
  138. package/dist/src/ui/commands/profileCommand.test.js +88 -344
  139. package/dist/src/ui/commands/profileCommand.test.js.map +1 -1
  140. package/dist/src/ui/commands/providerCommand.js +9 -3
  141. package/dist/src/ui/commands/providerCommand.js.map +1 -1
  142. package/dist/src/ui/commands/restoreCommand.js +38 -18
  143. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  144. package/dist/src/ui/commands/schema/argumentResolver.test.d.ts +6 -0
  145. package/dist/src/ui/commands/schema/argumentResolver.test.js +619 -0
  146. package/dist/src/ui/commands/schema/argumentResolver.test.js.map +1 -0
  147. package/dist/src/ui/commands/schema/index.d.ts +15 -0
  148. package/dist/src/ui/commands/schema/index.js +320 -0
  149. package/dist/src/ui/commands/schema/index.js.map +1 -0
  150. package/dist/src/ui/commands/schema/types.d.ts +61 -0
  151. package/dist/src/ui/commands/schema/types.js +12 -0
  152. package/dist/src/ui/commands/schema/types.js.map +1 -0
  153. package/dist/src/ui/commands/setCommand.js +641 -325
  154. package/dist/src/ui/commands/setCommand.js.map +1 -1
  155. package/dist/src/ui/commands/setCommand.test.js +92 -388
  156. package/dist/src/ui/commands/setCommand.test.js.map +1 -1
  157. package/dist/src/ui/commands/statusCommand.js +2 -2
  158. package/dist/src/ui/commands/statusCommand.js.map +1 -1
  159. package/dist/src/ui/commands/subagentCommand.d.ts +16 -0
  160. package/dist/src/ui/commands/subagentCommand.js +656 -0
  161. package/dist/src/ui/commands/subagentCommand.js.map +1 -0
  162. package/dist/src/ui/commands/test/setCommand.mutation.test.d.ts +6 -0
  163. package/dist/src/ui/commands/test/setCommand.mutation.test.js +132 -0
  164. package/dist/src/ui/commands/test/setCommand.mutation.test.js.map +1 -0
  165. package/dist/src/ui/commands/test/setCommand.phase09.test.d.ts +6 -0
  166. package/dist/src/ui/commands/test/setCommand.phase09.test.js +222 -0
  167. package/dist/src/ui/commands/test/setCommand.phase09.test.js.map +1 -0
  168. package/dist/src/ui/commands/test/subagentCommand.schema.test.d.ts +6 -0
  169. package/dist/src/ui/commands/test/subagentCommand.schema.test.js +125 -0
  170. package/dist/src/ui/commands/test/subagentCommand.schema.test.js.map +1 -0
  171. package/dist/src/ui/commands/test/subagentCommand.test.d.ts +1 -0
  172. package/dist/src/ui/commands/test/subagentCommand.test.js +589 -0
  173. package/dist/src/ui/commands/test/subagentCommand.test.js.map +1 -0
  174. package/dist/src/ui/commands/toolformatCommand.js +25 -98
  175. package/dist/src/ui/commands/toolformatCommand.js.map +1 -1
  176. package/dist/src/ui/commands/toolformatCommand.test.js +56 -102
  177. package/dist/src/ui/commands/toolformatCommand.test.js.map +1 -1
  178. package/dist/src/ui/commands/toolsCommand.js +187 -31
  179. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  180. package/dist/src/ui/commands/types.d.ts +11 -2
  181. package/dist/src/ui/commands/types.js.map +1 -1
  182. package/dist/src/ui/components/AuthDialog.js +16 -55
  183. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  184. package/dist/src/ui/components/Footer.js +4 -5
  185. package/dist/src/ui/components/Footer.js.map +1 -1
  186. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  187. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  188. package/dist/src/ui/components/InputPrompt.js +1 -1
  189. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  190. package/dist/src/ui/components/StatsDisplay.js +6 -11
  191. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  192. package/dist/src/ui/components/SuggestionsDisplay.d.ts +13 -1
  193. package/dist/src/ui/components/SuggestionsDisplay.js +22 -3
  194. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  195. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +1 -0
  196. package/dist/src/ui/components/messages/ToolGroupMessage.js +14 -14
  197. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  198. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +1 -0
  199. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  200. package/dist/src/ui/containers/SessionController.js +61 -117
  201. package/dist/src/ui/containers/SessionController.js.map +1 -1
  202. package/dist/src/ui/contexts/RuntimeContext.d.ts +61 -0
  203. package/dist/src/ui/contexts/RuntimeContext.js +118 -0
  204. package/dist/src/ui/contexts/RuntimeContext.js.map +1 -0
  205. package/dist/src/ui/contexts/TodoProvider.d.ts +1 -0
  206. package/dist/src/ui/contexts/TodoProvider.js +10 -8
  207. package/dist/src/ui/contexts/TodoProvider.js.map +1 -1
  208. package/dist/src/ui/contexts/ToolCallProvider.d.ts +1 -0
  209. package/dist/src/ui/contexts/ToolCallProvider.js +10 -9
  210. package/dist/src/ui/contexts/ToolCallProvider.js.map +1 -1
  211. package/dist/src/ui/hooks/__tests__/useSlashCompletion.set.phase09.test.d.ts +6 -0
  212. package/dist/src/ui/hooks/__tests__/useSlashCompletion.set.phase09.test.js +39 -0
  213. package/dist/src/ui/hooks/__tests__/useSlashCompletion.set.phase09.test.js.map +1 -0
  214. package/dist/src/ui/hooks/atCommandProcessor.js +11 -3
  215. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  216. package/dist/src/ui/hooks/atCommandProcessor.test.js +3 -1
  217. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  218. package/dist/src/ui/hooks/shellCommandProcessor.js +4 -1
  219. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  220. package/dist/src/ui/hooks/shellCommandProcessor.test.js +1 -0
  221. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
  222. package/dist/src/ui/hooks/slashCommandProcessor.js +27 -1
  223. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  224. package/dist/src/ui/hooks/useAuthCommand.js +11 -3
  225. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  226. package/dist/src/ui/hooks/useCommandCompletion.d.ts +1 -0
  227. package/dist/src/ui/hooks/useCommandCompletion.js +2 -0
  228. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  229. package/dist/src/ui/hooks/useGeminiStream.js +37 -11
  230. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  231. package/dist/src/ui/hooks/useGeminiStream.subagent.spec.d.ts +6 -0
  232. package/dist/src/ui/hooks/useGeminiStream.subagent.spec.js +232 -0
  233. package/dist/src/ui/hooks/useGeminiStream.subagent.spec.js.map +1 -0
  234. package/dist/src/ui/hooks/useLoadProfileDialog.d.ts +1 -1
  235. package/dist/src/ui/hooks/useLoadProfileDialog.js +18 -57
  236. package/dist/src/ui/hooks/useLoadProfileDialog.js.map +1 -1
  237. package/dist/src/ui/hooks/useOpenAIProviderInfo.d.ts +1 -1
  238. package/dist/src/ui/hooks/useOpenAIProviderInfo.js +12 -7
  239. package/dist/src/ui/hooks/useOpenAIProviderInfo.js.map +1 -1
  240. package/dist/src/ui/hooks/useProviderDialog.d.ts +1 -1
  241. package/dist/src/ui/hooks/useProviderDialog.js +17 -90
  242. package/dist/src/ui/hooks/useProviderDialog.js.map +1 -1
  243. package/dist/src/ui/hooks/useProviderModelDialog.d.ts +2 -2
  244. package/dist/src/ui/hooks/useProviderModelDialog.js +11 -12
  245. package/dist/src/ui/hooks/useProviderModelDialog.js.map +1 -1
  246. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +3 -1
  247. package/dist/src/ui/hooks/useReactToolScheduler.js +144 -34
  248. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  249. package/dist/src/ui/hooks/useSlashCompletion.d.ts +32 -0
  250. package/dist/src/ui/hooks/useSlashCompletion.js +154 -77
  251. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  252. package/dist/src/ui/hooks/useSlashCompletion.test.js +39 -14
  253. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  254. package/dist/src/ui/hooks/useToolScheduler.test.js +108 -79
  255. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  256. package/dist/src/ui/types.d.ts +1 -0
  257. package/dist/src/ui/types.js.map +1 -1
  258. package/dist/src/validateNonInterActiveAuth.js +4 -2
  259. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  260. package/dist/src/zed-integration/schema.d.ts +30 -30
  261. package/dist/src/zed-integration/zedIntegration.js +112 -39
  262. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  263. package/dist/tsconfig.build.tsbuildinfo +1 -0
  264. package/package.json +5 -3
  265. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,656 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /* @jsxImportSource react */
7
+ import React from 'react';
8
+ import { Text } from 'ink';
9
+ import { CommandKind, } from './types.js';
10
+ import { Colors } from '../colors.js';
11
+ import { FunctionCallingConfigMode } from '@google/genai';
12
+ import { spawnSync } from 'child_process';
13
+ import * as fs from 'fs';
14
+ import * as os from 'os';
15
+ import * as path from 'path';
16
+ /**
17
+ * Parse save command arguments
18
+ * @plan:PLAN-20250117-SUBAGENTCONFIG.P12
19
+ * @requirement:REQ-004
20
+ * @requirement:REQ-011
21
+ * @pseudocode SubagentCommand.md lines 1-17
22
+ */
23
+ function parseSaveArgs(args) {
24
+ const match = args.match(/^(\S+)\s+(\S+)\s+(auto|manual)\s+"((?:[^"\\]|\\.)*)("|"?)/);
25
+ if (!match) {
26
+ return null;
27
+ }
28
+ const [, name, profile, mode, input] = match;
29
+ return { name, profile, mode: mode, input };
30
+ }
31
+ /**
32
+ * Handle manual mode subagent save
33
+ * @plan:PLAN-20250117-SUBAGENTCONFIG.P12
34
+ * @requirement:REQ-004
35
+ * @pseudocode SubagentCommand.md lines 61-66
36
+ */
37
+ const handleManualMode = async (context, name, profile, systemPrompt, options) => {
38
+ const existed = options?.existed ?? false;
39
+ return saveSubagent(context, name, profile, systemPrompt, existed);
40
+ };
41
+ /**
42
+ * Shared save subagent logic
43
+ * @plan:PLAN-20250117-SUBAGENTCONFIG.P08
44
+ * @requirement:REQ-002
45
+ * @requirement:REQ-004
46
+ * @requirement:REQ-014
47
+ * @pseudocode SubagentCommand.md lines 67-93
48
+ */
49
+ async function saveSubagent(context, name, profile, systemPrompt, existed) {
50
+ const manager = context.services.subagentManager;
51
+ if (!manager) {
52
+ return {
53
+ type: 'message',
54
+ messageType: 'error',
55
+ content: 'Service not available. Run system integration (Phase 15).',
56
+ };
57
+ }
58
+ try {
59
+ await manager.saveSubagent(name, profile, systemPrompt);
60
+ const status = existed ? 'updated' : 'created';
61
+ return {
62
+ type: 'message',
63
+ messageType: 'info',
64
+ content: `Subagent '${name}' ${status} successfully with profile '${profile}'.`,
65
+ };
66
+ }
67
+ catch (error) {
68
+ return {
69
+ type: 'message',
70
+ messageType: 'error',
71
+ content: error instanceof Error
72
+ ? `Failed to save subagent: ${error.message}`
73
+ : 'Failed to save subagent due to an unknown error.',
74
+ };
75
+ }
76
+ }
77
+ /**
78
+ * @plan:PLAN-20251013-AUTOCOMPLETE.P08
79
+ * @requirement:REQ-002
80
+ * @requirement:REQ-003
81
+ * @requirement:REQ-004
82
+ * @pseudocode ArgumentSchema.md lines 91-104
83
+ * Schema definition for subagent command completion
84
+ */
85
+ const subagentSchema = [
86
+ {
87
+ kind: 'value',
88
+ name: 'name',
89
+ description: 'Enter subagent name',
90
+ completer: async (ctx, partialArg) => {
91
+ const manager = ctx.services.subagentManager;
92
+ if (!manager) {
93
+ return [];
94
+ }
95
+ const names = await manager.listSubagents();
96
+ const normalizedPartial = partialArg.toLowerCase();
97
+ const matchingNames = names.filter((name) => normalizedPartial.length === 0
98
+ ? true
99
+ : name.toLowerCase().startsWith(normalizedPartial));
100
+ const suggestions = await Promise.all(matchingNames.map(async (name) => {
101
+ try {
102
+ const details = await manager.loadSubagent(name);
103
+ return {
104
+ value: name,
105
+ description: `Profile: ${details.profile}`,
106
+ };
107
+ }
108
+ catch {
109
+ return {
110
+ value: name,
111
+ description: 'Subagent',
112
+ };
113
+ }
114
+ }));
115
+ return suggestions;
116
+ },
117
+ },
118
+ {
119
+ kind: 'value',
120
+ name: 'profile',
121
+ description: 'Select profile configuration',
122
+ completer: async (ctx, partialArg) => {
123
+ const profileManager = ctx.services.profileManager;
124
+ if (!profileManager ||
125
+ typeof profileManager.listProfiles !== 'function') {
126
+ return [];
127
+ }
128
+ try {
129
+ const profiles = await profileManager.listProfiles();
130
+ const normalizedPartial = partialArg.toLowerCase();
131
+ const filtered = profiles.filter((name) => normalizedPartial.length === 0
132
+ ? true
133
+ : name.toLowerCase().startsWith(normalizedPartial));
134
+ return filtered.map((name) => ({
135
+ value: name,
136
+ description: 'Saved profile',
137
+ }));
138
+ }
139
+ catch (error) {
140
+ console.warn('Error loading profiles for subagent completion:', error);
141
+ return [];
142
+ }
143
+ },
144
+ },
145
+ {
146
+ kind: 'literal',
147
+ value: 'auto',
148
+ description: 'Automatic mode',
149
+ next: [
150
+ {
151
+ kind: 'value',
152
+ name: 'prompt',
153
+ description: 'Enter system prompt for automatic mode',
154
+ },
155
+ ],
156
+ },
157
+ {
158
+ kind: 'literal',
159
+ value: 'manual',
160
+ description: 'Manual mode',
161
+ next: [
162
+ {
163
+ kind: 'value',
164
+ name: 'prompt',
165
+ description: 'Enter system prompt for manual mode',
166
+ },
167
+ ],
168
+ },
169
+ ];
170
+ /**
171
+ * /subagent save command - Auto and Manual modes
172
+ *
173
+ * @plan:PLAN-20250117-SUBAGENTCONFIG.P14
174
+ * @requirement:REQ-003
175
+ * @requirement:REQ-004
176
+ * @requirement:REQ-014
177
+ * @requirement:REQ-015
178
+ * @pseudocode SubagentCommand.md lines 1-90
179
+ */
180
+ const saveCommand = {
181
+ name: 'save',
182
+ altNames: ['create'],
183
+ description: 'Save a subagent configuration (auto or manual mode)',
184
+ kind: CommandKind.BUILT_IN,
185
+ // Schema-based completion replaces legacy completion function
186
+ schema: subagentSchema,
187
+ action: async (context, args) => {
188
+ // Parse arguments: <name> <profile> <mode> "<text>"
189
+ const parsedArgs = parseSaveArgs(args);
190
+ if (!parsedArgs) {
191
+ return {
192
+ type: 'message',
193
+ messageType: 'error',
194
+ content: 'Usage: /subagent save <name> <profile> auto|manual "<text>"',
195
+ };
196
+ }
197
+ const { name, profile, mode, input } = parsedArgs;
198
+ const { services, overwriteConfirmed, invocation } = context;
199
+ const subagentManager = services.subagentManager; // @plan:PLAN-20250117-SUBAGENTCONFIG.P14 @requirement:REQ-003
200
+ if (!subagentManager) {
201
+ return {
202
+ type: 'message',
203
+ messageType: 'error',
204
+ content: 'SubagentManager service is unavailable. Please run integration (Phase 15) before using /subagent.',
205
+ };
206
+ }
207
+ // Validate profile exists (pseudocode lines 263-281 cover this)
208
+ const profileExists = await subagentManager.validateProfileReference(profile);
209
+ if (!profileExists) {
210
+ return {
211
+ type: 'message',
212
+ messageType: 'error',
213
+ content: `Profile '${profile}' not found. Use '/profile list' to see available profiles.`,
214
+ };
215
+ }
216
+ // Check if exists for overwrite confirmation
217
+ const exists = await subagentManager.subagentExists(name);
218
+ if (exists && !overwriteConfirmed) {
219
+ return {
220
+ type: 'confirm_action',
221
+ prompt: React.createElement(Text, null, 'A subagent with the name ', React.createElement(Text, { color: Colors.AccentPurple }, name), ' already exists. Do you want to overwrite it?'),
222
+ originalInvocation: {
223
+ raw: invocation?.raw || '',
224
+ },
225
+ };
226
+ }
227
+ let finalSystemPrompt;
228
+ if (mode === 'manual') {
229
+ // Manual mode: use input directly
230
+ finalSystemPrompt = input;
231
+ return handleManualMode(context, name, profile, finalSystemPrompt, {
232
+ existed: exists,
233
+ });
234
+ }
235
+ else {
236
+ // Auto mode: generate using LLM
237
+ const configService = services.config; // @plan:PLAN-20250117-SUBAGENTCONFIG.P14 @requirement:REQ-003
238
+ if (!configService) {
239
+ return {
240
+ type: 'message',
241
+ messageType: 'error',
242
+ content: 'Configuration service unavailable. Set up the CLI before using auto mode.',
243
+ };
244
+ }
245
+ try {
246
+ const client = configService.getGeminiClient();
247
+ if (!client) {
248
+ return {
249
+ type: 'message',
250
+ messageType: 'error',
251
+ content: 'Unable to access Gemini client. Run /auth login or try manual mode.',
252
+ };
253
+ }
254
+ // Construct prompt
255
+ const autoModePrompt = `Generate a detailed system prompt for a subagent with the following purpose:\n\n${input}\n\nRequirements:\n- Create a comprehensive system prompt that defines the subagent's role, capabilities, and behavior\n- Be specific and actionable\n- Use clear, professional language\n- Output ONLY the system prompt text, no explanations or metadata`;
256
+ // Call LLM with a direct request that bypasses tool declarations and history
257
+ const response = await client.generateDirectMessage({
258
+ message: autoModePrompt,
259
+ config: {
260
+ tools: [],
261
+ toolConfig: {
262
+ functionCallingConfig: {
263
+ mode: FunctionCallingConfigMode.NONE,
264
+ },
265
+ },
266
+ },
267
+ }, 'subagent-auto-prompt');
268
+ finalSystemPrompt = response.text || '';
269
+ if (finalSystemPrompt.trim() === '') {
270
+ return {
271
+ type: 'message',
272
+ messageType: 'error',
273
+ content: 'Error: Model returned empty response. Try manual mode or rephrase your description.',
274
+ };
275
+ }
276
+ }
277
+ catch (_error) {
278
+ return {
279
+ type: 'message',
280
+ messageType: 'error',
281
+ content: 'Error: Failed to generate system prompt. Try manual mode or check your connection.',
282
+ };
283
+ }
284
+ // Dispatch to shared save logic for auto mode
285
+ return saveSubagent(context, name, profile, finalSystemPrompt, exists);
286
+ }
287
+ },
288
+ };
289
+ /**
290
+ * /subagent list command
291
+ *
292
+ * @plan:PLAN-20250117-SUBAGENTCONFIG.P08
293
+ * @requirement:REQ-005
294
+ * @pseudocode SubagentCommand.md lines 135-182
295
+ */
296
+ const listCommand = {
297
+ name: 'list',
298
+ description: 'List all saved subagents',
299
+ kind: CommandKind.BUILT_IN,
300
+ action: async (context, _args) => {
301
+ const { services } = context;
302
+ const subagentManager = services.subagentManager;
303
+ if (!subagentManager) {
304
+ return {
305
+ type: 'message',
306
+ messageType: 'error',
307
+ content: 'SubagentManager service is unavailable. Please run integration (Phase 15) before using /subagent.',
308
+ };
309
+ }
310
+ try {
311
+ const names = await subagentManager.listSubagents();
312
+ if (names.length === 0) {
313
+ return {
314
+ type: 'message',
315
+ messageType: 'info',
316
+ content: "No subagents found. Use '/subagent save' to create one.",
317
+ };
318
+ }
319
+ // Load each subagent for details
320
+ const details = await Promise.all(names.map(async (n) => {
321
+ const config = await subagentManager.loadSubagent(n);
322
+ return { name: n, config };
323
+ })); // @plan:PLAN-20250117-SUBAGENTCONFIG.P08 @requirement:REQ-005
324
+ /**
325
+ * @plan:PLAN-20250117-SUBAGENTCONFIG.P08
326
+ * @requirement:REQ-005
327
+ * @requirement:REQ-009
328
+ * @pseudocode SubagentCommand.md lines 159-166
329
+ */
330
+ // Sort by creation date (oldest first as per pseudocode)
331
+ details.sort((itemA, itemB) => new Date(itemA.config.createdAt).getTime() -
332
+ new Date(itemB.config.createdAt).getTime()); // @plan:PLAN-20250117-SUBAGENTCONFIG.P09 @requirement:REQ-009
333
+ // Format output
334
+ const lines = ['List of saved subagents:\n'];
335
+ for (const { name, config } of details) {
336
+ const createdDate = new Date(config.createdAt).toLocaleString();
337
+ lines.push(` - ${name} (profile: ${config.profile}, created: ${createdDate})`);
338
+ }
339
+ lines.push("\nNote: Use '/subagent show <name>' to view full configuration");
340
+ return {
341
+ type: 'message',
342
+ messageType: 'info',
343
+ content: lines.join('\n'),
344
+ };
345
+ }
346
+ catch (_error) {
347
+ return {
348
+ type: 'message',
349
+ messageType: 'error',
350
+ content: 'Failed to list subagents',
351
+ };
352
+ }
353
+ },
354
+ };
355
+ /**
356
+ * /subagent show command
357
+ *
358
+ * @plan:PLAN-20250117-SUBAGENTCONFIG.P08
359
+ * @requirement:REQ-006
360
+ * @pseudocode SubagentCommand.md lines 183-234
361
+ */
362
+ const showCommand = {
363
+ name: 'show',
364
+ description: 'Show detailed subagent configuration',
365
+ kind: CommandKind.BUILT_IN,
366
+ action: async (context, args) => {
367
+ const name = args.trim();
368
+ if (!name) {
369
+ return {
370
+ type: 'message',
371
+ messageType: 'error',
372
+ content: 'Usage: /subagent show <name>',
373
+ };
374
+ }
375
+ const { services } = context;
376
+ const subagentManager = services.subagentManager;
377
+ if (!subagentManager) {
378
+ return {
379
+ type: 'message',
380
+ messageType: 'error',
381
+ content: 'SubagentManager service is unavailable. Please run integration (Phase 15) before using /subagent.',
382
+ };
383
+ }
384
+ try {
385
+ const config = await subagentManager.loadSubagent(name);
386
+ const createdDate = new Date(config.createdAt).toLocaleString();
387
+ const updatedDate = new Date(config.updatedAt).toLocaleString();
388
+ const separator = '-'.repeat(60);
389
+ const output = [
390
+ `Subagent: ${config.name}`,
391
+ `Profile: ${config.profile}`,
392
+ `Created: ${createdDate}`,
393
+ `Updated: ${updatedDate}`,
394
+ '',
395
+ 'System Prompt:',
396
+ separator,
397
+ config.systemPrompt,
398
+ separator,
399
+ ].join('\n');
400
+ return {
401
+ type: 'message',
402
+ messageType: 'info',
403
+ content: output,
404
+ };
405
+ }
406
+ catch (_error) {
407
+ return {
408
+ type: 'message',
409
+ messageType: 'error',
410
+ content: `Error: Subagent '${name}' not found. Use /subagent list to see available subagents.`,
411
+ };
412
+ }
413
+ },
414
+ };
415
+ /**
416
+ * /subagent delete command
417
+ *
418
+ * @plan:PLAN-20250117-SUBAGENTCONFIG.P08
419
+ * @requirement:REQ-007
420
+ * @requirement:REQ-015
421
+ * @pseudocode SubagentCommand.md lines 235-291
422
+ */
423
+ const deleteCommand = {
424
+ name: 'delete',
425
+ description: 'Delete a subagent configuration',
426
+ kind: CommandKind.BUILT_IN,
427
+ action: async (context, args) => {
428
+ const name = args.trim();
429
+ if (!name) {
430
+ return {
431
+ type: 'message',
432
+ messageType: 'error',
433
+ content: 'Usage: /subagent delete <name>',
434
+ };
435
+ }
436
+ const { services, overwriteConfirmed, invocation } = context;
437
+ const subagentManager = services.subagentManager;
438
+ if (!subagentManager) {
439
+ return {
440
+ type: 'message',
441
+ messageType: 'error',
442
+ content: 'SubagentManager service is unavailable. Please run integration (Phase 15) before using /subagent.',
443
+ };
444
+ }
445
+ /**
446
+ * @plan:PLAN-20250117-SUBAGENTCONFIG.P08
447
+ * @requirement:REQ-007
448
+ * @pseudocode SubagentCommand.md lines 258-264
449
+ */
450
+ // Check if subagent exists
451
+ const exists = await subagentManager.subagentExists(name);
452
+ if (!exists) {
453
+ return {
454
+ type: 'message',
455
+ messageType: 'error',
456
+ content: `Subagent '${name}' not found.`,
457
+ };
458
+ }
459
+ /**
460
+ * @plan:PLAN-20250117-SUBAGENTCONFIG.P08
461
+ * @requirement:REQ-007
462
+ * @pseudocode SubagentCommand.md lines 265-274
463
+ */
464
+ // Prompt for confirmation if not already given
465
+ if (!overwriteConfirmed) {
466
+ return {
467
+ type: 'confirm_action',
468
+ prompt: React.createElement(Text, null, 'Are you sure you want to delete subagent ', React.createElement(Text, { color: Colors.AccentPurple }, name), '? This action cannot be undone.'),
469
+ originalInvocation: {
470
+ raw: invocation?.raw || '',
471
+ },
472
+ };
473
+ }
474
+ /**
475
+ * @plan:PLAN-20250117-SUBAGENTCONFIG.P08
476
+ * @requirement:REQ-007
477
+ * @pseudocode SubagentCommand.md lines 276-283
478
+ */
479
+ try {
480
+ await subagentManager.deleteSubagent(name);
481
+ return {
482
+ type: 'message',
483
+ messageType: 'info',
484
+ content: `Successfully deleted subagent '${name}'.`,
485
+ };
486
+ }
487
+ catch (error) {
488
+ return {
489
+ type: 'message',
490
+ messageType: 'error',
491
+ content: error instanceof Error
492
+ ? `Failed to delete subagent: ${error.message}`
493
+ : 'Failed to delete subagent due to an unknown error.',
494
+ };
495
+ }
496
+ },
497
+ };
498
+ /**
499
+ * /subagent edit command
500
+ *
501
+ * @plan:PLAN-20250117-SUBAGENTCONFIG.P11
502
+ * @requirement:REQ-008
503
+ * @requirement:REQ-015
504
+ * @pseudocode SubagentCommand.md lines 166-210
505
+ *
506
+ * Pattern: Uses spawnSync approach from text-buffer.ts
507
+ */
508
+ const editCommand = {
509
+ name: 'edit',
510
+ description: 'Edit subagent configuration in system editor',
511
+ kind: CommandKind.BUILT_IN,
512
+ action: async (context, args) => {
513
+ const name = args.trim();
514
+ if (!name) {
515
+ return {
516
+ type: 'message',
517
+ messageType: 'error',
518
+ content: 'Usage: /subagent edit <name>',
519
+ };
520
+ }
521
+ const { services } = context;
522
+ const subagentManager = services.subagentManager; // @plan:PLAN-20250117-SUBAGENTCONFIG.P11 @requirement:REQ-008
523
+ if (!subagentManager) {
524
+ return {
525
+ type: 'message',
526
+ messageType: 'error',
527
+ content: 'SubagentManager service is unavailable. Please run integration (Phase 15) before using /subagent.',
528
+ };
529
+ }
530
+ // Check if subagent exists
531
+ const exists = await subagentManager.subagentExists(name);
532
+ if (!exists) {
533
+ return {
534
+ type: 'message',
535
+ messageType: 'error',
536
+ content: `Error: Subagent '${name}' not found.`,
537
+ };
538
+ }
539
+ // Load current config
540
+ const config = await subagentManager.loadSubagent(name);
541
+ // Create temp file (like text-buffer.ts does)
542
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'subagent-edit-'));
543
+ const filePath = path.join(tmpDir, `${name}.json`);
544
+ try {
545
+ // Write current config to temp file
546
+ fs.writeFileSync(filePath, JSON.stringify(config, null, 2), 'utf8');
547
+ // Determine editor (like text-buffer.ts)
548
+ const editor = process.env.VISUAL || process.env.EDITOR || 'vi';
549
+ // Launch editor with spawnSync (BLOCKS until editor closes)
550
+ const { status, error } = spawnSync(editor, [filePath], {
551
+ stdio: 'inherit',
552
+ });
553
+ if (error) {
554
+ throw error;
555
+ }
556
+ if (typeof status === 'number' && status !== 0) {
557
+ throw new Error(`Editor exited with status ${status}`);
558
+ }
559
+ // Read edited content
560
+ const editedContent = fs.readFileSync(filePath, 'utf8');
561
+ // Parse and validate JSON
562
+ let editedConfig;
563
+ try {
564
+ editedConfig = JSON.parse(editedContent);
565
+ }
566
+ catch (_error) {
567
+ return {
568
+ type: 'message',
569
+ messageType: 'error',
570
+ content: 'Error: Invalid JSON after edit. Changes not saved.',
571
+ };
572
+ }
573
+ // Validate required fields
574
+ if (!editedConfig.name ||
575
+ !editedConfig.profile ||
576
+ !editedConfig.systemPrompt) {
577
+ return {
578
+ type: 'message',
579
+ messageType: 'error',
580
+ content: 'Error: Required fields missing. Changes not saved.',
581
+ };
582
+ }
583
+ // Validate profile exists
584
+ const profileValid = await subagentManager.validateProfileReference(editedConfig.profile);
585
+ if (!profileValid) {
586
+ return {
587
+ type: 'message',
588
+ messageType: 'error',
589
+ content: `Error: Profile '${editedConfig.profile}' not found. Changes not saved.`,
590
+ };
591
+ }
592
+ // Save the edited config (updates updatedAt timestamp)
593
+ await subagentManager.saveSubagent(editedConfig.name, editedConfig.profile, editedConfig.systemPrompt);
594
+ return {
595
+ type: 'message',
596
+ messageType: 'info',
597
+ content: `Subagent '${name}' updated successfully.`,
598
+ };
599
+ }
600
+ catch (error) {
601
+ return {
602
+ type: 'message',
603
+ messageType: 'error',
604
+ content: error instanceof Error ? error.message : 'Failed to edit subagent',
605
+ };
606
+ }
607
+ finally {
608
+ // Cleanup temp file and directory (like text-buffer.ts)
609
+ try {
610
+ fs.unlinkSync(filePath);
611
+ }
612
+ catch {
613
+ /* ignore */
614
+ }
615
+ try {
616
+ fs.rmdirSync(tmpDir);
617
+ }
618
+ catch {
619
+ /* ignore */
620
+ }
621
+ }
622
+ },
623
+ };
624
+ /**
625
+ * /subagent parent command with schema-based completion
626
+ *
627
+ * @plan:PLAN-20251013-AUTOCOMPLETE.P08
628
+ * @requirement:REQ-002
629
+ * @requirement:REQ-003
630
+ * @requirement:REQ-004
631
+ * Legacy completion removed - now fully schema-driven
632
+ */
633
+ export const subagentCommand = {
634
+ name: 'subagent',
635
+ description: 'Manage subagent configurations.',
636
+ kind: CommandKind.BUILT_IN,
637
+ subCommands: [
638
+ saveCommand,
639
+ listCommand,
640
+ showCommand,
641
+ deleteCommand,
642
+ editCommand,
643
+ ],
644
+ action: async (_context, _args) => {
645
+ // No default action, list subcommands in a message.
646
+ const subCommandsList = subagentCommand.subCommands
647
+ ?.map((cmd) => ` - ${cmd.name}: ${cmd.description}`)
648
+ .join('\n') || 'No subcommands available.';
649
+ return {
650
+ type: 'message',
651
+ messageType: 'info',
652
+ content: `Available subagent subcommands:\n${subCommandsList}`,
653
+ };
654
+ },
655
+ };
656
+ //# sourceMappingURL=subagentCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagentCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/subagentCommand.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 {};