aws-runtime-bridge 1.8.6 → 1.8.8

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.
Files changed (42) hide show
  1. package/dist/adapter/AcodeSdkAdapter.d.ts.map +1 -1
  2. package/dist/adapter/AcodeSdkAdapter.js +98 -6
  3. package/dist/adapter/AcodeSdkAdapter.test.js +313 -2
  4. package/dist/adapter/OpencodeSdkAdapter.js +1 -1
  5. package/dist/adapter/types.d.ts.map +1 -1
  6. package/dist/adapter/types.js +7 -3
  7. package/dist/config.d.ts +2 -3
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +9 -10
  10. package/dist/config.test.js +1 -22
  11. package/dist/routes/ai-sources.js +5 -1
  12. package/dist/routes/ai-sources.test.js +21 -0
  13. package/dist/routes/instance.test.js +1 -70
  14. package/dist/routes/runtime-binding.d.ts.map +1 -1
  15. package/dist/routes/runtime-binding.js +36 -1
  16. package/dist/routes/terminal.d.ts +3 -0
  17. package/dist/routes/terminal.d.ts.map +1 -1
  18. package/dist/routes/terminal.js +141 -6
  19. package/dist/routes/terminal.test.js +118 -1
  20. package/dist/services/mcp-launch-binding-queue.d.ts +7 -0
  21. package/dist/services/mcp-launch-binding-queue.d.ts.map +1 -1
  22. package/dist/services/mcp-launch-binding-queue.js +25 -0
  23. package/dist/services/session-output.d.ts +8 -3
  24. package/dist/services/session-output.d.ts.map +1 -1
  25. package/dist/services/session-output.js +35 -14
  26. package/dist/services/session-output.test.js +41 -0
  27. package/package/acode/dist/runtime.d.ts +1 -0
  28. package/package/acode/dist/runtime.d.ts.map +1 -1
  29. package/package/acode/dist/runtime.js +265 -31
  30. package/package/acode/dist/types.d.ts +1 -1
  31. package/package/acode/dist/types.d.ts.map +1 -1
  32. package/package/aws-client-agent-mcp/dist/config.d.ts +4 -0
  33. package/package/aws-client-agent-mcp/dist/config.d.ts.map +1 -1
  34. package/package/aws-client-agent-mcp/dist/config.js +15 -0
  35. package/package/aws-client-agent-mcp/dist/config.js.map +1 -1
  36. package/package/aws-client-agent-mcp/dist/http-client.d.ts +10 -0
  37. package/package/aws-client-agent-mcp/dist/http-client.d.ts.map +1 -1
  38. package/package/aws-client-agent-mcp/dist/http-client.js +79 -1
  39. package/package/aws-client-agent-mcp/dist/http-client.js.map +1 -1
  40. package/package/aws-client-agent-mcp/dist/http-client.test.js +129 -265
  41. package/package/aws-client-agent-mcp/dist/http-client.test.js.map +1 -1
  42. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AcodeSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/AcodeSdkAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcodeSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/AcodeSdkAdapter.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { v4 as uuidv4 } from "uuid";
11
11
  import { getAcodeConfigFile, getAcodeSkillsDir, getRuntimeHomeDir, } from "../config.js";
12
12
  import { getReleasedAcodeEntryPath } from "../services/acode-package.js";
13
13
  import { IdlePollLoop } from "./idle-poll-loop.js";
