@agentrq/acp-gateway 0.2.5 → 0.2.6

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/acpClient.js CHANGED
@@ -4,10 +4,13 @@
4
4
  * Implements the ACP Client interface for the agentrq workspace.
5
5
  * Routes permission requests to the MCP server.
6
6
  */
7
+ import { TELEMETRY_NOTIFICATION_METHOD, formatPlan, formatUsage, planFromEntries, planTelemetryData, usageTelemetryData, } from "./telemetry.js";
7
8
  import * as fs from "node:fs/promises";
8
9
  import * as path from "node:path";
9
10
  /** Identifies a tool call routed through an agentrq MCP server. */
10
11
  const AGENTRQ_TOOL_PATTERN = /agentrq-[a-zA-Z0-9]{11}/;
12
+ /** How long to wait for `session/cancel` before settling permissions regardless. */
13
+ const CANCEL_SESSION_TIMEOUT_MS = 5000;
11
14
  /**
12
15
  * What a turn ending in anything but `end_turn` means, in the human's terms.
13
16
  *
@@ -32,6 +35,18 @@ export class AgentRQACPClient {
32
35
  mcpBridge;
33
36
  getTaskIdForSession;
34
37
  replyBuffers = new Map();
38
+ // sessionId → reasoning accumulated since the last boundary. Thought tokens
39
+ // stream one at a time and are deliberately kept out of replyBuffers: they
40
+ // are not the answer, and folding them in would both corrupt the reply and
41
+ // break the dedup against the agent's own `reply` tool call.
42
+ thoughtBuffers = new Map();
43
+ // sessionId → the most recent usage snapshot. Only the last one is worth
44
+ // reporting: each supersedes the one before it.
45
+ latestUsage = new Map();
46
+ // Telemetry sends, run one after another so the workspace sees them in the
47
+ // order the agent produced them, and off the ACP stream's critical path so a
48
+ // slow or unreachable workspace never stalls the agent mid-turn.
49
+ telemetryChain = Promise.resolve();
35
50
  // chatId → text sent by the agent via the reply MCP tool (for dedup in flushReply)
36
51
  agentReplies = new Map();
37
52
  // toolCallId → details seen on session updates. A `tool_call` update always
@@ -80,11 +95,16 @@ export class AgentRQACPClient {
80
95
  * Used when the agent is gone: nothing will ever act on those answers, but
81
96
  * the promises must settle or their task-queue slots are held forever.
82
97
  */
