@simonepri/refined-antigravity-acp 1.2.8 → 1.2.10
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/src/fixes/cancellation-leak/index.d.ts +6 -1
- package/dist/src/fixes/cancellation-leak/index.d.ts.map +1 -1
- package/dist/src/fixes/cancellation-leak/index.js +9 -5
- package/dist/src/fixes/cancellation-leak/index.js.map +1 -1
- package/dist/src/fixes/index.js +1 -1
- package/dist/src/fixes/index.js.map +1 -1
- package/dist/src/fixes/repetitive-tool-loop/index.d.ts +6 -0
- package/dist/src/fixes/repetitive-tool-loop/index.d.ts.map +1 -1
- package/dist/src/fixes/repetitive-tool-loop/index.js +45 -13
- package/dist/src/fixes/repetitive-tool-loop/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,7 +15,12 @@
|
|
|
15
15
|
import { type AcpFix, type AcpStreamMessage } from "../../core/types.js";
|
|
16
16
|
export declare const CANCELLATION_ERROR_REGEX: RegExp;
|
|
17
17
|
export declare const CONCURRENT_RECEIVE_STEPS_REGEX: RegExp;
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Fallback cancellation timeout. Must be well below Paseo's 2000ms hard interrupt watchdog
|
|
20
|
+
* (`INTERRUPT_SESSION_TIMEOUT_MS = 2000` in Paseo's agent-manager.js) to guarantee prompt
|
|
21
|
+
* settlement before Paseo force-cancels and crashes with "A foreground turn is already active".
|
|
22
|
+
*/
|
|
23
|
+
export declare const DEFAULT_CANCELLATION_TIMEOUT_MS = 800;
|
|
19
24
|
export declare function isCancellationText(text: string): boolean;
|
|
20
25
|
export declare function extractMessageChunkText(msg: AcpStreamMessage): string | null;
|
|
21
26
|
export interface CancellationOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fixes/cancellation-leak/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAKL,KAAK,MAAM,EACX,KAAK,gBAAgB,EAItB,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,wBAAwB,QACkD,CAAC;AAExF,eAAO,MAAM,8BAA8B,QACmG,CAAC;AAE/I,eAAO,MAAM,+BAA+B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fixes/cancellation-leak/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAKL,KAAK,MAAM,EACX,KAAK,gBAAgB,EAItB,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,wBAAwB,QACkD,CAAC;AAExF,eAAO,MAAM,8BAA8B,QACmG,CAAC;AAE/I;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASxD;AAiBD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAK5E;AAeD,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4GD,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAkD/E;AAED,eAAO,MAAM,mBAAmB,QAA8B,CAAC;AAC/D,eAAO,MAAM,sBAAsB,QAAsB,CAAC"}
|
|
@@ -13,10 +13,15 @@
|
|
|
13
13
|
* subsequent outbound prompt until the previous cancellation has completely unwound.
|
|
14
14
|
*/
|
|
15
15
|
import { ACP_METHODS, SESSION_UPDATES, STOP_REASONS, isMethod, } from "../../core/types.js";
|
|
16
|
-
import { extractSessionId } from "../../core/session-cache.js";
|
|
16
|
+
import { extractSessionId, getOrCreateSession } from "../../core/session-cache.js";
|
|
17
17
|
export const CANCELLATION_ERROR_REGEX = /^(?:context\s+canceled)?\s*The\s+request\s+was\s+cancelled\s+by\s+the\s+client\.?$/i;
|
|
18
18
|
export const CONCURRENT_RECEIVE_STEPS_REGEX = /^Agent connection was lost and could not be re-established:\s*Concurrent receive_steps\(\) calls are not supported on this connection\.?$/i;
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Fallback cancellation timeout. Must be well below Paseo's 2000ms hard interrupt watchdog
|
|
21
|
+
* (`INTERRUPT_SESSION_TIMEOUT_MS = 2000` in Paseo's agent-manager.js) to guarantee prompt
|
|
22
|
+
* settlement before Paseo force-cancels and crashes with "A foreground turn is already active".
|
|
23
|
+
*/
|
|
24
|
+
export const DEFAULT_CANCELLATION_TIMEOUT_MS = 800;
|
|
20
25
|
export function isCancellationText(text) {
|
|
21
26
|
const trimmed = text.trim();
|
|
22
27
|
if (!trimmed)
|
|
@@ -82,9 +87,8 @@ function handleOutboundCancel(msg, context, state, timeoutMs) {
|
|
|
82
87
|
if (current && current.promptId === promptId) {
|
|
83
88
|
state.cancellingSessions.delete(sessionId);
|
|
84
89
|
state.suppressedLateResponseIds.add(promptId);
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
90
|
+
const session = context.session ?? getOrCreateSession(context.sessionCache, sessionId);
|
|
91
|
+
session.needsRecycle = true;
|
|
88
92
|
const cancelResponse = {
|
|
89
93
|
jsonrpc: "2.0",
|
|
90
94
|
id: promptId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fixes/cancellation-leak/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,WAAW,EACX,eAAe,EACf,YAAY,EACZ,QAAQ,GAMT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fixes/cancellation-leak/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/fixes/index.js
CHANGED
|
@@ -50,8 +50,8 @@ export function createDefaultFixes() {
|
|
|
50
50
|
silentBackgroundTasksFix,
|
|
51
51
|
malformedStreamSyntaxFix,
|
|
52
52
|
activeTurnCollisionFix,
|
|
53
|
-
cancellationLeakFix,
|
|
54
53
|
repetitiveToolLoopFix,
|
|
54
|
+
cancellationLeakFix,
|
|
55
55
|
danglingToolCallsFix,
|
|
56
56
|
staleMcpEndpointsFix,
|
|
57
57
|
orphanedCheckpointsFix,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fixes/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,eAAe;QACf,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,mBAAmB;QACnB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fixes/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,eAAe;QACf,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,qBAAqB;QACrB,mBAAmB;QACnB,oBAAoB;QACpB,oBAAoB;QACpB,sBAAsB;QACtB,uBAAuB;QACvB,kBAAkB;QAClB,wBAAwB;QACxB,sBAAsB;QACtB,sBAAsB;QACtB,0BAA0B;QAC1B,oBAAoB;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -43,11 +43,17 @@ export declare function detectCycle(signatures: readonly string[], options?: {
|
|
|
43
43
|
singleToolThreshold?: number;
|
|
44
44
|
cycleThreshold?: number;
|
|
45
45
|
}): CycleDetectionResult;
|
|
46
|
+
export declare const DEFAULT_READ_ONLY_SINGLE_THRESHOLD = 6;
|
|
47
|
+
export declare const DEFAULT_MUTATING_SINGLE_THRESHOLD = 10;
|
|
48
|
+
export declare const DEFAULT_CYCLE_THRESHOLD = 4;
|
|
49
|
+
export declare const DEFAULT_RESOURCE_LOOP_THRESHOLD = 15;
|
|
46
50
|
export declare class RepetitiveToolLoopTracker {
|
|
47
51
|
private readonly sessions;
|
|
48
52
|
private readonly promptIdToSessionId;
|
|
49
53
|
private getOrCreate;
|
|
50
54
|
startTurn(sessionId: string, promptId?: string | number, promptText?: string): void;
|
|
55
|
+
isClientCancelled(sessionId: string): boolean;
|
|
56
|
+
setClientCancelled(sessionId: string, cancelled: boolean): void;
|
|
51
57
|
getSessionIdForPrompt(promptId: string | number): string | undefined;
|
|
52
58
|
recordToolCall(sessionId: string, toolName: string, rawInput: unknown, options?: RepetitiveToolLoopOptions): CycleDetectionResult;
|
|
53
59
|
isLoopInterrupted(sessionId: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fixes/repetitive-tool-loop/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAKL,KAAK,MAAM,EACX,KAAK,gBAAgB,EAItB,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,qBAAqB,aAAwD,CAAC;AAE3F,eAAO,MAAM,eAAe,aAO1B,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAC2G,CAAC;AAE/I,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAQ/D;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOjF;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAcvD;AAED,wBAAgB,uBAAuB,CACrC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,CAAC,EAAE,OAAO,GACjB,MAAM,CAcR;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAWpF;AA2BD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQ3E;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AA4BD,wBAAgB,WAAW,CACzB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,oBAAoB,CA6BtB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fixes/repetitive-tool-loop/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* ending the turn or polluting the user's chat.
|
|
14
14
|
*/
|
|
15
15
|
import { ACP_METHODS, SESSION_UPDATES, STOP_REASONS, isMethod, } from "../../core/types.js";
|
|
16
|
-
import { extractSessionId } from "../../core/session-cache.js";
|
|
16
|
+
import { extractSessionId, trackPendingRequestSession } from "../../core/session-cache.js";
|
|
17
17
|
export const IGNORED_METADATA_KEYS = new Set(["toolaction", "toolsummary", "description"]);
|
|
18
18
|
export const READ_ONLY_TOOLS = new Set([
|
|
19
19
|
"view_file",
|
|
@@ -182,11 +182,15 @@ export function detectCycle(signatures, options = {}) {
|
|
|
182
182
|
pattern: [],
|
|
183
183
|
};
|
|
184
184
|
}
|
|
185
|
+
export const DEFAULT_READ_ONLY_SINGLE_THRESHOLD = 6;
|
|
186
|
+
export const DEFAULT_MUTATING_SINGLE_THRESHOLD = 10;
|
|
187
|
+
export const DEFAULT_CYCLE_THRESHOLD = 4;
|
|
188
|
+
export const DEFAULT_RESOURCE_LOOP_THRESHOLD = 15;
|
|
185
189
|
function resolveSingleThreshold(isReadOnly, hasPolling, requestedIterations, options) {
|
|
186
190
|
if (isReadOnly)
|
|
187
|
-
return options.readOnlySingleThreshold ??
|
|
191
|
+
return options.readOnlySingleThreshold ?? DEFAULT_READ_ONLY_SINGLE_THRESHOLD;
|
|
188
192
|
if (!hasPolling)
|
|
189
|
-
return options.mutatingSingleThreshold ??
|
|
193
|
+
return options.mutatingSingleThreshold ?? DEFAULT_MUTATING_SINGLE_THRESHOLD;
|
|
190
194
|
const basePolling = options.pollingSingleThreshold ?? 30;
|
|
191
195
|
return requestedIterations ? Math.max(requestedIterations + 2, basePolling) : basePolling;
|
|
192
196
|
}
|
|
@@ -199,11 +203,13 @@ function detectResourceLoop(state, toolName, rawInput, singleThreshold, options)
|
|
|
199
203
|
state.resourceSignatures.push(`${toolName}:${resource}`);
|
|
200
204
|
const resourceThreshold = state.hasPollingIntent
|
|
201
205
|
? singleThreshold
|
|
202
|
-
:
|
|
206
|
+
: options.readOnlySingleThreshold !== undefined
|
|
207
|
+
? options.readOnlySingleThreshold * 2
|
|
208
|
+
: DEFAULT_RESOURCE_LOOP_THRESHOLD;
|
|
203
209
|
const resCycle = detectCycle(state.resourceSignatures, {
|
|
204
210
|
maxPeriod: options.maxPeriod ?? 4,
|
|
205
211
|
singleToolThreshold: resourceThreshold,
|
|
206
|
-
cycleThreshold: options.cycleThreshold ??
|
|
212
|
+
cycleThreshold: options.cycleThreshold ?? DEFAULT_CYCLE_THRESHOLD,
|
|
207
213
|
});
|
|
208
214
|
if (resCycle.isLoop) {
|
|
209
215
|
state.lastTargetResource = resource;
|
|
@@ -242,6 +248,7 @@ export class RepetitiveToolLoopTracker {
|
|
|
242
248
|
state.steerPending = false;
|
|
243
249
|
state.steerPromptId = undefined;
|
|
244
250
|
state.steerCount = 0;
|
|
251
|
+
state.clientCancelled = false;
|
|
245
252
|
state.lastLoopResult = undefined;
|
|
246
253
|
state.lastToolName = undefined;
|
|
247
254
|
state.lastTargetResource = undefined;
|
|
@@ -249,6 +256,14 @@ export class RepetitiveToolLoopTracker {
|
|
|
249
256
|
this.promptIdToSessionId.set(promptId, sessionId);
|
|
250
257
|
}
|
|
251
258
|
}
|
|
259
|
+
isClientCancelled(sessionId) {
|
|
260
|
+
return this.sessions.get(sessionId)?.clientCancelled ?? false;
|
|
261
|
+
}
|
|
262
|
+
setClientCancelled(sessionId, cancelled) {
|
|
263
|
+
const s = this.sessions.get(sessionId);
|
|
264
|
+
if (s)
|
|
265
|
+
s.clientCancelled = cancelled;
|
|
266
|
+
}
|
|
252
267
|
getSessionIdForPrompt(promptId) {
|
|
253
268
|
return this.promptIdToSessionId.get(promptId);
|
|
254
269
|
}
|
|
@@ -260,11 +275,15 @@ export class RepetitiveToolLoopTracker {
|
|
|
260
275
|
const signature = computeToolCallSignature(toolName, rawInput);
|
|
261
276
|
state.signatures.push(signature);
|
|
262
277
|
const isReadOnly = READ_ONLY_TOOLS.has(toolName);
|
|
278
|
+
if (!isReadOnly) {
|
|
279
|
+
// Mutating actions modify files or state; reset purely read inspection tracking
|
|
280
|
+
state.resourceSignatures = [];
|
|
281
|
+
}
|
|
263
282
|
const singleThreshold = resolveSingleThreshold(isReadOnly, state.hasPollingIntent, state.requestedIterations, options);
|
|
264
283
|
const result = detectCycle(state.signatures, {
|
|
265
284
|
maxPeriod: options.maxPeriod ?? 4,
|
|
266
285
|
singleToolThreshold: singleThreshold,
|
|
267
|
-
cycleThreshold: options.cycleThreshold ??
|
|
286
|
+
cycleThreshold: options.cycleThreshold ?? DEFAULT_CYCLE_THRESHOLD,
|
|
268
287
|
});
|
|
269
288
|
const loopResult = result.isLoop
|
|
270
289
|
? result
|
|
@@ -389,7 +408,10 @@ function handleSteerPromptCompletion(msg, sessionId, tracker) {
|
|
|
389
408
|
if (steerPromptId !== undefined && promptId === steerPromptId) {
|
|
390
409
|
const originalPromptId = tracker.getActivePromptId(sessionId);
|
|
391
410
|
tracker.clearSteerPrompt(sessionId);
|
|
392
|
-
|
|
411
|
+
if (originalPromptId !== undefined && originalPromptId !== null) {
|
|
412
|
+
return [{ ...msg, id: originalPromptId }];
|
|
413
|
+
}
|
|
414
|
+
return [];
|
|
393
415
|
}
|
|
394
416
|
return null;
|
|
395
417
|
}
|
|
@@ -419,6 +441,7 @@ async function dispatchSteeringPrompt(sessionId, tracker, context) {
|
|
|
419
441
|
const steeringText = buildSteeringText(toolName, targetResource, repetitions, currentSteerCount);
|
|
420
442
|
const newSteerPromptId = `steer_${sessionId}_${Date.now()}`;
|
|
421
443
|
tracker.setSteerPromptId(sessionId, newSteerPromptId);
|
|
444
|
+
trackPendingRequestSession(context.sessionCache, newSteerPromptId, sessionId);
|
|
422
445
|
try {
|
|
423
446
|
await context.writeToChild({
|
|
424
447
|
jsonrpc: "2.0",
|
|
@@ -447,21 +470,25 @@ function extractCancelledResult(msg, sessionId, tracker) {
|
|
|
447
470
|
return res;
|
|
448
471
|
}
|
|
449
472
|
async function settleInterruptedPromptResponse(msg, sessionId, tracker, context, options) {
|
|
473
|
+
const steerResult = handleSteerPromptCompletion(msg, sessionId, tracker);
|
|
474
|
+
if (steerResult)
|
|
475
|
+
return steerResult;
|
|
450
476
|
if (!("result" in msg))
|
|
451
477
|
return null;
|
|
452
478
|
const maxSteers = options.maxSteersPerTurn ?? 2;
|
|
453
|
-
const
|
|
479
|
+
const isClientCancelled = tracker.isClientCancelled(sessionId);
|
|
480
|
+
const canSteer = !isClientCancelled &&
|
|
481
|
+
tracker.isSteerPending(sessionId) &&
|
|
482
|
+
tracker.getSteerCount(sessionId) < maxSteers;
|
|
454
483
|
if (canSteer && (await dispatchSteeringPrompt(sessionId, tracker, context))) {
|
|
455
484
|
return [];
|
|
456
485
|
}
|
|
457
|
-
const steerResult = handleSteerPromptCompletion(msg, sessionId, tracker);
|
|
458
|
-
if (steerResult)
|
|
459
|
-
return steerResult;
|
|
460
486
|
const res = extractCancelledResult(msg, sessionId, tracker);
|
|
461
487
|
if (!res)
|
|
462
488
|
return null;
|
|
489
|
+
const stopReason = isClientCancelled ? STOP_REASONS.CANCELLED : STOP_REASONS.END_TURN;
|
|
463
490
|
tracker.startTurn(sessionId);
|
|
464
|
-
return [{ ...msg, result: { ...res, stopReason
|
|
491
|
+
return [{ ...msg, result: { ...res, stopReason } }];
|
|
465
492
|
}
|
|
466
493
|
function resolveSessionId(msg, tracker) {
|
|
467
494
|
const fromMsg = extractSessionId(msg);
|
|
@@ -499,7 +526,12 @@ export function createRepetitiveToolLoopFix(options = {}) {
|
|
|
499
526
|
tracker.startTurn(sessionId, promptId, promptText);
|
|
500
527
|
}
|
|
501
528
|
else if (isMethod(msg, ACP_METHODS.SESSION_CANCEL)) {
|
|
502
|
-
|
|
529
|
+
// Do NOT clear steerPromptId here! If an automated steering prompt is currently executing,
|
|
530
|
+
// cancelling will cause upstream to respond with { id: steerPromptId, result: { stopReason: "cancelled" } }.
|
|
531
|
+
// We must preserve steerPromptId so handleSteerPromptCompletion can map it back to the client's
|
|
532
|
+
// activePromptId and deliver a clean cancellation response instead of leaking an unknown steer_ ID to the client.
|
|
533
|
+
tracker.setClientCancelled(sessionId, true);
|
|
534
|
+
tracker.setSteerPending(sessionId, false);
|
|
503
535
|
}
|
|
504
536
|
return msg;
|
|
505
537
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fixes/repetitive-tool-loop/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fixes/repetitive-tool-loop/index.ts"],"names":[],"mappings":"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"}
|