orbitx 0.2.6 → 0.2.7

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 (263) hide show
  1. package/dist/core/agent-providers.d.ts +15 -10
  2. package/dist/core/agent-providers.d.ts.map +1 -1
  3. package/dist/core/agent-providers.js +65 -15
  4. package/dist/core/agent-providers.js.map +1 -1
  5. package/dist/core/ai-provider.d.ts +52 -2
  6. package/dist/core/ai-provider.d.ts.map +1 -1
  7. package/dist/core/ai-provider.js.map +1 -1
  8. package/dist/core/anthropic-provider.d.ts +5 -0
  9. package/dist/core/anthropic-provider.d.ts.map +1 -1
  10. package/dist/core/anthropic-provider.js +100 -17
  11. package/dist/core/anthropic-provider.js.map +1 -1
  12. package/dist/core/base-agent.d.ts +19 -41
  13. package/dist/core/base-agent.d.ts.map +1 -1
  14. package/dist/core/base-agent.js +112 -136
  15. package/dist/core/base-agent.js.map +1 -1
  16. package/dist/core/deepseek-provider.d.ts +3 -0
  17. package/dist/core/deepseek-provider.d.ts.map +1 -1
  18. package/dist/core/deepseek-provider.js +59 -12
  19. package/dist/core/deepseek-provider.js.map +1 -1
  20. package/dist/core/mcp-client.d.ts +10 -2
  21. package/dist/core/mcp-client.d.ts.map +1 -1
  22. package/dist/core/mcp-client.js +28 -4
  23. package/dist/core/mcp-client.js.map +1 -1
  24. package/dist/core/mcp-server.d.ts +5 -1
  25. package/dist/core/mcp-server.d.ts.map +1 -1
  26. package/dist/core/mcp-server.js +31 -1
  27. package/dist/core/mcp-server.js.map +1 -1
  28. package/dist/core/mcp.d.ts +9 -23
  29. package/dist/core/mcp.d.ts.map +1 -1
  30. package/dist/core/mcp.js +1 -24
  31. package/dist/core/mcp.js.map +1 -1
  32. package/dist/core/ollama-provider.d.ts +3 -0
  33. package/dist/core/ollama-provider.d.ts.map +1 -1
  34. package/dist/core/ollama-provider.js +31 -7
  35. package/dist/core/ollama-provider.js.map +1 -1
  36. package/dist/core/openai-provider.d.ts +3 -0
  37. package/dist/core/openai-provider.d.ts.map +1 -1
  38. package/dist/core/openai-provider.js +51 -8
  39. package/dist/core/openai-provider.js.map +1 -1
  40. package/dist/core/skill.d.ts +2 -2
  41. package/dist/core/skill.d.ts.map +1 -1
  42. package/dist/index.d.ts +13 -20
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +9 -10
  45. package/dist/index.js.map +1 -1
  46. package/dist/templates/simple.d.ts +8 -12
  47. package/dist/templates/simple.d.ts.map +1 -1
  48. package/dist/templates/simple.js +6 -10
  49. package/dist/templates/simple.js.map +1 -1
  50. package/dist/tests/tools/agent/agent-tools.test.js +20 -17
  51. package/dist/tests/tools/agent/agent-tools.test.js.map +1 -1
  52. package/dist/tests/tools/question-answer/question-answer.test.js +1 -11
  53. package/dist/tests/tools/question-answer/question-answer.test.js.map +1 -1
  54. package/dist/tests/tools/utils/read-image.test.js +29 -17
  55. package/dist/tests/tools/utils/read-image.test.js.map +1 -1
  56. package/dist/tools/agent/hire.d.ts +1 -2
  57. package/dist/tools/agent/hire.d.ts.map +1 -1
  58. package/dist/tools/agent/hire.js +1 -4
  59. package/dist/tools/agent/hire.js.map +1 -1
  60. package/dist/tools/agent/index.d.ts +1 -3
  61. package/dist/tools/agent/index.d.ts.map +1 -1
  62. package/dist/tools/agent/index.js +0 -1
  63. package/dist/tools/agent/index.js.map +1 -1
  64. package/dist/tools/agent/list.d.ts +1 -1
  65. package/dist/tools/agent/list.d.ts.map +1 -1
  66. package/dist/tools/agent/prompt.d.ts +1 -2
  67. package/dist/tools/agent/prompt.d.ts.map +1 -1
  68. package/dist/tools/agent/prompt.js +11 -7
  69. package/dist/tools/agent/prompt.js.map +1 -1
  70. package/dist/tools/agent/report.d.ts +1 -1
  71. package/dist/tools/agent/report.d.ts.map +1 -1
  72. package/dist/tools/bash/index.d.ts +1 -3
  73. package/dist/tools/bash/index.d.ts.map +1 -1
  74. package/dist/tools/bash/index.js +0 -1
  75. package/dist/tools/bash/index.js.map +1 -1
  76. package/dist/tools/bash/list.d.ts +1 -1
  77. package/dist/tools/bash/list.d.ts.map +1 -1
  78. package/dist/tools/bash/list.js +1 -1
  79. package/dist/tools/bash/list.js.map +1 -1
  80. package/dist/tools/bash/logs.d.ts +1 -1
  81. package/dist/tools/bash/logs.d.ts.map +1 -1
  82. package/dist/tools/bash/logs.js +1 -1
  83. package/dist/tools/bash/logs.js.map +1 -1
  84. package/dist/tools/bash/run.d.ts +1 -2
  85. package/dist/tools/bash/run.d.ts.map +1 -1
  86. package/dist/tools/bash/run.js +1 -7
  87. package/dist/tools/bash/run.js.map +1 -1
  88. package/dist/tools/bash/terminate.d.ts +1 -2
  89. package/dist/tools/bash/terminate.d.ts.map +1 -1
  90. package/dist/tools/bash/terminate.js +1 -4
  91. package/dist/tools/bash/terminate.js.map +1 -1
  92. package/dist/tools/bash/wait.d.ts +1 -2
  93. package/dist/tools/bash/wait.d.ts.map +1 -1
  94. package/dist/tools/bash/wait.js +1 -7
  95. package/dist/tools/bash/wait.js.map +1 -1
  96. package/dist/tools/bash/write-input.d.ts +1 -2
  97. package/dist/tools/bash/write-input.d.ts.map +1 -1
  98. package/dist/tools/bash/write-input.js +1 -4
  99. package/dist/tools/bash/write-input.js.map +1 -1
  100. package/dist/tools/browser/click.d.ts +1 -2
  101. package/dist/tools/browser/click.d.ts.map +1 -1
  102. package/dist/tools/browser/click.js +1 -4
  103. package/dist/tools/browser/click.js.map +1 -1
  104. package/dist/tools/browser/console.d.ts +1 -1
  105. package/dist/tools/browser/console.d.ts.map +1 -1
  106. package/dist/tools/browser/create-session.d.ts +1 -2
  107. package/dist/tools/browser/create-session.d.ts.map +1 -1
  108. package/dist/tools/browser/create-session.js +1 -4
  109. package/dist/tools/browser/create-session.js.map +1 -1
  110. package/dist/tools/browser/fill.d.ts +1 -2
  111. package/dist/tools/browser/fill.d.ts.map +1 -1
  112. package/dist/tools/browser/fill.js +1 -4
  113. package/dist/tools/browser/fill.js.map +1 -1
  114. package/dist/tools/browser/get-sessions.d.ts +1 -1
  115. package/dist/tools/browser/get-sessions.d.ts.map +1 -1
  116. package/dist/tools/browser/index.d.ts +1 -3
  117. package/dist/tools/browser/index.d.ts.map +1 -1
  118. package/dist/tools/browser/index.js +0 -1
  119. package/dist/tools/browser/index.js.map +1 -1
  120. package/dist/tools/browser/inject.d.ts +1 -2
  121. package/dist/tools/browser/inject.d.ts.map +1 -1
  122. package/dist/tools/browser/inject.js +1 -4
  123. package/dist/tools/browser/inject.js.map +1 -1
  124. package/dist/tools/browser/navigate.d.ts +1 -2
  125. package/dist/tools/browser/navigate.d.ts.map +1 -1
  126. package/dist/tools/browser/navigate.js +1 -4
  127. package/dist/tools/browser/navigate.js.map +1 -1
  128. package/dist/tools/browser/network-status.d.ts +1 -1
  129. package/dist/tools/browser/network-status.d.ts.map +1 -1
  130. package/dist/tools/browser/network.d.ts +1 -1
  131. package/dist/tools/browser/network.d.ts.map +1 -1
  132. package/dist/tools/browser/read.d.ts +1 -2
  133. package/dist/tools/browser/read.d.ts.map +1 -1
  134. package/dist/tools/browser/read.js +1 -4
  135. package/dist/tools/browser/read.js.map +1 -1
  136. package/dist/tools/browser/remove-session.d.ts +1 -2
  137. package/dist/tools/browser/remove-session.d.ts.map +1 -1
  138. package/dist/tools/browser/remove-session.js +1 -4
  139. package/dist/tools/browser/remove-session.js.map +1 -1
  140. package/dist/tools/browser/screenshot.d.ts +1 -2
  141. package/dist/tools/browser/screenshot.d.ts.map +1 -1
  142. package/dist/tools/browser/screenshot.js +16 -15
  143. package/dist/tools/browser/screenshot.js.map +1 -1
  144. package/dist/tools/browser/scroll-info.d.ts +1 -1
  145. package/dist/tools/browser/scroll-info.d.ts.map +1 -1
  146. package/dist/tools/browser/scroll.d.ts +1 -2
  147. package/dist/tools/browser/scroll.d.ts.map +1 -1
  148. package/dist/tools/browser/scroll.js +1 -4
  149. package/dist/tools/browser/scroll.js.map +1 -1
  150. package/dist/tools/browser/submit-form.d.ts +1 -2
  151. package/dist/tools/browser/submit-form.d.ts.map +1 -1
  152. package/dist/tools/browser/submit-form.js +1 -4
  153. package/dist/tools/browser/submit-form.js.map +1 -1
  154. package/dist/tools/fs/create-dir.d.ts +1 -2
  155. package/dist/tools/fs/create-dir.d.ts.map +1 -1
  156. package/dist/tools/fs/create-dir.js +1 -4
  157. package/dist/tools/fs/create-dir.js.map +1 -1
  158. package/dist/tools/fs/delete.d.ts +1 -2
  159. package/dist/tools/fs/delete.d.ts.map +1 -1
  160. package/dist/tools/fs/delete.js +1 -4
  161. package/dist/tools/fs/delete.js.map +1 -1
  162. package/dist/tools/fs/edit-file.d.ts +1 -2
  163. package/dist/tools/fs/edit-file.d.ts.map +1 -1
  164. package/dist/tools/fs/edit-file.js +1 -4
  165. package/dist/tools/fs/edit-file.js.map +1 -1
  166. package/dist/tools/fs/index.d.ts +1 -3
  167. package/dist/tools/fs/index.d.ts.map +1 -1
  168. package/dist/tools/fs/index.js +0 -1
  169. package/dist/tools/fs/index.js.map +1 -1
  170. package/dist/tools/fs/list-dir.d.ts +1 -2
  171. package/dist/tools/fs/list-dir.d.ts.map +1 -1
  172. package/dist/tools/fs/list-dir.js +1 -4
  173. package/dist/tools/fs/list-dir.js.map +1 -1
  174. package/dist/tools/fs/move.d.ts +1 -2
  175. package/dist/tools/fs/move.d.ts.map +1 -1
  176. package/dist/tools/fs/move.js +1 -4
  177. package/dist/tools/fs/move.js.map +1 -1
  178. package/dist/tools/fs/read-file.d.ts +1 -2
  179. package/dist/tools/fs/read-file.d.ts.map +1 -1
  180. package/dist/tools/fs/read-file.js +1 -4
  181. package/dist/tools/fs/read-file.js.map +1 -1
  182. package/dist/tools/fs/stat.d.ts +1 -2
  183. package/dist/tools/fs/stat.d.ts.map +1 -1
  184. package/dist/tools/fs/stat.js +1 -4
  185. package/dist/tools/fs/stat.js.map +1 -1
  186. package/dist/tools/fs/write-file.d.ts +1 -2
  187. package/dist/tools/fs/write-file.d.ts.map +1 -1
  188. package/dist/tools/fs/write-file.js +1 -4
  189. package/dist/tools/fs/write-file.js.map +1 -1
  190. package/dist/tools/present/add.d.ts +1 -2
  191. package/dist/tools/present/add.d.ts.map +1 -1
  192. package/dist/tools/present/add.js +1 -4
  193. package/dist/tools/present/add.js.map +1 -1
  194. package/dist/tools/present/clear.d.ts +1 -2
  195. package/dist/tools/present/clear.d.ts.map +1 -1
  196. package/dist/tools/present/clear.js +1 -4
  197. package/dist/tools/present/clear.js.map +1 -1
  198. package/dist/tools/present/get-list.d.ts +1 -2
  199. package/dist/tools/present/get-list.d.ts.map +1 -1
  200. package/dist/tools/present/get-list.js +0 -2
  201. package/dist/tools/present/get-list.js.map +1 -1
  202. package/dist/tools/present/index.d.ts +1 -3
  203. package/dist/tools/present/index.d.ts.map +1 -1
  204. package/dist/tools/present/index.js +0 -1
  205. package/dist/tools/present/index.js.map +1 -1
  206. package/dist/tools/question-answer/index.d.ts +1 -3
  207. package/dist/tools/question-answer/index.d.ts.map +1 -1
  208. package/dist/tools/question-answer/index.js +0 -1
  209. package/dist/tools/question-answer/index.js.map +1 -1
  210. package/dist/tools/question-answer/question-answer.d.ts +1 -2
  211. package/dist/tools/question-answer/question-answer.d.ts.map +1 -1
  212. package/dist/tools/question-answer/question-answer.js +1 -4
  213. package/dist/tools/question-answer/question-answer.js.map +1 -1
  214. package/dist/tools/todo/check-task.d.ts +1 -2
  215. package/dist/tools/todo/check-task.d.ts.map +1 -1
  216. package/dist/tools/todo/check-task.js +1 -4
  217. package/dist/tools/todo/check-task.js.map +1 -1
  218. package/dist/tools/todo/create-list.d.ts +1 -2
  219. package/dist/tools/todo/create-list.d.ts.map +1 -1
  220. package/dist/tools/todo/create-list.js +1 -4
  221. package/dist/tools/todo/create-list.js.map +1 -1
  222. package/dist/tools/todo/create-task.d.ts +1 -2
  223. package/dist/tools/todo/create-task.d.ts.map +1 -1
  224. package/dist/tools/todo/create-task.js +1 -4
  225. package/dist/tools/todo/create-task.js.map +1 -1
  226. package/dist/tools/todo/get-list.d.ts +1 -1
  227. package/dist/tools/todo/get-list.d.ts.map +1 -1
  228. package/dist/tools/todo/get-list.js +1 -1
  229. package/dist/tools/todo/get-list.js.map +1 -1
  230. package/dist/tools/todo/get-lists.d.ts +1 -1
  231. package/dist/tools/todo/get-lists.d.ts.map +1 -1
  232. package/dist/tools/todo/get-lists.js +1 -1
  233. package/dist/tools/todo/get-lists.js.map +1 -1
  234. package/dist/tools/todo/index.d.ts +1 -3
  235. package/dist/tools/todo/index.d.ts.map +1 -1
  236. package/dist/tools/todo/index.js +0 -1
  237. package/dist/tools/todo/index.js.map +1 -1
  238. package/dist/tools/todo/remove-list.d.ts +1 -2
  239. package/dist/tools/todo/remove-list.d.ts.map +1 -1
  240. package/dist/tools/todo/remove-list.js +1 -4
  241. package/dist/tools/todo/remove-list.js.map +1 -1
  242. package/dist/tools/todo/remove-task.d.ts +1 -2
  243. package/dist/tools/todo/remove-task.d.ts.map +1 -1
  244. package/dist/tools/todo/remove-task.js +1 -4
  245. package/dist/tools/todo/remove-task.js.map +1 -1
  246. package/dist/tools/utils/delay.d.ts +1 -1
  247. package/dist/tools/utils/delay.d.ts.map +1 -1
  248. package/dist/tools/utils/get-current-time.d.ts +1 -1
  249. package/dist/tools/utils/get-current-time.d.ts.map +1 -1
  250. package/dist/tools/utils/index.d.ts +1 -1
  251. package/dist/tools/utils/index.d.ts.map +1 -1
  252. package/dist/tools/utils/read-image.d.ts +12 -7
  253. package/dist/tools/utils/read-image.d.ts.map +1 -1
  254. package/dist/tools/utils/read-image.js +27 -17
  255. package/dist/tools/utils/read-image.js.map +1 -1
  256. package/docs/agents.md +50 -25
  257. package/docs/api-reference.md +12 -13
  258. package/docs/getting-started.md +2 -2
  259. package/docs/mcp-architecture.md +14 -2
  260. package/docs/providers.md +114 -15
  261. package/docs/streaming.md +19 -2
  262. package/docs/tools.md +41 -8
  263. package/package.json +1 -1
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { BrowserInteraction } from "./interaction.js";
3
- export declare const BrowserRemoveSessionTool: () => MCPTool<BrowserInteraction>;
2
+ export declare const BrowserRemoveSessionTool: () => MCPTool;
4
3
  export default BrowserRemoveSessionTool;
