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

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 (213) hide show
  1. package/dist/prompt-config/defaults/default-prompts.json +4 -17
  2. package/dist/src/auth/precedence.d.ts +69 -9
  3. package/dist/src/auth/precedence.js +467 -69
  4. package/dist/src/auth/precedence.js.map +1 -1
  5. package/dist/src/auth/types.d.ts +2 -2
  6. package/dist/src/config/config.d.ts +15 -1
  7. package/dist/src/config/config.js +118 -6
  8. package/dist/src/config/config.js.map +1 -1
  9. package/dist/src/config/index.d.ts +6 -0
  10. package/dist/src/config/index.js +5 -0
  11. package/dist/src/config/index.js.map +1 -1
  12. package/dist/src/config/profileManager.d.ts +23 -3
  13. package/dist/src/config/profileManager.js +54 -7
  14. package/dist/src/config/profileManager.js.map +1 -1
  15. package/dist/src/config/subagentManager.d.ts +96 -0
  16. package/dist/src/config/subagentManager.js +371 -0
  17. package/dist/src/config/subagentManager.js.map +1 -0
  18. package/dist/src/config/types.d.ts +18 -0
  19. package/dist/src/config/types.js +3 -0
  20. package/dist/src/config/types.js.map +1 -0
  21. package/dist/src/core/client.d.ts +27 -7
  22. package/dist/src/core/client.js +231 -55
  23. package/dist/src/core/client.js.map +1 -1
  24. package/dist/src/core/contentGenerator.d.ts +3 -1
  25. package/dist/src/core/contentGenerator.js +3 -0
  26. package/dist/src/core/contentGenerator.js.map +1 -1
  27. package/dist/src/core/coreToolScheduler.d.ts +1 -5
  28. package/dist/src/core/coreToolScheduler.js +95 -23
  29. package/dist/src/core/coreToolScheduler.js.map +1 -1
  30. package/dist/src/core/geminiChat.d.ts +42 -12
  31. package/dist/src/core/geminiChat.js +405 -205
  32. package/dist/src/core/geminiChat.js.map +1 -1
  33. package/dist/src/core/nonInteractiveToolExecutor.d.ts +3 -2
  34. package/dist/src/core/nonInteractiveToolExecutor.js +94 -10
  35. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  36. package/dist/src/core/subagent.d.ts +86 -7
  37. package/dist/src/core/subagent.js +809 -79
  38. package/dist/src/core/subagent.js.map +1 -1
  39. package/dist/src/core/subagentOrchestrator.d.ts +73 -0
  40. package/dist/src/core/subagentOrchestrator.js +387 -0
  41. package/dist/src/core/subagentOrchestrator.js.map +1 -0
  42. package/dist/src/core/subagentScheduler.d.ts +16 -0
  43. package/dist/src/core/subagentScheduler.js +7 -0
  44. package/dist/src/core/subagentScheduler.js.map +1 -0
  45. package/dist/src/core/turn.d.ts +5 -1
  46. package/dist/src/core/turn.js +5 -1
  47. package/dist/src/core/turn.js.map +1 -1
  48. package/dist/src/hooks/tool-render-suppression-hook.js +6 -1
  49. package/dist/src/hooks/tool-render-suppression-hook.js.map +1 -1
  50. package/dist/src/ide/ideContext.d.ts +32 -32
  51. package/dist/src/index.d.ts +19 -1
  52. package/dist/src/index.js +15 -2
  53. package/dist/src/index.js.map +1 -1
  54. package/dist/src/interfaces/index.d.ts +1 -0
  55. package/dist/src/interfaces/index.js +4 -0
  56. package/dist/src/interfaces/index.js.map +1 -0
  57. package/dist/src/interfaces/nodejs-error.interface.d.ts +4 -0
  58. package/dist/src/interfaces/nodejs-error.interface.js +2 -0
  59. package/dist/src/interfaces/nodejs-error.interface.js.map +1 -0
  60. package/dist/src/parsers/TextToolCallParser.d.ts +17 -1
  61. package/dist/src/parsers/TextToolCallParser.js +542 -148
  62. package/dist/src/parsers/TextToolCallParser.js.map +1 -1
  63. package/dist/src/prompt-config/defaults/core.md +15 -0
  64. package/dist/src/prompt-config/defaults/providers/gemini/core.md +203 -119
  65. package/dist/src/prompt-config/defaults/tool-defaults.js +2 -0
  66. package/dist/src/prompt-config/defaults/tool-defaults.js.map +1 -1
  67. package/dist/src/prompt-config/defaults/tools/list-subagents.md +7 -0
  68. package/dist/src/prompt-config/defaults/tools/task.md +8 -0
  69. package/dist/src/providers/BaseProvider.d.ts +115 -30
  70. package/dist/src/providers/BaseProvider.js +445 -109
  71. package/dist/src/providers/BaseProvider.js.map +1 -1
  72. package/dist/src/providers/IProvider.d.ts +50 -18
  73. package/dist/src/providers/LoggingProviderWrapper.d.ts +60 -16
  74. package/dist/src/providers/LoggingProviderWrapper.js +213 -60
  75. package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
  76. package/dist/src/providers/ProviderManager.d.ts +73 -2
  77. package/dist/src/providers/ProviderManager.js +492 -40
  78. package/dist/src/providers/ProviderManager.js.map +1 -1
  79. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +35 -38
  80. package/dist/src/providers/anthropic/AnthropicProvider.js +222 -227
  81. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  82. package/dist/src/providers/errors.d.ts +86 -0
  83. package/dist/src/providers/errors.js +89 -0
  84. package/dist/src/providers/errors.js.map +1 -1
  85. package/dist/src/providers/gemini/GeminiProvider.d.ts +101 -41
  86. package/dist/src/providers/gemini/GeminiProvider.js +386 -311
  87. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  88. package/dist/src/providers/openai/ConversationCache.d.ts +5 -3
  89. package/dist/src/providers/openai/ConversationCache.js +93 -32
  90. package/dist/src/providers/openai/ConversationCache.js.map +1 -1
  91. package/dist/src/providers/openai/OpenAIProvider.d.ts +82 -42
  92. package/dist/src/providers/openai/OpenAIProvider.js +391 -536
  93. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  94. package/dist/src/providers/openai/getOpenAIProviderInfo.d.ts +1 -1
  95. package/dist/src/providers/openai/getOpenAIProviderInfo.js +52 -22
  96. package/dist/src/providers/openai/getOpenAIProviderInfo.js.map +1 -1
  97. package/dist/src/providers/openai/openaiRequestParams.d.ts +7 -0
  98. package/dist/src/providers/openai/openaiRequestParams.js +66 -0
  99. package/dist/src/providers/openai/openaiRequestParams.js.map +1 -0
  100. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +6 -33
  101. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +84 -183
  102. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
  103. package/dist/src/providers/types/providerRuntime.d.ts +17 -0
  104. package/dist/src/providers/types/providerRuntime.js +7 -0
  105. package/dist/src/providers/types/providerRuntime.js.map +1 -0
  106. package/dist/src/providers/utils/authToken.d.ts +12 -0
  107. package/dist/src/providers/utils/authToken.js +17 -0
  108. package/dist/src/providers/utils/authToken.js.map +1 -0
  109. package/dist/src/providers/utils/userMemory.d.ts +8 -0
  110. package/dist/src/providers/utils/userMemory.js +34 -0
  111. package/dist/src/providers/utils/userMemory.js.map +1 -0
  112. package/dist/src/runtime/AgentRuntimeContext.d.ts +213 -0
  113. package/dist/src/runtime/AgentRuntimeContext.js +17 -0
  114. package/dist/src/runtime/AgentRuntimeContext.js.map +1 -0
  115. package/dist/src/runtime/AgentRuntimeLoader.d.ts +47 -0
  116. package/dist/src/runtime/AgentRuntimeLoader.js +122 -0
  117. package/dist/src/runtime/AgentRuntimeLoader.js.map +1 -0
  118. package/dist/src/runtime/AgentRuntimeState.d.ts +232 -0
  119. package/dist/src/runtime/AgentRuntimeState.js +439 -0
  120. package/dist/src/runtime/AgentRuntimeState.js.map +1 -0
  121. package/dist/src/runtime/RuntimeInvocationContext.d.ts +51 -0
  122. package/dist/src/runtime/RuntimeInvocationContext.js +52 -0
  123. package/dist/src/runtime/RuntimeInvocationContext.js.map +1 -0
  124. package/dist/src/runtime/createAgentRuntimeContext.d.ts +7 -0
  125. package/dist/src/runtime/createAgentRuntimeContext.js +65 -0
  126. package/dist/src/runtime/createAgentRuntimeContext.js.map +1 -0
  127. package/dist/src/runtime/index.d.ts +13 -0
  128. package/dist/src/runtime/index.js +14 -0
  129. package/dist/src/runtime/index.js.map +1 -0
  130. package/dist/src/runtime/providerRuntimeContext.d.ts +30 -0
  131. package/dist/src/runtime/providerRuntimeContext.js +70 -0
  132. package/dist/src/runtime/providerRuntimeContext.js.map +1 -0
  133. package/dist/src/runtime/runtimeAdapters.d.ts +22 -0
  134. package/dist/src/runtime/runtimeAdapters.js +81 -0
  135. package/dist/src/runtime/runtimeAdapters.js.map +1 -0
  136. package/dist/src/runtime/runtimeStateFactory.d.ts +21 -0
  137. package/dist/src/runtime/runtimeStateFactory.js +104 -0
  138. package/dist/src/runtime/runtimeStateFactory.js.map +1 -0
  139. package/dist/src/services/todo-context-tracker.d.ts +10 -8
  140. package/dist/src/services/todo-context-tracker.js +26 -10
  141. package/dist/src/services/todo-context-tracker.js.map +1 -1
  142. package/dist/src/services/tool-call-tracker-service.d.ts +11 -7
  143. package/dist/src/services/tool-call-tracker-service.js +89 -29
  144. package/dist/src/services/tool-call-tracker-service.js.map +1 -1
  145. package/dist/src/settings/SettingsService.d.ts +4 -0
  146. package/dist/src/settings/SettingsService.js +65 -2
  147. package/dist/src/settings/SettingsService.js.map +1 -1
  148. package/dist/src/settings/settingsServiceInstance.d.ts +6 -1
  149. package/dist/src/settings/settingsServiceInstance.js +28 -8
  150. package/dist/src/settings/settingsServiceInstance.js.map +1 -1
  151. package/dist/src/telemetry/loggers.d.ts +5 -1
  152. package/dist/src/telemetry/loggers.js.map +1 -1
  153. package/dist/src/telemetry/loggers.test.circular.js +4 -0
  154. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  155. package/dist/src/telemetry/metrics.d.ts +3 -1
  156. package/dist/src/telemetry/metrics.js.map +1 -1
  157. package/dist/src/telemetry/types.d.ts +1 -0
  158. package/dist/src/telemetry/types.js +3 -0
  159. package/dist/src/telemetry/types.js.map +1 -1
  160. package/dist/src/test-utils/index.d.ts +2 -0
  161. package/dist/src/test-utils/index.js +2 -0
  162. package/dist/src/test-utils/index.js.map +1 -1
  163. package/dist/src/test-utils/mockWorkspaceContext.d.ts +0 -3
  164. package/dist/src/test-utils/mockWorkspaceContext.js +3 -4
  165. package/dist/src/test-utils/mockWorkspaceContext.js.map +1 -1
  166. package/dist/src/test-utils/providerCallOptions.d.ts +43 -0
  167. package/dist/src/test-utils/providerCallOptions.js +137 -0
  168. package/dist/src/test-utils/providerCallOptions.js.map +1 -0
  169. package/dist/src/test-utils/runtime.d.ts +92 -0
  170. package/dist/src/test-utils/runtime.js +226 -0
  171. package/dist/src/test-utils/runtime.js.map +1 -0
  172. package/dist/src/test-utils/tools.d.ts +4 -4
  173. package/dist/src/test-utils/tools.js +20 -10
  174. package/dist/src/test-utils/tools.js.map +1 -1
  175. package/dist/src/tools/list-subagents.d.ts +31 -0
  176. package/dist/src/tools/list-subagents.js +109 -0
  177. package/dist/src/tools/list-subagents.js.map +1 -0
  178. package/dist/src/tools/task.d.ts +87 -0
  179. package/dist/src/tools/task.js +427 -0
  180. package/dist/src/tools/task.js.map +1 -0
  181. package/dist/src/tools/todo-read.js +1 -1
  182. package/dist/src/tools/todo-read.js.map +1 -1
  183. package/dist/src/tools/todo-store.js +4 -2
  184. package/dist/src/tools/todo-store.js.map +1 -1
  185. package/dist/src/tools/todo-write.js +4 -2
  186. package/dist/src/tools/todo-write.js.map +1 -1
  187. package/dist/src/tools/tool-error.d.ts +1 -0
  188. package/dist/src/tools/tool-error.js +1 -0
  189. package/dist/src/tools/tool-error.js.map +1 -1
  190. package/dist/src/tools/tool-registry.d.ts +2 -0
  191. package/dist/src/tools/tool-registry.js +46 -21
  192. package/dist/src/tools/tool-registry.js.map +1 -1
  193. package/dist/src/types/modelParams.d.ts +4 -0
  194. package/dist/src/utils/editor.js +10 -8
  195. package/dist/src/utils/editor.js.map +1 -1
  196. package/dist/src/utils/gitIgnoreParser.js +15 -3
  197. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  198. package/package.json +1 -1
  199. package/dist/src/prompt-config/defaults/providers/anthropic/core.md +0 -97
  200. package/dist/src/prompt-config/defaults/providers/anthropic/tools/glob.md +0 -34
  201. package/dist/src/prompt-config/defaults/providers/anthropic/tools/list-directory.md +0 -11
  202. package/dist/src/prompt-config/defaults/providers/anthropic/tools/read-file.md +0 -14
  203. package/dist/src/prompt-config/defaults/providers/anthropic/tools/read-many-files.md +0 -31
  204. package/dist/src/prompt-config/defaults/providers/anthropic/tools/replace.md +0 -41
  205. package/dist/src/prompt-config/defaults/providers/anthropic/tools/run-shell-command.md +0 -32
  206. package/dist/src/prompt-config/defaults/providers/anthropic/tools/save-memory.md +0 -35
  207. package/dist/src/prompt-config/defaults/providers/anthropic/tools/search-file-content.md +0 -44
  208. package/dist/src/prompt-config/defaults/providers/anthropic/tools/todo-write.md +0 -45
  209. package/dist/src/prompt-config/defaults/providers/anthropic/tools/write-file.md +0 -11
  210. package/dist/src/prompt-config/defaults/providers/openai/core.md +0 -97
  211. package/dist/src/prompt-config/defaults/providers/openai/tools/todo-pause.md +0 -28
  212. package/dist/src/prompt-config/defaults/providers/openai/tools/todo-read.md +0 -5
  213. package/dist/src/prompt-config/defaults/providers/openai/tools/todo-write.md +0 -45
