@hailer/mcp 1.2.1 → 2.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/agent-hailer-helper.md +118 -0
- package/.claude/commands/app-squad.md +16 -110
- 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 +105 -151
- package/.claude/skills/hailer-app-builder/SKILL.md +2 -2
- package/.claude/skills/hailer-ui-guide/SKILL.md +265 -0
- package/.env.example +50 -1
- package/CLAUDE.md +138 -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 +1339 -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/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
|
@@ -1,138 +1,352 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* App Tools - Core CRUD Operations
|
|
3
|
+
* App Tools - Core CRUD + Member Operations
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* - Remove apps
|
|
5
|
+
* App registry management tools:
|
|
6
|
+
* - manage_app: create / update apps, add / remove app members (merged v2 surface)
|
|
7
|
+
* - list_apps: list all apps in workspace
|
|
8
|
+
* - remove_app: delete app (NUCLEAR, double-confirm)
|
|
10
9
|
*/
|
|
11
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.appCoreTools = exports.removeAppTool = exports.
|
|
11
|
+
exports.appCoreTools = exports.removeAppTool = exports.listAppsTool = exports.manageAppTool = void 0;
|
|
13
12
|
const zod_1 = require("zod");
|
|
14
13
|
const tool_registry_1 = require("../tool-registry");
|
|
15
14
|
const logger_1 = require("../../lib/logger");
|
|
16
15
|
const request_logger_1 = require("../../lib/request-logger");
|
|
17
16
|
const tool_helpers_1 = require("../utils/tool-helpers");
|
|
18
17
|
const logger = (0, logger_1.createLogger)({ component: 'app-core' });
|
|
18
|
+
function textResponse(text) {
|
|
19
|
+
return {
|
|
20
|
+
content: [{
|
|
21
|
+
type: 'text',
|
|
22
|
+
text,
|
|
23
|
+
}],
|
|
24
|
+
};
|
|
25
|
+
}
|
|
19
26
|
// ============================================================================
|
|
20
|
-
//
|
|
27
|
+
// MANAGE APP — create / update / add_member / remove_member
|
|
21
28
|
// ============================================================================
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
29
|
+
const manageAppDescription = `Manage a Hailer app registry entry: action 'create' | 'update' | 'add_member' | 'remove_member'.\n\n` +
|
|
30
|
+
`An app is a registered web-app entry in the workspace. Development apps point at a localhost url; published ` +
|
|
31
|
+
`apps have an empty url (served from Hailer's CDN). Members control who can see and open the app — pass ` +
|
|
32
|
+
`prefixed ids: network_<id> (entire workspace), team_<id>, user_<id>, or group_<id>.\n\n` +
|
|
33
|
+
`Note: 'create' only creates the Hailer app entry — no local project files. New app development is ` +
|
|
34
|
+
`script-only: \`npx @hailer/create-app\` scaffolds the project and \`npm run publish-production\` publishes ` +
|
|
35
|
+
`it (no MCP equivalents exist). Deleting an app entry is a separate tool: \`remove_app\`.`;
|
|
36
|
+
const manageAppSchema = zod_1.z.object({
|
|
37
|
+
action: zod_1.z
|
|
38
|
+
.enum(['create', 'update', 'add_member', 'remove_member'])
|
|
39
|
+
.describe('What to do: create app entry, update app properties, or add/remove an app member'),
|
|
40
|
+
appId: zod_1.z
|
|
41
|
+
.string()
|
|
42
|
+
.min(1)
|
|
43
|
+
.optional()
|
|
44
|
+
.describe('App ID — required for every action except create'),
|
|
45
|
+
workspaceId: zod_1.z
|
|
46
|
+
.string()
|
|
47
|
+
.optional()
|
|
48
|
+
.describe('Optional workspace ID - defaults to current workspace (used by create)'),
|
|
49
|
+
name: zod_1.z
|
|
50
|
+
.string()
|
|
51
|
+
.optional()
|
|
52
|
+
.describe('App name (required for create; optional new name for update)'),
|
|
53
|
+
description: zod_1.z
|
|
54
|
+
.string()
|
|
55
|
+
.optional()
|
|
56
|
+
.describe('App description'),
|
|
57
|
+
url: zod_1.z
|
|
58
|
+
.string()
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('App URL (empty for published apps, localhost for dev)'),
|
|
61
|
+
image: zod_1.z
|
|
62
|
+
.string()
|
|
63
|
+
.optional()
|
|
64
|
+
.describe('Image/icon file ID (24 characters)'),
|
|
65
|
+
config: zod_1.z
|
|
66
|
+
.record(zod_1.z.unknown())
|
|
67
|
+
.optional()
|
|
68
|
+
.describe('Optional app configuration object'),
|
|
69
|
+
member: zod_1.z
|
|
70
|
+
.string()
|
|
71
|
+
.regex(/^(network_|team_|user_|group_)[a-zA-Z0-9]+$/, 'Member must be network_*, team_*, user_*, or group_*')
|
|
72
|
+
.optional()
|
|
73
|
+
.describe('Member identifier (network_<id>, team_<id>, user_<id>, or group_<id>) — required for add_member / remove_member'),
|
|
74
|
+
});
|
|
75
|
+
async function executeCreateApp(args, context) {
|
|
76
|
+
logger.debug('Creating app', {
|
|
77
|
+
name: args.name,
|
|
78
|
+
workspaceId: args.workspaceId,
|
|
79
|
+
hasUrl: !!args.url,
|
|
80
|
+
apiKey: context.apiKey.substring(0, 8) + '...'
|
|
81
|
+
});
|
|
82
|
+
try {
|
|
83
|
+
const workspaceId = (0, tool_helpers_1.getResolvedWorkspaceId)(args, context);
|
|
84
|
+
if (!workspaceId) {
|
|
85
|
+
return (0, tool_helpers_1.missingWorkspaceCacheResponse)();
|
|
86
|
+
}
|
|
87
|
+
logger.debug('Calling v3.app.create', {
|
|
88
|
+
workspaceId,
|
|
89
|
+
name: args.name
|
|
90
|
+
});
|
|
91
|
+
const appData = {
|
|
92
|
+
cid: workspaceId,
|
|
93
|
+
name: args.name
|
|
94
|
+
};
|
|
95
|
+
if (args.description) {
|
|
96
|
+
appData.description = args.description;
|
|
97
|
+
}
|
|
98
|
+
if (args.url !== undefined) {
|
|
99
|
+
appData.url = args.url;
|
|
100
|
+
}
|
|
101
|
+
if (args.image) {
|
|
102
|
+
appData.image = args.image;
|
|
103
|
+
}
|
|
104
|
+
if (args.config) {
|
|
105
|
+
appData.config = args.config;
|
|
106
|
+
}
|
|
107
|
+
const result = await context.hailer.request('v3.app.create', [appData]);
|
|
108
|
+
logger.debug('App creation successful', {
|
|
109
|
+
appId: result.appId || result._id
|
|
110
|
+
});
|
|
111
|
+
const appId = result.appId || result._id;
|
|
112
|
+
let responseText = `✅ **App Created Successfully**\n\n`;
|
|
113
|
+
responseText += `**App Name:** ${args.name}\n`;
|
|
114
|
+
responseText += `**App ID:** \`${appId}\`\n`;
|
|
115
|
+
responseText += `**Workspace:** ${workspaceId}\n`;
|
|
116
|
+
if (args.description) {
|
|
117
|
+
responseText += `**Description:** ${args.description}\n`;
|
|
118
|
+
}
|
|
119
|
+
if (args.url) {
|
|
120
|
+
responseText += `**URL:** ${args.url}\n`;
|
|
121
|
+
responseText += `**Type:** Development App (points to ${args.url})\n`;
|
|
122
|
+
}
|
|
123
|
+
if (!args.url) {
|
|
124
|
+
responseText += `**URL:** Auto-generated by Hailer\n`;
|
|
125
|
+
responseText += `**Type:** Published App\n`;
|
|
126
|
+
}
|
|
127
|
+
responseText += `\n💡 **Next Steps:**\n`;
|
|
128
|
+
responseText += `- Use \`list_apps\` to see all apps\n`;
|
|
129
|
+
responseText += `- Use \`manage_app\` with action 'add_member' to share with users/teams\n`;
|
|
130
|
+
responseText += `- Use \`manage_app\` with action 'update' to modify properties\n`;
|
|
131
|
+
if (!args.url) {
|
|
132
|
+
responseText += `\n📦 **Publishing:**\n`;
|
|
133
|
+
responseText += `1. Configure manifest.json with this appId: \`${appId}\`\n`;
|
|
134
|
+
responseText += `2. Run: \`EMAIL=your@email.com npm run publish-production\`\n`;
|
|
135
|
+
}
|
|
136
|
+
return textResponse(responseText);
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
if (!request_logger_1.RequestLogger.getCurrent()) {
|
|
140
|
+
logger.error('Error creating app', error);
|
|
141
|
+
}
|
|
142
|
+
const errorMessage = (0, tool_helpers_1.extractErrorMessage)(error);
|
|
143
|
+
if (errorMessage.toLowerCase().includes('permission')) {
|
|
144
|
+
return textResponse(`❌ **Permission Denied**\n\nYou don't have permission to create apps. ` +
|
|
145
|
+
`Only workspace administrators can create apps.\n\n**Error:** ${errorMessage}`);
|
|
146
|
+
}
|
|
147
|
+
return textResponse(`❌ **Error creating app**\n\n**Error:** ${errorMessage}\n\n**Common Issues:**\n` +
|
|
148
|
+
`- User must be workspace administrator\n- Invalid workspace ID\n- Image ID must be 24 characters if provided`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
async function executeUpdateApp(args, context) {
|
|
152
|
+
logger.debug('Updating app', {
|
|
153
|
+
appId: args.appId,
|
|
154
|
+
apiKey: context.apiKey.substring(0, 8) + '...'
|
|
155
|
+
});
|
|
156
|
+
try {
|
|
157
|
+
const updateData = {};
|
|
158
|
+
if (args.name !== undefined) {
|
|
159
|
+
updateData.name = args.name;
|
|
160
|
+
}
|
|
161
|
+
if (args.description !== undefined) {
|
|
162
|
+
updateData.description = args.description;
|
|
163
|
+
}
|
|
164
|
+
if (args.url !== undefined) {
|
|
165
|
+
updateData.url = args.url;
|
|
166
|
+
}
|
|
167
|
+
if (args.image !== undefined) {
|
|
168
|
+
updateData.image = args.image;
|
|
169
|
+
}
|
|
170
|
+
if (args.config !== undefined) {
|
|
171
|
+
updateData.config = args.config;
|
|
172
|
+
}
|
|
173
|
+
logger.debug('Calling v3.app.update', {
|
|
174
|
+
appId: args.appId,
|
|
175
|
+
updates: Object.keys(updateData)
|
|
176
|
+
});
|
|
177
|
+
await context.hailer.request('v3.app.update', [
|
|
178
|
+
args.appId,
|
|
179
|
+
updateData
|
|
180
|
+
]);
|
|
181
|
+
logger.debug('App update successful');
|
|
182
|
+
let responseText = `✅ **App Updated Successfully**\n\n`;
|
|
183
|
+
responseText += `**App ID:** \`${args.appId}\`\n\n`;
|
|
184
|
+
responseText += `**Updated Properties:**\n`;
|
|
185
|
+
const updatedFields = [];
|
|
186
|
+
if (args.name) {
|
|
187
|
+
updatedFields.push(`name → "${args.name}"`);
|
|
188
|
+
}
|
|
189
|
+
if (args.description) {
|
|
190
|
+
updatedFields.push(`description → "${args.description}"`);
|
|
191
|
+
}
|
|
192
|
+
if (args.url !== undefined) {
|
|
193
|
+
updatedFields.push(`url → "${args.url || 'auto-generated'}"`);
|
|
194
|
+
}
|
|
195
|
+
if (args.image) {
|
|
196
|
+
updatedFields.push(`image → "${args.image}"`);
|
|
197
|
+
}
|
|
198
|
+
if (args.config) {
|
|
199
|
+
updatedFields.push(`config (updated)`);
|
|
200
|
+
}
|
|
201
|
+
updatedFields.forEach(field => {
|
|
202
|
+
responseText += `- ${field}\n`;
|
|
203
|
+
});
|
|
204
|
+
responseText += `\n💡 Use \`list_apps\` to verify changes.`;
|
|
205
|
+
return textResponse(responseText);
|
|
206
|
+
}
|
|
207
|
+
catch (error) {
|
|
208
|
+
if (!request_logger_1.RequestLogger.getCurrent()) {
|
|
209
|
+
logger.error('Error updating app', error);
|
|
210
|
+
}
|
|
211
|
+
const errorMessage = (0, tool_helpers_1.extractErrorMessage)(error);
|
|
212
|
+
if (errorMessage.toLowerCase().includes('not found')) {
|
|
213
|
+
return textResponse(`❌ **App Not Found**\n\nThe specified app doesn't exist.\n\n` +
|
|
214
|
+
`**App ID:** \`${args.appId}\`\n\n💡 Use \`list_apps\` to see available apps.`);
|
|
215
|
+
}
|
|
216
|
+
if (errorMessage.toLowerCase().includes('permission')) {
|
|
217
|
+
return textResponse(`❌ **Permission Denied**\n\nYou don't have permission to update this app. ` +
|
|
218
|
+
`Only app creator or workspace admin can update apps.\n\n**Error:** ${errorMessage}`);
|
|
219
|
+
}
|
|
220
|
+
return textResponse(`❌ **Error updating app**\n\n**Error:** ${errorMessage}\n\n**Common Issues:**\n` +
|
|
221
|
+
`- App ID invalid\n- Not app creator or admin\n- Invalid property values`);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
const memberTypeLabels = {
|
|
225
|
+
network: 'Workspace',
|
|
226
|
+
team: 'Team',
|
|
227
|
+
user: 'User',
|
|
228
|
+
group: 'Group'
|
|
229
|
+
};
|
|
230
|
+
const memberAccessNotes = {
|
|
231
|
+
network: `🌐 **App is now accessible to entire workspace!**\n`,
|
|
232
|
+
team: `👥 **App is now accessible to all team members.**\n`,
|
|
233
|
+
user: `👤 **App is now accessible to this user.**\n`,
|
|
234
|
+
group: `🔑 **App is now accessible to this group.**\n`
|
|
235
|
+
};
|
|
236
|
+
async function executeAddAppMember(args, context) {
|
|
237
|
+
logger.debug('Adding app member', {
|
|
238
|
+
appId: args.appId,
|
|
239
|
+
member: args.member,
|
|
240
|
+
apiKey: context.apiKey.substring(0, 8) + '...'
|
|
241
|
+
});
|
|
242
|
+
try {
|
|
243
|
+
logger.debug('Calling v3.app.member.add', {
|
|
244
|
+
appId: args.appId,
|
|
245
|
+
member: args.member
|
|
246
|
+
});
|
|
247
|
+
await context.hailer.request('v3.app.member.add', [
|
|
248
|
+
args.appId,
|
|
249
|
+
args.member
|
|
250
|
+
]);
|
|
251
|
+
logger.debug('App member added successfully');
|
|
252
|
+
const memberType = args.member.split('_')[0];
|
|
253
|
+
let responseText = `✅ **App Member Added Successfully**\n\n`;
|
|
254
|
+
responseText += `**App ID:** \`${args.appId}\`\n`;
|
|
255
|
+
responseText += `**Member Type:** ${memberTypeLabels[memberType] || 'Member'}\n`;
|
|
256
|
+
responseText += `**Member ID:** \`${args.member}\`\n\n`;
|
|
257
|
+
responseText += memberAccessNotes[memberType] || memberAccessNotes.group;
|
|
258
|
+
return textResponse(responseText);
|
|
259
|
+
}
|
|
260
|
+
catch (error) {
|
|
261
|
+
if (!request_logger_1.RequestLogger.getCurrent()) {
|
|
262
|
+
logger.error('Error adding app member', error);
|
|
263
|
+
}
|
|
264
|
+
const errorMessage = (0, tool_helpers_1.extractErrorMessage)(error);
|
|
265
|
+
if (errorMessage.toLowerCase().includes('not found')) {
|
|
266
|
+
return textResponse(`❌ **App Not Found**\n\nThe specified app doesn't exist.\n\n` +
|
|
267
|
+
`**App ID:** \`${args.appId}\`\n\n💡 Use \`list_apps\` to see available apps.`);
|
|
268
|
+
}
|
|
269
|
+
if (errorMessage.toLowerCase().includes('permission')) {
|
|
270
|
+
return textResponse(`❌ **Permission Denied**\n\nYou don't have permission to manage this app's members. ` +
|
|
271
|
+
`Only app creator or workspace admin can add members.\n\n**Error:** ${errorMessage}`);
|
|
272
|
+
}
|
|
273
|
+
return textResponse(`❌ **Error adding app member**\n\n**Error:** ${errorMessage}\n\n**Common Issues:**\n` +
|
|
274
|
+
`- App ID invalid\n- Member ID invalid\n- Not app creator or admin\n` +
|
|
275
|
+
`- Member format must be network_*, team_*, user_*, or group_*`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
async function executeRemoveAppMember(args, context) {
|
|
279
|
+
logger.debug('Removing app member', {
|
|
280
|
+
appId: args.appId,
|
|
281
|
+
member: args.member,
|
|
282
|
+
apiKey: context.apiKey.substring(0, 8) + '...'
|
|
283
|
+
});
|
|
284
|
+
try {
|
|
285
|
+
logger.debug('Calling v3.app.member.remove', {
|
|
286
|
+
appId: args.appId,
|
|
287
|
+
member: args.member
|
|
288
|
+
});
|
|
289
|
+
await context.hailer.request('v3.app.member.remove', [
|
|
290
|
+
args.appId,
|
|
291
|
+
args.member
|
|
292
|
+
]);
|
|
293
|
+
logger.debug('App member removed successfully');
|
|
294
|
+
const memberType = args.member.split('_')[0];
|
|
295
|
+
const memberLabel = memberTypeLabels[memberType] || 'Member';
|
|
296
|
+
let responseText = `✅ **App Member Removed Successfully**\n\n`;
|
|
297
|
+
responseText += `**App ID:** \`${args.appId}\`\n`;
|
|
298
|
+
responseText += `**Member Type:** ${memberLabel}\n`;
|
|
299
|
+
responseText += `**Member ID:** \`${args.member}\`\n\n`;
|
|
300
|
+
responseText += `🔒 **Access revoked for this ${memberLabel.toLowerCase()}.**\n\n`;
|
|
301
|
+
responseText += `**Note:** Creator and admins always retain access.`;
|
|
302
|
+
return textResponse(responseText);
|
|
303
|
+
}
|
|
304
|
+
catch (error) {
|
|
305
|
+
if (!request_logger_1.RequestLogger.getCurrent()) {
|
|
306
|
+
logger.error('Error removing app member', error);
|
|
307
|
+
}
|
|
308
|
+
const errorMessage = (0, tool_helpers_1.extractErrorMessage)(error);
|
|
309
|
+
if (errorMessage.toLowerCase().includes('not found')) {
|
|
310
|
+
return textResponse(`❌ **App or Member Not Found**\n\nThe specified app or member doesn't exist.\n\n` +
|
|
311
|
+
`**App ID:** \`${args.appId}\`\n**Member:** \`${args.member}\`\n\n💡 Use \`list_apps\` to see available apps.`);
|
|
312
|
+
}
|
|
313
|
+
if (errorMessage.toLowerCase().includes('permission')) {
|
|
314
|
+
return textResponse(`❌ **Permission Denied**\n\nYou don't have permission to manage this app's members. ` +
|
|
315
|
+
`Only app creator or workspace admin can remove members.\n\n**Error:** ${errorMessage}`);
|
|
316
|
+
}
|
|
317
|
+
return textResponse(`❌ **Error removing app member**\n\n**Error:** ${errorMessage}\n\n**Common Issues:**\n` +
|
|
318
|
+
`- App ID invalid\n- Member doesn't have access\n- Not app creator or admin`);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
exports.manageAppTool = {
|
|
322
|
+
name: 'manage_app',
|
|
25
323
|
group: tool_registry_1.ToolGroup.PLAYGROUND,
|
|
26
|
-
description:
|
|
27
|
-
schema:
|
|
28
|
-
workspaceId: zod_1.z
|
|
29
|
-
.string()
|
|
30
|
-
.optional()
|
|
31
|
-
.describe("Optional workspace ID - defaults to current workspace"),
|
|
32
|
-
name: zod_1.z
|
|
33
|
-
.string()
|
|
34
|
-
.min(1)
|
|
35
|
-
.describe("App name (required)"),
|
|
36
|
-
description: zod_1.z
|
|
37
|
-
.string()
|
|
38
|
-
.optional()
|
|
39
|
-
.describe("App description"),
|
|
40
|
-
url: zod_1.z
|
|
41
|
-
.string()
|
|
42
|
-
.optional()
|
|
43
|
-
.describe("App URL (empty for published apps, localhost for dev)"),
|
|
44
|
-
image: zod_1.z
|
|
45
|
-
.string()
|
|
46
|
-
.optional()
|
|
47
|
-
.describe("Image/icon ID (24 characters)"),
|
|
48
|
-
config: zod_1.z
|
|
49
|
-
.record(zod_1.z.unknown())
|
|
50
|
-
.optional()
|
|
51
|
-
.describe("Optional app configuration"),
|
|
52
|
-
}),
|
|
324
|
+
description: manageAppDescription,
|
|
325
|
+
schema: manageAppSchema,
|
|
53
326
|
async execute(args, context) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
apiKey: context.apiKey.substring(0, 8) + '...'
|
|
59
|
-
});
|
|
60
|
-
try {
|
|
61
|
-
const workspaceId = (0, tool_helpers_1.getResolvedWorkspaceId)(args, context);
|
|
62
|
-
if (!workspaceId) {
|
|
63
|
-
return (0, tool_helpers_1.missingWorkspaceCacheResponse)();
|
|
64
|
-
}
|
|
65
|
-
logger.debug('Calling v3.app.create', {
|
|
66
|
-
workspaceId,
|
|
67
|
-
name: args.name
|
|
68
|
-
});
|
|
69
|
-
const appData = {
|
|
70
|
-
cid: workspaceId,
|
|
71
|
-
name: args.name
|
|
72
|
-
};
|
|
73
|
-
if (args.description)
|
|
74
|
-
appData.description = args.description;
|
|
75
|
-
if (args.url !== undefined)
|
|
76
|
-
appData.url = args.url;
|
|
77
|
-
if (args.image)
|
|
78
|
-
appData.image = args.image;
|
|
79
|
-
if (args.config)
|
|
80
|
-
appData.config = args.config;
|
|
81
|
-
const result = await context.hailer.request('v3.app.create', [appData]);
|
|
82
|
-
logger.debug('App creation successful', {
|
|
83
|
-
appId: result.appId || result._id
|
|
84
|
-
});
|
|
85
|
-
const appId = result.appId || result._id;
|
|
86
|
-
let responseText = `✅ **App Created Successfully**\n\n`;
|
|
87
|
-
responseText += `**App Name:** ${args.name}\n`;
|
|
88
|
-
responseText += `**App ID:** \`${appId}\`\n`;
|
|
89
|
-
responseText += `**Workspace:** ${workspaceId}\n`;
|
|
90
|
-
if (args.description) {
|
|
91
|
-
responseText += `**Description:** ${args.description}\n`;
|
|
92
|
-
}
|
|
93
|
-
if (args.url) {
|
|
94
|
-
responseText += `**URL:** ${args.url}\n`;
|
|
95
|
-
responseText += `**Type:** Development App (points to ${args.url})\n`;
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
responseText += `**URL:** Auto-generated by Hailer\n`;
|
|
99
|
-
responseText += `**Type:** Published App\n`;
|
|
100
|
-
}
|
|
101
|
-
responseText += `\n💡 **Next Steps:**\n`;
|
|
102
|
-
responseText += `- Use \`list_apps\` to see all apps\n`;
|
|
103
|
-
responseText += `- Use \`add_app_member\` to share with users/teams\n`;
|
|
104
|
-
responseText += `- Use \`update_app\` to modify properties\n`;
|
|
105
|
-
if (!args.url) {
|
|
106
|
-
responseText += `\n📦 **Publishing:**\n`;
|
|
107
|
-
responseText += `1. Configure manifest.json with this appId: \`${appId}\`\n`;
|
|
108
|
-
responseText += `2. Run: \`EMAIL=your@email.com npm run publish-production\`\n`;
|
|
109
|
-
}
|
|
110
|
-
return {
|
|
111
|
-
content: [{
|
|
112
|
-
type: "text",
|
|
113
|
-
text: responseText,
|
|
114
|
-
}],
|
|
115
|
-
};
|
|
327
|
+
const action = args.action;
|
|
328
|
+
if (action !== 'create' && !args.appId) {
|
|
329
|
+
return textResponse(`❌ **Missing appId**\n\nThe '${action}' action requires an \`appId\`.\n\n` +
|
|
330
|
+
`💡 Use \`list_apps\` to find app IDs.`);
|
|
116
331
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
return {
|
|
130
|
-
content: [{
|
|
131
|
-
type: "text",
|
|
132
|
-
text: `❌ **Error creating app**\n\n**Error:** ${errorMessage}\n\n**Common Issues:**\n- User must be workspace administrator\n- Invalid workspace ID\n- Image ID must be 24 characters if provided`,
|
|
133
|
-
}],
|
|
134
|
-
};
|
|
332
|
+
if (action === 'create' && !args.name) {
|
|
333
|
+
return textResponse(`❌ **Missing name**\n\nThe 'create' action requires a \`name\` for the new app.`);
|
|
334
|
+
}
|
|
335
|
+
const memberAction = action === 'add_member' || action === 'remove_member';
|
|
336
|
+
if (memberAction && !args.member) {
|
|
337
|
+
return textResponse(`❌ **Missing member**\n\nThe '${action}' action requires a \`member\` identifier ` +
|
|
338
|
+
`(network_<id>, team_<id>, user_<id>, or group_<id>).`);
|
|
339
|
+
}
|
|
340
|
+
if (action === 'create') {
|
|
341
|
+
return executeCreateApp(args, context);
|
|
135
342
|
}
|
|
343
|
+
if (action === 'update') {
|
|
344
|
+
return executeUpdateApp(args, context);
|
|
345
|
+
}
|
|
346
|
+
if (action === 'add_member') {
|
|
347
|
+
return executeAddAppMember(args, context);
|
|
348
|
+
}
|
|
349
|
+
return executeRemoveAppMember(args, context);
|
|
136
350
|
}
|
|
137
351
|
};
|
|
138
352
|
// ============================================================================
|
|
@@ -147,7 +361,7 @@ exports.listAppsTool = {
|
|
|
147
361
|
workspaceId: zod_1.z
|
|
148
362
|
.string()
|
|
149
363
|
.optional()
|
|
150
|
-
.describe(
|
|
364
|
+
.describe('Optional workspace ID - defaults to current workspace'),
|
|
151
365
|
}),
|
|
152
366
|
async execute(args, context) {
|
|
153
367
|
logger.debug('Listing apps', {
|
|
@@ -174,10 +388,10 @@ exports.listAppsTool = {
|
|
|
174
388
|
responseText += `**Workspace:** ${workspaceId}\n\n`;
|
|
175
389
|
if (!apps || apps.length === 0) {
|
|
176
390
|
responseText += `**No apps found** in this workspace.\n\n`;
|
|
177
|
-
responseText += `💡 Use \`
|
|
391
|
+
responseText += `💡 Use \`manage_app\` with action 'create' to create your first app.`;
|
|
178
392
|
return {
|
|
179
393
|
content: [{
|
|
180
|
-
type:
|
|
394
|
+
type: 'text',
|
|
181
395
|
text: responseText,
|
|
182
396
|
}],
|
|
183
397
|
};
|
|
@@ -206,23 +420,24 @@ exports.listAppsTool = {
|
|
|
206
420
|
responseText += `\n`;
|
|
207
421
|
});
|
|
208
422
|
responseText += `💡 **Next Steps:**\n`;
|
|
209
|
-
responseText += `- Use \`
|
|
210
|
-
responseText += `- Use \`
|
|
423
|
+
responseText += `- Use \`manage_app\` with action 'update' to modify an app\n`;
|
|
424
|
+
responseText += `- Use \`manage_app\` with action 'add_member' to share apps\n`;
|
|
211
425
|
responseText += `- Use \`remove_app\` to delete apps`;
|
|
212
426
|
return {
|
|
213
427
|
content: [{
|
|
214
|
-
type:
|
|
428
|
+
type: 'text',
|
|
215
429
|
text: responseText,
|
|
216
430
|
}],
|
|
217
431
|
};
|
|
218
432
|
}
|
|
219
433
|
catch (error) {
|
|
220
|
-
if (!request_logger_1.RequestLogger.getCurrent())
|
|
221
|
-
logger.error(
|
|
434
|
+
if (!request_logger_1.RequestLogger.getCurrent()) {
|
|
435
|
+
logger.error('Error listing apps', error);
|
|
436
|
+
}
|
|
222
437
|
const errorMessage = (0, tool_helpers_1.extractErrorMessage)(error);
|
|
223
438
|
return {
|
|
224
439
|
content: [{
|
|
225
|
-
type:
|
|
440
|
+
type: 'text',
|
|
226
441
|
text: `❌ **Error listing apps**\n\n**Error:** ${errorMessage}\n\n**Common Issues:**\n- Workspace not accessible\n- Permission issues`,
|
|
227
442
|
}],
|
|
228
443
|
};
|
|
@@ -230,120 +445,6 @@ exports.listAppsTool = {
|
|
|
230
445
|
}
|
|
231
446
|
};
|
|
232
447
|
// ============================================================================
|
|
233
|
-
// UPDATE APP TOOL
|
|
234
|
-
// ============================================================================
|
|
235
|
-
const updateAppDescription = `Update app properties`;
|
|
236
|
-
exports.updateAppTool = {
|
|
237
|
-
name: 'update_app',
|
|
238
|
-
group: tool_registry_1.ToolGroup.PLAYGROUND,
|
|
239
|
-
description: updateAppDescription,
|
|
240
|
-
schema: zod_1.z.object({
|
|
241
|
-
appId: zod_1.z
|
|
242
|
-
.string()
|
|
243
|
-
.min(1)
|
|
244
|
-
.describe("App ID to update"),
|
|
245
|
-
name: zod_1.z
|
|
246
|
-
.string()
|
|
247
|
-
.optional()
|
|
248
|
-
.describe("New app name"),
|
|
249
|
-
description: zod_1.z
|
|
250
|
-
.string()
|
|
251
|
-
.optional()
|
|
252
|
-
.describe("New description"),
|
|
253
|
-
url: zod_1.z
|
|
254
|
-
.string()
|
|
255
|
-
.optional()
|
|
256
|
-
.describe("New URL"),
|
|
257
|
-
image: zod_1.z
|
|
258
|
-
.string()
|
|
259
|
-
.optional()
|
|
260
|
-
.describe("New image ID"),
|
|
261
|
-
config: zod_1.z
|
|
262
|
-
.record(zod_1.z.unknown())
|
|
263
|
-
.optional()
|
|
264
|
-
.describe("New configuration"),
|
|
265
|
-
}),
|
|
266
|
-
async execute(args, context) {
|
|
267
|
-
logger.debug('Updating app', {
|
|
268
|
-
appId: args.appId,
|
|
269
|
-
apiKey: context.apiKey.substring(0, 8) + '...'
|
|
270
|
-
});
|
|
271
|
-
try {
|
|
272
|
-
const updateData = {};
|
|
273
|
-
if (args.name !== undefined)
|
|
274
|
-
updateData.name = args.name;
|
|
275
|
-
if (args.description !== undefined)
|
|
276
|
-
updateData.description = args.description;
|
|
277
|
-
if (args.url !== undefined)
|
|
278
|
-
updateData.url = args.url;
|
|
279
|
-
if (args.image !== undefined)
|
|
280
|
-
updateData.image = args.image;
|
|
281
|
-
if (args.config !== undefined)
|
|
282
|
-
updateData.config = args.config;
|
|
283
|
-
logger.debug('Calling v3.app.update', {
|
|
284
|
-
appId: args.appId,
|
|
285
|
-
updates: Object.keys(updateData)
|
|
286
|
-
});
|
|
287
|
-
await context.hailer.request('v3.app.update', [
|
|
288
|
-
args.appId,
|
|
289
|
-
updateData
|
|
290
|
-
]);
|
|
291
|
-
logger.debug('App update successful');
|
|
292
|
-
let responseText = `✅ **App Updated Successfully**\n\n`;
|
|
293
|
-
responseText += `**App ID:** \`${args.appId}\`\n\n`;
|
|
294
|
-
responseText += `**Updated Properties:**\n`;
|
|
295
|
-
const updatedFields = [];
|
|
296
|
-
if (args.name)
|
|
297
|
-
updatedFields.push(`name → "${args.name}"`);
|
|
298
|
-
if (args.description)
|
|
299
|
-
updatedFields.push(`description → "${args.description}"`);
|
|
300
|
-
if (args.url !== undefined)
|
|
301
|
-
updatedFields.push(`url → "${args.url || 'auto-generated'}"`);
|
|
302
|
-
if (args.image)
|
|
303
|
-
updatedFields.push(`image → "${args.image}"`);
|
|
304
|
-
if (args.config)
|
|
305
|
-
updatedFields.push(`config (updated)`);
|
|
306
|
-
updatedFields.forEach(field => {
|
|
307
|
-
responseText += `- ${field}\n`;
|
|
308
|
-
});
|
|
309
|
-
responseText += `\n💡 Use \`list_apps\` to verify changes.`;
|
|
310
|
-
return {
|
|
311
|
-
content: [{
|
|
312
|
-
type: "text",
|
|
313
|
-
text: responseText,
|
|
314
|
-
}],
|
|
315
|
-
};
|
|
316
|
-
}
|
|
317
|
-
catch (error) {
|
|
318
|
-
if (!request_logger_1.RequestLogger.getCurrent())
|
|
319
|
-
logger.error("Error updating app", error);
|
|
320
|
-
const errorMessage = (0, tool_helpers_1.extractErrorMessage)(error);
|
|
321
|
-
if (errorMessage.toLowerCase().includes('not found')) {
|
|
322
|
-
return {
|
|
323
|
-
content: [{
|
|
324
|
-
type: "text",
|
|
325
|
-
text: `❌ **App Not Found**\n\nThe specified app doesn't exist.\n\n**App ID:** \`${args.appId}\`\n\n💡 Use \`list_apps\` to see available apps.`,
|
|
326
|
-
}],
|
|
327
|
-
};
|
|
328
|
-
}
|
|
329
|
-
if (errorMessage.toLowerCase().includes('permission')) {
|
|
330
|
-
return {
|
|
331
|
-
content: [{
|
|
332
|
-
type: "text",
|
|
333
|
-
text: `❌ **Permission Denied**\n\nYou don't have permission to update this app. Only app creator or workspace admin can update apps.\n\n**Error:** ${errorMessage}`,
|
|
334
|
-
}],
|
|
335
|
-
};
|
|
336
|
-
}
|
|
337
|
-
return {
|
|
338
|
-
content: [{
|
|
339
|
-
type: "text",
|
|
340
|
-
text: `❌ **Error updating app**\n\n**Error:** ${errorMessage}\n\n**Common Issues:**\n- App ID invalid\n- Not app creator or admin\n- Invalid property values`,
|
|
341
|
-
}],
|
|
342
|
-
};
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
};
|
|
346
|
-
// ============================================================================
|
|
347
448
|
// REMOVE APP TOOL
|
|
348
449
|
// ============================================================================
|
|
349
450
|
const removeAppDescription = `Delete app permanently`;
|
|
@@ -355,15 +456,15 @@ exports.removeAppTool = {
|
|
|
355
456
|
appId: zod_1.z
|
|
356
457
|
.string()
|
|
357
458
|
.min(1)
|
|
358
|
-
.describe(
|
|
459
|
+
.describe('App ID to remove'),
|
|
359
460
|
confirmed: zod_1.z
|
|
360
461
|
.boolean()
|
|
361
462
|
.optional()
|
|
362
|
-
.describe(
|
|
463
|
+
.describe('First confirmation - must be true to proceed'),
|
|
363
464
|
secondConfirmed: zod_1.z
|
|
364
465
|
.boolean()
|
|
365
466
|
.optional()
|
|
366
|
-
.describe(
|
|
467
|
+
.describe('Second confirmation - must be true to proceed (required for double-check safety)'),
|
|
367
468
|
}),
|
|
368
469
|
async execute(args, context) {
|
|
369
470
|
logger.debug('Removing app', {
|
|
@@ -376,7 +477,7 @@ exports.removeAppTool = {
|
|
|
376
477
|
// Fetch app info and workspace info
|
|
377
478
|
const [appListResult, initData] = await Promise.all([
|
|
378
479
|
context.hailer.request('v3.app.list', [{}]),
|
|
379
|
-
context.hailer.request('v2.core.init', [[
|
|
480
|
+
context.hailer.request('v2.core.init', [['network']])
|
|
380
481
|
]);
|
|
381
482
|
// Handle multiple possible response structures
|
|
382
483
|
const appsList = appListResult?.apps || appListResult?.details?.apps || (Array.isArray(appListResult) ? appListResult : []);
|
|
@@ -412,7 +513,7 @@ exports.removeAppTool = {
|
|
|
412
513
|
warningText += `- Note: Published app code remains on server`;
|
|
413
514
|
return {
|
|
414
515
|
content: [{
|
|
415
|
-
type:
|
|
516
|
+
type: 'text',
|
|
416
517
|
text: warningText,
|
|
417
518
|
}],
|
|
418
519
|
};
|
|
@@ -441,19 +542,20 @@ exports.removeAppTool = {
|
|
|
441
542
|
responseText += `💡 Use \`list_apps\` to see remaining apps.`;
|
|
442
543
|
return {
|
|
443
544
|
content: [{
|
|
444
|
-
type:
|
|
545
|
+
type: 'text',
|
|
445
546
|
text: responseText,
|
|
446
547
|
}],
|
|
447
548
|
};
|
|
448
549
|
}
|
|
449
550
|
catch (error) {
|
|
450
|
-
if (!request_logger_1.RequestLogger.getCurrent())
|
|
451
|
-
logger.error(
|
|
551
|
+
if (!request_logger_1.RequestLogger.getCurrent()) {
|
|
552
|
+
logger.error('Error removing app', error);
|
|
553
|
+
}
|
|
452
554
|
const errorMessage = (0, tool_helpers_1.extractErrorMessage)(error);
|
|
453
555
|
if (errorMessage.toLowerCase().includes('not found')) {
|
|
454
556
|
return {
|
|
455
557
|
content: [{
|
|
456
|
-
type:
|
|
558
|
+
type: 'text',
|
|
457
559
|
text: `❌ **App Not Found**\n\nThe specified app doesn't exist or has already been deleted.\n\n**App ID:** \`${args.appId}\`\n\n💡 Use \`list_apps\` to see available apps.`,
|
|
458
560
|
}],
|
|
459
561
|
};
|
|
@@ -461,14 +563,14 @@ exports.removeAppTool = {
|
|
|
461
563
|
if (errorMessage.toLowerCase().includes('permission')) {
|
|
462
564
|
return {
|
|
463
565
|
content: [{
|
|
464
|
-
type:
|
|
566
|
+
type: 'text',
|
|
465
567
|
text: `❌ **Permission Denied**\n\nYou don't have permission to remove this app. Only app creator or workspace admin can delete apps.\n\n**Error:** ${errorMessage}`,
|
|
466
568
|
}],
|
|
467
569
|
};
|
|
468
570
|
}
|
|
469
571
|
return {
|
|
470
572
|
content: [{
|
|
471
|
-
type:
|
|
573
|
+
type: 'text',
|
|
472
574
|
text: `❌ **Error removing app**\n\n**Error:** ${errorMessage}\n\n**Common Issues:**\n- App ID invalid\n- App already deleted\n- Not app creator or admin`,
|
|
473
575
|
}],
|
|
474
576
|
};
|
|
@@ -477,9 +579,8 @@ exports.removeAppTool = {
|
|
|
477
579
|
};
|
|
478
580
|
/** All app core tools */
|
|
479
581
|
exports.appCoreTools = [
|
|
480
|
-
exports.createAppTool,
|
|
481
582
|
exports.listAppsTool,
|
|
482
|
-
exports.
|
|
583
|
+
exports.manageAppTool,
|
|
483
584
|
exports.removeAppTool,
|
|
484
585
|
];
|
|
485
586
|
//# sourceMappingURL=app-core.js.map
|