5
4
  //# sourceMappingURL=remove-session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove-session.d.ts","sourceRoot":"","sources":["../../../src/tools/browser/remove-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,eAAO,MAAM,wBAAwB,mCAgCnC,CAAC;AAEH,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"remove-session.d.ts","sourceRoot":"","sources":["../../../src/tools/browser/remove-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,eAAO,MAAM,wBAAwB,eA6BnC,CAAC;AAEH,eAAe,wBAAwB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { BrowserInteraction } from "./interaction.js";
3
2
  import { removeSession } from "./session-manager.js";
4
3
  export const BrowserRemoveSessionTool = () => new MCPTool({
5
4
  name: "browser-remove-session",
@@ -12,14 +11,12 @@ export const BrowserRemoveSessionTool = () => new MCPTool({
12
11
  required: true,
13
12
  },
14
13
  ],
15
- customClass: new BrowserInteraction(),
16
- execute: async (_envID, inputs, _mcp, customClass) => {
14
+ execute: async (_envID, inputs, _toolCallId, _mcp) => {
17
15
  const { sessionId } = inputs;
18
16
  if (!sessionId || typeof sessionId !== "string") {
19
17
  throw new Error("sessionId must be a non-empty string");
20
18
  }
21
19
  await removeSession(sessionId);
22
- customClass?.emitBrowserEvent({ type: "session-removed", sessionId });
23
20
  return {
24
21
  message: "success",
25
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"remove-session.js","sourceRoot":"","sources":["../../../src/tools/browser/remove-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAqB;IAC1E,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,WAAW,EAAE,IAAI,kBAAkB,EAAE;IACrC,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,IAAU,EACV,WAAgC,EACpB,EAAE;QACd,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE7B,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;QAE/B,WAAW,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC;QAEtE,OAAO;YACH,OAAO,EAAE,SAAS;SACrB,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"remove-session.js","sourceRoot":"","sources":["../../../src/tools/browser/remove-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC;IACtD,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,WAAoB,EACpB,IAAU,EACE,EAAE;QACd,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE7B,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;QAE/B,OAAO;YACH,OAAO,EAAE,SAAS;SACrB,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,wBAAwB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { BrowserInteraction } from "./interaction.js";
3
- export declare const BrowserScreenshotTool: () => MCPTool<BrowserInteraction>;
2
+ export declare const BrowserScreenshotTool: () => MCPTool;
4
3
  export default BrowserScreenshotTool;
5
4
  //# sourceMappingURL=screenshot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../src/tools/browser/screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,eAAO,MAAM,qBAAqB,mCAsDhC,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../src/tools/browser/screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,qBAAqB,eA0DhC,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
@@ -1,11 +1,9 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { BrowserInteraction } from "./interaction.js";
3
2
  import { getSession } from "./session-manager.js";
4
3
  export const BrowserScreenshotTool = () => new MCPTool({
5
4
  name: "browser-screenshot",
6
- description: "capture a screenshot of the current page in a browser session. " +
7
- "returns an image tool-output — depending on how the agent is configured, the raw image may be handed directly to the model, or first described by a separate image-capable AI so the main conversation doesn't have to carry image bytes. " +
8
- "use `focusHint` to tell that description step what you actually care about (e.g. 'look for any red error banner or visually broken layout'), so the resulting description is useful for your task instead of a generic caption.",
5
+ description: "capture a screenshot of the current page in a browser session and get back a text description of it. " +
6
+ "use `focusHint` to tell the description step what you actually care about (e.g. 'look for any red error banner or visually broken layout'), so the resulting description is useful for your task instead of a generic caption.",
9
7
  inputs: [
10
8
  {
11
9
  name: "sessionId",
@@ -27,23 +25,26 @@ export const BrowserScreenshotTool = () => new MCPTool({
27
25
  required: false,
28
26
  },
29
27
  ],
30
- customClass: new BrowserInteraction(),
31
- execute: async (_envID, inputs, _mcp, customClass) => {
28
+ execute: async (_envID, inputs, toolCallId, mcp) => {
32
29
  const { sessionId, fullPage = false, focusHint } = inputs;
33
30
  if (!sessionId || typeof sessionId !== "string") {
34
31
  throw new Error("sessionId must be a non-empty string");
35
32
  }
36
- customClass?.emitBrowserEvent({ type: "screenshotting", sessionId });
37
33
  const session = getSession(sessionId);
38
34
  const image = await session.page.screenshot({ encoding: "base64", fullPage, type: "png" });
39
- return {
40
- type: "image",
41
- output: {
42
- image,
43
- mimeType: "image/png",
44
- ...(focusHint ? { focusHint } : {}),
45
- },
46
- };
35
+ if (!mcp || !toolCallId) {
36
+ throw new Error("browser-screenshot requires an MCP context");
37
+ }
38
+ const instruction = focusHint
39
+ ? `Describe this screenshot concisely for another AI agent that cannot see it. Focus specifically on: ${focusHint}`
40
+ : "Describe this screenshot concisely for another AI agent that cannot see it. Mention layout, visible text, colors, and anything that looks unusual or broken.";
41
+ const { output } = await mcp.executeProvider(toolCallId, "image-describer", {
42
+ parts: [
43
+ { type: "text", text: instruction },
44
+ { type: "image", image, mimeType: "image/png" },
45
+ ],
46
+ });
47
+ return { description: output.content };
47
48
  },
48
49
  });
49
50
  export default BrowserScreenshotTool;
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../src/tools/browser/screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAqB;IACvE,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACP,iEAAiE;QACjE,4OAA4O;QAC5O,iOAAiO;IACrO,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,uEAAuE;YACpF,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACjB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sGAAsG;YACnH,QAAQ,EAAE,KAAK;SAClB;KACJ;IACD,WAAW,EAAE,IAAI,kBAAkB,EAAE;IACrC,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,IAAU,EACV,WAAgC,EACpB,EAAE;QACd,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE1D,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,WAAW,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3F,OAAO;YACH,IAAI,EAAE,OAAO;YACb,MAAM,EAAE;gBACJ,KAAK;gBACL,QAAQ,EAAE,WAAW;gBACrB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC;SACJ,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../src/tools/browser/screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC;IACnD,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACP,uGAAuG;QACvG,gOAAgO;IACpO,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,uEAAuE;YACpF,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACjB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sGAAsG;YACnH,QAAQ,EAAE,KAAK;SAClB;KACJ;IACD,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,UAAmB,EACnB,GAAS,EACG,EAAE;QACd,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE1D,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3F,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,WAAW,GAAG,SAAS;YACzB,CAAC,CAAC,sGAAsG,SAAS,EAAE;YACnH,CAAC,CAAC,8JAA8J,CAAC;QAErK,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,iBAAiB,EAAE;YACxE,KAAK,EAAE;gBACH,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;gBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE;aAClD;SACJ,CAAC,CAAC;QAEH,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- export declare const BrowserScrollInfoTool: () => MCPTool<undefined>;
2
+ export declare const BrowserScrollInfoTool: () => MCPTool;
3
3
  export default BrowserScrollInfoTool;
4
4
  //# sourceMappingURL=scroll-info.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-info.d.ts","sourceRoot":"","sources":["../../../src/tools/browser/scroll-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,eAAO,MAAM,qBAAqB,0BA2BhC,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"scroll-info.d.ts","sourceRoot":"","sources":["../../../src/tools/browser/scroll-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,eAAO,MAAM,qBAAqB,eA2BhC,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { BrowserInteraction } from "./interaction.js";
3
- export declare const BrowserScrollTool: () => MCPTool<BrowserInteraction>;
2
+ export declare const BrowserScrollTool: () => MCPTool;
4
3
  export default BrowserScrollTool;
5
4
  //# sourceMappingURL=scroll.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/tools/browser/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,eAAO,MAAM,iBAAiB,mCAgD5B,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/tools/browser/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,eAAO,MAAM,iBAAiB,eA6C5B,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { BrowserInteraction } from "./interaction.js";
3
2
  import { getSession } from "./session-manager.js";
4
3
  export const BrowserScrollTool = () => new MCPTool({
5
4
  name: "browser-scroll",
@@ -18,8 +17,7 @@ export const BrowserScrollTool = () => new MCPTool({
18
17
  required: true,
19
18
  },
20
19
  ],
21
- customClass: new BrowserInteraction(),
22
- execute: async (_envID, inputs, _mcp, customClass) => {
20
+ execute: async (_envID, inputs, _toolCallId, _mcp) => {
23
21
  const { sessionId, position } = inputs;
24
22
  if (!sessionId || typeof sessionId !== "string") {
25
23
  throw new Error("sessionId must be a non-empty string");
@@ -27,7 +25,6 @@ export const BrowserScrollTool = () => new MCPTool({
27
25
  if (typeof position !== "number" || !Number.isFinite(position)) {
28
26
  throw new Error("position must be a number");
29
27
  }
30
- customClass?.emitBrowserEvent({ type: "scrolling", sessionId, position });
31
28
  const session = getSession(sessionId);
32
29
  const info = await session.page.evaluate((pos) => {
33
30
  window.scrollTo(0, pos);
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/tools/browser/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAqB;IACnE,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,0DAA0D;IACvE,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,WAAW,EAAE,IAAI,kBAAkB,EAAE;IACrC,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,IAAU,EACV,WAAgC,EACpB,EAAE;QACd,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAEvC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QAED,WAAW,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE1E,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE;YACrD,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxB,OAAO;gBACH,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY;gBAC7C,QAAQ,EAAE,MAAM,CAAC,OAAO;aAC3B,CAAC;QACN,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEb,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/tools/browser/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC;IAC/C,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,0DAA0D;IACvE,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,WAAoB,EACpB,IAAU,EACE,EAAE;QACd,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAEvC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE;YACrD,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxB,OAAO;gBACH,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY;gBAC7C,QAAQ,EAAE,MAAM,CAAC,OAAO;aAC3B,CAAC;QACN,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEb,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { BrowserInteraction } from "./interaction.js";
3
- export declare const BrowserSubmitFormTool: () => MCPTool<BrowserInteraction>;
2
+ export declare const BrowserSubmitFormTool: () => MCPTool;
4
3
  export default BrowserSubmitFormTool;
5
4
  //# sourceMappingURL=submit-form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit-form.d.ts","sourceRoot":"","sources":["../../../src/tools/browser/submit-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAItD,eAAO,MAAM,qBAAqB,mCAkDhC,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"submit-form.d.ts","sourceRoot":"","sources":["../../../src/tools/browser/submit-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAI5C,eAAO,MAAM,qBAAqB,eA+ChC,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { BrowserInteraction } from "./interaction.js";
3
2
  import { getSession } from "./session-manager.js";
4
3
  import { submitForm } from "./read-page.js";
5
4
  export const BrowserSubmitFormTool = () => new MCPTool({
@@ -21,8 +20,7 @@ export const BrowserSubmitFormTool = () => new MCPTool({
21
20
  required: true,
22
21
  },
23
22
  ],
24
- customClass: new BrowserInteraction(),
25
- execute: async (_envID, inputs, _mcp, customClass) => {
23
+ execute: async (_envID, inputs, _toolCallId, _mcp) => {
26
24
  const { sessionId, formRef } = inputs;
27
25
  if (!sessionId || typeof sessionId !== "string") {
28
26
  throw new Error("sessionId must be a non-empty string");
@@ -30,7 +28,6 @@ export const BrowserSubmitFormTool = () => new MCPTool({
30
28
  if (!formRef || typeof formRef !== "string") {
31
29
  throw new Error("formRef must be a non-empty string");
32
30
  }
33
- customClass?.emitBrowserEvent({ type: "submitting-form", sessionId, formRef });
34
31
  const session = getSession(sessionId);
35
32
  const submitted = await submitForm(session.page, formRef);
36
33
  if (!submitted) {
@@ -1 +1 @@
1
- {"version":3,"file":"submit-form.js","sourceRoot":"","sources":["../../../src/tools/browser/submit-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAqB;IACvE,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACP,oFAAoF;QACpF,sKAAsK;QACtK,kFAAkF;IACtF,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,WAAW,EAAE,IAAI,kBAAkB,EAAE;IACrC,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,IAAU,EACV,WAAgC,EACpB,EAAE;QACd,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAEtC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;QAED,WAAW,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAE/E,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1D,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,+EAA+E,CAAC,CAAC;QACxH,CAAC;QAED,OAAO;YACH,OAAO,EAAE,SAAS;SACrB,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"submit-form.js","sourceRoot":"","sources":["../../../src/tools/browser/submit-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC;IACnD,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACP,oFAAoF;QACpF,sKAAsK;QACtK,kFAAkF;IACtF,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,WAAoB,EACpB,IAAU,EACE,EAAE;QACd,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAEtC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1D,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,+EAA+E,CAAC,CAAC;QACxH,CAAC;QAED,OAAO;YACH,OAAO,EAAE,SAAS;SACrB,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { FsInteraction } from "./interaction.js";
3
- export declare const FsCreateDirTool: () => MCPTool<FsInteraction>;
2
+ export declare const FsCreateDirTool: () => MCPTool;
4
3
  export default FsCreateDirTool;
5
4
  //# sourceMappingURL=create-dir.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-dir.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/create-dir.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,eAAO,MAAM,eAAe,8BA8B1B,CAAC;AAEH,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"create-dir.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/create-dir.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,eAAe,eA2B1B,CAAC;AAEH,eAAe,eAAe,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { mkdir } from "fs/promises";
2
2
  import { MCPTool } from "../../core/mcp.js";
3
- import { FsInteraction } from "./interaction.js";
4
3
  import { resolvePath } from "./utils.js";
5
4
  export const FsCreateDirTool = () => new MCPTool({
6
5
  name: "fs-create-dir",
@@ -13,11 +12,9 @@ export const FsCreateDirTool = () => new MCPTool({
13
12
  required: true,
14
13
  },
15
14
  ],
16
- customClass: new FsInteraction(),
17
- execute: async (_envID, inputs, _mcp, customClass) => {
15
+ execute: async (_envID, inputs, _toolCallId, _mcp) => {
18
16
  const { path } = inputs;
19
17
  const fullPath = resolvePath(path);
20
- customClass?.emitFsEvent({ type: "dir-created", path: fullPath });
21
18
  await mkdir(fullPath, { recursive: true });
22
19
  return {
23
20
  message: "success",
@@ -1 +1 @@
1
- {"version":3,"file":"create-dir.js","sourceRoot":"","sources":["../../../src/tools/fs/create-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAgB;IAC5D,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,8DAA8D;IAC3E,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0DAA0D;YACvE,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,WAAW,EAAE,IAAI,aAAa,EAAE;IAChC,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,IAAU,EACV,WAA2B,EACf,EAAE;QACd,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAExB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnC,WAAW,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAElE,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3C,OAAO;YACH,OAAO,EAAE,SAAS;SACrB,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"create-dir.js","sourceRoot":"","sources":["../../../src/tools/fs/create-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC;IAC7C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,8DAA8D;IAC3E,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0DAA0D;YACvE,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,WAAoB,EACpB,IAAU,EACE,EAAE;QACd,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAExB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3C,OAAO;YACH,OAAO,EAAE,SAAS;SACrB,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,eAAe,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { FsInteraction } from "./interaction.js";
3
- export declare const FsDeleteTool: () => MCPTool<FsInteraction>;
2
+ export declare const FsDeleteTool: () => MCPTool;
4
3
  export default FsDeleteTool;
5
4
  //# sourceMappingURL=delete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,eAAO,MAAM,YAAY,8BA+CvB,CAAC;AAEH,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,YAAY,eA4CvB,CAAC;AAEH,eAAe,YAAY,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { rm, stat } from "fs/promises";
2
2
  import { MCPTool } from "../../core/mcp.js";
3
- import { FsInteraction } from "./interaction.js";
4
3
  import { resolvePath } from "./utils.js";
5
4
  export const FsDeleteTool = () => new MCPTool({
6
5
  name: "fs-delete",
@@ -20,11 +19,9 @@ export const FsDeleteTool = () => new MCPTool({
20
19
  default: false,
21
20
  },
22
21
  ],
23
- customClass: new FsInteraction(),
24
- execute: async (_envID, inputs, _mcp, customClass) => {
22
+ execute: async (_envID, inputs, _toolCallId, _mcp) => {
25
23
  const { path, recursive = false } = inputs;
26
24
  const fullPath = resolvePath(path);
27
- customClass?.emitFsEvent({ type: "deleting", path: fullPath });
28
25
  let wasDirectory = false;
29
26
  try {
30
27
  wasDirectory = (await stat(fullPath)).isDirectory();
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/tools/fs/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAgB;IACzD,IAAI,EAAE,WAAW;IACjB,WAAW,EACP,iIAAiI;IACrI,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yCAAyC;YACtD,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0EAA0E;YACvF,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACjB;KACJ;IACD,WAAW,EAAE,IAAI,aAAa,EAAE;IAChC,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,IAAU,EACV,WAA2B,EACf,EAAE;QACd,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAE3C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnC,WAAW,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE/D,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC;YACD,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAC;YACtF,MAAM,GAAG,CAAC;QACd,CAAC;QAED,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhD,OAAO;YACH,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;SAC5C,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/tools/fs/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC;IAC1C,IAAI,EAAE,WAAW;IACjB,WAAW,EACP,iIAAiI;IACrI,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yCAAyC;YACtD,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0EAA0E;YACvF,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACjB;KACJ;IACD,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,WAAoB,EACpB,IAAU,EACE,EAAE;QACd,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAE3C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC;YACD,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAC;YACtF,MAAM,GAAG,CAAC;QACd,CAAC;QAED,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhD,OAAO;YACH,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;SAC5C,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,YAAY,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { FsInteraction } from "./interaction.js";
3
- export declare const FsEditFileTool: () => MCPTool<FsInteraction>;
2
+ export declare const FsEditFileTool: () => MCPTool;
4
3
  export default FsEditFileTool;
5
4
  //# sourceMappingURL=edit-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit-file.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/edit-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,eAAO,MAAM,cAAc,8BAkFzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"edit-file.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/edit-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,cAAc,eA+EzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { readFile, writeFile } from "fs/promises";
2
2
  import { MCPTool } from "../../core/mcp.js";
3
- import { FsInteraction } from "./interaction.js";
4
3
  import { resolvePath, toLines } from "./utils.js";
5
4
  export const FsEditFileTool = () => new MCPTool({
6
5
  name: "fs-edit-file",
@@ -31,8 +30,7 @@ export const FsEditFileTool = () => new MCPTool({
31
30
  required: true,
32
31
  },
33
32
  ],
34
- customClass: new FsInteraction(),
35
- execute: async (_envID, inputs, _mcp, customClass) => {
33
+ execute: async (_envID, inputs, _toolCallId, _mcp) => {
36
34
  const { path, offsetLine, limitLine, content } = inputs;
37
35
  if (typeof offsetLine !== "number" || offsetLine < 1) {
38
36
  throw new Error("offsetLine is 1-indexed (line 1 is the first line of the file) and must be >= 1");
@@ -44,7 +42,6 @@ export const FsEditFileTool = () => new MCPTool({
44
42
  throw new Error("content must be a string");
45
43
  }
46
44
  const fullPath = resolvePath(path);
47
- customClass?.emitFsEvent({ type: "editing", path: fullPath });
48
45
  let raw;
49
46
  try {
50
47
  raw = await readFile(fullPath, { encoding: "utf-8" });
@@ -1 +1 @@
1
- {"version":3,"file":"edit-file.js","sourceRoot":"","sources":["../../../src/tools/fs/edit-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit-file.js","sourceRoot":"","sources":["../../../src/tools/fs/edit-file.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,5 @@ export { FsCreateDirTool } from "./create-dir.js";
6
6
  export { FsDeleteTool } from "./delete.js";
7
7
  export { FsMoveTool } from "./move.js";
8
8
  export { FsStatTool } from "./stat.js";
9
- export { FsInteraction } from "./interaction.js";
10
- export type { FsEvent } from "./interaction.js";
11
- export declare const FsTools: () => import("../../index.js").MCPTool<import("./interaction.js").FsInteraction>[];
9
+ export declare const FsTools: () => import("../../index.js").MCPTool[];
12
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAahD,eAAO,MAAM,OAAO,oFASnB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAavC,eAAO,MAAM,OAAO,0CASnB,CAAC"}
@@ -6,7 +6,6 @@ export { FsCreateDirTool } from "./create-dir.js";
6
6
  export { FsDeleteTool } from "./delete.js";
7
7
  export { FsMoveTool } from "./move.js";
8
8
  export { FsStatTool } from "./stat.js";
9
- export { FsInteraction } from "./interaction.js";
10
9
  import { FsReadFileTool } from "./read-file.js";
11
10
  import { FsWriteFileTool } from "./write-file.js";
12
11
  import { FsEditFileTool } from "./edit-file.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/fs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;IACzB,cAAc,EAAE;IAChB,eAAe,EAAE;IACjB,cAAc,EAAE;IAChB,aAAa,EAAE;IACf,eAAe,EAAE;IACjB,YAAY,EAAE;IACd,UAAU,EAAE;IACZ,UAAU,EAAE;CACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/fs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;IACzB,cAAc,EAAE;IAChB,eAAe,EAAE;IACjB,cAAc,EAAE;IAChB,aAAa,EAAE;IACf,eAAe,EAAE;IACjB,YAAY,EAAE;IACd,UAAU,EAAE;IACZ,UAAU,EAAE;CACf,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { FsInteraction } from "./interaction.js";
3
- export declare const FsListDirTool: () => MCPTool<FsInteraction>;
2
+ export declare const FsListDirTool: () => MCPTool;
4
3
  export default FsListDirTool;
5
4
  //# sourceMappingURL=list-dir.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-dir.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/list-dir.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAmEjD,eAAO,MAAM,aAAa,8BAsFxB,CAAC;AAEH,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"list-dir.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/list-dir.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAmEtD,eAAO,MAAM,aAAa,eAmFxB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { readdir, stat } from "fs/promises";
2
2
  import { join } from "path";
3
3
  import { MCPTool } from "../../core/mcp.js";
4
- import { FsInteraction } from "./interaction.js";
5
4
  import { resolvePath } from "./utils.js";
6
5
  const DEFAULT_EXCLUDED_DIRS = [
7
6
  "node_modules",
@@ -85,11 +84,9 @@ export const FsListDirTool = () => new MCPTool({
85
84
  default: 500,
86
85
  },
87
86
  ],
88
- customClass: new FsInteraction(),
89
- execute: async (_envID, inputs, _mcp, customClass) => {
87
+ execute: async (_envID, inputs, _toolCallId, _mcp) => {
90
88
  const { path, recursive = false, excludeDirs = DEFAULT_EXCLUDED_DIRS, offsetResult = 0, limitResult = 500, } = inputs;
91
89
  const fullPath = resolvePath(path);
92
- customClass?.emitFsEvent({ type: "listing", path: fullPath });
93
90
  const excludeSet = new Set(excludeDirs);
94
91
  let entries;
95
92
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"list-dir.js","sourceRoot":"","sources":["../../../src/tools/fs/list-dir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-dir.js","sourceRoot":"","sources":["../../../src/tools/fs/list-dir.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { FsInteraction } from "./interaction.js";
3
- export declare const FsMoveTool: () => MCPTool<FsInteraction>;
2
+ export declare const FsMoveTool: () => MCPTool;
4
3
  export default FsMoveTool;
5
4
  //# sourceMappingURL=move.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"move.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/move.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,eAAO,MAAM,UAAU,8BA4CrB,CAAC;AAEH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"move.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/move.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,UAAU,eAyCrB,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { rename, mkdir } from "fs/promises";
2
2
  import { dirname } from "path";
3
3
  import { MCPTool } from "../../core/mcp.js";
4
- import { FsInteraction } from "./interaction.js";
5
4
  import { resolvePath } from "./utils.js";
6
5
  export const FsMoveTool = () => new MCPTool({
7
6
  name: "fs-move",
@@ -20,12 +19,10 @@ export const FsMoveTool = () => new MCPTool({
20
19
  required: true,
21
20
  },
22
21
  ],
23
- customClass: new FsInteraction(),
24
- execute: async (_envID, inputs, _mcp, customClass) => {
22
+ execute: async (_envID, inputs, _toolCallId, _mcp) => {
25
23
  const { from, to } = inputs;
26
24
  const fullFrom = resolvePath(from);
27
25
  const fullTo = resolvePath(to);
28
- customClass?.emitFsEvent({ type: "moving", from: fullFrom, to: fullTo });
29
26
  await mkdir(dirname(fullTo), { recursive: true });
30
27
  try {
31
28
  await rename(fullFrom, fullTo);
@@ -1 +1 @@
1
- {"version":3,"file":"move.js","sourceRoot":"","sources":["../../../src/tools/fs/move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAgB;IACvD,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sCAAsC;YACnD,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,WAAW,EAAE,IAAI,aAAa,EAAE;IAChC,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,IAAU,EACV,WAA2B,EACf,EAAE;QACd,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QAE5B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAE/B,WAAW,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAEzE,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAElD,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAC;YACtF,MAAM,GAAG,CAAC;QACd,CAAC;QAED,OAAO;YACH,OAAO,EAAE,SAAS;SACrB,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"move.js","sourceRoot":"","sources":["../../../src/tools/fs/move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC;IACxC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sCAAsC;YACnD,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,WAAoB,EACpB,IAAU,EACE,EAAE;QACd,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QAE5B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAE/B,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAElD,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAC;YACtF,MAAM,GAAG,CAAC;QACd,CAAC;QAED,OAAO;YACH,OAAO,EAAE,SAAS;SACrB,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { FsInteraction } from "./interaction.js";
3
- export declare const FsReadFileTool: () => MCPTool<FsInteraction>;
2
+ export declare const FsReadFileTool: () => MCPTool;
4
3
  export default FsReadFileTool;
5
4
  //# sourceMappingURL=read-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/read-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,eAAO,MAAM,cAAc,8BA0DzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"read-file.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/read-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,cAAc,eAuDzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { readFile } from "fs/promises";
2
2
  import { MCPTool } from "../../core/mcp.js";
3
- import { FsInteraction } from "./interaction.js";
4
3
  import { resolvePath, toLines, paginateLines } from "./utils.js";
5
4
  export const FsReadFileTool = () => new MCPTool({
6
5
  name: "fs-read-file",
@@ -27,11 +26,9 @@ export const FsReadFileTool = () => new MCPTool({
27
26
  default: 2000,
28
27
  },
29
28
  ],
30
- customClass: new FsInteraction(),
31
- execute: async (_envID, inputs, _mcp, customClass) => {
29
+ execute: async (_envID, inputs, _toolCallId, _mcp) => {
32
30
  const { path, offsetLine = 1, limitLine = 2000 } = inputs;
33
31
  const fullPath = resolvePath(path);
34
- customClass?.emitFsEvent({ type: "reading", path: fullPath });
35
32
  let raw;
36
33
  try {
37
34
  raw = await readFile(fullPath, { encoding: "utf-8" });
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../src/tools/fs/read-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAgB;IAC3D,IAAI,EAAE,cAAc;IACpB,WAAW,EACP,mHAAmH;IACvH,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oFAAoF;YACjG,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC;SACb;QACD;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;SAChB;KACJ;IACD,WAAW,EAAE,IAAI,aAAa,EAAE;IAChC,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,IAAU,EACV,WAA2B,EACf,EAAE;QACd,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAE1D,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnC,WAAW,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE9D,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACD,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAC;YACzE,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,8BAA8B,CAAC,CAAC;YACnF,MAAM,GAAG,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAEhG,OAAO;YACH,OAAO;YACP,UAAU;YACV,SAAS;YACT,OAAO;SACV,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../src/tools/fs/read-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC;IAC5C,IAAI,EAAE,cAAc;IACpB,WAAW,EACP,mHAAmH;IACvH,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oFAAoF;YACjG,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC;SACb;QACD;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;SAChB;KACJ;IACD,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,WAAoB,EACpB,IAAU,EACE,EAAE;QACd,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAE1D,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACD,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAC;YACzE,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,8BAA8B,CAAC,CAAC;YACnF,MAAM,GAAG,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAEhG,OAAO;YACH,OAAO;YACP,UAAU;YACV,SAAS;YACT,OAAO;SACV,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MCPTool } from "../../core/mcp.js";
2
- import { FsInteraction } from "./interaction.js";
3
- export declare const FsStatTool: () => MCPTool<FsInteraction>;
2
+ export declare const FsStatTool: () => MCPTool;
4
3
  export default FsStatTool;
5
4
  //# sourceMappingURL=stat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stat.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/stat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,eAAO,MAAM,UAAU,8BAwCrB,CAAC;AAEH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"stat.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/stat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,UAAU,eAqCrB,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { stat } from "fs/promises";
2
2
  import { MCPTool } from "../../core/mcp.js";
3
- import { FsInteraction } from "./interaction.js";
4
3
  import { resolvePath } from "./utils.js";
5
4
  export const FsStatTool = () => new MCPTool({
6
5
  name: "fs-stat",
@@ -13,11 +12,9 @@ export const FsStatTool = () => new MCPTool({
13
12
  required: true,
14
13
  },
15
14
  ],
16
- customClass: new FsInteraction(),
17
- execute: async (_envID, inputs, _mcp, customClass) => {
15
+ execute: async (_envID, inputs, _toolCallId, _mcp) => {
18
16
  const { path } = inputs;
19
17
  const fullPath = resolvePath(path);
20
- customClass?.emitFsEvent({ type: "stat", path: fullPath });
21
18
  try {
22
19
  const s = await stat(fullPath);
23
20
  return {