@@ -0,0 +1,226 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { createProviderRuntimeContext, peekActiveProviderRuntimeContext, setActiveProviderRuntimeContext, } from '../runtime/providerRuntimeContext.js';
7
+ import { SettingsService } from '../settings/SettingsService.js';
8
+ function createSpy(impl) {
9
+ const calls = [];
10
+ let implementation = impl ?? (() => undefined);
11
+ const spy = ((...args) => {
12
+ calls.push(args);
13
+ return implementation(...args);
14
+ });
15
+ spy.calls = calls;
16
+ spy.mockImplementation = (fn) => {
17
+ implementation = fn;
18
+ return spy;
19
+ };
20
+ spy.mockReturnValue = (value) => {
21
+ implementation = () => value;
22
+ return spy;
23
+ };
24
+ spy.mockReturnValueOnce = (value) => {
25
+ let called = false;
26
+ implementation = (..._fnArgs) => {
27
+ if (called) {
28
+ return value;
29
+ }
30
+ called = true;
31
+ return value;
32
+ };
33
+ return spy;
34
+ };
35
+ spy.mockClear = () => {
36
+ calls.length = 0;
37
+ implementation = impl ?? (() => undefined);
38
+ return spy;
39
+ };
40
+ return spy;
41
+ }
42
+ /**
43
+ * Creates a provider instance while binding it to a fresh runtime context.
44
+ * The runtime is only active during instantiation so the provider captures
45
+ * the injected settings service without polluting global state.
46
+ */
47
+ export function createProviderWithRuntime(factory, options = {}) {
48
+ const previousContext = peekActiveProviderRuntimeContext();
49
+ const settingsService = options.settingsService ?? new SettingsService();
50
+ const runtime = createProviderRuntimeContext({
51
+ settingsService,
52
+ config: options.config,
53
+ runtimeId: options.runtimeId ?? 'test.provider.runtime',
54
+ metadata: {
55
+ source: 'test-utils#createProviderWithRuntime',
56
+ ...(options.metadata ?? {}),
57
+ },
58
+ });
59
+ setActiveProviderRuntimeContext(runtime);
60
+ try {
61
+ const provider = factory({ runtime, settingsService });
62
+ return { provider, runtime, settingsService };
63
+ }
64
+ finally {
65
+ setActiveProviderRuntimeContext(previousContext ?? null);
66
+ }
67
+ }
68
+ /**
69
+ * Produces a lightweight Config stub sufficient for provider runtime tests.
70
+ */
71
+ export function createRuntimeConfigStub(settingsService, overrides = {}) {
72
+ const noop = () => { };
73
+ const base = {
74
+ getConversationLoggingEnabled: () => false,
75
+ setConversationLoggingEnabled: noop,
76
+ getTelemetryLogPromptsEnabled: () => false,
77
+ setTelemetryLogPromptsEnabled: noop,
78
+ getUsageStatisticsEnabled: () => false,
79
+ setUsageStatisticsEnabled: noop,
80
+ getDebugMode: () => false,
81
+ setDebugMode: noop,
82
+ getSessionId: () => 'test-session',
83
+ setSessionId: noop,
84
+ getFlashFallbackMode: () => 'off',
85
+ setFlashFallbackMode: noop,
86
+ getProvider: () => 'test-provider',
87
+ setProvider: noop,
88
+ getSettingsService: () => settingsService,
89
+ getProviderSettings: () => ({}),
90
+ setProviderSettings: noop,
91
+ getProviderConfig: () => ({}),
92
+ setProviderConfig: noop,
93
+ resetProvider: noop,
94
+ resetProviderSettings: noop,
95
+ resetProviderConfig: noop,
96
+ getActiveWorkspace: () => undefined,
97
+ setActiveWorkspace: noop,
98
+ clearActiveWorkspace: noop,
99
+ getExtensionConfig: () => ({}),
100
+ setExtensionConfig: noop,
101
+ getFeatures: () => ({}),
102
+ setFeatures: noop,
103
+ getRedactionConfig: () => ({ replacements: [] }),
104
+ setProviderManager: noop,
105
+ getProviderManager: () => undefined,
106
+ getProviderSetting: () => undefined,
107
+ getEphemeralSettings: () => ({ model: 'test-model' }),
108
+ getEphemeralSetting: () => undefined,
109
+ setEphemeralSetting: noop,
110
+ getUserMemory: () => '',
111
+ setUserMemory: noop,
112
+ getModel: () => 'test-model',
113
+ setModel: noop,
114
+ getQuotaErrorOccurred: () => false,
115
+ setQuotaErrorOccurred: noop,
116
+ };
117
+ return Object.assign(base, overrides);
118
+ }
119
+ /**
120
+ * Initializes a lightweight provider runtime context for test environments.
121
+ * Returns the created settings service, config stub, and runtime context.
122
+ */
123
+ export function initializeTestProviderRuntime(options = {}) {
124
+ const settingsService = new SettingsService();
125
+ const config = createRuntimeConfigStub(settingsService, {
126
+ ...(options.configOverrides ?? {}),
127
+ });
128
+ const runtime = createProviderRuntimeContext({
129
+ settingsService,
130
+ config,
131
+ runtimeId: options.runtimeId ??
132
+ `test.provider.runtime.${Math.random().toString(36).slice(2, 10)}`,
133
+ metadata: {
134
+ source: 'test-utils#initializeTestProviderRuntime',
135
+ ...(options.metadata ?? {}),
136
+ },
137
+ });
138
+ setActiveProviderRuntimeContext(runtime);
139
+ return { settingsService, config, runtime };
140
+ }
141
+ function requireVi() {
142
+ const viGlobal = globalThis.vi;
143
+ if (viGlobal) {
144
+ return viGlobal;
145
+ }
146
+ return {
147
+ fn: (impl) => createSpy(impl),
148
+ };
149
+ }
150
+ function createDefaultProvider() {
151
+ const vi = requireVi();
152
+ return {
153
+ name: 'test-provider',
154
+ isDefault: true,
155
+ getModels: vi.fn(async () => []),
156
+ getDefaultModel: () => 'test-model',
157
+ generateChatCompletion: vi.fn(async function* () {
158
+ yield { speaker: 'ai', blocks: [] };
159
+ }),
160
+ getServerTools: () => [],
161
+ invokeServerTool: vi.fn(),
162
+ };
163
+ }
164
+ /**
165
+ * Creates a Config stub and associated runtime wiring for GeminiChat tests.
166
+ * The returned config exposes the minimal surface required by the class while
167
+ * guaranteeing that runtime-aware helpers (e.g. getSettingsService) exist.
168
+ */
169
+ export function createGeminiChatRuntime(options = {}) {
170
+ const vi = requireVi();
171
+ const settingsService = options.settingsService ?? new SettingsService();
172
+ const runtime = createProviderRuntimeContext({
173
+ settingsService,
174
+ runtimeId: options.runtimeId ?? 'test.geminiChat.runtime',
175
+ metadata: {
176
+ source: 'test-utils#createGeminiChatRuntime',
177
+ ...(options.metadata ?? {}),
178
+ },
179
+ });
180
+ const provider = options.provider ?? createDefaultProvider();
181
+ const providerManager = options.providerManager ??
182
+ {
183
+ getActiveProvider: vi.fn().mockReturnValue(provider),
184
+ };
185
+ let currentProviderName = provider.name;
186
+ const getProviderSpy = vi.fn().mockImplementation(() => currentProviderName);
187
+ const setProviderSpy = vi.fn().mockImplementation((next) => {
188
+ if (typeof next === 'string') {
189
+ currentProviderName = next;
190
+ }
191
+ });
192
+ const baseConfig = {
193
+ getSessionId: () => 'test-session-id',
194
+ getTelemetryLogPromptsEnabled: () => true,
195
+ getUsageStatisticsEnabled: () => true,
196
+ getDebugMode: () => false,
197
+ getContentGeneratorConfig: () => ({
198
+ authType: 'oauth-personal',
199
+ model: 'test-model',
200
+ }),
201
+ getModel: vi.fn().mockReturnValue('gemini-pro'),
202
+ setModel: vi.fn(),
203
+ getQuotaErrorOccurred: vi.fn().mockReturnValue(false),
204
+ setQuotaErrorOccurred: vi.fn(),
205
+ flashFallbackHandler: undefined,
206
+ getEphemeralSettings: vi.fn().mockReturnValue({}),
207
+ getEphemeralSetting: vi.fn().mockReturnValue(undefined),
208
+ getProvider: getProviderSpy,
209
+ setProvider: setProviderSpy,
210
+ getProviderManager: vi.fn().mockReturnValue(providerManager),
211
+ getSettingsService: vi.fn().mockReturnValue(settingsService),
212
+ };
213
+ const config = {
214
+ ...baseConfig,
215
+ ...(options.configOverrides ?? {}),
216
+ };
217
+ Object.assign(runtime, { config: config });
218
+ return {
219
+ config: config,
220
+ provider,
221
+ providerManager,
222
+ settingsService,
223
+ runtime,
224
+ };
225
+ }
226
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/test-utils/runtime.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,14 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { vi } from 'vitest';
6
7
  import { BaseDeclarativeTool, BaseToolInvocation, ToolCallConfirmationDetails, ToolInvocation, ToolResult } from '../tools/tools.js';
