@hailer/mcp 1.2.1 → 1.3.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 +133 -143
- package/.claude/skills/hailer-app-builder/SKILL.md +29 -2
- package/.claude/skills/hailer-ui-guide/SKILL.md +265 -0
- package/.env.example +50 -1
- package/CLAUDE.md +141 -10
- package/dist/app-prep.d.ts +27 -0
- package/dist/app-prep.d.ts.map +1 -0
- package/dist/app-prep.js +94 -0
- package/dist/app-prep.js.map +1 -0
- 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 +61 -16
- package/dist/bot/bot.d.ts.map +1 -1
- package/dist/bot/bot.js +927 -151
- 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 +37 -5
- package/dist/bot/services/bot-permissions.d.ts.map +1 -1
- package/dist/bot/services/bot-permissions.js +159 -35
- 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 +47 -38
- package/dist/bot/services/message-formatter.d.ts.map +1 -1
- package/dist/bot/services/message-formatter.js +99 -80
- 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 +181 -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 +4 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +92 -11
- 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 +83 -34
- 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 +184 -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 +2 -0
- package/dist/mcp/tools/activity.d.ts.map +1 -1
- package/dist/mcp/tools/activity.js +575 -218
- 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 +182 -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 +12 -16
- package/dist/mcp/tools/app-marketplace.d.ts.map +1 -1
- package/dist/mcp/tools/app-marketplace.js +748 -856
- 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 +29 -3
- package/dist/mcp/tools/discussion.d.ts.map +1 -1
- package/dist/mcp/tools/discussion.js +419 -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 +24 -5
- package/dist/mcp/tools/insight.d.ts.map +1 -1
- package/dist/mcp/tools/insight.js +513 -480
- 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 +9 -7
- package/dist/mcp/tools/workflow.d.ts.map +1 -1
- package/dist/mcp/tools/workflow.js +852 -860
- 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 +0 -3
- package/dist/mcp/utils/data-transformers.d.ts.map +1 -1
- package/dist/mcp/utils/data-transformers.js +32 -5
- 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 +113 -103
- 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 +2 -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 +367 -48
- 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 +183 -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 +1340 -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 +435 -0
- package/dist/public-chat/system-prompt.js.map +1 -0
- package/package.json +13 -7
- package/scripts/build-public-chat-knowledge.py +101 -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
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live-LLM smoke test for the public-chat bot. Fires a small set of canned
|
|
3
|
+
* prompts at the real model with the production system prompt and reports
|
|
4
|
+
* which bot-action types showed up in the responses.
|
|
5
|
+
*
|
|
6
|
+
* ANTHROPIC_API_KEY=... npx tsx scripts/smoke-public-chat-live.ts
|
|
7
|
+
*
|
|
8
|
+
* The script is OPTIONAL — it costs real API tokens and is non-deterministic.
|
|
9
|
+
* Run it before deploying significant prompt or corpus changes. The regular
|
|
10
|
+
* `smoke-public-chat.ts` covers everything that doesn't need a live model.
|
|
11
|
+
*
|
|
12
|
+
* The script does NOT exit non-zero on a missing action — the LLM is allowed
|
|
13
|
+
* to be cautious. It exits non-zero only on transport errors. Treat the report
|
|
14
|
+
* as a coverage signal: if all five action types reliably surface, the protocol
|
|
15
|
+
* is being honoured. If one or more are repeatedly silent across runs, the
|
|
16
|
+
* persona is probably under-specifying it or the model is dropping it.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
import Anthropic from '@anthropic-ai/sdk';
|
|
20
|
+
import { buildPublicChatSystem } from '../src/public-chat/system-prompt';
|
|
21
|
+
|
|
22
|
+
// Minimal extractor — mirrors the frontend's bot-action-parser regex pair
|
|
23
|
+
// (BOT_ACTION_REGEX and INVOKE_FORM_REGEX from
|
|
24
|
+
// hailer-frontend-2/.../bot-action-parser.ts). Inlined to keep this script
|
|
25
|
+
// repo-local with no extra deps.
|
|
26
|
+
const ACTION_TYPES = '(navigate|highlight|point|presentation|slide)';
|
|
27
|
+
const TAG_REGEXES = [
|
|
28
|
+
new RegExp(`<bot-action\\s+type="${ACTION_TYPES}"\\s+target="([^"]+)"`, 'g'),
|
|
29
|
+
new RegExp(`<invoke\\s+name="bot_action"\\s+type="${ACTION_TYPES}"\\s+target="([^"]+)"`, 'g'),
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
function extractActionTypes(text: string): Set<string> {
|
|
33
|
+
const found = new Set<string>();
|
|
34
|
+
for (const re of TAG_REGEXES) {
|
|
35
|
+
re.lastIndex = 0;
|
|
36
|
+
let m: RegExpExecArray | null;
|
|
37
|
+
while ((m = re.exec(text)) !== null) {
|
|
38
|
+
found.add(m[1]!);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return found;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const MODEL = 'claude-haiku-4-5-20251001';
|
|
45
|
+
const MAX_TOKENS = 600;
|
|
46
|
+
|
|
47
|
+
interface Probe {
|
|
48
|
+
label: string;
|
|
49
|
+
prompt: string;
|
|
50
|
+
/** Action types we'd expect to see at least one of in the reply. */
|
|
51
|
+
expect: Array<'navigate' | 'highlight' | 'point' | 'presentation' | 'slide'>;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const PROBES: Probe[] = [
|
|
55
|
+
{
|
|
56
|
+
label: 'tour invitation triggers a guided tour',
|
|
57
|
+
prompt: "I'm a developer evaluating Hailer for our team. Give me a quick walk-through of how this would feel.",
|
|
58
|
+
expect: ['navigate', 'point'],
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
label: 'explicit "show me X" triggers navigate or highlight',
|
|
62
|
+
prompt: 'Where do I see the calendar?',
|
|
63
|
+
expect: ['navigate', 'highlight'],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
label: 'overview ask triggers the presentation',
|
|
67
|
+
prompt: "What is Hailer? Give me the elevator pitch — I want the big picture.",
|
|
68
|
+
expect: ['presentation'],
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
label: 'concept question triggers an inline slide chip',
|
|
72
|
+
prompt: 'Can you explain what a workflow is in Hailer?',
|
|
73
|
+
expect: ['slide'],
|
|
74
|
+
},
|
|
75
|
+
];
|
|
76
|
+
|
|
77
|
+
async function main(): Promise<void> {
|
|
78
|
+
const apiKey = process.env['ANTHROPIC_API_KEY'];
|
|
79
|
+
if (!apiKey) {
|
|
80
|
+
console.error('ANTHROPIC_API_KEY env var is required for the live smoke.');
|
|
81
|
+
process.exit(2);
|
|
82
|
+
}
|
|
83
|
+
const anthropic = new Anthropic({ apiKey });
|
|
84
|
+
|
|
85
|
+
const system = buildPublicChatSystem();
|
|
86
|
+
|
|
87
|
+
let probesRun = 0;
|
|
88
|
+
let expectedActionsSatisfied = 0;
|
|
89
|
+
let expectedActionsTotal = 0;
|
|
90
|
+
const misses: Array<{ probe: string; missing: string[] }> = [];
|
|
91
|
+
|
|
92
|
+
for (const probe of PROBES) {
|
|
93
|
+
probesRun += 1;
|
|
94
|
+
process.stdout.write(`\n• ${probe.label}\n prompt: ${probe.prompt}\n`);
|
|
95
|
+
let fullText = '';
|
|
96
|
+
try {
|
|
97
|
+
const response = await anthropic.messages.create({
|
|
98
|
+
model: MODEL,
|
|
99
|
+
max_tokens: MAX_TOKENS,
|
|
100
|
+
temperature: 0.3,
|
|
101
|
+
system,
|
|
102
|
+
messages: [{ role: 'user', content: probe.prompt }],
|
|
103
|
+
});
|
|
104
|
+
for (const block of response.content) {
|
|
105
|
+
if (block.type === 'text') fullText += block.text;
|
|
106
|
+
}
|
|
107
|
+
} catch (err) {
|
|
108
|
+
console.error(` TRANSPORT ERROR: ${err instanceof Error ? err.message : String(err)}`);
|
|
109
|
+
process.exit(1);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const surfaced = extractActionTypes(fullText);
|
|
113
|
+
|
|
114
|
+
const missing: string[] = [];
|
|
115
|
+
for (const exp of probe.expect) {
|
|
116
|
+
expectedActionsTotal += 1;
|
|
117
|
+
if (surfaced.has(exp)) {
|
|
118
|
+
expectedActionsSatisfied += 1;
|
|
119
|
+
} else {
|
|
120
|
+
missing.push(exp);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
console.log(` surfaced: ${Array.from(surfaced).join(', ') || '(none)'}`);
|
|
124
|
+
console.log(` expected: ${probe.expect.join(', ')}`);
|
|
125
|
+
if (missing.length > 0) {
|
|
126
|
+
misses.push({ probe: probe.label, missing });
|
|
127
|
+
console.log(` MISSING: ${missing.join(', ')}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
console.log(
|
|
132
|
+
`\n${expectedActionsSatisfied}/${expectedActionsTotal} expected action types surfaced across ${probesRun} probes`
|
|
133
|
+
);
|
|
134
|
+
if (misses.length > 0) {
|
|
135
|
+
console.log('\nMisses worth investigating if they repeat across runs:');
|
|
136
|
+
for (const m of misses) {
|
|
137
|
+
console.log(` - "${m.probe}" missing: ${m.missing.join(', ')}`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// Don't fail the run on missing actions — the LLM may legitimately reply in
|
|
141
|
+
// plain prose. Transport errors above are the only hard failure.
|
|
142
|
+
process.exit(0);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
main().catch((err) => {
|
|
146
|
+
console.error(err);
|
|
147
|
+
process.exit(1);
|
|
148
|
+
});
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Smoke test for the public-chat module — exercises the pieces that don't
|
|
3
|
+
* need a live Anthropic API key.
|
|
4
|
+
*
|
|
5
|
+
* npx tsx scripts/smoke-public-chat.ts
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import assert from 'node:assert/strict';
|
|
9
|
+
import { buildPublicChatSystem, KNOWLEDGE_BYTES } from '../src/public-chat/system-prompt';
|
|
10
|
+
import { checkRate, _resetForTests } from '../src/public-chat/rate-limit';
|
|
11
|
+
import { HAILER_KNOWLEDGE_CORPUS } from '../src/public-chat/knowledge';
|
|
12
|
+
|
|
13
|
+
let ran = 0;
|
|
14
|
+
let failed = 0;
|
|
15
|
+
|
|
16
|
+
function check(name: string, fn: () => void): void {
|
|
17
|
+
ran += 1;
|
|
18
|
+
try {
|
|
19
|
+
fn();
|
|
20
|
+
console.log(` ok ${name}`);
|
|
21
|
+
} catch (err) {
|
|
22
|
+
failed += 1;
|
|
23
|
+
console.log(` FAIL ${name}`);
|
|
24
|
+
console.error(err);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
console.log('public-chat smoke');
|
|
29
|
+
|
|
30
|
+
console.log('\nknowledge corpus:');
|
|
31
|
+
check('compiled and non-trivial', () => {
|
|
32
|
+
assert.ok(HAILER_KNOWLEDGE_CORPUS.length > 10_000, 'too small');
|
|
33
|
+
assert.ok(HAILER_KNOWLEDGE_CORPUS.length < 200_000, 'too large');
|
|
34
|
+
assert.equal(KNOWLEDGE_BYTES, HAILER_KNOWLEDGE_CORPUS.length);
|
|
35
|
+
});
|
|
36
|
+
check('mentions all five top-level topics', () => {
|
|
37
|
+
const lower = HAILER_KNOWLEDGE_CORPUS.toLowerCase();
|
|
38
|
+
for (const term of ['overview', 'ui guide', 'mcp server', 'apps & marketplace', 'getting started']) {
|
|
39
|
+
assert.ok(lower.includes(term), `missing: ${term}`);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
check('omits internal infra/compliance bait words', () => {
|
|
43
|
+
const lower = HAILER_KNOWLEDGE_CORPUS.toLowerCase();
|
|
44
|
+
for (const banned of ['client_configs={', 'infra/', 'hailer-frontend-2/']) {
|
|
45
|
+
assert.ok(!lower.includes(banned), `should not contain: ${banned}`);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
console.log('\nbuildPublicChatSystem:');
|
|
50
|
+
check('returns two cached text blocks', () => {
|
|
51
|
+
const blocks = buildPublicChatSystem();
|
|
52
|
+
assert.equal(blocks.length, 2);
|
|
53
|
+
for (const block of blocks) {
|
|
54
|
+
assert.equal(block.type, 'text');
|
|
55
|
+
assert.deepEqual(block.cache_control, { type: 'ephemeral' });
|
|
56
|
+
assert.ok(block.text.length > 0);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
check('persona block describes role and bot-action protocol', () => {
|
|
60
|
+
const [persona] = buildPublicChatSystem();
|
|
61
|
+
assert.match(persona.text, /Hailer Helper/i);
|
|
62
|
+
assert.match(persona.text, /bot-action/i);
|
|
63
|
+
assert.match(persona.text, /navigate/i);
|
|
64
|
+
assert.match(persona.text, /highlight/i);
|
|
65
|
+
});
|
|
66
|
+
check('persona documents all five bot-action types and shows their canonical form', () => {
|
|
67
|
+
// If any of these regress (someone deletes a section, renames a type, etc.)
|
|
68
|
+
// the model loses the affordance and the demo silently degrades. Cheap to
|
|
69
|
+
// assert on every smoke run.
|
|
70
|
+
const [persona] = buildPublicChatSystem();
|
|
71
|
+
for (const type of ['navigate', 'highlight', 'point', 'presentation', 'slide']) {
|
|
72
|
+
const re = new RegExp(`<bot-action\\s+type="${type}"`, 'i');
|
|
73
|
+
assert.match(persona.text, re, `persona missing canonical form for type="${type}"`);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
check('persona explicitly acknowledges the always-visible Continue button', () => {
|
|
77
|
+
// Was once the other way around — persona told the bot to "surface" the CTA
|
|
78
|
+
// even though the button is always visible. Lock the corrected wording in.
|
|
79
|
+
const [persona] = buildPublicChatSystem();
|
|
80
|
+
assert.match(persona.text, /persistently visible|always visible/i);
|
|
81
|
+
});
|
|
82
|
+
check('knowledge block carries the full corpus', () => {
|
|
83
|
+
const [, knowledge] = buildPublicChatSystem();
|
|
84
|
+
assert.ok(knowledge.text.includes(HAILER_KNOWLEDGE_CORPUS));
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
console.log('\ncheckRate:');
|
|
88
|
+
_resetForTests();
|
|
89
|
+
check('allows the first 30 requests from a single IP', () => {
|
|
90
|
+
for (let i = 0; i < 30; i++) {
|
|
91
|
+
const r = checkRate('1.2.3.4');
|
|
92
|
+
assert.equal(r.ok, true, `request ${i + 1} should be allowed`);
|
|
93
|
+
assert.equal(r.remaining, 30 - 1 - i);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
check('rejects the 31st request with retry-after', () => {
|
|
97
|
+
const blocked = checkRate('1.2.3.4');
|
|
98
|
+
assert.equal(blocked.ok, false);
|
|
99
|
+
assert.equal(blocked.remaining, 0);
|
|
100
|
+
assert.ok((blocked.retryAfterSec ?? 0) > 0);
|
|
101
|
+
});
|
|
102
|
+
_resetForTests();
|
|
103
|
+
check('keeps independent counters per IP', () => {
|
|
104
|
+
for (let i = 0; i < 30; i++) checkRate('9.9.9.9');
|
|
105
|
+
assert.equal(checkRate('9.9.9.9').ok, false);
|
|
106
|
+
assert.equal(checkRate('1.1.1.1').ok, true);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
console.log(`\n${ran - failed}/${ran} passed${failed === 0 ? '' : `, ${failed} failed`}`);
|
|
110
|
+
process.exit(failed === 0 ? 0 : 1);
|
package/.claude/CLAUDE.md
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
# Hailer SDK + MCP Project
|
|
2
|
-
|
|
3
|
-
## The One Rule
|
|
4
|
-
|
|
5
|
-
**If it can be done locally, do it locally. MCP tools are ONLY for things that require a server call.**
|
|
6
|
-
|
|
7
|
-
This project has `workspace/` files managed by `@hailer/sdk`. These files ARE the source of truth for all workflow configuration. The MCP server provides tools for runtime operations that require talking to Hailer's API.
|
|
8
|
-
|
|
9
|
-
## What Goes Where
|
|
10
|
-
|
|
11
|
-
| Need | Do this | NEVER this |
|
|
12
|
-
|------|---------|------------|
|
|
13
|
-
| **Find workflow/field/phase IDs** | Read `workspace/enums.ts` | ~~`list_workflows_minimal`~~, ~~`get_workflow_schema`~~, ~~`list_workflow_phases`~~ |
|
|
14
|
-
| **See field types, labels, options** | Read `workspace/<Name>_<id>/fields.ts` | ~~`get_workflow_schema`~~ |
|
|
15
|
-
| **See phases** | Read `workspace/<Name>_<id>/phases.ts` | ~~`list_workflow_phases`~~ |
|
|
16
|
-
| **See all workflows** | Read `workspace/workflows.ts` | ~~`list_workflows`~~ |
|
|
17
|
-
| **Create/modify fields** | Edit `fields.ts` → `npm run fields-push:force` | ~~`update_workflow_field`~~ |
|
|
18
|
-
| **Create/modify phases** | Edit `phases.ts` → `npm run phases-push:force` | ~~`update_workflow_phase`~~ |
|
|
19
|
-
| **Create/modify workflows** | Edit `workflows.ts` → `npm run workflows-sync:force` | ~~`install_workflow`~~ |
|
|
20
|
-
| **Create/modify teams** | Edit `teams.ts` → `npm run teams-push:force` | — |
|
|
21
|
-
| **Create/modify groups** | Edit `groups.ts` → `npm run groups-push:force` | — |
|
|
22
|
-
| **Create activities** | MCP `create_activity` | — |
|
|
23
|
-
| **List/read activities** | MCP `list_activities`, `show_activity_by_id` | — |
|
|
24
|
-
| **Update activities** | MCP `update_activity` | — |
|
|
25
|
-
| **Query data** | MCP `preview_insight`, `create_insight` | — |
|
|
26
|
-
| **Discussions** | MCP discussion tools | — |
|
|
27
|
-
| **Activity counts** | MCP `core_init` (once per session) | — |
|
|
28
|
-
| **Scaffold app** | MCP `scaffold_hailer_app` | — |
|
|
29
|
-
| **Publish app** | MCP `publish_hailer_app` | — |
|
|
30
|
-
|
|
31
|
-
**If you're about to call an MCP tool, ask yourself: "Is this data in workspace/ files?" If yes, read the file instead.**
|
|
32
|
-
|
|
33
|
-
## How to Read workspace/ Files
|
|
34
|
-
|
|
35
|
-
**Never read workspace/ files in main context** — they're large and fill context permanently.
|
|
36
|
-
|
|
37
|
-
1. Spawn a **haiku sub-agent** to read the files
|
|
38
|
-
2. Have it extract what you need (IDs, field types, phase names)
|
|
39
|
-
3. It returns a short summary
|
|
40
|
-
4. Use that summary for MCP runtime calls
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
Pattern: haiku reads workspace/ → you get IDs → MCP create_activity/list_activities
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Sub-Agent Rules
|
|
47
|
-
|
|
48
|
-
- **Haiku:** Read files, search code, data lookups, reviews
|
|
49
|
-
- **Sonnet:** Write code, build features, complex edits
|
|
50
|
-
- **You (Opus):** Orchestrate, synthesize results, make decisions
|
|
51
|
-
- **Skills:** Load in sub-agents only, never in main context
|
|
52
|
-
- If a task takes more than ~20 lines of code, delegate to sonnet
|
|
53
|
-
|
|
54
|
-
## workspace/ Structure
|
|
55
|
-
|
|
56
|
-
```
|
|
57
|
-
workspace/
|
|
58
|
-
├── enums.ts # ALL IDs — WorkflowIds, FieldIds, PhaseIds, etc.
|
|
59
|
-
├── workflows.ts # Workflow registry
|
|
60
|
-
├── teams.ts # Team definitions
|
|
61
|
-
├── groups.ts # Group definitions
|
|
62
|
-
├── insights.ts # Insight definitions
|
|
63
|
-
└── <WorkflowName>_<id>/
|
|
64
|
-
├── fields.ts # Field definitions (type, label, key, options, required)
|
|
65
|
-
├── phases.ts # Phase definitions (name, key, isInitial, isEndpoint)
|
|
66
|
-
├── main.ts # Workflow config
|
|
67
|
-
└── functions/ # Function field code (if any)
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**Refresh:** `npm run pull` syncs server → local files
|
|
71
|
-
|
|
72
|
-
## SDK Push Commands (all use `:force` to avoid interactive prompts)
|
|
73
|
-
|
|
74
|
-
| Command | What it does |
|
|
75
|
-
|---------|-------------|
|
|
76
|
-
| `npm run push:force` | Push everything |
|
|
77
|
-
| `npm run fields-push:force` | Push field changes only |
|
|
78
|
-
| `npm run phases-push:force` | Push phase changes only |
|
|
79
|
-
| `npm run workflows-sync:force` | Sync workflow registry (create/delete) |
|
|
80
|
-
| `npm run teams-push:force` | Push team changes |
|
|
81
|
-
| `npm run groups-push:force` | Push group changes |
|
|
82
|
-
| `npm run pull` | Pull latest from Hailer → local files |
|
|
83
|
-
|
|
84
|
-
## SDK Gotchas
|
|
85
|
-
|
|
86
|
-
| Gotcha | Correct | Wrong |
|
|
87
|
-
|--------|---------|-------|
|
|
88
|
-
| New fields | Omit `_id` — server assigns it | Adding `_id` manually |
|
|
89
|
-
| After push | Always `npm run pull` to get server-assigned IDs | Assuming local IDs are final |
|
|
90
|
-
| Function fields | `npm run fields-push:force` (non-force skips functionVariables) | `npm run fields-push` |
|
|
91
|
-
| Enum imports | Verify after pull — identical hex suffixes can collide | Trusting auto-generated imports |
|
|
92
|
-
| `linkedfrom` fields | Don't work in isolated-vm — use `<` backlink dependency | Using in function fields |
|
|
93
|
-
| Function field code | Plain JavaScript only | TypeScript syntax |
|
|
94
|
-
| Phase transitions | Exact string match on phase name | Guessed names |
|
|
95
|
-
| Field values (MCP) | Date: Unix ms (`1730937600000`), Dropdown: exact string, ActivityLink: string ID | ISO dates, arrays, objects |
|
|
96
|
-
|
|
97
|
-
## App Development
|
|
98
|
-
|
|
99
|
-
| Step | How |
|
|
100
|
-
|------|-----|
|
|
101
|
-
| Scaffold | MCP `scaffold_hailer_app` — never copy apps |
|
|
102
|
-
| Publish | MCP `publish_hailer_app` — auto icon, name, description, sharing |
|
|
103
|
-
| Local dev | `npm run dev` from app directory |
|
|
104
|
-
|
|
105
|
-
## Skills
|
|
106
|
-
|
|
107
|
-
Load in sub-agents via Skill tool. Never in main context.
|
|
108
|
-
|
|
109
|
-
| Skill | When |
|
|
110
|
-
|-------|------|
|
|
111
|
-
| `sdk-ws-config-skill` | Workflows, fields, phases, teams, groups |
|
|
112
|
-
| `sdk-function-fields` | Calculated fields, nameFunction |
|
|
113
|
-
| `sdk-activity-patterns` | Creating/updating activities via MCP |
|
|
114
|
-
| `sdk-insight-queries` | SQL insight queries |
|
|
115
|
-
| `hailer-app-builder` | Building Hailer apps (React/Chakra) |
|
|
116
|
-
| `hailer-design-system` | Theme, colors, icons, layout |
|
|
117
|
-
| `publish-hailer-app` | Publishing apps to production |
|
|
118
|
-
| `testing-patterns` | Vitest/playwright tests |
|
|
119
|
-
|
|
120
|
-
## Commands
|
|
121
|
-
|
|
122
|
-
`/command <param>` — angle brackets = required
|
|
123
|
-
|
|
124
|
-
**Essential:** `/save`, `/handoff`, `/prd`, `/autoplan`, `/ws-pull`
|
|
125
|
-
|
|
126
|
-
**Squads:** `/app-squad`, `/review-squad`, `/config-squad`, `/hotfix-squad`, `/debug-squad`, `/swarm <desc>`
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Build a Hailer app with hyper-parallel component teams
|
|
3
|
-
argument-hint: "app description"
|
|
4
|
-
allowed-tools: Task, Bash, Read, Skill
|
|
5
|
-
---
|
|
6
|
-
# App Squad
|
|
7
|
-
|
|
8
|
-
Hyper-parallel: orchestrator does ALL prep, then spawns one agent per component with everything pre-loaded. Agents do ZERO discovery — just write code.
|
|
9
|
-
|
|
10
|
-
**Goal:** $ARGUMENTS
|
|
11
|
-
|
|
12
|
-
## Protocol
|
|
13
|
-
|
|
14
|
-
### Step 1: Full Prep (YOU do everything — fast)
|
|
15
|
-
|
|
16
|
-
**Schema discovery (MCP calls, parallel):**
|
|
17
|
-
- `list_workflows_minimal` → find relevant workflows
|
|
18
|
-
- `list_workflow_phases` per workflow → phase IDs/names
|
|
19
|
-
- `get_workflow_schema` per workflow → field IDs/types/labels
|
|
20
|
-
- `list_insights` → existing insights
|
|
21
|
-
|
|
22
|
-
**Scaffold:**
|
|
23
|
-
- `scaffold_hailer_app` MCP tool (NEVER copy an existing app)
|
|
24
|
-
|
|
25
|
-
**Read scaffold SDK files:**
|
|
26
|
-
- `src/hailer/use-app.ts` — the Zustand store, understand the API
|
|
27
|
-
- `src/hailer/use-hailer.tsx` — the raw hook (if use-app isn't available)
|
|
28
|
-
- `src/main.tsx` — entry point (ChakraProvider + theme)
|
|
29
|
-
- Check available icons: `ls src/hailer/theme/icons/`
|
|
30
|
-
|
|
31
|
-
**Load skills (YOU load, paste into prompts):**
|
|
32
|
-
- Load `hailer-app-builder` skill via Skill tool
|
|
33
|
-
- Load `hailer-design-system` skill via Skill tool
|
|
34
|
-
- Save the content — you'll paste it into every agent prompt
|
|
35
|
-
|
|
36
|
-
**Read one existing working app** for reference:
|
|
37
|
-
- Pick an app from `apps/` that works, read its App.tsx
|
|
38
|
-
- Extract the SDK integration patterns (how it fetches, how it reads fields)
|
|
39
|
-
|
|
40
|
-
### Step 2: Define Shared Contract
|
|
41
|
-
|
|
42
|
-
Write this contract — every agent gets the exact same copy:
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
## SHARED CONTRACT
|
|
46
|
-
|
|
47
|
-
### Constants
|
|
48
|
-
[Paste all workflow IDs, field IDs, phase IDs from schema discovery]
|
|
49
|
-
|
|
50
|
-
### SDK API (from scaffold)
|
|
51
|
-
[Paste the actual use-app.ts store shape — what useApp() returns]
|
|
52
|
-
[Paste how to fetch: hailer.activity.list(workflowId, phaseId, { limit: 500 })]
|
|
53
|
-
[Paste how fields work: activity.fields?.[fieldId] with value wrappers]
|
|
54
|
-
|
|
55
|
-
### Helper Functions
|
|
56
|
-
[getField, getNumField, formatValue, getRating — whatever the app needs]
|
|
57
|
-
|
|
58
|
-
### Component Manifest
|
|
59
|
-
[List every component: name, file path, props interface, what it renders]
|
|
60
|
-
|
|
61
|
-
### Import Paths
|
|
62
|
-
[Exact import paths for SDK: '../hailer/use-app', icons, theme, etc.]
|
|
63
|
-
|
|
64
|
-
### Icon Paths
|
|
65
|
-
[Available icons with exact import paths: '../hailer/theme/icons/HailerSearch']
|
|
66
|
-
|
|
67
|
-
### SDK Patterns (from existing working app)
|
|
68
|
-
[Paste the patterns that WORK — how ready/inside/outside are handled]
|
|
69
|
-
[CRITICAL: Apps must render even when outside Hailer — never block on `inside`]
|
|
70
|
-
|
|
71
|
-
### Skill Content
|
|
72
|
-
[Paste hailer-app-builder skill content]
|
|
73
|
-
[Paste hailer-design-system skill content]
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### Step 3: Spawn ALL Agents in One Message
|
|
77
|
-
|
|
78
|
-
Every agent gets the FULL shared contract. They do ZERO skill loading, ZERO file reading.
|
|
79
|
-
|
|
80
|
-
Each agent prompt:
|
|
81
|
-
```
|
|
82
|
-
You are building ONE component of a Hailer app.
|
|
83
|
-
|
|
84
|
-
[PASTE FULL SHARED CONTRACT]
|
|
85
|
-
|
|
86
|
-
## Your Mission: [COMPONENT NAME]
|
|
87
|
-
[What to build, what props it takes, what it renders]
|
|
88
|
-
|
|
89
|
-
Return ONLY the complete TypeScript/React code. No file operations, no skill loading, no discovery.
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Typical team:
|
|
93
|
-
| Agent | Builds | Model |
|
|
94
|
-
|-------|--------|-------|
|
|
95
|
-
| Shell | App.tsx — nav, state, data fetching, renders children | sonnet |
|
|
96
|
-
| Overview | Dashboard — stat cards, summaries, charts | sonnet |
|
|
97
|
-
| List View | Table — filters, sorting, row click | sonnet |
|
|
98
|
-
| Detail | Modal content — full record view | sonnet |
|
|
99
|
-
| (per extra workflow) | Additional list+detail | sonnet |
|
|
100
|
-
|
|
101
|
-
### Step 4: Assemble + Verify (YOU)
|
|
102
|
-
|
|
103
|
-
1. Write each component to its file
|
|
104
|
-
2. Delete scaffold demo components (ChartDemo, ActivityTable, etc.)
|
|
105
|
-
3. Fix integration issues (import paths, prop mismatches)
|
|
106
|
-
4. `npx tsc --noEmit` → fix any errors
|
|
107
|
-
5. `npx vite build` → verify
|
|
108
|
-
6. If < 5 errors, fix directly. If major, re-spawn failing agent with error + context.
|
|
109
|
-
|
|
110
|
-
### Step 5: Report
|
|
111
|
-
|
|
112
|
-
```markdown
|
|
113
|
-
## App Built: [name]
|
|
114
|
-
- Path: apps/[name]/
|
|
115
|
-
- Components: [N] built in parallel
|
|
116
|
-
- Build: PASS
|
|
117
|
-
- TypeScript: 0 errors
|
|
118
|
-
|
|
119
|
-
### Next Steps
|
|
120
|
-
- `cd apps/[name] && npm run dev`
|
|
121
|
-
- Open in Hailer iframe to test with live data
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
## Rules
|
|
125
|
-
|
|
126
|
-
- NEVER copy existing apps — scaffold fresh
|
|
127
|
-
- NEVER let agents load skills — you pre-load and paste
|
|
128
|
-
- NEVER let agents read files — you read and paste
|
|
129
|
-
- Apps must work when opened outside Hailer (show empty state, not error)
|
|
130
|
-
- Include the ACTUAL SDK code in the contract, not a summary
|
|
131
|
-
- Agents return code as text — you write the files
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Run parallel security and permissions audit
|
|
3
|
-
argument-hint: [files, app name, or blank for full audit]
|
|
4
|
-
allowed-tools: Task, Bash
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Audit Squad
|
|
8
|
-
|
|
9
|
-
Parallel security and permissions audit: code hardening, access control verification, and MCP tool validation.
|
|
10
|
-
|
|
11
|
-
**Roles:**
|
|
12
|
-
- **Code Reviewer** - Code review (hardcoded secrets, injection vulnerabilities, insecure patterns, OWASP top 10)
|
|
13
|
-
- **Permissions Auditor** - Access control audit (effective permissions, team access levels, permission matrix)
|
|
14
|
-
- **Tool Security Auditor** - MCP tools security (input validation, data exposure, security best practices)
|
|
15
|
-
|
|
16
|
-
**Target:** $ARGUMENTS (if blank, use full project scope)
|
|
17
|
-
|
|
18
|
-
**Scope options:**
|
|
19
|
-
- Specific files or directory path
|
|
20
|
-
- App name (checks that app's code and permissions)
|
|
21
|
-
- Blank for full project audit
|
|
22
|
-
|
|
23
|
-
## Protocol
|
|
24
|
-
|
|
25
|
-
### Step 1: Determine Target
|
|
26
|
-
|
|
27
|
-
If `$ARGUMENTS` has specific files/directories or app name, use those.
|
|
28
|
-
Otherwise, scope is the entire project (workspace/ + apps/ + integrations/).
|
|
29
|
-
|
|
30
|
-
If `$ARGUMENTS` contains `--code-only`:
|
|
31
|
-
- Remove flag from target
|
|
32
|
-
- Skip Permissions Auditor and Tool Security Auditor in Step 2
|
|
33
|
-
|
|
34
|
-
If `$ARGUMENTS` contains `--permissions-only`:
|
|
35
|
-
- Remove flag from target
|
|
36
|
-
- Skip Code Reviewer and Tool Security Auditor in Step 2
|
|
37
|
-
|
|
38
|
-
If `$ARGUMENTS` contains `--bg`:
|
|
39
|
-
- Launch all agents in background mode
|
|
40
|
-
|
|
41
|
-
### Step 2: Launch Audit Agents in Parallel
|
|
42
|
-
|
|
43
|
-
Spawn all applicable agents simultaneously using multiple Task tool calls in a single message:
|
|
44
|
-
|
|
45
|
-
**Code Reviewer:**
|
|
46
|
-
```
|
|
47
|
-
Task(prompt="Security audit of these files: [TARGET]. Focus on: hardcoded secrets, API keys, credentials, injection vulnerabilities (SQL/XSS/Command), insecure crypto usage, missing input validation, OWASP Top 10 issues, unsafe deserialization, missing authentication/authorization checks. Return verdict (PASS/FAIL), critical count, and detailed findings per file.")
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
**Permissions Auditor:**
|
|
51
|
-
```
|
|
52
|
-
Task(prompt="Load hailer-permissions-system skill for understanding the permissions model.\n\nAudit access control for the entire project. Map effective permissions: who has access to which apps, which teams have what access levels, which users are admins, workspace-wide versus app-specific permissions. Produce a permission matrix showing [User/Team] → [App] → [Access Level]. Flag any excessive or unclear permissions.")
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**Tool Security Auditor:**
|
|
56
|
-
```
|
|
57
|
-
Task(prompt="Load tool-builder skill for understanding MCP tool patterns.\n\nSecurity audit of custom MCP tools (if any exist in src/mcp/tools/). Verify: input validation with Zod schemas, no unintended data exposure, proper error handling, rate limiting awareness, secure defaults. Report security posture per tool. If no custom tools exist, report that.")
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Step 3: Categorize and Aggregate Results
|
|
61
|
-
|
|
62
|
-
Collect results from all agents. Categorize findings into three tiers:
|
|
63
|
-
|
|
64
|
-
**CRITICAL:**
|
|
65
|
-
- Hardcoded secrets/credentials
|
|
66
|
-
- SQL injection, XSS, command injection vulnerabilities
|
|
67
|
-
- Authentication/authorization bypasses
|
|
68
|
-
- Excessive uncontrolled permissions
|
|
69
|
-
- MCP tools exposing sensitive data
|
|
70
|
-
|
|
71
|
-
**WARNING:**
|
|
72
|
-
- Weak crypto usage
|
|
73
|
-
- Missing input sanitization
|
|
74
|
-
- Unclear permission delegations
|
|
75
|
-
- Unvalidated MCP tool inputs
|
|
76
|
-
- Missing rate limiting on tools
|
|
77
|
-
|
|
78
|
-
**INFO:**
|
|
79
|
-
- Best practice improvements
|
|
80
|
-
- Code hardening suggestions
|
|
81
|
-
- Permission clarity recommendations
|
|
82
|
-
|
|
83
|
-
### Step 4: Report
|
|
84
|
-
|
|
85
|
-
```markdown
|
|
86
|
-
## Audit Squad Report
|
|
87
|
-
|
|
88
|
-
### Scope
|
|
89
|
-
[What was audited]
|
|
90
|
-
|
|
91
|
-
### Overall Security Posture
|
|
92
|
-
[Rating: PASS / WARNING / CRITICAL]
|
|
93
|
-
- Critical findings: X
|
|
94
|
-
- Warnings: X
|
|
95
|
-
- Info items: X
|
|
96
|
-
|
|
97
|
-
### Code Reviewer
|
|
98
|
-
**Verdict:** PASS / FAIL / WARNINGS
|
|
99
|
-
- Critical: X [list]
|
|
100
|
-
- Warnings: X [list]
|
|
101
|
-
- Info: X [list]
|
|
102
|
-
- Files affected: [grouped summary]
|
|
103
|
-
|
|
104
|
-
### Permissions Auditor
|
|
105
|
-
**Matrix Status:** [OK / EXCESSIVE / UNCLEAR]
|
|
106
|
-
- Total apps: X
|
|
107
|
-
- Total teams: X
|
|
108
|
-
- Users with admin access: X
|
|
109
|
-
- Flagged permissions: [list]
|
|
110
|
-
- [Permission matrix if findings exist]
|
|
111
|
-
|
|
112
|
-
### Tool Security Auditor
|
|
113
|
-
**Status:** [No tools / PASS / WARNINGS / CRITICAL]
|
|
114
|
-
[If tools exist:]
|
|
115
|
-
- Tools audited: X
|
|
116
|
-
- Input validation issues: X
|
|
117
|
-
- Data exposure risks: X
|
|
118
|
-
- Best practice gaps: X
|
|
119
|
-
|
|
120
|
-
### Findings by Severity
|
|
121
|
-
|
|
122
|
-
#### CRITICAL (Require Immediate Action)
|
|
123
|
-
[List all critical findings with file/tool and remediation steps]
|
|
124
|
-
|
|
125
|
-
#### WARNING (Address in Next Sprint)
|
|
126
|
-
[List all warnings with context]
|
|
127
|
-
|
|
128
|
-
#### INFO (Consider for Hardening)
|
|
129
|
-
[List informational recommendations]
|
|
130
|
-
|
|
131
|
-
### Remediation Checklist
|
|
132
|
-
- [ ] [Critical issue 1]: [Action]
|
|
133
|
-
- [ ] [Critical issue 2]: [Action]
|
|
134
|
-
- [ ] [Warning 1]: [Action]
|
|
135
|
-
|
|
136
|
-
### Summary
|
|
137
|
-
[1-2 sentence overall assessment of security posture and next steps]
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
If any agent fails or times out, report partial results from successful agents, note which failed, and offer to re-run individually.
|
|
141
|
-
|
|
142
|
-
## Options
|
|
143
|
-
|
|
144
|
-
| Flag | Effect |
|
|
145
|
-
|------|--------|
|
|
146
|
-
| `--code-only` | Skip permissions and MCP tools (code review only, faster) |
|
|
147
|
-
| `--permissions-only` | Skip code review and MCP tools (permissions matrix only) |
|
|
148
|
-
| `--bg` | Run all agents in background mode |
|
|
149
|
-
|
|
150
|
-
If `--bg` is present, launch all agents with `run_in_background: true` and tell the user they'll be notified when complete.
|
|
151
|
-
|
|
152
|
-
## Notes
|
|
153
|
-
|
|
154
|
-
- Default scope is full project if no arguments provided
|
|
155
|
-
- Code Reviewer focuses on secrets and injection attacks; general code quality is separate (/review-squad)
|
|
156
|
-
- Permissions Auditor is organization-wide - includes team and app-level settings
|
|
157
|
-
- Tool Security Auditor only validates if custom MCP tools exist in the project
|
|
158
|
-
- Critical findings should block deployment; warnings should be tracked for next sprint
|