@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
|
@@ -30,23 +30,23 @@ class RequestLogger {
|
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
* Called when message is received
|
|
34
|
+
*/
|
|
35
35
|
messageReceived(from, discussionId) {
|
|
36
36
|
this.data.request.from = from;
|
|
37
37
|
this.data.request.discussion = discussionId.substring(0, 8);
|
|
38
38
|
this.data.request.timestamp = new Date().toISOString();
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
* Called when tool execution starts
|
|
42
|
+
*/
|
|
43
43
|
toolStart(toolName) {
|
|
44
44
|
this.currentToolName = toolName;
|
|
45
45
|
this.currentToolStart = Date.now();
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
* Called when tool execution succeeds
|
|
49
|
+
*/
|
|
50
50
|
toolSuccess(toolName) {
|
|
51
51
|
const name = toolName || this.currentToolName;
|
|
52
52
|
const duration = this.currentToolStart ? ((Date.now() - this.currentToolStart) / 1000).toFixed(1) + 's' : undefined;
|
|
@@ -59,8 +59,8 @@ class RequestLogger {
|
|
|
59
59
|
this.currentToolStart = 0;
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
* Called when tool execution fails
|
|
63
|
+
*/
|
|
64
64
|
toolError(toolName, error) {
|
|
65
65
|
const duration = this.currentToolStart ? ((Date.now() - this.currentToolStart) / 1000).toFixed(1) + 's' : undefined;
|
|
66
66
|
this.data.tools.push({
|
|
@@ -73,8 +73,8 @@ class RequestLogger {
|
|
|
73
73
|
this.currentToolStart = 0;
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
* Called when tool has validation warning
|
|
77
|
+
*/
|
|
78
78
|
toolWarning(toolName, warning) {
|
|
79
79
|
this.data.tools.push({
|
|
80
80
|
name: toolName,
|
|
@@ -83,9 +83,9 @@ class RequestLogger {
|
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
* Called when a tool is used (legacy - for backward compatibility)
|
|
87
|
+
* @deprecated Use toolStart/toolSuccess/toolError instead
|
|
88
|
+
*/
|
|
89
89
|
toolCall(toolName) {
|
|
90
90
|
// Only add if not already tracking this tool
|
|
91
91
|
if (!this.data.tools.find(t => t.name === toolName)) {
|
|
@@ -96,14 +96,14 @@ class RequestLogger {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
* Called when an error occurs
|
|
100
|
+
*/
|
|
101
101
|
error(message) {
|
|
102
102
|
this.data.errors.push(message);
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
* Called when response is sent - emits the combined log
|
|
106
|
+
*/
|
|
107
107
|
responseSent(tokens) {
|
|
108
108
|
const duration = ((Date.now() - this.startTime) / 1000).toFixed(1);
|
|
109
109
|
this.data.response = {
|
|
@@ -129,8 +129,8 @@ class RequestLogger {
|
|
|
129
129
|
logger.info('Request complete', logData);
|
|
130
130
|
}
|
|
131
131
|
/**
|
|
132
|
-
|
|
133
|
-
|
|
132
|
+
* Get current data (for debugging)
|
|
133
|
+
*/
|
|
134
134
|
getData() {
|
|
135
135
|
return { ...this.data };
|
|
136
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-logger.js","sourceRoot":"","sources":["../../src/lib/request-logger.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qCAAwC;AAExC,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;AA2B5D,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"request-logger.js","sourceRoot":"","sources":["../../src/lib/request-logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,12 @@ export interface UserContext {
|
|
|
15
15
|
workspaceRoles: Record<string, UserRole>;
|
|
16
16
|
currentWorkspaceId: string;
|
|
17
17
|
allowedGroups: ToolGroup[];
|
|
18
|
+
/**
|
|
19
|
+
* Bot's own Agent Directory activity ID. Set only when the context is
|
|
20
|
+
* built for an in-process bot (not for OAuth/userapikey contexts). Used by
|
|
21
|
+
* BOT_INTERNAL self-management tools (read_my_system_prompt, update_my_system_prompt).
|
|
22
|
+
*/
|
|
23
|
+
botActivityId?: string;
|
|
18
24
|
}
|
|
19
25
|
/**
|
|
20
26
|
* Cache for user-specific data (client connections, init data, workspace cache)
|
|
@@ -32,36 +38,36 @@ export declare class UserContextCache {
|
|
|
32
38
|
/** Life of each cache unit. */
|
|
33
39
|
private static readonly DEFAULT_TTL_MS;
|
|
34
40
|
/**
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
* Get or create user context (client, init, workspaceCache) for an API key
|
|
42
|
+
* This data is user-specific and should be cached per user
|
|
43
|
+
*
|
|
44
|
+
* Uses Promise memoization to prevent race conditions: if multiple requests
|
|
45
|
+
* come in for the same API key simultaneously, they all wait for the same
|
|
46
|
+
* Promise instead of creating duplicate connections.
|
|
47
|
+
*
|
|
48
|
+
* @param apiKey - Hailer API key for authentication
|
|
49
|
+
* @param forceRefresh - If true, bypasses cache and creates fresh context (useful for testing or after permission changes)
|
|
50
|
+
* @param ttlMs - Custom TTL in milliseconds, defaults to 15 minutes
|
|
51
|
+
*/
|
|
46
52
|
static getContext(apiKey: string, forceRefresh?: boolean, ttlMs?: number): Promise<UserContext>;
|
|
47
53
|
/**
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
* Internal method that actually creates the context.
|
|
55
|
+
* Separated from getContext to support Promise memoization.
|
|
56
|
+
*/
|
|
51
57
|
private static createContextInternal;
|
|
52
58
|
/**
|
|
53
|
-
|
|
54
|
-
|
|
59
|
+
* Clear cache entry for specific API key (for cleanup/testing)
|
|
60
|
+
*/
|
|
55
61
|
static clearContext(apiKey: string): void;
|
|
56
62
|
/**
|
|
57
|
-
|
|
58
|
-
|
|
63
|
+
* Clear all cached contexts (for cleanup/testing)
|
|
64
|
+
*/
|
|
59
65
|
static clearAll(): void;
|
|
60
66
|
/**
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
* Get cache statistics (for monitoring and debugging)
|
|
68
|
+
*
|
|
69
|
+
* @returns Cache stats including size, API keys, and age information
|
|
70
|
+
*/
|
|
65
71
|
static getCacheStats(): {
|
|
66
72
|
size: number;
|
|
67
73
|
apiKeys: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserContextCache.d.ts","sourceRoot":"","sources":["../../src/mcp/UserContextCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgF,MAAM,kBAAkB,CAAC;AAC9H,OAAO,EAAwB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAyC,MAAM,eAAe,CAAC;AACjH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"UserContextCache.d.ts","sourceRoot":"","sources":["../../src/mcp/UserContextCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgF,MAAM,kBAAkB,CAAC;AAC9H,OAAO,EAAwB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAyC,MAAM,eAAe,CAAC;AACjH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACH,QAAQ,EAKX,MAAM,eAAe,CAAC;AAIvB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAGlB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IAEjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAkC;IACtD,0FAA0F;IAC1F,OAAO,CAAC,MAAM,CAAC,OAAO,CAA2C;IACjE,+BAA+B;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAkB;IAExD;;;;;;;;;;;KAWC;WACY,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,GAAE,OAAe,EAAE,KAAK,GAAE,MAA4B,GAAG,OAAO,CAAC,WAAW,CAAC;IA2DjI;;;KAGC;mBACoB,qBAAqB;IAuG1C;;KAEC;IACD,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOzC;;KAEC;IACD,MAAM,CAAC,QAAQ,IAAI,IAAI;IAMvB;;;;KAIC;IACD,MAAM,CAAC,aAAa,IAAI;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,KAAK,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,CAAC;YACnB,SAAS,EAAE,OAAO,CAAC;SACpB,CAAC,CAAC;KACF;CAoBJ"}
|
|
@@ -24,17 +24,17 @@ class UserContextCache {
|
|
|
24
24
|
/** Life of each cache unit. */
|
|
25
25
|
static DEFAULT_TTL_MS = 15 * 60 * 1000; // 15 minutes
|
|
26
26
|
/**
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
27
|
+
* Get or create user context (client, init, workspaceCache) for an API key
|
|
28
|
+
* This data is user-specific and should be cached per user
|
|
29
|
+
*
|
|
30
|
+
* Uses Promise memoization to prevent race conditions: if multiple requests
|
|
31
|
+
* come in for the same API key simultaneously, they all wait for the same
|
|
32
|
+
* Promise instead of creating duplicate connections.
|
|
33
|
+
*
|
|
34
|
+
* @param apiKey - Hailer API key for authentication
|
|
35
|
+
* @param forceRefresh - If true, bypasses cache and creates fresh context (useful for testing or after permission changes)
|
|
36
|
+
* @param ttlMs - Custom TTL in milliseconds, defaults to 15 minutes
|
|
37
|
+
*/
|
|
38
38
|
static async getContext(apiKey, forceRefresh = false, ttlMs = this.DEFAULT_TTL_MS) {
|
|
39
39
|
logger.debug('getContext called', {
|
|
40
40
|
apiKey: apiKey.substring(0, 8) + '...',
|
|
@@ -92,9 +92,9 @@ class UserContextCache {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
* Internal method that actually creates the context.
|
|
96
|
+
* Separated from getContext to support Promise memoization.
|
|
97
|
+
*/
|
|
98
98
|
static async createContextInternal(apiKey) {
|
|
99
99
|
logger.debug('Creating new user context', { apiKey: apiKey.substring(0, 8) + '...' });
|
|
100
100
|
try {
|
|
@@ -140,7 +140,7 @@ class UserContextCache {
|
|
|
140
140
|
currentWorkspaceId,
|
|
141
141
|
currentRole: userRole,
|
|
142
142
|
});
|
|
143
|
-
// Get credentials from config (for tools
|
|
143
|
+
// Get credentials from config (for tools that need external auth (e.g. marketplace installs))
|
|
144
144
|
// User API Keys (OAuth users) don't have bot credentials - use empty strings
|
|
145
145
|
const isUserApiKey = apiKey.startsWith('userapikey_');
|
|
146
146
|
let email = '';
|
|
@@ -186,8 +186,8 @@ class UserContextCache {
|
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
/**
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
* Clear cache entry for specific API key (for cleanup/testing)
|
|
190
|
+
*/
|
|
191
191
|
static clearContext(apiKey) {
|
|
192
192
|
this.cache.delete(apiKey);
|
|
193
193
|
logger.debug('Cleared user context from cache', {
|
|
@@ -195,18 +195,18 @@ class UserContextCache {
|
|
|
195
195
|
});
|
|
196
196
|
}
|
|
197
197
|
/**
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
* Clear all cached contexts (for cleanup/testing)
|
|
199
|
+
*/
|
|
200
200
|
static clearAll() {
|
|
201
201
|
const size = this.cache.size;
|
|
202
202
|
this.cache.clear();
|
|
203
203
|
logger.info('Cleared all user contexts from cache', { clearedCount: size });
|
|
204
204
|
}
|
|
205
205
|
/**
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
206
|
+
* Get cache statistics (for monitoring and debugging)
|
|
207
|
+
*
|
|
208
|
+
* @returns Cache stats including size, API keys, and age information
|
|
209
|
+
*/
|
|
210
210
|
static getCacheStats() {
|
|
211
211
|
const now = Date.now();
|
|
212
212
|
const entries = Array.from(this.cache.entries()).map(([key, context]) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserContextCache.js","sourceRoot":"","sources":["../../src/mcp/UserContextCache.ts"],"names":[],"mappings":";;;AAAA,qDAA8H;AAC9H,uDAAyE;AACzE,sCAAiE;AACjE,0CAA6C;AAC7C,yCAAiH;AAEjH,yCAMuB;AAEvB,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"UserContextCache.js","sourceRoot":"","sources":["../../src/mcp/UserContextCache.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/mcp/auth.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACI,MAAM,SAAS,GAAG,KAAK,EAAE,GAAW,EAAE,UAAuB,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/mcp/auth.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACI,MAAM,SAAS,GAAG,KAAK,EAAE,GAAW,EAAE,UAAuB,EAAE,EAAE,EAAE;IACtE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;IAC7D,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC;QACrC,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE3C,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;QAClC,sEAAsE;QAClE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,GAAG,CAAC;QAE/C,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO,QAAQ,CAAC;QACpB,CAAC;gBAAS,CAAC;YACP,6BAA6B;YAC7B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,aAAa,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACJ,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;YACpD,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC;AAzBW,QAAA,SAAS,aAyBpB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Client } from
|
|
1
|
+
import { Client } from '@hailer/cli';
|
|
2
2
|
import { SignalType } from './utils/types';
|
|
3
3
|
export interface HailerRestClient {
|
|
4
4
|
fetch: (url: string, options?: RequestInit) => Promise<Response>;
|
|
@@ -19,9 +19,9 @@ export declare class RestOnlySocket {
|
|
|
19
19
|
private apiKey;
|
|
20
20
|
constructor(baseUrl: string, apiKey: string);
|
|
21
21
|
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
* Make RPC request via REST API instead of socket
|
|
23
|
+
* Hailer's /api endpoint accepts the same RPC format as socket
|
|
24
|
+
*/
|
|
25
25
|
request(method: string, args?: unknown[]): Promise<unknown>;
|
|
26
26
|
on(_event: string, _handler: (...args: any[]) => void): void;
|
|
27
27
|
off(_event: string, _handler: (...args: any[]) => void): void;
|
|
@@ -52,6 +52,7 @@ export declare class HailerClientManager {
|
|
|
52
52
|
isConnected(): boolean;
|
|
53
53
|
getClient(): HailerClient | null;
|
|
54
54
|
}
|
|
55
|
+
export declare function withApiKeyLock<T>(apiKey: string, fn: () => Promise<T>): Promise<T>;
|
|
55
56
|
/**
|
|
56
57
|
* Create Hailer client by API key (O(1) lookup)
|
|
57
58
|
* This is the new efficient method for MCP Server to get connections
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hailer-clients.d.ts","sourceRoot":"","sources":["../../src/mcp/hailer-clients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,EAAwC,UAAU,EAAE,MAAM,eAAe,CAAC;AAOjF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC;IAChC,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,qBAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"hailer-clients.d.ts","sourceRoot":"","sources":["../../src/mcp/hailer-clients.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.subscribeToSignal = exports.clearAllConnections = exports.disconnectHailerClientByApiKey = exports.createHailerClientByApiKey = exports.HailerClientManager = exports.RestOnlySocket = void 0;
|
|
4
4
|
exports.getCurrentUserId = getCurrentUserId;
|
|
5
|
+
exports.withApiKeyLock = withApiKeyLock;
|
|
5
6
|
exports.registerBotCredentials = registerBotCredentials;
|
|
6
7
|
exports.unregisterBotCredentials = unregisterBotCredentials;
|
|
7
8
|
const cli_1 = require("@hailer/cli");
|
|
@@ -24,9 +25,9 @@ class RestOnlySocket {
|
|
|
24
25
|
this.apiKey = apiKey;
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
* Make RPC request via REST API instead of socket
|
|
29
|
+
* Hailer's /api endpoint accepts the same RPC format as socket
|
|
30
|
+
*/
|
|
30
31
|
async request(method, args = []) {
|
|
31
32
|
const url = `${this.host}/api/${method.replace(/\./g, '/')}`;
|
|
32
33
|
logger.debug('RestOnlySocket making request', {
|
|
@@ -38,7 +39,7 @@ class RestOnlySocket {
|
|
|
38
39
|
method: 'POST',
|
|
39
40
|
headers: {
|
|
40
41
|
'Content-Type': 'application/json',
|
|
41
|
-
|
|
42
|
+
hlrkey: this.apiKey,
|
|
42
43
|
},
|
|
43
44
|
body: JSON.stringify({ args }),
|
|
44
45
|
});
|
|
@@ -81,8 +82,8 @@ async function getCurrentUserId(client) {
|
|
|
81
82
|
try {
|
|
82
83
|
// Use the socket client to get initialization data with the current user
|
|
83
84
|
// According to the API docs, requesting "user" returns the current authenticated user
|
|
84
|
-
const init = (await client.socket.request(
|
|
85
|
-
[
|
|
85
|
+
const init = (await client.socket.request('v2.core.init', [
|
|
86
|
+
['user'],
|
|
86
87
|
]));
|
|
87
88
|
// Check if there's a user field (this is the current authenticated user)
|
|
88
89
|
if (init.user && init.user._id) {
|
|
@@ -93,8 +94,8 @@ async function getCurrentUserId(client) {
|
|
|
93
94
|
logger.warn('User not found in init.user, trying alternative approach');
|
|
94
95
|
// Method 2: Try to get current user from a profile/me endpoint
|
|
95
96
|
try {
|
|
96
|
-
const profileResponse = await client.rest.fetch(
|
|
97
|
-
method:
|
|
97
|
+
const profileResponse = await client.rest.fetch('/api/user/me', {
|
|
98
|
+
method: 'GET',
|
|
98
99
|
});
|
|
99
100
|
if (profileResponse.ok) {
|
|
100
101
|
const profile = (await profileResponse.json());
|
|
@@ -108,8 +109,8 @@ async function getCurrentUserId(client) {
|
|
|
108
109
|
logger.warn('Profile endpoint not available, trying network method');
|
|
109
110
|
}
|
|
110
111
|
// Method 3: Try with network data to infer from workspace membership
|
|
111
|
-
const initWithNetwork = (await client.socket.request(
|
|
112
|
-
[
|
|
112
|
+
const initWithNetwork = (await client.socket.request('v2.core.init', [
|
|
113
|
+
['network'],
|
|
113
114
|
]));
|
|
114
115
|
if (initWithNetwork.network && initWithNetwork.network.members) {
|
|
115
116
|
const members = initWithNetwork.network.members;
|
|
@@ -124,7 +125,7 @@ async function getCurrentUserId(client) {
|
|
|
124
125
|
}
|
|
125
126
|
}
|
|
126
127
|
// If all methods fail, throw an error with helpful information
|
|
127
|
-
throw new Error(
|
|
128
|
+
throw new Error('Could not determine current user ID from any available method. Check API credentials and permissions.');
|
|
128
129
|
}
|
|
129
130
|
catch (error) {
|
|
130
131
|
logger.error('Failed to get current user ID', error);
|
|
@@ -148,7 +149,7 @@ class HailerClientManager {
|
|
|
148
149
|
}
|
|
149
150
|
async connect() {
|
|
150
151
|
// Check if this is a local development environment
|
|
151
|
-
const isLocalDev = this.host.includes(
|
|
152
|
+
const isLocalDev = this.host.includes('local.gd') || this.host.includes('localhost');
|
|
152
153
|
const clientOptions = {
|
|
153
154
|
host: this.host,
|
|
154
155
|
username: this.username,
|
|
@@ -188,7 +189,7 @@ class HailerClientManager {
|
|
|
188
189
|
throw error;
|
|
189
190
|
}
|
|
190
191
|
if (!this.socketClient.sessionKey) {
|
|
191
|
-
throw new Error(
|
|
192
|
+
throw new Error('Socket client connected but no session key received');
|
|
192
193
|
}
|
|
193
194
|
// Create REST client that uses the same session key
|
|
194
195
|
this.restClient = {
|
|
@@ -196,7 +197,7 @@ class HailerClientManager {
|
|
|
196
197
|
const headers = {
|
|
197
198
|
...options.headers,
|
|
198
199
|
hlrkey: this.socketClient.sessionKey,
|
|
199
|
-
|
|
200
|
+
'Content-Type': 'application/json',
|
|
200
201
|
};
|
|
201
202
|
return (0, auth_1.safeFetch)(url, { ...options, headers });
|
|
202
203
|
},
|
|
@@ -211,39 +212,40 @@ class HailerClientManager {
|
|
|
211
212
|
};
|
|
212
213
|
}
|
|
213
214
|
setupSignalHandling() {
|
|
214
|
-
if (!this.socketClient || this.signalsInitialized)
|
|
215
|
+
if (!this.socketClient || this.signalsInitialized) {
|
|
215
216
|
return;
|
|
217
|
+
}
|
|
216
218
|
this.signalsInitialized = true;
|
|
217
219
|
// Connection lifecycle logging - helps diagnose bot death issues
|
|
218
|
-
this.socketClient.on(
|
|
220
|
+
this.socketClient.on('disconnect', (reason) => {
|
|
219
221
|
logger.warn('Socket disconnected', {
|
|
220
222
|
reason,
|
|
221
223
|
username: this.username,
|
|
222
224
|
willReconnect: reason !== 'io server disconnect' && reason !== 'io client disconnect'
|
|
223
225
|
});
|
|
224
226
|
});
|
|
225
|
-
this.socketClient.on(
|
|
227
|
+
this.socketClient.on('reconnect', () => {
|
|
226
228
|
logger.info('Socket reconnected and session resumed', { username: this.username });
|
|
227
229
|
});
|
|
228
|
-
this.socketClient.on(
|
|
230
|
+
this.socketClient.on('connect', () => {
|
|
229
231
|
logger.info('Socket connected', { username: this.username });
|
|
230
232
|
});
|
|
231
|
-
this.socketClient.on(
|
|
233
|
+
this.socketClient.on('connect_error', (error) => {
|
|
232
234
|
logger.error('Socket connection error', { error: error.message, username: this.username });
|
|
233
235
|
});
|
|
234
|
-
this.socketClient.on(
|
|
236
|
+
this.socketClient.on('reconnect_attempt', (attempt) => {
|
|
235
237
|
logger.info('Socket reconnection attempt', { attempt, username: this.username });
|
|
236
238
|
});
|
|
237
|
-
this.socketClient.on(
|
|
239
|
+
this.socketClient.on('reconnect_failed', () => {
|
|
238
240
|
logger.error('Socket reconnection failed permanently', { username: this.username });
|
|
239
241
|
});
|
|
240
|
-
this.socketClient.on(
|
|
242
|
+
this.socketClient.on('signals', (signal) => {
|
|
241
243
|
const [eventType, eventData] = signal;
|
|
242
|
-
//
|
|
244
|
+
// Log messenger.new signals at INFO level for debugging
|
|
243
245
|
if (eventType === 'messenger.new') {
|
|
244
|
-
logger.
|
|
245
|
-
eventType,
|
|
246
|
+
logger.info('SIGNAL messenger.new received', {
|
|
246
247
|
discussion: eventData.discussion,
|
|
248
|
+
uid: eventData.uid,
|
|
247
249
|
handlersRegistered: this.signalHandlers.has(eventType),
|
|
248
250
|
handlerCount: this.signalHandlers.get(eventType)?.length || 0,
|
|
249
251
|
});
|
|
@@ -309,6 +311,38 @@ exports.HailerClientManager = HailerClientManager;
|
|
|
309
311
|
const connectionPool = new Map();
|
|
310
312
|
// Pool for User API Key socket clients
|
|
311
313
|
const userApiKeyClients = new Map();
|
|
314
|
+
/**
|
|
315
|
+
* Per-API-key mutex. Hailer's API key carries a server-side "current workspace"
|
|
316
|
+
* pointer that `core.switch_ecosystem` mutates and that subsequent calls
|
|
317
|
+
* (`core.init`, `activities.load`, `v2.user.register`) implicitly inherit. If
|
|
318
|
+
* one physical admin is authorized in multiple workspaces, both workspaces'
|
|
319
|
+
* webhooks share the same client and the same server-side pointer, so two
|
|
320
|
+
* concurrent flows can interleave: ws-A switches to A, ws-B switches to B,
|
|
321
|
+
* ws-A's next call now runs in B's context. Net result: bot invited to
|
|
322
|
+
* workspace A but assigned a team from workspace B, etc.
|
|
323
|
+
*
|
|
324
|
+
* This lock serializes "switch + dependent calls" blocks per API key so that
|
|
325
|
+
* concurrent admin-driven flows from different workspaces queue cleanly. It
|
|
326
|
+
* adds ~hundreds of ms latency when two workspaces fire admin operations at
|
|
327
|
+
* once, but eliminates the cross-workspace context leak.
|
|
328
|
+
*
|
|
329
|
+
* The lock chains via `prev.then(fn, fn)` so a thrown fn never stalls the
|
|
330
|
+
* queue — the same shape used by `provisionLocks` in webhook-handler.ts.
|
|
331
|
+
*/
|
|
332
|
+
const apiKeyLocks = new Map();
|
|
333
|
+
async function withApiKeyLock(apiKey, fn) {
|
|
334
|
+
const prev = apiKeyLocks.get(apiKey) ?? Promise.resolve();
|
|
335
|
+
const next = prev.then(fn, fn);
|
|
336
|
+
apiKeyLocks.set(apiKey, next);
|
|
337
|
+
try {
|
|
338
|
+
return await next;
|
|
339
|
+
}
|
|
340
|
+
finally {
|
|
341
|
+
if (apiKeyLocks.get(apiKey) === next) {
|
|
342
|
+
apiKeyLocks.delete(apiKey);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
312
346
|
/**
|
|
313
347
|
* Create a REST-only client for User API Keys
|
|
314
348
|
*
|
|
@@ -384,12 +418,12 @@ const createHailerClientByApiKey = async (apiKey) => {
|
|
|
384
418
|
// Check if this is a User API Key (from OAuth flow)
|
|
385
419
|
// User API Keys start with "userapikey_" and can authenticate via socket resume()
|
|
386
420
|
if (apiKey.startsWith('userapikey_')) {
|
|
387
|
-
return
|
|
421
|
+
return createUserApiKeyClient(apiKey);
|
|
388
422
|
}
|
|
389
423
|
// O(1) lookup in Map-based CLIENT_CONFIGS (for bot accounts)
|
|
390
424
|
const account = config_1.environment.CLIENT_CONFIGS[apiKey];
|
|
391
425
|
if (!account) {
|
|
392
|
-
throw new Error(`No Hailer account found for API key: ${apiKey}
|
|
426
|
+
throw new Error(`No Hailer account found for API key: ${apiKey.substring(0, 8)}...`);
|
|
393
427
|
}
|
|
394
428
|
logger.debug('Creating clients for API key', {
|
|
395
429
|
apiKey: apiKey.substring(0, 8) + '...',
|