7
8
  import { ModifiableDeclarativeTool, ModifyContext } from '../tools/modifiable-tool.js';
8
- /**
9
- * A highly configurable mock tool for testing purposes.
10
- */
9
+ type ToolSpy = ReturnType<(typeof vi)['fn']>;
11
10
  export declare class MockTool extends BaseDeclarativeTool<{
12
11
  [key: string]: unknown;
13
12
  }, ToolResult> {
14
- executeFn: import("vitest").Mock<(...args: any[]) => any>;
13
+ executeFn: ToolSpy;
15
14
  shouldConfirm: boolean;
16
15
  constructor(name?: string, displayName?: string, description?: string, params?: {
17
16
  type: string;
@@ -42,3 +41,4 @@ export declare class MockModifiableTool extends MockTool implements ModifiableDe
42
41
  getModifyContext(_abortSignal: AbortSignal): ModifyContext<Record<string, unknown>>;
43
42
  protected createInvocation(params: Record<string, unknown>): ToolInvocation<Record<string, unknown>, ToolResult>;
44
43
  }
44
+ export {};
@@ -12,11 +12,17 @@ class MockToolInvocation extends BaseToolInvocation {
12
12
  this.tool = tool;
13
13
  }
14
14
  async execute(_abortSignal) {
15
- const result = this.tool.executeFn(this.params);
16
- return (result ?? {
15
+ const result = await this.tool.executeFn(this.params);
16
+ if (result &&
17
+ typeof result === 'object' &&
18
+ 'llmContent' in result &&
19
+ 'returnDisplay' in result) {
20
+ return result;
21
+ }
22
+ return {
17
23
  llmContent: `Tool ${this.tool.name} executed successfully.`,
18
24
  returnDisplay: `Tool ${this.tool.name} executed successfully.`,
19
- });
25
+ };
20
26
  }
21
27
  async shouldConfirmExecute(_abortSignal) {
22
28
  if (this.tool.shouldConfirm) {
@@ -34,17 +40,15 @@ class MockToolInvocation extends BaseToolInvocation {
34
40
  return `A mock tool invocation for ${this.tool.name}`;
35
41
  }
36
42
  }
37
- /**
38
- * A highly configurable mock tool for testing purposes.
39
- */
40
43
  export class MockTool extends BaseDeclarativeTool {
41
- executeFn = vi.fn();
44
+ executeFn;
42
45
  shouldConfirm = false;
43
46
  constructor(name = 'mock-tool', displayName, description = 'A mock tool for testing.', params = {
44
47
  type: 'object',
45
48
  properties: { param: { type: 'string' } },
46
49
  }) {
47
50
  super(name, displayName ?? name, description, Kind.Other, params);
51
+ this.executeFn = vi.fn();
48
52
  }
49
53
  createInvocation(params) {
50
54
  return new MockToolInvocation(this, params);
@@ -57,11 +61,17 @@ export class MockModifiableToolInvocation extends BaseToolInvocation {
57
61
  this.tool = tool;
58
62
  }
59
63
  async execute(_abortSignal) {
60
- const result = this.tool.executeFn(this.params);
61
- return (result ?? {
64
+ const result = await this.tool.executeFn(this.params);
65
+ if (result &&
66
+ typeof result === 'object' &&
67
+ 'llmContent' in result &&
68
+ 'returnDisplay' in result) {
69
+ return result;
70
+ }
71
+ return {
62
72
  llmContent: `Tool ${this.tool.name} executed successfully.`,
63
73
  returnDisplay: `Tool ${this.tool.name} executed successfully.`,
64
- });
74
+ };
65
75
  }
66
76
  async shouldConfirmExecute(_abortSignal) {
67
77
  if (this.tool.shouldConfirm) {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/test-utils/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/test-utils/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BaseDeclarativeTool, BaseToolInvocation, ToolResult } from './tools.js';
7
+ import type { Config } from '../config/config.js';
8
+ import type { SubagentManager } from '../config/subagentManager.js';
9
+ type ListSubagentsParams = Record<string, never>;
10
+ export interface ListSubagentsToolDependencies {
11
+ getSubagentManager?: () => SubagentManager | undefined;
12
+ }
13
+ declare class ListSubagentsToolInvocation extends BaseToolInvocation<ListSubagentsParams, ToolResult> {
14
+ private readonly subagentManager;
15
+ constructor(params: ListSubagentsParams, subagentManager: SubagentManager);
16
+ getDescription(): string;
17
+ execute(): Promise<ToolResult>;
18
+ private buildSummary;
19
+ }
20
+ /**
21
+ * Tool that enumerates all available subagents and surfaces their metadata.
22
+ */
23
+ export declare class ListSubagentsTool extends BaseDeclarativeTool<ListSubagentsParams, ToolResult> {
24
+ private readonly config;
25
+ private readonly dependencies;
26
+ static readonly Name = "list_subagents";
27
+ constructor(config: Config, dependencies?: ListSubagentsToolDependencies);
28
+ protected createInvocation(params: ListSubagentsParams): ListSubagentsToolInvocation;
29
+ protected validateToolParamValues(): string | null;
30
+ }
31
+ export {};
@@ -0,0 +1,109 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BaseDeclarativeTool, BaseToolInvocation, Kind, } from './tools.js';
7
+ function summarizePrompt(prompt, maxLength = 160) {
8
+ if (!prompt) {
9
+ return '';
10
+ }
11
+ const firstLine = prompt
12
+ .split(/\r?\n/)
13
+ .map((line) => line.trim())
14
+ .find((line) => line.length > 0) ?? prompt.trim();
15
+ if (firstLine.length <= maxLength) {
16
+ return firstLine;
17
+ }
18
+ const truncated = firstLine.slice(0, maxLength - 1).trimEnd();
19
+ return `${truncated}…`;
20
+ }
21
+ class ListSubagentsToolInvocation extends BaseToolInvocation {
22
+ subagentManager;
23
+ constructor(params, subagentManager) {
24
+ super(params);
25
+ this.subagentManager = subagentManager;
26
+ }
27
+ getDescription() {
28
+ return 'Enumerate registered subagents with their profiles and descriptions.';
29
+ }
30
+ async execute() {
31
+ const names = await this.subagentManager.listSubagents();
32
+ if (names.length === 0) {
33
+ const message = 'No subagents are currently registered. Use the /subagent CLI command to create one.';
34
+ return {
35
+ llmContent: message,
36
+ returnDisplay: message,
37
+ metadata: { count: 0 },
38
+ };
39
+ }
40
+ const summaries = [];
41
+ for (const name of names.sort()) {
42
+ try {
43
+ const config = await this.subagentManager.loadSubagent(name);
44
+ summaries.push(this.buildSummary(config));
45
+ }
46
+ catch (error) {
47
+ const detail = error instanceof Error ? error.message : String(error ?? 'unknown');
48
+ summaries.push({
49
+ name,
50
+ profile: 'unknown',
51
+ updatedAt: '',
52
+ description: `Unable to load subagent: ${detail}`,
53
+ });
54
+ }
55
+ }
56
+ const display = summaries
57
+ .map((summary) => {
58
+ const profilePart = summary.profile && summary.profile !== 'unknown'
59
+ ? ` (profile: ${summary.profile})`
60
+ : '';
61
+ return `- **${summary.name}**${profilePart} — ${summary.description}`;
62
+ })
63
+ .join('\n') || 'No subagents are currently registered.';
64
+ return {
65
+ llmContent: JSON.stringify(summaries, null, 2),
66
+ returnDisplay: display,
67
+ metadata: { count: summaries.length },
68
+ };
69
+ }
70
+ buildSummary(config) {
71
+ return {
72
+ name: config.name,
73
+ profile: config.profile,
74
+ updatedAt: config.updatedAt,
75
+ description: summarizePrompt(config.systemPrompt),
76
+ };
77
+ }
78
+ }
79
+ /**
80
+ * Tool that enumerates all available subagents and surfaces their metadata.
81
+ */
82
+ export class ListSubagentsTool extends BaseDeclarativeTool {
83
+ config;
84
+ dependencies;
85
+ static Name = 'list_subagents';
86
+ constructor(config, dependencies = {}) {
87
+ super(ListSubagentsTool.Name, 'ListSubagents', 'Lists all configured subagents with their associated profiles and high-level descriptions.', Kind.Read, {
88
+ type: 'object',
89
+ properties: {},
90
+ additionalProperties: false,
91
+ });
92
+ this.config = config;
93
+ this.dependencies = dependencies;
94
+ }
95
+ createInvocation(params) {
96
+ const manager = this.dependencies.getSubagentManager?.() ??
97
+ (typeof this.config.getSubagentManager === 'function'
98
+ ? this.config.getSubagentManager()
99
+ : undefined);
100
+ if (!manager) {
101
+ throw new Error('SubagentManager service is unavailable. Please configure subagents before invoking this tool.');
102
+ }
103
+ return new ListSubagentsToolInvocation(params, manager);
104
+ }
105
+ validateToolParamValues() {
106
+ return null;
107
+ }
108
+ }
109
+ //# sourceMappingURL=list-subagents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-subagents.js","sourceRoot":"","sources":["../../../src/tools/list-subagents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BaseDeclarativeTool, BaseToolInvocation, ToolResult } from './tools.js';
7
+ import type { Config } from '../config/config.js';
8
+ import { SubagentOrchestrator } from '../core/subagentOrchestrator.js';
9
+ import type { SubagentSchedulerFactory } from '../core/subagentScheduler.js';
10
+ import type { SubagentManager } from '../config/subagentManager.js';
11
+ import type { ProfileManager } from '../config/profileManager.js';
12
+ import type { ToolRegistry } from './tool-registry.js';
13
+ export interface TaskToolParams {
14
+ subagent_name?: string;
15
+ subagentName?: string;
16
+ goal_prompt?: string;
17
+ goalPrompt?: string;
18
+ behaviour_prompts?: string[];
19
+ behavior_prompts?: string[];
20
+ behaviourPrompts?: string[];
21
+ behaviorPrompts?: string[];
22
+ run_limits?: Partial<RunLimits>;
23
+ runLimits?: Partial<RunLimits>;
24
+ tool_whitelist?: string[];
25
+ toolWhitelist?: string[];
26
+ output_spec?: Record<string, string>;
27
+ outputSpec?: Record<string, string>;
28
+ context?: Record<string, unknown>;
29
+ context_vars?: Record<string, unknown>;
30
+ contextVars?: Record<string, unknown>;
31
+ }
32
+ interface RunLimits {
33
+ max_time_minutes: number;
34
+ max_turns?: number;
35
+ interactive?: boolean;
36
+ }
37
+ interface TaskToolInvocationParams {
38
+ subagentName: string;
39
+ goalPrompt: string;
40
+ behaviourPrompts: string[];
41
+ runConfig?: Partial<RunLimits>;
42
+ toolWhitelist?: string[];
43
+ outputSpec?: Record<string, string>;
44
+ context: Record<string, unknown>;
45
+ interactive?: boolean;
46
+ }
47
+ export interface TaskToolDependencies {
48
+ orchestratorFactory?: () => SubagentOrchestrator;
49
+ profileManager?: ProfileManager;
50
+ subagentManager?: SubagentManager;
51
+ schedulerFactoryProvider?: () => SubagentSchedulerFactory | undefined;
52
+ isInteractiveEnvironment?: () => boolean;
53
+ }
54
+ interface TaskToolInvocationDeps {
55
+ createOrchestrator: () => SubagentOrchestrator;
56
+ getToolRegistry?: () => ToolRegistry | undefined;
57
+ getSchedulerFactory?: () => SubagentSchedulerFactory | undefined;
58
+ isInteractiveEnvironment?: () => boolean;
59
+ }
60
+ declare class TaskToolInvocation extends BaseToolInvocation<TaskToolParams, ToolResult> {
61
+ private readonly normalized;
62
+ private readonly deps;
63
+ constructor(params: TaskToolParams, normalized: TaskToolInvocationParams, deps: TaskToolInvocationDeps);
64
+ getDescription(): string;
65
+ private createLaunchRequest;
66
+ execute(signal: AbortSignal, updateOutput?: (output: string) => void): Promise<ToolResult>;
67
+ private buildContextState;
68
+ private createErrorResult;
69
+ private createCancelledResult;
70
+ }
71
+ /**
72
+ * Task tool that launches subagents via SubagentOrchestrator.
73
+ *
74
+ * @plan PLAN-20251029-SUBAGENTIC
75
+ * @requirement REQ-SUBAGENTIC-001, REQ-SUBAGENTIC-002
76
+ */
77
+ export declare class TaskTool extends BaseDeclarativeTool<TaskToolParams, ToolResult> {
78
+ private readonly config;
79
+ private readonly dependencies;
80
+ static readonly Name = "task";
81
+ constructor(config: Config, dependencies?: TaskToolDependencies);
82
+ protected validateToolParamValues(params: TaskToolParams): string | null;
83
+ protected createInvocation(params: TaskToolParams): TaskToolInvocation;
84
+ private normalizeParams;
85
+ private ensureOrchestrator;
86
+ }
87
+ export {};