@google/gemini-cli-core 0.21.0-nightly.20251216.bb0c0d8ee → 0.21.0-nightly.20251218.739c02bd6

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 (191) hide show
  1. package/dist/google-gemini-cli-core-0.21.0-nightly.20251216.bb0c0d8ee.tgz +0 -0
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/agents/codebase-investigator.d.ts +2 -2
  6. package/dist/src/agents/codebase-investigator.js +6 -5
  7. package/dist/src/agents/codebase-investigator.js.map +1 -1
  8. package/dist/src/agents/codebase-investigator.test.js +2 -2
  9. package/dist/src/agents/codebase-investigator.test.js.map +1 -1
  10. package/dist/src/agents/delegate-to-agent-tool.js +8 -4
  11. package/dist/src/agents/delegate-to-agent-tool.js.map +1 -1
  12. package/dist/src/agents/delegate-to-agent-tool.test.js +5 -4
  13. package/dist/src/agents/delegate-to-agent-tool.test.js.map +1 -1
  14. package/dist/src/agents/{executor.d.ts → local-executor.d.ts} +5 -5
  15. package/dist/src/agents/{executor.js → local-executor.js} +7 -7
  16. package/dist/src/agents/local-executor.js.map +1 -0
  17. package/dist/src/agents/local-executor.test.d.ts +12 -0
  18. package/dist/src/agents/{executor.test.js → local-executor.test.js} +40 -39
  19. package/dist/src/agents/local-executor.test.js.map +1 -0
  20. package/dist/src/agents/{invocation.d.ts → local-invocation.d.ts} +5 -6
  21. package/dist/src/agents/{invocation.js → local-invocation.js} +8 -9
  22. package/dist/src/agents/local-invocation.js.map +1 -0
  23. package/dist/src/agents/{invocation.test.js → local-invocation.test.js} +18 -17
  24. package/dist/src/agents/local-invocation.test.js.map +1 -0
  25. package/dist/src/agents/registry.js +35 -24
  26. package/dist/src/agents/registry.js.map +1 -1
  27. package/dist/src/agents/registry.test.js +34 -4
  28. package/dist/src/agents/registry.test.js.map +1 -1
  29. package/dist/src/agents/remote-invocation.d.ts +21 -0
  30. package/dist/src/agents/remote-invocation.js +31 -0
  31. package/dist/src/agents/remote-invocation.js.map +1 -0
  32. package/dist/src/agents/remote-invocation.test.js +35 -0
  33. package/dist/src/agents/remote-invocation.test.js.map +1 -0
  34. package/dist/src/agents/subagent-tool-wrapper.js +7 -3
  35. package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
  36. package/dist/src/agents/subagent-tool-wrapper.test.js +10 -9
  37. package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
  38. package/dist/src/agents/types.d.ts +12 -4
  39. package/dist/src/availability/policyCatalog.d.ts +1 -0
  40. package/dist/src/availability/policyCatalog.js +6 -8
  41. package/dist/src/availability/policyCatalog.js.map +1 -1
  42. package/dist/src/availability/policyCatalog.test.js +2 -2
  43. package/dist/src/availability/policyCatalog.test.js.map +1 -1
  44. package/dist/src/availability/policyHelpers.d.ts +9 -5
  45. package/dist/src/availability/policyHelpers.js +43 -37
  46. package/dist/src/availability/policyHelpers.js.map +1 -1
  47. package/dist/src/availability/policyHelpers.test.js +58 -20
  48. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  49. package/dist/src/code_assist/oauth2.js +1 -1
  50. package/dist/src/code_assist/oauth2.js.map +1 -1
  51. package/dist/src/code_assist/oauth2.test.js +6 -8
  52. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  53. package/dist/src/code_assist/server.d.ts +4 -1
  54. package/dist/src/code_assist/server.js +50 -7
  55. package/dist/src/code_assist/server.js.map +1 -1
  56. package/dist/src/code_assist/server.test.js +177 -27
  57. package/dist/src/code_assist/server.test.js.map +1 -1
  58. package/dist/src/code_assist/telemetry.d.ts +14 -0
  59. package/dist/src/code_assist/telemetry.js +156 -0
  60. package/dist/src/code_assist/telemetry.js.map +1 -0
  61. package/dist/src/code_assist/telemetry.test.d.ts +6 -0
  62. package/dist/src/code_assist/telemetry.test.js +300 -0
  63. package/dist/src/code_assist/telemetry.test.js.map +1 -0
  64. package/dist/src/code_assist/types.d.ts +52 -1
  65. package/dist/src/code_assist/types.js +21 -0
  66. package/dist/src/code_assist/types.js.map +1 -1
  67. package/dist/src/config/config.d.ts +6 -13
  68. package/dist/src/config/config.js +61 -38
  69. package/dist/src/config/config.js.map +1 -1
  70. package/dist/src/config/config.test.js +134 -22
  71. package/dist/src/config/config.test.js.map +1 -1
  72. package/dist/src/config/defaultModelConfigs.js +11 -0
  73. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  74. package/dist/src/config/flashFallback.test.js +0 -37
  75. package/dist/src/config/flashFallback.test.js.map +1 -1
  76. package/dist/src/config/models.d.ts +23 -10
  77. package/dist/src/config/models.js +65 -23
  78. package/dist/src/config/models.js.map +1 -1
  79. package/dist/src/config/models.test.js +57 -76
  80. package/dist/src/config/models.test.js.map +1 -1
  81. package/dist/src/core/baseLlmClient.d.ts +3 -1
  82. package/dist/src/core/baseLlmClient.js +51 -43
  83. package/dist/src/core/baseLlmClient.js.map +1 -1
  84. package/dist/src/core/baseLlmClient.test.js +12 -19
  85. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  86. package/dist/src/core/client.js +18 -33
  87. package/dist/src/core/client.js.map +1 -1
  88. package/dist/src/core/client.test.js +14 -65
  89. package/dist/src/core/client.test.js.map +1 -1
  90. package/dist/src/core/contentGenerator.js +1 -1
  91. package/dist/src/core/contentGenerator.js.map +1 -1
  92. package/dist/src/core/contentGenerator.test.js +0 -6
  93. package/dist/src/core/contentGenerator.test.js.map +1 -1
  94. package/dist/src/core/geminiChat.js +29 -88
  95. package/dist/src/core/geminiChat.js.map +1 -1
  96. package/dist/src/core/geminiChat.test.js +35 -257
  97. package/dist/src/core/geminiChat.test.js.map +1 -1
  98. package/dist/src/core/geminiChat_network_retry.test.js +6 -6
  99. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  100. package/dist/src/core/prompts.js +6 -7
  101. package/dist/src/core/prompts.js.map +1 -1
  102. package/dist/src/core/prompts.test.js +10 -7
  103. package/dist/src/core/prompts.test.js.map +1 -1
  104. package/dist/src/core/turn.d.ts +1 -0
  105. package/dist/src/core/turn.js +4 -12
  106. package/dist/src/core/turn.js.map +1 -1
  107. package/dist/src/core/turn.test.js +0 -5
  108. package/dist/src/core/turn.test.js.map +1 -1
  109. package/dist/src/fallback/handler.js +54 -121
  110. package/dist/src/fallback/handler.js.map +1 -1
  111. package/dist/src/fallback/handler.test.js +80 -285
  112. package/dist/src/fallback/handler.test.js.map +1 -1
  113. package/dist/src/generated/git-commit.d.ts +2 -2
  114. package/dist/src/generated/git-commit.js +2 -2
  115. package/dist/src/index.d.ts +2 -0
  116. package/dist/src/index.js +2 -0
  117. package/dist/src/index.js.map +1 -1
  118. package/dist/src/output/json-formatter.test.js +2 -0
  119. package/dist/src/output/json-formatter.test.js.map +1 -1
  120. package/dist/src/output/stream-json-formatter.js +6 -0
  121. package/dist/src/output/stream-json-formatter.js.map +1 -1
  122. package/dist/src/output/stream-json-formatter.test.js +98 -100
  123. package/dist/src/output/stream-json-formatter.test.js.map +1 -1
  124. package/dist/src/output/types.d.ts +2 -0
  125. package/dist/src/routing/modelRouterService.js +0 -15
  126. package/dist/src/routing/modelRouterService.js.map +1 -1
  127. package/dist/src/routing/modelRouterService.test.js +0 -62
  128. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  129. package/dist/src/routing/strategies/classifierStrategy.js +10 -21
  130. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  131. package/dist/src/routing/strategies/classifierStrategy.test.js +2 -1
  132. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  133. package/dist/src/routing/strategies/fallbackStrategy.js +20 -12
  134. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  135. package/dist/src/routing/strategies/fallbackStrategy.test.js +63 -39
  136. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
  137. package/dist/src/routing/strategies/overrideStrategy.js +4 -3
  138. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  139. package/dist/src/services/chatCompressionService.js +3 -1
  140. package/dist/src/services/chatCompressionService.js.map +1 -1
  141. package/dist/src/services/loopDetectionService.js +2 -1
  142. package/dist/src/services/loopDetectionService.js.map +1 -1
  143. package/dist/src/services/loopDetectionService.test.js +14 -8
  144. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  145. package/dist/src/services/modelConfig.integration.test.js +1 -1
  146. package/dist/src/services/modelConfig.integration.test.js.map +1 -1
  147. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +16 -0
  148. package/dist/src/services/test-data/resolved-aliases.golden.json +16 -0
  149. package/dist/src/telemetry/sdk.js +2 -2
  150. package/dist/src/telemetry/sdk.js.map +1 -1
  151. package/dist/src/telemetry/uiTelemetry.d.ts +1 -0
  152. package/dist/src/telemetry/uiTelemetry.js +2 -0
  153. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  154. package/dist/src/telemetry/uiTelemetry.test.js +4 -0
  155. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  156. package/dist/src/tools/ripGrep.js +2 -2
  157. package/dist/src/tools/ripGrep.js.map +1 -1
  158. package/dist/src/utils/checkpointUtils.js +1 -1
  159. package/dist/src/utils/checkpointUtils.js.map +1 -1
  160. package/dist/src/utils/checkpointUtils.test.js +1 -1
  161. package/dist/src/utils/checkpointUtils.test.js.map +1 -1
  162. package/dist/src/utils/editCorrector.js +1 -1
  163. package/dist/src/utils/editCorrector.js.map +1 -1
  164. package/dist/src/utils/editCorrector.test.js +2 -2
  165. package/dist/src/utils/editCorrector.test.js.map +1 -1
  166. package/dist/src/utils/environmentContext.d.ts +1 -0
  167. package/dist/src/utils/environmentContext.js +1 -0
  168. package/dist/src/utils/environmentContext.js.map +1 -1
  169. package/dist/src/utils/events.d.ts +0 -16
  170. package/dist/src/utils/events.js +0 -9
  171. package/dist/src/utils/events.js.map +1 -1
  172. package/dist/src/utils/flashFallback.test.js +1 -1
  173. package/dist/src/utils/flashFallback.test.js.map +1 -1
  174. package/dist/src/utils/generateContentResponseUtilities.d.ts +1 -0
  175. package/dist/src/utils/generateContentResponseUtilities.js +10 -0
  176. package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
  177. package/dist/src/utils/generateContentResponseUtilities.test.js +59 -2
  178. package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
  179. package/dist/src/utils/retry.js +2 -16
  180. package/dist/src/utils/retry.js.map +1 -1
  181. package/dist/src/utils/retry.test.js +7 -22
  182. package/dist/src/utils/retry.test.js.map +1 -1
  183. package/dist/tsconfig.tsbuildinfo +1 -1
  184. package/package.json +1 -1
  185. package/dist/google-gemini-cli-core-0.21.0-nightly.20251213.977248e09.tgz +0 -0
  186. package/dist/src/agents/executor.js.map +0 -1
  187. package/dist/src/agents/executor.test.js.map +0 -1
  188. package/dist/src/agents/invocation.js.map +0 -1
  189. package/dist/src/agents/invocation.test.js.map +0 -1
  190. /package/dist/src/agents/{executor.test.d.ts → local-invocation.test.d.ts} +0 -0
  191. /package/dist/src/agents/{invocation.test.d.ts → remote-invocation.test.d.ts} +0 -0
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { describe, it, expect, vi, beforeEach, afterEach, } from 'vitest';
7
7
  import { debugLogger } from '../utils/debugLogger.js';
