orbitx 0.0.7 → 0.0.9

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/Readme.md +227 -67
  2. package/dist/core/agent-providers.d.ts +16 -0
  3. package/dist/core/agent-providers.d.ts.map +1 -0
  4. package/dist/core/agent-providers.js +21 -0
  5. package/dist/core/agent-providers.js.map +1 -0
  6. package/dist/core/ai-provider.d.ts +69 -1
  7. package/dist/core/ai-provider.d.ts.map +1 -1
  8. package/dist/core/ai-provider.js.map +1 -1
  9. package/dist/core/base-agent.d.ts +8 -4
  10. package/dist/core/base-agent.d.ts.map +1 -1
  11. package/dist/core/base-agent.js +220 -88
  12. package/dist/core/base-agent.js.map +1 -1
  13. package/dist/core/deepseek-provider.d.ts +10 -3
  14. package/dist/core/deepseek-provider.d.ts.map +1 -1
  15. package/dist/core/deepseek-provider.js +144 -39
  16. package/dist/core/deepseek-provider.js.map +1 -1
  17. package/dist/core/image-describer.d.ts +13 -0
  18. package/dist/core/image-describer.d.ts.map +1 -0
  19. package/dist/core/image-describer.js +33 -0
  20. package/dist/core/image-describer.js.map +1 -0
  21. package/dist/core/mcp-client.d.ts +17 -4
  22. package/dist/core/mcp-client.d.ts.map +1 -1
  23. package/dist/core/mcp-client.js +32 -16
  24. package/dist/core/mcp-client.js.map +1 -1
  25. package/dist/core/mcp-computer.d.ts +10 -2
  26. package/dist/core/mcp-computer.d.ts.map +1 -1
  27. package/dist/core/mcp-computer.js +108 -2
  28. package/dist/core/mcp-computer.js.map +1 -1
  29. package/dist/core/mcp-fs-storage.d.ts +8 -0
  30. package/dist/core/mcp-fs-storage.d.ts.map +1 -0
  31. package/dist/core/mcp-fs-storage.js +27 -0
  32. package/dist/core/mcp-fs-storage.js.map +1 -0
  33. package/dist/core/mcp-rng.d.ts +7 -0
  34. package/dist/core/mcp-rng.d.ts.map +1 -0
  35. package/dist/core/mcp-rng.js +14 -0
  36. package/dist/core/mcp-rng.js.map +1 -0
  37. package/dist/core/mcp-server.d.ts +8 -4
  38. package/dist/core/mcp-server.d.ts.map +1 -1
  39. package/dist/core/mcp-server.js +20 -3
  40. package/dist/core/mcp-server.js.map +1 -1
  41. package/dist/core/mcp-storage.d.ts +5 -0
  42. package/dist/core/mcp-storage.d.ts.map +1 -0
  43. package/dist/core/mcp-storage.js +3 -0
  44. package/dist/core/mcp-storage.js.map +1 -0
  45. package/dist/core/mcp.d.ts +37 -3
  46. package/dist/core/mcp.d.ts.map +1 -1
  47. package/dist/core/mcp.js +42 -1
  48. package/dist/core/mcp.js.map +1 -1
  49. package/dist/core/ollama-provider.d.ts +10 -3
  50. package/dist/core/ollama-provider.d.ts.map +1 -1
  51. package/dist/core/ollama-provider.js +122 -41
  52. package/dist/core/ollama-provider.js.map +1 -1
  53. package/dist/core/retry.d.ts +10 -0
  54. package/dist/core/retry.d.ts.map +1 -0
  55. package/dist/core/retry.js +39 -0
  56. package/dist/core/retry.js.map +1 -0
  57. package/dist/core/skill.d.ts +3 -0
  58. package/dist/core/skill.d.ts.map +1 -1
  59. package/dist/core/skill.js.map +1 -1
  60. package/dist/core/tool-schema-translator.d.ts +10 -0
  61. package/dist/core/tool-schema-translator.d.ts.map +1 -0
  62. package/dist/core/tool-schema-translator.js +29 -0
  63. package/dist/core/tool-schema-translator.js.map +1 -0
  64. package/dist/index.d.ts +34 -6
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +25 -5
  67. package/dist/index.js.map +1 -1
  68. package/dist/sandbox.d.ts +2 -0
  69. package/dist/sandbox.d.ts.map +1 -0
  70. package/dist/sandbox.js +27 -0
  71. package/dist/sandbox.js.map +1 -0
  72. package/dist/skills/backend-security.d.ts +4 -0
  73. package/dist/skills/backend-security.d.ts.map +1 -0
  74. package/dist/skills/backend-security.js +74 -0
  75. package/dist/skills/backend-security.js.map +1 -0
  76. package/dist/skills/big-task.d.ts +4 -0
  77. package/dist/skills/big-task.d.ts.map +1 -0
  78. package/dist/skills/big-task.js +66 -0
  79. package/dist/skills/big-task.js.map +1 -0
  80. package/dist/skills/code-verification.d.ts +4 -0
  81. package/dist/skills/code-verification.d.ts.map +1 -0
  82. package/dist/skills/code-verification.js +59 -0
  83. package/dist/skills/code-verification.js.map +1 -0
  84. package/dist/skills/long-task-efficiency.d.ts +4 -0
  85. package/dist/skills/long-task-efficiency.d.ts.map +1 -0
  86. package/dist/skills/long-task-efficiency.js +50 -0
  87. package/dist/skills/long-task-efficiency.js.map +1 -0
  88. package/dist/skills/node-backend.d.ts +4 -0
  89. package/dist/skills/node-backend.d.ts.map +1 -0
  90. package/dist/skills/node-backend.js +110 -0
  91. package/dist/skills/node-backend.js.map +1 -0
  92. package/dist/skills/planner.d.ts +4 -0
  93. package/dist/skills/planner.d.ts.map +1 -0
  94. package/dist/skills/planner.js +49 -0
  95. package/dist/skills/planner.js.map +1 -0
  96. package/dist/skills/present.d.ts +4 -0
  97. package/dist/skills/present.d.ts.map +1 -0
  98. package/dist/skills/present.js +56 -0
  99. package/dist/skills/present.js.map +1 -0
  100. package/dist/skills/question-answer.d.ts +4 -0
  101. package/dist/skills/question-answer.d.ts.map +1 -0
  102. package/dist/skills/question-answer.js +55 -0
  103. package/dist/skills/question-answer.js.map +1 -0
  104. package/dist/skills/react-frontend.d.ts +4 -0
  105. package/dist/skills/react-frontend.d.ts.map +1 -0
  106. package/dist/skills/react-frontend.js +111 -0
  107. package/dist/skills/react-frontend.js.map +1 -0
  108. package/dist/skills/research.d.ts +4 -0
  109. package/dist/skills/research.d.ts.map +1 -0
  110. package/dist/skills/research.js +81 -0
  111. package/dist/skills/research.js.map +1 -0
  112. package/dist/skills/shopping.d.ts +4 -0
  113. package/dist/skills/shopping.d.ts.map +1 -0
  114. package/dist/skills/shopping.js +71 -0
  115. package/dist/skills/shopping.js.map +1 -0
  116. package/dist/skills/ui-ux-design.d.ts +4 -0
  117. package/dist/skills/ui-ux-design.d.ts.map +1 -0
  118. package/dist/skills/ui-ux-design.js +70 -0
  119. package/dist/skills/ui-ux-design.js.map +1 -0
  120. package/dist/skills/web-end-to-end-test.d.ts +4 -0
  121. package/dist/skills/web-end-to-end-test.d.ts.map +1 -0
  122. package/dist/skills/web-end-to-end-test.js +76 -0
  123. package/dist/skills/web-end-to-end-test.js.map +1 -0
  124. package/dist/templates/simple.d.ts +1 -1
  125. package/dist/templates/simple.d.ts.map +1 -1
  126. package/dist/templates/simple.js +4 -0
  127. package/dist/templates/simple.js.map +1 -1
  128. package/dist/tests/mcp.test.js +2 -54
  129. package/dist/tests/mcp.test.js.map +1 -1
  130. package/dist/tools/bash/index.d.ts +10 -0
  131. package/dist/tools/bash/index.d.ts.map +1 -0
  132. package/dist/tools/bash/index.js +22 -0
  133. package/dist/tools/bash/index.js.map +1 -0
  134. package/dist/tools/bash/interaction.d.ts +29 -0
  135. package/dist/tools/bash/interaction.d.ts.map +1 -0
  136. package/dist/tools/bash/interaction.js +13 -0
  137. package/dist/tools/bash/interaction.js.map +1 -0
  138. package/dist/tools/bash/list.d.ts +4 -0
  139. package/dist/tools/bash/list.d.ts.map +1 -0
  140. package/dist/tools/bash/list.js +23 -0
  141. package/dist/tools/bash/list.js.map +1 -0
  142. package/dist/tools/bash/logs.d.ts +4 -0
  143. package/dist/tools/bash/logs.d.ts.map +1 -0
  144. package/dist/tools/bash/logs.js +47 -0
  145. package/dist/tools/bash/logs.js.map +1 -0
  146. package/dist/tools/bash/process-manager.d.ts +35 -0
  147. package/dist/tools/bash/process-manager.d.ts.map +1 -0
  148. package/dist/tools/bash/process-manager.js +137 -0
  149. package/dist/tools/bash/process-manager.js.map +1 -0
  150. package/dist/tools/bash/run.d.ts +5 -0
  151. package/dist/tools/bash/run.d.ts.map +1 -0
  152. package/dist/tools/bash/run.js +57 -0
  153. package/dist/tools/bash/run.js.map +1 -0
  154. package/dist/tools/bash/terminate.d.ts +5 -0
  155. package/dist/tools/bash/terminate.d.ts.map +1 -0
  156. package/dist/tools/bash/terminate.js +39 -0
  157. package/dist/tools/bash/terminate.js.map +1 -0
  158. package/dist/tools/bash/wait.d.ts +5 -0
  159. package/dist/tools/bash/wait.d.ts.map +1 -0
  160. package/dist/tools/bash/wait.js +50 -0
  161. package/dist/tools/bash/wait.js.map +1 -0
  162. package/dist/tools/bash/write-input.d.ts +5 -0
  163. package/dist/tools/bash/write-input.d.ts.map +1 -0
  164. package/dist/tools/bash/write-input.js +47 -0
  165. package/dist/tools/bash/write-input.js.map +1 -0
  166. package/dist/tools/browser/click.d.ts +5 -0
  167. package/dist/tools/browser/click.d.ts.map +1 -0
  168. package/dist/tools/browser/click.js +44 -0
  169. package/dist/tools/browser/click.js.map +1 -0
  170. package/dist/tools/browser/console.d.ts +4 -0
  171. package/dist/tools/browser/console.d.ts.map +1 -0
  172. package/dist/tools/browser/console.js +41 -0
  173. package/dist/tools/browser/console.js.map +1 -0
  174. package/dist/tools/browser/create-session.d.ts +5 -0
  175. package/dist/tools/browser/create-session.d.ts.map +1 -0
  176. package/dist/tools/browser/create-session.js +30 -0
  177. package/dist/tools/browser/create-session.js.map +1 -0
  178. package/dist/tools/browser/evaluate-safe.d.ts +10 -0
  179. package/dist/tools/browser/evaluate-safe.d.ts.map +1 -0
  180. package/dist/tools/browser/evaluate-safe.js +65 -0
  181. package/dist/tools/browser/evaluate-safe.js.map +1 -0
  182. package/dist/tools/browser/fill.d.ts +5 -0
  183. package/dist/tools/browser/fill.d.ts.map +1 -0
  184. package/dist/tools/browser/fill.js +78 -0
  185. package/dist/tools/browser/fill.js.map +1 -0
  186. package/dist/tools/browser/get-sessions.d.ts +4 -0
  187. package/dist/tools/browser/get-sessions.d.ts.map +1 -0
  188. package/dist/tools/browser/get-sessions.js +14 -0
  189. package/dist/tools/browser/get-sessions.js.map +1 -0
  190. package/dist/tools/browser/index.d.ts +19 -0
  191. package/dist/tools/browser/index.d.ts.map +1 -0
  192. package/dist/tools/browser/index.js +49 -0
  193. package/dist/tools/browser/index.js.map +1 -0
  194. package/dist/tools/browser/inject.d.ts +5 -0
  195. package/dist/tools/browser/inject.d.ts.map +1 -0
  196. package/dist/tools/browser/inject.js +51 -0
  197. package/dist/tools/browser/inject.js.map +1 -0
  198. package/dist/tools/browser/interaction.d.ts +49 -0
  199. package/dist/tools/browser/interaction.d.ts.map +1 -0
  200. package/dist/tools/browser/interaction.js +14 -0
  201. package/dist/tools/browser/interaction.js.map +1 -0
  202. package/dist/tools/browser/navigate.d.ts +5 -0
  203. package/dist/tools/browser/navigate.d.ts.map +1 -0
  204. package/dist/tools/browser/navigate.js +39 -0
  205. package/dist/tools/browser/navigate.js.map +1 -0
  206. package/dist/tools/browser/network-status.d.ts +4 -0
  207. package/dist/tools/browser/network-status.d.ts.map +1 -0
  208. package/dist/tools/browser/network-status.js +35 -0
  209. package/dist/tools/browser/network-status.js.map +1 -0
  210. package/dist/tools/browser/network.d.ts +4 -0
  211. package/dist/tools/browser/network.d.ts.map +1 -0
  212. package/dist/tools/browser/network.js +51 -0
  213. package/dist/tools/browser/network.js.map +1 -0
  214. package/dist/tools/browser/read-page.d.ts +45 -0
  215. package/dist/tools/browser/read-page.d.ts.map +1 -0
  216. package/dist/tools/browser/read-page.js +264 -0
  217. package/dist/tools/browser/read-page.js.map +1 -0
  218. package/dist/tools/browser/read.d.ts +5 -0
  219. package/dist/tools/browser/read.d.ts.map +1 -0
  220. package/dist/tools/browser/read.js +56 -0
  221. package/dist/tools/browser/read.js.map +1 -0
  222. package/dist/tools/browser/remove-session.d.ts +5 -0
  223. package/dist/tools/browser/remove-session.d.ts.map +1 -0
  224. package/dist/tools/browser/remove-session.js +29 -0
  225. package/dist/tools/browser/remove-session.js.map +1 -0
  226. package/dist/tools/browser/screenshot.d.ts +5 -0
  227. package/dist/tools/browser/screenshot.d.ts.map +1 -0
  228. package/dist/tools/browser/screenshot.js +50 -0
  229. package/dist/tools/browser/screenshot.js.map +1 -0
  230. package/dist/tools/browser/scroll-info.d.ts +4 -0
  231. package/dist/tools/browser/scroll-info.d.ts.map +1 -0
  232. package/dist/tools/browser/scroll-info.js +28 -0
  233. package/dist/tools/browser/scroll-info.js.map +1 -0
  234. package/dist/tools/browser/scroll.d.ts +5 -0
  235. package/dist/tools/browser/scroll.d.ts.map +1 -0
  236. package/dist/tools/browser/scroll.js +43 -0
  237. package/dist/tools/browser/scroll.js.map +1 -0
  238. package/dist/tools/browser/session-manager.d.ts +35 -0
  239. package/dist/tools/browser/session-manager.d.ts.map +1 -0
  240. package/dist/tools/browser/session-manager.js +101 -0
  241. package/dist/tools/browser/session-manager.js.map +1 -0
  242. package/dist/tools/browser/submit-form.d.ts +5 -0
  243. package/dist/tools/browser/submit-form.d.ts.map +1 -0
  244. package/dist/tools/browser/submit-form.js +45 -0
  245. package/dist/tools/browser/submit-form.js.map +1 -0
  246. package/dist/tools/fs/create-dir.d.ts +5 -0
  247. package/dist/tools/fs/create-dir.d.ts.map +1 -0
  248. package/dist/tools/fs/create-dir.js +28 -0
  249. package/dist/tools/fs/create-dir.js.map +1 -0
  250. package/dist/tools/fs/delete.d.ts +5 -0
  251. package/dist/tools/fs/delete.d.ts.map +1 -0
  252. package/dist/tools/fs/delete.js +45 -0
  253. package/dist/tools/fs/delete.js.map +1 -0
  254. package/dist/tools/fs/edit-file.d.ts +5 -0
  255. package/dist/tools/fs/edit-file.d.ts.map +1 -0
  256. package/dist/tools/fs/edit-file.js +74 -0
  257. package/dist/tools/fs/edit-file.js.map +1 -0
  258. package/dist/tools/fs/index.d.ts +11 -2
  259. package/dist/tools/fs/index.d.ts.map +1 -1
  260. package/dist/tools/fs/index.js +27 -2
  261. package/dist/tools/fs/index.js.map +1 -1
  262. package/dist/tools/fs/interaction.d.ts +37 -0
  263. package/dist/tools/fs/interaction.d.ts.map +1 -0
  264. package/dist/tools/fs/interaction.js +13 -0
  265. package/dist/tools/fs/interaction.js.map +1 -0
  266. package/dist/tools/fs/list-dir.d.ts +5 -0
  267. package/dist/tools/fs/list-dir.d.ts.map +1 -0
  268. package/dist/tools/fs/list-dir.js +87 -0
  269. package/dist/tools/fs/list-dir.js.map +1 -0
  270. package/dist/tools/fs/move.d.ts +5 -0
  271. package/dist/tools/fs/move.d.ts.map +1 -0
  272. package/dist/tools/fs/move.js +44 -0
  273. package/dist/tools/fs/move.js.map +1 -0
  274. package/dist/tools/fs/read-file.d.ts +4 -3
  275. package/dist/tools/fs/read-file.d.ts.map +1 -1
  276. package/dist/tools/fs/read-file.js +50 -42
  277. package/dist/tools/fs/read-file.js.map +1 -1
  278. package/dist/tools/fs/stat.d.ts +5 -0
  279. package/dist/tools/fs/stat.d.ts.map +1 -0
  280. package/dist/tools/fs/stat.js +40 -0
  281. package/dist/tools/fs/stat.js.map +1 -0
  282. package/dist/tools/fs/utils.d.ts +20 -0
  283. package/dist/tools/fs/utils.d.ts.map +1 -0
  284. package/dist/tools/fs/utils.js +33 -0
  285. package/dist/tools/fs/utils.js.map +1 -0
  286. package/dist/tools/fs/write-file.d.ts +4 -3
  287. package/dist/tools/fs/write-file.d.ts.map +1 -1
  288. package/dist/tools/fs/write-file.js +39 -58
  289. package/dist/tools/fs/write-file.js.map +1 -1
  290. package/dist/tools/present/add.d.ts +5 -0
  291. package/dist/tools/present/add.d.ts.map +1 -0
  292. package/dist/tools/present/add.js +54 -0
  293. package/dist/tools/present/add.js.map +1 -0
  294. package/dist/tools/present/clear.d.ts +5 -0
  295. package/dist/tools/present/clear.d.ts.map +1 -0
  296. package/dist/tools/present/clear.js +23 -0
  297. package/dist/tools/present/clear.js.map +1 -0
  298. package/dist/tools/present/get-list.d.ts +5 -0
  299. package/dist/tools/present/get-list.d.ts.map +1 -0
  300. package/dist/tools/present/get-list.js +24 -0
  301. package/dist/tools/present/get-list.js.map +1 -0
  302. package/dist/tools/present/index.d.ts +8 -0
  303. package/dist/tools/present/index.d.ts.map +1 -0
  304. package/dist/tools/present/index.js +14 -0
  305. package/dist/tools/present/index.js.map +1 -0
  306. package/dist/tools/present/interaction.d.ts +17 -0
  307. package/dist/tools/present/interaction.d.ts.map +1 -0
  308. package/dist/tools/present/interaction.js +15 -0
  309. package/dist/tools/present/interaction.js.map +1 -0
  310. package/dist/tools/present/utils.d.ts +12 -0
  311. package/dist/tools/present/utils.d.ts.map +1 -0
  312. package/dist/tools/present/utils.js +40 -0
  313. package/dist/tools/present/utils.js.map +1 -0
  314. package/dist/tools/question-answer/index.d.ts +5 -0
  315. package/dist/tools/question-answer/index.d.ts.map +1 -0
  316. package/dist/tools/question-answer/index.js +7 -0
  317. package/dist/tools/question-answer/index.js.map +1 -0
  318. package/dist/tools/question-answer/interaction.d.ts +14 -0
  319. package/dist/tools/question-answer/interaction.d.ts.map +1 -0
  320. package/dist/tools/question-answer/interaction.js +13 -0
  321. package/dist/tools/question-answer/interaction.js.map +1 -0
  322. package/dist/tools/question-answer/question-answer.d.ts +5 -0
  323. package/dist/tools/question-answer/question-answer.d.ts.map +1 -0
  324. package/dist/tools/question-answer/question-answer.js +24 -0
  325. package/dist/tools/question-answer/question-answer.js.map +1 -0
  326. package/dist/tools/todo/check-task.d.ts +5 -0
  327. package/dist/tools/todo/check-task.d.ts.map +1 -0
  328. package/dist/tools/todo/check-task.js +49 -0
  329. package/dist/tools/todo/check-task.js.map +1 -0
  330. package/dist/tools/todo/create-list.d.ts +5 -0
  331. package/dist/tools/todo/create-list.d.ts.map +1 -0
  332. package/dist/tools/todo/create-list.js +36 -0
  333. package/dist/tools/todo/create-list.js.map +1 -0
  334. package/dist/tools/todo/create-task.d.ts +5 -0
  335. package/dist/tools/todo/create-task.d.ts.map +1 -0
  336. package/dist/tools/todo/create-task.js +63 -0
  337. package/dist/tools/todo/create-task.js.map +1 -0
  338. package/dist/tools/todo/get-list.d.ts +4 -0
  339. package/dist/tools/todo/get-list.d.ts.map +1 -0
  340. package/dist/tools/todo/get-list.js +38 -0
  341. package/dist/tools/todo/get-list.js.map +1 -0
  342. package/dist/tools/todo/get-lists.d.ts +4 -0
  343. package/dist/tools/todo/get-lists.d.ts.map +1 -0
  344. package/dist/tools/todo/get-lists.js +18 -0
  345. package/dist/tools/todo/get-lists.js.map +1 -0
  346. package/dist/tools/todo/index.d.ts +12 -0
  347. package/dist/tools/todo/index.d.ts.map +1 -0
  348. package/dist/tools/todo/index.js +25 -0
  349. package/dist/tools/todo/index.js.map +1 -0
  350. package/dist/tools/todo/interaction.d.ts +30 -0
  351. package/dist/tools/todo/interaction.d.ts.map +1 -0
  352. package/dist/tools/todo/interaction.js +13 -0
  353. package/dist/tools/todo/interaction.js.map +1 -0
  354. package/dist/tools/todo/remove-list.d.ts +5 -0
  355. package/dist/tools/todo/remove-list.d.ts.map +1 -0
  356. package/dist/tools/todo/remove-list.js +42 -0
  357. package/dist/tools/todo/remove-list.js.map +1 -0
  358. package/dist/tools/todo/remove-task.d.ts +5 -0
  359. package/dist/tools/todo/remove-task.d.ts.map +1 -0
  360. package/dist/tools/todo/remove-task.js +45 -0
  361. package/dist/tools/todo/remove-task.js.map +1 -0
  362. package/dist/tools/todo/storage.d.ts +22 -0
  363. package/dist/tools/todo/storage.d.ts.map +1 -0
  364. package/dist/tools/todo/storage.js +44 -0
  365. package/dist/tools/todo/storage.js.map +1 -0
  366. package/dist/tools/utils/delay.d.ts +10 -0
  367. package/dist/tools/utils/delay.d.ts.map +1 -0
  368. package/dist/tools/utils/delay.js +33 -0
  369. package/dist/tools/utils/delay.js.map +1 -0
  370. package/dist/tools/utils/get-current-time.d.ts +7 -2
  371. package/dist/tools/utils/get-current-time.d.ts.map +1 -1
  372. package/dist/tools/utils/get-current-time.js +12 -31
  373. package/dist/tools/utils/get-current-time.js.map +1 -1
  374. package/dist/tools/utils/index.d.ts +2 -0
  375. package/dist/tools/utils/index.d.ts.map +1 -1
  376. package/dist/tools/utils/index.js +7 -0
  377. package/dist/tools/utils/index.js.map +1 -1
  378. package/package.json +54 -56
  379. package/dist/templates/researcher.d.ts +0 -27
  380. package/dist/templates/researcher.d.ts.map +0 -1
  381. package/dist/templates/researcher.js +0 -70
  382. package/dist/templates/researcher.js.map +0 -1
  383. package/dist/tools/www/fetch.d.ts +0 -4
  384. package/dist/tools/www/fetch.d.ts.map +0 -1
  385. package/dist/tools/www/fetch.js +0 -147
  386. package/dist/tools/www/fetch.js.map +0 -1
  387. package/dist/tools/www/index.d.ts +0 -4
  388. package/dist/tools/www/index.d.ts.map +0 -1
  389. package/dist/tools/www/index.js +0 -4
  390. package/dist/tools/www/index.js.map +0 -1
  391. package/dist/tools/www/read-web-page.d.ts +0 -4
  392. package/dist/tools/www/read-web-page.d.ts.map +0 -1
  393. package/dist/tools/www/read-web-page.js +0 -330
  394. package/dist/tools/www/read-web-page.js.map +0 -1
  395. package/dist/tools/www/web-search.d.ts +0 -4
  396. package/dist/tools/www/web-search.d.ts.map +0 -1
  397. package/dist/tools/www/web-search.js +0 -82
  398. package/dist/tools/www/web-search.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/present/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQ9C,eAAO,MAAM,YAAY,yFAIxB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export { PresentAddTool } from "./add.js";
