@google/gemini-cli-a2a-server 0.33.0-preview.9 → 0.33.0

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.
@@ -164,6 +164,9 @@ export class CoderAgentExecutor {
164
164
  logger.info(`[CoderAgentExecutor] Task ${taskId} cancellation processed. Saving state.`);
165
165
  await this.taskStore?.save(wrapper.toSDKTask());
166
166
  logger.info(`[CoderAgentExecutor] Task ${taskId} state CANCELED saved.`);
167
+ // Cleanup listener subscriptions to avoid memory leaks.
168
+ wrapper.task.dispose();
169
+ this.tasks.delete(taskId);
167
170
  }
168
171
  catch (error) {
169
172
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
@@ -211,19 +214,22 @@ export class CoderAgentExecutor {
211
214
  if (store) {
212
215
  // Grab the raw socket from the request object
213
216
  const socket = store.req.socket;
214
- const onClientEnd = () => {
215
- logger.info(`[CoderAgentExecutor] Client socket closed for task ${taskId}. Cancelling execution.`);
217
+ const onSocketEnd = () => {
218
+ logger.info(`[CoderAgentExecutor] Socket ended for message ${userMessage.messageId} (task ${taskId}). Aborting execution loop.`);
216
219
  if (!abortController.signal.aborted) {
217
220
  abortController.abort();
218
221
  }
219
222
  // Clean up the listener to prevent memory leaks
220
- socket.removeListener('close', onClientEnd);
223
+ socket.removeListener('end', onSocketEnd);
221
224
  };
222
225
  // Listen on the socket's 'end' event (remote closed the connection)
223
- socket.on('end', onClientEnd);
226
+ socket.on('end', onSocketEnd);
227
+ socket.once('close', () => {
228
+ socket.removeListener('end', onSocketEnd);
229
+ });
224
230
  // It's also good practice to remove the listener if the task completes successfully
225
231
  abortSignal.addEventListener('abort', () => {
226
- socket.removeListener('end', onClientEnd);
232
+ socket.removeListener('end', onSocketEnd);
227
233
  });
228
234
  logger.info(`[CoderAgentExecutor] Socket close handler set up for task ${taskId}.`);
229
235
  }
@@ -313,6 +319,17 @@ export class CoderAgentExecutor {
313
319
  // End this execution-- the original/source will be resumed.
314
320
  return;
315
321
  }
322
+ // Check if this is the primary/initial execution for this task
323
+ const isPrimaryExecution = !this.executingTasks.has(taskId);
324
+ if (!isPrimaryExecution) {
325
+ logger.info(`[CoderAgentExecutor] Primary execution already active for task ${taskId}. Starting secondary loop for message ${userMessage.messageId}.`);
326
+ currentTask.eventBus = eventBus;
327
+ for await (const _ of currentTask.acceptUserMessage(requestContext, abortController.signal)) {
328
+ logger.info(`[CoderAgentExecutor] Processing user message ${userMessage.messageId} in secondary execution loop for task ${taskId}.`);
329
+ }
330
+ // End this execution-- the original/source will be resumed.
331
+ return;
332
+ }
316
333
  logger.info(`[CoderAgentExecutor] Starting main execution for message ${userMessage.messageId} for task ${taskId}.`);
317
334
  this.executingTasks.add(taskId);
318
335
  try {
@@ -395,14 +412,21 @@ export class CoderAgentExecutor {
395
412
  }
396
413
  }
397
414
  finally {
398
- this.executingTasks.delete(taskId);
399
- logger.info(`[CoderAgentExecutor] Saving final state for task ${taskId}.`);
400
- try {
401
- await this.taskStore?.save(wrapper.toSDKTask());
402
- logger.info(`[CoderAgentExecutor] Task ${taskId} state saved.`);
403
- }
404
- catch (saveError) {
405
- logger.error(`[CoderAgentExecutor] Failed to save task ${taskId} state in finally block:`, saveError);
415
+ if (isPrimaryExecution) {
416
+ this.executingTasks.delete(taskId);
417
+ logger.info(`[CoderAgentExecutor] Saving final state for task ${taskId}.`);
418
+ try {
419
+ await this.taskStore?.save(wrapper.toSDKTask());
420
+ logger.info(`[CoderAgentExecutor] Task ${taskId} state saved.`);
421
+ }
422
+ catch (saveError) {
423
+ logger.error(`[CoderAgentExecutor] Failed to save task ${taskId} state in finally block:`, saveError);
424
+ }
425
+ if (['canceled', 'failed', 'completed'].includes(currentTask.taskState)) {
426
+ logger.info(`[CoderAgentExecutor] Task ${taskId} reached terminal state ${currentTask.taskState}. Evicting and disposing.`);
427
+ wrapper.task.dispose();
428
+ this.tasks.delete(taskId);
429
+ }
406
430
  }
407
431
  }
408
432
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/agent/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/agent/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,186 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
7
+ import { CoderAgentExecutor } from './executor.js';
8
+ import { EventEmitter } from 'node:events';
9
+ import { requestStorage } from '../http/requestStorage.js';
10
+ // Mocks for constructor dependencies
11
+ vi.mock('../config/config.js', () => ({
12
+ loadConfig: vi.fn().mockReturnValue({
13
+ getSessionId: () => 'test-session',
14
+ getTargetDir: () => '/tmp',
15
+ getCheckpointingEnabled: () => false,
16
+ }),
17
+ loadEnvironment: vi.fn(),
18
+ setTargetDir: vi.fn().mockReturnValue('/tmp'),
19
+ }));
20
+ vi.mock('../config/settings.js', () => ({
21
+ loadSettings: vi.fn().mockReturnValue({}),
22
+ }));
23
+ vi.mock('../config/extension.js', () => ({
24
+ loadExtensions: vi.fn().mockReturnValue([]),
25
+ }));
26
+ vi.mock('../http/requestStorage.js', () => ({
27
+ requestStorage: {
28
+ getStore: vi.fn(),
29
+ },
30
+ }));
31
+ vi.mock('./task.js', () => {
32
+ const mockTaskInstance = (taskId, contextId) => ({
33
+ id: taskId,
34
+ contextId,
35
+ taskState: 'working',
36
+ acceptUserMessage: vi
37
+ .fn()
38
+ .mockImplementation(async function* (context, aborted) {
39
+ const isConfirmation = context.userMessage.parts.some((p) => p.kind === 'confirmation');
40
+ // Hang only for main user messages (text), allow confirmations to finish quickly
41
+ if (!isConfirmation && aborted) {
42
+ await new Promise((resolve) => {
43
+ aborted.addEventListener('abort', resolve, { once: true });
44
+ });
45
+ }
46
+ yield { type: 'content', value: 'hello' };
47
+ }),
48
+ acceptAgentMessage: vi.fn().mockResolvedValue(undefined),
49
+ scheduleToolCalls: vi.fn().mockResolvedValue(undefined),
50
+ waitForPendingTools: vi.fn().mockResolvedValue(undefined),
51
+ getAndClearCompletedTools: vi.fn().mockReturnValue([]),
52
+ addToolResponsesToHistory: vi.fn(),
53
+ sendCompletedToolsToLlm: vi.fn().mockImplementation(async function* () { }),
54
+ cancelPendingTools: vi.fn(),
55
+ setTaskStateAndPublishUpdate: vi.fn(),
56
+ dispose: vi.fn(),
57
+ getMetadata: vi.fn().mockResolvedValue({}),
58
+ geminiClient: {
59
+ initialize: vi.fn().mockResolvedValue(undefined),
60
+ },
61
+ toSDKTask: () => ({
62
+ id: taskId,
63
+ contextId,
64
+ kind: 'task',
65
+ status: { state: 'working', timestamp: new Date().toISOString() },
66
+ metadata: {},
67
+ history: [],
68
+ artifacts: [],
69
+ }),
70
+ });
71
+ const MockTask = vi.fn().mockImplementation(mockTaskInstance);
72
+ MockTask.create = vi
73
+ .fn()
74
+ .mockImplementation(async (taskId, contextId) => mockTaskInstance(taskId, contextId));
75
+ return { Task: MockTask };
76
+ });
77
+ describe('CoderAgentExecutor', () => {
78
+ let executor;
79
+ let mockTaskStore;
80
+ let mockEventBus;
81
+ beforeEach(() => {
82
+ vi.clearAllMocks();
83
+ mockTaskStore = {
84
+ save: vi.fn().mockResolvedValue(undefined),
85
+ load: vi.fn().mockResolvedValue(undefined),
86
+ delete: vi.fn().mockResolvedValue(undefined),
87
+ list: vi.fn().mockResolvedValue([]),
88
+ };
89
+ mockEventBus = new EventEmitter();
90
+ mockEventBus.publish = vi.fn();
91
+ mockEventBus.finished = vi.fn();
92
+ executor = new CoderAgentExecutor(mockTaskStore);
93
+ });
94
+ it('should distinguish between primary and secondary execution', async () => {
95
+ const taskId = 'test-task';
96
+ const contextId = 'test-context';
97
+ const mockSocket = new EventEmitter();
98
+ const requestContext = {
99
+ userMessage: {
100
+ messageId: 'msg-1',
101
+ taskId,
102
+ contextId,
103
+ parts: [{ kind: 'text', text: 'hi' }],
104
+ metadata: {
105
+ coderAgent: { kind: 'agent-settings', workspacePath: '/tmp' },
106
+ },
107
+ },
108
+ };
109
+ // Mock requestStorage for primary
110
+ requestStorage.getStore.mockReturnValue({
111
+ req: { socket: mockSocket },
112
+ });
113
+ // First execution (Primary)
114
+ const primaryPromise = executor.execute(requestContext, mockEventBus);
115
+ // Give it enough time to reach line 490 in executor.ts
116
+ await new Promise((resolve) => setTimeout(resolve, 50));
117
+ expect(executor.executingTasks.has(taskId)).toBe(true);
118
+ const wrapper = executor.getTask(taskId);
119
+ expect(wrapper).toBeDefined();
120
+ // Mock requestStorage for secondary
121
+ const secondarySocket = new EventEmitter();
122
+ requestStorage.getStore.mockReturnValue({
123
+ req: { socket: secondarySocket },
124
+ });
125
+ const secondaryRequestContext = {
126
+ userMessage: {
127
+ messageId: 'msg-2',
128
+ taskId,
129
+ contextId,
130
+ parts: [{ kind: 'confirmation', callId: '1', outcome: 'proceed' }],
131
+ metadata: {
132
+ coderAgent: { kind: 'agent-settings', workspacePath: '/tmp' },
133
+ },
134
+ },
135
+ };
136
+ const secondaryPromise = executor.execute(secondaryRequestContext, mockEventBus);
137
+ // Secondary execution should NOT add to executingTasks (already there)
138
+ // and should return early after its loop
139
+ await secondaryPromise;
140
+ // Task should still be in executingTasks and NOT disposed
141
+ expect(executor.executingTasks.has(taskId)).toBe(true);
142
+ expect(wrapper?.task.dispose).not.toHaveBeenCalled();
143
+ // Now simulate secondary socket closure - it should NOT affect primary
144
+ secondarySocket.emit('end');
145
+ expect(executor.executingTasks.has(taskId)).toBe(true);
146
+ expect(wrapper?.task.dispose).not.toHaveBeenCalled();
147
+ // Set to terminal state to verify disposal on finish
148
+ wrapper.task.taskState = 'completed';
149
+ // Now close primary socket
150
+ mockSocket.emit('end');
151
+ await primaryPromise;
152
+ expect(executor.executingTasks.has(taskId)).toBe(false);
153
+ expect(wrapper?.task.dispose).toHaveBeenCalled();
154
+ });
155
+ it('should evict task from cache when it reaches terminal state', async () => {
156
+ const taskId = 'test-task-terminal';
157
+ const contextId = 'test-context';
158
+ const mockSocket = new EventEmitter();
159
+ requestStorage.getStore.mockReturnValue({
160
+ req: { socket: mockSocket },
161
+ });
162
+ const requestContext = {
163
+ userMessage: {
164
+ messageId: 'msg-1',
165
+ taskId,
166
+ contextId,
167
+ parts: [{ kind: 'text', text: 'hi' }],
168
+ metadata: {
169
+ coderAgent: { kind: 'agent-settings', workspacePath: '/tmp' },
170
+ },
171
+ },
172
+ };
173
+ const primaryPromise = executor.execute(requestContext, mockEventBus);
174
+ await new Promise((resolve) => setTimeout(resolve, 50));
175
+ const wrapper = executor.getTask(taskId);
176
+ expect(wrapper).toBeDefined();
177
+ // Simulate terminal state
178
+ wrapper.task.taskState = 'completed';
179
+ // Finish primary execution
180
+ mockSocket.emit('end');
181
+ await primaryPromise;
182
+ expect(executor.getTask(taskId)).toBeUndefined();
183
+ expect(wrapper.task.dispose).toHaveBeenCalled();
184
+ });
185
+ });
186
+ //# sourceMappingURL=executor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.test.js","sourceRoot":"","sources":["../../../src/agent/executor.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};