agentx-sdk 0.6.1 → 0.6.2

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 (153) hide show
  1. package/README.md +164 -160
  2. package/dist/agent.d.ts +5 -3
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +63 -30
  5. package/dist/agent.js.map +1 -1
  6. package/dist/config/config.d.ts.map +1 -1
  7. package/dist/config/config.js +8 -4
  8. package/dist/config/config.js.map +1 -1
  9. package/dist/contracts/entities/agent-event.d.ts.map +1 -1
  10. package/dist/contracts/entities/index.d.ts +1 -1
  11. package/dist/contracts/entities/index.d.ts.map +1 -1
  12. package/dist/core/compaction/autocompact.d.ts.map +1 -1
  13. package/dist/core/compaction/autocompact.js +9 -12
  14. package/dist/core/compaction/autocompact.js.map +1 -1
  15. package/dist/core/compaction/microcompact.js +1 -1
  16. package/dist/core/compaction/microcompact.js.map +1 -1
  17. package/dist/core/compaction/snip-compact.d.ts.map +1 -1
  18. package/dist/core/compaction/snip-compact.js.map +1 -1
  19. package/dist/core/compaction/tool-result-budget.js.map +1 -1
  20. package/dist/core/context-analysis.js.map +1 -1
  21. package/dist/core/context-builder.d.ts.map +1 -1
  22. package/dist/core/context-builder.js +8 -5
  23. package/dist/core/context-builder.js.map +1 -1
  24. package/dist/core/conversation-manager.d.ts +1 -1
  25. package/dist/core/conversation-manager.d.ts.map +1 -1
  26. package/dist/core/conversation-manager.js +4 -2
  27. package/dist/core/conversation-manager.js.map +1 -1
  28. package/dist/core/execution-context.d.ts.map +1 -1
  29. package/dist/core/execution-context.js.map +1 -1
  30. package/dist/core/message-normalize.js +1 -1
  31. package/dist/core/message-normalize.js.map +1 -1
  32. package/dist/core/prompt-builders.d.ts.map +1 -1
  33. package/dist/core/prompt-builders.js +2 -2
  34. package/dist/core/prompt-builders.js.map +1 -1
  35. package/dist/core/react-loop.d.ts.map +1 -1
  36. package/dist/core/react-loop.js +79 -23
  37. package/dist/core/react-loop.js.map +1 -1
  38. package/dist/core/stream-emitter.js +17 -18
  39. package/dist/core/stream-emitter.js.map +1 -1
  40. package/dist/core/streaming-tool-executor.d.ts.map +1 -1
  41. package/dist/core/streaming-tool-executor.js +18 -8
  42. package/dist/core/streaming-tool-executor.js.map +1 -1
  43. package/dist/index.d.ts +3 -3
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/knowledge/chunking.js +1 -1
  47. package/dist/knowledge/chunking.js.map +1 -1
  48. package/dist/knowledge/embedding-service.d.ts.map +1 -1
  49. package/dist/knowledge/embedding-service.js +5 -2
  50. package/dist/knowledge/embedding-service.js.map +1 -1
  51. package/dist/knowledge/knowledge-manager.d.ts.map +1 -1
  52. package/dist/knowledge/knowledge-manager.js +3 -2
  53. package/dist/knowledge/knowledge-manager.js.map +1 -1
  54. package/dist/knowledge/sqlite-vector-store.d.ts.map +1 -1
  55. package/dist/knowledge/sqlite-vector-store.js +12 -6
  56. package/dist/knowledge/sqlite-vector-store.js.map +1 -1
  57. package/dist/llm/errors.d.ts.map +1 -1
  58. package/dist/llm/errors.js +4 -2
  59. package/dist/llm/errors.js.map +1 -1
  60. package/dist/llm/llm-client.d.ts.map +1 -1
  61. package/dist/llm/llm-client.js +31 -13
  62. package/dist/llm/llm-client.js.map +1 -1
  63. package/dist/memory/file-memory-system.d.ts.map +1 -1
  64. package/dist/memory/file-memory-system.js +34 -17
  65. package/dist/memory/file-memory-system.js.map +1 -1
  66. package/dist/memory/memory-extractor.d.ts +9 -9
  67. package/dist/memory/memory-extractor.d.ts.map +1 -1
  68. package/dist/memory/memory-extractor.js +4 -2
  69. package/dist/memory/memory-extractor.js.map +1 -1
  70. package/dist/memory/memory-paths.d.ts.map +1 -1
  71. package/dist/memory/memory-paths.js +11 -4
  72. package/dist/memory/memory-paths.js.map +1 -1
  73. package/dist/memory/memory-prompts.d.ts.map +1 -1
  74. package/dist/memory/memory-prompts.js +1 -1
  75. package/dist/memory/memory-prompts.js.map +1 -1
  76. package/dist/memory/memory-relevance.d.ts +2 -1
  77. package/dist/memory/memory-relevance.d.ts.map +1 -1
  78. package/dist/memory/memory-relevance.js +1 -1
  79. package/dist/memory/memory-relevance.js.map +1 -1
  80. package/dist/memory/memory-scanner.d.ts.map +1 -1
  81. package/dist/memory/memory-scanner.js +7 -6
  82. package/dist/memory/memory-scanner.js.map +1 -1
  83. package/dist/memory/memory-tools.d.ts.map +1 -1
  84. package/dist/memory/memory-tools.js +16 -6
  85. package/dist/memory/memory-tools.js.map +1 -1
  86. package/dist/memory/memory-types.js +1 -1
  87. package/dist/memory/memory-types.js.map +1 -1
  88. package/dist/skills/skill-glob.js +1 -1
  89. package/dist/skills/skill-glob.js.map +1 -1
  90. package/dist/skills/skill-loader.d.ts.map +1 -1
  91. package/dist/skills/skill-loader.js +29 -25
  92. package/dist/skills/skill-loader.js.map +1 -1
  93. package/dist/skills/skill-manager.d.ts.map +1 -1
  94. package/dist/skills/skill-manager.js +18 -17
  95. package/dist/skills/skill-manager.js.map +1 -1
  96. package/dist/storage/sqlite-conversation-store.d.ts.map +1 -1
  97. package/dist/storage/sqlite-conversation-store.js +15 -7
  98. package/dist/storage/sqlite-conversation-store.js.map +1 -1
  99. package/dist/storage/sqlite-database.js +3 -1
  100. package/dist/storage/sqlite-database.js.map +1 -1
  101. package/dist/tools/builtin/ask-user.d.ts.map +1 -1
  102. package/dist/tools/builtin/ask-user.js +4 -1
  103. package/dist/tools/builtin/ask-user.js.map +1 -1
  104. package/dist/tools/builtin/bash.d.ts.map +1 -1
  105. package/dist/tools/builtin/bash.js +5 -3
  106. package/dist/tools/builtin/bash.js.map +1 -1
  107. package/dist/tools/builtin/file-edit.d.ts.map +1 -1
  108. package/dist/tools/builtin/file-edit.js +16 -4
  109. package/dist/tools/builtin/file-edit.js.map +1 -1
  110. package/dist/tools/builtin/file-read.d.ts.map +1 -1
  111. package/dist/tools/builtin/file-read.js +9 -5
  112. package/dist/tools/builtin/file-read.js.map +1 -1
  113. package/dist/tools/builtin/file-write.d.ts.map +1 -1
  114. package/dist/tools/builtin/file-write.js +4 -1
  115. package/dist/tools/builtin/file-write.js.map +1 -1
  116. package/dist/tools/builtin/glob.d.ts.map +1 -1
  117. package/dist/tools/builtin/glob.js +9 -4
  118. package/dist/tools/builtin/glob.js.map +1 -1
  119. package/dist/tools/builtin/grep.d.ts.map +1 -1
  120. package/dist/tools/builtin/grep.js +6 -2
  121. package/dist/tools/builtin/grep.js.map +1 -1
  122. package/dist/tools/builtin/path-guard.d.ts.map +1 -1
  123. package/dist/tools/builtin/path-guard.js.map +1 -1
  124. package/dist/tools/builtin/web-fetch.d.ts.map +1 -1
  125. package/dist/tools/builtin/web-fetch.js +16 -8
  126. package/dist/tools/builtin/web-fetch.js.map +1 -1
  127. package/dist/tools/json-schema-to-zod.d.ts +2 -2
  128. package/dist/tools/json-schema-to-zod.d.ts.map +1 -1
  129. package/dist/tools/json-schema-to-zod.js +3 -5
  130. package/dist/tools/json-schema-to-zod.js.map +1 -1
  131. package/dist/tools/mcp-adapter.d.ts +2 -2
  132. package/dist/tools/mcp-adapter.d.ts.map +1 -1
  133. package/dist/tools/mcp-adapter.js +40 -24
  134. package/dist/tools/mcp-adapter.js.map +1 -1
  135. package/dist/tools/skill-tool.d.ts.map +1 -1
  136. package/dist/tools/skill-tool.js +12 -13
  137. package/dist/tools/skill-tool.js.map +1 -1
  138. package/dist/tools/sql/sql-tool-factory.d.ts.map +1 -1
  139. package/dist/tools/sql/sql-tool-factory.js +8 -6
  140. package/dist/tools/sql/sql-tool-factory.js.map +1 -1
  141. package/dist/tools/tool-executor.d.ts +3 -3
  142. package/dist/tools/tool-executor.d.ts.map +1 -1
  143. package/dist/tools/tool-executor.js +17 -8
  144. package/dist/tools/tool-executor.js.map +1 -1
  145. package/dist/utils/logger.d.ts.map +1 -1
  146. package/dist/utils/logger.js.map +1 -1
  147. package/dist/utils/model-context.js.map +1 -1
  148. package/dist/utils/retry.d.ts.map +1 -1
  149. package/dist/utils/retry.js +5 -2
  150. package/dist/utils/retry.js.map +1 -1
  151. package/dist/utils/token-counter.d.ts.map +1 -1
  152. package/dist/utils/token-counter.js.map +1 -1
  153. package/package.json +22 -3
