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,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Output Validator Service
|
|
3
|
+
*
|
|
4
|
+
* Validates structured task output against JSON Schema definitions
|
|
5
|
+
* embedded in task markdown files. Uses ajv for schema validation.
|
|
6
|
+
*
|
|
7
|
+
* @module services/quality/task-output-validator.service
|
|
8
|
+
*/
|
|
9
|
+
import { type TaskOutputSchema, type TaskOutputValidationResult, type TaskOutputRetryInfo } from '../../types/task-output.types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Singleton service for validating task outputs against JSON Schema.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const validator = TaskOutputValidatorService.getInstance();
|
|
16
|
+
* const result = validator.validate({ summary: 'Done' }, schema);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare class TaskOutputValidatorService {
|
|
20
|
+
private static instance;
|
|
21
|
+
private ajv;
|
|
22
|
+
private logger;
|
|
23
|
+
private constructor();
|
|
24
|
+
/**
|
|
25
|
+
* Get the singleton instance of TaskOutputValidatorService
|
|
26
|
+
*
|
|
27
|
+
* @returns The singleton instance
|
|
28
|
+
*/
|
|
29
|
+
static getInstance(): TaskOutputValidatorService;
|
|
30
|
+
/**
|
|
31
|
+
* Clear the singleton instance (for testing)
|
|
32
|
+
*/
|
|
33
|
+
static clearInstance(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Validate output data against a JSON Schema
|
|
36
|
+
*
|
|
37
|
+
* @param output - The output object to validate
|
|
38
|
+
* @param schema - The JSON Schema to validate against
|
|
39
|
+
* @returns Validation result with errors if invalid
|
|
40
|
+
*/
|
|
41
|
+
validate(output: Record<string, unknown>, schema: TaskOutputSchema): TaskOutputValidationResult;
|
|
42
|
+
/**
|
|
43
|
+
* Extract a TaskOutputSchema from a task markdown file's content.
|
|
44
|
+
* Looks for a fenced JSON code block under the ## Output Schema header.
|
|
45
|
+
*
|
|
46
|
+
* @param content - The full markdown content of a task file
|
|
47
|
+
* @returns The parsed schema, or null if none found
|
|
48
|
+
*/
|
|
49
|
+
extractSchemaFromMarkdown(content: string): TaskOutputSchema | null;
|
|
50
|
+
/**
|
|
51
|
+
* Extract retry information from a task markdown file's content.
|
|
52
|
+
* Looks for structured data under the ## Output Validation Retry Info header.
|
|
53
|
+
*
|
|
54
|
+
* @param content - The full markdown content of a task file
|
|
55
|
+
* @returns The parsed retry info, or null if none found
|
|
56
|
+
*/
|
|
57
|
+
extractRetryInfoFromMarkdown(content: string): TaskOutputRetryInfo | null;
|
|
58
|
+
/**
|
|
59
|
+
* Generate a markdown section containing the output schema
|
|
60
|
+
*
|
|
61
|
+
* @param schema - The schema to embed
|
|
62
|
+
* @returns Markdown string with the schema in a fenced code block
|
|
63
|
+
*/
|
|
64
|
+
generateSchemaMarkdown(schema: TaskOutputSchema): string;
|
|
65
|
+
/**
|
|
66
|
+
* Generate a markdown section containing retry information
|
|
67
|
+
*
|
|
68
|
+
* @param retryInfo - The retry info to embed
|
|
69
|
+
* @returns Markdown string with the retry info in a fenced code block
|
|
70
|
+
*/
|
|
71
|
+
generateRetryMarkdown(retryInfo: TaskOutputRetryInfo): string;
|
|
72
|
+
/**
|
|
73
|
+
* Validate output size against the maximum allowed size
|
|
74
|
+
*
|
|
75
|
+
* @param output - The output object to check
|
|
76
|
+
* @returns Object with valid flag, size in bytes, and optional error
|
|
77
|
+
*/
|
|
78
|
+
validateOutputSize(output: Record<string, unknown>): {
|
|
79
|
+
valid: boolean;
|
|
80
|
+
sizeBytes: number;
|
|
81
|
+
error?: string;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=task-output-validator.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-output-validator.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/quality/task-output-validator.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EAEzB,MAAM,kCAAkC,CAAC;AAE1C;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2C;IAClE,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO;IAKP;;;;OAIG;WACW,WAAW,IAAI,0BAA0B;IAOvD;;OAEG;WACW,aAAa,IAAI,IAAI;IAInC;;;;;;OAMG;IACI,QAAQ,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,gBAAgB,GACvB,0BAA0B;IAsB7B;;;;;;OAMG;IACI,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAsB1E;;;;;;OAMG;IACI,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAqBhF;;;;;OAKG;IACI,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM;IAI/D;;;;;OAKG;IACI,qBAAqB,CAAC,SAAS,EAAE,mBAAmB,GAAG,MAAM;IAIpE;;;;;OAKG;IACI,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAC1D,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;CAeF"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Output Validator Service
|
|
3
|
+
*
|
|
4
|
+
* Validates structured task output against JSON Schema definitions
|
|
5
|
+
* embedded in task markdown files. Uses ajv for schema validation.
|
|
6
|
+
*
|
|
7
|
+
* @module services/quality/task-output-validator.service
|
|
8
|
+
*/
|
|
9
|
+
import Ajv from 'ajv';
|
|
10
|
+
import { LoggerService } from '../core/logger.service.js';
|
|
11
|
+
import { TASK_OUTPUT_CONSTANTS, } from '../../types/task-output.types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Singleton service for validating task outputs against JSON Schema.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const validator = TaskOutputValidatorService.getInstance();
|
|
18
|
+
* const result = validator.validate({ summary: 'Done' }, schema);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export class TaskOutputValidatorService {
|
|
22
|
+
static instance = null;
|
|
23
|
+
ajv;
|
|
24
|
+
logger;
|
|
25
|
+
constructor() {
|
|
26
|
+
this.ajv = new Ajv({ allErrors: true });
|
|
27
|
+
this.logger = LoggerService.getInstance().createComponentLogger('TaskOutputValidatorService');
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get the singleton instance of TaskOutputValidatorService
|
|
31
|
+
*
|
|
32
|
+
* @returns The singleton instance
|
|
33
|
+
*/
|
|
34
|
+
static getInstance() {
|
|
35
|
+
if (!TaskOutputValidatorService.instance) {
|
|
36
|
+
TaskOutputValidatorService.instance = new TaskOutputValidatorService();
|
|
37
|
+
}
|
|
38
|
+
return TaskOutputValidatorService.instance;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Clear the singleton instance (for testing)
|
|
42
|
+
*/
|
|
43
|
+
static clearInstance() {
|
|
44
|
+
TaskOutputValidatorService.instance = null;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Validate output data against a JSON Schema
|
|
48
|
+
*
|
|
49
|
+
* @param output - The output object to validate
|
|
50
|
+
* @param schema - The JSON Schema to validate against
|
|
51
|
+
* @returns Validation result with errors if invalid
|
|
52
|
+
*/
|
|
53
|
+
validate(output, schema) {
|
|
54
|
+
try {
|
|
55
|
+
const valid = this.ajv.validate(schema, output);
|
|
56
|
+
if (valid) {
|
|
57
|
+
return { valid: true, errors: [] };
|
|
58
|
+
}
|
|
59
|
+
const errors = (this.ajv.errors || []).map((err) => {
|
|
60
|
+
const path = err.instancePath || '/';
|
|
61
|
+
return `${path}: ${err.message || 'unknown error'}`;
|
|
62
|
+
});
|
|
63
|
+
this.logger.debug('Output validation failed', { errors });
|
|
64
|
+
return { valid: false, errors };
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
68
|
+
this.logger.error('Schema validation threw an error', { error: message });
|
|
69
|
+
return { valid: false, errors: [`Schema validation error: ${message}`] };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Extract a TaskOutputSchema from a task markdown file's content.
|
|
74
|
+
* Looks for a fenced JSON code block under the ## Output Schema header.
|
|
75
|
+
*
|
|
76
|
+
* @param content - The full markdown content of a task file
|
|
77
|
+
* @returns The parsed schema, or null if none found
|
|
78
|
+
*/
|
|
79
|
+
extractSchemaFromMarkdown(content) {
|
|
80
|
+
const header = TASK_OUTPUT_CONSTANTS.SECTION_HEADERS.OUTPUT_SCHEMA;
|
|
81
|
+
const headerIndex = content.indexOf(header);
|
|
82
|
+
if (headerIndex === -1) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
// Find the fenced code block after the header
|
|
86
|
+
const afterHeader = content.substring(headerIndex + header.length);
|
|
87
|
+
const codeBlockMatch = afterHeader.match(/```json\s*\n([\s\S]*?)```/);
|
|
88
|
+
if (!codeBlockMatch) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
return JSON.parse(codeBlockMatch[1].trim());
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
this.logger.warn('Failed to parse output schema from markdown');
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Extract retry information from a task markdown file's content.
|
|
101
|
+
* Looks for structured data under the ## Output Validation Retry Info header.
|
|
102
|
+
*
|
|
103
|
+
* @param content - The full markdown content of a task file
|
|
104
|
+
* @returns The parsed retry info, or null if none found
|
|
105
|
+
*/
|
|
106
|
+
extractRetryInfoFromMarkdown(content) {
|
|
107
|
+
const header = TASK_OUTPUT_CONSTANTS.SECTION_HEADERS.RETRY_INFO;
|
|
108
|
+
const headerIndex = content.indexOf(header);
|
|
109
|
+
if (headerIndex === -1) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const afterHeader = content.substring(headerIndex + header.length);
|
|
113
|
+
const codeBlockMatch = afterHeader.match(/```json\s*\n([\s\S]*?)```/);
|
|
114
|
+
if (!codeBlockMatch) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
return JSON.parse(codeBlockMatch[1].trim());
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
this.logger.warn('Failed to parse retry info from markdown');
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Generate a markdown section containing the output schema
|
|
127
|
+
*
|
|
128
|
+
* @param schema - The schema to embed
|
|
129
|
+
* @returns Markdown string with the schema in a fenced code block
|
|
130
|
+
*/
|
|
131
|
+
generateSchemaMarkdown(schema) {
|
|
132
|
+
return `\n\n${TASK_OUTPUT_CONSTANTS.SECTION_HEADERS.OUTPUT_SCHEMA}\n\n\`\`\`json\n${JSON.stringify(schema, null, 2)}\n\`\`\`\n`;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Generate a markdown section containing retry information
|
|
136
|
+
*
|
|
137
|
+
* @param retryInfo - The retry info to embed
|
|
138
|
+
* @returns Markdown string with the retry info in a fenced code block
|
|
139
|
+
*/
|
|
140
|
+
generateRetryMarkdown(retryInfo) {
|
|
141
|
+
return `\n\n${TASK_OUTPUT_CONSTANTS.SECTION_HEADERS.RETRY_INFO}\n\n\`\`\`json\n${JSON.stringify(retryInfo, null, 2)}\n\`\`\`\n`;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Validate output size against the maximum allowed size
|
|
145
|
+
*
|
|
146
|
+
* @param output - The output object to check
|
|
147
|
+
* @returns Object with valid flag, size in bytes, and optional error
|
|
148
|
+
*/
|
|
149
|
+
validateOutputSize(output) {
|
|
150
|
+
const serialized = JSON.stringify(output);
|
|
151
|
+
const sizeBytes = Buffer.byteLength(serialized, 'utf-8');
|
|
152
|
+
const maxSize = TASK_OUTPUT_CONSTANTS.MAX_OUTPUT_SIZE_BYTES;
|
|
153
|
+
if (sizeBytes > maxSize) {
|
|
154
|
+
return {
|
|
155
|
+
valid: false,
|
|
156
|
+
sizeBytes,
|
|
157
|
+
error: `Output size ${sizeBytes} bytes exceeds maximum ${maxSize} bytes`,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
return { valid: true, sizeBytes };
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=task-output-validator.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-output-validator.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/quality/task-output-validator.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime Adapter Layer
|
|
3
|
+
*
|
|
4
|
+
* Provides a unified, pluggable interface for managing AI runtime sessions.
|
|
5
|
+
* Each adapter encapsulates the full lifecycle of a specific runtime (Claude Code,
|
|
6
|
+
* Gemini CLI, Codex): starting a session, writing input, reading output, and stopping.
|
|
7
|
+
*
|
|
8
|
+
* This replaces the need to coordinate between ISessionBackend, SessionCommandHelper,
|
|
9
|
+
* and RuntimeAgentService manually — the adapter handles it all.
|
|
10
|
+
*
|
|
11
|
+
* @module services/runtime-adapter
|
|
12
|
+
*/
|
|
13
|
+
import { type RuntimeType } from '../constants.js';
|
|
14
|
+
import { RuntimeAgentService } from './agent/runtime-agent.service.abstract.js';
|
|
15
|
+
import { type ISessionBackend, type SessionCommandHelper } from './session/index.js';
|
|
16
|
+
/**
|
|
17
|
+
* Configuration for starting a new agent session via a runtime adapter.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const config: RuntimeAdapterConfig = {
|
|
22
|
+
* sessionName: 'dev-agent-1',
|
|
23
|
+
* projectPath: '/home/user/my-project',
|
|
24
|
+
* runtimeFlags: ['--chrome'],
|
|
25
|
+
* promptFilePath: '/tmp/prompt.md',
|
|
26
|
+
* };
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export interface RuntimeAdapterConfig {
|
|
30
|
+
/** Unique name for the PTY session */
|
|
31
|
+
sessionName: string;
|
|
32
|
+
/** Working directory for the agent */
|
|
33
|
+
projectPath: string;
|
|
34
|
+
/** Optional CLI flags injected before --dangerously-skip-permissions */
|
|
35
|
+
runtimeFlags?: string[];
|
|
36
|
+
/** Optional path to a system prompt file */
|
|
37
|
+
promptFilePath?: string;
|
|
38
|
+
/** Optional environment variables to set in the session shell */
|
|
39
|
+
env?: Record<string, string>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Unified interface for AI runtime adapters.
|
|
43
|
+
*
|
|
44
|
+
* Each implementation wraps a specific runtime CLI (Claude Code, Gemini CLI, Codex)
|
|
45
|
+
* and provides a consistent API for managing agent sessions. Adapters handle the
|
|
46
|
+
* full lifecycle: session creation, runtime initialization, I/O, and teardown.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const adapter = getRuntimeAdapter('claude-code');
|
|
51
|
+
*
|
|
52
|
+
* await adapter.start({ sessionName: 'agent-1', projectPath: '/project' });
|
|
53
|
+
* await adapter.write('agent-1', 'Hello, build a REST API');
|
|
54
|
+
* const output = await adapter.getOutput('agent-1');
|
|
55
|
+
* await adapter.stop('agent-1');
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export interface RuntimeAdapter {
|
|
59
|
+
/** The runtime type this adapter handles */
|
|
60
|
+
readonly runtimeType: RuntimeType;
|
|
61
|
+
/** Human-readable display name for this runtime */
|
|
62
|
+
readonly displayName: string;
|
|
63
|
+
/**
|
|
64
|
+
* Start a new agent session.
|
|
65
|
+
*
|
|
66
|
+
* Creates a PTY session, sets environment variables, and launches the
|
|
67
|
+
* runtime CLI with the specified configuration.
|
|
68
|
+
*
|
|
69
|
+
* @param config - Session configuration
|
|
70
|
+
* @throws Error if session creation or runtime initialization fails
|
|
71
|
+
*/
|
|
72
|
+
start(config: RuntimeAdapterConfig): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Stop an agent session and clean up resources.
|
|
75
|
+
*
|
|
76
|
+
* @param sessionName - Name of the session to stop
|
|
77
|
+
* @throws Error if session does not exist
|
|
78
|
+
*/
|
|
79
|
+
stop(sessionName: string): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Write data to an agent session's stdin.
|
|
82
|
+
*
|
|
83
|
+
* @param sessionName - Name of the target session
|
|
84
|
+
* @param data - Data to write (sent via the session's shell)
|
|
85
|
+
* @throws Error if session does not exist
|
|
86
|
+
*/
|
|
87
|
+
write(sessionName: string, data: string): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Get recent output from an agent session.
|
|
90
|
+
*
|
|
91
|
+
* @param sessionName - Name of the target session
|
|
92
|
+
* @param lines - Number of recent lines to capture (default: 50)
|
|
93
|
+
* @returns Captured terminal output as a string
|
|
94
|
+
* @throws Error if session does not exist
|
|
95
|
+
*/
|
|
96
|
+
getOutput(sessionName: string, lines?: number): Promise<string>;
|
|
97
|
+
/**
|
|
98
|
+
* Check if a session is currently running.
|
|
99
|
+
*
|
|
100
|
+
* @param sessionName - Name of the session to check
|
|
101
|
+
* @returns True if the session exists and is active
|
|
102
|
+
*/
|
|
103
|
+
isRunning(sessionName: string): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Wait for the runtime CLI to become ready after initialization.
|
|
106
|
+
*
|
|
107
|
+
* Polls the session output for runtime-specific ready patterns.
|
|
108
|
+
*
|
|
109
|
+
* @param sessionName - Name of the session to monitor
|
|
110
|
+
* @param timeout - Maximum wait time in milliseconds (default: 60000)
|
|
111
|
+
* @returns True if runtime became ready within timeout, false otherwise
|
|
112
|
+
*/
|
|
113
|
+
waitForReady(sessionName: string, timeout?: number): Promise<boolean>;
|
|
114
|
+
/**
|
|
115
|
+
* Detect if the runtime CLI is currently active in a session.
|
|
116
|
+
*
|
|
117
|
+
* Uses runtime-specific detection strategies (e.g., sending '/' to trigger
|
|
118
|
+
* a command palette and checking for output changes).
|
|
119
|
+
*
|
|
120
|
+
* @param sessionName - Name of the session to check
|
|
121
|
+
* @returns True if the runtime is detected as running
|
|
122
|
+
*/
|
|
123
|
+
detectRuntime(sessionName: string): Promise<boolean>;
|
|
124
|
+
/**
|
|
125
|
+
* Trigger context window compaction for a session.
|
|
126
|
+
*
|
|
127
|
+
* Sends the runtime-specific compact/compress command to reduce context usage.
|
|
128
|
+
* Each runtime handles this differently:
|
|
129
|
+
* - Claude Code: `/compact` — LLM-based summarization
|
|
130
|
+
* - Gemini CLI: `/compress` — summarizer persona with context snapshots
|
|
131
|
+
* - Codex CLI: `/compact` — server-side opaque compaction
|
|
132
|
+
*
|
|
133
|
+
* @param sessionName - Name of the session to compact
|
|
134
|
+
* @returns True if the compact command was sent successfully
|
|
135
|
+
*/
|
|
136
|
+
compact(sessionName: string): Promise<boolean>;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Base adapter that delegates to the existing RuntimeAgentService and ISessionBackend.
|
|
140
|
+
*
|
|
141
|
+
* Concrete adapters extend this class and provide their runtime type.
|
|
142
|
+
* The base handles all common operations — subclasses only need to override
|
|
143
|
+
* behavior that differs from the default.
|
|
144
|
+
*/
|
|
145
|
+
declare abstract class BaseRuntimeAdapter implements RuntimeAdapter {
|
|
146
|
+
abstract readonly runtimeType: RuntimeType;
|
|
147
|
+
abstract readonly displayName: string;
|
|
148
|
+
protected sessionBackend: ISessionBackend;
|
|
149
|
+
protected sessionHelper: SessionCommandHelper;
|
|
150
|
+
protected runtimeService: RuntimeAgentService;
|
|
151
|
+
constructor(sessionBackend: ISessionBackend, sessionHelper: SessionCommandHelper, runtimeService: RuntimeAgentService);
|
|
152
|
+
/**
|
|
153
|
+
* Start a new agent session with the runtime CLI.
|
|
154
|
+
*
|
|
155
|
+
* Creates a PTY shell, sets environment variables, and executes the
|
|
156
|
+
* runtime initialization script.
|
|
157
|
+
*
|
|
158
|
+
* @param config - Session start configuration
|
|
159
|
+
*/
|
|
160
|
+
start(config: RuntimeAdapterConfig): Promise<void>;
|
|
161
|
+
/** @inheritdoc */
|
|
162
|
+
stop(sessionName: string): Promise<void>;
|
|
163
|
+
/** @inheritdoc */
|
|
164
|
+
write(sessionName: string, data: string): Promise<void>;
|
|
165
|
+
/** @inheritdoc */
|
|
166
|
+
getOutput(sessionName: string, lines?: number): Promise<string>;
|
|
167
|
+
/** @inheritdoc */
|
|
168
|
+
isRunning(sessionName: string): boolean;
|
|
169
|
+
/** @inheritdoc */
|
|
170
|
+
waitForReady(sessionName: string, timeout?: number): Promise<boolean>;
|
|
171
|
+
/** @inheritdoc */
|
|
172
|
+
detectRuntime(sessionName: string): Promise<boolean>;
|
|
173
|
+
/**
|
|
174
|
+
* Send the runtime-specific compact command to the session.
|
|
175
|
+
*
|
|
176
|
+
* @param sessionName - Name of the session to compact
|
|
177
|
+
* @returns True if the compact command was sent successfully
|
|
178
|
+
*/
|
|
179
|
+
compact(sessionName: string): Promise<boolean>;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Adapter for Anthropic's Claude Code CLI.
|
|
183
|
+
*
|
|
184
|
+
* Full implementation — Claude Code is the default runtime.
|
|
185
|
+
* Handles Claude-specific initialization, detection (slash command palette),
|
|
186
|
+
* and MCP configuration.
|
|
187
|
+
*/
|
|
188
|
+
export declare class ClaudeCodeAdapter extends BaseRuntimeAdapter {
|
|
189
|
+
readonly runtimeType: "claude-code";
|
|
190
|
+
readonly displayName = "Claude Code";
|
|
191
|
+
/**
|
|
192
|
+
* Start a Claude Code session.
|
|
193
|
+
*
|
|
194
|
+
* Extends the base start with Claude-specific post-initialization
|
|
195
|
+
* (MCP server configuration).
|
|
196
|
+
*
|
|
197
|
+
* @param config - Session start configuration
|
|
198
|
+
*/
|
|
199
|
+
start(config: RuntimeAdapterConfig): Promise<void>;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Adapter for Google's Gemini CLI.
|
|
203
|
+
*
|
|
204
|
+
* Stub implementation — basic structure in place for future development.
|
|
205
|
+
* Uses the base adapter behavior which delegates to GeminiRuntimeService.
|
|
206
|
+
*/
|
|
207
|
+
export declare class GeminiCliAdapter extends BaseRuntimeAdapter {
|
|
208
|
+
readonly runtimeType: "gemini-cli";
|
|
209
|
+
readonly displayName = "Gemini CLI";
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Adapter for OpenAI's Codex CLI.
|
|
213
|
+
*
|
|
214
|
+
* Stub implementation — basic structure in place for future development.
|
|
215
|
+
* Uses the base adapter behavior which delegates to CodexRuntimeService.
|
|
216
|
+
*/
|
|
217
|
+
export declare class CodexAdapter extends BaseRuntimeAdapter {
|
|
218
|
+
readonly runtimeType: "codex-cli";
|
|
219
|
+
readonly displayName = "OpenAI Codex";
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Creates a RuntimeAdapter for the specified runtime type.
|
|
223
|
+
*
|
|
224
|
+
* Uses the existing RuntimeServiceFactory and session backend to construct
|
|
225
|
+
* the appropriate adapter. Requires the session backend to be initialized
|
|
226
|
+
* first (via createSessionBackend()).
|
|
227
|
+
*
|
|
228
|
+
* @param runtimeType - The runtime type ('claude-code', 'gemini-cli', 'codex-cli')
|
|
229
|
+
* @param projectRoot - The project root directory (for runtime config resolution)
|
|
230
|
+
* @returns A RuntimeAdapter instance for the specified runtime
|
|
231
|
+
* @throws Error if session backend is not initialized or runtime type is unknown
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* ```typescript
|
|
235
|
+
* const adapter = getRuntimeAdapter('claude-code', '/home/user/project');
|
|
236
|
+
* await adapter.start({ sessionName: 'agent-1', projectPath: '/project' });
|
|
237
|
+
* ```
|
|
238
|
+
*/
|
|
239
|
+
export declare function getRuntimeAdapter(runtimeType: RuntimeType, projectRoot: string): RuntimeAdapter;
|
|
240
|
+
/**
|
|
241
|
+
* Returns the list of all supported runtime types.
|
|
242
|
+
*
|
|
243
|
+
* @returns Array of RuntimeType values
|
|
244
|
+
*/
|
|
245
|
+
export declare function getSupportedRuntimeTypes(): RuntimeType[];
|
|
246
|
+
/**
|
|
247
|
+
* Checks whether a given string is a supported runtime type.
|
|
248
|
+
*
|
|
249
|
+
* @param value - The string to check
|
|
250
|
+
* @returns True if the value is a valid RuntimeType
|
|
251
|
+
*/
|
|
252
|
+
export declare function isSupportedRuntime(value: string): value is RuntimeType;
|
|
253
|
+
export {};
|
|
254
|
+
//# sourceMappingURL=runtime-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-adapter.d.ts","sourceRoot":"","sources":["../../../../../backend/src/services/runtime-adapter.ts"],"names":[],"mappings":"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"}
|