8
- import { AgentExecutor } from './executor.js';
8
+ import { LocalAgentExecutor } from './local-executor.js';
9
9
  import { makeFakeConfig } from '../test-utils/config.js';
10
10
  import { ToolRegistry } from '../tools/tool-registry.js';
11
11
  import { LSTool } from '../tools/ls.js';
@@ -124,7 +124,7 @@ let parentToolRegistry;
124
124
  /**
125
125
  * Type-safe helper to create agent definitions for tests.
126
126
  */
127
- const createTestDefinition = (tools = [LS_TOOL_NAME], runConfigOverrides = {}, outputConfigMode = 'default', schema = z.string()) => {
127
+ export const createTestDefinition = (tools = [LS_TOOL_NAME], runConfigOverrides = {}, outputConfigMode = 'default', schema = z.string()) => {
128
128
  let outputConfig;
129
129
  if (outputConfigMode === 'default') {
130
130
  outputConfig = {
@@ -134,6 +134,7 @@ const createTestDefinition = (tools = [LS_TOOL_NAME], runConfigOverrides = {}, o
134
134
  };
135
135
  }
136
136
  return {
137
+ kind: 'local',
137
138
  name: 'TestAgent',
138
139
  description: 'An agent for testing.',
139
140
  inputConfig: {
@@ -146,7 +147,7 @@ const createTestDefinition = (tools = [LS_TOOL_NAME], runConfigOverrides = {}, o
146
147
  outputConfig,
147
148
  };
148
149
  };
149
- describe('AgentExecutor', () => {
150
+ describe('LocalAgentExecutor', () => {
150
151
  let activities;
151
152
  let onActivity;
152
153
  let abortController;
@@ -182,7 +183,7 @@ describe('AgentExecutor', () => {
182
183
  parentToolRegistry.registerTool(new LSTool(mockConfig));
183
184
  parentToolRegistry.registerTool(new MockTool({ name: READ_FILE_TOOL_NAME }));
184
185
  parentToolRegistry.registerTool(MOCK_TOOL_NOT_ALLOWED);
185
- vi.spyOn(mockConfig, 'getToolRegistry').mockResolvedValue(parentToolRegistry);
186
+ vi.spyOn(mockConfig, 'getToolRegistry').mockReturnValue(parentToolRegistry);
186
187
  mockedGetDirectoryContextString.mockResolvedValue('Mocked Environment Context');
187
188
  activities = [];
188
189
  onActivity = (activity) => activities.push(activity);
@@ -195,19 +196,19 @@ describe('AgentExecutor', () => {
195
196
  describe('create (Initialization and Validation)', () => {
196
197
  it('should create successfully with allowed tools', async () => {
197
198
  const definition = createTestDefinition([LS_TOOL_NAME]);
198
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
199
- expect(executor).toBeInstanceOf(AgentExecutor);
199
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
200
+ expect(executor).toBeInstanceOf(LocalAgentExecutor);
200
201
  });
201
202
  it('SECURITY: should throw if a tool is not on the non-interactive allowlist', async () => {
202
203
  const definition = createTestDefinition([MOCK_TOOL_NOT_ALLOWED.name]);
203
- await expect(AgentExecutor.create(definition, mockConfig, onActivity)).rejects.toThrow(/not on the allow-list for non-interactive execution/);
204
+ await expect(LocalAgentExecutor.create(definition, mockConfig, onActivity)).rejects.toThrow(/not on the allow-list for non-interactive execution/);
204
205
  });
205
206
  it('should create an isolated ToolRegistry for the agent', async () => {
206
207
  const definition = createTestDefinition([
207
208
  LS_TOOL_NAME,
208
209
  READ_FILE_TOOL_NAME,
209
210
  ]);
210
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
211
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
211
212
  const agentRegistry = executor['toolRegistry'];
212
213
  expect(agentRegistry).not.toBe(parentToolRegistry);
213
214
  expect(agentRegistry.getAllToolNames()).toEqual(expect.arrayContaining([LS_TOOL_NAME, READ_FILE_TOOL_NAME]));
@@ -218,7 +219,7 @@ describe('AgentExecutor', () => {
218
219
  const parentId = 'parent-id';
219
220
  mockedPromptIdContext.getStore.mockReturnValue(parentId);
220
221
  const definition = createTestDefinition();
221
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
222
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
222
223
  expect(executor['agentId']).toMatch(new RegExp(`^${parentId}-${definition.name}-`));
223
224
  });
224
225
  it('should correctly apply templates to initialMessages', async () => {
@@ -239,7 +240,7 @@ describe('AgentExecutor', () => {
239
240
  id: 'call1',
240
241
  },
241
242
  ]);
242
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
243
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
243
244
  await executor.run(inputs, signal);
244
245
  const chatConstructorArgs = MockedGeminiChat.mock.calls[0];
245
246
  const startHistory = chatConstructorArgs[3]; // history is the 4th arg
@@ -259,7 +260,7 @@ describe('AgentExecutor', () => {
259
260
  definition.inputConfig.inputs = {
260
261
  goal: { type: 'string', required: true, description: 'goal' },
261
262
  };
262
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
263
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
263
264
  // Run without inputs to trigger validation error
264
265
  await expect(executor.run({}, signal)).rejects.toThrow(/Missing required input parameters/);
265
266
  expect(mockedLogAgentStart).toHaveBeenCalledTimes(1);
@@ -270,7 +271,7 @@ describe('AgentExecutor', () => {
270
271
  });
271
272
  it('should execute successfully when model calls complete_task with output (Happy Path with Output)', async () => {
272
273
  const definition = createTestDefinition();
273
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
274
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
274
275
  const inputs = { goal: 'Find files' };
275
276
  // Turn 1: Model calls ls
276
277
  mockModelResponse([{ name: LS_TOOL_NAME, args: { path: '.' }, id: 'call1' }], 'T1: Listing');
@@ -371,7 +372,7 @@ describe('AgentExecutor', () => {
371
372
  });
372
373
  it('should execute successfully when model calls complete_task without output (Happy Path No Output)', async () => {
373
374
  const definition = createTestDefinition([LS_TOOL_NAME], {}, 'none');
374
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
375
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
375
376
  mockModelResponse([
376
377
  { name: LS_TOOL_NAME, args: { path: '.' }, id: 'call1' },
377
378
  ]);
@@ -419,7 +420,7 @@ describe('AgentExecutor', () => {
419
420
  });
420
421
  it('should error immediately if the model stops tools without calling complete_task (Protocol Violation)', async () => {
421
422
  const definition = createTestDefinition();
422
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
423
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
423
424
  mockModelResponse([
424
425
  { name: LS_TOOL_NAME, args: { path: '.' }, id: 'call1' },
425
426
  ]);
@@ -474,7 +475,7 @@ describe('AgentExecutor', () => {
474
475
  });
475
476
  it('should report an error if complete_task is called with missing required arguments', async () => {
476
477
  const definition = createTestDefinition();
477
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
478
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
478
479
  // Turn 1: Missing arg
479
480
  mockModelResponse([
480
481
  {
@@ -518,7 +519,7 @@ describe('AgentExecutor', () => {
518
519
  });
519
520
  it('should handle multiple calls to complete_task in the same turn (accept first, block rest)', async () => {
520
521
  const definition = createTestDefinition([], {}, 'none');
521
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
522
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
522
523
  // Turn 1: Duplicate calls
523
524
  mockModelResponse([
524
525
  { name: TASK_COMPLETE_TOOL_NAME, args: {}, id: 'call1' },
@@ -536,7 +537,7 @@ describe('AgentExecutor', () => {
536
537
  });
537
538
  it('should execute parallel tool calls and then complete', async () => {
538
539
  const definition = createTestDefinition([LS_TOOL_NAME]);
539
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
540
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
540
541
  const call1 = {
541
542
  name: LS_TOOL_NAME,
542
543
  args: { path: '/a' },
@@ -615,7 +616,7 @@ describe('AgentExecutor', () => {
615
616
  });
616
617
  it('SECURITY: should block unauthorized tools and provide explicit failure to model', async () => {
617
618
  const definition = createTestDefinition([LS_TOOL_NAME]);
618
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
619
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
619
620
  // Turn 1: Model tries to use a tool not in its config
620
621
  const badCallId = 'bad_call_1';
621
622
  mockModelResponse([
@@ -640,7 +641,7 @@ describe('AgentExecutor', () => {
640
641
  // Verify external executor was not called (Security held)
641
642
  expect(mockExecuteToolCall).not.toHaveBeenCalled();
642
643
  // 2. Verify console warning
643
- expect(consoleWarnSpy).toHaveBeenCalledWith(expect.stringContaining(`[AgentExecutor] Blocked call:`));
644
+ expect(consoleWarnSpy).toHaveBeenCalledWith(expect.stringContaining(`[LocalAgentExecutor] Blocked call:`));
644
645
  consoleWarnSpy.mockRestore();
645
646
  // Verify specific error was sent back to model
646
647
  const turn2Params = getMockMessageParams(1);
@@ -668,7 +669,7 @@ describe('AgentExecutor', () => {
668
669
  describe('Edge Cases and Error Handling', () => {
669
670
  it('should report an error if complete_task output fails schema validation', async () => {
670
671
  const definition = createTestDefinition([], {}, 'default', z.string().min(10));
671
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
672
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
672
673
  // Turn 1: Invalid arg (too short)
673
674
  mockModelResponse([
674
675
  {
@@ -720,7 +721,7 @@ describe('AgentExecutor', () => {
720
721
  throw initError;
721
722
  });
722
723
  // We expect the error to be thrown during the run, not creation
723
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
724
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
724
725
  await expect(executor.run({ goal: 'test' }, signal)).rejects.toThrow(`Failed to create chat object: ${initError}`);
725
726
  // Ensure the error was reported via the activity callback
726
727
  expect(activities).toContainEqual(expect.objectContaining({
@@ -736,7 +737,7 @@ describe('AgentExecutor', () => {
736
737
  });
737
738
  it('should handle a failed tool call and feed the error to the model', async () => {
738
739
  const definition = createTestDefinition([LS_TOOL_NAME]);
739
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
740
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
740
741
  const toolErrorMessage = 'Tool failed spectacularly';
741
742
  // Turn 1: Model calls a tool that will fail
742
743
  mockModelResponse([
@@ -842,7 +843,7 @@ describe('AgentExecutor', () => {
842
843
  const definition = createTestDefinition([LS_TOOL_NAME], {
843
844
  max_turns: MAX,
844
845
  });
845
- const executor = await AgentExecutor.create(definition, mockConfig);
846
+ const executor = await LocalAgentExecutor.create(definition, mockConfig);
846
847
  mockWorkResponse('t1');
847
848
  mockWorkResponse('t2');
848
849
  // Recovery turn
@@ -855,7 +856,7 @@ describe('AgentExecutor', () => {
855
856
  const definition = createTestDefinition([LS_TOOL_NAME], {
856
857
  max_time_minutes: 0.5, // 30 seconds
857
858
  });
858
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
859
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
859
860
  // Mock a model call that is interruptible by an abort signal.
860
861
  mockSendMessageStream.mockImplementationOnce(async (_key, _message, _promptId, signal) =>
861
862
  // eslint-disable-next-line require-yield
@@ -893,7 +894,7 @@ describe('AgentExecutor', () => {
893
894
  const definition = createTestDefinition([LS_TOOL_NAME], {
894
895
  max_time_minutes: 1,
895
896
  });
896
- const executor = await AgentExecutor.create(definition, mockConfig);
897
+ const executor = await LocalAgentExecutor.create(definition, mockConfig);
897
898
  mockModelResponse([
898
899
  { name: LS_TOOL_NAME, args: { path: '.' }, id: 't1' },
899
900
  ]);
@@ -923,7 +924,7 @@ describe('AgentExecutor', () => {
923
924
  });
924
925
  it('should terminate when AbortSignal is triggered', async () => {
925
926
  const definition = createTestDefinition();
926
- const executor = await AgentExecutor.create(definition, mockConfig);
927
+ const executor = await LocalAgentExecutor.create(definition, mockConfig);
927
928
  mockSendMessageStream.mockImplementationOnce(async () => (async function* () {
928
929
  yield {
929
930
  type: StreamEventType.CHUNK,
@@ -968,7 +969,7 @@ describe('AgentExecutor', () => {
968
969
  const definition = createTestDefinition([LS_TOOL_NAME], {
969
970
  max_turns: MAX,
970
971
  });
971
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
972
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
972
973
  // Turn 1 (hits max_turns)
973
974
  mockWorkResponse('t1');
974
975
  // Recovery Turn (succeeds)
@@ -999,7 +1000,7 @@ describe('AgentExecutor', () => {
999
1000
  const definition = createTestDefinition([LS_TOOL_NAME], {
1000
1001
  max_turns: MAX,
1001
1002
  });
1002
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
1003
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
1003
1004
  // Turn 1 (hits max_turns)
1004
1005
  mockWorkResponse('t1');
1005
1006
  // Recovery Turn (fails by calling no tools)
@@ -1018,7 +1019,7 @@ describe('AgentExecutor', () => {
1018
1019
  });
1019
1020
  it('should recover successfully from a protocol violation (no complete_task)', async () => {
1020
1021
  const definition = createTestDefinition();
1021
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
1022
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
1022
1023
  // Turn 1: Normal work
1023
1024
  mockWorkResponse('t1');
1024
1025
  // Turn 2: Protocol violation (no tool calls)
@@ -1044,7 +1045,7 @@ describe('AgentExecutor', () => {
1044
1045
  });
1045
1046
  it('should fail recovery from a protocol violation if it violates again', async () => {
1046
1047
  const definition = createTestDefinition();
1047
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
1048
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
1048
1049
  // Turn 1: Normal work
1049
1050
  mockWorkResponse('t1');
1050
1051
  // Turn 2: Protocol violation (no tool calls)
@@ -1067,7 +1068,7 @@ describe('AgentExecutor', () => {
1067
1068
  const definition = createTestDefinition([LS_TOOL_NAME], {
1068
1069
  max_time_minutes: 0.5, // 30 seconds
1069
1070
  });
1070
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
1071
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
1071
1072
  // Mock a model call that gets interrupted by the timeout.
1072
1073
  mockSendMessageStream.mockImplementationOnce(async (_key, _message, _promptId, signal) =>
1073
1074
  // eslint-disable-next-line require-yield
@@ -1103,7 +1104,7 @@ describe('AgentExecutor', () => {
1103
1104
  const definition = createTestDefinition([LS_TOOL_NAME], {
1104
1105
  max_time_minutes: 0.5, // 30 seconds
1105
1106
  });
1106
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
1107
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
1107
1108
  mockSendMessageStream.mockImplementationOnce(async (_key, _message, _promptId, signal) =>
1108
1109
  // eslint-disable-next-line require-yield
1109
1110
  (async function* () {
@@ -1169,7 +1170,7 @@ describe('AgentExecutor', () => {
1169
1170
  const definition = createTestDefinition([LS_TOOL_NAME], {
1170
1171
  max_turns: MAX,
1171
1172
  });
1172
- const executor = await AgentExecutor.create(definition, mockConfig);
1173
+ const executor = await LocalAgentExecutor.create(definition, mockConfig);
1173
1174
  // Turn 1 (hits max_turns)
1174
1175
  mockWorkResponse('t1');
1175
1176
  // Recovery Turn (fails by calling no tools)
@@ -1189,7 +1190,7 @@ describe('AgentExecutor', () => {
1189
1190
  const definition = createTestDefinition([LS_TOOL_NAME], {
1190
1191
  max_turns: MAX,
1191
1192
  });
1192
- const executor = await AgentExecutor.create(definition, mockConfig);
1193
+ const executor = await LocalAgentExecutor.create(definition, mockConfig);
1193
1194
  // Turn 1 (hits max_turns)
1194
1195
  mockWorkResponse('t1');
1195
1196
  // Recovery Turn (succeeds)
@@ -1236,7 +1237,7 @@ describe('AgentExecutor', () => {
1236
1237
  };
1237
1238
  it('should attempt to compress chat history on each turn', async () => {
1238
1239
  const definition = createTestDefinition();
1239
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
1240
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
1240
1241
  // Mock compression to do nothing
1241
1242
  mockCompress.mockResolvedValue({
1242
1243
  newHistory: null,
@@ -1257,7 +1258,7 @@ describe('AgentExecutor', () => {
1257
1258
  });
1258
1259
  it('should update chat history when compression is successful', async () => {
1259
1260
  const definition = createTestDefinition();
1260
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
1261
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
1261
1262
  const compressedHistory = [
1262
1263
  { role: 'user', parts: [{ text: 'compressed' }] },
1263
1264
  ];
@@ -1280,7 +1281,7 @@ describe('AgentExecutor', () => {
1280
1281
  });
1281
1282
  it('should pass hasFailedCompressionAttempt=true to compression after a failure', async () => {
1282
1283
  const definition = createTestDefinition();
1283
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
1284
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
1284
1285
  // First call fails
1285
1286
  mockCompress.mockResolvedValueOnce({
1286
1287
  newHistory: null,
@@ -1312,7 +1313,7 @@ describe('AgentExecutor', () => {
1312
1313
  });
1313
1314
  it('should reset hasFailedCompressionAttempt flag after a successful compression', async () => {
1314
1315
  const definition = createTestDefinition();
1315
- const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
1316
+ const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
1316
1317
  const compressedHistory = [
1317
1318
  { role: 'user', parts: [{ text: 'compressed' }] },
1318
1319
  ];
@@ -1358,4 +1359,4 @@ describe('AgentExecutor', () => {
1358
1359
  });
1359
1360
  });
1360
1361
  });
1361
- //# sourceMappingURL=executor.test.js.map
1362
+ //# sourceMappingURL=local-executor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-executor.test.js","sourceRoot":"","sources":["../../../src/agents/local-executor.test.ts"],"names":[],"mappings":"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"}
@@ -6,29 +6,28 @@
6
6
  import type { Config } from '../config/config.js';
7
7
  import type { AnsiOutput } from '../utils/terminalSerializer.js';
8
8
  import { BaseToolInvocation, type ToolResult } from '../tools/tools.js';
9
- import type { AgentDefinition, AgentInputs } from './types.js';
9
+ import type { LocalAgentDefinition, AgentInputs } from './types.js';
10
10
  import type { MessageBus } from '../confirmation-bus/message-bus.js';
11
- import { type z } from 'zod';
12
11
  /**
13
12
  * Represents a validated, executable instance of a subagent tool.
14
13
  *
15
14
  * This class orchestrates the execution of a defined agent by:
16
- * 1. Initializing the {@link AgentExecutor}.
15
+ * 1. Initializing the {@link LocalAgentExecutor}.
17
16
  * 2. Running the agent's execution loop.
18
17
  * 3. Bridging the agent's streaming activity (e.g., thoughts) to the tool's
19
18
  * live output stream.
20
19
  * 4. Formatting the final result into a {@link ToolResult}.
21
20
  */
22
- export declare class SubagentInvocation<TOutput extends z.ZodTypeAny> extends BaseToolInvocation<AgentInputs, ToolResult> {
21
+ export declare class LocalSubagentInvocation extends BaseToolInvocation<AgentInputs, ToolResult> {
23
22
  private readonly definition;
24
23
  private readonly config;
25
24
  /**
26
- * @param params The validated input parameters for the agent.
27
25
  * @param definition The definition object that configures the agent.
28
26
  * @param config The global runtime configuration.
27
+ * @param params The validated input parameters for the agent.
29
28
  * @param messageBus Optional message bus for policy enforcement.
30
29
  */
31
- constructor(params: AgentInputs, definition: AgentDefinition<TOutput>, config: Config, messageBus?: MessageBus);
30
+ constructor(definition: LocalAgentDefinition, config: Config, params: AgentInputs, messageBus?: MessageBus);
32
31
  /**
33
32
  * Returns a concise, human-readable description of the invocation.
34
33
  * Used for logging and display purposes.
@@ -3,33 +3,32 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { AgentExecutor } from './executor.js';
6
+ import { LocalAgentExecutor } from './local-executor.js';
7
7
  import { BaseToolInvocation } from '../tools/tools.js';
8
8
  import { ToolErrorType } from '../tools/tool-error.js';
9
- import {} from 'zod';
10
9
  const INPUT_PREVIEW_MAX_LENGTH = 50;
11
10
  const DESCRIPTION_MAX_LENGTH = 200;
12
11
  /**
13
12
  * Represents a validated, executable instance of a subagent tool.
14
13
  *
15
14
  * This class orchestrates the execution of a defined agent by:
16
- * 1. Initializing the {@link AgentExecutor}.
15
+ * 1. Initializing the {@link LocalAgentExecutor}.
17
16
  * 2. Running the agent's execution loop.
18
17
  * 3. Bridging the agent's streaming activity (e.g., thoughts) to the tool's
19
18
  * live output stream.
20
19
  * 4. Formatting the final result into a {@link ToolResult}.
21
20
  */
22
- export class SubagentInvocation extends BaseToolInvocation {
21
+ export class LocalSubagentInvocation extends BaseToolInvocation {
23
22
  definition;
24
23
  config;
25
24
  /**
26
- * @param params The validated input parameters for the agent.
27
25
  * @param definition The definition object that configures the agent.
28
26
  * @param config The global runtime configuration.
27
+ * @param params The validated input parameters for the agent.
29
28
  * @param messageBus Optional message bus for policy enforcement.
30
29
  */
31
- constructor(params, definition, config, messageBus) {
32
- super(params, messageBus);
30
+ constructor(definition, config, params, messageBus) {
31
+ super(params, messageBus, definition.name, definition.displayName);
33
32
  this.definition = definition;
34
33
  this.config = config;
35
34
  }
@@ -67,7 +66,7 @@ export class SubagentInvocation extends BaseToolInvocation {
67
66
  updateOutput(`🤖💭 ${activity.data['text']}`);
68
67
  }
69
68
  };
70
- const executor = await AgentExecutor.create(this.definition, this.config, onActivity);
69
+ const executor = await LocalAgentExecutor.create(this.definition, this.config, onActivity);
71
70
  const output = await executor.run(this.params, signal);
72
71
  const resultContent = `Subagent '${this.definition.name}' finished.
73
72
  Termination Reason: ${output.terminate_reason}
@@ -99,4 +98,4 @@ ${output.result}
99
98
  }
100
99
  }
101
100
  }
102
- //# sourceMappingURL=invocation.js.map
101
+ //# sourceMappingURL=local-invocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-invocation.js","sourceRoot":"","sources":["../../../src/agents/local-invocation.ts"],"names":[],"mappings":"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"}