@@ -1 +1 @@
1
- {"version":3,"file":"file-write.js","sourceRoot":"","sources":["../../../src/tools/builtin/file-write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CAAC,UAAmB;IACrD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2FAA2F;QACxG,UAAU,EAAE,eAAe;QAC3B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAE,IAA8B,CAAC,SAAS;QAEhE,KAAK,CAAC,OAAO,CAAC,OAAgB;YAC5B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAA0C,CAAC;YAE1E,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC9D,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClD,OAAO,sBAAsB,KAAK,aAAa,SAAS,EAAE,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,OAAO,EAAE,sBAAsB,SAAS,MAAO,KAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACrG,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"file-write.js","sourceRoot":"","sources":["../../../src/tools/builtin/file-write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CAAC,UAAmB;IACrD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EACT,2FAA2F;QAC7F,UAAU,EAAE,eAAe;QAC3B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAE,IAA8B,CAAC,SAAS;QAEhE,KAAK,CAAC,OAAO,CAAC,OAAgB;YAC5B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAA0C,CAAC;YAE1E,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC9D,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClD,OAAO,sBAAsB,KAAK,aAAa,SAAS,EAAE,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,sBAAsB,SAAS,MAAO,KAAe,CAAC,OAAO,EAAE;oBACxE,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/glob.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAwBxE,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CA6D7D"}
1
+ {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/glob.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAwBxE,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAqE7D"}
@@ -39,7 +39,11 @@ export function createGlobTool(workingDir) {
39
39
  return { content: error.message, isError: true };
40
40
  }
41
41
  }
42
- const baseDir = searchPath || workingDir || process.cwd();
42
+ const baseDir = searchPath?.trim()
43
+ ? searchPath
44
+ : workingDir?.trim()
45
+ ? workingDir
46
+ : process.cwd();
43
47
  const allFiles = [];
44
48
  try {
45
49
  await walkDir(baseDir, allFiles);
@@ -49,7 +53,7 @@ export function createGlobTool(workingDir) {
49
53
  }
50
54
  // Match against pattern (relative paths). Use path.relative + posix-style
51
55
  // separators so `/home/user` does not prefix-match `/home/username`.
52
- const matched = allFiles.filter(f => {
56
+ const matched = allFiles.filter((f) => {
53
57
  const rel = relative(baseDir, f);
54
58
  if (rel.startsWith('..') || rel === '')
55
59
  return false;
@@ -71,9 +75,10 @@ export function createGlobTool(workingDir) {
71
75
  }));
72
76
  withStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
73
77
  const limited = withStats.slice(0, MAX_RESULTS);
74
- const lines = limited.map(f => f.path);
78
+ const lines = limited.map((f) => f.path);
75
79
  const truncated = matched.length > MAX_RESULTS;
76
- return lines.join('\n') + (truncated ? `\n\n[${matched.length - MAX_RESULTS} more files not shown]` : '');
80
+ return (lines.join('\n') +
81
+ (truncated ? `\n\n[${matched.length - MAX_RESULTS} more files not shown]` : ''));
77
82
  },
78
83
  };
79
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../../src/tools/builtin/glob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAClF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CACjF,CAAC,CAAC;AAEH,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,OAAiB;IACnD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAmB;IAChD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,sFAAsF;QACnG,UAAU,EAAE,UAAU;QACtB,iBAAiB,EAAE,IAAI;QACvB,UAAU,EAAE,IAAI;QAEhB,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,OAAoB;YAClD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAqC,CAAC;YAE5E,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC9D,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,UAAU,IAAI,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAE1D,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,OAAO,EAAE,0BAA0B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACzE,CAAC;YAED,0EAA0E;YAC1E,qEAAqE;YACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACjC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE;oBAAE,OAAO,KAAK,CAAC;gBACrD,MAAM,KAAK,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3D,OAAO,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,4BAA4B,OAAO,QAAQ,OAAO,EAAE,CAAC;YAC9D,CAAC;YAED,+BAA+B;YAC/B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;gBAC9C,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxB,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;gBACzC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;YAE/C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,MAAM,GAAG,WAAW,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../../src/tools/builtin/glob.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/grep.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAoCxE,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CA8E7D"}
1
+ {"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/grep.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAwCxE,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAwF7D"}
@@ -48,7 +48,7 @@ export function createGrepTool(workingDir) {
48
48
  isConcurrencySafe: true,
49
49
  isReadOnly: true,
50
50
  async execute(rawArgs, signal) {
51
- const { pattern, path: searchPath, glob: globFilter, max_results } = rawArgs;
51
+ const { pattern, path: searchPath, glob: globFilter, max_results, } = rawArgs;
52
52
  if (workingDir && searchPath) {
53
53
  try {
54
54
  assertSafePath(searchPath, workingDir);
@@ -57,7 +57,11 @@ export function createGrepTool(workingDir) {
57
57
  return { content: error.message, isError: true };
58
58
  }
59
59
  }
60
- const baseDir = searchPath || workingDir || process.cwd();
60
+ const baseDir = searchPath?.trim()
61
+ ? searchPath
62
+ : workingDir?.trim()
63
+ ? workingDir
64
+ : process.cwd();
61
65
  const maxResults = max_results ?? DEFAULT_MAX_RESULTS;
62
66
  // Reject patterns that can cause catastrophic backtracking (ReDoS).
63
67
  // Catches: quantified groups (a+)+, consecutive quantifiers a+*, quantified classes [a-z]*,
@@ -1 +1 @@
1
- {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/tools/builtin/grep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/tools/builtin/grep.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"path-guard.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/path-guard.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAYtE"}
1
+ {"version":3,"file":"path-guard.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/path-guard.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAgBtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"path-guard.js","sourceRoot":"","sources":["../../../src/tools/builtin/path-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD;;;GAGG;AACH,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,kBAAkB;IAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAe;IAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,mCAAmC,OAAO,GAAG,CAAC,CAAC;IACrG,CAAC;IACD,kEAAkE;IAClE,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,yCAAyC,OAAO,GAAG,CAAC,CAAC;IACvH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"path-guard.js","sourceRoot":"","sources":["../../../src/tools/builtin/path-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD;;;GAGG;AACH,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,kBAAkB;IAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAe;IAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,mCAAmC,OAAO,GAAG,CAClF,CAAC;IACJ,CAAC;IACD,kEAAkE;IAClE,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,wCAAwC,QAAQ,yCAAyC,OAAO,GAAG,CACpG,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"web-fetch.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/web-fetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AA0ExE,+DAA+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC/C;AA0GD,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,SAAS,CAuFrF"}
1
+ {"version":3,"file":"web-fetch.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/web-fetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAgFxE,+DAA+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC/C;AA4GD,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,SAAS,CA4FrF"}
@@ -16,11 +16,15 @@ function validateFetchUrl(rawUrl) {
16
16
  }
17
17
  const host = parsed.hostname.toLowerCase();
18
18
  // Loopback and wildcard hostnames
19
- if (host === 'localhost' || host === '0.0.0.0' || host === '::1' || host === '[::1]' || host === '::') {
19
+ if (host === 'localhost' ||
20
+ host === '0.0.0.0' ||
21
+ host === '::1' ||
22
+ host === '[::1]' ||
23
+ host === '::') {
20
24
  return `Blocked hostname: ${host}`;
21
25
  }
22
26
  // IPv4 literal checks (loopback, private ranges, link-local metadata)
23
- const ipv4 = host.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
27
+ const ipv4 = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(host);
24
28
  if (ipv4) {
25
29
  const [a, b] = ipv4.slice(1).map(Number);
26
30
  if (a === 127)
@@ -45,7 +49,7 @@ function validateFetchUrl(rawUrl) {
45
49
  if (/^f[cd]/i.test(ipv6Bare))
46
50
  return 'Blocked IPv6 private range (fc00::/7)';
47
51
  // IPv4-mapped: ::ffff:a.b.c.d — re-validate the embedded IPv4 address
48
- const ipv4MappedMatch = ipv6Bare.match(/^::ffff:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/i);
52
+ const ipv4MappedMatch = /^::ffff:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/i.exec(ipv6Bare);
49
53
  if (ipv4MappedMatch) {
50
54
  const embeddedResult = validateFetchUrl(`http://${ipv4MappedMatch[1]}/`);
51
55
  if (embeddedResult)
@@ -55,7 +59,7 @@ function validateFetchUrl(rawUrl) {
55
59
  // canonicalises ::ffff:10.0.0.1 to ::ffff:a00:1, so a dot-notation regex
56
60
  // alone leaves the SSRF guard wide open. Decode the two hex groups back
57
61
  // into the IPv4 octets and re-validate.
58
- const ipv4MappedHex = ipv6Bare.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i);
62
+ const ipv4MappedHex = /^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i.exec(ipv6Bare);
59
63
  if (ipv4MappedHex) {
60
64
  const high = parseInt(ipv4MappedHex[1], 16);
61
65
  const low = parseInt(ipv4MappedHex[2], 16);
@@ -177,8 +181,7 @@ export function createWebFetchTool(options) {
177
181
  const getResolver = () => {
178
182
  if (options?.dnsResolver)
179
183
  return Promise.resolve(options.dnsResolver);
180
- if (!resolverPromise)
181
- resolverPromise = defaultDnsResolver();
184
+ resolverPromise ??= defaultDnsResolver();
182
185
  return resolverPromise;
183
186
  };
184
187
  return {
@@ -203,7 +206,10 @@ export function createWebFetchTool(options) {
203
206
  let response;
204
207
  for (let hop = 0; hop <= MAX_REDIRECT_HOPS; hop++) {
205
208
  if (hop === MAX_REDIRECT_HOPS) {
206
- return { content: `SSRF check: too many redirects (>${MAX_REDIRECT_HOPS})`, isError: true };
209
+ return {
210
+ content: `SSRF check: too many redirects (>${MAX_REDIRECT_HOPS})`,
211
+ isError: true,
212
+ };
207
213
  }
208
214
  response = await fetch(currentUrl, {
209
215
  signal,
@@ -244,7 +250,9 @@ export function createWebFetchTool(options) {
244
250
  text = text.slice(0, maxChars) + `\n\n[truncated — body size limit reached]`;
245
251
  }
246
252
  else if (text.length > maxChars) {
247
- text = text.slice(0, maxChars) + `\n\n[truncated — ${text.length - maxChars} characters omitted]`;
253
+ text =
254
+ text.slice(0, maxChars) +
255
+ `\n\n[truncated — ${text.length - maxChars} characters omitted]`;
248
256
  }
249
257
  return text || '(empty response)';
250
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"web-fetch.js","sourceRoot":"","sources":["../../../src/tools/builtin/web-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,sDAAsD;AAE/F,gGAAgG;AAChG,SAAS,gBAAgB,CAAC,MAAc;IACtC,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO,mBAAmB,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE3C,kCAAkC;IAClC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACtG,OAAO,qBAAqB,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,sEAAsE;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACxE,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAqC,CAAC;QAC7E,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,0BAA0B,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,kCAAkC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,sCAAsC,CAAC;QAC1E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,qCAAqC,CAAC;QAClF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,2CAA2C,CAAC;QAC/E,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,mBAAmB,CAAC;IAC1C,CAAC;IAED,oDAAoD;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvF,sCAAsC;IACtC,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,6CAA6C,CAAC;IACtF,oDAAoD;IACpD,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,uCAAuC,CAAC;IAC7E,sEAAsE;IACtE,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACzF,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,cAAc,GAAG,gBAAgB,CAAC,UAAU,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,cAAc;YAAE,OAAO,6BAA6B,cAAc,EAAE,CAAC;IAC3E,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,wEAAwE;IACxE,wCAAwC;IACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAClF,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAC5B,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;QACrB,MAAM,cAAc,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvE,IAAI,cAAc;YAAE,OAAO,4CAA4C,cAAc,EAAE,CAAC;IAC1F,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,MAAM,OAAO,GAAG,yBAAyB,CAAC;AAQ1C,KAAK,UAAU,kBAAkB;IAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC9C,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,QAAqB;IACpE,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,mEAAmE;IACnE,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9F,IAAI,CAAC;QACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACpD,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3B,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;SAC5B,CAAC,CAAC;QACH,MAAM,SAAS,GAAa;YAC1B,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;YACrE,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,GAAG;gBAAE,OAAO,0BAA0B,QAAQ,gBAAgB,IAAI,MAAM,GAAG,EAAE,CAAC;QACpF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CACvF,CAAC,CAAC;AAEH,+CAA+C;AAC/C,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI;SACR,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;SAC1C,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;SACxC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAAC,QAAkB;IACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,uEAAuE;YACvE,sEAAsE;YACtE,uEAAuE;YACvE,yEAAyE;YACzE,wEAAwE;YACxE,IAAI,SAAS,GAAG,aAAa,IAAI,cAAc,EAAE,CAAC;gBAChD,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBACrB,gBAAgB,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;YACjC,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC;YAC9B,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,2CAA2C;QAC3C,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAuC;IACxE,IAAI,eAAe,GAAgC,IAAI,CAAC;IACxD,MAAM,WAAW,GAAG,GAAyB,EAAE;QAC7C,IAAI,OAAO,EAAE,WAAW;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,eAAe;YAAE,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7D,OAAO,eAAe,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kFAAkF;QAC/F,UAAU,EAAE,cAAc;QAC1B,iBAAiB,EAAE,IAAI;QACvB,UAAU,EAAE,IAAI;QAEhB,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,MAAmB;YACjD,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,OAAyC,CAAC;YACrE,MAAM,QAAQ,GAAG,SAAS,IAAI,iBAAiB,CAAC;YAEhD,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,OAAO;gBAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAExD,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC1D,IAAI,UAAU;gBAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAE9D,IAAI,CAAC;gBACH,yEAAyE;gBACzE,IAAI,UAAU,GAAG,GAAG,CAAC;gBACrB,IAAI,QAAmB,CAAC;gBAExB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,iBAAiB,EAAE,GAAG,EAAE,EAAE,CAAC;oBAClD,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;wBAC9B,OAAO,EAAE,OAAO,EAAE,oCAAoC,iBAAiB,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBAC9F,CAAC;oBAED,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;wBACjC,MAAM;wBACN,OAAO,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE;wBAC3C,QAAQ,EAAE,QAAQ;qBACnB,CAAC,CAAC;oBAEH,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;wBACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,OAAO,EAAE,OAAO,EAAE,kCAAkC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wBACxE,CAAC;wBACD,IAAI,OAAe,CAAC;wBACpB,IAAI,CAAC;4BACH,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;wBAC/C,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO,EAAE,OAAO,EAAE,iCAAiC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wBACjF,CAAC;wBACD,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;wBAClD,IAAI,eAAe,EAAE,CAAC;4BACpB,OAAO,EAAE,OAAO,EAAE,qBAAqB,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wBAC5E,CAAC;wBACD,UAAU,GAAG,OAAO,CAAC;wBACrB,SAAS;oBACX,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO,EAAE,OAAO,EAAE,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBACvF,CAAC;gBAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC/D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAE9E,IAAI,IAAI,GAAG,OAAO,CAAC;gBACnB,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;gBAED,IAAI,gBAAgB,EAAE,CAAC;oBACrB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,2CAA2C,CAAC;gBAC/E,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;oBAClC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,oBAAoB,IAAI,CAAC,MAAM,GAAG,QAAQ,sBAAsB,CAAC;gBACpG,CAAC;gBAED,OAAO,IAAI,IAAI,kBAAkB,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,OAAO,EAAE,iBAAkB,KAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACjF,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"web-fetch.js","sourceRoot":"","sources":["../../../src/tools/builtin/web-fetch.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * nullable, descriptions, required fields. Max recursion depth: 10.
9
9
  */
10
10
  import { z } from 'zod';
11
- type JsonSchema = {
11
+ interface JsonSchema {
12
12
  type?: string;
13
13
  properties?: Record<string, JsonSchema>;
14
14
  required?: string[];
@@ -20,7 +20,7 @@ type JsonSchema = {
20
20
  description?: string;
21
21
  default?: unknown;
22
22
  [key: string]: unknown;
23
- };
23
+ }
24
24
  /**
25
25
  * Convert a JSON Schema to a Zod schema.
26
26
  * Returns `z.object({}).passthrough()` for undefined/empty input.
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-to-zod.d.ts","sourceRoot":"","sources":["../../src/tools/json-schema-to-zod.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,EAAE,KAAK,SAAI,GAAG,CAAC,CAAC,UAAU,CA2DnF"}
1
+ {"version":3,"file":"json-schema-to-zod.d.ts","sourceRoot":"","sources":["../../src/tools/json-schema-to-zod.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,EAAE,KAAK,SAAI,GAAG,CAAC,CAAC,UAAU,CAyDnF"}
@@ -37,9 +37,7 @@ export function jsonSchemaToZod(schema, depth = 0) {
37
37
  }
38
38
  // Array
39
39
  if (type === 'array') {
40
- const items = schema.items
41
- ? jsonSchemaToZod(schema.items, depth + 1)
42
- : z.unknown();
40
+ const items = schema.items ? jsonSchemaToZod(schema.items, depth + 1) : z.unknown();
43
41
  let arr = z.array(items);
44
42
  if (schema.nullable)
45
43
  arr = arr.nullable();
@@ -110,7 +108,7 @@ function buildEnum(values, nullable) {
110
108
  return e;
111
109
  }
112
110
  // Mixed types — fall back to union of literals
113
- const literals = values.map(v => z.literal(v));
111
+ const literals = values.map((v) => z.literal(v));
114
112
  if (literals.length >= 2) {
115
113
  return z.union(literals);
116
114
  }
@@ -119,7 +117,7 @@ function buildEnum(values, nullable) {
119
117
  function buildUnion(schemas, depth) {
120
118
  // Limit members to prevent DoS via malicious MCP schemas with huge anyOf/oneOf arrays.
121
119
  const limited = schemas.slice(0, MAX_UNION_MEMBERS);
122
- const members = limited.map(s => jsonSchemaToZod(s, depth + 1));
120
+ const members = limited.map((s) => jsonSchemaToZod(s, depth + 1));
123
121
  if (members.length >= 2) {
124
122
  return z.union(members);
125
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-to-zod.js","sourceRoot":"","sources":["../../src/tools/json-schema-to-zod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-to-zod.js","sourceRoot":"","sources":["../../src/tools/json-schema-to-zod.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@ import type { AgentTool } from '../contracts/entities/agent-tool.js';
2
2
  import type { MCPConnectionConfig } from '../config/config.js';
3
3
  import type { ToolExecutor } from './tool-executor.js';
4
4
  export interface MCPHealthStatus {
5
- servers: Array<{
5
+ servers: {
6
6
  name: string;
7
7
  status: 'connected' | 'disconnected' | 'error' | 'reconnecting';
8
8
  lastError?: string;
9
9
  toolCount: number;
10
10
  uptime: number;
11
- }>;
11
+ }[];
12
12
  }
13
13
  /**
14
14
  * Bridges MCP servers to AgentTool instances.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-adapter.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA6DvD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,OAAO,GAAG,cAAc,CAAC;QAChE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAwCD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;gBAEnD,QAAQ,EAAE,YAAY;IAIlC;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA6ChE;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7C;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAOpC;;OAEG;IACH,SAAS,IAAI,eAAe;IAY5B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,mEAAmE;IACnE,cAAc,IAAI,iBAAiB,EAAE;IASrC,sCAAsC;IACtC,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;IAIxC,8CAA8C;IACxC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAgB/D,8CAA8C;IACxC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBpE,qEAAqE;IAC/D,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiCvF,OAAO,CAAC,WAAW;IAiFnB;;;;OAIG;YACW,mBAAmB;YA4CnB,WAAW;IAkBzB,OAAO,CAAC,gBAAgB;CAoCzB"}
1
+ {"version":3,"file":"mcp-adapter.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAyEvD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,OAAO,GAAG,cAAc,CAAC;QAChE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;CACL;AA4CD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;gBAEnD,QAAQ,EAAE,YAAY;IAIlC;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA6ChE;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7C;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAOpC;;OAEG;IACH,SAAS,IAAI,eAAe;IAY5B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,mEAAmE;IACnE,cAAc,IAAI,iBAAiB,EAAE;IASrC,sCAAsC;IACtC,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;IAIxC,8CAA8C;IACxC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkB/D,8CAA8C;IACxC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBpE,qEAAqE;IAC/D,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwCvF,OAAO,CAAC,WAAW;IAwFnB;;;;OAIG;YACW,mBAAmB;YA+CnB,WAAW;IAkBzB,OAAO,CAAC,gBAAgB;CAoCzB"}
@@ -19,19 +19,23 @@ class MCPInvalidShapeError extends ZodError {
19
19
  }
20
20
  /** Validated shape of listResources server response. */
21
21
  const ListResourcesResultSchema = z.object({
22
- resources: z.array(z.object({
22
+ resources: z.array(z
23
+ .object({
23
24
  uri: z.string(),
24
25
  name: z.string(),
25
26
  mimeType: z.string().optional(),
26
27
  description: z.string().optional(),
27
- }).passthrough()),
28
+ })
29
+ .passthrough()),
28
30
  });
29
31
  /** Validated shape of readResource server response. */
30
32
  const ReadResourceResultSchema = z.object({
31
- contents: z.array(z.object({
33
+ contents: z.array(z
34
+ .object({
32
35
  text: z.string().optional(),
33
36
  uri: z.string(),
34
- }).passthrough()),
37
+ })
38
+ .passthrough()),
35
39
  });
36
40
  /** Validated shape of getPrompt server response. */
37
41
  const GetPromptResultSchema = z.object({
@@ -44,13 +48,15 @@ const GetPromptResultSchema = z.object({
44
48
  })),
45
49
  });
46
50
  /** Shape of the content array returned from MCP server tool calls. */
47
- const MCPToolContentSchema = z.array(z.object({
51
+ const MCPToolContentSchema = z.array(z
52
+ .object({
48
53
  type: z.string(),
49
54
  text: z.string().optional(),
50
55
  data: z.string().optional(),
51
56
  mimeType: z.string().optional(),
52
57
  uri: z.string().optional(),
53
- }).passthrough());
58
+ })
59
+ .passthrough());
54
60
  export class MCPAdapter {
55
61
  executor;
56
62
  connections = new Map();
@@ -73,7 +79,7 @@ export class MCPAdapter {
73
79
  // List tools from server
74
80
  const { tools: mcpTools } = await client.listTools();
75
81
  // Convert MCP tools to AgentTools
76
- const agentTools = mcpTools.map(mcpTool => this.convertTool(config.name, mcpTool, client, config));
82
+ const agentTools = mcpTools.map((mcpTool) => this.convertTool(config.name, mcpTool, client, config));
77
83
  // Register tools in executor
78
84
  for (const tool of agentTools) {
79
85
  this.executor.register(tool);
@@ -84,7 +90,7 @@ export class MCPAdapter {
84
90
  config,
85
91
  client,
86
92
  transport,
87
- toolNames: agentTools.map(t => t.name),
93
+ toolNames: agentTools.map((t) => t.name),
88
94
  connectedAt: Date.now(),
89
95
  status: 'connected',
90
96
  };
@@ -132,7 +138,7 @@ export class MCPAdapter {
132
138
  */
133
139
  getHealth() {
134
140
  return {
135
- servers: [...this.connections.values()].map(conn => ({
141
+ servers: [...this.connections.values()].map((conn) => ({
136
142
  name: conn.name,
137
143
  status: conn.status,
138
144
  lastError: conn.lastError,
@@ -146,7 +152,7 @@ export class MCPAdapter {
146
152
  }
147
153
  /** Get connection info for all servers (for context injection). */
148
154
  getConnections() {
149
- return [...this.connections.values()].map(conn => ({
155
+ return [...this.connections.values()].map((conn) => ({
150
156
  name: conn.name,
151
157
  status: conn.status,
152
158
  instructions: conn.instructions,
@@ -160,14 +166,14 @@ export class MCPAdapter {
160
166
  /** List resources from a connected server. */
161
167
  async listResources(serverName) {
162
168
  const conn = this.connections.get(serverName);
163
- if (!conn || conn.status !== 'connected')
169
+ if (conn?.status !== 'connected')
164
170
  return [];
165
171
  try {
166
172
  const raw = await conn.client.listResources?.();
167
173
  if (!raw)
168
174
  return [];
169
175
  const parsed = ListResourcesResultSchema.parse(raw);
170
- return parsed.resources.map(r => ({ ...r, serverName }));
176
+ return parsed.resources.map((r) => ({ ...r, serverName }));
171
177
  }
172
178
  catch {
173
179
  return [];
@@ -176,7 +182,7 @@ export class MCPAdapter {
176
182
  /** Read a specific resource from a server. */
177
183
  async readResource(serverName, uri) {
178
184
  const conn = this.connections.get(serverName);
179
- if (!conn || conn.status !== 'connected') {
185
+ if (conn?.status !== 'connected') {
180
186
  throw new Error(`MCP server "${serverName}" not connected`);
181
187
  }
182
188
  const raw = await conn.client.readResource?.({ uri });
@@ -186,12 +192,12 @@ export class MCPAdapter {
186
192
  if (!result.success) {
187
193
  throw new MCPInvalidShapeError(result.error.issues, `invalid resource shape from MCP server "${serverName}"`);
188
194
  }
189
- return result.data.contents.map(c => c.text ?? `[Binary: ${c.uri}]`).join('\n');
195
+ return result.data.contents.map((c) => c.text ?? `[Binary: ${c.uri}]`).join('\n');
190
196
  }
191
197
  /** Fetch and return a prompt from a server (for skill getPrompt). */
192
198
  async getPrompt(serverName, promptName, args) {
193
199
  const conn = this.connections.get(serverName);
194
- if (!conn || conn.status !== 'connected') {
200
+ if (conn?.status !== 'connected') {
195
201
  throw new Error(`MCP server "${serverName}" not connected`);
196
202
  }
197
203
  const parsedArgs = {};
@@ -209,10 +215,12 @@ export class MCPAdapter {
209
215
  if (!result.success) {
210
216
  throw new MCPInvalidShapeError(result.error.issues, `invalid prompt shape from MCP server "${serverName}"`);
211
217
  }
212
- return result.data.messages.map(m => {
213
- const content = typeof m.content === 'string' ? m.content : m.content.text ?? '';
218
+ return result.data.messages
219
+ .map((m) => {
220
+ const content = typeof m.content === 'string' ? m.content : (m.content.text ?? '');
214
221
  return content;
215
- }).join('\n');
222
+ })
223
+ .join('\n');
216
224
  }
217
225
  convertTool(serverName, mcpTool, client, config) {
218
226
  const safeServerName = serverName.replace(/__/g, '_');
@@ -242,7 +250,9 @@ export class MCPAdapter {
242
250
  controller.signal.addEventListener('abort', () => reject(new Error(`MCP tool "${mcpTool.name}" timed out after ${timeout}ms`)), { once: true });
243
251
  });
244
252
  const result = await Promise.race([
245
- client.callTool({ name: mcpTool.name, arguments: args }, undefined, { signal: controller.signal }),
253
+ client.callTool({ name: mcpTool.name, arguments: args }, undefined, {
254
+ signal: controller.signal,
255
+ }),
246
256
  timeoutPromise,
247
257
  ]);
248
258
  // Validate the response shape — untrusted MCP servers may return malformed content.
@@ -251,13 +261,13 @@ export class MCPAdapter {
251
261
  return { content: 'MCP tool returned invalid content shape', isError: true };
252
262
  }
253
263
  // Handle mixed content types (text, image, resource)
254
- const parts = parsedContent.data.map(c => {
264
+ const parts = parsedContent.data.map((c) => {
255
265
  if (c.type === 'text' && typeof c.text === 'string')
256
266
  return c.text;
257
267
  if (c.type === 'image') {
258
268
  const mime = c.mimeType ?? 'unknown';
259
269
  const dataLen = typeof c.data === 'string' ? c.data.length : 0;
260
- const sizeKB = Math.round(dataLen * 0.75 / 1024);
270
+ const sizeKB = Math.round((dataLen * 0.75) / 1024);
261
271
  return `[Image: ${mime}, ~${sizeKB}KB]`;
262
272
  }
263
273
  if (c.type === 'resource')
@@ -307,7 +317,9 @@ export class MCPAdapter {
307
317
  }
308
318
  }
309
319
  // Auto-detect: try StreamableHTTP first, fall back to SSE
310
- const requestInit = config.headers ? { headers: config.headers } : undefined;
320
+ const requestInit = config.headers
321
+ ? { headers: config.headers }
322
+ : undefined;
311
323
  const client1 = new Client({ name: `agentx-${config.name}`, version: '0.1.0' });
312
324
  const { StreamableHTTPClientTransport } = await import('@modelcontextprotocol/sdk/client/streamableHttp.js');
313
325
  const httpTransport = new StreamableHTTPClientTransport(new URL(config.url), { requestInit });
@@ -393,7 +405,9 @@ async function loadSDK() {
393
405
  try {
394
406
  const mod = await import('@modelcontextprotocol/sdk/client/index.js');
395
407
  // Cast needed because MCP SDK types are broader than our minimal MCPClient interface
396
- return { Client: mod.Client };
408
+ return {
409
+ Client: mod.Client,
410
+ };
397
411
  }
398
412
  catch {
399
413
  throw new Error('Install @modelcontextprotocol/sdk to use MCP connections: npm install @modelcontextprotocol/sdk');
@@ -405,7 +419,9 @@ async function closeTransportQuietly(transport) {
405
419
  if (t && typeof t.close === 'function')
406
420
  await Promise.resolve(t.close());
407
421
  }
408
- catch { /* best-effort cleanup */ }
422
+ catch {
423
+ /* best-effort cleanup */
424
+ }
409
425
  }
410
426
  async function createTransport(config) {
411
427
  const requestInit = config.headers