14
- import { getCanonicalMcpDetail, getToolActionInfo, } from "./types.js";
14
+ import { getCanonicalMcpDetail, getToolActionInfo } from "./types.js";
15
15
  const ACODE_AUTO_POLL_PROMPT = [
16
16
  "Continue the AgentsWork message loop now.",
17
17
  "You MUST call the exact MCP tool named aws-mcp__poll_message as your next action and wait for the next assigned message or task.",
@@ -46,6 +46,9 @@ function toUsage(value) {
46
46
  const usage = value;
47
47
  const inputTokens = toFiniteTokenCount(usage.inputTokens, usage.input_tokens, usage.promptTokens, usage.prompt_tokens);
48
48
  const outputTokens = toFiniteTokenCount(usage.outputTokens, usage.output_tokens, usage.completionTokens, usage.completion_tokens);
49
+ if (inputTokens === 0 && outputTokens === 0) {
50
+ return undefined;
51
+ }
49
52
  return {
50
53
  inputTokens,
51
54
  outputTokens,
@@ -60,6 +63,9 @@ function toFiniteTokenCount(...values) {
60
63
  }
61
64
  return 0;
62
65
  }
66
+ function toEstimatedContextTokens(data) {
67
+ return toFiniteTokenCount(data.estimatedContextTokens, data.contextTokens, data.context_tokens, data.contextUsedTokens, data.context_used_tokens);
68
+ }
63
69
  /**
64
70
  * Check whether an ACode turn_complete event represents a failed turn.
65
71
  * Main flow: only explicit failed=true prevents error status from being reset to waiting_input.
@@ -77,6 +83,36 @@ function toAcodeMcpActionDetail(actionDetail, server, tool) {
77
83
  }
78
84
  return getCanonicalMcpDetail(actionDetail.replace("/", "__"));
79
85
  }
86
+ function isAcodeSemanticToolAction(actionType) {
87
+ return (actionType === "read_file" ||
88
+ actionType === "edit_file" ||
89
+ actionType === "write_file" ||
90
+ actionType === "bash");
91
+ }
92
+ function hasPollingMessages(result) {
93
+ const parsed = parseToolResultObject(result);
94
+ if (!parsed) {
95
+ return typeof result === "string" && result.trim().length > 0;
96
+ }
97
+ return [parsed.directMessages, parsed.groupMessages, parsed.messages].some((value) => Array.isArray(value) && value.length > 0);
98
+ }
99
+ function parseToolResultObject(result) {
100
+ if (result && typeof result === "object" && !Array.isArray(result)) {
101
+ return result;
102
+ }
103
+ if (typeof result !== "string" || !result.trim()) {
104
+ return undefined;
105
+ }
106
+ try {
107
+ const parsed = JSON.parse(result);
108
+ return parsed && typeof parsed === "object" && !Array.isArray(parsed)
109
+ ? parsed
110
+ : undefined;
111
+ }
112
+ catch {
113
+ return undefined;
114
+ }
115
+ }
80
116
  export class AcodeSdkAdapter extends EventEmitter {
81
117
  constructor() {
82
118
  super(...arguments);
@@ -107,7 +143,9 @@ export class AcodeSdkAdapter extends EventEmitter {
107
143
  try {
108
144
  await entry.runtime.start();
109
145
  session.status = "waiting_input";
110
- this.emit("status-change", sessionId, "waiting_input");
146
+ this.emit("status-change", sessionId, "waiting_input", {
147
+ usage: entry.adapterSession.totalUsage,
148
+ });
111
149
  if (config.initialPrompt?.trim()) {
112
150
  this.startInitialPromptTurn(sessionId, config.initialPrompt);
113
151
  }
@@ -280,6 +318,9 @@ export class AcodeSdkAdapter extends EventEmitter {
280
318
  }
281
319
  if (event.type === "assistant_delta") {
282
320
  const text = typeof event.data.text === "string" ? event.data.text : "";
321
+ if (entry.autoPollActive) {
322
+ entry.autoPollObservedAssistantText = true;
323
+ }
283
324
  entry.adapterSession.messages.push({
284
325
  id: uuidv4(),
285
326
  sessionId: event.sessionId,
@@ -296,6 +337,14 @@ export class AcodeSdkAdapter extends EventEmitter {
296
337
  return;
297
338
  }
298
339
  if (event.type === "ai_request") {
340
+ const estimatedTokens = toEstimatedContextTokens(event.data);
341
+ if (estimatedTokens > 0) {
342
+ entry.adapterSession.totalUsage.inputTokens = estimatedTokens;
343
+ entry.adapterSession.totalUsage.outputTokens = 0;
344
+ this.emit("status-change", event.sessionId, entry.adapterSession.status, {
345
+ usage: entry.adapterSession.totalUsage,
346
+ });
347
+ }
299
348
  this.emitProviderEvent(event, "ai_request", {
300
349
  model: typeof event.data.model === "string" ? event.data.model : undefined,
301
350
  endpoint: typeof event.data.endpoint === "string"
@@ -354,6 +403,13 @@ export class AcodeSdkAdapter extends EventEmitter {
354
403
  this.emit("status-change", event.sessionId, "waiting_input", {
355
404
  usage: entry.adapterSession.totalUsage,
356
405
  });
406
+ if (entry.autoPollActive &&
407
+ entry.autoPollObservedAssistantText &&
408
+ !entry.autoPollObservedPollingTool) {
409
+ entry.stopAutoPollAfterCurrentTurn = true;
410
+ console.warn(`[${this.displayName}] Auto-poll turn produced assistant text without calling poll_message; stopping auto-poll rearm for session ${event.sessionId}`);
411
+ return;
412
+ }
357
413
  this.armIdleLoopOrAutoPoll(event.sessionId);
358
414
  return;
359
415
  }
@@ -415,8 +471,19 @@ export class AcodeSdkAdapter extends EventEmitter {
415
471
  const server = typeof event.data.server === "string" ? event.data.server : "mcp";
416
472
  const tool = typeof event.data.tool === "string" ? event.data.tool : "";
417
473
  const toolName = server && tool ? `${server}__${tool}` : tool || server;
418
- const actionInfo = getToolActionInfo(toolName);
419
- const actionDetail = toAcodeMcpActionDetail(actionInfo.actionDetail, server, tool);
474
+ const toolInput = event.data.arguments &&
475
+ typeof event.data.arguments === "object" &&
476
+ !Array.isArray(event.data.arguments)
477
+ ? event.data.arguments
478
+ : undefined;
479
+ const actionInfo = getToolActionInfo(toolName, toolInput);
480
+ if (entry.autoPollActive && actionInfo.actionType === "idle") {
481
+ entry.autoPollObservedPollingTool = true;
482
+ }
483
+ const actionDetail = isAcodeSemanticToolAction(actionInfo.actionType)
484
+ ? actionInfo.actionDetail ||
485
+ toAcodeMcpActionDetail(undefined, server, tool)
486
+ : toAcodeMcpActionDetail(actionInfo.actionDetail, server, tool);
420
487
  const toolUseId = typeof event.data.toolUseId === "string"
421
488
  ? event.data.toolUseId
422
489
  : undefined;
@@ -425,6 +492,7 @@ export class AcodeSdkAdapter extends EventEmitter {
425
492
  actionType: actionInfo.actionType,
426
493
  actionLabel: actionInfo.actionLabel,
427
494
  actionDetail,
495
+ ...(toolInput ? { toolInput } : {}),
428
496
  ...(toolUseId ? { toolUseId, actionId: toolUseId } : {}),
429
497
  };
430
498
  if (event.data.action === "tool_result") {
@@ -434,8 +502,12 @@ export class AcodeSdkAdapter extends EventEmitter {
434
502
  ? event.data.result
435
503
  : JSON.stringify(event.data.result ?? ""),
436
504
  });
437
- entry.adapterSession.status = "thinking";
438
- this.emit("status-change", event.sessionId, "thinking");
505
+ const status = actionInfo.actionType === "idle" &&
506
+ !hasPollingMessages(event.data.result)
507
+ ? "waiting_input"
508
+ : "thinking";
509
+ entry.adapterSession.status = status;
510
+ this.emit("status-change", event.sessionId, status);
439
511
  return;
440
512
  }
441
513
  const status = actionInfo.actionType === "idle" ? "waiting_input" : "tool_using";
@@ -444,6 +516,17 @@ export class AcodeSdkAdapter extends EventEmitter {
444
516
  this.emit("status-change", event.sessionId, status, eventData);
445
517
  return;
446
518
  }
519
+ if (event.type === "session_started") {
520
+ const estimatedTokens = toEstimatedContextTokens(event.data);
521
+ if (estimatedTokens > 0) {
522
+ entry.adapterSession.totalUsage.inputTokens = estimatedTokens;
523
+ entry.adapterSession.totalUsage.outputTokens = 0;
524
+ this.emit("status-change", event.sessionId, entry.adapterSession.status, {
525
+ usage: entry.adapterSession.totalUsage,
526
+ });
527
+ }
528
+ return;
529
+ }
447
530
  this.emitProviderEvent(event, "thinking", {
448
531
  text: JSON.stringify(event.data),
449
532
  });
@@ -489,6 +572,9 @@ export class AcodeSdkAdapter extends EventEmitter {
489
572
  if (!entry || this.isTerminalStatus(entry.adapterSession.status))
490
573
  return;
491
574
  entry.autoPollActive = true;
575
+ entry.autoPollObservedPollingTool = false;
576
+ entry.autoPollObservedAssistantText = false;
577
+ entry.stopAutoPollAfterCurrentTurn = false;
492
578
  entry.adapterSession.status = "thinking";
493
579
  this.emit("status-change", sessionId, "thinking");
494
580
  void entry.runtime
@@ -511,6 +597,12 @@ export class AcodeSdkAdapter extends EventEmitter {
511
597
  latestEntry.failedTurnRecoveryScheduled = false;
512
598
  return;
513
599
  }
600
+ if (latestEntry.stopAutoPollAfterCurrentTurn) {
601
+ latestEntry.stopAutoPollAfterCurrentTurn = false;
602
+ latestEntry.autoPollObservedPollingTool = false;
603
+ latestEntry.autoPollObservedAssistantText = false;
604
+ return;
605
+ }
514
606
  if (latestEntry.adapterSession.status === "error") {
515
607
  this.recoverTurnFailure(sessionId, latestEntry);
516
608
  return;
@@ -46,6 +46,30 @@ class McpStatusRuntime extends EventEmitter {
46
46
  async abort() { }
47
47
  async stop() { }
48
48
  }
49
+ class BuiltinReadStatusRuntime extends EventEmitter {
50
+ constructor(config) {
51
+ super();
52
+ this.config = config;
53
+ }
54
+ async start() { }
55
+ async submit(_message) {
56
+ this.emit("event", {
57
+ type: "mcp_status",
58
+ sessionId: this.config.sessionId,
59
+ timestamp: new Date(0).toISOString(),
60
+ data: {
61
+ action: "call_tool",
62
+ server: "builtin",
63
+ tool: "read_file",
64
+ exposedName: "builtin/read_file",
65
+ toolUseId: "tool-read-1",
66
+ arguments: { path: "src/views/App.vue" },
67
+ },
68
+ });
69
+ }
70
+ async abort() { }
71
+ async stop() { }
72
+ }
49
73
  class McpResultRuntime extends EventEmitter {
50
74
  constructor(config) {
51
75
  super();
@@ -97,6 +121,65 @@ class PollMessageStatusRuntime extends EventEmitter {
97
121
  async abort() { }
98
122
  async stop() { }
99
123
  }
124
+ class EmptyPollResultRuntime extends EventEmitter {
125
+ constructor(config) {
126
+ super();
127
+ this.config = config;
128
+ }
129
+ async start() { }
130
+ async submit(_message) {
131
+ this.emit("event", {
132
+ type: "mcp_status",
133
+ sessionId: this.config.sessionId,
134
+ timestamp: new Date(0).toISOString(),
135
+ data: { action: "call_tool", server: "aws-mcp", tool: "poll_message" },
136
+ });
137
+ this.emit("event", {
138
+ type: "mcp_status",
139
+ sessionId: this.config.sessionId,
140
+ timestamp: new Date(0).toISOString(),
141
+ data: {
142
+ action: "tool_result",
143
+ server: "aws-mcp",
144
+ tool: "poll_message",
145
+ result: JSON.stringify({ directMessages: [], groupMessages: [] }),
146
+ },
147
+ });
148
+ }
149
+ async abort() { }
150
+ async stop() { }
151
+ }
152
+ class PollResultWithMessageRuntime extends EventEmitter {
153
+ constructor(config) {
154
+ super();
155
+ this.config = config;
156
+ }
157
+ async start() { }
158
+ async submit(_message) {
159
+ this.emit("event", {
160
+ type: "mcp_status",
161
+ sessionId: this.config.sessionId,
162
+ timestamp: new Date(0).toISOString(),
163
+ data: { action: "call_tool", server: "aws-mcp", tool: "poll_message" },
164
+ });
165
+ this.emit("event", {
166
+ type: "mcp_status",
167
+ sessionId: this.config.sessionId,
168
+ timestamp: new Date(0).toISOString(),
169
+ data: {
170
+ action: "tool_result",
171
+ server: "aws-mcp",
172
+ tool: "poll_message",
173
+ result: JSON.stringify({
174
+ directMessages: [{ senderName: "User", content: "ping" }],
175
+ groupMessages: [],
176
+ }),
177
+ },
178
+ });
179
+ }
180
+ async abort() { }
181
+ async stop() { }
182
+ }
100
183
  class CommandStatusRuntime extends EventEmitter {
101
184
  constructor(config) {
102
185
  super();
@@ -132,6 +215,7 @@ class AiRequestRuntime extends EventEmitter {
132
215
  messageCount: 3,
133
216
  toolCount: 2,
134
217
  lastUserMessagePreview: "inspect status",
218
+ estimatedContextTokens: 6800,
135
219
  requestBody: '{"model":"test-model"}',
136
220
  },
137
221
  });
@@ -294,6 +378,56 @@ class AutoPollRuntime extends EventEmitter {
294
378
  async stop() { }
295
379
  }
296
380
  AutoPollRuntime.submitMessages = [];
381
+ class NonPollingAutoPollRuntime extends EventEmitter {
382
+ constructor(config) {
383
+ super();
384
+ this.config = config;
385
+ }
386
+ async start() { }
387
+ async submit(message) {
388
+ NonPollingAutoPollRuntime.submitMessages.push(message);
389
+ this.emit("event", {
390
+ type: "assistant_delta",
391
+ sessionId: this.config.sessionId,
392
+ timestamp: new Date(0).toISOString(),
393
+ data: { text: "I cannot call poll_message." },
394
+ });
395
+ this.emit("event", {
396
+ type: "turn_complete",
397
+ sessionId: this.config.sessionId,
398
+ timestamp: new Date(0).toISOString(),
399
+ data: { usage: { inputTokens: 1, outputTokens: 1 } },
400
+ });
401
+ }
402
+ async abort() { }
403
+ async stop() { }
404
+ }
405
+ NonPollingAutoPollRuntime.submitMessages = [];
406
+ class PollingAutoPollRuntime extends EventEmitter {
407
+ constructor(config) {
408
+ super();
409
+ this.config = config;
410
+ }
411
+ async start() { }
412
+ async submit(message) {
413
+ PollingAutoPollRuntime.submitMessages.push(message);
414
+ this.emit("event", {
415
+ type: "mcp_status",
416
+ sessionId: this.config.sessionId,
417
+ timestamp: new Date(0).toISOString(),
418
+ data: { action: "call_tool", server: "aws-mcp", tool: "poll_message" },
419
+ });
420
+ this.emit("event", {
421
+ type: "turn_complete",
422
+ sessionId: this.config.sessionId,
423
+ timestamp: new Date(0).toISOString(),
424
+ data: { usage: { inputTokens: 1, outputTokens: 1 } },
425
+ });
426
+ }
427
+ async abort() { }
428
+ async stop() { }
429
+ }
430
+ PollingAutoPollRuntime.submitMessages = [];
297
431
  class TerminalAfterTurnRuntime extends EventEmitter {
298
432
  constructor(config) {
299
433
  super();
@@ -546,7 +680,11 @@ describe("AcodeSdkAdapter turn completion state", () => {
546
680
  const adapter = new AcodeSdkAdapter();
547
681
  adapter.setRuntimeConstructorForTest(ResponseBodyTurnCompleteRuntime);
548
682
  const events = [];
683
+ const statuses = [];
549
684
  adapter.on("event", (event) => events.push(event));
685
+ adapter.on("status-change", (_sessionId, status, actionInfo) => {
686
+ statuses.push({ status, usage: actionInfo?.usage });
687
+ });
550
688
  await adapter.startSession("session-response-body", {
551
689
  command: "acode",
552
690
  workingDirectory: process.cwd(),
@@ -633,6 +771,42 @@ describe("AcodeSdkAdapter turn completion state", () => {
633
771
  });
634
772
  expect(adapter.getSessionStatus("session-mcp")).toBe("waiting_input");
635
773
  });
774
+ it("preserves built-in file tool arguments in ACode provider events and statuses", async () => {
775
+ const adapter = new AcodeSdkAdapter();
776
+ adapter.setRuntimeConstructorForTest(BuiltinReadStatusRuntime);
777
+ const events = [];
778
+ const statuses = [];
779
+ adapter.on("event", (event) => events.push(event));
780
+ adapter.on("status-change", (_sessionId, status, actionInfo) => {
781
+ statuses.push({
782
+ status,
783
+ actionType: actionInfo?.actionType,
784
+ actionDetail: actionInfo?.actionDetail,
785
+ });
786
+ });
787
+ await adapter.startSession("session-builtin-read", {
788
+ command: "acode",
789
+ workingDirectory: process.cwd(),
790
+ autoAccept: true,
791
+ extraMcpServers: {},
792
+ envOverrides: {},
793
+ });
794
+ await adapter.sendMessage("session-builtin-read", "read file");
795
+ expect(events.map((event) => event.type)).toEqual(["tool_use_start"]);
796
+ expect(events[0]?.data).toMatchObject({
797
+ actionType: "read_file",
798
+ actionLabel: "读取文件",
799
+ actionDetail: "src/views/App.vue",
800
+ actionId: "tool-read-1",
801
+ toolUseId: "tool-read-1",
802
+ toolInput: { path: "src/views/App.vue" },
803
+ });
804
+ expect(statuses.at(-2)).toEqual({
805
+ status: "tool_using",
806
+ actionType: "read_file",
807
+ actionDetail: "src/views/App.vue",
808
+ });
809
+ });
636
810
  it("clears active MCP tool status when ACode reports a tool result", async () => {
637
811
  const adapter = new AcodeSdkAdapter();
638
812
  adapter.setRuntimeConstructorForTest(McpResultRuntime);
@@ -712,6 +886,63 @@ describe("AcodeSdkAdapter turn completion state", () => {
712
886
  });
713
887
  expect(adapter.getSessionStatus("session-poll-message")).toBe("waiting_input");
714
888
  });
889
+ it("keeps empty poll_message results in waiting_input instead of showing stuck thinking", async () => {
890
+ const adapter = new AcodeSdkAdapter();
891
+ adapter.setRuntimeConstructorForTest(EmptyPollResultRuntime);
892
+ const events = [];
893
+ const statuses = [];
894
+ adapter.on("event", (event) => events.push(event));
895
+ adapter.on("status-change", (_sessionId, status) => statuses.push(status));
896
+ await adapter.startSession("session-empty-poll-result", {
897
+ command: "acode",
898
+ workingDirectory: process.cwd(),
899
+ autoAccept: true,
900
+ extraMcpServers: {},
901
+ envOverrides: {},
902
+ });
903
+ await adapter.sendMessage("session-empty-poll-result", "listen");
904
+ expect(events.map((event) => event.type)).toEqual([
905
+ "tool_use_start",
906
+ "tool_use_end",
907
+ ]);
908
+ expect(statuses).toEqual([
909
+ "starting",
910
+ "waiting_input",
911
+ "thinking",
912
+ "waiting_input",
913
+ "waiting_input",
914
+ ]);
915
+ expect(adapter.getSessionStatus("session-empty-poll-result")).toBe("waiting_input");
916
+ });
917
+ it("shows thinking after poll_message returns actual messages to process", async () => {
918
+ const adapter = new AcodeSdkAdapter();
919
+ adapter.setRuntimeConstructorForTest(PollResultWithMessageRuntime);
920
+ const events = [];
921
+ const statuses = [];
922
+ adapter.on("event", (event) => events.push(event));
923
+ adapter.on("status-change", (_sessionId, status) => statuses.push(status));
924
+ await adapter.startSession("session-poll-result-with-message", {
925
+ command: "acode",
926
+ workingDirectory: process.cwd(),
927
+ autoAccept: true,
928
+ extraMcpServers: {},
929
+ envOverrides: {},
930
+ });
931
+ await adapter.sendMessage("session-poll-result-with-message", "listen");
932
+ expect(events.map((event) => event.type)).toEqual([
933
+ "tool_use_start",
934
+ "tool_use_end",
935
+ ]);
936
+ expect(statuses).toEqual([
937
+ "starting",
938
+ "waiting_input",
939
+ "thinking",
940
+ "waiting_input",
941
+ "thinking",
942
+ "waiting_input",
943
+ ]);
944
+ expect(adapter.getSessionStatus("session-poll-result-with-message")).toBe("waiting_input");
945
+ });
715
946
  it("forwards ACode command status as thinking without changing session status", async () => {
716
947
  const adapter = new AcodeSdkAdapter();
717
948
  adapter.setRuntimeConstructorForTest(CommandStatusRuntime);
@@ -742,7 +973,11 @@ describe("AcodeSdkAdapter turn completion state", () => {
742
973
  const adapter = new AcodeSdkAdapter();
743
974
  adapter.setRuntimeConstructorForTest(AiRequestRuntime);
744
975
  const events = [];
976
+ const statuses = [];
745
977
  adapter.on("event", (event) => events.push(event));
978
+ adapter.on("status-change", (_sessionId, status, actionInfo) => {
979
+ statuses.push({ status, usage: actionInfo?.usage });
980
+ });
746
981
  await adapter.startSession("session-ai-request", {
747
982
  command: "acode",
748
983
  workingDirectory: process.cwd(),
@@ -764,6 +999,10 @@ describe("AcodeSdkAdapter turn completion state", () => {
764
999
  requestBody: '{"model":"test-model"}',
765
1000
  },
766
1001
  });
1002
+ expect(statuses).toContainEqual({
1003
+ status: "thinking",
1004
+ usage: { inputTokens: 6800, outputTokens: 0 },
1005
+ });
767
1006
  });
768
1007
  it("forwards ACode thinking deltas as realtime thinking provider events", async () => {
769
1008
  const adapter = new AcodeSdkAdapter();
@@ -942,6 +1181,78 @@ describe("AcodeSdkAdapter turn completion state", () => {
942
1181
  adapter.cleanup();
943
1182
  }
944
1183
  });
1184
+ it("stops re-arming auto-poll when the model answers without calling poll_message", async () => {
1185
+ vi.useFakeTimers();
1186
+ NonPollingAutoPollRuntime.submitMessages = [];
1187
+ const adapter = new AcodeSdkAdapter();
1188
+ adapter.setRuntimeConstructorForTest(NonPollingAutoPollRuntime);
1189
+ try {
1190
+ await adapter.startSession("session-non-polling-auto-poll", {
1191
+ command: "acode",
1192
+ workingDirectory: process.cwd(),
1193
+ autoAccept: true,
1194
+ extraMcpServers: {},
1195
+ envOverrides: {},
1196
+ });
1197
+ await vi.advanceTimersByTimeAsync(250);
1198
+ expect(NonPollingAutoPollRuntime.submitMessages).toHaveLength(1);
1199
+ expect(NonPollingAutoPollRuntime.submitMessages[0]).toContain("poll_message");
1200
+ await vi.advanceTimersByTimeAsync(5_000);
1201
+ expect(NonPollingAutoPollRuntime.submitMessages).toHaveLength(1);
1202
+ expect(adapter.getSessionStatus("session-non-polling-auto-poll")).toBe("waiting_input");
1203
+ }
1204
+ finally {
1205
+ vi.useRealTimers();
1206
+ adapter.cleanup();
1207
+ }
1208
+ });
1209
+ it("keeps re-arming auto-poll when the model actually calls poll_message", async () => {
1210
+ vi.useFakeTimers();
1211
+ PollingAutoPollRuntime.submitMessages = [];
1212
+ const adapter = new AcodeSdkAdapter();
1213
+ adapter.setRuntimeConstructorForTest(PollingAutoPollRuntime);
1214
+ try {
1215
+ await adapter.startSession("session-polling-auto-poll", {
1216
+ command: "acode",
1217
+ workingDirectory: process.cwd(),
1218
+ autoAccept: true,
1219
+ extraMcpServers: {},
1220
+ envOverrides: {},
1221
+ });
1222
+ await vi.advanceTimersByTimeAsync(250);
1223
+ expect(PollingAutoPollRuntime.submitMessages).toHaveLength(1);
1224
+ await vi.advanceTimersByTimeAsync(250);
1225
+ expect(PollingAutoPollRuntime.submitMessages).toHaveLength(2);
1226
+ }
1227
+ finally {
1228
+ vi.useRealTimers();
1229
+ adapter.cleanup();
1230
+ }
1231
+ });
1232
+ it("keeps re-arming auto-poll when a poll turn completes without assistant text", async () => {
1233
+ vi.useFakeTimers();
1234
+ AutoPollRuntime.submitMessages = [];
1235
+ const adapter = new AcodeSdkAdapter();
1236
+ adapter.setRuntimeConstructorForTest(AutoPollRuntime);
1237
+ try {
1238
+ await adapter.startSession("session-empty-auto-poll-turn", {
1239
+ command: "acode",
1240
+ workingDirectory: process.cwd(),
1241
+ autoAccept: true,
1242
+ extraMcpServers: {},
1243
+ envOverrides: {},
1244
+ });
1245
+ await vi.advanceTimersByTimeAsync(250);
1246
+ expect(AutoPollRuntime.submitMessages).toHaveLength(1);
1247
+ await vi.advanceTimersByTimeAsync(250);
1248
+ expect(AutoPollRuntime.submitMessages).toHaveLength(2);
1249
+ expect(AutoPollRuntime.submitMessages[1]).toContain("poll_message");
1250
+ }
1251
+ finally {
1252
+ vi.useRealTimers();
1253
+ adapter.cleanup();
1254
+ }
1255
+ });
945
1256
  it("cancels a pending auto-poll when a user message arrives", async () => {
946
1257
  vi.useFakeTimers();
947
1258
  AutoPollRuntime.submitMessages = [];
@@ -1014,8 +1325,8 @@ describe("AcodeSdkAdapter turn completion state", () => {
1014
1325
  await vi.advanceTimersByTimeAsync(250);
1015
1326
  // Status sequence: starting -> waiting_input (startSession) ->
1016
1327
  // thinking (auto-poll fires) -> waiting_input (turn_complete success
1017
- // re-arms the loop). The 2nd auto-poll is scheduled but not yet fired
1018
- // because the advance only covers the first 250ms.
1328
+ // re-arms the loop). Empty turns are allowed to retry because only a
1329
+ // plain-text assistant answer indicates the model ignored poll_message.
1019
1330
  expect(AutoPollRuntime.submitMessages).toHaveLength(1);
1020
1331
  expect(AutoPollRuntime.submitMessages[0]).toContain("poll_message");
1021
1332
  expect(statuses).toEqual([
@@ -517,7 +517,7 @@ export class OpencodeSdkAdapter extends EventEmitter {
517
517
  data: { usage: session.adapterSession.totalUsage },
518
518
  });
519
519
  session.adapterSession.status = 'waiting_input';
520
- this.emit('status-change', sessionId, 'waiting_input');
520
+ this.emit('status-change', sessionId, 'waiting_input', { usage: session.adapterSession.totalUsage });
521
521
  this.startIdleDetection(sessionId);
522
522
  break;
523
523
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapter/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapter/types.ts"],"names":[],"mappings":"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"}
@@ -132,9 +132,13 @@ export function getToolActionInfo(toolName, toolInput, metadata) {
132
132
  const normalizedName = name.replace(/[_-]/g, "");
133
133
  const semanticToolName = name.startsWith("mcp__")
134
134
  ? name.split("__").slice(2).join("__")
135
- : name.includes("-mcp__")
136
- ? name.slice(name.indexOf("-mcp__") + 6)
137
- : name;
135
+ : name.startsWith("builtin__")
136
+ ? name.split("__").slice(1).join("__")
137
+ : name.includes("-mcp__")
138
+ ? name.slice(name.indexOf("-mcp__") + 6)
139
+ : name.includes("/")
140
+ ? name.split("/").filter(Boolean).at(-1) || name
141
+ : name;
138
142
  const normalizedSemanticToolName = semanticToolName.replace(/[_-]/g, "");
139
143
  const normalizeSkillList = (value) => {
140
144
  if (!Array.isArray(value)) {