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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool-storage.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/pool-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"pool-storage.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/pool-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAQ/D;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,2CAA2C;IAC3C,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,uCAAuC;IACvC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAmBD;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC,wDAAwD;IACxD,OAAO,CAAC,KAAK,CAAyB;IAEtC,iDAAiD;IACjD,OAAO,CAAC,UAAU,CAA+B;IAEjD,kCAAkC;IAClC,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,CAAC,EAAE,kBAAkB;IAYxC;;;;;;;;;;;;OAYG;IACG,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC;IAsB/B;;;;;;;OAOG;IACG,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKzC;;;;;;;OAOG;IACG,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAKvC;;;;;OAKG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAKrE;;;;;OAKG;IACG,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAOnF;;;;;OAKG;IACG,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAO7E;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD;;;;;;OAMG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,GAC9B,OAAO,CAAC,OAAO,CAAC;IASnB;;;;;OAKG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS1D;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/C;;;;;;OAMG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAClC,OAAO,CAAC,OAAO,CAAC;IASnB;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B;;OAEG;IACH,OAAO,CAAC,SAAS;CAUlB;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,QAAQ,CAM9C"}
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* @module services/task-pool/pool-storage
|
|
9
9
|
*/
|
|
10
10
|
import * as path from 'path';
|
|
11
|
-
import * as os from 'os';
|
|
12
11
|
import { ensureDir, safeReadJson, atomicWriteJson, } from '../../utils/file-io.utils.js';
|
|
13
12
|
import { LoggerService } from '../core/logger.service.js';
|
|
13
|
+
import { getCrewlyHomePath } from '../core/crewly-home.utils.js';
|
|
14
14
|
// ---------------------------------------------------------------------------
|
|
15
15
|
// Constants
|
|
16
16
|
// ---------------------------------------------------------------------------
|
|
@@ -42,7 +42,7 @@ export class PoolStorage {
|
|
|
42
42
|
dirty = false;
|
|
43
43
|
constructor(options) {
|
|
44
44
|
const dataDir = options?.dataDir ??
|
|
45
|
-
path.join(
|
|
45
|
+
path.join(getCrewlyHomePath(), POOL_DIR_NAME);
|
|
46
46
|
this.filePath = path.join(dataDir, POOL_FILE_NAME);
|
|
47
47
|
this.logger = LoggerService.getInstance().createComponentLogger('PoolStorage');
|
|
48
48
|
}
|
|
@@ -52,33 +52,56 @@ export class PoolStorage {
|
|
|
52
52
|
/**
|
|
53
53
|
* Loads pool data from disk (or returns cached copy).
|
|
54
54
|
*
|
|
55
|
-
*
|
|
55
|
+
* **F-CYCLE7-3 (2026-05-07):** Normalizes legacy / partial on-disk
|
|
56
|
+
* shapes — if a previous write produced a `pool.json` missing the
|
|
57
|
+
* `workItems` or `claims` arrays (root cause of the post-restart
|
|
58
|
+
* `Cannot read properties of undefined (reading 'filter')` storm in
|
|
59
|
+
* `ReconcilerDataProvider`), we coerce the missing slots to `[]`
|
|
60
|
+
* before caching so every downstream consumer can rely on the
|
|
61
|
+
* `PoolData` invariant.
|
|
62
|
+
*
|
|
63
|
+
* @returns Current pool data with `workItems` and `claims` guaranteed to be arrays
|
|
56
64
|
*/
|
|
57
65
|
async load() {
|
|
58
66
|
if (this.cache)
|
|
59
67
|
return this.cache;
|
|
60
68
|
await ensureDir(path.dirname(this.filePath));
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
69
|
+
const raw = await safeReadJson(this.filePath, createEmptyPoolData(), this.logger);
|
|
70
|
+
// Defensive normalization. `safeReadJson` round-trips whatever
|
|
71
|
+
// shape is on disk, so a partial / pre-migration file can produce
|
|
72
|
+
// `data.workItems === undefined`. Repair to canonical shape once,
|
|
73
|
+
// here, instead of every read site.
|
|
74
|
+
const normalized = {
|
|
75
|
+
workItems: Array.isArray(raw?.workItems) ? raw.workItems : [],
|
|
76
|
+
claims: Array.isArray(raw?.claims) ? raw.claims : [],
|
|
77
|
+
lastUpdatedAt: raw?.lastUpdatedAt ?? new Date(0).toISOString(),
|
|
78
|
+
};
|
|
79
|
+
this.cache = normalized;
|
|
80
|
+
return normalized;
|
|
64
81
|
}
|
|
65
82
|
/**
|
|
66
83
|
* Returns all work items currently in the pool.
|
|
67
84
|
*
|
|
85
|
+
* Always returns an array — `load()` normalizes a missing
|
|
86
|
+
* `workItems` field to `[]` (F-CYCLE7-3).
|
|
87
|
+
*
|
|
68
88
|
* @returns Array of WorkItems
|
|
69
89
|
*/
|
|
70
90
|
async getWorkItems() {
|
|
71
91
|
const data = await this.load();
|
|
72
|
-
return data.workItems;
|
|
92
|
+
return data.workItems ?? [];
|
|
73
93
|
}
|
|
74
94
|
/**
|
|
75
95
|
* Returns all claims.
|
|
76
96
|
*
|
|
97
|
+
* Always returns an array — `load()` normalizes a missing `claims`
|
|
98
|
+
* field to `[]` (F-CYCLE7-3).
|
|
99
|
+
*
|
|
77
100
|
* @returns Array of TaskClaims
|
|
78
101
|
*/
|
|
79
102
|
async getClaims() {
|
|
80
103
|
const data = await this.load();
|
|
81
|
-
return data.claims;
|
|
104
|
+
return data.claims ?? [];
|
|
82
105
|
}
|
|
83
106
|
/**
|
|
84
107
|
* Finds a work item by ID.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool-storage.js","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/pool-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"pool-storage.js","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/pool-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,57 @@ import { PoolStorage } from './pool-storage.js';
|
|
|
12
12
|
import { ClaimService, type HeartbeatResult, type ExtendLeaseResult, type ExpiredClaimsSummary } from './claim.service.js';
|
|
13
13
|
import type { WorkItem, WorkItemStatus, WorkItemType, WorkItemOwner } from '../../types/v2/work-item.types.js';
|
|
14
14
|
import { type TaskClaim } from '../../types/v2/claim.types.js';
|
|
15
|
+
import type { EventBusService } from '../event-bus/event-bus.service.js';
|
|
16
|
+
/**
|
|
17
|
+
* Narrow Request-link contract consumed by {@link TaskPoolService.addToPool}.
|
|
18
|
+
*
|
|
19
|
+
* Defined as a duck-typed interface (rather than importing the full
|
|
20
|
+
* `RequestService` class) so tests can supply fakes without depending on
|
|
21
|
+
* the RequestService transitive imports, and to keep the dependency
|
|
22
|
+
* direction one-way: TaskPool → Request, never the reverse.
|
|
23
|
+
*
|
|
24
|
+
* P1 Bug B (Pool umbrella WI 72ca743a-3a66-4d0e-a6cf-1a861f849dbd):
|
|
25
|
+
* the production `linkWorkItem` is idempotent — it short-circuits when
|
|
26
|
+
* `workItemId` is already in `request.workItemIds[]` — so the
|
|
27
|
+
* intrinsic-link path here is safe to coexist with downstream
|
|
28
|
+
* subscriber-driven linking (request-sla.subscriber, V3DataService).
|
|
29
|
+
*/
|
|
30
|
+
export interface IRequestWorkItemLinker {
|
|
31
|
+
/**
|
|
32
|
+
* Idempotently link a WorkItem id to a Request's workItemIds[].
|
|
33
|
+
*
|
|
34
|
+
* @param requestId - The parent Request id (already on the WI).
|
|
35
|
+
* @param workItemId - The WorkItem id to link.
|
|
36
|
+
* @returns The updated Request, or null if the Request was not found.
|
|
37
|
+
* `addToPool` ignores the return value — link failure is best-effort.
|
|
38
|
+
*/
|
|
39
|
+
linkWorkItem(requestId: string, workItemId: string): Promise<unknown>;
|
|
40
|
+
}
|
|
41
|
+
/** Result of {@link TaskPoolService.removeFromPool}. */
|
|
42
|
+
export interface RemoveFromPoolResult {
|
|
43
|
+
/** `true` when the WorkItem existed and was removed. */
|
|
44
|
+
removed: boolean;
|
|
45
|
+
/** The deleted WorkItem (only when removed === true). */
|
|
46
|
+
workItem?: WorkItem;
|
|
47
|
+
/** `true` when an active claim was found at delete time. */
|
|
48
|
+
hadActiveClaim?: boolean;
|
|
49
|
+
/** Cause when removed === false. */
|
|
50
|
+
reason?: 'not_found';
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Structured error thrown by {@link TaskPoolService.removeFromPool}
|
|
54
|
+
* when an active claim exists and `force: true` was not passed.
|
|
55
|
+
*/
|
|
56
|
+
export declare class WorkItemClaimedError extends Error {
|
|
57
|
+
readonly workItemId: string;
|
|
58
|
+
readonly claimId: string;
|
|
59
|
+
readonly claimedBy: string;
|
|
60
|
+
constructor(args: {
|
|
61
|
+
workItemId: string;
|
|
62
|
+
claimId: string;
|
|
63
|
+
claimedBy: string;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
15
66
|
/**
|
|
16
67
|
* Filters for claiming work items from the pool.
|
|
17
68
|
*/
|
|
@@ -79,7 +130,72 @@ export declare class TaskPoolService {
|
|
|
79
130
|
private readonly storage;
|
|
80
131
|
private readonly claimService;
|
|
81
132
|
private readonly logger;
|
|
133
|
+
/**
|
|
134
|
+
* Optional EventBus reference — wired via {@link setEventBusService} from
|
|
135
|
+
* the boot path. When set, {@link addToPool} publishes a `workitem:queued`
|
|
136
|
+
* event so subscribers (notably {@link RequestSlaSubscriber}) can react to
|
|
137
|
+
* queue mutations. Optional because singleton callers (tests, CLI) bring
|
|
138
|
+
* up the pool before the bus exists; missing bus is treated as a no-op
|
|
139
|
+
* publish at warn level.
|
|
140
|
+
*/
|
|
141
|
+
private eventBus;
|
|
142
|
+
/**
|
|
143
|
+
* Optional Request-linker reference — wired via {@link setRequestService}
|
|
144
|
+
* from the boot path. When set, {@link addToPool} pushes the new WI's id
|
|
145
|
+
* into the parent `Request.workItemIds[]` immediately after the storage
|
|
146
|
+
* flush, independent of any downstream subscriber.
|
|
147
|
+
*
|
|
148
|
+
* P1 Bug B (Pool umbrella WI 72ca743a) intrinsic-link contract:
|
|
149
|
+
* - The pre-fix path relied on `workitem:queued` / `task:delegated`
|
|
150
|
+
* subscribers (request-sla.subscriber, V3DataService) to backfill
|
|
151
|
+
* `Request.workItemIds[]`. Manual / programmatic / cron callers that
|
|
152
|
+
* bypass the standard event chain left Requests with
|
|
153
|
+
* `workItemIds=[]` even though their WIs were in the pool.
|
|
154
|
+
* - The intrinsic path here is the source-of-truth link and runs on
|
|
155
|
+
* every `addToPool`. Subscriber-driven linking remains as
|
|
156
|
+
* belt-and-suspenders (idempotent — see request.service.ts:328
|
|
157
|
+
* short-circuit on duplicate id).
|
|
158
|
+
* - Optional because singleton callers (tests, CLI) bring up the pool
|
|
159
|
+
* before RequestService exists; missing linker is a no-op debug log.
|
|
160
|
+
*/
|
|
161
|
+
private requestService;
|
|
162
|
+
/**
|
|
163
|
+
* Serializes claim operations to prevent the race where two concurrent
|
|
164
|
+
* claimFromPool / claimSpecificItem calls both select the same queued
|
|
165
|
+
* WorkItem between their read and write phases. In-process only — does
|
|
166
|
+
* not protect against cross-process races, but the backend runs as a
|
|
167
|
+
* single process today.
|
|
168
|
+
*/
|
|
169
|
+
private claimMutex;
|
|
82
170
|
constructor(storage?: PoolStorage);
|
|
171
|
+
/**
|
|
172
|
+
* Wire the EventBus reference used by {@link addToPool} to publish
|
|
173
|
+
* `workitem:queued` events (INBOUND-1.f1). Called from the backend boot
|
|
174
|
+
* path after both services have been constructed. Idempotent and may be
|
|
175
|
+
* called with `null` to disable publishing (testing).
|
|
176
|
+
*
|
|
177
|
+
* @param bus - The EventBus instance, or null to clear
|
|
178
|
+
*/
|
|
179
|
+
setEventBusService(bus: EventBusService | null): void;
|
|
180
|
+
/**
|
|
181
|
+
* Wire the Request-linker reference used by {@link addToPool} to
|
|
182
|
+
* intrinsically link the new WI into its parent `Request.workItemIds[]`
|
|
183
|
+
* (P1 Bug B — Pool umbrella WI 72ca743a).
|
|
184
|
+
*
|
|
185
|
+
* Called from the backend boot path after both services exist.
|
|
186
|
+
* Idempotent and may be called with `null` to disable intrinsic
|
|
187
|
+
* linking (testing). Mirrors the {@link setEventBusService} setter
|
|
188
|
+
* pattern so the dependency wiring stays uniform and grep-able.
|
|
189
|
+
*
|
|
190
|
+
* @param svc - The RequestService instance (or any object satisfying
|
|
191
|
+
* {@link IRequestWorkItemLinker}), or null to clear.
|
|
192
|
+
*/
|
|
193
|
+
setRequestService(svc: IRequestWorkItemLinker | null): void;
|
|
194
|
+
/**
|
|
195
|
+
* Chains the given critical section after any in-flight claim operation.
|
|
196
|
+
* Guarantees FIFO ordering even under concurrent invocation.
|
|
197
|
+
*/
|
|
198
|
+
private withClaimLock;
|
|
83
199
|
/**
|
|
84
200
|
* Get singleton instance of TaskPoolService.
|
|
85
201
|
*
|
|
@@ -93,13 +209,104 @@ export declare class TaskPoolService {
|
|
|
93
209
|
/**
|
|
94
210
|
* Adds an execution-ready WorkItem to the pool.
|
|
95
211
|
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
212
|
+
* Accepted statuses:
|
|
213
|
+
* - `queued` — ready to run
|
|
214
|
+
* - `blocked` — waiting on unresolved dependsOn; the resolver will promote
|
|
215
|
+
* it to `queued` when every upstream dep reaches terminal success.
|
|
98
216
|
*
|
|
99
217
|
* @param workItem - The work item to add
|
|
100
|
-
* @throws Error if workItem is
|
|
218
|
+
* @throws Error if workItem is invalid or in an ineligible status
|
|
101
219
|
*/
|
|
102
220
|
addToPool(workItem: WorkItem): Promise<void>;
|
|
221
|
+
/**
|
|
222
|
+
* P1 Bug B helper: intrinsically link a freshly-added WI into its
|
|
223
|
+
* parent `Request.workItemIds[]`.
|
|
224
|
+
*
|
|
225
|
+
* Stays a separate method (vs inlining) so:
|
|
226
|
+
* 1. The dependency on RequestService stays explicit and grep-able,
|
|
227
|
+
* mirroring {@link publishWorkItemQueued}.
|
|
228
|
+
* 2. Future enqueue paths (e.g. a batch addAll) can route through
|
|
229
|
+
* the same linker for consistent behaviour.
|
|
230
|
+
* 3. Error handling stays in one place — a thrown linker must NOT
|
|
231
|
+
* back out the pool mutation (the storage write already committed).
|
|
232
|
+
*
|
|
233
|
+
* @param workItem - The WI just persisted into the pool.
|
|
234
|
+
*/
|
|
235
|
+
private linkWorkItemToRequest;
|
|
236
|
+
/**
|
|
237
|
+
* INBOUND-1.f1 helper: publish a `workitem:queued` event with correlation
|
|
238
|
+
* ids the SLA subscriber needs (`requestId`, `missionId`, plus the new
|
|
239
|
+
* `workItemId`). Called by {@link addToPool} after the storage flush.
|
|
240
|
+
*
|
|
241
|
+
* Stays a separate method (vs inlining) so:
|
|
242
|
+
* 1. The dependency on EventBus stays explicit and grep-able.
|
|
243
|
+
* 2. A future caller adding an alternate enqueue path (e.g. a batch
|
|
244
|
+
* addAll) can route through the same publisher for consistent
|
|
245
|
+
* observability.
|
|
246
|
+
* 3. Error handling stays in one place — a thrown publisher must NOT
|
|
247
|
+
* back out the pool mutation (the storage write already committed).
|
|
248
|
+
*/
|
|
249
|
+
private publishWorkItemQueued;
|
|
250
|
+
/**
|
|
251
|
+
* F1-BRIDGE-1 helper: publish `task:done_by_worker` after a successful
|
|
252
|
+
* `submitForVerification` transition. The {@link EventToWorkItemBridge}
|
|
253
|
+
* subscribes to this event and creates a verification WorkItem for the
|
|
254
|
+
* resolved team-lead session.
|
|
255
|
+
*
|
|
256
|
+
* Stays a separate method (mirrors {@link publishWorkItemQueued}) so:
|
|
257
|
+
* 1. The dependency on EventBus stays explicit and grep-able — Arch's
|
|
258
|
+
* grep guard checks both the type declaration AND a publish call
|
|
259
|
+
* site for `task:done_by_worker`.
|
|
260
|
+
* 2. Error handling is uniform with the other publishers — a thrown
|
|
261
|
+
* bus must NOT back out the verified state transition; the storage
|
|
262
|
+
* flush has already committed.
|
|
263
|
+
* 3. A future caller adding an alternate verification-submission path
|
|
264
|
+
* (e.g. an admin endpoint or a CLI) routes through the same publisher.
|
|
265
|
+
*
|
|
266
|
+
* The deterministic event id (`task:done_by_worker:${workItemId}`) keys
|
|
267
|
+
* dedup so a redelivered submitForVerification (theoretical) collapses
|
|
268
|
+
* through the bus without firing the bridge handler twice.
|
|
269
|
+
*/
|
|
270
|
+
private publishTaskDoneByWorker;
|
|
271
|
+
/**
|
|
272
|
+
* F1-BRIDGE-1 helper: publish `task:rejected` after a successful
|
|
273
|
+
* `verifyItem` transition with verdict='rejected'. The
|
|
274
|
+
* {@link EventToWorkItemBridge} subscribes and either creates a retry
|
|
275
|
+
* WI (`retryCount < maxRetries`) or escalates to a TL review WI with
|
|
276
|
+
* `reviewReason='max_retries_exceeded'` at the cap.
|
|
277
|
+
*
|
|
278
|
+
* Mirrors {@link publishTaskDoneByWorker} for symmetry. Only the
|
|
279
|
+
* verdict='rejected' branch reaches this publisher — `verdict='verified'`
|
|
280
|
+
* does NOT publish (terminal-success path goes through
|
|
281
|
+
* {@link resolveBlockedDependents}, which is not a bridge trigger).
|
|
282
|
+
*/
|
|
283
|
+
private publishTaskRejected;
|
|
284
|
+
/**
|
|
285
|
+
* Publish `task:cancelled` whenever a WorkItem transitions to the
|
|
286
|
+
* cancelled status via {@link updateItemStatus} or {@link transitionStatus}.
|
|
287
|
+
*
|
|
288
|
+
* **Why this exists.** 2026-05-09 dogfood: 4 child WIs of a Slack-
|
|
289
|
+
* originated Request all landed in `cancelled` (orc-not-in-health-map
|
|
290
|
+
* loop, fixed in #531) but the Request stayed in `ready` for hours.
|
|
291
|
+
* `cascadeRequestStatus` only fires from V3DataService's task
|
|
292
|
+
* handlers, which are wired to the retired `v3:task_*` events
|
|
293
|
+
* (`mission-executor.service.ts:152` v1-cleanup comment) — so out-of-
|
|
294
|
+
* band cancellations never reached cascade. The heartbeat sweep
|
|
295
|
+
* eventually caught it (#533), but with up-to-30-min latency that
|
|
296
|
+
* showed up as a misleading "0/4 in every bucket" ping in the user's
|
|
297
|
+
* Slack thread.
|
|
298
|
+
*
|
|
299
|
+
* Publishing `task:cancelled` lets `RequestCascadeSubscriber` close
|
|
300
|
+
* the Request within seconds of the last child cancelling, instead
|
|
301
|
+
* of waiting for the heartbeat catch.
|
|
302
|
+
*
|
|
303
|
+
* Mirrors {@link publishTaskDoneByWorker} / {@link publishTaskRejected}
|
|
304
|
+
* so the EventBus surface stays uniform.
|
|
305
|
+
*
|
|
306
|
+
* @param workItem - The WI snapshot AFTER the cancelled transition committed
|
|
307
|
+
* @param previousStatus - The status it transitioned from (for the event payload)
|
|
308
|
+
*/
|
|
309
|
+
private publishTaskCancelled;
|
|
103
310
|
/**
|
|
104
311
|
* Claims the next available WorkItem from the pool for an agent.
|
|
105
312
|
*
|
|
@@ -132,13 +339,133 @@ export declare class TaskPoolService {
|
|
|
132
339
|
*/
|
|
133
340
|
releaseBack(workItemId: string, reason: string): Promise<void>;
|
|
134
341
|
/**
|
|
135
|
-
*
|
|
342
|
+
* Decide whether a WorkItem requires TL verification before reaching a
|
|
343
|
+
* terminal-success status.
|
|
136
344
|
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
345
|
+
* Default policy (VERIF-1):
|
|
346
|
+
* - `delegate` items default to *requires verification* — a worker
|
|
347
|
+
* marking their own delegated work as "done" should produce
|
|
348
|
+
* `done_by_worker` and wake the TL for sign-off.
|
|
349
|
+
* - All other types (`cron_run`, `notify`, `reconcile`, `check`,
|
|
350
|
+
* `confirm`, `review`, ...) default to simple completion (`done`).
|
|
351
|
+
*
|
|
352
|
+
* The default is overridable via `wi.metadata.requiresVerification`:
|
|
353
|
+
* - `true` — force verification path even for non-delegate types
|
|
354
|
+
* - `false` — skip verification even for delegate types (this is the
|
|
355
|
+
* F-H affordance REVIEW-1 needs: review WIs are themselves the
|
|
356
|
+
* verification step, so they must NOT loop back to TL self-verify)
|
|
357
|
+
*
|
|
358
|
+
* @param wi - The WorkItem under inspection
|
|
359
|
+
* @returns true when the verification path should fire
|
|
360
|
+
*/
|
|
361
|
+
private requiresVerification;
|
|
362
|
+
/**
|
|
363
|
+
* Internal: release the active claim on a WorkItem (if any). Shared by
|
|
364
|
+
* `completeSimpleItem` and `submitForVerification` because both
|
|
365
|
+
* represent the worker handing the item back to the system.
|
|
366
|
+
*
|
|
367
|
+
* @param workItemId - WorkItem whose claim should be released
|
|
368
|
+
* @param endReason - Reason recorded on the claim (`completed` /
|
|
369
|
+
* `submitted_for_verification`) for auditability
|
|
370
|
+
*/
|
|
371
|
+
private releaseClaim;
|
|
372
|
+
/**
|
|
373
|
+
* Worker reports a delegated WorkItem as done and submits it for TL
|
|
374
|
+
* verification.
|
|
375
|
+
*
|
|
376
|
+
* Transitions `running → done_by_worker` via {@link transitionStatus},
|
|
377
|
+
* which enforces the V3 actor-role gate (`'agent'` is allowed; any
|
|
378
|
+
* other role throws). The active claim is released as
|
|
379
|
+
* `submitted_for_verification` so the TL queue is the only thing
|
|
380
|
+
* blocking forward progress.
|
|
381
|
+
*
|
|
382
|
+
* Used by the `completeItem` facade for `delegate`-type items and any
|
|
383
|
+
* item whose `metadata.requiresVerification === true`.
|
|
384
|
+
*
|
|
385
|
+
* @param workItemId - WorkItem id
|
|
386
|
+
* @param actorRole - Role of the caller (`'agent'` for normal worker
|
|
387
|
+
* submissions; passed through to `isTransitionPermitted`)
|
|
388
|
+
* @param result - Optional result payload to attach to the WorkItem
|
|
389
|
+
* @returns The updated WorkItem, or `null` if the WI was deleted
|
|
390
|
+
* between the find and the update (race window)
|
|
391
|
+
* @throws When the WorkItem is missing, the transition is invalid, or
|
|
392
|
+
* the actor is not permitted to perform `running → done_by_worker`.
|
|
393
|
+
*/
|
|
394
|
+
submitForVerification(workItemId: string, actorRole: WorkItemOwner, result?: Record<string, unknown>): Promise<WorkItem | null>;
|
|
395
|
+
/**
|
|
396
|
+
* Worker (or system) marks a non-delegated WorkItem as fully done.
|
|
397
|
+
*
|
|
398
|
+
* Transitions `running → done` via {@link transitionStatus}. Used by
|
|
399
|
+
* the `completeItem` facade for `cron_run`, `notify`, `reconcile`,
|
|
400
|
+
* `check`, `confirm`, `review` types — anything whose lifecycle does
|
|
401
|
+
* NOT include a TL verification step.
|
|
402
|
+
*
|
|
403
|
+
* The Reconciler service is the only system-actor caller and uses
|
|
404
|
+
* `actorRole='system'`, which bypasses the actor check while still
|
|
405
|
+
* respecting the state-machine legality check.
|
|
406
|
+
*
|
|
407
|
+
* @param workItemId - WorkItem id
|
|
408
|
+
* @param actorRole - Role of the caller (`'agent'`, `'system'`, etc.)
|
|
409
|
+
* @param result - Optional result payload to attach
|
|
410
|
+
* @returns The updated WorkItem, or `null` if the WI was deleted
|
|
411
|
+
* between the find and the update (race window)
|
|
412
|
+
* @throws When the WorkItem is missing, the transition is invalid, or
|
|
413
|
+
* the actor is not permitted to perform `running → done`.
|
|
414
|
+
*/
|
|
415
|
+
completeSimpleItem(workItemId: string, actorRole: WorkItemOwner, result?: Record<string, unknown>): Promise<WorkItem | null>;
|
|
416
|
+
/**
|
|
417
|
+
* TL records a verdict on a WorkItem in `done_by_worker` status.
|
|
418
|
+
*
|
|
419
|
+
* `verified` advances to terminal success and unblocks dependents;
|
|
420
|
+
* `rejected` parks the item until the TL re-queues it (which TRANS-1
|
|
421
|
+
* gates to TL/orchestrator/system actors). Worker-actor calls throw
|
|
422
|
+
* automatically via {@link transitionStatus}'s permission gate — we
|
|
423
|
+
* do NOT need to add an explicit role check here, the matrix in
|
|
424
|
+
* `TRANSITION_PERMISSIONS` handles it.
|
|
425
|
+
*
|
|
426
|
+
* @param workItemId - WorkItem id (must currently be `done_by_worker`)
|
|
427
|
+
* @param actorRole - Role of the caller (`'team_lead'` or `'orchestrator'`
|
|
428
|
+
* for verify/reject; worker calls throw)
|
|
429
|
+
* @param verdict - `'verified'` or `'rejected'`
|
|
430
|
+
* @param comment - Optional reviewer comment recorded in `wi.error`
|
|
431
|
+
* (the field is reused — the WorkItem schema does not yet have a
|
|
432
|
+
* dedicated `verifierComment` slot; keeping this on `error` lets
|
|
433
|
+
* downstream UIs render TL feedback alongside failure causes)
|
|
434
|
+
* @returns The updated WorkItem, or `null` on race-window deletion
|
|
435
|
+
* @throws When the WorkItem is missing, the verdict is invalid, the
|
|
436
|
+
* transition is illegal, or the actor is not permitted to verify.
|
|
437
|
+
*/
|
|
438
|
+
verifyItem(workItemId: string, actorRole: WorkItemOwner, verdict: 'verified' | 'rejected', comment?: string): Promise<WorkItem | null>;
|
|
439
|
+
/**
|
|
440
|
+
* Legacy facade — picks the verification path for the caller.
|
|
441
|
+
*
|
|
442
|
+
* Existing call sites (REST controller, task-management controllers,
|
|
443
|
+
* V3 data service) invoke `completeItem(id, result)` without an
|
|
444
|
+
* explicit actor role. The facade reads the WorkItem, applies the
|
|
445
|
+
* {@link requiresVerification} policy, and dispatches to either
|
|
446
|
+
* {@link submitForVerification} (delegate items / explicit opt-in)
|
|
447
|
+
* or {@link completeSimpleItem} (everything else).
|
|
448
|
+
*
|
|
449
|
+
* The legacy actor role for these implicit callers is `'agent'`.
|
|
450
|
+
* Migrations to explicit-actor calls can land in follow-up tickets
|
|
451
|
+
* without touching the five call sites in this PR.
|
|
452
|
+
*
|
|
453
|
+
* @param workItemId - WorkItem id
|
|
454
|
+
* @param result - Optional result payload
|
|
455
|
+
* @throws When the WorkItem is missing or the underlying transition
|
|
456
|
+
* is rejected (invalid state, forbidden actor).
|
|
140
457
|
*/
|
|
141
458
|
completeItem(workItemId: string, result?: Record<string, unknown>): Promise<void>;
|
|
459
|
+
/**
|
|
460
|
+
* Scans blocked WorkItems that list `completedId` in their `dependsOn` and
|
|
461
|
+
* promotes each to `queued` if every one of their deps has reached terminal
|
|
462
|
+
* success (`done` or `verified`). Idempotent and safe to call on any terminal
|
|
463
|
+
* success transition.
|
|
464
|
+
*
|
|
465
|
+
* Serialized via the claim mutex — a concurrent claimFromPool call must not
|
|
466
|
+
* observe a half-promoted item.
|
|
467
|
+
*/
|
|
468
|
+
resolveBlockedDependents(completedId: string): Promise<void>;
|
|
142
469
|
/**
|
|
143
470
|
* Marks a work item as failed.
|
|
144
471
|
*
|
|
@@ -203,6 +530,62 @@ export declare class TaskPoolService {
|
|
|
203
530
|
* @returns Array of all WorkItems
|
|
204
531
|
*/
|
|
205
532
|
getAllItems(): Promise<WorkItem[]>;
|
|
533
|
+
/**
|
|
534
|
+
* Find a WorkItem by id without mutating it.
|
|
535
|
+
*
|
|
536
|
+
* Public read accessor used by callers that need to inspect a
|
|
537
|
+
* specific item — for example REVIEW-1's reentrancy lock checks the
|
|
538
|
+
* status of a Mission's `pendingReviewWorkItemId` to decide whether
|
|
539
|
+
* to clear the lock. Returns `null` (not `undefined`) so callers can
|
|
540
|
+
* use a uniform null-fallthrough idiom shared with
|
|
541
|
+
* `getWorkItemSnapshot` and `transitionStatus`.
|
|
542
|
+
*
|
|
543
|
+
* @param workItemId - WorkItem id to look up
|
|
544
|
+
* @returns The WorkItem, or `null` if no item has that id
|
|
545
|
+
*/
|
|
546
|
+
findWorkItem(workItemId: string): Promise<WorkItem | null>;
|
|
547
|
+
/**
|
|
548
|
+
* Stores worker-supplied structured output on a WorkItem.
|
|
549
|
+
*
|
|
550
|
+
* Replaces the v1 `<taskId>.output.json` filesystem store with an
|
|
551
|
+
* in-pool field (see {@link WorkItem.output}). Used by the worker
|
|
552
|
+
* `complete-task` flow and read back by the TL `verify-output` skill.
|
|
553
|
+
*
|
|
554
|
+
* @param workItemId - WorkItem id to attach output to
|
|
555
|
+
* @param output - Arbitrary task-specific output object
|
|
556
|
+
* @returns The updated WorkItem, or null if not found
|
|
557
|
+
*/
|
|
558
|
+
setOutput(workItemId: string, output: Record<string, unknown>): Promise<WorkItem | null>;
|
|
559
|
+
/**
|
|
560
|
+
* Reassigns a WorkItem to a different target agent.
|
|
561
|
+
*
|
|
562
|
+
* Replaces the v1 `/task-management/handoff` filesystem reassign with a
|
|
563
|
+
* direct `target` field update on the WorkItem.
|
|
564
|
+
*
|
|
565
|
+
* Allowed transitions:
|
|
566
|
+
* - `target` must be a non-empty string
|
|
567
|
+
* - WI must not be in a terminal state (done/cancelled/failed-final)
|
|
568
|
+
*
|
|
569
|
+
* @param workItemId - WorkItem to reassign
|
|
570
|
+
* @param newTarget - Session name of the new target agent
|
|
571
|
+
* @param fromAgent - Session name of the agent handing off (for audit)
|
|
572
|
+
* @param reason - Human-readable reason recorded as a working-note
|
|
573
|
+
* @returns The updated WorkItem, or null if not found
|
|
574
|
+
*/
|
|
575
|
+
handoff(workItemId: string, newTarget: string, fromAgent: string, reason: string): Promise<WorkItem | null>;
|
|
576
|
+
/**
|
|
577
|
+
* Appends a working-state note to a WorkItem's metadata.notes array.
|
|
578
|
+
*
|
|
579
|
+
* Replaces v1 `/task-management/sync` and `/task-management/save-working-notes`,
|
|
580
|
+
* both of which appended progress notes to the `.md` task body. With v1
|
|
581
|
+
* retired, notes live on the WorkItem itself under `metadata.notes[]`.
|
|
582
|
+
*
|
|
583
|
+
* @param workItemId - WorkItem id
|
|
584
|
+
* @param author - Session name of note author
|
|
585
|
+
* @param note - Note content (free-form)
|
|
586
|
+
* @returns The updated WorkItem, or null if not found
|
|
587
|
+
*/
|
|
588
|
+
appendNote(workItemId: string, author: string, note: string): Promise<WorkItem | null>;
|
|
206
589
|
/**
|
|
207
590
|
* Removes a WorkItem from the pool entirely.
|
|
208
591
|
* Used for purging old completed/cancelled items.
|
|
@@ -210,6 +593,22 @@ export declare class TaskPoolService {
|
|
|
210
593
|
* @param workItemId - ID of the item to remove
|
|
211
594
|
*/
|
|
212
595
|
removeItem(workItemId: string): Promise<void>;
|
|
596
|
+
/**
|
|
597
|
+
* Public delete API used by the bulk-cleanup script and the new
|
|
598
|
+
* `DELETE /api/task-pool/:id` HTTP endpoint (P1 umbrella WI 1ffffb84
|
|
599
|
+
* component a, Steve directive 2026-05-06: just-DELETE-not-backfill).
|
|
600
|
+
*
|
|
601
|
+
* Three guarantees over {@link removeItem}:
|
|
602
|
+
* 1. Idempotent — `not_found` is a no-op return, not a throw.
|
|
603
|
+
* 2. Claim-safety — refuses claimed delete unless `opts.force`.
|
|
604
|
+
* 3. Audit log — single info-level log per removal.
|
|
605
|
+
*
|
|
606
|
+
* Force path also revokes the orphaned claim (status='revoked',
|
|
607
|
+
* endedAt, endReason).
|
|
608
|
+
*/
|
|
609
|
+
removeFromPool(workItemId: string, opts?: {
|
|
610
|
+
force?: boolean;
|
|
611
|
+
}): Promise<RemoveFromPoolResult>;
|
|
213
612
|
/**
|
|
214
613
|
* Forces an immediate flush of pool data to disk.
|
|
215
614
|
* Called during graceful shutdown to prevent data loss.
|
|
@@ -226,11 +625,62 @@ export declare class TaskPoolService {
|
|
|
226
625
|
* Updates a work item's status directly.
|
|
227
626
|
* Used by the Reconciler for corrections (e.g., stuck → blocked).
|
|
228
627
|
*
|
|
628
|
+
* Reconciler invocations pass through `actorRole='system'` (default) which
|
|
629
|
+
* bypasses the per-role gate at {@link isTransitionPermitted} but still
|
|
630
|
+
* enforces the state-machine via {@link isValidWorkItemTransition}. Other
|
|
631
|
+
* callers MUST supply the actor's role so TRANS-1 V3 enforcement applies.
|
|
632
|
+
*
|
|
229
633
|
* @param workItemId - The work item ID
|
|
230
634
|
* @param newStatus - The target status
|
|
231
|
-
* @
|
|
635
|
+
* @param actorRole - Role of the caller (defaults to `'system'` for Reconciler)
|
|
636
|
+
* @throws Error if work item not found
|
|
637
|
+
* @throws Error if transition is invalid (state machine — see WORK_ITEM_TRANSITIONS)
|
|
638
|
+
* @throws Error if actor is not permitted (role check — see TRANSITION_PERMISSIONS)
|
|
639
|
+
*/
|
|
640
|
+
updateItemStatus(workItemId: string, newStatus: WorkItemStatus, actorRole?: WorkItemOwner): Promise<void>;
|
|
641
|
+
/**
|
|
642
|
+
* Public guarded transition helper — TRANS-1's canonical entrypoint.
|
|
643
|
+
*
|
|
644
|
+
* Routes any externally-initiated WorkItem status change through the
|
|
645
|
+
* combined state-machine + actor-role gates. Designed as the public API
|
|
646
|
+
* VERIF-1 will call from `submitForVerification` / `verifyItem`, and as
|
|
647
|
+
* the recommended path for any future caller that previously reached
|
|
648
|
+
* for `storage.updateWorkItem` to flip status.
|
|
649
|
+
*
|
|
650
|
+
* Differences vs {@link updateItemStatus}:
|
|
651
|
+
* - Requires `actorRole` explicitly (no default) — forces the caller to
|
|
652
|
+
* decide the trust posture rather than silently inheriting `'system'`.
|
|
653
|
+
* - Accepts an optional `mutator` so callers can carry additional field
|
|
654
|
+
* updates (e.g. `result`, `error`, `completedAt`) atomically with the
|
|
655
|
+
* status flip — preventing races between status update and metadata
|
|
656
|
+
* attachment that direct `storage.updateWorkItem` callers risked.
|
|
657
|
+
*
|
|
658
|
+
* @param workItemId - The work item ID
|
|
659
|
+
* @param newStatus - The target status
|
|
660
|
+
* @param actorRole - Role of the caller (REQUIRED; pass `'system'` for trusted server-internal paths)
|
|
661
|
+
* @param mutator - Optional additional WorkItem field updates applied atomically with the status change
|
|
662
|
+
* @returns The updated WorkItem after the transition
|
|
663
|
+
* @throws Error if work item not found
|
|
664
|
+
* @throws Error if transition is invalid (state machine)
|
|
665
|
+
* @throws Error if actor is not permitted (role check)
|
|
666
|
+
*
|
|
667
|
+
* @example
|
|
668
|
+
* ```typescript
|
|
669
|
+
* // VERIF-1 worker submitting for verification
|
|
670
|
+
* await pool.transitionStatus(wiId, 'done_by_worker', 'agent', (wi) => {
|
|
671
|
+
* wi.result = output;
|
|
672
|
+
* });
|
|
673
|
+
*
|
|
674
|
+
* // VERIF-1 TL verifying
|
|
675
|
+
* await pool.transitionStatus(wiId, 'verified', 'team_lead');
|
|
676
|
+
*
|
|
677
|
+
* // VERIF-1 TL rejecting (allowed for TL only)
|
|
678
|
+
* await pool.transitionStatus(wiId, 'rejected', 'team_lead', (wi) => {
|
|
679
|
+
* wi.error = 'Did not meet acceptance criteria';
|
|
680
|
+
* });
|
|
681
|
+
* ```
|
|
232
682
|
*/
|
|
233
|
-
|
|
683
|
+
transitionStatus(workItemId: string, newStatus: WorkItemStatus, actorRole: WorkItemOwner, mutator?: (wi: WorkItem) => void): Promise<WorkItem | null>;
|
|
234
684
|
/**
|
|
235
685
|
* Update token usage and cost on a WorkItem.
|
|
236
686
|
* Called after task completion when token data is available from TokenUsageService.
|