crewly 1.6.3 → 1.6.5
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/config/roles/architect/prompt.md +68 -2
- package/config/roles/auditor/prompt.md +68 -0
- package/config/roles/backend-developer/prompt.md +68 -2
- package/config/roles/content-strategist/prompt.md +73 -5
- package/config/roles/designer/prompt.md +69 -4
- package/config/roles/developer/prompt.md +231 -4
- package/config/roles/frontend-developer/prompt.md +68 -2
- package/config/roles/fullstack-dev/prompt.md +68 -2
- package/config/roles/generalist/prompt.md +68 -2
- package/config/roles/ops/prompt.md +69 -3
- package/config/roles/orchestrator/fragments/communication.md +27 -0
- package/config/roles/orchestrator/fragments/role-boundary.md +1 -1
- package/config/roles/orchestrator/prompt.md +215 -72
- package/config/roles/product-manager/prompt.md +140 -7
- package/config/roles/qa/prompt.md +70 -5
- package/config/roles/qa-engineer/prompt.md +70 -5
- package/config/roles/researcher/prompt.md +68 -2
- package/config/roles/sales/prompt.md +70 -5
- package/config/roles/support/prompt.md +69 -4
- package/config/roles/team-leader/prompt.md +87 -6
- package/config/roles/team-leader/role-boundaries.md +26 -0
- package/config/roles/team-leader/tl-addon.md +153 -1
- package/config/roles/tpm/prompt.md +68 -2
- package/config/roles/ux-designer/prompt.md +70 -5
- package/config/skills/_common/complete-body-shape.test.sh +249 -0
- package/config/skills/agent/core/accept-task/execute.sh +18 -15
- package/config/skills/agent/core/block-task/execute.sh +27 -9
- package/config/skills/agent/core/cancel-followup/SKILL.md +18 -0
- package/config/skills/agent/core/complete-task/execute.sh +45 -7
- package/config/skills/agent/core/create-task/execute.sh +40 -12
- package/config/skills/agent/core/get-my-active-work/SKILL.md +3 -1
- package/config/skills/agent/core/get-my-tasks/execute.sh +7 -5
- package/config/skills/agent/core/handoff-task/execute.sh +34 -48
- package/config/skills/agent/core/list-my-followups/SKILL.md +18 -0
- package/config/skills/agent/core/read-task/execute.sh +21 -8
- package/config/skills/agent/core/recall/SKILL.md +7 -0
- package/config/skills/agent/core/remember/SKILL.md +17 -1
- package/config/skills/agent/core/remember/execute.sh +5 -1
- package/config/skills/agent/core/reply-channel/SKILL.md +19 -0
- package/config/skills/agent/core/report-progress/execute.sh +39 -16
- package/config/skills/agent/core/report-status/execute.sh +36 -12
- package/config/skills/agent/core/save-working-state/execute.sh +17 -6
- package/config/skills/agent/core/schedule-followup/SKILL.md +19 -0
- package/config/skills/agent/core/send-message/SKILL.md +6 -0
- package/config/skills/agent/core/supersede-memory/SKILL.md +76 -0
- package/config/skills/agent/core/supersede-memory/execute.sh +108 -0
- package/config/skills/agent/core/watch-for-event/SKILL.md +19 -0
- package/config/skills/agent/onboarding/materialize-team/SKILL.md +94 -0
- package/config/skills/agent/onboarding/materialize-team/execute.sh +98 -0
- package/config/skills/agent/onboarding/recommend-team/SKILL.md +90 -0
- package/config/skills/agent/onboarding/recommend-team/execute.sh +96 -0
- package/config/skills/agent/xhs-article-to-image/SKILL.md +20 -0
- package/config/skills/auditor/score-task/SKILL.md +15 -0
- package/config/skills/orchestrator/assign-task/execute.sh +28 -4
- package/config/skills/orchestrator/cancel-all-schedules/SKILL.md +15 -1
- package/config/skills/orchestrator/complete-task/execute.sh +45 -4
- package/config/skills/orchestrator/delegate-task/SKILL.md +1 -0
- package/config/skills/orchestrator/delegate-task/execute.sh +41 -2
- package/config/skills/orchestrator/get-tasks/execute.sh +22 -18
- package/config/skills/orchestrator/list-schedules/SKILL.md +15 -1
- package/config/skills/orchestrator/update-team-member/SKILL.md +20 -0
- package/config/skills/team-leader/decompose-goal/execute.sh +51 -20
- package/config/skills/team-leader/delegate-task/execute.sh +67 -26
- package/config/skills/team-leader/delegate-task/execute.test.sh +117 -0
- package/config/skills/team-leader/verify-output/execute.sh +19 -20
- package/config/sops/common/dev-process-tiers.md +181 -0
- package/config/sops/common/owner-facing-communication.md +131 -0
- package/config/souls/orchestrator.md +8 -0
- package/config/souls/team-leader.md +77 -0
- package/dist/backend/backend/src/controllers/active-work/active-work.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/active-work/active-work.controller.js +4 -1
- package/dist/backend/backend/src/controllers/active-work/active-work.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts +8 -1
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js +30 -26
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/api.controller.d.ts +0 -9
- package/dist/backend/backend/src/controllers/api.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/api.controller.js +4 -32
- package/dist/backend/backend/src/controllers/api.controller.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 +5 -2
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +5 -2
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/checklist/checklist.controller.d.ts +45 -0
- package/dist/backend/backend/src/controllers/checklist/checklist.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/checklist/checklist.controller.js +122 -0
- package/dist/backend/backend/src/controllers/checklist/checklist.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts +24 -0
- package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.controller.js +69 -1
- package/dist/backend/backend/src/controllers/memory/memory.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts +1 -0
- package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.routes.js +3 -1
- package/dist/backend/backend/src/controllers/memory/memory.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 +80 -5
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.d.ts +1 -0
- package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.js +30 -0
- package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.d.ts +41 -0
- package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.js +213 -0
- package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.d.ts +21 -0
- package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.js +27 -0
- package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +97 -0
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.d.ts +13 -3
- package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.js +29 -24
- package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/tasks.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/tasks.controller.js +61 -13
- package/dist/backend/backend/src/controllers/task-management/tasks.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +159 -7
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +421 -37
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js +15 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.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 +221 -10
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.d.ts +22 -0
- package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.js +92 -0
- package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.js +6 -2
- package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/types.d.ts +1 -2
- package/dist/backend/backend/src/controllers/types.d.ts.map +1 -1
- package/dist/backend/backend/src/index.d.ts +4 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +307 -64
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/models/Project.d.ts +2 -0
- package/dist/backend/backend/src/models/Project.d.ts.map +1 -1
- package/dist/backend/backend/src/models/Project.js +10 -1
- package/dist/backend/backend/src/models/Project.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 +4 -1
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts +15 -0
- package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/modules/task-management.routes.js +23 -43
- package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
- package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.d.ts +87 -0
- package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.d.ts.map +1 -0
- package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.js +116 -0
- package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.js.map +1 -0
- package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts +46 -6
- package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/active-work-briefing.service.js +56 -13
- package/dist/backend/backend/src/services/agent/active-work-briefing.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +9 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +58 -11
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +31 -5
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +69 -29
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +113 -75
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +5 -3
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +35 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +127 -3
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts +79 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js +145 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts +91 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js +120 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +64 -9
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +125 -15
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +101 -33
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +76 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js +73 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +5 -5
- 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 +22 -8
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +10 -0
- 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 +160 -4
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts +37 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +77 -3
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.d.ts +59 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.js +87 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.d.ts +67 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.js +84 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +4 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/index.js +4 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.d.ts +65 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js +79 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.d.ts +60 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.js +104 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +45 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +16 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.d.ts +106 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.js +167 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js +28 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.d.ts +38 -6
- package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.js +73 -10
- package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.d.ts +91 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.js +136 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.js.map +1 -0
- package/dist/backend/backend/src/services/autonomous/index.d.ts +7 -3
- package/dist/backend/backend/src/services/autonomous/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/autonomous/index.js +7 -3
- package/dist/backend/backend/src/services/autonomous/index.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-bridge.service.js +16 -22
- package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +13 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +15 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts +11 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js +51 -19
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +18 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +23 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
- package/dist/backend/backend/src/services/core/config.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/config.service.js +8 -1
- package/dist/backend/backend/src/services/core/config.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/crewly-home.utils.d.ts +51 -0
- package/dist/backend/backend/src/services/core/crewly-home.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/services/core/crewly-home.utils.js +59 -0
- package/dist/backend/backend/src/services/core/crewly-home.utils.js.map +1 -0
- package/dist/backend/backend/src/services/core/state-invariant.types.d.ts +53 -0
- package/dist/backend/backend/src/services/core/state-invariant.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/core/state-invariant.types.js +61 -0
- package/dist/backend/backend/src/services/core/state-invariant.types.js.map +1 -0
- package/dist/backend/backend/src/services/core/storage.service.d.ts +20 -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 +96 -8
- package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/teams-backup.service.d.ts +94 -4
- package/dist/backend/backend/src/services/core/teams-backup.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/teams-backup.service.js +172 -10
- package/dist/backend/backend/src/services/core/teams-backup.service.js.map +1 -1
- package/dist/backend/backend/src/services/index.d.ts +0 -2
- package/dist/backend/backend/src/services/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/index.js +0 -2
- package/dist/backend/backend/src/services/index.js.map +1 -1
- package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.d.ts +78 -0
- package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.d.ts.map +1 -0
- package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.js +209 -0
- package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.js.map +1 -0
- package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.d.ts +331 -0
- package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.d.ts.map +1 -0
- package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.js +413 -0
- package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.js.map +1 -0
- package/dist/backend/backend/src/services/intent-task/intent-task.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/intent-task/intent-task.service.js +13 -4
- package/dist/backend/backend/src/services/intent-task/intent-task.service.js.map +1 -1
- package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/knowledge/fts5-index.service.js +18 -13
- package/dist/backend/backend/src/services/knowledge/fts5-index.service.js.map +1 -1
- package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +102 -0
- package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +1 -0
- package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js +118 -0
- package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js.map +1 -0
- package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/knowledge/vector-store.service.js +11 -15
- package/dist/backend/backend/src/services/knowledge/vector-store.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts +20 -0
- package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/agent-memory.service.js +27 -2
- package/dist/backend/backend/src/services/memory/agent-memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/memory-supersession.service.d.ts +104 -0
- package/dist/backend/backend/src/services/memory/memory-supersession.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/memory/memory-supersession.service.js +127 -0
- package/dist/backend/backend/src/services/memory/memory-supersession.service.js.map +1 -0
- package/dist/backend/backend/src/services/memory/memory.service.d.ts +48 -17
- package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.js +65 -35
- package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/mission-context.service.d.ts +168 -0
- package/dist/backend/backend/src/services/memory/mission-context.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/memory/mission-context.service.js +365 -0
- package/dist/backend/backend/src/services/memory/mission-context.service.js.map +1 -0
- package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.d.ts +138 -0
- package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.d.ts.map +1 -0
- package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.js +183 -0
- package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.js.map +1 -0
- package/dist/backend/backend/src/services/memory/vector-store.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/vector-store.service.js +7 -11
- package/dist/backend/backend/src/services/memory/vector-store.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/working-memory.service.d.ts +232 -0
- package/dist/backend/backend/src/services/memory/working-memory.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/memory/working-memory.service.js +417 -0
- package/dist/backend/backend/src/services/memory/working-memory.service.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js +23 -2
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +2 -2
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.d.ts +27 -7
- package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.js +66 -27
- package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.js +2 -2
- package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.js.map +1 -1
- package/dist/backend/backend/src/services/observability/agent-behavior-log.service.d.ts +132 -0
- package/dist/backend/backend/src/services/observability/agent-behavior-log.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/observability/agent-behavior-log.service.js +284 -0
- package/dist/backend/backend/src/services/observability/agent-behavior-log.service.js.map +1 -0
- package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.d.ts +70 -0
- package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.d.ts.map +1 -0
- package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.js +121 -0
- package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.js.map +1 -0
- package/dist/backend/backend/src/services/observability/agent-behavior-log.types.d.ts +130 -0
- package/dist/backend/backend/src/services/observability/agent-behavior-log.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/observability/agent-behavior-log.types.js +48 -0
- package/dist/backend/backend/src/services/observability/agent-behavior-log.types.js.map +1 -0
- package/dist/backend/backend/src/services/observability/observability-db.d.ts +84 -0
- package/dist/backend/backend/src/services/observability/observability-db.d.ts.map +1 -0
- package/dist/backend/backend/src/services/observability/observability-db.js +165 -0
- package/dist/backend/backend/src/services/observability/observability-db.js.map +1 -0
- package/dist/backend/backend/src/services/onboarding/onboarding.service.d.ts +22 -0
- package/dist/backend/backend/src/services/onboarding/onboarding.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding.service.js +36 -0
- package/dist/backend/backend/src/services/onboarding/onboarding.service.js.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding.types.d.ts +21 -2
- package/dist/backend/backend/src/services/onboarding/onboarding.types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.js +12 -3
- package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/index.d.ts +1 -0
- package/dist/backend/backend/src/services/orchestrator/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/index.js +1 -0
- package/dist/backend/backend/src/services/orchestrator/index.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.d.ts +108 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.d.ts.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js +165 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.d.ts +114 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.d.ts.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.js +299 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.js.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.d.ts +128 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.js +195 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.js.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.d.ts +66 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.d.ts.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.js +145 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.js.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.d.ts +59 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.d.ts.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.js +68 -0
- package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.js.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-setup.service.d.ts +114 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-setup.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-setup.service.js +195 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-setup.service.js.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js +18 -6
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.d.ts +67 -0
- package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.d.ts.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.js +290 -0
- package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.js.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/state-persistence.service.d.ts +23 -1
- package/dist/backend/backend/src/services/orchestrator/state-persistence.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/state-persistence.service.js +64 -1
- package/dist/backend/backend/src/services/orchestrator/state-persistence.service.js.map +1 -1
- package/dist/backend/backend/src/services/project/active-projects.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project/active-projects.service.js +2 -2
- package/dist/backend/backend/src/services/project/active-projects.service.js.map +1 -1
- 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 +2 -2
- package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -1
- package/dist/backend/backend/src/services/prompt/prompt-generator.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/prompt/prompt-generator.service.js +2 -2
- package/dist/backend/backend/src/services/prompt/prompt-generator.service.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +51 -5
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +162 -15
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +15 -2
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +153 -11
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
- package/dist/backend/backend/src/services/session/session-handoff.service.d.ts +31 -18
- package/dist/backend/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/session-handoff.service.js +73 -80
- package/dist/backend/backend/src/services/session/session-handoff.service.js.map +1 -1
- package/dist/backend/backend/src/services/session/session-state-persistence.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/session-state-persistence.js +15 -4
- package/dist/backend/backend/src/services/session/session-state-persistence.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 +25 -0
- package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts +14 -3
- package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-catalog.service.js +28 -3
- package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/cross-machine-message.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/cross-machine-message.service.js +13 -18
- package/dist/backend/backend/src/services/slack/cross-machine-message.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +68 -0
- 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 +281 -21
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.js +21 -0
- package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts +15 -1
- package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/pool-storage.js +31 -8
- package/dist/backend/backend/src/services/task-pool/pool-storage.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +183 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js +404 -8
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts +14 -1
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +128 -17
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/cascade-request-status.d.ts +95 -0
- package/dist/backend/backend/src/services/v3/cascade-request-status.d.ts.map +1 -0
- package/dist/backend/backend/src/services/v3/cascade-request-status.js +147 -0
- package/dist/backend/backend/src/services/v3/cascade-request-status.js.map +1 -0
- package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/escalation-router.service.js +42 -0
- package/dist/backend/backend/src/services/v3/escalation-router.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/mission-executor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/mission-executor.service.js +16 -4
- package/dist/backend/backend/src/services/v3/mission-executor.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/request-cascade.subscriber.d.ts +87 -0
- package/dist/backend/backend/src/services/v3/request-cascade.subscriber.d.ts.map +1 -0
- package/dist/backend/backend/src/services/v3/request-cascade.subscriber.js +152 -0
- package/dist/backend/backend/src/services/v3/request-cascade.subscriber.js.map +1 -0
- package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts +253 -0
- package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts.map +1 -0
- package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js +476 -0
- package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js.map +1 -0
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts +55 -0
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +257 -20
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts +204 -0
- package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts.map +1 -0
- package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js +575 -0
- package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js.map +1 -0
- package/dist/backend/backend/src/services/v3/request.service.d.ts +107 -0
- package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/request.service.js +155 -2
- package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +69 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.js +157 -4
- package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/v3-data.service.d.ts +50 -26
- package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/v3-data.service.js +126 -161
- package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/work-item-projection.d.ts +40 -0
- package/dist/backend/backend/src/services/v3/work-item-projection.d.ts.map +1 -0
- package/dist/backend/backend/src/services/v3/work-item-projection.js +115 -0
- package/dist/backend/backend/src/services/v3/work-item-projection.js.map +1 -0
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +121 -0
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -0
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +268 -0
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js +11 -2
- package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.js +68 -14
- package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.js +12 -0
- package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +11 -1
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js +0 -2
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/types/intent-task.types.d.ts +22 -3
- package/dist/backend/backend/src/types/intent-task.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/intent-task.types.js +201 -40
- package/dist/backend/backend/src/types/intent-task.types.js.map +1 -1
- package/dist/backend/backend/src/types/memory.types.d.ts +53 -0
- package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/memory.types.js.map +1 -1
- package/dist/backend/backend/src/types/orchestrator-state.types.d.ts +49 -0
- package/dist/backend/backend/src/types/orchestrator-state.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/orchestrator-state.types.js +27 -0
- package/dist/backend/backend/src/types/orchestrator-state.types.js.map +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts +38 -2
- package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.js +16 -2
- package/dist/backend/backend/src/types/settings.types.js.map +1 -1
- package/dist/backend/backend/src/types/v2/request.types.d.ts +5 -1
- package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/request.types.js +2 -2
- package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts +40 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.js +20 -0
- package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/backend/backend/src/utils/esm-require.utils.d.ts +111 -0
- package/dist/backend/backend/src/utils/esm-require.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/esm-require.utils.js +124 -0
- package/dist/backend/backend/src/utils/esm-require.utils.js.map +1 -0
- package/dist/backend/backend/src/utils/integrity-guarded-write.utils.d.ts +119 -0
- package/dist/backend/backend/src/utils/integrity-guarded-write.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/integrity-guarded-write.utils.js +212 -0
- package/dist/backend/backend/src/utils/integrity-guarded-write.utils.js.map +1 -0
- package/dist/backend/backend/src/utils/native-binding.utils.d.ts +128 -0
- package/dist/backend/backend/src/utils/native-binding.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/native-binding.utils.js +206 -0
- package/dist/backend/backend/src/utils/native-binding.utils.js.map +1 -0
- package/dist/backend/backend/src/utils/node-require.utils.d.ts +104 -0
- package/dist/backend/backend/src/utils/node-require.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/node-require.utils.js +111 -0
- package/dist/backend/backend/src/utils/node-require.utils.js.map +1 -0
- package/dist/cli/backend/src/models/Project.d.ts +2 -0
- package/dist/cli/backend/src/models/Project.d.ts.map +1 -1
- package/dist/cli/backend/src/models/Project.js +10 -1
- package/dist/cli/backend/src/models/Project.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +16 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
- package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/config.service.js +8 -1
- package/dist/cli/backend/src/services/core/config.service.js.map +1 -1
- package/dist/cli/backend/src/services/core/crewly-home.utils.d.ts +51 -0
- package/dist/cli/backend/src/services/core/crewly-home.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/crewly-home.utils.js +59 -0
- package/dist/cli/backend/src/services/core/crewly-home.utils.js.map +1 -0
- package/dist/cli/backend/src/services/core/state-invariant.types.d.ts +53 -0
- package/dist/cli/backend/src/services/core/state-invariant.types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/state-invariant.types.js +61 -0
- package/dist/cli/backend/src/services/core/state-invariant.types.js.map +1 -0
- package/dist/cli/backend/src/services/core/storage.service.d.ts +20 -0
- package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/storage.service.js +96 -8
- package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/cli/backend/src/services/core/teams-backup.service.d.ts +94 -4
- package/dist/cli/backend/src/services/core/teams-backup.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/teams-backup.service.js +172 -10
- package/dist/cli/backend/src/services/core/teams-backup.service.js.map +1 -1
- package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts +245 -0
- package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/event-bus/event-bus.service.js +639 -0
- package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -0
- package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/knowledge/fts5-index.service.js +18 -13
- package/dist/cli/backend/src/services/knowledge/fts5-index.service.js.map +1 -1
- package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +102 -0
- package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +1 -0
- package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js +118 -0
- package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js.map +1 -0
- package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/knowledge/vector-store.service.js +11 -15
- package/dist/cli/backend/src/services/knowledge/vector-store.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +20 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/agent-memory.service.js +27 -2
- package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.d.ts +48 -17
- package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.js +65 -35
- package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.d.ts +138 -0
- package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.js +183 -0
- package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.js.map +1 -0
- package/dist/cli/backend/src/services/messaging/message-queue.service.d.ts +236 -0
- package/dist/cli/backend/src/services/messaging/message-queue.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/messaging/message-queue.service.js +581 -0
- package/dist/cli/backend/src/services/messaging/message-queue.service.js.map +1 -0
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/project/task-tracking.service.js +2 -2
- package/dist/cli/backend/src/services/project/task-tracking.service.js.map +1 -1
- package/dist/cli/backend/src/services/settings/settings.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/settings/settings.service.js +25 -0
- package/dist/cli/backend/src/services/settings/settings.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-thread-store.service.d.ts +147 -0
- package/dist/cli/backend/src/services/slack/slack-thread-store.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-thread-store.service.js +258 -0
- package/dist/cli/backend/src/services/slack/slack-thread-store.service.js.map +1 -0
- package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts +15 -1
- package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/pool-storage.js +31 -8
- package/dist/cli/backend/src/services/task-pool/pool-storage.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +459 -9
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js +1050 -126
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/services/v3/work-item-projection.d.ts +40 -0
- package/dist/cli/backend/src/services/v3/work-item-projection.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/work-item-projection.js +115 -0
- package/dist/cli/backend/src/services/v3/work-item-projection.js.map +1 -0
- package/dist/cli/backend/src/types/event-bus.types.d.ts +173 -0
- package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/event-bus.types.js +218 -0
- package/dist/cli/backend/src/types/event-bus.types.js.map +1 -0
- package/dist/cli/backend/src/types/index.d.ts +11 -1
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.js +0 -2
- package/dist/cli/backend/src/types/index.js.map +1 -1
- package/dist/cli/backend/src/types/memory.types.d.ts +53 -0
- package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/memory.types.js.map +1 -1
- package/dist/cli/backend/src/types/messaging.types.d.ts +223 -0
- package/dist/cli/backend/src/types/messaging.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/messaging.types.js +231 -0
- package/dist/cli/backend/src/types/messaging.types.js.map +1 -0
- package/dist/cli/backend/src/types/settings.types.d.ts +38 -2
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.js +16 -2
- package/dist/cli/backend/src/types/settings.types.js.map +1 -1
- package/dist/cli/backend/src/types/slack.types.d.ts +356 -0
- package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/slack.types.js +66 -0
- package/dist/cli/backend/src/types/slack.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/claim.types.d.ts +2 -5
- package/dist/cli/backend/src/types/v2/claim.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/claim.types.js +2 -5
- package/dist/cli/backend/src/types/v2/claim.types.js.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts +40 -1
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.js +20 -0
- package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/cli/backend/src/utils/format-error.d.ts +8 -0
- package/dist/cli/backend/src/utils/format-error.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/format-error.js +10 -0
- package/dist/cli/backend/src/utils/format-error.js.map +1 -0
- package/dist/cli/backend/src/utils/integrity-guarded-write.utils.d.ts +119 -0
- package/dist/cli/backend/src/utils/integrity-guarded-write.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/integrity-guarded-write.utils.js +212 -0
- package/dist/cli/backend/src/utils/integrity-guarded-write.utils.js.map +1 -0
- package/dist/cli/backend/src/utils/node-require.utils.d.ts +104 -0
- package/dist/cli/backend/src/utils/node-require.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/node-require.utils.js +111 -0
- package/dist/cli/backend/src/utils/node-require.utils.js.map +1 -0
- package/frontend/dist/assets/{index-7a4e7df5.js → index-698305f3.js} +337 -337
- package/frontend/dist/index.html +1 -1
- package/package.json +6 -2
- package/dist/backend/backend/src/controllers/eval/eval.controller.d.ts +0 -63
- package/dist/backend/backend/src/controllers/eval/eval.controller.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/eval/eval.controller.js +0 -228
- package/dist/backend/backend/src/controllers/eval/eval.controller.js.map +0 -1
- package/dist/backend/backend/src/controllers/eval/eval.routes.d.ts +0 -23
- package/dist/backend/backend/src/controllers/eval/eval.routes.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/eval/eval.routes.js +0 -37
- package/dist/backend/backend/src/controllers/eval/eval.routes.js.map +0 -1
- package/dist/backend/backend/src/controllers/knowledge-v3/index.d.ts +0 -8
- package/dist/backend/backend/src/controllers/knowledge-v3/index.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/knowledge-v3/index.js +0 -8
- package/dist/backend/backend/src/controllers/knowledge-v3/index.js.map +0 -1
- package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.d.ts +0 -63
- package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.js +0 -179
- package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.js.map +0 -1
- package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.d.ts +0 -22
- package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.js +0 -34
- package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.d.ts +0 -130
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.js +0 -406
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.d.ts +0 -68
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.js +0 -206
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.d.ts +0 -32
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.js +0 -46
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.d.ts +0 -87
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.js +0 -299
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.d.ts +0 -59
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.js +0 -218
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.d.ts +0 -203
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.js +0 -467
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.d.ts +0 -313
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.js +0 -45
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.d.ts +0 -21
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.js +0 -21
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.d.ts +0 -15
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.js +0 -349
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.d.ts +0 -97
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.js +0 -414
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.d.ts +0 -42
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.js +0 -403
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.d.ts +0 -41
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.js +0 -58
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.d.ts +0 -15
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.js +0 -396
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.d.ts +0 -14
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.js +0 -564
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.d.ts +0 -13
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.js +0 -634
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.d.ts +0 -21
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.js +0 -1036
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.d.ts +0 -100
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.js +0 -187
- package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.js.map +0 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts +0 -79
- package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts.map +0 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js +0 -118
- package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js.map +0 -1
- package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.d.ts +0 -113
- package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.js +0 -179
- package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.js.map +0 -1
- package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.d.ts +0 -131
- package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.js +0 -227
- package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.js.map +0 -1
- package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.d.ts +0 -56
- package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.d.ts.map +0 -1
- package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.js +0 -91
- package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.js.map +0 -1
- package/dist/backend/backend/src/services/memory/learning-format.validator.d.ts +0 -97
- package/dist/backend/backend/src/services/memory/learning-format.validator.d.ts.map +0 -1
- package/dist/backend/backend/src/services/memory/learning-format.validator.js +0 -209
- package/dist/backend/backend/src/services/memory/learning-format.validator.js.map +0 -1
- /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.d.ts +0 -0
- /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.d.ts.map +0 -0
- /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.js +0 -0
- /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.js.map +0 -0
|
@@ -13,7 +13,7 @@ import helmet from 'helmet';
|
|
|
13
13
|
import morgan from 'morgan';
|
|
14
14
|
import os from 'os';
|
|
15
15
|
import { fileURLToPath } from 'url';
|
|
16
|
-
import { StorageService, TmuxService, SchedulerService, MessageSchedulerService, ActivityMonitorService,
|
|
16
|
+
import { StorageService, TmuxService, SchedulerService, MessageSchedulerService, ActivityMonitorService, TeamActivityWebSocketService, TeamsJsonWatcherService, } from './services/index.js';
|
|
17
17
|
import { getSessionBackend, getSessionBackendSync, getSessionStatePersistence, destroySessionBackend, PtySessionBackend, } from './services/session/index.js';
|
|
18
18
|
import { ApiController } from './controllers/api.controller.js';
|
|
19
19
|
import { createApiRoutes } from './routes/api.routes.js';
|
|
@@ -35,6 +35,9 @@ import { EventBusService } from './services/event-bus/index.js';
|
|
|
35
35
|
import { EventToWorkItemBridge } from './services/event-bus/event-to-workitem-bridge.service.js';
|
|
36
36
|
import { AutoLearningSubscriber } from './services/memory/auto-learning.subscriber.js';
|
|
37
37
|
import { RequestSlaSubscriber, setRequestSlaSubscriber, } from './services/v3/request-sla.subscriber.js';
|
|
38
|
+
import { RequestDecomposeSubscriber, setRequestDecomposeSubscriber, } from './services/v3/request-decompose.subscriber.js';
|
|
39
|
+
import { RequestStatusUpdateSubscriber } from './services/v3/request-status-update.subscriber.js';
|
|
40
|
+
import { RequestCascadeSubscriber } from './services/v3/request-cascade.subscriber.js';
|
|
38
41
|
import { setRequestServiceEventBus, RequestService } from './services/v3/request.service.js';
|
|
39
42
|
import { getSlackService } from './services/slack/slack.service.js';
|
|
40
43
|
import { SlackThreadStoreService, setSlackThreadStore, getSlackThreadStore } from './services/slack/slack-thread-store.service.js';
|
|
@@ -42,7 +45,6 @@ import { GoogleChatThreadStoreService, setGchatThreadStore } from './services/me
|
|
|
42
45
|
import { SlackImageService, setSlackImageService } from './services/slack/slack-image.service.js';
|
|
43
46
|
import { NotifyReconciliationService } from './services/slack/notify-reconciliation.service.js';
|
|
44
47
|
import { setEventBusService as setEventBusControllerService } from './controllers/event-bus/event-bus.controller.js';
|
|
45
|
-
import { setEventBusServiceForTaskCleanup } from './controllers/task-management/task-management.controller.js';
|
|
46
48
|
import { setTeamControllerEventBusService } from './controllers/team/team.controller.js';
|
|
47
49
|
import { SkillCatalogService } from './services/skill/skill-catalog.service.js';
|
|
48
50
|
import { setMessageQueueService as setChatMessageQueueService, setThreadStatusQueueService as setChatThreadStatusQueueService } from './controllers/chat/chat.controller.js';
|
|
@@ -52,6 +54,7 @@ import { TokenUsageService } from './services/monitoring/token-usage.service.js'
|
|
|
52
54
|
import { agentHeartbeatMiddleware } from './middleware/agent-heartbeat.middleware.js';
|
|
53
55
|
import { RedisCacheService } from './services/cache/redis-cache.service.js';
|
|
54
56
|
import { OrchestratorRestartService } from './services/orchestrator/orchestrator-restart.service.js';
|
|
57
|
+
import { setOrchestratorSetupDependencies } from './services/orchestrator/orchestrator-setup.service.js';
|
|
55
58
|
import { IdleDetectionService } from './services/agent/idle-detection.service.js';
|
|
56
59
|
import { AgentSuspendService } from './services/agent/agent-suspend.service.js';
|
|
57
60
|
import { AgentHeartbeatMonitorService } from './services/agent/agent-heartbeat-monitor.service.js';
|
|
@@ -60,6 +63,7 @@ import { RuntimeExitMonitorService } from './services/agent/runtime-exit-monitor
|
|
|
60
63
|
import { ContextWindowMonitorService } from './services/agent/context-window-monitor.service.js';
|
|
61
64
|
import { OAuthReloginMonitorService } from './services/agent/oauth-relogin-monitor.service.js';
|
|
62
65
|
import { findPackageRoot } from './utils/package-root.js';
|
|
66
|
+
import { isNativeBindingFatalError } from './utils/native-binding.utils.js';
|
|
63
67
|
import { VersionCheckService } from './services/system/version-check.service.js';
|
|
64
68
|
import { LogRotationService } from './services/session/log-rotation.service.js';
|
|
65
69
|
import { AuditorSchedulerService } from './services/agent/auditor-scheduler.service.js';
|
|
@@ -122,7 +126,6 @@ export class CrewlyServer {
|
|
|
122
126
|
schedulerService;
|
|
123
127
|
messageSchedulerService;
|
|
124
128
|
activityMonitorService;
|
|
125
|
-
taskTrackingService;
|
|
126
129
|
teamActivityWebSocketService;
|
|
127
130
|
teamsJsonWatcherService;
|
|
128
131
|
apiController;
|
|
@@ -137,6 +140,10 @@ export class CrewlyServer {
|
|
|
137
140
|
autoLearningSubscriber = null;
|
|
138
141
|
/** INBOUND-1: subscribes to request:created and tracks 5/10 min SLA on respond_to_user WIs. */
|
|
139
142
|
requestSlaSubscriber = null;
|
|
143
|
+
/** Pipeline-#4 follow-up: subscribes to request:created and auto-decomposes actionable L2 Requests via plan() → addToPool. */
|
|
144
|
+
requestDecomposeSubscriber = null;
|
|
145
|
+
requestStatusUpdateSubscriber = null;
|
|
146
|
+
requestCascadeSubscriber = null;
|
|
140
147
|
notifyReconciliationService;
|
|
141
148
|
systemResourceAlertService;
|
|
142
149
|
reconcilerService = null;
|
|
@@ -206,15 +213,16 @@ export class CrewlyServer {
|
|
|
206
213
|
this.schedulerService = new SchedulerService(this.storageService);
|
|
207
214
|
this.messageSchedulerService = new MessageSchedulerService(this.tmuxService, this.storageService);
|
|
208
215
|
this.activityMonitorService = ActivityMonitorService.getInstance();
|
|
209
|
-
|
|
210
|
-
|
|
216
|
+
// V3-only as of spec 2026-05-06-task-management-v1-deprecation.md.
|
|
217
|
+
// TaskTrackingService is deleted; in-progress task data and lifecycle
|
|
218
|
+
// events come from TaskPoolService + EventBusService respectively.
|
|
219
|
+
this.teamActivityWebSocketService = new TeamActivityWebSocketService(this.storageService, this.tmuxService);
|
|
211
220
|
this.teamsJsonWatcherService = new TeamsJsonWatcherService();
|
|
212
221
|
this.apiController = new ApiController(this.storageService, this.tmuxService, this.schedulerService, this.messageSchedulerService);
|
|
213
222
|
// Wire up reliable delivery: both schedulers use AgentRegistrationService
|
|
214
223
|
// for retry + progressive verification + background stuck-detection
|
|
215
224
|
this.messageSchedulerService.setAgentRegistrationService(this.apiController.agentRegistrationService);
|
|
216
225
|
this.schedulerService.setAgentRegistrationService(this.apiController.agentRegistrationService);
|
|
217
|
-
this.schedulerService.setTaskTrackingService(this.taskTrackingService);
|
|
218
226
|
// Initialize message queue services (with disk persistence)
|
|
219
227
|
// NOTE: Must be created before services that depend on them (scheduler, thread status queue)
|
|
220
228
|
this.messageQueueService = new MessageQueueService(this.config.crewlyHome);
|
|
@@ -254,6 +262,23 @@ export class CrewlyServer {
|
|
|
254
262
|
// triggers addToPool — the slack listener / TaskPool router below both
|
|
255
263
|
// depend on this for the auto-close path b chain. Idempotent.
|
|
256
264
|
TaskPoolService.getInstance().setEventBusService(this.eventBusService);
|
|
265
|
+
// P1 Bug B (Pool umbrella WI 72ca743a): Wire RequestService into the
|
|
266
|
+
// TaskPool singleton so addToPool intrinsically links new WIs into
|
|
267
|
+
// their parent Request.workItemIds[] — independent of the
|
|
268
|
+
// subscriber-driven path (request-sla.subscriber, V3DataService).
|
|
269
|
+
// Pre-fix, manual / programmatic / cron callers that bypassed the
|
|
270
|
+
// event chain left Requests with empty workItemIds[]. The linker is
|
|
271
|
+
// idempotent (request.service.ts:328 short-circuits on duplicate id)
|
|
272
|
+
// so subscriber-driven linking stays as belt-and-suspenders.
|
|
273
|
+
TaskPoolService.getInstance().setRequestService(RequestService.getInstance());
|
|
274
|
+
// P1 Bug C (Pool umbrella WI 72ca743a, sub-WI Bug C): Wire the inverse
|
|
275
|
+
// dependency — RequestService → TaskPool — so RequestService.update
|
|
276
|
+
// can refuse `Request → done` when any child WorkItem is still in a
|
|
277
|
+
// non-terminal state. Bug B (above) makes Request.workItemIds[]
|
|
278
|
+
// authoritative on every addToPool; Bug C makes the closure honor
|
|
279
|
+
// that data. The setter is duck-typed on IWorkItemQueryable so
|
|
280
|
+
// neither side needs a static import of the other.
|
|
281
|
+
RequestService.getInstance().setTaskPoolService(TaskPoolService.getInstance());
|
|
257
282
|
// Wire Task Pool router so [TASK]-prefixed messages route through the pool
|
|
258
283
|
this.queueProcessorService.setTaskPoolRouter(async (messageContent, targetSession) => {
|
|
259
284
|
const { createWorkItem } = await import('./types/v2/work-item.types.js');
|
|
@@ -282,24 +307,14 @@ export class CrewlyServer {
|
|
|
282
307
|
this.activityMonitorService.setEventBusService(this.eventBusService);
|
|
283
308
|
setEventBusControllerService(this.eventBusService);
|
|
284
309
|
setTeamControllerEventBusService(this.eventBusService);
|
|
285
|
-
|
|
286
|
-
//
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
teamName: '',
|
|
294
|
-
memberId: payload.ownerMemberId || '',
|
|
295
|
-
memberName: '',
|
|
296
|
-
sessionName: payload.assignedSessionName || '',
|
|
297
|
-
previousValue: '',
|
|
298
|
-
newValue: payload.taskStatus || payload.type,
|
|
299
|
-
changedField: 'taskStatus',
|
|
300
|
-
taskId: payload.taskId,
|
|
301
|
-
});
|
|
302
|
-
});
|
|
310
|
+
// Wire team-activity-websocket to EventBus so it reacts to V3
|
|
311
|
+
// WorkItem lifecycle events (replaces the legacy
|
|
312
|
+
// TaskTrackingService.on('task_workflow_event') bridge that was
|
|
313
|
+
// deleted with the v1 task-management subsystem).
|
|
314
|
+
this.teamActivityWebSocketService.setEventBus(this.eventBusService);
|
|
315
|
+
// V3-only autonomy: AgentAutoClaimService (started later in boot)
|
|
316
|
+
// is the single autonomy loop. The legacy AutoAssignService has
|
|
317
|
+
// been retired — see spec 2026-05-06-task-management-v1-deprecation.md.
|
|
303
318
|
// BRIDGE-1: subscribe to autonomy events (task:done_by_worker,
|
|
304
319
|
// task:rejected, task:blocked, team:all_tasks_done, mission:*) and
|
|
305
320
|
// create the appropriate WorkItem(s) — verification WI for TL on
|
|
@@ -315,24 +330,115 @@ export class CrewlyServer {
|
|
|
315
330
|
// contract (V1) and the V7/V9 self-checks in the co-located test.
|
|
316
331
|
this.autoLearningSubscriber = AutoLearningSubscriber.boot(this.eventBusService);
|
|
317
332
|
this.autoLearningSubscriber.start();
|
|
318
|
-
// INBOUND-1: wire RequestService → bus, then
|
|
319
|
-
//
|
|
320
|
-
//
|
|
321
|
-
//
|
|
322
|
-
//
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
333
|
+
// INBOUND-1 + Pipeline-#4 follow-up: wire RequestService → bus, then
|
|
334
|
+
// boot both v3 subscribers (SLA tracker + auto-decompose). Order
|
|
335
|
+
// matters within the block: setRequestServiceEventBus must run
|
|
336
|
+
// BEFORE any code path can call RequestService.create() — the slack
|
|
337
|
+
// listener at line ~370 is the first hot caller, but the slack
|
|
338
|
+
// service hasn't been initialised yet at this point in boot, so
|
|
339
|
+
// we're safe.
|
|
340
|
+
//
|
|
341
|
+
// Failure-isolated (issue #465): the entire v3 subscriber boot is
|
|
342
|
+
// wrapped in try/catch so a wiring failure logs + continues rather
|
|
343
|
+
// than crashing the whole backend. Neither subscriber is essential
|
|
344
|
+
// to API liveness — degrading them is preferable to losing the
|
|
345
|
+
// process. A single catch block treats both as a unit because the
|
|
346
|
+
// failure mode is "wiring is broken, fix the deploy" not
|
|
347
|
+
// "intermittently flaky"; partial recovery would be unnecessary
|
|
348
|
+
// complexity for v1. B0 broadcast (line ~2336) and TriggerEngine
|
|
349
|
+
// boot (line ~1464) already have equivalent isolation; this brings
|
|
350
|
+
// the v3 subscriber block in line with that pattern.
|
|
351
|
+
try {
|
|
352
|
+
setRequestServiceEventBus(this.eventBusService);
|
|
353
|
+
this.requestSlaSubscriber = RequestSlaSubscriber.boot(this.eventBusService, RequestService.getInstance(), TaskPoolService.getInstance(), async ({ channelId, threadTs, messageText }) => {
|
|
354
|
+
// Production wiring of the 10-min escalation hook: nudge the user
|
|
355
|
+
// in the same Slack thread so they're never blind to the miss.
|
|
356
|
+
const slack = getSlackService();
|
|
357
|
+
await slack.sendMessage({
|
|
358
|
+
channelId,
|
|
359
|
+
threadTs,
|
|
360
|
+
text: messageText,
|
|
361
|
+
});
|
|
332
362
|
});
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
363
|
+
this.requestSlaSubscriber.start();
|
|
364
|
+
setRequestSlaSubscriber(this.requestSlaSubscriber);
|
|
365
|
+
// Pipeline-#4 follow-up: auto-decompose actionable L2 Requests on
|
|
366
|
+
// request:created. Sequenced AFTER the SLA subscriber so the
|
|
367
|
+
// respond_to_user WI seeding still runs first when both fire on
|
|
368
|
+
// the same event (deterministic listener-attach order; both run
|
|
369
|
+
// via the same in-process bus). Side note: order is semantically
|
|
370
|
+
// irrelevant — the linkWorkItem path keys on workitem:queued, not
|
|
371
|
+
// on relative listener position — but predictable startup ordering
|
|
372
|
+
// helps debug.
|
|
373
|
+
this.requestDecomposeSubscriber = RequestDecomposeSubscriber.boot(this.eventBusService, RequestService.getInstance(), TaskPoolService.getInstance());
|
|
374
|
+
this.requestDecomposeSubscriber.start();
|
|
375
|
+
setRequestDecomposeSubscriber(this.requestDecomposeSubscriber);
|
|
376
|
+
// Status-update subscriber: posts progress on Slack-originated
|
|
377
|
+
// Requests as their child WIs reach milestones, plus a heartbeat
|
|
378
|
+
// while work is still in flight. Closes the "long silence after
|
|
379
|
+
// orc's first ack" UX gap. Idempotent — duplicate boots are no-ops.
|
|
380
|
+
this.requestStatusUpdateSubscriber = new RequestStatusUpdateSubscriber({
|
|
381
|
+
eventBus: this.eventBusService,
|
|
382
|
+
requestService: RequestService.getInstance(),
|
|
383
|
+
taskPool: TaskPoolService.getInstance(),
|
|
384
|
+
slackPoster: async ({ channelId, text, threadTs }) => {
|
|
385
|
+
// Post via the in-process SlackService to avoid a self-HTTP
|
|
386
|
+
// hop. The /api/slack/send route's other side-effects (chat
|
|
387
|
+
// persistence, thread-status replied marker) don't apply
|
|
388
|
+
// to mid-thread heartbeat updates — those are only for
|
|
389
|
+
// the user's direct reply, not for orc's progress pings.
|
|
390
|
+
const slack = getSlackService();
|
|
391
|
+
if (!slack.isConnected())
|
|
392
|
+
return;
|
|
393
|
+
await slack.sendMessage({ channelId, text, threadTs });
|
|
394
|
+
},
|
|
395
|
+
heartbeatMinutes: 30,
|
|
396
|
+
});
|
|
397
|
+
this.requestStatusUpdateSubscriber.start();
|
|
398
|
+
// Cascade subscriber: keeps Request.status in sync with the
|
|
399
|
+
// aggregate state of its child WIs by reacting to live task
|
|
400
|
+
// lifecycle events. Closes the gap left by V3DataService's
|
|
401
|
+
// retired `v3:task_*` subscriptions (see 2026-05-09 dogfood
|
|
402
|
+
// note in request-cascade.subscriber.ts).
|
|
403
|
+
this.requestCascadeSubscriber = new RequestCascadeSubscriber({
|
|
404
|
+
eventBus: this.eventBusService,
|
|
405
|
+
requestService: RequestService.getInstance(),
|
|
406
|
+
taskPool: TaskPoolService.getInstance(),
|
|
407
|
+
notifier: this.eventBusService,
|
|
408
|
+
});
|
|
409
|
+
this.requestCascadeSubscriber.start();
|
|
410
|
+
}
|
|
411
|
+
catch (subscriberBootErr) {
|
|
412
|
+
// Degraded mode: SLA tracking + auto-decompose are off, but the
|
|
413
|
+
// API surface and rest of the backend continue to serve. Ops can
|
|
414
|
+
// grep for `v3 subscriber boot failed` in logs to triage.
|
|
415
|
+
this.logger.error('v3 subscriber boot failed — degrading SLA + auto-decompose paths, continuing backend startup', {
|
|
416
|
+
error: subscriberBootErr instanceof Error
|
|
417
|
+
? subscriberBootErr.message
|
|
418
|
+
: String(subscriberBootErr),
|
|
419
|
+
});
|
|
420
|
+
// Best-effort cleanup of any partial wiring so a later restart
|
|
421
|
+
// doesn't see stale singletons. The setters are idempotent.
|
|
422
|
+
setRequestSlaSubscriber(null);
|
|
423
|
+
setRequestDecomposeSubscriber(null);
|
|
424
|
+
setRequestServiceEventBus(null);
|
|
425
|
+
this.requestSlaSubscriber = null;
|
|
426
|
+
this.requestDecomposeSubscriber = null;
|
|
427
|
+
if (this.requestStatusUpdateSubscriber) {
|
|
428
|
+
try {
|
|
429
|
+
this.requestStatusUpdateSubscriber.stop();
|
|
430
|
+
}
|
|
431
|
+
catch { /* best-effort */ }
|
|
432
|
+
this.requestStatusUpdateSubscriber = null;
|
|
433
|
+
}
|
|
434
|
+
if (this.requestCascadeSubscriber) {
|
|
435
|
+
try {
|
|
436
|
+
this.requestCascadeSubscriber.stop();
|
|
437
|
+
}
|
|
438
|
+
catch { /* best-effort */ }
|
|
439
|
+
this.requestCascadeSubscriber = null;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
336
442
|
// Initialize Slack thread store for persistent thread conversations
|
|
337
443
|
const slackThreadStore = new SlackThreadStoreService(this.config.crewlyHome);
|
|
338
444
|
setSlackThreadStore(slackThreadStore);
|
|
@@ -831,6 +937,21 @@ export class CrewlyServer {
|
|
|
831
937
|
error: error instanceof Error ? error.message : String(error),
|
|
832
938
|
});
|
|
833
939
|
}
|
|
940
|
+
// Wire orchestrator-setup service for SlackBridge auto-recovery (B0).
|
|
941
|
+
// Without this, the bridge's auto-recovery path returns "deps not
|
|
942
|
+
// initialized" and falls through to the offline branch.
|
|
943
|
+
try {
|
|
944
|
+
setOrchestratorSetupDependencies({
|
|
945
|
+
agentRegistrationService: this.apiController.agentRegistrationService,
|
|
946
|
+
storageService: this.storageService,
|
|
947
|
+
});
|
|
948
|
+
this.logger.info('OrchestratorSetupService wired with dependencies');
|
|
949
|
+
}
|
|
950
|
+
catch (error) {
|
|
951
|
+
this.logger.warn('Failed to wire OrchestratorSetupService (non-critical)', {
|
|
952
|
+
error: error instanceof Error ? error.message : String(error),
|
|
953
|
+
});
|
|
954
|
+
}
|
|
834
955
|
// Wire and start OrchestratorHeartbeatMonitorService for auto-restart
|
|
835
956
|
try {
|
|
836
957
|
const orchHbSessionBackend = getSessionBackendSync();
|
|
@@ -876,7 +997,7 @@ export class CrewlyServer {
|
|
|
876
997
|
const ctxSessionBackend = getSessionBackendSync();
|
|
877
998
|
if (ctxSessionBackend) {
|
|
878
999
|
const contextWindowMonitor = ContextWindowMonitorService.getInstance();
|
|
879
|
-
contextWindowMonitor.setDependencies(ctxSessionBackend, this.apiController.agentRegistrationService, this.storageService, this.
|
|
1000
|
+
contextWindowMonitor.setDependencies(ctxSessionBackend, this.apiController.agentRegistrationService, this.storageService, this.eventBusService);
|
|
880
1001
|
contextWindowMonitor.start();
|
|
881
1002
|
this.logger.info('ContextWindowMonitorService started');
|
|
882
1003
|
}
|
|
@@ -899,7 +1020,6 @@ export class CrewlyServer {
|
|
|
899
1020
|
try {
|
|
900
1021
|
const runtimeExitMonitor = RuntimeExitMonitorService.getInstance();
|
|
901
1022
|
runtimeExitMonitor.setAgentRegistrationService(this.apiController.agentRegistrationService);
|
|
902
|
-
runtimeExitMonitor.setTaskTrackingService(this.taskTrackingService);
|
|
903
1023
|
runtimeExitMonitor.setEventBusService(this.eventBusService);
|
|
904
1024
|
}
|
|
905
1025
|
catch (error) {
|
|
@@ -969,8 +1089,40 @@ export class CrewlyServer {
|
|
|
969
1089
|
path: '/ws/chat',
|
|
970
1090
|
authMode: jwtSecret ? 'jwt' : 'dev-anonymous',
|
|
971
1091
|
});
|
|
1092
|
+
// Onboarding v3 (B1) — wire the cold-start detector with the
|
|
1093
|
+
// chat-v2 service we just stood up. The orc bootstrap path
|
|
1094
|
+
// (CrewlyAgentRuntimeService.detectOnboardingMode) probes this
|
|
1095
|
+
// singleton; null means "skip the cold-start probe", so this
|
|
1096
|
+
// wiring is what flips onboarding mode on for the demo path.
|
|
1097
|
+
try {
|
|
1098
|
+
const { OnboardingBootstrapService, setOnboardingBootstrapService } = await import('./services/orchestrator/onboarding-bootstrap.service.js');
|
|
1099
|
+
setOnboardingBootstrapService(new OnboardingBootstrapService({
|
|
1100
|
+
storage: this.storageService,
|
|
1101
|
+
chat: { countAllMessages: () => chatService.countAllMessages() },
|
|
1102
|
+
}));
|
|
1103
|
+
this.logger.info('OnboardingBootstrapService wired with storage + chat probes');
|
|
1104
|
+
}
|
|
1105
|
+
catch (wireErr) {
|
|
1106
|
+
this.logger.warn('Failed to wire OnboardingBootstrapService (non-critical)', {
|
|
1107
|
+
error: wireErr instanceof Error ? wireErr.message : String(wireErr),
|
|
1108
|
+
});
|
|
1109
|
+
}
|
|
972
1110
|
}
|
|
973
1111
|
catch (error) {
|
|
1112
|
+
// F-CYCLE7-1: a native-binding failure (e.g. better-sqlite3 built
|
|
1113
|
+
// for the wrong arch) MUST crash the boot rather than be downgraded
|
|
1114
|
+
// to a JSON-file fallback. The audit on 2026-05-07 caught this
|
|
1115
|
+
// exact path: chat.db went stale at 11:17Z because dlopen errors
|
|
1116
|
+
// were swallowed here as "non-critical", so operators had no signal
|
|
1117
|
+
// to run `npm rebuild better-sqlite3 --build-from-source`.
|
|
1118
|
+
//
|
|
1119
|
+
// `isNativeBindingFatalError` matches structurally (not just via
|
|
1120
|
+
// instanceof) so realm-boundary cases — same module loaded via
|
|
1121
|
+
// two require paths — still trip the rethrow.
|
|
1122
|
+
if (isNativeBindingFatalError(error)) {
|
|
1123
|
+
this.logger.error('FATAL native binding failed at chat-v2 boot — refusing to downgrade to JSON fallback. Run the printed remediation and restart.', { error: error.message });
|
|
1124
|
+
throw error;
|
|
1125
|
+
}
|
|
974
1126
|
this.logger.warn('Failed to start chat-v2 WS gateway (non-critical)', {
|
|
975
1127
|
error: error instanceof Error ? error.message : String(error),
|
|
976
1128
|
});
|
|
@@ -1376,12 +1528,27 @@ export class CrewlyServer {
|
|
|
1376
1528
|
error: v3Err instanceof Error ? v3Err.message : String(v3Err),
|
|
1377
1529
|
});
|
|
1378
1530
|
}
|
|
1531
|
+
// Start WorkItemDispatchSubscriber FIRST — AgentAutoClaim's recovery
|
|
1532
|
+
// path delegates to its dispatchTo() for the "active target session"
|
|
1533
|
+
// branch, so the singleton must be reachable when recovery fires.
|
|
1534
|
+
try {
|
|
1535
|
+
const { WorkItemDispatchSubscriber } = await import('./services/v3/workitem-dispatch.subscriber.js');
|
|
1536
|
+
const dispatchSubscriber = WorkItemDispatchSubscriber.getInstance();
|
|
1537
|
+
dispatchSubscriber.initialize(this.eventBusService);
|
|
1538
|
+
dispatchSubscriber.start();
|
|
1539
|
+
this.logger.info('WorkItemDispatchSubscriber started — workitem:queued events push to target sessions');
|
|
1540
|
+
}
|
|
1541
|
+
catch (dispatchErr) {
|
|
1542
|
+
this.logger.warn('WorkItemDispatchSubscriber initialization failed (non-critical)', {
|
|
1543
|
+
error: dispatchErr instanceof Error ? dispatchErr.message : String(dispatchErr),
|
|
1544
|
+
});
|
|
1545
|
+
}
|
|
1379
1546
|
// Start AgentAutoClaimService — auto-assign work to idle agents
|
|
1380
1547
|
try {
|
|
1381
1548
|
const { AgentAutoClaimService } = await import('./services/v3/agent-auto-claim.service.js');
|
|
1382
1549
|
const autoClaimService = AgentAutoClaimService.getInstance();
|
|
1383
1550
|
autoClaimService.initialize(this.eventBusService);
|
|
1384
|
-
autoClaimService.start();
|
|
1551
|
+
await autoClaimService.start();
|
|
1385
1552
|
this.logger.info('AgentAutoClaimService started — idle agents will auto-claim work');
|
|
1386
1553
|
}
|
|
1387
1554
|
catch (autoClaimErr) {
|
|
@@ -1458,8 +1625,9 @@ export class CrewlyServer {
|
|
|
1458
1625
|
VersionCheckService.getInstance().checkForUpdate().catch(() => {
|
|
1459
1626
|
// Silently ignore — version check is non-critical
|
|
1460
1627
|
});
|
|
1461
|
-
//
|
|
1462
|
-
|
|
1628
|
+
// V3-only as of spec 2026-05-06-task-management-v1-deprecation.md.
|
|
1629
|
+
// The legacy `TaskTrackingService.startAutoSync()` is gone — V3
|
|
1630
|
+
// task-pool reconciler owns lifecycle cleanup now.
|
|
1463
1631
|
// Initialize token usage tracking: load persisted data and start periodic flush
|
|
1464
1632
|
try {
|
|
1465
1633
|
const tokenUsageService = TokenUsageService.getInstance();
|
|
@@ -1495,6 +1663,25 @@ export class CrewlyServer {
|
|
|
1495
1663
|
});
|
|
1496
1664
|
}
|
|
1497
1665
|
}
|
|
1666
|
+
// C1 — boot-time state invariant check (Persistence P0 spec).
|
|
1667
|
+
// Refuses to start serving traffic if the live teams directory
|
|
1668
|
+
// is empty but a healthy backup snapshot exists. Override via
|
|
1669
|
+
// CREWLY_FORCE_EMPTY_BOOT=1 for legitimate fresh-install / reset.
|
|
1670
|
+
try {
|
|
1671
|
+
await this.storageService.verifyStateInvariantOnBoot();
|
|
1672
|
+
}
|
|
1673
|
+
catch (invariantErr) {
|
|
1674
|
+
const { StateInvariantViolation } = await import('./services/core/state-invariant.types.js');
|
|
1675
|
+
if (invariantErr instanceof StateInvariantViolation) {
|
|
1676
|
+
this.logger.error('Boot aborted by state invariant check — refusing to serve traffic with wiped state', {
|
|
1677
|
+
currentTeamCount: invariantErr.currentTeamCount,
|
|
1678
|
+
backupTeamCount: invariantErr.backupTeamCount,
|
|
1679
|
+
backupTimestamp: invariantErr.backupTimestamp,
|
|
1680
|
+
message: invariantErr.message,
|
|
1681
|
+
});
|
|
1682
|
+
}
|
|
1683
|
+
throw invariantErr;
|
|
1684
|
+
}
|
|
1498
1685
|
// Start HTTP server with enhanced error handling
|
|
1499
1686
|
await this.startHttpServer();
|
|
1500
1687
|
// Load addons from ~/.crewly/addons/ (Pro features, extensions, etc.)
|
|
@@ -1518,21 +1705,27 @@ export class CrewlyServer {
|
|
|
1518
1705
|
await this.autoStartOrchestratorIfEnabled();
|
|
1519
1706
|
// Auto-restore agent sessions that were running before the last shutdown
|
|
1520
1707
|
await this.autoRestoreAgentSessionsIfEnabled();
|
|
1521
|
-
// #166: Auto-recover in-progress tasks after restart
|
|
1522
|
-
// #196: Skip tasks older than 1 hour to avoid re-sending stale work
|
|
1708
|
+
// #166: Auto-recover in-progress tasks after restart.
|
|
1709
|
+
// #196: Skip tasks older than 1 hour to avoid re-sending stale work.
|
|
1710
|
+
// V3-only as of spec 2026-05-06-task-management-v1-deprecation.md —
|
|
1711
|
+
// reads WorkItems from TaskPoolService (replaces the prior
|
|
1712
|
+
// `TaskTrackingService.getAllInProgressTasks()` call).
|
|
1523
1713
|
try {
|
|
1524
1714
|
const TASK_RECOVERY_MAX_AGE_MS = 60 * 60 * 1000; // 1 hour
|
|
1525
|
-
const
|
|
1715
|
+
const { TaskPoolService } = await import('./services/task-pool/task-pool.service.js');
|
|
1716
|
+
const allItems = await TaskPoolService.getInstance().getAllItems();
|
|
1526
1717
|
const now = Date.now();
|
|
1527
|
-
const activeTasks =
|
|
1528
|
-
if (
|
|
1718
|
+
const activeTasks = allItems.filter(wi => {
|
|
1719
|
+
if (wi.status !== 'queued' && wi.status !== 'accepted' && wi.status !== 'running')
|
|
1720
|
+
return false;
|
|
1721
|
+
if (!wi.target)
|
|
1529
1722
|
return false;
|
|
1530
|
-
// Skip stale tasks —
|
|
1531
|
-
const taskTime = new Date(
|
|
1723
|
+
// Skip stale tasks — startedAt/createdAt older than threshold
|
|
1724
|
+
const taskTime = new Date(wi.startedAt || wi.createdAt || 0).getTime();
|
|
1532
1725
|
if (now - taskTime > TASK_RECOVERY_MAX_AGE_MS) {
|
|
1533
1726
|
this.logger.info('Skipping stale task recovery (older than 1 hour)', {
|
|
1534
|
-
|
|
1535
|
-
taskName:
|
|
1727
|
+
workItemId: wi.id,
|
|
1728
|
+
taskName: wi.title,
|
|
1536
1729
|
age: `${Math.round((now - taskTime) / 60000)} minutes`,
|
|
1537
1730
|
});
|
|
1538
1731
|
return false;
|
|
@@ -1540,24 +1733,24 @@ export class CrewlyServer {
|
|
|
1540
1733
|
return true;
|
|
1541
1734
|
});
|
|
1542
1735
|
if (activeTasks.length > 0) {
|
|
1543
|
-
this.logger.info('Found in-progress
|
|
1736
|
+
this.logger.info('Found in-progress WorkItems to recover after restart', {
|
|
1544
1737
|
count: activeTasks.length,
|
|
1545
1738
|
});
|
|
1546
|
-
for (const
|
|
1739
|
+
for (const wi of activeTasks) {
|
|
1547
1740
|
try {
|
|
1548
|
-
const recoveryMessage = `[SYSTEM — TASK RECOVERY] You were working on this task before the server restarted. Please continue:\n\nTask: ${
|
|
1549
|
-
await this.apiController.agentRegistrationService.sendMessageToAgent(
|
|
1741
|
+
const recoveryMessage = `[SYSTEM — TASK RECOVERY] You were working on this task before the server restarted. Please continue:\n\nTask: ${wi.title}\nWorkItem: ${wi.id}\n\nFetch full brief: bash config/skills/agent/core/read-task/execute.sh '{"workItemId":"${wi.id}"}'\n\nPlease check the current state and continue working.`;
|
|
1742
|
+
await this.apiController.agentRegistrationService.sendMessageToAgent(wi.target, recoveryMessage, undefined);
|
|
1550
1743
|
this.logger.info('Task recovery message sent', {
|
|
1551
|
-
|
|
1552
|
-
sessionName:
|
|
1553
|
-
taskName:
|
|
1744
|
+
workItemId: wi.id,
|
|
1745
|
+
sessionName: wi.target,
|
|
1746
|
+
taskName: wi.title,
|
|
1554
1747
|
});
|
|
1555
1748
|
}
|
|
1556
1749
|
catch (err) {
|
|
1557
1750
|
// Agent might not be online yet — DLQ in scheduler will handle it
|
|
1558
1751
|
this.logger.warn('Task recovery delivery deferred (agent may not be online yet)', {
|
|
1559
|
-
|
|
1560
|
-
sessionName:
|
|
1752
|
+
workItemId: wi.id,
|
|
1753
|
+
sessionName: wi.target,
|
|
1561
1754
|
error: err instanceof Error ? err.message : String(err),
|
|
1562
1755
|
});
|
|
1563
1756
|
}
|
|
@@ -1993,6 +2186,49 @@ export class CrewlyServer {
|
|
|
1993
2186
|
websocketUrl: `ws://localhost:${this.config.webPort}`,
|
|
1994
2187
|
home: this.config.crewlyHome
|
|
1995
2188
|
});
|
|
2189
|
+
// B0 (interim) per `.crewly/specs/2026-05-05-trigger-persistence-bug.md`:
|
|
2190
|
+
// Broadcast `system:backend_restarted` exactly once per boot. The
|
|
2191
|
+
// trigger engine (`backend/src/services/v3/trigger-engine.service.ts`)
|
|
2192
|
+
// stores all `schedule-followup` / `watch-for-event` triggers in an
|
|
2193
|
+
// in-memory `Map<string, Trigger>` that is wiped on every restart.
|
|
2194
|
+
// Subscribers (e.g. self-watch-scribe, any TL using §3.0 universal
|
|
2195
|
+
// delegator-rule) listen for this event as a freshness signal and
|
|
2196
|
+
// re-arm their watchdogs. Re-arm latency drops from "manual cycle"
|
|
2197
|
+
// to "next event tick" — closes the wipe-coverage-gap to seconds.
|
|
2198
|
+
// B1 (full fix) is disk-backed declarative trigger config per the
|
|
2199
|
+
// spec Path A; B0 is the unblock-first interim until B1 lands.
|
|
2200
|
+
try {
|
|
2201
|
+
// AgentEvent shape (`backend/src/types/event-bus.types.ts:198`)
|
|
2202
|
+
// requires a fixed set of string fields. For system-scoped
|
|
2203
|
+
// events we use 'system' for member/session and leave team
|
|
2204
|
+
// fields empty — subscribers MUST gate on `type` rather than
|
|
2205
|
+
// team/member identity. Boot diagnostics (port, duration) are
|
|
2206
|
+
// already in the preceding `Crewly server started` log;
|
|
2207
|
+
// callers needing them can correlate by `timestamp`.
|
|
2208
|
+
this.eventBusService.publish({
|
|
2209
|
+
id: `system-backend-restarted-${Date.now()}`,
|
|
2210
|
+
type: 'system:backend_restarted',
|
|
2211
|
+
timestamp: new Date().toISOString(),
|
|
2212
|
+
teamId: '',
|
|
2213
|
+
teamName: '',
|
|
2214
|
+
memberId: '',
|
|
2215
|
+
memberName: 'system',
|
|
2216
|
+
sessionName: 'system',
|
|
2217
|
+
previousValue: 'stopped',
|
|
2218
|
+
newValue: 'started',
|
|
2219
|
+
changedField: 'agentStatus'
|
|
2220
|
+
});
|
|
2221
|
+
this.logger.info('Broadcast system:backend_restarted event', {
|
|
2222
|
+
port: this.config.webPort,
|
|
2223
|
+
bootDurationMs: duration
|
|
2224
|
+
});
|
|
2225
|
+
}
|
|
2226
|
+
catch (emitError) {
|
|
2227
|
+
// Failure isolation — never block boot on this telemetry.
|
|
2228
|
+
this.logger.warn('Failed to broadcast system:backend_restarted (non-fatal)', {
|
|
2229
|
+
error: emitError instanceof Error ? emitError.message : String(emitError)
|
|
2230
|
+
});
|
|
2231
|
+
}
|
|
1996
2232
|
resolve();
|
|
1997
2233
|
});
|
|
1998
2234
|
this.httpServer.on('error', (error) => {
|
|
@@ -2455,6 +2691,13 @@ export class CrewlyServer {
|
|
|
2455
2691
|
this.requestSlaSubscriber = null;
|
|
2456
2692
|
}
|
|
2457
2693
|
setRequestSlaSubscriber(null);
|
|
2694
|
+
// Pipeline-#4 follow-up: stop the decompose subscriber and clear
|
|
2695
|
+
// its module-level reference on the same shutdown window as SLA.
|
|
2696
|
+
if (this.requestDecomposeSubscriber) {
|
|
2697
|
+
this.requestDecomposeSubscriber.stop();
|
|
2698
|
+
this.requestDecomposeSubscriber = null;
|
|
2699
|
+
}
|
|
2700
|
+
setRequestDecomposeSubscriber(null);
|
|
2458
2701
|
setRequestServiceEventBus(null);
|
|
2459
2702
|
// Clean up event bus service
|
|
2460
2703
|
this.eventBusService.cleanup();
|