83
- cancelPendingPermissions(reason) {
98
+ cancelPendingPermissions(reason, sessionId) {
84
99
  if (this.pendingPermissions.size === 0)
85
100
  return;
86
- console.error(`[acp] Cancelling ${this.pendingPermissions.size} waiting permission request(s): ${reason}`);
87
- for (const pending of [...this.pendingPermissions.values()]) {
101
+ const toCancel = sessionId
102
+ ? [...this.pendingPermissions.values()].filter((p) => p.sessionId === sessionId)
103
+ : [...this.pendingPermissions.values()];
104
+ if (toCancel.length === 0)
105
+ return;
106
+ console.error(`[acp] Cancelling ${toCancel.length} waiting permission request(s): ${reason}`);
107
+ for (const pending of toCancel) {
88
108
  pending.settle({ outcome: "cancelled" });
89
109
  }
90
110
  }
@@ -120,18 +140,131 @@ export class AgentRQACPClient {
120
140
  console.error(`✅ Permission verdict received: ${data.behavior}`);
121
141
  pending.settle(this.outcomeForVerdict(pending.options, data.behavior));
122
142
  };
123
- /** Stops the agent's current turn, where there is a connection to stop it on. */
143
+ /** Stops the agent's current turn and cancels any pending permissions for the session. */
124
144
  async cancelTurn(sessionId) {
125
- if (!sessionId || !this.cancelSession)
145
+ if (!sessionId)
126
146
  return;
127
147
  try {
128
- await this.cancelSession(sessionId);
148
+ // Cancel before answering: the spec treats `cancelled` as the answer a
149
+ // client gives *because* it cancelled the turn, so settling first would
150
+ // leave the agent free to carry on and ask again. The wait is bounded and
151
+ // the settle happens either way — an agent wedged on its stdin must not
152
+ // hold waiting permissions, and their task-queue slots, open forever.
153
+ if (this.cancelSession) {
154
+ let timer;
155
+ try {
156
+ await Promise.race([
157
+ Promise.resolve(this.cancelSession(sessionId)),
158
+ new Promise((resolve) => {
159
+ timer = setTimeout(() => {
160
+ console.error(`[acp] session/cancel for ${sessionId} did not complete in ` +
161
+ `${CANCEL_SESSION_TIMEOUT_MS}ms — settling permissions anyway`);
162
+ resolve();
163
+ }, CANCEL_SESSION_TIMEOUT_MS);
164
+ }),
165
+ ]);
166
+ }
167
+ finally {
168
+ if (timer)
169
+ clearTimeout(timer);
170
+ }
171
+ }
129
172
  }
130
173
  catch (err) {
131
174
  console.error(`[acp] Failed to cancel turn for session ${sessionId}:`, err);
132
175
  }
176
+ finally {
177
+ this.cancelPendingPermissions("task cancelled", sessionId);
178
+ }
133
179
  }
180
+ /**
181
+ * Ends the turn: everything the agent produced besides its answer goes out
182
+ * around the answer itself.
183
+ *
184
+ * The reasoning that led to the answer has to precede it, and the token and
185
+ * cost counters read as a footer, so they follow.
186
+ */
134
187
  async flushReply(sessionId) {
188
+ await this.flushThought(sessionId);
189
+ await this.deliverReply(sessionId);
190
+ await this.flushUsage(sessionId);
191
+ }
192
+ /**
193
+ * Queues whatever reasoning has accumulated for sending, and waits for the
194
+ * telemetry queue to drain.
195
+ *
196
+ * Taking the buffer here rather than inside the queued send is what keeps a
197
+ * reasoning block whole: anything the agent thinks after this point belongs
198
+ * to the next block.
199
+ */
200
+ async flushThought(sessionId) {
201
+ this.queueThoughtFlush(sessionId);
202
+ await this.telemetryChain;
203
+ }
204
+ /**
205
+ * Closes off the current reasoning block, if there is one.
206
+ *
207
+ * Called wherever the agent stops thinking and does something else — starts
208
+ * answering, calls a tool, revises its plan — so a block of reasoning
209
+ * reaches the human while it still explains what is about to happen, rather
210
+ * than arriving in one lump at the end of the turn.
211
+ */
212
+ queueThoughtFlush(sessionId) {
213
+ const thought = this.thoughtBuffers.get(sessionId);
214
+ if (!thought?.trim())
215
+ return;
216
+ this.thoughtBuffers.delete(sessionId);
217
+ this.queueTelemetry(() => this.sendTelemetry(sessionId, "thought", thought, {}));
218
+ }
219
+ /** Reports the last usage snapshot of the turn, if the agent sent any. */
220
+ async flushUsage(sessionId) {
221
+ const usage = this.latestUsage.get(sessionId);
222
+ this.latestUsage.delete(sessionId);
223
+ if (!usage)
224
+ return;
225
+ await this.sendTelemetry(sessionId, "usage", formatUsage(usage), usageTelemetryData(usage));
226
+ }
227
+ /** Reports a plan the agent has just published or revised. */
228
+ queuePlan(sessionId, plan) {
229
+ this.queueThoughtFlush(sessionId);
230
+ this.queueTelemetry(() => this.sendTelemetry(sessionId, "plan", formatPlan(plan), planTelemetryData(plan)));
231
+ }
232
+ /** Adds a send to the tail of the telemetry queue. */
233
+ queueTelemetry(send) {
234
+ this.telemetryChain = this.telemetryChain
235
+ .catch(() => { })
236
+ .then(send)
237
+ .catch((err) => {
238
+ console.error(`[acp] Telemetry send failed:`, err);
239
+ });
240
+ }
241
+ /**
242
+ * Forwards one piece of telemetry to the workspace.
243
+ *
244
+ * Never throws: telemetry is not the answer, so a workspace that cannot take
245
+ * it right now must not cost the agent its turn.
246
+ */
247
+ async sendTelemetry(sessionId, kind, text, data) {
248
+ const taskId = this.getTaskIdForSession(sessionId);
249
+ if (!taskId) {
250
+ console.error(`[acp] No task ID for session ${sessionId}, dropping ${kind} telemetry`);
251
+ return;
252
+ }
253
+ const payload = {
254
+ task_id: taskId,
255
+ session_id: sessionId,
256
+ kind,
257
+ text,
258
+ data,
259
+ };
260
+ try {
261
+ await this.mcpBridge.sendNotification(TELEMETRY_NOTIFICATION_METHOD, payload);
262
+ }
263
+ catch (err) {
264
+ console.error(`[acp] Failed to send ${kind} telemetry for session ${sessionId}:`, err);
265
+ }
266
+ }
267
+ async deliverReply(sessionId) {
135
268
  const text = this.replyBuffers.get(sessionId) ?? "";
136
269
  this.replyBuffers.delete(sessionId);
137
270
  if (!text.trim())
@@ -245,7 +378,11 @@ export class AgentRQACPClient {
245
378
  settle({ outcome: "cancelled" });
246
379
  }, this.permissionTimeoutMs)
247
380
  : undefined;
381
+ let settled = false;
248
382
  const settle = (outcome) => {
383
+ if (settled)
384
+ return;
385
+ settled = true;
249
386
  if (timer)
250
387
  clearTimeout(timer);
251
388
  this.pendingPermissions.delete(requestId);
@@ -333,11 +470,37 @@ export class AgentRQACPClient {
333
470
  switch (update.sessionUpdate) {
334
471
  case "agent_message_chunk":
335
472
  if (update.content.type === "text") {
473
+ // The agent has stopped thinking and started answering.
474
+ this.queueThoughtFlush(params.sessionId);
336
475
  process.stdout.write(update.content.text);
337
476
  const sid = params.sessionId;
338
477
  this.replyBuffers.set(sid, (this.replyBuffers.get(sid) ?? "") + update.content.text);
339
478
  }
340
479
  break;
480
+ case "agent_thought_chunk":
481
+ if (update.content.type === "text") {
482
+ const sid = params.sessionId;
483
+ this.thoughtBuffers.set(sid, (this.thoughtBuffers.get(sid) ?? "") + update.content.text);
484
+ }
485
+ break;
486
+ case "plan":
487
+ this.queuePlan(params.sessionId, planFromEntries(update.entries));
488
+ break;
489
+ case "plan_update":
490
+ this.queuePlan(params.sessionId, update.plan);
491
+ break;
492
+ case "plan_removed":
493
+ this.queueThoughtFlush(params.sessionId);
494
+ this.queueTelemetry(() => this.sendTelemetry(params.sessionId, "plan", "Plan withdrawn.", {
495
+ planId: update.planId,
496
+ removed: true,
497
+ }));
498
+ break;
499
+ case "usage_update":
500
+ // Each snapshot supersedes the last; only the final one is reported,
501
+ // at the end of the turn.
502
+ this.latestUsage.set(params.sessionId, update);
503
+ break;
341
504
  case "current_mode_update":
342
505
  console.error(`[acp] Agent switched session mode to "${update.currentModeId}"`);
343
506
  await this.onModeChanged?.(params.sessionId, update.currentModeId);
@@ -346,6 +509,8 @@ export class AgentRQACPClient {
346
509
  this.rememberToolCall(update);
347
510
  break;
348
511
  case "tool_call": {
512
+ // Reasoning that explains a tool call belongs in front of it.
513
+ this.queueThoughtFlush(params.sessionId);
349
514
  this.rememberToolCall(update);
350
515
  if (update.title && AGENTRQ_TOOL_PATTERN.test(update.title)) {
351
516
  // Track completed reply calls so flushReply can skip exact duplicates
@@ -1 +1 @@
1
- {"version":3,"file":"acpClient.js","sourceRoot":"","sources":["../src/acpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acpClient.js","sourceRoot":"","sources":["../src/acpClient.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -72,6 +72,41 @@ import { describeAgentInfo } from "./agentInfo.js";
72
72
  import { describeAgents, fetchRegistry, hostPlatformTarget, } from "./registry.js";
73
73
  import { extractTaskIdFromMeta, extractTaskIdFromText, } from "./taskIdentity.js";
74
74
  const lastTaskContent = new Map();
75
+ // Cancellations are remembered by *where they fall in the stream of events*
76
+ // rather than as a one-shot flag. agentrq reuses a chat's id as the task id, so
77
+ // a flag that outlived the cancellation it describes would swallow the user's
78
+ // next message on that chat; ordered this way, a task is skipped only when the
79
+ // cancel arrived after it was queued. Wall-clock time is too coarse to order
80
+ // two events in the same millisecond, so this is a plain counter.
81
+ let taskSeq = 0;
82
+ export const nextTaskSeq = () => ++taskSeq;
83
+ export const cancelledTaskSeq = new Map();
84
+ // A cancel for a task that never runs (a stale id, a task that already
85
+ // finished) leaves an entry behind, so keep the map from growing without bound.
86
+ const MAX_REMEMBERED_CANCELLATIONS = 200;
87
+ /** Records that `taskId` has just been cancelled. */
88
+ export function markTaskCancelled(taskId) {
89
+ // Re-inserting moves the id to the end, so eviction stays oldest-first.
90
+ cancelledTaskSeq.delete(taskId);
91
+ cancelledTaskSeq.set(taskId, nextTaskSeq());
92
+ while (cancelledTaskSeq.size > MAX_REMEMBERED_CANCELLATIONS) {
93
+ const oldest = cancelledTaskSeq.keys().next().value;
94
+ cancelledTaskSeq.delete(oldest);
95
+ }
96
+ }
97
+ /**
98
+ * Whether a task queued at `queuedSeq` has since been cancelled.
99
+ *
100
+ * Two notifications for the same task id can be queued at once, so the check is
101
+ * against the point each was queued: cancelling the older one must not stop the
102
+ * newer one from running.
103
+ */
104
+ export function isTaskCancelled(taskId, queuedSeq) {
105
+ if (!taskId)
106
+ return false;
107
+ const seq = cancelledTaskSeq.get(taskId);
108
+ return seq !== undefined && seq > queuedSeq;
109
+ }
75
110
  export const activeSessions = new Map();
76
111
  /** Login preferences taken from the CLI, consulted whenever an agent demands auth. */
77
112
  export const authConfig = {};
@@ -211,6 +246,61 @@ export async function getOrCreateSession(taskId, acpCmdArgs, configs, agentrqCon
211
246
  activeSessions.set(key, sessionInfo);
212
247
  return sessionInfo;
213
248
  }
249
+ /**
250
+ * Finds the active agent session for a given task ID (or returns the single active session if none specified).
251
+ */
252
+ export function findActiveSession(taskId) {
253
+ if (taskId) {
254
+ const direct = activeSessions.get(taskId);
255
+ if (direct)
256
+ return direct;
257
+ for (const session of activeSessions.values()) {
258
+ if (session.sessionId === taskId)
259
+ return session;
260
+ }
261
+ // A session opened from a notification that carried no task id is keyed
262
+ // "default"; when it is the only one running, an id-carrying cancel can
263
+ // only have meant it. Never fall back to a session keyed under a
264
+ // *different* task id — that would abort an unrelated task.
265
+ const untracked = activeSessions.get("default");
266
+ if (untracked && activeSessions.size === 1) {
267
+ return untracked;
268
+ }
269
+ }
270
+ else if (activeSessions.size === 1) {
271
+ return activeSessions.values().next().value;
272
+ }
273
+ return undefined;
274
+ }
275
+ /**
276
+ * Handles task cancellation events from the MCP server.
277
+ * Cancels the ACP session/turn and immediately cancels any pending permissions.
278
+ */
279
+ export async function handleTaskCancellation(taskId, reason) {
280
+ if (taskId) {
281
+ markTaskCancelled(taskId);
282
+ const session = findActiveSession(taskId);
283
+ if (!session) {
284
+ console.error(`[bridge] Received cancellation for task ${taskId}, but no active session found (queued tasks will be skipped)`);
285
+ return;
286
+ }
287
+ console.error(`[bridge] Cancelling session ${session.sessionId} for task ${taskId}${reason ? ` (${reason})` : ""}`);
288
+ await session.acpClient.cancelTurn(session.sessionId);
289
+ }
290
+ else {
291
+ const session = findActiveSession(undefined);
292
+ if (session) {
293
+ console.error(`[bridge] Received cancellation with no taskId${reason ? ` (${reason})` : ""}. Cancelling active session ${session.sessionId}...`);
294
+ await session.acpClient.cancelTurn(session.sessionId);
295
+ }
296
+ else {
297
+ console.error(`[bridge] Received cancellation with no taskId${reason ? ` (${reason})` : ""}` +
298
+ (activeSessions.size === 0
299
+ ? ", and no sessions are active"
300
+ : `, but ${activeSessions.size} sessions are active (skipping to avoid aborting unrelated tasks)`));
301
+ }
302
+ }
303
+ }
214
304
  // Modes that approve tool calls without asking the user. codex-acp, for
215
305
  // example, defaults to an "agent" mode whose reviewer is "auto_review" — an
216
306
  // automated Guardian Review that approves on the human's behalf — and also
@@ -739,9 +829,19 @@ async function main() {
739
829
  lastTaskContent.set(taskId, content);
740
830
  }
741
831
  console.error("\n[bridge] Incoming task from MCP server. Forwarding to ACP agent...");
832
+ const queuedSeq = nextTaskSeq();
742
833
  taskQueue.run(async () => {
834
+ if (isTaskCancelled(taskId, queuedSeq)) {
835
+ console.error(`[bridge] Task ${taskId} was cancelled before execution started, skipping`);
836
+ return;
837
+ }
743
838
  try {
744
839
  const sessionInfo = await getOrCreateSession(taskId, acpCmdArgs, configs, agentrqConfig, mcpBridge);
840
+ if (isTaskCancelled(taskId, queuedSeq)) {
841
+ console.error(`[bridge] Task ${taskId} was cancelled during session setup, cancelling session`);
842
+ await sessionInfo.acpClient.cancelTurn(sessionInfo.sessionId);
843
+ return;
844
+ }
745
845
  const result = await sessionInfo.connection.prompt({
746
846
  sessionId: sessionInfo.sessionId,
747
847
  prompt: [{ type: "text", text: content }],
@@ -757,6 +857,12 @@ async function main() {
757
857
  console.error("[bridge] Error queuing task:", err);
758
858
  });
759
859
  });
860
+ // Listen for task cancellation events from the MCP bridge
861
+ mcpBridge.on("cancel", ({ taskId, reason }) => {
862
+ handleTaskCancellation(taskId, reason).catch((err) => {
863
+ console.error("[bridge] Error handling task cancellation:", err);
864
+ });
865
+ });
760
866
  // Initial check for a pending task
761
867
  await checkForNextTask(mcpBridge, acpCmdArgs, configs, agentrqConfig, taskQueue);
762
868
  // Keep the process alive
@@ -780,6 +886,9 @@ async function main() {
780
886
  */
781
887
  export async function checkForNextTask(mcpBridge, acpCmdArgsOrConnection, configsOrSessionSwitcher, agentrqConfigOrAcpClient, taskQueue, acpCmdArgs, configs, agentrqConfig) {
782
888
  console.error("[bridge] Checking for next task via MCP server...");
889
+ // Stamped before the fetch, so a cancel that arrives while `getTask` is in
890
+ // flight (or while the session is being opened) still stops the task.
891
+ const queuedSeq = nextTaskSeq();
783
892
  try {
784
893
  const result = await mcpBridge.callTool("getTask");
785
894
  if (result.isError) {
@@ -802,6 +911,10 @@ export async function checkForNextTask(mcpBridge, acpCmdArgsOrConnection, config
802
911
  }
803
912
  console.error(`[bridge] Found task: "${text.slice(0, 50).replace(/\n/g, " ")}..."`);
804
913
  const runFn = async () => {
914
+ if (isTaskCancelled(taskId, queuedSeq)) {
915
+ console.error(`[bridge] Task ${taskId} was cancelled before execution started, skipping`);
916
+ return;
917
+ }
805
918
  let connectionToUse;
806
919
  let acpClientToUse;
807
920
  let sessionIdToUse;
@@ -830,6 +943,14 @@ export async function checkForNextTask(mcpBridge, acpCmdArgsOrConnection, config
830
943
  sessionIdToUse = sessionInfo.sessionId;
831
944
  acpClientToUse = sessionInfo.acpClient;
832
945
  }
946
+ // Spawning the agent and opening the session takes seconds; a cancel
947
+ // that lands in that window has no turn to stop yet, so check again
948
+ // before handing the agent the work.
949
+ if (isTaskCancelled(taskId, queuedSeq)) {
950
+ console.error(`[bridge] Task ${taskId} was cancelled during session setup, cancelling session`);
951
+ await acpClientToUse?.cancelTurn(sessionIdToUse);
952
+ return;
953
+ }
833
954
  const promptResult = await connectionToUse.prompt({
834
955
  sessionId: sessionIdToUse,
835
956
  prompt: [{ type: "text", text }],
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}