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.
- package/.env.example +14 -2
- package/CHANGELOG.md +54 -34
- package/CONTRIBUTING.md +23 -5
- package/Dockerfile +39 -23
- package/README.md +271 -72
- package/dist/agents/agent-summary.d.ts +44 -0
- package/dist/agents/agent-summary.js +176 -0
- package/dist/agents/auto-memory.d.ts +59 -0
- package/dist/agents/auto-memory.js +310 -0
- package/dist/agents/checkpoint-manager.d.ts +76 -0
- package/dist/agents/checkpoint-manager.js +156 -0
- package/dist/agents/circuit-breaker.d.ts +54 -0
- package/dist/agents/circuit-breaker.js +153 -0
- package/dist/agents/context-compactor.d.ts +70 -0
- package/dist/agents/context-compactor.js +361 -0
- package/dist/agents/conversation-branch.d.ts +55 -0
- package/dist/agents/conversation-branch.js +115 -0
- package/dist/agents/error-recovery.d.ts +44 -0
- package/dist/agents/error-recovery.js +197 -0
- package/dist/agents/events.d.ts +76 -0
- package/dist/agents/events.js +8 -0
- package/dist/agents/executor.d.ts +35 -1
- package/dist/agents/executor.js +573 -124
- package/dist/agents/file-snapshots.d.ts +72 -0
- package/dist/agents/file-snapshots.js +182 -0
- package/dist/agents/index.d.ts +2 -0
- package/dist/agents/orchestrator.d.ts +183 -0
- package/dist/agents/orchestrator.js +495 -0
- package/dist/agents/permissions.d.ts +63 -0
- package/dist/agents/permissions.js +138 -0
- package/dist/agents/plan-mode.d.ts +71 -0
- package/dist/agents/plan-mode.js +186 -0
- package/dist/agents/prompt-suggestions.d.ts +33 -0
- package/dist/agents/prompt-suggestions.js +208 -0
- package/dist/agents/rate-limit-monitor.d.ts +56 -0
- package/dist/agents/rate-limit-monitor.js +224 -0
- package/dist/agents/result-store.d.ts +37 -0
- package/dist/agents/result-store.js +104 -0
- package/dist/agents/session-diff.d.ts +43 -0
- package/dist/agents/session-diff.js +258 -0
- package/dist/agents/tool-loader.d.ts +65 -0
- package/dist/agents/tool-loader.js +273 -0
- package/dist/agents/transcript.d.ts +96 -0
- package/dist/agents/transcript.js +267 -0
- package/dist/agents/worktree-manager.d.ts +80 -0
- package/dist/agents/worktree-manager.js +203 -0
- package/dist/auth/middleware.js +14 -0
- package/dist/chat/agentic-executor.d.ts +7 -0
- package/dist/chat/agentic-executor.js +253 -30
- package/dist/chat/conversations.d.ts +2 -0
- package/dist/chat/conversations.js +8 -0
- package/dist/chat/execution/executor.d.ts +8 -0
- package/dist/chat/execution/executor.js +157 -103
- package/dist/chat/execution/index.js +5 -1
- package/dist/chat/execution/tool-router.js +40 -14
- package/dist/chat/execution/tools/canvas.d.ts +2 -2
- package/dist/chat/execution/tools/code-tools.d.ts +66 -0
- package/dist/chat/execution/tools/code-tools.js +353 -0
- package/dist/chat/execution/tools/complete-task.d.ts +2 -2
- package/dist/chat/execution/tools/cron-tool.d.ts +26 -10
- package/dist/chat/execution/tools/cron-tool.js +48 -3
- package/dist/chat/execution/tools/decompose-task.d.ts +58 -0
- package/dist/chat/execution/tools/decompose-task.js +166 -0
- package/dist/chat/execution/tools/exec.d.ts +5 -2
- package/dist/chat/execution/tools/exec.js +294 -155
- package/dist/chat/execution/tools/feed-tools.d.ts +77 -0
- package/dist/chat/execution/tools/feed-tools.js +142 -0
- package/dist/chat/execution/tools/file-ops.d.ts +1 -1
- package/dist/chat/execution/tools/github.d.ts +2 -2
- package/dist/chat/execution/tools/index.d.ts +15 -3
- package/dist/chat/execution/tools/index.js +125 -12
- package/dist/chat/execution/tools/integrations.d.ts +8 -8
- package/dist/chat/execution/tools/multi-patch.d.ts +53 -0
- package/dist/chat/execution/tools/multi-patch.js +373 -0
- package/dist/chat/execution/tools/openai-image-gen.d.ts +2 -2
- package/dist/chat/execution/tools/plan-tools.d.ts +80 -0
- package/dist/chat/execution/tools/plan-tools.js +134 -0
- package/dist/chat/execution/tools/profclaw-ops.d.ts +6 -6
- package/dist/chat/execution/tools/repl-tool.d.ts +46 -0
- package/dist/chat/execution/tools/repl-tool.js +207 -0
- package/dist/chat/execution/tools/sessions-send.d.ts +2 -2
- package/dist/chat/execution/tools/slack-actions.d.ts +2 -2
- package/dist/chat/execution/tools/system.d.ts +4 -4
- package/dist/chat/execution/tools/todo-tool.d.ts +72 -0
- package/dist/chat/execution/tools/todo-tool.js +152 -0
- package/dist/chat/execution/tools/tool-search.d.ts +50 -0
- package/dist/chat/execution/tools/tool-search.js +155 -0
- package/dist/chat/execution/types.d.ts +21 -14
- package/dist/chat/execution/workflows/executor.d.ts +11 -0
- package/dist/chat/execution/workflows/executor.js +99 -1
- package/dist/chat/execution/workflows/types.d.ts +35 -2
- package/dist/chat/format/index.d.ts +1 -0
- package/dist/chat/format/index.js +1 -0
- package/dist/chat/format/markdown-convert.d.ts +23 -0
- package/dist/chat/format/markdown-convert.js +149 -0
- package/dist/chat/index.d.ts +1 -1
- package/dist/chat/index.js +1 -1
- package/dist/chat/message-handler.js +58 -6
- package/dist/chat/proactive/index.d.ts +62 -0
- package/dist/chat/proactive/index.js +147 -0
- package/dist/chat/prompt-adapter.js +2 -0
- package/dist/chat/providers/irc/index.d.ts +2 -2
- package/dist/chat/providers/slack/index.d.ts +2 -2
- package/dist/chat/providers/telegram/index.d.ts +2 -0
- package/dist/chat/providers/telegram/index.js +21 -2
- package/dist/chat/system-prompts.d.ts +3 -3
- package/dist/chat/system-prompts.js +116 -61
- package/dist/chat/tools.d.ts +6 -6
- package/dist/cli/commands/auth.js +64 -1
- package/dist/cli/commands/chat.js +1327 -138
- package/dist/cli/commands/doctor.js +222 -16
- package/dist/cli/commands/history.d.ts +3 -0
- package/dist/cli/commands/history.js +138 -0
- package/dist/cli/commands/import.d.ts +44 -0
- package/dist/cli/commands/import.js +526 -0
- package/dist/cli/commands/init.d.ts +13 -0
- package/dist/cli/commands/init.js +381 -0
- package/dist/cli/commands/models.js +39 -26
- package/dist/cli/commands/onboard.js +263 -98
- package/dist/cli/commands/plan.d.ts +13 -0
- package/dist/cli/commands/plan.js +184 -0
- package/dist/cli/commands/serve.d.ts +7 -0
- package/dist/cli/commands/serve.js +77 -18
- package/dist/cli/commands/setup.js +375 -91
- package/dist/cli/commands/status.js +54 -0
- package/dist/cli/commands/tools.js +13 -13
- package/dist/cli/commands/tui.js +26 -1
- package/dist/cli/index.js +19 -6
- package/dist/cli/ink/App.d.ts +13 -0
- package/dist/cli/ink/App.js +6 -0
- package/dist/cli/ink/ChatApp.d.ts +60 -0
- package/dist/cli/ink/ChatApp.js +325 -0
- package/dist/cli/ink/DashboardApp.d.ts +3 -0
- package/dist/cli/ink/DashboardApp.js +143 -0
- package/dist/cli/ink/components/AgentStatus.d.ts +17 -0
- package/dist/cli/ink/components/AgentStatus.js +33 -0
- package/dist/cli/ink/components/ChannelList.d.ts +17 -0
- package/dist/cli/ink/components/ChannelList.js +33 -0
- package/dist/cli/ink/components/ConnectionStatus.d.ts +19 -0
- package/dist/cli/ink/components/ConnectionStatus.js +50 -0
- package/dist/cli/ink/components/CostBar.d.ts +19 -0
- package/dist/cli/ink/components/CostBar.js +35 -0
- package/dist/cli/ink/components/HookStatus.d.ts +15 -0
- package/dist/cli/ink/components/HookStatus.js +7 -0
- package/dist/cli/ink/components/PermissionPrompt.d.ts +21 -0
- package/dist/cli/ink/components/PermissionPrompt.js +51 -0
- package/dist/cli/ink/components/PlanView.d.ts +23 -0
- package/dist/cli/ink/components/PlanView.js +26 -0
- package/dist/cli/ink/components/ProviderList.d.ts +16 -0
- package/dist/cli/ink/components/ProviderList.js +16 -0
- package/dist/cli/ink/components/SessionHeader.d.ts +15 -0
- package/dist/cli/ink/components/SessionHeader.js +15 -0
- package/dist/cli/ink/components/StreamingMessage.d.ts +20 -0
- package/dist/cli/ink/components/StreamingMessage.js +27 -0
- package/dist/cli/ink/components/SuggestionBar.d.ts +15 -0
- package/dist/cli/ink/components/SuggestionBar.js +28 -0
- package/dist/cli/ink/components/SystemHealth.d.ts +20 -0
- package/dist/cli/ink/components/SystemHealth.js +39 -0
- package/dist/cli/ink/components/TaskList.d.ts +17 -0
- package/dist/cli/ink/components/TaskList.js +59 -0
- package/dist/cli/ink/components/ToolCall.d.ts +17 -0
- package/dist/cli/ink/components/ToolCall.js +43 -0
- package/dist/cli/ink/index.d.ts +23 -0
- package/dist/cli/ink/index.js +15 -0
- package/dist/cli/ink/keybindings.d.ts +35 -0
- package/dist/cli/ink/keybindings.js +105 -0
- package/dist/cli/ink/markdown-renderer.d.ts +47 -0
- package/dist/cli/ink/markdown-renderer.js +380 -0
- package/dist/cli/ink/output-styles.d.ts +39 -0
- package/dist/cli/ink/output-styles.js +119 -0
- package/dist/cli/interactive/auto-serve.d.ts +38 -0
- package/dist/cli/interactive/auto-serve.js +209 -0
- package/dist/cli/interactive/index.d.ts +25 -0
- package/dist/cli/interactive/index.js +23 -0
- package/dist/cli/interactive/picker.d.ts +28 -0
- package/dist/cli/interactive/picker.js +153 -0
- package/dist/cli/interactive/renderer.d.ts +26 -0
- package/dist/cli/interactive/renderer.js +555 -0
- package/dist/cli/interactive/repl.d.ts +14 -0
- package/dist/cli/interactive/repl.js +1516 -0
- package/dist/cli/interactive/stream-client.d.ts +59 -0
- package/dist/cli/interactive/stream-client.js +506 -0
- package/dist/cli/interactive/types.d.ts +121 -0
- package/dist/cli/interactive/types.js +10 -0
- package/dist/cli/providers.d.ts +15 -0
- package/dist/cli/providers.js +41 -0
- package/dist/cli/utils/api.d.ts +9 -0
- package/dist/cli/utils/api.js +58 -2
- package/dist/core/deployment.js +2 -0
- package/dist/cron/natural-language.d.ts +54 -0
- package/dist/cron/natural-language.js +569 -0
- package/dist/cron/scheduler.d.ts +34 -4
- package/dist/cron/scheduler.js +141 -9
- package/dist/cron/templates.d.ts +1 -1
- package/dist/cron/templates.js +219 -0
- package/dist/feeds/feed-engine.d.ts +149 -0
- package/dist/feeds/feed-engine.js +600 -0
- package/dist/feeds/index.d.ts +9 -0
- package/dist/feeds/index.js +8 -0
- package/dist/gateway/router.js +6 -1
- package/dist/hooks/built-in/audit-log.d.ts +11 -0
- package/dist/hooks/built-in/audit-log.js +84 -0
- package/dist/hooks/built-in/cost-warning.d.ts +10 -0
- package/dist/hooks/built-in/cost-warning.js +59 -0
- package/dist/hooks/built-in/dangerous-tool.d.ts +32 -0
- package/dist/hooks/built-in/dangerous-tool.js +80 -0
- package/dist/hooks/built-in/index.d.ts +14 -0
- package/dist/hooks/built-in/index.js +20 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.js +6 -0
- package/dist/hooks/loader.d.ts +17 -0
- package/dist/hooks/loader.js +142 -0
- package/dist/hooks/registry.d.ts +62 -0
- package/dist/hooks/registry.js +127 -0
- package/dist/integrations/web-search.js +6 -3
- package/dist/memory/index.d.ts +1 -0
- package/dist/memory/index.js +2 -0
- package/dist/memory/memory-service.js +14 -13
- package/dist/memory/observational.d.ts +62 -0
- package/dist/memory/observational.js +396 -0
- package/dist/middleware/content-filter.d.ts +22 -0
- package/dist/middleware/content-filter.js +69 -0
- package/dist/middleware/request-validator.d.ts +159 -0
- package/dist/middleware/request-validator.js +93 -0
- package/dist/plugins/sdk.d.ts +22 -0
- package/dist/plugins/sdk.js +17 -1
- package/dist/projects/types.d.ts +10 -10
- package/dist/providers/ai-sdk.d.ts +11 -0
- package/dist/providers/ai-sdk.js +97 -18
- package/dist/providers/core/models.js +67 -1
- package/dist/providers/core/types.d.ts +3 -0
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.js +1 -0
- package/dist/providers/smart-router.d.ts +118 -0
- package/dist/providers/smart-router.js +685 -0
- package/dist/providers/types.d.ts +16 -16
- package/dist/routes/agents.js +50 -0
- package/dist/routes/auth.js +8 -1
- package/dist/routes/channels.d.ts +12 -0
- package/dist/routes/channels.js +166 -0
- package/dist/routes/chat.js +259 -14
- package/dist/routes/costs.js +32 -0
- package/dist/routes/cron.js +80 -5
- package/dist/routes/feeds.d.ts +10 -0
- package/dist/routes/feeds.js +168 -0
- package/dist/routes/mcp.js +21 -0
- package/dist/routes/memory.js +130 -0
- package/dist/routes/skills.js +129 -0
- package/dist/routes/teams.d.ts +9 -0
- package/dist/routes/teams.js +210 -0
- package/dist/routes/tools.js +14 -0
- package/dist/routes/users.js +2 -0
- package/dist/server/route-loader.js +4 -1
- package/dist/server/stream-bridge.d.ts +19 -0
- package/dist/server/stream-bridge.js +38 -0
- package/dist/server.js +421 -141
- package/dist/skills/marketplace.d.ts +87 -0
- package/dist/skills/marketplace.js +268 -0
- package/dist/storage/index.d.ts +14 -0
- package/dist/storage/index.js +64 -3
- package/dist/storage/schema.d.ts +4 -4
- package/dist/storage/schema.js +1 -1
- package/dist/teams/index.d.ts +110 -0
- package/dist/teams/index.js +365 -0
- package/dist/tickets/types.d.ts +39 -39
- package/dist/types/summary.d.ts +5 -5
- package/dist/utils/auto-update.d.ts +23 -0
- package/dist/utils/auto-update.js +157 -0
- package/dist/utils/offline-detect.d.ts +55 -0
- package/dist/utils/offline-detect.js +121 -0
- package/dist/utils/pid-file.d.ts +36 -0
- package/dist/utils/pid-file.js +125 -0
- package/dist/utils/prevent-sleep.d.ts +27 -0
- package/dist/utils/prevent-sleep.js +95 -0
- package/dist/utils/sanitizer.d.ts +57 -0
- package/dist/utils/sanitizer.js +174 -0
- package/docker-compose.yml +13 -137
- package/package.json +31 -6
- package/skills/deploy-cloudflare/SKILL.md +62 -0
- package/skills/deploy-vercel/SKILL.md +67 -0
- package/skills/docker-deploy/SKILL.md +158 -0
- package/skills/full-stack-builder/SKILL.md +92 -0
- package/skills/git-workflow/SKILL.md +3 -3
- package/skills/humanizer/SKILL.md +488 -0
- package/skills/profclaw-assistant/SKILL.md +85 -56
- package/ui/dist/assets/ActivityView-Da6HQ8ws.js +1 -0
- package/ui/dist/assets/AgentList-H58R0kX3.js +1 -0
- package/ui/dist/assets/AnalyticsDashboard-B28AeRsc.js +1 -0
- package/ui/dist/assets/AreaChart-DwLzeAQ8.js +1 -0
- package/ui/dist/assets/CartesianChart-piKQsTAR.js +36 -0
- package/ui/dist/assets/ChatView-Dbj8rxU5.js +10 -0
- package/ui/dist/assets/CostsDashboard-C6F5df0F.js +1 -0
- package/ui/dist/assets/EstimateSelect-wga0rUKX.js +1 -0
- package/ui/dist/assets/FeedDashboard-Ef6FEzEf.js +1 -0
- package/ui/dist/assets/FloatingChatbot-0yhkUeCq.js +2 -0
- package/ui/dist/assets/InviteCodeManagement-tUXfx4Bc.js +2 -0
- package/ui/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/ui/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/ui/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/ui/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/ui/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/ui/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/ui/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/ui/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/ui/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/ui/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/ui/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/ui/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/ui/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/ui/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/ui/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/ui/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/ui/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/ui/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/ui/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/ui/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/ui/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/ui/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/ui/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/ui/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/ui/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/ui/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/ui/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/ui/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/ui/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/ui/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/ui/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/ui/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/ui/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/ui/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/ui/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/ui/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/ui/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/ui/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/ui/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/ui/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/ui/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/ui/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/ui/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/ui/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/ui/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/ui/dist/assets/MarketplacePage-DGrLtolR.js +1 -0
- package/ui/dist/assets/{ProjectDetail-DlYUcOss.js → ProjectDetail-BgWvA6UP.js} +2 -2
- package/ui/dist/assets/ProjectIcon-TDuliqwg.js +1 -0
- package/ui/dist/assets/ProjectList-DXgM4187.js +1 -0
- package/ui/dist/assets/{Settings-CgPqzUvj.js → Settings-xA8Zhi3p.js} +3 -3
- package/ui/dist/assets/StatusIndicator-B8vfFAxg.js +1 -0
- package/ui/dist/assets/{SummaryDetail-CwLAfHgJ.js → SummaryDetail-eedRfTtF.js} +2 -2
- package/ui/dist/assets/SummaryList-CLNX2P84.js +1 -0
- package/ui/dist/assets/TaskDetail-BtWclNiR.js +1 -0
- package/ui/dist/assets/TaskList-JjODAgSc.js +1 -0
- package/ui/dist/assets/TeamsPage-CBK5iAyx.js +1 -0
- package/ui/dist/assets/TicketBoard-C9aJNNYp.js +1 -0
- package/ui/dist/assets/TicketDetail-CV5JmL31.js +1 -0
- package/ui/dist/assets/TicketList-68V4lzUz.js +1 -0
- package/ui/dist/assets/UserManagement-DKTb6UpE.js +2 -0
- package/ui/dist/assets/ViewSwitcher-BvdQht2Y.js +1 -0
- package/ui/dist/assets/alert-dialog-O6qBOv_f.js +1 -0
- package/ui/dist/assets/{archive-CGck7gxR.js → archive-CX7UvZpf.js} +1 -1
- package/ui/dist/assets/badge-BbfnwDJP.js +1 -0
- package/ui/dist/assets/{bug-DqSGPUUE.js → bug-3WX0394-.js} +1 -1
- package/ui/dist/assets/{calendar-BuZ4zbPW.js → calendar-buq77TaS.js} +1 -1
- package/ui/dist/assets/{chevron-up-DcJ4LL_N.js → chevron-up-4ymsBJRo.js} +1 -1
- package/ui/dist/assets/{circle-x-C78PNZjF.js → circle-x-ByXtwR6Y.js} +1 -1
- package/ui/dist/assets/constants-CVdDh7p0.js +1 -0
- package/ui/dist/assets/{cpu-Ck6AoG8c.js → cpu-CiuoCeDY.js} +1 -1
- package/ui/dist/assets/{database-CA2w8Lvt.js → database-BWXSBg5a.js} +1 -1
- package/ui/dist/assets/dialog-lDg4NvMV.js +1 -0
- package/ui/dist/assets/dollar-sign-Dmijd6DP.js +1 -0
- package/ui/dist/assets/{ellipsis-FhHKRbfl.js → ellipsis-vT-5SVIp.js} +1 -1
- package/ui/dist/assets/{ellipsis-vertical-CO0UqE4-.js → ellipsis-vertical-B4tAX_bL.js} +1 -1
- package/ui/dist/assets/feature-markdown-DBo5Q7uq.js +289 -0
- package/ui/dist/assets/{file-code-ChnhYYj1.js → file-code-ChOWdKXf.js} +1 -1
- package/ui/dist/assets/{folder-open-CHwA1-ve.js → folder-open-CkOUbIiP.js} +1 -1
- package/ui/dist/assets/{funnel-ByEjRFNB.js → funnel-uZkoSPP-.js} +1 -1
- package/ui/dist/assets/{git-branch-GTOPQgU4.js → git-branch-CwvUxj7C.js} +1 -1
- package/ui/dist/assets/{git-commit-horizontal-F5M84Kut.js → git-commit-horizontal-lxPzCvhD.js} +1 -1
- package/ui/dist/assets/{globe-CQWfr7hT.js → globe-D_WpJdsj.js} +1 -1
- package/ui/dist/assets/{hash-nKC9gtLg.js → hash-CA0hJ7vh.js} +1 -1
- package/ui/dist/assets/{history-DfFSA9xJ.js → history-CEWMLELs.js} +1 -1
- package/ui/dist/assets/inbox-ehtOptTV.js +1 -0
- package/ui/dist/assets/{index-a4Fxq0Hb.js → index-C1rhbml4.js} +3 -3
- package/ui/dist/assets/index-CR8gfCHv.js +1 -0
- package/ui/dist/assets/index-DVXMpWai.js +1 -0
- package/ui/dist/assets/index-DaDJMM2v.js +1 -0
- package/ui/dist/assets/index-Djdq_0xu.js +1 -0
- package/ui/dist/assets/index-M46Gcb8K.css +1 -0
- package/ui/dist/assets/index-sEBN7w8J.js +109 -0
- package/ui/dist/assets/layers-C6Mhf8Nk.js +1 -0
- package/ui/dist/assets/{layout-dashboard-WmgjMhWF.js → layout-dashboard-BRUM0kpT.js} +1 -1
- package/ui/dist/assets/{lightbulb-Bo8hEr7B.js → lightbulb-CN2q1O5l.js} +1 -1
- package/ui/dist/assets/{link-2-YqrpQXBH.js → link-2-CC4E28yJ.js} +1 -1
- package/ui/dist/assets/markdown-renderer-C6ENbB0u.js +10 -0
- package/ui/dist/assets/markdown-renderer-CfVKi3_s.css +1 -0
- package/ui/dist/assets/{message-square-CD0H5hot.js → message-square-Bbb241am.js} +1 -1
- package/ui/dist/assets/package-CwT3IzFx.js +1 -0
- package/ui/dist/assets/{pencil-DpFnj5dn.js → pencil-CDmiHzoj.js} +1 -1
- package/ui/dist/assets/{play-DVgea_jT.js → play-tjy5jMQX.js} +1 -1
- package/ui/dist/assets/popover-CFHZf3pE.js +1 -0
- package/ui/dist/assets/progress-BboUHuLf.js +1 -0
- package/ui/dist/assets/{rocket-BFxPYGx9.js → rocket--8ZHgdXJ.js} +1 -1
- package/ui/dist/assets/select-n108rXny.js +1 -0
- package/ui/dist/assets/{send-eYnW_7n-.js → send-Cu7MR2Qh.js} +1 -1
- package/ui/dist/assets/server-DmodxZp-.js +1 -0
- package/ui/dist/assets/{settings-2-scXUOuE_.js → settings-2-CkRNqkxj.js} +1 -1
- package/ui/dist/assets/sheet-7aUJkyzU.js +1 -0
- package/ui/dist/assets/{shield-check-PEr7nmVw.js → shield-check-ViI3nMKE.js} +1 -1
- package/ui/dist/assets/{shield-off-CLtXio62.js → shield-off-DN3tagkn.js} +1 -1
- package/ui/dist/assets/skeleton-C0E1Nfro.js +1 -0
- package/ui/dist/assets/{smartphone-DusFfY0U.js → smartphone-5FghiXpA.js} +1 -1
- package/ui/dist/assets/{square-e1yxB2eR.js → square-DiNSx8K7.js} +1 -1
- package/ui/dist/assets/star-DhdFVidS.js +1 -0
- package/ui/dist/assets/switch-CIgVbZqQ.js +1 -0
- package/ui/dist/assets/table-BC56FVMV.js +1 -0
- package/ui/dist/assets/{tag-tAwMmQ9G.js → tag-CH_vQliw.js} +1 -1
- package/ui/dist/assets/textarea-CxDiKFXZ.js +1 -0
- package/ui/dist/assets/{timer-Vel1N3RP.js → timer-CdGVTb60.js} +1 -1
- package/ui/dist/assets/tooltip-BuW9A5UO.js +1 -0
- package/ui/dist/assets/{trash-2-eM-CNwsZ.js → trash-2-CucZJL0N.js} +1 -1
- package/ui/dist/assets/trending-down-BCezC1z2.js +1 -0
- package/ui/dist/assets/{trending-up-BGafmjRo.js → trending-up-C5OYX2k2.js} +1 -1
- package/ui/dist/assets/vendor-query-C0p7b53x.js +4 -0
- package/ui/dist/assets/vendor-react-Mc5_kfYG.js +12 -0
- package/ui/dist/assets/vendor-ui-CXPAUBFv.js +51 -0
- package/ui/dist/assets/{wand-sparkles-DPvcd9Pi.js → wand-sparkles-BaH6pJnc.js} +1 -1
- package/ui/dist/assets/{wrench-B8s3zYVV.js → wrench-CjxjP6ok.js} +1 -1
- package/ui/dist/index.html +5 -2
- package/dist/chat/auto-reply.d.ts +0 -90
- package/dist/chat/auto-reply.js +0 -272
- package/dist/chat/execution/pty.d.ts +0 -92
- package/dist/chat/execution/pty.js +0 -285
- package/dist/chat/execution/tools/glinr-ops.d.ts +0 -202
- package/dist/chat/execution/tools/glinr-ops.js +0 -694
- package/dist/cli/commands/browser.d.ts +0 -3
- package/dist/cli/commands/browser.js +0 -138
- package/dist/cli/commands/canvas.d.ts +0 -3
- package/dist/cli/commands/canvas.js +0 -155
- package/dist/cli/commands/nodes.d.ts +0 -3
- package/dist/cli/commands/nodes.js +0 -193
- package/dist/diagnostics/exporters.d.ts +0 -21
- package/dist/diagnostics/exporters.js +0 -138
- package/dist/diagnostics/index.d.ts +0 -10
- package/dist/diagnostics/index.js +0 -9
- package/dist/diagnostics/middleware.d.ts +0 -12
- package/dist/diagnostics/middleware.js +0 -58
- package/dist/diagnostics/tracer.d.ts +0 -133
- package/dist/diagnostics/tracer.js +0 -257
- package/dist/discovery/index.d.ts +0 -8
- package/dist/discovery/index.js +0 -7
- package/dist/discovery/mdns.d.ts +0 -40
- package/dist/discovery/mdns.js +0 -249
- package/dist/plugins/registry.d.ts +0 -122
- package/dist/plugins/registry.js +0 -352
- package/dist/plugins/sandbox.d.ts +0 -77
- package/dist/plugins/sandbox.js +0 -287
- package/dist/plugins/search/brave.d.ts +0 -9
- package/dist/plugins/search/brave.js +0 -157
- package/dist/plugins/search/duckduckgo.d.ts +0 -9
- package/dist/plugins/search/duckduckgo.js +0 -171
- package/dist/plugins/search/index.d.ts +0 -13
- package/dist/plugins/search/index.js +0 -23
- package/dist/plugins/search/searxng.d.ts +0 -9
- package/dist/plugins/search/searxng.js +0 -170
- package/dist/plugins/search/serper.d.ts +0 -9
- package/dist/plugins/search/serper.js +0 -135
- package/dist/plugins/search/tavily.d.ts +0 -9
- package/dist/plugins/search/tavily.js +0 -146
- package/dist/providers/adapters/anthropic.d.ts +0 -26
- package/dist/providers/adapters/anthropic.js +0 -306
- package/dist/providers/adapters/base.d.ts +0 -53
- package/dist/providers/adapters/base.js +0 -99
- package/dist/providers/adapters/ollama.d.ts +0 -30
- package/dist/providers/adapters/ollama.js +0 -292
- package/dist/utils/ai-cache.d.ts +0 -72
- package/dist/utils/ai-cache.js +0 -204
- package/dist/utils/file-lock.d.ts +0 -85
- package/dist/utils/file-lock.js +0 -204
- package/ui/dist/assets/ActivityView-DIPQSJ_d.js +0 -1
- package/ui/dist/assets/AgentList-CqyaYrcq.js +0 -1
- package/ui/dist/assets/AnalyticsDashboard-C-mjuGHT.js +0 -1
- package/ui/dist/assets/AreaChart-CfYWmbtr.js +0 -1
- package/ui/dist/assets/CartesianChart-BaQ3It0c.js +0 -36
- package/ui/dist/assets/ChatView-DxxQy6pl.js +0 -10
- package/ui/dist/assets/CostsDashboard-CDBBcGkg.js +0 -1
- package/ui/dist/assets/EstimateSelect-CDjf5qKl.js +0 -1
- package/ui/dist/assets/FloatingChatbot-CZHjvJIe.js +0 -2
- package/ui/dist/assets/InviteCodeManagement-DTm-IPTm.js +0 -2
- package/ui/dist/assets/ProjectIcon-BMRpnM04.js +0 -1
- package/ui/dist/assets/ProjectList-D85TN0i0.js +0 -4
- package/ui/dist/assets/StatusIndicator-yig0uZEA.js +0 -1
- package/ui/dist/assets/SummaryList-BvS5Idnu.js +0 -1
- package/ui/dist/assets/TaskDetail-zarC1fOt.js +0 -1
- package/ui/dist/assets/TaskList-CyJq3ANE.js +0 -1
- package/ui/dist/assets/TicketBoard-BlWr3-iH.js +0 -1
- package/ui/dist/assets/TicketDetail-DmqWKj2W.js +0 -1
- package/ui/dist/assets/TicketList-Scj4pMWa.js +0 -1
- package/ui/dist/assets/UserManagement-BH7uG7dw.js +0 -2
- package/ui/dist/assets/ViewSwitcher-3HzZUdWn.js +0 -1
- package/ui/dist/assets/alert-dialog-DWPb2IfQ.js +0 -7
- package/ui/dist/assets/badge-DEmc3Z_l.js +0 -1
- package/ui/dist/assets/brain-CfFdLVqb.js +0 -1
- package/ui/dist/assets/constants-DhDjZe4P.js +0 -1
- package/ui/dist/assets/dialog-BOdGWhgE.js +0 -1
- package/ui/dist/assets/index--JkIxVXb.js +0 -67
- package/ui/dist/assets/index-Ca3vk7Gq.js +0 -1
- package/ui/dist/assets/index-DHGvP9mp.js +0 -1
- package/ui/dist/assets/index-DeI8lKRR.js +0 -1
- package/ui/dist/assets/index-WclMPci1.css +0 -1
- package/ui/dist/assets/index-Z4-RtZcs.js +0 -1
- package/ui/dist/assets/layers-DFeLExSa.js +0 -1
- package/ui/dist/assets/markdown-renderer-Croje6Xe.js +0 -36
- package/ui/dist/assets/popover-JXecfWG5.js +0 -1
- package/ui/dist/assets/progress-C1ghf1Fu.js +0 -1
- package/ui/dist/assets/select-MADP8m6Q.js +0 -1
- package/ui/dist/assets/server-CPMaysH8.js +0 -1
- package/ui/dist/assets/sheet-r6NSOxi-.js +0 -1
- package/ui/dist/assets/skeleton-C9oEzNlU.js +0 -1
- package/ui/dist/assets/switch-tNs0n-kz.js +0 -1
- package/ui/dist/assets/table-CXxtLicg.js +0 -1
- package/ui/dist/assets/textarea-BjiEeIWh.js +0 -1
- 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" | "
|
|
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" | "
|
|
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 {
|
|
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
|
-
|
|
41
|
-
|
|
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
|
-
//
|
|
84
|
-
export {
|
|
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
|
-
|
|
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 (
|
|
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
|
-
|
|
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
|