aws-runtime-bridge 1.9.51 → 1.9.55

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 (73) hide show
  1. package/package/acode/README.md +26 -0
  2. package/package/acode/dist/built-in-file-tools.d.ts +11 -0
  3. package/package/acode/dist/built-in-file-tools.d.ts.map +1 -1
  4. package/package/acode/dist/built-in-file-tools.js +4 -2
  5. package/package/acode/dist/built-in-symbols-tool.d.ts +7 -0
  6. package/package/acode/dist/built-in-symbols-tool.d.ts.map +1 -0
  7. package/package/acode/dist/built-in-symbols-tool.js +117 -0
  8. package/package/acode/dist/grammars/grammars/tree-sitter-bash.wasm +0 -0
  9. package/package/acode/dist/grammars/grammars/tree-sitter-c-sharp.wasm +0 -0
  10. package/package/acode/dist/grammars/grammars/tree-sitter-c.wasm +0 -0
  11. package/package/acode/dist/grammars/grammars/tree-sitter-cpp.wasm +0 -0
  12. package/package/acode/dist/grammars/grammars/tree-sitter-go.wasm +0 -0
  13. package/package/acode/dist/grammars/grammars/tree-sitter-java.wasm +0 -0
  14. package/package/acode/dist/grammars/grammars/tree-sitter-javascript.wasm +0 -0
  15. package/package/acode/dist/grammars/grammars/tree-sitter-jsx.wasm +0 -0
  16. package/package/acode/dist/grammars/grammars/tree-sitter-lua.wasm +0 -0
  17. package/package/acode/dist/grammars/grammars/tree-sitter-php.wasm +0 -0
  18. package/package/acode/dist/grammars/grammars/tree-sitter-python.wasm +0 -0
  19. package/package/acode/dist/grammars/grammars/tree-sitter-ruby.wasm +0 -0
  20. package/package/acode/dist/grammars/grammars/tree-sitter-rust.wasm +0 -0
  21. package/package/acode/dist/grammars/grammars/tree-sitter-tsx.wasm +0 -0
  22. package/package/acode/dist/grammars/grammars/tree-sitter-typescript.wasm +0 -0
  23. package/package/acode/dist/index.d.ts +7 -0
  24. package/package/acode/dist/index.d.ts.map +1 -1
  25. package/package/acode/dist/index.js +8 -0
  26. package/package/acode/dist/parsers/ast-cache.d.ts +33 -0
  27. package/package/acode/dist/parsers/ast-cache.d.ts.map +1 -0
  28. package/package/acode/dist/parsers/ast-cache.js +76 -0
  29. package/package/acode/dist/parsers/language-detector.d.ts +7 -0
  30. package/package/acode/dist/parsers/language-detector.d.ts.map +1 -0
  31. package/package/acode/dist/parsers/language-detector.js +44 -0
  32. package/package/acode/dist/parsers/language-queries.d.ts +5 -0
  33. package/package/acode/dist/parsers/language-queries.d.ts.map +1 -0
  34. package/package/acode/dist/parsers/language-queries.js +640 -0
  35. package/package/acode/dist/parsers/symbol-extractor.d.ts +8 -0
  36. package/package/acode/dist/parsers/symbol-extractor.d.ts.map +1 -0
  37. package/package/acode/dist/parsers/symbol-extractor.js +164 -0
  38. package/package/acode/dist/parsers/tree-sitter-loader.d.ts +18 -0
  39. package/package/acode/dist/parsers/tree-sitter-loader.d.ts.map +1 -0
  40. package/package/acode/dist/parsers/tree-sitter-loader.js +64 -0
  41. package/package/acode/dist/parsers/types.d.ts +61 -0
  42. package/package/acode/dist/parsers/types.d.ts.map +1 -0
  43. package/package/acode/dist/parsers/types.js +7 -0
  44. package/package/acode/dist/runtime.d.ts.map +1 -1
  45. package/package/acode/dist/runtime.js +75 -20
  46. package/package/acode/dist/sub-agent-manager.d.ts +16 -0
  47. package/package/acode/dist/sub-agent-manager.d.ts.map +1 -1
  48. package/package/acode/dist/sub-agent-manager.js +196 -15
  49. package/package/acode/dist/types.d.ts +1 -1
  50. package/package/acode/dist/types.d.ts.map +1 -1
  51. package/package/acode/package.json +4 -1
  52. package/package/aws-client-agent-mcp/dist/agent-client.test.js +64 -50
  53. package/package/aws-client-agent-mcp/dist/agent-client.test.js.map +1 -1
  54. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +3 -12
  55. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts.map +1 -1
  56. package/package/aws-client-agent-mcp/dist/mcp-server.js +192 -115
  57. package/package/aws-client-agent-mcp/dist/mcp-server.js.map +1 -1
  58. package/package/aws-client-agent-mcp/dist/mcp-server.test.js +38 -0
  59. package/package/aws-client-agent-mcp/dist/mcp-server.test.js.map +1 -1
  60. package/package/aws-client-agent-mcp/dist/memory-store.js +7 -7
  61. package/package/aws-client-agent-mcp/dist/memory-store.js.map +1 -1
  62. package/package/aws-client-agent-mcp/dist/memory-store.test.js +22 -0
  63. package/package/aws-client-agent-mcp/dist/memory-store.test.js.map +1 -1
  64. package/package/aws-client-agent-mcp/dist/memory-tools.d.ts.map +1 -1
  65. package/package/aws-client-agent-mcp/dist/memory-tools.js +3 -2
  66. package/package/aws-client-agent-mcp/dist/memory-tools.js.map +1 -1
  67. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +24 -0
  68. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts.map +1 -1
  69. package/package/aws-client-agent-mcp/dist/websocket-client.js +61 -2
  70. package/package/aws-client-agent-mcp/dist/websocket-client.js.map +1 -1
  71. package/package/aws-client-agent-mcp/dist/websocket-client.test.js +54 -0
  72. package/package/aws-client-agent-mcp/dist/websocket-client.test.js.map +1 -1
  73. package/package.json +5 -3
