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,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quality Gate Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Types for configuring and running quality gates that validate
|
|
5
|
+
* code quality before task completion.
|
|
6
|
+
*
|
|
7
|
+
* @module types/quality-gate.types
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* A single quality gate definition
|
|
11
|
+
*/
|
|
12
|
+
export interface QualityGate {
|
|
13
|
+
/** Unique gate identifier */
|
|
14
|
+
name: string;
|
|
15
|
+
/** Shell command to execute */
|
|
16
|
+
command: string;
|
|
17
|
+
/** Timeout in milliseconds */
|
|
18
|
+
timeout: number;
|
|
19
|
+
/** Human-readable description */
|
|
20
|
+
description?: string;
|
|
21
|
+
/** Whether this gate must pass for task completion */
|
|
22
|
+
required: boolean;
|
|
23
|
+
/** Allow failure without blocking (for optional gates) */
|
|
24
|
+
allowFailure?: boolean;
|
|
25
|
+
/** Additional environment variables */
|
|
26
|
+
env?: Record<string, string>;
|
|
27
|
+
/** Branch patterns where this gate runs (glob patterns) */
|
|
28
|
+
runOn?: string[];
|
|
29
|
+
/** Threshold values for gates with metrics (e.g., coverage) */
|
|
30
|
+
threshold?: Record<string, number>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Settings for gate execution
|
|
34
|
+
*/
|
|
35
|
+
export interface GateSettings {
|
|
36
|
+
/** Run gates in parallel (default: false for sequential) */
|
|
37
|
+
runInParallel: boolean;
|
|
38
|
+
/** Stop execution on first failure */
|
|
39
|
+
stopOnFirstFailure: boolean;
|
|
40
|
+
/** Overall timeout for all gates in milliseconds */
|
|
41
|
+
timeout: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Complete gate configuration for a project
|
|
45
|
+
*/
|
|
46
|
+
export interface GateConfig {
|
|
47
|
+
/** Execution settings */
|
|
48
|
+
settings: GateSettings;
|
|
49
|
+
/** Required gates (must all pass) */
|
|
50
|
+
required: QualityGate[];
|
|
51
|
+
/** Optional gates (warning only) */
|
|
52
|
+
optional: QualityGate[];
|
|
53
|
+
/** Custom project-specific gates */
|
|
54
|
+
custom: QualityGate[];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Result of running a single gate
|
|
58
|
+
*/
|
|
59
|
+
export interface GateResult {
|
|
60
|
+
/** Gate identifier */
|
|
61
|
+
name: string;
|
|
62
|
+
/** Whether the gate passed */
|
|
63
|
+
passed: boolean;
|
|
64
|
+
/** Whether this was a required gate */
|
|
65
|
+
required: boolean;
|
|
66
|
+
/** Execution duration in milliseconds */
|
|
67
|
+
duration: number;
|
|
68
|
+
/** Combined stdout/stderr output (truncated if too long) */
|
|
69
|
+
output: string;
|
|
70
|
+
/** Process exit code */
|
|
71
|
+
exitCode: number;
|
|
72
|
+
/** Error message if gate failed */
|
|
73
|
+
error?: string;
|
|
74
|
+
/** Whether the gate was skipped */
|
|
75
|
+
skipped?: boolean;
|
|
76
|
+
/** Reason for skipping */
|
|
77
|
+
skipReason?: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Summary of gate execution
|
|
81
|
+
*/
|
|
82
|
+
export interface GateSummary {
|
|
83
|
+
/** Total number of gates */
|
|
84
|
+
total: number;
|
|
85
|
+
/** Number of gates that passed */
|
|
86
|
+
passed: number;
|
|
87
|
+
/** Number of gates that failed */
|
|
88
|
+
failed: number;
|
|
89
|
+
/** Number of gates that were skipped */
|
|
90
|
+
skipped: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Complete results from running all gates
|
|
94
|
+
*/
|
|
95
|
+
export interface GateRunResults {
|
|
96
|
+
/** Whether all required gates passed */
|
|
97
|
+
allRequiredPassed: boolean;
|
|
98
|
+
/** Whether all gates (including optional) passed */
|
|
99
|
+
allPassed: boolean;
|
|
100
|
+
/** Individual gate results */
|
|
101
|
+
results: GateResult[];
|
|
102
|
+
/** Summary statistics */
|
|
103
|
+
summary: GateSummary;
|
|
104
|
+
/** Total execution duration in milliseconds */
|
|
105
|
+
duration: number;
|
|
106
|
+
/** ISO timestamp of when gates were run */
|
|
107
|
+
timestamp: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Gate runner interface
|
|
111
|
+
*/
|
|
112
|
+
export interface IGateRunner {
|
|
113
|
+
/**
|
|
114
|
+
* Run a single gate
|
|
115
|
+
*
|
|
116
|
+
* @param gate - Gate definition
|
|
117
|
+
* @param projectPath - Path to project directory
|
|
118
|
+
* @returns Gate result
|
|
119
|
+
*/
|
|
120
|
+
runGate(gate: QualityGate, projectPath: string): Promise<GateResult>;
|
|
121
|
+
/**
|
|
122
|
+
* Run all gates according to configuration
|
|
123
|
+
*
|
|
124
|
+
* @param config - Gate configuration
|
|
125
|
+
* @param projectPath - Path to project directory
|
|
126
|
+
* @returns Complete run results
|
|
127
|
+
*/
|
|
128
|
+
runAllGates(config: GateConfig, projectPath: string): Promise<GateRunResults>;
|
|
129
|
+
/**
|
|
130
|
+
* Check if a gate should run based on branch patterns
|
|
131
|
+
*
|
|
132
|
+
* @param gate - Gate definition
|
|
133
|
+
* @param currentBranch - Current git branch name
|
|
134
|
+
* @returns Whether the gate should run
|
|
135
|
+
*/
|
|
136
|
+
shouldRunGate(gate: QualityGate, currentBranch: string): boolean;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Default timeout values (in milliseconds)
|
|
140
|
+
*/
|
|
141
|
+
export declare const GATE_TIMEOUTS: {
|
|
142
|
+
/** Typecheck timeout (1 minute) */
|
|
143
|
+
readonly TYPECHECK: 60000;
|
|
144
|
+
/** Test timeout (2 minutes) */
|
|
145
|
+
readonly TESTS: 120000;
|
|
146
|
+
/** Build timeout (3 minutes) */
|
|
147
|
+
readonly BUILD: 180000;
|
|
148
|
+
/** Lint timeout (30 seconds) */
|
|
149
|
+
readonly LINT: 30000;
|
|
150
|
+
/** Default gate timeout (1 minute) */
|
|
151
|
+
readonly DEFAULT: 60000;
|
|
152
|
+
/** Overall timeout for all gates (5 minutes) */
|
|
153
|
+
readonly TOTAL: 300000;
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* Standard gate names
|
|
157
|
+
*/
|
|
158
|
+
export declare const STANDARD_GATES: {
|
|
159
|
+
readonly TYPECHECK: "typecheck";
|
|
160
|
+
readonly TESTS: "tests";
|
|
161
|
+
readonly BUILD: "build";
|
|
162
|
+
readonly LINT: "lint";
|
|
163
|
+
readonly COVERAGE: "coverage";
|
|
164
|
+
readonly E2E: "e2e";
|
|
165
|
+
readonly SECURITY: "security";
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* Maximum output length to store (10KB)
|
|
169
|
+
*/
|
|
170
|
+
export declare const MAX_GATE_OUTPUT_LENGTH = 10000;
|
|
171
|
+
//# sourceMappingURL=quality-gate.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quality-gate.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/quality-gate.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quality Gate Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Types for configuring and running quality gates that validate
|
|
5
|
+
* code quality before task completion.
|
|
6
|
+
*
|
|
7
|
+
* @module types/quality-gate.types
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Default timeout values (in milliseconds)
|
|
11
|
+
*/
|
|
12
|
+
export const GATE_TIMEOUTS = {
|
|
13
|
+
/** Typecheck timeout (1 minute) */
|
|
14
|
+
TYPECHECK: 60000,
|
|
15
|
+
/** Test timeout (2 minutes) */
|
|
16
|
+
TESTS: 120000,
|
|
17
|
+
/** Build timeout (3 minutes) */
|
|
18
|
+
BUILD: 180000,
|
|
19
|
+
/** Lint timeout (30 seconds) */
|
|
20
|
+
LINT: 30000,
|
|
21
|
+
/** Default gate timeout (1 minute) */
|
|
22
|
+
DEFAULT: 60000,
|
|
23
|
+
/** Overall timeout for all gates (5 minutes) */
|
|
24
|
+
TOTAL: 300000,
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Standard gate names
|
|
28
|
+
*/
|
|
29
|
+
export const STANDARD_GATES = {
|
|
30
|
+
TYPECHECK: 'typecheck',
|
|
31
|
+
TESTS: 'tests',
|
|
32
|
+
BUILD: 'build',
|
|
33
|
+
LINT: 'lint',
|
|
34
|
+
COVERAGE: 'coverage',
|
|
35
|
+
E2E: 'e2e',
|
|
36
|
+
SECURITY: 'security',
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Maximum output length to store (10KB)
|
|
40
|
+
*/
|
|
41
|
+
export const MAX_GATE_OUTPUT_LENGTH = 10000;
|
|
42
|
+
//# sourceMappingURL=quality-gate.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quality-gate.types.js","sourceRoot":"","sources":["../../../../../backend/src/types/quality-gate.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4IH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,mCAAmC;IACnC,SAAS,EAAE,KAAK;IAChB,+BAA+B;IAC/B,KAAK,EAAE,MAAM;IACb,gCAAgC;IAChC,KAAK,EAAE,MAAM;IACb,gCAAgC;IAChC,IAAI,EAAE,KAAK;IACX,sCAAsC;IACtC,OAAO,EAAE,KAAK;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM;CACL,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Role Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Types for the Role system that powers agent personas with default prompts and assigned skills.
|
|
5
|
+
*
|
|
6
|
+
* @module types/role.types
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Role category for grouping and filtering roles
|
|
10
|
+
*/
|
|
11
|
+
export type RoleCategory = 'development' | 'management' | 'quality' | 'design' | 'sales' | 'support' | 'automation';
|
|
12
|
+
/**
|
|
13
|
+
* Array of all valid role categories
|
|
14
|
+
*/
|
|
15
|
+
export declare const ROLE_CATEGORIES: readonly RoleCategory[];
|
|
16
|
+
/**
|
|
17
|
+
* Role definition for AI agent personas
|
|
18
|
+
* Roles define the default behavior, prompts, and available skills for agents
|
|
19
|
+
*/
|
|
20
|
+
export interface Role {
|
|
21
|
+
/** Unique identifier for the role */
|
|
22
|
+
id: string;
|
|
23
|
+
/** Internal name used for file references (e.g., "developer", "product-manager") */
|
|
24
|
+
name: string;
|
|
25
|
+
/** Human-readable display name (e.g., "Developer", "Product Manager") */
|
|
26
|
+
displayName: string;
|
|
27
|
+
/** Description of the role's purpose and capabilities */
|
|
28
|
+
description: string;
|
|
29
|
+
/** Category for grouping similar roles */
|
|
30
|
+
category: RoleCategory;
|
|
31
|
+
/** Path to the .md file containing the system prompt */
|
|
32
|
+
systemPromptFile: string;
|
|
33
|
+
/** Array of Skill IDs that this role can use */
|
|
34
|
+
assignedSkills: string[];
|
|
35
|
+
/** Whether this is the default role for new agents */
|
|
36
|
+
isDefault: boolean;
|
|
37
|
+
/** Whether this role is hidden from the UI (e.g., orchestrator) */
|
|
38
|
+
isHidden: boolean;
|
|
39
|
+
/** Whether this role is built-in (system) or user-created */
|
|
40
|
+
isBuiltin: boolean;
|
|
41
|
+
/** Whether this builtin role has a user override in ~/.crewly/roles/ */
|
|
42
|
+
hasOverride?: boolean;
|
|
43
|
+
/** ISO timestamp of role creation */
|
|
44
|
+
createdAt: string;
|
|
45
|
+
/** ISO timestamp of last update */
|
|
46
|
+
updatedAt: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Input for creating a new role
|
|
50
|
+
*/
|
|
51
|
+
export interface CreateRoleInput {
|
|
52
|
+
/** Internal name used for file references */
|
|
53
|
+
name: string;
|
|
54
|
+
/** Human-readable display name */
|
|
55
|
+
displayName: string;
|
|
56
|
+
/** Description of the role's purpose */
|
|
57
|
+
description: string;
|
|
58
|
+
/** Category for grouping */
|
|
59
|
+
category: RoleCategory;
|
|
60
|
+
/** The actual prompt content (will be saved to file) */
|
|
61
|
+
systemPromptContent: string;
|
|
62
|
+
/** Array of Skill IDs to assign (optional) */
|
|
63
|
+
assignedSkills?: string[];
|
|
64
|
+
/** Whether this should be the default role (optional) */
|
|
65
|
+
isDefault?: boolean;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Input for updating an existing role
|
|
69
|
+
*/
|
|
70
|
+
export interface UpdateRoleInput {
|
|
71
|
+
/** Human-readable display name */
|
|
72
|
+
displayName?: string;
|
|
73
|
+
/** Description of the role's purpose */
|
|
74
|
+
description?: string;
|
|
75
|
+
/** Category for grouping */
|
|
76
|
+
category?: RoleCategory;
|
|
77
|
+
/** The actual prompt content (will be saved to file) */
|
|
78
|
+
systemPromptContent?: string;
|
|
79
|
+
/** Array of Skill IDs to assign */
|
|
80
|
+
assignedSkills?: string[];
|
|
81
|
+
/** Whether this should be the default role */
|
|
82
|
+
isDefault?: boolean;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Role with resolved prompt content (for API responses)
|
|
86
|
+
*/
|
|
87
|
+
export interface RoleWithPrompt extends Role {
|
|
88
|
+
/** The actual content of the system prompt file */
|
|
89
|
+
systemPromptContent: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Role summary for list views (without full prompt content)
|
|
93
|
+
*/
|
|
94
|
+
export interface RoleSummary {
|
|
95
|
+
/** Unique identifier */
|
|
96
|
+
id: string;
|
|
97
|
+
/** Internal name */
|
|
98
|
+
name: string;
|
|
99
|
+
/** Human-readable display name */
|
|
100
|
+
displayName: string;
|
|
101
|
+
/** Description of the role */
|
|
102
|
+
description: string;
|
|
103
|
+
/** Category for grouping */
|
|
104
|
+
category: RoleCategory;
|
|
105
|
+
/** Number of assigned skills */
|
|
106
|
+
skillCount: number;
|
|
107
|
+
/** Whether this is the default role */
|
|
108
|
+
isDefault: boolean;
|
|
109
|
+
/** Whether this role is hidden from UI */
|
|
110
|
+
isHidden: boolean;
|
|
111
|
+
/** Whether this builtin role has a user override */
|
|
112
|
+
hasOverride?: boolean;
|
|
113
|
+
/** Whether this is a built-in role */
|
|
114
|
+
isBuiltin: boolean;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Role filter options for querying roles
|
|
118
|
+
*/
|
|
119
|
+
export interface RoleFilter {
|
|
120
|
+
/** Filter by category */
|
|
121
|
+
category?: RoleCategory;
|
|
122
|
+
/** Filter by built-in status */
|
|
123
|
+
isBuiltin?: boolean;
|
|
124
|
+
/** Filter by having a specific skill */
|
|
125
|
+
hasSkill?: string;
|
|
126
|
+
/** Search term for name/displayName/description */
|
|
127
|
+
search?: string;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Role storage format (JSON file structure)
|
|
131
|
+
*/
|
|
132
|
+
export interface RoleStorageFormat {
|
|
133
|
+
/** Unique identifier */
|
|
134
|
+
id: string;
|
|
135
|
+
/** Internal name */
|
|
136
|
+
name: string;
|
|
137
|
+
/** Human-readable display name */
|
|
138
|
+
displayName: string;
|
|
139
|
+
/** Description of the role */
|
|
140
|
+
description: string;
|
|
141
|
+
/** Category for grouping */
|
|
142
|
+
category: RoleCategory;
|
|
143
|
+
/** Path to the prompt file */
|
|
144
|
+
systemPromptFile: string;
|
|
145
|
+
/** Array of assigned skill IDs */
|
|
146
|
+
assignedSkills: string[];
|
|
147
|
+
/** Whether this is the default role */
|
|
148
|
+
isDefault: boolean;
|
|
149
|
+
/** Whether this role is hidden from UI */
|
|
150
|
+
isHidden?: boolean;
|
|
151
|
+
/** ISO timestamp of creation */
|
|
152
|
+
createdAt: string;
|
|
153
|
+
/** ISO timestamp of last update */
|
|
154
|
+
updatedAt: string;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Type guard to check if a string is a valid RoleCategory
|
|
158
|
+
*
|
|
159
|
+
* @param value - The string to check
|
|
160
|
+
* @returns True if the value is a valid RoleCategory
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* if (isValidRoleCategory(input)) {
|
|
165
|
+
* // input is typed as RoleCategory
|
|
166
|
+
* }
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
export declare function isValidRoleCategory(value: string): value is RoleCategory;
|
|
170
|
+
/**
|
|
171
|
+
* Create a new Role with default values
|
|
172
|
+
*
|
|
173
|
+
* @param input - Required name and displayName, with optional overrides for other fields
|
|
174
|
+
* @returns A complete Role object with generated ID and timestamps
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* const role = createDefaultRole({
|
|
179
|
+
* name: 'my-role',
|
|
180
|
+
* displayName: 'My Role',
|
|
181
|
+
* category: 'development',
|
|
182
|
+
* });
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
export declare function createDefaultRole(input: Pick<Role, 'name' | 'displayName'> & Partial<Role>): Role;
|
|
186
|
+
/**
|
|
187
|
+
* Convert a Role to a RoleSummary (for list views)
|
|
188
|
+
*
|
|
189
|
+
* Strips out detailed information like timestamps and prompt file path,
|
|
190
|
+
* and replaces assignedSkills array with a count.
|
|
191
|
+
*
|
|
192
|
+
* @param role - The full Role object
|
|
193
|
+
* @returns A RoleSummary with essential fields only
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* ```typescript
|
|
197
|
+
* const roles = await roleService.getAll();
|
|
198
|
+
* const summaries = roles.map(roleToSummary);
|
|
199
|
+
* ```
|
|
200
|
+
*/
|
|
201
|
+
export declare function roleToSummary(role: Role): RoleSummary;
|
|
202
|
+
/**
|
|
203
|
+
* Validate CreateRoleInput and return an array of error messages
|
|
204
|
+
*
|
|
205
|
+
* @param input - The CreateRoleInput to validate
|
|
206
|
+
* @returns Array of error messages (empty if valid)
|
|
207
|
+
*
|
|
208
|
+
* @example
|
|
209
|
+
* ```typescript
|
|
210
|
+
* const errors = validateCreateRoleInput(input);
|
|
211
|
+
* if (errors.length > 0) {
|
|
212
|
+
* throw new ValidationError(errors.join(', '));
|
|
213
|
+
* }
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
export declare function validateCreateRoleInput(input: CreateRoleInput): string[];
|
|
217
|
+
/**
|
|
218
|
+
* Validate UpdateRoleInput and return an array of error messages
|
|
219
|
+
*
|
|
220
|
+
* @param input - The UpdateRoleInput to validate
|
|
221
|
+
* @returns Array of error messages (empty if valid)
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* ```typescript
|
|
225
|
+
* const errors = validateUpdateRoleInput(input);
|
|
226
|
+
* if (errors.length > 0) {
|
|
227
|
+
* throw new ValidationError(errors.join(', '));
|
|
228
|
+
* }
|
|
229
|
+
* ```
|
|
230
|
+
*/
|
|
231
|
+
export declare function validateUpdateRoleInput(input: UpdateRoleInput): string[];
|
|
232
|
+
/**
|
|
233
|
+
* Check if a Role matches the given filter criteria
|
|
234
|
+
*
|
|
235
|
+
* @param role - The role to check
|
|
236
|
+
* @param filter - The filter criteria
|
|
237
|
+
* @returns True if the role matches all filter criteria
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* ```typescript
|
|
241
|
+
* const filteredRoles = roles.filter(role => matchesRoleFilter(role, filter));
|
|
242
|
+
* ```
|
|
243
|
+
*/
|
|
244
|
+
export declare function matchesRoleFilter(role: Role, filter: RoleFilter): boolean;
|
|
245
|
+
/**
|
|
246
|
+
* Convert a Role to RoleStorageFormat for persistence
|
|
247
|
+
*
|
|
248
|
+
* @param role - The role to convert
|
|
249
|
+
* @returns A RoleStorageFormat object ready for JSON serialization
|
|
250
|
+
*/
|
|
251
|
+
export declare function roleToStorageFormat(role: Role): RoleStorageFormat;
|
|
252
|
+
/**
|
|
253
|
+
* Convert a RoleStorageFormat back to a Role
|
|
254
|
+
*
|
|
255
|
+
* @param stored - The stored role data
|
|
256
|
+
* @param isBuiltin - Whether this role is built-in
|
|
257
|
+
* @returns A complete Role object
|
|
258
|
+
*/
|
|
259
|
+
export declare function storageFormatToRole(stored: RoleStorageFormat, isBuiltin: boolean): Role;
|
|
260
|
+
//# sourceMappingURL=role.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/role.types.ts"],"names":[],"mappings":"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"}
|