orbitx 0.2.5 → 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 (398) 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 +61 -3
  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 +6 -1
  9. package/dist/core/anthropic-provider.d.ts.map +1 -1
  10. package/dist/core/anthropic-provider.js +165 -73
  11. package/dist/core/anthropic-provider.js.map +1 -1
  12. package/dist/core/base-agent.d.ts +21 -41
  13. package/dist/core/base-agent.d.ts.map +1 -1
  14. package/dist/core/base-agent.js +139 -140
  15. package/dist/core/base-agent.js.map +1 -1
  16. package/dist/core/deepseek-provider.d.ts +4 -1
  17. package/dist/core/deepseek-provider.d.ts.map +1 -1
  18. package/dist/core/deepseek-provider.js +103 -57
  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-fs-storage.d.ts.map +1 -1
  25. package/dist/core/mcp-fs-storage.js +2 -1
  26. package/dist/core/mcp-fs-storage.js.map +1 -1
  27. package/dist/core/mcp-server.d.ts +5 -1
  28. package/dist/core/mcp-server.d.ts.map +1 -1
  29. package/dist/core/mcp-server.js +31 -1
  30. package/dist/core/mcp-server.js.map +1 -1
  31. package/dist/core/mcp.d.ts +9 -23
  32. package/dist/core/mcp.d.ts.map +1 -1
  33. package/dist/core/mcp.js +1 -24
  34. package/dist/core/mcp.js.map +1 -1
  35. package/dist/core/ollama-provider.d.ts +4 -1
  36. package/dist/core/ollama-provider.d.ts.map +1 -1
  37. package/dist/core/ollama-provider.js +75 -38
  38. package/dist/core/ollama-provider.js.map +1 -1
  39. package/dist/core/openai-provider.d.ts +4 -1
  40. package/dist/core/openai-provider.d.ts.map +1 -1
  41. package/dist/core/openai-provider.js +90 -48
  42. package/dist/core/openai-provider.js.map +1 -1
  43. package/dist/core/retry.d.ts +1 -1
  44. package/dist/core/retry.d.ts.map +1 -1
  45. package/dist/core/retry.js +5 -1
  46. package/dist/core/retry.js.map +1 -1
  47. package/dist/core/skill.d.ts +2 -2
  48. package/dist/core/skill.d.ts.map +1 -1
  49. package/dist/index.d.ts +13 -20
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +9 -10
  52. package/dist/index.js.map +1 -1
  53. package/dist/templates/simple.d.ts +8 -12
  54. package/dist/templates/simple.d.ts.map +1 -1
  55. package/dist/templates/simple.js +6 -10
  56. package/dist/templates/simple.js.map +1 -1
  57. package/dist/tests/core/mcp-computer.test.js +26 -23
  58. package/dist/tests/core/mcp-computer.test.js.map +1 -1
  59. package/dist/tests/core/mcp-connection.test.js +23 -21
  60. package/dist/tests/core/mcp-connection.test.js.map +1 -1
  61. package/dist/tests/core/mcp-ipc-connection.test.js +30 -28
  62. package/dist/tests/core/mcp-ipc-connection.test.js.map +1 -1
  63. package/dist/tests/core/mcp-ws-connection.test.js +31 -30
  64. package/dist/tests/core/mcp-ws-connection.test.js.map +1 -1
  65. package/dist/tests/index.d.ts +27 -0
  66. package/dist/tests/index.d.ts.map +1 -1
  67. package/dist/tests/index.js +27 -0
  68. package/dist/tests/index.js.map +1 -1
  69. package/dist/tests/tools/agent/agent-tools.test.js +152 -147
  70. package/dist/tests/tools/agent/agent-tools.test.js.map +1 -1
  71. package/dist/tests/tools/bash/fixtures.d.ts +16 -0
  72. package/dist/tests/tools/bash/fixtures.d.ts.map +1 -0
  73. package/dist/tests/tools/bash/fixtures.js +22 -0
  74. package/dist/tests/tools/bash/fixtures.js.map +1 -0
  75. package/dist/tests/tools/bash/kill-tree.d.ts +21 -0
  76. package/dist/tests/tools/bash/kill-tree.d.ts.map +1 -0
  77. package/dist/tests/tools/bash/kill-tree.js +47 -0
  78. package/dist/tests/tools/bash/kill-tree.js.map +1 -0
  79. package/dist/tests/tools/bash/list.test.d.ts +2 -0
  80. package/dist/tests/tools/bash/list.test.d.ts.map +1 -0
  81. package/dist/tests/tools/bash/list.test.js +43 -0
  82. package/dist/tests/tools/bash/list.test.js.map +1 -0
  83. package/dist/tests/tools/bash/logs.test.d.ts +2 -0
  84. package/dist/tests/tools/bash/logs.test.d.ts.map +1 -0
  85. package/dist/tests/tools/bash/logs.test.js +48 -0
  86. package/dist/tests/tools/bash/logs.test.js.map +1 -0
  87. package/dist/tests/tools/bash/run.test.d.ts +2 -0
  88. package/dist/tests/tools/bash/run.test.d.ts.map +1 -0
  89. package/dist/tests/tools/bash/run.test.js +53 -0
  90. package/dist/tests/tools/bash/run.test.js.map +1 -0
  91. package/dist/tests/tools/bash/terminate.test.d.ts +2 -0
  92. package/dist/tests/tools/bash/terminate.test.d.ts.map +1 -0
  93. package/dist/tests/tools/bash/terminate.test.js +60 -0
  94. package/dist/tests/tools/bash/terminate.test.js.map +1 -0
  95. package/dist/tests/tools/bash/wait.test.d.ts +2 -0
  96. package/dist/tests/tools/bash/wait.test.d.ts.map +1 -0
  97. package/dist/tests/tools/bash/wait.test.js +45 -0
  98. package/dist/tests/tools/bash/wait.test.js.map +1 -0
  99. package/dist/tests/tools/bash/write-input.test.d.ts +2 -0
  100. package/dist/tests/tools/bash/write-input.test.d.ts.map +1 -0
  101. package/dist/tests/tools/bash/write-input.test.js +65 -0
  102. package/dist/tests/tools/bash/write-input.test.js.map +1 -0
  103. package/dist/tests/tools/browser/browser-tools.test.d.ts +2 -0
  104. package/dist/tests/tools/browser/browser-tools.test.d.ts.map +1 -0
  105. package/dist/tests/tools/browser/browser-tools.test.js +36 -0
  106. package/dist/tests/tools/browser/browser-tools.test.js.map +1 -0
  107. package/dist/tests/tools/fs/create-dir.test.d.ts +2 -0
  108. package/dist/tests/tools/fs/create-dir.test.d.ts.map +1 -0
  109. package/dist/tests/tools/fs/create-dir.test.js +37 -0
  110. package/dist/tests/tools/fs/create-dir.test.js.map +1 -0
  111. package/dist/tests/tools/fs/delete.test.d.ts +2 -0
  112. package/dist/tests/tools/fs/delete.test.d.ts.map +1 -0
  113. package/dist/tests/tools/fs/delete.test.js +69 -0
  114. package/dist/tests/tools/fs/delete.test.js.map +1 -0
  115. package/dist/tests/tools/fs/edit-file.test.d.ts +2 -0
  116. package/dist/tests/tools/fs/edit-file.test.d.ts.map +1 -0
  117. package/dist/tests/tools/fs/edit-file.test.js +103 -0
  118. package/dist/tests/tools/fs/edit-file.test.js.map +1 -0
  119. package/dist/tests/tools/fs/list-dir.test.d.ts +2 -0
  120. package/dist/tests/tools/fs/list-dir.test.d.ts.map +1 -0
  121. package/dist/tests/tools/fs/list-dir.test.js +65 -0
  122. package/dist/tests/tools/fs/list-dir.test.js.map +1 -0
  123. package/dist/tests/tools/fs/move.test.d.ts +2 -0
  124. package/dist/tests/tools/fs/move.test.d.ts.map +1 -0
  125. package/dist/tests/tools/fs/move.test.js +47 -0
  126. package/dist/tests/tools/fs/move.test.js.map +1 -0
  127. package/dist/tests/tools/fs/read-file.test.d.ts +2 -0
  128. package/dist/tests/tools/fs/read-file.test.d.ts.map +1 -0
  129. package/dist/tests/tools/fs/read-file.test.js +52 -0
  130. package/dist/tests/tools/fs/read-file.test.js.map +1 -0
  131. package/dist/tests/tools/fs/stat.test.d.ts +2 -0
  132. package/dist/tests/tools/fs/stat.test.d.ts.map +1 -0
  133. package/dist/tests/tools/fs/stat.test.js +43 -0
  134. package/dist/tests/tools/fs/stat.test.js.map +1 -0
  135. package/dist/tests/tools/fs/write-file.test.d.ts +2 -0
  136. package/dist/tests/tools/fs/write-file.test.d.ts.map +1 -0
  137. package/dist/tests/tools/fs/write-file.test.js +53 -0
  138. package/dist/tests/tools/fs/write-file.test.js.map +1 -0
  139. package/dist/tests/tools/present/add.test.d.ts +2 -0
  140. package/dist/tests/tools/present/add.test.d.ts.map +1 -0
  141. package/dist/tests/tools/present/add.test.js +51 -0
  142. package/dist/tests/tools/present/add.test.js.map +1 -0
  143. package/dist/tests/tools/present/clear.test.d.ts +2 -0
  144. package/dist/tests/tools/present/clear.test.d.ts.map +1 -0
  145. package/dist/tests/tools/present/clear.test.js +44 -0
  146. package/dist/tests/tools/present/clear.test.js.map +1 -0
  147. package/dist/tests/tools/present/get-list.test.d.ts +2 -0
  148. package/dist/tests/tools/present/get-list.test.d.ts.map +1 -0
  149. package/dist/tests/tools/present/get-list.test.js +50 -0
  150. package/dist/tests/tools/present/get-list.test.js.map +1 -0
  151. package/dist/tests/tools/question-answer/question-answer.test.d.ts +2 -0
  152. package/dist/tests/tools/question-answer/question-answer.test.d.ts.map +1 -0
  153. package/dist/tests/tools/question-answer/question-answer.test.js +24 -0
  154. package/dist/tests/tools/question-answer/question-answer.test.js.map +1 -0
  155. package/dist/tests/tools/todo/check-task.test.d.ts +2 -0
  156. package/dist/tests/tools/todo/check-task.test.d.ts.map +1 -0
  157. package/dist/tests/tools/todo/check-task.test.js +42 -0
  158. package/dist/tests/tools/todo/check-task.test.js.map +1 -0
  159. package/dist/tests/tools/todo/create-list.test.d.ts +2 -0
  160. package/dist/tests/tools/todo/create-list.test.d.ts.map +1 -0
  161. package/dist/tests/tools/todo/create-list.test.js +32 -0
  162. package/dist/tests/tools/todo/create-list.test.js.map +1 -0
  163. package/dist/tests/tools/todo/create-task.test.d.ts +2 -0
  164. package/dist/tests/tools/todo/create-task.test.d.ts.map +1 -0
  165. package/dist/tests/tools/todo/create-task.test.js +53 -0
  166. package/dist/tests/tools/todo/create-task.test.js.map +1 -0
  167. package/dist/tests/tools/todo/get-list.test.d.ts +2 -0
  168. package/dist/tests/tools/todo/get-list.test.d.ts.map +1 -0
  169. package/dist/tests/tools/todo/get-list.test.js +38 -0
  170. package/dist/tests/tools/todo/get-list.test.js.map +1 -0
  171. package/dist/tests/tools/todo/get-lists.test.d.ts +2 -0
  172. package/dist/tests/tools/todo/get-lists.test.d.ts.map +1 -0
  173. package/dist/tests/tools/todo/get-lists.test.js +29 -0
  174. package/dist/tests/tools/todo/get-lists.test.js.map +1 -0
  175. package/dist/tests/tools/todo/remove-list.test.d.ts +2 -0
  176. package/dist/tests/tools/todo/remove-list.test.d.ts.map +1 -0
  177. package/dist/tests/tools/todo/remove-list.test.js +41 -0
  178. package/dist/tests/tools/todo/remove-list.test.js.map +1 -0
  179. package/dist/tests/tools/todo/remove-task.test.d.ts +2 -0
  180. package/dist/tests/tools/todo/remove-task.test.d.ts.map +1 -0
  181. package/dist/tests/tools/todo/remove-task.test.js +45 -0
  182. package/dist/tests/tools/todo/remove-task.test.js.map +1 -0
  183. package/dist/tests/tools/utils/delay.test.js +26 -24
  184. package/dist/tests/tools/utils/delay.test.js.map +1 -1
  185. package/dist/tests/tools/utils/get-current-time.test.js +43 -41
  186. package/dist/tests/tools/utils/get-current-time.test.js.map +1 -1
  187. package/dist/tests/tools/utils/read-image.test.d.ts +2 -0
  188. package/dist/tests/tools/utils/read-image.test.d.ts.map +1 -0
  189. package/dist/tests/tools/utils/read-image.test.js +66 -0
  190. package/dist/tests/tools/utils/read-image.test.js.map +1 -0
  191. package/dist/tools/agent/hire.d.ts +1 -2
  192. package/dist/tools/agent/hire.d.ts.map +1 -1
  193. package/dist/tools/agent/hire.js +1 -4
  194. package/dist/tools/agent/hire.js.map +1 -1
  195. package/dist/tools/agent/index.d.ts +1 -3
  196. package/dist/tools/agent/index.d.ts.map +1 -1
  197. package/dist/tools/agent/index.js +0 -1
  198. package/dist/tools/agent/index.js.map +1 -1
  199. package/dist/tools/agent/list.d.ts +1 -1
  200. package/dist/tools/agent/list.d.ts.map +1 -1
  201. package/dist/tools/agent/prompt.d.ts +1 -2
  202. package/dist/tools/agent/prompt.d.ts.map +1 -1
  203. package/dist/tools/agent/prompt.js +11 -7
  204. package/dist/tools/agent/prompt.js.map +1 -1
  205. package/dist/tools/agent/report.d.ts +1 -1
  206. package/dist/tools/agent/report.d.ts.map +1 -1
  207. package/dist/tools/bash/index.d.ts +1 -3
  208. package/dist/tools/bash/index.d.ts.map +1 -1
  209. package/dist/tools/bash/index.js +0 -1
  210. package/dist/tools/bash/index.js.map +1 -1
  211. package/dist/tools/bash/list.d.ts +1 -1
  212. package/dist/tools/bash/list.d.ts.map +1 -1
  213. package/dist/tools/bash/list.js +1 -1
  214. package/dist/tools/bash/list.js.map +1 -1
  215. package/dist/tools/bash/logs.d.ts +1 -1
  216. package/dist/tools/bash/logs.d.ts.map +1 -1
  217. package/dist/tools/bash/logs.js +1 -1
  218. package/dist/tools/bash/logs.js.map +1 -1
  219. package/dist/tools/bash/run.d.ts +1 -2
  220. package/dist/tools/bash/run.d.ts.map +1 -1
  221. package/dist/tools/bash/run.js +1 -7
  222. package/dist/tools/bash/run.js.map +1 -1
  223. package/dist/tools/bash/terminate.d.ts +1 -2
  224. package/dist/tools/bash/terminate.d.ts.map +1 -1
  225. package/dist/tools/bash/terminate.js +1 -4
  226. package/dist/tools/bash/terminate.js.map +1 -1
  227. package/dist/tools/bash/wait.d.ts +1 -2
  228. package/dist/tools/bash/wait.d.ts.map +1 -1
  229. package/dist/tools/bash/wait.js +1 -7
  230. package/dist/tools/bash/wait.js.map +1 -1
  231. package/dist/tools/bash/write-input.d.ts +1 -2
  232. package/dist/tools/bash/write-input.d.ts.map +1 -1
  233. package/dist/tools/bash/write-input.js +1 -4
  234. package/dist/tools/bash/write-input.js.map +1 -1
  235. package/dist/tools/browser/click.d.ts +1 -2
  236. package/dist/tools/browser/click.d.ts.map +1 -1
  237. package/dist/tools/browser/click.js +1 -4
  238. package/dist/tools/browser/click.js.map +1 -1
  239. package/dist/tools/browser/console.d.ts +1 -1
  240. package/dist/tools/browser/console.d.ts.map +1 -1
  241. package/dist/tools/browser/create-session.d.ts +1 -2
  242. package/dist/tools/browser/create-session.d.ts.map +1 -1
  243. package/dist/tools/browser/create-session.js +1 -4
  244. package/dist/tools/browser/create-session.js.map +1 -1
  245. package/dist/tools/browser/fill.d.ts +1 -2
  246. package/dist/tools/browser/fill.d.ts.map +1 -1
  247. package/dist/tools/browser/fill.js +1 -4
  248. package/dist/tools/browser/fill.js.map +1 -1
  249. package/dist/tools/browser/get-sessions.d.ts +1 -1
  250. package/dist/tools/browser/get-sessions.d.ts.map +1 -1
  251. package/dist/tools/browser/index.d.ts +1 -3
  252. package/dist/tools/browser/index.d.ts.map +1 -1
  253. package/dist/tools/browser/index.js +0 -1
  254. package/dist/tools/browser/index.js.map +1 -1
  255. package/dist/tools/browser/inject.d.ts +1 -2
  256. package/dist/tools/browser/inject.d.ts.map +1 -1
  257. package/dist/tools/browser/inject.js +1 -4
  258. package/dist/tools/browser/inject.js.map +1 -1
  259. package/dist/tools/browser/navigate.d.ts +1 -2
  260. package/dist/tools/browser/navigate.d.ts.map +1 -1
  261. package/dist/tools/browser/navigate.js +1 -4
  262. package/dist/tools/browser/navigate.js.map +1 -1
  263. package/dist/tools/browser/network-status.d.ts +1 -1
  264. package/dist/tools/browser/network-status.d.ts.map +1 -1
  265. package/dist/tools/browser/network.d.ts +1 -1
  266. package/dist/tools/browser/network.d.ts.map +1 -1
  267. package/dist/tools/browser/read.d.ts +1 -2
  268. package/dist/tools/browser/read.d.ts.map +1 -1
  269. package/dist/tools/browser/read.js +1 -4
  270. package/dist/tools/browser/read.js.map +1 -1
  271. package/dist/tools/browser/remove-session.d.ts +1 -2
  272. package/dist/tools/browser/remove-session.d.ts.map +1 -1
  273. package/dist/tools/browser/remove-session.js +1 -4
  274. package/dist/tools/browser/remove-session.js.map +1 -1
  275. package/dist/tools/browser/screenshot.d.ts +1 -2
  276. package/dist/tools/browser/screenshot.d.ts.map +1 -1
  277. package/dist/tools/browser/screenshot.js +16 -15
  278. package/dist/tools/browser/screenshot.js.map +1 -1
  279. package/dist/tools/browser/scroll-info.d.ts +1 -1
  280. package/dist/tools/browser/scroll-info.d.ts.map +1 -1
  281. package/dist/tools/browser/scroll.d.ts +1 -2
  282. package/dist/tools/browser/scroll.d.ts.map +1 -1
  283. package/dist/tools/browser/scroll.js +1 -4
  284. package/dist/tools/browser/scroll.js.map +1 -1
  285. package/dist/tools/browser/submit-form.d.ts +1 -2
  286. package/dist/tools/browser/submit-form.d.ts.map +1 -1
  287. package/dist/tools/browser/submit-form.js +1 -4
  288. package/dist/tools/browser/submit-form.js.map +1 -1
  289. package/dist/tools/fs/create-dir.d.ts +1 -2
  290. package/dist/tools/fs/create-dir.d.ts.map +1 -1
  291. package/dist/tools/fs/create-dir.js +1 -4
  292. package/dist/tools/fs/create-dir.js.map +1 -1
  293. package/dist/tools/fs/delete.d.ts +1 -2
  294. package/dist/tools/fs/delete.d.ts.map +1 -1
  295. package/dist/tools/fs/delete.js +1 -4
  296. package/dist/tools/fs/delete.js.map +1 -1
  297. package/dist/tools/fs/edit-file.d.ts +1 -2
  298. package/dist/tools/fs/edit-file.d.ts.map +1 -1
  299. package/dist/tools/fs/edit-file.js +1 -4
  300. package/dist/tools/fs/edit-file.js.map +1 -1
  301. package/dist/tools/fs/index.d.ts +1 -3
  302. package/dist/tools/fs/index.d.ts.map +1 -1
  303. package/dist/tools/fs/index.js +0 -1
  304. package/dist/tools/fs/index.js.map +1 -1
  305. package/dist/tools/fs/list-dir.d.ts +1 -2
  306. package/dist/tools/fs/list-dir.d.ts.map +1 -1
  307. package/dist/tools/fs/list-dir.js +1 -4
  308. package/dist/tools/fs/list-dir.js.map +1 -1
  309. package/dist/tools/fs/move.d.ts +1 -2
  310. package/dist/tools/fs/move.d.ts.map +1 -1
  311. package/dist/tools/fs/move.js +1 -4
  312. package/dist/tools/fs/move.js.map +1 -1
  313. package/dist/tools/fs/read-file.d.ts +1 -2
  314. package/dist/tools/fs/read-file.d.ts.map +1 -1
  315. package/dist/tools/fs/read-file.js +1 -4
  316. package/dist/tools/fs/read-file.js.map +1 -1
  317. package/dist/tools/fs/stat.d.ts +1 -2
  318. package/dist/tools/fs/stat.d.ts.map +1 -1
  319. package/dist/tools/fs/stat.js +1 -4
  320. package/dist/tools/fs/stat.js.map +1 -1
  321. package/dist/tools/fs/write-file.d.ts +1 -2
  322. package/dist/tools/fs/write-file.d.ts.map +1 -1
  323. package/dist/tools/fs/write-file.js +1 -4
  324. package/dist/tools/fs/write-file.js.map +1 -1
  325. package/dist/tools/present/add.d.ts +1 -2
  326. package/dist/tools/present/add.d.ts.map +1 -1
  327. package/dist/tools/present/add.js +1 -4
  328. package/dist/tools/present/add.js.map +1 -1
  329. package/dist/tools/present/clear.d.ts +1 -2
  330. package/dist/tools/present/clear.d.ts.map +1 -1
  331. package/dist/tools/present/clear.js +1 -4
  332. package/dist/tools/present/clear.js.map +1 -1
  333. package/dist/tools/present/get-list.d.ts +1 -2
  334. package/dist/tools/present/get-list.d.ts.map +1 -1
  335. package/dist/tools/present/get-list.js +0 -2
  336. package/dist/tools/present/get-list.js.map +1 -1
  337. package/dist/tools/present/index.d.ts +1 -3
  338. package/dist/tools/present/index.d.ts.map +1 -1
  339. package/dist/tools/present/index.js +0 -1
  340. package/dist/tools/present/index.js.map +1 -1
  341. package/dist/tools/question-answer/index.d.ts +1 -3
  342. package/dist/tools/question-answer/index.d.ts.map +1 -1
  343. package/dist/tools/question-answer/index.js +0 -1
  344. package/dist/tools/question-answer/index.js.map +1 -1
  345. package/dist/tools/question-answer/question-answer.d.ts +1 -2
  346. package/dist/tools/question-answer/question-answer.d.ts.map +1 -1
  347. package/dist/tools/question-answer/question-answer.js +1 -4
  348. package/dist/tools/question-answer/question-answer.js.map +1 -1
  349. package/dist/tools/todo/check-task.d.ts +1 -2
  350. package/dist/tools/todo/check-task.d.ts.map +1 -1
  351. package/dist/tools/todo/check-task.js +1 -4
  352. package/dist/tools/todo/check-task.js.map +1 -1
  353. package/dist/tools/todo/create-list.d.ts +1 -2
  354. package/dist/tools/todo/create-list.d.ts.map +1 -1
  355. package/dist/tools/todo/create-list.js +1 -4
  356. package/dist/tools/todo/create-list.js.map +1 -1
  357. package/dist/tools/todo/create-task.d.ts +1 -2
  358. package/dist/tools/todo/create-task.d.ts.map +1 -1
  359. package/dist/tools/todo/create-task.js +1 -4
  360. package/dist/tools/todo/create-task.js.map +1 -1
  361. package/dist/tools/todo/get-list.d.ts +1 -1
  362. package/dist/tools/todo/get-list.d.ts.map +1 -1
  363. package/dist/tools/todo/get-list.js +1 -1
  364. package/dist/tools/todo/get-list.js.map +1 -1
  365. package/dist/tools/todo/get-lists.d.ts +1 -1
  366. package/dist/tools/todo/get-lists.d.ts.map +1 -1
  367. package/dist/tools/todo/get-lists.js +1 -1
  368. package/dist/tools/todo/get-lists.js.map +1 -1
  369. package/dist/tools/todo/index.d.ts +1 -3
  370. package/dist/tools/todo/index.d.ts.map +1 -1
  371. package/dist/tools/todo/index.js +0 -1
  372. package/dist/tools/todo/index.js.map +1 -1
  373. package/dist/tools/todo/remove-list.d.ts +1 -2
  374. package/dist/tools/todo/remove-list.d.ts.map +1 -1
  375. package/dist/tools/todo/remove-list.js +1 -4
  376. package/dist/tools/todo/remove-list.js.map +1 -1
  377. package/dist/tools/todo/remove-task.d.ts +1 -2
  378. package/dist/tools/todo/remove-task.d.ts.map +1 -1
  379. package/dist/tools/todo/remove-task.js +1 -4
  380. package/dist/tools/todo/remove-task.js.map +1 -1
  381. package/dist/tools/utils/delay.d.ts +1 -1
  382. package/dist/tools/utils/delay.d.ts.map +1 -1
  383. package/dist/tools/utils/get-current-time.d.ts +1 -1
  384. package/dist/tools/utils/get-current-time.d.ts.map +1 -1
  385. package/dist/tools/utils/index.d.ts +1 -1
  386. package/dist/tools/utils/index.d.ts.map +1 -1
  387. package/dist/tools/utils/read-image.d.ts +12 -7
  388. package/dist/tools/utils/read-image.d.ts.map +1 -1
  389. package/dist/tools/utils/read-image.js +27 -17
  390. package/dist/tools/utils/read-image.js.map +1 -1
  391. package/docs/agents.md +57 -26
  392. package/docs/api-reference.md +12 -13
  393. package/docs/getting-started.md +2 -2
  394. package/docs/mcp-architecture.md +15 -3
  395. package/docs/providers.md +119 -16
  396. package/docs/streaming.md +19 -2
  397. package/docs/tools.md +41 -8
  398. package/package.json +1 -1
