@hailer/mcp 1.2.1 → 2.0.0-beta.10
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/.claude/agents/agent-hailer-helper.md +118 -0
- package/.claude/commands/debug-squad.md +13 -290
- package/.claude/commands/publish.md +2 -2
- package/.claude/commands/review-squad.md +17 -139
- package/.claude/skills/create-and-publish-app/SKILL.md +119 -148
- package/.claude/skills/hailer-app-builder/SKILL.md +24 -2
- package/.claude/skills/hailer-ui-guide/SKILL.md +265 -0
- package/.env.example +50 -1
- package/CLAUDE.md +141 -10
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +3 -0
- package/dist/app.js.map +1 -1
- package/dist/bot/bot-manager.d.ts +9 -6
- package/dist/bot/bot-manager.d.ts.map +1 -1
- package/dist/bot/bot-manager.js +142 -31
- package/dist/bot/bot-manager.js.map +1 -1
- package/dist/bot/bot.d.ts +59 -16
- package/dist/bot/bot.d.ts.map +1 -1
- package/dist/bot/bot.js +889 -142
- package/dist/bot/bot.js.map +1 -1
- package/dist/bot/operation-logger.d.ts.map +1 -1
- package/dist/bot/operation-logger.js +24 -12
- package/dist/bot/operation-logger.js.map +1 -1
- package/dist/bot/services/bot-permissions.d.ts +2 -2
- package/dist/bot/services/bot-permissions.d.ts.map +1 -1
- package/dist/bot/services/bot-permissions.js +28 -9
- package/dist/bot/services/bot-permissions.js.map +1 -1
- package/dist/bot/services/conversation-manager.d.ts +23 -23
- package/dist/bot/services/conversation-manager.d.ts.map +1 -1
- package/dist/bot/services/conversation-manager.js +52 -49
- package/dist/bot/services/conversation-manager.js.map +1 -1
- package/dist/bot/services/helper-prompt.d.ts +8 -0
- package/dist/bot/services/helper-prompt.d.ts.map +1 -0
- package/dist/bot/services/helper-prompt.js +177 -0
- package/dist/bot/services/helper-prompt.js.map +1 -0
- package/dist/bot/services/message-classifier.d.ts +16 -16
- package/dist/bot/services/message-classifier.d.ts.map +1 -1
- package/dist/bot/services/message-classifier.js +55 -49
- package/dist/bot/services/message-classifier.js.map +1 -1
- package/dist/bot/services/message-formatter.d.ts +38 -38
- package/dist/bot/services/message-formatter.d.ts.map +1 -1
- package/dist/bot/services/message-formatter.js +81 -74
- package/dist/bot/services/message-formatter.js.map +1 -1
- package/dist/bot/services/permission-guard.d.ts.map +1 -1
- package/dist/bot/services/permission-guard.js +20 -10
- package/dist/bot/services/permission-guard.js.map +1 -1
- package/dist/bot/services/signal-router.d.ts.map +1 -1
- package/dist/bot/services/signal-router.js +11 -6
- package/dist/bot/services/signal-router.js.map +1 -1
- package/dist/bot/services/system-prompt.d.ts +14 -0
- package/dist/bot/services/system-prompt.d.ts.map +1 -1
- package/dist/bot/services/system-prompt.js +179 -4
- package/dist/bot/services/system-prompt.js.map +1 -1
- package/dist/bot/services/token-billing.d.ts +23 -23
- package/dist/bot/services/token-billing.d.ts.map +1 -1
- package/dist/bot/services/token-billing.js +51 -36
- package/dist/bot/services/token-billing.js.map +1 -1
- package/dist/bot/services/types.d.ts +3 -1
- package/dist/bot/services/types.d.ts.map +1 -1
- package/dist/bot/services/typing-indicator.d.ts +8 -8
- package/dist/bot/services/typing-indicator.d.ts.map +1 -1
- package/dist/bot/services/typing-indicator.js +12 -10
- package/dist/bot/services/typing-indicator.js.map +1 -1
- package/dist/bot/services/workspace-refresh.d.ts +3 -3
- package/dist/bot/services/workspace-refresh.d.ts.map +1 -1
- package/dist/bot/services/workspace-refresh.js +23 -13
- package/dist/bot/services/workspace-refresh.js.map +1 -1
- package/dist/bot/tool-executor.d.ts +10 -6
- package/dist/bot/tool-executor.d.ts.map +1 -1
- package/dist/bot/tool-executor.js +12 -6
- package/dist/bot/tool-executor.js.map +1 -1
- package/dist/bot/workspace-overview.d.ts.map +1 -1
- package/dist/bot/workspace-overview.js +6 -3
- package/dist/bot/workspace-overview.js.map +1 -1
- package/dist/bot-config/activity-error.d.ts +47 -0
- package/dist/bot-config/activity-error.d.ts.map +1 -0
- package/dist/bot-config/activity-error.js +67 -0
- package/dist/bot-config/activity-error.js.map +1 -0
- package/dist/bot-config/context.d.ts +4 -4
- package/dist/bot-config/context.d.ts.map +1 -1
- package/dist/bot-config/context.js +18 -14
- package/dist/bot-config/context.js.map +1 -1
- package/dist/bot-config/events.d.ts +45 -0
- package/dist/bot-config/events.d.ts.map +1 -0
- package/dist/bot-config/events.js +51 -0
- package/dist/bot-config/events.js.map +1 -0
- package/dist/bot-config/index.d.ts +3 -0
- package/dist/bot-config/index.d.ts.map +1 -1
- package/dist/bot-config/index.js +8 -1
- package/dist/bot-config/index.js.map +1 -1
- package/dist/bot-config/loader.d.ts +3 -0
- package/dist/bot-config/loader.d.ts.map +1 -1
- package/dist/bot-config/loader.js +45 -20
- package/dist/bot-config/loader.js.map +1 -1
- package/dist/bot-config/persistence.js.map +1 -1
- package/dist/bot-config/reconciler.d.ts +11 -0
- package/dist/bot-config/reconciler.d.ts.map +1 -0
- package/dist/bot-config/reconciler.js +121 -0
- package/dist/bot-config/reconciler.js.map +1 -0
- package/dist/bot-config/state.d.ts.map +1 -1
- package/dist/bot-config/state.js.map +1 -1
- package/dist/bot-config/types.d.ts +32 -0
- package/dist/bot-config/types.d.ts.map +1 -1
- package/dist/bot-config/webhooks.d.ts.map +1 -1
- package/dist/bot-config/webhooks.js.map +1 -1
- package/dist/bot-config/workflow-installer.d.ts +37 -0
- package/dist/bot-config/workflow-installer.d.ts.map +1 -0
- package/dist/bot-config/workflow-installer.js +346 -0
- package/dist/bot-config/workflow-installer.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +54 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +23 -19
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +65 -27
- package/dist/config.js.map +1 -1
- package/dist/core.d.ts +6 -4
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +11 -16
- package/dist/core.js.map +1 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +7 -4
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/request-logger.d.ts +19 -19
- package/dist/lib/request-logger.d.ts.map +1 -1
- package/dist/lib/request-logger.js +19 -19
- package/dist/lib/request-logger.js.map +1 -1
- package/dist/mcp/UserContextCache.d.ts +28 -22
- package/dist/mcp/UserContextCache.d.ts.map +1 -1
- package/dist/mcp/UserContextCache.js +23 -23
- package/dist/mcp/UserContextCache.js.map +1 -1
- package/dist/mcp/auth.js.map +1 -1
- package/dist/mcp/hailer-clients.d.ts +5 -4
- package/dist/mcp/hailer-clients.d.ts.map +1 -1
- package/dist/mcp/hailer-clients.js +61 -27
- package/dist/mcp/hailer-clients.js.map +1 -1
- package/dist/mcp/hailer-rpc.d.ts +40 -0
- package/dist/mcp/hailer-rpc.d.ts.map +1 -0
- package/dist/mcp/hailer-rpc.js +43 -0
- package/dist/mcp/hailer-rpc.js.map +1 -0
- package/dist/mcp/publish-auth-injector.d.ts +22 -0
- package/dist/mcp/publish-auth-injector.d.ts.map +1 -0
- package/dist/mcp/publish-auth-injector.js +100 -0
- package/dist/mcp/publish-auth-injector.js.map +1 -0
- package/dist/mcp/session-store.d.ts +16 -16
- package/dist/mcp/session-store.d.ts.map +1 -1
- package/dist/mcp/session-store.js +16 -16
- package/dist/mcp/session-store.js.map +1 -1
- package/dist/mcp/tool-profiles.d.ts +69 -0
- package/dist/mcp/tool-profiles.d.ts.map +1 -0
- package/dist/mcp/tool-profiles.js +176 -0
- package/dist/mcp/tool-profiles.js.map +1 -0
- package/dist/mcp/tool-registry.d.ts +16 -0
- package/dist/mcp/tool-registry.d.ts.map +1 -1
- package/dist/mcp/tool-registry.js +91 -39
- package/dist/mcp/tool-registry.js.map +1 -1
- package/dist/mcp/tools/activity.d.ts.map +1 -1
- package/dist/mcp/tools/activity.js +398 -198
- package/dist/mcp/tools/activity.js.map +1 -1
- package/dist/mcp/tools/aliases.d.ts +11 -0
- package/dist/mcp/tools/aliases.d.ts.map +1 -0
- package/dist/mcp/tools/aliases.js +176 -0
- package/dist/mcp/tools/aliases.js.map +1 -0
- package/dist/mcp/tools/app-core.d.ts +6 -8
- package/dist/mcp/tools/app-core.d.ts.map +1 -1
- package/dist/mcp/tools/app-core.js +355 -254
- package/dist/mcp/tools/app-core.js.map +1 -1
- package/dist/mcp/tools/app-marketplace.d.ts +8 -16
- package/dist/mcp/tools/app-marketplace.d.ts.map +1 -1
- package/dist/mcp/tools/app-marketplace.js +604 -930
- package/dist/mcp/tools/app-marketplace.js.map +1 -1
- package/dist/mcp/tools/app.d.ts +4 -7
- package/dist/mcp/tools/app.d.ts.map +1 -1
- package/dist/mcp/tools/app.js +4 -7
- package/dist/mcp/tools/app.js.map +1 -1
- package/dist/mcp/tools/bot-self.d.ts +21 -0
- package/dist/mcp/tools/bot-self.d.ts.map +1 -0
- package/dist/mcp/tools/bot-self.js +174 -0
- package/dist/mcp/tools/bot-self.js.map +1 -0
- package/dist/mcp/tools/calendar.d.ts +21 -0
- package/dist/mcp/tools/calendar.d.ts.map +1 -0
- package/dist/mcp/tools/calendar.js +741 -0
- package/dist/mcp/tools/calendar.js.map +1 -0
- package/dist/mcp/tools/company.d.ts.map +1 -1
- package/dist/mcp/tools/company.js +2 -1
- package/dist/mcp/tools/company.js.map +1 -1
- package/dist/mcp/tools/date.js.map +1 -1
- package/dist/mcp/tools/discussion.d.ts +23 -3
- package/dist/mcp/tools/discussion.d.ts.map +1 -1
- package/dist/mcp/tools/discussion.js +417 -534
- package/dist/mcp/tools/discussion.js.map +1 -1
- package/dist/mcp/tools/file.d.ts.map +1 -1
- package/dist/mcp/tools/file.js +18 -16
- package/dist/mcp/tools/file.js.map +1 -1
- package/dist/mcp/tools/index.js +4 -4
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/insight.d.ts +7 -5
- package/dist/mcp/tools/insight.d.ts.map +1 -1
- package/dist/mcp/tools/insight.js +419 -477
- package/dist/mcp/tools/insight.js.map +1 -1
- package/dist/mcp/tools/user.d.ts.map +1 -1
- package/dist/mcp/tools/user.js +15 -13
- package/dist/mcp/tools/user.js.map +1 -1
- package/dist/mcp/tools/workflow-permissions.d.ts +2 -4
- package/dist/mcp/tools/workflow-permissions.d.ts.map +1 -1
- package/dist/mcp/tools/workflow-permissions.js +88 -97
- package/dist/mcp/tools/workflow-permissions.js.map +1 -1
- package/dist/mcp/tools/workflow.d.ts +2 -7
- package/dist/mcp/tools/workflow.d.ts.map +1 -1
- package/dist/mcp/tools/workflow.js +817 -850
- package/dist/mcp/tools/workflow.js.map +1 -1
- package/dist/mcp/utils/api-errors.d.ts.map +1 -1
- package/dist/mcp/utils/api-errors.js +2 -2
- package/dist/mcp/utils/api-errors.js.map +1 -1
- package/dist/mcp/utils/data-transformers.d.ts.map +1 -1
- package/dist/mcp/utils/data-transformers.js +8 -4
- package/dist/mcp/utils/data-transformers.js.map +1 -1
- package/dist/mcp/utils/file-upload.d.ts.map +1 -1
- package/dist/mcp/utils/file-upload.js +1 -1
- package/dist/mcp/utils/file-upload.js.map +1 -1
- package/dist/mcp/utils/hailer-api-client.d.ts +81 -81
- package/dist/mcp/utils/hailer-api-client.d.ts.map +1 -1
- package/dist/mcp/utils/hailer-api-client.js +103 -101
- package/dist/mcp/utils/hailer-api-client.js.map +1 -1
- package/dist/mcp/utils/index.d.ts.map +1 -1
- package/dist/mcp/utils/index.js.map +1 -1
- package/dist/mcp/utils/logger.d.ts.map +1 -1
- package/dist/mcp/utils/logger.js.map +1 -1
- package/dist/mcp/utils/response-builder.d.ts.map +1 -1
- package/dist/mcp/utils/response-builder.js +8 -4
- package/dist/mcp/utils/response-builder.js.map +1 -1
- package/dist/mcp/utils/role-utils.d.ts.map +1 -1
- package/dist/mcp/utils/role-utils.js +6 -3
- package/dist/mcp/utils/role-utils.js.map +1 -1
- package/dist/mcp/utils/tool-helpers.d.ts.map +1 -1
- package/dist/mcp/utils/tool-helpers.js +2 -2
- package/dist/mcp/utils/tool-helpers.js.map +1 -1
- package/dist/mcp/utils/types.d.ts +1 -1
- package/dist/mcp/utils/types.d.ts.map +1 -1
- package/dist/mcp/utils/types.js.map +1 -1
- package/dist/mcp/webhook-handler.d.ts +43 -8
- package/dist/mcp/webhook-handler.d.ts.map +1 -1
- package/dist/mcp/webhook-handler.js +861 -116
- package/dist/mcp/webhook-handler.js.map +1 -1
- package/dist/mcp/workspace-admin-store.d.ts +49 -0
- package/dist/mcp/workspace-admin-store.d.ts.map +1 -0
- package/dist/mcp/workspace-admin-store.js +168 -0
- package/dist/mcp/workspace-admin-store.js.map +1 -0
- package/dist/mcp/workspace-cache.d.ts +2 -2
- package/dist/mcp/workspace-cache.d.ts.map +1 -1
- package/dist/mcp/workspace-cache.js +9 -5
- package/dist/mcp/workspace-cache.js.map +1 -1
- package/dist/mcp-server.d.ts +26 -11
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +360 -36
- package/dist/mcp-server.js.map +1 -1
- package/dist/plugins/vipunen/client.d.ts +41 -41
- package/dist/plugins/vipunen/client.d.ts.map +1 -1
- package/dist/plugins/vipunen/client.js +53 -48
- package/dist/plugins/vipunen/client.js.map +1 -1
- package/dist/plugins/vipunen/index.js.map +1 -1
- package/dist/plugins/vipunen/tools.d.ts.map +1 -1
- package/dist/plugins/vipunen/tools.js +6 -3
- package/dist/plugins/vipunen/tools.js.map +1 -1
- package/dist/public-chat/graduate.d.ts +29 -0
- package/dist/public-chat/graduate.d.ts.map +1 -0
- package/dist/public-chat/graduate.js +593 -0
- package/dist/public-chat/graduate.js.map +1 -0
- package/dist/public-chat/handler.d.ts +12 -0
- package/dist/public-chat/handler.d.ts.map +1 -0
- package/dist/public-chat/handler.js +179 -0
- package/dist/public-chat/handler.js.map +1 -0
- package/dist/public-chat/index.d.ts +16 -0
- package/dist/public-chat/index.d.ts.map +1 -0
- package/dist/public-chat/index.js +74 -0
- package/dist/public-chat/index.js.map +1 -0
- package/dist/public-chat/knowledge.d.ts +3 -0
- package/dist/public-chat/knowledge.d.ts.map +1 -0
- package/dist/public-chat/knowledge.js +1341 -0
- package/dist/public-chat/knowledge.js.map +1 -0
- package/dist/public-chat/rate-limit.d.ts +16 -0
- package/dist/public-chat/rate-limit.d.ts.map +1 -0
- package/dist/public-chat/rate-limit.js +51 -0
- package/dist/public-chat/rate-limit.js.map +1 -0
- package/dist/public-chat/session-store.d.ts +41 -0
- package/dist/public-chat/session-store.d.ts.map +1 -0
- package/dist/public-chat/session-store.js +95 -0
- package/dist/public-chat/session-store.js.map +1 -0
- package/dist/public-chat/studio-prewarm.d.ts +61 -0
- package/dist/public-chat/studio-prewarm.d.ts.map +1 -0
- package/dist/public-chat/studio-prewarm.js +162 -0
- package/dist/public-chat/studio-prewarm.js.map +1 -0
- package/dist/public-chat/system-prompt.d.ts +22 -0
- package/dist/public-chat/system-prompt.d.ts.map +1 -0
- package/dist/public-chat/system-prompt.js +428 -0
- package/dist/public-chat/system-prompt.js.map +1 -0
- package/package.json +14 -7
- package/scripts/build-public-chat-knowledge.py +101 -0
- package/scripts/probe-mcp-pricing.ts +52 -0
- package/scripts/smoke-public-chat-live.ts +148 -0
- package/scripts/smoke-public-chat.ts +110 -0
- package/.claude/CLAUDE.md +0 -126
- package/.claude/commands/app-squad.md +0 -131
- package/.claude/commands/audit-squad.md +0 -158
- package/.claude/commands/cleanup-squad.md +0 -98
- package/.claude/commands/config-squad.md +0 -106
- package/.claude/commands/crud-squad.md +0 -87
- package/.claude/commands/data-squad.md +0 -97
- package/.claude/commands/doc-squad.md +0 -65
- package/.claude/commands/help.md +0 -29
- package/.claude/commands/help:agents.md +0 -182
- package/.claude/commands/help:commands.md +0 -78
- package/.claude/commands/help:faq.md +0 -79
- package/.claude/commands/help:plugins.md +0 -50
- package/.claude/commands/help:skills.md +0 -87
- package/.claude/commands/help:tools.md +0 -75
- package/.claude/commands/hotfix-squad.md +0 -112
- package/.claude/commands/integration-squad.md +0 -82
- package/.claude/commands/janitor-squad.md +0 -167
- package/.claude/commands/onboard-squad.md +0 -130
- package/.claude/commands/swarm.md +0 -210
- package/.claude/commands/tool-builder.md +0 -39
- package/.claude/skills/publish-hailer-app/SKILL.md +0 -280
- package/dist/CLAUDE.md +0 -370
- package/dist/agents/bot-manager.d.ts +0 -48
- package/dist/agents/bot-manager.d.ts.map +0 -1
- package/dist/agents/bot-manager.js +0 -254
- package/dist/agents/bot-manager.js.map +0 -1
- package/dist/agents/bug-fixer/ai.d.ts +0 -80
- package/dist/agents/bug-fixer/ai.d.ts.map +0 -1
- package/dist/agents/bug-fixer/ai.js +0 -466
- package/dist/agents/bug-fixer/ai.js.map +0 -1
- package/dist/agents/bug-fixer/bot.d.ts +0 -92
- package/dist/agents/bug-fixer/bot.d.ts.map +0 -1
- package/dist/agents/bug-fixer/bot.js +0 -687
- package/dist/agents/bug-fixer/bot.js.map +0 -1
- package/dist/agents/bug-fixer/config.d.ts +0 -21
- package/dist/agents/bug-fixer/config.d.ts.map +0 -1
- package/dist/agents/bug-fixer/config.js +0 -218
- package/dist/agents/bug-fixer/config.js.map +0 -1
- package/dist/agents/bug-fixer/files.d.ts +0 -67
- package/dist/agents/bug-fixer/files.d.ts.map +0 -1
- package/dist/agents/bug-fixer/files.js +0 -386
- package/dist/agents/bug-fixer/files.js.map +0 -1
- package/dist/agents/bug-fixer/git.d.ts +0 -48
- package/dist/agents/bug-fixer/git.d.ts.map +0 -1
- package/dist/agents/bug-fixer/git.js +0 -298
- package/dist/agents/bug-fixer/git.js.map +0 -1
- package/dist/agents/bug-fixer/index.d.ts +0 -103
- package/dist/agents/bug-fixer/index.d.ts.map +0 -1
- package/dist/agents/bug-fixer/index.js +0 -262
- package/dist/agents/bug-fixer/index.js.map +0 -1
- package/dist/agents/bug-fixer/lsp.d.ts +0 -113
- package/dist/agents/bug-fixer/lsp.d.ts.map +0 -1
- package/dist/agents/bug-fixer/lsp.js +0 -485
- package/dist/agents/bug-fixer/lsp.js.map +0 -1
- package/dist/agents/bug-fixer/monitor.d.ts +0 -123
- package/dist/agents/bug-fixer/monitor.d.ts.map +0 -1
- package/dist/agents/bug-fixer/monitor.js +0 -629
- package/dist/agents/bug-fixer/monitor.js.map +0 -1
- package/dist/agents/bug-fixer/prompt.d.ts +0 -5
- package/dist/agents/bug-fixer/prompt.d.ts.map +0 -1
- package/dist/agents/bug-fixer/prompt.js +0 -94
- package/dist/agents/bug-fixer/prompt.js.map +0 -1
- package/dist/agents/bug-fixer/registries/pending-classification.d.ts +0 -28
- package/dist/agents/bug-fixer/registries/pending-classification.d.ts.map +0 -1
- package/dist/agents/bug-fixer/registries/pending-classification.js +0 -50
- package/dist/agents/bug-fixer/registries/pending-classification.js.map +0 -1
- package/dist/agents/bug-fixer/registries/pending-fix.d.ts +0 -33
- package/dist/agents/bug-fixer/registries/pending-fix.d.ts.map +0 -1
- package/dist/agents/bug-fixer/registries/pending-fix.js +0 -64
- package/dist/agents/bug-fixer/registries/pending-fix.js.map +0 -1
- package/dist/agents/bug-fixer/registries/pending.d.ts +0 -27
- package/dist/agents/bug-fixer/registries/pending.d.ts.map +0 -1
- package/dist/agents/bug-fixer/registries/pending.js +0 -49
- package/dist/agents/bug-fixer/registries/pending.js.map +0 -1
- package/dist/agents/bug-fixer/specialist-daemon.d.ts +0 -88
- package/dist/agents/bug-fixer/specialist-daemon.d.ts.map +0 -1
- package/dist/agents/bug-fixer/specialist-daemon.js +0 -431
- package/dist/agents/bug-fixer/specialist-daemon.js.map +0 -1
- package/dist/agents/bug-fixer/specialist.d.ts +0 -47
- package/dist/agents/bug-fixer/specialist.d.ts.map +0 -1
- package/dist/agents/bug-fixer/specialist.js +0 -327
- package/dist/agents/bug-fixer/specialist.js.map +0 -1
- package/dist/agents/bug-fixer/types.d.ts +0 -123
- package/dist/agents/bug-fixer/types.d.ts.map +0 -1
- package/dist/agents/bug-fixer/types.js +0 -9
- package/dist/agents/bug-fixer/types.js.map +0 -1
- package/dist/agents/factory.d.ts +0 -172
- package/dist/agents/factory.d.ts.map +0 -1
- package/dist/agents/factory.js +0 -706
- package/dist/agents/factory.js.map +0 -1
- package/dist/agents/hailer-expert/index.d.ts +0 -8
- package/dist/agents/hailer-expert/index.d.ts.map +0 -1
- package/dist/agents/hailer-expert/index.js +0 -14
- package/dist/agents/hailer-expert/index.js.map +0 -1
- package/dist/agents/hal/daemon.d.ts +0 -174
- package/dist/agents/hal/daemon.d.ts.map +0 -1
- package/dist/agents/hal/daemon.js +0 -1385
- package/dist/agents/hal/daemon.js.map +0 -1
- package/dist/agents/hal/definitions.d.ts +0 -42
- package/dist/agents/hal/definitions.d.ts.map +0 -1
- package/dist/agents/hal/definitions.js +0 -300
- package/dist/agents/hal/definitions.js.map +0 -1
- package/dist/agents/hal/index.d.ts +0 -3
- package/dist/agents/hal/index.d.ts.map +0 -1
- package/dist/agents/hal/index.js +0 -8
- package/dist/agents/hal/index.js.map +0 -1
- package/dist/agents/index.d.ts +0 -18
- package/dist/agents/index.d.ts.map +0 -1
- package/dist/agents/index.js +0 -48
- package/dist/agents/index.js.map +0 -1
- package/dist/agents/shared/base.d.ts +0 -253
- package/dist/agents/shared/base.d.ts.map +0 -1
- package/dist/agents/shared/base.js +0 -1122
- package/dist/agents/shared/base.js.map +0 -1
- package/dist/agents/shared/schemas/action-schema.d.ts +0 -62
- package/dist/agents/shared/schemas/action-schema.d.ts.map +0 -1
- package/dist/agents/shared/schemas/action-schema.js +0 -483
- package/dist/agents/shared/schemas/action-schema.js.map +0 -1
- package/dist/agents/shared/services/agent-registry.d.ts +0 -108
- package/dist/agents/shared/services/agent-registry.d.ts.map +0 -1
- package/dist/agents/shared/services/agent-registry.js +0 -469
- package/dist/agents/shared/services/agent-registry.js.map +0 -1
- package/dist/agents/shared/services/conversation-manager.d.ts +0 -57
- package/dist/agents/shared/services/conversation-manager.d.ts.map +0 -1
- package/dist/agents/shared/services/conversation-manager.js +0 -168
- package/dist/agents/shared/services/conversation-manager.js.map +0 -1
- package/dist/agents/shared/services/mcp-client.d.ts +0 -56
- package/dist/agents/shared/services/mcp-client.d.ts.map +0 -1
- package/dist/agents/shared/services/mcp-client.js +0 -124
- package/dist/agents/shared/services/mcp-client.js.map +0 -1
- package/dist/agents/shared/services/message-classifier.d.ts +0 -37
- package/dist/agents/shared/services/message-classifier.d.ts.map +0 -1
- package/dist/agents/shared/services/message-classifier.js +0 -203
- package/dist/agents/shared/services/message-classifier.js.map +0 -1
- package/dist/agents/shared/services/message-formatter.d.ts +0 -89
- package/dist/agents/shared/services/message-formatter.d.ts.map +0 -1
- package/dist/agents/shared/services/message-formatter.js +0 -390
- package/dist/agents/shared/services/message-formatter.js.map +0 -1
- package/dist/agents/shared/services/session-logger.d.ts +0 -162
- package/dist/agents/shared/services/session-logger.d.ts.map +0 -1
- package/dist/agents/shared/services/session-logger.js +0 -724
- package/dist/agents/shared/services/session-logger.js.map +0 -1
- package/dist/agents/shared/services/structured-output-executor.d.ts +0 -88
- package/dist/agents/shared/services/structured-output-executor.d.ts.map +0 -1
- package/dist/agents/shared/services/structured-output-executor.js +0 -296
- package/dist/agents/shared/services/structured-output-executor.js.map +0 -1
- package/dist/agents/shared/services/token-billing.d.ts +0 -72
- package/dist/agents/shared/services/token-billing.d.ts.map +0 -1
- package/dist/agents/shared/services/token-billing.js +0 -198
- package/dist/agents/shared/services/token-billing.js.map +0 -1
- package/dist/agents/shared/services/tool-executor.d.ts +0 -43
- package/dist/agents/shared/services/tool-executor.d.ts.map +0 -1
- package/dist/agents/shared/services/tool-executor.js +0 -175
- package/dist/agents/shared/services/tool-executor.js.map +0 -1
- package/dist/agents/shared/services/typing-indicator.d.ts +0 -24
- package/dist/agents/shared/services/typing-indicator.d.ts.map +0 -1
- package/dist/agents/shared/services/typing-indicator.js +0 -54
- package/dist/agents/shared/services/typing-indicator.js.map +0 -1
- package/dist/agents/shared/services/workspace-schema-cache.d.ts +0 -122
- package/dist/agents/shared/services/workspace-schema-cache.d.ts.map +0 -1
- package/dist/agents/shared/services/workspace-schema-cache.js +0 -507
- package/dist/agents/shared/services/workspace-schema-cache.js.map +0 -1
- package/dist/agents/shared/specialist.d.ts +0 -91
- package/dist/agents/shared/specialist.d.ts.map +0 -1
- package/dist/agents/shared/specialist.js +0 -399
- package/dist/agents/shared/specialist.js.map +0 -1
- package/dist/agents/shared/tool-schema-loader.d.ts +0 -65
- package/dist/agents/shared/tool-schema-loader.d.ts.map +0 -1
- package/dist/agents/shared/tool-schema-loader.js +0 -238
- package/dist/agents/shared/tool-schema-loader.js.map +0 -1
- package/dist/agents/shared/types.d.ts +0 -190
- package/dist/agents/shared/types.d.ts.map +0 -1
- package/dist/agents/shared/types.js +0 -13
- package/dist/agents/shared/types.js.map +0 -1
- package/dist/bot/bot-config.d.ts +0 -37
- package/dist/bot/bot-config.d.ts.map +0 -1
- package/dist/bot/bot-config.js +0 -219
- package/dist/bot/bot-config.js.map +0 -1
- package/dist/bot/services/__tests__/permission-guard.test.d.ts +0 -2
- package/dist/bot/services/__tests__/permission-guard.test.d.ts.map +0 -1
- package/dist/bot/services/__tests__/permission-guard.test.js +0 -357
- package/dist/bot/services/__tests__/permission-guard.test.js.map +0 -1
- package/dist/bot/services/session-logger.d.ts +0 -162
- package/dist/bot/services/session-logger.d.ts.map +0 -1
- package/dist/bot/services/session-logger.js +0 -724
- package/dist/bot/services/session-logger.js.map +0 -1
- package/dist/bot/services/workspace-schema-cache.d.ts +0 -122
- package/dist/bot/services/workspace-schema-cache.d.ts.map +0 -1
- package/dist/bot/services/workspace-schema-cache.js +0 -506
- package/dist/bot/services/workspace-schema-cache.js.map +0 -1
- package/dist/bot-config/tools.d.ts +0 -28
- package/dist/bot-config/tools.d.ts.map +0 -1
- package/dist/bot-config/tools.js +0 -279
- package/dist/bot-config/tools.js.map +0 -1
- package/dist/client/agents/base.d.ts +0 -207
- package/dist/client/agents/base.d.ts.map +0 -1
- package/dist/client/agents/base.js +0 -744
- package/dist/client/agents/base.js.map +0 -1
- package/dist/client/agents/definitions.d.ts +0 -53
- package/dist/client/agents/definitions.d.ts.map +0 -1
- package/dist/client/agents/definitions.js +0 -263
- package/dist/client/agents/definitions.js.map +0 -1
- package/dist/client/agents/orchestrator.d.ts +0 -141
- package/dist/client/agents/orchestrator.d.ts.map +0 -1
- package/dist/client/agents/orchestrator.js +0 -1062
- package/dist/client/agents/orchestrator.js.map +0 -1
- package/dist/client/agents/specialist.d.ts +0 -86
- package/dist/client/agents/specialist.d.ts.map +0 -1
- package/dist/client/agents/specialist.js +0 -340
- package/dist/client/agents/specialist.js.map +0 -1
- package/dist/client/bot-entrypoint.d.ts +0 -7
- package/dist/client/bot-entrypoint.d.ts.map +0 -1
- package/dist/client/bot-entrypoint.js +0 -103
- package/dist/client/bot-entrypoint.js.map +0 -1
- package/dist/client/bot-manager.d.ts +0 -44
- package/dist/client/bot-manager.d.ts.map +0 -1
- package/dist/client/bot-manager.js +0 -173
- package/dist/client/bot-manager.js.map +0 -1
- package/dist/client/bot-runner.d.ts +0 -35
- package/dist/client/bot-runner.d.ts.map +0 -1
- package/dist/client/bot-runner.js +0 -188
- package/dist/client/bot-runner.js.map +0 -1
- package/dist/client/chat-agent-daemon.d.ts +0 -464
- package/dist/client/chat-agent-daemon.d.ts.map +0 -1
- package/dist/client/chat-agent-daemon.js +0 -1774
- package/dist/client/chat-agent-daemon.js.map +0 -1
- package/dist/client/daemon-factory.d.ts +0 -106
- package/dist/client/daemon-factory.d.ts.map +0 -1
- package/dist/client/daemon-factory.js +0 -301
- package/dist/client/daemon-factory.js.map +0 -1
- package/dist/client/factory.d.ts +0 -111
- package/dist/client/factory.d.ts.map +0 -1
- package/dist/client/factory.js +0 -314
- package/dist/client/factory.js.map +0 -1
- package/dist/client/index.d.ts +0 -17
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js +0 -38
- package/dist/client/index.js.map +0 -1
- package/dist/client/multi-bot-manager.d.ts +0 -42
- package/dist/client/multi-bot-manager.d.ts.map +0 -1
- package/dist/client/multi-bot-manager.js +0 -161
- package/dist/client/multi-bot-manager.js.map +0 -1
- package/dist/client/orchestrator-daemon.d.ts +0 -87
- package/dist/client/orchestrator-daemon.d.ts.map +0 -1
- package/dist/client/orchestrator-daemon.js +0 -444
- package/dist/client/orchestrator-daemon.js.map +0 -1
- package/dist/client/server.d.ts +0 -8
- package/dist/client/server.d.ts.map +0 -1
- package/dist/client/server.js +0 -251
- package/dist/client/server.js.map +0 -1
- package/dist/client/services/agent-registry.d.ts +0 -108
- package/dist/client/services/agent-registry.d.ts.map +0 -1
- package/dist/client/services/agent-registry.js +0 -630
- package/dist/client/services/agent-registry.js.map +0 -1
- package/dist/client/services/conversation-manager.d.ts +0 -50
- package/dist/client/services/conversation-manager.d.ts.map +0 -1
- package/dist/client/services/conversation-manager.js +0 -136
- package/dist/client/services/conversation-manager.js.map +0 -1
- package/dist/client/services/mcp-client.d.ts +0 -48
- package/dist/client/services/mcp-client.d.ts.map +0 -1
- package/dist/client/services/mcp-client.js +0 -105
- package/dist/client/services/mcp-client.js.map +0 -1
- package/dist/client/services/message-classifier.d.ts +0 -37
- package/dist/client/services/message-classifier.d.ts.map +0 -1
- package/dist/client/services/message-classifier.js +0 -187
- package/dist/client/services/message-classifier.js.map +0 -1
- package/dist/client/services/message-formatter.d.ts +0 -84
- package/dist/client/services/message-formatter.d.ts.map +0 -1
- package/dist/client/services/message-formatter.js +0 -353
- package/dist/client/services/message-formatter.js.map +0 -1
- package/dist/client/services/session-logger.d.ts +0 -106
- package/dist/client/services/session-logger.d.ts.map +0 -1
- package/dist/client/services/session-logger.js +0 -446
- package/dist/client/services/session-logger.js.map +0 -1
- package/dist/client/services/tool-executor.d.ts +0 -41
- package/dist/client/services/tool-executor.d.ts.map +0 -1
- package/dist/client/services/tool-executor.js +0 -169
- package/dist/client/services/tool-executor.js.map +0 -1
- package/dist/client/services/workspace-schema-cache.d.ts +0 -149
- package/dist/client/services/workspace-schema-cache.d.ts.map +0 -1
- package/dist/client/services/workspace-schema-cache.js +0 -732
- package/dist/client/services/workspace-schema-cache.js.map +0 -1
- package/dist/client/specialist-daemon.d.ts +0 -77
- package/dist/client/specialist-daemon.d.ts.map +0 -1
- package/dist/client/specialist-daemon.js +0 -197
- package/dist/client/specialist-daemon.js.map +0 -1
- package/dist/client/specialists.d.ts +0 -53
- package/dist/client/specialists.d.ts.map +0 -1
- package/dist/client/specialists.js +0 -178
- package/dist/client/specialists.js.map +0 -1
- package/dist/client/tool-schema-loader.d.ts +0 -62
- package/dist/client/tool-schema-loader.d.ts.map +0 -1
- package/dist/client/tool-schema-loader.js +0 -232
- package/dist/client/tool-schema-loader.js.map +0 -1
- package/dist/client/types.d.ts +0 -327
- package/dist/client/types.d.ts.map +0 -1
- package/dist/client/types.js +0 -121
- package/dist/client/types.js.map +0 -1
- package/dist/commands/seed-config.d.ts +0 -9
- package/dist/commands/seed-config.d.ts.map +0 -1
- package/dist/commands/seed-config.js +0 -377
- package/dist/commands/seed-config.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -11
- package/dist/commands/setup.d.ts.map +0 -1
- package/dist/commands/setup.js +0 -320
- package/dist/commands/setup.js.map +0 -1
- package/dist/lib/discussion-lock.d.ts +0 -42
- package/dist/lib/discussion-lock.d.ts.map +0 -1
- package/dist/lib/discussion-lock.js +0 -110
- package/dist/lib/discussion-lock.js.map +0 -1
- package/dist/mcp/signal-handler.d.ts +0 -82
- package/dist/mcp/signal-handler.d.ts.map +0 -1
- package/dist/mcp/signal-handler.js +0 -406
- package/dist/mcp/signal-handler.js.map +0 -1
- package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts +0 -2
- package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts.map +0 -1
- package/dist/mcp/tools/__tests__/discussion-forward.test.js +0 -218
- package/dist/mcp/tools/__tests__/discussion-forward.test.js.map +0 -1
- package/dist/mcp/tools/app-member.d.ts +0 -14
- package/dist/mcp/tools/app-member.d.ts.map +0 -1
- package/dist/mcp/tools/app-member.js +0 -195
- package/dist/mcp/tools/app-member.js.map +0 -1
- package/dist/mcp/tools/app-scaffold.d.ts +0 -14
- package/dist/mcp/tools/app-scaffold.d.ts.map +0 -1
- package/dist/mcp/tools/app-scaffold.js +0 -581
- package/dist/mcp/tools/app-scaffold.js.map +0 -1
- package/dist/mcp/tools/bot-config/constants.d.ts +0 -23
- package/dist/mcp/tools/bot-config/constants.d.ts.map +0 -1
- package/dist/mcp/tools/bot-config/constants.js +0 -94
- package/dist/mcp/tools/bot-config/constants.js.map +0 -1
- package/dist/mcp/tools/bot-config/core.d.ts +0 -253
- package/dist/mcp/tools/bot-config/core.d.ts.map +0 -1
- package/dist/mcp/tools/bot-config/core.js +0 -2456
- package/dist/mcp/tools/bot-config/core.js.map +0 -1
- package/dist/mcp/tools/bot-config/index.d.ts +0 -10
- package/dist/mcp/tools/bot-config/index.d.ts.map +0 -1
- package/dist/mcp/tools/bot-config/index.js +0 -59
- package/dist/mcp/tools/bot-config/index.js.map +0 -1
- package/dist/mcp/tools/bot-config/tools.d.ts +0 -7
- package/dist/mcp/tools/bot-config/tools.d.ts.map +0 -1
- package/dist/mcp/tools/bot-config/tools.js +0 -15
- package/dist/mcp/tools/bot-config/tools.js.map +0 -1
- package/dist/mcp/tools/bot-config/types.d.ts +0 -50
- package/dist/mcp/tools/bot-config/types.d.ts.map +0 -1
- package/dist/mcp/tools/bot-config/types.js +0 -6
- package/dist/mcp/tools/bot-config/types.js.map +0 -1
- package/dist/mcp/tools/bug-fixer-tools.d.ts +0 -45
- package/dist/mcp/tools/bug-fixer-tools.d.ts.map +0 -1
- package/dist/mcp/tools/bug-fixer-tools.js +0 -1096
- package/dist/mcp/tools/bug-fixer-tools.js.map +0 -1
- package/dist/mcp/tools/document.d.ts +0 -11
- package/dist/mcp/tools/document.d.ts.map +0 -1
- package/dist/mcp/tools/document.js +0 -741
- package/dist/mcp/tools/document.js.map +0 -1
- package/dist/mcp/tools/investigate.d.ts +0 -9
- package/dist/mcp/tools/investigate.d.ts.map +0 -1
- package/dist/mcp/tools/investigate.js +0 -254
- package/dist/mcp/tools/investigate.js.map +0 -1
- package/dist/mcp/utils/pagination.d.ts +0 -40
- package/dist/mcp/utils/pagination.d.ts.map +0 -1
- package/dist/mcp/utils/pagination.js +0 -55
- package/dist/mcp/utils/pagination.js.map +0 -1
- package/dist/modules/bug-reports/bug-config.d.ts +0 -25
- package/dist/modules/bug-reports/bug-config.d.ts.map +0 -1
- package/dist/modules/bug-reports/bug-config.js +0 -187
- package/dist/modules/bug-reports/bug-config.js.map +0 -1
- package/dist/modules/bug-reports/bug-monitor.d.ts +0 -108
- package/dist/modules/bug-reports/bug-monitor.d.ts.map +0 -1
- package/dist/modules/bug-reports/bug-monitor.js +0 -510
- package/dist/modules/bug-reports/bug-monitor.js.map +0 -1
- package/dist/modules/bug-reports/giuseppe-agent.d.ts +0 -58
- package/dist/modules/bug-reports/giuseppe-agent.d.ts.map +0 -1
- package/dist/modules/bug-reports/giuseppe-agent.js +0 -467
- package/dist/modules/bug-reports/giuseppe-agent.js.map +0 -1
- package/dist/modules/bug-reports/giuseppe-ai.d.ts +0 -83
- package/dist/modules/bug-reports/giuseppe-ai.d.ts.map +0 -1
- package/dist/modules/bug-reports/giuseppe-ai.js +0 -466
- package/dist/modules/bug-reports/giuseppe-ai.js.map +0 -1
- package/dist/modules/bug-reports/giuseppe-bot.d.ts +0 -110
- package/dist/modules/bug-reports/giuseppe-bot.d.ts.map +0 -1
- package/dist/modules/bug-reports/giuseppe-bot.js +0 -804
- package/dist/modules/bug-reports/giuseppe-bot.js.map +0 -1
- package/dist/modules/bug-reports/giuseppe-daemon.d.ts +0 -80
- package/dist/modules/bug-reports/giuseppe-daemon.d.ts.map +0 -1
- package/dist/modules/bug-reports/giuseppe-daemon.js +0 -617
- package/dist/modules/bug-reports/giuseppe-daemon.js.map +0 -1
- package/dist/modules/bug-reports/giuseppe-files.d.ts +0 -64
- package/dist/modules/bug-reports/giuseppe-files.d.ts.map +0 -1
- package/dist/modules/bug-reports/giuseppe-files.js +0 -375
- package/dist/modules/bug-reports/giuseppe-files.js.map +0 -1
- package/dist/modules/bug-reports/giuseppe-git.d.ts +0 -48
- package/dist/modules/bug-reports/giuseppe-git.d.ts.map +0 -1
- package/dist/modules/bug-reports/giuseppe-git.js +0 -298
- package/dist/modules/bug-reports/giuseppe-git.js.map +0 -1
- package/dist/modules/bug-reports/giuseppe-lsp.d.ts +0 -113
- package/dist/modules/bug-reports/giuseppe-lsp.d.ts.map +0 -1
- package/dist/modules/bug-reports/giuseppe-lsp.js +0 -485
- package/dist/modules/bug-reports/giuseppe-lsp.js.map +0 -1
- package/dist/modules/bug-reports/giuseppe-prompt.d.ts +0 -5
- package/dist/modules/bug-reports/giuseppe-prompt.d.ts.map +0 -1
- package/dist/modules/bug-reports/giuseppe-prompt.js +0 -94
- package/dist/modules/bug-reports/giuseppe-prompt.js.map +0 -1
- package/dist/modules/bug-reports/index.d.ts +0 -77
- package/dist/modules/bug-reports/index.d.ts.map +0 -1
- package/dist/modules/bug-reports/index.js +0 -215
- package/dist/modules/bug-reports/index.js.map +0 -1
- package/dist/modules/bug-reports/pending-classification-registry.d.ts +0 -28
- package/dist/modules/bug-reports/pending-classification-registry.d.ts.map +0 -1
- package/dist/modules/bug-reports/pending-classification-registry.js +0 -50
- package/dist/modules/bug-reports/pending-classification-registry.js.map +0 -1
- package/dist/modules/bug-reports/pending-fix-registry.d.ts +0 -30
- package/dist/modules/bug-reports/pending-fix-registry.d.ts.map +0 -1
- package/dist/modules/bug-reports/pending-fix-registry.js +0 -42
- package/dist/modules/bug-reports/pending-fix-registry.js.map +0 -1
- package/dist/modules/bug-reports/pending-registry.d.ts +0 -27
- package/dist/modules/bug-reports/pending-registry.d.ts.map +0 -1
- package/dist/modules/bug-reports/pending-registry.js +0 -49
- package/dist/modules/bug-reports/pending-registry.js.map +0 -1
- package/dist/modules/bug-reports/types.d.ts +0 -123
- package/dist/modules/bug-reports/types.d.ts.map +0 -1
- package/dist/modules/bug-reports/types.js +0 -9
- package/dist/modules/bug-reports/types.js.map +0 -1
- package/dist/plugins/bug-fixer/index.d.ts +0 -2
- package/dist/plugins/bug-fixer/index.d.ts.map +0 -1
- package/dist/plugins/bug-fixer/index.js +0 -18
- package/dist/plugins/bug-fixer/index.js.map +0 -1
- package/dist/plugins/bug-fixer/tools.d.ts +0 -45
- package/dist/plugins/bug-fixer/tools.d.ts.map +0 -1
- package/dist/plugins/bug-fixer/tools.js +0 -1096
- package/dist/plugins/bug-fixer/tools.js.map +0 -1
- package/dist/plugins/vipunen/__tests__/tools.test.d.ts +0 -10
- package/dist/plugins/vipunen/__tests__/tools.test.d.ts.map +0 -1
- package/dist/plugins/vipunen/__tests__/tools.test.js +0 -646
- package/dist/plugins/vipunen/__tests__/tools.test.js.map +0 -1
- package/dist/routes/agents.d.ts +0 -44
- package/dist/routes/agents.d.ts.map +0 -1
- package/dist/routes/agents.js +0 -311
- package/dist/routes/agents.js.map +0 -1
- package/dist/services/agent-credential-store.d.ts +0 -73
- package/dist/services/agent-credential-store.d.ts.map +0 -1
- package/dist/services/agent-credential-store.js +0 -212
- package/dist/services/agent-credential-store.js.map +0 -1
- package/dist/stdio-server.d.ts +0 -14
- package/dist/stdio-server.d.ts.map +0 -1
- package/dist/stdio-server.js +0 -101
- package/dist/stdio-server.js.map +0 -1
- package/dist/workspace/context.d.ts +0 -148
- package/dist/workspace/context.d.ts.map +0 -1
- package/dist/workspace/context.js +0 -339
- package/dist/workspace/context.js.map +0 -1
- package/dist/workspace/credentials.d.ts +0 -55
- package/dist/workspace/credentials.d.ts.map +0 -1
- package/dist/workspace/credentials.js +0 -239
- package/dist/workspace/credentials.js.map +0 -1
- package/dist/workspace/index.d.ts +0 -21
- package/dist/workspace/index.d.ts.map +0 -1
- package/dist/workspace/index.js +0 -45
- package/dist/workspace/index.js.map +0 -1
- package/dist/workspace/loader.d.ts +0 -27
- package/dist/workspace/loader.d.ts.map +0 -1
- package/dist/workspace/loader.js +0 -222
- package/dist/workspace/loader.js.map +0 -1
- package/dist/workspace/schema.d.ts +0 -37
- package/dist/workspace/schema.d.ts.map +0 -1
- package/dist/workspace/schema.js +0 -192
- package/dist/workspace/schema.js.map +0 -1
package/.env.example
CHANGED
|
@@ -81,6 +81,18 @@ MCP_SERVER_URL=http://localhost:3030/api/mcp
|
|
|
81
81
|
# MCP Agent User IDs (required for agent tagging - get these from Hailer)
|
|
82
82
|
MCP_CLIENT_AGENT_IDS='[]'
|
|
83
83
|
|
|
84
|
+
# Hailer REST API base URL — every authenticated REST call (incl. the
|
|
85
|
+
# public-chat graduation handler's apiKey validation via v2.core.init)
|
|
86
|
+
# is sent to ${BOT_API_BASE_URL}/api/<dotted/method>. Defaults to
|
|
87
|
+
# https://api.hailer.com.
|
|
88
|
+
#
|
|
89
|
+
# In local dev the Hailer API process typically listens on
|
|
90
|
+
# http://localhost:1337 (NOT the frontend port — the frontend at 9443
|
|
91
|
+
# doesn't expose /api/v2/* routes and will return Express's "Cannot POST"
|
|
92
|
+
# 404 HTML which then bubbles up through the graduation popup as
|
|
93
|
+
# "API key validation failed: REST API request failed: 404 …").
|
|
94
|
+
# BOT_API_BASE_URL=http://localhost:1337
|
|
95
|
+
|
|
84
96
|
# Bot Features (optional, defaults to true)
|
|
85
97
|
TOKEN_USAGE_BOT_ENABLED=false
|
|
86
98
|
AGENT_ACTIVITY_BOT_ENABLED=false
|
|
@@ -90,4 +102,41 @@ ADAPTIVE_DOCUMENTATION_BOT_ENABLED=false
|
|
|
90
102
|
ADAPTIVE_AUTO_UPDATE=false
|
|
91
103
|
ADAPTIVE_UPDATE_INTERVAL=60000
|
|
92
104
|
ADAPTIVE_MIN_ERROR_COUNT=3
|
|
93
|
-
ADAPTIVE_SKILL_GENERATION=false
|
|
105
|
+
ADAPTIVE_SKILL_GENERATION=false
|
|
106
|
+
|
|
107
|
+
# ==============================================
|
|
108
|
+
# PUBLIC CHAT GRADUATION (Studio pre-warm)
|
|
109
|
+
# ==============================================
|
|
110
|
+
|
|
111
|
+
# Hailer frontend URL — origin the public-chat authorize popup is
|
|
112
|
+
# redirected back to on success/error (e.g. https://<host>/#/authorize/complete).
|
|
113
|
+
# Also used as the Origin header for the Studio prewarm.
|
|
114
|
+
#
|
|
115
|
+
# The /api/public-chat/authorize handler first tries the inbound
|
|
116
|
+
# Origin/Referer header and only falls back to this value when the
|
|
117
|
+
# browser sends `Origin: null` (cross-scheme form POSTs do this) or no
|
|
118
|
+
# usable Referer. In local dev with the Hailer frontend on
|
|
119
|
+
# https://localhost:9443, set this to https://localhost:9443 so the
|
|
120
|
+
# popup closes itself instead of bouncing the user to app.hailer.com.
|
|
121
|
+
# HAILER_APP_URL=https://app.hailer.com
|
|
122
|
+
|
|
123
|
+
# Hailer Studio backend URL. When set, public-chat graduation pre-warms a
|
|
124
|
+
# Studio session for the newly graduated user. Leave unset to disable.
|
|
125
|
+
# STUDIO_URL=https://studio.hailer.com
|
|
126
|
+
|
|
127
|
+
# Origin header sent on the Studio WS upgrade + HTTP POST. Must match one
|
|
128
|
+
# of Studio's WHITELISTED_ORIGINS. Defaults to HAILER_APP_URL.
|
|
129
|
+
# STUDIO_ORIGIN=https://app.hailer.com
|
|
130
|
+
|
|
131
|
+
# Headless Studio session-create endpoint. When set, public-chat graduation
|
|
132
|
+
# creates a one-shot Studio "builder" session for the new workspace via a
|
|
133
|
+
# single server-to-server POST (apiKey + workspaceId required; systemMessage +
|
|
134
|
+
# initialPrompt optional). This is what auto-builds the graduated user's
|
|
135
|
+
# workflows + app and triggers the Hailer Helper tour handoff. Takes precedence
|
|
136
|
+
# over the legacy STUDIO_URL WS prewarm.
|
|
137
|
+
#
|
|
138
|
+
# REQUIRED for the Studio build/tour flow to run — if unset, createStudioSession
|
|
139
|
+
# silently skips and no workspace is built (the Helper then greets without
|
|
140
|
+
# promising a build). Point it at the Studio sessions endpoint for THIS
|
|
141
|
+
# environment, e.g. for next.k8s use the next proxy host:
|
|
142
|
+
# STUDIO_SESSIONS_CREATE_URL=https://next.k8s.hailer.com/proxy/studio/api/sessions/create
|
package/CLAUDE.md
CHANGED
|
@@ -1,17 +1,148 @@
|
|
|
1
|
-
# Hailer MCP
|
|
1
|
+
# Hailer SDK + MCP Project
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
You're working in a project scaffolded by `@hailer/sdk`. The `workspace/` directory IS the source of truth for all workflow configuration; the MCP server (remote or local) exposes runtime tools.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## The One Rule
|
|
6
|
+
|
|
7
|
+
**If it can be done locally, do it locally. MCP tools are ONLY for things that require a server call.**
|
|
8
|
+
|
|
9
|
+
Local = read `workspace/` files, run `npm run …` SDK commands, use `npx @hailer/create-app`, run vitest.
|
|
10
|
+
Remote = MCP tools for activities, discussions, calendar, insights, files, permissions, marketplace.
|
|
11
|
+
|
|
12
|
+
Before any MCP call, ask: "Is this answerable from `workspace/` files or a CLI?" If yes, do that instead. (SDK-profile connections don't even serve the shadowed tools; if you can see them, you're on a general connection — the rule still applies.)
|
|
13
|
+
|
|
14
|
+
## What Goes Where
|
|
15
|
+
|
|
16
|
+
| Need | Do this | Don't |
|
|
17
|
+
|------|---------|-------|
|
|
18
|
+
| Find workflow / field / phase IDs | Read `workspace/enums.ts` | `describe_workflows` |
|
|
19
|
+
| See field types, labels, options | Read `workspace/<Name>_<id>/fields.ts` | `describe_workflows` |
|
|
20
|
+
| See phases | Read `workspace/<Name>_<id>/phases.ts` | `describe_workflows` |
|
|
21
|
+
| See all workflows | Read `workspace/workflows.ts` | `describe_workflows` |
|
|
22
|
+
| Create / modify fields or phases | Edit `fields.ts` / `phases.ts` → `npm run fields-push:force` / `phases-push:force` | `update_workflow_structure` |
|
|
23
|
+
| Create / modify workflows | Edit `workflows.ts` → `npm run workflows-sync:force` | `install_workflow` |
|
|
24
|
+
| Create / modify teams / groups | Edit `teams.ts` / `groups.ts` → `npm run teams-push:force` / `groups-push:force` | — |
|
|
25
|
+
| Create / modify insights config | Edit `insights.ts` → `npm run insights-push:force` | — (runtime `run_insight` is fine) |
|
|
26
|
+
| Create / modify document templates | Edit `templates/` → `npm run templates-sync:force` | — |
|
|
27
|
+
| Test function field code | vitest locally | `test_function_field` |
|
|
28
|
+
| Scaffold an app | `npx @hailer/create-app <name> --template react-ts` (name is POSITIONAL, not `--name`; bare command PROMPTS and hangs agents) | — (script-only; no MCP tool exists) |
|
|
29
|
+
| Publish an app | `cd app && npm run publish-production -- --force` (add `--market` for marketplace versions) | — (script-only; no MCP tool exists) |
|
|
30
|
+
| Share / edit EXISTING app metadata | Edit `workspace/apps.ts` → `npx hailer-sdk ws-config apps push --force` | `manage_app` |
|
|
31
|
+
| Create an app entry | NEVER via apps.ts — first publish with `--create` does it (correct URL included) | never invent placeholder URLs |
|
|
32
|
+
| Create / update activities | MCP `create_activity`, `update_activity` | — |
|
|
33
|
+
| List / read / count activities | MCP `list_activities` (`countOnly: true` for counts), `show_activity_by_id` | — |
|
|
34
|
+
| Query data (SQL reports) | MCP `run_insight`, `save_insight` | — |
|
|
35
|
+
| Discussions, calendar, files, users | MCP runtime tools | — |
|
|
36
|
+
| Workflow permissions | MCP `set_workflow_permission`, `list_workflow_permissions`, `check_user_permissions` | — |
|
|
37
|
+
| Live activity counts / orientation | MCP `core_init` (once per session) | — |
|
|
38
|
+
|
|
39
|
+
## How to Read workspace/ Files
|
|
40
|
+
|
|
41
|
+
**Never read workspace/ files in main context** — they're large and fill context permanently.
|
|
42
|
+
|
|
43
|
+
1. Spawn a fast sub-agent (haiku-class) to read the files
|
|
44
|
+
2. It extracts what you need (IDs, field types, phase names) and returns a short summary
|
|
45
|
+
3. Use that summary for MCP runtime calls
|
|
46
|
+
|
|
47
|
+
Sub-agent habits: fast models read/search, capable models write code; load Skills in sub-agents, not main context; delegate anything beyond ~20 lines of code.
|
|
48
|
+
|
|
49
|
+
## workspace/ Structure
|
|
6
50
|
|
|
7
|
-
```bash
|
|
8
|
-
npm init @hailer/sdk # Scaffold project with workspace/ config
|
|
9
|
-
npm run pull # Pull latest workflow schemas from Hailer
|
|
10
|
-
npm run generate # Generate TypeScript types
|
|
11
51
|
```
|
|
52
|
+
workspace/
|
|
53
|
+
├── enums.ts # ALL IDs: WorkflowIds, FieldIds, PhaseIds, TeamIds, GroupIds
|
|
54
|
+
├── workflows.ts # Workflow registry
|
|
55
|
+
├── teams.ts # Team definitions
|
|
56
|
+
├── groups.ts # Group definitions
|
|
57
|
+
├── insights.ts # Insight definitions
|
|
58
|
+
├── apps.ts # App registry (name, url, image, members)
|
|
59
|
+
├── templates/ # Document templates
|
|
60
|
+
└── <WorkflowName>_<id>/
|
|
61
|
+
├── fields.ts # Field definitions (type, label, key, options, required)
|
|
62
|
+
├── phases.ts # Phases (name, key, isInitial, isEndpoint, nextPhases)
|
|
63
|
+
├── main.ts # Workflow config
|
|
64
|
+
└── functions/ # Function field code (one file per function)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`npm run pull` refreshes everything from Hailer → local files.
|
|
68
|
+
|
|
69
|
+
## SDK Push Commands
|
|
70
|
+
|
|
71
|
+
| Command | Effect |
|
|
72
|
+
|---------|--------|
|
|
73
|
+
| `npm run pull` | Pull latest from Hailer → local files |
|
|
74
|
+
| `npm run push:force` | Push everything |
|
|
75
|
+
| `npm run fields-push:force` | Fields only |
|
|
76
|
+
| `npm run phases-push:force` | Phases only |
|
|
77
|
+
| `npm run workflows-sync:force` | Workflow registry (create / delete) |
|
|
78
|
+
| `npm run teams-push:force` | Teams |
|
|
79
|
+
| `npm run groups-push:force` | Groups |
|
|
80
|
+
| `npm run insights-push:force` | Insights |
|
|
81
|
+
| `npm run templates-sync:force` | Document templates |
|
|
82
|
+
| `npx hailer-sdk ws-config apps push --force` | App registry + members |
|
|
83
|
+
|
|
84
|
+
Always use `:force` — the non-force variants prompt interactively.
|
|
85
|
+
|
|
86
|
+
## Push / Pull Gotchas
|
|
87
|
+
|
|
88
|
+
| Gotcha | Correct | Wrong |
|
|
89
|
+
|--------|---------|-------|
|
|
90
|
+
| New entities | Omit `_id` — server assigns it | Don't add `_id` manually |
|
|
91
|
+
| After push | `npm run pull` to get server-assigned IDs | Don't assume local IDs are final |
|
|
92
|
+
| Function fields | `npm run fields-push:force` only (non-force skips `functionVariables`) | Don't use non-force |
|
|
93
|
+
| Enum imports | Verify after pull — identical hex suffixes can collide | Don't blindly trust auto-generated imports |
|
|
94
|
+
| `linkedfrom` fields | Don't work in isolated-vm; use `<` backlink dependency | Don't use in function fields |
|
|
95
|
+
| Function field code | Plain JavaScript only | Not TypeScript |
|
|
96
|
+
| Phase transitions | Exact string match on phase name | Don't guess phase names |
|
|
97
|
+
| Activity field values (MCP) | Date: Unix ms (`1730937600000`); Dropdown: exact string; ActivityLink: string ID; fields keyed by field ID, never label | Not ISO dates, not arrays, not field names |
|
|
98
|
+
|
|
99
|
+
## App Lifecycle
|
|
100
|
+
|
|
101
|
+
| Step | How |
|
|
102
|
+
|------|-----|
|
|
103
|
+
| Scaffold | `npx @hailer/create-app <name> --template react-ts` (name POSITIONAL; bare = interactive prompt that hangs agents) — scaffold fresh, never copy an existing app |
|
|
104
|
+
| Local dev | `cd app && npm run dev` |
|
|
105
|
+
| Publish | `cd app && npm run publish-production -- --force` (add `--market` for marketplace; `--force` skips the overwrite prompt that hangs agents); then share via `manage_app` add_member |
|
|
106
|
+
| Share (after publish) | `npm run pull`, then edit members in `workspace/apps.ts` → `npx hailer-sdk ws-config apps push --force`. NEVER create app entries in apps.ts — `--create` publish makes them |
|
|
107
|
+
|
|
108
|
+
Publish auth: works flag-free once the local `npx hailer-mcp` server has run once — it mints a user API key from the project bot creds into `~/.env`, mirroring Studio. Exit 10 = no auth yet → start the server once, or pass `-- --user-api-key <key>`; NEVER read passwords or probe login endpoints. Details: `create-and-publish-app` skill.
|
|
109
|
+
|
|
110
|
+
## When MCP Tools Are the Answer
|
|
111
|
+
|
|
112
|
+
The MCP server exposes a curated runtime surface the SDK can't replicate locally:
|
|
113
|
+
|
|
114
|
+
- **Activities**: `create_activity`, `update_activity`, `list_activities` (+ `countOnly`), `show_activity_by_id`
|
|
115
|
+
- **Discussions**: `list_my_discussions`, `fetch_discussion_messages` (cursor + linked-activity lookup), `add_discussion_message`, `join_discussion`, `leave_discussion`, `invite_discussion_members`
|
|
116
|
+
- **Calendar**: `query_events` (single / range / upcoming), `manage_calendar`, `create_event`, `update_event` (incl. attendee removal), `delete_event`, `respond_to_invite`
|
|
117
|
+
- **Insights (runtime)**: `run_insight` (saved or ad-hoc SQL), `save_insight`, `list_insights`
|
|
118
|
+
- **Files**: `upload_files`, `download_file`
|
|
119
|
+
- **Workflow permissions**: `set_workflow_permission` (level `none` revokes), `list_workflow_permissions`, `check_user_permissions`
|
|
120
|
+
- **Marketplace**: `browse_marketplace`, `install_marketplace`, `publish_marketplace`
|
|
121
|
+
- **Server-only mutations**: `auto_set_keys` (transactional key generation), `core_init` (live activity counts)
|
|
122
|
+
|
|
123
|
+
Tools not in this list are either SDK-shadowed (see matrix above) or admin/dangerous (handled outside this environment).
|
|
124
|
+
|
|
125
|
+
## Skills
|
|
126
|
+
|
|
127
|
+
Load in sub-agents via the Skill tool. Never in main context.
|
|
128
|
+
|
|
129
|
+
| Skill | When |
|
|
130
|
+
|-------|------|
|
|
131
|
+
| `sdk-ws-config-skill` | Workflows, fields, phases, teams, groups |
|
|
132
|
+
| `sdk-function-fields` | Calculated fields, nameFunction |
|
|
133
|
+
| `sdk-activity-patterns` | Creating/updating activities via MCP |
|
|
134
|
+
| `sdk-insight-queries` | SQL insight queries |
|
|
135
|
+
| `hailer-app-builder` | Building Hailer apps (React/Chakra) |
|
|
136
|
+
| `hailer-design-system` | Theme, colors, icons, layout |
|
|
137
|
+
| `create-and-publish-app` | Scaffolding + publishing apps (dev/prod/marketplace) |
|
|
138
|
+
| `testing-patterns` | Vitest/playwright tests |
|
|
139
|
+
|
|
140
|
+
## Commands
|
|
141
|
+
|
|
142
|
+
`/command <param>` — angle brackets = required
|
|
12
143
|
|
|
13
|
-
|
|
144
|
+
**Essential:** `/save`, `/handoff`, `/prd`, `/autoplan`, `/ws-pull`
|
|
14
145
|
|
|
15
|
-
|
|
146
|
+
**Squads** (drive the native Workflow tool): `/review-squad [target]`, `/debug-squad "<bug>"`
|
|
16
147
|
|
|
17
|
-
|
|
148
|
+
Build apps with a single agent + the `hailer-app-builder` / `create-and-publish-app` skills — faster than fanning out a squad (no shared-contract prep, no cross-agent integration fixups).
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAQ9B,QAAA,MAAM,IAAI,MAAa,CAAC;AA2BxB,eAAe,IAAI,CAAC"}
|
package/dist/app.js
CHANGED
|
@@ -4,6 +4,7 @@ const core_1 = require("./core");
|
|
|
4
4
|
const config_1 = require("./config");
|
|
5
5
|
const logger_1 = require("./lib/logger");
|
|
6
6
|
const tools_1 = require("./mcp/tools");
|
|
7
|
+
const aliases_1 = require("./mcp/tools/aliases");
|
|
7
8
|
const vipunen_1 = require("./plugins/vipunen");
|
|
8
9
|
const logger = (0, logger_1.createLogger)({ component: 'app' });
|
|
9
10
|
const core = new core_1.Core();
|
|
@@ -11,6 +12,8 @@ const core = new core_1.Core();
|
|
|
11
12
|
for (const tool of tools_1.allTools) {
|
|
12
13
|
core.addTool(tool);
|
|
13
14
|
}
|
|
15
|
+
// v1 → v2 deprecation aliases: old names execute but aren't listed
|
|
16
|
+
core.addToolAliases(aliases_1.TOOL_ALIASES);
|
|
14
17
|
// Register Vipunen tools (conditional on WEAVIATE_HOST)
|
|
15
18
|
for (const tool of (0, vipunen_1.registerVipunenTools)({
|
|
16
19
|
weaviateHost: config_1.environment.WEAVIATE_HOST,
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";;AAAA,iCAA8B;AAC9B,qCAAuC;AACvC,yCAA4C;AAC5C,uCAAuC;AACvC,+CAAyD;AAEzD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,MAAM,IAAI,GAAG,IAAI,WAAI,EAAE,CAAC;AAExB,4BAA4B;AAC5B,KAAK,MAAM,IAAI,IAAI,gBAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";;AAAA,iCAA8B;AAC9B,qCAAuC;AACvC,yCAA4C;AAC5C,uCAAuC;AACvC,iDAAmD;AACnD,+CAAyD;AAEzD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,MAAM,IAAI,GAAG,IAAI,WAAI,EAAE,CAAC;AAExB,4BAA4B;AAC5B,KAAK,MAAM,IAAI,IAAI,gBAAQ,EAAE,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,mEAAmE;AACnE,IAAI,CAAC,cAAc,CAAC,sBAAY,CAAC,CAAC;AAElC,wDAAwD;AACxD,KAAK,MAAM,IAAI,IAAI,IAAA,8BAAoB,EAAC;IACpC,YAAY,EAAE,oBAAW,CAAC,aAAa;IACvC,cAAc,EAAE,oBAAW,CAAC,gBAAgB;IAC5C,cAAc,EAAE,oBAAW,CAAC,gBAAgB;CAC/C,CAAC,EAAE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAErC,QAAQ;AACR,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACzB,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,kBAAe,IAAI,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* BotManager - Manages lifecycle of Bot instances across workspaces.
|
|
3
3
|
*
|
|
4
|
-
* Loads configs from .bot-config
|
|
4
|
+
* Loads configs from .bot-config/ (created on runtime), starts one Bot per enabled workspace,
|
|
5
5
|
* and provides start/stop/status operations.
|
|
6
6
|
*/
|
|
7
7
|
import { ToolRegistry } from '../mcp/tool-registry';
|
|
8
8
|
import { BotConfig } from '../bot-config';
|
|
9
9
|
import type { BotEntry } from '../bot-config/types';
|
|
10
|
+
import { type BotEventAction } from '../bot-config/events';
|
|
10
11
|
export declare class BotManager {
|
|
11
12
|
private toolRegistry;
|
|
12
13
|
private anthropicApiKey;
|
|
@@ -16,9 +17,11 @@ export declare class BotManager {
|
|
|
16
17
|
private workspaceBots;
|
|
17
18
|
private apiHost;
|
|
18
19
|
constructor(toolRegistry: ToolRegistry, anthropicApiKey: string);
|
|
20
|
+
private runtime;
|
|
19
21
|
/** Get all bot userIds in a workspace (for self-message guard) */
|
|
20
22
|
getBotUserIdsForWorkspace(workspaceId: string): Set<string>;
|
|
21
23
|
startAll(): Promise<void>;
|
|
24
|
+
stopReconciliation(): void;
|
|
22
25
|
startBot(config: BotConfig): Promise<void>;
|
|
23
26
|
stopBot(botKey: string, workspaceId?: string): Promise<void>;
|
|
24
27
|
stopAll(): Promise<void>;
|
|
@@ -30,10 +33,10 @@ export declare class BotManager {
|
|
|
30
33
|
}>;
|
|
31
34
|
getBotCount(): number;
|
|
32
35
|
/**
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
handleBotUpdate(workspaceId: string, bot: BotEntry, action:
|
|
36
|
+
* Handle hot reload from webhook updates.
|
|
37
|
+
* Supports all bot types. Routes by activityId so multiple bots
|
|
38
|
+
* can run in the same workspace independently.
|
|
39
|
+
*/
|
|
40
|
+
handleBotUpdate(workspaceId: string, bot: BotEntry, action: BotEventAction): Promise<void>;
|
|
38
41
|
}
|
|
39
42
|
//# sourceMappingURL=bot-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-manager.d.ts","sourceRoot":"","sources":["../../src/bot/bot-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAsB,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"bot-manager.d.ts","sourceRoot":"","sources":["../../src/bot/bot-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAsB,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAOpD,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAmCvE,qBAAa,UAAU;IAQnB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IARvB,qCAAqC;IACrC,OAAO,CAAC,IAAI,CAA0B;IACtC,sEAAsE;IACtE,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,OAAO,CAAS;gBAGhB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,MAAM;IAK/B,OAAO,CAAC,OAAO;IAQf,kEAAkE;IAClE,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAcrD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA0D/B,kBAAkB,IAAI,IAAI;IAIpB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C1C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB5D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,SAAS,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IASxG,WAAW,IAAI,MAAM;IAIrB;;;;KAIC;IACK,eAAe,CACjB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;CA+GnB"}
|
package/dist/bot/bot-manager.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* BotManager - Manages lifecycle of Bot instances across workspaces.
|
|
4
4
|
*
|
|
5
|
-
* Loads configs from .bot-config
|
|
5
|
+
* Loads configs from .bot-config/ (created on runtime), starts one Bot per enabled workspace,
|
|
6
6
|
* and provides start/stop/status operations.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -11,7 +11,35 @@ const bot_1 = require("./bot");
|
|
|
11
11
|
const bot_config_1 = require("../bot-config");
|
|
12
12
|
const logger_1 = require("../lib/logger");
|
|
13
13
|
const config_1 = require("../config");
|
|
14
|
+
const reconciler_1 = require("../bot-config/reconciler");
|
|
15
|
+
const events_1 = require("../bot-config/events");
|
|
14
16
|
const logger = (0, logger_1.createLogger)({ component: 'bot-manager' });
|
|
17
|
+
/**
|
|
18
|
+
* Max simultaneous bot starts — each opens a socket + runs core.init.
|
|
19
|
+
* Unbounded fan-out times connections out (observed at 10 bots); fleets
|
|
20
|
+
* run into the hundreds, so starts ramp through this fixed-size pool.
|
|
21
|
+
*/
|
|
22
|
+
const STARTUP_CONCURRENCY = 5;
|
|
23
|
+
/** Promise.allSettled with a concurrency cap, preserving item order. */
|
|
24
|
+
async function runBounded(items, limit, task) {
|
|
25
|
+
const results = new Array(items.length);
|
|
26
|
+
let nextIndex = 0;
|
|
27
|
+
const workers = Array.from({ length: Math.min(limit, items.length) }, async () => {
|
|
28
|
+
while (nextIndex < items.length) {
|
|
29
|
+
const idx = nextIndex;
|
|
30
|
+
nextIndex += 1;
|
|
31
|
+
try {
|
|
32
|
+
await task(items[idx]);
|
|
33
|
+
results[idx] = { status: 'fulfilled', value: undefined };
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
results[idx] = { status: 'rejected', reason: error };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
await Promise.all(workers);
|
|
41
|
+
return results;
|
|
42
|
+
}
|
|
15
43
|
class BotManager {
|
|
16
44
|
toolRegistry;
|
|
17
45
|
anthropicApiKey;
|
|
@@ -25,6 +53,13 @@ class BotManager {
|
|
|
25
53
|
this.anthropicApiKey = anthropicApiKey;
|
|
26
54
|
this.apiHost = config_1.environment.BOT_API_BASE_URL;
|
|
27
55
|
}
|
|
56
|
+
runtime() {
|
|
57
|
+
return {
|
|
58
|
+
anthropicApiKey: this.anthropicApiKey,
|
|
59
|
+
toolRegistry: this.toolRegistry,
|
|
60
|
+
botManager: this,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
28
63
|
/** Get all bot userIds in a workspace (for self-message guard) */
|
|
29
64
|
getBotUserIdsForWorkspace(workspaceId) {
|
|
30
65
|
const ids = new Set();
|
|
@@ -32,8 +67,9 @@ class BotManager {
|
|
|
32
67
|
if (activityIds) {
|
|
33
68
|
for (const actId of activityIds) {
|
|
34
69
|
const bot = this.bots.get(actId);
|
|
35
|
-
if (bot?.botUserId)
|
|
70
|
+
if (bot?.botUserId) {
|
|
36
71
|
ids.add(bot.botUserId);
|
|
72
|
+
}
|
|
37
73
|
}
|
|
38
74
|
}
|
|
39
75
|
return ids;
|
|
@@ -42,16 +78,53 @@ class BotManager {
|
|
|
42
78
|
const configs = (0, bot_config_1.loadFlatBotConfigs)();
|
|
43
79
|
const enabled = configs.filter(c => c.enabled);
|
|
44
80
|
logger.debug('Starting bots', { total: configs.length, enabled: enabled.length });
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const
|
|
81
|
+
// Bounded concurrency: starting every bot at once stampedes the Hailer
|
|
82
|
+
// socket endpoint and times half of them out (observed: 5/10 dead at boot)
|
|
83
|
+
const firstPass = await runBounded(enabled, STARTUP_CONCURRENCY, config => this.startBot(config));
|
|
84
|
+
const failedConfigs = enabled.filter((_, idx) => firstPass[idx].status === 'rejected');
|
|
85
|
+
let retryResults = [];
|
|
86
|
+
if (failedConfigs.length > 0) {
|
|
87
|
+
logger.warn('Retrying failed bot startups', { count: failedConfigs.length });
|
|
88
|
+
retryResults = await runBounded(failedConfigs, STARTUP_CONCURRENCY, config => this.startBot(config));
|
|
89
|
+
}
|
|
90
|
+
const retriedOk = retryResults.filter(r => r.status === 'fulfilled').length;
|
|
91
|
+
const succeeded = firstPass.filter(r => r.status === 'fulfilled').length + retriedOk;
|
|
92
|
+
const failed = failedConfigs.length - retriedOk;
|
|
48
93
|
if (failed > 0) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
94
|
+
// Pair each failure with its bot config — Error objects JSON.stringify
|
|
95
|
+
// to {} so extract the message explicitly
|
|
96
|
+
const errors = retryResults
|
|
97
|
+
.map((result, idx) => ({ result, config: failedConfigs[idx] }))
|
|
98
|
+
.filter((entry) => entry.result.status === 'rejected')
|
|
99
|
+
.map(({ result, config }) => ({
|
|
100
|
+
activityId: config.activityId,
|
|
101
|
+
workspaceId: config.workspaceId,
|
|
102
|
+
error: result.reason instanceof Error ? result.reason.message : String(result.reason),
|
|
103
|
+
}));
|
|
104
|
+
logger.error('Some bots failed to start after retry', { failed, errors });
|
|
53
105
|
}
|
|
54
106
|
logger.debug('Bot startup complete', { succeeded, failed });
|
|
107
|
+
(0, events_1.onBotEvent)(async ({ workspaceId, bot, action }) => {
|
|
108
|
+
try {
|
|
109
|
+
await this.handleBotUpdate(workspaceId, bot, action);
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
logger.error('Bot event handler failed', { workspaceId, activityId: bot.activityId, action, err });
|
|
113
|
+
// For destructive ops the destroyBot caller needs to know teardown
|
|
114
|
+
// didn't happen, so it can return a non-success HTTP status.
|
|
115
|
+
// Non-destructive actions tolerate partial failure.
|
|
116
|
+
if (action === 'destroy') {
|
|
117
|
+
throw err;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
// No initial reconcile — Bot.start()'s self-probe already covers gone-detection
|
|
122
|
+
// for every enabled bot, and disabled bots have no live work to interrupt
|
|
123
|
+
// before the first interval fires.
|
|
124
|
+
(0, reconciler_1.startReconciliationInterval)();
|
|
125
|
+
}
|
|
126
|
+
stopReconciliation() {
|
|
127
|
+
(0, reconciler_1.stopReconciliationInterval)();
|
|
55
128
|
}
|
|
56
129
|
async startBot(config) {
|
|
57
130
|
const botKey = config.activityId || config.workspaceId; // fallback for legacy configs
|
|
@@ -64,20 +137,7 @@ class BotManager {
|
|
|
64
137
|
workspaceId: config.workspaceId,
|
|
65
138
|
workspace: config.workspaceName,
|
|
66
139
|
});
|
|
67
|
-
const bot = new bot_1.Bot(
|
|
68
|
-
email: config.email,
|
|
69
|
-
password: config.password,
|
|
70
|
-
apiHost: config.apiHost,
|
|
71
|
-
anthropicApiKey: this.anthropicApiKey,
|
|
72
|
-
toolRegistry: this.toolRegistry,
|
|
73
|
-
workspaceId: config.workspaceId,
|
|
74
|
-
systemPrompt: config.systemPrompt,
|
|
75
|
-
responseMode: config.responseMode,
|
|
76
|
-
botManager: this,
|
|
77
|
-
accessLevel: config.accessLevel,
|
|
78
|
-
allowedWorkflows: config.allowedWorkflows,
|
|
79
|
-
allowBotMessages: config.allowBotMessages,
|
|
80
|
-
});
|
|
140
|
+
const bot = new bot_1.Bot(config, this.runtime());
|
|
81
141
|
// Reserve the slot before async start to prevent duplicate starts from concurrent webhooks
|
|
82
142
|
this.bots.set(botKey, bot);
|
|
83
143
|
try {
|
|
@@ -85,6 +145,15 @@ class BotManager {
|
|
|
85
145
|
}
|
|
86
146
|
catch (error) {
|
|
87
147
|
this.bots.delete(botKey);
|
|
148
|
+
// ActivityGoneError is the bot signalling it pruned itself from config.
|
|
149
|
+
// Swallow so the manager moves on to the next bot — the entry is gone,
|
|
150
|
+
// there's nothing to recover.
|
|
151
|
+
if (error instanceof bot_1.ActivityGoneError) {
|
|
152
|
+
logger.info('Bot self-pruned (activity deleted in Hailer)', {
|
|
153
|
+
activityId: error.activityId, workspaceId: error.workspaceId,
|
|
154
|
+
});
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
88
157
|
throw error;
|
|
89
158
|
}
|
|
90
159
|
// Track in workspace lookup
|
|
@@ -96,8 +165,9 @@ class BotManager {
|
|
|
96
165
|
}
|
|
97
166
|
async stopBot(botKey, workspaceId) {
|
|
98
167
|
const bot = this.bots.get(botKey);
|
|
99
|
-
if (!bot)
|
|
168
|
+
if (!bot) {
|
|
100
169
|
return;
|
|
170
|
+
}
|
|
101
171
|
await bot.stop();
|
|
102
172
|
this.bots.delete(botKey);
|
|
103
173
|
// Clean up workspace tracking
|
|
@@ -105,8 +175,9 @@ class BotManager {
|
|
|
105
175
|
const wsSet = this.workspaceBots.get(workspaceId);
|
|
106
176
|
if (wsSet) {
|
|
107
177
|
wsSet.delete(botKey);
|
|
108
|
-
if (wsSet.size === 0)
|
|
178
|
+
if (wsSet.size === 0) {
|
|
109
179
|
this.workspaceBots.delete(workspaceId);
|
|
180
|
+
}
|
|
110
181
|
}
|
|
111
182
|
}
|
|
112
183
|
logger.debug('Bot stopped', { activityId: botKey, workspaceId });
|
|
@@ -132,10 +203,10 @@ class BotManager {
|
|
|
132
203
|
return this.bots.size;
|
|
133
204
|
}
|
|
134
205
|
/**
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
206
|
+
* Handle hot reload from webhook updates.
|
|
207
|
+
* Supports all bot types. Routes by activityId so multiple bots
|
|
208
|
+
* can run in the same workspace independently.
|
|
209
|
+
*/
|
|
139
210
|
async handleBotUpdate(workspaceId, bot, action) {
|
|
140
211
|
const botKey = bot.activityId;
|
|
141
212
|
if (!botKey) {
|
|
@@ -143,6 +214,37 @@ class BotManager {
|
|
|
143
214
|
return;
|
|
144
215
|
}
|
|
145
216
|
const running = this.bots.has(botKey);
|
|
217
|
+
if (action === 'destroy') {
|
|
218
|
+
// No running session = nothing to tear down. Bot.destroy() only
|
|
219
|
+
// calls stop() (it intentionally does NOT delete the Hailer user
|
|
220
|
+
// account — see comment in bot.ts), and the config entry was
|
|
221
|
+
// already removed by destroyBot before this event was emitted.
|
|
222
|
+
// So a not-running bot is already fully destroyed — return ok.
|
|
223
|
+
if (!running) {
|
|
224
|
+
logger.info('Destroy requested for non-running bot — config already removed, nothing to stop', {
|
|
225
|
+
activityId: botKey, workspaceId,
|
|
226
|
+
});
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
logger.info('Destroying bot (stopping running session)', { activityId: botKey, workspaceId });
|
|
230
|
+
const runningBot = this.bots.get(botKey);
|
|
231
|
+
this.bots.delete(botKey);
|
|
232
|
+
const wsSet = this.workspaceBots.get(workspaceId);
|
|
233
|
+
if (wsSet) {
|
|
234
|
+
wsSet.delete(botKey);
|
|
235
|
+
if (wsSet.size === 0) {
|
|
236
|
+
this.workspaceBots.delete(workspaceId);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
try {
|
|
240
|
+
await runningBot.destroy();
|
|
241
|
+
}
|
|
242
|
+
catch (err) {
|
|
243
|
+
await runningBot.stop().catch(() => undefined);
|
|
244
|
+
throw err;
|
|
245
|
+
}
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
146
248
|
if (action === 'remove' || !bot.enabled) {
|
|
147
249
|
if (running) {
|
|
148
250
|
logger.info('Stopping bot (disabled via webhook)', { activityId: botKey, workspaceId });
|
|
@@ -158,13 +260,20 @@ class BotManager {
|
|
|
158
260
|
// action is 'add' or 'update' with enabled=true
|
|
159
261
|
if (running) {
|
|
160
262
|
const runningBot = this.bots.get(botKey);
|
|
161
|
-
// If only the system prompt changed, update it live — no restart needed
|
|
162
|
-
|
|
263
|
+
// If only the system prompt changed, update it live — no restart needed.
|
|
264
|
+
// Email is the stable identity; password is intentionally NOT compared
|
|
265
|
+
// because Bot.start() zeroes its in-memory copy after the initial connect
|
|
266
|
+
// (security measure). Comparing the cleared '' against the persisted real
|
|
267
|
+
// password always reads as "changed", forcing a full restart on every
|
|
268
|
+
// field update — which kicked the bot out of its own discussion mid-reply
|
|
269
|
+
// every time it called update_my_system_prompt.
|
|
270
|
+
const credentialsChanged = runningBot.email !== bot.email;
|
|
163
271
|
const accessLevelChanged = bot.accessLevel !== undefined && runningBot.accessLevel !== bot.accessLevel;
|
|
164
272
|
if (!credentialsChanged && !accessLevelChanged) {
|
|
165
273
|
logger.info('Updating bot config live (no restart needed)', { activityId: botKey, workspaceId });
|
|
166
274
|
runningBot.updateSystemPrompt(bot.systemPrompt);
|
|
167
275
|
runningBot.updateResponseMode(bot.responseMode);
|
|
276
|
+
runningBot.updateHelperMode(bot.helperMode);
|
|
168
277
|
return;
|
|
169
278
|
}
|
|
170
279
|
// Credentials changed — full restart required
|
|
@@ -185,6 +294,8 @@ class BotManager {
|
|
|
185
294
|
allowedWorkflows: bot.allowedWorkflows,
|
|
186
295
|
allowBotMessages: bot.allowBotMessages,
|
|
187
296
|
responseMode: bot.responseMode,
|
|
297
|
+
helperMode: bot.helperMode,
|
|
298
|
+
seedContext: bot.seedContext,
|
|
188
299
|
};
|
|
189
300
|
try {
|
|
190
301
|
await this.startBot(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-manager.js","sourceRoot":"","sources":["../../src/bot/bot-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bot-manager.js","sourceRoot":"","sources":["../../src/bot/bot-manager.ts"],"names":[],"mappings":"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"}
|