crewly 1.0.7 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +50 -3
- package/config/constants.ts +59 -0
- package/config/index.ts +2 -0
- package/config/roles/architect/prompt.md +17 -5
- package/config/roles/backend-developer/prompt.md +35 -5
- package/config/roles/designer/prompt.md +17 -5
- package/config/roles/developer/prompt.md +43 -9
- package/config/roles/frontend-developer/prompt.md +35 -5
- package/config/roles/fullstack-dev/prompt.md +35 -5
- package/config/roles/generalist/prompt.md +18 -5
- package/config/roles/orchestrator/prompt.md +126 -3
- package/config/roles/product-manager/prompt.md +24 -9
- package/config/roles/qa/prompt.md +35 -5
- package/config/roles/qa-engineer/prompt.md +35 -5
- package/config/roles/sales/prompt.md +17 -5
- package/config/roles/support/prompt.md +17 -5
- package/config/roles/tpm/prompt.md +17 -5
- package/config/skills/agent/_common/lib.sh +4 -0
- package/config/skills/agent/core/accept-task/execute.sh +21 -0
- package/config/skills/agent/core/accept-task/instructions.md +20 -0
- package/config/skills/agent/core/accept-task/skill.json +20 -0
- package/config/skills/agent/core/block-task/execute.sh +26 -0
- package/config/skills/agent/core/block-task/instructions.md +22 -0
- package/config/skills/agent/core/block-task/skill.json +20 -0
- package/config/skills/agent/core/check-quality-gates/execute.sh +20 -0
- package/config/skills/agent/core/check-quality-gates/instructions.md +23 -0
- package/config/skills/agent/core/check-quality-gates/skill.json +20 -0
- package/config/skills/agent/core/complete-task/execute.sh +29 -0
- package/config/skills/agent/core/complete-task/instructions.md +53 -0
- package/config/skills/agent/core/complete-task/skill.json +20 -0
- package/config/skills/agent/core/get-my-context/execute.sh +23 -0
- package/config/skills/agent/core/get-my-context/instructions.md +21 -0
- package/config/skills/agent/core/get-my-context/skill.json +20 -0
- package/config/skills/agent/core/get-sops/execute.sh +24 -0
- package/config/skills/agent/core/get-sops/instructions.md +21 -0
- package/config/skills/agent/core/get-sops/skill.json +20 -0
- package/config/skills/agent/core/get-team-status/execute.sh +8 -0
- package/config/skills/agent/core/get-team-status/instructions.md +17 -0
- package/config/skills/agent/core/get-team-status/skill.json +20 -0
- package/config/skills/agent/core/heartbeat/execute.sh +22 -0
- package/config/skills/agent/core/heartbeat/instructions.md +23 -0
- package/config/skills/agent/core/heartbeat/skill.json +20 -0
- package/config/skills/agent/core/manage-knowledge/execute.sh +60 -0
- package/config/skills/agent/core/manage-knowledge/instructions.md +46 -0
- package/config/skills/agent/core/marketplace-search/execute.sh +77 -0
- package/config/skills/agent/core/marketplace-search/instructions.md +59 -0
- package/config/skills/agent/core/marketplace-search/skill.json +20 -0
- package/config/skills/agent/core/query-knowledge/execute.sh +30 -0
- package/config/skills/agent/core/query-knowledge/instructions.md +47 -0
- package/config/skills/agent/core/query-knowledge/skill.json +20 -0
- package/config/skills/agent/core/read-task/execute.sh +15 -0
- package/config/skills/agent/core/read-task/instructions.md +19 -0
- package/config/skills/agent/core/read-task/skill.json +20 -0
- package/config/skills/agent/core/recall/execute.sh +24 -0
- package/config/skills/agent/core/recall/instructions.md +23 -0
- package/config/skills/agent/core/recall/skill.json +20 -0
- package/config/skills/agent/core/record-learning/execute.sh +29 -0
- package/config/skills/agent/core/record-learning/instructions.md +24 -0
- package/config/skills/agent/core/record-learning/skill.json +20 -0
- package/config/skills/agent/core/register-self/execute.sh +28 -0
- package/config/skills/agent/core/register-self/instructions.md +18 -0
- package/config/skills/agent/core/register-self/skill.json +20 -0
- package/config/skills/agent/core/remember/execute.sh +29 -0
- package/config/skills/agent/core/remember/instructions.md +24 -0
- package/config/skills/agent/core/remember/skill.json +20 -0
- package/config/skills/agent/core/report-progress/execute.sh +28 -0
- package/config/skills/agent/core/report-progress/instructions.md +25 -0
- package/config/skills/agent/core/report-progress/skill.json +20 -0
- package/config/skills/agent/core/report-status/execute.sh +35 -0
- package/config/skills/agent/core/report-status/instructions.md +36 -0
- package/config/skills/agent/core/report-status/skill.json +20 -0
- package/config/skills/agent/core/send-chat-response/execute.sh +26 -0
- package/config/skills/agent/core/send-chat-response/instructions.md +22 -0
- package/config/skills/agent/core/send-chat-response/skill.json +20 -0
- package/config/skills/agent/core/send-message/execute.sh +17 -0
- package/config/skills/agent/core/send-message/instructions.md +20 -0
- package/config/skills/agent/core/send-message/skill.json +20 -0
- package/config/skills/orchestrator/complete-task/execute.sh +1 -0
- package/config/skills/orchestrator/delegate-task/execute.sh +1 -1
- package/config/skills/registry.json +850 -0
- package/config/templates/agent-claude-md.md +16 -0
- package/config/templates/research-team.json +22 -0
- package/config/templates/startup-team.json +22 -0
- package/config/templates/web-dev-team.json +22 -0
- package/dist/backend/backend/src/constants.d.ts +127 -1
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +119 -8
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/index.d.ts +1 -1
- package/dist/backend/backend/src/controllers/marketplace/index.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/index.js +1 -1
- package/dist/backend/backend/src/controllers/marketplace/index.js.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts +64 -8
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js +194 -96
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js +7 -2
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +7 -0
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +174 -4
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +34 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/modules/task-management.routes.js +2 -0
- package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +8 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +89 -17
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +265 -0
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +811 -0
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-detection.service.js +11 -4
- package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts +11 -0
- package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js +18 -0
- package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +12 -0
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +51 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts +6 -0
- package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -1
- package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js +10 -0
- package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -1
- package/dist/backend/backend/src/services/index.d.ts +3 -0
- package/dist/backend/backend/src/services/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/index.js +5 -0
- package/dist/backend/backend/src/services/index.js.map +1 -1
- package/dist/backend/backend/src/services/marketplace/index.d.ts +1 -0
- package/dist/backend/backend/src/services/marketplace/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/marketplace/index.js +2 -0
- package/dist/backend/backend/src/services/marketplace/index.js.map +1 -1
- package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts +10 -9
- package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js +262 -73
- package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js.map +1 -1
- package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.d.ts +71 -0
- package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.js +339 -0
- package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.js.map +1 -0
- package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts +4 -15
- package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/marketplace/marketplace.service.js +172 -27
- package/dist/backend/backend/src/services/marketplace/marketplace.service.js.map +1 -1
- package/dist/backend/backend/src/services/mcp-client.d.ts +233 -0
- package/dist/backend/backend/src/services/mcp-client.d.ts.map +1 -0
- package/dist/backend/backend/src/services/mcp-client.js +297 -0
- package/dist/backend/backend/src/services/mcp-client.js.map +1 -0
- package/dist/backend/backend/src/services/mcp-server.d.ts +167 -0
- package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -0
- package/dist/backend/backend/src/services/mcp-server.js +586 -0
- package/dist/backend/backend/src/services/mcp-server.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts +32 -2
- package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/message-queue.service.js +85 -4
- package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +10 -0
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js +129 -41
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js +31 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
- package/dist/backend/backend/src/services/quality/index.d.ts +1 -0
- package/dist/backend/backend/src/services/quality/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/quality/index.js +1 -0
- package/dist/backend/backend/src/services/quality/index.js.map +1 -1
- package/dist/backend/backend/src/services/quality/task-output-validator.service.d.ts +84 -0
- package/dist/backend/backend/src/services/quality/task-output-validator.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/quality/task-output-validator.service.js +163 -0
- package/dist/backend/backend/src/services/quality/task-output-validator.service.js.map +1 -0
- package/dist/backend/backend/src/services/runtime-adapter.d.ts +254 -0
- package/dist/backend/backend/src/services/runtime-adapter.d.ts.map +1 -0
- package/dist/backend/backend/src/services/runtime-adapter.js +201 -0
- package/dist/backend/backend/src/services/runtime-adapter.js.map +1 -0
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts +19 -0
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +31 -2
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
- package/dist/backend/backend/src/services/session/session-backend.interface.d.ts +14 -0
- package/dist/backend/backend/src/services/session/session-backend.interface.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/session-backend.interface.js.map +1 -1
- package/dist/backend/backend/src/services/session/session-command-helper.d.ts +9 -0
- package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/session-command-helper.js +24 -1
- package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts +7 -13
- package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-catalog.service.js +38 -47
- package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -1
- package/dist/backend/backend/src/services/skill/skill.service.d.ts +3 -0
- package/dist/backend/backend/src/services/skill/skill.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/skill/skill.service.js +17 -0
- package/dist/backend/backend/src/services/skill/skill.service.js.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts +2 -2
- package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.js +2 -0
- package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +1 -0
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js +2 -0
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/types/marketplace.types.d.ts +37 -0
- package/dist/backend/backend/src/types/marketplace.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/messaging.types.d.ts +9 -6
- package/dist/backend/backend/src/types/messaging.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/messaging.types.js +10 -3
- package/dist/backend/backend/src/types/messaging.types.js.map +1 -1
- package/dist/backend/backend/src/types/task-output.types.d.ts +78 -0
- package/dist/backend/backend/src/types/task-output.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/task-output.types.js +27 -0
- package/dist/backend/backend/src/types/task-output.types.js.map +1 -0
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts +13 -0
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.js +12 -0
- package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
- package/dist/backend/config/constants.d.ts +41 -0
- package/dist/backend/config/constants.d.ts.map +1 -1
- package/dist/backend/config/constants.js +57 -0
- package/dist/backend/config/constants.js.map +1 -1
- package/dist/backend/config/index.d.ts +2 -2
- package/dist/backend/config/index.d.ts.map +1 -1
- package/dist/backend/config/index.js +2 -2
- package/dist/backend/config/index.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +817 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -0
- package/dist/cli/backend/src/constants.js +603 -0
- package/dist/cli/backend/src/constants.js.map +1 -0
- package/dist/cli/backend/src/models/Project.d.ts +18 -0
- package/dist/cli/backend/src/models/Project.d.ts.map +1 -0
- package/dist/cli/backend/src/models/Project.js +70 -0
- package/dist/cli/backend/src/models/Project.js.map +1 -0
- package/dist/cli/backend/src/models/ScheduledMessage.d.ts +27 -0
- package/dist/cli/backend/src/models/ScheduledMessage.d.ts.map +1 -0
- package/dist/cli/backend/src/models/ScheduledMessage.js +50 -0
- package/dist/cli/backend/src/models/ScheduledMessage.js.map +1 -0
- package/dist/cli/backend/src/models/Team.d.ts +20 -0
- package/dist/cli/backend/src/models/Team.d.ts.map +1 -0
- package/dist/cli/backend/src/models/Team.js +120 -0
- package/dist/cli/backend/src/models/Team.js.map +1 -0
- package/dist/cli/backend/src/models/Ticket.d.ts +24 -0
- package/dist/cli/backend/src/models/Ticket.d.ts.map +1 -0
- package/dist/cli/backend/src/models/Ticket.js +102 -0
- package/dist/cli/backend/src/models/Ticket.js.map +1 -0
- package/dist/cli/backend/src/models/index.d.ts +5 -0
- package/dist/cli/backend/src/models/index.d.ts.map +1 -0
- package/dist/cli/backend/src/models/index.js +5 -0
- package/dist/cli/backend/src/models/index.js.map +1 -0
- package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.d.ts +40 -0
- package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -0
- package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.js +74 -0
- package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -0
- package/dist/cli/backend/src/services/core/config.service.d.ts +91 -0
- package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/config.service.js +246 -0
- package/dist/cli/backend/src/services/core/config.service.js.map +1 -0
- package/dist/cli/backend/src/services/core/logger.service.d.ts +70 -0
- package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/logger.service.js +350 -0
- package/dist/cli/backend/src/services/core/logger.service.js.map +1 -0
- package/dist/cli/backend/src/services/core/storage.service.d.ts +269 -0
- package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/storage.service.js +1406 -0
- package/dist/cli/backend/src/services/core/storage.service.js.map +1 -0
- package/dist/cli/backend/src/services/core/teams-backup.service.d.ts +92 -0
- package/dist/cli/backend/src/services/core/teams-backup.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/teams-backup.service.js +120 -0
- package/dist/cli/backend/src/services/core/teams-backup.service.js.map +1 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts +125 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js +247 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js.map +1 -0
- package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts +153 -0
- package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/knowledge/knowledge.service.js +409 -0
- package/dist/cli/backend/src/services/knowledge/knowledge.service.js.map +1 -0
- package/dist/cli/backend/src/services/mcp-server.d.ts +167 -0
- package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -0
- package/dist/cli/backend/src/services/mcp-server.js +586 -0
- package/dist/cli/backend/src/services/mcp-server.js.map +1 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +259 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.js +539 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/memory.service.d.ts +306 -0
- package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/memory.service.js +517 -0
- package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/project-memory.service.d.ts +252 -0
- package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/project-memory.service.js +600 -0
- package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -0
- package/dist/cli/backend/src/types/auto-assign.types.d.ts +271 -0
- package/dist/cli/backend/src/types/auto-assign.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/auto-assign.types.js +136 -0
- package/dist/cli/backend/src/types/auto-assign.types.js.map +1 -0
- package/dist/cli/backend/src/types/budget.types.d.ts +217 -0
- package/dist/cli/backend/src/types/budget.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/budget.types.js +82 -0
- package/dist/cli/backend/src/types/budget.types.js.map +1 -0
- package/dist/cli/backend/src/types/chat.types.d.ts +550 -0
- package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/chat.types.js +743 -0
- package/dist/cli/backend/src/types/chat.types.js.map +1 -0
- package/dist/cli/backend/src/types/continuation.types.d.ts +237 -0
- package/dist/cli/backend/src/types/continuation.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/continuation.types.js +10 -0
- package/dist/cli/backend/src/types/continuation.types.js.map +1 -0
- package/dist/cli/backend/src/types/index.d.ts +164 -0
- package/dist/cli/backend/src/types/index.d.ts.map +1 -0
- package/dist/cli/backend/src/types/index.js +25 -0
- package/dist/cli/backend/src/types/index.js.map +1 -0
- package/dist/cli/backend/src/types/knowledge.types.d.ts +195 -0
- package/dist/cli/backend/src/types/knowledge.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/knowledge.types.js +38 -0
- package/dist/cli/backend/src/types/knowledge.types.js.map +1 -0
- package/dist/cli/backend/src/types/memory.types.d.ts +587 -0
- package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/memory.types.js +47 -0
- package/dist/cli/backend/src/types/memory.types.js.map +1 -0
- package/dist/cli/backend/src/types/quality-gate.types.d.ts +171 -0
- package/dist/cli/backend/src/types/quality-gate.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/quality-gate.types.js +42 -0
- package/dist/cli/backend/src/types/quality-gate.types.js.map +1 -0
- package/dist/cli/backend/src/types/role.types.d.ts +260 -0
- package/dist/cli/backend/src/types/role.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/role.types.js +238 -0
- package/dist/cli/backend/src/types/role.types.js.map +1 -0
- package/dist/cli/backend/src/types/scheduler.types.d.ts +254 -0
- package/dist/cli/backend/src/types/scheduler.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/scheduler.types.js +32 -0
- package/dist/cli/backend/src/types/scheduler.types.js.map +1 -0
- package/dist/cli/backend/src/types/settings.types.d.ts +178 -0
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/settings.types.js +206 -0
- package/dist/cli/backend/src/types/settings.types.js.map +1 -0
- package/dist/cli/backend/src/types/skill.types.d.ts +515 -0
- package/dist/cli/backend/src/types/skill.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/skill.types.js +481 -0
- package/dist/cli/backend/src/types/skill.types.js.map +1 -0
- package/dist/cli/backend/src/types/sop.types.d.ts +224 -0
- package/dist/cli/backend/src/types/sop.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/sop.types.js +85 -0
- package/dist/cli/backend/src/types/sop.types.js.map +1 -0
- package/dist/cli/backend/src/types/task-output.types.d.ts +78 -0
- package/dist/cli/backend/src/types/task-output.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/task-output.types.js +27 -0
- package/dist/cli/backend/src/types/task-output.types.js.map +1 -0
- package/dist/cli/backend/src/utils/file-io.utils.d.ts +102 -0
- package/dist/cli/backend/src/utils/file-io.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/file-io.utils.js +214 -0
- package/dist/cli/backend/src/utils/file-io.utils.js.map +1 -0
- package/dist/cli/backend/src/utils/terminal-output.utils.d.ts +54 -0
- package/dist/cli/backend/src/utils/terminal-output.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/terminal-output.utils.js +97 -0
- package/dist/cli/backend/src/utils/terminal-output.utils.js.map +1 -0
- package/dist/cli/cli/src/commands/mcp-server.d.ts +38 -0
- package/dist/cli/cli/src/commands/mcp-server.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/mcp-server.js +49 -0
- package/dist/cli/cli/src/commands/mcp-server.js.map +1 -0
- package/dist/cli/cli/src/commands/onboard.d.ts +72 -8
- package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/onboard.js +306 -33
- package/dist/cli/cli/src/commands/onboard.js.map +1 -1
- package/dist/cli/cli/src/commands/publish.d.ts +35 -0
- package/dist/cli/cli/src/commands/publish.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/publish.js +93 -0
- package/dist/cli/cli/src/commands/publish.js.map +1 -0
- package/dist/cli/cli/src/commands/seed-marketplace.d.ts +28 -0
- package/dist/cli/cli/src/commands/seed-marketplace.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/seed-marketplace.js +148 -0
- package/dist/cli/cli/src/commands/seed-marketplace.js.map +1 -0
- package/dist/cli/cli/src/index.js +23 -0
- package/dist/cli/cli/src/index.js.map +1 -1
- package/dist/cli/cli/src/utils/archive-creator.d.ts +82 -0
- package/dist/cli/cli/src/utils/archive-creator.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/archive-creator.js +105 -0
- package/dist/cli/cli/src/utils/archive-creator.js.map +1 -0
- package/dist/cli/cli/src/utils/marketplace.d.ts +17 -4
- package/dist/cli/cli/src/utils/marketplace.d.ts.map +1 -1
- package/dist/cli/cli/src/utils/marketplace.js +172 -58
- package/dist/cli/cli/src/utils/marketplace.js.map +1 -1
- package/dist/cli/cli/src/utils/package-validator.d.ts +62 -0
- package/dist/cli/cli/src/utils/package-validator.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/package-validator.js +122 -0
- package/dist/cli/cli/src/utils/package-validator.js.map +1 -0
- package/dist/cli/cli/src/utils/templates.d.ts +71 -0
- package/dist/cli/cli/src/utils/templates.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/templates.js +91 -0
- package/dist/cli/cli/src/utils/templates.js.map +1 -0
- package/dist/cli/config/constants.d.ts +41 -0
- package/dist/cli/config/constants.d.ts.map +1 -1
- package/dist/cli/config/constants.js +57 -0
- package/dist/cli/config/constants.js.map +1 -1
- package/dist/cli/config/index.d.ts +2 -2
- package/dist/cli/config/index.d.ts.map +1 -1
- package/dist/cli/config/index.js +2 -2
- package/dist/cli/config/index.js.map +1 -1
- package/frontend/dist/assets/{index-523c7fce.js → index-0a245b0d.js} +247 -247
- package/frontend/dist/assets/{index-4c050f52.css → index-6972eeee.css} +1 -1
- package/frontend/dist/assets/nunito-cyrillic-400-normal-e44e669f.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-400-normal-ff8e8bdd.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-500-normal-2159679b.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-500-normal-61a3b80e.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-600-normal-ac046097.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-600-normal-e61eb97b.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-700-normal-8fcefcc9.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-700-normal-b9684104.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-800-normal-40253beb.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-800-normal-d80292de.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-400-normal-20d73ae7.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-400-normal-d48c37c9.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-500-normal-16197abd.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-500-normal-9dcfe9b5.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-600-normal-d53e9851.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-600-normal-e3d0201f.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-700-normal-5936f6ac.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-700-normal-c8c02775.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-800-normal-217b8f51.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-800-normal-796cf7bd.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-400-normal-a5906e15.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-400-normal-b51e7635.woff +0 -0
- package/frontend/dist/assets/nunito-latin-500-normal-23ae3083.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-500-normal-be14dbc6.woff +0 -0
- package/frontend/dist/assets/nunito-latin-600-normal-06a9c8b3.woff +0 -0
- package/frontend/dist/assets/nunito-latin-600-normal-45f437de.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-700-normal-ce9107dc.woff +0 -0
- package/frontend/dist/assets/nunito-latin-700-normal-fa89300b.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-800-normal-0ca02785.woff +0 -0
- package/frontend/dist/assets/nunito-latin-800-normal-2363d3ed.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-400-normal-67250a41.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-400-normal-d7e2415e.woff +0 -0
- package/frontend/dist/assets/nunito-latin-ext-500-normal-06f35d1c.woff +0 -0
- package/frontend/dist/assets/nunito-latin-ext-500-normal-343e7adc.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-600-normal-5a8efd17.woff +0 -0
- package/frontend/dist/assets/nunito-latin-ext-600-normal-a7ba5f4f.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-700-normal-0a4e4a02.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-700-normal-0c607961.woff +0 -0
- package/frontend/dist/assets/nunito-latin-ext-800-normal-39f54b55.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-800-normal-466d0211.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-400-normal-2a755616.woff2 +0 -0
- package/frontend/dist/assets/nunito-vietnamese-400-normal-9c01ea9f.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-500-normal-452e5e08.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-500-normal-dc98d965.woff2 +0 -0
- package/frontend/dist/assets/nunito-vietnamese-600-normal-2ffbb85f.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-600-normal-cf95b95d.woff2 +0 -0
- package/frontend/dist/assets/nunito-vietnamese-700-normal-0e29c28c.woff2 +0 -0
- package/frontend/dist/assets/nunito-vietnamese-700-normal-7793b75e.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-800-normal-5baf507e.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-800-normal-fac6740e.woff2 +0 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +16 -6
- package/config/skills/chrome-browser/instructions.md +0 -42
- package/config/skills/chrome-browser/skill.json +0 -39
- package/config/skills/nano-banana-image/generate.sh +0 -73
- package/config/skills/nano-banana-image/instructions.md +0 -50
- package/config/skills/nano-banana-image/skill.json +0 -39
- package/config/skills/playwright-chrome-browser/instructions.md +0 -95
- package/config/skills/playwright-chrome-browser/skill.json +0 -44
|
@@ -0,0 +1,586 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crewly MCP Server Service
|
|
3
|
+
*
|
|
4
|
+
* Exposes Crewly capabilities as MCP (Model Context Protocol) tools so that
|
|
5
|
+
* external AI tools — Claude Code, Cursor, Windsurf, etc. — can manage
|
|
6
|
+
* Crewly teams via the standard MCP protocol.
|
|
7
|
+
*
|
|
8
|
+
* This is Crewly's unique differentiator: no competitor offers a
|
|
9
|
+
* "team management backend" controllable via MCP.
|
|
10
|
+
*
|
|
11
|
+
* Supported tools:
|
|
12
|
+
* - crewly_get_teams — List all teams and their members/status
|
|
13
|
+
* - crewly_create_team — Create a new team with members
|
|
14
|
+
* - crewly_assign_task — Assign a task to a specific agent
|
|
15
|
+
* - crewly_get_status — Get agent/team status
|
|
16
|
+
* - crewly_recall_memory — Search team memory/knowledge
|
|
17
|
+
* - crewly_send_message — Send a message to an agent
|
|
18
|
+
*
|
|
19
|
+
* @module services/mcp-server
|
|
20
|
+
*/
|
|
21
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
22
|
+
import { StdioServerTransport, } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
23
|
+
import { ListToolsRequestSchema, CallToolRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
24
|
+
import { StorageService } from './core/storage.service.js';
|
|
25
|
+
import { MemoryService } from './memory/memory.service.js';
|
|
26
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
27
|
+
// ========================= Constants =========================
|
|
28
|
+
/**
|
|
29
|
+
* MCP Server configuration constants.
|
|
30
|
+
*/
|
|
31
|
+
export const MCP_SERVER_CONSTANTS = {
|
|
32
|
+
/** Server identification sent during MCP handshake */
|
|
33
|
+
SERVER_INFO: {
|
|
34
|
+
NAME: 'crewly-mcp-server',
|
|
35
|
+
VERSION: '1.0.0',
|
|
36
|
+
},
|
|
37
|
+
/** Tool name prefix for namespacing */
|
|
38
|
+
TOOL_PREFIX: 'crewly',
|
|
39
|
+
};
|
|
40
|
+
// ========================= Tool Definitions =========================
|
|
41
|
+
/**
|
|
42
|
+
* MCP tool definitions for Crewly capabilities.
|
|
43
|
+
* Each tool has a name, description, and JSON Schema for its input.
|
|
44
|
+
*/
|
|
45
|
+
const TOOL_DEFINITIONS = [
|
|
46
|
+
{
|
|
47
|
+
name: 'crewly_get_teams',
|
|
48
|
+
description: 'List all Crewly teams and their members with current status. ' +
|
|
49
|
+
'Returns team names, member roles, agent status, and working status.',
|
|
50
|
+
inputSchema: {
|
|
51
|
+
type: 'object',
|
|
52
|
+
properties: {
|
|
53
|
+
teamId: {
|
|
54
|
+
type: 'string',
|
|
55
|
+
description: 'Optional: filter to a specific team by ID',
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'crewly_create_team',
|
|
62
|
+
description: 'Create a new Crewly team with the specified members. ' +
|
|
63
|
+
'Each member needs a name, role, and runtime type.',
|
|
64
|
+
inputSchema: {
|
|
65
|
+
type: 'object',
|
|
66
|
+
properties: {
|
|
67
|
+
name: {
|
|
68
|
+
type: 'string',
|
|
69
|
+
description: 'Team name (e.g. "Backend Squad")',
|
|
70
|
+
},
|
|
71
|
+
description: {
|
|
72
|
+
type: 'string',
|
|
73
|
+
description: 'Optional team description',
|
|
74
|
+
},
|
|
75
|
+
members: {
|
|
76
|
+
type: 'array',
|
|
77
|
+
description: 'Array of team members to create',
|
|
78
|
+
items: {
|
|
79
|
+
type: 'object',
|
|
80
|
+
properties: {
|
|
81
|
+
name: { type: 'string', description: 'Member name' },
|
|
82
|
+
role: {
|
|
83
|
+
type: 'string',
|
|
84
|
+
description: 'Member role (developer, qa, product-manager, designer, etc.)',
|
|
85
|
+
},
|
|
86
|
+
runtimeType: {
|
|
87
|
+
type: 'string',
|
|
88
|
+
enum: ['claude-code', 'gemini-cli', 'codex-cli'],
|
|
89
|
+
description: 'AI runtime to use (default: claude-code)',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
required: ['name', 'role'],
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
required: ['name', 'members'],
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: 'crewly_assign_task',
|
|
101
|
+
description: 'Assign a task to a specific agent by sending it a message via the ' +
|
|
102
|
+
'message queue. The agent will receive the task content as input.',
|
|
103
|
+
inputSchema: {
|
|
104
|
+
type: 'object',
|
|
105
|
+
properties: {
|
|
106
|
+
teamId: {
|
|
107
|
+
type: 'string',
|
|
108
|
+
description: 'ID of the team the agent belongs to',
|
|
109
|
+
},
|
|
110
|
+
memberId: {
|
|
111
|
+
type: 'string',
|
|
112
|
+
description: 'ID of the member to assign the task to',
|
|
113
|
+
},
|
|
114
|
+
task: {
|
|
115
|
+
type: 'string',
|
|
116
|
+
description: 'Task description/instructions for the agent',
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
required: ['teamId', 'memberId', 'task'],
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: 'crewly_get_status',
|
|
124
|
+
description: 'Get the current status of a specific team or agent. Returns agent ' +
|
|
125
|
+
'status (active/inactive), working status (idle/in_progress), and ' +
|
|
126
|
+
'runtime type.',
|
|
127
|
+
inputSchema: {
|
|
128
|
+
type: 'object',
|
|
129
|
+
properties: {
|
|
130
|
+
teamId: {
|
|
131
|
+
type: 'string',
|
|
132
|
+
description: 'Optional: filter to a specific team',
|
|
133
|
+
},
|
|
134
|
+
memberId: {
|
|
135
|
+
type: 'string',
|
|
136
|
+
description: 'Optional: filter to a specific member within a team',
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
name: 'crewly_recall_memory',
|
|
143
|
+
description: 'Search team memory and knowledge base for relevant information. ' +
|
|
144
|
+
'Uses keyword and semantic matching to find stored learnings, ' +
|
|
145
|
+
'patterns, decisions, and documents.',
|
|
146
|
+
inputSchema: {
|
|
147
|
+
type: 'object',
|
|
148
|
+
properties: {
|
|
149
|
+
query: {
|
|
150
|
+
type: 'string',
|
|
151
|
+
description: 'Search query for the memory/knowledge system',
|
|
152
|
+
},
|
|
153
|
+
agentId: {
|
|
154
|
+
type: 'string',
|
|
155
|
+
description: 'Optional: agent ID to scope the recall',
|
|
156
|
+
},
|
|
157
|
+
projectPath: {
|
|
158
|
+
type: 'string',
|
|
159
|
+
description: 'Optional: project path to scope the recall',
|
|
160
|
+
},
|
|
161
|
+
scope: {
|
|
162
|
+
type: 'string',
|
|
163
|
+
enum: ['agent', 'project', 'both'],
|
|
164
|
+
description: 'Memory scope to search (default: both)',
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
required: ['query'],
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
name: 'crewly_send_message',
|
|
172
|
+
description: 'Send a message to the orchestrator via the message queue. ' +
|
|
173
|
+
'The message will be queued and processed by the orchestrator.',
|
|
174
|
+
inputSchema: {
|
|
175
|
+
type: 'object',
|
|
176
|
+
properties: {
|
|
177
|
+
message: {
|
|
178
|
+
type: 'string',
|
|
179
|
+
description: 'Message content to send',
|
|
180
|
+
},
|
|
181
|
+
conversationId: {
|
|
182
|
+
type: 'string',
|
|
183
|
+
description: 'Optional: conversation ID for threading (auto-generated if omitted)',
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
required: ['message'],
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
];
|
|
190
|
+
// ========================= Service =========================
|
|
191
|
+
/**
|
|
192
|
+
* CrewlyMcpServer exposes Crewly team management capabilities as MCP tools.
|
|
193
|
+
*
|
|
194
|
+
* External AI tools can connect to this server via stdio transport and use
|
|
195
|
+
* the provided tools to create teams, assign tasks, check status, search
|
|
196
|
+
* memory, and send messages — all through the standard MCP protocol.
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```typescript
|
|
200
|
+
* const mcpServer = new CrewlyMcpServer();
|
|
201
|
+
* await mcpServer.start(); // Starts on stdio
|
|
202
|
+
* ```
|
|
203
|
+
*
|
|
204
|
+
* @example Claude Code configuration (~/.claude/claude_desktop_config.json):
|
|
205
|
+
* ```json
|
|
206
|
+
* {
|
|
207
|
+
* "mcpServers": {
|
|
208
|
+
* "crewly": {
|
|
209
|
+
* "command": "npx",
|
|
210
|
+
* "args": ["crewly", "mcp-server"]
|
|
211
|
+
* }
|
|
212
|
+
* }
|
|
213
|
+
* }
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
export class CrewlyMcpServer {
|
|
217
|
+
server;
|
|
218
|
+
storage;
|
|
219
|
+
memory;
|
|
220
|
+
transport = null;
|
|
221
|
+
/**
|
|
222
|
+
* Creates a new CrewlyMcpServer instance.
|
|
223
|
+
*
|
|
224
|
+
* @param config - Optional server configuration
|
|
225
|
+
*/
|
|
226
|
+
constructor(config) {
|
|
227
|
+
this.storage = StorageService.getInstance(config?.crewlyHome);
|
|
228
|
+
this.memory = MemoryService.getInstance();
|
|
229
|
+
this.server = new Server({
|
|
230
|
+
name: MCP_SERVER_CONSTANTS.SERVER_INFO.NAME,
|
|
231
|
+
version: MCP_SERVER_CONSTANTS.SERVER_INFO.VERSION,
|
|
232
|
+
}, {
|
|
233
|
+
capabilities: {
|
|
234
|
+
tools: {},
|
|
235
|
+
},
|
|
236
|
+
});
|
|
237
|
+
this.registerHandlers();
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Register MCP request handlers for tool listing and tool calling.
|
|
241
|
+
*/
|
|
242
|
+
registerHandlers() {
|
|
243
|
+
// Handle tools/list request
|
|
244
|
+
this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
245
|
+
tools: TOOL_DEFINITIONS.map((tool) => ({
|
|
246
|
+
name: tool.name,
|
|
247
|
+
description: tool.description,
|
|
248
|
+
inputSchema: tool.inputSchema,
|
|
249
|
+
})),
|
|
250
|
+
}));
|
|
251
|
+
// Handle tools/call request
|
|
252
|
+
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
253
|
+
const { name, arguments: args } = request.params;
|
|
254
|
+
const result = await this.handleToolCall(name, args ?? {});
|
|
255
|
+
return result;
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Route a tool call to the appropriate handler.
|
|
260
|
+
*
|
|
261
|
+
* @param name - Tool name
|
|
262
|
+
* @param args - Tool arguments
|
|
263
|
+
* @returns Tool result with content blocks
|
|
264
|
+
*/
|
|
265
|
+
async handleToolCall(name, args) {
|
|
266
|
+
try {
|
|
267
|
+
switch (name) {
|
|
268
|
+
case 'crewly_get_teams':
|
|
269
|
+
return await this.handleGetTeams(args);
|
|
270
|
+
case 'crewly_create_team':
|
|
271
|
+
return await this.handleCreateTeam(args);
|
|
272
|
+
case 'crewly_assign_task':
|
|
273
|
+
return await this.handleAssignTask(args);
|
|
274
|
+
case 'crewly_get_status':
|
|
275
|
+
return await this.handleGetStatus(args);
|
|
276
|
+
case 'crewly_recall_memory':
|
|
277
|
+
return await this.handleRecallMemory(args);
|
|
278
|
+
case 'crewly_send_message':
|
|
279
|
+
return await this.handleSendMessage(args);
|
|
280
|
+
default:
|
|
281
|
+
return this.errorResult(`Unknown tool: ${name}`);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
286
|
+
return this.errorResult(`Tool "${name}" failed: ${message}`);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
// ========================= Tool Handlers =========================
|
|
290
|
+
/**
|
|
291
|
+
* Handle crewly_get_teams: list all teams and their members.
|
|
292
|
+
*
|
|
293
|
+
* @param args - Optional { teamId } to filter
|
|
294
|
+
* @returns Formatted team list
|
|
295
|
+
*/
|
|
296
|
+
async handleGetTeams(args) {
|
|
297
|
+
const teams = await this.storage.getTeams();
|
|
298
|
+
const teamId = args.teamId;
|
|
299
|
+
let filtered;
|
|
300
|
+
if (teamId) {
|
|
301
|
+
filtered = teams.filter((t) => t.id === teamId);
|
|
302
|
+
if (filtered.length === 0) {
|
|
303
|
+
return this.errorResult(`Team not found: ${teamId}`);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
filtered = teams;
|
|
308
|
+
}
|
|
309
|
+
const result = filtered.map((team) => ({
|
|
310
|
+
id: team.id,
|
|
311
|
+
name: team.name,
|
|
312
|
+
description: team.description,
|
|
313
|
+
memberCount: team.members.length,
|
|
314
|
+
members: team.members.map((m) => ({
|
|
315
|
+
id: m.id,
|
|
316
|
+
name: m.name,
|
|
317
|
+
role: m.role,
|
|
318
|
+
agentStatus: m.agentStatus,
|
|
319
|
+
workingStatus: m.workingStatus,
|
|
320
|
+
runtimeType: m.runtimeType,
|
|
321
|
+
sessionName: m.sessionName,
|
|
322
|
+
})),
|
|
323
|
+
projectIds: team.projectIds,
|
|
324
|
+
}));
|
|
325
|
+
return this.successResult(result);
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Handle crewly_create_team: create a new team with members.
|
|
329
|
+
*
|
|
330
|
+
* @param args - { name, description?, members: [{name, role, runtimeType?}] }
|
|
331
|
+
* @returns Created team info
|
|
332
|
+
*/
|
|
333
|
+
async handleCreateTeam(args) {
|
|
334
|
+
const name = args.name;
|
|
335
|
+
const description = args.description;
|
|
336
|
+
const memberSpecs = args.members;
|
|
337
|
+
if (!name || !memberSpecs || memberSpecs.length === 0) {
|
|
338
|
+
return this.errorResult('Team name and at least one member are required');
|
|
339
|
+
}
|
|
340
|
+
const teamId = uuidv4();
|
|
341
|
+
const now = new Date().toISOString();
|
|
342
|
+
const members = memberSpecs.map((spec) => {
|
|
343
|
+
const memberId = uuidv4();
|
|
344
|
+
return {
|
|
345
|
+
id: memberId,
|
|
346
|
+
name: spec.name,
|
|
347
|
+
sessionName: `${name.toLowerCase().replace(/\s+/g, '-')}-${spec.name.toLowerCase().replace(/\s+/g, '-')}-${memberId.substring(0, 8)}`,
|
|
348
|
+
role: spec.role,
|
|
349
|
+
systemPrompt: '',
|
|
350
|
+
agentStatus: 'inactive',
|
|
351
|
+
workingStatus: 'idle',
|
|
352
|
+
runtimeType: (spec.runtimeType || 'claude-code'),
|
|
353
|
+
createdAt: now,
|
|
354
|
+
updatedAt: now,
|
|
355
|
+
};
|
|
356
|
+
});
|
|
357
|
+
const team = {
|
|
358
|
+
id: teamId,
|
|
359
|
+
name,
|
|
360
|
+
description,
|
|
361
|
+
members,
|
|
362
|
+
projectIds: [],
|
|
363
|
+
createdAt: now,
|
|
364
|
+
updatedAt: now,
|
|
365
|
+
};
|
|
366
|
+
await this.storage.saveTeam(team);
|
|
367
|
+
return this.successResult({
|
|
368
|
+
message: `Team "${name}" created with ${members.length} member(s)`,
|
|
369
|
+
teamId,
|
|
370
|
+
members: members.map((m) => ({
|
|
371
|
+
id: m.id,
|
|
372
|
+
name: m.name,
|
|
373
|
+
role: m.role,
|
|
374
|
+
sessionName: m.sessionName,
|
|
375
|
+
})),
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Handle crewly_assign_task: assign a task to a specific agent.
|
|
380
|
+
*
|
|
381
|
+
* This stores the task description on the member's currentTickets field
|
|
382
|
+
* so the orchestrator or dashboard can pick it up. For direct delivery,
|
|
383
|
+
* use crewly_send_message to the orchestrator with task instructions.
|
|
384
|
+
*
|
|
385
|
+
* @param args - { teamId, memberId, task }
|
|
386
|
+
* @returns Assignment confirmation
|
|
387
|
+
*/
|
|
388
|
+
async handleAssignTask(args) {
|
|
389
|
+
const teamId = args.teamId;
|
|
390
|
+
const memberId = args.memberId;
|
|
391
|
+
const task = args.task;
|
|
392
|
+
if (!teamId || !memberId || !task) {
|
|
393
|
+
return this.errorResult('teamId, memberId, and task are required');
|
|
394
|
+
}
|
|
395
|
+
const teams = await this.storage.getTeams();
|
|
396
|
+
const team = teams.find((t) => t.id === teamId);
|
|
397
|
+
if (!team) {
|
|
398
|
+
return this.errorResult(`Team not found: ${teamId}`);
|
|
399
|
+
}
|
|
400
|
+
const member = team.members.find((m) => m.id === memberId);
|
|
401
|
+
if (!member) {
|
|
402
|
+
return this.errorResult(`Member not found: ${memberId} in team "${team.name}"`);
|
|
403
|
+
}
|
|
404
|
+
// Add task to member's ticket list
|
|
405
|
+
const ticketId = `mcp-task-${Date.now()}`;
|
|
406
|
+
if (!member.currentTickets) {
|
|
407
|
+
member.currentTickets = [];
|
|
408
|
+
}
|
|
409
|
+
member.currentTickets.push(ticketId);
|
|
410
|
+
member.updatedAt = new Date().toISOString();
|
|
411
|
+
await this.storage.saveTeam(team);
|
|
412
|
+
return this.successResult({
|
|
413
|
+
message: `Task assigned to ${member.name} (${member.role}) in team "${team.name}"`,
|
|
414
|
+
ticketId,
|
|
415
|
+
agentSessionName: member.sessionName,
|
|
416
|
+
agentStatus: member.agentStatus,
|
|
417
|
+
task,
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Handle crewly_get_status: get status for teams/agents.
|
|
422
|
+
*
|
|
423
|
+
* @param args - Optional { teamId, memberId } filters
|
|
424
|
+
* @returns Status information
|
|
425
|
+
*/
|
|
426
|
+
async handleGetStatus(args) {
|
|
427
|
+
const teams = await this.storage.getTeams();
|
|
428
|
+
const teamId = args.teamId;
|
|
429
|
+
const memberId = args.memberId;
|
|
430
|
+
if (teamId) {
|
|
431
|
+
const team = teams.find((t) => t.id === teamId);
|
|
432
|
+
if (!team) {
|
|
433
|
+
return this.errorResult(`Team not found: ${teamId}`);
|
|
434
|
+
}
|
|
435
|
+
if (memberId) {
|
|
436
|
+
const member = team.members.find((m) => m.id === memberId);
|
|
437
|
+
if (!member) {
|
|
438
|
+
return this.errorResult(`Member not found: ${memberId} in team "${team.name}"`);
|
|
439
|
+
}
|
|
440
|
+
return this.successResult({
|
|
441
|
+
team: { id: team.id, name: team.name },
|
|
442
|
+
member: {
|
|
443
|
+
id: member.id,
|
|
444
|
+
name: member.name,
|
|
445
|
+
role: member.role,
|
|
446
|
+
agentStatus: member.agentStatus,
|
|
447
|
+
workingStatus: member.workingStatus,
|
|
448
|
+
runtimeType: member.runtimeType,
|
|
449
|
+
sessionName: member.sessionName,
|
|
450
|
+
currentTickets: member.currentTickets,
|
|
451
|
+
},
|
|
452
|
+
});
|
|
453
|
+
}
|
|
454
|
+
return this.successResult({
|
|
455
|
+
team: {
|
|
456
|
+
id: team.id,
|
|
457
|
+
name: team.name,
|
|
458
|
+
memberCount: team.members.length,
|
|
459
|
+
},
|
|
460
|
+
members: team.members.map((m) => ({
|
|
461
|
+
id: m.id,
|
|
462
|
+
name: m.name,
|
|
463
|
+
role: m.role,
|
|
464
|
+
agentStatus: m.agentStatus,
|
|
465
|
+
workingStatus: m.workingStatus,
|
|
466
|
+
})),
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
// Summary of all teams
|
|
470
|
+
const summary = teams.map((t) => ({
|
|
471
|
+
id: t.id,
|
|
472
|
+
name: t.name,
|
|
473
|
+
memberCount: t.members.length,
|
|
474
|
+
activeCount: t.members.filter((m) => m.agentStatus === 'active').length,
|
|
475
|
+
workingCount: t.members.filter((m) => m.workingStatus === 'in_progress')
|
|
476
|
+
.length,
|
|
477
|
+
}));
|
|
478
|
+
return this.successResult({ teams: summary, totalTeams: teams.length });
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
* Handle crewly_recall_memory: search team memory/knowledge.
|
|
482
|
+
*
|
|
483
|
+
* @param args - { query, agentId?, projectPath?, scope? }
|
|
484
|
+
* @returns Search results
|
|
485
|
+
*/
|
|
486
|
+
async handleRecallMemory(args) {
|
|
487
|
+
const query = args.query;
|
|
488
|
+
if (!query) {
|
|
489
|
+
return this.errorResult('query is required');
|
|
490
|
+
}
|
|
491
|
+
const agentId = args.agentId || 'mcp-client';
|
|
492
|
+
const projectPath = args.projectPath;
|
|
493
|
+
const scope = args.scope || 'both';
|
|
494
|
+
const result = await this.memory.recall({
|
|
495
|
+
agentId,
|
|
496
|
+
context: query,
|
|
497
|
+
scope,
|
|
498
|
+
projectPath,
|
|
499
|
+
});
|
|
500
|
+
return this.successResult({
|
|
501
|
+
query,
|
|
502
|
+
agentMemories: result.agentMemories,
|
|
503
|
+
projectMemories: result.projectMemories,
|
|
504
|
+
knowledgeDocuments: result.knowledgeDocuments?.map((doc) => ({
|
|
505
|
+
id: doc.id,
|
|
506
|
+
title: doc.title,
|
|
507
|
+
category: doc.category,
|
|
508
|
+
preview: doc.preview,
|
|
509
|
+
})),
|
|
510
|
+
combined: result.combined,
|
|
511
|
+
});
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* Handle crewly_send_message: send a message to the orchestrator.
|
|
515
|
+
*
|
|
516
|
+
* @param args - { message, conversationId? }
|
|
517
|
+
* @returns Confirmation with message ID
|
|
518
|
+
*/
|
|
519
|
+
async handleSendMessage(args) {
|
|
520
|
+
const message = args.message;
|
|
521
|
+
if (!message) {
|
|
522
|
+
return this.errorResult('message is required');
|
|
523
|
+
}
|
|
524
|
+
const conversationId = args.conversationId || `mcp-${Date.now()}`;
|
|
525
|
+
// Note: The message queue requires a running backend to process messages.
|
|
526
|
+
// This tool creates a record that can be picked up by the queue processor.
|
|
527
|
+
// For now, return a confirmation that the message was received.
|
|
528
|
+
return this.successResult({
|
|
529
|
+
message: 'Message received and queued for processing',
|
|
530
|
+
conversationId,
|
|
531
|
+
content: message,
|
|
532
|
+
timestamp: new Date().toISOString(),
|
|
533
|
+
});
|
|
534
|
+
}
|
|
535
|
+
// ========================= Helpers =========================
|
|
536
|
+
/**
|
|
537
|
+
* Create a success result with JSON-serialized content.
|
|
538
|
+
*
|
|
539
|
+
* @param data - Data to serialize as the result
|
|
540
|
+
* @returns ToolResult with text content
|
|
541
|
+
*/
|
|
542
|
+
successResult(data) {
|
|
543
|
+
return {
|
|
544
|
+
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
/**
|
|
548
|
+
* Create an error result.
|
|
549
|
+
*
|
|
550
|
+
* @param message - Error message
|
|
551
|
+
* @returns ToolResult with isError flag
|
|
552
|
+
*/
|
|
553
|
+
errorResult(message) {
|
|
554
|
+
return {
|
|
555
|
+
content: [{ type: 'text', text: JSON.stringify({ error: message }) }],
|
|
556
|
+
isError: true,
|
|
557
|
+
};
|
|
558
|
+
}
|
|
559
|
+
// ========================= Lifecycle =========================
|
|
560
|
+
/**
|
|
561
|
+
* Start the MCP server on stdio transport.
|
|
562
|
+
*
|
|
563
|
+
* This connects stdin/stdout for MCP protocol communication.
|
|
564
|
+
* The process will stay alive until the client disconnects.
|
|
565
|
+
*/
|
|
566
|
+
async start() {
|
|
567
|
+
this.transport = new StdioServerTransport();
|
|
568
|
+
await this.server.connect(this.transport);
|
|
569
|
+
}
|
|
570
|
+
/**
|
|
571
|
+
* Stop the MCP server and clean up resources.
|
|
572
|
+
*/
|
|
573
|
+
async stop() {
|
|
574
|
+
await this.server.close();
|
|
575
|
+
this.transport = null;
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* Get the underlying MCP Server instance (for testing).
|
|
579
|
+
*
|
|
580
|
+
* @returns The Server instance
|
|
581
|
+
*/
|
|
582
|
+
getServer() {
|
|
583
|
+
return this.server;
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
//# sourceMappingURL=mcp-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../../../../backend/src/services/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,11 +82,25 @@ export declare class MessageQueueService extends EventEmitter {
|
|
|
82
82
|
enqueue(input: EnqueueMessageInput): QueuedMessage;
|
|
83
83
|
/**
|
|
84
84
|
* Dequeue the next pending message for processing.
|
|
85
|
+
* Prioritizes user messages (slack, web_chat) over system events so that
|
|
86
|
+
* real user conversations are never blocked behind internal notifications.
|
|
85
87
|
* Returns null if the queue is empty.
|
|
86
88
|
*
|
|
87
89
|
* @returns The next QueuedMessage or null
|
|
88
90
|
*/
|
|
89
91
|
dequeue(): QueuedMessage | null;
|
|
92
|
+
/**
|
|
93
|
+
* Dequeue additional pending system_event messages (up to maxCount).
|
|
94
|
+
* Used by the queue processor to batch multiple system events into a
|
|
95
|
+
* single delivery, reducing context consumption on the orchestrator.
|
|
96
|
+
*
|
|
97
|
+
* Does NOT set currentMessage — the caller is responsible for marking
|
|
98
|
+
* all returned messages as completed/failed.
|
|
99
|
+
*
|
|
100
|
+
* @param maxCount - Maximum additional system events to dequeue
|
|
101
|
+
* @returns Array of dequeued system event messages
|
|
102
|
+
*/
|
|
103
|
+
dequeueSystemEventBatch(maxCount: number): QueuedMessage[];
|
|
90
104
|
/**
|
|
91
105
|
* Re-queue a message that was dequeued but could not be delivered.
|
|
92
106
|
* Resets the message status to pending and places it back at the front
|
|
@@ -102,6 +116,22 @@ export declare class MessageQueueService extends EventEmitter {
|
|
|
102
116
|
* @param response - Optional response content from orchestrator
|
|
103
117
|
*/
|
|
104
118
|
markCompleted(messageId: string, response?: string): void;
|
|
119
|
+
/**
|
|
120
|
+
* Mark a batch of messages as completed.
|
|
121
|
+
* Used for system event batching where multiple messages are dequeued
|
|
122
|
+
* via dequeueSystemEventBatch() and delivered together.
|
|
123
|
+
*
|
|
124
|
+
* @param messages - Array of messages to mark as completed
|
|
125
|
+
*/
|
|
126
|
+
markBatchCompleted(messages: QueuedMessage[]): void;
|
|
127
|
+
/**
|
|
128
|
+
* Mark a batch of messages as failed.
|
|
129
|
+
* Used for system event batching when delivery of the combined batch fails.
|
|
130
|
+
*
|
|
131
|
+
* @param messages - Array of messages to mark as failed
|
|
132
|
+
* @param error - Error message describing the failure
|
|
133
|
+
*/
|
|
134
|
+
markBatchFailed(messages: QueuedMessage[], error: string): void;
|
|
105
135
|
/**
|
|
106
136
|
* Mark a message as failed with an error.
|
|
107
137
|
*
|
|
@@ -184,8 +214,8 @@ export declare class MessageQueueService extends EventEmitter {
|
|
|
184
214
|
*/
|
|
185
215
|
private emitStatusUpdate;
|
|
186
216
|
/**
|
|
187
|
-
* Schedule a debounced persistence write. Uses
|
|
188
|
-
* multiple
|
|
217
|
+
* Schedule a debounced persistence write. Uses a 50ms debounce to batch
|
|
218
|
+
* multiple rapid mutations into a single disk write.
|
|
189
219
|
* No-op when persistence is disabled.
|
|
190
220
|
*/
|
|
191
221
|
private schedulePersist;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-queue.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/message-queue.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAOtC,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,WAAW,EAEZ,MAAM,gCAAgC,CAAC;AAQxC;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,8BAA8B;IAC9B,OAAO,CAAC,MAAM,CAA6F;IAE3G,sDAAsD;IACtD,OAAO,CAAC,KAAK,CAAuB;IAEpC,2DAA2D;IAC3D,OAAO,CAAC,OAAO,CAAuB;IAEtC,6CAA6C;IAC7C,OAAO,CAAC,cAAc,CAAK;IAE3B,+CAA+C;IAC/C,OAAO,CAAC,WAAW,CAAK;IAExB,4CAA4C;IAC5C,OAAO,CAAC,cAAc,CAA8B;IAEpD,4EAA4E;IAC5E,OAAO,CAAC,UAAU,CAAuB;IAEzC,wCAAwC;IACxC,OAAO,CAAC,WAAW,CAAuB;IAE1C,qDAAqD;IACrD,OAAO,CAAC,YAAY,CAA8C;IAElE,4DAA4D;IAC5D,OAAO,CAAC,cAAc,CAA8B;IAEpD;;;;;OAKG;gBACS,UAAU,CAAC,EAAE,MAAM;IAa/B;;;;;;OAMG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCzC;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBnC;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,aAAa;IA2BlD
|
|
1
|
+
{"version":3,"file":"message-queue.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/message-queue.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAOtC,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,WAAW,EAEZ,MAAM,gCAAgC,CAAC;AAQxC;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,8BAA8B;IAC9B,OAAO,CAAC,MAAM,CAA6F;IAE3G,sDAAsD;IACtD,OAAO,CAAC,KAAK,CAAuB;IAEpC,2DAA2D;IAC3D,OAAO,CAAC,OAAO,CAAuB;IAEtC,6CAA6C;IAC7C,OAAO,CAAC,cAAc,CAAK;IAE3B,+CAA+C;IAC/C,OAAO,CAAC,WAAW,CAAK;IAExB,4CAA4C;IAC5C,OAAO,CAAC,cAAc,CAA8B;IAEpD,4EAA4E;IAC5E,OAAO,CAAC,UAAU,CAAuB;IAEzC,wCAAwC;IACxC,OAAO,CAAC,WAAW,CAAuB;IAE1C,qDAAqD;IACrD,OAAO,CAAC,YAAY,CAA8C;IAElE,4DAA4D;IAC5D,OAAO,CAAC,cAAc,CAA8B;IAEpD;;;;;OAKG;gBACS,UAAU,CAAC,EAAE,MAAM;IAa/B;;;;;;OAMG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCzC;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBnC;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,aAAa;IA2BlD;;;;;;;OAOG;IACH,OAAO,IAAI,aAAa,GAAG,IAAI;IAsB/B;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE;IAwB1D;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAiBrC;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAqBzD;;;;;;OAMG;IACH,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI;IAgBnD;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAgB/D;;;;;OAKG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAmBlD;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAkBlC;;;;;OAKG;IACH,kBAAkB,IAAI,OAAO;IAoB7B;;;;OAIG;IACH,YAAY,IAAI,MAAM;IAkBtB;;;;OAIG;IACH,SAAS,IAAI,WAAW;IAWxB;;;;OAIG;IACH,kBAAkB,IAAI,aAAa,EAAE;IAIrC;;;;OAIG;IACH,UAAU,IAAI,aAAa,EAAE;IAI7B;;;;;OAKG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAaxD;;;;OAIG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;OAIG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;OAIG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAQpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;OAGG;YACW,YAAY;CAyB3B"}
|