profclaw 0.0.1-beta.3 → 2.3.0

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 (535) hide show
  1. package/.env.example +14 -2
  2. package/CHANGELOG.md +54 -34
  3. package/CONTRIBUTING.md +23 -5
  4. package/Dockerfile +39 -23
  5. package/README.md +271 -72
  6. package/dist/agents/agent-summary.d.ts +44 -0
  7. package/dist/agents/agent-summary.js +176 -0
  8. package/dist/agents/auto-memory.d.ts +59 -0
  9. package/dist/agents/auto-memory.js +310 -0
  10. package/dist/agents/checkpoint-manager.d.ts +76 -0
  11. package/dist/agents/checkpoint-manager.js +156 -0
  12. package/dist/agents/circuit-breaker.d.ts +54 -0
  13. package/dist/agents/circuit-breaker.js +153 -0
  14. package/dist/agents/context-compactor.d.ts +70 -0
  15. package/dist/agents/context-compactor.js +361 -0
  16. package/dist/agents/conversation-branch.d.ts +55 -0
  17. package/dist/agents/conversation-branch.js +115 -0
  18. package/dist/agents/error-recovery.d.ts +44 -0
  19. package/dist/agents/error-recovery.js +197 -0
  20. package/dist/agents/events.d.ts +76 -0
  21. package/dist/agents/events.js +8 -0
  22. package/dist/agents/executor.d.ts +35 -1
  23. package/dist/agents/executor.js +573 -124
  24. package/dist/agents/file-snapshots.d.ts +72 -0
  25. package/dist/agents/file-snapshots.js +182 -0
  26. package/dist/agents/index.d.ts +2 -0
  27. package/dist/agents/orchestrator.d.ts +183 -0
  28. package/dist/agents/orchestrator.js +495 -0
  29. package/dist/agents/permissions.d.ts +63 -0
  30. package/dist/agents/permissions.js +138 -0
  31. package/dist/agents/plan-mode.d.ts +71 -0
  32. package/dist/agents/plan-mode.js +186 -0
  33. package/dist/agents/prompt-suggestions.d.ts +33 -0
  34. package/dist/agents/prompt-suggestions.js +208 -0
  35. package/dist/agents/rate-limit-monitor.d.ts +56 -0
  36. package/dist/agents/rate-limit-monitor.js +224 -0
  37. package/dist/agents/result-store.d.ts +37 -0
  38. package/dist/agents/result-store.js +104 -0
  39. package/dist/agents/session-diff.d.ts +43 -0
  40. package/dist/agents/session-diff.js +258 -0
  41. package/dist/agents/tool-loader.d.ts +65 -0
  42. package/dist/agents/tool-loader.js +273 -0
  43. package/dist/agents/transcript.d.ts +96 -0
  44. package/dist/agents/transcript.js +267 -0
  45. package/dist/agents/worktree-manager.d.ts +80 -0
  46. package/dist/agents/worktree-manager.js +203 -0
  47. package/dist/auth/middleware.js +14 -0
  48. package/dist/chat/agentic-executor.d.ts +7 -0
  49. package/dist/chat/agentic-executor.js +253 -30
  50. package/dist/chat/conversations.d.ts +2 -0
  51. package/dist/chat/conversations.js +8 -0
  52. package/dist/chat/execution/executor.d.ts +8 -0
  53. package/dist/chat/execution/executor.js +157 -103
  54. package/dist/chat/execution/index.js +5 -1
  55. package/dist/chat/execution/tool-router.js +40 -14
  56. package/dist/chat/execution/tools/canvas.d.ts +2 -2
  57. package/dist/chat/execution/tools/code-tools.d.ts +66 -0
  58. package/dist/chat/execution/tools/code-tools.js +353 -0
  59. package/dist/chat/execution/tools/complete-task.d.ts +2 -2
  60. package/dist/chat/execution/tools/cron-tool.d.ts +26 -10
  61. package/dist/chat/execution/tools/cron-tool.js +48 -3
  62. package/dist/chat/execution/tools/decompose-task.d.ts +58 -0
  63. package/dist/chat/execution/tools/decompose-task.js +166 -0
  64. package/dist/chat/execution/tools/exec.d.ts +5 -2
  65. package/dist/chat/execution/tools/exec.js +294 -155
  66. package/dist/chat/execution/tools/feed-tools.d.ts +77 -0
  67. package/dist/chat/execution/tools/feed-tools.js +142 -0
  68. package/dist/chat/execution/tools/file-ops.d.ts +1 -1
  69. package/dist/chat/execution/tools/github.d.ts +2 -2
  70. package/dist/chat/execution/tools/index.d.ts +15 -3
  71. package/dist/chat/execution/tools/index.js +125 -12
  72. package/dist/chat/execution/tools/integrations.d.ts +8 -8
  73. package/dist/chat/execution/tools/multi-patch.d.ts +53 -0
  74. package/dist/chat/execution/tools/multi-patch.js +373 -0
  75. package/dist/chat/execution/tools/openai-image-gen.d.ts +2 -2
  76. package/dist/chat/execution/tools/plan-tools.d.ts +80 -0
  77. package/dist/chat/execution/tools/plan-tools.js +134 -0
  78. package/dist/chat/execution/tools/profclaw-ops.d.ts +6 -6
  79. package/dist/chat/execution/tools/repl-tool.d.ts +46 -0
  80. package/dist/chat/execution/tools/repl-tool.js +207 -0
  81. package/dist/chat/execution/tools/sessions-send.d.ts +2 -2
  82. package/dist/chat/execution/tools/slack-actions.d.ts +2 -2
  83. package/dist/chat/execution/tools/system.d.ts +4 -4
  84. package/dist/chat/execution/tools/todo-tool.d.ts +72 -0
  85. package/dist/chat/execution/tools/todo-tool.js +152 -0
  86. package/dist/chat/execution/tools/tool-search.d.ts +50 -0
  87. package/dist/chat/execution/tools/tool-search.js +155 -0
  88. package/dist/chat/execution/types.d.ts +21 -14
  89. package/dist/chat/execution/workflows/executor.d.ts +11 -0
  90. package/dist/chat/execution/workflows/executor.js +99 -1
  91. package/dist/chat/execution/workflows/types.d.ts +35 -2
  92. package/dist/chat/format/index.d.ts +1 -0
  93. package/dist/chat/format/index.js +1 -0
  94. package/dist/chat/format/markdown-convert.d.ts +23 -0
  95. package/dist/chat/format/markdown-convert.js +149 -0
  96. package/dist/chat/index.d.ts +1 -1
  97. package/dist/chat/index.js +1 -1
  98. package/dist/chat/message-handler.js +58 -6
  99. package/dist/chat/proactive/index.d.ts +62 -0
  100. package/dist/chat/proactive/index.js +147 -0
  101. package/dist/chat/prompt-adapter.js +2 -0
  102. package/dist/chat/providers/irc/index.d.ts +2 -2
  103. package/dist/chat/providers/slack/index.d.ts +2 -2
  104. package/dist/chat/providers/telegram/index.d.ts +2 -0
  105. package/dist/chat/providers/telegram/index.js +21 -2
  106. package/dist/chat/system-prompts.d.ts +3 -3
  107. package/dist/chat/system-prompts.js +116 -61
  108. package/dist/chat/tools.d.ts +6 -6
  109. package/dist/cli/commands/auth.js +64 -1
  110. package/dist/cli/commands/chat.js +1327 -138
  111. package/dist/cli/commands/doctor.js +222 -16
  112. package/dist/cli/commands/history.d.ts +3 -0
  113. package/dist/cli/commands/history.js +138 -0
  114. package/dist/cli/commands/import.d.ts +44 -0
  115. package/dist/cli/commands/import.js +526 -0
  116. package/dist/cli/commands/init.d.ts +13 -0
  117. package/dist/cli/commands/init.js +381 -0
  118. package/dist/cli/commands/models.js +39 -26
  119. package/dist/cli/commands/onboard.js +263 -98
  120. package/dist/cli/commands/plan.d.ts +13 -0
  121. package/dist/cli/commands/plan.js +184 -0
  122. package/dist/cli/commands/serve.d.ts +7 -0
  123. package/dist/cli/commands/serve.js +77 -18
  124. package/dist/cli/commands/setup.js +375 -91
  125. package/dist/cli/commands/status.js +54 -0
  126. package/dist/cli/commands/tools.js +13 -13
  127. package/dist/cli/commands/tui.js +26 -1
  128. package/dist/cli/index.js +19 -6
  129. package/dist/cli/ink/App.d.ts +13 -0
  130. package/dist/cli/ink/App.js +6 -0
  131. package/dist/cli/ink/ChatApp.d.ts +60 -0
  132. package/dist/cli/ink/ChatApp.js +325 -0
  133. package/dist/cli/ink/DashboardApp.d.ts +3 -0
  134. package/dist/cli/ink/DashboardApp.js +143 -0
  135. package/dist/cli/ink/components/AgentStatus.d.ts +17 -0
  136. package/dist/cli/ink/components/AgentStatus.js +33 -0
  137. package/dist/cli/ink/components/ChannelList.d.ts +17 -0
  138. package/dist/cli/ink/components/ChannelList.js +33 -0
  139. package/dist/cli/ink/components/ConnectionStatus.d.ts +19 -0
  140. package/dist/cli/ink/components/ConnectionStatus.js +50 -0
  141. package/dist/cli/ink/components/CostBar.d.ts +19 -0
  142. package/dist/cli/ink/components/CostBar.js +35 -0
  143. package/dist/cli/ink/components/HookStatus.d.ts +15 -0
  144. package/dist/cli/ink/components/HookStatus.js +7 -0
  145. package/dist/cli/ink/components/PermissionPrompt.d.ts +21 -0
  146. package/dist/cli/ink/components/PermissionPrompt.js +51 -0
  147. package/dist/cli/ink/components/PlanView.d.ts +23 -0
  148. package/dist/cli/ink/components/PlanView.js +26 -0
  149. package/dist/cli/ink/components/ProviderList.d.ts +16 -0
  150. package/dist/cli/ink/components/ProviderList.js +16 -0
  151. package/dist/cli/ink/components/SessionHeader.d.ts +15 -0
  152. package/dist/cli/ink/components/SessionHeader.js +15 -0
  153. package/dist/cli/ink/components/StreamingMessage.d.ts +20 -0
  154. package/dist/cli/ink/components/StreamingMessage.js +27 -0
  155. package/dist/cli/ink/components/SuggestionBar.d.ts +15 -0
  156. package/dist/cli/ink/components/SuggestionBar.js +28 -0
  157. package/dist/cli/ink/components/SystemHealth.d.ts +20 -0
  158. package/dist/cli/ink/components/SystemHealth.js +39 -0
  159. package/dist/cli/ink/components/TaskList.d.ts +17 -0
  160. package/dist/cli/ink/components/TaskList.js +59 -0
  161. package/dist/cli/ink/components/ToolCall.d.ts +17 -0
  162. package/dist/cli/ink/components/ToolCall.js +43 -0
  163. package/dist/cli/ink/index.d.ts +23 -0
  164. package/dist/cli/ink/index.js +15 -0
  165. package/dist/cli/ink/keybindings.d.ts +35 -0
  166. package/dist/cli/ink/keybindings.js +105 -0
  167. package/dist/cli/ink/markdown-renderer.d.ts +47 -0
  168. package/dist/cli/ink/markdown-renderer.js +380 -0
  169. package/dist/cli/ink/output-styles.d.ts +39 -0
  170. package/dist/cli/ink/output-styles.js +119 -0
  171. package/dist/cli/interactive/auto-serve.d.ts +38 -0
  172. package/dist/cli/interactive/auto-serve.js +209 -0
  173. package/dist/cli/interactive/index.d.ts +25 -0
  174. package/dist/cli/interactive/index.js +23 -0
  175. package/dist/cli/interactive/picker.d.ts +28 -0
  176. package/dist/cli/interactive/picker.js +153 -0
  177. package/dist/cli/interactive/renderer.d.ts +26 -0
  178. package/dist/cli/interactive/renderer.js +555 -0
  179. package/dist/cli/interactive/repl.d.ts +14 -0
  180. package/dist/cli/interactive/repl.js +1516 -0
  181. package/dist/cli/interactive/stream-client.d.ts +59 -0
  182. package/dist/cli/interactive/stream-client.js +506 -0
  183. package/dist/cli/interactive/types.d.ts +121 -0
  184. package/dist/cli/interactive/types.js +10 -0
  185. package/dist/cli/providers.d.ts +15 -0
  186. package/dist/cli/providers.js +41 -0
  187. package/dist/cli/utils/api.d.ts +9 -0
  188. package/dist/cli/utils/api.js +58 -2
  189. package/dist/core/deployment.js +2 -0
  190. package/dist/cron/natural-language.d.ts +54 -0
  191. package/dist/cron/natural-language.js +569 -0
  192. package/dist/cron/scheduler.d.ts +34 -4
  193. package/dist/cron/scheduler.js +141 -9
  194. package/dist/cron/templates.d.ts +1 -1
  195. package/dist/cron/templates.js +219 -0
  196. package/dist/feeds/feed-engine.d.ts +149 -0
  197. package/dist/feeds/feed-engine.js +600 -0
  198. package/dist/feeds/index.d.ts +9 -0
  199. package/dist/feeds/index.js +8 -0
  200. package/dist/gateway/router.js +6 -1
  201. package/dist/hooks/built-in/audit-log.d.ts +11 -0
  202. package/dist/hooks/built-in/audit-log.js +84 -0
  203. package/dist/hooks/built-in/cost-warning.d.ts +10 -0
  204. package/dist/hooks/built-in/cost-warning.js +59 -0
  205. package/dist/hooks/built-in/dangerous-tool.d.ts +32 -0
  206. package/dist/hooks/built-in/dangerous-tool.js +80 -0
  207. package/dist/hooks/built-in/index.d.ts +14 -0
  208. package/dist/hooks/built-in/index.js +20 -0
  209. package/dist/hooks/index.d.ts +3 -0
  210. package/dist/hooks/index.js +6 -0
  211. package/dist/hooks/loader.d.ts +17 -0
  212. package/dist/hooks/loader.js +142 -0
  213. package/dist/hooks/registry.d.ts +62 -0
  214. package/dist/hooks/registry.js +127 -0
  215. package/dist/integrations/web-search.js +6 -3
  216. package/dist/memory/index.d.ts +1 -0
  217. package/dist/memory/index.js +2 -0
  218. package/dist/memory/memory-service.js +14 -13
  219. package/dist/memory/observational.d.ts +62 -0
  220. package/dist/memory/observational.js +396 -0
  221. package/dist/middleware/content-filter.d.ts +22 -0
  222. package/dist/middleware/content-filter.js +69 -0
  223. package/dist/middleware/request-validator.d.ts +159 -0
  224. package/dist/middleware/request-validator.js +93 -0
  225. package/dist/plugins/sdk.d.ts +22 -0
  226. package/dist/plugins/sdk.js +17 -1
  227. package/dist/projects/types.d.ts +10 -10
  228. package/dist/providers/ai-sdk.d.ts +11 -0
  229. package/dist/providers/ai-sdk.js +97 -18
  230. package/dist/providers/core/models.js +67 -1
  231. package/dist/providers/core/types.d.ts +3 -0
  232. package/dist/providers/index.d.ts +1 -0
  233. package/dist/providers/index.js +1 -0
  234. package/dist/providers/smart-router.d.ts +118 -0
  235. package/dist/providers/smart-router.js +685 -0
  236. package/dist/providers/types.d.ts +16 -16
  237. package/dist/routes/agents.js +50 -0
  238. package/dist/routes/auth.js +8 -1
  239. package/dist/routes/channels.d.ts +12 -0
  240. package/dist/routes/channels.js +166 -0
  241. package/dist/routes/chat.js +259 -14
  242. package/dist/routes/costs.js +32 -0
  243. package/dist/routes/cron.js +80 -5
  244. package/dist/routes/feeds.d.ts +10 -0
  245. package/dist/routes/feeds.js +168 -0
  246. package/dist/routes/mcp.js +21 -0
  247. package/dist/routes/memory.js +130 -0
  248. package/dist/routes/skills.js +129 -0
  249. package/dist/routes/teams.d.ts +9 -0
  250. package/dist/routes/teams.js +210 -0
  251. package/dist/routes/tools.js +14 -0
  252. package/dist/routes/users.js +2 -0
  253. package/dist/server/route-loader.js +4 -1
  254. package/dist/server/stream-bridge.d.ts +19 -0
  255. package/dist/server/stream-bridge.js +38 -0
  256. package/dist/server.js +421 -141
  257. package/dist/skills/marketplace.d.ts +87 -0
  258. package/dist/skills/marketplace.js +268 -0
  259. package/dist/storage/index.d.ts +14 -0
  260. package/dist/storage/index.js +64 -3
  261. package/dist/storage/schema.d.ts +4 -4
  262. package/dist/storage/schema.js +1 -1
  263. package/dist/teams/index.d.ts +110 -0
  264. package/dist/teams/index.js +365 -0
  265. package/dist/tickets/types.d.ts +39 -39
  266. package/dist/types/summary.d.ts +5 -5
  267. package/dist/utils/auto-update.d.ts +23 -0
  268. package/dist/utils/auto-update.js +157 -0
  269. package/dist/utils/offline-detect.d.ts +55 -0
  270. package/dist/utils/offline-detect.js +121 -0
  271. package/dist/utils/pid-file.d.ts +36 -0
  272. package/dist/utils/pid-file.js +125 -0
  273. package/dist/utils/prevent-sleep.d.ts +27 -0
  274. package/dist/utils/prevent-sleep.js +95 -0
  275. package/dist/utils/sanitizer.d.ts +57 -0
  276. package/dist/utils/sanitizer.js +174 -0
  277. package/docker-compose.yml +13 -137
  278. package/package.json +31 -6
  279. package/skills/deploy-cloudflare/SKILL.md +62 -0
  280. package/skills/deploy-vercel/SKILL.md +67 -0
  281. package/skills/docker-deploy/SKILL.md +158 -0
  282. package/skills/full-stack-builder/SKILL.md +92 -0
  283. package/skills/git-workflow/SKILL.md +3 -3
  284. package/skills/humanizer/SKILL.md +488 -0
  285. package/skills/profclaw-assistant/SKILL.md +85 -56
  286. package/ui/dist/assets/ActivityView-Da6HQ8ws.js +1 -0
  287. package/ui/dist/assets/AgentList-H58R0kX3.js +1 -0
  288. package/ui/dist/assets/AnalyticsDashboard-B28AeRsc.js +1 -0
  289. package/ui/dist/assets/AreaChart-DwLzeAQ8.js +1 -0
  290. package/ui/dist/assets/CartesianChart-piKQsTAR.js +36 -0
  291. package/ui/dist/assets/ChatView-Dbj8rxU5.js +10 -0
  292. package/ui/dist/assets/CostsDashboard-C6F5df0F.js +1 -0
  293. package/ui/dist/assets/EstimateSelect-wga0rUKX.js +1 -0
  294. package/ui/dist/assets/FeedDashboard-Ef6FEzEf.js +1 -0
  295. package/ui/dist/assets/FloatingChatbot-0yhkUeCq.js +2 -0
  296. package/ui/dist/assets/InviteCodeManagement-tUXfx4Bc.js +2 -0
  297. package/ui/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  298. package/ui/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  299. package/ui/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  300. package/ui/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  301. package/ui/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  302. package/ui/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  303. package/ui/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  304. package/ui/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  305. package/ui/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  306. package/ui/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  307. package/ui/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  308. package/ui/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  309. package/ui/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  310. package/ui/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  311. package/ui/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  312. package/ui/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  313. package/ui/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  314. package/ui/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  315. package/ui/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  316. package/ui/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  317. package/ui/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  318. package/ui/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  319. package/ui/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  320. package/ui/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  321. package/ui/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  322. package/ui/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  323. package/ui/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  324. package/ui/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  325. package/ui/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  326. package/ui/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  327. package/ui/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  328. package/ui/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  329. package/ui/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  330. package/ui/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  331. package/ui/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  332. package/ui/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  333. package/ui/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  334. package/ui/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  335. package/ui/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  336. package/ui/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  337. package/ui/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  338. package/ui/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  339. package/ui/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  340. package/ui/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  341. package/ui/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  342. package/ui/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  343. package/ui/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  344. package/ui/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  345. package/ui/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  346. package/ui/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  347. package/ui/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  348. package/ui/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  349. package/ui/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  350. package/ui/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  351. package/ui/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  352. package/ui/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  353. package/ui/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  354. package/ui/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  355. package/ui/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  356. package/ui/dist/assets/MarketplacePage-DGrLtolR.js +1 -0
  357. package/ui/dist/assets/{ProjectDetail-DlYUcOss.js → ProjectDetail-BgWvA6UP.js} +2 -2
  358. package/ui/dist/assets/ProjectIcon-TDuliqwg.js +1 -0
  359. package/ui/dist/assets/ProjectList-DXgM4187.js +1 -0
  360. package/ui/dist/assets/{Settings-CgPqzUvj.js → Settings-xA8Zhi3p.js} +3 -3
  361. package/ui/dist/assets/StatusIndicator-B8vfFAxg.js +1 -0
  362. package/ui/dist/assets/{SummaryDetail-CwLAfHgJ.js → SummaryDetail-eedRfTtF.js} +2 -2
  363. package/ui/dist/assets/SummaryList-CLNX2P84.js +1 -0
  364. package/ui/dist/assets/TaskDetail-BtWclNiR.js +1 -0
  365. package/ui/dist/assets/TaskList-JjODAgSc.js +1 -0
  366. package/ui/dist/assets/TeamsPage-CBK5iAyx.js +1 -0
  367. package/ui/dist/assets/TicketBoard-C9aJNNYp.js +1 -0
  368. package/ui/dist/assets/TicketDetail-CV5JmL31.js +1 -0
  369. package/ui/dist/assets/TicketList-68V4lzUz.js +1 -0
  370. package/ui/dist/assets/UserManagement-DKTb6UpE.js +2 -0
  371. package/ui/dist/assets/ViewSwitcher-BvdQht2Y.js +1 -0
  372. package/ui/dist/assets/alert-dialog-O6qBOv_f.js +1 -0
  373. package/ui/dist/assets/{archive-CGck7gxR.js → archive-CX7UvZpf.js} +1 -1
  374. package/ui/dist/assets/badge-BbfnwDJP.js +1 -0
  375. package/ui/dist/assets/{bug-DqSGPUUE.js → bug-3WX0394-.js} +1 -1
  376. package/ui/dist/assets/{calendar-BuZ4zbPW.js → calendar-buq77TaS.js} +1 -1
  377. package/ui/dist/assets/{chevron-up-DcJ4LL_N.js → chevron-up-4ymsBJRo.js} +1 -1
  378. package/ui/dist/assets/{circle-x-C78PNZjF.js → circle-x-ByXtwR6Y.js} +1 -1
  379. package/ui/dist/assets/constants-CVdDh7p0.js +1 -0
  380. package/ui/dist/assets/{cpu-Ck6AoG8c.js → cpu-CiuoCeDY.js} +1 -1
  381. package/ui/dist/assets/{database-CA2w8Lvt.js → database-BWXSBg5a.js} +1 -1
  382. package/ui/dist/assets/dialog-lDg4NvMV.js +1 -0
  383. package/ui/dist/assets/dollar-sign-Dmijd6DP.js +1 -0
  384. package/ui/dist/assets/{ellipsis-FhHKRbfl.js → ellipsis-vT-5SVIp.js} +1 -1
  385. package/ui/dist/assets/{ellipsis-vertical-CO0UqE4-.js → ellipsis-vertical-B4tAX_bL.js} +1 -1
  386. package/ui/dist/assets/feature-markdown-DBo5Q7uq.js +289 -0
  387. package/ui/dist/assets/{file-code-ChnhYYj1.js → file-code-ChOWdKXf.js} +1 -1
  388. package/ui/dist/assets/{folder-open-CHwA1-ve.js → folder-open-CkOUbIiP.js} +1 -1
  389. package/ui/dist/assets/{funnel-ByEjRFNB.js → funnel-uZkoSPP-.js} +1 -1
  390. package/ui/dist/assets/{git-branch-GTOPQgU4.js → git-branch-CwvUxj7C.js} +1 -1
  391. package/ui/dist/assets/{git-commit-horizontal-F5M84Kut.js → git-commit-horizontal-lxPzCvhD.js} +1 -1
  392. package/ui/dist/assets/{globe-CQWfr7hT.js → globe-D_WpJdsj.js} +1 -1
  393. package/ui/dist/assets/{hash-nKC9gtLg.js → hash-CA0hJ7vh.js} +1 -1
  394. package/ui/dist/assets/{history-DfFSA9xJ.js → history-CEWMLELs.js} +1 -1
  395. package/ui/dist/assets/inbox-ehtOptTV.js +1 -0
  396. package/ui/dist/assets/{index-a4Fxq0Hb.js → index-C1rhbml4.js} +3 -3
  397. package/ui/dist/assets/index-CR8gfCHv.js +1 -0
  398. package/ui/dist/assets/index-DVXMpWai.js +1 -0
  399. package/ui/dist/assets/index-DaDJMM2v.js +1 -0
  400. package/ui/dist/assets/index-Djdq_0xu.js +1 -0
  401. package/ui/dist/assets/index-M46Gcb8K.css +1 -0
  402. package/ui/dist/assets/index-sEBN7w8J.js +109 -0
  403. package/ui/dist/assets/layers-C6Mhf8Nk.js +1 -0
  404. package/ui/dist/assets/{layout-dashboard-WmgjMhWF.js → layout-dashboard-BRUM0kpT.js} +1 -1
  405. package/ui/dist/assets/{lightbulb-Bo8hEr7B.js → lightbulb-CN2q1O5l.js} +1 -1
  406. package/ui/dist/assets/{link-2-YqrpQXBH.js → link-2-CC4E28yJ.js} +1 -1
  407. package/ui/dist/assets/markdown-renderer-C6ENbB0u.js +10 -0
  408. package/ui/dist/assets/markdown-renderer-CfVKi3_s.css +1 -0
  409. package/ui/dist/assets/{message-square-CD0H5hot.js → message-square-Bbb241am.js} +1 -1
  410. package/ui/dist/assets/package-CwT3IzFx.js +1 -0
  411. package/ui/dist/assets/{pencil-DpFnj5dn.js → pencil-CDmiHzoj.js} +1 -1
  412. package/ui/dist/assets/{play-DVgea_jT.js → play-tjy5jMQX.js} +1 -1
  413. package/ui/dist/assets/popover-CFHZf3pE.js +1 -0
  414. package/ui/dist/assets/progress-BboUHuLf.js +1 -0
  415. package/ui/dist/assets/{rocket-BFxPYGx9.js → rocket--8ZHgdXJ.js} +1 -1
  416. package/ui/dist/assets/select-n108rXny.js +1 -0
  417. package/ui/dist/assets/{send-eYnW_7n-.js → send-Cu7MR2Qh.js} +1 -1
  418. package/ui/dist/assets/server-DmodxZp-.js +1 -0
  419. package/ui/dist/assets/{settings-2-scXUOuE_.js → settings-2-CkRNqkxj.js} +1 -1
  420. package/ui/dist/assets/sheet-7aUJkyzU.js +1 -0
  421. package/ui/dist/assets/{shield-check-PEr7nmVw.js → shield-check-ViI3nMKE.js} +1 -1
  422. package/ui/dist/assets/{shield-off-CLtXio62.js → shield-off-DN3tagkn.js} +1 -1
  423. package/ui/dist/assets/skeleton-C0E1Nfro.js +1 -0
  424. package/ui/dist/assets/{smartphone-DusFfY0U.js → smartphone-5FghiXpA.js} +1 -1
  425. package/ui/dist/assets/{square-e1yxB2eR.js → square-DiNSx8K7.js} +1 -1
  426. package/ui/dist/assets/star-DhdFVidS.js +1 -0
  427. package/ui/dist/assets/switch-CIgVbZqQ.js +1 -0
  428. package/ui/dist/assets/table-BC56FVMV.js +1 -0
  429. package/ui/dist/assets/{tag-tAwMmQ9G.js → tag-CH_vQliw.js} +1 -1
  430. package/ui/dist/assets/textarea-CxDiKFXZ.js +1 -0
  431. package/ui/dist/assets/{timer-Vel1N3RP.js → timer-CdGVTb60.js} +1 -1
  432. package/ui/dist/assets/tooltip-BuW9A5UO.js +1 -0
  433. package/ui/dist/assets/{trash-2-eM-CNwsZ.js → trash-2-CucZJL0N.js} +1 -1
  434. package/ui/dist/assets/trending-down-BCezC1z2.js +1 -0
  435. package/ui/dist/assets/{trending-up-BGafmjRo.js → trending-up-C5OYX2k2.js} +1 -1
  436. package/ui/dist/assets/vendor-query-C0p7b53x.js +4 -0
  437. package/ui/dist/assets/vendor-react-Mc5_kfYG.js +12 -0
  438. package/ui/dist/assets/vendor-ui-CXPAUBFv.js +51 -0
  439. package/ui/dist/assets/{wand-sparkles-DPvcd9Pi.js → wand-sparkles-BaH6pJnc.js} +1 -1
  440. package/ui/dist/assets/{wrench-B8s3zYVV.js → wrench-CjxjP6ok.js} +1 -1
  441. package/ui/dist/index.html +5 -2
  442. package/dist/chat/auto-reply.d.ts +0 -90
  443. package/dist/chat/auto-reply.js +0 -272
  444. package/dist/chat/execution/pty.d.ts +0 -92
  445. package/dist/chat/execution/pty.js +0 -285
  446. package/dist/chat/execution/tools/glinr-ops.d.ts +0 -202
  447. package/dist/chat/execution/tools/glinr-ops.js +0 -694
  448. package/dist/cli/commands/browser.d.ts +0 -3
  449. package/dist/cli/commands/browser.js +0 -138
  450. package/dist/cli/commands/canvas.d.ts +0 -3
  451. package/dist/cli/commands/canvas.js +0 -155
  452. package/dist/cli/commands/nodes.d.ts +0 -3
  453. package/dist/cli/commands/nodes.js +0 -193
  454. package/dist/diagnostics/exporters.d.ts +0 -21
  455. package/dist/diagnostics/exporters.js +0 -138
  456. package/dist/diagnostics/index.d.ts +0 -10
  457. package/dist/diagnostics/index.js +0 -9
  458. package/dist/diagnostics/middleware.d.ts +0 -12
  459. package/dist/diagnostics/middleware.js +0 -58
  460. package/dist/diagnostics/tracer.d.ts +0 -133
  461. package/dist/diagnostics/tracer.js +0 -257
  462. package/dist/discovery/index.d.ts +0 -8
  463. package/dist/discovery/index.js +0 -7
  464. package/dist/discovery/mdns.d.ts +0 -40
  465. package/dist/discovery/mdns.js +0 -249
  466. package/dist/plugins/registry.d.ts +0 -122
  467. package/dist/plugins/registry.js +0 -352
  468. package/dist/plugins/sandbox.d.ts +0 -77
  469. package/dist/plugins/sandbox.js +0 -287
  470. package/dist/plugins/search/brave.d.ts +0 -9
  471. package/dist/plugins/search/brave.js +0 -157
  472. package/dist/plugins/search/duckduckgo.d.ts +0 -9
  473. package/dist/plugins/search/duckduckgo.js +0 -171
  474. package/dist/plugins/search/index.d.ts +0 -13
  475. package/dist/plugins/search/index.js +0 -23
  476. package/dist/plugins/search/searxng.d.ts +0 -9
  477. package/dist/plugins/search/searxng.js +0 -170
  478. package/dist/plugins/search/serper.d.ts +0 -9
  479. package/dist/plugins/search/serper.js +0 -135
  480. package/dist/plugins/search/tavily.d.ts +0 -9
  481. package/dist/plugins/search/tavily.js +0 -146
  482. package/dist/providers/adapters/anthropic.d.ts +0 -26
  483. package/dist/providers/adapters/anthropic.js +0 -306
  484. package/dist/providers/adapters/base.d.ts +0 -53
  485. package/dist/providers/adapters/base.js +0 -99
  486. package/dist/providers/adapters/ollama.d.ts +0 -30
  487. package/dist/providers/adapters/ollama.js +0 -292
  488. package/dist/utils/ai-cache.d.ts +0 -72
  489. package/dist/utils/ai-cache.js +0 -204
  490. package/dist/utils/file-lock.d.ts +0 -85
  491. package/dist/utils/file-lock.js +0 -204
  492. package/ui/dist/assets/ActivityView-DIPQSJ_d.js +0 -1
  493. package/ui/dist/assets/AgentList-CqyaYrcq.js +0 -1
  494. package/ui/dist/assets/AnalyticsDashboard-C-mjuGHT.js +0 -1
  495. package/ui/dist/assets/AreaChart-CfYWmbtr.js +0 -1
  496. package/ui/dist/assets/CartesianChart-BaQ3It0c.js +0 -36
  497. package/ui/dist/assets/ChatView-DxxQy6pl.js +0 -10
  498. package/ui/dist/assets/CostsDashboard-CDBBcGkg.js +0 -1
  499. package/ui/dist/assets/EstimateSelect-CDjf5qKl.js +0 -1
  500. package/ui/dist/assets/FloatingChatbot-CZHjvJIe.js +0 -2
  501. package/ui/dist/assets/InviteCodeManagement-DTm-IPTm.js +0 -2
  502. package/ui/dist/assets/ProjectIcon-BMRpnM04.js +0 -1
  503. package/ui/dist/assets/ProjectList-D85TN0i0.js +0 -4
  504. package/ui/dist/assets/StatusIndicator-yig0uZEA.js +0 -1
  505. package/ui/dist/assets/SummaryList-BvS5Idnu.js +0 -1
  506. package/ui/dist/assets/TaskDetail-zarC1fOt.js +0 -1
  507. package/ui/dist/assets/TaskList-CyJq3ANE.js +0 -1
  508. package/ui/dist/assets/TicketBoard-BlWr3-iH.js +0 -1
  509. package/ui/dist/assets/TicketDetail-DmqWKj2W.js +0 -1
  510. package/ui/dist/assets/TicketList-Scj4pMWa.js +0 -1
  511. package/ui/dist/assets/UserManagement-BH7uG7dw.js +0 -2
  512. package/ui/dist/assets/ViewSwitcher-3HzZUdWn.js +0 -1
  513. package/ui/dist/assets/alert-dialog-DWPb2IfQ.js +0 -7
  514. package/ui/dist/assets/badge-DEmc3Z_l.js +0 -1
  515. package/ui/dist/assets/brain-CfFdLVqb.js +0 -1
  516. package/ui/dist/assets/constants-DhDjZe4P.js +0 -1
  517. package/ui/dist/assets/dialog-BOdGWhgE.js +0 -1
  518. package/ui/dist/assets/index--JkIxVXb.js +0 -67
  519. package/ui/dist/assets/index-Ca3vk7Gq.js +0 -1
  520. package/ui/dist/assets/index-DHGvP9mp.js +0 -1
  521. package/ui/dist/assets/index-DeI8lKRR.js +0 -1
  522. package/ui/dist/assets/index-WclMPci1.css +0 -1
  523. package/ui/dist/assets/index-Z4-RtZcs.js +0 -1
  524. package/ui/dist/assets/layers-DFeLExSa.js +0 -1
  525. package/ui/dist/assets/markdown-renderer-Croje6Xe.js +0 -36
  526. package/ui/dist/assets/popover-JXecfWG5.js +0 -1
  527. package/ui/dist/assets/progress-C1ghf1Fu.js +0 -1
  528. package/ui/dist/assets/select-MADP8m6Q.js +0 -1
  529. package/ui/dist/assets/server-CPMaysH8.js +0 -1
  530. package/ui/dist/assets/sheet-r6NSOxi-.js +0 -1
  531. package/ui/dist/assets/skeleton-C9oEzNlU.js +0 -1
  532. package/ui/dist/assets/switch-tNs0n-kz.js +0 -1
  533. package/ui/dist/assets/table-CXxtLicg.js +0 -1
  534. package/ui/dist/assets/textarea-BjiEeIWh.js +0 -1
  535. package/ui/dist/assets/tooltip-ZMwtfr1J.js +0 -1
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Feed Tools
3
+ *
4
+ * AI agent tools for managing RSS/Atom feeds and news digests.
5
+ * Allows agents to add feeds, poll for articles, and generate digests.
6
+ */
7
+ import { z } from 'zod';
8
+ // Param schemas
9
+ const FeedListParams = z.object({
10
+ category: z.string().optional().describe('Filter by category (e.g., "ai", "security", "dev")'),
11
+ enabled: z.boolean().optional().describe('Filter by enabled status'),
12
+ });
13
+ const FeedAddParams = z.object({
14
+ name: z.string().min(1).describe('Name for the feed'),
15
+ url: z.string().url().describe('RSS/Atom feed URL'),
16
+ category: z.string().optional().describe('Category (e.g., "ai", "security", "dev")'),
17
+ tags: z.array(z.string()).optional().describe('Tags for filtering'),
18
+ });
19
+ const FeedBundleInstallParams = z.object({
20
+ bundle: z.string().describe('Bundle name to install (e.g., "ai-news", "dev-news", "security")'),
21
+ });
22
+ const FeedPollParams = z.object({
23
+ feedId: z.string().optional().describe('Specific feed ID to poll. If omitted, polls all due feeds.'),
24
+ });
25
+ const FeedDigestParams = z.object({
26
+ category: z.string().optional().describe('Filter articles by feed category'),
27
+ hours: z.number().optional().describe('Look back N hours (default: 24)'),
28
+ limit: z.number().optional().describe('Max articles to return (default: 20)'),
29
+ });
30
+ const FeedDiscoverParams = z.object({
31
+ url: z.string().url().describe('Website URL to discover feed from'),
32
+ });
33
+ // Tools
34
+ export const feedListTool = {
35
+ name: 'feed_list',
36
+ description: 'List configured RSS/Atom feeds. Shows feed names, URLs, categories, and article counts.',
37
+ category: 'data',
38
+ parameters: FeedListParams,
39
+ securityLevel: 'safe',
40
+ async execute(_context, params) {
41
+ const { listFeeds } = await import('../../../feeds/index.js');
42
+ const feeds = await listFeeds({ category: params.category, enabled: params.enabled });
43
+ if (feeds.length === 0) {
44
+ return { success: true, output: 'No feeds configured. Use feed_add to add feeds or feed_bundle_install to add a bundle.' };
45
+ }
46
+ const lines = feeds.map((f) => `- ${f.name} (${f.category}) - ${f.articleCount} articles${f.enabled ? '' : ' [disabled]'}`);
47
+ return { success: true, output: `${feeds.length} feeds:\n${lines.join('\n')}`, data: feeds };
48
+ },
49
+ };
50
+ export const feedAddTool = {
51
+ name: 'feed_add',
52
+ description: 'Add a new RSS/Atom feed source. The feed will be polled automatically for new articles.',
53
+ category: 'data',
54
+ parameters: FeedAddParams,
55
+ securityLevel: 'safe',
56
+ async execute(_context, params) {
57
+ const { addFeed } = await import('../../../feeds/index.js');
58
+ try {
59
+ const feed = await addFeed(params);
60
+ return { success: true, output: `Added feed: ${feed.name} (${feed.category}) - ${feed.url}`, data: feed };
61
+ }
62
+ catch (error) {
63
+ return { success: false, error: { code: 'FEED_ADD_FAILED', message: error instanceof Error ? error.message : 'Failed' } };
64
+ }
65
+ },
66
+ };
67
+ export const feedBundleInstallTool = {
68
+ name: 'feed_bundle_install',
69
+ description: 'Install a pre-configured bundle of RSS feeds. Available bundles: ai-news, dev-news, security.',
70
+ category: 'data',
71
+ parameters: FeedBundleInstallParams,
72
+ securityLevel: 'safe',
73
+ async execute(_context, params) {
74
+ const { addFeedBundle, FEED_BUNDLES } = await import('../../../feeds/index.js');
75
+ if (!FEED_BUNDLES[params.bundle]) {
76
+ return { success: false, error: { code: 'BUNDLE_NOT_FOUND', message: `Unknown bundle: ${params.bundle}. Available: ${Object.keys(FEED_BUNDLES).join(', ')}` } };
77
+ }
78
+ const feeds = await addFeedBundle(params.bundle);
79
+ return { success: true, output: `Installed ${feeds.length} feeds from "${params.bundle}" bundle:\n${feeds.map((f) => `- ${f.name}`).join('\n')}`, data: { installed: feeds.length, feeds } };
80
+ },
81
+ };
82
+ export const feedPollTool = {
83
+ name: 'feed_poll',
84
+ description: 'Poll RSS/Atom feeds for new articles. Can poll a specific feed or all due feeds.',
85
+ category: 'data',
86
+ parameters: FeedPollParams,
87
+ securityLevel: 'safe',
88
+ async execute(_context, params) {
89
+ if (params.feedId) {
90
+ const { pollFeed } = await import('../../../feeds/index.js');
91
+ const result = await pollFeed(params.feedId);
92
+ return { success: !result.errors, output: result.errors ? `Poll failed: ${result.errors}` : `Found ${result.newArticles} new articles`, data: result };
93
+ }
94
+ const { pollAllFeeds } = await import('../../../feeds/index.js');
95
+ const result = await pollAllFeeds();
96
+ return { success: true, output: `Polled ${result.total} feeds: ${result.newArticles} new articles, ${result.errors} errors`, data: result };
97
+ },
98
+ };
99
+ export const feedDigestTool = {
100
+ name: 'feed_digest',
101
+ description: 'Get recent articles from RSS feeds for building a news digest. Returns article titles, summaries, and URLs.',
102
+ category: 'data',
103
+ parameters: FeedDigestParams,
104
+ securityLevel: 'safe',
105
+ async execute(_context, params) {
106
+ const { getDigestArticles, markAsDigested } = await import('../../../feeds/index.js');
107
+ const hours = params.hours || 24;
108
+ const since = new Date(Date.now() - hours * 60 * 60 * 1000);
109
+ const articles = await getDigestArticles({ since, category: params.category, limit: params.limit || 20, undigestedOnly: true });
110
+ if (articles.length === 0) {
111
+ return { success: true, output: `No new articles in the last ${hours} hours${params.category ? ` for category "${params.category}"` : ''}. Try polling feeds first with feed_poll.` };
112
+ }
113
+ await markAsDigested(articles.map((a) => a.id));
114
+ const lines = articles.map((a, i) => `${i + 1}. ${a.title}\n ${a.url}\n ${a.summary || '(no summary)'}`);
115
+ return { success: true, output: `${articles.length} articles from the last ${hours} hours:\n\n${lines.join('\n\n')}`, data: articles };
116
+ },
117
+ };
118
+ export const feedDiscoverTool = {
119
+ name: 'feed_discover',
120
+ description: 'Auto-discover an RSS/Atom feed URL from a website. Checks link tags and common feed paths.',
121
+ category: 'data',
122
+ parameters: FeedDiscoverParams,
123
+ securityLevel: 'safe',
124
+ async execute(_context, params) {
125
+ const { discoverFeedUrl } = await import('../../../feeds/index.js');
126
+ const feedUrl = await discoverFeedUrl(params.url);
127
+ if (feedUrl) {
128
+ return { success: true, output: `Found feed: ${feedUrl}\nUse feed_add to subscribe.`, data: { feedUrl } };
129
+ }
130
+ return { success: true, output: `No feed found at ${params.url}. The site may not have an RSS/Atom feed.` };
131
+ },
132
+ };
133
+ // Export all feed tools as array (cast for generic compatibility)
134
+ export const feedTools = [
135
+ feedListTool,
136
+ feedAddTool,
137
+ feedBundleInstallTool,
138
+ feedPollTool,
139
+ feedDigestTool,
140
+ feedDiscoverTool,
141
+ ];
142
+ //# sourceMappingURL=feed-tools.js.map
@@ -66,8 +66,8 @@ declare const GrepParamsSchema: z.ZodObject<{
66
66
  pattern: string;
67
67
  path?: string | undefined;
68
68
  context?: number | undefined;
69
- maxResults?: number | undefined;
70
69
  glob?: string | undefined;
70
+ maxResults?: number | undefined;
71
71
  }>;
