crewly 1.2.3 → 1.2.4
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 +1 -1
- package/config/constants.ts +44 -1
- package/config/index.ts +4 -0
- package/config/roles/orchestrator/prompt.md +30 -2
- package/config/roles/team-leader/prompt.md +169 -0
- package/config/roles/team-leader/role.json +13 -0
- package/config/roles/team-leader/tl-addon.md +142 -0
- package/config/runtime_scripts/runtime-config.json +7 -0
- package/config/skills/_common/lib.sh +37 -0
- package/config/skills/agent/computer-use/execute.sh +228 -0
- package/config/skills/agent/computer-use/instructions.md +103 -0
- package/config/skills/agent/computer-use/lib/accessibility.sh +292 -0
- package/config/skills/agent/computer-use/lib/applescript.sh +117 -0
- package/config/skills/agent/computer-use/lib/discover.sh +122 -0
- package/config/skills/agent/computer-use/lib/playwright.sh +153 -0
- package/config/skills/agent/computer-use/lib/screenshot.sh +61 -0
- package/config/skills/agent/computer-use/skill.json +29 -0
- package/config/skills/agent/core/accept-task/execute.sh +7 -1
- package/config/skills/agent/core/complete-task/execute.sh +38 -1
- package/config/skills/agent/core/report-status/execute.sh +51 -2
- package/config/skills/agent/desktop-app-control/execute.sh +561 -0
- package/config/skills/agent/desktop-app-control/instructions.md +102 -0
- package/config/skills/agent/desktop-app-control/skill.json +33 -0
- package/config/skills/orchestrator/broadcast-to-org/execute.sh +88 -0
- package/config/skills/orchestrator/broadcast-to-org/instructions.md +51 -0
- package/config/skills/orchestrator/broadcast-to-org/skill.json +20 -0
- package/config/skills/orchestrator/delegate-task/execute.sh +75 -10
- package/config/skills/orchestrator/delegate-task/instructions.md +11 -1
- package/config/skills/orchestrator/handle-agent-failure/execute.sh +45 -0
- package/config/skills/orchestrator/handle-agent-failure/instructions.md +29 -0
- package/config/skills/orchestrator/handle-agent-failure/skill.json +20 -0
- package/config/skills/orchestrator/restart-crewly/instructions.md +9 -2
- package/config/skills/team-leader/_common/lib.sh +4 -0
- package/config/skills/team-leader/aggregate-results/execute.sh +168 -0
- package/config/skills/team-leader/aggregate-results/instructions.md +89 -0
- package/config/skills/team-leader/aggregate-results/skill.json +20 -0
- package/config/skills/team-leader/decompose-goal/execute.sh +86 -0
- package/config/skills/team-leader/decompose-goal/instructions.md +84 -0
- package/config/skills/team-leader/decompose-goal/skill.json +20 -0
- package/config/skills/team-leader/delegate-task/execute.sh +142 -0
- package/config/skills/team-leader/delegate-task/instructions.md +55 -0
- package/config/skills/team-leader/delegate-task/skill.json +20 -0
- package/config/skills/team-leader/handle-failure/execute.sh +119 -0
- package/config/skills/team-leader/handle-failure/instructions.md +93 -0
- package/config/skills/team-leader/handle-failure/skill.json +20 -0
- package/config/skills/team-leader/schedule-check/execute.sh +65 -0
- package/config/skills/team-leader/schedule-check/execute.test.sh +247 -0
- package/config/skills/team-leader/schedule-check/instructions.md +49 -0
- package/config/skills/team-leader/schedule-check/skill.json +20 -0
- package/config/skills/team-leader/start-agent/execute.sh +39 -0
- package/config/skills/team-leader/start-agent/instructions.md +48 -0
- package/config/skills/team-leader/start-agent/skill.json +20 -0
- package/config/skills/team-leader/stop-agent/execute.sh +39 -0
- package/config/skills/team-leader/stop-agent/instructions.md +49 -0
- package/config/skills/team-leader/stop-agent/skill.json +20 -0
- package/config/skills/team-leader/verify-output/execute.sh +296 -0
- package/config/skills/team-leader/verify-output/instructions.md +122 -0
- package/config/skills/team-leader/verify-output/skill.json +20 -0
- package/config/templates/core-team/demo-script.md +41 -0
- package/config/templates/core-team/goals.md +20 -0
- package/config/templates/core-team/team.json +22 -0
- package/config/templates/dev-fullstack/template.json +115 -0
- package/config/templates/education-smb/README.md +27 -0
- package/config/templates/education-smb/goals.md +16 -0
- package/config/templates/education-smb/knowledge/docs/content-standards.md +24 -0
- package/config/templates/education-smb/knowledge/docs/education-industry-context.md +13 -0
- package/config/templates/education-smb/knowledge/index.json +24 -0
- package/config/templates/education-smb/learned-patterns.json +16 -0
- package/config/templates/education-smb/quality-gates.yaml +66 -0
- package/config/templates/education-smb/roles/analytics-specialist.md +6 -0
- package/config/templates/education-smb/roles/content-creator.md +6 -0
- package/config/templates/education-smb/roles/curriculum-designer.md +6 -0
- package/config/templates/education-smb/roles/engagement-manager.md +6 -0
- package/config/templates/education-smb/team.json +40 -0
- package/config/templates/education-smb/template.json +26 -0
- package/config/templates/education-smb/workflows/course-content-generation.yaml +44 -0
- package/config/templates/education-smb/workflows/reporting.yaml +31 -0
- package/config/templates/education-smb/workflows/student-communication.yaml +44 -0
- package/config/templates/education-smb/workflows.yaml +40 -0
- package/config/templates/insurance-smb/README.md +28 -0
- package/config/templates/insurance-smb/goals.md +21 -0
- package/config/templates/insurance-smb/knowledge/docs/compliance-checklist.md +28 -0
- package/config/templates/insurance-smb/knowledge/docs/insurance-industry-context.md +23 -0
- package/config/templates/insurance-smb/knowledge/index.json +24 -0
- package/config/templates/insurance-smb/learned-patterns.json +16 -0
- package/config/templates/insurance-smb/quality-gates.yaml +54 -0
- package/config/templates/insurance-smb/roles/claims-processor.md +6 -0
- package/config/templates/insurance-smb/roles/client-manager.md +6 -0
- package/config/templates/insurance-smb/roles/compliance-officer.md +6 -0
- package/config/templates/insurance-smb/roles/marketing-specialist.md +6 -0
- package/config/templates/insurance-smb/roles/policy-analyst.md +6 -0
- package/config/templates/insurance-smb/team.json +48 -0
- package/config/templates/insurance-smb/template.json +26 -0
- package/config/templates/insurance-smb/workflows/claims-processing.yaml +48 -0
- package/config/templates/insurance-smb/workflows.yaml +43 -0
- package/config/templates/research-analysis/template.json +88 -0
- package/config/templates/social-media-ops/template.json +85 -0
- package/config/templates/video-production/template.json +123 -0
- package/dist/backend/backend/src/constants.d.ts +303 -15
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +296 -15
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +69 -48
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.d.ts +81 -0
- package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.js +234 -0
- package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.d.ts +25 -0
- package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.js +38 -0
- package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.d.ts +69 -0
- package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.js +165 -0
- package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.d.ts +23 -0
- package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.js +32 -0
- package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts +52 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +122 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts +21 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.js +32 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.d.ts +42 -0
- package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.js +138 -0
- package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.d.ts +23 -0
- package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.js +34 -0
- package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.d.ts +43 -0
- package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.js +9 -0
- package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/files/index.d.ts +7 -0
- package/dist/backend/backend/src/controllers/cloud/files/index.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/files/index.js +7 -0
- package/dist/backend/backend/src/controllers/cloud/files/index.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.d.ts +47 -0
- package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.js +131 -0
- package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.d.ts +23 -0
- package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.js +30 -0
- package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.d.ts +81 -0
- package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.js +85 -0
- package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/h5/index.d.ts +7 -0
- package/dist/backend/backend/src/controllers/cloud/h5/index.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/h5/index.js +7 -0
- package/dist/backend/backend/src/controllers/cloud/h5/index.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/index.d.ts +14 -0
- package/dist/backend/backend/src/controllers/cloud/index.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/index.js +14 -0
- package/dist/backend/backend/src/controllers/cloud/index.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/magic-moment/index.d.ts +7 -0
- package/dist/backend/backend/src/controllers/cloud/magic-moment/index.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/magic-moment/index.js +7 -0
- package/dist/backend/backend/src/controllers/cloud/magic-moment/index.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.d.ts +45 -0
- package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.js +155 -0
- package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.d.ts +25 -0
- package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.js +32 -0
- package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts +101 -0
- package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/relay.controller.js +343 -0
- package/dist/backend/backend/src/controllers/cloud/relay.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/relay.routes.d.ts +29 -0
- package/dist/backend/backend/src/controllers/cloud/relay.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/relay.routes.js +44 -0
- package/dist/backend/backend/src/controllers/cloud/relay.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.d.ts +49 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.js +152 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.d.ts +24 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.js +34 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.d.ts +90 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.js +48 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/index.d.ts +7 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/index.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/index.js +7 -0
- package/dist/backend/backend/src/controllers/cloud/tasks/index.js.map +1 -0
- package/dist/backend/backend/src/controllers/marketplace/index.d.ts +2 -0
- package/dist/backend/backend/src/controllers/marketplace/index.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/index.js +3 -0
- package/dist/backend/backend/src/controllers/marketplace/index.js.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts +12 -12
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js +1 -18
- 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 +3 -0
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/template-marketplace.controller.d.ts +111 -0
- package/dist/backend/backend/src/controllers/marketplace/template-marketplace.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/marketplace/template-marketplace.controller.js +220 -0
- package/dist/backend/backend/src/controllers/marketplace/template-marketplace.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.d.ts +33 -0
- package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.js +50 -0
- package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +4 -1
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +18 -2
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/payment/index.d.ts +7 -0
- package/dist/backend/backend/src/controllers/payment/index.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/payment/index.js +7 -0
- package/dist/backend/backend/src/controllers/payment/index.js.map +1 -0
- package/dist/backend/backend/src/controllers/payment/payment.controller.d.ts +57 -0
- package/dist/backend/backend/src/controllers/payment/payment.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/payment/payment.controller.js +136 -0
- package/dist/backend/backend/src/controllers/payment/payment.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/payment/payment.routes.d.ts +27 -0
- package/dist/backend/backend/src/controllers/payment/payment.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/payment/payment.routes.js +38 -0
- package/dist/backend/backend/src/controllers/payment/payment.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/payment/payment.types.d.ts +109 -0
- package/dist/backend/backend/src/controllers/payment/payment.types.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/payment/payment.types.js +54 -0
- package/dist/backend/backend/src/controllers/payment/payment.types.js.map +1 -0
- package/dist/backend/backend/src/controllers/request-types.d.ts +34 -5
- package/dist/backend/backend/src/controllers/request-types.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/session/session.controller.d.ts +14 -0
- package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/session/session.controller.js +48 -0
- package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/session/session.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/session/session.routes.js +3 -1
- package/dist/backend/backend/src/controllers/session/session.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/scheduler.controller.js +4 -3
- package/dist/backend/backend/src/controllers/system/scheduler.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/system.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/system.controller.js +13 -15
- package/dist/backend/backend/src/controllers/system/system.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/assignments.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/assignments.controller.js.map +1 -1
- 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 +40 -4
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/tasks.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +259 -13
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/template/index.d.ts +8 -0
- package/dist/backend/backend/src/controllers/template/index.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/template/index.js +8 -0
- package/dist/backend/backend/src/controllers/template/index.js.map +1 -0
- package/dist/backend/backend/src/controllers/template/template.controller.d.ts +63 -0
- package/dist/backend/backend/src/controllers/template/template.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/template/template.controller.js +112 -0
- package/dist/backend/backend/src/controllers/template/template.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/template/template.routes.d.ts +24 -0
- package/dist/backend/backend/src/controllers/template/template.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/template/template.routes.js +33 -0
- package/dist/backend/backend/src/controllers/template/template.routes.js.map +1 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +105 -13
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/middleware/agent-heartbeat.middleware.js +3 -3
- package/dist/backend/backend/src/middleware/agent-heartbeat.middleware.js.map +1 -1
- package/dist/backend/backend/src/models/Team.d.ts +5 -0
- package/dist/backend/backend/src/models/Team.d.ts.map +1 -1
- package/dist/backend/backend/src/models/Team.js +24 -0
- package/dist/backend/backend/src/models/Team.js.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +21 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +1 -6
- 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 +211 -287
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts +7 -1
- package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/claude-runtime.service.js +11 -2
- package/dist/backend/backend/src/services/agent/claude-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts +1 -0
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.js +30 -43
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +216 -0
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +496 -0
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/openhands-runtime.service.d.ts +70 -0
- package/dist/backend/backend/src/services/agent/openhands-runtime.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/openhands-runtime.service.js +131 -0
- package/dist/backend/backend/src/services/agent/openhands-runtime.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts +21 -1
- 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 +32 -1
- 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 +77 -3
- 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 +281 -30
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-service.factory.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-service.factory.js +9 -0
- package/dist/backend/backend/src/services/agent/runtime-service.factory.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +49 -2
- package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js +124 -2
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat/chat.service.d.ts +10 -2
- package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat/chat.service.js +49 -8
- package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/auth/auth.service.d.ts +174 -0
- package/dist/backend/backend/src/services/cloud/auth/auth.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/auth/auth.service.js +402 -0
- package/dist/backend/backend/src/services/cloud/auth/auth.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/auth/auth.types.d.ts +110 -0
- package/dist/backend/backend/src/services/cloud/auth/auth.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/auth/auth.types.js +54 -0
- package/dist/backend/backend/src/services/cloud/auth/auth.types.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/auth/auth.utils.d.ts +36 -0
- package/dist/backend/backend/src/services/cloud/auth/auth.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/auth/auth.utils.js +31 -0
- package/dist/backend/backend/src/services/cloud/auth/auth.utils.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.d.ts +47 -0
- package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.js +116 -0
- package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.d.ts +61 -0
- package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.js +203 -0
- package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.d.ts +46 -0
- package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.js +95 -0
- package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-auth.service.d.ts +136 -0
- package/dist/backend/backend/src/services/cloud/cloud-auth.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-auth.service.js +204 -0
- package/dist/backend/backend/src/services/cloud/cloud-auth.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +179 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js +237 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-file.service.d.ts +97 -0
- package/dist/backend/backend/src/services/cloud/cloud-file.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-file.service.js +184 -0
- package/dist/backend/backend/src/services/cloud/cloud-file.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.d.ts +114 -0
- package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.js +196 -0
- package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.d.ts +118 -0
- package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.js +322 -0
- package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-task.service.d.ts +115 -0
- package/dist/backend/backend/src/services/cloud/cloud-task.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-task.service.js +265 -0
- package/dist/backend/backend/src/services/cloud/cloud-task.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts +175 -0
- package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/relay-client.service.js +392 -0
- package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/relay-crypto.service.d.ts +87 -0
- package/dist/backend/backend/src/services/cloud/relay-crypto.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/relay-crypto.service.js +140 -0
- package/dist/backend/backend/src/services/cloud/relay-crypto.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/relay-server.service.d.ts +183 -0
- package/dist/backend/backend/src/services/cloud/relay-server.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/relay-server.service.js +523 -0
- package/dist/backend/backend/src/services/cloud/relay-server.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/relay.types.d.ts +170 -0
- package/dist/backend/backend/src/services/cloud/relay.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/relay.types.js +69 -0
- package/dist/backend/backend/src/services/cloud/relay.types.js.map +1 -0
- package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.d.ts +9 -1
- package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.d.ts.map +1 -1
- package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.js +18 -4
- package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.js.map +1 -1
- package/dist/backend/backend/src/services/core/env.config.d.ts +147 -0
- package/dist/backend/backend/src/services/core/env.config.d.ts.map +1 -0
- package/dist/backend/backend/src/services/core/env.config.js +226 -0
- package/dist/backend/backend/src/services/core/env.config.js.map +1 -0
- package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/storage.service.js +5 -0
- package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts +20 -0
- package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js +35 -0
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
- package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation.service.d.ts +160 -0
- package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation.service.js +261 -0
- package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation.service.js.map +1 -0
- package/dist/backend/backend/src/services/hierarchy/hierarchy-reporting.service.d.ts +161 -0
- package/dist/backend/backend/src/services/hierarchy/hierarchy-reporting.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/hierarchy/hierarchy-reporting.service.js +276 -0
- package/dist/backend/backend/src/services/hierarchy/hierarchy-reporting.service.js.map +1 -0
- 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.service.js +2 -2
- package/dist/backend/backend/src/services/marketplace/template-marketplace.service.d.ts +149 -0
- package/dist/backend/backend/src/services/marketplace/template-marketplace.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/marketplace/template-marketplace.service.js +500 -0
- package/dist/backend/backend/src/services/marketplace/template-marketplace.service.js.map +1 -0
- package/dist/backend/backend/src/services/mcp-server.js +1 -1
- package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.d.ts +90 -0
- package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js +233 -0
- package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts +1 -1
- package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +3 -3
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +29 -5
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/payment/magic-moment.service.d.ts +69 -0
- package/dist/backend/backend/src/services/payment/magic-moment.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/payment/magic-moment.service.js +158 -0
- package/dist/backend/backend/src/services/payment/magic-moment.service.js.map +1 -0
- package/dist/backend/backend/src/services/payment/magic-moment.types.d.ts +95 -0
- package/dist/backend/backend/src/services/payment/magic-moment.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/payment/magic-moment.types.js +91 -0
- package/dist/backend/backend/src/services/payment/magic-moment.types.js.map +1 -0
- package/dist/backend/backend/src/services/payment/stripe.service.d.ts +122 -0
- package/dist/backend/backend/src/services/payment/stripe.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/payment/stripe.service.js +403 -0
- package/dist/backend/backend/src/services/payment/stripe.service.js.map +1 -0
- package/dist/backend/backend/src/services/plugin/index.d.ts +9 -0
- package/dist/backend/backend/src/services/plugin/index.d.ts.map +1 -0
- package/dist/backend/backend/src/services/plugin/index.js +8 -0
- package/dist/backend/backend/src/services/plugin/index.js.map +1 -0
- package/dist/backend/backend/src/services/plugin/plugin.service.d.ts +102 -0
- package/dist/backend/backend/src/services/plugin/plugin.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/plugin/plugin.service.js +179 -0
- package/dist/backend/backend/src/services/plugin/plugin.service.js.map +1 -0
- package/dist/backend/backend/src/services/plugin/plugin.types.d.ts +88 -0
- package/dist/backend/backend/src/services/plugin/plugin.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/plugin/plugin.types.js +17 -0
- package/dist/backend/backend/src/services/plugin/plugin.types.js.map +1 -0
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +17 -0
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.js +63 -0
- package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -1
- package/dist/backend/backend/src/services/session/session-command-helper.d.ts +14 -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 +54 -0
- package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
- package/dist/backend/backend/src/services/settings/settings.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/settings/settings.service.js +1 -0
- package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +15 -5
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/template/template.service.d.ts +153 -0
- package/dist/backend/backend/src/services/template/template.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/template/template.service.js +372 -0
- package/dist/backend/backend/src/services/template/template.service.js.map +1 -0
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +51 -0
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.js +118 -2
- package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/types/chat.types.d.ts +39 -1
- package/dist/backend/backend/src/types/chat.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/chat.types.js +45 -2
- package/dist/backend/backend/src/types/chat.types.js.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts +14 -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 +15 -0
- package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/backend/backend/src/types/hierarchy-message.types.d.ts +101 -0
- package/dist/backend/backend/src/types/hierarchy-message.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/hierarchy-message.types.js +15 -0
- package/dist/backend/backend/src/types/hierarchy-message.types.js.map +1 -0
- package/dist/backend/backend/src/types/index.d.ts +54 -4
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/types/marketplace.types.d.ts +99 -0
- package/dist/backend/backend/src/types/marketplace.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.js +4 -0
- package/dist/backend/backend/src/types/settings.types.js.map +1 -1
- package/dist/backend/backend/src/types/task-tracking.types.d.ts +79 -1
- package/dist/backend/backend/src/types/task-tracking.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/task-tracking.types.js.map +1 -1
- package/dist/backend/backend/src/types/team-template.types.d.ts +166 -0
- package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/team-template.types.js +139 -0
- package/dist/backend/backend/src/types/team-template.types.js.map +1 -0
- package/dist/backend/backend/src/utils/async-handler.d.ts +20 -0
- package/dist/backend/backend/src/utils/async-handler.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/async-handler.js +29 -0
- package/dist/backend/backend/src/utils/async-handler.js.map +1 -0
- package/dist/backend/backend/src/utils/defaultPrompts.d.ts +4 -4
- package/dist/backend/backend/src/utils/defaultPrompts.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/defaultPrompts.js +16 -0
- package/dist/backend/backend/src/utils/defaultPrompts.js.map +1 -1
- package/dist/backend/backend/src/utils/gemini-trusted-folders.d.ts +43 -0
- package/dist/backend/backend/src/utils/gemini-trusted-folders.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/gemini-trusted-folders.js +94 -0
- package/dist/backend/backend/src/utils/gemini-trusted-folders.js.map +1 -0
- package/dist/backend/backend/src/utils/message-serializer.d.ts +74 -0
- package/dist/backend/backend/src/utils/message-serializer.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/message-serializer.js +380 -0
- package/dist/backend/backend/src/utils/message-serializer.js.map +1 -0
- package/dist/backend/backend/src/utils/terminal-string-ops.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/terminal-string-ops.js +20 -11
- package/dist/backend/backend/src/utils/terminal-string-ops.js.map +1 -1
- package/dist/backend/config/constants.d.ts +40 -1
- package/dist/backend/config/constants.d.ts.map +1 -1
- package/dist/backend/config/constants.js +41 -1
- 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 +303 -15
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +296 -15
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/models/Team.d.ts +5 -0
- package/dist/cli/backend/src/models/Team.d.ts.map +1 -1
- package/dist/cli/backend/src/models/Team.js +24 -0
- package/dist/cli/backend/src/models/Team.js.map +1 -1
- package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/storage.service.js +5 -0
- package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/cli/backend/src/services/mcp-server.js +1 -1
- package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
- package/dist/cli/backend/src/types/chat.types.d.ts +39 -1
- package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/chat.types.js +45 -2
- package/dist/cli/backend/src/types/chat.types.js.map +1 -1
- package/dist/cli/backend/src/types/index.d.ts +54 -4
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.js.map +1 -1
- package/dist/cli/backend/src/types/settings.types.d.ts +1 -1
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.js +4 -0
- package/dist/cli/backend/src/types/settings.types.js.map +1 -1
- package/dist/cli/backend/src/utils/gemini-trusted-folders.d.ts +43 -0
- package/dist/cli/backend/src/utils/gemini-trusted-folders.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/gemini-trusted-folders.js +94 -0
- package/dist/cli/backend/src/utils/gemini-trusted-folders.js.map +1 -0
- package/dist/cli/backend/src/utils/terminal-string-ops.d.ts.map +1 -1
- package/dist/cli/backend/src/utils/terminal-string-ops.js +20 -11
- package/dist/cli/backend/src/utils/terminal-string-ops.js.map +1 -1
- package/dist/cli/cli/src/commands/onboard.d.ts +2 -1
- package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/onboard.js +21 -8
- package/dist/cli/cli/src/commands/onboard.js.map +1 -1
- package/dist/cli/cli/src/commands/start.d.ts +1 -0
- package/dist/cli/cli/src/commands/start.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/start.js +71 -23
- package/dist/cli/cli/src/commands/start.js.map +1 -1
- package/dist/cli/cli/src/constants.d.ts +1 -1
- package/dist/cli/cli/src/constants.d.ts.map +1 -1
- package/dist/cli/cli/src/constants.js +1 -1
- package/dist/cli/cli/src/constants.js.map +1 -1
- package/dist/cli/cli/src/index.js +1 -0
- package/dist/cli/cli/src/index.js.map +1 -1
- package/dist/cli/cli/src/utils/project-scaffold.d.ts +109 -0
- package/dist/cli/cli/src/utils/project-scaffold.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/project-scaffold.js +346 -0
- package/dist/cli/cli/src/utils/project-scaffold.js.map +1 -0
- package/dist/cli/cli/src/utils/templates.d.ts +7 -2
- package/dist/cli/cli/src/utils/templates.d.ts.map +1 -1
- package/dist/cli/cli/src/utils/templates.js +76 -7
- package/dist/cli/cli/src/utils/templates.js.map +1 -1
- package/dist/cli/config/constants.d.ts +40 -1
- package/dist/cli/config/constants.d.ts.map +1 -1
- package/dist/cli/config/constants.js +41 -1
- 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-510ab719.css +33 -0
- package/frontend/dist/assets/index-935cd846.js +4961 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +9 -4
- package/frontend/dist/assets/index-a23214ae.js +0 -4919
- package/frontend/dist/assets/index-c407fe13.css +0 -33
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hierarchy Reporting Service
|
|
3
|
+
*
|
|
4
|
+
* Handles the hierarchical reporting chain: Workers report to Team Leaders,
|
|
5
|
+
* Team Leaders aggregate and report up to the Orchestrator.
|
|
6
|
+
*
|
|
7
|
+
* Key responsibilities:
|
|
8
|
+
* - Receive worker status reports and route them to the Team Leader
|
|
9
|
+
* - Aggregate multiple worker reports into a single TL report
|
|
10
|
+
* - Generate AggregatedReport format for Orchestrator consumption
|
|
11
|
+
* - Emit hierarchy:report_up events when reports flow upward
|
|
12
|
+
*
|
|
13
|
+
* @module services/hierarchy/hierarchy-reporting
|
|
14
|
+
*/
|
|
15
|
+
// =============================================================================
|
|
16
|
+
// Service
|
|
17
|
+
// =============================================================================
|
|
18
|
+
/**
|
|
19
|
+
* HierarchyReportingService manages the upward reporting chain.
|
|
20
|
+
* Singleton pattern matching other Crewly services.
|
|
21
|
+
*/
|
|
22
|
+
export class HierarchyReportingService {
|
|
23
|
+
static instance = null;
|
|
24
|
+
/** Stored worker reports indexed by parentTaskId */
|
|
25
|
+
workerReports = new Map();
|
|
26
|
+
/** Event bus reference for emitting hierarchy events */
|
|
27
|
+
eventBus = null;
|
|
28
|
+
constructor() { }
|
|
29
|
+
/**
|
|
30
|
+
* Get the singleton instance of HierarchyReportingService.
|
|
31
|
+
*
|
|
32
|
+
* @returns The singleton instance
|
|
33
|
+
*/
|
|
34
|
+
static getInstance() {
|
|
35
|
+
if (!HierarchyReportingService.instance) {
|
|
36
|
+
HierarchyReportingService.instance = new HierarchyReportingService();
|
|
37
|
+
}
|
|
38
|
+
return HierarchyReportingService.instance;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Clear the singleton instance (for testing).
|
|
42
|
+
*/
|
|
43
|
+
static clearInstance() {
|
|
44
|
+
HierarchyReportingService.instance = null;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Set the EventBusService reference for emitting events.
|
|
48
|
+
*
|
|
49
|
+
* @param eventBus - The EventBusService instance
|
|
50
|
+
*/
|
|
51
|
+
setEventBus(eventBus) {
|
|
52
|
+
this.eventBus = eventBus;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Receive a worker's status report and store it for aggregation.
|
|
56
|
+
* Called when a Worker sends a StatusReport to their Team Leader.
|
|
57
|
+
*
|
|
58
|
+
* @param report - The worker's status report
|
|
59
|
+
* @param workerSession - Session name of the reporting worker
|
|
60
|
+
* @param parentTaskId - The parent task ID this report belongs to
|
|
61
|
+
* @returns The stored report entry
|
|
62
|
+
*/
|
|
63
|
+
receiveWorkerReport(report, workerSession, parentTaskId) {
|
|
64
|
+
const entry = {
|
|
65
|
+
report,
|
|
66
|
+
receivedAt: new Date().toISOString(),
|
|
67
|
+
workerSession,
|
|
68
|
+
};
|
|
69
|
+
const existing = this.workerReports.get(parentTaskId) ?? [];
|
|
70
|
+
existing.push(entry);
|
|
71
|
+
this.workerReports.set(parentTaskId, existing);
|
|
72
|
+
return entry;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Aggregate all stored worker reports for a parent task and generate
|
|
76
|
+
* an AggregatedReport for the Orchestrator.
|
|
77
|
+
*
|
|
78
|
+
* @param parentTaskId - The parent task to aggregate reports for
|
|
79
|
+
* @param subtasks - All subtasks under this parent task
|
|
80
|
+
* @param tlSummary - Team Leader's summary of the aggregated work
|
|
81
|
+
* @param tlSession - Team Leader's session name
|
|
82
|
+
* @param teamInfo - Team and member info for event emission
|
|
83
|
+
* @returns The aggregated report, or null if no reports exist
|
|
84
|
+
*/
|
|
85
|
+
aggregateAndReportUp(parentTaskId, subtasks, tlSummary, tlSession, teamInfo) {
|
|
86
|
+
const report = this.generateAggregatedReport(parentTaskId, subtasks, tlSummary, tlSession);
|
|
87
|
+
if (!report) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
// Emit hierarchy:report_up event
|
|
91
|
+
if (this.eventBus && teamInfo) {
|
|
92
|
+
const event = {
|
|
93
|
+
id: crypto.randomUUID(),
|
|
94
|
+
type: 'hierarchy:report_up',
|
|
95
|
+
timestamp: new Date().toISOString(),
|
|
96
|
+
teamId: teamInfo.teamId,
|
|
97
|
+
teamName: teamInfo.teamName,
|
|
98
|
+
memberId: teamInfo.memberId,
|
|
99
|
+
memberName: teamInfo.memberName,
|
|
100
|
+
sessionName: tlSession,
|
|
101
|
+
previousValue: '',
|
|
102
|
+
newValue: report.overallState,
|
|
103
|
+
changedField: 'hierarchyAction',
|
|
104
|
+
taskId: parentTaskId,
|
|
105
|
+
};
|
|
106
|
+
this.eventBus.publish(event);
|
|
107
|
+
}
|
|
108
|
+
// Clean up stored reports after aggregation
|
|
109
|
+
this.workerReports.delete(parentTaskId);
|
|
110
|
+
return report;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Generate an AggregatedReport from subtask data.
|
|
114
|
+
* Computes the overall state, subtask summary, and collects key artifacts.
|
|
115
|
+
*
|
|
116
|
+
* @param parentTaskId - The parent task ID
|
|
117
|
+
* @param subtasks - All subtasks under this parent task
|
|
118
|
+
* @param tlSummary - Team Leader's written summary
|
|
119
|
+
* @param tlSession - Team Leader's session name
|
|
120
|
+
* @returns The aggregated report, or null if no subtasks
|
|
121
|
+
*/
|
|
122
|
+
generateAggregatedReport(parentTaskId, subtasks, tlSummary, tlSession) {
|
|
123
|
+
if (subtasks.length === 0) {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
const summary = this.computeSubtaskSummary(subtasks);
|
|
127
|
+
const overallState = this.computeOverallState(summary);
|
|
128
|
+
const keyArtifacts = this.collectKeyArtifacts(subtasks);
|
|
129
|
+
const qualityAssessment = this.assessQuality(summary);
|
|
130
|
+
return {
|
|
131
|
+
type: 'aggregated_report',
|
|
132
|
+
parentTaskId,
|
|
133
|
+
overallState,
|
|
134
|
+
summary: tlSummary,
|
|
135
|
+
subtaskSummary: summary,
|
|
136
|
+
...(keyArtifacts.length > 0 ? { keyArtifacts } : {}),
|
|
137
|
+
qualityAssessment,
|
|
138
|
+
reportedBy: tlSession,
|
|
139
|
+
timestamp: new Date().toISOString(),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Get stored worker reports for a parent task.
|
|
144
|
+
*
|
|
145
|
+
* @param parentTaskId - The parent task ID
|
|
146
|
+
* @returns Array of stored worker reports
|
|
147
|
+
*/
|
|
148
|
+
getWorkerReports(parentTaskId) {
|
|
149
|
+
return this.workerReports.get(parentTaskId) ?? [];
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Clear all stored reports (for cleanup/testing).
|
|
153
|
+
*/
|
|
154
|
+
clearReports() {
|
|
155
|
+
this.workerReports.clear();
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Serialize an AggregatedReport to markdown for PTY delivery.
|
|
159
|
+
*
|
|
160
|
+
* @param report - The aggregated report to serialize
|
|
161
|
+
* @returns Markdown-formatted string with [AGGREGATED REPORT] header
|
|
162
|
+
*/
|
|
163
|
+
serializeAggregatedReport(report) {
|
|
164
|
+
const lines = [
|
|
165
|
+
'---',
|
|
166
|
+
'[AGGREGATED REPORT]',
|
|
167
|
+
`Parent Task: ${report.parentTaskId}`,
|
|
168
|
+
`Overall Status: ${report.overallState}`,
|
|
169
|
+
...(report.qualityAssessment ? [`Quality: ${report.qualityAssessment}`] : []),
|
|
170
|
+
`Reported by: ${report.reportedBy}`,
|
|
171
|
+
'---',
|
|
172
|
+
'',
|
|
173
|
+
'## Summary',
|
|
174
|
+
report.summary,
|
|
175
|
+
'',
|
|
176
|
+
'## Subtask Breakdown',
|
|
177
|
+
`- Total: ${report.subtaskSummary.total} | Completed: ${report.subtaskSummary.completed} | Failed: ${report.subtaskSummary.failed} | In Progress: ${report.subtaskSummary.inProgress} | Blocked: ${report.subtaskSummary.blocked}`,
|
|
178
|
+
];
|
|
179
|
+
if (report.keyArtifacts && report.keyArtifacts.length > 0) {
|
|
180
|
+
lines.push('', '## Key Deliverables');
|
|
181
|
+
for (const artifact of report.keyArtifacts) {
|
|
182
|
+
lines.push(`- ${artifact.content} (${artifact.type})`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (report.escalations && report.escalations.length > 0) {
|
|
186
|
+
lines.push('', '## Escalations');
|
|
187
|
+
for (const esc of report.escalations) {
|
|
188
|
+
lines.push(`- ${esc}`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return lines.join('\n');
|
|
192
|
+
}
|
|
193
|
+
// ===========================================================================
|
|
194
|
+
// Private helpers
|
|
195
|
+
// ===========================================================================
|
|
196
|
+
/**
|
|
197
|
+
* Compute the subtask summary counts from task list.
|
|
198
|
+
*/
|
|
199
|
+
computeSubtaskSummary(subtasks) {
|
|
200
|
+
let completed = 0;
|
|
201
|
+
let failed = 0;
|
|
202
|
+
let inProgress = 0;
|
|
203
|
+
let blocked = 0;
|
|
204
|
+
for (const task of subtasks) {
|
|
205
|
+
switch (task.status) {
|
|
206
|
+
case 'completed':
|
|
207
|
+
completed++;
|
|
208
|
+
break;
|
|
209
|
+
case 'failed':
|
|
210
|
+
case 'cancelled':
|
|
211
|
+
failed++;
|
|
212
|
+
break;
|
|
213
|
+
case 'blocked':
|
|
214
|
+
case 'input_required':
|
|
215
|
+
blocked++;
|
|
216
|
+
break;
|
|
217
|
+
case 'active':
|
|
218
|
+
case 'working':
|
|
219
|
+
case 'assigned':
|
|
220
|
+
case 'submitted':
|
|
221
|
+
case 'verifying':
|
|
222
|
+
inProgress++;
|
|
223
|
+
break;
|
|
224
|
+
default:
|
|
225
|
+
inProgress++;
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return {
|
|
230
|
+
total: subtasks.length,
|
|
231
|
+
completed,
|
|
232
|
+
failed,
|
|
233
|
+
inProgress,
|
|
234
|
+
blocked,
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Determine the overall state from subtask summary.
|
|
239
|
+
*/
|
|
240
|
+
computeOverallState(summary) {
|
|
241
|
+
if (summary.total === 0)
|
|
242
|
+
return 'pending_assignment';
|
|
243
|
+
if (summary.completed === summary.total)
|
|
244
|
+
return 'completed';
|
|
245
|
+
if (summary.failed > 0 && summary.inProgress === 0 && summary.completed + summary.failed === summary.total)
|
|
246
|
+
return 'failed';
|
|
247
|
+
if (summary.blocked > 0 && summary.inProgress === 0)
|
|
248
|
+
return 'blocked';
|
|
249
|
+
return 'working';
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Collect key artifacts from completed subtasks.
|
|
253
|
+
*/
|
|
254
|
+
collectKeyArtifacts(subtasks) {
|
|
255
|
+
const artifacts = [];
|
|
256
|
+
for (const task of subtasks) {
|
|
257
|
+
if (task.artifacts) {
|
|
258
|
+
artifacts.push(...task.artifacts);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return artifacts;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Assess overall quality from subtask completion rates.
|
|
265
|
+
*/
|
|
266
|
+
assessQuality(summary) {
|
|
267
|
+
if (summary.total === 0)
|
|
268
|
+
return 'fail';
|
|
269
|
+
if (summary.completed === summary.total)
|
|
270
|
+
return 'pass';
|
|
271
|
+
if (summary.failed === summary.total)
|
|
272
|
+
return 'fail';
|
|
273
|
+
return 'partial';
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
//# sourceMappingURL=hierarchy-reporting.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchy-reporting.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/hierarchy/hierarchy-reporting.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,4 +9,5 @@
|
|
|
9
9
|
export { fetchRegistry, loadManifest, saveManifest, getItem, listItems, getUpdatableItems, getInstalledItems, searchItems, getInstallPath, resetRegistryCache, } from './marketplace.service.js';
|
|
10
10
|
export { installItem, uninstallItem, updateItem, } from './marketplace-installer.service.js';
|
|
11
11
|
export { submitSkill, listSubmissions, getSubmission, reviewSubmission, loadSubmissionsManifest, saveSubmissionsManifest, } from './marketplace-submission.service.js';
|
|
12
|
+
export { createTemplate, listTemplates, getTemplate, updateTemplate, archiveTemplate, addVersion, listVersions, publishTemplate, deleteTemplate, loadTemplateStore, saveTemplateStore, loadVersionStore, saveVersionStore, } from './template-marketplace.service.js';
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/marketplace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/marketplace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EACL,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mCAAmC,CAAC"}
|
|
@@ -12,4 +12,6 @@ export { fetchRegistry, loadManifest, saveManifest, getItem, listItems, getUpdat
|
|
|
12
12
|
export { installItem, uninstallItem, updateItem, } from './marketplace-installer.service.js';
|
|
13
13
|
// Marketplace submission operations
|
|
14
14
|
export { submitSkill, listSubmissions, getSubmission, reviewSubmission, loadSubmissionsManifest, saveSubmissionsManifest, } from './marketplace-submission.service.js';
|
|
15
|
+
// Template marketplace operations
|
|
16
|
+
export { createTemplate, listTemplates, getTemplate, updateTemplate, archiveTemplate, addVersion, listVersions, publishTemplate, deleteTemplate, loadTemplateStore, saveTemplateStore, loadVersionStore, saveVersionStore, } from './template-marketplace.service.js';
|
|
15
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../backend/src/services/marketplace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oCAAoC;AACpC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,sCAAsC;AACtC,OAAO,EACL,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,oCAAoC,CAAC;AAE5C,oCAAoC;AACpC,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../backend/src/services/marketplace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oCAAoC;AACpC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,sCAAsC;AACtC,OAAO,EACL,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,oCAAoC,CAAC;AAE5C,oCAAoC;AACpC,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAE7C,kCAAkC;AAClC,OAAO,EACL,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mCAAmC,CAAC"}
|
|
@@ -66,7 +66,7 @@ export async function fetchRegistry(forceRefresh = false) {
|
|
|
66
66
|
*
|
|
67
67
|
* Fetches from two sources in parallel:
|
|
68
68
|
* 1. Public registry -- GitHub raw content (config/skills/registry.json in crewly repo)
|
|
69
|
-
* 2. Premium registry --
|
|
69
|
+
* 2. Premium registry -- crewlyai.com/api/registry/skills (private/paid skills)
|
|
70
70
|
*
|
|
71
71
|
* Results are merged with local registry items (locally published skills).
|
|
72
72
|
*
|
|
@@ -134,7 +134,7 @@ async function fetchPublicRegistry() {
|
|
|
134
134
|
return [];
|
|
135
135
|
}
|
|
136
136
|
/**
|
|
137
|
-
* Fetches items from the premium registry (
|
|
137
|
+
* Fetches items from the premium registry (crewlyai.com).
|
|
138
138
|
*
|
|
139
139
|
* @returns Array of premium marketplace items with premium flag, empty on failure
|
|
140
140
|
*/
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template Marketplace Service
|
|
3
|
+
*
|
|
4
|
+
* Full CRUD lifecycle for team configuration templates.
|
|
5
|
+
* Templates are stored as JSON files under ~/.crewly/marketplace/templates/.
|
|
6
|
+
* Each template has a store entry and a versions subdirectory containing
|
|
7
|
+
* version history with config JSON and changelogs.
|
|
8
|
+
*
|
|
9
|
+
* Supports content-type templates (e.g. e-commerce UGC video team)
|
|
10
|
+
* through the metadata field and category system.
|
|
11
|
+
*
|
|
12
|
+
* @module services/marketplace/template-marketplace.service
|
|
13
|
+
*/
|
|
14
|
+
import type { MarketplaceTemplate, TemplateVersion, TemplateStore, TemplateVersionStore, TemplateFilter, TemplateOperationResult, TemplateCategory, TemplatePricing } from '../../types/marketplace.types.js';
|
|
15
|
+
/**
|
|
16
|
+
* Loads the template store from disk.
|
|
17
|
+
*
|
|
18
|
+
* Returns an empty store if the file does not exist or cannot be parsed.
|
|
19
|
+
*
|
|
20
|
+
* @returns The template store
|
|
21
|
+
*/
|
|
22
|
+
export declare function loadTemplateStore(): Promise<TemplateStore>;
|
|
23
|
+
/**
|
|
24
|
+
* Saves the template store to disk.
|
|
25
|
+
*
|
|
26
|
+
* Creates the templates directory if it does not exist.
|
|
27
|
+
*
|
|
28
|
+
* @param store - The store to persist
|
|
29
|
+
*/
|
|
30
|
+
export declare function saveTemplateStore(store: TemplateStore): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Loads the version store for a specific template.
|
|
33
|
+
*
|
|
34
|
+
* Returns an empty store if the file does not exist or cannot be parsed.
|
|
35
|
+
*
|
|
36
|
+
* @param templateId - The template ID
|
|
37
|
+
* @returns The version store for the template
|
|
38
|
+
*/
|
|
39
|
+
export declare function loadVersionStore(templateId: string): Promise<TemplateVersionStore>;
|
|
40
|
+
/**
|
|
41
|
+
* Saves the version store for a specific template.
|
|
42
|
+
*
|
|
43
|
+
* Creates the template versions directory if it does not exist.
|
|
44
|
+
*
|
|
45
|
+
* @param templateId - The template ID
|
|
46
|
+
* @param store - The version store to persist
|
|
47
|
+
*/
|
|
48
|
+
export declare function saveVersionStore(templateId: string, store: TemplateVersionStore): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Creates a new marketplace template in draft status.
|
|
51
|
+
*
|
|
52
|
+
* Generates a unique ID, sets initial metadata, and creates
|
|
53
|
+
* the first version (1.0.0) with the provided config.
|
|
54
|
+
*
|
|
55
|
+
* @param input - Template creation input
|
|
56
|
+
* @returns Operation result with the created template
|
|
57
|
+
*/
|
|
58
|
+
export declare function createTemplate(input: {
|
|
59
|
+
name: string;
|
|
60
|
+
description: string;
|
|
61
|
+
author: string;
|
|
62
|
+
category: TemplateCategory;
|
|
63
|
+
tags?: string[];
|
|
64
|
+
pricing?: TemplatePricing;
|
|
65
|
+
config?: Record<string, unknown>;
|
|
66
|
+
icon?: string;
|
|
67
|
+
metadata?: Record<string, unknown>;
|
|
68
|
+
}): Promise<TemplateOperationResult>;
|
|
69
|
+
/**
|
|
70
|
+
* Lists templates with optional filtering and sorting.
|
|
71
|
+
*
|
|
72
|
+
* Supports filtering by category, status, author, and free-text search.
|
|
73
|
+
* Results are sorted by the specified sort option (default: newest).
|
|
74
|
+
*
|
|
75
|
+
* @param filter - Optional filter criteria
|
|
76
|
+
* @returns Filtered and sorted templates
|
|
77
|
+
*/
|
|
78
|
+
export declare function listTemplates(filter?: TemplateFilter): Promise<MarketplaceTemplate[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Gets a single template by ID.
|
|
81
|
+
*
|
|
82
|
+
* @param id - The template ID
|
|
83
|
+
* @returns The template, or null if not found
|
|
84
|
+
*/
|
|
85
|
+
export declare function getTemplate(id: string): Promise<MarketplaceTemplate | null>;
|
|
86
|
+
/**
|
|
87
|
+
* Updates a template's metadata (name, description, tags, etc.).
|
|
88
|
+
*
|
|
89
|
+
* Cannot update archived templates. Only mutable fields are updated;
|
|
90
|
+
* immutable fields (id, createdAt, downloads, rating) are preserved.
|
|
91
|
+
*
|
|
92
|
+
* @param id - The template ID to update
|
|
93
|
+
* @param updates - Partial template updates
|
|
94
|
+
* @returns Operation result with the updated template
|
|
95
|
+
*/
|
|
96
|
+
export declare function updateTemplate(id: string, updates: Partial<Pick<MarketplaceTemplate, 'name' | 'description' | 'category' | 'tags' | 'pricing' | 'icon' | 'metadata'>>): Promise<TemplateOperationResult>;
|
|
97
|
+
/**
|
|
98
|
+
* Archives a template (soft delete).
|
|
99
|
+
*
|
|
100
|
+
* Sets status to 'archived'. Already archived templates return an error.
|
|
101
|
+
*
|
|
102
|
+
* @param id - The template ID to archive
|
|
103
|
+
* @returns Operation result with the archived template
|
|
104
|
+
*/
|
|
105
|
+
export declare function archiveTemplate(id: string): Promise<TemplateOperationResult>;
|
|
106
|
+
/**
|
|
107
|
+
* Adds a new version to a template.
|
|
108
|
+
*
|
|
109
|
+
* Validates the semver format and ensures versions are unique.
|
|
110
|
+
* Updates the template's currentVersion to the new semver.
|
|
111
|
+
*
|
|
112
|
+
* @param templateId - The template ID
|
|
113
|
+
* @param input - Version creation input
|
|
114
|
+
* @returns Operation result with the created version
|
|
115
|
+
*/
|
|
116
|
+
export declare function addVersion(templateId: string, input: {
|
|
117
|
+
semver: string;
|
|
118
|
+
config: Record<string, unknown>;
|
|
119
|
+
changelog: string;
|
|
120
|
+
}): Promise<TemplateOperationResult>;
|
|
121
|
+
/**
|
|
122
|
+
* Lists all versions for a template, sorted newest first.
|
|
123
|
+
*
|
|
124
|
+
* @param templateId - The template ID
|
|
125
|
+
* @returns Array of template versions, or null if template not found
|
|
126
|
+
*/
|
|
127
|
+
export declare function listVersions(templateId: string): Promise<TemplateVersion[] | null>;
|
|
128
|
+
/**
|
|
129
|
+
* Publishes a template by transitioning its status through the
|
|
130
|
+
* publish workflow: draft -> review -> published.
|
|
131
|
+
*
|
|
132
|
+
* A draft template moves to 'review'. A template in 'review' moves
|
|
133
|
+
* to 'published'. Already published or archived templates return an error.
|
|
134
|
+
*
|
|
135
|
+
* @param id - The template ID to publish
|
|
136
|
+
* @returns Operation result with the updated template
|
|
137
|
+
*/
|
|
138
|
+
export declare function publishTemplate(id: string): Promise<TemplateOperationResult>;
|
|
139
|
+
/**
|
|
140
|
+
* Deletes a template and all its version data from disk.
|
|
141
|
+
*
|
|
142
|
+
* This is a hard delete — removes the template entry from the store
|
|
143
|
+
* and its entire version directory. Use archiveTemplate for soft delete.
|
|
144
|
+
*
|
|
145
|
+
* @param id - The template ID to delete
|
|
146
|
+
* @returns Operation result
|
|
147
|
+
*/
|
|
148
|
+
export declare function deleteTemplate(id: string): Promise<TemplateOperationResult>;
|
|
149
|
+
//# sourceMappingURL=template-marketplace.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-marketplace.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/marketplace/template-marketplace.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,KAAK,EACX,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EAEvB,gBAAgB,EAChB,eAAe,EACf,MAAM,kCAAkC,CAAC;AAsB1C;;;;;;GAMG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,CAOhE;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3E;AAiBD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAOxF;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQrG;AAwED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAsDnC;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAqC3F;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAGjF;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CACnC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,GACzH,OAAO,CAAC,uBAAuB,CAAC,CA8ClC;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAqBlF;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE;IACN,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CAClB,GACC,OAAO,CAAC,uBAAuB,CAAC,CA+DlC;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAaxF;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAwClF;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAoBjF"}
|