package/docs/tools.md CHANGED
@@ -16,21 +16,54 @@ new MCPTool({
16
16
  default?: any;
17
17
  }[];
18
18
  stopIterationAfterUsingThisTool?: boolean; // default false
19
- customClass?: MCPCustomClass; // optional stateful helper, see below
20
19
  execute: (
21
20
  envID: string,
22
21
  inputs: Record<string, any>,
23
- mcp?: MCP,
24
- customClass?: typeof customClass
22
+ toolCallId?: string,
23
+ mcp?: MCP
25
24
  ) => Promise<any>;
26
25
  });
27
26
  ```
28
27
 
29
28
  - `inputs` doubles as both the JSON-schema-like description sent to the model (translated per-provider by `src/core/tool-schema-translator.ts`) and the shape `execute` should expect on `inputs`.
30
29
  - `stopIterationAfterUsingThisTool: true` ends the agent's run loop immediately after this tool fires, even if the model didn't naturally stop calling tools — useful for a "final answer" or "hand off" style tool.
31
- - `execute`'s return value is normalized via `normalizeToolOutput()` into either `{ type: "text", output: {...} }` or `{ type: "image", output: { image, mimeType, ... } }`. Return `{ type: "image", output: {...} }` explicitly to hand back an image (it gets routed through the agent's image provider — see [Providers](./providers.md#two-provider-roles-main--image)); anything else is treated as a plain JSON text result.
30
+ - `execute`'s return value is normalized via `normalizeToolOutput()` into `{ output: {...} }` — return a plain object (or anything else) and it becomes `output` as-is, same convention as always.
32
31
  - `envID` identifies which "environment" (in-process client id, IPC/WS session) the call came from — most tools ignore it unless they need per-environment isolated state (see `MCPStorage`/`MCPFSStorage` in [MCP Architecture](./mcp-architecture.md)).
33
- - `customClass` (a subclass of `MCPCustomClass`) is a way to give a tool its own persistent helper object with access to the owning `MCP` instance (`getMCP()`) and an `EventEmitter` (`getEvents()`) for progress/status events — see how the built-in `*Interaction` classes are used (e.g. `FsInteraction`, `BrowserInteraction`) if you want to expose live progress to a UI. **Experimental:** `customClass` is still settling — its name and shape may change (or it may be removed) in a future release, so avoid depending on it for anything beyond the built-in `*Interaction` pattern until it stabilizes.
32
+ - `toolCallId` is this specific call's id, needed only by a tool that calls `mcp.executeProvider(...)` (see below) — everything else can ignore it.
33
+
34
+ ### `mcp.executeProvider(...)` — calling a provider from inside a tool
35
+
36
+ `MCP` (what `execute`'s 4th argument gives you, same as it always has) has one method beyond `getStorage()`/`getRNG()`:
37
+
38
+ ```ts
39
+ abstract class MCP {
40
+ getStorage(): MCPStorage;
41
+ getRNG(): MCPRNG;
42
+ executeProvider(toolCallId: string, type: ProviderType, input: Record<string, any>): Promise<{ output: Record<string, any> }>;
43
+ }
44
+ ```
45
+
46
+ `type` picks a role (see [Provider roles](./providers.md#provider-roles)); `input` must be `Message`-shaped — `{ content: string }` for plain text, or `{ parts: MessageContentPart[] }` when real multimodal content (an image, say) needs to reach the provider. `BaseAgent#executeProvider` spreads `input` straight onto the outgoing `role: "user"` message (no `safetyPolicies` system message here, unlike the main run loop — see [Guardrail system prompt](./agents.md#guardrail-system-prompt)) and stays completely type-agnostic itself — it never branches on `type`, so a role that needs `parts` (`image-describer`) and one that only needs `content` (a plain text-generation role) go through the exact same code path. Shaping `input` correctly is the calling tool's job: **use `parts`, not a `data:` URI folded into `content`, for images/video** — every built-in provider (Anthropic/OpenAI/DeepSeek/Ollama) only builds a real multimodal content block from `Message.parts`; a base64 string inside `content` is sent to the model as literal text, not an image. This works identically no matter where the tool is registered — directly on an `MCPClient`, or on a sandboxed/remote `MCPServer` (see [MCP Architecture](./mcp-architecture.md#custom-mcp-subclasses)) — because the actual provider call always happens on the trusted side (wherever `BaseAgent` lives): a client-registered tool reaches it in-process, a server-registered one has the request proxied there over the existing connection and back. No provider instance, or the credentials it holds, is ever visible to the tool — only this request/response.
47
+
48
+ **Off by default.** `executeProvider` throws immediately unless the owning `BaseAgent` was constructed with `features: { executeProviderFromMCPTool: true }` (see [`executeProvider` feature flag](./agents.md#executeprovider-feature-flag)) — a tool reaching a provider directly, with no guardrail prompt ahead of it, is a bigger trust surface than one that only returns data to the model, so it needs an explicit opt-in from whoever builds the agent.
49
+
50
+ `read-image`/`browser-screenshot` (below) are the reference example — the instruction as a `text` part, the base64 image as an `image` part:
51
+
52
+ ```ts
53
+ const { output } = await mcp.executeProvider(toolCallId, "image-describer", {
54
+ parts: [
55
+ { type: "text", text: instruction },
56
+ { type: "image", image, mimeType },
57
+ ],
58
+ });
59
+ return { description: output.content }; // output.content: string
60
+ ```
61
+
62
+ If `executeProvider` rejects (no provider configured for that role, etc.), just let it throw — `BaseAgent`'s existing `execute()` error handling turns it into a normal `Error: ...` tool result, no special handling needed.
63
+
64
+ ### Usage is never something a tool reports itself
65
+
66
+ There's no `usage` field on what `execute` returns. Every `executeProvider` call is recorded by `BaseAgent` the instant the real provider call resolves — keyed by `toolCallId`, moved onto the tool's result `Message.usage` only after `execute()` returns (see [Token accounting](./agents.md#token-accounting)) — specifically so a compromised or rewritten tool can't just under-report what it spent; it never holds that number to begin with.
34
67
 
35
68
  Tools are registered on an `MCPServer` and invoked through an `MCPClient`; `SimpleAgent` does this wiring for you from a flat `tools` array.
36
69
 
@@ -38,7 +71,7 @@ One tool schema the model sees isn't an `MCPTool` at all: `BaseAgent` always app
38
71
 
39
72
  ## Built-in tool catalog
40
73
 
41
- Import a whole domain's tools at once (e.g. `FsTools()`), or import individual tools by name. Every domain also exports a `*Interaction` `EventEmitter` for subscribing to that domain's live progress events (e.g. `FsInteraction`, `BashInteraction`).
74
+ Import a whole domain's tools at once (e.g. `FsTools()`), or import individual tools by name.
42
75
 
43
76
  ### Filesystem — `FsTools()`
44
77
 
@@ -90,7 +123,7 @@ Drives a real headless browser session.
90
123
  | `BrowserNetworkTool` | Read captured network request/response activity. |
91
124
  | `BrowserNetworkStatusTool` | Check whether the page currently has in-flight network activity. |
92
125
  | `BrowserInjectTool` | Evaluate arbitrary JS in the page and return the result. |
93
- | `BrowserScreenshotTool` | Capture a screenshot; can be described by the `image` provider instead of passed raw to the main model. |
126
+ | `BrowserScreenshotTool` | Capture a screenshot and return a text description of it (via an `image-describer` provider — see [Provider roles](./providers.md#provider-roles)). |
94
127
 
95
128
  ### Todo lists — `TodoTools()`
96
129
 
@@ -126,7 +159,7 @@ Backs the `PlannerSkill` (see [Skills](./skills.md)), but usable standalone.
126
159
  |---|---|
127
160
  | `GetCurrentTimeTool` | Get the current date/time (ISO string, unix timestamp, timezone). |
128
161
  | `DelayTool` | Wait a given number of milliseconds (max 60000ms) before continuing. |
129
- | `ReadImageTool` | Read an image file off disk and hand it to the agent as an image tool-output — same handling as `BrowserScreenshotTool` (raw bytes to the model, or described by the image provider first, depending on config). |
162
+ | `ReadImageTool` | Read an image file off disk and return a text description of it — same handling as `BrowserScreenshotTool`. |
130
163
 
131
164
  ### Multi-agent — `AgentTools(availableAgents, options?)` *(experimental)*
132
165
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orbitx",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "An AI SDK providing agents, swarms, planners, skills, MCP tools, workflows, and multi-provider AI integrations.",
5
5
  "repository": {
6
6
  "type": "git",