@google/gemini-cli-core 0.1.18 → 0.1.19
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/README.md +199 -132
- package/dist/google-gemini-cli-core-0.1.18.tgz +0 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/src/code_assist/converter.d.ts +3 -2
- package/dist/src/code_assist/converter.js +2 -2
- package/dist/src/code_assist/converter.js.map +1 -1
- package/dist/src/code_assist/converter.test.js +48 -1
- package/dist/src/code_assist/converter.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.js +1 -1
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/server.test.js +4 -1
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/code_assist/setup.js +4 -4
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/config/config.d.ts +19 -0
- package/dist/src/config/config.js +29 -5
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +8 -0
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/core/client.d.ts +5 -4
- package/dist/src/core/client.js +162 -116
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +275 -30
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.js +3 -2
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +3 -2
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +21 -8
- package/dist/src/core/coreToolScheduler.js +170 -61
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +181 -37
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +7 -6
- package/dist/src/core/geminiChat.js +43 -43
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/logger.d.ts +1 -0
- package/dist/src/core/logger.js +18 -0
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/logger.test.js +29 -0
- package/dist/src/core/logger.test.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.d.ts +29 -0
- package/dist/src/core/loggingContentGenerator.js +97 -0
- package/dist/src/core/loggingContentGenerator.js.map +1 -0
- package/dist/src/core/nonInteractiveToolExecutor.js +20 -1
- package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +7 -31
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/subagent.d.ts +230 -0
- package/dist/src/core/subagent.js +447 -0
- package/dist/src/core/subagent.js.map +1 -0
- package/dist/src/core/subagent.test.d.ts +6 -0
- package/dist/src/core/subagent.test.js +515 -0
- package/dist/src/core/subagent.test.js.map +1 -0
- package/dist/src/core/turn.js +1 -0
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +4 -0
- package/dist/src/core/turn.test.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +8 -1
- package/dist/src/ide/detect-ide.js +40 -3
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +20 -1
- package/dist/src/ide/ide-client.js +144 -18
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-installer.js +20 -1
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +37 -2
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/ide/ideContext.d.ts +95 -0
- package/dist/src/ide/ideContext.js +45 -0
- package/dist/src/ide/ideContext.js.map +1 -1
- package/dist/src/mcp/google-auth-provider.js +9 -0
- package/dist/src/mcp/google-auth-provider.js.map +1 -1
- package/dist/src/mcp/google-auth-provider.test.js +45 -10
- package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
- package/dist/src/services/loopDetectionService.js +14 -11
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/loopDetectionService.test.js +191 -0
- package/dist/src/services/loopDetectionService.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.js +29 -9
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +8 -0
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +27 -2
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +187 -58
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +6 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +186 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -0
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +5 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +8 -0
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/loggers.test.circular.js +7 -2
- package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +7 -2
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +3 -2
- package/dist/src/telemetry/metrics.js +7 -1
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +50 -0
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/tool-call-decision.d.ts +13 -0
- package/dist/src/telemetry/tool-call-decision.js +29 -0
- package/dist/src/telemetry/tool-call-decision.js.map +1 -0
- package/dist/src/telemetry/types.d.ts +4 -7
- package/dist/src/telemetry/types.js +17 -21
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.d.ts +4 -1
- package/dist/src/telemetry/uiTelemetry.js +3 -1
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.test.js +13 -2
- package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
- package/dist/src/test-utils/tools.d.ts +23 -0
- package/dist/src/test-utils/tools.js +41 -0
- package/dist/src/test-utils/tools.js.map +1 -0
- package/dist/src/tools/diffOptions.d.ts +2 -0
- package/dist/src/tools/diffOptions.js +28 -0
- package/dist/src/tools/diffOptions.js.map +1 -1
- package/dist/src/tools/diffOptions.test.d.ts +6 -0
- package/dist/src/tools/diffOptions.test.js +119 -0
- package/dist/src/tools/diffOptions.test.js.map +1 -0
- package/dist/src/tools/edit.d.ts +9 -33
- package/dist/src/tools/edit.js +143 -132
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +117 -51
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/glob.d.ts +3 -10
- package/dist/src/tools/glob.js +85 -89
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/glob.test.js +22 -12
- package/dist/src/tools/glob.test.js.map +1 -1
- package/dist/src/tools/grep.d.ts +3 -35
- package/dist/src/tools/grep.js +111 -83
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +40 -23
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/ls.js +8 -9
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +14 -3
- package/dist/src/tools/mcp-client.js +82 -6
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +340 -5
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +3 -8
- package/dist/src/tools/mcp-tool.js +5 -18
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +2 -2
- package/dist/src/tools/memoryTool.js +5 -5
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +10 -1
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/modifiable-tool.d.ts +8 -5
- package/dist/src/tools/modifiable-tool.js +4 -1
- package/dist/src/tools/modifiable-tool.js.map +1 -1
- package/dist/src/tools/modifiable-tool.test.js +3 -3
- package/dist/src/tools/modifiable-tool.test.js.map +1 -1
- package/dist/src/tools/read-file.d.ts +4 -6
- package/dist/src/tools/read-file.js +92 -45
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +192 -130
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/read-many-files.js +25 -20
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +22 -11
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/shell.js +11 -7
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +21 -0
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +4 -0
- package/dist/src/tools/tool-error.js +4 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +12 -20
- package/dist/src/tools/tool-registry.js +23 -76
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +19 -192
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +144 -43
- package/dist/src/tools/tools.js +181 -11
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/tools.test.d.ts +6 -0
- package/dist/src/tools/tools.test.js +117 -0
- package/dist/src/tools/tools.test.js.map +1 -0
- package/dist/src/tools/web-fetch.js +3 -4
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-search.js +1 -1
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +6 -2
- package/dist/src/tools/write-file.js +85 -20
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +113 -8
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.test.js +28 -56
- package/dist/src/utils/bfsFileSearch.test.js.map +1 -1
- package/dist/src/utils/editCorrector.js +8 -9
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/environmentContext.d.ts +21 -0
- package/dist/src/utils/environmentContext.js +90 -0
- package/dist/src/utils/environmentContext.js.map +1 -0
- package/dist/src/utils/environmentContext.test.d.ts +6 -0
- package/dist/src/utils/environmentContext.test.js +139 -0
- package/dist/src/utils/environmentContext.test.js.map +1 -0
- package/dist/src/utils/fileUtils.d.ts +7 -0
- package/dist/src/utils/fileUtils.js +15 -12
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +6 -5
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/filesearch/crawlCache.d.ts +1 -1
- package/dist/src/utils/filesearch/crawlCache.js +4 -1
- package/dist/src/utils/filesearch/crawlCache.js.map +1 -1
- package/dist/src/utils/filesearch/crawlCache.test.js +10 -0
- package/dist/src/utils/filesearch/crawlCache.test.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.d.ts +2 -0
- package/dist/src/utils/filesearch/fileSearch.js +32 -7
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.test.js +139 -0
- package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +4 -1
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.js +5 -6
- package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.test.js +2 -2
- package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
- package/dist/src/utils/schemaValidator.d.ts +1 -8
- package/dist/src/utils/schemaValidator.js +1 -32
- package/dist/src/utils/schemaValidator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -1
- package/dist/google-gemini-cli-core-0.1.17.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentGenerator.test.js","sourceRoot":"","sources":["../../../src/core/contentGenerator.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,EACL,sBAAsB,EACtB,QAAQ,EACR,4BAA4B,
|
|
1
|
+
{"version":3,"file":"contentGenerator.test.js","sourceRoot":"","sources":["../../../src/core/contentGenerator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,19 +3,21 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { ToolCallRequestInfo, ToolCallResponseInfo, ToolConfirmationOutcome,
|
|
6
|
+
import { ToolCallRequestInfo, ToolCallResponseInfo, ToolConfirmationOutcome, ToolCallConfirmationDetails, ToolRegistry, EditorType, Config, ToolConfirmationPayload, AnyDeclarativeTool, AnyToolInvocation } from '../index.js';
|
|
7
7
|
import { PartListUnion } from '@google/genai';
|
|
8
8
|
export type ValidatingToolCall = {
|
|
9
9
|
status: 'validating';
|
|
10
10
|
request: ToolCallRequestInfo;
|
|
11
|
-
tool:
|
|
11
|
+
tool: AnyDeclarativeTool;
|
|
12
|
+
invocation: AnyToolInvocation;
|
|
12
13
|
startTime?: number;
|
|
13
14
|
outcome?: ToolConfirmationOutcome;
|
|
14
15
|
};
|
|
15
16
|
export type ScheduledToolCall = {
|
|
16
17
|
status: 'scheduled';
|
|
17
18
|
request: ToolCallRequestInfo;
|
|
18
|
-
tool:
|
|
19
|
+
tool: AnyDeclarativeTool;
|
|
20
|
+
invocation: AnyToolInvocation;
|
|
19
21
|
startTime?: number;
|
|
20
22
|
outcome?: ToolConfirmationOutcome;
|
|
21
23
|
};
|
|
@@ -23,21 +25,24 @@ export type ErroredToolCall = {
|
|
|
23
25
|
status: 'error';
|
|
24
26
|
request: ToolCallRequestInfo;
|
|
25
27
|
response: ToolCallResponseInfo;
|
|
28
|
+
tool?: AnyDeclarativeTool;
|
|
26
29
|
durationMs?: number;
|
|
27
30
|
outcome?: ToolConfirmationOutcome;
|
|
28
31
|
};
|
|
29
32
|
export type SuccessfulToolCall = {
|
|
30
33
|
status: 'success';
|
|
31
34
|
request: ToolCallRequestInfo;
|
|
32
|
-
tool:
|
|
35
|
+
tool: AnyDeclarativeTool;
|
|
33
36
|
response: ToolCallResponseInfo;
|
|
37
|
+
invocation: AnyToolInvocation;
|
|
34
38
|
durationMs?: number;
|
|
35
39
|
outcome?: ToolConfirmationOutcome;
|
|
36
40
|
};
|
|
37
41
|
export type ExecutingToolCall = {
|
|
38
42
|
status: 'executing';
|
|
39
43
|
request: ToolCallRequestInfo;
|
|
40
|
-
tool:
|
|
44
|
+
tool: AnyDeclarativeTool;
|
|
45
|
+
invocation: AnyToolInvocation;
|
|
41
46
|
liveOutput?: string;
|
|
42
47
|
startTime?: number;
|
|
43
48
|
outcome?: ToolConfirmationOutcome;
|
|
@@ -46,14 +51,16 @@ export type CancelledToolCall = {
|
|
|
46
51
|
status: 'cancelled';
|
|
47
52
|
request: ToolCallRequestInfo;
|
|
48
53
|
response: ToolCallResponseInfo;
|
|
49
|
-
tool:
|
|
54
|
+
tool: AnyDeclarativeTool;
|
|
55
|
+
invocation: AnyToolInvocation;
|
|
50
56
|
durationMs?: number;
|
|
51
57
|
outcome?: ToolConfirmationOutcome;
|
|
52
58
|
};
|
|
53
59
|
export type WaitingToolCall = {
|
|
54
60
|
status: 'awaiting_approval';
|
|
55
61
|
request: ToolCallRequestInfo;
|
|
56
|
-
tool:
|
|
62
|
+
tool: AnyDeclarativeTool;
|
|
63
|
+
invocation: AnyToolInvocation;
|
|
57
64
|
confirmationDetails: ToolCallConfirmationDetails;
|
|
58
65
|
startTime?: number;
|
|
59
66
|
outcome?: ToolConfirmationOutcome;
|
|
@@ -63,7 +70,7 @@ export type ToolCall = ValidatingToolCall | ScheduledToolCall | ErroredToolCall
|
|
|
63
70
|
export type CompletedToolCall = SuccessfulToolCall | CancelledToolCall | ErroredToolCall;
|
|
64
71
|
export type ConfirmHandler = (toolCall: WaitingToolCall) => Promise<ToolConfirmationOutcome>;
|
|
65
72
|
export type OutputUpdateHandler = (toolCallId: string, outputChunk: string) => void;
|
|
66
|
-
export type AllToolCallsCompleteHandler = (completedToolCalls: CompletedToolCall[]) => void
|
|
73
|
+
export type AllToolCallsCompleteHandler = (completedToolCalls: CompletedToolCall[]) => Promise<void>;
|
|
67
74
|
export type ToolCallsUpdateHandler = (toolCalls: ToolCall[]) => void;
|
|
68
75
|
export declare function convertToFunctionResponse(toolName: string, callId: string, llmContent: PartListUnion): PartListUnion;
|
|
69
76
|
interface CoreToolSchedulerOptions {
|
|
@@ -84,11 +91,16 @@ export declare class CoreToolScheduler {
|
|
|
84
91
|
private getPreferredEditor;
|
|
85
92
|
private config;
|
|
86
93
|
private onEditorClose;
|
|
94
|
+
private isFinalizingToolCalls;
|
|
95
|
+
private isScheduling;
|
|
96
|
+
private requestQueue;
|
|
87
97
|
constructor(options: CoreToolSchedulerOptions);
|
|
88
98
|
private setStatusInternal;
|
|
89
99
|
private setArgsInternal;
|
|
90
100
|
private isRunning;
|
|
101
|
+
private buildInvocation;
|
|
91
102
|
schedule(request: ToolCallRequestInfo | ToolCallRequestInfo[], signal: AbortSignal): Promise<void>;
|
|
103
|
+
private _schedule;
|
|
92
104
|
handleConfirmationResponse(callId: string, originalOnConfirm: (outcome: ToolConfirmationOutcome) => Promise<void>, outcome: ToolConfirmationOutcome, signal: AbortSignal, payload?: ToolConfirmationPayload): Promise<void>;
|
|
93
105
|
/**
|
|
94
106
|
* Applies user-provided content changes to a tool call that is awaiting confirmation.
|
|
@@ -100,5 +112,6 @@ export declare class CoreToolScheduler {
|
|
|
100
112
|
private attemptExecutionOfScheduledCalls;
|
|
101
113
|
private checkAndNotifyCompletion;
|
|
102
114
|
private notifyToolCallsUpdate;
|
|
115
|
+
private setToolCallOutcome;
|
|
103
116
|
}
|
|
104
117
|
export {};
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { ToolConfirmationOutcome, ApprovalMode, logToolCall, ToolCallEvent, ToolErrorType, } from '../index.js';
|
|
7
7
|
import { getResponseTextFromParts } from '../utils/generateContentResponseUtilities.js';
|
|
8
|
-
import {
|
|
8
|
+
import { isModifiableDeclarativeTool, modifyWithEditor, } from '../tools/modifiable-tool.js';
|
|
9
9
|
import * as Diff from 'diff';
|
|
10
10
|
/**
|
|
11
11
|
* Formats tool output for a Gemini FunctionResponse.
|
|
@@ -74,6 +74,9 @@ export class CoreToolScheduler {
|
|
|
74
74
|
getPreferredEditor;
|
|
75
75
|
config;
|
|
76
76
|
onEditorClose;
|
|
77
|
+
isFinalizingToolCalls = false;
|
|
78
|
+
isScheduling = false;
|
|
79
|
+
requestQueue = [];
|
|
77
80
|
constructor(options) {
|
|
78
81
|
this.config = options.config;
|
|
79
82
|
this.toolRegistry = options.toolRegistry;
|
|
@@ -94,6 +97,7 @@ export class CoreToolScheduler {
|
|
|
94
97
|
// currentCall is a non-terminal state here and should have startTime and tool.
|
|
95
98
|
const existingStartTime = currentCall.startTime;
|
|
96
99
|
const toolInstance = currentCall.tool;
|
|
100
|
+
const invocation = currentCall.invocation;
|
|
97
101
|
const outcome = currentCall.outcome;
|
|
98
102
|
switch (newStatus) {
|
|
99
103
|
case 'success': {
|
|
@@ -103,6 +107,7 @@ export class CoreToolScheduler {
|
|
|
103
107
|
return {
|
|
104
108
|
request: currentCall.request,
|
|
105
109
|
tool: toolInstance,
|
|
110
|
+
invocation,
|
|
106
111
|
status: 'success',
|
|
107
112
|
response: auxiliaryData,
|
|
108
113
|
durationMs,
|
|
@@ -116,6 +121,7 @@ export class CoreToolScheduler {
|
|
|
116
121
|
return {
|
|
117
122
|
request: currentCall.request,
|
|
118
123
|
status: 'error',
|
|
124
|
+
tool: toolInstance,
|
|
119
125
|
response: auxiliaryData,
|
|
120
126
|
durationMs,
|
|
121
127
|
outcome,
|
|
@@ -129,6 +135,7 @@ export class CoreToolScheduler {
|
|
|
129
135
|
confirmationDetails: auxiliaryData,
|
|
130
136
|
startTime: existingStartTime,
|
|
131
137
|
outcome,
|
|
138
|
+
invocation,
|
|
132
139
|
};
|
|
133
140
|
case 'scheduled':
|
|
134
141
|
return {
|
|
@@ -137,6 +144,7 @@ export class CoreToolScheduler {
|
|
|
137
144
|
status: 'scheduled',
|
|
138
145
|
startTime: existingStartTime,
|
|
139
146
|
outcome,
|
|
147
|
+
invocation,
|
|
140
148
|
};
|
|
141
149
|
case 'cancelled': {
|
|
142
150
|
const durationMs = existingStartTime
|
|
@@ -158,6 +166,7 @@ export class CoreToolScheduler {
|
|
|
158
166
|
return {
|
|
159
167
|
request: currentCall.request,
|
|
160
168
|
tool: toolInstance,
|
|
169
|
+
invocation,
|
|
161
170
|
status: 'cancelled',
|
|
162
171
|
response: {
|
|
163
172
|
callId: currentCall.request.callId,
|
|
@@ -185,6 +194,7 @@ export class CoreToolScheduler {
|
|
|
185
194
|
status: 'validating',
|
|
186
195
|
startTime: existingStartTime,
|
|
187
196
|
outcome,
|
|
197
|
+
invocation,
|
|
188
198
|
};
|
|
189
199
|
case 'executing':
|
|
190
200
|
return {
|
|
@@ -193,6 +203,7 @@ export class CoreToolScheduler {
|
|
|
193
203
|
status: 'executing',
|
|
194
204
|
startTime: existingStartTime,
|
|
195
205
|
outcome,
|
|
206
|
+
invocation,
|
|
196
207
|
};
|
|
197
208
|
default: {
|
|
198
209
|
const exhaustiveCheck = newStatus;
|
|
@@ -205,92 +216,170 @@ export class CoreToolScheduler {
|
|
|
205
216
|
}
|
|
206
217
|
setArgsInternal(targetCallId, args) {
|
|
207
218
|
this.toolCalls = this.toolCalls.map((call) => {
|
|
208
|
-
|
|
219
|
+
// We should never be asked to set args on an ErroredToolCall, but
|
|
220
|
+
// we guard for the case anyways.
|
|
221
|
+
if (call.request.callId !== targetCallId || call.status === 'error') {
|
|
209
222
|
return call;
|
|
223
|
+
}
|
|
224
|
+
const invocationOrError = this.buildInvocation(call.tool, args);
|
|
225
|
+
if (invocationOrError instanceof Error) {
|
|
226
|
+
const response = createErrorResponse(call.request, invocationOrError, ToolErrorType.INVALID_TOOL_PARAMS);
|
|
227
|
+
return {
|
|
228
|
+
request: { ...call.request, args: args },
|
|
229
|
+
status: 'error',
|
|
230
|
+
tool: call.tool,
|
|
231
|
+
response,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
210
234
|
return {
|
|
211
235
|
...call,
|
|
212
236
|
request: { ...call.request, args: args },
|
|
237
|
+
invocation: invocationOrError,
|
|
213
238
|
};
|
|
214
239
|
});
|
|
215
240
|
}
|
|
216
241
|
isRunning() {
|
|
217
|
-
return this.
|
|
242
|
+
return (this.isFinalizingToolCalls ||
|
|
243
|
+
this.toolCalls.some((call) => call.status === 'executing' || call.status === 'awaiting_approval'));
|
|
244
|
+
}
|
|
245
|
+
buildInvocation(tool, args) {
|
|
246
|
+
try {
|
|
247
|
+
return tool.build(args);
|
|
248
|
+
}
|
|
249
|
+
catch (e) {
|
|
250
|
+
if (e instanceof Error) {
|
|
251
|
+
return e;
|
|
252
|
+
}
|
|
253
|
+
return new Error(String(e));
|
|
254
|
+
}
|
|
218
255
|
}
|
|
219
|
-
|
|
220
|
-
if (this.isRunning()) {
|
|
221
|
-
|
|
256
|
+
schedule(request, signal) {
|
|
257
|
+
if (this.isRunning() || this.isScheduling) {
|
|
258
|
+
return new Promise((resolve, reject) => {
|
|
259
|
+
const abortHandler = () => {
|
|
260
|
+
// Find and remove the request from the queue
|
|
261
|
+
const index = this.requestQueue.findIndex((item) => item.request === request);
|
|
262
|
+
if (index > -1) {
|
|
263
|
+
this.requestQueue.splice(index, 1);
|
|
264
|
+
reject(new Error('Tool call cancelled while in queue.'));
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
signal.addEventListener('abort', abortHandler, { once: true });
|
|
268
|
+
this.requestQueue.push({
|
|
269
|
+
request,
|
|
270
|
+
signal,
|
|
271
|
+
resolve: () => {
|
|
272
|
+
signal.removeEventListener('abort', abortHandler);
|
|
273
|
+
resolve();
|
|
274
|
+
},
|
|
275
|
+
reject: (reason) => {
|
|
276
|
+
signal.removeEventListener('abort', abortHandler);
|
|
277
|
+
reject(reason);
|
|
278
|
+
},
|
|
279
|
+
});
|
|
280
|
+
});
|
|
222
281
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
282
|
+
return this._schedule(request, signal);
|
|
283
|
+
}
|
|
284
|
+
async _schedule(request, signal) {
|
|
285
|
+
this.isScheduling = true;
|
|
286
|
+
try {
|
|
287
|
+
if (this.isRunning()) {
|
|
288
|
+
throw new Error('Cannot schedule new tool calls while other tool calls are actively running (executing or awaiting approval).');
|
|
289
|
+
}
|
|
290
|
+
const requestsToProcess = Array.isArray(request) ? request : [request];
|
|
291
|
+
const toolRegistry = await this.toolRegistry;
|
|
292
|
+
const newToolCalls = requestsToProcess.map((reqInfo) => {
|
|
293
|
+
const toolInstance = toolRegistry.getTool(reqInfo.name);
|
|
294
|
+
if (!toolInstance) {
|
|
295
|
+
return {
|
|
296
|
+
status: 'error',
|
|
297
|
+
request: reqInfo,
|
|
298
|
+
response: createErrorResponse(reqInfo, new Error(`Tool "${reqInfo.name}" not found in registry.`), ToolErrorType.TOOL_NOT_REGISTERED),
|
|
299
|
+
durationMs: 0,
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
const invocationOrError = this.buildInvocation(toolInstance, reqInfo.args);
|
|
303
|
+
if (invocationOrError instanceof Error) {
|
|
304
|
+
return {
|
|
305
|
+
status: 'error',
|
|
306
|
+
request: reqInfo,
|
|
307
|
+
tool: toolInstance,
|
|
308
|
+
response: createErrorResponse(reqInfo, invocationOrError, ToolErrorType.INVALID_TOOL_PARAMS),
|
|
309
|
+
durationMs: 0,
|
|
310
|
+
};
|
|
311
|
+
}
|
|
228
312
|
return {
|
|
229
|
-
status: '
|
|
313
|
+
status: 'validating',
|
|
230
314
|
request: reqInfo,
|
|
231
|
-
|
|
232
|
-
|
|
315
|
+
tool: toolInstance,
|
|
316
|
+
invocation: invocationOrError,
|
|
317
|
+
startTime: Date.now(),
|
|
233
318
|
};
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
};
|
|
241
|
-
});
|
|
242
|
-
this.toolCalls = this.toolCalls.concat(newToolCalls);
|
|
243
|
-
this.notifyToolCallsUpdate();
|
|
244
|
-
for (const toolCall of newToolCalls) {
|
|
245
|
-
if (toolCall.status !== 'validating') {
|
|
246
|
-
continue;
|
|
247
|
-
}
|
|
248
|
-
const { request: reqInfo, tool: toolInstance } = toolCall;
|
|
249
|
-
try {
|
|
250
|
-
if (this.config.getApprovalMode() === ApprovalMode.YOLO) {
|
|
251
|
-
this.setStatusInternal(reqInfo.callId, 'scheduled');
|
|
319
|
+
});
|
|
320
|
+
this.toolCalls = this.toolCalls.concat(newToolCalls);
|
|
321
|
+
this.notifyToolCallsUpdate();
|
|
322
|
+
for (const toolCall of newToolCalls) {
|
|
323
|
+
if (toolCall.status !== 'validating') {
|
|
324
|
+
continue;
|
|
252
325
|
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
if (
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
...confirmationDetails,
|
|
259
|
-
onConfirm: (outcome, payload) => this.handleConfirmationResponse(reqInfo.callId, originalOnConfirm, outcome, signal, payload),
|
|
260
|
-
};
|
|
261
|
-
this.setStatusInternal(reqInfo.callId, 'awaiting_approval', wrappedConfirmationDetails);
|
|
326
|
+
const { request: reqInfo, invocation } = toolCall;
|
|
327
|
+
try {
|
|
328
|
+
if (this.config.getApprovalMode() === ApprovalMode.YOLO) {
|
|
329
|
+
this.setToolCallOutcome(reqInfo.callId, ToolConfirmationOutcome.ProceedAlways);
|
|
330
|
+
this.setStatusInternal(reqInfo.callId, 'scheduled');
|
|
262
331
|
}
|
|
263
332
|
else {
|
|
264
|
-
|
|
333
|
+
const confirmationDetails = await invocation.shouldConfirmExecute(signal);
|
|
334
|
+
if (confirmationDetails) {
|
|
335
|
+
// Allow IDE to resolve confirmation
|
|
336
|
+
if (confirmationDetails.type === 'edit' &&
|
|
337
|
+
confirmationDetails.ideConfirmation) {
|
|
338
|
+
confirmationDetails.ideConfirmation.then((resolution) => {
|
|
339
|
+
if (resolution.status === 'accepted') {
|
|
340
|
+
this.handleConfirmationResponse(reqInfo.callId, confirmationDetails.onConfirm, ToolConfirmationOutcome.ProceedOnce, signal);
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
this.handleConfirmationResponse(reqInfo.callId, confirmationDetails.onConfirm, ToolConfirmationOutcome.Cancel, signal);
|
|
344
|
+
}
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
const originalOnConfirm = confirmationDetails.onConfirm;
|
|
348
|
+
const wrappedConfirmationDetails = {
|
|
349
|
+
...confirmationDetails,
|
|
350
|
+
onConfirm: (outcome, payload) => this.handleConfirmationResponse(reqInfo.callId, originalOnConfirm, outcome, signal, payload),
|
|
351
|
+
};
|
|
352
|
+
this.setStatusInternal(reqInfo.callId, 'awaiting_approval', wrappedConfirmationDetails);
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
this.setToolCallOutcome(reqInfo.callId, ToolConfirmationOutcome.ProceedAlways);
|
|
356
|
+
this.setStatusInternal(reqInfo.callId, 'scheduled');
|
|
357
|
+
}
|
|
265
358
|
}
|
|
266
359
|
}
|
|
360
|
+
catch (error) {
|
|
361
|
+
this.setStatusInternal(reqInfo.callId, 'error', createErrorResponse(reqInfo, error instanceof Error ? error : new Error(String(error)), ToolErrorType.UNHANDLED_EXCEPTION));
|
|
362
|
+
}
|
|
267
363
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
364
|
+
this.attemptExecutionOfScheduledCalls(signal);
|
|
365
|
+
void this.checkAndNotifyCompletion();
|
|
366
|
+
}
|
|
367
|
+
finally {
|
|
368
|
+
this.isScheduling = false;
|
|
271
369
|
}
|
|
272
|
-
this.attemptExecutionOfScheduledCalls(signal);
|
|
273
|
-
this.checkAndNotifyCompletion();
|
|
274
370
|
}
|
|
275
371
|
async handleConfirmationResponse(callId, originalOnConfirm, outcome, signal, payload) {
|
|
276
372
|
const toolCall = this.toolCalls.find((c) => c.request.callId === callId && c.status === 'awaiting_approval');
|
|
277
373
|
if (toolCall && toolCall.status === 'awaiting_approval') {
|
|
278
374
|
await originalOnConfirm(outcome);
|
|
279
375
|
}
|
|
280
|
-
this.
|
|
281
|
-
if (call.request.callId !== callId)
|
|
282
|
-
return call;
|
|
283
|
-
return {
|
|
284
|
-
...call,
|
|
285
|
-
outcome,
|
|
286
|
-
};
|
|
287
|
-
});
|
|
376
|
+
this.setToolCallOutcome(callId, outcome);
|
|
288
377
|
if (outcome === ToolConfirmationOutcome.Cancel || signal.aborted) {
|
|
289
378
|
this.setStatusInternal(callId, 'cancelled', 'User did not allow tool call');
|
|
290
379
|
}
|
|
291
380
|
else if (outcome === ToolConfirmationOutcome.ModifyWithEditor) {
|
|
292
381
|
const waitingToolCall = toolCall;
|
|
293
|
-
if (
|
|
382
|
+
if (isModifiableDeclarativeTool(waitingToolCall.tool)) {
|
|
294
383
|
const modifyContext = waitingToolCall.tool.getModifyContext(signal);
|
|
295
384
|
const editorType = this.getPreferredEditor();
|
|
296
385
|
if (!editorType) {
|
|
@@ -326,7 +415,7 @@ export class CoreToolScheduler {
|
|
|
326
415
|
*/
|
|
327
416
|
async _applyInlineModify(toolCall, payload, signal) {
|
|
328
417
|
if (toolCall.confirmationDetails.type !== 'edit' ||
|
|
329
|
-
!
|
|
418
|
+
!isModifiableDeclarativeTool(toolCall.tool)) {
|
|
330
419
|
return;
|
|
331
420
|
}
|
|
332
421
|
const modifyContext = toolCall.tool.getModifyContext(signal);
|
|
@@ -351,6 +440,7 @@ export class CoreToolScheduler {
|
|
|
351
440
|
return;
|
|
352
441
|
const scheduledCall = toolCall;
|
|
353
442
|
const { callId, name: toolName } = scheduledCall.request;
|
|
443
|
+
const invocation = scheduledCall.invocation;
|
|
354
444
|
this.setStatusInternal(callId, 'executing');
|
|
355
445
|
const liveOutputCallback = scheduledCall.tool.canUpdateOutput && this.outputUpdateHandler
|
|
356
446
|
? (outputChunk) => {
|
|
@@ -363,8 +453,8 @@ export class CoreToolScheduler {
|
|
|
363
453
|
this.notifyToolCallsUpdate();
|
|
364
454
|
}
|
|
365
455
|
: undefined;
|
|
366
|
-
|
|
367
|
-
.execute(
|
|
456
|
+
invocation
|
|
457
|
+
.execute(signal, liveOutputCallback)
|
|
368
458
|
.then(async (toolResult) => {
|
|
369
459
|
if (signal.aborted) {
|
|
370
460
|
this.setStatusInternal(callId, 'cancelled', 'User cancelled tool execution.');
|
|
@@ -396,7 +486,7 @@ export class CoreToolScheduler {
|
|
|
396
486
|
});
|
|
397
487
|
}
|
|
398
488
|
}
|
|
399
|
-
checkAndNotifyCompletion() {
|
|
489
|
+
async checkAndNotifyCompletion() {
|
|
400
490
|
const allCallsAreTerminal = this.toolCalls.every((call) => call.status === 'success' ||
|
|
401
491
|
call.status === 'error' ||
|
|
402
492
|
call.status === 'cancelled');
|
|
@@ -407,9 +497,18 @@ export class CoreToolScheduler {
|
|
|
407
497
|
logToolCall(this.config, new ToolCallEvent(call));
|
|
408
498
|
}
|
|
409
499
|
if (this.onAllToolCallsComplete) {
|
|
410
|
-
this.
|
|
500
|
+
this.isFinalizingToolCalls = true;
|
|
501
|
+
await this.onAllToolCallsComplete(completedCalls);
|
|
502
|
+
this.isFinalizingToolCalls = false;
|
|
411
503
|
}
|
|
412
504
|
this.notifyToolCallsUpdate();
|
|
505
|
+
// After completion, process the next item in the queue.
|
|
506
|
+
if (this.requestQueue.length > 0) {
|
|
507
|
+
const next = this.requestQueue.shift();
|
|
508
|
+
this._schedule(next.request, next.signal)
|
|
509
|
+
.then(next.resolve)
|
|
510
|
+
.catch(next.reject);
|
|
511
|
+
}
|
|
413
512
|
}
|
|
414
513
|
}
|
|
415
514
|
notifyToolCallsUpdate() {
|
|
@@ -417,5 +516,15 @@ export class CoreToolScheduler {
|
|
|
417
516
|
this.onToolCallsUpdate([...this.toolCalls]);
|
|
418
517
|
}
|
|
419
518
|
}
|
|
519
|
+
setToolCallOutcome(callId, outcome) {
|
|
520
|
+
this.toolCalls = this.toolCalls.map((call) => {
|
|
521
|
+
if (call.request.callId !== callId)
|
|
522
|
+
return call;
|
|
523
|
+
return {
|
|
524
|
+
...call,
|
|
525
|
+
outcome,
|
|
526
|
+
};
|
|
527
|
+
});
|
|
528
|
+
}
|
|
420
529
|
}
|
|
421
530
|
//# sourceMappingURL=coreToolScheduler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreToolScheduler.js","sourceRoot":"","sources":["../../../src/core/coreToolScheduler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coreToolScheduler.js","sourceRoot":"","sources":["../../../src/core/coreToolScheduler.ts"],"names":[],"mappings":"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"}
|