@google/gemini-cli-a2a-server 0.33.0-preview.13 → 0.33.0-preview.14
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.
- package/dist/a2a-server.mjs +240 -47
- package/dist/src/agent/executor.js +37 -13
- package/dist/src/agent/executor.js.map +1 -1
- package/dist/src/agent/executor.test.d.ts +6 -0
- package/dist/src/agent/executor.test.js +186 -0
- package/dist/src/agent/executor.test.js.map +1 -0
- package/dist/src/agent/task-event-driven.test.d.ts +1 -0
- package/dist/src/agent/task-event-driven.test.js +446 -0
- package/dist/src/agent/task-event-driven.test.js.map +1 -0
- package/dist/src/agent/task.d.ts +14 -3
- package/dist/src/agent/task.js +208 -33
- package/dist/src/agent/task.js.map +1 -1
- package/dist/src/agent/task.test.js +19 -2
- package/dist/src/agent/task.test.js.map +1 -1
- package/dist/src/config/config.js +1 -0
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/settings.d.ts +6 -0
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/utils/testing_utils.js +1 -0
- package/dist/src/utils/testing_utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
package/dist/a2a-server.mjs
CHANGED
|
@@ -214245,8 +214245,8 @@ var GIT_COMMIT_INFO, CLI_VERSION;
|
|
|
214245
214245
|
var init_git_commit = __esm({
|
|
214246
214246
|
"packages/core/dist/src/generated/git-commit.js"() {
|
|
214247
214247
|
"use strict";
|
|
214248
|
-
GIT_COMMIT_INFO = "
|
|
214249
|
-
CLI_VERSION = "0.33.0-preview.
|
|
214248
|
+
GIT_COMMIT_INFO = "0d27afcc7";
|
|
214249
|
+
CLI_VERSION = "0.33.0-preview.14";
|
|
214250
214250
|
}
|
|
214251
214251
|
});
|
|
214252
214252
|
|
|
@@ -291504,7 +291504,7 @@ function getVersion() {
|
|
|
291504
291504
|
}
|
|
291505
291505
|
versionPromise = (async () => {
|
|
291506
291506
|
const pkgJson = await getPackageJson(__dirname3);
|
|
291507
|
-
return "0.33.0-preview.
|
|
291507
|
+
return "0.33.0-preview.14";
|
|
291508
291508
|
})();
|
|
291509
291509
|
return versionPromise;
|
|
291510
291510
|
}
|
|
@@ -400614,6 +400614,12 @@ var init_policy_engine = __esm({
|
|
|
400614
400614
|
}
|
|
400615
400615
|
}
|
|
400616
400616
|
if (decision === void 0) {
|
|
400617
|
+
if (this.approvalMode === ApprovalMode.YOLO) {
|
|
400618
|
+
debugLogger.debug(`[PolicyEngine.check] NO MATCH in YOLO mode - using ALLOW`);
|
|
400619
|
+
return {
|
|
400620
|
+
decision: PolicyDecision.ALLOW
|
|
400621
|
+
};
|
|
400622
|
+
}
|
|
400617
400623
|
debugLogger.debug(`[PolicyEngine.check] NO MATCH - using default decision: ${this.defaultDecision}`);
|
|
400618
400624
|
if (toolName && SHELL_TOOL_NAMES.includes(toolName)) {
|
|
400619
400625
|
const shellResult = await this.checkShellCommand(toolName, command, this.defaultDecision, serverName, shellDirPath, void 0, void 0, toolAnnotations);
|
|
@@ -441547,6 +441553,7 @@ async function loadConfig(settings, extensionLoader, taskId) {
|
|
|
441547
441553
|
checkpointing,
|
|
441548
441554
|
interactive: true,
|
|
441549
441555
|
enableInteractiveShell: true,
|
|
441556
|
+
enableEventDrivenScheduler: settings.experimental?.enableEventDrivenScheduler ?? true,
|
|
441550
441557
|
ptyInfo: "auto"
|
|
441551
441558
|
};
|
|
441552
441559
|
const fileService = new FileDiscoveryService(workspaceDir, {
|
|
@@ -442147,24 +442154,35 @@ var Task2 = class _Task {
|
|
|
442147
442154
|
config;
|
|
442148
442155
|
geminiClient;
|
|
442149
442156
|
pendingToolConfirmationDetails;
|
|
442157
|
+
pendingCorrelationIds = /* @__PURE__ */ new Map();
|
|
442150
442158
|
taskState;
|
|
442151
442159
|
eventBus;
|
|
442152
442160
|
completedToolCalls;
|
|
442161
|
+
processedToolCallIds = /* @__PURE__ */ new Set();
|
|
442153
442162
|
skipFinalTrueAfterInlineEdit = false;
|
|
442154
442163
|
modelInfo;
|
|
442155
442164
|
currentPromptId;
|
|
442165
|
+
currentAgentMessageId = v4_default2();
|
|
442156
442166
|
promptCount = 0;
|
|
442157
442167
|
autoExecute;
|
|
442168
|
+
get isYoloMatch() {
|
|
442169
|
+
return this.autoExecute || this.config.getApprovalMode() === ApprovalMode.YOLO;
|
|
442170
|
+
}
|
|
442158
442171
|
// For tool waiting logic
|
|
442159
442172
|
pendingToolCalls = /* @__PURE__ */ new Map();
|
|
442160
442173
|
//toolCallId --> status
|
|
442174
|
+
toolsAlreadyConfirmed = /* @__PURE__ */ new Set();
|
|
442161
442175
|
toolCompletionPromise;
|
|
442162
442176
|
toolCompletionNotifier;
|
|
442163
442177
|
constructor(id, contextId, config3, eventBus, autoExecute = false) {
|
|
442164
442178
|
this.id = id;
|
|
442165
442179
|
this.contextId = contextId;
|
|
442166
442180
|
this.config = config3;
|
|
442167
|
-
|
|
442181
|
+
if (this.config.isEventDrivenSchedulerEnabled()) {
|
|
442182
|
+
this.scheduler = this.setupEventDrivenScheduler();
|
|
442183
|
+
} else {
|
|
442184
|
+
this.scheduler = this.createLegacyScheduler();
|
|
442185
|
+
}
|
|
442168
442186
|
this.geminiClient = this.config.getGeminiClient();
|
|
442169
442187
|
this.pendingToolConfirmationDetails = /* @__PURE__ */ new Map();
|
|
442170
442188
|
this.taskState = "submitted";
|
|
@@ -442249,7 +442267,7 @@ var Task2 = class _Task {
|
|
|
442249
442267
|
logger.info(
|
|
442250
442268
|
`[Task] Waiting for ${this.pendingToolCalls.size} pending tool(s)...`
|
|
442251
442269
|
);
|
|
442252
|
-
|
|
442270
|
+
await this.toolCompletionPromise;
|
|
442253
442271
|
}
|
|
442254
442272
|
cancelPendingTools(reason) {
|
|
442255
442273
|
if (this.pendingToolCalls.size > 0) {
|
|
@@ -442261,6 +442279,12 @@ var Task2 = class _Task {
|
|
|
442261
442279
|
this.toolCompletionNotifier.reject(new Error(reason));
|
|
442262
442280
|
}
|
|
442263
442281
|
this.pendingToolCalls.clear();
|
|
442282
|
+
this.pendingCorrelationIds.clear();
|
|
442283
|
+
if (this.scheduler instanceof Scheduler2) {
|
|
442284
|
+
this.scheduler.cancelAll();
|
|
442285
|
+
} else {
|
|
442286
|
+
this.scheduler.cancelAll(new AbortController().signal);
|
|
442287
|
+
}
|
|
442264
442288
|
this._resetToolCompletionPromise();
|
|
442265
442289
|
}
|
|
442266
442290
|
_createTextMessage(text, role = "agent") {
|
|
@@ -442268,7 +442292,7 @@ var Task2 = class _Task {
|
|
|
442268
442292
|
kind: "message",
|
|
442269
442293
|
role,
|
|
442270
442294
|
parts: [{ kind: "text", text }],
|
|
442271
|
-
messageId: v4_default2(),
|
|
442295
|
+
messageId: role === "agent" ? this.currentAgentMessageId : v4_default2(),
|
|
442272
442296
|
taskId: this.id,
|
|
442273
442297
|
contextId: this.contextId
|
|
442274
442298
|
};
|
|
@@ -442386,19 +442410,25 @@ var Task2 = class _Task {
|
|
|
442386
442410
|
}
|
|
442387
442411
|
}
|
|
442388
442412
|
if (hasChanged) {
|
|
442389
|
-
|
|
442390
|
-
|
|
442391
|
-
|
|
442392
|
-
|
|
442393
|
-
|
|
442394
|
-
|
|
442395
|
-
|
|
442396
|
-
|
|
442397
|
-
|
|
442398
|
-
|
|
442413
|
+
if (tc.status === "awaiting_approval" && tc.confirmationDetails && this.isYoloMatch) {
|
|
442414
|
+
logger.info(
|
|
442415
|
+
`[Task] Skipping ToolCallConfirmationEvent for ${tc.request.callId} due to YOLO mode.`
|
|
442416
|
+
);
|
|
442417
|
+
} else {
|
|
442418
|
+
const coderAgentMessage = tc.status === "awaiting_approval" ? { kind: "tool-call-confirmation" /* ToolCallConfirmationEvent */ } : { kind: "tool-call-update" /* ToolCallUpdateEvent */ };
|
|
442419
|
+
const message = this.toolStatusMessage(tc, this.id, this.contextId);
|
|
442420
|
+
const event = this._createStatusUpdateEvent(
|
|
442421
|
+
this.taskState,
|
|
442422
|
+
coderAgentMessage,
|
|
442423
|
+
message,
|
|
442424
|
+
false
|
|
442425
|
+
// Always false for these continuous updates
|
|
442426
|
+
);
|
|
442427
|
+
this.eventBus?.publish(event);
|
|
442428
|
+
}
|
|
442399
442429
|
}
|
|
442400
442430
|
});
|
|
442401
|
-
if (this.
|
|
442431
|
+
if (this.isYoloMatch) {
|
|
442402
442432
|
logger.info(
|
|
442403
442433
|
"[Task] " + (this.autoExecute ? "" : "YOLO mode enabled. ") + "Auto-approving all tool calls."
|
|
442404
442434
|
);
|
|
@@ -442432,7 +442462,7 @@ var Task2 = class _Task {
|
|
|
442432
442462
|
);
|
|
442433
442463
|
}
|
|
442434
442464
|
}
|
|
442435
|
-
|
|
442465
|
+
createLegacyScheduler() {
|
|
442436
442466
|
const scheduler3 = new CoreToolScheduler({
|
|
442437
442467
|
outputUpdateHandler: this._schedulerOutputUpdate.bind(this),
|
|
442438
442468
|
onAllToolCallsComplete: this._schedulerAllToolCallsComplete.bind(this),
|
|
@@ -442442,6 +442472,115 @@ var Task2 = class _Task {
|
|
|
442442
442472
|
});
|
|
442443
442473
|
return scheduler3;
|
|
442444
442474
|
}
|
|
442475
|
+
messageBusListener;
|
|
442476
|
+
setupEventDrivenScheduler() {
|
|
442477
|
+
const messageBus = this.config.getMessageBus();
|
|
442478
|
+
const scheduler3 = new Scheduler2({
|
|
442479
|
+
schedulerId: this.id,
|
|
442480
|
+
config: this.config,
|
|
442481
|
+
messageBus,
|
|
442482
|
+
getPreferredEditor: () => DEFAULT_GUI_EDITOR
|
|
442483
|
+
});
|
|
442484
|
+
this.messageBusListener = this.handleEventDrivenToolCallsUpdate.bind(this);
|
|
442485
|
+
messageBus.subscribe(
|
|
442486
|
+
MessageBusType.TOOL_CALLS_UPDATE,
|
|
442487
|
+
this.messageBusListener
|
|
442488
|
+
);
|
|
442489
|
+
return scheduler3;
|
|
442490
|
+
}
|
|
442491
|
+
dispose() {
|
|
442492
|
+
if (this.messageBusListener) {
|
|
442493
|
+
this.config.getMessageBus().unsubscribe(MessageBusType.TOOL_CALLS_UPDATE, this.messageBusListener);
|
|
442494
|
+
this.messageBusListener = void 0;
|
|
442495
|
+
}
|
|
442496
|
+
if (this.scheduler instanceof Scheduler2) {
|
|
442497
|
+
this.scheduler.dispose();
|
|
442498
|
+
}
|
|
442499
|
+
}
|
|
442500
|
+
handleEventDrivenToolCallsUpdate(event) {
|
|
442501
|
+
if (event.type !== MessageBusType.TOOL_CALLS_UPDATE) {
|
|
442502
|
+
return;
|
|
442503
|
+
}
|
|
442504
|
+
const toolCalls = event.toolCalls;
|
|
442505
|
+
toolCalls.forEach((tc) => {
|
|
442506
|
+
this.handleEventDrivenToolCall(tc);
|
|
442507
|
+
});
|
|
442508
|
+
this.checkInputRequiredState();
|
|
442509
|
+
}
|
|
442510
|
+
handleEventDrivenToolCall(tc) {
|
|
442511
|
+
const callId = tc.request.callId;
|
|
442512
|
+
if (this.processedToolCallIds.has(callId) || this.completedToolCalls.some((c4) => c4.request.callId === callId)) {
|
|
442513
|
+
return;
|
|
442514
|
+
}
|
|
442515
|
+
const previousStatus = this.pendingToolCalls.get(callId);
|
|
442516
|
+
const hasChanged = previousStatus !== tc.status;
|
|
442517
|
+
if (tc.status === "executing" && tc.liveOutput) {
|
|
442518
|
+
this._schedulerOutputUpdate(callId, tc.liveOutput);
|
|
442519
|
+
}
|
|
442520
|
+
if (tc.status === "success" || tc.status === "error" || tc.status === "cancelled") {
|
|
442521
|
+
this.toolsAlreadyConfirmed.delete(callId);
|
|
442522
|
+
if (hasChanged) {
|
|
442523
|
+
logger.info(
|
|
442524
|
+
`[Task] Tool call ${callId} completed with status: ${tc.status}`
|
|
442525
|
+
);
|
|
442526
|
+
this.completedToolCalls.push(tc);
|
|
442527
|
+
this._resolveToolCall(callId);
|
|
442528
|
+
}
|
|
442529
|
+
} else {
|
|
442530
|
+
this._registerToolCall(callId, tc.status);
|
|
442531
|
+
}
|
|
442532
|
+
if (tc.status === "awaiting_approval" && tc.confirmationDetails) {
|
|
442533
|
+
const details = tc.confirmationDetails;
|
|
442534
|
+
if (tc.correlationId) {
|
|
442535
|
+
this.pendingCorrelationIds.set(callId, tc.correlationId);
|
|
442536
|
+
}
|
|
442537
|
+
this.pendingToolConfirmationDetails.set(callId, {
|
|
442538
|
+
...details,
|
|
442539
|
+
onConfirm: async () => {
|
|
442540
|
+
}
|
|
442541
|
+
});
|
|
442542
|
+
}
|
|
442543
|
+
if (hasChanged) {
|
|
442544
|
+
const coderAgentMessage = tc.status === "awaiting_approval" ? { kind: "tool-call-confirmation" /* ToolCallConfirmationEvent */ } : { kind: "tool-call-update" /* ToolCallUpdateEvent */ };
|
|
442545
|
+
const message = this.toolStatusMessage(tc, this.id, this.contextId);
|
|
442546
|
+
const statusUpdate = this._createStatusUpdateEvent(
|
|
442547
|
+
this.taskState,
|
|
442548
|
+
coderAgentMessage,
|
|
442549
|
+
message,
|
|
442550
|
+
false
|
|
442551
|
+
);
|
|
442552
|
+
this.eventBus?.publish(statusUpdate);
|
|
442553
|
+
}
|
|
442554
|
+
}
|
|
442555
|
+
checkInputRequiredState() {
|
|
442556
|
+
if (this.isYoloMatch) {
|
|
442557
|
+
return;
|
|
442558
|
+
}
|
|
442559
|
+
let isAwaitingApproval = false;
|
|
442560
|
+
let isExecuting = false;
|
|
442561
|
+
for (const [callId, status] of this.pendingToolCalls.entries()) {
|
|
442562
|
+
if (status === "executing" || status === "scheduled") {
|
|
442563
|
+
isExecuting = true;
|
|
442564
|
+
} else if (status === "awaiting_approval" && !this.toolsAlreadyConfirmed.has(callId)) {
|
|
442565
|
+
isAwaitingApproval = true;
|
|
442566
|
+
}
|
|
442567
|
+
}
|
|
442568
|
+
if (isAwaitingApproval && !isExecuting && !this.skipFinalTrueAfterInlineEdit) {
|
|
442569
|
+
this.skipFinalTrueAfterInlineEdit = false;
|
|
442570
|
+
const wasAlreadyInputRequired = this.taskState === "input-required";
|
|
442571
|
+
this.setTaskStateAndPublishUpdate(
|
|
442572
|
+
"input-required",
|
|
442573
|
+
{ kind: "state-change" /* StateChangeEvent */ },
|
|
442574
|
+
void 0,
|
|
442575
|
+
void 0,
|
|
442576
|
+
/*final*/
|
|
442577
|
+
true
|
|
442578
|
+
);
|
|
442579
|
+
if (!wasAlreadyInputRequired && this.toolCompletionNotifier) {
|
|
442580
|
+
this.toolCompletionNotifier.resolve();
|
|
442581
|
+
}
|
|
442582
|
+
}
|
|
442583
|
+
}
|
|
442445
442584
|
_pickFields(from, ...fields) {
|
|
442446
442585
|
const ret = {};
|
|
442447
442586
|
for (const field of fields) {
|
|
@@ -442588,7 +442727,12 @@ var Task2 = class _Task {
|
|
|
442588
442727
|
kind: "state-change" /* StateChangeEvent */
|
|
442589
442728
|
};
|
|
442590
442729
|
this.setTaskStateAndPublishUpdate("working", stateChange);
|
|
442591
|
-
|
|
442730
|
+
for (const req of updatedRequests) {
|
|
442731
|
+
if (!this.pendingToolCalls.has(req.callId)) {
|
|
442732
|
+
this._registerToolCall(req.callId, "scheduled");
|
|
442733
|
+
}
|
|
442734
|
+
}
|
|
442735
|
+
void this.scheduler.schedule(updatedRequests, abortSignal);
|
|
442592
442736
|
}
|
|
442593
442737
|
async acceptAgentMessage(event) {
|
|
442594
442738
|
const stateChange = {
|
|
@@ -442686,8 +442830,12 @@ var Task2 = class _Task {
|
|
|
442686
442830
|
if (part.kind !== "data" || !part.data || typeof part.data["callId"] !== "string" || typeof part.data["outcome"] !== "string") {
|
|
442687
442831
|
return false;
|
|
442688
442832
|
}
|
|
442833
|
+
if (!part.data["outcome"]) {
|
|
442834
|
+
return false;
|
|
442835
|
+
}
|
|
442689
442836
|
const callId = part.data["callId"];
|
|
442690
442837
|
const outcomeString = part.data["outcome"];
|
|
442838
|
+
this.toolsAlreadyConfirmed.add(callId);
|
|
442691
442839
|
let confirmationOutcome;
|
|
442692
442840
|
if (outcomeString === "proceed_once") {
|
|
442693
442841
|
confirmationOutcome = ToolConfirmationOutcome.ProceedOnce;
|
|
@@ -442699,6 +442847,8 @@ var Task2 = class _Task {
|
|
|
442699
442847
|
confirmationOutcome = ToolConfirmationOutcome.ProceedAlwaysServer;
|
|
442700
442848
|
} else if (outcomeString === "proceed_always_tool") {
|
|
442701
442849
|
confirmationOutcome = ToolConfirmationOutcome.ProceedAlwaysTool;
|
|
442850
|
+
} else if (outcomeString === "proceed_always_and_save") {
|
|
442851
|
+
confirmationOutcome = ToolConfirmationOutcome.ProceedAlwaysAndSave;
|
|
442702
442852
|
} else if (outcomeString === "modify_with_editor") {
|
|
442703
442853
|
confirmationOutcome = ToolConfirmationOutcome.ModifyWithEditor;
|
|
442704
442854
|
} else {
|
|
@@ -442708,7 +442858,8 @@ var Task2 = class _Task {
|
|
|
442708
442858
|
return false;
|
|
442709
442859
|
}
|
|
442710
442860
|
const confirmationDetails = this.pendingToolConfirmationDetails.get(callId);
|
|
442711
|
-
|
|
442861
|
+
const correlationId = this.pendingCorrelationIds.get(callId);
|
|
442862
|
+
if (!confirmationDetails && !correlationId) {
|
|
442712
442863
|
logger.warn(
|
|
442713
442864
|
`[Task] Received tool confirmation for unknown or already processed callId: ${callId}`
|
|
442714
442865
|
);
|
|
@@ -442723,17 +442874,23 @@ var Task2 = class _Task {
|
|
|
442723
442874
|
try {
|
|
442724
442875
|
delete process.env["GOOGLE_CLOUD_PROJECT"];
|
|
442725
442876
|
delete process.env["GOOGLE_APPLICATION_CREDENTIALS"];
|
|
442726
|
-
|
|
442727
|
-
|
|
442728
|
-
|
|
442729
|
-
|
|
442730
|
-
|
|
442877
|
+
const newContent = part.data["newContent"];
|
|
442878
|
+
const payload = confirmationDetails?.type === "edit" && typeof newContent === "string" ? { newContent } : void 0;
|
|
442879
|
+
this.skipFinalTrueAfterInlineEdit = !!payload;
|
|
442880
|
+
try {
|
|
442881
|
+
if (correlationId) {
|
|
442882
|
+
await this.config.getMessageBus().publish({
|
|
442883
|
+
type: MessageBusType.TOOL_CONFIRMATION_RESPONSE,
|
|
442884
|
+
correlationId,
|
|
442885
|
+
confirmed: confirmationOutcome !== ToolConfirmationOutcome.Cancel && confirmationOutcome !== ToolConfirmationOutcome.ModifyWithEditor,
|
|
442886
|
+
outcome: confirmationOutcome,
|
|
442887
|
+
payload
|
|
442888
|
+
});
|
|
442889
|
+
} else if (confirmationDetails?.onConfirm) {
|
|
442731
442890
|
await confirmationDetails.onConfirm(confirmationOutcome, payload);
|
|
442732
|
-
} finally {
|
|
442733
|
-
this.skipFinalTrueAfterInlineEdit = false;
|
|
442734
442891
|
}
|
|
442735
|
-
}
|
|
442736
|
-
|
|
442892
|
+
} finally {
|
|
442893
|
+
this.skipFinalTrueAfterInlineEdit = false;
|
|
442737
442894
|
}
|
|
442738
442895
|
} finally {
|
|
442739
442896
|
if (gcpProject) {
|
|
@@ -442745,6 +442902,7 @@ var Task2 = class _Task {
|
|
|
442745
442902
|
}
|
|
442746
442903
|
if (confirmationOutcome !== "modify_with_editor") {
|
|
442747
442904
|
this.pendingToolConfirmationDetails.delete(callId);
|
|
442905
|
+
this.pendingCorrelationIds.delete(callId);
|
|
442748
442906
|
}
|
|
442749
442907
|
return true;
|
|
442750
442908
|
} catch (error2) {
|
|
@@ -442770,6 +442928,9 @@ var Task2 = class _Task {
|
|
|
442770
442928
|
}
|
|
442771
442929
|
getAndClearCompletedTools() {
|
|
442772
442930
|
const tools = [...this.completedToolCalls];
|
|
442931
|
+
for (const tool of tools) {
|
|
442932
|
+
this.processedToolCallIds.add(tool.request.callId);
|
|
442933
|
+
}
|
|
442773
442934
|
this.completedToolCalls = [];
|
|
442774
442935
|
return tools;
|
|
442775
442936
|
}
|
|
@@ -442821,6 +442982,7 @@ var Task2 = class _Task {
|
|
|
442821
442982
|
kind: "state-change" /* StateChangeEvent */
|
|
442822
442983
|
};
|
|
442823
442984
|
this.setTaskStateAndPublishUpdate("working", stateChange);
|
|
442985
|
+
this.currentAgentMessageId = v4_default2();
|
|
442824
442986
|
yield* this.geminiClient.sendMessageStream(
|
|
442825
442987
|
llmParts,
|
|
442826
442988
|
aborted3,
|
|
@@ -442836,6 +442998,7 @@ var Task2 = class _Task {
|
|
|
442836
442998
|
const confirmationHandled = await this._handleToolConfirmationPart(part);
|
|
442837
442999
|
if (confirmationHandled) {
|
|
442838
443000
|
anyConfirmationHandled = true;
|
|
443001
|
+
this._resetToolCompletionPromise();
|
|
442839
443002
|
continue;
|
|
442840
443003
|
}
|
|
442841
443004
|
if (part.kind === "text") {
|
|
@@ -442845,6 +443008,7 @@ var Task2 = class _Task {
|
|
|
442845
443008
|
}
|
|
442846
443009
|
if (hasContentForLlm) {
|
|
442847
443010
|
this.currentPromptId = this.config.getSessionId() + "########" + this.promptCount++;
|
|
443011
|
+
this.currentAgentMessageId = v4_default2();
|
|
442848
443012
|
logger.info("[Task] Sending new parts to LLM.");
|
|
442849
443013
|
const stateChange = {
|
|
442850
443014
|
kind: "state-change" /* StateChangeEvent */
|
|
@@ -442879,7 +443043,6 @@ var Task2 = class _Task {
|
|
|
442879
443043
|
if (content === "") {
|
|
442880
443044
|
return;
|
|
442881
443045
|
}
|
|
442882
|
-
logger.info("[Task] Sending text content to event bus.");
|
|
442883
443046
|
const message = this._createTextMessage(content);
|
|
442884
443047
|
const textContent2 = {
|
|
442885
443048
|
kind: "text-content" /* TextContentEvent */
|
|
@@ -442910,7 +443073,7 @@ var Task2 = class _Task {
|
|
|
442910
443073
|
data: content
|
|
442911
443074
|
}
|
|
442912
443075
|
],
|
|
442913
|
-
messageId:
|
|
443076
|
+
messageId: this.currentAgentMessageId,
|
|
442914
443077
|
taskId: this.id,
|
|
442915
443078
|
contextId: this.contextId
|
|
442916
443079
|
};
|
|
@@ -443157,6 +443320,8 @@ var CoderAgentExecutor = class {
|
|
|
443157
443320
|
);
|
|
443158
443321
|
await this.taskStore?.save(wrapper.toSDKTask());
|
|
443159
443322
|
logger.info(`[CoderAgentExecutor] Task ${taskId} state CANCELED saved.`);
|
|
443323
|
+
wrapper.task.dispose();
|
|
443324
|
+
this.tasks.delete(taskId);
|
|
443160
443325
|
} catch (error2) {
|
|
443161
443326
|
const errorMessage = error2 instanceof Error ? error2.message : "Unknown error";
|
|
443162
443327
|
logger.error(
|
|
@@ -443211,18 +443376,21 @@ var CoderAgentExecutor = class {
|
|
|
443211
443376
|
const abortSignal = abortController.signal;
|
|
443212
443377
|
if (store) {
|
|
443213
443378
|
const socket = store.req.socket;
|
|
443214
|
-
const
|
|
443379
|
+
const onSocketEnd = () => {
|
|
443215
443380
|
logger.info(
|
|
443216
|
-
`[CoderAgentExecutor]
|
|
443381
|
+
`[CoderAgentExecutor] Socket ended for message ${userMessage.messageId} (task ${taskId}). Aborting execution loop.`
|
|
443217
443382
|
);
|
|
443218
443383
|
if (!abortController.signal.aborted) {
|
|
443219
443384
|
abortController.abort();
|
|
443220
443385
|
}
|
|
443221
|
-
socket.removeListener("
|
|
443386
|
+
socket.removeListener("end", onSocketEnd);
|
|
443222
443387
|
};
|
|
443223
|
-
socket.on("end",
|
|
443388
|
+
socket.on("end", onSocketEnd);
|
|
443389
|
+
socket.once("close", () => {
|
|
443390
|
+
socket.removeListener("end", onSocketEnd);
|
|
443391
|
+
});
|
|
443224
443392
|
abortSignal.addEventListener("abort", () => {
|
|
443225
|
-
socket.removeListener("end",
|
|
443393
|
+
socket.removeListener("end", onSocketEnd);
|
|
443226
443394
|
});
|
|
443227
443395
|
logger.info(
|
|
443228
443396
|
`[CoderAgentExecutor] Socket close handler set up for task ${taskId}.`
|
|
@@ -443334,6 +443502,22 @@ var CoderAgentExecutor = class {
|
|
|
443334
443502
|
}
|
|
443335
443503
|
return;
|
|
443336
443504
|
}
|
|
443505
|
+
const isPrimaryExecution = !this.executingTasks.has(taskId);
|
|
443506
|
+
if (!isPrimaryExecution) {
|
|
443507
|
+
logger.info(
|
|
443508
|
+
`[CoderAgentExecutor] Primary execution already active for task ${taskId}. Starting secondary loop for message ${userMessage.messageId}.`
|
|
443509
|
+
);
|
|
443510
|
+
currentTask.eventBus = eventBus;
|
|
443511
|
+
for await (const _ of currentTask.acceptUserMessage(
|
|
443512
|
+
requestContext,
|
|
443513
|
+
abortController.signal
|
|
443514
|
+
)) {
|
|
443515
|
+
logger.info(
|
|
443516
|
+
`[CoderAgentExecutor] Processing user message ${userMessage.messageId} in secondary execution loop for task ${taskId}.`
|
|
443517
|
+
);
|
|
443518
|
+
}
|
|
443519
|
+
return;
|
|
443520
|
+
}
|
|
443337
443521
|
logger.info(
|
|
443338
443522
|
`[CoderAgentExecutor] Starting main execution for message ${userMessage.messageId} for task ${taskId}.`
|
|
443339
443523
|
);
|
|
@@ -443459,18 +443643,27 @@ var CoderAgentExecutor = class {
|
|
|
443459
443643
|
}
|
|
443460
443644
|
}
|
|
443461
443645
|
} finally {
|
|
443462
|
-
|
|
443463
|
-
|
|
443464
|
-
|
|
443465
|
-
|
|
443466
|
-
try {
|
|
443467
|
-
await this.taskStore?.save(wrapper.toSDKTask());
|
|
443468
|
-
logger.info(`[CoderAgentExecutor] Task ${taskId} state saved.`);
|
|
443469
|
-
} catch (saveError) {
|
|
443470
|
-
logger.error(
|
|
443471
|
-
`[CoderAgentExecutor] Failed to save task ${taskId} state in finally block:`,
|
|
443472
|
-
saveError
|
|
443646
|
+
if (isPrimaryExecution) {
|
|
443647
|
+
this.executingTasks.delete(taskId);
|
|
443648
|
+
logger.info(
|
|
443649
|
+
`[CoderAgentExecutor] Saving final state for task ${taskId}.`
|
|
443473
443650
|
);
|
|
443651
|
+
try {
|
|
443652
|
+
await this.taskStore?.save(wrapper.toSDKTask());
|
|
443653
|
+
logger.info(`[CoderAgentExecutor] Task ${taskId} state saved.`);
|
|
443654
|
+
} catch (saveError) {
|
|
443655
|
+
logger.error(
|
|
443656
|
+
`[CoderAgentExecutor] Failed to save task ${taskId} state in finally block:`,
|
|
443657
|
+
saveError
|
|
443658
|
+
);
|
|
443659
|
+
}
|
|
443660
|
+
if (["canceled", "failed", "completed"].includes(currentTask.taskState)) {
|
|
443661
|
+
logger.info(
|
|
443662
|
+
`[CoderAgentExecutor] Task ${taskId} reached terminal state ${currentTask.taskState}. Evicting and disposing.`
|
|
443663
|
+
);
|
|
443664
|
+
wrapper.task.dispose();
|
|
443665
|
+
this.tasks.delete(taskId);
|
|
443666
|
+
}
|
|
443474
443667
|
}
|
|
443475
443668
|
}
|
|
443476
443669
|
}
|
|
@@ -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
|
|
215
|
-
logger.info(`[CoderAgentExecutor]
|
|
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('
|
|
223
|
+
socket.removeListener('end', onSocketEnd);
|
|
221
224
|
};
|
|
222
225
|
// Listen on the socket's 'end' event (remote closed the connection)
|
|
223
|
-
socket.on('end',
|
|
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',
|
|
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
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
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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"}
|