@@ -2,6 +2,40 @@ import { randomUUID } from "node:crypto";
2
2
  import { ACodeRuntime } from "./runtime.js";
3
3
  /** 已完成 entry 在内存中的保留时长(30 分钟),超时后清理释放内存 */
4
4
  const COMPLETED_ENTRY_TTL_MS = 30 * 60 * 1000;
5
+ /**
6
+ * pending 子 agent 超过该时长仍未翻成 running,视为僵尸。
7
+ * pending 本应在 spawn 后数秒内翻转(runEntryToCompletion* 立即设置 running),
8
+ * 若长时间保持 pending,说明 startWithRecheck 抛错被静默吞掉、或启动函数从未执行,
9
+ * 必须回收,否则 URIs 会被 runtime.pendingMemorySubAgents 永久锁死、永不重试。
10
+ */
11
+ const SUBAGENT_PENDING_ZOMBIE_MS = 2 * 60 * 1000;
12
+ /**
13
+ * running 子 agent 超过该时长仍未到达终态,视为僵尸。
14
+ * 正常 LLM 子任务即便较长也应有上界;卡死多因 runtime.start()/submit() 挂起
15
+ * (如复用的父 MCP 连接异常、模型调用无响应),需回收以释放资源并解除锁。
16
+ *
17
+ * ★ 曾为 30min,但实际现象:子 agent 卡死时前端 modal 长时间显示"运行中 + 0消息 + 0tokens",
18
+ * 且 pendingMemorySubAgents URI 锁会持续抑制该 memory 的重新委托,加上 10min 冷却
19
+ * 总卡顿可达 30~45min。缩到 5min:自动 memory 委托是后台任务,5min 足够覆盖
20
+ * 正常 LLM 子任务(通常 30s~2min),更长时间无终态基本可判定为卡死。
21
+ * task 工具显式调用的 sub-agent 不走此自动路径,不受影响。
22
+ */
23
+ const SUBAGENT_RUNNING_ZOMBIE_MS = 5 * 60 * 1000;
24
+ /**
25
+ * 子 agent runtime.start() 整体超时兜底(毫秒)。
26
+ * start() 内部正常路径秒级完成(loadSkills/resolveProvider/filterMcp/fetchProfile/emitStatus),
27
+ * 超过此时长基本可判定为卡死(如 hookBus.dispatch 卡住、fetchProfile 的 MCP 调用挂起)。
28
+ * fetchProfilePrompt 内部已有 withTimeout,但其他步骤无保护,需外层兜底。
29
+ */
30
+ const SUBAGENT_START_TIMEOUT_MS = 60_000;
31
+ /**
32
+ * 子 agent runtime.submit() 整体超时兜底(毫秒)。
33
+ * submit 内部 fetch 已有 provider.requestTimeoutMs 保护,但 hookBus.dispatch /
34
+ * materializeImageContent / truncateConversationIfNeeded 等步骤无超时;
35
+ * 主动压缩路径(performCompaction → summarizeConversationWithLLM)亦独立有 withTimeout。
36
+ * 此 10min 兜底覆盖极端长 LLM 响应 + 多轮工具调用,超此时长视为整体卡死。
37
+ */
38
+ const SUBAGENT_SUBMIT_TIMEOUT_MS = 10 * 60 * 1000;
5
39
  /**
6
40
  * SubAgentManager:管理独立 ACodeRuntime 实例池。
7
41
  *
@@ -47,10 +81,15 @@ export class SubAgentManager {
47
81
  this.store = opts.store;
48
82
  this.maxConcurrent = opts.maxConcurrent ?? 5;
49
83
  // 启动定期清理已完成 entry 的定时器(每 5 分钟扫一次)
50
- this.cleanupTimer = setInterval(() => this.cleanupCompletedEntries(), 5 * 60 * 1000);
84
+ this.cleanupTimer = setInterval(() => {
85
+ this.cleanupCompletedEntries();
86
+ this.recoverZombieEntries();
87
+ }, 5 * 60 * 1000);
51
88
  // 不阻止进程退出
52
89
  if (this.cleanupTimer.unref)
53
90
  this.cleanupTimer.unref();
91
+ // 启动时回收上次进程异常退出留下的僵尸记录(reconcileZombies 此前未被任何调用方触发)
92
+ void this.store.reconcileZombies().catch(() => { });
54
93
  }
55
94
  /** 创建 sub-agent(不立即运行;调 start 才执行) */