72
72
  declare const EditFileParamsSchema: z.ZodObject<{
73
73
  path: z.ZodString;
@@ -14,7 +14,7 @@ declare const GithubPrParamsSchema: z.ZodObject<{
14
14
  base: z.ZodDefault<z.ZodOptional<z.ZodString>>;
15
15
  head: z.ZodOptional<z.ZodString>;
16
16
  }, "strip", z.ZodTypeAny, {
17
- action: "comment" | "create" | "get" | "diff" | "list" | "merge";
17
+ action: "comment" | "create" | "get" | "list" | "diff" | "merge";
18
18
  base: string;
19
19
  title?: string | undefined;
20
20
  repo?: string | undefined;
@@ -22,7 +22,7 @@ declare const GithubPrParamsSchema: z.ZodObject<{
22
22
  head?: string | undefined;
23
23
  pr_number?: number | undefined;
24
24
  }, {
25
- action: "comment" | "create" | "get" | "diff" | "list" | "merge";
25
+ action: "comment" | "create" | "get" | "list" | "diff" | "merge";
26
26
  title?: string | undefined;
27
27
  repo?: string | undefined;
28
28
  body?: string | undefined;
@@ -7,6 +7,8 @@ import type { ToolDefinition } from '../types.js';
7
7
  export { execTool } from './exec.js';
8
8
  export { webFetchTool } from './web-fetch.js';
9
9
  export { readFileTool, writeFileTool, searchFilesTool, grepTool, editFileTool, directoryTreeTool, patchApplyTool } from './file-ops.js';
10
+ export { multiPatchTool } from './multi-patch.js';
11
+ export type { MultiPatchParams, MultiPatchResult, MultiPatchFileResult } from './multi-patch.js';
10
12
  export { githubPrTool } from './github.js';
11
13
  export { testRunTool } from './test-run.js';
12
14
  export { imageAnalyzeTool } from './image-analyze.js';
@@ -20,10 +22,13 @@ export { agentsListTool } from './agents-list.js';
20
22
  export { memorySearchTool, memoryGetTool, memoryStatsTool } from './memory-tools.js';
21
23
  export { webSearchTool } from './web-search.js';
22
24
  export { completeTaskTool } from './complete-task.js';
25
+ export { decomposeTaskTool } from './decompose-task.js';
26
+ export type { DecomposeTaskParams } from './decompose-task.js';
23
27
  export { cronCreateTool, cronListTool, cronTriggerTool, cronPauseTool, cronArchiveTool, cronDeleteTool, cronHistoryTool, cronTools, } from './cron-tool.js';
24
28
  export { createTicketTool, createProjectTool, listTicketsTool, listProjectsTool, updateTicketTool, getTicketTool, profclawTools, } from './profclaw-ops.js';
25
29
  export type { CronCreateParams, CronCreateResult, CronListParams, CronListResult, CronTriggerParams, CronTriggerResult, CronPauseParams, CronPauseResult, CronArchiveParams, CronArchiveResult, CronDeleteParams, CronDeleteResult, CronHistoryParams, CronHistoryResult, } from './cron-tool.js';
26
- export { browserNavigateTool, browserSnapshotTool, browserClickTool, browserTypeTool, browserSearchTool, browserScreenshotTool, browserPagesTool, browserCloseTool, browserTools, } from './browser.js';
30
+ export { typeCheckTool, lintTool, buildTool, formatTool, projectInfoTool, createPrTool, codeTools, } from './code-tools.js';
31
+ export { feedListTool, feedAddTool, feedBundleInstallTool, feedPollTool, feedDigestTool, feedDiscoverTool, feedTools, } from './feed-tools.js';
27
32
  export { canvasRenderTool } from './canvas.js';
28
33
  export type { CanvasRenderResult, CanvasArtifact } from './canvas.js';
29
34
  export { getArtifact, listArtifacts, clearArtifacts } from './canvas.js';
@@ -44,6 +49,10 @@ export type { SlackActionsResult } from './slack-actions.js';
44
49
  export { telegramActionsTool } from './telegram-actions.js';
45
50
  export type { TelegramActionsResult } from './telegram-actions.js';
46
51
  export { spawnSessionTool, sendMessageTool, receiveMessagesTool, listSessionsTool, sessionSpawnTools, } from './session-spawn.js';
52
+ export { replTool, listReplSessions, closeReplSession, getReplSessionsMap, } from './repl-tool.js';
53
+ export type { REPLSession, REPLResult, ReplExecuteParams } from './repl-tool.js';
54
+ export { todoWriteTool, todoReadTool, clearTodos, getTodos, getTodoStore, } from './todo-tool.js';
55
+ export type { TodoItem, TodoStatus, TodoPriority, TodoWriteResult, TodoReadResult, TodoWriteParams, TodoReadParams, } from './todo-tool.js';
47
56
  export type { ExecResult } from './exec.js';
48
57
  export type { WebFetchResult } from './web-fetch.js';
49
58
  export type { ReadFileResult, WriteFileResult, SearchFilesResult, GrepResult, GrepMatch, EditFileResult, DirectoryTreeResult, PatchApplyResult } from './file-ops.js';
@@ -58,7 +67,10 @@ export type { SessionsSendParams, SessionsSendResult } from './sessions-send.js'
58
67
  export type { BrowserNavigateResult, BrowserSnapshotResult, BrowserClickResult, BrowserTypeResult, BrowserSearchResult, BrowserScreenshotResult, BrowserPagesResult, BrowserCloseResult, } from './browser.js';
59
68
  export declare const builtinTools: ToolDefinition[];
60
69
  /**
61
- * Register all built-in tools (with tier assignments)
70
+ * Register all built-in tools (with tier assignments and mode gating)
71
+ *
72
+ * Browser and canvas tools are loaded dynamically to avoid pulling in
73
+ * playwright-core (~72MB) in modes that don't need it.
62
74
  */
63
- export declare function registerBuiltinTools(): void;
75
+ export declare function registerBuiltinTools(): Promise<void>;
64
76
  //# sourceMappingURL=index.d.ts.map
@@ -4,6 +4,7 @@
4
4
  * Export all built-in tools and registration function.
5
5
  */
6
6
  import { getToolRegistry } from '../registry.js';
7
+ import { hasCapability } from '../../../core/deployment.js';
7
8
  // Core tools
8
9
  import { execTool } from './exec.js';
9
10
  import { webFetchTool } from './web-fetch.js';
@@ -36,14 +37,30 @@ import { completeTaskTool } from './complete-task.js';
36
37
  import { cronTools } from './cron-tool.js';
37
38
  // profClaw ops tools (ticket, project management)
38
39
  import { profclawTools } from './profclaw-ops.js';
39
- // Browser tools
40
- import { browserTools } from './browser.js';
41
- // Canvas tools
40
+ // Browser tools — lazy loaded (playwright-core is ~72MB RSS)
41
+ let _browserTools = null;
42
+ async function loadBrowserTools() {
43
+ if (!_browserTools) {
44
+ const mod = await import('./browser.js');
45
+ _browserTools = mod.browserTools;
46
+ }
47
+ return _browserTools;
48
+ }
49
+ // Canvas tools — no heavy deps, safe to import statically
42
50
  import { canvasRenderTool } from './canvas.js';
43
51
  // Session spawn tools (hierarchical agent sessions)
44
52
  import { sessionSpawnTools } from './session-spawn.js';
45
53
  // Integration tools (screen capture, clipboard, notifications)
46
54
  import { screenCaptureTool, clipboardReadTool, clipboardWriteTool, notifyTool } from './integrations.js';
55
+ // Feed tools
56
+ import { feedTools } from './feed-tools.js';
57
+ // Code tools (typecheck, lint, build, format, project_info, create_pr)
58
+ import { codeTools } from './code-tools.js';
59
+ // Multi-file patch tool
60
+ import { multiPatchTool } from './multi-patch.js';
61
+ // REPL and Todo tools
62
+ import { replTool } from './repl-tool.js';
63
+ import { todoWriteTool, todoReadTool } from './todo-tool.js';
47
64
  // Phase 3 parity tools
48
65
  import { openaiImageGenTool } from './openai-image-gen.js';
49
66
  import { ttsSpeakTool } from './tts-speak.js';
@@ -52,10 +69,13 @@ import { subagentOrchestrateTool } from './subagent-orchestrate.js';
52
69
  import { discordActionsTool } from './discord-actions.js';
53
70
  import { slackActionsTool } from './slack-actions.js';
54
71
  import { telegramActionsTool } from './telegram-actions.js';
72
+ // Decompose task tool (checkpoint / resume)
73
+ import { decomposeTaskTool } from './decompose-task.js';
55
74
  // Export individual tools
56
75
  export { execTool } from './exec.js';
57
76
  export { webFetchTool } from './web-fetch.js';
58
77
  export { readFileTool, writeFileTool, searchFilesTool, grepTool, editFileTool, directoryTreeTool, patchApplyTool } from './file-ops.js';
78
+ export { multiPatchTool } from './multi-patch.js';
59
79
  // GitHub tools exports
60
80
  export { githubPrTool } from './github.js';
61
81
  // Test tools exports
@@ -76,12 +96,17 @@ export { memorySearchTool, memoryGetTool, memoryStatsTool } from './memory-tools
76
96
  export { webSearchTool } from './web-search.js';
77
97
  // Task completion tool exports
78
98
  export { completeTaskTool } from './complete-task.js';
99
+ // Decompose task tool exports
100
+ export { decomposeTaskTool } from './decompose-task.js';
79
101
  // Cron tools exports
80
102
  export { cronCreateTool, cronListTool, cronTriggerTool, cronPauseTool, cronArchiveTool, cronDeleteTool, cronHistoryTool, cronTools, } from './cron-tool.js';
81
103
  // profClaw ops tools exports
82
104
  export { createTicketTool, createProjectTool, listTicketsTool, listProjectsTool, updateTicketTool, getTicketTool, profclawTools, } from './profclaw-ops.js';
83
- // Browser tools exports
84
- export { browserNavigateTool, browserSnapshotTool, browserClickTool, browserTypeTool, browserSearchTool, browserScreenshotTool, browserPagesTool, browserCloseTool, browserTools, } from './browser.js';
105
+ // Code tools exports
106
+ export { typeCheckTool, lintTool, buildTool, formatTool, projectInfoTool, createPrTool, codeTools, } from './code-tools.js';
107
+ // Feed tools exports
108
+ export { feedListTool, feedAddTool, feedBundleInstallTool, feedPollTool, feedDigestTool, feedDiscoverTool, feedTools, } from './feed-tools.js';
109
+ // Browser tools — import directly from './browser.js' when needed (lazy loaded to save ~72MB)
85
110
  // Canvas tools exports
86
111
  export { canvasRenderTool } from './canvas.js';
87
112
  export { getArtifact, listArtifacts, clearArtifacts } from './canvas.js';
@@ -97,6 +122,10 @@ export { slackActionsTool } from './slack-actions.js';
97
122
  export { telegramActionsTool } from './telegram-actions.js';
98
123
  // Session spawn tools exports (hierarchical agent sessions)
99
124
  export { spawnSessionTool, sendMessageTool, receiveMessagesTool, listSessionsTool, sessionSpawnTools, } from './session-spawn.js';
125
+ // REPL tool exports
126
+ export { replTool, listReplSessions, closeReplSession, getReplSessionsMap, } from './repl-tool.js';
127
+ // Todo tool exports
128
+ export { todoWriteTool, todoReadTool, clearTodos, getTodos, getTodoStore, } from './todo-tool.js';
100
129
  // Tool Tier Assignments
101
130
  /**
102
131
  * Tool tier map: assigns each tool to essential/standard/full tier.
@@ -123,13 +152,15 @@ const TOOL_TIER_MAP = {
123
152
  git_status: 'essential',
124
153
  web_fetch: 'essential',
125
154
  complete_task: 'essential',
155
+ decompose_task: 'standard',
126
156
  // Standard tier - needs moderate reasoning (14B+)
127
157
  git_diff: 'standard',
128
158
  git_log: 'standard',
129
159
  git_commit: 'standard',
130
160
  git_branch: 'standard',
131
161
  patch_apply: 'standard',
132
- web_search: 'standard',
162
+ multi_patch: 'standard',
163
+ web_search: 'essential',
133
164
  memory_search: 'standard',
134
165
  memory_get: 'standard',
135
166
  memory_stats: 'standard',
@@ -148,6 +179,22 @@ const TOOL_TIER_MAP = {
148
179
  link_understand: 'standard',
149
180
  github_pr: 'standard',
150
181
  notify: 'standard',
182
+ feed_list: 'standard',
183
+ feed_add: 'standard',
184
+ feed_bundle_install: 'standard',
185
+ feed_poll: 'standard',
186
+ feed_digest: 'standard',
187
+ feed_discover: 'standard',
188
+ typecheck: 'standard',
189
+ lint: 'standard',
190
+ build: 'standard',
191
+ format: 'standard',
192
+ project_info: 'essential',
193
+ create_pr: 'standard',
194
+ // REPL and Todo tools — standard (need moderate reasoning)
195
+ repl_execute: 'standard',
196
+ todo_write: 'standard',
197
+ todo_read: 'standard',
151
198
  // Full tier - only for large/frontier models (everything else)
152
199
  // git_stash, git_remote, canvas_render, all session tools,
153
200
  // all browser tools, all cron tools, all integration tools,
@@ -172,6 +219,7 @@ const rawBuiltinTools = [
172
219
  grepTool,
173
220
  directoryTreeTool,
174
221
  patchApplyTool,
222
+ multiPatchTool,
175
223
  imageAnalyzeTool,
176
224
  canvasRenderTool,
177
225
  // Git tools (7)
@@ -201,12 +249,12 @@ const rawBuiltinTools = [
201
249
  memoryStatsTool,
202
250
  // Web search (1)
203
251
  webSearchTool,
204
- // Task completion (1)
252
+ // Task completion + decomposition (2)
205
253
  completeTaskTool,
254
+ decomposeTaskTool,
206
255
  // Cron tools (7)
207
256
  ...cronTools,
208
- // Browser tools (8)
209
- ...browserTools,
257
+ // Browser tools (8) — loaded dynamically in registerBuiltinTools
210
258
  // profClaw ops tools (6)
211
259
  ...profclawTools,
212
260
  // Session spawn tools (4) - hierarchical agent sessions
@@ -222,6 +270,15 @@ const rawBuiltinTools = [
222
270
  clipboardReadTool,
223
271
  clipboardWriteTool,
224
272
  notifyTool,
273
+ // Feed tools (6)
274
+ ...feedTools,
275
+ // Code tools (6) - typecheck, lint, build, format, project_info, create_pr
276
+ ...codeTools,
277
+ // REPL tool (1)
278
+ replTool,
279
+ // Todo tools (2)
280
+ todoWriteTool,
281
+ todoReadTool,
225
282
  // Phase 3 parity tools (7)
226
283
  openaiImageGenTool,
227
284
  ttsSpeakTool,
@@ -233,12 +290,68 @@ const rawBuiltinTools = [
233
290
  ];
234
291
  // Apply tier assignments to all tools
235
292
  export const builtinTools = applyTiers(rawBuiltinTools);
293
+ /** Tool names that require specific deployment mode capabilities */
294
+ const BROWSER_TOOL_NAMES = new Set([
295
+ 'browser_navigate', 'browser_snapshot', 'browser_click', 'browser_type',
296
+ 'browser_search', 'browser_screenshot', 'browser_pages', 'browser_close',
297
+ ]);
298
+ const CRON_TOOL_NAMES = new Set([
299
+ 'cron_create', 'cron_list', 'cron_trigger', 'cron_pause',
300
+ 'cron_archive', 'cron_delete', 'cron_history',
301
+ ]);
302
+ const FEED_TOOL_NAMES = new Set([
303
+ 'feed_list', 'feed_add', 'feed_bundle_install', 'feed_poll',
304
+ 'feed_digest', 'feed_discover',
305
+ ]);
306
+ const CHANNEL_TOOL_NAMES = new Set([
307
+ 'discord_actions', 'slack_actions', 'telegram_actions',
308
+ ]);
309
+ const INTEGRATION_TOOL_NAMES = new Set([
310
+ 'create_ticket', 'list_tickets', 'update_ticket', 'get_ticket',
311
+ 'create_project', 'list_projects',
312
+ ]);
236
313
  /**
237
- * Register all built-in tools (with tier assignments)
314
+ * Register all built-in tools (with tier assignments and mode gating)
315
+ *
316
+ * Browser and canvas tools are loaded dynamically to avoid pulling in
317
+ * playwright-core (~72MB) in modes that don't need it.
238
318
  */
239
- export function registerBuiltinTools() {
319
+ export async function registerBuiltinTools() {
240
320
  const registry = getToolRegistry();
241
- for (const tool of builtinTools) {
321
+ // Dynamically load heavy tools only when their capability is enabled
322
+ // Browser tools pull in playwright-core (~72MB) so we skip in pico/mini
323
+ const dynamicTools = [];
324
+ if (hasCapability('browser_tools')) {
325
+ const browser = await loadBrowserTools();
326
+ dynamicTools.push(...browser);
327
+ }
328
+ const allTools = [...builtinTools, ...applyTiers(dynamicTools)];
329
+ const modeFilteredTools = allTools.filter((tool) => {
330
+ // Browser tools: pro only (browser_tools capability) — already gated above
331
+ if (BROWSER_TOOL_NAMES.has(tool.name))
332
+ return hasCapability('browser_tools');
333
+ // Cron tools: mini+ (cron capability)
334
+ if (CRON_TOOL_NAMES.has(tool.name))
335
+ return hasCapability('cron');
336
+ // Feed tools: mini+ (cron capability - feeds are part of automation)
337
+ if (FEED_TOOL_NAMES.has(tool.name))
338
+ return hasCapability('cron');
339
+ // Channel action tools: mini+ (chat_channels capability)
340
+ if (CHANNEL_TOOL_NAMES.has(tool.name))
341
+ return hasCapability('chat_channels');
342
+ // Integration tools: mini+ (integrations capability)
343
+ if (INTEGRATION_TOOL_NAMES.has(tool.name))
344
+ return hasCapability('integrations');
345
+ // Screen capture: pro only (sandbox_full capability)
346
+ if (tool.name === 'screen_capture')
347
+ return hasCapability('sandbox_full');
348
+ // Canvas render: pro only (browser_tools - needs headless browser)
349
+ if (tool.name === 'canvas_render')
350
+ return hasCapability('browser_tools');
351
+ // Everything else: always available
352
+ return true;
353
+ });
354
+ for (const tool of modeFilteredTools) {
242
355
  registry.register(tool);
243
356
  }
244
357
  }
@@ -11,15 +11,15 @@ declare const ScreenCaptureParamsSchema: z.ZodObject<{
11
11
  width: z.ZodNumber;
12
12
  height: z.ZodNumber;
13
13
  }, "strip", z.ZodTypeAny, {
14
- width: number;
15
- height: number;
16
14
  x: number;
17
15
  y: number;
18
- }, {
19
16
  width: number;
20
17
  height: number;
18
+ }, {
21
19
  x: number;
22
20
  y: number;
21
+ width: number;
22
+ height: number;
23
23
  }>>;
24
24
  format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["png", "jpg"]>>>;
25
25
  output: z.ZodOptional<z.ZodString>;
@@ -28,21 +28,21 @@ declare const ScreenCaptureParamsSchema: z.ZodObject<{
28
28
  display: number;
29
29
  output?: string | undefined;
30
30
  region?: {
31
- width: number;
32
- height: number;
33
31
  x: number;
34
32
  y: number;
33
+ width: number;
34
+ height: number;
35
35
  } | undefined;
36
36
  }, {
37
37
  output?: string | undefined;
38
38
  format?: "png" | "jpg" | undefined;
39
+ display?: number | undefined;
39
40
  region?: {
40
- width: number;
41
- height: number;
42
41
  x: number;
43
42
  y: number;
43
+ width: number;
44
+ height: number;
44
45
  } | undefined;
45
- display?: number | undefined;
46
46
  }>;
47
47
  declare const ClipboardReadParamsSchema: z.ZodObject<{
48
48
  format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["text", "html"]>>>;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Multi-File Patch Tool
3
+ *
4
+ * Applies OpenAI-style multi-file patches that can add, update, and delete
5
+ * multiple files in a single operation.
6
+ *
7
+ * Format:
8
+ * *** Begin Patch
9
+ * *** Add File: path/to/new.ts
10
+ * [file content]
11
+ * *** Update File: path/to/existing.ts
12
+ * @@ context @@
13
+ * -old line
14
+ * +new line
15
+ * *** Delete File: path/to/remove.ts
16
+ * *** End Patch
17
+ */
18
+ import { z } from 'zod';
19
+ import type { ToolDefinition } from '../types.js';
20
+ declare const MultiPatchParamsSchema: z.ZodObject<{
21
+ patch: z.ZodString;
22
+ workdir: z.ZodOptional<z.ZodString>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ patch: string;
25
+ workdir?: string | undefined;
26
+ }, {
27
+ patch: string;
28
+ workdir?: string | undefined;
29
+ }>;
30
+ export type MultiPatchParams = z.infer<typeof MultiPatchParamsSchema>;
31
+ export interface MultiPatchFileResult {
32
+ /** The file path that was targeted. */
33
+ path: string;
34
+ /** Operation performed on this file. */
35
+ operation: 'add' | 'update' | 'delete';
36
+ /** Whether the operation succeeded. */
37
+ success: boolean;
38
+ /** Number of hunks applied (update only). */
39
+ hunks?: number;
40
+ /** Error message if the operation failed. */
41
+ error?: string;
42
+ }
43
+ export interface MultiPatchResult {
44
+ /** Per-file results. */
45
+ files: MultiPatchFileResult[];
46
+ /** Total files successfully changed. */
47
+ applied: number;
48
+ /** Total files that failed. */
49
+ failed: number;
50
+ }
51
+ export declare const multiPatchTool: ToolDefinition<MultiPatchParams, MultiPatchResult>;
52
+ export {};
53
+ //# sourceMappingURL=multi-patch.d.ts.map