@hailer/mcp 1.1.15 → 1.1.17-beta.0
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/CLAUDE.md +117 -320
- package/.claude/commands/app-squad.md +86 -90
- package/.claude/commands/audit-squad.md +19 -19
- package/.claude/commands/autoplan.md +3 -3
- package/.claude/commands/cleanup-squad.md +16 -16
- package/.claude/commands/config-squad.md +30 -30
- package/.claude/commands/crud-squad.md +23 -23
- package/.claude/commands/data-squad.md +21 -21
- package/.claude/commands/debug-squad.md +44 -44
- package/.claude/commands/doc-squad.md +16 -16
- package/.claude/commands/help:agents.md +130 -99
- package/.claude/commands/help:commands.md +15 -15
- package/.claude/commands/help:faq.md +17 -17
- package/.claude/commands/help:plugins.md +1 -1
- package/.claude/commands/help:skills.md +18 -24
- package/.claude/commands/hotfix-squad.md +22 -22
- package/.claude/commands/integration-squad.md +22 -22
- package/.claude/commands/janitor-squad.md +31 -31
- package/.claude/commands/learn-auto.md +5 -5
- package/.claude/commands/learn.md +12 -20
- package/.claude/commands/onboard-squad.md +39 -49
- package/.claude/commands/plan-workspace.md +2 -2
- package/.claude/commands/publish.md +32 -37
- package/.claude/commands/review-squad.md +27 -27
- package/.claude/commands/stats.md +26 -12
- package/.claude/commands/swarm.md +25 -25
- package/.claude/skills/chrome-mcp-reference/SKILL.md +5 -0
- package/.claude/skills/hailer-api-client/SKILL.md +55 -16
- package/.claude/skills/hailer-app-builder/SKILL.md +4 -270
- package/.claude/skills/hailer-apps-pictures/SKILL.md +3 -3
- package/.claude/skills/hailer-design-system/SKILL.md +96 -4
- package/.claude/skills/hailer-monolith-automations/SKILL.md +138 -116
- package/.claude/skills/hailer-permissions-system/SKILL.md +6 -9
- package/.claude/skills/hailer-project-protocol/SKILL.md +20 -110
- package/.claude/skills/integration-patterns/SKILL.md +6 -6
- package/.claude/skills/lsp-setup/SKILL.md +8 -9
- package/.claude/skills/sdk-activity-patterns/SKILL.md +238 -0
- package/.claude/skills/{SDK-document-templates → sdk-document-templates}/SKILL.md +13 -340
- package/.claude/skills/{SDK-function-fields → sdk-function-fields}/SKILL.md +8 -40
- package/.claude/skills/{SDK-insight-queries → sdk-insight-queries}/SKILL.md +114 -392
- package/.claude/skills/{SDK-ws-config-skill → sdk-ws-config-skill}/SKILL.md +79 -310
- package/.claude/skills/zapier-hailer-patterns/SKILL.md +84 -361
- package/.opencode/package-lock.json +117 -0
- package/CLAUDE.md +5 -358
- package/dist/agents/bot-manager.d.ts +48 -0
- package/dist/agents/bot-manager.d.ts.map +1 -0
- package/dist/agents/bot-manager.js +254 -0
- package/dist/agents/bot-manager.js.map +1 -0
- package/dist/agents/bug-fixer/ai.d.ts +80 -0
- package/dist/agents/bug-fixer/ai.d.ts.map +1 -0
- package/dist/agents/bug-fixer/ai.js +466 -0
- package/dist/agents/bug-fixer/ai.js.map +1 -0
- package/dist/agents/bug-fixer/bot.d.ts +92 -0
- package/dist/agents/bug-fixer/bot.d.ts.map +1 -0
- package/dist/agents/bug-fixer/bot.js +687 -0
- package/dist/agents/bug-fixer/bot.js.map +1 -0
- package/dist/agents/bug-fixer/config.d.ts +21 -0
- package/dist/agents/bug-fixer/config.d.ts.map +1 -0
- package/dist/agents/bug-fixer/config.js +218 -0
- package/dist/agents/bug-fixer/config.js.map +1 -0
- package/dist/agents/bug-fixer/files.d.ts +67 -0
- package/dist/agents/bug-fixer/files.d.ts.map +1 -0
- package/dist/agents/bug-fixer/files.js +386 -0
- package/dist/agents/bug-fixer/files.js.map +1 -0
- package/dist/agents/bug-fixer/git.d.ts +48 -0
- package/dist/agents/bug-fixer/git.d.ts.map +1 -0
- package/dist/agents/bug-fixer/git.js +298 -0
- package/dist/agents/bug-fixer/git.js.map +1 -0
- package/dist/agents/bug-fixer/index.d.ts +103 -0
- package/dist/agents/bug-fixer/index.d.ts.map +1 -0
- package/dist/agents/bug-fixer/index.js +262 -0
- package/dist/agents/bug-fixer/index.js.map +1 -0
- package/dist/agents/bug-fixer/lsp.d.ts +113 -0
- package/dist/agents/bug-fixer/lsp.d.ts.map +1 -0
- package/dist/agents/bug-fixer/lsp.js +485 -0
- package/dist/agents/bug-fixer/lsp.js.map +1 -0
- package/dist/agents/bug-fixer/monitor.d.ts +123 -0
- package/dist/agents/bug-fixer/monitor.d.ts.map +1 -0
- package/dist/agents/bug-fixer/monitor.js +629 -0
- package/dist/agents/bug-fixer/monitor.js.map +1 -0
- package/dist/agents/bug-fixer/prompt.d.ts +5 -0
- package/dist/agents/bug-fixer/prompt.d.ts.map +1 -0
- package/dist/agents/bug-fixer/prompt.js +94 -0
- package/dist/agents/bug-fixer/prompt.js.map +1 -0
- package/dist/agents/bug-fixer/registries/pending-classification.d.ts +28 -0
- package/dist/agents/bug-fixer/registries/pending-classification.d.ts.map +1 -0
- package/dist/agents/bug-fixer/registries/pending-classification.js +50 -0
- package/dist/agents/bug-fixer/registries/pending-classification.js.map +1 -0
- package/dist/agents/bug-fixer/registries/pending-fix.d.ts +33 -0
- package/dist/agents/bug-fixer/registries/pending-fix.d.ts.map +1 -0
- package/dist/agents/bug-fixer/registries/pending-fix.js +64 -0
- package/dist/agents/bug-fixer/registries/pending-fix.js.map +1 -0
- package/dist/agents/bug-fixer/registries/pending.d.ts +27 -0
- package/dist/agents/bug-fixer/registries/pending.d.ts.map +1 -0
- package/dist/agents/bug-fixer/registries/pending.js +49 -0
- package/dist/agents/bug-fixer/registries/pending.js.map +1 -0
- package/dist/agents/bug-fixer/specialist-daemon.d.ts +88 -0
- package/dist/agents/bug-fixer/specialist-daemon.d.ts.map +1 -0
- package/dist/agents/bug-fixer/specialist-daemon.js +431 -0
- package/dist/agents/bug-fixer/specialist-daemon.js.map +1 -0
- package/dist/agents/bug-fixer/specialist.d.ts +47 -0
- package/dist/agents/bug-fixer/specialist.d.ts.map +1 -0
- package/dist/agents/bug-fixer/specialist.js +327 -0
- package/dist/agents/bug-fixer/specialist.js.map +1 -0
- package/dist/agents/bug-fixer/types.d.ts +123 -0
- package/dist/agents/bug-fixer/types.d.ts.map +1 -0
- package/dist/agents/bug-fixer/types.js +9 -0
- package/dist/agents/bug-fixer/types.js.map +1 -0
- package/dist/agents/factory.d.ts +172 -0
- package/dist/agents/factory.d.ts.map +1 -0
- package/dist/agents/factory.js +706 -0
- package/dist/agents/factory.js.map +1 -0
- package/dist/agents/hailer-expert/index.d.ts +8 -0
- package/dist/agents/hailer-expert/index.d.ts.map +1 -0
- package/dist/agents/hailer-expert/index.js +14 -0
- package/dist/agents/hailer-expert/index.js.map +1 -0
- package/dist/agents/hal/daemon.d.ts +174 -0
- package/dist/agents/hal/daemon.d.ts.map +1 -0
- package/dist/agents/hal/daemon.js +1385 -0
- package/dist/agents/hal/daemon.js.map +1 -0
- package/dist/agents/hal/definitions.d.ts +42 -0
- package/dist/agents/hal/definitions.d.ts.map +1 -0
- package/dist/agents/hal/definitions.js +300 -0
- package/dist/agents/hal/definitions.js.map +1 -0
- package/dist/agents/hal/index.d.ts +3 -0
- package/dist/agents/hal/index.d.ts.map +1 -0
- package/dist/agents/hal/index.js +8 -0
- package/dist/agents/hal/index.js.map +1 -0
- package/dist/agents/index.d.ts +18 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +48 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/shared/base.d.ts +253 -0
- package/dist/agents/shared/base.d.ts.map +1 -0
- package/dist/agents/shared/base.js +1122 -0
- package/dist/agents/shared/base.js.map +1 -0
- package/dist/agents/shared/schemas/action-schema.d.ts +62 -0
- package/dist/agents/shared/schemas/action-schema.d.ts.map +1 -0
- package/dist/agents/shared/schemas/action-schema.js +483 -0
- package/dist/agents/shared/schemas/action-schema.js.map +1 -0
- package/dist/agents/shared/services/agent-registry.d.ts +108 -0
- package/dist/agents/shared/services/agent-registry.d.ts.map +1 -0
- package/dist/agents/shared/services/agent-registry.js +469 -0
- package/dist/agents/shared/services/agent-registry.js.map +1 -0
- package/dist/agents/shared/services/conversation-manager.d.ts +57 -0
- package/dist/agents/shared/services/conversation-manager.d.ts.map +1 -0
- package/dist/agents/shared/services/conversation-manager.js +168 -0
- package/dist/agents/shared/services/conversation-manager.js.map +1 -0
- package/dist/agents/shared/services/mcp-client.d.ts +56 -0
- package/dist/agents/shared/services/mcp-client.d.ts.map +1 -0
- package/dist/agents/shared/services/mcp-client.js +124 -0
- package/dist/agents/shared/services/mcp-client.js.map +1 -0
- package/dist/agents/shared/services/message-classifier.d.ts +37 -0
- package/dist/agents/shared/services/message-classifier.d.ts.map +1 -0
- package/dist/agents/shared/services/message-classifier.js +203 -0
- package/dist/agents/shared/services/message-classifier.js.map +1 -0
- package/dist/agents/shared/services/message-formatter.d.ts +89 -0
- package/dist/agents/shared/services/message-formatter.d.ts.map +1 -0
- package/dist/agents/shared/services/message-formatter.js +390 -0
- package/dist/agents/shared/services/message-formatter.js.map +1 -0
- package/dist/agents/shared/services/session-logger.d.ts +162 -0
- package/dist/agents/shared/services/session-logger.d.ts.map +1 -0
- package/dist/agents/shared/services/session-logger.js +724 -0
- package/dist/agents/shared/services/session-logger.js.map +1 -0
- package/dist/agents/shared/services/structured-output-executor.d.ts +88 -0
- package/dist/agents/shared/services/structured-output-executor.d.ts.map +1 -0
- package/dist/agents/shared/services/structured-output-executor.js +296 -0
- package/dist/agents/shared/services/structured-output-executor.js.map +1 -0
- package/dist/agents/shared/services/token-billing.d.ts +72 -0
- package/dist/agents/shared/services/token-billing.d.ts.map +1 -0
- package/dist/agents/shared/services/token-billing.js +198 -0
- package/dist/agents/shared/services/token-billing.js.map +1 -0
- package/dist/agents/shared/services/tool-executor.d.ts +43 -0
- package/dist/agents/shared/services/tool-executor.d.ts.map +1 -0
- package/dist/agents/shared/services/tool-executor.js +175 -0
- package/dist/agents/shared/services/tool-executor.js.map +1 -0
- package/dist/agents/shared/services/typing-indicator.d.ts +24 -0
- package/dist/agents/shared/services/typing-indicator.d.ts.map +1 -0
- package/dist/agents/shared/services/typing-indicator.js +54 -0
- package/dist/agents/shared/services/typing-indicator.js.map +1 -0
- package/dist/agents/shared/services/workspace-schema-cache.d.ts +122 -0
- package/dist/agents/shared/services/workspace-schema-cache.d.ts.map +1 -0
- package/dist/agents/shared/services/workspace-schema-cache.js +507 -0
- package/dist/agents/shared/services/workspace-schema-cache.js.map +1 -0
- package/dist/agents/shared/specialist.d.ts +91 -0
- package/dist/agents/shared/specialist.d.ts.map +1 -0
- package/dist/agents/shared/specialist.js +399 -0
- package/dist/agents/shared/specialist.js.map +1 -0
- package/dist/agents/shared/tool-schema-loader.d.ts +65 -0
- package/dist/agents/shared/tool-schema-loader.d.ts.map +1 -0
- package/dist/agents/shared/tool-schema-loader.js +238 -0
- package/dist/agents/shared/tool-schema-loader.js.map +1 -0
- package/dist/agents/shared/types.d.ts +190 -0
- package/dist/agents/shared/types.d.ts.map +1 -0
- package/dist/agents/shared/types.js +13 -0
- package/dist/agents/shared/types.js.map +1 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +10 -127
- package/dist/app.js.map +1 -0
- package/dist/bot/bot-config.d.ts.map +1 -0
- package/dist/bot/bot-config.js.map +1 -0
- package/dist/bot/bot-manager.d.ts +3 -14
- package/dist/bot/bot-manager.d.ts.map +1 -0
- package/dist/bot/bot-manager.js +13 -4
- package/dist/bot/bot-manager.js.map +1 -0
- package/dist/bot/bot.d.ts +23 -102
- package/dist/bot/bot.d.ts.map +1 -0
- package/dist/bot/bot.js +356 -1212
- package/dist/bot/bot.js.map +1 -0
- package/dist/bot/operation-logger.d.ts.map +1 -0
- package/dist/bot/operation-logger.js.map +1 -0
- package/dist/bot/services/__tests__/permission-guard.test.d.ts +2 -0
- package/dist/bot/services/__tests__/permission-guard.test.d.ts.map +1 -0
- package/dist/bot/services/__tests__/permission-guard.test.js +357 -0
- package/dist/bot/services/__tests__/permission-guard.test.js.map +1 -0
- package/dist/bot/services/bot-permissions.d.ts +50 -0
- package/dist/bot/services/bot-permissions.d.ts.map +1 -0
- package/dist/bot/services/bot-permissions.js +198 -0
- package/dist/bot/services/bot-permissions.js.map +1 -0
- package/dist/bot/services/conversation-manager.d.ts.map +1 -0
- package/dist/bot/services/conversation-manager.js.map +1 -0
- package/dist/bot/services/index.d.ts +4 -2
- package/dist/bot/services/index.d.ts.map +1 -0
- package/dist/bot/services/index.js +10 -5
- package/dist/bot/services/index.js.map +1 -0
- package/dist/bot/services/message-classifier.d.ts +1 -1
- package/dist/bot/services/message-classifier.d.ts.map +1 -0
- package/dist/bot/services/message-classifier.js.map +1 -0
- package/dist/bot/services/message-formatter.d.ts.map +1 -0
- package/dist/bot/services/message-formatter.js.map +1 -0
- package/dist/bot/services/permission-guard.d.ts.map +1 -0
- package/dist/bot/services/permission-guard.js.map +1 -0
- package/dist/bot/services/session-logger.d.ts.map +1 -0
- package/dist/bot/services/session-logger.js.map +1 -0
- package/dist/bot/services/signal-router.d.ts +32 -0
- package/dist/bot/services/signal-router.d.ts.map +1 -0
- package/dist/bot/services/signal-router.js +132 -0
- package/dist/bot/services/signal-router.js.map +1 -0
- package/dist/bot/services/system-prompt.d.ts +12 -0
- package/dist/bot/services/system-prompt.d.ts.map +1 -0
- package/dist/bot/services/system-prompt.js +93 -0
- package/dist/bot/services/system-prompt.js.map +1 -0
- package/dist/bot/services/token-billing.d.ts.map +1 -0
- package/dist/bot/services/token-billing.js.map +1 -0
- package/dist/bot/services/types.d.ts +7 -34
- package/dist/bot/services/types.d.ts.map +1 -0
- package/dist/bot/services/types.js +0 -3
- package/dist/bot/services/types.js.map +1 -0
- package/dist/bot/services/typing-indicator.d.ts.map +1 -0
- package/dist/bot/services/typing-indicator.js.map +1 -0
- package/dist/bot/services/workspace-refresh.d.ts +47 -0
- package/dist/bot/services/workspace-refresh.d.ts.map +1 -0
- package/dist/bot/services/workspace-refresh.js +154 -0
- package/dist/bot/services/workspace-refresh.js.map +1 -0
- package/dist/bot/services/workspace-schema-cache.d.ts.map +1 -0
- package/dist/bot/services/workspace-schema-cache.js.map +1 -0
- package/dist/bot/tool-executor.d.ts.map +1 -0
- package/dist/bot/tool-executor.js.map +1 -0
- package/dist/bot/workspace-overview.d.ts.map +1 -0
- package/dist/bot/workspace-overview.js.map +1 -0
- package/dist/bot-config/constants.d.ts +6 -0
- package/dist/bot-config/constants.d.ts.map +1 -0
- package/dist/bot-config/constants.js +43 -0
- package/dist/bot-config/constants.js.map +1 -0
- package/dist/bot-config/context.d.ts +117 -0
- package/dist/bot-config/context.d.ts.map +1 -0
- package/dist/bot-config/context.js +354 -0
- package/dist/bot-config/context.js.map +1 -0
- package/dist/bot-config/index.d.ts +12 -0
- package/dist/bot-config/index.d.ts.map +1 -0
- package/dist/bot-config/index.js +29 -0
- package/dist/bot-config/index.js.map +1 -0
- package/dist/bot-config/loader.d.ts +40 -0
- package/dist/bot-config/loader.d.ts.map +1 -0
- package/dist/bot-config/loader.js +285 -0
- package/dist/bot-config/loader.js.map +1 -0
- package/dist/bot-config/persistence.d.ts +17 -0
- package/dist/bot-config/persistence.d.ts.map +1 -0
- package/dist/bot-config/persistence.js +51 -0
- package/dist/bot-config/persistence.js.map +1 -0
- package/dist/bot-config/state.d.ts +15 -0
- package/dist/bot-config/state.d.ts.map +1 -0
- package/dist/bot-config/state.js +46 -0
- package/dist/bot-config/state.js.map +1 -0
- package/dist/bot-config/tools.d.ts +28 -0
- package/dist/bot-config/tools.d.ts.map +1 -0
- package/dist/bot-config/tools.js +279 -0
- package/dist/bot-config/tools.js.map +1 -0
- package/dist/bot-config/types.d.ts +52 -0
- package/dist/bot-config/types.d.ts.map +1 -0
- package/dist/bot-config/types.js +6 -0
- package/dist/bot-config/types.js.map +1 -0
- package/dist/bot-config/webhooks.d.ts +23 -0
- package/dist/bot-config/webhooks.d.ts.map +1 -0
- package/dist/bot-config/webhooks.js +199 -0
- package/dist/bot-config/webhooks.js.map +1 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js.map +1 -0
- package/dist/client/agents/base.d.ts +207 -0
- package/dist/client/agents/base.d.ts.map +1 -0
- package/dist/client/agents/base.js +744 -0
- package/dist/client/agents/base.js.map +1 -0
- package/dist/client/agents/definitions.d.ts +53 -0
- package/dist/client/agents/definitions.d.ts.map +1 -0
- package/dist/client/agents/definitions.js +263 -0
- package/dist/client/agents/definitions.js.map +1 -0
- package/dist/client/agents/orchestrator.d.ts +141 -0
- package/dist/client/agents/orchestrator.d.ts.map +1 -0
- package/dist/client/agents/orchestrator.js +1062 -0
- package/dist/client/agents/orchestrator.js.map +1 -0
- package/dist/client/agents/specialist.d.ts +86 -0
- package/dist/client/agents/specialist.d.ts.map +1 -0
- package/dist/client/agents/specialist.js +340 -0
- package/dist/client/agents/specialist.js.map +1 -0
- package/dist/client/bot-entrypoint.d.ts +7 -0
- package/dist/client/bot-entrypoint.d.ts.map +1 -0
- package/dist/client/bot-entrypoint.js +103 -0
- package/dist/client/bot-entrypoint.js.map +1 -0
- package/dist/client/bot-manager.d.ts +44 -0
- package/dist/client/bot-manager.d.ts.map +1 -0
- package/dist/client/bot-manager.js +173 -0
- package/dist/client/bot-manager.js.map +1 -0
- package/dist/client/bot-runner.d.ts +35 -0
- package/dist/client/bot-runner.d.ts.map +1 -0
- package/dist/client/bot-runner.js +188 -0
- package/dist/client/bot-runner.js.map +1 -0
- package/dist/client/chat-agent-daemon.d.ts +464 -0
- package/dist/client/chat-agent-daemon.d.ts.map +1 -0
- package/dist/client/chat-agent-daemon.js +1774 -0
- package/dist/client/chat-agent-daemon.js.map +1 -0
- package/dist/client/daemon-factory.d.ts +106 -0
- package/dist/client/daemon-factory.d.ts.map +1 -0
- package/dist/client/daemon-factory.js +301 -0
- package/dist/client/daemon-factory.js.map +1 -0
- package/dist/client/factory.d.ts +111 -0
- package/dist/client/factory.d.ts.map +1 -0
- package/dist/client/factory.js +314 -0
- package/dist/client/factory.js.map +1 -0
- package/dist/client/index.d.ts +17 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +38 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/multi-bot-manager.d.ts +42 -0
- package/dist/client/multi-bot-manager.d.ts.map +1 -0
- package/dist/client/multi-bot-manager.js +161 -0
- package/dist/client/multi-bot-manager.js.map +1 -0
- package/dist/client/orchestrator-daemon.d.ts +87 -0
- package/dist/client/orchestrator-daemon.d.ts.map +1 -0
- package/dist/client/orchestrator-daemon.js +444 -0
- package/dist/client/orchestrator-daemon.js.map +1 -0
- package/dist/client/server.d.ts +8 -0
- package/dist/client/server.d.ts.map +1 -0
- package/dist/client/server.js +251 -0
- package/dist/client/server.js.map +1 -0
- package/dist/client/services/agent-registry.d.ts +108 -0
- package/dist/client/services/agent-registry.d.ts.map +1 -0
- package/dist/client/services/agent-registry.js +630 -0
- package/dist/client/services/agent-registry.js.map +1 -0
- package/dist/client/services/conversation-manager.d.ts +50 -0
- package/dist/client/services/conversation-manager.d.ts.map +1 -0
- package/dist/client/services/conversation-manager.js +136 -0
- package/dist/client/services/conversation-manager.js.map +1 -0
- package/dist/client/services/mcp-client.d.ts +48 -0
- package/dist/client/services/mcp-client.d.ts.map +1 -0
- package/dist/client/services/mcp-client.js +105 -0
- package/dist/client/services/mcp-client.js.map +1 -0
- package/dist/client/services/message-classifier.d.ts +37 -0
- package/dist/client/services/message-classifier.d.ts.map +1 -0
- package/dist/client/services/message-classifier.js +187 -0
- package/dist/client/services/message-classifier.js.map +1 -0
- package/dist/client/services/message-formatter.d.ts +84 -0
- package/dist/client/services/message-formatter.d.ts.map +1 -0
- package/dist/client/services/message-formatter.js +353 -0
- package/dist/client/services/message-formatter.js.map +1 -0
- package/dist/client/services/session-logger.d.ts +106 -0
- package/dist/client/services/session-logger.d.ts.map +1 -0
- package/dist/client/services/session-logger.js +446 -0
- package/dist/client/services/session-logger.js.map +1 -0
- package/dist/client/services/tool-executor.d.ts +41 -0
- package/dist/client/services/tool-executor.d.ts.map +1 -0
- package/dist/client/services/tool-executor.js +169 -0
- package/dist/client/services/tool-executor.js.map +1 -0
- package/dist/client/services/workspace-schema-cache.d.ts +149 -0
- package/dist/client/services/workspace-schema-cache.d.ts.map +1 -0
- package/dist/client/services/workspace-schema-cache.js +732 -0
- package/dist/client/services/workspace-schema-cache.js.map +1 -0
- package/dist/client/specialist-daemon.d.ts +77 -0
- package/dist/client/specialist-daemon.d.ts.map +1 -0
- package/dist/client/specialist-daemon.js +197 -0
- package/dist/client/specialist-daemon.js.map +1 -0
- package/dist/client/specialists.d.ts +53 -0
- package/dist/client/specialists.d.ts.map +1 -0
- package/dist/client/specialists.js +178 -0
- package/dist/client/specialists.js.map +1 -0
- package/dist/client/tool-schema-loader.d.ts +62 -0
- package/dist/client/tool-schema-loader.d.ts.map +1 -0
- package/dist/client/tool-schema-loader.js +232 -0
- package/dist/client/tool-schema-loader.js.map +1 -0
- package/dist/client/types.d.ts +327 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +121 -0
- package/dist/client/types.js.map +1 -0
- package/dist/commands/seed-config.d.ts +9 -0
- package/dist/commands/seed-config.d.ts.map +1 -0
- package/dist/commands/seed-config.js +377 -0
- package/dist/commands/seed-config.js.map +1 -0
- package/dist/commands/setup.d.ts +11 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +320 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/config.d.ts +0 -9
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +0 -15
- package/dist/config.js.map +1 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js.map +1 -0
- package/dist/lib/discussion-lock.d.ts.map +1 -0
- package/dist/lib/discussion-lock.js.map +1 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/request-logger.d.ts.map +1 -0
- package/dist/lib/request-logger.js.map +1 -0
- package/dist/mcp/UserContextCache.d.ts.map +1 -0
- package/dist/mcp/UserContextCache.js.map +1 -0
- package/dist/mcp/auth.d.ts.map +1 -0
- package/dist/mcp/auth.js.map +1 -0
- package/dist/mcp/hailer-clients.d.ts.map +1 -0
- package/dist/mcp/hailer-clients.js +2 -2
- package/dist/mcp/hailer-clients.js.map +1 -0
- package/dist/mcp/session-store.d.ts.map +1 -0
- package/dist/mcp/session-store.js.map +1 -0
- package/dist/mcp/signal-handler.d.ts.map +1 -0
- package/dist/mcp/signal-handler.js.map +1 -0
- package/dist/mcp/tool-registry.d.ts +10 -115
- package/dist/mcp/tool-registry.d.ts.map +1 -0
- package/dist/mcp/tool-registry.js +39 -363
- package/dist/mcp/tool-registry.js.map +1 -0
- package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts +2 -0
- package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts.map +1 -0
- package/dist/mcp/tools/__tests__/discussion-forward.test.js +218 -0
- package/dist/mcp/tools/__tests__/discussion-forward.test.js.map +1 -0
- package/dist/mcp/tools/activity.d.ts +3 -0
- package/dist/mcp/tools/activity.d.ts.map +1 -0
- package/dist/mcp/tools/activity.js +8 -1
- package/dist/mcp/tools/activity.js.map +1 -0
- package/dist/mcp/tools/app-core.d.ts +3 -0
- package/dist/mcp/tools/app-core.d.ts.map +1 -0
- package/dist/mcp/tools/app-core.js +9 -2
- package/dist/mcp/tools/app-core.js.map +1 -0
- package/dist/mcp/tools/app-marketplace.d.ts +3 -0
- package/dist/mcp/tools/app-marketplace.d.ts.map +1 -0
- package/dist/mcp/tools/app-marketplace.js +13 -1
- package/dist/mcp/tools/app-marketplace.js.map +1 -0
- package/dist/mcp/tools/app-member.d.ts +3 -0
- package/dist/mcp/tools/app-member.d.ts.map +1 -0
- package/dist/mcp/tools/app-member.js +6 -1
- package/dist/mcp/tools/app-member.js.map +1 -0
- package/dist/mcp/tools/app-scaffold.d.ts +3 -0
- package/dist/mcp/tools/app-scaffold.d.ts.map +1 -0
- package/dist/mcp/tools/app-scaffold.js +15 -11
- package/dist/mcp/tools/app-scaffold.js.map +1 -0
- package/dist/mcp/tools/app.d.ts.map +1 -0
- package/dist/mcp/tools/app.js.map +1 -0
- package/dist/mcp/tools/bot-config/constants.d.ts.map +1 -0
- package/dist/mcp/tools/bot-config/constants.js.map +1 -0
- package/dist/mcp/tools/bot-config/core.d.ts.map +1 -0
- package/dist/mcp/tools/bot-config/core.js.map +1 -0
- package/dist/mcp/tools/bot-config/index.d.ts.map +1 -0
- package/dist/mcp/tools/bot-config/index.js.map +1 -0
- package/dist/mcp/tools/bot-config/tools.d.ts.map +1 -0
- package/dist/mcp/tools/bot-config/tools.js.map +1 -0
- package/dist/mcp/tools/bot-config/types.d.ts.map +1 -0
- package/dist/mcp/tools/bot-config/types.js.map +1 -0
- package/dist/mcp/tools/bug-fixer-tools.d.ts.map +1 -0
- package/dist/mcp/tools/bug-fixer-tools.js.map +1 -0
- package/dist/mcp/tools/company.d.ts +3 -0
- package/dist/mcp/tools/company.d.ts.map +1 -0
- package/dist/mcp/tools/company.js +5 -1
- package/dist/mcp/tools/company.js.map +1 -0
- package/dist/mcp/tools/discussion.d.ts +3 -0
- package/dist/mcp/tools/discussion.d.ts.map +1 -0
- package/dist/mcp/tools/discussion.js +13 -2
- package/dist/mcp/tools/discussion.js.map +1 -0
- package/dist/mcp/tools/document.d.ts.map +1 -0
- package/dist/mcp/tools/document.js.map +1 -0
- package/dist/mcp/tools/file.d.ts +3 -0
- package/dist/mcp/tools/file.d.ts.map +1 -0
- package/dist/mcp/tools/file.js +6 -1
- package/dist/mcp/tools/file.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +7 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +34 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/insight.d.ts +3 -0
- package/dist/mcp/tools/insight.d.ts.map +1 -0
- package/dist/mcp/tools/insight.js +18 -8
- package/dist/mcp/tools/insight.js.map +1 -0
- package/dist/mcp/tools/investigate.d.ts.map +1 -0
- package/dist/mcp/tools/investigate.js.map +1 -0
- package/dist/mcp/tools/user.d.ts +3 -0
- package/dist/mcp/tools/user.d.ts.map +1 -0
- package/dist/mcp/tools/user.js +6 -1
- package/dist/mcp/tools/user.js.map +1 -0
- package/dist/mcp/tools/workflow-permissions.d.ts +3 -0
- package/dist/mcp/tools/workflow-permissions.d.ts.map +1 -0
- package/dist/mcp/tools/workflow-permissions.js +8 -1
- package/dist/mcp/tools/workflow-permissions.js.map +1 -0
- package/dist/mcp/tools/workflow.d.ts +3 -0
- package/dist/mcp/tools/workflow.d.ts.map +1 -0
- package/dist/mcp/tools/workflow.js +29 -28
- package/dist/mcp/tools/workflow.js.map +1 -0
- package/dist/mcp/utils/api-errors.d.ts.map +1 -0
- package/dist/mcp/utils/api-errors.js.map +1 -0
- package/dist/mcp/utils/data-transformers.d.ts.map +1 -0
- package/dist/mcp/utils/data-transformers.js.map +1 -0
- package/dist/mcp/utils/file-upload.d.ts.map +1 -0
- package/dist/mcp/utils/file-upload.js.map +1 -0
- package/dist/mcp/utils/hailer-api-client.d.ts.map +1 -0
- package/dist/mcp/utils/hailer-api-client.js.map +1 -0
- package/dist/mcp/utils/index.d.ts +4 -11
- package/dist/mcp/utils/index.d.ts.map +1 -0
- package/dist/mcp/utils/index.js +5 -36
- package/dist/mcp/utils/index.js.map +1 -0
- package/dist/mcp/utils/logger.d.ts.map +1 -0
- package/dist/mcp/utils/logger.js.map +1 -0
- package/dist/mcp/utils/pagination.d.ts.map +1 -0
- package/dist/mcp/utils/pagination.js.map +1 -0
- package/dist/mcp/utils/response-builder.d.ts.map +1 -0
- package/dist/mcp/utils/response-builder.js.map +1 -0
- package/dist/mcp/utils/role-utils.d.ts +0 -32
- package/dist/mcp/utils/role-utils.d.ts.map +1 -0
- package/dist/mcp/utils/role-utils.js +0 -73
- package/dist/mcp/utils/role-utils.js.map +1 -0
- package/dist/mcp/utils/tool-helpers.d.ts +0 -25
- package/dist/mcp/utils/tool-helpers.d.ts.map +1 -0
- package/dist/mcp/utils/tool-helpers.js +0 -34
- package/dist/mcp/utils/tool-helpers.js.map +1 -0
- package/dist/mcp/utils/types.d.ts.map +1 -0
- package/dist/mcp/utils/types.js.map +1 -0
- package/dist/mcp/webhook-handler.d.ts +4 -34
- package/dist/mcp/webhook-handler.d.ts.map +1 -0
- package/dist/mcp/webhook-handler.js +57 -74
- package/dist/mcp/webhook-handler.js.map +1 -0
- package/dist/mcp/workspace-cache.d.ts.map +1 -0
- package/dist/mcp/workspace-cache.js.map +1 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +3 -78
- package/dist/mcp-server.js.map +1 -0
- package/dist/modules/bug-reports/bug-config.d.ts +25 -0
- package/dist/modules/bug-reports/bug-config.d.ts.map +1 -0
- package/dist/modules/bug-reports/bug-config.js +187 -0
- package/dist/modules/bug-reports/bug-config.js.map +1 -0
- package/dist/modules/bug-reports/bug-monitor.d.ts +108 -0
- package/dist/modules/bug-reports/bug-monitor.d.ts.map +1 -0
- package/dist/modules/bug-reports/bug-monitor.js +510 -0
- package/dist/modules/bug-reports/bug-monitor.js.map +1 -0
- package/dist/modules/bug-reports/giuseppe-agent.d.ts +58 -0
- package/dist/modules/bug-reports/giuseppe-agent.d.ts.map +1 -0
- package/dist/modules/bug-reports/giuseppe-agent.js +467 -0
- package/dist/modules/bug-reports/giuseppe-agent.js.map +1 -0
- package/dist/modules/bug-reports/giuseppe-ai.d.ts +83 -0
- package/dist/modules/bug-reports/giuseppe-ai.d.ts.map +1 -0
- package/dist/modules/bug-reports/giuseppe-ai.js +466 -0
- package/dist/modules/bug-reports/giuseppe-ai.js.map +1 -0
- package/dist/modules/bug-reports/giuseppe-bot.d.ts +110 -0
- package/dist/modules/bug-reports/giuseppe-bot.d.ts.map +1 -0
- package/dist/modules/bug-reports/giuseppe-bot.js +804 -0
- package/dist/modules/bug-reports/giuseppe-bot.js.map +1 -0
- package/dist/modules/bug-reports/giuseppe-daemon.d.ts +80 -0
- package/dist/modules/bug-reports/giuseppe-daemon.d.ts.map +1 -0
- package/dist/modules/bug-reports/giuseppe-daemon.js +617 -0
- package/dist/modules/bug-reports/giuseppe-daemon.js.map +1 -0
- package/dist/modules/bug-reports/giuseppe-files.d.ts +64 -0
- package/dist/modules/bug-reports/giuseppe-files.d.ts.map +1 -0
- package/dist/modules/bug-reports/giuseppe-files.js +375 -0
- package/dist/modules/bug-reports/giuseppe-files.js.map +1 -0
- package/dist/modules/bug-reports/giuseppe-git.d.ts +48 -0
- package/dist/modules/bug-reports/giuseppe-git.d.ts.map +1 -0
- package/dist/modules/bug-reports/giuseppe-git.js +298 -0
- package/dist/modules/bug-reports/giuseppe-git.js.map +1 -0
- package/dist/modules/bug-reports/giuseppe-lsp.d.ts +113 -0
- package/dist/modules/bug-reports/giuseppe-lsp.d.ts.map +1 -0
- package/dist/modules/bug-reports/giuseppe-lsp.js +485 -0
- package/dist/modules/bug-reports/giuseppe-lsp.js.map +1 -0
- package/dist/modules/bug-reports/giuseppe-prompt.d.ts +5 -0
- package/dist/modules/bug-reports/giuseppe-prompt.d.ts.map +1 -0
- package/dist/modules/bug-reports/giuseppe-prompt.js +94 -0
- package/dist/modules/bug-reports/giuseppe-prompt.js.map +1 -0
- package/dist/modules/bug-reports/index.d.ts +77 -0
- package/dist/modules/bug-reports/index.d.ts.map +1 -0
- package/dist/modules/bug-reports/index.js +215 -0
- package/dist/modules/bug-reports/index.js.map +1 -0
- package/dist/modules/bug-reports/pending-classification-registry.d.ts +28 -0
- package/dist/modules/bug-reports/pending-classification-registry.d.ts.map +1 -0
- package/dist/modules/bug-reports/pending-classification-registry.js +50 -0
- package/dist/modules/bug-reports/pending-classification-registry.js.map +1 -0
- package/dist/modules/bug-reports/pending-fix-registry.d.ts +30 -0
- package/dist/modules/bug-reports/pending-fix-registry.d.ts.map +1 -0
- package/dist/modules/bug-reports/pending-fix-registry.js +42 -0
- package/dist/modules/bug-reports/pending-fix-registry.js.map +1 -0
- package/dist/modules/bug-reports/pending-registry.d.ts +27 -0
- package/dist/modules/bug-reports/pending-registry.d.ts.map +1 -0
- package/dist/modules/bug-reports/pending-registry.js +49 -0
- package/dist/modules/bug-reports/pending-registry.js.map +1 -0
- package/dist/modules/bug-reports/types.d.ts +123 -0
- package/dist/modules/bug-reports/types.d.ts.map +1 -0
- package/dist/modules/bug-reports/types.js +9 -0
- package/dist/modules/bug-reports/types.js.map +1 -0
- package/dist/plugins/bug-fixer/index.d.ts.map +1 -0
- package/dist/plugins/bug-fixer/index.js.map +1 -0
- package/dist/plugins/bug-fixer/tools.d.ts.map +1 -0
- package/dist/plugins/bug-fixer/tools.js.map +1 -0
- package/dist/plugins/vipunen/__tests__/tools.test.d.ts +10 -0
- package/dist/plugins/vipunen/__tests__/tools.test.d.ts.map +1 -0
- package/dist/plugins/vipunen/__tests__/tools.test.js +646 -0
- package/dist/plugins/vipunen/__tests__/tools.test.js.map +1 -0
- package/dist/plugins/vipunen/client.d.ts.map +1 -0
- package/dist/plugins/vipunen/client.js.map +1 -0
- package/dist/plugins/vipunen/index.d.ts.map +1 -0
- package/dist/plugins/vipunen/index.js.map +1 -0
- package/dist/plugins/vipunen/tools.d.ts.map +1 -0
- package/dist/plugins/vipunen/tools.js.map +1 -0
- package/dist/routes/agents.d.ts +44 -0
- package/dist/routes/agents.d.ts.map +1 -0
- package/dist/routes/agents.js +311 -0
- package/dist/routes/agents.js.map +1 -0
- package/dist/services/agent-credential-store.d.ts +73 -0
- package/dist/services/agent-credential-store.d.ts.map +1 -0
- package/dist/services/agent-credential-store.js +212 -0
- package/dist/services/agent-credential-store.js.map +1 -0
- package/dist/stdio-server.d.ts.map +1 -0
- package/dist/stdio-server.js.map +1 -0
- package/dist/workspace/context.d.ts +148 -0
- package/dist/workspace/context.d.ts.map +1 -0
- package/dist/workspace/context.js +339 -0
- package/dist/workspace/context.js.map +1 -0
- package/dist/workspace/credentials.d.ts +55 -0
- package/dist/workspace/credentials.d.ts.map +1 -0
- package/dist/workspace/credentials.js +239 -0
- package/dist/workspace/credentials.js.map +1 -0
- package/dist/workspace/index.d.ts +21 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +45 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/loader.d.ts +27 -0
- package/dist/workspace/loader.d.ts.map +1 -0
- package/dist/workspace/loader.js +222 -0
- package/dist/workspace/loader.js.map +1 -0
- package/dist/workspace/schema.d.ts +37 -0
- package/dist/workspace/schema.d.ts.map +1 -0
- package/dist/workspace/schema.js +192 -0
- package/dist/workspace/schema.js.map +1 -0
- package/package.json +13 -2
- package/.claude/.context-watchdog.json +0 -1
- package/.claude/.session-checked +0 -1
- package/.claude/agents/agent-ada-skill-builder.md +0 -94
- package/.claude/agents/agent-alejandro-function-fields.md +0 -342
- package/.claude/agents/agent-bjorn-config-audit.md +0 -103
- package/.claude/agents/agent-builder-agent-creator.md +0 -130
- package/.claude/agents/agent-code-simplifier.md +0 -53
- package/.claude/agents/agent-dmitri-activity-crud.md +0 -159
- package/.claude/agents/agent-giuseppe-app-builder.md +0 -208
- package/.claude/agents/agent-gunther-mcp-tools.md +0 -39
- package/.claude/agents/agent-helga-workflow-config.md +0 -204
- package/.claude/agents/agent-igor-activity-mover-automation.md +0 -125
- package/.claude/agents/agent-ingrid-doc-templates.md +0 -261
- package/.claude/agents/agent-ivan-monolith.md +0 -154
- package/.claude/agents/agent-kenji-data-reader.md +0 -86
- package/.claude/agents/agent-lars-code-inspector.md +0 -102
- package/.claude/agents/agent-marco-mockup-builder.md +0 -110
- package/.claude/agents/agent-marcus-api-documenter.md +0 -323
- package/.claude/agents/agent-marketplace-publisher.md +0 -280
- package/.claude/agents/agent-marketplace-reviewer.md +0 -309
- package/.claude/agents/agent-permissions-handler.md +0 -208
- package/.claude/agents/agent-simple-writer.md +0 -48
- package/.claude/agents/agent-svetlana-code-review.md +0 -171
- package/.claude/agents/agent-tanya-test-runner.md +0 -333
- package/.claude/agents/agent-ui-designer.md +0 -100
- package/.claude/agents/agent-viktor-sql-insights.md +0 -212
- package/.claude/agents/agent-web-search.md +0 -55
- package/.claude/agents/agent-yevgeni-discussions.md +0 -45
- package/.claude/agents/agent-zara-zapier.md +0 -159
- package/.claude/skills/SDK-activity-patterns/SKILL.md +0 -428
- package/.claude/skills/SDK-generate-skill/SKILL.md +0 -92
- package/.claude/skills/SDK-init-skill/SKILL.md +0 -127
- package/.claude/skills/agent-structure/SKILL.md +0 -98
- package/.claude/skills/delegation-routing/SKILL.md +0 -202
- package/.claude/skills/frontend-design/SKILL.md +0 -254
- package/.claude/skills/hailer-activity-mover/SKILL.md +0 -213
- package/.claude/skills/hailer-rest-api/SKILL.md +0 -61
- package/.claude/skills/hailer-rest-api/hailer-activities.md +0 -184
- package/.claude/skills/hailer-rest-api/hailer-admin.md +0 -473
- package/.claude/skills/hailer-rest-api/hailer-calendar.md +0 -256
- package/.claude/skills/hailer-rest-api/hailer-feed.md +0 -249
- package/.claude/skills/hailer-rest-api/hailer-insights.md +0 -195
- package/.claude/skills/hailer-rest-api/hailer-messaging.md +0 -276
- package/.claude/skills/hailer-rest-api/hailer-workflows.md +0 -283
- package/.claude/skills/insight-join-patterns/SKILL.md +0 -174
- package/.claude/skills/json-only-output/SKILL.md +0 -72
- package/.claude/skills/mcp-direct-tools/SKILL.md +0 -153
- package/.claude/skills/optional-parameters/SKILL.md +0 -72
- package/.claude/skills/tool-parameter-usage/SKILL.md +0 -126
- package/.claude/skills/tool-response-verification/SKILL.md +0 -92
- package/.opencode/agent/agent-ada-skill-builder.md +0 -35
- package/.opencode/agent/agent-alejandro-function-fields.md +0 -39
- package/.opencode/agent/agent-bjorn-config-audit.md +0 -36
- package/.opencode/agent/agent-builder-agent-creator.md +0 -39
- package/.opencode/agent/agent-code-simplifier.md +0 -31
- package/.opencode/agent/agent-dmitri-activity-crud.md +0 -40
- package/.opencode/agent/agent-giuseppe-app-builder.md +0 -37
- package/.opencode/agent/agent-gunther-mcp-tools.md +0 -39
- package/.opencode/agent/agent-helga-workflow-config.md +0 -204
- package/.opencode/agent/agent-igor-activity-mover-automation.md +0 -46
- package/.opencode/agent/agent-ingrid-doc-templates.md +0 -39
- package/.opencode/agent/agent-ivan-monolith.md +0 -46
- package/.opencode/agent/agent-kenji-data-reader.md +0 -53
- package/.opencode/agent/agent-lars-code-inspector.md +0 -28
- package/.opencode/agent/agent-marco-mockup-builder.md +0 -42
- package/.opencode/agent/agent-marcus-api-documenter.md +0 -53
- package/.opencode/agent/agent-marketplace-publisher.md +0 -44
- package/.opencode/agent/agent-marketplace-reviewer.md +0 -42
- package/.opencode/agent/agent-permissions-handler.md +0 -50
- package/.opencode/agent/agent-simple-writer.md +0 -45
- package/.opencode/agent/agent-svetlana-code-review.md +0 -39
- package/.opencode/agent/agent-tanya-test-runner.md +0 -57
- package/.opencode/agent/agent-ui-designer.md +0 -56
- package/.opencode/agent/agent-viktor-sql-insights.md +0 -34
- package/.opencode/agent/agent-web-search.md +0 -42
- package/.opencode/agent/agent-yevgeni-discussions.md +0 -37
- package/.opencode/agent/agent-zara-zapier.md +0 -53
- package/.opencode/commands/app-squad.md +0 -135
- package/.opencode/commands/audit-squad.md +0 -158
- package/.opencode/commands/autoplan.md +0 -563
- package/.opencode/commands/cleanup-squad.md +0 -98
- package/.opencode/commands/config-squad.md +0 -106
- package/.opencode/commands/crud-squad.md +0 -87
- package/.opencode/commands/data-squad.md +0 -97
- package/.opencode/commands/debug-squad.md +0 -303
- package/.opencode/commands/doc-squad.md +0 -65
- package/.opencode/commands/handoff.md +0 -137
- package/.opencode/commands/health.md +0 -49
- package/.opencode/commands/help-agents.md +0 -151
- package/.opencode/commands/help-commands.md +0 -32
- package/.opencode/commands/help-faq.md +0 -29
- package/.opencode/commands/help-plugins.md +0 -28
- package/.opencode/commands/help-skills.md +0 -7
- package/.opencode/commands/help-tools.md +0 -40
- package/.opencode/commands/help.md +0 -28
- package/.opencode/commands/hotfix-squad.md +0 -112
- package/.opencode/commands/integration-squad.md +0 -82
- package/.opencode/commands/janitor-squad.md +0 -167
- package/.opencode/commands/learn-auto.md +0 -120
- package/.opencode/commands/learn.md +0 -120
- package/.opencode/commands/mcp-list.md +0 -27
- package/.opencode/commands/onboard-squad.md +0 -140
- package/.opencode/commands/plan-workspace.md +0 -732
- package/.opencode/commands/prd.md +0 -131
- package/.opencode/commands/project-status.md +0 -82
- package/.opencode/commands/publish.md +0 -138
- package/.opencode/commands/recap.md +0 -69
- package/.opencode/commands/restore.md +0 -64
- package/.opencode/commands/review-squad.md +0 -152
- package/.opencode/commands/save.md +0 -24
- package/.opencode/commands/stats.md +0 -19
- package/.opencode/commands/swarm.md +0 -210
- package/.opencode/commands/tool-builder.md +0 -39
- package/.opencode/commands/ws-pull.md +0 -44
- package/test-billing-server.js +0 -136
|
@@ -0,0 +1,466 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Giuseppe AI Module - Claude API interactions for bug analysis and fix generation
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.GiuseppeAI = void 0;
|
|
10
|
+
const sdk_1 = __importDefault(require("@anthropic-ai/sdk"));
|
|
11
|
+
const logger_1 = require("../../lib/logger");
|
|
12
|
+
const giuseppe_prompt_1 = require("./giuseppe-prompt");
|
|
13
|
+
const logger = (0, logger_1.createLogger)({ component: 'giuseppe-ai' });
|
|
14
|
+
class GiuseppeAI {
|
|
15
|
+
anthropic;
|
|
16
|
+
constructor(apiKey) {
|
|
17
|
+
if (apiKey) {
|
|
18
|
+
this.anthropic = new sdk_1.default({ apiKey });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
get isAvailable() {
|
|
22
|
+
return !!this.anthropic;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Classify a report as bug or feature request
|
|
26
|
+
*/
|
|
27
|
+
async classifyReport(bug) {
|
|
28
|
+
if (!this.anthropic) {
|
|
29
|
+
return { classification: 'unclear', reason: 'No AI available for classification' };
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
const prompt = `Classify this report as either a BUG or a FEATURE REQUEST.
|
|
33
|
+
|
|
34
|
+
**Title:** ${bug.name}
|
|
35
|
+
**Description:** ${bug.description || 'No description'}
|
|
36
|
+
${bug.stepsToReproduce ? `**Steps:** ${bug.stepsToReproduce}` : ''}
|
|
37
|
+
${bug.expectedBehavior ? `**Expected:** ${bug.expectedBehavior}` : ''}
|
|
38
|
+
${bug.actualBehavior ? `**Actual:** ${bug.actualBehavior}` : ''}
|
|
39
|
+
|
|
40
|
+
A BUG is something BROKEN - it was working or should work but doesn't.
|
|
41
|
+
Examples: "button doesn't respond", "crashes when clicking", "data not saving", "display is wrong"
|
|
42
|
+
|
|
43
|
+
A FEATURE REQUEST is asking for something NEW or DIFFERENT - not broken, just wanted.
|
|
44
|
+
Examples: "change color to blue", "add dark mode", "make it bigger", "add new button"
|
|
45
|
+
|
|
46
|
+
Respond with JSON only:
|
|
47
|
+
{
|
|
48
|
+
"classification": "bug" | "feature_request" | "unclear",
|
|
49
|
+
"reason": "One sentence explaining why"
|
|
50
|
+
}`;
|
|
51
|
+
const response = await this.anthropic.messages.create({
|
|
52
|
+
model: 'claude-haiku-4-5-20251001',
|
|
53
|
+
max_tokens: 200,
|
|
54
|
+
messages: [{ role: 'user', content: prompt }]
|
|
55
|
+
});
|
|
56
|
+
const content = response.content[0];
|
|
57
|
+
if (content.type !== 'text') {
|
|
58
|
+
return { classification: 'unclear', reason: 'Could not classify' };
|
|
59
|
+
}
|
|
60
|
+
const parsed = JSON.parse(content.text.replace(/```json\n?|\n?```/g, ''));
|
|
61
|
+
return {
|
|
62
|
+
classification: parsed.classification || 'unclear',
|
|
63
|
+
reason: parsed.reason || 'No reason provided'
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
logger.error('Classification failed', { error });
|
|
68
|
+
return { classification: 'unclear', reason: 'Classification error' };
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Detect user intent from a message (replaces magic word detection)
|
|
73
|
+
* Returns the intent and confidence level
|
|
74
|
+
*/
|
|
75
|
+
async detectIntent(message, context) {
|
|
76
|
+
if (!this.anthropic) {
|
|
77
|
+
// Fallback to simple keyword matching
|
|
78
|
+
const lower = message.toLowerCase().trim();
|
|
79
|
+
if (context === 'classification') {
|
|
80
|
+
if (lower.includes('fix') && !lower.includes('don\'t') && !lower.includes('not')) {
|
|
81
|
+
return { intent: 'fix_it', confidence: 'medium', explanation: 'Contains "fix"' };
|
|
82
|
+
}
|
|
83
|
+
if (lower.includes('not a bug') || lower.includes('feature')) {
|
|
84
|
+
return { intent: 'not_a_bug', confidence: 'medium', explanation: 'Contains "not a bug" or "feature"' };
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
if (lower === 'approved' || lower === 'yes' || lower === 'ship it' || lower === 'deploy') {
|
|
89
|
+
return { intent: 'approved', confidence: 'medium', explanation: 'Approval keyword' };
|
|
90
|
+
}
|
|
91
|
+
if (lower === 'denied' || lower === 'no' || lower === 'revert' || lower === 'cancel') {
|
|
92
|
+
return { intent: 'denied', confidence: 'medium', explanation: 'Denial keyword' };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return { intent: 'unknown', confidence: 'low', explanation: 'No matching keywords' };
|
|
96
|
+
}
|
|
97
|
+
try {
|
|
98
|
+
const contextDescription = context === 'classification'
|
|
99
|
+
? `Giuseppe classified a bug report and is waiting for the user to confirm:
|
|
100
|
+
- "fix_it" = User wants Giuseppe to proceed with fixing the bug
|
|
101
|
+
- "not_a_bug" = User says this isn't a bug, it's a feature request or not an issue
|
|
102
|
+
- "clarify" = User is asking a question or providing more info
|
|
103
|
+
- "unknown" = Can't determine intent`
|
|
104
|
+
: `Giuseppe has created a fix and is waiting for approval to publish:
|
|
105
|
+
- "approved" = User approves publishing to production
|
|
106
|
+
- "denied" = User rejects the fix or wants changes
|
|
107
|
+
- "retry" = User wants Giuseppe to try a different approach
|
|
108
|
+
- "question" = User is asking about the fix
|
|
109
|
+
- "unknown" = Can't determine intent`;
|
|
110
|
+
const prompt = `Detect the user's intent from this message.
|
|
111
|
+
|
|
112
|
+
Context: ${contextDescription}
|
|
113
|
+
|
|
114
|
+
User message: "${message}"
|
|
115
|
+
|
|
116
|
+
Respond with JSON only (no markdown):
|
|
117
|
+
{"intent": "...", "confidence": "high|medium|low", "explanation": "brief reason"}`;
|
|
118
|
+
const response = await this.anthropic.messages.create({
|
|
119
|
+
model: 'claude-haiku-4-5-20251001',
|
|
120
|
+
max_tokens: 150,
|
|
121
|
+
messages: [{ role: 'user', content: prompt }]
|
|
122
|
+
});
|
|
123
|
+
const content = response.content[0];
|
|
124
|
+
if (content.type !== 'text') {
|
|
125
|
+
return { intent: 'unknown', confidence: 'low', explanation: 'AI response error' };
|
|
126
|
+
}
|
|
127
|
+
const parsed = JSON.parse(content.text.replace(/```json\n?|\n?```/g, '').trim());
|
|
128
|
+
logger.info('Intent detected', {
|
|
129
|
+
message: message.substring(0, 50),
|
|
130
|
+
intent: parsed.intent,
|
|
131
|
+
confidence: parsed.confidence
|
|
132
|
+
});
|
|
133
|
+
return {
|
|
134
|
+
intent: parsed.intent || 'unknown',
|
|
135
|
+
confidence: parsed.confidence || 'low',
|
|
136
|
+
explanation: parsed.explanation || ''
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
logger.error('Intent detection failed', { error, message: message.substring(0, 50) });
|
|
141
|
+
return { intent: 'unknown', confidence: 'low', explanation: 'Detection error' };
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Extract keywords from bug description for LSP filtering
|
|
146
|
+
*/
|
|
147
|
+
extractKeywords(description) {
|
|
148
|
+
// Common technical terms to look for
|
|
149
|
+
const techTerms = [
|
|
150
|
+
'click', 'drag', 'drop', 'scroll', 'hover', 'focus', 'blur',
|
|
151
|
+
'render', 'update', 'load', 'save', 'delete', 'create',
|
|
152
|
+
'button', 'input', 'form', 'modal', 'menu', 'list', 'table',
|
|
153
|
+
'position', 'animation', 'transition', 'style', 'color',
|
|
154
|
+
'error', 'crash', 'freeze', 'slow', 'lag', 'broken'
|
|
155
|
+
];
|
|
156
|
+
const words = description.toLowerCase()
|
|
157
|
+
.replace(/[^\w\s]/g, ' ')
|
|
158
|
+
.split(/\s+/)
|
|
159
|
+
.filter(w => w.length > 2);
|
|
160
|
+
// Find matching tech terms
|
|
161
|
+
const matchedTerms = techTerms.filter(term => words.some(w => w.includes(term) || term.includes(w)));
|
|
162
|
+
// Also include unique words from description (nouns/verbs likely)
|
|
163
|
+
const uniqueWords = words.filter(w => w.length > 4 && !['the', 'and', 'but', 'for', 'not', 'with', 'this', 'that', 'when', 'have', 'from'].includes(w));
|
|
164
|
+
return [...new Set([...matchedTerms, ...uniqueWords])].slice(0, 10);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Analyze bug and generate fix plan using Claude (two-phase approach)
|
|
168
|
+
* Phase 1: Send file list -> Claude picks relevant files
|
|
169
|
+
* Phase 2: Send those files -> Claude generates fix
|
|
170
|
+
*/
|
|
171
|
+
async analyzeAndPlanFix(bug, app, allFiles, readFiles, runLspAnalysis) {
|
|
172
|
+
if (!this.anthropic) {
|
|
173
|
+
logger.warn('Anthropic client not initialized - cannot generate fix');
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
try {
|
|
177
|
+
// Phase 1: Get file list and ask Claude which files to examine
|
|
178
|
+
logger.info('Phase 1: Asking Claude which files to examine', { fileCount: allFiles.length });
|
|
179
|
+
const phase1Prompt = `
|
|
180
|
+
Bug Report:
|
|
181
|
+
- Title: ${bug.name}
|
|
182
|
+
- Description: ${bug.description}
|
|
183
|
+
${bug.stepsToReproduce ? `- Steps to reproduce: ${bug.stepsToReproduce}` : ''}
|
|
184
|
+
${bug.expectedBehavior ? `- Expected: ${bug.expectedBehavior}` : ''}
|
|
185
|
+
${bug.actualBehavior ? `- Actual: ${bug.actualBehavior}` : ''}
|
|
186
|
+
|
|
187
|
+
App: ${app.name}
|
|
188
|
+
|
|
189
|
+
Source files in this project:
|
|
190
|
+
${allFiles.map(f => `- ${f}`).join('\n')}
|
|
191
|
+
|
|
192
|
+
Based on the bug description, which files should I examine to fix this bug?
|
|
193
|
+
Return ONLY a JSON array of file paths, maximum 10 files. Example: ["src/App.tsx", "src/components/Player.tsx"]`;
|
|
194
|
+
const phase1Response = await this.anthropic.messages.create({
|
|
195
|
+
model: 'claude-sonnet-4-20250514',
|
|
196
|
+
max_tokens: 1024,
|
|
197
|
+
system: 'You are a code analyst. Return only a JSON array of file paths that are most relevant to the bug. No explanation.',
|
|
198
|
+
messages: [{ role: 'user', content: phase1Prompt }]
|
|
199
|
+
});
|
|
200
|
+
const phase1Content = phase1Response.content[0];
|
|
201
|
+
if (phase1Content.type !== 'text')
|
|
202
|
+
return null;
|
|
203
|
+
// Parse file list from response
|
|
204
|
+
let relevantFiles = [];
|
|
205
|
+
try {
|
|
206
|
+
// Try to extract JSON array
|
|
207
|
+
const jsonMatch = phase1Content.text.match(/\[[\s\S]*?\]/);
|
|
208
|
+
if (jsonMatch) {
|
|
209
|
+
relevantFiles = JSON.parse(jsonMatch[0]);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
logger.warn('Could not parse file list from Phase 1', { response: phase1Content.text });
|
|
214
|
+
// Fallback: take first 5 files from src/
|
|
215
|
+
relevantFiles = allFiles.filter(f => f.startsWith('src/')).slice(0, 5);
|
|
216
|
+
}
|
|
217
|
+
logger.info('Phase 1 complete: Files to examine', { files: relevantFiles });
|
|
218
|
+
// Phase 1.5: Run TARGETED LSP analysis on relevant files only
|
|
219
|
+
// Extract keywords from bug description for filtering
|
|
220
|
+
const bugKeywords = this.extractKeywords(bug.description);
|
|
221
|
+
logger.info('Extracted bug keywords for LSP filtering', { keywords: bugKeywords });
|
|
222
|
+
let lspFindings = null;
|
|
223
|
+
if (runLspAnalysis) {
|
|
224
|
+
lspFindings = await runLspAnalysis(relevantFiles, bugKeywords);
|
|
225
|
+
logger.info('Targeted LSP analysis complete', {
|
|
226
|
+
files: relevantFiles.length,
|
|
227
|
+
unusedProps: lspFindings.unusedProps.length,
|
|
228
|
+
issues: lspFindings.issues.length
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
// Phase 2: Read selected files and generate fix
|
|
232
|
+
const sourceFiles = await readFiles(relevantFiles);
|
|
233
|
+
logger.info('Phase 2: Generating fix', { filesRead: sourceFiles.length });
|
|
234
|
+
// Build LSP findings section if available
|
|
235
|
+
let lspSection = '';
|
|
236
|
+
if (lspFindings && (lspFindings.unusedProps.length > 0 || lspFindings.issues.length > 0)) {
|
|
237
|
+
lspSection = '\n\n=== LSP CODE ANALYSIS (HIGH PRIORITY) ===\n';
|
|
238
|
+
lspSection += 'IMPORTANT: These are REAL code issues detected by static analysis. Fix these FIRST.\n\n';
|
|
239
|
+
if (lspFindings.unusedProps.length > 0) {
|
|
240
|
+
lspSection += 'UNUSED PROPS (declared in interface but never used in component):\n';
|
|
241
|
+
lspFindings.unusedProps.forEach(p => {
|
|
242
|
+
lspSection += `- ${p.file}:${p.line} - prop "${p.name}" is declared but never destructured/used\n`;
|
|
243
|
+
// Add hint if prop name matches bug keywords
|
|
244
|
+
if (bug.description.toLowerCase().includes(p.name.toLowerCase())) {
|
|
245
|
+
lspSection += ` ^ THIS PROP NAME MATCHES THE BUG DESCRIPTION - VERY LIKELY THE ROOT CAUSE!\n`;
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
if (lspFindings.issues.length > 0) {
|
|
250
|
+
lspSection += '\nDEAD CODE (functions/variables declared but never called):\n';
|
|
251
|
+
lspFindings.issues.forEach(i => {
|
|
252
|
+
lspSection += `- ${i.file}:${i.line} - ${i.message}\n`;
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
lspSection += '\nThe fix should USE these unused props/functions, not add workaround code.\n';
|
|
256
|
+
}
|
|
257
|
+
const phase2Prompt = `
|
|
258
|
+
Bug Report:
|
|
259
|
+
- Title: ${bug.name}
|
|
260
|
+
- Description: ${bug.description}
|
|
261
|
+
${bug.stepsToReproduce ? `- Steps to reproduce: ${bug.stepsToReproduce}` : ''}
|
|
262
|
+
${bug.expectedBehavior ? `- Expected: ${bug.expectedBehavior}` : ''}
|
|
263
|
+
${bug.actualBehavior ? `- Actual: ${bug.actualBehavior}` : ''}
|
|
264
|
+
- Priority: ${bug.priority || 'unknown'}
|
|
265
|
+
${lspSection}
|
|
266
|
+
App: ${app.name}
|
|
267
|
+
Project path: ${app.projectPath}
|
|
268
|
+
|
|
269
|
+
Source files:
|
|
270
|
+
${sourceFiles.map(f => `--- ${f.path} ---\n${f.content}\n`).join('\n')}
|
|
271
|
+
|
|
272
|
+
Analyze this bug and provide a fix. Output JSON only.`;
|
|
273
|
+
const phase2Response = await this.anthropic.messages.create({
|
|
274
|
+
model: 'claude-sonnet-4-20250514',
|
|
275
|
+
max_tokens: 4096,
|
|
276
|
+
system: giuseppe_prompt_1.GIUSEPPE_SYSTEM_PROMPT,
|
|
277
|
+
messages: [{ role: 'user', content: phase2Prompt }]
|
|
278
|
+
});
|
|
279
|
+
// Extract JSON from response
|
|
280
|
+
const content = phase2Response.content[0];
|
|
281
|
+
if (content.type !== 'text')
|
|
282
|
+
return null;
|
|
283
|
+
const jsonMatch = content.text.match(/```json\n([\s\S]*?)\n```/);
|
|
284
|
+
if (!jsonMatch) {
|
|
285
|
+
// Try parsing whole response as JSON
|
|
286
|
+
try {
|
|
287
|
+
return JSON.parse(content.text);
|
|
288
|
+
}
|
|
289
|
+
catch {
|
|
290
|
+
logger.warn('Could not parse fix plan from response');
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
return JSON.parse(jsonMatch[1]);
|
|
295
|
+
}
|
|
296
|
+
catch (error) {
|
|
297
|
+
logger.error('Failed to analyze bug', { error });
|
|
298
|
+
return null;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Retry fix based on apply error (search string not found) - re-reads file and generates new fix
|
|
303
|
+
*/
|
|
304
|
+
async retryFixFromApplyError(bug, previousFix, applyError, currentFiles, attempt) {
|
|
305
|
+
if (!this.anthropic)
|
|
306
|
+
return null;
|
|
307
|
+
try {
|
|
308
|
+
logger.info('Retrying fix after apply error', { attempt, error: applyError });
|
|
309
|
+
const retryPrompt = `
|
|
310
|
+
The previous fix attempt FAILED to apply with this error:
|
|
311
|
+
\`\`\`
|
|
312
|
+
${applyError}
|
|
313
|
+
\`\`\`
|
|
314
|
+
|
|
315
|
+
This usually means the search string didn't match the actual file content.
|
|
316
|
+
|
|
317
|
+
Previous fix that was attempted:
|
|
318
|
+
${JSON.stringify(previousFix.fix, null, 2)}
|
|
319
|
+
|
|
320
|
+
Bug Report:
|
|
321
|
+
- Title: ${bug.name}
|
|
322
|
+
- Description: ${bug.description}
|
|
323
|
+
|
|
324
|
+
CURRENT state of the files (read just now):
|
|
325
|
+
${currentFiles.map(f => `--- ${f.path} ---\n${f.content}\n`).join('\n')}
|
|
326
|
+
|
|
327
|
+
Please analyze the current file content and provide a CORRECTED fix.
|
|
328
|
+
Make sure the "search" strings EXACTLY match what's in the current files.
|
|
329
|
+
Output JSON only.`;
|
|
330
|
+
const response = await this.anthropic.messages.create({
|
|
331
|
+
model: 'claude-sonnet-4-20250514',
|
|
332
|
+
max_tokens: 4096,
|
|
333
|
+
system: giuseppe_prompt_1.GIUSEPPE_SYSTEM_PROMPT + '\n\nIMPORTANT: Your previous fix could not be applied because the search string was not found. Read the CURRENT file content carefully and make sure your search strings match EXACTLY.',
|
|
334
|
+
messages: [{ role: 'user', content: retryPrompt }]
|
|
335
|
+
});
|
|
336
|
+
const content = response.content[0];
|
|
337
|
+
if (content.type !== 'text')
|
|
338
|
+
return null;
|
|
339
|
+
const jsonMatch = content.text.match(/```json\n([\s\S]*?)\n```/);
|
|
340
|
+
if (!jsonMatch) {
|
|
341
|
+
try {
|
|
342
|
+
return JSON.parse(content.text);
|
|
343
|
+
}
|
|
344
|
+
catch {
|
|
345
|
+
return null;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
return JSON.parse(jsonMatch[1]);
|
|
349
|
+
}
|
|
350
|
+
catch (error) {
|
|
351
|
+
logger.error('Failed to generate retry fix from apply error', { error });
|
|
352
|
+
return null;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Retry fix based on build error - sends error to Claude to generate corrected fix
|
|
357
|
+
*/
|
|
358
|
+
async retryFixFromError(bug, previousFix, buildError, currentFiles, attempt) {
|
|
359
|
+
if (!this.anthropic)
|
|
360
|
+
return null;
|
|
361
|
+
try {
|
|
362
|
+
logger.info('Retrying fix based on build error', { attempt, error: buildError.substring(0, 200) });
|
|
363
|
+
const retryPrompt = `
|
|
364
|
+
The previous fix attempt FAILED with this build error:
|
|
365
|
+
\`\`\`
|
|
366
|
+
${buildError}
|
|
367
|
+
\`\`\`
|
|
368
|
+
|
|
369
|
+
Previous fix that was attempted:
|
|
370
|
+
${JSON.stringify(previousFix.fix, null, 2)}
|
|
371
|
+
|
|
372
|
+
Bug Report:
|
|
373
|
+
- Title: ${bug.name}
|
|
374
|
+
- Description: ${bug.description}
|
|
375
|
+
|
|
376
|
+
Current state of the files after the failed fix:
|
|
377
|
+
${currentFiles.map(f => `--- ${f.path} ---\n${f.content}\n`).join('\n')}
|
|
378
|
+
|
|
379
|
+
Please analyze the build error and provide a CORRECTED fix.
|
|
380
|
+
The fix must resolve the TypeScript/build error while still addressing the original bug.
|
|
381
|
+
Output JSON only.`;
|
|
382
|
+
const response = await this.anthropic.messages.create({
|
|
383
|
+
model: 'claude-sonnet-4-20250514',
|
|
384
|
+
max_tokens: 4096,
|
|
385
|
+
system: giuseppe_prompt_1.GIUSEPPE_SYSTEM_PROMPT + '\n\nIMPORTANT: Your previous fix caused a build error. Analyze the error carefully and provide a corrected fix that compiles successfully.',
|
|
386
|
+
messages: [{ role: 'user', content: retryPrompt }]
|
|
387
|
+
});
|
|
388
|
+
const content = response.content[0];
|
|
389
|
+
if (content.type !== 'text')
|
|
390
|
+
return null;
|
|
391
|
+
const jsonMatch = content.text.match(/```json\n([\s\S]*?)\n```/);
|
|
392
|
+
if (!jsonMatch) {
|
|
393
|
+
try {
|
|
394
|
+
return JSON.parse(content.text);
|
|
395
|
+
}
|
|
396
|
+
catch {
|
|
397
|
+
return null;
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
return JSON.parse(jsonMatch[1]);
|
|
401
|
+
}
|
|
402
|
+
catch (error) {
|
|
403
|
+
logger.error('Failed to generate retry fix', { error });
|
|
404
|
+
return null;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Generate a new fix based on user feedback
|
|
409
|
+
*/
|
|
410
|
+
async retryFixWithFeedback(bug, previousFix, feedback, allSourceFiles, currentFiles) {
|
|
411
|
+
if (!this.anthropic)
|
|
412
|
+
return null;
|
|
413
|
+
try {
|
|
414
|
+
const prompt = `
|
|
415
|
+
The previous fix was REJECTED by the user. Here's their feedback:
|
|
416
|
+
|
|
417
|
+
**User feedback:**
|
|
418
|
+
${feedback}
|
|
419
|
+
|
|
420
|
+
**Original bug:**
|
|
421
|
+
- Title: ${bug.name}
|
|
422
|
+
- Description: ${bug.description}
|
|
423
|
+
${bug.stepsToReproduce ? `- Steps to reproduce: ${bug.stepsToReproduce}` : ''}
|
|
424
|
+
${bug.expectedBehavior ? `- Expected: ${bug.expectedBehavior}` : ''}
|
|
425
|
+
${bug.actualBehavior ? `- Actual: ${bug.actualBehavior}` : ''}
|
|
426
|
+
|
|
427
|
+
**Previous fix that was rejected:**
|
|
428
|
+
${JSON.stringify(previousFix.fix, null, 2)}
|
|
429
|
+
|
|
430
|
+
**AVAILABLE SOURCE FILES (use ONLY these exact paths):**
|
|
431
|
+
${allSourceFiles.map(f => `- ${f}`).join('\n')}
|
|
432
|
+
|
|
433
|
+
**Relevant source files (searched based on your feedback):**
|
|
434
|
+
${currentFiles.map(f => `--- ${f.path} ---\n${f.content}\n`).join('\n')}
|
|
435
|
+
|
|
436
|
+
Based on the user's feedback, generate a DIFFERENT fix that addresses their concerns.
|
|
437
|
+
IMPORTANT: Use ONLY file paths from the AVAILABLE SOURCE FILES list above.
|
|
438
|
+
Output JSON only.`;
|
|
439
|
+
const response = await this.anthropic.messages.create({
|
|
440
|
+
model: 'claude-sonnet-4-20250514',
|
|
441
|
+
max_tokens: 4096,
|
|
442
|
+
system: giuseppe_prompt_1.GIUSEPPE_SYSTEM_PROMPT + '\n\nIMPORTANT: The user rejected the previous fix. Read their feedback carefully and try a different approach.',
|
|
443
|
+
messages: [{ role: 'user', content: prompt }]
|
|
444
|
+
});
|
|
445
|
+
const content = response.content[0];
|
|
446
|
+
if (content.type !== 'text')
|
|
447
|
+
return null;
|
|
448
|
+
const jsonMatch = content.text.match(/```json\n([\s\S]*?)\n```/);
|
|
449
|
+
if (!jsonMatch) {
|
|
450
|
+
try {
|
|
451
|
+
return JSON.parse(content.text);
|
|
452
|
+
}
|
|
453
|
+
catch {
|
|
454
|
+
return null;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
return JSON.parse(jsonMatch[1]);
|
|
458
|
+
}
|
|
459
|
+
catch (error) {
|
|
460
|
+
logger.error('Failed to generate retry fix with feedback', { error });
|
|
461
|
+
return null;
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
exports.GiuseppeAI = GiuseppeAI;
|
|
466
|
+
//# sourceMappingURL=giuseppe-ai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"giuseppe-ai.js","sourceRoot":"","sources":["../../../src/modules/bug-reports/giuseppe-ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bug Reports Module - Giuseppe Bot
|
|
3
|
+
*
|
|
4
|
+
* Autonomous app fixer that:
|
|
5
|
+
* 1. Analyzes bug reports
|
|
6
|
+
* 2. Finds app project code
|
|
7
|
+
* 3. Generates fixes using Claude
|
|
8
|
+
* 4. Tests locally
|
|
9
|
+
* 5. Publishes to production
|
|
10
|
+
*/
|
|
11
|
+
import type { UserContext } from '../../mcp/UserContextCache';
|
|
12
|
+
import type { BugReport, BugReportsConfig, FixResult } from './types';
|
|
13
|
+
import type { BugMonitor } from './bug-monitor';
|
|
14
|
+
export declare class GiuseppeBot {
|
|
15
|
+
private userContext;
|
|
16
|
+
private config;
|
|
17
|
+
private monitor;
|
|
18
|
+
private ai;
|
|
19
|
+
private git;
|
|
20
|
+
private files;
|
|
21
|
+
private lsp;
|
|
22
|
+
private appsRegistry;
|
|
23
|
+
constructor(userContext: UserContext, config: BugReportsConfig, monitor: BugMonitor);
|
|
24
|
+
/**
|
|
25
|
+
* Create a session log entry in Context Log workflow
|
|
26
|
+
* Links to the bug report for traceability
|
|
27
|
+
*/
|
|
28
|
+
private createSessionLogEntry;
|
|
29
|
+
/**
|
|
30
|
+
* Check if this bug was already classified by looking for classification message in discussion
|
|
31
|
+
*/
|
|
32
|
+
private wasAlreadyClassified;
|
|
33
|
+
/**
|
|
34
|
+
* Handle a new bug - main entry point
|
|
35
|
+
*/
|
|
36
|
+
handleBug(bug: BugReport): Promise<FixResult>;
|
|
37
|
+
/**
|
|
38
|
+
* Continue with bug fix after user confirms
|
|
39
|
+
*/
|
|
40
|
+
proceedWithFix(bug: BugReport): Promise<FixResult>;
|
|
41
|
+
/**
|
|
42
|
+
* Handle a message in a bug discussion - uses LLM to understand intent
|
|
43
|
+
*/
|
|
44
|
+
handleDiscussionMessage(discussionId: string, message: string, _senderId: string): Promise<{
|
|
45
|
+
approved: boolean;
|
|
46
|
+
published: boolean;
|
|
47
|
+
retrying?: boolean;
|
|
48
|
+
error?: string;
|
|
49
|
+
}>;
|
|
50
|
+
/**
|
|
51
|
+
* Handle "fix it" confirmation - proceed with bug fix
|
|
52
|
+
*/
|
|
53
|
+
private handleFixItConfirmation;
|
|
54
|
+
/**
|
|
55
|
+
* Handle "not a bug" confirmation - close without fixing
|
|
56
|
+
*/
|
|
57
|
+
private handleNotABugConfirmation;
|
|
58
|
+
/**
|
|
59
|
+
* Handle "approved" - publish to production
|
|
60
|
+
*/
|
|
61
|
+
private handleApproval;
|
|
62
|
+
/**
|
|
63
|
+
* Handle "denied" - ask for explanation
|
|
64
|
+
*/
|
|
65
|
+
private handleDenial;
|
|
66
|
+
/**
|
|
67
|
+
* Handle explanation after denial - retry the fix
|
|
68
|
+
*/
|
|
69
|
+
private handleExplanationAndRetry;
|
|
70
|
+
/**
|
|
71
|
+
* Check if there's a pending fix for a discussion
|
|
72
|
+
*/
|
|
73
|
+
hasPendingFix(discussionId: string): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Retry a pending fix with explanation from HAL
|
|
76
|
+
* Called by HAL after gathering info through conversation
|
|
77
|
+
*/
|
|
78
|
+
retryWithExplanation(discussionId: string, explanation: string): Promise<boolean>;
|
|
79
|
+
/**
|
|
80
|
+
* Initialize registry callback (call this after construction)
|
|
81
|
+
*/
|
|
82
|
+
initializeRegistryCallback(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Initialize classification registry callbacks for HAL coordination
|
|
85
|
+
* This allows HAL to trigger "fix it" or "not a bug" via natural conversation
|
|
86
|
+
*/
|
|
87
|
+
initializeClassificationCallbacks(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Helper to send a message to a discussion
|
|
90
|
+
*/
|
|
91
|
+
private sendDiscussionMessage;
|
|
92
|
+
/**
|
|
93
|
+
* Build and test the app
|
|
94
|
+
*/
|
|
95
|
+
private buildAndTest;
|
|
96
|
+
/**
|
|
97
|
+
* Join a bug's discussion using the activity ID (not discussion ID)
|
|
98
|
+
* For activity discussions, we must use joinActivityDiscussion
|
|
99
|
+
*/
|
|
100
|
+
private joinBugDiscussion;
|
|
101
|
+
/**
|
|
102
|
+
* Publish app to production using expect script (same as MCP tool)
|
|
103
|
+
*/
|
|
104
|
+
private publishApp;
|
|
105
|
+
/**
|
|
106
|
+
* Report progress to bug discussion
|
|
107
|
+
*/
|
|
108
|
+
private reportProgress;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=giuseppe-bot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"giuseppe-bot.d.ts","sourceRoot":"","sources":["../../../src/modules/bug-reports/giuseppe-bot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAEhB,SAAS,EACV,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AA0BhD,qBAAa,WAAW;IAQpB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IATjB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,YAAY,CAA4C;gBAGtD,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,UAAU;IAiB7B;;;OAGG;YACW,qBAAqB;IA8CnC;;OAEG;YACW,oBAAoB;IAmBlC;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAyGnD;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IA0OxD;;OAEG;IACG,uBAAuB,CAC3B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAuEzF;;OAEG;YACW,uBAAuB;IAwBrC;;OAEG;YACW,yBAAyB;IAoBvC;;OAEG;YACW,cAAc;IAgD5B;;OAEG;YACW,YAAY;IAgB1B;;OAEG;YACW,yBAAyB;IA+GvC;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAI5C;;;OAGG;IACG,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BvF;;OAEG;IACH,0BAA0B,IAAI,IAAI;IAOlC;;;OAGG;IACH,iCAAiC,IAAI,IAAI;IAoBzC;;OAEG;YACW,qBAAqB;IASnC;;OAEG;YACW,YAAY;IA6C1B;;;OAGG;YACW,iBAAiB;IAW/B;;OAEG;YACW,UAAU;IAgExB;;OAEG;YACW,cAAc;CAU7B"}
|