56
95
  async spawn(opts) {
@@ -402,10 +441,21 @@ export class SubAgentManager {
402
441
  await this.store.updateStatus(entry.parentAgentId, entry.subId, { status: "running" });
403
442
  this.emitEvent(entry.subId, "running", {});
404
443
  try {
405
- await entry.runtime.start();
444
+ // ★ 超时兜底:start() 通常秒级完成,超时说明卡在 hookBus/fetchProfile/loadCommands
445
+ // 等无超时保护的步骤。抛错后被外层 catch 标记为 failed,前端可见。
446
+ await withTimeout(entry.runtime.start(), SUBAGENT_START_TIMEOUT_MS, `sub-agent ${entry.subId} runtime.start()`);
447
+ // ★ 可见性修正:start() 完成后、submit() 之前显式标记,让 submit 早期阶段
448
+ // (hookBus.dispatch("UserPromptSubmit")、materializeImageContent 等)的卡点可见。
449
+ // 之前 skill_status 标记会停留到 ai_request 覆盖,但若 submit 卡在 ai_request 之前,
450
+ // 前端会显示 "[skill_loaded]"——容易误判为卡在 start()。这里覆盖为 "[submitting]"
451
+ // 明确表示已进入 submit 阶段。
452
+ entry.contextSnapshot.currentTool = "[submitting]";
453
+ entry.contextSnapshot.updatedAt = new Date().toISOString();
406
454
  entry.availableTools = entry.runtime.getAvailableTools();
407
455
  // 第一轮:使用初始 prompt
408
- await entry.runtime.submit(entry.prompt);
456
+ // ★ 超时兜底:submit 内部 fetch/performCompaction 已有 withTimeout,
457
+ // 但 hookBus.dispatch/materializeImageContent 等无保护,整体 10min 兜底。
458
+ await withTimeout(entry.runtime.submit(entry.prompt), SUBAGENT_SUBMIT_TIMEOUT_MS, `sub-agent ${entry.subId} runtime.submit() turn=1`);
409
459
  if (turnFailed) {
410
460
  throw new Error(turnErrorMessage ?? "sub-agent turn failed");
411
461
  }
@@ -431,7 +481,8 @@ export class SubAgentManager {
431
481
  turnErrorMessage = undefined;
432
482
  console.error(`[SubAgentManager] recheck not done for subId=${entry.subId} turn=${turn}/${maxRetries}, ` +
433
483
  `injecting continue message (${continueMessage.length} chars)`);
434
- await entry.runtime.submit(continueMessage);
484
+ // ★ 超时兜底:recheck 续轮 submit 同样需要保护,避免卡死
485
+ await withTimeout(entry.runtime.submit(continueMessage), SUBAGENT_SUBMIT_TIMEOUT_MS, `sub-agent ${entry.subId} runtime.submit() recheck turn=${turn + 1}`);
435
486
  if (turnFailed) {
436
487
  throw new Error(turnErrorMessage ?? `sub-agent turn ${turn + 1} failed during recheck continuation`);
437
488
  }
@@ -696,6 +747,62 @@ export class SubAgentManager {
696
747
  }
697
748
  }
698
749
  }
750
+ /**
751
+ * 存活期僵尸回收:扫描卡在 pending / running 过久的子 agent 并标记为 failed。
752
+ *
753
+ * 背景:runEntryToCompletion* 会在启动后数秒内把状态翻成 running;若长时间保持
754
+ * pending,说明 startWithRecheck 抛错被调用方静默吞掉、或启动函数从未真正执行,
755
+ * 子 agent 成了孤儿却仍占着 runtime.pendingMemorySubAgents 的 URI 锁,导致该
756
+ * memory 的文件变更通知被永久抑制、永不重试(reconcileZombies 仅在 bridge 启动时跑)。
757
+ * running 卡死则多因 runtime.start()/submit() 挂起。
758
+ *
759
+ * 回收时复用与正常终态一致的处理(store 落盘 failed + emit failed 事件 +
760
+ * 释放 completion + 停 runtime)。runtime 订阅了 failed 事件,会据此清除
761
+ * pendingMemorySubAgents 中的 URI 并进入冷却,从而解除死锁、允许下次重新委托。
762
+ */
763
+ recoverZombieEntries() {
764
+ const now = Date.now();
765
+ for (const [subId, entry] of this.subAgents) {
766
+ if (entry.status === "pending" && now - entry.startedAt > SUBAGENT_PENDING_ZOMBIE_MS) {
767
+ void this.recoverZombie(entry, `stuck in pending >${SUBAGENT_PENDING_ZOMBIE_MS}ms (never started)`);
768
+ }
769
+ else if (entry.status === "running" && now - entry.startedAt > SUBAGENT_RUNNING_ZOMBIE_MS) {
770
+ void this.recoverZombie(entry, `stuck in running >${SUBAGENT_RUNNING_ZOMBIE_MS}ms (no completion)`);
771
+ }
772
+ }
773
+ }
774
+ /** 将孤儿/卡死子 agent 标记为 failed 并走正常终态流程(不依赖 LLM 自报) */
775
+ async recoverZombie(entry, reason) {
776
+ // 启动函数可能在扫描与执行之间恰好把状态翻成 running/终态,二次确认避免误杀
777
+ if (entry.status !== "pending" && entry.status !== "running")
778
+ return;
779
+ const errorMessage = `zombie recovered: ${reason}`;
780
+ entry.status = "failed";
781
+ entry.errorMessage = errorMessage;
782
+ entry.endedAt = Date.now();
783
+ entry.durationMs = entry.endedAt - entry.startedAt;
784
+ try {
785
+ await this.store.updateStatus(entry.parentAgentId, entry.subId, {
786
+ status: "failed",
787
+ errorMessage,
788
+ endedAt: entry.endedAt,
789
+ durationMs: entry.durationMs,
790
+ contextSnapshot: undefined,
791
+ });
792
+ }
793
+ catch {
794
+ /* 落盘失败不影响内存态与事件通知 */
795
+ }
796
+ this.emitEvent(entry.subId, "failed", { error: errorMessage });
797
+ entry.completionResolve?.({ output: "", error: errorMessage });
798
+ this.enqueueCompletion(entry, "", errorMessage);
799
+ try {
800
+ await entry.runtime.stop();
801
+ }
802
+ catch {
803
+ /* 忽略 stop 失败 */
804
+ }
805
+ }
699
806
  /** 从 store 中查找记录(entry 已从内存清理时使用) */
700
807
  async findRecordInStore(subId) {
701
808
  // store 按父 agent 组织,无法直接按 subId 查;遍历所有 parent
@@ -716,11 +823,69 @@ export class SubAgentManager {
716
823
  const snapshot = entry.contextSnapshot;
717
824
  snapshot.updatedAt = new Date().toISOString();
718
825
  switch (event?.type) {
826
+ case "session_started":
827
+ // ★ 可见性修正:start() 早期阶段标记(runtime.ts start() 中的首个 emit)。
828
+ // 之前 session_started/mcp_status(状态报告)/skill_status 都不在 switch 中,
829
+ // 导致子 agent 卡在 start() 内部(如 hookBus.dispatch、fetchProfilePrompt、
830
+ // loadAcodeCommands 等)时前端 snapshot 永远显示 0/0/"-",与"子 agent 从未运行"
831
+ // 无法区分。加上阶段标记后可定位卡点位置。
832
+ snapshot.currentTool = "[starting]";
833
+ break;
834
+ case "startup_phase":
835
+ // ★ 可见性修正:start() 内部细分阶段标记(session_started 之前 emit)。
836
+ // 子 agent 卡在 loadAcodeConfig/loadAllSkills/fetchProfilePrompt/
837
+ // loadAcodeCommands/hookBus.dispatch("SessionStart") 等步骤时,
838
+ // 前端可精确定位卡点(currentTool 显示 "[startup:<phase>]"),
839
+ // 而非笼统的 "-"。
840
+ snapshot.currentTool = `[startup:${event.data?.phase ?? "unknown"}]`;
841
+ break;
842
+ case "mcp_status":
843
+ // runtime 发射的 mcp_status 使用 action 字段(而非 phase)
844
+ if (event.data?.action === "call_tool") {
845
+ snapshot.currentTool = event.data?.tool;
846
+ this.emitEvent(subId, "tool_start", { tool: snapshot.currentTool, snapshot: { ...snapshot } });
847
+ }
848
+ else if (event.data?.action === "tool_result") {
849
+ this.emitEvent(subId, "tool_end", { tool: snapshot.currentTool, snapshot: { ...snapshot } });
850
+ snapshot.currentTool = undefined;
851
+ }
852
+ else {
853
+ // ★ 可见性修正:start() 阶段 emit 的 mcp_status(无 action 字段,是连接状态报告),
854
+ // 标记 MCP 初始化阶段。位于 session_started 之后、skill_status 之前。
855
+ snapshot.currentTool = "[mcp_init]";
856
+ }
857
+ break;
858
+ case "skill_status":
859
+ // ★ 可见性修正:start() 末尾阶段标记。skill_status 是 start() 最后 emit 的事件,
860
+ // 之后 start() 完成、submit() 开始;submit 早期到 ai_request 之间无事件,
861
+ // 若卡在此区间,前端会显示 "[skill_loaded]",可定位为 submit 早期卡死
862
+ // (如 hookBus.dispatch("UserPromptSubmit")、materializeImageContent 等)。
863
+ snapshot.currentTool = "[skill_loaded]";
864
+ break;
719
865
  case "ai_request":
720
866
  // estimatedContextTokens 是请求前的上下文估算,可作为 input 近似值
721
867
  if (event.data?.estimatedContextTokens != null) {
722
868
  snapshot.tokenUsage.input = (event.data.estimatedContextTokens ?? snapshot.tokenUsage.input);
723
869
  }
870
+ // ★ 可见性修正:标记当前处于模型请求阶段,便于前端区分"卡在模型请求"与"未启动"。
871
+ // 否则子 agent 卡在 fetch 时 snapshot.currentTool 仍为 undefined,前端显示"-",
872
+ // 与"子 agent 从未运行"无法区分。
873
+ snapshot.currentTool = "[model_request]";
874
+ break;
875
+ case "context_compaction":
876
+ // ★ 可见性修正:标记当前处于上下文压缩阶段。
877
+ // 子 agent 初始上下文触发主动压缩时,requestChatCompletion 会先执行 performCompaction
878
+ // (调用 summarizeConversationWithLLM 发起摘要 LLM 请求),此时 ai_request 尚未发射,
879
+ // 前端 snapshot 会显示全 0。标记 currentTool 为压缩阶段,让"卡在压缩"可见。
880
+ if (event.data?.action === "start") {
881
+ snapshot.currentTool = "[context_compaction]";
882
+ }
883
+ else if (event.data?.action === "end") {
884
+ // 压缩结束后清除标记,后续 ai_request 会覆盖
885
+ if (snapshot.currentTool === "[context_compaction]") {
886
+ snapshot.currentTool = undefined;
887
+ }
888
+ }
724
889
  break;
725
890
  case "turn_complete":
726
891
  // turn_complete 携带实际的 token 用量,覆盖 ai_request 的估算值
@@ -739,17 +904,6 @@ export class SubAgentManager {
739
904
  snapshot.messageCount += 1;
740
905
  this.emitEvent(subId, "delta", { text: event.data?.text });
741
906
  break;
742
- case "mcp_status":
743
- // runtime 发射的 mcp_status 使用 action 字段(而非 phase)
744
- if (event.data?.action === "call_tool") {
745
- snapshot.currentTool = event.data?.tool;
746
- this.emitEvent(subId, "tool_start", { tool: snapshot.currentTool, snapshot: { ...snapshot } });
747
- }
748
- else if (event.data?.action === "tool_result") {
749
- this.emitEvent(subId, "tool_end", { tool: snapshot.currentTool, snapshot: { ...snapshot } });
750
- snapshot.currentTool = undefined;
751
- }
752
- break;
753
907
  case "session_complete":
754
908
  snapshot.messageCount += 1;
755
909
  break;
@@ -823,3 +977,30 @@ export class SubAgentManager {
823
977
  return this.subAgents.get(subId)?.contextSnapshot;
824
978
  }
825
979
  }
980
+ /**
981
+ * 简易超时兜底,仅用于 sub-agent 的 start()/submit() 整体保护。
982
+ *
983
+ * 与 runtime.ts 中的 withTimeout 行为一致:
984
+ * - 超时后 reject,让外层 catch 把 sub-agent 标记为 failed(前端可见)
985
+ * - 不取消 underlying promise(runtime 内部的 fetch 已有自己的 AbortController)
986
+ * - timeoutMs <= 0 时跳过保护,直接 await
987
+ *
988
+ * 未抽到独立工具文件是因为仅此处使用;如未来有其他模块需要,再考虑提取到 shared。
989
+ */
990
+ async function withTimeout(operation, timeoutMs, label) {
991
+ if (timeoutMs <= 0) {
992
+ return await operation;
993
+ }
994
+ let timer;
995
+ try {
996
+ return await new Promise((resolve, reject) => {
997
+ timer = setTimeout(() => reject(new Error(`${label} timed out after ${timeoutMs}ms`)), timeoutMs);
998
+ operation.then(resolve, reject);
999
+ });
1000
+ }
1001
+ finally {
1002
+ if (timer) {
1003
+ clearTimeout(timer);
1004
+ }
1005
+ }
1006
+ }
@@ -59,7 +59,7 @@ export interface ACodeSkillGroup {
59
59
  exists: boolean;
60
60
  skills: ACodeSkillMetadata[];
61
61
  }
62
- export type ACodeEventType = "session_started" | "ai_request" | "thinking_delta" | "assistant_delta" | "command_output" | "command_status" | "mcp_status" | "skill_status" | "warning" | "turn_complete" | "session_complete" | "context_compaction" | "question_request" | "error";
62
+ export type ACodeEventType = "session_started" | "startup_phase" | "ai_request" | "thinking_delta" | "assistant_delta" | "command_output" | "command_status" | "mcp_status" | "skill_status" | "warning" | "turn_complete" | "session_complete" | "context_compaction" | "question_request" | "error";
63
63
  export interface ACodeEvent {
64
64
  type: ACodeEventType;
65
65
  sessionId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,8 @@
15
15
  "acode": "dist/cli.js"
16
16
  },
17
17
  "scripts": {
18
- "build": "tsc -p tsconfig.json",
18
+ "build": "tsc -p tsconfig.json && cpy grammars/** dist/grammars --parents --skip-exist",
19
+ "build:force": "tsc -p tsconfig.json && cpy grammars/** dist/grammars --parents",
19
20
  "test": "vitest run",
20
21
  "test:watch": "vitest",
21
22
  "test:legacy": "tsx --test src/runtime.test.ts src/mcpToolNames.test.ts src/compaction.test.ts src/compaction-tree.test.ts",
@@ -24,10 +25,12 @@
24
25
  },
25
26
  "dependencies": {
26
27
  "@modelcontextprotocol/sdk": "^1.27.1",
28
+ "web-tree-sitter": "^0.25.4",
27
29
  "zod": "^4.1.12"
28
30
  },
29
31
  "devDependencies": {
30
32
  "@types/node": "^20.17.0",
33
+ "cpy-cli": "^5.0.0",
31
34
  "tsx": "^4.21.0",
32
35
  "typescript": "^5.9.3",
33
36
  "vitest": "^2.0.0"
@@ -215,11 +215,13 @@ describe("AgentClient", () => {
215
215
  const client = new AgentClient();
216
216
  Reflect.set(client, "agentId", "agent-1");
217
217
  let capturedArgs;
218
+ const mockCallToolDm = async (_toolName, args) => {
219
+ capturedArgs = args;
220
+ return { msgId: "dm-1", timestamp: new Date().toISOString() };
221
+ };
218
222
  Reflect.set(client, "httpClient", {
219
- callTool: async (_toolName, args) => {
220
- capturedArgs = args;
221
- return { msgId: "dm-1", timestamp: new Date().toISOString() };
222
- },
223
+ callTool: mockCallToolDm,
224
+ callToolOnce: mockCallToolDm,
223
225
  });
224
226
  await client.sendDirectMessage("target-user", "hello dm", true, undefined, 30000);
225
227
  assert.equal(capturedArgs?.agentId, "agent-1");
@@ -241,11 +243,13 @@ describe("AgentClient", () => {
241
243
  requireReply: false,
242
244
  timestamp: new Date().toISOString(),
243
245
  };
246
+ const mockCallReply = async () => ({
247
+ msgId: "dm-1",
248
+ reply: replyMessage,
249
+ });
244
250
  Reflect.set(client, "httpClient", {
245
- callTool: async () => ({
246
- msgId: "dm-1",
247
- reply: replyMessage,
248
- }),
251
+ callTool: mockCallReply,
252
+ callToolOnce: mockCallReply,
249
253
  });
250
254
  const result = await client.sendCallAndWaitReply("target-user", "hello", 30000);
251
255
  assert.equal(result.msgId, "reply-1");
@@ -254,11 +258,13 @@ describe("AgentClient", () => {
254
258
  it("should throw when no reply received", async () => {
255
259
  const client = new AgentClient();
256
260
  Reflect.set(client, "agentId", "agent-1");
261
+ const mockCallNoReply = async () => ({
262
+ msgId: "dm-1",
263
+ reply: null,
264
+ });
257
265
  Reflect.set(client, "httpClient", {
258
- callTool: async () => ({
259
- msgId: "dm-1",
260
- reply: null,
261
- }),
266
+ callTool: mockCallNoReply,
267
+ callToolOnce: mockCallNoReply,
262
268
  });
263
269
  await assert.rejects(async () => await client.sendCallAndWaitReply("target-user", "hello"), /No reply received/);
264
270
  });
@@ -291,17 +297,19 @@ describe("AgentClient", () => {
291
297
  Reflect.set(client, "agentId", "agent-1");
292
298
  Reflect.set(client, "projectName", "demo");
293
299
  const calledTools = [];
300
+ const mockCallPoll1 = async (toolName) => {
301
+ calledTools.push(toolName);
302
+ if (toolName === "poll_message") {
303
+ return { messages: [] };
304
+ }
305
+ if (toolName === "discover_group_rooms") {
306
+ return { groups: [] };
307
+ }
308
+ return {};
309
+ };
294
310
  Reflect.set(client, "httpClient", {
295
- callTool: async (toolName) => {
296
- calledTools.push(toolName);
297
- if (toolName === "poll_message") {
298
- return { messages: [] };
299
- }
300
- if (toolName === "discover_group_rooms") {
301
- return { groups: [] };
302
- }
303
- return {};
304
- },
311
+ callTool: mockCallPoll1,
312
+ callToolOnce: mockCallPoll1,
305
313
  });
306
314
  await client.fetchUnreadMessages({ includePipelineTasks: true });
307
315
  assert.equal(calledTools[0], "poll_message");
@@ -312,17 +320,19 @@ describe("AgentClient", () => {
312
320
  Reflect.set(client, "agentId", "agent-1");
313
321
  Reflect.set(client, "projectName", "demo");
314
322
  const calledTools = [];
323
+ const mockCallPoll2 = async (toolName) => {
324
+ calledTools.push(toolName);
325
+ if (toolName === "poll_message") {
326
+ throw new Error('MCP tool poll_message call failed: 503 Service Unavailable - {"error":"Async request timed out"}');
327
+ }
328
+ if (toolName === "discover_group_rooms") {
329
+ return { groups: [] };
330
+ }
331
+ return {};
332
+ };
315
333
  Reflect.set(client, "httpClient", {
316
- callTool: async (toolName) => {
317
- calledTools.push(toolName);
318
- if (toolName === "poll_message") {
319
- throw new Error('MCP tool poll_message call failed: 503 Service Unavailable - {"error":"Async request timed out"}');
320
- }
321
- if (toolName === "discover_group_rooms") {
322
- return { groups: [] };
323
- }
324
- return {};
325
- },
334
+ callTool: mockCallPoll2,
335
+ callToolOnce: mockCallPoll2,
326
336
  });
327
337
  const result = await client.fetchUnreadMessages({ includePipelineTasks: true });
328
338
  assert.deepEqual(result, { directMessages: [], groupMessages: [] });
@@ -333,17 +343,19 @@ describe("AgentClient", () => {
333
343
  Reflect.set(client, "agentId", "agent-1");
334
344
  Reflect.set(client, "projectName", "demo");
335
345
  const calledTools = [];
346
+ const mockCallPoll3 = async (toolName) => {
347
+ calledTools.push(toolName);
348
+ if (toolName === "poll_message") {
349
+ throw new Error("MCP tool poll_message timed out after 120000ms");
350
+ }
351
+ if (toolName === "discover_group_rooms") {
352
+ return { groups: [] };
353
+ }
354
+ return {};
355
+ };
336
356
  Reflect.set(client, "httpClient", {
337
- callTool: async (toolName) => {
338
- calledTools.push(toolName);
339
- if (toolName === "poll_message") {
340
- throw new Error("MCP tool poll_message timed out after 120000ms");
341
- }
342
- if (toolName === "discover_group_rooms") {
343
- return { groups: [] };
344
- }
345
- return {};
346
- },
357
+ callTool: mockCallPoll3,
358
+ callToolOnce: mockCallPoll3,
347
359
  });
348
360
  const result = await client.fetchUnreadMessages({ includePipelineTasks: true });
349
361
  assert.deepEqual(result, { directMessages: [], groupMessages: [] });
@@ -367,13 +379,15 @@ describe("AgentClient", () => {
367
379
  const client = new AgentClient();
368
380
  Reflect.set(client, "agentId", "agent-1");
369
381
  Reflect.set(client, "projectName", "demo");
382
+ const mockCallPoll5 = async (toolName) => {
383
+ if (toolName === "poll_message") {
384
+ throw new Error("MCP tool poll_message call failed: 500 Internal Server Error");
385
+ }
386
+ return {};
387
+ };
370
388
  Reflect.set(client, "httpClient", {
371
- callTool: async (toolName) => {
372
- if (toolName === "poll_message") {
373
- throw new Error("MCP tool poll_message call failed: 500 Internal Server Error");
374
- }
375
- return {};
376
- },
389
+ callTool: mockCallPoll5,
390
+ callToolOnce: mockCallPoll5,
377
391
  });
378
392
  await assert.rejects(() => client.fetchUnreadMessages({ includePipelineTasks: true }), /MCP tool poll_message call failed: 500 Internal Server Error/);
379
393
  });
@@ -765,11 +779,11 @@ describe("AgentClient", () => {
765
779
  throw new Error("transient room failure");
766
780
  },
767
781
  });
768
- const consoleError = mock.method(console, "error", () => { });
782
+ const consoleWarn = mock.method(console, "warn", () => { });
769
783
  const result = await client.fetchUnreadMessages();
770
784
  assert.deepEqual(result.directMessages, []);
771
785
  assert.deepEqual(result.groupMessages, [validGroupMessage]);
772
- assert.equal(consoleError.mock.callCount(), 1);
786
+ assert.equal(consoleWarn.mock.callCount(), 1);
773
787
  });
774
788
  });
775
789
  describe("project name update from profile", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-client.test.js","sourceRoot":"","sources":["../src/agent-client.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-client.test.js","sourceRoot":"","sources":["../src/agent-client.test.ts"],"names":[],"mappings":"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"}