@johpaz/hive-agents 0.0.35 → 0.0.36
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/README.md +64 -39
- package/dist/hive.js +3127 -3104
- package/dist/ui/assets/{AgentCreateForm-B4eK7efF.js → AgentCreateForm-tJZv9FZC.js} +1 -1
- package/dist/ui/assets/{AgentDetailPage-BD2uoJWk.js → AgentDetailPage-Du-mRcAX.js} +1 -1
- package/dist/ui/assets/AgentNewPage-DIFYd_Ys.js +1 -0
- package/dist/ui/assets/{AgentsPage-4JUZXvkA.js → AgentsPage-YvSgWRiw.js} +6 -6
- package/dist/ui/assets/CanvasPage-DtMwGvxf.js +33 -0
- package/dist/ui/assets/{ChannelsPage-BUn7-nhV.js → ChannelsPage-BdBXWHjj.js} +1 -1
- package/dist/ui/assets/DashboardPage-ghl1ZguH.js +6 -0
- package/dist/ui/assets/{LoginPage-C8j_urUD.js → LoginPage-CAmSI9Vy.js} +1 -1
- package/dist/ui/assets/LogsPage-DAPBHkwK.js +1 -0
- package/dist/ui/assets/MeetingPage-WjjGOqqU.js +1 -0
- package/dist/ui/assets/{NotFound-Drh-sJPN.js → NotFound-BMeQSGcG.js} +1 -1
- package/dist/ui/assets/ProvidersPage-Ct6HsAi1.js +1 -0
- package/dist/ui/assets/{RecoverPage-DNb1Pr8h.js → RecoverPage-DpW3l-yv.js} +1 -1
- package/dist/ui/assets/SettingsPage-DBJ7_E6C.js +9 -0
- package/dist/ui/assets/SetupPage-DKmLVUaj.js +1 -0
- package/dist/ui/assets/{WebChatPage-R-YOwA4F.js → WebChatPage-CVRcKept.js} +2 -2
- package/dist/ui/assets/accordion-C5d5Rm5z.js +1 -0
- package/dist/ui/assets/{alert-U8FsgWi7.js → alert-C-NE-P3s.js} +1 -1
- package/dist/ui/assets/{alert-dialog-CRdMkkmk.js → alert-dialog-C5mzbHdP.js} +1 -1
- package/dist/ui/assets/{badge-Cli1jnH5.js → badge-ChpACfWO.js} +1 -1
- package/dist/ui/assets/chevron-up-BYhk0K2J.js +1 -0
- package/dist/ui/assets/{dialog-DQ3s-LuO.js → dialog-QnZ0ad8O.js} +1 -1
- package/dist/ui/assets/dropdown-menu-BK-CO3Od.js +1 -0
- package/dist/ui/assets/{es-DcMjrpbA.js → es-NQNoaWDx.js} +1 -1
- package/dist/ui/assets/index-B2fCYtTS.css +2 -0
- package/dist/ui/assets/index-DMCjjdqf.js +116 -0
- package/dist/ui/assets/{label-0BvGVXvZ.js → label-D2H1IR_J.js} +1 -1
- package/dist/ui/assets/progress-BherYzY6.js +1 -0
- package/dist/ui/assets/scroll-area-DkeyX32e.js +1 -0
- package/dist/ui/assets/{slider-D47dOrRa.js → slider-CsiUDxc3.js} +1 -1
- package/dist/ui/assets/switch-BDwN8RYV.js +1 -0
- package/dist/ui/assets/{table-DhowbNxQ.js → table-CSc8ubon.js} +1 -1
- package/dist/ui/assets/terminal-DN38Q456.js +1 -0
- package/dist/ui/assets/useProviders-C6_QHsEi.js +1 -0
- package/dist/ui/assets/{vendor-radix-JY4ncZrD.js → vendor-radix-cw1bQaVC.js} +4 -4
- package/dist/ui/assets/{vendor-react-CscwQerf.js → vendor-react-D4s9E-zj.js} +1 -1
- package/dist/ui/dist/assets/AgentCreateForm-tJZv9FZC.js +1 -0
- package/dist/ui/dist/assets/AgentDetailPage-Du-mRcAX.js +1 -0
- package/dist/ui/dist/assets/AgentNewPage-DIFYd_Ys.js +1 -0
- package/dist/ui/dist/assets/AgentsPage-YvSgWRiw.js +10 -0
- package/dist/ui/dist/assets/CanvasPage-DtMwGvxf.js +33 -0
- package/dist/ui/dist/assets/ChannelsPage-BdBXWHjj.js +8 -0
- package/dist/ui/dist/assets/DashboardPage-ghl1ZguH.js +6 -0
- package/dist/ui/dist/assets/LoginPage-CAmSI9Vy.js +1 -0
- package/dist/ui/dist/assets/LogsPage-DAPBHkwK.js +1 -0
- package/dist/ui/dist/assets/MeetingPage-WjjGOqqU.js +1 -0
- package/dist/ui/dist/assets/NotFound-BMeQSGcG.js +1 -0
- package/dist/ui/dist/assets/ProvidersPage-Ct6HsAi1.js +1 -0
- package/dist/ui/dist/assets/RecoverPage-DpW3l-yv.js +1 -0
- package/dist/ui/dist/assets/SettingsPage-DBJ7_E6C.js +9 -0
- package/dist/ui/dist/assets/SetupPage-DKmLVUaj.js +1 -0
- package/dist/ui/dist/assets/WebChatPage-CVRcKept.js +16 -0
- package/dist/ui/dist/assets/accordion-C5d5Rm5z.js +1 -0
- package/dist/ui/dist/assets/activity-c3pNngT_.js +1 -0
- package/dist/ui/dist/assets/alert-C-NE-P3s.js +1 -0
- package/dist/ui/dist/assets/alert-dialog-C5mzbHdP.js +1 -0
- package/dist/ui/dist/assets/arrow-left-CBcbX5EZ.js +1 -0
- package/dist/ui/dist/assets/badge-ChpACfWO.js +1 -0
- package/dist/ui/dist/assets/calendar-B-KZ9RQO.js +1 -0
- package/dist/ui/dist/assets/card-CNf6BS2e.js +1 -0
- package/dist/ui/dist/assets/chevron-left-D4U-5A27.js +1 -0
- package/dist/ui/dist/assets/chevron-right-CR4Skrf3.js +1 -0
- package/dist/ui/dist/assets/chevron-up-BYhk0K2J.js +1 -0
- package/dist/ui/dist/assets/circle-alert-CyHDwUj8.js +1 -0
- package/dist/ui/dist/assets/circle-check-Bb54Ebmu.js +1 -0
- package/dist/ui/dist/assets/cpu-Cdgc_B1K.js +1 -0
- package/dist/ui/dist/assets/dialog-QnZ0ad8O.js +1 -0
- package/dist/ui/dist/assets/download-C3ifGMjJ.js +1 -0
- package/dist/ui/dist/assets/dropdown-menu-BK-CO3Od.js +1 -0
- package/dist/ui/dist/assets/es-NQNoaWDx.js +1 -0
- package/dist/ui/dist/assets/external-link-BvxYeTP1.js +1 -0
- package/dist/ui/dist/assets/eye-DqNTU_GD.js +1 -0
- package/dist/ui/dist/assets/file-text-BT_9S9SM.js +1 -0
- package/dist/ui/dist/assets/folder-open-BhH8y9ac.js +1 -0
- package/dist/ui/dist/assets/format-GVHeOyWI.js +1 -0
- package/dist/ui/dist/assets/gateway-url-COCbW0IR.js +1 -0
- package/dist/ui/dist/assets/gauge-D_TMa4i9.js +1 -0
- package/dist/ui/dist/assets/globe-DeCQTCDJ.js +1 -0
- package/dist/ui/dist/assets/hexagon-DsGOUl-H.js +1 -0
- package/dist/ui/dist/assets/history-BSG-Ypqf.js +1 -0
- package/dist/ui/dist/assets/index-B2fCYtTS.css +2 -0
- package/dist/ui/dist/assets/index-DMCjjdqf.js +116 -0
- package/dist/ui/dist/assets/info-NwLoa2Mj.js +1 -0
- package/dist/ui/dist/assets/key-3EP0dhkT.js +1 -0
- package/dist/ui/dist/assets/label-D2H1IR_J.js +1 -0
- package/dist/ui/dist/assets/loader-circle-CZNax6kS.js +1 -0
- package/dist/ui/dist/assets/lock-Ei1_J-Nq.js +1 -0
- package/dist/ui/dist/assets/pause-BUqah9Bi.js +1 -0
- package/dist/ui/dist/assets/play-NcZ4swwL.js +1 -0
- package/dist/ui/dist/assets/plus-CX1xyhp5.js +1 -0
- package/dist/ui/dist/assets/progress-BherYzY6.js +1 -0
- package/dist/ui/dist/assets/refresh-cw-DaYdjQFk.js +1 -0
- package/dist/ui/dist/assets/rolldown-runtime-S-ySWqyJ.js +1 -0
- package/dist/ui/dist/assets/save-CUdYyHNy.js +1 -0
- package/dist/ui/dist/assets/scroll-area-DkeyX32e.js +1 -0
- package/dist/ui/dist/assets/send-B0H5SEIE.js +1 -0
- package/dist/ui/dist/assets/settings-Ds4SqD8s.js +1 -0
- package/dist/ui/dist/assets/slider-CsiUDxc3.js +14 -0
- package/dist/ui/dist/assets/sparkles-yUEb-7oH.js +1 -0
- package/dist/ui/dist/assets/square-BD81nFtN.js +1 -0
- package/dist/ui/dist/assets/switch-BDwN8RYV.js +1 -0
- package/dist/ui/dist/assets/table-CSc8ubon.js +1 -0
- package/dist/ui/dist/assets/terminal-DN38Q456.js +1 -0
- package/dist/ui/dist/assets/textarea-CXgXWKrT.js +1 -0
- package/dist/ui/dist/assets/trash-2-CNjMkoq6.js +1 -0
- package/dist/ui/dist/assets/triangle-alert-C9Y8Ub4X.js +1 -0
- package/dist/ui/dist/assets/useProviders-C6_QHsEi.js +1 -0
- package/dist/ui/dist/assets/utils-3pnRFmFe.js +1 -0
- package/dist/ui/dist/assets/vendor-charts-Bu2lyBKP.js +65 -0
- package/dist/ui/dist/assets/vendor-query-DsWPbQdG.js +1 -0
- package/dist/ui/dist/assets/vendor-radix-cw1bQaVC.js +63 -0
- package/dist/ui/dist/assets/vendor-react-D4s9E-zj.js +1 -0
- package/dist/ui/dist/assets/vendor-router-C9pIYwbJ.js +3 -0
- package/dist/ui/dist/assets/volume-2-CeSXNDv4.js +1 -0
- package/dist/ui/dist/assets/zap-hlXjpSeA.js +1 -0
- package/dist/ui/dist/favicon.ico +0 -0
- package/dist/ui/dist/index.html +40 -0
- package/dist/ui/dist/placeholder.svg +1 -0
- package/dist/ui/index.html +6 -6
- package/package.json +137 -13
- package/packages/cli/src/adapters/binary.ts +461 -0
- package/packages/cli/src/adapters/bun-global.ts +378 -0
- package/packages/cli/src/adapters/config.ts +314 -0
- package/packages/cli/src/adapters/docker.ts +308 -0
- package/packages/cli/src/adapters/factory.ts +168 -0
- package/packages/cli/src/adapters/index.ts +80 -0
- package/packages/cli/src/adapters/types.ts +218 -0
- package/packages/cli/src/commands/agent-run.ts +168 -0
- package/packages/cli/src/commands/agents.ts +398 -0
- package/packages/cli/src/commands/chat.ts +142 -0
- package/packages/cli/src/commands/config.ts +49 -0
- package/packages/cli/src/commands/cron.ts +487 -0
- package/packages/cli/src/commands/dev.ts +58 -0
- package/packages/cli/src/commands/doctor.ts +320 -0
- package/packages/cli/src/commands/gateway.ts +719 -0
- package/packages/cli/src/commands/logs.ts +57 -0
- package/packages/cli/src/commands/mcp.ts +175 -0
- package/packages/cli/src/commands/message.ts +77 -0
- package/packages/cli/src/commands/migrate.ts +90 -0
- package/packages/cli/src/commands/onboard.ts +1656 -0
- package/packages/cli/src/commands/security.ts +144 -0
- package/packages/cli/src/commands/service.ts +50 -0
- package/packages/cli/src/commands/sessions.ts +116 -0
- package/packages/cli/src/commands/skills.ts +215 -0
- package/packages/cli/src/commands/update.ts +203 -0
- package/packages/cli/src/index.ts +210 -0
- package/packages/cli/src/ui-bundle.generated.ts +3 -0
- package/packages/cli/src/utils/token.ts +6 -0
- package/packages/core/src/agent/agent-loop.ts +691 -0
- package/packages/core/src/agent/compaction.ts +240 -0
- package/packages/core/src/agent/context-compiler.ts +467 -0
- package/packages/core/src/agent/context-guard.ts +91 -0
- package/packages/core/src/agent/conversation-store.ts +244 -0
- package/packages/core/src/agent/curator.ts +158 -0
- package/packages/core/src/agent/hooks.ts +166 -0
- package/packages/core/src/agent/llm-client.ts +167 -0
- package/packages/core/src/agent/llm-providers/anthropic.ts +212 -0
- package/packages/core/src/agent/llm-providers/deepseek.ts +8 -0
- package/packages/core/src/agent/llm-providers/gemini.ts +215 -0
- package/packages/core/src/agent/llm-providers/groq.ts +5 -0
- package/packages/core/src/agent/llm-providers/interface.ts +195 -0
- package/packages/core/src/agent/llm-providers/kimi.ts +8 -0
- package/packages/core/src/agent/llm-providers/local-llama.ts +37 -0
- package/packages/core/src/agent/llm-providers/mistral.ts +5 -0
- package/packages/core/src/agent/llm-providers/nvidia.ts +5 -0
- package/packages/core/src/agent/llm-providers/ollama.ts +175 -0
- package/packages/core/src/agent/llm-providers/openai-compat-base.ts +379 -0
- package/packages/core/src/agent/llm-providers/openai.ts +5 -0
- package/packages/core/src/agent/llm-providers/openrouter.ts +5 -0
- package/packages/core/src/agent/llm-providers/qwen.ts +5 -0
- package/packages/core/src/agent/native-tools.ts +31 -0
- package/packages/core/src/agent/playbook-selector.ts +147 -0
- package/packages/core/src/agent/prompt-builder.ts +169 -0
- package/packages/core/src/agent/providers/index.ts +204 -0
- package/packages/core/src/agent/providers.ts +1 -0
- package/packages/core/src/agent/reflector.ts +200 -0
- package/packages/core/src/agent/service.ts +267 -0
- package/packages/core/src/agent/skill-selector.ts +479 -0
- package/packages/core/src/agent/stuck-loop.ts +133 -0
- package/packages/core/src/agent/tool-selector.ts +569 -0
- package/packages/core/src/agent/tracer.ts +100 -0
- package/packages/core/src/auth/auth.ts +108 -0
- package/packages/core/src/auth/index.ts +1 -0
- package/packages/core/src/canvas/a2ui-tools.ts +255 -0
- package/packages/core/src/canvas/canvas-manager.ts +390 -0
- package/packages/core/src/canvas/canvas-tools.ts +448 -0
- package/packages/core/src/canvas/emitter.ts +149 -0
- package/packages/core/src/canvas/index.ts +3 -0
- package/packages/core/src/channels/base.ts +154 -0
- package/packages/core/src/channels/discord.ts +273 -0
- package/packages/core/src/channels/index.ts +7 -0
- package/packages/core/src/channels/manager.ts +450 -0
- package/packages/core/src/channels/slack.ts +323 -0
- package/packages/core/src/channels/telegram.ts +612 -0
- package/packages/core/src/channels/webchat.ts +139 -0
- package/packages/core/src/channels/whatsapp.ts +548 -0
- package/packages/core/src/config/index.ts +12 -0
- package/packages/core/src/config/loader.ts +569 -0
- package/packages/core/src/events/agent-bus.ts +460 -0
- package/packages/core/src/events/event-bus.ts +169 -0
- package/packages/core/src/gateway/channel-notify.ts +64 -0
- package/packages/core/src/gateway/helpers/cors.ts +32 -0
- package/packages/core/src/gateway/helpers/index.ts +4 -0
- package/packages/core/src/gateway/helpers/narration.ts +57 -0
- package/packages/core/src/gateway/helpers/path.ts +13 -0
- package/packages/core/src/gateway/helpers/redact.ts +61 -0
- package/packages/core/src/gateway/index.ts +5 -0
- package/packages/core/src/gateway/initializer.ts +363 -0
- package/packages/core/src/gateway/lane-queue.ts +169 -0
- package/packages/core/src/gateway/llm-local/client.ts +94 -0
- package/packages/core/src/gateway/llm-local/detector.ts +321 -0
- package/packages/core/src/gateway/llm-local/downloader.ts +216 -0
- package/packages/core/src/gateway/llm-local/index.ts +34 -0
- package/packages/core/src/gateway/llm-local/manager.ts +186 -0
- package/packages/core/src/gateway/llm-local/models.ts +149 -0
- package/packages/core/src/gateway/llm-local/server.ts +179 -0
- package/packages/core/src/gateway/resolver.ts +108 -0
- package/packages/core/src/gateway/router.ts +124 -0
- package/packages/core/src/gateway/routes/agents.ts +210 -0
- package/packages/core/src/gateway/routes/auth.ts +244 -0
- package/packages/core/src/gateway/routes/channels.ts +484 -0
- package/packages/core/src/gateway/routes/chat.ts +241 -0
- package/packages/core/src/gateway/routes/config.ts +12 -0
- package/packages/core/src/gateway/routes/cron-api.ts +544 -0
- package/packages/core/src/gateway/routes/ethics.ts +46 -0
- package/packages/core/src/gateway/routes/llm-local.ts +271 -0
- package/packages/core/src/gateway/routes/mcp.ts +319 -0
- package/packages/core/src/gateway/routes/meeting.ts +232 -0
- package/packages/core/src/gateway/routes/models.ts +163 -0
- package/packages/core/src/gateway/routes/multimodal.ts +93 -0
- package/packages/core/src/gateway/routes/providers.ts +220 -0
- package/packages/core/src/gateway/routes/setup.ts +441 -0
- package/packages/core/src/gateway/routes/skills.ts +115 -0
- package/packages/core/src/gateway/routes/system.ts +469 -0
- package/packages/core/src/gateway/routes/tasks.ts +44 -0
- package/packages/core/src/gateway/routes/tools.ts +59 -0
- package/packages/core/src/gateway/routes/tts-local.ts +388 -0
- package/packages/core/src/gateway/routes/users.ts +122 -0
- package/packages/core/src/gateway/routes/voice.ts +189 -0
- package/packages/core/src/gateway/routes/workspace.ts +281 -0
- package/packages/core/src/gateway/server.ts +2744 -0
- package/packages/core/src/gateway/session.ts +95 -0
- package/packages/core/src/gateway/slash-commands.ts +207 -0
- package/packages/core/src/gateway/tts/README.md +94 -0
- package/packages/core/src/gateway/tts/package.json +25 -0
- package/packages/core/src/gateway/tts/src/client.ts +59 -0
- package/packages/core/src/gateway/tts/src/detect.ts +42 -0
- package/packages/core/src/gateway/tts/src/index.ts +15 -0
- package/packages/core/src/gateway/tts/src/install.ts +129 -0
- package/packages/core/src/gateway/tts/src/models.ts +50 -0
- package/packages/core/src/gateway/tts/src/server.ts +252 -0
- package/packages/core/src/gateway/tts/voices/.gitkeep +0 -0
- package/packages/core/src/heartbeat/index.ts +157 -0
- package/packages/core/src/index.ts +56 -0
- package/packages/core/src/mcp/hot-reload.ts +148 -0
- package/packages/core/src/mcp/singleton.ts +21 -0
- package/packages/core/src/mcp/tool-sync.ts +176 -0
- package/packages/core/src/multimodal/index.ts +2 -0
- package/packages/core/src/multimodal/types.ts +28 -0
- package/packages/core/src/multimodal/vision-service.ts +283 -0
- package/packages/core/src/plugins/api.ts +128 -0
- package/packages/core/src/plugins/index.ts +2 -0
- package/packages/core/src/plugins/loader.ts +365 -0
- package/packages/core/src/resilience/circuit-breaker.ts +225 -0
- package/packages/core/src/scheduler/CronScheduler.ts +699 -0
- package/packages/core/src/scheduler/dag/AgentExecutor.ts +53 -0
- package/packages/core/src/scheduler/dag/DAGScheduler.ts +250 -0
- package/packages/core/src/scheduler/dag/EventBridge.ts +122 -0
- package/packages/core/src/scheduler/dag/TaskGraph.ts +192 -0
- package/packages/core/src/scheduler/dag/TaskNode.ts +97 -0
- package/packages/core/src/scheduler/dag/TaskResult.ts +22 -0
- package/packages/core/src/scheduler/dag/errors.ts +37 -0
- package/packages/core/src/scheduler/dag/index.ts +26 -0
- package/packages/core/src/scheduler/dag/presets/ResearchPreset.ts +97 -0
- package/packages/core/src/scheduler/dag/strategies/ParallelStrategy.ts +21 -0
- package/packages/core/src/scheduler/dag/strategies/PriorityStrategy.ts +46 -0
- package/packages/core/src/scheduler/index.ts +22 -0
- package/packages/core/src/scheduler/integration.ts +237 -0
- package/packages/core/src/scheduler/types.ts +164 -0
- package/packages/core/src/security/google-chat.ts +269 -0
- package/packages/core/src/security/index.ts +192 -0
- package/packages/core/src/security/pairing.ts +250 -0
- package/packages/core/src/security/rate-limit.ts +270 -0
- package/packages/core/src/security/signal.ts +321 -0
- package/packages/core/src/state/store.ts +312 -0
- package/packages/core/src/storage/crypto.ts +197 -0
- package/packages/core/src/storage/migrate.ts +147 -0
- package/packages/core/src/storage/onboarding.ts +1506 -0
- package/packages/core/src/storage/schema.ts +666 -0
- package/packages/core/src/storage/seed.ts +628 -0
- package/packages/core/src/storage/sqlite.ts +407 -0
- package/packages/core/src/storage/usage.ts +374 -0
- package/packages/core/src/tool-runtime/index.ts +476 -0
- package/packages/core/src/tool-runtime/tool-worker.ts +125 -0
- package/packages/core/src/tools/agents/get-available-models.ts +118 -0
- package/packages/core/src/tools/agents/index.ts +610 -0
- package/packages/core/src/tools/canvas/index.ts +420 -0
- package/packages/core/src/tools/cli/index.ts +142 -0
- package/packages/core/src/tools/core/index.ts +478 -0
- package/packages/core/src/tools/cron/index.ts +635 -0
- package/packages/core/src/tools/filesystem/fs-delete.ts +78 -0
- package/packages/core/src/tools/filesystem/fs-edit.ts +106 -0
- package/packages/core/src/tools/filesystem/fs-exists.ts +63 -0
- package/packages/core/src/tools/filesystem/fs-glob.ts +108 -0
- package/packages/core/src/tools/filesystem/fs-list.ts +129 -0
- package/packages/core/src/tools/filesystem/fs-read.ts +72 -0
- package/packages/core/src/tools/filesystem/fs-write.ts +67 -0
- package/packages/core/src/tools/filesystem/index.ts +34 -0
- package/packages/core/src/tools/filesystem/workspace-guard.ts +62 -0
- package/packages/core/src/tools/index.ts +197 -0
- package/packages/core/src/tools/meeting/index.ts +363 -0
- package/packages/core/src/tools/office/index.ts +47 -0
- package/packages/core/src/tools/office/office-escribir-docx.ts +192 -0
- package/packages/core/src/tools/office/office-escribir-pdf.ts +172 -0
- package/packages/core/src/tools/office/office-escribir-pptx.ts +174 -0
- package/packages/core/src/tools/office/office-escribir-xlsx.ts +116 -0
- package/packages/core/src/tools/office/office-leer-docx.ts +93 -0
- package/packages/core/src/tools/office/office-leer-pdf.ts +114 -0
- package/packages/core/src/tools/office/office-leer-pptx.ts +136 -0
- package/packages/core/src/tools/office/office-leer-xlsx.ts +124 -0
- package/packages/core/src/tools/types.ts +39 -0
- package/packages/core/src/tools/voice/index.ts +104 -0
- package/packages/core/src/tools/web/browser-click.ts +78 -0
- package/packages/core/src/tools/web/browser-extract.ts +139 -0
- package/packages/core/src/tools/web/browser-navigate.ts +106 -0
- package/packages/core/src/tools/web/browser-screenshot.ts +87 -0
- package/packages/core/src/tools/web/browser-script.ts +88 -0
- package/packages/core/src/tools/web/browser-service.ts +554 -0
- package/packages/core/src/tools/web/browser-type.ts +101 -0
- package/packages/core/src/tools/web/browser-wait.ts +136 -0
- package/packages/core/src/tools/web/index.ts +41 -0
- package/packages/core/src/tools/web/web-fetch.ts +78 -0
- package/packages/core/src/tools/web/web-search.ts +123 -0
- package/packages/core/src/utils/benchmark.ts +80 -0
- package/packages/core/src/utils/crypto.ts +73 -0
- package/packages/core/src/utils/date.ts +42 -0
- package/packages/core/src/utils/index.ts +5 -0
- package/packages/core/src/utils/logger.ts +389 -0
- package/packages/core/src/utils/retry.ts +70 -0
- package/packages/core/src/utils/toon.ts +253 -0
- package/packages/core/src/voice/index.ts +643 -0
- package/packages/mcp/src/config.ts +13 -0
- package/packages/mcp/src/index.ts +1 -0
- package/packages/mcp/src/logger.ts +47 -0
- package/packages/mcp/src/manager.ts +439 -0
- package/packages/mcp/src/transports/index.ts +67 -0
- package/packages/mcp/src/transports/sse.ts +238 -0
- package/packages/mcp/src/transports/websocket.ts +159 -0
- package/packages/skills/src/bundled/agents/agent_spawner/SKILL.md +167 -0
- package/packages/skills/src/bundled/agents/code_delegator/SKILL.md +156 -0
- package/packages/skills/src/bundled/agents/memory_manager/SKILL.md +143 -0
- package/packages/skills/src/bundled/agents/research_and_remember/SKILL.md +139 -0
- package/packages/skills/src/bundled/agents/task_orchestrator/SKILL.md +198 -0
- package/packages/skills/src/bundled/canvas/a2ui_dashboard/SKILL.md +176 -0
- package/packages/skills/src/bundled/canvas/a2ui_form/SKILL.md +202 -0
- package/packages/skills/src/bundled/canvas/a2ui_interactive/SKILL.md +206 -0
- package/packages/skills/src/bundled/canvas/canvas_dashboard/SKILL.md +146 -0
- package/packages/skills/src/bundled/canvas/canvas_interact/SKILL.md +148 -0
- package/packages/skills/src/bundled/canvas/canvas_report/SKILL.md +146 -0
- package/packages/skills/src/bundled/cli/cli_pipeline/SKILL.md +136 -0
- package/packages/skills/src/bundled/cli/cli_safe_exec/SKILL.md +125 -0
- package/packages/skills/src/bundled/cron_manager/SKILL.md +188 -0
- package/packages/skills/src/bundled/cron_reminder/SKILL.md +112 -0
- package/packages/skills/src/bundled/filesystem/file_manager/SKILL.md +118 -0
- package/packages/skills/src/bundled/filesystem/file_read_and_summarize/SKILL.md +108 -0
- package/packages/skills/src/bundled/filesystem/file_writer/SKILL.md +135 -0
- package/packages/skills/src/bundled/meeting/meeting_transcription/SKILL.md +213 -0
- package/packages/skills/src/bundled/office/office_document_manager/SKILL.md +262 -0
- package/packages/skills/src/bundled/search_knowledge/busqueda_fts5/SKILL.md +74 -0
- package/packages/skills/src/bundled/voice/voice_assistant/SKILL.md +174 -0
- package/packages/skills/src/bundled/voice/voice_input/SKILL.md +146 -0
- package/packages/skills/src/bundled/voice/voice_output/SKILL.md +151 -0
- package/packages/skills/src/bundled/web/browser_automate/SKILL.md +120 -0
- package/packages/skills/src/bundled/web/browser_scrape/SKILL.md +109 -0
- package/packages/skills/src/bundled/web/web_monitor/SKILL.md +127 -0
- package/packages/skills/src/bundled/web/web_research/SKILL.md +119 -0
- package/packages/skills/src/bundled-data.generated.ts +1964 -0
- package/packages/skills/src/index.ts +1 -0
- package/packages/skills/src/loader.ts +388 -0
- package/dist/ui/assets/AgentNewPage-GB-tVN50.js +0 -1
- package/dist/ui/assets/BridgePage-DDcDILKu.js +0 -1
- package/dist/ui/assets/CanvasPage-oOk2sGOD.js +0 -33
- package/dist/ui/assets/DashboardPage-DV_2qWYJ.js +0 -6
- package/dist/ui/assets/LogsPage-DayYjh01.js +0 -1
- package/dist/ui/assets/MeetingPage-C01uPuqj.js +0 -1
- package/dist/ui/assets/ProjectsPage-B8_am_Ib.js +0 -1
- package/dist/ui/assets/ProvidersPage-DBzi66e4.js +0 -1
- package/dist/ui/assets/SettingsPage-CFA_Tknl.js +0 -9
- package/dist/ui/assets/SetupPage-BrUWbhvT.js +0 -1
- package/dist/ui/assets/accordion-DdAEfIXR.js +0 -1
- package/dist/ui/assets/chevron-down-DIosfU_U.js +0 -1
- package/dist/ui/assets/chevron-up-CI-W21Fy.js +0 -1
- package/dist/ui/assets/circle-S0-ouLz-.js +0 -1
- package/dist/ui/assets/circle-minus-CE0iJrl8.js +0 -1
- package/dist/ui/assets/circle-x-jUJ5zZvQ.js +0 -1
- package/dist/ui/assets/dropdown-menu-C2CXM1VE.js +0 -1
- package/dist/ui/assets/index-BN0875JH.css +0 -2
- package/dist/ui/assets/index-CH6sBa3Q.js +0 -116
- package/dist/ui/assets/pencil-5VdSj-h5.js +0 -1
- package/dist/ui/assets/progress-JN30I5fF.js +0 -1
- package/dist/ui/assets/scroll-area-BQQPitM8.js +0 -1
- package/dist/ui/assets/search-ChPgnVKj.js +0 -1
- package/dist/ui/assets/switch-C7W2-KEx.js +0 -1
- package/dist/ui/assets/terminal-C-R5Fckz.js +0 -1
- package/dist/ui/assets/useProviders-TBnWn-Hq.js +0 -1
- /package/dist/ui/assets/{card-DFKnZ6ky.js → card-CNf6BS2e.js} +0 -0
- /package/dist/ui/assets/{circle-alert-KuAm2FWh.js → circle-alert-CyHDwUj8.js} +0 -0
- /package/dist/ui/assets/{circle-check-6Ard1-2z.js → circle-check-Bb54Ebmu.js} +0 -0
- /package/dist/ui/assets/{cpu-KDy6-FAI.js → cpu-Cdgc_B1K.js} +0 -0
- /package/dist/ui/assets/{download-Cjbk4Rek.js → download-C3ifGMjJ.js} +0 -0
- /package/dist/ui/assets/{external-link-HtrFM63g.js → external-link-BvxYeTP1.js} +0 -0
- /package/dist/ui/assets/{eye-D1dB40_o.js → eye-DqNTU_GD.js} +0 -0
- /package/dist/ui/assets/{file-text-CE58EfH0.js → file-text-BT_9S9SM.js} +0 -0
- /package/dist/ui/assets/{folder-open-DIPKeiI_.js → folder-open-BhH8y9ac.js} +0 -0
- /package/dist/ui/assets/{format-BwdV8bB5.js → format-GVHeOyWI.js} +0 -0
- /package/dist/ui/assets/{gateway-url-D5uj6Nxg.js → gateway-url-COCbW0IR.js} +0 -0
- /package/dist/ui/assets/{gauge-DmQmJHEg.js → gauge-D_TMa4i9.js} +0 -0
- /package/dist/ui/assets/{globe-_hUGxQF4.js → globe-DeCQTCDJ.js} +0 -0
- /package/dist/ui/assets/{hexagon-BaNGQlQj.js → hexagon-DsGOUl-H.js} +0 -0
- /package/dist/ui/assets/{history-BfZVGlZa.js → history-BSG-Ypqf.js} +0 -0
- /package/dist/ui/assets/{info-CBZ5-AlC.js → info-NwLoa2Mj.js} +0 -0
- /package/dist/ui/assets/{key-Bv5DdTPh.js → key-3EP0dhkT.js} +0 -0
- /package/dist/ui/assets/{loader-circle-C4hhXLgp.js → loader-circle-CZNax6kS.js} +0 -0
- /package/dist/ui/assets/{lock-CkZYexqw.js → lock-Ei1_J-Nq.js} +0 -0
- /package/dist/ui/assets/{pause-Bpy1_s7y.js → pause-BUqah9Bi.js} +0 -0
- /package/dist/ui/assets/{play-Cj4osqJZ.js → play-NcZ4swwL.js} +0 -0
- /package/dist/ui/assets/{plus-BQhgZN3A.js → plus-CX1xyhp5.js} +0 -0
- /package/dist/ui/assets/{refresh-cw-BfREHVQM.js → refresh-cw-DaYdjQFk.js} +0 -0
- /package/dist/ui/assets/{save-FFTD4dMp.js → save-CUdYyHNy.js} +0 -0
- /package/dist/ui/assets/{settings-BdHKUL92.js → settings-Ds4SqD8s.js} +0 -0
- /package/dist/ui/assets/{sparkles-r4uJbJAl.js → sparkles-yUEb-7oH.js} +0 -0
- /package/dist/ui/assets/{square-G7Hyufqm.js → square-BD81nFtN.js} +0 -0
- /package/dist/ui/assets/{textarea-5kyuD04X.js → textarea-CXgXWKrT.js} +0 -0
- /package/dist/ui/assets/{trash-2-DXVBRWfh.js → trash-2-CNjMkoq6.js} +0 -0
- /package/dist/ui/assets/{triangle-alert-Bu5seg9O.js → triangle-alert-C9Y8Ub4X.js} +0 -0
- /package/dist/ui/assets/{vendor-router-CCECILJ0.js → vendor-router-C9pIYwbJ.js} +0 -0
- /package/dist/ui/assets/{volume-2-s9DuS696.js → volume-2-CeSXNDv4.js} +0 -0
- /package/dist/ui/assets/{zap-BPHZzXKV.js → zap-hlXjpSeA.js} +0 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cron_manager
|
|
3
|
+
description: "Complete management of cron jobs with cron expressions. Create, list, update, pause, resume, delete, trigger, and view history. Use for reminders, automated reports, periodic checks."
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
author: Hive Team
|
|
6
|
+
icon: "⏰"
|
|
7
|
+
category: cron
|
|
8
|
+
permissions:
|
|
9
|
+
- cron_manage
|
|
10
|
+
dependencies: []
|
|
11
|
+
tools: [cron.create, cron.list, cron.update, cron.delete, cron.pause, cron.resume, cron.trigger, cron.history]
|
|
12
|
+
|
|
13
|
+
# Structured skill fields
|
|
14
|
+
triggers:
|
|
15
|
+
- "programá una tarea"
|
|
16
|
+
- "schedule task"
|
|
17
|
+
- "creá un cron"
|
|
18
|
+
- "create cron"
|
|
19
|
+
- "editá el cron"
|
|
20
|
+
- "edit cron"
|
|
21
|
+
- "eliminá el cron"
|
|
22
|
+
- "remove cron"
|
|
23
|
+
- "lista las tareas"
|
|
24
|
+
- "list cron jobs"
|
|
25
|
+
- "modificá el cron"
|
|
26
|
+
- "modify cron"
|
|
27
|
+
- "tarea recurrente"
|
|
28
|
+
- "recurring task"
|
|
29
|
+
- "todos los días"
|
|
30
|
+
- "daily"
|
|
31
|
+
- "cada semana"
|
|
32
|
+
- "weekly"
|
|
33
|
+
|
|
34
|
+
preferred_agents: []
|
|
35
|
+
|
|
36
|
+
steps:
|
|
37
|
+
- step: 1
|
|
38
|
+
action: clarify_task
|
|
39
|
+
instruction: "Ask if task is one_shot (single execution) or recurring (repeats). Get specific time and task instruction."
|
|
40
|
+
output: task_type
|
|
41
|
+
|
|
42
|
+
- step: 2
|
|
43
|
+
action: build_cron_expression
|
|
44
|
+
instruction: "For recurring: construct cron expression (minute hour day month weekday). For one_shot: get ISO datetime."
|
|
45
|
+
output: cron_expression or fire_at
|
|
46
|
+
|
|
47
|
+
- step: 3
|
|
48
|
+
action: cron.create
|
|
49
|
+
instruction: "Create new cron job with required 'task' field (instruction for the agent)"
|
|
50
|
+
params:
|
|
51
|
+
name: "Short identifier (e.g., 'daily-report')"
|
|
52
|
+
task: "REQUIRED - Natural language instruction the agent reads when triggered (e.g., 'Generate sales report and send to Telegram')"
|
|
53
|
+
task_type: "'recurring' or 'one_shot'"
|
|
54
|
+
cron_expression: "Cron expression for recurring (e.g., '0 9 * * *')"
|
|
55
|
+
fire_at: "ISO datetime for one_shot (e.g., '2026-04-20T09:00:00')"
|
|
56
|
+
channel: "Notification channel (telegram, discord, webchat)"
|
|
57
|
+
start_at: "Optional ISO datetime - start of execution window (Croner startAt)"
|
|
58
|
+
stop_at: "Optional ISO datetime - end of execution window (Croner stopAt)"
|
|
59
|
+
dom_and_dow: "0 = OR logic (default), 1 = AND logic for day-of-month + day-of-week"
|
|
60
|
+
max_runs: "Optional max executions"
|
|
61
|
+
output: cron_id
|
|
62
|
+
|
|
63
|
+
- step: 4
|
|
64
|
+
action: cron.list
|
|
65
|
+
instruction: "List all cron jobs with next execution times"
|
|
66
|
+
output: cron_jobs
|
|
67
|
+
|
|
68
|
+
rules:
|
|
69
|
+
- "ALWAYS use cron.* tools — never exec/terminal"
|
|
70
|
+
- "The 'task' field is REQUIRED and contains the instruction the agent reads when triggered"
|
|
71
|
+
- "Ask if one_shot or recurring before creating"
|
|
72
|
+
- "For one_shot: use fire_at with ISO datetime"
|
|
73
|
+
- "For daily: 'MM HH * * *'"
|
|
74
|
+
- "For weekly: 'MM HH * * N' (N=0-6, 0=Sun)"
|
|
75
|
+
- "For monthly: 'MM HH D * *' (D=1-31)"
|
|
76
|
+
- "Always show next 3 execution times after creating"
|
|
77
|
+
- "Use start_at/stop_at to limit execution time window"
|
|
78
|
+
- "Use dom_and_dow=1 to require BOTH day-of-month AND day-of-week"
|
|
79
|
+
- "To edit: ALWAYS call cron.update with task_id (get from cron.list first)"
|
|
80
|
+
|
|
81
|
+
output_format:
|
|
82
|
+
structure: markdown
|
|
83
|
+
sections:
|
|
84
|
+
- "job_name"
|
|
85
|
+
- "task_instruction"
|
|
86
|
+
- "cron_expression"
|
|
87
|
+
- "next_executions"
|
|
88
|
+
max_length: "List all jobs"
|
|
89
|
+
|
|
90
|
+
examples:
|
|
91
|
+
- user_input: "programá un recordatorio diario a las 9am"
|
|
92
|
+
expected_behavior: "cron.create({ name: 'daily-reminder', task: 'Send reminder message', task_type: 'recurring', cron_expression: '0 9 * * *', channel: 'telegram' })"
|
|
93
|
+
|
|
94
|
+
- user_input: "lista las tareas programadas"
|
|
95
|
+
expected_behavior: "cron.list({})"
|
|
96
|
+
|
|
97
|
+
- user_input: "editá el cron para que sea a las 10am"
|
|
98
|
+
expected_behavior: "cron.list() → get task_id → cron.update({ task_id: '<id>', cron_expression: '0 10 * * *' })"
|
|
99
|
+
|
|
100
|
+
- user_input: "actualizá la instrucción del cron"
|
|
101
|
+
expected_behavior: "cron.list() → get task_id → cron.update({ task_id: '<id>', task: 'New instruction for agent' })"
|
|
102
|
+
|
|
103
|
+
- user_input: "elimina el cron"
|
|
104
|
+
expected_behavior: "cron.list() → get task_id → cron.delete({ task_id: '<id>' })"
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
# Cron Manager Skill
|
|
108
|
+
|
|
109
|
+
## Cuándo se Activa
|
|
110
|
+
|
|
111
|
+
Para gestionar tareas programadas (cron jobs): crear, listar, actualizar, pausar, reanudar, eliminar, ejecutar y ver historial.
|
|
112
|
+
|
|
113
|
+
## Herramientas Disponibles
|
|
114
|
+
|
|
115
|
+
| Tool | Qué hace | Cuándo usarla |
|
|
116
|
+
|------|----------|---------------|
|
|
117
|
+
| `cron.create` | Crear cron job | Nueva tarea |
|
|
118
|
+
| `cron.list` | Listar todos | Ver existentes |
|
|
119
|
+
| `cron.update` | Actualizar existente | Cambiar horario/instrucción |
|
|
120
|
+
| `cron.pause` | Pausar temporalmente | Sin eliminar |
|
|
121
|
+
| `cron.resume` | Reanudar pausado | Continuar ejecución |
|
|
122
|
+
| `cron.delete` | Eliminar permanentemente | Cancelar para siempre |
|
|
123
|
+
| `cron.trigger` | Ejecutar ahora | Forzar ejecución |
|
|
124
|
+
| `cron.history` | Ver historial | Ver logs de ejecuciones |
|
|
125
|
+
|
|
126
|
+
## Campos Principales
|
|
127
|
+
|
|
128
|
+
| Campo | Tipo | Descripción |
|
|
129
|
+
|-------|------|-------------|
|
|
130
|
+
| `name` | string | Identificador corto (e.g., 'daily-report') |
|
|
131
|
+
| `task` | string | **REQUERIDO** - Instrucciones para el agente al ejecutarse |
|
|
132
|
+
| `task_type` | string | 'recurring' (repite) o 'one_shot' (una vez) |
|
|
133
|
+
| `cron_expression` | string | Expresión cron (solo para recurring) |
|
|
134
|
+
| `fire_at` | string | Datetime ISO (solo para one_shot) |
|
|
135
|
+
| `channel` | string | Canal de notificación |
|
|
136
|
+
| `start_at` | string | Inicio de ventana opcional (Croner startAt) |
|
|
137
|
+
| `stop_at` | string | Fin de ventana opcional (Croner stopAt) |
|
|
138
|
+
| `dom_and_dow` | number | 0=OR (default), 1=AND (día mes + día semana) |
|
|
139
|
+
|
|
140
|
+
## Cron Expression Format
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
* * * * *
|
|
144
|
+
│ │ │ │ │
|
|
145
|
+
│ │ │ │ └── Día semana (0-6, 0=Domingo)
|
|
146
|
+
│ │ │ └──── Mes (1-12)
|
|
147
|
+
│ │ └────── Día del mes (1-31)
|
|
148
|
+
│ └──────── Hora (0-23)
|
|
149
|
+
└────────── Minuto (0-59)
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Ejemplos Comunes
|
|
153
|
+
|
|
154
|
+
| Expresión | Significado |
|
|
155
|
+
|-----------|-------------|
|
|
156
|
+
| `0 9 * * *` | Diario 9:00 AM |
|
|
157
|
+
| `0 7 * * 1-5` | Lun-Vie 7:00 AM |
|
|
158
|
+
| `0 */2 * * *` | Cada 2 horas |
|
|
159
|
+
| `0 0 * * 0` | Domingos medianoche |
|
|
160
|
+
| `0 0 1 * *` | Día 1 de cada mes |
|
|
161
|
+
|
|
162
|
+
## Cómo Usar start_at / stop_at
|
|
163
|
+
|
|
164
|
+
- `start_at`: La tarea no ejecuta antes de esta fecha
|
|
165
|
+
- `stop_at`: La tarea no ejecuta después de esta fecha
|
|
166
|
+
- Formato ISO: `'2026-04-01T00:00:00'`
|
|
167
|
+
|
|
168
|
+
## Cómo Usar dom_and_dow
|
|
169
|
+
|
|
170
|
+
- `0` (default): Se ejecuta si es el día del mes O el día de semana
|
|
171
|
+
- `1`: Se ejecuta solo si es EL MISMO día del mes Y el día de semana
|
|
172
|
+
|
|
173
|
+
Ejemplo: `0 9 15 * *` con dom_and_dow=1 significa "los 15 de cada mes QUE SEA domingo"
|
|
174
|
+
|
|
175
|
+
## Workflow para Crear
|
|
176
|
+
|
|
177
|
+
1. **Preguntar** → ¿one_shot o recurring?
|
|
178
|
+
2. **Obtener** → Hora y canal de notificación
|
|
179
|
+
3. **Crear** → `cron.create` con campo `task` obligatorio
|
|
180
|
+
4. **Confirmar** → `cron.list` mostrar next runs
|
|
181
|
+
|
|
182
|
+
## Errores a Evitar
|
|
183
|
+
|
|
184
|
+
- ❌ Olvidar el campo `task` — es obligatorio
|
|
185
|
+
- ❌ Usar exec para tareas programadas
|
|
186
|
+
- ❌ No preguntar si es one_shot o recurring
|
|
187
|
+
- ❌ No mostrar próximos horarios al crear
|
|
188
|
+
- ❌ Llamar `cron.update` sin `task_id` — siempre hacer `cron.list` primero
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cron_reminder
|
|
3
|
+
description: "Schedule a reminder for yourself at a specific time. Creates a one_shot cron job that sends a notification message via your preferred channel."
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
author: Hive Team
|
|
6
|
+
icon: "⏰"
|
|
7
|
+
category: cron
|
|
8
|
+
permissions:
|
|
9
|
+
- cron_manage
|
|
10
|
+
dependencies: []
|
|
11
|
+
tools: [cron.create, notify]
|
|
12
|
+
|
|
13
|
+
# Structured skill fields
|
|
14
|
+
triggers:
|
|
15
|
+
- "recordame"
|
|
16
|
+
- "remind me"
|
|
17
|
+
- "recordatorio"
|
|
18
|
+
- "reminder"
|
|
19
|
+
- "alerta"
|
|
20
|
+
- "alert"
|
|
21
|
+
- "avísame"
|
|
22
|
+
- "notify me"
|
|
23
|
+
- "programá"
|
|
24
|
+
- "schedule"
|
|
25
|
+
- "para mañana"
|
|
26
|
+
- "for tomorrow"
|
|
27
|
+
- "en 30 minutos"
|
|
28
|
+
- "in 30 minutes"
|
|
29
|
+
|
|
30
|
+
preferred_agents: []
|
|
31
|
+
|
|
32
|
+
steps:
|
|
33
|
+
- step: 1
|
|
34
|
+
action: clarify_reminder
|
|
35
|
+
instruction: "Ask: What do you want to be reminded about? At what time? Via which channel?"
|
|
36
|
+
output: reminder_message, reminder_time, channel
|
|
37
|
+
|
|
38
|
+
- step: 2
|
|
39
|
+
action: build_reminder_payload
|
|
40
|
+
instruction: "Build the task payload with message and channel"
|
|
41
|
+
output: payload
|
|
42
|
+
|
|
43
|
+
- step: 3
|
|
44
|
+
action: cron.create
|
|
45
|
+
instruction: "Create one_shot cron job"
|
|
46
|
+
params:
|
|
47
|
+
name: "Short name (e.g., 'meeting-reminder')"
|
|
48
|
+
task: "REQUIRED - The reminder message (e.g., 'Meeting starts in 5 minutes')"
|
|
49
|
+
task_type: "one_shot"
|
|
50
|
+
fire_at: "ISO datetime (e.g., '2026-04-20T14:00:00')"
|
|
51
|
+
channel: "telegram, discord, webchat, whatsapp"
|
|
52
|
+
output: cron_id
|
|
53
|
+
|
|
54
|
+
rules:
|
|
55
|
+
- "ALWAYS use cron.create with task_type='one_shot' for reminders"
|
|
56
|
+
- "The 'task' field is REQUIRED and contains the reminder message"
|
|
57
|
+
- "fire_at must be in the future"
|
|
58
|
+
- "Use notify tool as fallback if cron fails"
|
|
59
|
+
- "Default channel is user's preferred, ask if not specified"
|
|
60
|
+
|
|
61
|
+
output_format:
|
|
62
|
+
structure: markdown
|
|
63
|
+
sections:
|
|
64
|
+
- "reminder_message"
|
|
65
|
+
- "scheduled_time"
|
|
66
|
+
- "channel"
|
|
67
|
+
max_length: "Short confirmation"
|
|
68
|
+
|
|
69
|
+
examples:
|
|
70
|
+
- user_input: "recordame la reunion a las 3pm"
|
|
71
|
+
expected_behavior: "cron.create({ name: 'meeting-reminder', task: 'La reunión empieza en 5 minutos', task_type: 'one_shot', fire_at: '2026-04-20T15:00:00', channel: 'telegram' })"
|
|
72
|
+
|
|
73
|
+
- user_input: "avísame en 30 minutos"
|
|
74
|
+
expected_behavior: "cron.create({ name: 'quick-reminder', task: 'Revisa el email', task_type: 'one_shot', fire_at: '<30-min-from-now>', channel: 'telegram' })"
|
|
75
|
+
|
|
76
|
+
- user_input: "recordame mañana a las 9am"
|
|
77
|
+
expected_behavior: "cron.create({ name: 'morning-reminder', task: 'Buenos días! Revisa tu agenda', task_type: 'one_shot', fire_at: '<tomorrow-9am>', channel: 'telegram' })"
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
# Cron Reminder Skill
|
|
81
|
+
|
|
82
|
+
## Cuándo se Activa
|
|
83
|
+
|
|
84
|
+
Para crear recordatorios de una sola ejecución (one_shot): "recuerdame a las 3pm", "avísame en 30 minutos", etc.
|
|
85
|
+
|
|
86
|
+
## Herramientas
|
|
87
|
+
|
|
88
|
+
| Tool | Qué hace |
|
|
89
|
+
|------|----------|
|
|
90
|
+
| `cron.create` | Crear recordatorio one_shot |
|
|
91
|
+
| `notify` | Enviar notificación directa |
|
|
92
|
+
|
|
93
|
+
## Cómo Funciona
|
|
94
|
+
|
|
95
|
+
1. **Preguntar** → ¿De qué te aviso? ¿A qué hora? ¿Por qué canal?
|
|
96
|
+
2. **Crear** → `cron.create` con `task_type: 'one_shot'` y `fire_at` en formato ISO
|
|
97
|
+
3. **Confirmar** → Mostrar hora programada
|
|
98
|
+
|
|
99
|
+
## Parámetros
|
|
100
|
+
|
|
101
|
+
| Campo | Descripción |
|
|
102
|
+
|-------|-------------|
|
|
103
|
+
| `task` | **REQUERIDO** - Mensaje del recordatorio |
|
|
104
|
+
| `task_type` | Siempre `'one_shot'` |
|
|
105
|
+
| `fire_at` | Fecha/hora ISO (ej: `'2026-04-20T15:00:00'`) |
|
|
106
|
+
| `channel` | Canal (telegram, discord, whatsapp, webchat) |
|
|
107
|
+
|
|
108
|
+
## Errores Comunes
|
|
109
|
+
|
|
110
|
+
- ❌ Olvidar el campo `task` — obligatorio para que el agente sepa qué enviar
|
|
111
|
+
- ❌ Usar expresiones cron para recordatorios (usar `fire_at` en vez de `cron_expression`)
|
|
112
|
+
- ❌ Poner `fire_at` en el pasado
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: file_manager
|
|
3
|
+
description: "Explore project structure and locate files using glob patterns and directory listing"
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
author: Hive Team
|
|
6
|
+
icon: "📁"
|
|
7
|
+
category: filesystem
|
|
8
|
+
permissions:
|
|
9
|
+
- filesystem_read
|
|
10
|
+
dependencies: []
|
|
11
|
+
tools: [fs_list, fs_glob, fs_exists]
|
|
12
|
+
|
|
13
|
+
# Structured skill fields
|
|
14
|
+
triggers:
|
|
15
|
+
- "lista los archivos"
|
|
16
|
+
- "list files"
|
|
17
|
+
- "buscá archivos"
|
|
18
|
+
- "find files"
|
|
19
|
+
- "explorá el proyecto"
|
|
20
|
+
- "explore project"
|
|
21
|
+
- "qué archivos hay"
|
|
22
|
+
- "what files exist"
|
|
23
|
+
- "buscá por patrón"
|
|
24
|
+
- "search by pattern"
|
|
25
|
+
- "existe este archivo"
|
|
26
|
+
- "file exists"
|
|
27
|
+
- "dónde está"
|
|
28
|
+
- "where is"
|
|
29
|
+
|
|
30
|
+
preferred_agents: []
|
|
31
|
+
|
|
32
|
+
steps:
|
|
33
|
+
- step: 1
|
|
34
|
+
action: fs_list
|
|
35
|
+
instruction: "List directory contents to understand project structure"
|
|
36
|
+
params:
|
|
37
|
+
path: "."
|
|
38
|
+
output: directory_tree
|
|
39
|
+
|
|
40
|
+
- step: 2
|
|
41
|
+
action: fs_glob
|
|
42
|
+
instruction: "Find files matching specific pattern (e.g., **/*.ts, **/*.md)"
|
|
43
|
+
params:
|
|
44
|
+
pattern: "**/*.ts"
|
|
45
|
+
output: matching_files
|
|
46
|
+
|
|
47
|
+
- step: 3
|
|
48
|
+
action: fs_exists
|
|
49
|
+
instruction: "Verify specific file or directory exists"
|
|
50
|
+
params:
|
|
51
|
+
path: "specific/path"
|
|
52
|
+
output: exists_boolean
|
|
53
|
+
|
|
54
|
+
rules:
|
|
55
|
+
- "Use fs_list for initial exploration of unknown directories"
|
|
56
|
+
- "Use fs_glob when user specifies file type or pattern"
|
|
57
|
+
- "Always verify with fs_exists before read/edit operations"
|
|
58
|
+
- "Stay within workspace directory unless explicitly requested otherwise"
|
|
59
|
+
- "For recursive search, use ** pattern (e.g., **/*.ts finds all .ts files)"
|
|
60
|
+
|
|
61
|
+
output_format:
|
|
62
|
+
structure: markdown
|
|
63
|
+
sections:
|
|
64
|
+
- "search_type"
|
|
65
|
+
- "results"
|
|
66
|
+
- "file_count"
|
|
67
|
+
max_length: "List up to 20 files, summarize if more"
|
|
68
|
+
|
|
69
|
+
examples:
|
|
70
|
+
- user_input: "lista los archivos del proyecto"
|
|
71
|
+
expected_behavior: "fs_list({ path: '.' }) → return root directory structure"
|
|
72
|
+
|
|
73
|
+
- user_input: "buscá todos los archivos TypeScript"
|
|
74
|
+
expected_behavior: "fs_glob({ pattern: '**/*.ts' }) → return list of .ts files"
|
|
75
|
+
|
|
76
|
+
- user_input: "existe el archivo src/config.ts"
|
|
77
|
+
expected_behavior: "fs_exists({ path: 'src/config.ts' }) → return true/false"
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
# File Manager Skill
|
|
81
|
+
|
|
82
|
+
## Cuándo se Activa
|
|
83
|
+
|
|
84
|
+
Esta skill se activa cuando el usuario necesita:
|
|
85
|
+
- Explorar la estructura del proyecto
|
|
86
|
+
- Buscar archivos por extensión o patrón
|
|
87
|
+
- Verificar si existe un archivo o directorio
|
|
88
|
+
- Encontrar la ubicación de un archivo
|
|
89
|
+
|
|
90
|
+
## Herramientas Disponibles
|
|
91
|
+
|
|
92
|
+
| Tool | Qué hace | Cuándo usarla |
|
|
93
|
+
|------|----------|---------------|
|
|
94
|
+
| `fs_list` | Lista directorios y archivos | Exploración inicial |
|
|
95
|
+
| `fs_glob` | Busca archivos por patrón wildcard | Búsqueda por extensión/patrón |
|
|
96
|
+
| `fs_exists` | Verifica existencia | Pre-check antes de operaciones |
|
|
97
|
+
|
|
98
|
+
## Workflow
|
|
99
|
+
|
|
100
|
+
1. **Explorar** → `fs_list({ path })` para estructura general
|
|
101
|
+
2. **Buscar por patrón** → `fs_glob({ pattern })` para tipos específicos
|
|
102
|
+
3. **Verificar** → `fs_exists({ path })` para confirmación
|
|
103
|
+
|
|
104
|
+
## Patrones Glob Comunes
|
|
105
|
+
|
|
106
|
+
| Patrón | Encuentra |
|
|
107
|
+
|--------|-----------|
|
|
108
|
+
| `**/*.ts` | Todos los TypeScript |
|
|
109
|
+
| `**/*.test.ts` | Solo tests |
|
|
110
|
+
| `**/*.md` | Documentación |
|
|
111
|
+
| `**/package.json` | Todos los package.json |
|
|
112
|
+
| `src/**/*.tsx` | React components en src |
|
|
113
|
+
|
|
114
|
+
## Errores a Evitar
|
|
115
|
+
|
|
116
|
+
- ❌ No verificar existencia antes de leer/editar
|
|
117
|
+
- ❌ Usar fs_list cuando se conoce el patrón (usar glob)
|
|
118
|
+
- ❌ Patrones muy amplios sin filtrado
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: file_read_and_summarize
|
|
3
|
+
description: "Read and understand file content with automatic summarization for large files"
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
author: Hive Team
|
|
6
|
+
icon: "📄"
|
|
7
|
+
category: filesystem
|
|
8
|
+
permissions:
|
|
9
|
+
- filesystem_read
|
|
10
|
+
dependencies: []
|
|
11
|
+
tools: [project_read]
|
|
12
|
+
|
|
13
|
+
# Structured skill fields
|
|
14
|
+
triggers:
|
|
15
|
+
- "leé este archivo"
|
|
16
|
+
- "read this file"
|
|
17
|
+
- "mostrame el contenido"
|
|
18
|
+
- "show content"
|
|
19
|
+
- "qué dice este archivo"
|
|
20
|
+
- "resumí este archivo"
|
|
21
|
+
- "summarize this file"
|
|
22
|
+
- "entendé este código"
|
|
23
|
+
- "understand this code"
|
|
24
|
+
|
|
25
|
+
preferred_agents: []
|
|
26
|
+
|
|
27
|
+
steps:
|
|
28
|
+
- step: 1
|
|
29
|
+
action: project_exists
|
|
30
|
+
instruction: "Verify file exists before attempting to read"
|
|
31
|
+
output: exists_boolean
|
|
32
|
+
|
|
33
|
+
- step: 2
|
|
34
|
+
action: project_read
|
|
35
|
+
instruction: "Read file content. Use offset/limit for large files (>1000 lines)"
|
|
36
|
+
params:
|
|
37
|
+
path: "file path"
|
|
38
|
+
offset: 0
|
|
39
|
+
limit: 100
|
|
40
|
+
output: file_content
|
|
41
|
+
|
|
42
|
+
- step: 3
|
|
43
|
+
action: synthesize
|
|
44
|
+
instruction: "Summarize content if file is large. Extract key information relevant to user request"
|
|
45
|
+
output: summary
|
|
46
|
+
|
|
47
|
+
rules:
|
|
48
|
+
- "Always check file exists with project_exists before reading"
|
|
49
|
+
- "Use offset and limit for files >1000 lines to avoid context saturation"
|
|
50
|
+
- "Read in chunks for very large files — iterate with offset"
|
|
51
|
+
- "Summarize automatically for files >500 lines unless user requests full content"
|
|
52
|
+
- "Identify file type by extension and adapt summary format (code vs text vs config)"
|
|
53
|
+
|
|
54
|
+
output_format:
|
|
55
|
+
structure: markdown
|
|
56
|
+
sections:
|
|
57
|
+
- "file_path"
|
|
58
|
+
- "file_type"
|
|
59
|
+
- "line_count"
|
|
60
|
+
- "summary"
|
|
61
|
+
- "key_points"
|
|
62
|
+
max_length: "500 words for summary, full content if requested"
|
|
63
|
+
|
|
64
|
+
examples:
|
|
65
|
+
- user_input: "leé el archivo package.json"
|
|
66
|
+
expected_behavior: "Check exists → project_read({ path: 'package.json' }) → return full content (small file)"
|
|
67
|
+
|
|
68
|
+
- user_input: "resumí el archivo src/main.ts"
|
|
69
|
+
expected_behavior: "project_read with offset/limit → identify main exports and functions → summarize structure"
|
|
70
|
+
|
|
71
|
+
- user_input: "qué dice este archivo de configuración"
|
|
72
|
+
expected_behavior: "project_read → parse config format → explain key settings in plain language"
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
# File Read and Summarize Skill
|
|
76
|
+
|
|
77
|
+
## Cuándo se Activa
|
|
78
|
+
|
|
79
|
+
Esta skill se activa cuando el usuario necesita leer y entender el contenido de un archivo, especialmente cuando:
|
|
80
|
+
- El archivo es grande y necesita resumen
|
|
81
|
+
- Se requiere comprensión del contenido (no solo lectura)
|
|
82
|
+
- El usuario pide "qué dice", "resumí", "entendé"
|
|
83
|
+
|
|
84
|
+
## Herramientas Disponibles
|
|
85
|
+
|
|
86
|
+
| Tool | Qué hace | Cuándo usarla |
|
|
87
|
+
|------|----------|---------------|
|
|
88
|
+
| `project_read` | Lee contenido de archivo del workspace | Lectura de cualquier archivo |
|
|
89
|
+
|
|
90
|
+
## Workflow
|
|
91
|
+
|
|
92
|
+
1. **Verificar existencia** → `project_exists({ path })`
|
|
93
|
+
2. **Leer contenido** → `project_read({ path, offset, limit })`
|
|
94
|
+
3. **Sintetizar** → Resumir si es grande, extraer puntos clave
|
|
95
|
+
|
|
96
|
+
## Mejores Prácticas
|
|
97
|
+
|
|
98
|
+
- Para archivos >1000 líneas, usar `offset` y `limit`
|
|
99
|
+
- Identificar tipo de archivo por extensión y adaptar formato de resumen
|
|
100
|
+
- Para código: identificar funciones, clases, exports principales
|
|
101
|
+
- Para config: explicar settings clave en lenguaje simple
|
|
102
|
+
- Para texto: extraer ideas principales
|
|
103
|
+
|
|
104
|
+
## Errores a Evitar
|
|
105
|
+
|
|
106
|
+
- ❌ Leer sin verificar existencia
|
|
107
|
+
- ❌ Retornar archivo completo sin resumir si es muy grande
|
|
108
|
+
- ❌ No identificar tipo de archivo para adaptar resumen
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: file_writer
|
|
3
|
+
description: "Create, modify, and delete files with safe edit operations and confirmation for large changes"
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
author: Hive Team
|
|
6
|
+
icon: "✍️"
|
|
7
|
+
category: filesystem
|
|
8
|
+
permissions:
|
|
9
|
+
- filesystem_read
|
|
10
|
+
- filesystem_write
|
|
11
|
+
dependencies: []
|
|
12
|
+
tools: [project_read, project_write, project_edit, project_exists]
|
|
13
|
+
|
|
14
|
+
# Structured skill fields
|
|
15
|
+
triggers:
|
|
16
|
+
- "creá un archivo"
|
|
17
|
+
- "create a file"
|
|
18
|
+
- "escribí en"
|
|
19
|
+
- "write to"
|
|
20
|
+
- "editá este archivo"
|
|
21
|
+
- "edit this file"
|
|
22
|
+
- "modificá"
|
|
23
|
+
- "modify"
|
|
24
|
+
- "eliminá el archivo"
|
|
25
|
+
- "delete file"
|
|
26
|
+
- "guardá esto"
|
|
27
|
+
- "save this"
|
|
28
|
+
- "actualizá el archivo"
|
|
29
|
+
- "update file"
|
|
30
|
+
|
|
31
|
+
preferred_agents: []
|
|
32
|
+
|
|
33
|
+
steps:
|
|
34
|
+
- step: 1
|
|
35
|
+
action: project_exists
|
|
36
|
+
instruction: "Check if file exists to determine if creating or editing"
|
|
37
|
+
output: exists_boolean
|
|
38
|
+
|
|
39
|
+
- step: 2
|
|
40
|
+
action: project_read (if editing)
|
|
41
|
+
instruction: "Read existing file to understand current structure before modifying"
|
|
42
|
+
output: current_content
|
|
43
|
+
|
|
44
|
+
- step: 3
|
|
45
|
+
action: decision_write_or_edit
|
|
46
|
+
instruction: "Choose project_write for new files or complete rewrite, project_edit for targeted changes"
|
|
47
|
+
output: operation_type
|
|
48
|
+
|
|
49
|
+
- step: 4
|
|
50
|
+
action: canvas_confirm (if large changes)
|
|
51
|
+
instruction: "Confirm with user before overwriting files with >50 lines of changes"
|
|
52
|
+
output: user_approval
|
|
53
|
+
|
|
54
|
+
- step: 5
|
|
55
|
+
action: project_write or project_edit
|
|
56
|
+
instruction: "Execute the write operation with appropriate method"
|
|
57
|
+
output: result
|
|
58
|
+
|
|
59
|
+
rules:
|
|
60
|
+
- "Always read file before editing to understand structure"
|
|
61
|
+
- "Use project_edit for small, targeted changes (find/replace)"
|
|
62
|
+
- "Use project_write for new files or complete rewrites"
|
|
63
|
+
- "Confirm with canvas_confirm before changes >50 lines"
|
|
64
|
+
- "Verify file path is within workspace unless explicitly requested otherwise"
|
|
65
|
+
- "For delete operations, confirm explicitly with user"
|
|
66
|
+
|
|
67
|
+
output_format:
|
|
68
|
+
structure: markdown
|
|
69
|
+
sections:
|
|
70
|
+
- "operation"
|
|
71
|
+
- "file_path"
|
|
72
|
+
- "lines_changed"
|
|
73
|
+
- "summary"
|
|
74
|
+
max_length: "Brief summary of changes"
|
|
75
|
+
|
|
76
|
+
examples:
|
|
77
|
+
- user_input: "creá un archivo README.md con la descripción del proyecto"
|
|
78
|
+
expected_behavior: "project_exists (false) → project_write({ path: 'README.md', content: '...' })"
|
|
79
|
+
|
|
80
|
+
- user_input: "editá el package.json para agregar la dependencia lodash"
|
|
81
|
+
expected_behavior: "project_read → project_edit with old_string/new_string for dependencies → confirm"
|
|
82
|
+
|
|
83
|
+
- user_input: "eliminá el archivo temporal.log"
|
|
84
|
+
expected_behavior: "project_exists → canvas_confirm('¿Eliminar archivo?') → if approved, delete operation"
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
# File Writer Skill
|
|
88
|
+
|
|
89
|
+
## Cuándo se Activa
|
|
90
|
+
|
|
91
|
+
Esta skill se activa cuando el usuario necesita:
|
|
92
|
+
- Crear nuevos archivos
|
|
93
|
+
- Modificar contenido existente
|
|
94
|
+
- Eliminar archivos
|
|
95
|
+
- Guardar cambios
|
|
96
|
+
|
|
97
|
+
## Herramientas Disponibles
|
|
98
|
+
|
|
99
|
+
| Tool | Qué hace | Cuándo usarla |
|
|
100
|
+
|------|----------|---------------|
|
|
101
|
+
| `project_read` | Lee archivo existente | Antes de editar para entender estructura |
|
|
102
|
+
| `project_write` | Crea o sobreescribe archivo | Archivos nuevos o reescritura completa |
|
|
103
|
+
| `project_edit` | Edita secciones específicas | Cambios puntuales (find/replace) |
|
|
104
|
+
| `project_exists` | Verifica existencia | Para decidir crear vs editar |
|
|
105
|
+
|
|
106
|
+
## Workflow
|
|
107
|
+
|
|
108
|
+
### Crear Archivo Nuevo
|
|
109
|
+
1. `project_exists({ path })` → verificar no existe
|
|
110
|
+
2. `project_write({ path, content })` → crear
|
|
111
|
+
|
|
112
|
+
### Editar Archivo Existente
|
|
113
|
+
1. `project_exists({ path })` → verificar existe
|
|
114
|
+
2. `project_read({ path })` → entender estructura
|
|
115
|
+
3. `project_edit({ path, old_string, new_string })` → modificar
|
|
116
|
+
4. `canvas_confirm()` si cambios >50 líneas
|
|
117
|
+
|
|
118
|
+
### Eliminar Archivo
|
|
119
|
+
1. `project_exists({ path })` → verificar existe
|
|
120
|
+
2. `canvas_confirm({ message: '¿Eliminar archivo?' })` → confirmar
|
|
121
|
+
3. Operación de delete
|
|
122
|
+
|
|
123
|
+
## Mejores Prácticas
|
|
124
|
+
|
|
125
|
+
- **Leer antes de editar**: Nunca modificar sin entender estructura
|
|
126
|
+
- **Edit vs Write**: Usar edit para cambios pequeños, write para nuevos archivos
|
|
127
|
+
- **Confirmar cambios grandes**: >50 líneas requiere confirmación explícita
|
|
128
|
+
- **Paths seguros**: Trabajar dentro del workspace por defecto
|
|
129
|
+
|
|
130
|
+
## Errores a Evitar
|
|
131
|
+
|
|
132
|
+
- ❌ Editar sin leer primero
|
|
133
|
+
- ❌ Sobreescribir sin confirmar si es cambio grande
|
|
134
|
+
- ❌ Eliminar sin confirmación explícita
|
|
135
|
+
- ❌ Usar write cuando edit es suficiente
|