@simonepri/refined-antigravity-acp 1.2.3 → 1.2.4

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.
@@ -27,6 +27,7 @@ export type ConversationStep = {
27
27
  };
28
28
  export { STEP_TYPE_USER, STEP_TYPE_AGENT };
29
29
  export declare function utf8(bytes: Uint8Array | null): string;
30
+ export declare function isInternalProxyPrompt(text: string): boolean;
30
31
  export declare function decodeStep(stepType: number, payload: Uint8Array, idx: number, timestamp?: string): ConversationStep[];
31
32
  export declare function conversationDbPath(sessionId: string, customDbPath?: string): string;
32
33
  export declare function readConversationSteps(sessionId: string, customDbPath?: string): ConversationStep[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fixes/dropped-history-chunks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fixes/dropped-history-chunks/index.ts"],"names":[],"mappings":"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"}
@@ -41,39 +41,49 @@ export { STEP_TYPE_USER, STEP_TYPE_AGENT };
41
41
  export function utf8(bytes) {
42
42
  return bytes && bytes.length > 0 ? Buffer.from(bytes).toString("utf-8") : "";
43
43
  }
44
- export function decodeStep(stepType, payload, idx, timestamp) {
45
- if (stepType === STEP_TYPE_USER) {
46
- const f19 = getField(payload, 19);
47
- if (!f19)
48
- return [];
49
- const text = stripSystemContext(stripSteeringPrefix(utf8(getField(f19, 2)))).trim();
50
- return text ? [{ kind: "user", idx, text, timestamp }] : [];
51
- }
52
- if (stepType === STEP_TYPE_AGENT) {
53
- const f20 = getField(payload, 20);
54
- if (!f20)
55
- return [];
56
- const steps = [];
57
- const thought = utf8(getField(f20, 3)).trim();
58
- if (thought)
59
- steps.push({ kind: "thought", idx, text: thought, timestamp });
60
- const text = sanitizeText(utf8(getField(f20, 1)));
61
- if (text)
62
- steps.push({ kind: "assistant", idx, text, timestamp });
63
- const call = getField(f20, 7);
64
- const callId = call ? utf8(getField(call, 1)) : "";
65
- if (callId) {
66
- steps.push({
67
- kind: "tool_call",
68
- idx,
69
- callId,
70
- name: utf8(getField(call, 2)),
71
- rawInputJson: utf8(getField(call, 3)),
72
- timestamp,
73
- });
74
- }
75
- return steps;
44
+ export function isInternalProxyPrompt(text) {
45
+ return /^\s*\[Automated\s+[^\]]+\]:/i.test(text);
46
+ }
47
+ function decodeUserStep(payload, idx, timestamp) {
48
+ const f19 = getField(payload, 19);
49
+ if (!f19)
50
+ return [];
51
+ const raw = utf8(getField(f19, 2));
52
+ if (isInternalProxyPrompt(raw))
53
+ return [];
54
+ const text = stripSystemContext(stripSteeringPrefix(raw)).trim();
55
+ return text ? [{ kind: "user", idx, text, timestamp }] : [];
56
+ }
57
+ function decodeAgentStep(payload, idx, timestamp) {
58
+ const f20 = getField(payload, 20);
59
+ if (!f20)
60
+ return [];
61
+ const steps = [];
62
+ const thought = utf8(getField(f20, 3)).trim();
63
+ if (thought)
64
+ steps.push({ kind: "thought", idx, text: thought, timestamp });
65
+ const text = sanitizeText(utf8(getField(f20, 1)));
66
+ if (text)
67
+ steps.push({ kind: "assistant", idx, text, timestamp });
68
+ const call = getField(f20, 7);
69
+ const callId = call ? utf8(getField(call, 1)) : "";
70
+ if (callId) {
71
+ steps.push({
72
+ kind: "tool_call",
73
+ idx,
74
+ callId,
75
+ name: utf8(getField(call, 2)),
76
+ rawInputJson: utf8(getField(call, 3)),
77
+ timestamp,
78
+ });
76
79
  }
80
+ return steps;
81
+ }
82
+ export function decodeStep(stepType, payload, idx, timestamp) {
83
+ if (stepType === STEP_TYPE_USER)
84
+ return decodeUserStep(payload, idx, timestamp);
85
+ if (stepType === STEP_TYPE_AGENT)
86
+ return decodeAgentStep(payload, idx, timestamp);
77
87
  return [];
78
88
  }
79
89
  export function conversationDbPath(sessionId, customDbPath) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fixes/dropped-history-chunks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fixes/dropped-history-chunks/index.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,41 @@
1
1
  /**
2
2
  * Problem:
3
- * When upstream Antigravity executes tool calls (or receives a prompt) and halts with an empty
4
- * completion (stopReason=16, no text and no tool call), upstream completes the prompt turn
5
- * with a successful result without emitting any `agent_message_chunk`. Editor clients (Paseo, Zed)
6
- * transition the session to idle, leaving the user with zero explanation and an apparent hang.
3
+ * When upstream Antigravity executes tool calls and halts with an empty completion (stopReason=16,
4
+ * no text and no tool call), upstream completes the prompt turn with a successful result without
5
+ * emitting any `agent_message_chunk`. Editor clients (Paseo, Zed) transition the session to idle,
6
+ * leaving the user with zero explanation and an apparent hang, forcing the user to manually ask
7
+ * "You stopped, status report and next steps?".
7
8
  *
8
9
  * Solution:
9
- * Injects explicit system prompt steering instructing the model to never end a prompt turn without
10
- * emitting a clear assistant text message, eliminating premature silent stops at the model source
11
- * without synthesizing synthetic conversational prose in the proxy.
10
+ * In addition to baseline system prompt steering, intercepts empty `endTurn` completions following
11
+ * tool execution at runtime. Automatically dispatches an automated continuation prompt upstream
12
+ * directing the model to summarize its progress and continue executing the task to completion,
13
+ * without synthesizing artificial assistant prose in the proxy.
12
14
  */
13
- import type { AcpFix } from "../../core/types.js";
14
- export declare function createPrematureTurnStopFix(): AcpFix;
15
+ import { type AcpFix } from "../../core/types.js";
16
+ export interface PrematureTurnStopOptions {
17
+ maxContinuations?: number;
18
+ }
19
+ export declare class PrematureTurnStopTracker {
20
+ private readonly sessions;
21
+ private readonly promptIdToSessionId;
22
+ private getOrCreate;
23
+ startTurn(sessionId: string, promptId?: string | number | null): void;
24
+ getSessionIdForPrompt(promptId: string | number): string | undefined;
25
+ recordToolCall(sessionId: string): void;
26
+ recordAssistantText(sessionId: string, length: number): void;
27
+ isPrematureStop(sessionId: string, promptId: string | number | null | undefined, maxContinuations: number): boolean;
28
+ getToolCallCount(sessionId: string): number;
29
+ getContinuationCount(sessionId: string): number;
30
+ incrementContinuationCount(sessionId: string): void;
31
+ getContinuationPromptId(sessionId: string): string | number | undefined;
32
+ setContinuationPromptId(sessionId: string, promptId: string | number): void;
33
+ clearContinuationPrompt(sessionId: string): void;
34
+ getActivePromptId(sessionId: string): string | number | null | undefined;
35
+ clearSession(sessionId: string): void;
36
+ clear(): void;
37
+ }
38
+ export declare function buildContinuationText(toolCallCount: number): string;
39
+ export declare function createPrematureTurnStopFix(options?: PrematureTurnStopOptions): AcpFix;
15
40
  export declare const prematureTurnStopFix: AcpFix;
16
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fixes/premature-turn-stop/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,wBAAgB,0BAA0B,IAAI,MAAM,CAYnD;AAED,eAAO,MAAM,oBAAoB,QAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fixes/premature-turn-stop/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAKL,KAAK,MAAM,EAKZ,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAUD,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsC;IAE1E,OAAO,CAAC,WAAW;IAanB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI;IAYrE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpE,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKvC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5D,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAC5C,gBAAgB,EAAE,MAAM,GACvB,OAAO;IAaV,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI3C,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI/C,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKnD,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;IAIvE,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQ3E,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAUhD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;IAIxE,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAarC,KAAK,IAAI,IAAI;CAId;AAED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAKnE;AAyGD,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,wBAA6B,GAAG,MAAM,CA2CzF;AAED,eAAO,MAAM,oBAAoB,QAA+B,CAAC"}
@@ -1,25 +1,228 @@
1
1
  /**
2
2
  * Problem:
3
- * When upstream Antigravity executes tool calls (or receives a prompt) and halts with an empty
4
- * completion (stopReason=16, no text and no tool call), upstream completes the prompt turn
5
- * with a successful result without emitting any `agent_message_chunk`. Editor clients (Paseo, Zed)
6
- * transition the session to idle, leaving the user with zero explanation and an apparent hang.
3
+ * When upstream Antigravity executes tool calls and halts with an empty completion (stopReason=16,
4
+ * no text and no tool call), upstream completes the prompt turn with a successful result without
5
+ * emitting any `agent_message_chunk`. Editor clients (Paseo, Zed) transition the session to idle,
6
+ * leaving the user with zero explanation and an apparent hang, forcing the user to manually ask
7
+ * "You stopped, status report and next steps?".
7
8
  *
8
9
  * Solution:
9
- * Injects explicit system prompt steering instructing the model to never end a prompt turn without
10
- * emitting a clear assistant text message, eliminating premature silent stops at the model source
11
- * without synthesizing synthetic conversational prose in the proxy.
10
+ * In addition to baseline system prompt steering, intercepts empty `endTurn` completions following
11
+ * tool execution at runtime. Automatically dispatches an automated continuation prompt upstream
12
+ * directing the model to summarize its progress and continue executing the task to completion,
13
+ * without synthesizing artificial assistant prose in the proxy.
12
14
  */
13
- export function createPrematureTurnStopFix() {
15
+ import { ACP_METHODS, SESSION_UPDATES, STOP_REASONS, isMethod, } from "../../core/types.js";
16
+ import { extractSessionId } from "../../core/session-cache.js";
17
+ export class PrematureTurnStopTracker {
18
+ sessions = new Map();
19
+ promptIdToSessionId = new Map();
20
+ getOrCreate(sessionId) {
21
+ let state = this.sessions.get(sessionId);
22
+ if (!state) {
23
+ state = {
24
+ toolCallCount: 0,
25
+ assistantTextLength: 0,
26
+ continuationCount: 0,
27
+ };
28
+ this.sessions.set(sessionId, state);
29
+ }
30
+ return state;
31
+ }
32
+ startTurn(sessionId, promptId) {
33
+ const state = this.getOrCreate(sessionId);
34
+ state.activePromptId = promptId;
35
+ state.toolCallCount = 0;
36
+ state.assistantTextLength = 0;
37
+ state.continuationCount = 0;
38
+ state.continuationPromptId = undefined;
39
+ if (promptId !== undefined && promptId !== null) {
40
+ this.promptIdToSessionId.set(promptId, sessionId);
41
+ }
42
+ }
43
+ getSessionIdForPrompt(promptId) {
44
+ return this.promptIdToSessionId.get(promptId);
45
+ }
46
+ recordToolCall(sessionId) {
47
+ const state = this.getOrCreate(sessionId);
48
+ state.toolCallCount++;
49
+ }
50
+ recordAssistantText(sessionId, length) {
51
+ const state = this.getOrCreate(sessionId);
52
+ state.assistantTextLength += length;
53
+ }
54
+ isPrematureStop(sessionId, promptId, maxContinuations) {
55
+ const state = this.sessions.get(sessionId);
56
+ if (!state)
57
+ return false;
58
+ const isMatchingPrompt = state.activePromptId === promptId || state.continuationPromptId === promptId;
59
+ return (isMatchingPrompt &&
60
+ state.toolCallCount > 0 &&
61
+ state.assistantTextLength === 0 &&
62
+ state.continuationCount < maxContinuations);
63
+ }
64
+ getToolCallCount(sessionId) {
65
+ return this.sessions.get(sessionId)?.toolCallCount ?? 0;
66
+ }
67
+ getContinuationCount(sessionId) {
68
+ return this.sessions.get(sessionId)?.continuationCount ?? 0;
69
+ }
70
+ incrementContinuationCount(sessionId) {
71
+ const s = this.sessions.get(sessionId);
72
+ if (s)
73
+ s.continuationCount++;
74
+ }
75
+ getContinuationPromptId(sessionId) {
76
+ return this.sessions.get(sessionId)?.continuationPromptId;
77
+ }
78
+ setContinuationPromptId(sessionId, promptId) {
79
+ const s = this.sessions.get(sessionId);
80
+ if (s) {
81
+ s.continuationPromptId = promptId;
82
+ this.promptIdToSessionId.set(promptId, sessionId);
83
+ }
84
+ }
85
+ clearContinuationPrompt(sessionId) {
86
+ const s = this.sessions.get(sessionId);
87
+ if (s) {
88
+ if (s.continuationPromptId !== undefined) {
89
+ this.promptIdToSessionId.delete(s.continuationPromptId);
90
+ }
91
+ s.continuationPromptId = undefined;
92
+ }
93
+ }
94
+ getActivePromptId(sessionId) {
95
+ return this.sessions.get(sessionId)?.activePromptId;
96
+ }
97
+ clearSession(sessionId) {
98
+ const s = this.sessions.get(sessionId);
99
+ if (s) {
100
+ if (s.activePromptId !== undefined && s.activePromptId !== null) {
101
+ this.promptIdToSessionId.delete(s.activePromptId);
102
+ }
103
+ if (s.continuationPromptId !== undefined) {
104
+ this.promptIdToSessionId.delete(s.continuationPromptId);
105
+ }
106
+ }
107
+ this.sessions.delete(sessionId);
108
+ }
109
+ clear() {
110
+ this.sessions.clear();
111
+ this.promptIdToSessionId.clear();
112
+ }
113
+ }
114
+ export function buildContinuationText(toolCallCount) {
115
+ return (`[Automated Continuation]: You executed ${toolCallCount} tool calls but stopped without providing a status report or proceeding with the task. ` +
116
+ `Please summarize what you have accomplished, evaluate the current state, and continue executing the next steps to complete the task.`);
117
+ }
118
+ async function dispatchContinuationPrompt(sessionId, tracker, context) {
119
+ tracker.incrementContinuationCount(sessionId);
120
+ const toolCallCount = tracker.getToolCallCount(sessionId);
121
+ const continuationText = buildContinuationText(toolCallCount);
122
+ const continuationPromptId = `continue_${sessionId}_${Date.now()}`;
123
+ tracker.setContinuationPromptId(sessionId, continuationPromptId);
124
+ try {
125
+ await context.writeToChild({
126
+ jsonrpc: "2.0",
127
+ id: continuationPromptId,
128
+ method: ACP_METHODS.SESSION_PROMPT,
129
+ params: {
130
+ sessionId,
131
+ prompt: [{ type: "text", text: continuationText }],
132
+ },
133
+ });
134
+ return true;
135
+ }
136
+ catch (err) {
137
+ console.error(`[refined-antigravity-acp] Failed to send automated continuation prompt:`, err);
138
+ return false;
139
+ }
140
+ }
141
+ function resolveSessionId(msg, tracker) {
142
+ const fromMsg = extractSessionId(msg);
143
+ if (fromMsg)
144
+ return fromMsg;
145
+ const id = msg.id;
146
+ return id !== null && id !== undefined ? tracker.getSessionIdForPrompt(id) : undefined;
147
+ }
148
+ function handleInboundUpdate(msg, sessionId, tracker) {
149
+ const update = "params" in msg ? msg.params?.update : undefined;
150
+ if (!update)
151
+ return;
152
+ if (update.sessionUpdate === SESSION_UPDATES.TOOL_CALL) {
153
+ tracker.recordToolCall(sessionId);
154
+ }
155
+ else if (update.sessionUpdate === SESSION_UPDATES.AGENT_MESSAGE_CHUNK) {
156
+ const text = update?.content?.text;
157
+ if (typeof text === "string" && text.length > 0) {
158
+ tracker.recordAssistantText(sessionId, text.length);
159
+ }
160
+ }
161
+ }
162
+ function handleContinuationResponse(msg, promptId, sessionId, tracker) {
163
+ const continuationPromptId = tracker.getContinuationPromptId(sessionId);
164
+ if (continuationPromptId !== undefined && promptId === continuationPromptId) {
165
+ const originalPromptId = tracker.getActivePromptId(sessionId);
166
+ tracker.clearContinuationPrompt(sessionId);
167
+ return [{ ...msg, id: originalPromptId ?? null }];
168
+ }
169
+ return null;
170
+ }
171
+ async function handlePromptResult(msg, sessionId, tracker, context, options) {
172
+ if (!("result" in msg))
173
+ return null;
174
+ const promptId = msg.id;
175
+ const res = msg.result;
176
+ const stopReason = res?.stopReason;
177
+ if (stopReason === STOP_REASONS.CANCELLED) {
178
+ tracker.clearSession(sessionId);
179
+ return null;
180
+ }
181
+ const maxContinuations = options.maxContinuations ?? 2;
182
+ if (stopReason === STOP_REASONS.END_TURN &&
183
+ tracker.isPrematureStop(sessionId, promptId, maxContinuations)) {
184
+ const dispatched = await dispatchContinuationPrompt(sessionId, tracker, context);
185
+ if (dispatched)
186
+ return [];
187
+ }
188
+ return handleContinuationResponse(msg, promptId, sessionId, tracker);
189
+ }
190
+ export function createPrematureTurnStopFix(options = {}) {
191
+ const tracker = new PrematureTurnStopTracker();
14
192
  return {
15
193
  name: "premature-turn-stop",
16
- description: "Steers model to prevent premature empty turn stops without assistant messages",
194
+ description: "Steers model and intercepts premature empty turn stops without assistant messages to continue e2e execution",
17
195
  getSystemInstructions() {
18
196
  return [
19
197
  "Never end a prompt turn without emitting a clear assistant text message summarizing completed actions, current status, or next steps.",
20
198
  "When executing commit commands, linter checks, or tests that encounter errors, explicitly explain the failures to the user before attempting further autonomous repairs.",
21
199
  ];
22
200
  },
201
+ onOutbound(msg, _context) {
202
+ const sessionId = extractSessionId(msg);
203
+ if (!sessionId)
204
+ return msg;
205
+ if (isMethod(msg, ACP_METHODS.SESSION_PROMPT)) {
206
+ const promptId = msg.id;
207
+ tracker.startTurn(sessionId, promptId);
208
+ }
209
+ else if (isMethod(msg, ACP_METHODS.SESSION_CANCEL)) {
210
+ tracker.clearSession(sessionId);
211
+ }
212
+ return msg;
213
+ },
214
+ async onInbound(msg, context) {
215
+ const sessionId = resolveSessionId(msg, tracker);
216
+ if (!sessionId)
217
+ return [msg];
218
+ if (isMethod(msg, ACP_METHODS.SESSION_UPDATE)) {
219
+ handleInboundUpdate(msg, sessionId, tracker);
220
+ }
221
+ const promptHandled = await handlePromptResult(msg, sessionId, tracker, context, options);
222
+ if (promptHandled)
223
+ return promptHandled;
224
+ return [msg];
225
+ },
23
226
  };
24
227
  }
25
228
  export const prematureTurnStopFix = createPrematureTurnStopFix();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fixes/premature-turn-stop/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,+EAA+E;QAE5F,qBAAqB;YACnB,OAAO;gBACL,uIAAuI;gBACvI,0KAA0K;aAC3K,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fixes/premature-turn-stop/index.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export declare function normalizeKey(key: string): string;
31
31
  export declare function canonicalizeValue(val: unknown): unknown;
32
32
  export declare function inferToolNameFromUpdate(title?: string | null, kind?: string | null, rawInput?: unknown): string;
33
33
  export declare function computeToolCallSignature(toolName: string, rawInput: unknown): string;
34
+ export declare function extractTargetResource(rawInput: unknown): string | undefined;
34
35
  export interface CycleDetectionResult {
35
36
  isLoop: boolean;
36
37
  cycleLength: number;
@@ -59,12 +60,14 @@ export declare class RepetitiveToolLoopTracker {
59
60
  incrementSteerCount(sessionId: string): void;
60
61
  getLastToolName(sessionId: string): string | undefined;
61
62
  getLastLoopResult(sessionId: string): CycleDetectionResult | undefined;
63
+ getLastTargetResource(sessionId: string): string | undefined;
62
64
  resetSignaturesForSteering(sessionId: string): void;
63
65
  getActivePromptId(sessionId: string): string | number | null | undefined;
64
66
  hasPollingIntent(sessionId: string): boolean;
65
67
  clearSession(sessionId: string): void;
66
68
  clear(): void;
67
69
  }
70
+ export declare function buildSteeringText(toolName: string, targetResource: string | undefined, repetitions: number, steerCount: number): string;
68
71
  export declare function createRepetitiveToolLoopFix(options?: RepetitiveToolLoopOptions): AcpFix;
69
72
  export declare const repetitiveToolLoopFix: AcpFix;
70
73
  //# sourceMappingURL=index.d.ts.map
@@ -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;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;AA4BD,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsC;IAE1E,OAAO,CAAC,WAAW;IAgBnB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,SAAK,GAAG,IAAI;IAkB/E,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpE,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,yBAA8B,GACtC,oBAAoB;IAgCvB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI7C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI1C,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAK1D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhE,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQpE,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAUzC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIxC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK5C,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAItD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAItE,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQnD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;IAIxE,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAarC,KAAK,IAAI,IAAI;CAId;AA+JD,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,yBAA8B,GAAG,MAAM,CA4C3F;AAED,eAAO,MAAM,qBAAqB,QAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fixes/repetitive-tool-loop/index.ts"],"names":[],"mappings":"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"}
@@ -99,6 +99,42 @@ export function computeToolCallSignature(toolName, rawInput) {
99
99
  const canonical = canonicalizeValue(parsedInput);
100
100
  return `${toolName}:${JSON.stringify(canonical)}`;
101
101
  }
102
+ const RESOURCE_PATH_KEYS = [
103
+ "AbsolutePath",
104
+ "TargetFile",
105
+ "targetFile",
106
+ "target_file",
107
+ "filePath",
108
+ "file_path",
109
+ "path",
110
+ ];
111
+ function parseRawObject(raw) {
112
+ if (!raw)
113
+ return null;
114
+ if (typeof raw === "string") {
115
+ try {
116
+ const parsed = JSON.parse(raw);
117
+ return typeof parsed === "object" && parsed !== null
118
+ ? parsed
119
+ : null;
120
+ }
121
+ catch {
122
+ return null;
123
+ }
124
+ }
125
+ return typeof raw === "object" ? raw : null;
126
+ }
127
+ export function extractTargetResource(rawInput) {
128
+ const obj = parseRawObject(rawInput);
129
+ if (!obj)
130
+ return undefined;
131
+ for (const key of RESOURCE_PATH_KEYS) {
132
+ const val = obj[key];
133
+ if (typeof val === "string")
134
+ return val;
135
+ }
136
+ return undefined;
137
+ }
102
138
  function isSuffixCycleMatch(signatures, n, k, repetitions) {
103
139
  for (let r = 1; r < repetitions; r++) {
104
140
  for (let i = 0; i < k; i++) {
@@ -154,6 +190,27 @@ function resolveSingleThreshold(isReadOnly, hasPolling, requestedIterations, opt
154
190
  const basePolling = options.pollingSingleThreshold ?? 30;
155
191
  return requestedIterations ? Math.max(requestedIterations + 2, basePolling) : basePolling;
156
192
  }
193
+ function detectResourceLoop(state, toolName, rawInput, singleThreshold, options) {
194
+ if (!READ_ONLY_TOOLS.has(toolName))
195
+ return null;
196
+ const resource = extractTargetResource(rawInput);
197
+ if (!resource)
198
+ return null;
199
+ state.resourceSignatures.push(`${toolName}:${resource}`);
200
+ const resourceThreshold = state.hasPollingIntent
201
+ ? singleThreshold
202
+ : Math.max((options.readOnlySingleThreshold ?? 3) * 2, 6);
203
+ const resCycle = detectCycle(state.resourceSignatures, {
204
+ maxPeriod: options.maxPeriod ?? 4,
205
+ singleToolThreshold: resourceThreshold,
206
+ cycleThreshold: options.cycleThreshold ?? 3,
207
+ });
208
+ if (resCycle.isLoop) {
209
+ state.lastTargetResource = resource;
210
+ return resCycle;
211
+ }
212
+ return null;
213
+ }
157
214
  export class RepetitiveToolLoopTracker {
158
215
  sessions = new Map();
159
216
  promptIdToSessionId = new Map();
@@ -162,6 +219,7 @@ export class RepetitiveToolLoopTracker {
162
219
  if (!state) {
163
220
  state = {
164
221
  signatures: [],
222
+ resourceSignatures: [],
165
223
  loopInterrupted: false,
166
224
  userPromptText: "",
167
225
  hasPollingIntent: false,
@@ -179,12 +237,14 @@ export class RepetitiveToolLoopTracker {
179
237
  state.hasPollingIntent = hasPollingIntent(promptText);
180
238
  state.requestedIterations = extractRequestedIterations(promptText);
181
239
  state.signatures = [];
240
+ state.resourceSignatures = [];
182
241
  state.loopInterrupted = false;
183
242
  state.steerPending = false;
184
243
  state.steerPromptId = undefined;
185
244
  state.steerCount = 0;
186
245
  state.lastLoopResult = undefined;
187
246
  state.lastToolName = undefined;
247
+ state.lastTargetResource = undefined;
188
248
  if (promptId !== undefined && promptId !== null) {
189
249
  this.promptIdToSessionId.set(promptId, sessionId);
190
250
  }
@@ -206,10 +266,17 @@ export class RepetitiveToolLoopTracker {
206
266
  singleToolThreshold: singleThreshold,
207
267
  cycleThreshold: options.cycleThreshold ?? 3,
208
268
  });
209
- if (result.isLoop) {
269
+ const loopResult = result.isLoop
270
+ ? result
271
+ : detectResourceLoop(state, toolName, rawInput, singleThreshold, options);
272
+ if (loopResult && loopResult.isLoop) {
210
273
  state.loopInterrupted = true;
211
- state.lastLoopResult = result;
274
+ state.lastLoopResult = loopResult;
212
275
  state.lastToolName = toolName;
276
+ if (!state.lastTargetResource) {
277
+ state.lastTargetResource = extractTargetResource(rawInput);
278
+ }
279
+ return loopResult;
213
280
  }
214
281
  return result;
215
282
  }
@@ -257,10 +324,14 @@ export class RepetitiveToolLoopTracker {
257
324
  getLastLoopResult(sessionId) {
258
325
  return this.sessions.get(sessionId)?.lastLoopResult;
259
326
  }
327
+ getLastTargetResource(sessionId) {
328
+ return this.sessions.get(sessionId)?.lastTargetResource;
329
+ }
260
330
  resetSignaturesForSteering(sessionId) {
261
331
  const s = this.sessions.get(sessionId);
262
332
  if (s) {
263
333
  s.signatures = [];
334
+ s.resourceSignatures = [];
264
335
  s.loopInterrupted = false;
265
336
  }
266
337
  }
@@ -322,15 +393,30 @@ function handleSteerPromptCompletion(msg, sessionId, tracker) {
322
393
  }
323
394
  return null;
324
395
  }
396
+ export function buildSteeringText(toolName, targetResource, repetitions, steerCount) {
397
+ if (steerCount > 0) {
398
+ return (`[Automated Steering]: You are still repeatedly executing '${toolName}'. Repetition is halted. ` +
399
+ `Summarize what you have accomplished so far, explain what is blocking you or what you found, and report your status to the user immediately.`);
400
+ }
401
+ if (READ_ONLY_TOOLS.has(toolName)) {
402
+ const targetDesc = targetResource ? ` on '${targetResource}'` : "";
403
+ return (`[Automated Steering]: You have repeatedly executed '${toolName}'${targetDesc} without making progress. ` +
404
+ `Do not re-read or inspect this file again. You already have the code context you need. ` +
405
+ `Analyze your findings, decide on the required code modifications or commands, and proceed immediately with making changes to bring the task to completion.`);
406
+ }
407
+ return (`[Automated Steering]: You have repeatedly executed '${toolName}' (${repetitions} times) without progress. ` +
408
+ `Stop repeating this action. Evaluate your current results, decide on the required next steps or changes, and proceed immediately to complete the user's task.`);
409
+ }
325
410
  async function dispatchSteeringPrompt(sessionId, tracker, context) {
326
411
  tracker.setSteerPending(sessionId, false);
412
+ const currentSteerCount = tracker.getSteerCount(sessionId);
327
413
  tracker.incrementSteerCount(sessionId);
328
414
  tracker.resetSignaturesForSteering(sessionId);
329
415
  const toolName = tracker.getLastToolName(sessionId) ?? "tool";
416
+ const targetResource = tracker.getLastTargetResource(sessionId);
330
417
  const loopResult = tracker.getLastLoopResult(sessionId);
331
418
  const repetitions = loopResult?.repetitions ?? 3;
332
- const steeringText = `[Automated Steering]: You have repeatedly executed '${toolName}' (${repetitions} times consecutively with identical parameters) without progress. ` +
333
- `Is this expected? If you are polling or waiting on an external state change, explain what you are waiting for. Otherwise, please stop repeating this action, evaluate your findings, and try a different approach or report your status to the user.`;
419
+ const steeringText = buildSteeringText(toolName, targetResource, repetitions, currentSteerCount);
334
420
  const newSteerPromptId = `steer_${sessionId}_${Date.now()}`;
335
421
  tracker.setSteerPromptId(sessionId, newSteerPromptId);
336
422
  try {
@@ -363,17 +449,17 @@ function extractCancelledResult(msg, sessionId, tracker) {
363
449
  async function settleInterruptedPromptResponse(msg, sessionId, tracker, context, options) {
364
450
  if (!("result" in msg))
365
451
  return null;
452
+ const maxSteers = options.maxSteersPerTurn ?? 2;
453
+ const canSteer = tracker.isSteerPending(sessionId) && tracker.getSteerCount(sessionId) < maxSteers;
454
+ if (canSteer && (await dispatchSteeringPrompt(sessionId, tracker, context))) {
455
+ return [];
456
+ }
366
457
  const steerResult = handleSteerPromptCompletion(msg, sessionId, tracker);
367
458
  if (steerResult)
368
459
  return steerResult;
369
460
  const res = extractCancelledResult(msg, sessionId, tracker);
370
461
  if (!res)
371
462
  return null;
372
- const maxSteers = options.maxSteersPerTurn ?? 1;
373
- const canSteer = tracker.isSteerPending(sessionId) && tracker.getSteerCount(sessionId) < maxSteers;
374
- if (canSteer && (await dispatchSteeringPrompt(sessionId, tracker, context))) {
375
- return [];
376
- }
377
463
  tracker.startTurn(sessionId);
378
464
  return [{ ...msg, result: { ...res, stopReason: STOP_REASONS.END_TURN } }];
379
465
  }
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simonepri/refined-antigravity-acp",
3
- "version": "1.2.3",
3
+ "version": "1.2.4",
4
4
  "description": "🤦 A Google Antigravity ACP binary that actually works.",
5
5
  "keywords": [
6
6
  "acp",
package/readme.md CHANGED
@@ -159,8 +159,8 @@ The matrix below documents upstream defects across process startup, turn executi
159
159
  | [**Missing Usage & Token Metrics**](src/fixes/missing-usage-metrics/index.ts) | **Problem**: Upstream binary never emits ACP `usage_update` notifications, leaving editor context window meters blank.<br>🔗 [`problem: missing usage metrics`](src/fixes/missing-usage-metrics/index.e2e.test.ts#L14) | Intercepts SQLite step metadata to extract token counts and emits standard ACP `sessionUpdate: "usage_update"` with `usedTokens` and `maxTokens`.<br>🔗 [`solution: token usage synthesis`](src/fixes/missing-usage-metrics/index.e2e.test.ts#L35) |
160
160
  | [**Dangling Running Tool Calls**](src/fixes/dangling-tool-calls/index.ts) | **Problem**: When commands are backgrounded, upstream never emits terminal `tool_call_update` with `status: "completed"`, leaving editor UIs with an infinite active running animation.<br>🔗 [`problem: dangling running tool call`](src/fixes/dangling-tool-calls/index.test.ts#L67) | Tracks active tool calls and marks backgrounded tools completed immediately, before assistant text streams, and upon turn completion.<br>🔗 [`solution: tool call auto-completion`](src/fixes/dangling-tool-calls/index.test.ts#L79) |
161
161
  | [**Interactive Question Deadlock**](src/fixes/missing-question-fallback/index.ts) | **Problem**: When `ask_question` is active, sending a chat prompt or cancel causes upstream to reject the message with _"A foreground turn is already active"_, deadlocking sessions indefinitely.<br>🔗 [`problem: question collision`](src/fixes/missing-question-fallback/index.e2e.test.ts#L16) | Intercepts user chat prompts and cancellations to auto-unblock pending question permission requests to the child process and complete UI tool states.<br>🔗 [`solution: question unblocking`](src/fixes/missing-question-fallback/index.e2e.test.ts#L53) |
162
- | [**Premature Empty Turn Stop**](src/fixes/premature-turn-stop/index.ts) | **Problem**: Upstream binary prematurely concludes prompt turns with empty completions (`stopReason=16`) without emitting assistant message chunks, leaving editor UIs frozen in silence.<br>🔗 [`problem: premature turn termination`](src/fixes/premature-turn-stop/index.test.ts#L48) | Injects explicit system prompt steering instructing the model to always emit clear status messages and never terminate turns silently.<br>🔗 [`solution: prompt steering`](src/fixes/premature-turn-stop/index.test.ts#L79) |
163
- | [**Repetitive Tool Calling Loop**](src/fixes/repetitive-tool-loop/index.ts) | **Problem**: Upstream binary has no loop detector and will execute cyclic or identical tool calls indefinitely, burning thousands of tokens and freezing sessions.<br>🔗 [`problem: repetitive tool loop`](src/fixes/repetitive-tool-loop/index.e2e.test.ts#L25) | Tracks tool signatures per turn using suffix cycle matching, sending `session/cancel` upstream, auto-completing tools, and notifying the user when cycles repeat.<br>🔗 [`solution: loop circuit breaker`](src/fixes/repetitive-tool-loop/index.e2e.test.ts#L81) |
162
+ | [**Premature Empty Turn Stop**](src/fixes/premature-turn-stop/index.ts) | **Problem**: Upstream binary prematurely concludes prompt turns with empty completions (`stopReason=16`) without emitting assistant message chunks, leaving editor UIs frozen in silence.<br>🔗 [`problem: premature turn termination`](src/fixes/premature-turn-stop/index.test.ts#L88) | Injects system prompt steering and intercepts empty prompt turn completions to autonomously dispatch self-healing continuation directives without proxy text synthesis.<br>🔗 [`solution: self-healing continuation`](src/fixes/premature-turn-stop/index.test.ts#L131) |
163
+ | [**Repetitive Tool Calling Loop**](src/fixes/repetitive-tool-loop/index.ts) | **Problem**: Upstream binary has no loop detector and will execute cyclic or identical tool calls indefinitely, burning thousands of tokens and freezing sessions.<br>🔗 [`problem: repetitive tool loop`](src/fixes/repetitive-tool-loop/index.e2e.test.ts#L25) | Tracks tool signatures and resource paths per turn using suffix cycle matching, sending `session/cancel` upstream, auto-completing tools, and steering the model to proceed e2e without polluting chat.<br>🔗 [`solution: loop circuit breaker`](src/fixes/repetitive-tool-loop/index.e2e.test.ts#L81) |
164
164
 
165
165
  ## Setup
166
166