2
+ export { PresentClearTool } from "./clear.js";
3
+ export { PresentGetListTool } from "./get-list.js";
4
+ export { PresentInteraction } from "./interaction.js";
5
+ export { getPresentFolder } from "./utils.js";
6
+ import { PresentAddTool } from "./add.js";
7
+ import { PresentClearTool } from "./clear.js";
8
+ import { PresentGetListTool } from "./get-list.js";
9
+ export const PresentTools = () => [
10
+ PresentAddTool(),
11
+ PresentClearTool(),
12
+ PresentGetListTool()
13
+ ];
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/present/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC;IAC9B,cAAc,EAAE;IAChB,gBAAgB,EAAE;IAClB,kBAAkB,EAAE;CACvB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { MCPCustomClass } from "../../core/mcp.js";
2
+ export type PresentEvent = {
3
+ type: "presents-updated";
4
+ paths: string[];
5
+ };
6
+ /**
7
+ * Shared custom interaction class for all present tools. A frontend can
8
+ * listen on getEvents() to know the instant the set of presented files
9
+ * changes (a new file was added, or everything was cleared) so it can
10
+ * re-render whatever "here's the output" panel it shows the user, without
11
+ * polling the present folder itself.
12
+ */
13
+ export declare class PresentInteraction extends MCPCustomClass {
14
+ emitPresentEvent(event: PresentEvent): void;
15
+ }
16
+ export default PresentInteraction;
17
+ //# sourceMappingURL=interaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../src/tools/present/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,YAAY,GAClB;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpD;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IAClD,gBAAgB,CAAC,KAAK,EAAE,YAAY;CAGvC;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { MCPCustomClass } from "../../core/mcp.js";
2
+ /**
3
+ * Shared custom interaction class for all present tools. A frontend can
4
+ * listen on getEvents() to know the instant the set of presented files
5
+ * changes (a new file was added, or everything was cleared) so it can
6
+ * re-render whatever "here's the output" panel it shows the user, without
7
+ * polling the present folder itself.
8
+ */
9
+ export class PresentInteraction extends MCPCustomClass {
10
+ emitPresentEvent(event) {
11
+ this.getEvents().emit("present", event);
12
+ }
13
+ }
14
+ export default PresentInteraction;
15
+ //# sourceMappingURL=interaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../src/tools/present/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD;;;;;;GAMG;AACH,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IAClD,gBAAgB,CAAC,KAAmB;QAChC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;CACJ;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Resolves the folder every "present" file lives in. Configurable via
3
+ * PRESENT_PATH so a host application can redirect it (e.g. into a folder a
4
+ * frontend is already serving); otherwise defaults to <cwd>/data/present.
5
+ */
6
+ export declare function getPresentFolder(): string;
7
+ /** Ensures the present folder exists on disk and returns its path. */
8
+ export declare function ensurePresentFolder(): Promise<string>;
9
+ /** Lists the absolute paths of every file currently sitting in the present folder (top level only — presents are always files, never folders). */
10
+ export declare function listPresentFiles(): Promise<string[]>;
11
+ export declare function fileSize(path: string): Promise<number | undefined>;
12
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tools/present/utils.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,sEAAsE;AACtE,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAI3D;AAED,kJAAkJ;AAClJ,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAc1D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAMxE"}
@@ -0,0 +1,40 @@
1
+ import { join } from "path";
2
+ import { mkdir, readdir, stat } from "fs/promises";
3
+ /**
4
+ * Resolves the folder every "present" file lives in. Configurable via
5
+ * PRESENT_PATH so a host application can redirect it (e.g. into a folder a
6
+ * frontend is already serving); otherwise defaults to <cwd>/data/present.
7
+ */
8
+ export function getPresentFolder() {
9
+ return process.env.PRESENT_PATH || join(process.cwd(), "data", "present");
10
+ }
11
+ /** Ensures the present folder exists on disk and returns its path. */
12
+ export async function ensurePresentFolder() {
13
+ const folder = getPresentFolder();
14
+ await mkdir(folder, { recursive: true });
15
+ return folder;
16
+ }
17
+ /** Lists the absolute paths of every file currently sitting in the present folder (top level only — presents are always files, never folders). */
18
+ export async function listPresentFiles() {
19
+ const folder = await ensurePresentFolder();
20
+ const dirents = await readdir(folder, { withFileTypes: true });
21
+ const paths = [];
22
+ for (const d of dirents) {
23
+ // Defensive: presents are only ever added as files (fs-copy of a
24
+ // single file), but if something else ever puts a directory in
25
+ // here, don't surface it as a presentable item.
26
+ if (d.isFile()) {
27
+ paths.push(join(folder, d.name));
28
+ }
29
+ }
30
+ return paths;
31
+ }
32
+ export async function fileSize(path) {
33
+ try {
34
+ return (await stat(path)).size;
35
+ }
36
+ catch {
37
+ return undefined;
38
+ }
39
+ }
40
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/tools/present/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC9E,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACrC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,kJAAkJ;AAClJ,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACtB,iEAAiE;QACjE,+DAA+D;QAC/D,gDAAgD;QAChD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY;IACvC,IAAI,CAAC;QACD,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { QuestionAnswerTool } from "./question-answer.js";
2
+ export { QuestionAnswerInteraction } from "./interaction.js";
3
+ export type { QuestionAnswerEvent } from "./interaction.js";
4
+ export declare const QuestionAnswerTools: () => import("../../index.js").MCPTool<import("./interaction.js").QuestionAnswerInteraction>[];
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/question-answer/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,eAAO,MAAM,mBAAmB,gGAE/B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { QuestionAnswerTool } from "./question-answer.js";
2
+ export { QuestionAnswerTool } from "./question-answer.js";
3
+ export { QuestionAnswerInteraction } from "./interaction.js";
4
+ export const QuestionAnswerTools = () => [
5
+ QuestionAnswerTool()
6
+ ];
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/question-answer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAG5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC;IACrC,kBAAkB,EAAE;CACvB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { MCPCustomClass } from "../../core/mcp.js";
2
+ export type QuestionAnswerEvent = {
3
+ type: "question-answer";
4
+ };
5
+ /**
6
+ * Shared custom interaction class for all filesystem tools. A frontend can
7
+ * listen on getEvents() to reflect live activity (e.g. "Reading file.ts...",
8
+ * "Writing config.json...") while the agent works on disk.
9
+ */
10
+ export declare class QuestionAnswerInteraction extends MCPCustomClass {
11
+ emitQuestionAnswerEvent(event: QuestionAnswerEvent): void;
12
+ }
13
+ export default QuestionAnswerInteraction;
14
+ //# sourceMappingURL=interaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../src/tools/question-answer/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,mBAAmB,GACzB;IAAE,IAAI,EAAE,iBAAiB,CAAC;CAAE,CAAC;AAEnC;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,cAAc;IACzD,uBAAuB,CAAC,KAAK,EAAE,mBAAmB;CAGrD;AAED,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { MCPCustomClass } from "../../core/mcp.js";
2
+ /**
3
+ * Shared custom interaction class for all filesystem tools. A frontend can
4
+ * listen on getEvents() to reflect live activity (e.g. "Reading file.ts...",
5
+ * "Writing config.json...") while the agent works on disk.
6
+ */
7
+ export class QuestionAnswerInteraction extends MCPCustomClass {
8
+ emitQuestionAnswerEvent(event) {
9
+ this.getEvents().emit("question-answer", event);
10
+ }
11
+ }
12
+ export default QuestionAnswerInteraction;
13
+ //# sourceMappingURL=interaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../src/tools/question-answer/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD;;;;GAIG;AACH,MAAM,OAAO,yBAA0B,SAAQ,cAAc;IACzD,uBAAuB,CAAC,KAA0B;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;CACJ;AAED,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { MCPTool } from "../../core/mcp.js";
2
+ import QuestionAnswerInteraction from "./interaction.js";
3
+ export declare const QuestionAnswerTool: () => MCPTool<QuestionAnswerInteraction>;
4
+ export default QuestionAnswerTool;
5
+ //# sourceMappingURL=question-answer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-answer.d.ts","sourceRoot":"","sources":["../../../src/tools/question-answer/question-answer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,yBAAyB,MAAM,kBAAkB,CAAC;AAEzD,eAAO,MAAM,kBAAkB,0CA0B7B,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { MCPTool } from "../../core/mcp.js";
2
+ import QuestionAnswerInteraction from "./interaction.js";
3
+ export const QuestionAnswerTool = () => new MCPTool({
4
+ name: "question-answer",
5
+ description: "when you want ask some questions before continue doing task",
6
+ inputs: [
7
+ {
8
+ name: "questions",
9
+ type: "array",
10
+ description: "array of {question, predefinedAnswer?: string[]} objects to create",
11
+ required: true,
12
+ },
13
+ ],
14
+ stopIterationAfterUsingThisTool: true,
15
+ customClass: new QuestionAnswerInteraction(),
16
+ execute: async (_envID, inputs, _mcp, customClass) => {
17
+ customClass?.emitQuestionAnswerEvent({ type: "question-answer" });
18
+ return {
19
+ message: "success",
20
+ };
21
+ },
22
+ });
23
+ export default QuestionAnswerTool;
24
+ //# sourceMappingURL=question-answer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-answer.js","sourceRoot":"","sources":["../../../src/tools/question-answer/question-answer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,yBAAyB,MAAM,kBAAkB,CAAC;AAEzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAA4B;IAC3E,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,6DAA6D;IAC1E,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,oEAAoE;YACjF,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,+BAA+B,EAAE,IAAI;IACrC,WAAW,EAAE,IAAI,yBAAyB,EAAE;IAC5C,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,IAAU,EACV,WAAuC,EAC3B,EAAE;QAEd,WAAW,EAAE,uBAAuB,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAElE,OAAO;YACH,OAAO,EAAE,SAAS;SACrB,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { MCPTool } from "../../core/mcp.js";
2
+ import { TodoInteraction } from "./interaction.js";
3
+ export declare const TodoCheckTaskTool: () => MCPTool<TodoInteraction>;
4
+ export default TodoCheckTaskTool;
5
+ //# sourceMappingURL=check-task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-task.d.ts","sourceRoot":"","sources":["../../../src/tools/todo/check-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,eAAO,MAAM,iBAAiB,gCAsD5B,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { MCPTool } from "../../core/mcp.js";
2
+ import { TodoInteraction } from "./interaction.js";
3
+ import { getTask, setTask } from "./storage.js";
4
+ export const TodoCheckTaskTool = () => new MCPTool({
5
+ name: "todo-check-task",
6
+ description: "set the checked state of one or more tasks",
7
+ inputs: [
8
+ {
9
+ name: "tasks",
10
+ type: "array",
11
+ description: "array of todoTaskId to update",
12
+ required: true,
13
+ },
14
+ {
15
+ name: "check",
16
+ type: "boolean",
17
+ description: "true to check the tasks, false to uncheck them",
18
+ required: true,
19
+ },
20
+ ],
21
+ customClass: new TodoInteraction(),
22
+ execute: async (_envID, inputs, mcp, customClass) => {
23
+ const { tasks, check } = inputs;
24
+ if (!Array.isArray(tasks) || tasks.some((t) => typeof t !== "string")) {
25
+ throw new Error("tasks must be an array of task id strings");
26
+ }
27
+ if (typeof check !== "boolean") {
28
+ throw new Error("check must be a boolean");
29
+ }
30
+ if (!mcp) {
31
+ throw new Error("todo-check-task requires an MCP context");
32
+ }
33
+ const updated = [];
34
+ for (const taskId of tasks) {
35
+ const task = await getTask(mcp, taskId);
36
+ if (!task)
37
+ continue;
38
+ task.checked = check;
39
+ await setTask(mcp, task);
40
+ updated.push(taskId);
41
+ }
42
+ customClass?.emitTodoEvent({ type: "task-checked", taskIds: updated, checked: check });
43
+ return {
44
+ message: "success",
45
+ };
46
+ },
47
+ });
48
+ export default TodoCheckTaskTool;
49
+ //# sourceMappingURL=check-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-task.js","sourceRoot":"","sources":["../../../src/tools/todo/check-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAkB;IAChE,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,4CAA4C;IACzD,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,WAAW,EAAE,IAAI,eAAe,EAAE;IAClC,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,GAAS,EACT,WAA6B,EACjB,EAAE;QACd,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAEhC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,MAAM,IAAI,KAAiB,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,WAAW,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAEvF,OAAO;YACH,OAAO,EAAE,SAAS;SACrB,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { MCPTool } from "../../core/mcp.js";
2
+ import { TodoInteraction } from "./interaction.js";
3
+ export declare const TodoCreateListTool: () => MCPTool<TodoInteraction>;
4
+ export default TodoCreateListTool;
5
+ //# sourceMappingURL=create-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-list.d.ts","sourceRoot":"","sources":["../../../src/tools/todo/create-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,eAAO,MAAM,kBAAkB,gCA0C7B,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { MCPTool, generateRefId } from "../../core/mcp.js";
2
+ import { TodoInteraction } from "./interaction.js";
3
+ import { getListIndex, setListIndex, setList } from "./storage.js";
4
+ export const TodoCreateListTool = () => new MCPTool({
5
+ name: "todo-create-list",
6
+ description: "create a new todo list, returns its todoListId",
7
+ inputs: [
8
+ {
9
+ name: "name",
10
+ type: "string",
11
+ description: "display name of the list",
12
+ required: true,
13
+ },
14
+ ],
15
+ customClass: new TodoInteraction(),
16
+ execute: async (_envID, inputs, mcp, customClass) => {
17
+ const { name } = inputs;
18
+ if (!name || typeof name !== "string") {
19
+ throw new Error("name must be a non-empty string");
20
+ }
21
+ if (!mcp) {
22
+ throw new Error("todo-create-list requires an MCP context");
23
+ }
24
+ const todoListId = await generateRefId(mcp);
25
+ await setList(mcp, { id: todoListId, name, taskIds: [] });
26
+ const index = await getListIndex(mcp);
27
+ index.push(todoListId);
28
+ await setListIndex(mcp, index);
29
+ customClass?.emitTodoEvent({ type: "list-created", listId: todoListId, name });
30
+ return {
31
+ todoListId,
32
+ };
33
+ },
34
+ });
35
+ export default TodoCreateListTool;
36
+ //# sourceMappingURL=create-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-list.js","sourceRoot":"","sources":["../../../src/tools/todo/create-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAY,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAkB;IACjE,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,gDAAgD;IAC7D,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,WAAW,EAAE,IAAI,eAAe,EAAE;IAClC,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,GAAS,EACT,WAA6B,EACjB,EAAE;QACd,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAExB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QAE5C,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE/B,WAAW,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/E,OAAO;YACH,UAAU;SACb,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { MCPTool } from "../../core/mcp.js";
2
+ import { TodoInteraction } from "./interaction.js";
3
+ export declare const TodoCreateTaskTool: () => MCPTool<TodoInteraction>;
4
+ export default TodoCreateTaskTool;
5
+ //# sourceMappingURL=create-task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-task.d.ts","sourceRoot":"","sources":["../../../src/tools/todo/create-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,eAAO,MAAM,kBAAkB,gCAwE7B,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { MCPTool, generateRefId } from "../../core/mcp.js";
2
+ import { TodoInteraction } from "./interaction.js";
3
+ import { getList, setList, setTask } from "./storage.js";
4
+ export const TodoCreateTaskTool = () => new MCPTool({
5
+ name: "todo-create-task",
6
+ description: "create one or more tasks inside a todo list, returns their todoTaskIds",
7
+ inputs: [
8
+ {
9
+ name: "list",
10
+ type: "string",
11
+ description: "todoListId to add the tasks to",
12
+ required: true,
13
+ },
14
+ {
15
+ name: "tasks",
16
+ type: "array",
17
+ description: "array of {name, description?} objects to create",
18
+ required: true,
19
+ },
20
+ ],
21
+ customClass: new TodoInteraction(),
22
+ execute: async (_envID, inputs, mcp, customClass) => {
23
+ const { list, tasks } = inputs;
24
+ if (!list || typeof list !== "string") {
25
+ throw new Error("list must be a non-empty string");
26
+ }
27
+ if (!Array.isArray(tasks) || tasks.length === 0) {
28
+ throw new Error("tasks must be a non-empty array of {name, description?} objects");
29
+ }
30
+ for (const t of tasks) {
31
+ if (!t || typeof t.name !== "string" || !t.name) {
32
+ throw new Error("every task requires a non-empty name:string");
33
+ }
34
+ }
35
+ if (!mcp) {
36
+ throw new Error("todo-create-task requires an MCP context");
37
+ }
38
+ const todoList = await getList(mcp, list);
39
+ if (!todoList) {
40
+ throw new Error(`no todo list found with id "${list}"`);
41
+ }
42
+ const todoTaskIds = [];
43
+ for (const t of tasks) {
44
+ const taskId = await generateRefId(mcp);
45
+ await setTask(mcp, {
46
+ id: taskId,
47
+ listId: list,
48
+ name: t.name,
49
+ description: typeof t.description === "string" ? t.description : undefined,
50
+ checked: false,
51
+ });
52
+ todoTaskIds.push(taskId);
53
+ }
54
+ todoList.taskIds.push(...todoTaskIds);
55
+ await setList(mcp, todoList);
56
+ customClass?.emitTodoEvent({ type: "task-created", listId: list, taskIds: todoTaskIds });
57
+ return {
58
+ todoTaskIds,
59
+ };
60
+ },
61
+ });
62
+ export default TodoCreateTaskTool;
63
+ //# sourceMappingURL=create-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-task.js","sourceRoot":"","sources":["../../../src/tools/todo/create-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAY,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAkB;IACjE,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gCAAgC;YAC7C,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iDAAiD;YAC9D,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,WAAW,EAAE,IAAI,eAAe,EAAE;IAClC,OAAO,EAAE,KAAK,EACV,MAAc,EACd,MAA2B,EAC3B,GAAS,EACT,WAA6B,EACjB,EAAE;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAE/B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACvF,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,GAAG,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,OAAO,CAAC,GAAG,EAAE;gBACf,EAAE,EAAE,MAAM;gBACV,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBAC1E,OAAO,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QACtC,MAAM,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE7B,WAAW,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAEzF,OAAO;YACH,WAAW;SACd,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { MCPTool } from "../../core/mcp.js";
2
+ export declare const TodoGetListTool: () => MCPTool<undefined>;
3
+ export default TodoGetListTool;
4
+ //# sourceMappingURL=get-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-list.d.ts","sourceRoot":"","sources":["../../../src/tools/todo/get-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,eAAe,0BAsC1B,CAAC;AAEH,eAAe,eAAe,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { MCPTool } from "../../core/mcp.js";
2
+ import { getList, getTask } from "./storage.js";
3
+ export const TodoGetListTool = () => new MCPTool({
4
+ name: "todo-get-list",
5
+ description: "get all tasks belonging to a todo list",
6
+ inputs: [
7
+ {
8
+ name: "list",
9
+ type: "string",
10
+ description: "todoListId to read",
11
+ required: true,
12
+ },
13
+ ],
14
+ execute: async (_envID, inputs, mcp) => {
15
+ const { list } = inputs;
16
+ if (!list || typeof list !== "string") {
17
+ throw new Error("list must be a non-empty string");
18
+ }
19
+ if (!mcp) {
20
+ throw new Error("todo-get-list requires an MCP context");
21
+ }
22
+ const todoList = await getList(mcp, list);
23
+ if (!todoList) {
24
+ throw new Error(`no todo list found with id "${list}"`);
25
+ }
26
+ const tasks = [];
27
+ for (const taskId of todoList.taskIds) {
28
+ const task = await getTask(mcp, taskId);
29
+ if (task)
30
+ tasks.push(task);
31
+ }
32
+ return {
33
+ tasks,
34
+ };
35
+ },
36
+ });
37
+ export default TodoGetListTool;
38
+ //# sourceMappingURL=get-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-list.js","sourceRoot":"","sources":["../../../src/tools/todo/get-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC;IAC7C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oBAAoB;YACjC,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,MAA2B,EAAE,GAAS,EAAgB,EAAE;QACpF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAExB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,GAAG,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO;YACH,KAAK;SACR,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { MCPTool } from "../../core/mcp.js";
2
+ export declare const TodoGetListsTool: () => MCPTool<undefined>;
3
+ export default TodoGetListsTool;
4
+ //# sourceMappingURL=get-lists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-lists.d.ts","sourceRoot":"","sources":["../../../src/tools/todo/get-lists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,gBAAgB,0BAe3B,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { MCPTool } from "../../core/mcp.js";
2
+ import { getListIndex } from "./storage.js";
3
+ export const TodoGetListsTool = () => new MCPTool({
4
+ name: "todo-get-lists",
5
+ description: "get all existing todo list ids",
6
+ inputs: [],
7
+ execute: async (_envID, _inputs, mcp) => {
8
+ if (!mcp) {
9
+ throw new Error("todo-get-lists requires an MCP context");
10
+ }
11
+ const lists = await getListIndex(mcp);
12
+ return {
13
+ lists,
14
+ };
15
+ },
16
+ });
17
+ export default TodoGetListsTool;
18
+ //# sourceMappingURL=get-lists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-lists.js","sourceRoot":"","sources":["../../../src/tools/todo/get-lists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC;IAC9C,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gCAAgC;IAC7C,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,OAA4B,EAAE,GAAS,EAAgB,EAAE;QACrF,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;QAEtC,OAAO;YACH,KAAK;SACR,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,12 @@
1
+ export { TodoCreateListTool } from "./create-list.js";
2
+ export { TodoRemoveListTool } from "./remove-list.js";
3
+ export { TodoGetListsTool } from "./get-lists.js";
4
+ export { TodoGetListTool } from "./get-list.js";
5
+ export { TodoCreateTaskTool } from "./create-task.js";
6
+ export { TodoRemoveTaskTool } from "./remove-task.js";
7
+ export { TodoCheckTaskTool } from "./check-task.js";
8
+ export { TodoInteraction } from "./interaction.js";
9
+ export type { TodoTask, TodoList } from "./storage.js";
10
+ export type { TodoEvent } from "./interaction.js";
11
+ export declare const TodoTools: () => (import("../../index.js").MCPTool<undefined> | import("../../index.js").MCPTool<import("./interaction.js").TodoInteraction>)[];
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/todo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAYlD,eAAO,MAAM,SAAS,sIAQrB,CAAC"}
@@ -0,0 +1,25 @@
1
+ export { TodoCreateListTool } from "./create-list.js";
2
+ export { TodoRemoveListTool } from "./remove-list.js";
3
+ export { TodoGetListsTool } from "./get-lists.js";
4
+ export { TodoGetListTool } from "./get-list.js";
5
+ export { TodoCreateTaskTool } from "./create-task.js";
6
+ export { TodoRemoveTaskTool } from "./remove-task.js";
7
+ export { TodoCheckTaskTool } from "./check-task.js";
8
+ export { TodoInteraction } from "./interaction.js";
9
+ import { TodoCreateListTool } from "./create-list.js";
10
+ import { TodoRemoveListTool } from "./remove-list.js";
11
+ import { TodoGetListsTool } from "./get-lists.js";
12
+ import { TodoGetListTool } from "./get-list.js";
13
+ import { TodoCreateTaskTool } from "./create-task.js";
14
+ import { TodoRemoveTaskTool } from "./remove-task.js";
15
+ import { TodoCheckTaskTool } from "./check-task.js";
16
+ export const TodoTools = () => [
17
+ TodoCreateListTool(),
18
+ TodoRemoveListTool(),
19
+ TodoGetListsTool(),
20
+ TodoGetListTool(),
21
+ TodoCreateTaskTool(),
22
+ TodoRemoveTaskTool(),
23
+ TodoCheckTaskTool()
24
+ ];
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/todo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;IAC3B,kBAAkB,EAAE;IACpB,kBAAkB,EAAE;IACpB,gBAAgB,EAAE;IAClB,eAAe,EAAE;IACjB,kBAAkB,EAAE;IACpB,kBAAkB,EAAE;IACpB,iBAAiB,EAAE;CACtB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { MCPCustomClass } from "../../core/mcp.js";
2
+ export type TodoEvent = {
3
+ type: "list-created";
4
+ listId: string;
5
+ name: string;
6
+ } | {
7
+ type: "list-removed";
8
+ listIds: string[];
9
+ } | {
10
+ type: "task-created";
11
+ listId: string;
12
+ taskIds: string[];
13
+ } | {
14
+ type: "task-removed";
15
+ taskIds: string[];
16
+ } | {
17
+ type: "task-checked";
18
+ taskIds: string[];
19
+ checked: boolean;
20
+ };
21
+ /**
22
+ * Shared custom interaction class for all todo tools. A frontend can listen
23
+ * on getEvents() to reflect live changes (e.g. re-render a task list the
24
+ * moment the agent checks something off) without polling storage.
25
+ */
26
+ export declare class TodoInteraction extends MCPCustomClass {
27
+ emitTodoEvent(event: TodoEvent): void;
28
+ }
29
+ export default TodoInteraction;
30
+ //# sourceMappingURL=interaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../src/tools/todo/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,SAAS,GACf;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpE;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,cAAc;IAC/C,aAAa,CAAC,KAAK,EAAE,SAAS;CAGjC;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { MCPCustomClass } from "../../core/mcp.js";
2
+ /**
3
+ * Shared custom interaction class for all todo tools. A frontend can listen
4
+ * on getEvents() to reflect live changes (e.g. re-render a task list the
5
+ * moment the agent checks something off) without polling storage.
6
+ */
7
+ export class TodoInteraction extends MCPCustomClass {
8
+ emitTodoEvent(event) {
9
+ this.getEvents().emit("todo", event);
10
+ }
11
+ }
12
+ export default TodoInteraction;
13
+ //# sourceMappingURL=interaction.js.map