crewly 1.2.1 → 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/architect/prompt.md +7 -5
- package/config/roles/backend-developer/prompt.md +8 -4
- package/config/roles/content-strategist/prompt.md +12 -4
- package/config/roles/designer/prompt.md +8 -4
- package/config/roles/developer/prompt.md +7 -4
- package/config/roles/frontend-developer/prompt.md +8 -4
- package/config/roles/fullstack-dev/prompt.md +8 -4
- package/config/roles/generalist/prompt.md +7 -4
- package/config/roles/ops/prompt.md +7 -4
- package/config/roles/orchestrator/prompt.md +52 -3
- package/config/roles/product-manager/prompt.md +8 -4
- package/config/roles/qa/prompt.md +8 -4
- package/config/roles/qa-engineer/prompt.md +8 -4
- package/config/roles/sales/prompt.md +8 -4
- package/config/roles/support/prompt.md +8 -4
- 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/roles/tpm/prompt.md +8 -4
- 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 +76 -11
- 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/agent-claude-md.md +10 -5
- 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 +310 -84
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +303 -89
- 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 +86 -26
- 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 +3 -19
- 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 +274 -398
- 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 +2 -1
- 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 +38 -51
- 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 -7
- 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 -31
- 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 +28 -4
- 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 +113 -60
- 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 -8
- 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/pty/pty-session-backend.js +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.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 +70 -4
- 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-output.utils.d.ts +2 -1
- package/dist/backend/backend/src/utils/terminal-output.utils.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/terminal-output.utils.js +2 -28
- package/dist/backend/backend/src/utils/terminal-output.utils.js.map +1 -1
- package/dist/backend/backend/src/utils/terminal-string-ops.d.ts +183 -0
- package/dist/backend/backend/src/utils/terminal-string-ops.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/terminal-string-ops.js +726 -0
- package/dist/backend/backend/src/utils/terminal-string-ops.js.map +1 -0
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.js +22 -27
- package/dist/backend/backend/src/websocket/terminal.gateway.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 +310 -84
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +303 -89
- 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-output.utils.d.ts +2 -1
- package/dist/cli/backend/src/utils/terminal-output.utils.d.ts.map +1 -1
- package/dist/cli/backend/src/utils/terminal-output.utils.js +2 -28
- package/dist/cli/backend/src/utils/terminal-output.utils.js.map +1 -1
- package/dist/cli/backend/src/utils/terminal-string-ops.d.ts +183 -0
- package/dist/cli/backend/src/utils/terminal-string-ops.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/terminal-string-ops.js +726 -0
- package/dist/cli/backend/src/utils/terminal-string-ops.js.map +1 -0
- 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,131 @@
|
|
|
1
|
+
import { RuntimeAgentService } from './runtime-agent.service.abstract.js';
|
|
2
|
+
import { RUNTIME_TYPES } from '../../constants.js';
|
|
3
|
+
/**
|
|
4
|
+
* OpenHands specific runtime service implementation.
|
|
5
|
+
* Handles OpenHands CLI initialization, detection, and interaction patterns.
|
|
6
|
+
*
|
|
7
|
+
* OpenHands (formerly OpenDevin) is an open-source AI coding agent with
|
|
8
|
+
* browser automation (BrowserGym) and multi-LLM support via LiteLLM.
|
|
9
|
+
* It supports both interactive TUI and headless JSONL modes.
|
|
10
|
+
*/
|
|
11
|
+
export class OpenHandsRuntimeService extends RuntimeAgentService {
|
|
12
|
+
constructor(sessionHelper, projectRoot) {
|
|
13
|
+
super(sessionHelper, projectRoot);
|
|
14
|
+
}
|
|
15
|
+
getRuntimeType() {
|
|
16
|
+
return RUNTIME_TYPES.OPENHANDS;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* OpenHands runtime detection using passive output inspection.
|
|
20
|
+
*
|
|
21
|
+
* Uses passive detection (like Codex) rather than active key probing
|
|
22
|
+
* (like Claude/Gemini). OpenHands TUI may not respond predictably
|
|
23
|
+
* to slash-key probes, so we check for ready patterns in terminal output.
|
|
24
|
+
*
|
|
25
|
+
* @param sessionName - PTY session name to check
|
|
26
|
+
* @returns True if OpenHands is detected as running
|
|
27
|
+
*/
|
|
28
|
+
async detectRuntimeSpecific(sessionName) {
|
|
29
|
+
const output = this.sessionHelper.capturePane(sessionName, 120);
|
|
30
|
+
const readyPatterns = this.getRuntimeReadyPatterns();
|
|
31
|
+
const hasReadySignal = readyPatterns.some((pattern) => output.includes(pattern));
|
|
32
|
+
this.logger.debug('OpenHands detection completed', {
|
|
33
|
+
sessionName,
|
|
34
|
+
hasReadySignal,
|
|
35
|
+
});
|
|
36
|
+
return hasReadySignal;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* OpenHands specific ready patterns.
|
|
40
|
+
*
|
|
41
|
+
* These patterns appear in the terminal when OpenHands CLI
|
|
42
|
+
* has finished initializing and is ready to accept input.
|
|
43
|
+
*/
|
|
44
|
+
getRuntimeReadyPatterns() {
|
|
45
|
+
return [
|
|
46
|
+
'>>',
|
|
47
|
+
'Setting agent(CodeActAgent) state from AgentState.LOADING to AgentState.RUNNING',
|
|
48
|
+
'CLIRuntime initialized',
|
|
49
|
+
'Tools updated for agent',
|
|
50
|
+
'OpenHands',
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* OpenHands specific exit patterns for runtime exit detection.
|
|
55
|
+
*
|
|
56
|
+
* Includes both clean exit patterns and error patterns that indicate
|
|
57
|
+
* the CLI has terminated or become unrecoverable.
|
|
58
|
+
*
|
|
59
|
+
* @returns Array of RegExp patterns that match runtime exit output
|
|
60
|
+
*/
|
|
61
|
+
getRuntimeExitPatterns() {
|
|
62
|
+
return [
|
|
63
|
+
/OpenHands.*exited/i,
|
|
64
|
+
/Session\s+ended/i,
|
|
65
|
+
/AgentState\.FINISHED/i,
|
|
66
|
+
/AgentState\.ERROR/i,
|
|
67
|
+
/Conversation\s+ended/i,
|
|
68
|
+
];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* OpenHands specific error patterns.
|
|
72
|
+
*
|
|
73
|
+
* These patterns indicate startup failures or unrecoverable errors
|
|
74
|
+
* during OpenHands CLI initialization.
|
|
75
|
+
*/
|
|
76
|
+
getRuntimeErrorPatterns() {
|
|
77
|
+
const commonErrors = ['Permission denied', 'No such file or directory'];
|
|
78
|
+
return [
|
|
79
|
+
...commonErrors,
|
|
80
|
+
'command not found: openhands',
|
|
81
|
+
'LLM API error',
|
|
82
|
+
'Authentication failed',
|
|
83
|
+
'Invalid API key',
|
|
84
|
+
'Rate limit exceeded',
|
|
85
|
+
'Model not found',
|
|
86
|
+
];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Check if OpenHands CLI is installed and configured.
|
|
90
|
+
*
|
|
91
|
+
* @returns Installation check result with status and message
|
|
92
|
+
*/
|
|
93
|
+
async checkOpenHandsInstallation() {
|
|
94
|
+
try {
|
|
95
|
+
return {
|
|
96
|
+
isInstalled: true,
|
|
97
|
+
message: 'OpenHands CLI is available',
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
return {
|
|
102
|
+
isInstalled: false,
|
|
103
|
+
message: 'OpenHands CLI not found or not configured',
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Initialize OpenHands in an existing session.
|
|
109
|
+
*
|
|
110
|
+
* @param sessionName - PTY session name to initialize in
|
|
111
|
+
* @returns Result with success status and message
|
|
112
|
+
*/
|
|
113
|
+
async initializeOpenHandsInSession(sessionName) {
|
|
114
|
+
try {
|
|
115
|
+
await this.executeRuntimeInitScript(sessionName);
|
|
116
|
+
return {
|
|
117
|
+
success: true,
|
|
118
|
+
message: 'OpenHands CLI initialized successfully',
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
return {
|
|
123
|
+
success: false,
|
|
124
|
+
message: error instanceof Error
|
|
125
|
+
? error.message
|
|
126
|
+
: 'Failed to initialize OpenHands CLI',
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=openhands-runtime.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openhands-runtime.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/openhands-runtime.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAoB,MAAM,oBAAoB,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAwB,SAAQ,mBAAmB;IAC/D,YAAY,aAAmC,EAAE,WAAmB;QACnE,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACnC,CAAC;IAES,cAAc;QACvB,OAAO,aAAa,CAAC,SAAS,CAAC;IAChC,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,qBAAqB,CAAC,WAAmB;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAEjF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;YAClD,WAAW;YACX,cAAc;SACd,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACO,uBAAuB;QAChC,OAAO;YACN,IAAI;YACJ,iFAAiF;YACjF,wBAAwB;YACxB,yBAAyB;YACzB,WAAW;SACX,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACO,sBAAsB;QAC/B,OAAO;YACN,oBAAoB;YACpB,kBAAkB;YAClB,uBAAuB;YACvB,oBAAoB;YACpB,uBAAuB;SACvB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACO,uBAAuB;QAChC,MAAM,YAAY,GAAG,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC;QACxE,OAAO;YACN,GAAG,YAAY;YACf,8BAA8B;YAC9B,eAAe;YACf,uBAAuB;YACvB,iBAAiB;YACjB,qBAAqB;YACrB,iBAAiB;SACjB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,0BAA0B;QAK/B,IAAI,CAAC;YACJ,OAAO;gBACN,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,4BAA4B;aACrC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO;gBACN,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,2CAA2C;aACpD,CAAC;QACH,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,4BAA4B,CAAC,WAAmB;QAIrD,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YACjD,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,wCAAwC;aACjD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,OAAO,EACN,KAAK,YAAY,KAAK;oBACrB,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,oCAAoC;aACxC,CAAC;QACH,CAAC;IACF,CAAC;CACD"}
|
|
@@ -17,8 +17,10 @@
|
|
|
17
17
|
export declare class PtyActivityTrackerService {
|
|
18
18
|
private static instance;
|
|
19
19
|
private logger;
|
|
20
|
-
/** Map of session name to last activity timestamp (epoch ms) */
|
|
20
|
+
/** Map of session name to last activity timestamp (epoch ms) — includes both PTY and API */
|
|
21
21
|
private lastActivityMap;
|
|
22
|
+
/** Map of session name to last API-only activity timestamp (epoch ms) */
|
|
23
|
+
private lastApiActivityMap;
|
|
22
24
|
private constructor();
|
|
23
25
|
/**
|
|
24
26
|
* Get the singleton instance.
|
|
@@ -37,6 +39,24 @@ export declare class PtyActivityTrackerService {
|
|
|
37
39
|
* @param sessionName - The session that produced output
|
|
38
40
|
*/
|
|
39
41
|
recordActivity(sessionName: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* Record API-specific activity for a session.
|
|
44
|
+
* Called by the agent heartbeat middleware when an actual API call is made.
|
|
45
|
+
* Also records general activity.
|
|
46
|
+
*
|
|
47
|
+
* @param sessionName - The session that made an API call
|
|
48
|
+
*/
|
|
49
|
+
recordApiActivity(sessionName: string): void;
|
|
50
|
+
/**
|
|
51
|
+
* Get the API-only idle time in milliseconds for a session.
|
|
52
|
+
* Unlike getIdleTimeMs(), this only considers API calls — not PTY output.
|
|
53
|
+
* Used by the heartbeat monitor to distinguish real orchestrator responses
|
|
54
|
+
* from PTY echo noise (e.g., heartbeat messages echoing back).
|
|
55
|
+
*
|
|
56
|
+
* @param sessionName - The session to check
|
|
57
|
+
* @returns Milliseconds since last API call, or 0 if never recorded
|
|
58
|
+
*/
|
|
59
|
+
getApiIdleTimeMs(sessionName: string): number;
|
|
40
60
|
/**
|
|
41
61
|
* Get the idle time in milliseconds for a session.
|
|
42
62
|
* Returns 0 if no activity has ever been recorded, treating unknown
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-activity-tracker.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/pty-activity-tracker.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;GAMG;AACH,qBAAa,yBAAyB;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0C;IACjE,OAAO,CAAC,MAAM,CAAkB;IAEhC,
|
|
1
|
+
{"version":3,"file":"pty-activity-tracker.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/pty-activity-tracker.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;GAMG;AACH,qBAAa,yBAAyB;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0C;IACjE,OAAO,CAAC,MAAM,CAAkB;IAEhC,4FAA4F;IAC5F,OAAO,CAAC,eAAe,CAAkC;IAEzD,yEAAyE;IACzE,OAAO,CAAC,kBAAkB,CAAkC;IAE5D,OAAO;IAIP;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,yBAAyB;IAO/C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;;OAKG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIzC;;;;;;OAMG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAM5C;;;;;;;;OAQG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAQ7C;;;;;;;;OAQG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAQ1C;;;;;;;;;OASG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAO3D;;;;;OAKG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIzC;;;;;;;;;OASG;IACH,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAOlE;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAMvC;;;;OAIG;IACH,sBAAsB,IAAI,MAAM;CAGhC"}
|
|
@@ -20,8 +20,10 @@ import { PTY_CONSTANTS } from '../../constants.js';
|
|
|
20
20
|
export class PtyActivityTrackerService {
|
|
21
21
|
static instance = null;
|
|
22
22
|
logger;
|
|
23
|
-
/** Map of session name to last activity timestamp (epoch ms) */
|
|
23
|
+
/** Map of session name to last activity timestamp (epoch ms) — includes both PTY and API */
|
|
24
24
|
lastActivityMap = new Map();
|
|
25
|
+
/** Map of session name to last API-only activity timestamp (epoch ms) */
|
|
26
|
+
lastApiActivityMap = new Map();
|
|
25
27
|
constructor() {
|
|
26
28
|
this.logger = LoggerService.getInstance().createComponentLogger('PtyActivityTracker');
|
|
27
29
|
}
|
|
@@ -51,6 +53,34 @@ export class PtyActivityTrackerService {
|
|
|
51
53
|
recordActivity(sessionName) {
|
|
52
54
|
this.lastActivityMap.set(sessionName, Date.now());
|
|
53
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Record API-specific activity for a session.
|
|
58
|
+
* Called by the agent heartbeat middleware when an actual API call is made.
|
|
59
|
+
* Also records general activity.
|
|
60
|
+
*
|
|
61
|
+
* @param sessionName - The session that made an API call
|
|
62
|
+
*/
|
|
63
|
+
recordApiActivity(sessionName) {
|
|
64
|
+
const now = Date.now();
|
|
65
|
+
this.lastActivityMap.set(sessionName, now);
|
|
66
|
+
this.lastApiActivityMap.set(sessionName, now);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get the API-only idle time in milliseconds for a session.
|
|
70
|
+
* Unlike getIdleTimeMs(), this only considers API calls — not PTY output.
|
|
71
|
+
* Used by the heartbeat monitor to distinguish real orchestrator responses
|
|
72
|
+
* from PTY echo noise (e.g., heartbeat messages echoing back).
|
|
73
|
+
*
|
|
74
|
+
* @param sessionName - The session to check
|
|
75
|
+
* @returns Milliseconds since last API call, or 0 if never recorded
|
|
76
|
+
*/
|
|
77
|
+
getApiIdleTimeMs(sessionName) {
|
|
78
|
+
const lastApi = this.lastApiActivityMap.get(sessionName);
|
|
79
|
+
if (lastApi === undefined) {
|
|
80
|
+
return 0;
|
|
81
|
+
}
|
|
82
|
+
return Date.now() - lastApi;
|
|
83
|
+
}
|
|
54
84
|
/**
|
|
55
85
|
* Get the idle time in milliseconds for a session.
|
|
56
86
|
* Returns 0 if no activity has ever been recorded, treating unknown
|
|
@@ -116,6 +146,7 @@ export class PtyActivityTrackerService {
|
|
|
116
146
|
*/
|
|
117
147
|
clearSession(sessionName) {
|
|
118
148
|
this.lastActivityMap.delete(sessionName);
|
|
149
|
+
this.lastApiActivityMap.delete(sessionName);
|
|
119
150
|
this.logger.debug('Cleared activity tracking for session', { sessionName });
|
|
120
151
|
}
|
|
121
152
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-activity-tracker.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/pty-activity-tracker.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAmB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,OAAO,yBAAyB;IAC7B,MAAM,CAAC,QAAQ,GAAqC,IAAI,CAAC;IACzD,MAAM,CAAkB;IAEhC,
|
|
1
|
+
{"version":3,"file":"pty-activity-tracker.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/pty-activity-tracker.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAmB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,OAAO,yBAAyB;IAC7B,MAAM,CAAC,QAAQ,GAAqC,IAAI,CAAC;IACzD,MAAM,CAAkB;IAEhC,4FAA4F;IACpF,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEzD,yEAAyE;IACjE,kBAAkB,GAAwB,IAAI,GAAG,EAAE,CAAC;IAE5D;QACC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;IACvF,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW;QACjB,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,CAAC;YACzC,yBAAyB,CAAC,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACtE,CAAC;QACD,OAAO,yBAAyB,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QACnB,yBAAyB,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,WAAmB;QACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,WAAmB;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;OAQG;IACH,gBAAgB,CAAC,WAAmB;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACV,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,WAAmB;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,CAAC;QACV,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;IAClC,CAAC;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,WAAmB,EAAE,UAAkB;QAChD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,WAAmB;QAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;OASG;IACH,sBAAsB,CAAC,WAAmB,EAAE,OAAe;QAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,QAAQ,CAAC,MAAM,IAAI,aAAa,CAAC,2BAA2B,EAAE,CAAC;YAClE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,WAAmB;QAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,sBAAsB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;IAClC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TaskTrackingService } from '../project/task-tracking.service.js';
|
|
2
2
|
import type { AgentRegistrationService } from './agent-registration.service.js';
|
|
3
|
+
import type { EventBusService } from '../event-bus/event-bus.service.js';
|
|
3
4
|
import { type RuntimeType } from '../../constants.js';
|
|
4
5
|
/**
|
|
5
6
|
* Service that monitors PTY sessions for runtime exit patterns.
|
|
@@ -18,6 +19,10 @@ import { type RuntimeType } from '../../constants.js';
|
|
|
18
19
|
* needs recovery. These failure patterns bypass the shell prompt verification
|
|
19
20
|
* since the CLI may still be running but non-functional.
|
|
20
21
|
*
|
|
22
|
+
* For Claude Code, the service detects fatal API errors (e.g. thinking
|
|
23
|
+
* block corruption) that make the CLI permanently non-functional within
|
|
24
|
+
* the current session. These trigger immediate recovery without retry.
|
|
25
|
+
*
|
|
21
26
|
* @example
|
|
22
27
|
* ```typescript
|
|
23
28
|
* const monitor = RuntimeExitMonitorService.getInstance();
|
|
@@ -33,6 +38,14 @@ export declare class RuntimeExitMonitorService {
|
|
|
33
38
|
private onExitDetectedCallback?;
|
|
34
39
|
private agentRegistrationService;
|
|
35
40
|
private taskTrackingService;
|
|
41
|
+
private eventBusService;
|
|
42
|
+
/**
|
|
43
|
+
* Restart timestamps per session, persisted across monitoring cycles.
|
|
44
|
+
* Unlike MonitoredSession (which is recreated on each startMonitoring call),
|
|
45
|
+
* this map survives agent restarts to prevent infinite restart loops
|
|
46
|
+
* when agents keep crashing (e.g. during network outages).
|
|
47
|
+
*/
|
|
48
|
+
private restartHistory;
|
|
36
49
|
private constructor();
|
|
37
50
|
/**
|
|
38
51
|
* Get the singleton instance.
|
|
@@ -61,6 +74,12 @@ export declare class RuntimeExitMonitorService {
|
|
|
61
74
|
* @param service - The TaskTrackingService instance
|
|
62
75
|
*/
|
|
63
76
|
setTaskTrackingService(service: TaskTrackingService): void;
|
|
77
|
+
/**
|
|
78
|
+
* Set the EventBusService dependency for publishing agent lifecycle events.
|
|
79
|
+
*
|
|
80
|
+
* @param service - The EventBusService instance
|
|
81
|
+
*/
|
|
82
|
+
setEventBusService(service: EventBusService): void;
|
|
64
83
|
/**
|
|
65
84
|
* Start monitoring a PTY session for runtime exit patterns.
|
|
66
85
|
*
|
|
@@ -97,19 +116,24 @@ export declare class RuntimeExitMonitorService {
|
|
|
97
116
|
* dead. Gemini CLI often recovers automatically from transient API errors
|
|
98
117
|
* (RESOURCE_EXHAUSTED, UNAVAILABLE, Connection error). Only after
|
|
99
118
|
* MAX_RETRIES does the system proceed with the exit/restart flow.
|
|
119
|
+
*
|
|
120
|
+
* For Claude Code fatal patterns (thinking block corruption, etc.),
|
|
121
|
+
* the system skips retry and forces immediate recovery since these
|
|
122
|
+
* errors are permanently unrecoverable within the same session.
|
|
100
123
|
*/
|
|
101
124
|
private confirmAndReact;
|
|
102
125
|
/**
|
|
103
126
|
* Handle a Gemini CLI failure with exponential backoff retry.
|
|
104
127
|
*
|
|
105
128
|
* Waits with increasing delays and checks if the CLI recovers (returns
|
|
106
|
-
* to a ready prompt). Returns 'recovered' if the CLI is back,
|
|
107
|
-
* '
|
|
129
|
+
* to a ready prompt). Returns 'recovered' if the CLI is back,
|
|
130
|
+
* 'deferred' if retries remain (skip exit flow, re-check on next
|
|
131
|
+
* failure detection), or 'exhausted' if max retries have been reached.
|
|
108
132
|
*
|
|
109
133
|
* @param sessionName - PTY session name
|
|
110
134
|
* @param monitored - Monitored session state (retry counter is mutated)
|
|
111
135
|
* @param helper - Session command helper for terminal output capture
|
|
112
|
-
* @returns 'recovered'
|
|
136
|
+
* @returns 'recovered' | 'deferred' | 'exhausted'
|
|
113
137
|
*/
|
|
114
138
|
private handleGeminiFailureWithRetry;
|
|
115
139
|
/**
|
|
@@ -155,5 +179,55 @@ export declare class RuntimeExitMonitorService {
|
|
|
155
179
|
* that the agent CLI has actually exited and returned to the shell.
|
|
156
180
|
*/
|
|
157
181
|
private verifyExitWithShellPrompt;
|
|
182
|
+
/**
|
|
183
|
+
* Check if an agent restart is allowed based on cooldown window.
|
|
184
|
+
* Prevents infinite restart loops when agents keep crashing (e.g. during
|
|
185
|
+
* network outages). Uses the same limits as AgentHeartbeatMonitorService.
|
|
186
|
+
*
|
|
187
|
+
* @param sessionName - PTY session name
|
|
188
|
+
* @returns True if restart is allowed, false if cooldown is active
|
|
189
|
+
*/
|
|
190
|
+
private isAgentRestartAllowed;
|
|
191
|
+
/**
|
|
192
|
+
* Record a restart attempt for cooldown tracking.
|
|
193
|
+
*
|
|
194
|
+
* @param sessionName - PTY session name
|
|
195
|
+
*/
|
|
196
|
+
private recordAgentRestart;
|
|
197
|
+
/**
|
|
198
|
+
* Classify an error reason as transient or persistent.
|
|
199
|
+
*
|
|
200
|
+
* Transient errors (connectivity, timeout, quota) may resolve on retry.
|
|
201
|
+
* Persistent errors (auth, config, crash loop) require manual intervention.
|
|
202
|
+
*
|
|
203
|
+
* @param reason - The failure reason string
|
|
204
|
+
* @returns 'TRANSIENT' | 'PERSISTENT' | 'UNKNOWN'
|
|
205
|
+
*/
|
|
206
|
+
private classifyError;
|
|
207
|
+
/**
|
|
208
|
+
* Notify the orchestrator about an agent failure via the chat API (#129).
|
|
209
|
+
*
|
|
210
|
+
* Sends a structured failure notification with error classification so the
|
|
211
|
+
* orchestrator can decide whether to restart the agent, reassign tasks,
|
|
212
|
+
* or inform the user. This is fire-and-forget — failures are logged but
|
|
213
|
+
* do not block the exit flow.
|
|
214
|
+
*
|
|
215
|
+
* @param sessionName - Failed agent's PTY session name
|
|
216
|
+
* @param reason - Failure reason (runtime_exited, api_failure, etc.)
|
|
217
|
+
* @param activeTasks - In-progress tasks the agent had, if any
|
|
218
|
+
* @param restartSucceeded - Whether automatic restart succeeded
|
|
219
|
+
*/
|
|
220
|
+
private notifyOrchestratorOfFailure;
|
|
221
|
+
/**
|
|
222
|
+
* Publish agent:status_changed and agent:inactive events to the EventBus.
|
|
223
|
+
*
|
|
224
|
+
* Looks up team/member names from StorageService to build the full
|
|
225
|
+
* AgentEvent. This mirrors the pattern used in TeamsJsonWatcherService.
|
|
226
|
+
*
|
|
227
|
+
* @param sessionName - PTY session name
|
|
228
|
+
* @param monitored - Monitored session state with teamId/memberId
|
|
229
|
+
* @param storageService - StorageService instance for team/member lookup
|
|
230
|
+
*/
|
|
231
|
+
private publishInactiveEvent;
|
|
158
232
|
}
|
|
159
233
|
//# sourceMappingURL=runtime-exit-monitor.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-exit-monitor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/runtime-exit-monitor.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime-exit-monitor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/runtime-exit-monitor.service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGzE,OAAO,EAeN,KAAK,WAAW,EAChB,MAAM,oBAAoB,CAAC;AAyB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,yBAAyB;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0C;IACjE,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,sBAAsB,CAAC,CAAgC;IAC/D,OAAO,CAAC,wBAAwB,CAAyC;IACzE,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,eAAe,CAAgC;IAEvD;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAA+B;IAErD,OAAO;IAIP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,yBAAyB;IAO/C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAO5B;;;;;OAKG;IACH,yBAAyB,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIxE;;;;OAIG;IACH,2BAA2B,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAIpE;;;;OAIG;IACH,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAI1D;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAIlD;;;;;;;;OAQG;IACH,eAAe,CACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GACf,IAAI;IAwEP;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAmBzC;;OAEG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAI1C;;OAEG;IACH,OAAO,IAAI,IAAI;IASf;;OAEG;IACH,OAAO,CAAC,UAAU;IAsClB;;;;;;;;;;;;OAYG;YACW,eAAe;IAiS7B;;;;;;;;;;;;OAYG;YACW,4BAA4B;IAkF1C;;;;;;;;;;;;;;OAcG;YACW,qBAAqB;IA8EnC;;;;;;;;OAQG;YACW,cAAc;IAkE5B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IA6CzB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IASjC;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,2BAA2B;IAsEnC;;;;;;;;;OASG;YACW,oBAAoB;CAoDlC"}
|