crewly 1.6.4 → 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/slack-app-manifest.json +2 -1
- 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 +291 -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 +28 -3
- 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/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/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/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 +45 -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 +202 -19
- 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
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
* Crewly Agent Model Manager
|
|
3
3
|
*
|
|
4
4
|
* Multi-provider model factory that creates AI SDK model instances
|
|
5
|
-
* from configuration. Supports Anthropic, OpenAI, Google, and
|
|
5
|
+
* from configuration. Supports Anthropic, OpenAI, Google, DeepSeek, and
|
|
6
|
+
* Ollama providers.
|
|
6
7
|
*
|
|
7
|
-
* API keys
|
|
8
|
+
* API keys for cloud providers are resolved through the settings service
|
|
9
|
+
* (skill → runtime → global → env var) and injected into process.env so the
|
|
10
|
+
* provider SDKs can pick them up:
|
|
8
11
|
* - ANTHROPIC_API_KEY
|
|
9
12
|
* - OPENAI_API_KEY
|
|
10
13
|
* - GOOGLE_GENERATIVE_AI_API_KEY
|
|
@@ -32,6 +35,22 @@ import { type ModelConfig, type ModelProvider } from './types.js';
|
|
|
32
35
|
export declare class ModelManager {
|
|
33
36
|
/** Cached provider module references to avoid re-importing */
|
|
34
37
|
private providerCache;
|
|
38
|
+
/**
|
|
39
|
+
* Per-instance buffer of parsed DeepSeek-R1 reasoning_content from in-flight
|
|
40
|
+
* and recently-completed HTTP calls. Each `streamText` call to a DeepSeek
|
|
41
|
+
* model triggers one or more fetch calls (one per agentic step); each fetch
|
|
42
|
+
* appends its parsed reasoning to this buffer. Consumer (agent-runner) reads
|
|
43
|
+
* via `consumeDeepseekReasoning()` after `await streamResult` and the buffer
|
|
44
|
+
* resets to `''` on read.
|
|
45
|
+
*
|
|
46
|
+
* **Concurrency:** AgentRunner uses one ModelManager per session and calls
|
|
47
|
+
* streamText serially per session (the rate limiter enforces this).
|
|
48
|
+
* Cross-session concurrency is not a concern because each AgentRunner gets
|
|
49
|
+
* its own ModelManager via `new ModelManager()` in the constructor.
|
|
50
|
+
*/
|
|
51
|
+
private deepseekReasoningBuffer;
|
|
52
|
+
/** Tracks in-flight parsed-SSE handles so we can wait for drain on consume. */
|
|
53
|
+
private deepseekParsedHandles;
|
|
35
54
|
/**
|
|
36
55
|
* Get an AI SDK language model instance for the given configuration.
|
|
37
56
|
*
|
|
@@ -59,10 +78,10 @@ export declare class ModelManager {
|
|
|
59
78
|
/**
|
|
60
79
|
* Map model provider name to API key provider name.
|
|
61
80
|
* Only applicable for cloud providers wired through the settings service
|
|
62
|
-
* (anthropic, openai, google). Ollama runs locally
|
|
63
|
-
*
|
|
81
|
+
* (anthropic, openai, google, deepseek). Ollama runs locally and is
|
|
82
|
+
* excluded.
|
|
64
83
|
*
|
|
65
|
-
* @param provider - Cloud model provider
|
|
84
|
+
* @param provider - Cloud model provider
|
|
66
85
|
* @returns Corresponding ApiKeyProvider name
|
|
67
86
|
*/
|
|
68
87
|
private static providerToApiKeyProvider;
|
|
@@ -70,17 +89,53 @@ export declare class ModelManager {
|
|
|
70
89
|
* Ensure the API key for a provider is available in process.env
|
|
71
90
|
* by resolving it from settings if not already present.
|
|
72
91
|
*
|
|
73
|
-
* No-op for
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* (will be migrated to the settings service in a follow-up; see PR notes)
|
|
92
|
+
* No-op for 'ollama' (runs locally, no key required). All other providers —
|
|
93
|
+
* including 'deepseek' — flow through the settings service so users can
|
|
94
|
+
* configure them from the UI without touching env vars.
|
|
77
95
|
*
|
|
78
96
|
* @param provider - The model provider
|
|
79
97
|
*/
|
|
80
98
|
private ensureApiKeyInEnv;
|
|
81
99
|
/**
|
|
82
100
|
* Clear the provider cache (useful for testing or reconfiguration).
|
|
101
|
+
* Also clears any buffered DeepSeek reasoning so a fresh test/run starts clean.
|
|
83
102
|
*/
|
|
84
103
|
clearCache(): void;
|
|
104
|
+
/**
|
|
105
|
+
* Build the custom fetch wrapper for the DeepSeek provider.
|
|
106
|
+
*
|
|
107
|
+
* Returns a function with the same signature as `globalThis.fetch` that:
|
|
108
|
+
* 1. Calls native fetch with the supplied input/init.
|
|
109
|
+
* 2. If the response is a streaming SSE body, tees it and parses one branch
|
|
110
|
+
* for `delta.reasoning_content`, accumulating into `this.deepseekReasoningBuffer`.
|
|
111
|
+
* 3. Returns a new Response wrapping the un-tampered passthrough branch as
|
|
112
|
+
* its body, so AI SDK consumes exactly the bytes DeepSeek sent.
|
|
113
|
+
*
|
|
114
|
+
* If the response is not an SSE stream (e.g. error JSON, no body), it is
|
|
115
|
+
* returned unchanged.
|
|
116
|
+
*
|
|
117
|
+
* **Why a method, not a free function:** the wrapper closes over `this` to
|
|
118
|
+
* append to the per-instance reasoning buffer. Each ModelManager instance
|
|
119
|
+
* has its own buffer (one per AgentRunner per session).
|
|
120
|
+
*/
|
|
121
|
+
private makeDeepseekFetch;
|
|
122
|
+
/**
|
|
123
|
+
* Drain any in-flight DeepSeek SSE parser branches and return the accumulated
|
|
124
|
+
* `reasoning_content` string. Resets the buffer to `''` on each call (consume
|
|
125
|
+
* semantics).
|
|
126
|
+
*
|
|
127
|
+
* **Caller contract:** call AFTER `await streamResult` resolves in agent-runner.
|
|
128
|
+
* The AI SDK consumer branch must have been fully drained for the parser branch
|
|
129
|
+
* (which lags slightly due to tee buffering) to have caught up.
|
|
130
|
+
*
|
|
131
|
+
* **Multi-step accumulation:** if a single `streamText` call made multiple HTTP
|
|
132
|
+
* calls (one per agentic step), reasoning from all steps is concatenated in
|
|
133
|
+
* call order — not separated by step boundary. This matches the user-facing
|
|
134
|
+
* mental model of "what was the model's full chain of thought for this turn."
|
|
135
|
+
*
|
|
136
|
+
* **Returns `null` if no reasoning was captured.** Empty string means a fetch
|
|
137
|
+
* happened but produced no reasoning content (e.g. non-R1 DeepSeek model).
|
|
138
|
+
*/
|
|
139
|
+
consumeDeepseekReasoning(): Promise<string | null>;
|
|
85
140
|
}
|
|
86
141
|
//# sourceMappingURL=model-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-manager.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/model-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"model-manager.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/model-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAyB,MAAM,YAAY,CAAC;AAazF;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IACvB,8DAA8D;IAC9D,OAAO,CAAC,aAAa,CAAgE;IAErF;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,uBAAuB,CAAM;IAErC,+EAA+E;IAC/E,OAAO,CAAC,qBAAqB,CAA2B;IAExD;;;;;;;;;OASG;IACG,QAAQ,CAAC,MAAM,GAAE,WAAiD,GAAG,OAAO,CAAC,aAAa,CAAC;IAQjG;;;;;OAKG;YACW,mBAAmB;IAwEjC;;;;OAIG;IACG,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAoBtE;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAIvC;;;;;;;;;OASG;YACW,iBAAiB;IA0B/B;;;OAGG;IACH,UAAU,IAAI,IAAI;IAMlB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;;;;;;;;;;;;;;;OAgBG;IACG,wBAAwB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAqBzD"}
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
* Crewly Agent Model Manager
|
|
3
3
|
*
|
|
4
4
|
* Multi-provider model factory that creates AI SDK model instances
|
|
5
|
-
* from configuration. Supports Anthropic, OpenAI, Google, and
|
|
5
|
+
* from configuration. Supports Anthropic, OpenAI, Google, DeepSeek, and
|
|
6
|
+
* Ollama providers.
|
|
6
7
|
*
|
|
7
|
-
* API keys
|
|
8
|
+
* API keys for cloud providers are resolved through the settings service
|
|
9
|
+
* (skill → runtime → global → env var) and injected into process.env so the
|
|
10
|
+
* provider SDKs can pick them up:
|
|
8
11
|
* - ANTHROPIC_API_KEY
|
|
9
12
|
* - OPENAI_API_KEY
|
|
10
13
|
* - GOOGLE_GENERATIVE_AI_API_KEY
|
|
@@ -17,6 +20,7 @@
|
|
|
17
20
|
*/
|
|
18
21
|
import { CREWLY_AGENT_DEFAULTS } from './types.js';
|
|
19
22
|
import { getSettingsService } from '../../settings/settings.service.js';
|
|
23
|
+
import { teeAndParse } from './deepseek-sse-transform.js';
|
|
20
24
|
/**
|
|
21
25
|
* Base URL for DeepSeek's OpenAI-compatible chat completions endpoint.
|
|
22
26
|
* DeepSeek implements /chat/completions only — not /responses — so we
|
|
@@ -39,6 +43,22 @@ const DEEPSEEK_BASE_URL = 'https://api.deepseek.com/v1';
|
|
|
39
43
|
export class ModelManager {
|
|
40
44
|
/** Cached provider module references to avoid re-importing */
|
|
41
45
|
providerCache = new Map();
|
|
46
|
+
/**
|
|
47
|
+
* Per-instance buffer of parsed DeepSeek-R1 reasoning_content from in-flight
|
|
48
|
+
* and recently-completed HTTP calls. Each `streamText` call to a DeepSeek
|
|
49
|
+
* model triggers one or more fetch calls (one per agentic step); each fetch
|
|
50
|
+
* appends its parsed reasoning to this buffer. Consumer (agent-runner) reads
|
|
51
|
+
* via `consumeDeepseekReasoning()` after `await streamResult` and the buffer
|
|
52
|
+
* resets to `''` on read.
|
|
53
|
+
*
|
|
54
|
+
* **Concurrency:** AgentRunner uses one ModelManager per session and calls
|
|
55
|
+
* streamText serially per session (the rate limiter enforces this).
|
|
56
|
+
* Cross-session concurrency is not a concern because each AgentRunner gets
|
|
57
|
+
* its own ModelManager via `new ModelManager()` in the constructor.
|
|
58
|
+
*/
|
|
59
|
+
deepseekReasoningBuffer = '';
|
|
60
|
+
/** Tracks in-flight parsed-SSE handles so we can wait for drain on consume. */
|
|
61
|
+
deepseekParsedHandles = [];
|
|
42
62
|
/**
|
|
43
63
|
* Get an AI SDK language model instance for the given configuration.
|
|
44
64
|
*
|
|
@@ -98,10 +118,19 @@ export class ModelManager {
|
|
|
98
118
|
// The bare function-call form on @ai-sdk/openai >=3.x routes to /responses, which
|
|
99
119
|
// DeepSeek does not implement — it only exposes /chat/completions. The .chat factory
|
|
100
120
|
// forces the chat-completions path. See PR #400 review for full trace.
|
|
121
|
+
//
|
|
122
|
+
// **I2 — reasoning_content extraction:**
|
|
123
|
+
// Pass a custom `fetch` that tees the SSE response body. One branch flows
|
|
124
|
+
// through to AI SDK unmodified (zero impact on existing behavior); the other
|
|
125
|
+
// branch is parsed for `delta.reasoning_content` text and accumulated into
|
|
126
|
+
// `this.deepseekReasoningBuffer`, which agent-runner consumes after
|
|
127
|
+
// streamResult drains. See deepseek-sse-transform.ts for the parser.
|
|
101
128
|
const { createOpenAI } = await import('@ai-sdk/openai');
|
|
129
|
+
const customFetch = this.makeDeepseekFetch();
|
|
102
130
|
const deepseekProvider = createOpenAI({
|
|
103
131
|
baseURL: DEEPSEEK_BASE_URL,
|
|
104
132
|
apiKey: process.env.DEEPSEEK_API_KEY,
|
|
133
|
+
fetch: customFetch,
|
|
105
134
|
});
|
|
106
135
|
providerFn = (modelId) => deepseekProvider.chat(modelId);
|
|
107
136
|
break;
|
|
@@ -128,28 +157,27 @@ export class ModelManager {
|
|
|
128
157
|
async getAvailableProviders() {
|
|
129
158
|
const settingsService = getSettingsService();
|
|
130
159
|
const context = { runtime: 'crewly-agent' };
|
|
131
|
-
const [geminiKey, anthropicKey, openaiKey] = await Promise.all([
|
|
160
|
+
const [geminiKey, anthropicKey, openaiKey, deepseekKey] = await Promise.all([
|
|
132
161
|
settingsService.getApiKey('gemini', context),
|
|
133
162
|
settingsService.getApiKey('anthropic', context),
|
|
134
163
|
settingsService.getApiKey('openai', context),
|
|
164
|
+
settingsService.getApiKey('deepseek', context),
|
|
135
165
|
]);
|
|
136
166
|
return {
|
|
137
167
|
anthropic: !!anthropicKey,
|
|
138
168
|
openai: !!openaiKey,
|
|
139
169
|
google: !!geminiKey,
|
|
140
170
|
ollama: true, // Ollama runs locally, always "available" if installed
|
|
141
|
-
|
|
142
|
-
// so availability is detected from the env var directly.
|
|
143
|
-
deepseek: !!process.env.DEEPSEEK_API_KEY,
|
|
171
|
+
deepseek: !!deepseekKey,
|
|
144
172
|
};
|
|
145
173
|
}
|
|
146
174
|
/**
|
|
147
175
|
* Map model provider name to API key provider name.
|
|
148
176
|
* Only applicable for cloud providers wired through the settings service
|
|
149
|
-
* (anthropic, openai, google). Ollama runs locally
|
|
150
|
-
*
|
|
177
|
+
* (anthropic, openai, google, deepseek). Ollama runs locally and is
|
|
178
|
+
* excluded.
|
|
151
179
|
*
|
|
152
|
-
* @param provider - Cloud model provider
|
|
180
|
+
* @param provider - Cloud model provider
|
|
153
181
|
* @returns Corresponding ApiKeyProvider name
|
|
154
182
|
*/
|
|
155
183
|
static providerToApiKeyProvider(provider) {
|
|
@@ -159,18 +187,15 @@ export class ModelManager {
|
|
|
159
187
|
* Ensure the API key for a provider is available in process.env
|
|
160
188
|
* by resolving it from settings if not already present.
|
|
161
189
|
*
|
|
162
|
-
* No-op for
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
* (will be migrated to the settings service in a follow-up; see PR notes)
|
|
190
|
+
* No-op for 'ollama' (runs locally, no key required). All other providers —
|
|
191
|
+
* including 'deepseek' — flow through the settings service so users can
|
|
192
|
+
* configure them from the UI without touching env vars.
|
|
166
193
|
*
|
|
167
194
|
* @param provider - The model provider
|
|
168
195
|
*/
|
|
169
196
|
async ensureApiKeyInEnv(provider) {
|
|
170
197
|
if (provider === 'ollama')
|
|
171
198
|
return; // Ollama is local, no API key needed
|
|
172
|
-
if (provider === 'deepseek')
|
|
173
|
-
return; // DEEPSEEK_API_KEY read directly from env
|
|
174
199
|
const apiKeyProvider = ModelManager.providerToApiKeyProvider(provider);
|
|
175
200
|
const settingsService = getSettingsService();
|
|
176
201
|
const key = await settingsService.getApiKey(apiKeyProvider, { runtime: 'crewly-agent' });
|
|
@@ -188,13 +213,98 @@ export class ModelManager {
|
|
|
188
213
|
case 'google':
|
|
189
214
|
process.env.GOOGLE_GENERATIVE_AI_API_KEY = key;
|
|
190
215
|
break;
|
|
216
|
+
case 'deepseek':
|
|
217
|
+
process.env.DEEPSEEK_API_KEY = key;
|
|
218
|
+
break;
|
|
191
219
|
}
|
|
192
220
|
}
|
|
193
221
|
/**
|
|
194
222
|
* Clear the provider cache (useful for testing or reconfiguration).
|
|
223
|
+
* Also clears any buffered DeepSeek reasoning so a fresh test/run starts clean.
|
|
195
224
|
*/
|
|
196
225
|
clearCache() {
|
|
197
226
|
this.providerCache.clear();
|
|
227
|
+
this.deepseekReasoningBuffer = '';
|
|
228
|
+
this.deepseekParsedHandles = [];
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Build the custom fetch wrapper for the DeepSeek provider.
|
|
232
|
+
*
|
|
233
|
+
* Returns a function with the same signature as `globalThis.fetch` that:
|
|
234
|
+
* 1. Calls native fetch with the supplied input/init.
|
|
235
|
+
* 2. If the response is a streaming SSE body, tees it and parses one branch
|
|
236
|
+
* for `delta.reasoning_content`, accumulating into `this.deepseekReasoningBuffer`.
|
|
237
|
+
* 3. Returns a new Response wrapping the un-tampered passthrough branch as
|
|
238
|
+
* its body, so AI SDK consumes exactly the bytes DeepSeek sent.
|
|
239
|
+
*
|
|
240
|
+
* If the response is not an SSE stream (e.g. error JSON, no body), it is
|
|
241
|
+
* returned unchanged.
|
|
242
|
+
*
|
|
243
|
+
* **Why a method, not a free function:** the wrapper closes over `this` to
|
|
244
|
+
* append to the per-instance reasoning buffer. Each ModelManager instance
|
|
245
|
+
* has its own buffer (one per AgentRunner per session).
|
|
246
|
+
*/
|
|
247
|
+
makeDeepseekFetch() {
|
|
248
|
+
return async (input, init) => {
|
|
249
|
+
// Cast through `any` because @ai-sdk/openai's fetch type is the standard
|
|
250
|
+
// global fetch shape; we re-export native fetch behavior identically.
|
|
251
|
+
const response = await globalThis.fetch(input, init);
|
|
252
|
+
// Only intercept successful streaming responses. Non-stream errors
|
|
253
|
+
// (4xx/5xx with JSON body) and empty bodies pass through untouched.
|
|
254
|
+
if (!response.ok || !response.body)
|
|
255
|
+
return response;
|
|
256
|
+
const contentType = response.headers.get('content-type') ?? '';
|
|
257
|
+
if (!contentType.includes('text/event-stream'))
|
|
258
|
+
return response;
|
|
259
|
+
const parsed = teeAndParse(response.body);
|
|
260
|
+
this.deepseekParsedHandles.push(parsed);
|
|
261
|
+
// Wrap into a new Response with the passthrough branch as body.
|
|
262
|
+
// Headers, status, and statusText are copied so AI SDK sees an identical
|
|
263
|
+
// response shape.
|
|
264
|
+
return new Response(parsed.passthroughBody, {
|
|
265
|
+
status: response.status,
|
|
266
|
+
statusText: response.statusText,
|
|
267
|
+
headers: response.headers,
|
|
268
|
+
});
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Drain any in-flight DeepSeek SSE parser branches and return the accumulated
|
|
273
|
+
* `reasoning_content` string. Resets the buffer to `''` on each call (consume
|
|
274
|
+
* semantics).
|
|
275
|
+
*
|
|
276
|
+
* **Caller contract:** call AFTER `await streamResult` resolves in agent-runner.
|
|
277
|
+
* The AI SDK consumer branch must have been fully drained for the parser branch
|
|
278
|
+
* (which lags slightly due to tee buffering) to have caught up.
|
|
279
|
+
*
|
|
280
|
+
* **Multi-step accumulation:** if a single `streamText` call made multiple HTTP
|
|
281
|
+
* calls (one per agentic step), reasoning from all steps is concatenated in
|
|
282
|
+
* call order — not separated by step boundary. This matches the user-facing
|
|
283
|
+
* mental model of "what was the model's full chain of thought for this turn."
|
|
284
|
+
*
|
|
285
|
+
* **Returns `null` if no reasoning was captured.** Empty string means a fetch
|
|
286
|
+
* happened but produced no reasoning content (e.g. non-R1 DeepSeek model).
|
|
287
|
+
*/
|
|
288
|
+
async consumeDeepseekReasoning() {
|
|
289
|
+
const handles = this.deepseekParsedHandles;
|
|
290
|
+
this.deepseekParsedHandles = [];
|
|
291
|
+
if (handles.length === 0) {
|
|
292
|
+
const buffered = this.deepseekReasoningBuffer;
|
|
293
|
+
this.deepseekReasoningBuffer = '';
|
|
294
|
+
return buffered || null;
|
|
295
|
+
}
|
|
296
|
+
// Wait for all parser branches to finish draining (they should already be
|
|
297
|
+
// done if AI SDK consumer drained, but allow up to one event-loop tick).
|
|
298
|
+
for (const h of handles) {
|
|
299
|
+
if (!h.isDrained()) {
|
|
300
|
+
// Yield once so the parser background reader can flush.
|
|
301
|
+
await new Promise((r) => setImmediate(r));
|
|
302
|
+
}
|
|
303
|
+
this.deepseekReasoningBuffer += h.getReasoning();
|
|
304
|
+
}
|
|
305
|
+
const out = this.deepseekReasoningBuffer;
|
|
306
|
+
this.deepseekReasoningBuffer = '';
|
|
307
|
+
return out || null;
|
|
198
308
|
}
|
|
199
309
|
}
|
|
200
310
|
//# sourceMappingURL=model-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/model-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/model-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/tool-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAoD,MAAM,YAAY,CAAC;AAqCnI;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CASrF,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOlE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOxE;AA6KD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgDpD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAgCnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC,CAqBvE;AAuBD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAavD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBjE;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CA0C5D,CAAC;AAkIF;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/tool-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAoD,MAAM,YAAY,CAAC;AAqCnI;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CASrF,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOlE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOxE;AA6KD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgDpD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAgCnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC,CAqBvE;AAuBD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAavD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBjE;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CA0C5D,CAAC;AAkIF;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CA20CtR;AA2BD;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAYvC"}
|
|
@@ -722,18 +722,32 @@ export function createTools(client, sessionName, projectPath, callbacks, convers
|
|
|
722
722
|
return { success: false, error: `Failed to deliver task to ${to}: ${forceResult.error}` };
|
|
723
723
|
}
|
|
724
724
|
}
|
|
725
|
-
// Create task tracking entry
|
|
725
|
+
// Create task tracking entry as a V3 WorkItem.
|
|
726
|
+
// Migrated from v1 `/task-management/create` per spec
|
|
727
|
+
// 2026-05-06-task-management-v1-deprecation.md.
|
|
726
728
|
let taskId;
|
|
727
729
|
if (projectPath) {
|
|
728
|
-
const
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
730
|
+
const priorityNum = priority === 'critical' ? 1 :
|
|
731
|
+
priority === 'high' ? 2 :
|
|
732
|
+
priority === 'low' ? 4 :
|
|
733
|
+
3;
|
|
734
|
+
const wiId = `task-${Date.now()}-${Math.floor(Math.random() * 1000)}`;
|
|
735
|
+
const createResult = await client.post('/task-pool/add', {
|
|
736
|
+
workItem: {
|
|
737
|
+
id: wiId,
|
|
738
|
+
title: typeof task === 'string' ? task.slice(0, 200) : 'Delegated task',
|
|
739
|
+
type: 'delegate',
|
|
740
|
+
owner: typeof to === 'string' ? to : 'system',
|
|
741
|
+
priority: priorityNum,
|
|
742
|
+
status: 'queued',
|
|
743
|
+
target: to,
|
|
744
|
+
briefMarkdown: typeof task === 'string' ? task : undefined,
|
|
745
|
+
metadata: { projectPath, milestone: 'delegated' },
|
|
746
|
+
},
|
|
734
747
|
});
|
|
735
748
|
if (createResult.success && createResult.data) {
|
|
736
|
-
|
|
749
|
+
const data = createResult.data;
|
|
750
|
+
taskId = data.id ?? wiId;
|
|
737
751
|
}
|
|
738
752
|
}
|
|
739
753
|
// Subscribe to idle event for monitoring (with dedup check)
|
|
@@ -1092,26 +1106,41 @@ export function createTools(client, sessionName, projectPath, callbacks, convers
|
|
|
1092
1106
|
projectPath: z.string().describe('Project path'),
|
|
1093
1107
|
status: z.string().optional().describe('Filter by status (e.g., "in_progress", "done")'),
|
|
1094
1108
|
}),
|
|
1095
|
-
execute: async ({ projectPath, status }) => {
|
|
1096
|
-
|
|
1109
|
+
execute: async ({ projectPath: _projectPath, status }) => {
|
|
1110
|
+
// V3-only as of spec 2026-05-06-task-management-v1-deprecation.md.
|
|
1111
|
+
// The V3 task-pool is a single global file; `projectPath` is no
|
|
1112
|
+
// longer a filter. Status filter still applies.
|
|
1113
|
+
let endpoint = '/task-pool/items';
|
|
1097
1114
|
if (status)
|
|
1098
|
-
endpoint +=
|
|
1115
|
+
endpoint += `?status=${encodeURIComponent(status)}`;
|
|
1099
1116
|
const result = await client.get(endpoint);
|
|
1100
1117
|
return result.success ? result.data : { error: result.error };
|
|
1101
1118
|
},
|
|
1102
1119
|
},
|
|
1103
1120
|
complete_task: {
|
|
1104
|
-
description: 'Mark a
|
|
1121
|
+
description: 'Mark a WorkItem as complete. Also cancels any scheduled checks targeting the completing agent session.',
|
|
1105
1122
|
inputSchema: z.object({
|
|
1106
|
-
|
|
1123
|
+
workItemId: z.string().describe('WorkItem id to complete'),
|
|
1107
1124
|
sessionName: z.string().describe('Agent session that completed it'),
|
|
1108
1125
|
summary: z.string().describe('Completion summary'),
|
|
1109
1126
|
}),
|
|
1110
|
-
execute: async ({
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1127
|
+
execute: async ({ workItemId, sessionName: agent, summary }) => {
|
|
1128
|
+
// V3-only as of spec 2026-05-06-task-management-v1-deprecation.md.
|
|
1129
|
+
// Replaces v1 `/task-management/complete`. Note: the legacy
|
|
1130
|
+
// `absoluteTaskPath` parameter is removed; callers must now pass
|
|
1131
|
+
// `workItemId` (returned from `start_agent_with_task` /
|
|
1132
|
+
// `delegate_task`).
|
|
1133
|
+
//
|
|
1134
|
+
// Hygiene #4: emit canonical body shape `{agentId, result:{summary}}`
|
|
1135
|
+
// required by task-pool.controller.ts `completeItem`. Prior shape
|
|
1136
|
+
// `{summary}` 400'd because the controller looks at `result.summary`
|
|
1137
|
+
// and requires non-empty `agentId`. Cf. fix-paired changes in:
|
|
1138
|
+
// - config/skills/agent/core/{report-status,complete-task}/execute.sh
|
|
1139
|
+
// - config/skills/orchestrator/complete-task/execute.sh
|
|
1140
|
+
// - tool-registry.ts §report_status auto-complete path (below)
|
|
1141
|
+
const result = await client.post(`/task-pool/complete/${workItemId}`, {
|
|
1142
|
+
agentId: agent,
|
|
1143
|
+
result: { summary },
|
|
1115
1144
|
});
|
|
1116
1145
|
// Auto-cancel scheduled checks targeting the completing agent
|
|
1117
1146
|
// to prevent stale recurring checks from firing after task completion
|
|
@@ -1502,9 +1531,34 @@ export function createTools(client, sessionName, projectPath, callbacks, convers
|
|
|
1502
1531
|
chatBody.conversationId = conversationId;
|
|
1503
1532
|
}
|
|
1504
1533
|
const result = await client.post('/chat/agent-response', chatBody);
|
|
1505
|
-
// Auto-complete
|
|
1534
|
+
// Auto-complete the agent's currently-running WorkItem when done.
|
|
1535
|
+
// V3-only as of spec 2026-05-06-task-management-v1-deprecation.md:
|
|
1536
|
+
// resolve the running claim from the pool, then call
|
|
1537
|
+
// `/task-pool/complete/:id`. Replaces v1 `/task-management/complete-by-session`.
|
|
1506
1538
|
if (status === 'done') {
|
|
1507
|
-
|
|
1539
|
+
try {
|
|
1540
|
+
const poolResp = await client.get(`/task-pool/items?status=running&target=${encodeURIComponent(sessionName)}`);
|
|
1541
|
+
const items = poolResp.data;
|
|
1542
|
+
const list = (items?.workItems ??
|
|
1543
|
+
items?.data ??
|
|
1544
|
+
(Array.isArray(items) ? items : []));
|
|
1545
|
+
const wiId = list[0]?.id;
|
|
1546
|
+
if (wiId) {
|
|
1547
|
+
// Hygiene #4: canonical body shape `{agentId, result:{summary}}`.
|
|
1548
|
+
// `agentId` here is `sessionName` because that's the runtime
|
|
1549
|
+
// identity of the completing agent (the session whose
|
|
1550
|
+
// status=done message triggered this auto-complete path).
|
|
1551
|
+
await client
|
|
1552
|
+
.post(`/task-pool/complete/${wiId}`, {
|
|
1553
|
+
agentId: sessionName,
|
|
1554
|
+
result: { summary },
|
|
1555
|
+
})
|
|
1556
|
+
.catch(() => { });
|
|
1557
|
+
}
|
|
1558
|
+
}
|
|
1559
|
+
catch {
|
|
1560
|
+
// Non-fatal: status report still succeeded.
|
|
1561
|
+
}
|
|
1508
1562
|
}
|
|
1509
1563
|
// Auto-persist key findings as project knowledge when done (#127)
|
|
1510
1564
|
if (status === 'done' && summary && projectPath) {
|
|
@@ -1758,10 +1812,10 @@ export function createTools(client, sessionName, projectPath, callbacks, convers
|
|
|
1758
1812
|
progress: z.string().optional().describe('Current progress summary (what is done so far)'),
|
|
1759
1813
|
findings: z.string().optional().describe('Key findings and decisions made'),
|
|
1760
1814
|
blockers: z.string().optional().describe('Current blockers or notes for the receiving agent'),
|
|
1761
|
-
|
|
1815
|
+
workItemId: z.string().optional().describe('WorkItem id being handed off (resolved from running claim if omitted)'),
|
|
1762
1816
|
}),
|
|
1763
1817
|
sensitivity: 'sensitive',
|
|
1764
|
-
execute: async ({ to, reason, progress, findings, blockers,
|
|
1818
|
+
execute: async ({ to, reason, progress, findings, blockers, workItemId }) => {
|
|
1765
1819
|
const target = to;
|
|
1766
1820
|
const handoffReason = reason;
|
|
1767
1821
|
// Build handoff context message
|
|
@@ -1772,8 +1826,6 @@ export function createTools(client, sessionName, projectPath, callbacks, convers
|
|
|
1772
1826
|
message += `\n## Key Findings\n${findings}\n`;
|
|
1773
1827
|
if (blockers)
|
|
1774
1828
|
message += `\n## Blockers / Notes\n${blockers}\n`;
|
|
1775
|
-
if (taskPath)
|
|
1776
|
-
message += `\n## Task File\n${taskPath}\n`;
|
|
1777
1829
|
if (projectPath) {
|
|
1778
1830
|
message += `\n---\nWhen done, report back using: bash config/skills/agent/core/report-status/execute.sh '{"sessionName":"${target}","status":"done","summary":"<brief summary>","projectPath":"${projectPath}"}'`;
|
|
1779
1831
|
}
|
|
@@ -1786,15 +1838,31 @@ export function createTools(client, sessionName, projectPath, callbacks, convers
|
|
|
1786
1838
|
// Retry with force
|
|
1787
1839
|
return client.post(`/terminal/${target}/deliver`, { message, force: true });
|
|
1788
1840
|
});
|
|
1789
|
-
// Record handoff via task
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1841
|
+
// Record handoff via V3 task-pool (spec
|
|
1842
|
+
// 2026-05-06-task-management-v1-deprecation.md). Replaces
|
|
1843
|
+
// v1 `/task-management/handoff`. Resolves the source WI from
|
|
1844
|
+
// the running claim if `workItemId` was not supplied.
|
|
1845
|
+
let resolvedWiId = workItemId;
|
|
1846
|
+
if (!resolvedWiId) {
|
|
1847
|
+
try {
|
|
1848
|
+
const poolResp = await client.get(`/task-pool/items?status=running&target=${encodeURIComponent(sessionName)}`);
|
|
1849
|
+
const data = poolResp.data;
|
|
1850
|
+
const list = (data?.workItems ??
|
|
1851
|
+
data?.data ??
|
|
1852
|
+
[]);
|
|
1853
|
+
resolvedWiId = list[0]?.id;
|
|
1854
|
+
}
|
|
1855
|
+
catch {
|
|
1856
|
+
// fall through — handoff tracking will be marked unavailable
|
|
1857
|
+
}
|
|
1858
|
+
}
|
|
1859
|
+
const handoffRecord = resolvedWiId
|
|
1860
|
+
? await client.post(`/task-pool/items/${resolvedWiId}/handoff`, {
|
|
1861
|
+
newTarget: target,
|
|
1862
|
+
fromAgent: sessionName,
|
|
1863
|
+
reason: handoffReason,
|
|
1864
|
+
}).catch(() => ({ success: false, error: 'handoff API unavailable' }))
|
|
1865
|
+
: { success: false, error: 'no active WorkItem to hand off' };
|
|
1798
1866
|
return {
|
|
1799
1867
|
success: deliverResult?.success ?? false,
|
|
1800
1868
|
handoff: {
|