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
|
@@ -25,7 +25,7 @@ import type { Request, Response } from 'express';
|
|
|
25
25
|
* GET /api/marketplace?type=skill&search=deploy&sort=popular
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
|
-
export declare
|
|
28
|
+
export declare const handleListItems: (req: Request, res: Response) => Promise<void>;
|
|
29
29
|
/**
|
|
30
30
|
* GET /api/marketplace/installed - List locally installed marketplace items.
|
|
31
31
|
*
|
|
@@ -40,7 +40,7 @@ export declare function handleListItems(req: Request, res: Response): Promise<vo
|
|
|
40
40
|
* GET /api/marketplace/installed
|
|
41
41
|
* ```
|
|
42
42
|
*/
|
|
43
|
-
export declare
|
|
43
|
+
export declare const handleListInstalled: (req: Request, res: Response) => Promise<void>;
|
|
44
44
|
/**
|
|
45
45
|
* GET /api/marketplace/updates - List items with available updates.
|
|
46
46
|
*
|
|
@@ -55,7 +55,7 @@ export declare function handleListInstalled(_req: Request, res: Response): Promi
|
|
|
55
55
|
* GET /api/marketplace/updates
|
|
56
56
|
* ```
|
|
57
57
|
*/
|
|
58
|
-
export declare
|
|
58
|
+
export declare const handleListUpdates: (req: Request, res: Response) => Promise<void>;
|
|
59
59
|
/**
|
|
60
60
|
* GET /api/marketplace/:id - Get a single marketplace item by ID.
|
|
61
61
|
*
|
|
@@ -70,7 +70,7 @@ export declare function handleListUpdates(_req: Request, res: Response): Promise
|
|
|
70
70
|
* GET /api/marketplace/skill-deploy-aws
|
|
71
71
|
* ```
|
|
72
72
|
*/
|
|
73
|
-
export declare
|
|
73
|
+
export declare const handleGetItem: (req: Request, res: Response) => Promise<void>;
|
|
74
74
|
/**
|
|
75
75
|
* POST /api/marketplace/refresh - Force refresh the registry cache.
|
|
76
76
|
*
|
|
@@ -85,7 +85,7 @@ export declare function handleGetItem(req: Request, res: Response): Promise<void
|
|
|
85
85
|
* POST /api/marketplace/refresh
|
|
86
86
|
* ```
|
|
87
87
|
*/
|
|
88
|
-
export declare
|
|
88
|
+
export declare const handleRefresh: (req: Request, res: Response) => Promise<void>;
|
|
89
89
|
/**
|
|
90
90
|
* POST /api/marketplace/:id/install - Install a marketplace item.
|
|
91
91
|
*
|
|
@@ -101,7 +101,7 @@ export declare function handleRefresh(_req: Request, res: Response): Promise<voi
|
|
|
101
101
|
* POST /api/marketplace/skill-deploy-aws/install
|
|
102
102
|
* ```
|
|
103
103
|
*/
|
|
104
|
-
export declare
|
|
104
|
+
export declare const handleInstall: (req: Request, res: Response) => Promise<void>;
|
|
105
105
|
/**
|
|
106
106
|
* POST /api/marketplace/:id/uninstall - Uninstall a marketplace item.
|
|
107
107
|
*
|
|
@@ -116,7 +116,7 @@ export declare function handleInstall(req: Request, res: Response): Promise<void
|
|
|
116
116
|
* POST /api/marketplace/skill-deploy-aws/uninstall
|
|
117
117
|
* ```
|
|
118
118
|
*/
|
|
119
|
-
export declare
|
|
119
|
+
export declare const handleUninstall: (req: Request, res: Response) => Promise<void>;
|
|
120
120
|
/**
|
|
121
121
|
* POST /api/marketplace/:id/update - Update a marketplace item.
|
|
122
122
|
*
|
|
@@ -131,5 +131,61 @@ export declare function handleUninstall(req: Request, res: Response): Promise<vo
|
|
|
131
131
|
* POST /api/marketplace/skill-deploy-aws/update
|
|
132
132
|
* ```
|
|
133
133
|
*/
|
|
134
|
-
export declare
|
|
134
|
+
export declare const handleUpdate: (req: Request, res: Response) => Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* POST /api/marketplace/submit - Submit a skill for marketplace review.
|
|
137
|
+
*
|
|
138
|
+
* Accepts a JSON body with `archivePath` pointing to a local tar.gz archive.
|
|
139
|
+
* Validates the archive contents, stores a copy, and creates a pending
|
|
140
|
+
* submission record.
|
|
141
|
+
*
|
|
142
|
+
* @param req - Express request with body: { archivePath: string }
|
|
143
|
+
* @param res - Express response returning submission result
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```
|
|
147
|
+
* POST /api/marketplace/submit
|
|
148
|
+
* { "archivePath": "/path/to/my-skill-1.0.0.tar.gz" }
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
export declare const handleSubmit: (req: Request, res: Response) => Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* GET /api/marketplace/submissions - List all submissions.
|
|
154
|
+
*
|
|
155
|
+
* Accepts an optional `status` query parameter to filter by submission status.
|
|
156
|
+
*
|
|
157
|
+
* @param req - Express request with optional query: status (pending|approved|rejected)
|
|
158
|
+
* @param res - Express response returning { success, data: MarketplaceSubmission[] }
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```
|
|
162
|
+
* GET /api/marketplace/submissions?status=pending
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
export declare const handleListSubmissions: (req: Request, res: Response) => Promise<void>;
|
|
166
|
+
/**
|
|
167
|
+
* GET /api/marketplace/submissions/:id - Get a single submission.
|
|
168
|
+
*
|
|
169
|
+
* @param req - Express request with params.id
|
|
170
|
+
* @param res - Express response returning { success, data: MarketplaceSubmission } or 404
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```
|
|
174
|
+
* GET /api/marketplace/submissions/abc-123
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
export declare const handleGetSubmission: (req: Request, res: Response) => Promise<void>;
|
|
178
|
+
/**
|
|
179
|
+
* POST /api/marketplace/submissions/:id/review - Approve or reject a submission.
|
|
180
|
+
*
|
|
181
|
+
* @param req - Express request with params.id and body: { action: 'approve'|'reject', notes?: string }
|
|
182
|
+
* @param res - Express response returning operation result
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```
|
|
186
|
+
* POST /api/marketplace/submissions/abc-123/review
|
|
187
|
+
* { "action": "approve" }
|
|
188
|
+
* ```
|
|
189
|
+
*/
|
|
190
|
+
export declare const handleReviewSubmission: (req: Request, res: Response) => Promise<void>;
|
|
135
191
|
//# sourceMappingURL=marketplace.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/marketplace/marketplace.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"marketplace.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/marketplace/marketplace.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAyCjD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,QA1BP,OAAO,OAAO,QAAQ,KAAG,OAAO,CAAC,IAAI,CA8CxD,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,QA9DX,OAAO,OAAO,QAAQ,KAAG,OAAO,CAAC,IAAI,CAiExD,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,QAjFT,OAAO,OAAO,QAAQ,KAAG,OAAO,CAAC,IAAI,CAoFxD,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,QApGL,OAAO,OAAO,QAAQ,KAAG,OAAO,CAAC,IAAI,CA2GxD,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,QA3HL,OAAO,OAAO,QAAQ,KAAG,OAAO,CAAC,IAAI,CAiIxD,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,QAlJL,OAAO,OAAO,QAAQ,KAAG,OAAO,CAAC,IAAI,CA0JxD,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,QA1KP,OAAO,OAAO,QAAQ,KAAG,OAAO,CAAC,IAAI,CA6KxD,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,QA7LJ,OAAO,OAAO,QAAQ,KAAG,OAAO,CAAC,IAAI,CAqMxD,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,QAvNJ,OAAO,OAAO,QAAQ,KAAG,OAAO,CAAC,IAAI,CAmPxD,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,QAlQb,OAAO,OAAO,QAAQ,KAAG,OAAO,CAAC,IAAI,CA6QxD,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,QA1RX,OAAO,OAAO,QAAQ,KAAG,OAAO,CAAC,IAAI,CAiSxD,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,QA/Sd,OAAO,OAAO,QAAQ,KAAG,OAAO,CAAC,IAAI,CA2TxD,CAAC"}
|
|
@@ -8,7 +8,30 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @module controllers/marketplace/marketplace.controller
|
|
10
10
|
*/
|
|
11
|
-
import
|
|
11
|
+
import path from 'path';
|
|
12
|
+
import { homedir } from 'os';
|
|
13
|
+
import { listItems, getItem, getInstalledItems, getUpdatableItems, fetchRegistry, installItem, uninstallItem, updateItem, submitSkill, listSubmissions, getSubmission, reviewSubmission, } from '../../services/marketplace/index.js';
|
|
14
|
+
const VALID_TYPES = ['skill', 'model', 'role'];
|
|
15
|
+
const VALID_SORTS = ['popular', 'rating', 'newest'];
|
|
16
|
+
const VALID_SUBMISSION_STATUSES = ['pending', 'approved', 'rejected'];
|
|
17
|
+
/**
|
|
18
|
+
* Wraps an async route handler with a standard try/catch that returns
|
|
19
|
+
* a consistent JSON error response on unhandled exceptions.
|
|
20
|
+
*
|
|
21
|
+
* @param fn - The async handler function to wrap
|
|
22
|
+
* @returns A wrapped handler that catches errors and responds with 500
|
|
23
|
+
*/
|
|
24
|
+
function asyncHandler(fn) {
|
|
25
|
+
return async (req, res) => {
|
|
26
|
+
try {
|
|
27
|
+
await fn(req, res);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
31
|
+
res.status(500).json({ success: false, error: msg });
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
12
35
|
/**
|
|
13
36
|
* GET /api/marketplace - List marketplace items with optional filters.
|
|
14
37
|
*
|
|
@@ -25,20 +48,25 @@ import { listItems, getItem, getInstalledItems, getUpdatableItems, fetchRegistry
|
|
|
25
48
|
* GET /api/marketplace?type=skill&search=deploy&sort=popular
|
|
26
49
|
* ```
|
|
27
50
|
*/
|
|
28
|
-
export
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
sortBy: req.query.sort || undefined,
|
|
34
|
-
});
|
|
35
|
-
res.json({ success: true, data: items });
|
|
51
|
+
export const handleListItems = asyncHandler(async (req, res) => {
|
|
52
|
+
const typeParam = req.query.type;
|
|
53
|
+
if (typeParam && !VALID_TYPES.includes(typeParam)) {
|
|
54
|
+
res.status(400).json({ success: false, error: `Invalid type "${typeParam}". Must be one of: ${VALID_TYPES.join(', ')}` });
|
|
55
|
+
return;
|
|
36
56
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
res.status(
|
|
57
|
+
const sortParam = req.query.sort;
|
|
58
|
+
if (sortParam && !VALID_SORTS.includes(sortParam)) {
|
|
59
|
+
res.status(400).json({ success: false, error: `Invalid sort "${sortParam}". Must be one of: ${VALID_SORTS.join(', ')}` });
|
|
60
|
+
return;
|
|
40
61
|
}
|
|
41
|
-
|
|
62
|
+
const items = await listItems({
|
|
63
|
+
type: typeParam,
|
|
64
|
+
category: req.query.category,
|
|
65
|
+
search: req.query.search,
|
|
66
|
+
sortBy: sortParam,
|
|
67
|
+
});
|
|
68
|
+
res.json({ success: true, data: items });
|
|
69
|
+
});
|
|
42
70
|
/**
|
|
43
71
|
* GET /api/marketplace/installed - List locally installed marketplace items.
|
|
44
72
|
*
|
|
@@ -53,16 +81,10 @@ export async function handleListItems(req, res) {
|
|
|
53
81
|
* GET /api/marketplace/installed
|
|
54
82
|
* ```
|
|
55
83
|
*/
|
|
56
|
-
export
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
63
|
-
res.status(500).json({ success: false, error: msg });
|
|
64
|
-
}
|
|
65
|
-
}
|
|
84
|
+
export const handleListInstalled = asyncHandler(async (_req, res) => {
|
|
85
|
+
const items = await getInstalledItems();
|
|
86
|
+
res.json({ success: true, data: items });
|
|
87
|
+
});
|
|
66
88
|
/**
|
|
67
89
|
* GET /api/marketplace/updates - List items with available updates.
|
|
68
90
|
*
|
|
@@ -77,16 +99,10 @@ export async function handleListInstalled(_req, res) {
|
|
|
77
99
|
* GET /api/marketplace/updates
|
|
78
100
|
* ```
|
|
79
101
|
*/
|
|
80
|
-
export
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
87
|
-
res.status(500).json({ success: false, error: msg });
|
|
88
|
-
}
|
|
89
|
-
}
|
|
102
|
+
export const handleListUpdates = asyncHandler(async (_req, res) => {
|
|
103
|
+
const items = await getUpdatableItems();
|
|
104
|
+
res.json({ success: true, data: items });
|
|
105
|
+
});
|
|
90
106
|
/**
|
|
91
107
|
* GET /api/marketplace/:id - Get a single marketplace item by ID.
|
|
92
108
|
*
|
|
@@ -101,20 +117,14 @@ export async function handleListUpdates(_req, res) {
|
|
|
101
117
|
* GET /api/marketplace/skill-deploy-aws
|
|
102
118
|
* ```
|
|
103
119
|
*/
|
|
104
|
-
export
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
res.json({ success: true, data: item });
|
|
120
|
+
export const handleGetItem = asyncHandler(async (req, res) => {
|
|
121
|
+
const item = await getItem(req.params.id);
|
|
122
|
+
if (!item) {
|
|
123
|
+
res.status(404).json({ success: false, error: 'Item not found' });
|
|
124
|
+
return;
|
|
112
125
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
res.status(500).json({ success: false, error: msg });
|
|
116
|
-
}
|
|
117
|
-
}
|
|
126
|
+
res.json({ success: true, data: item });
|
|
127
|
+
});
|
|
118
128
|
/**
|
|
119
129
|
* POST /api/marketplace/refresh - Force refresh the registry cache.
|
|
120
130
|
*
|
|
@@ -129,19 +139,13 @@ export async function handleGetItem(req, res) {
|
|
|
129
139
|
* POST /api/marketplace/refresh
|
|
130
140
|
* ```
|
|
131
141
|
*/
|
|
132
|
-
export
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
catch (error) {
|
|
141
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
142
|
-
res.status(500).json({ success: false, error: msg });
|
|
143
|
-
}
|
|
144
|
-
}
|
|
142
|
+
export const handleRefresh = asyncHandler(async (_req, res) => {
|
|
143
|
+
const registry = await fetchRegistry(true);
|
|
144
|
+
res.json({
|
|
145
|
+
success: true,
|
|
146
|
+
data: { itemCount: registry.items.length, lastUpdated: registry.lastUpdated },
|
|
147
|
+
});
|
|
148
|
+
});
|
|
145
149
|
/**
|
|
146
150
|
* POST /api/marketplace/:id/install - Install a marketplace item.
|
|
147
151
|
*
|
|
@@ -157,21 +161,15 @@ export async function handleRefresh(_req, res) {
|
|
|
157
161
|
* POST /api/marketplace/skill-deploy-aws/install
|
|
158
162
|
* ```
|
|
159
163
|
*/
|
|
160
|
-
export
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
const result = await installItem(item);
|
|
168
|
-
res.json(result);
|
|
164
|
+
export const handleInstall = asyncHandler(async (req, res) => {
|
|
165
|
+
const item = await getItem(req.params.id);
|
|
166
|
+
if (!item) {
|
|
167
|
+
res.status(404).json({ success: false, error: 'Item not found' });
|
|
168
|
+
return;
|
|
169
169
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
}
|
|
174
|
-
}
|
|
170
|
+
const result = await installItem(item);
|
|
171
|
+
res.json(result);
|
|
172
|
+
});
|
|
175
173
|
/**
|
|
176
174
|
* POST /api/marketplace/:id/uninstall - Uninstall a marketplace item.
|
|
177
175
|
*
|
|
@@ -186,16 +184,10 @@ export async function handleInstall(req, res) {
|
|
|
186
184
|
* POST /api/marketplace/skill-deploy-aws/uninstall
|
|
187
185
|
* ```
|
|
188
186
|
*/
|
|
189
|
-
export
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
}
|
|
194
|
-
catch (error) {
|
|
195
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
196
|
-
res.status(500).json({ success: false, error: msg });
|
|
197
|
-
}
|
|
198
|
-
}
|
|
187
|
+
export const handleUninstall = asyncHandler(async (req, res) => {
|
|
188
|
+
const result = await uninstallItem(req.params.id);
|
|
189
|
+
res.json(result);
|
|
190
|
+
});
|
|
199
191
|
/**
|
|
200
192
|
* POST /api/marketplace/:id/update - Update a marketplace item.
|
|
201
193
|
*
|
|
@@ -210,19 +202,125 @@ export async function handleUninstall(req, res) {
|
|
|
210
202
|
* POST /api/marketplace/skill-deploy-aws/update
|
|
211
203
|
* ```
|
|
212
204
|
*/
|
|
213
|
-
export
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
const result = await updateItem(item);
|
|
221
|
-
res.json(result);
|
|
205
|
+
export const handleUpdate = asyncHandler(async (req, res) => {
|
|
206
|
+
const item = await getItem(req.params.id);
|
|
207
|
+
if (!item) {
|
|
208
|
+
res.status(404).json({ success: false, error: 'Item not found' });
|
|
209
|
+
return;
|
|
222
210
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
211
|
+
const result = await updateItem(item);
|
|
212
|
+
res.json(result);
|
|
213
|
+
});
|
|
214
|
+
/**
|
|
215
|
+
* POST /api/marketplace/submit - Submit a skill for marketplace review.
|
|
216
|
+
*
|
|
217
|
+
* Accepts a JSON body with `archivePath` pointing to a local tar.gz archive.
|
|
218
|
+
* Validates the archive contents, stores a copy, and creates a pending
|
|
219
|
+
* submission record.
|
|
220
|
+
*
|
|
221
|
+
* @param req - Express request with body: { archivePath: string }
|
|
222
|
+
* @param res - Express response returning submission result
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```
|
|
226
|
+
* POST /api/marketplace/submit
|
|
227
|
+
* { "archivePath": "/path/to/my-skill-1.0.0.tar.gz" }
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
export const handleSubmit = asyncHandler(async (req, res) => {
|
|
231
|
+
const { archivePath } = req.body;
|
|
232
|
+
if (!archivePath) {
|
|
233
|
+
res.status(400).json({ success: false, error: 'archivePath is required' });
|
|
234
|
+
return;
|
|
226
235
|
}
|
|
227
|
-
|
|
236
|
+
// Validate archivePath is within allowed directories to prevent path traversal
|
|
237
|
+
const resolvedPath = path.resolve(archivePath);
|
|
238
|
+
const allowedDirs = [
|
|
239
|
+
path.resolve(homedir(), '.crewly'),
|
|
240
|
+
path.resolve(process.cwd()),
|
|
241
|
+
path.resolve('/tmp'),
|
|
242
|
+
];
|
|
243
|
+
const isAllowed = allowedDirs.some((dir) => {
|
|
244
|
+
const normalizedDir = dir.endsWith(path.sep) ? dir : dir + path.sep;
|
|
245
|
+
return resolvedPath === dir || resolvedPath.startsWith(normalizedDir);
|
|
246
|
+
});
|
|
247
|
+
if (!isAllowed) {
|
|
248
|
+
res.status(400).json({
|
|
249
|
+
success: false,
|
|
250
|
+
error: 'archivePath must be within the project directory, ~/.crewly, or /tmp',
|
|
251
|
+
});
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
const result = await submitSkill(archivePath);
|
|
255
|
+
res.json(result);
|
|
256
|
+
});
|
|
257
|
+
/**
|
|
258
|
+
* GET /api/marketplace/submissions - List all submissions.
|
|
259
|
+
*
|
|
260
|
+
* Accepts an optional `status` query parameter to filter by submission status.
|
|
261
|
+
*
|
|
262
|
+
* @param req - Express request with optional query: status (pending|approved|rejected)
|
|
263
|
+
* @param res - Express response returning { success, data: MarketplaceSubmission[] }
|
|
264
|
+
*
|
|
265
|
+
* @example
|
|
266
|
+
* ```
|
|
267
|
+
* GET /api/marketplace/submissions?status=pending
|
|
268
|
+
* ```
|
|
269
|
+
*/
|
|
270
|
+
export const handleListSubmissions = asyncHandler(async (req, res) => {
|
|
271
|
+
const statusParam = req.query.status;
|
|
272
|
+
if (statusParam && !VALID_SUBMISSION_STATUSES.includes(statusParam)) {
|
|
273
|
+
res.status(400).json({
|
|
274
|
+
success: false,
|
|
275
|
+
error: `Invalid status "${statusParam}". Must be one of: ${VALID_SUBMISSION_STATUSES.join(', ')}`,
|
|
276
|
+
});
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
const submissions = await listSubmissions(statusParam);
|
|
280
|
+
res.json({ success: true, data: submissions });
|
|
281
|
+
});
|
|
282
|
+
/**
|
|
283
|
+
* GET /api/marketplace/submissions/:id - Get a single submission.
|
|
284
|
+
*
|
|
285
|
+
* @param req - Express request with params.id
|
|
286
|
+
* @param res - Express response returning { success, data: MarketplaceSubmission } or 404
|
|
287
|
+
*
|
|
288
|
+
* @example
|
|
289
|
+
* ```
|
|
290
|
+
* GET /api/marketplace/submissions/abc-123
|
|
291
|
+
* ```
|
|
292
|
+
*/
|
|
293
|
+
export const handleGetSubmission = asyncHandler(async (req, res) => {
|
|
294
|
+
const submission = await getSubmission(req.params.id);
|
|
295
|
+
if (!submission) {
|
|
296
|
+
res.status(404).json({ success: false, error: 'Submission not found' });
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
res.json({ success: true, data: submission });
|
|
300
|
+
});
|
|
301
|
+
/**
|
|
302
|
+
* POST /api/marketplace/submissions/:id/review - Approve or reject a submission.
|
|
303
|
+
*
|
|
304
|
+
* @param req - Express request with params.id and body: { action: 'approve'|'reject', notes?: string }
|
|
305
|
+
* @param res - Express response returning operation result
|
|
306
|
+
*
|
|
307
|
+
* @example
|
|
308
|
+
* ```
|
|
309
|
+
* POST /api/marketplace/submissions/abc-123/review
|
|
310
|
+
* { "action": "approve" }
|
|
311
|
+
* ```
|
|
312
|
+
*/
|
|
313
|
+
export const handleReviewSubmission = asyncHandler(async (req, res) => {
|
|
314
|
+
const { action, notes } = req.body;
|
|
315
|
+
if (action !== 'approve' && action !== 'reject') {
|
|
316
|
+
res.status(400).json({ success: false, error: 'action must be "approve" or "reject"' });
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
const result = await reviewSubmission(req.params.id, action, notes);
|
|
320
|
+
if (!result.success && result.message.startsWith('Submission not found')) {
|
|
321
|
+
res.status(404).json(result);
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
res.json(result);
|
|
325
|
+
});
|
|
228
326
|
//# sourceMappingURL=marketplace.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/marketplace/marketplace.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,
|
|
1
|
+
{"version":3,"file":"marketplace.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/marketplace/marketplace.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/marketplace/marketplace.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"marketplace.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/marketplace/marketplace.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAgBjC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAsBhD"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @module controllers/marketplace/marketplace.routes
|
|
9
9
|
*/
|
|
10
10
|
import { Router } from 'express';
|
|
11
|
-
import { handleListItems, handleListInstalled, handleListUpdates, handleGetItem, handleRefresh, handleInstall, handleUninstall, handleUpdate, } from './marketplace.controller.js';
|
|
11
|
+
import { handleListItems, handleListInstalled, handleListUpdates, handleGetItem, handleRefresh, handleInstall, handleUninstall, handleUpdate, handleSubmit, handleListSubmissions, handleGetSubmission, handleReviewSubmission, } from './marketplace.controller.js';
|
|
12
12
|
/**
|
|
13
13
|
* Creates the marketplace router with all marketplace endpoints.
|
|
14
14
|
*
|
|
@@ -29,11 +29,16 @@ import { handleListItems, handleListInstalled, handleListUpdates, handleGetItem,
|
|
|
29
29
|
*/
|
|
30
30
|
export function createMarketplaceRouter() {
|
|
31
31
|
const router = Router();
|
|
32
|
-
// Static routes first to avoid /:id matching "installed", "updates", "refresh"
|
|
32
|
+
// Static routes first to avoid /:id matching "installed", "updates", "refresh", "submissions"
|
|
33
33
|
router.get('/', handleListItems);
|
|
34
34
|
router.get('/installed', handleListInstalled);
|
|
35
35
|
router.get('/updates', handleListUpdates);
|
|
36
36
|
router.post('/refresh', handleRefresh);
|
|
37
|
+
// Submission routes (static paths, must come before /:id)
|
|
38
|
+
router.post('/submit', handleSubmit);
|
|
39
|
+
router.get('/submissions', handleListSubmissions);
|
|
40
|
+
router.get('/submissions/:id', handleGetSubmission);
|
|
41
|
+
router.post('/submissions/:id/review', handleReviewSubmission);
|
|
37
42
|
// Parameterized routes after static routes
|
|
38
43
|
router.get('/:id', handleGetItem);
|
|
39
44
|
router.post('/:id/install', handleInstall);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/marketplace/marketplace.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,
|
|
1
|
+
{"version":3,"file":"marketplace.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/marketplace/marketplace.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAErC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,8FAA8F;IAC9F,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAEvC,0DAA0D;IAC1D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;IAE/D,2CAA2C;IAC3C,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAEzC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts
CHANGED
|
@@ -81,6 +81,13 @@ export declare function createTasksFromConfig(this: ApiContext, req: Request, re
|
|
|
81
81
|
* @param res - Response with task file content
|
|
82
82
|
*/
|
|
83
83
|
export declare function readTask(this: ApiController, req: Request, res: Response): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Retrieves the stored output JSON for a completed task.
|
|
86
|
+
*
|
|
87
|
+
* @param req - Request containing taskPath (path to the .md file in done/)
|
|
88
|
+
* @param res - Response with the parsed output data
|
|
89
|
+
*/
|
|
90
|
+
export declare function getTaskOutput(this: ApiController, req: Request, res: Response): Promise<void>;
|
|
84
91
|
/**
|
|
85
92
|
* POST /api/task-management/request-review
|
|
86
93
|
*
|
package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-management.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/task-management/task-management.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"task-management.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/task-management/task-management.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAa9C;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAsGhG;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HhG;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CACjC,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACX,OAAO,CAAC,IAAI,CAAC,CAuNf;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+D/F;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DjG;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CACjC,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACX,OAAO,CAAC,IAAI,CAAC,CA0Df;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CACnC,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACX,OAAO,CAAC,IAAI,CAAC,CA+Df;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACpC,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACX,OAAO,CAAC,IAAI,CAAC,CA4Ff;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACX,OAAO,CAAC,IAAI,CAAC,CA+Gf;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B3G;AAED,wBAAsB,qBAAqB,CAC1C,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACX,OAAO,CAAC,IAAI,CAAC,CAkIf;AA6ID;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C9F;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCnG;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAClC,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACX,OAAO,CAAC,IAAI,CAAC,CAoCf"}
|