@johpaz/hive 1.7.2 → 1.7.3
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 +178 -36
- package/dist/hive.js +315124 -0
- package/package.json +11 -3
- package/packages/core/src/index.ts +0 -1
- package/.dockerignore +0 -9
- package/CONTRIBUTING.md +0 -44
- package/Dockerfile +0 -67
- package/docker-compose.yml +0 -19
- package/packages/cli/package.json +0 -28
- package/packages/cli/src/commands/agent-run.ts +0 -168
- package/packages/cli/src/commands/agents.ts +0 -398
- package/packages/cli/src/commands/chat.ts +0 -142
- package/packages/cli/src/commands/config.ts +0 -50
- package/packages/cli/src/commands/cron.ts +0 -161
- package/packages/cli/src/commands/dev.ts +0 -95
- package/packages/cli/src/commands/doctor.ts +0 -133
- package/packages/cli/src/commands/gateway.ts +0 -422
- package/packages/cli/src/commands/logs.ts +0 -57
- package/packages/cli/src/commands/mcp.ts +0 -175
- package/packages/cli/src/commands/message.ts +0 -77
- package/packages/cli/src/commands/onboard.ts +0 -1696
- package/packages/cli/src/commands/security.ts +0 -144
- package/packages/cli/src/commands/service.ts +0 -50
- package/packages/cli/src/commands/sessions.ts +0 -116
- package/packages/cli/src/commands/skills.ts +0 -187
- package/packages/cli/src/commands/update.ts +0 -25
- package/packages/cli/src/index.ts +0 -190
- package/packages/cli/src/utils/token.ts +0 -6
- package/packages/code-bridge/README.md +0 -78
- package/packages/code-bridge/package.json +0 -18
- package/packages/code-bridge/src/index.ts +0 -95
- package/packages/code-bridge/src/process-manager.ts +0 -212
- package/packages/code-bridge/src/schemas.ts +0 -133
- package/packages/core/package.json +0 -55
- package/packages/core/src/agent/agent-loop.ts +0 -520
- package/packages/core/src/agent/compaction.ts +0 -183
- package/packages/core/src/agent/context-compiler.ts +0 -544
- package/packages/core/src/agent/context-guard.ts +0 -91
- package/packages/core/src/agent/conversation-store.ts +0 -193
- package/packages/core/src/agent/curator.ts +0 -158
- package/packages/core/src/agent/hooks.ts +0 -166
- package/packages/core/src/agent/llm-client.ts +0 -503
- package/packages/core/src/agent/native-tools.ts +0 -31
- package/packages/core/src/agent/playbook-selector.ts +0 -143
- package/packages/core/src/agent/prompt-builder.ts +0 -167
- package/packages/core/src/agent/providers/index.ts +0 -186
- package/packages/core/src/agent/providers.ts +0 -1
- package/packages/core/src/agent/reflector.ts +0 -200
- package/packages/core/src/agent/service.ts +0 -266
- package/packages/core/src/agent/skill-selector.ts +0 -413
- package/packages/core/src/agent/stuck-loop.ts +0 -133
- package/packages/core/src/agent/tool-selector.ts +0 -623
- package/packages/core/src/agent/tracer.ts +0 -102
- package/packages/core/src/canvas/canvas-manager.ts +0 -319
- package/packages/core/src/canvas/canvas-tools.ts +0 -420
- package/packages/core/src/canvas/emitter.ts +0 -119
- package/packages/core/src/canvas/index.ts +0 -2
- package/packages/core/src/channels/base.ts +0 -140
- package/packages/core/src/channels/discord.ts +0 -260
- package/packages/core/src/channels/index.ts +0 -7
- package/packages/core/src/channels/manager.ts +0 -383
- package/packages/core/src/channels/slack.ts +0 -287
- package/packages/core/src/channels/telegram.ts +0 -552
- package/packages/core/src/channels/webchat.ts +0 -139
- package/packages/core/src/channels/whatsapp.ts +0 -375
- package/packages/core/src/config/index.ts +0 -12
- package/packages/core/src/config/loader.ts +0 -529
- package/packages/core/src/events/agent-bus.ts +0 -460
- package/packages/core/src/events/event-bus.ts +0 -169
- package/packages/core/src/gateway/helpers/cors.ts +0 -32
- package/packages/core/src/gateway/helpers/index.ts +0 -4
- package/packages/core/src/gateway/helpers/narration.ts +0 -60
- package/packages/core/src/gateway/helpers/path.ts +0 -13
- package/packages/core/src/gateway/helpers/redact.ts +0 -61
- package/packages/core/src/gateway/index.ts +0 -5
- package/packages/core/src/gateway/initializer.ts +0 -332
- package/packages/core/src/gateway/lane-queue.ts +0 -169
- package/packages/core/src/gateway/resolver.ts +0 -108
- package/packages/core/src/gateway/router.ts +0 -124
- package/packages/core/src/gateway/routes/agents.ts +0 -187
- package/packages/core/src/gateway/routes/channels.ts +0 -203
- package/packages/core/src/gateway/routes/chat.ts +0 -241
- package/packages/core/src/gateway/routes/config.ts +0 -12
- package/packages/core/src/gateway/routes/cron.ts +0 -42
- package/packages/core/src/gateway/routes/ethics.ts +0 -46
- package/packages/core/src/gateway/routes/mcp.ts +0 -346
- package/packages/core/src/gateway/routes/models.ts +0 -93
- package/packages/core/src/gateway/routes/projects.ts +0 -179
- package/packages/core/src/gateway/routes/providers.ts +0 -192
- package/packages/core/src/gateway/routes/setup.ts +0 -267
- package/packages/core/src/gateway/routes/skills.ts +0 -70
- package/packages/core/src/gateway/routes/system.ts +0 -165
- package/packages/core/src/gateway/routes/tasks.ts +0 -44
- package/packages/core/src/gateway/routes/tools.ts +0 -35
- package/packages/core/src/gateway/routes/users.ts +0 -118
- package/packages/core/src/gateway/routes/voice.ts +0 -73
- package/packages/core/src/gateway/routes/workspace.ts +0 -281
- package/packages/core/src/gateway/server.ts +0 -1978
- package/packages/core/src/gateway/session.ts +0 -95
- package/packages/core/src/gateway/slash-commands.ts +0 -193
- package/packages/core/src/heartbeat/index.ts +0 -157
- package/packages/core/src/mcp/hot-reload.ts +0 -213
- package/packages/core/src/mcp/singleton.ts +0 -21
- package/packages/core/src/memory/index.ts +0 -1
- package/packages/core/src/memory/notes.ts +0 -68
- package/packages/core/src/plugins/api.ts +0 -128
- package/packages/core/src/plugins/index.ts +0 -2
- package/packages/core/src/plugins/loader.ts +0 -365
- package/packages/core/src/resilience/circuit-breaker.ts +0 -225
- package/packages/core/src/security/google-chat.ts +0 -269
- package/packages/core/src/security/index.ts +0 -192
- package/packages/core/src/security/pairing.ts +0 -250
- package/packages/core/src/security/rate-limit.ts +0 -270
- package/packages/core/src/security/signal.ts +0 -321
- package/packages/core/src/state/store.ts +0 -312
- package/packages/core/src/storage/crypto.ts +0 -101
- package/packages/core/src/storage/onboarding.ts +0 -1609
- package/packages/core/src/storage/schema.ts +0 -567
- package/packages/core/src/storage/seed.ts +0 -608
- package/packages/core/src/storage/sqlite.ts +0 -363
- package/packages/core/src/storage/usage.ts +0 -270
- package/packages/core/src/tools/agents/index.ts +0 -607
- package/packages/core/src/tools/bridge-events.ts +0 -26
- package/packages/core/src/tools/canvas/index.ts +0 -281
- package/packages/core/src/tools/cli/index.ts +0 -142
- package/packages/core/src/tools/codebridge/index.ts +0 -179
- package/packages/core/src/tools/core/index.ts +0 -257
- package/packages/core/src/tools/cron/index.ts +0 -373
- package/packages/core/src/tools/filesystem/fs-delete.ts +0 -78
- package/packages/core/src/tools/filesystem/fs-edit.ts +0 -106
- package/packages/core/src/tools/filesystem/fs-exists.ts +0 -63
- package/packages/core/src/tools/filesystem/fs-glob.ts +0 -108
- package/packages/core/src/tools/filesystem/fs-list.ts +0 -129
- package/packages/core/src/tools/filesystem/fs-read.ts +0 -72
- package/packages/core/src/tools/filesystem/fs-write.ts +0 -67
- package/packages/core/src/tools/filesystem/index.ts +0 -34
- package/packages/core/src/tools/filesystem/workspace-guard.ts +0 -62
- package/packages/core/src/tools/index.ts +0 -197
- package/packages/core/src/tools/projects/index.ts +0 -37
- package/packages/core/src/tools/projects/project-create.ts +0 -94
- package/packages/core/src/tools/projects/project-done.ts +0 -66
- package/packages/core/src/tools/projects/project-fail.ts +0 -66
- package/packages/core/src/tools/projects/project-list.ts +0 -96
- package/packages/core/src/tools/projects/project-update.ts +0 -72
- package/packages/core/src/tools/projects/task-create.ts +0 -68
- package/packages/core/src/tools/projects/task-evaluate.ts +0 -93
- package/packages/core/src/tools/projects/task-update.ts +0 -93
- package/packages/core/src/tools/search-knowledge/search-knowledge.ts +0 -155
- package/packages/core/src/tools/types.ts +0 -39
- package/packages/core/src/tools/voice/index.ts +0 -104
- package/packages/core/src/tools/web/browser-click.ts +0 -54
- package/packages/core/src/tools/web/browser-navigate.ts +0 -84
- package/packages/core/src/tools/web/browser-screenshot.ts +0 -54
- package/packages/core/src/tools/web/browser-type.ts +0 -60
- package/packages/core/src/tools/web/index.ts +0 -31
- package/packages/core/src/tools/web/web-fetch.ts +0 -78
- package/packages/core/src/tools/web/web-search.ts +0 -123
- package/packages/core/src/utils/benchmark.ts +0 -80
- package/packages/core/src/utils/crypto.ts +0 -73
- package/packages/core/src/utils/date.ts +0 -42
- package/packages/core/src/utils/index.ts +0 -5
- package/packages/core/src/utils/logger.ts +0 -389
- package/packages/core/src/utils/retry.ts +0 -70
- package/packages/core/src/utils/toon.ts +0 -356
- package/packages/core/src/voice/index.ts +0 -583
- package/packages/hive-ui/README.md +0 -52
- package/packages/hive-ui/components.json +0 -20
- package/packages/hive-ui/index.html +0 -30
- package/packages/hive-ui/package.json +0 -90
- package/packages/hive-ui/public/favicon.ico +0 -0
- package/packages/hive-ui/public/placeholder.svg +0 -1
- package/packages/hive-ui/src/App.tsx +0 -115
- package/packages/hive-ui/src/components/CronJobsPanel.tsx +0 -200
- package/packages/hive-ui/src/components/NavLink.tsx +0 -34
- package/packages/hive-ui/src/components/NotesPanel.tsx +0 -79
- package/packages/hive-ui/src/components/SystemMonitor.tsx +0 -270
- package/packages/hive-ui/src/components/UsageStatsPanel.tsx +0 -334
- package/packages/hive-ui/src/components/WelcomeDialog.tsx +0 -279
- package/packages/hive-ui/src/components/ui/accordion.tsx +0 -52
- package/packages/hive-ui/src/components/ui/alert-dialog.tsx +0 -104
- package/packages/hive-ui/src/components/ui/alert.tsx +0 -45
- package/packages/hive-ui/src/components/ui/aspect-ratio.tsx +0 -5
- package/packages/hive-ui/src/components/ui/avatar.tsx +0 -38
- package/packages/hive-ui/src/components/ui/badge.tsx +0 -29
- package/packages/hive-ui/src/components/ui/bee-loader.tsx +0 -68
- package/packages/hive-ui/src/components/ui/breadcrumb.tsx +0 -90
- package/packages/hive-ui/src/components/ui/button.tsx +0 -47
- package/packages/hive-ui/src/components/ui/calendar.tsx +0 -54
- package/packages/hive-ui/src/components/ui/card.tsx +0 -45
- package/packages/hive-ui/src/components/ui/carousel.tsx +0 -224
- package/packages/hive-ui/src/components/ui/chart.tsx +0 -303
- package/packages/hive-ui/src/components/ui/checkbox.tsx +0 -26
- package/packages/hive-ui/src/components/ui/collapsible.tsx +0 -9
- package/packages/hive-ui/src/components/ui/command.tsx +0 -133
- package/packages/hive-ui/src/components/ui/context-menu.tsx +0 -178
- package/packages/hive-ui/src/components/ui/dialog.tsx +0 -95
- package/packages/hive-ui/src/components/ui/drawer.tsx +0 -87
- package/packages/hive-ui/src/components/ui/dropdown-menu.tsx +0 -179
- package/packages/hive-ui/src/components/ui/form.tsx +0 -129
- package/packages/hive-ui/src/components/ui/hover-card.tsx +0 -27
- package/packages/hive-ui/src/components/ui/input-otp.tsx +0 -61
- package/packages/hive-ui/src/components/ui/input.tsx +0 -22
- package/packages/hive-ui/src/components/ui/label.tsx +0 -17
- package/packages/hive-ui/src/components/ui/menubar.tsx +0 -207
- package/packages/hive-ui/src/components/ui/navigation-menu.tsx +0 -120
- package/packages/hive-ui/src/components/ui/pagination.tsx +0 -80
- package/packages/hive-ui/src/components/ui/popover.tsx +0 -29
- package/packages/hive-ui/src/components/ui/progress.tsx +0 -23
- package/packages/hive-ui/src/components/ui/radio-group.tsx +0 -36
- package/packages/hive-ui/src/components/ui/resizable.tsx +0 -37
- package/packages/hive-ui/src/components/ui/scroll-area.tsx +0 -38
- package/packages/hive-ui/src/components/ui/select.tsx +0 -143
- package/packages/hive-ui/src/components/ui/separator.tsx +0 -20
- package/packages/hive-ui/src/components/ui/sheet.tsx +0 -107
- package/packages/hive-ui/src/components/ui/sidebar.tsx +0 -636
- package/packages/hive-ui/src/components/ui/skeleton.tsx +0 -7
- package/packages/hive-ui/src/components/ui/slider.tsx +0 -23
- package/packages/hive-ui/src/components/ui/sonner.tsx +0 -27
- package/packages/hive-ui/src/components/ui/switch.tsx +0 -27
- package/packages/hive-ui/src/components/ui/table.tsx +0 -72
- package/packages/hive-ui/src/components/ui/tabs.tsx +0 -53
- package/packages/hive-ui/src/components/ui/textarea.tsx +0 -21
- package/packages/hive-ui/src/components/ui/toast.tsx +0 -111
- package/packages/hive-ui/src/components/ui/toaster.tsx +0 -24
- package/packages/hive-ui/src/components/ui/toggle-group.tsx +0 -49
- package/packages/hive-ui/src/components/ui/toggle.tsx +0 -37
- package/packages/hive-ui/src/components/ui/tooltip.tsx +0 -28
- package/packages/hive-ui/src/components/ui/use-toast.ts +0 -3
- package/packages/hive-ui/src/hooks/use-mobile.tsx +0 -19
- package/packages/hive-ui/src/hooks/use-toast.ts +0 -186
- package/packages/hive-ui/src/hooks/useAgentConfig.ts +0 -25
- package/packages/hive-ui/src/hooks/useAgents.ts +0 -38
- package/packages/hive-ui/src/hooks/useBridge.ts +0 -38
- package/packages/hive-ui/src/hooks/useCanvas.ts +0 -24
- package/packages/hive-ui/src/hooks/useChannels.ts +0 -2
- package/packages/hive-ui/src/hooks/useEthics.ts +0 -51
- package/packages/hive-ui/src/hooks/useProviders.ts +0 -14
- package/packages/hive-ui/src/hooks/useTheme.ts +0 -29
- package/packages/hive-ui/src/hooks/useUserConfig.ts +0 -17
- package/packages/hive-ui/src/hooks/useWebSocket.ts +0 -12
- package/packages/hive-ui/src/index.css +0 -620
- package/packages/hive-ui/src/lib/api.ts +0 -100
- package/packages/hive-ui/src/lib/constants.ts +0 -6
- package/packages/hive-ui/src/lib/models.ts +0 -64
- package/packages/hive-ui/src/lib/swal.ts +0 -30
- package/packages/hive-ui/src/lib/utils.ts +0 -6
- package/packages/hive-ui/src/lib/websocket.ts +0 -7
- package/packages/hive-ui/src/main.tsx +0 -5
- package/packages/hive-ui/src/modules/agent-config/details/AgentDetailsEditor.tsx +0 -524
- package/packages/hive-ui/src/modules/agent-config/ethics/EthicsConflictDetector.tsx +0 -18
- package/packages/hive-ui/src/modules/agent-config/ethics/EthicsEditor.tsx +0 -19
- package/packages/hive-ui/src/modules/agent-config/ethics/EthicsRulesList.tsx +0 -36
- package/packages/hive-ui/src/modules/agent-config/ethics/EthicsTemplateGallery.tsx +0 -361
- package/packages/hive-ui/src/modules/agent-config/ethics/index.ts +0 -4
- package/packages/hive-ui/src/modules/agent-config/index.ts +0 -6
- package/packages/hive-ui/src/modules/agent-config/mcp/MCPServerAdd.tsx +0 -322
- package/packages/hive-ui/src/modules/agent-config/mcp/MCPServerCard.tsx +0 -93
- package/packages/hive-ui/src/modules/agent-config/mcp/MCPServerConfig.tsx +0 -427
- package/packages/hive-ui/src/modules/agent-config/mcp/MCPServerList.tsx +0 -85
- package/packages/hive-ui/src/modules/agent-config/mcp/MCPToolExplorer.tsx +0 -79
- package/packages/hive-ui/src/modules/agent-config/mcp/index.ts +0 -5
- package/packages/hive-ui/src/modules/agent-config/shared/ConfigEditorLayout.tsx +0 -30
- package/packages/hive-ui/src/modules/agent-config/shared/ConfigExporter.tsx +0 -26
- package/packages/hive-ui/src/modules/agent-config/shared/ConfigImporter.tsx +0 -25
- package/packages/hive-ui/src/modules/agent-config/shared/DiffViewer.tsx +0 -31
- package/packages/hive-ui/src/modules/agent-config/shared/MarkdownEditor.tsx +0 -32
- package/packages/hive-ui/src/modules/agent-config/shared/SaveStatusIndicator.tsx +0 -23
- package/packages/hive-ui/src/modules/agent-config/shared/ValidationPanel.tsx +0 -36
- package/packages/hive-ui/src/modules/agent-config/shared/index.ts +0 -7
- package/packages/hive-ui/src/modules/agent-config/skills/SkillCard.tsx +0 -81
- package/packages/hive-ui/src/modules/agent-config/skills/SkillConfigEditor.tsx +0 -22
- package/packages/hive-ui/src/modules/agent-config/skills/SkillCreator.tsx +0 -60
- package/packages/hive-ui/src/modules/agent-config/skills/SkillInstaller.tsx +0 -23
- package/packages/hive-ui/src/modules/agent-config/skills/SkillList.tsx +0 -72
- package/packages/hive-ui/src/modules/agent-config/skills/SkillsTab.tsx +0 -202
- package/packages/hive-ui/src/modules/agent-config/skills/index.ts +0 -5
- package/packages/hive-ui/src/modules/agent-config/tools/ToolCard.tsx +0 -27
- package/packages/hive-ui/src/modules/agent-config/tools/ToolConfigPanel.tsx +0 -22
- package/packages/hive-ui/src/modules/agent-config/tools/ToolManager.tsx +0 -266
- package/packages/hive-ui/src/modules/agent-config/tools/ToolPermissions.tsx +0 -287
- package/packages/hive-ui/src/modules/agent-config/tools/ToolRegistry.tsx +0 -84
- package/packages/hive-ui/src/modules/agent-config/tools/ToolUsageStats.tsx +0 -52
- package/packages/hive-ui/src/modules/agent-config/tools/index.ts +0 -4
- package/packages/hive-ui/src/modules/agent-config/user/ActiveAgentsList.tsx +0 -109
- package/packages/hive-ui/src/modules/agent-config/user/GlobalConfigOverview.tsx +0 -119
- package/packages/hive-ui/src/modules/agent-config/user/UserMemoryManager.tsx +0 -54
- package/packages/hive-ui/src/modules/agent-config/user/UserPreferencesForm.tsx +0 -163
- package/packages/hive-ui/src/modules/agent-config/user/UserProfileEditor.tsx +0 -261
- package/packages/hive-ui/src/modules/agent-config/user/index.ts +0 -3
- package/packages/hive-ui/src/modules/agents/AgentActivityLog.tsx +0 -25
- package/packages/hive-ui/src/modules/agents/AgentCard.tsx +0 -305
- package/packages/hive-ui/src/modules/agents/AgentCreateForm.tsx +0 -446
- package/packages/hive-ui/src/modules/agents/AgentDetail.tsx +0 -28
- package/packages/hive-ui/src/modules/agents/AgentInternalCard.tsx +0 -162
- package/packages/hive-ui/src/modules/agents/AgentList.tsx +0 -29
- package/packages/hive-ui/src/modules/agents/AgentStatusBadge.tsx +0 -34
- package/packages/hive-ui/src/modules/agents/ModelSelector.tsx +0 -151
- package/packages/hive-ui/src/modules/bridge/BridgeLogViewer.tsx +0 -61
- package/packages/hive-ui/src/modules/bridge/BridgeProcessList.tsx +0 -77
- package/packages/hive-ui/src/modules/bridge/BridgeStatus.tsx +0 -23
- package/packages/hive-ui/src/modules/bridge/BridgeTerminal.tsx +0 -7
- package/packages/hive-ui/src/modules/canvas/CanvasButton.tsx +0 -3
- package/packages/hive-ui/src/modules/canvas/CanvasChart.tsx +0 -3
- package/packages/hive-ui/src/modules/canvas/CanvasComponentMap.tsx +0 -605
- package/packages/hive-ui/src/modules/canvas/CanvasContainer.tsx +0 -360
- package/packages/hive-ui/src/modules/canvas/CanvasForm.tsx +0 -3
- package/packages/hive-ui/src/modules/canvas/CanvasMarkdown.tsx +0 -3
- package/packages/hive-ui/src/modules/canvas/CanvasTable.tsx +0 -3
- package/packages/hive-ui/src/modules/canvas/ComponentRenderer.tsx +0 -30
- package/packages/hive-ui/src/modules/canvas/DynamicRenderer.tsx +0 -3
- package/packages/hive-ui/src/modules/channels/available/AvailableChannelsGrid.tsx +0 -89
- package/packages/hive-ui/src/modules/channels/available/ChannelAuthForm.tsx +0 -33
- package/packages/hive-ui/src/modules/channels/available/ChannelSetupWizard.tsx +0 -48
- package/packages/hive-ui/src/modules/channels/available/ChannelTestConnection.tsx +0 -37
- package/packages/hive-ui/src/modules/channels/available/ChannelTypeCard.tsx +0 -30
- package/packages/hive-ui/src/modules/channels/available/ChannelWebhookConfig.tsx +0 -30
- package/packages/hive-ui/src/modules/channels/available/index.ts +0 -6
- package/packages/hive-ui/src/modules/channels/connected/ChannelCard.tsx +0 -95
- package/packages/hive-ui/src/modules/channels/connected/ChannelConfigPanel.tsx +0 -260
- package/packages/hive-ui/src/modules/channels/connected/ChannelDisconnectButton.tsx +0 -21
- package/packages/hive-ui/src/modules/channels/connected/ChannelLogsViewer.tsx +0 -42
- package/packages/hive-ui/src/modules/channels/connected/ChannelQRCode.tsx +0 -32
- package/packages/hive-ui/src/modules/channels/connected/ChannelReconnectButton.tsx +0 -16
- package/packages/hive-ui/src/modules/channels/connected/ChannelStatusBadge.tsx +0 -26
- package/packages/hive-ui/src/modules/channels/connected/ConnectedChannelsList.tsx +0 -40
- package/packages/hive-ui/src/modules/channels/connected/index.ts +0 -8
- package/packages/hive-ui/src/modules/channels/shared/ChannelCard.tsx +0 -84
- package/packages/hive-ui/src/modules/channels/shared/ChannelConfigDialog.tsx +0 -279
- package/packages/hive-ui/src/modules/channels/shared/ChannelIcon.tsx +0 -40
- package/packages/hive-ui/src/modules/channels/shared/ChannelStats.tsx +0 -37
- package/packages/hive-ui/src/modules/channels/shared/ChannelTypeBadge.tsx +0 -23
- package/packages/hive-ui/src/modules/channels/shared/ConnectionHealthIndicator.tsx +0 -20
- package/packages/hive-ui/src/modules/channels/shared/MessagePreview.tsx +0 -19
- package/packages/hive-ui/src/modules/channels/shared/index.ts +0 -5
- package/packages/hive-ui/src/modules/chat/ChatContainer.tsx +0 -268
- package/packages/hive-ui/src/modules/chat/ChatHistory.tsx +0 -101
- package/packages/hive-ui/src/modules/chat/ChatInput.tsx +0 -108
- package/packages/hive-ui/src/modules/chat/ChatMessage.tsx +0 -137
- package/packages/hive-ui/src/modules/chat/ThinkingIndicator.tsx +0 -10
- package/packages/hive-ui/src/modules/layout/AppLayout.tsx +0 -45
- package/packages/hive-ui/src/modules/layout/ConnectionStatus.tsx +0 -19
- package/packages/hive-ui/src/modules/layout/Header.tsx +0 -20
- package/packages/hive-ui/src/modules/layout/HiveSidebar.tsx +0 -173
- package/packages/hive-ui/src/modules/layout/ThemeToggle.tsx +0 -18
- package/packages/hive-ui/src/modules/providers/ProviderCard.tsx +0 -319
- package/packages/hive-ui/src/modules/providers/ProviderConfigForm.tsx +0 -146
- package/packages/hive-ui/src/modules/providers/ProviderFailoverConfig.tsx +0 -110
- package/packages/hive-ui/src/modules/providers/ProviderList.tsx +0 -33
- package/packages/hive-ui/src/modules/providers/ProviderStatusIndicator.tsx +0 -23
- package/packages/hive-ui/src/modules/providers/configs/ProviderAPIKeyManager.tsx +0 -39
- package/packages/hive-ui/src/modules/providers/configs/ProviderEndpointConfig.tsx +0 -27
- package/packages/hive-ui/src/modules/providers/configs/ProviderRateLimits.tsx +0 -37
- package/packages/hive-ui/src/modules/providers/configs/ProviderRetryPolicy.tsx +0 -46
- package/packages/hive-ui/src/modules/providers/configs/index.ts +0 -4
- package/packages/hive-ui/src/modules/providers/index.ts +0 -5
- package/packages/hive-ui/src/modules/providers/models/ModelBenchmarkBadge.tsx +0 -21
- package/packages/hive-ui/src/modules/providers/models/ModelCapabilities.tsx +0 -44
- package/packages/hive-ui/src/modules/providers/models/ModelCard.tsx +0 -36
- package/packages/hive-ui/src/modules/providers/models/ModelComparisonTable.tsx +0 -47
- package/packages/hive-ui/src/modules/providers/models/ModelList.tsx +0 -51
- package/packages/hive-ui/src/modules/providers/models/ModelPricingInfo.tsx +0 -17
- package/packages/hive-ui/src/modules/providers/models/ModelSelector.tsx +0 -32
- package/packages/hive-ui/src/modules/providers/models/index.ts +0 -7
- package/packages/hive-ui/src/pages/AgentDetailPage.tsx +0 -74
- package/packages/hive-ui/src/pages/AgentNewPage.tsx +0 -5
- package/packages/hive-ui/src/pages/AgentsPage.tsx +0 -147
- package/packages/hive-ui/src/pages/BridgePage.tsx +0 -83
- package/packages/hive-ui/src/pages/CanvasPage.tsx +0 -32
- package/packages/hive-ui/src/pages/ChannelsPage.tsx +0 -176
- package/packages/hive-ui/src/pages/DashboardPage.tsx +0 -321
- package/packages/hive-ui/src/pages/Index.tsx +0 -14
- package/packages/hive-ui/src/pages/LogsPage.tsx +0 -252
- package/packages/hive-ui/src/pages/NotFound.tsx +0 -24
- package/packages/hive-ui/src/pages/ProjectsPage.tsx +0 -241
- package/packages/hive-ui/src/pages/ProvidersPage.tsx +0 -111
- package/packages/hive-ui/src/pages/SettingsPage.tsx +0 -147
- package/packages/hive-ui/src/pages/SetupPage.tsx +0 -1177
- package/packages/hive-ui/src/pages/WebChatPage.tsx +0 -15
- package/packages/hive-ui/src/stores/agentConfigStore.ts +0 -32
- package/packages/hive-ui/src/stores/agentStore.ts +0 -5
- package/packages/hive-ui/src/stores/bridgeStore.ts +0 -237
- package/packages/hive-ui/src/stores/canvasStore.ts +0 -250
- package/packages/hive-ui/src/stores/channelStore.ts +0 -5
- package/packages/hive-ui/src/stores/chatStore.ts +0 -42
- package/packages/hive-ui/src/stores/ethicsStore.ts +0 -141
- package/packages/hive-ui/src/stores/mcpStore.ts +0 -5
- package/packages/hive-ui/src/stores/modelStore.ts +0 -2
- package/packages/hive-ui/src/stores/projectsStore.ts +0 -141
- package/packages/hive-ui/src/stores/providerStore.ts +0 -2
- package/packages/hive-ui/src/stores/skillStore.ts +0 -5
- package/packages/hive-ui/src/stores/toolStore.ts +0 -5
- package/packages/hive-ui/src/stores/useGlobalConfigStore.ts +0 -937
- package/packages/hive-ui/src/stores/useLoaderStore.ts +0 -21
- package/packages/hive-ui/src/stores/useNotesAndCronsStore.ts +0 -144
- package/packages/hive-ui/src/stores/useWebSocketStore.ts +0 -152
- package/packages/hive-ui/src/stores/useWelcomeStore.ts +0 -37
- package/packages/hive-ui/src/stores/userConfigStore.ts +0 -23
- package/packages/hive-ui/src/stores/userStore.ts +0 -82
- package/packages/hive-ui/src/test/setup.ts +0 -15
- package/packages/hive-ui/src/types/agent-config.ts +0 -33
- package/packages/hive-ui/src/types/agent.ts +0 -65
- package/packages/hive-ui/src/types/bridge.ts +0 -27
- package/packages/hive-ui/src/types/canvas.ts +0 -76
- package/packages/hive-ui/src/types/channels.ts +0 -109
- package/packages/hive-ui/src/types/chat.ts +0 -25
- package/packages/hive-ui/src/types/connections.ts +0 -17
- package/packages/hive-ui/src/types/ethics.ts +0 -41
- package/packages/hive-ui/src/types/index.ts +0 -15
- package/packages/hive-ui/src/types/mcp.ts +0 -36
- package/packages/hive-ui/src/types/notes-crons.ts +0 -31
- package/packages/hive-ui/src/types/providers.ts +0 -145
- package/packages/hive-ui/src/types/skill.ts +0 -12
- package/packages/hive-ui/src/types/tool.ts +0 -44
- package/packages/hive-ui/src/types/user.ts +0 -26
- package/packages/hive-ui/src/types/websocket.ts +0 -14
- package/packages/hive-ui/src/vite-env.d.ts +0 -1
- package/packages/mcp/package.json +0 -26
- package/packages/mcp/src/config.ts +0 -13
- package/packages/mcp/src/index.ts +0 -1
- package/packages/mcp/src/logger.ts +0 -42
- package/packages/mcp/src/manager.ts +0 -439
- package/packages/mcp/src/transports/index.ts +0 -67
- package/packages/mcp/src/transports/sse.ts +0 -241
- package/packages/mcp/src/transports/websocket.ts +0 -159
- package/packages/skills/package.json +0 -21
- package/packages/skills/src/index.ts +0 -1
- package/packages/skills/src/loader.ts +0 -346
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* task_evaluate - Evaluate task result against acceptance criteria
|
|
3
|
-
*
|
|
4
|
-
* @category projects
|
|
5
|
-
* @seedId task_evaluate
|
|
6
|
-
* @spanish evaluar tarea, validar resultado, criterios de aceptación
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { Tool } from "../types.ts";
|
|
10
|
-
import { getDb } from "../../storage/sqlite.ts";
|
|
11
|
-
import { logger } from "../../utils/logger.ts";
|
|
12
|
-
|
|
13
|
-
const log = logger.child("task-evaluate");
|
|
14
|
-
|
|
15
|
-
export const taskEvaluateTool: Tool = {
|
|
16
|
-
name: "task_evaluate",
|
|
17
|
-
description: "Evaluate task result against acceptance criteria. Spanish: evaluar tarea, validar resultado, criterios de aceptación",
|
|
18
|
-
parameters: {
|
|
19
|
-
type: "object",
|
|
20
|
-
properties: {
|
|
21
|
-
task_id: {
|
|
22
|
-
type: "number",
|
|
23
|
-
description: "ID numérico de la tarea a evaluar",
|
|
24
|
-
},
|
|
25
|
-
criteria: {
|
|
26
|
-
type: "array",
|
|
27
|
-
description: "Lista de criterios de aceptación",
|
|
28
|
-
items: { type: "string" },
|
|
29
|
-
},
|
|
30
|
-
auto_update: {
|
|
31
|
-
type: "boolean",
|
|
32
|
-
description: "Si pasa la evaluación, marca la tarea como completed (default: false)",
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
required: ["task_id", "criteria"],
|
|
36
|
-
},
|
|
37
|
-
execute: async (params: Record<string, unknown>) => {
|
|
38
|
-
const db = getDb();
|
|
39
|
-
const taskId = params.task_id as number;
|
|
40
|
-
const criteria = params.criteria as string[];
|
|
41
|
-
const autoUpdate = (params.auto_update as boolean) ?? false;
|
|
42
|
-
|
|
43
|
-
try {
|
|
44
|
-
const task = db.query<any, [number]>(
|
|
45
|
-
"SELECT id, name, status, result FROM tasks WHERE id = ?"
|
|
46
|
-
).get(taskId);
|
|
47
|
-
|
|
48
|
-
if (!task) {
|
|
49
|
-
return {
|
|
50
|
-
ok: false,
|
|
51
|
-
error: `Task not found: ${taskId}`,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (!task.result) {
|
|
56
|
-
return {
|
|
57
|
-
ok: false,
|
|
58
|
-
error: `Task has no result to evaluate.`,
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const evaluations = criteria.map((criterion) => {
|
|
63
|
-
const passed = task.result.toLowerCase().includes(criterion.toLowerCase());
|
|
64
|
-
return { criterion, passed };
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
const allPassed = evaluations.every((e) => e.passed);
|
|
68
|
-
const passedCount = evaluations.filter((e) => e.passed).length;
|
|
69
|
-
|
|
70
|
-
if (autoUpdate && allPassed) {
|
|
71
|
-
db.query(`
|
|
72
|
-
UPDATE tasks SET status = 'completed', completed_at = unixepoch() WHERE id = ?
|
|
73
|
-
`).run(taskId);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return {
|
|
77
|
-
ok: true,
|
|
78
|
-
taskId,
|
|
79
|
-
allPassed,
|
|
80
|
-
passedCount,
|
|
81
|
-
totalCriteria: criteria.length,
|
|
82
|
-
evaluations,
|
|
83
|
-
autoUpdated: autoUpdate && allPassed,
|
|
84
|
-
};
|
|
85
|
-
} catch (error) {
|
|
86
|
-
log.error(`Failed to evaluate task: ${(error as Error).message}`);
|
|
87
|
-
return {
|
|
88
|
-
ok: false,
|
|
89
|
-
error: `Failed to evaluate task: ${(error as Error).message}`,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
};
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* task_update - Update task status
|
|
3
|
-
*
|
|
4
|
-
* @category projects
|
|
5
|
-
* @seedId task_update
|
|
6
|
-
* @spanish actualizar tarea, marcar completa, en progreso
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { Tool } from "../types.ts";
|
|
10
|
-
import { getDb } from "../../storage/sqlite.ts";
|
|
11
|
-
import { logger } from "../../utils/logger.ts";
|
|
12
|
-
|
|
13
|
-
const log = logger.child("task-update");
|
|
14
|
-
|
|
15
|
-
export const taskUpdateTool: Tool = {
|
|
16
|
-
name: "task_update",
|
|
17
|
-
description: "Update task status (pending, in_progress, done). Spanish: actualizar tarea, marcar completa, en progreso",
|
|
18
|
-
parameters: {
|
|
19
|
-
type: "object",
|
|
20
|
-
properties: {
|
|
21
|
-
task_id: {
|
|
22
|
-
type: "number",
|
|
23
|
-
description: "ID numérico de la tarea",
|
|
24
|
-
},
|
|
25
|
-
status: {
|
|
26
|
-
type: "string",
|
|
27
|
-
enum: ["pending", "in_progress", "completed", "failed", "blocked"],
|
|
28
|
-
description: "Nuevo estado de la tarea",
|
|
29
|
-
},
|
|
30
|
-
progress: {
|
|
31
|
-
type: "number",
|
|
32
|
-
description: "Progreso de la tarea (0-100)",
|
|
33
|
-
},
|
|
34
|
-
result: {
|
|
35
|
-
type: "string",
|
|
36
|
-
description: "Resultado o output de la tarea",
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
required: ["task_id"],
|
|
40
|
-
},
|
|
41
|
-
execute: async (params: Record<string, unknown>) => {
|
|
42
|
-
const db = getDb();
|
|
43
|
-
const taskId = params.task_id as number;
|
|
44
|
-
const status = params.status as string | undefined;
|
|
45
|
-
const progress = params.progress as number | undefined;
|
|
46
|
-
const result = params.result as string | undefined;
|
|
47
|
-
|
|
48
|
-
try {
|
|
49
|
-
log.info(`Updating task ${taskId}`);
|
|
50
|
-
|
|
51
|
-
const updates: string[] = [];
|
|
52
|
-
const values: any[] = [];
|
|
53
|
-
|
|
54
|
-
if (status !== undefined) {
|
|
55
|
-
updates.push("status = ?");
|
|
56
|
-
values.push(status);
|
|
57
|
-
}
|
|
58
|
-
if (progress !== undefined) {
|
|
59
|
-
updates.push("progress = ?");
|
|
60
|
-
values.push(progress);
|
|
61
|
-
}
|
|
62
|
-
if (result !== undefined) {
|
|
63
|
-
updates.push("result = ?");
|
|
64
|
-
values.push(result);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
updates.push("updated_at = unixepoch()");
|
|
68
|
-
values.push(taskId);
|
|
69
|
-
|
|
70
|
-
const query = `UPDATE tasks SET ${updates.join(", ")} WHERE id = ?`;
|
|
71
|
-
const updateResult = db.query(query).run(...values);
|
|
72
|
-
|
|
73
|
-
if (updateResult.changes === 0) {
|
|
74
|
-
return {
|
|
75
|
-
ok: false,
|
|
76
|
-
error: `Task not found: ${taskId}`,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
return {
|
|
81
|
-
ok: true,
|
|
82
|
-
taskId,
|
|
83
|
-
message: `Task ${taskId} updated.`,
|
|
84
|
-
};
|
|
85
|
-
} catch (error) {
|
|
86
|
-
log.error(`Failed to update task: ${(error as Error).message}`);
|
|
87
|
-
return {
|
|
88
|
-
ok: false,
|
|
89
|
-
error: `Failed to update task: ${(error as Error).message}`,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
};
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* search_knowledge - Busca herramientas, habilidades y reglas en la base de conocimientos
|
|
3
|
-
*
|
|
4
|
-
* Esta es la herramienta NATIVA principal del agente - funciona incluso si el selector de herramientas falla
|
|
5
|
-
* Usa búsqueda FTS5 para encontrar tools, skills y reglas del playbook
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { getDb } from "../storage/sqlite";
|
|
9
|
-
import { logger } from "../utils/logger";
|
|
10
|
-
import type { ToolResult } from "./types";
|
|
11
|
-
|
|
12
|
-
const log = logger.child("search-knowledge");
|
|
13
|
-
|
|
14
|
-
export interface SearchKnowledgeParams {
|
|
15
|
-
query: string;
|
|
16
|
-
type?: "all" | "tools" | "skills" | "playbook";
|
|
17
|
-
limit?: number;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface SearchKnowledgeResult {
|
|
21
|
-
query: string;
|
|
22
|
-
type: string;
|
|
23
|
-
tools: Array<{
|
|
24
|
-
id: string;
|
|
25
|
-
name: string;
|
|
26
|
-
description: string;
|
|
27
|
-
category: string;
|
|
28
|
-
enabled: number;
|
|
29
|
-
active: number;
|
|
30
|
-
rank: number;
|
|
31
|
-
}>;
|
|
32
|
-
skills: Array<{
|
|
33
|
-
id: string;
|
|
34
|
-
name: string;
|
|
35
|
-
category: string;
|
|
36
|
-
tools: string;
|
|
37
|
-
triggers: string;
|
|
38
|
-
body: string;
|
|
39
|
-
version: number;
|
|
40
|
-
active: number;
|
|
41
|
-
rank: number;
|
|
42
|
-
}>;
|
|
43
|
-
playbook: Array<{
|
|
44
|
-
id: number;
|
|
45
|
-
rule: string;
|
|
46
|
-
category: string;
|
|
47
|
-
applicable_to: any;
|
|
48
|
-
helpful_count: number;
|
|
49
|
-
harmful_count: number;
|
|
50
|
-
active: boolean;
|
|
51
|
-
rank: number;
|
|
52
|
-
}>;
|
|
53
|
-
totalResults: number;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Función de búsqueda directa - usada por el agente nativamente y tests
|
|
58
|
-
*/
|
|
59
|
-
export async function searchKnowledge(params: SearchKnowledgeParams): Promise<ToolResult> {
|
|
60
|
-
const db = getDb();
|
|
61
|
-
const query = params.query;
|
|
62
|
-
const type = params.type ?? "all";
|
|
63
|
-
const limit = params.limit ?? 10;
|
|
64
|
-
|
|
65
|
-
try {
|
|
66
|
-
const escapedQuery = query.replace(/'/g, "''");
|
|
67
|
-
const normalizedQuery = escapedQuery.replace(/_/g, " ").trim();
|
|
68
|
-
const ftsMatch = normalizedQuery.includes(" ")
|
|
69
|
-
? `"${normalizedQuery}"`
|
|
70
|
-
: `"${normalizedQuery}" OR ${normalizedQuery}*`;
|
|
71
|
-
|
|
72
|
-
const result: SearchKnowledgeResult = { query, type, tools: [], skills: [], playbook: [], totalResults: 0 };
|
|
73
|
-
|
|
74
|
-
// Search tools
|
|
75
|
-
if (type === "all" || type === "tools") {
|
|
76
|
-
const tools = db.query(`
|
|
77
|
-
SELECT t.id, t.name, t.description, t.category, t.enabled, t.active, bm25(tools_fts) as rank
|
|
78
|
-
FROM tools_fts
|
|
79
|
-
LEFT JOIN tools t ON t.name = tools_fts.name
|
|
80
|
-
WHERE tools_fts MATCH ?
|
|
81
|
-
ORDER BY rank
|
|
82
|
-
LIMIT ?
|
|
83
|
-
`).all(ftsMatch, limit) as any[];
|
|
84
|
-
|
|
85
|
-
result.tools = tools.map((t) => ({
|
|
86
|
-
id: t.id,
|
|
87
|
-
name: t.name,
|
|
88
|
-
description: t.description,
|
|
89
|
-
category: t.category,
|
|
90
|
-
enabled: t.enabled,
|
|
91
|
-
active: t.active,
|
|
92
|
-
rank: t.rank,
|
|
93
|
-
}));
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// Search skills
|
|
97
|
-
if (type === "all" || type === "skills") {
|
|
98
|
-
const skills = db.query(`
|
|
99
|
-
SELECT s.id, s.name, s.category, s.tools, s.triggers, s.body, s.version, s.active, bm25(skills_fts) as rank
|
|
100
|
-
FROM skills_fts
|
|
101
|
-
JOIN skills s ON s.id = skills_fts.id
|
|
102
|
-
WHERE skills_fts MATCH ?
|
|
103
|
-
ORDER BY rank
|
|
104
|
-
LIMIT ?
|
|
105
|
-
`).all(ftsMatch, limit) as any[];
|
|
106
|
-
|
|
107
|
-
result.skills = skills.map((s) => ({
|
|
108
|
-
id: s.id,
|
|
109
|
-
name: s.name,
|
|
110
|
-
category: s.category,
|
|
111
|
-
tools: s.tools,
|
|
112
|
-
triggers: s.triggers,
|
|
113
|
-
body: s.body,
|
|
114
|
-
version: s.version,
|
|
115
|
-
active: s.active,
|
|
116
|
-
rank: s.rank,
|
|
117
|
-
}));
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
// Search playbook
|
|
121
|
-
if (type === "all" || type === "playbook") {
|
|
122
|
-
const playbook = db.query(`
|
|
123
|
-
SELECT p.id, p.rule, p.category, p.applicable_to, p.helpful_count, p.harmful_count, p.active, bm25(playbook_fts) as rank
|
|
124
|
-
FROM playbook_fts
|
|
125
|
-
JOIN playbook p ON p.id = playbook_fts.rowid
|
|
126
|
-
WHERE playbook_fts MATCH ?
|
|
127
|
-
ORDER BY rank
|
|
128
|
-
LIMIT ?
|
|
129
|
-
`).all(ftsMatch, limit) as any[];
|
|
130
|
-
|
|
131
|
-
result.playbook = playbook.map((p) => ({
|
|
132
|
-
id: p.id,
|
|
133
|
-
rule: p.rule,
|
|
134
|
-
category: p.category,
|
|
135
|
-
applicable_to: p.applicable_to ? JSON.parse(p.applicable_to) : null,
|
|
136
|
-
helpful_count: p.helpful_count,
|
|
137
|
-
harmful_count: p.harmful_count,
|
|
138
|
-
active: p.active === 1,
|
|
139
|
-
rank: p.rank,
|
|
140
|
-
}));
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
result.totalResults = result.tools.length + result.skills.length + result.playbook.length;
|
|
144
|
-
|
|
145
|
-
log.info(`Search "${query}" found ${result.totalResults} results (tools: ${result.tools.length}, skills: ${result.skills.length}, playbook: ${result.playbook.length})`);
|
|
146
|
-
|
|
147
|
-
return { ok: true, ...result };
|
|
148
|
-
} catch (error) {
|
|
149
|
-
log.error(`Search failed: ${(error as Error).message}`);
|
|
150
|
-
return {
|
|
151
|
-
ok: false,
|
|
152
|
-
error: `Search failed: ${(error as Error).message}`,
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tool Type Definitions
|
|
3
|
-
* Shared across all tool categories
|
|
4
|
-
*
|
|
5
|
-
* These types are used by all 52 native tools in Hive
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
export interface Tool {
|
|
9
|
-
name: string;
|
|
10
|
-
description: string;
|
|
11
|
-
parameters: {
|
|
12
|
-
type: "object";
|
|
13
|
-
properties: Record<string, ToolParameter>;
|
|
14
|
-
required?: string[];
|
|
15
|
-
};
|
|
16
|
-
execute: (
|
|
17
|
-
params: Record<string, unknown>,
|
|
18
|
-
config?: any
|
|
19
|
-
) => Promise<string | object>;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface ToolParameter {
|
|
23
|
-
type: string;
|
|
24
|
-
description?: string;
|
|
25
|
-
enum?: string[];
|
|
26
|
-
items?: ToolParameter;
|
|
27
|
-
properties?: Record<string, ToolParameter>;
|
|
28
|
-
required?: string[];
|
|
29
|
-
minimum?: number;
|
|
30
|
-
maximum?: number;
|
|
31
|
-
additionalProperties?: boolean | ToolParameter;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export interface ToolResult {
|
|
35
|
-
ok: boolean;
|
|
36
|
-
result?: any;
|
|
37
|
-
error?: string;
|
|
38
|
-
hint?: string;
|
|
39
|
-
}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Voice Tools - 2 tools
|
|
3
|
-
*
|
|
4
|
-
* @category voice
|
|
5
|
-
*/
|
|
6
|
-
import type { Tool } from "../types.ts";
|
|
7
|
-
import { logger } from "../../utils/logger.ts";
|
|
8
|
-
|
|
9
|
-
const log = logger.child("voice");
|
|
10
|
-
|
|
11
|
-
// ─── voice_transcribe ────────────────────────────────────────────────────────
|
|
12
|
-
|
|
13
|
-
export const voiceTranscribeTool: Tool = {
|
|
14
|
-
name: "voice_transcribe",
|
|
15
|
-
description: "Transcribe audio input to text. Spanish: transcribir audio, voz a texto, reconocimiento de voz",
|
|
16
|
-
parameters: {
|
|
17
|
-
type: "object",
|
|
18
|
-
properties: {
|
|
19
|
-
audio: {
|
|
20
|
-
type: "string",
|
|
21
|
-
description: "Audio file path or base64 encoded audio",
|
|
22
|
-
},
|
|
23
|
-
language: {
|
|
24
|
-
type: "string",
|
|
25
|
-
description: "Language code (e.g., 'es', 'en'). Auto-detect if not specified.",
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
required: ["audio"],
|
|
29
|
-
},
|
|
30
|
-
execute: async (params: Record<string, unknown>) => {
|
|
31
|
-
const audio = params.audio as string;
|
|
32
|
-
const language = (params.language as string) ?? "auto";
|
|
33
|
-
|
|
34
|
-
log.info(`Transcribing audio: ${audio.substring(0, 50)}...`);
|
|
35
|
-
|
|
36
|
-
try {
|
|
37
|
-
// Placeholder implementation - real transcription would call STT API
|
|
38
|
-
return {
|
|
39
|
-
ok: true,
|
|
40
|
-
transcription: "[Transcription requires STT provider configuration]",
|
|
41
|
-
language: language,
|
|
42
|
-
duration: 0,
|
|
43
|
-
confidence: 0,
|
|
44
|
-
};
|
|
45
|
-
} catch (error) {
|
|
46
|
-
return {
|
|
47
|
-
ok: false,
|
|
48
|
-
error: `Failed to transcribe: ${(error as Error).message}`,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
// ─── voice_speak ─────────────────────────────────────────────────────────────
|
|
55
|
-
|
|
56
|
-
export const voiceSpeakTool: Tool = {
|
|
57
|
-
name: "voice_speak",
|
|
58
|
-
description: "Convert text to synthesized speech output. Spanish: texto a voz, sintetizar, hablar, leer en voz alta",
|
|
59
|
-
parameters: {
|
|
60
|
-
type: "object",
|
|
61
|
-
properties: {
|
|
62
|
-
text: {
|
|
63
|
-
type: "string",
|
|
64
|
-
description: "Text to convert to speech",
|
|
65
|
-
},
|
|
66
|
-
voice_id: {
|
|
67
|
-
type: "string",
|
|
68
|
-
description: "Voice ID to use (provider-specific)",
|
|
69
|
-
},
|
|
70
|
-
language: {
|
|
71
|
-
type: "string",
|
|
72
|
-
description: "Language code (e.g., 'es', 'en')",
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
required: ["text"],
|
|
76
|
-
},
|
|
77
|
-
execute: async (params: Record<string, unknown>) => {
|
|
78
|
-
const text = params.text as string;
|
|
79
|
-
const voiceId = (params.voice_id as string) ?? "default";
|
|
80
|
-
const language = (params.language as string) ?? "es";
|
|
81
|
-
|
|
82
|
-
log.info(`Synthesizing speech: ${text.substring(0, 50)}...`);
|
|
83
|
-
|
|
84
|
-
try {
|
|
85
|
-
// Placeholder implementation - real TTS would call TTS API
|
|
86
|
-
return {
|
|
87
|
-
ok: true,
|
|
88
|
-
audio_url: "[TTS requires provider configuration]",
|
|
89
|
-
voice_id: voiceId,
|
|
90
|
-
language: language,
|
|
91
|
-
duration: 0,
|
|
92
|
-
};
|
|
93
|
-
} catch (error) {
|
|
94
|
-
return {
|
|
95
|
-
ok: false,
|
|
96
|
-
error: `Failed to synthesize speech: ${(error as Error).message}`,
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
export function createTools(): Tool[] {
|
|
103
|
-
return [voiceTranscribeTool, voiceSpeakTool];
|
|
104
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* browser_click - Click on a web page element
|
|
3
|
-
*
|
|
4
|
-
* @category web
|
|
5
|
-
* @seedId browser_click
|
|
6
|
-
* @spanish hacer clic, botón, enlace, interactuar
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { Tool } from "../types.ts";
|
|
10
|
-
import { logger } from "../../utils/logger.ts";
|
|
11
|
-
|
|
12
|
-
const log = logger.child("browser-click");
|
|
13
|
-
|
|
14
|
-
export const browserClickTool: Tool = {
|
|
15
|
-
name: "browser_click",
|
|
16
|
-
description: "Click on a web page element. Spanish: hacer clic, botón, enlace, interactuar",
|
|
17
|
-
parameters: {
|
|
18
|
-
type: "object",
|
|
19
|
-
properties: {
|
|
20
|
-
selector: {
|
|
21
|
-
type: "string",
|
|
22
|
-
description: "CSS selector of the element to click",
|
|
23
|
-
},
|
|
24
|
-
url: {
|
|
25
|
-
type: "string",
|
|
26
|
-
description: "URL of the page (if not already navigated)",
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
required: ["selector"],
|
|
30
|
-
},
|
|
31
|
-
execute: async (params: Record<string, unknown>) => {
|
|
32
|
-
const selector = params.selector as string;
|
|
33
|
-
const url = params.url as string | undefined;
|
|
34
|
-
|
|
35
|
-
log.info(`Clicking: ${selector}${url ? ` on ${url}` : ""}`);
|
|
36
|
-
|
|
37
|
-
try {
|
|
38
|
-
// Note: Real click would require Puppeteer/Playwright
|
|
39
|
-
// This is a placeholder implementation
|
|
40
|
-
return {
|
|
41
|
-
ok: true,
|
|
42
|
-
message: "Click functionality requires browser automation (Puppeteer/Playwright)",
|
|
43
|
-
selector,
|
|
44
|
-
url,
|
|
45
|
-
};
|
|
46
|
-
} catch (error) {
|
|
47
|
-
log.error(`Click failed: ${(error as Error).message}`);
|
|
48
|
-
return {
|
|
49
|
-
ok: false,
|
|
50
|
-
error: `Failed to click: ${(error as Error).message}`,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* browser_navigate - Navigate to URL and get rendered content
|
|
3
|
-
*
|
|
4
|
-
* @category web
|
|
5
|
-
* @seedId browser_navigate
|
|
6
|
-
* @spanish navegar a url, abrir página, sitio web
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { Tool } from "../types.ts";
|
|
10
|
-
import { logger } from "../../utils/logger.ts";
|
|
11
|
-
|
|
12
|
-
const log = logger.child("browser-navigate");
|
|
13
|
-
|
|
14
|
-
export const browserNavigateTool: Tool = {
|
|
15
|
-
name: "browser_navigate",
|
|
16
|
-
description: "Navigate browser to URL, get rendered page content (supports JS). Spanish: navegar a url, abrir página, sitio web",
|
|
17
|
-
parameters: {
|
|
18
|
-
type: "object",
|
|
19
|
-
properties: {
|
|
20
|
-
url: {
|
|
21
|
-
type: "string",
|
|
22
|
-
description: "The URL to navigate to",
|
|
23
|
-
},
|
|
24
|
-
waitFor: {
|
|
25
|
-
type: "string",
|
|
26
|
-
description: "CSS selector to wait for before returning (optional)",
|
|
27
|
-
},
|
|
28
|
-
timeout: {
|
|
29
|
-
type: "number",
|
|
30
|
-
description: "Timeout in milliseconds (default: 30000)",
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
required: ["url"],
|
|
34
|
-
},
|
|
35
|
-
execute: async (params: Record<string, unknown>) => {
|
|
36
|
-
const url = params.url as string;
|
|
37
|
-
const timeout = (params.timeout as number) ?? 30000;
|
|
38
|
-
|
|
39
|
-
log.info(`Navigating: ${url}`);
|
|
40
|
-
|
|
41
|
-
try {
|
|
42
|
-
// Use fetch with longer timeout for now
|
|
43
|
-
// In a real implementation, this would use Puppeteer/Playwright
|
|
44
|
-
const controller = new AbortController();
|
|
45
|
-
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
46
|
-
|
|
47
|
-
const response = await fetch(url, {
|
|
48
|
-
signal: controller.signal,
|
|
49
|
-
headers: {
|
|
50
|
-
"User-Agent": "Mozilla/5.0 (compatible; HiveBot/1.0)",
|
|
51
|
-
},
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
clearTimeout(timeoutId);
|
|
55
|
-
|
|
56
|
-
if (!response.ok) {
|
|
57
|
-
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const content = await response.text();
|
|
61
|
-
const simplified = content
|
|
62
|
-
.replace(/<script[^>]*>[\s\S]*?<\/script>/gi, "")
|
|
63
|
-
.replace(/<style[^>]*>[\s\S]*?<\/style>/gi, "")
|
|
64
|
-
.replace(/<[^>]+>/g, " ")
|
|
65
|
-
.replace(/\s+/g, " ")
|
|
66
|
-
.trim()
|
|
67
|
-
.slice(0, 50000);
|
|
68
|
-
|
|
69
|
-
return {
|
|
70
|
-
ok: true,
|
|
71
|
-
url,
|
|
72
|
-
finalUrl: response.url,
|
|
73
|
-
content: simplified,
|
|
74
|
-
length: simplified.length,
|
|
75
|
-
};
|
|
76
|
-
} catch (error) {
|
|
77
|
-
log.error(`Navigation failed: ${(error as Error).message}`);
|
|
78
|
-
return {
|
|
79
|
-
ok: false,
|
|
80
|
-
error: `Failed to navigate: ${(error as Error).message}`,
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* browser_screenshot - Take screenshot of current browser page
|
|
3
|
-
*
|
|
4
|
-
* @category web
|
|
5
|
-
* @seedId browser_screenshot
|
|
6
|
-
* @spanish captura de pantalla, screenshot, imagen de página
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { Tool } from "../types.ts";
|
|
10
|
-
import { logger } from "../../utils/logger.ts";
|
|
11
|
-
|
|
12
|
-
const log = logger.child("browser-screenshot");
|
|
13
|
-
|
|
14
|
-
export const browserScreenshotTool: Tool = {
|
|
15
|
-
name: "browser_screenshot",
|
|
16
|
-
description: "Take screenshot of current browser page. Spanish: captura de pantalla, screenshot, imagen de página",
|
|
17
|
-
parameters: {
|
|
18
|
-
type: "object",
|
|
19
|
-
properties: {
|
|
20
|
-
url: {
|
|
21
|
-
type: "string",
|
|
22
|
-
description: "URL to take screenshot of (if not already navigated)",
|
|
23
|
-
},
|
|
24
|
-
fullPage: {
|
|
25
|
-
type: "boolean",
|
|
26
|
-
description: "Capture full page height (default: false)",
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
required: [],
|
|
30
|
-
},
|
|
31
|
-
execute: async (params: Record<string, unknown>) => {
|
|
32
|
-
const url = params.url as string | undefined;
|
|
33
|
-
const fullPage = (params.fullPage as boolean) ?? false;
|
|
34
|
-
|
|
35
|
-
log.info(`Taking screenshot${url ? ` of: ${url}` : ""}`);
|
|
36
|
-
|
|
37
|
-
try {
|
|
38
|
-
// Note: Real screenshot would require Puppeteer/Playwright
|
|
39
|
-
// This is a placeholder implementation
|
|
40
|
-
return {
|
|
41
|
-
ok: true,
|
|
42
|
-
message: "Screenshot functionality requires browser automation (Puppeteer/Playwright)",
|
|
43
|
-
fullPage,
|
|
44
|
-
url: url || "current page",
|
|
45
|
-
};
|
|
46
|
-
} catch (error) {
|
|
47
|
-
log.error(`Screenshot failed: ${(error as Error).message}`);
|
|
48
|
-
return {
|
|
49
|
-
ok: false,
|
|
50
|
-
error: `Failed to take screenshot: ${(error as Error).message}`,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
};
|