crewly 1.13.0 → 1.13.1
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/skills/_common/complete-body-shape.test.sh +113 -0
- package/config/skills/_common/no-dangling-symlinks.test.sh +63 -0
- package/config/skills/_common/task-pool-body-shape.test.sh +471 -0
- package/config/skills/agent/core/accept-task/execute.sh +30 -5
- package/config/skills/agent/core/block-task/execute.sh +59 -6
- package/config/skills/agent/core/complete-task/SKILL.md +37 -5
- package/config/skills/agent/core/complete-task/execute.sh +40 -9
- package/config/skills/agent/core/complete-task/execute.test.sh +213 -0
- package/config/skills/agent/core/create-task/SKILL.md +33 -0
- package/config/skills/agent/core/create-task/execute.sh +82 -23
- package/config/skills/agent/core/delegate-task/execute.sh +46 -0
- package/config/skills/agent/core/get-team-norms/SKILL.md +1 -1
- package/config/skills/agent/core/get-team-norms/execute.sh +73 -2
- package/config/skills/agent/core/handoff-task/execute.sh +8 -1
- package/config/skills/agent/core/report-status/SKILL.md +26 -0
- package/config/skills/agent/core/report-status/execute.sh +40 -5
- package/config/skills/orchestrator/delegate-task/SKILL.md +1 -1
- package/config/skills/orchestrator/delegate-task/execute.sh +45 -11
- package/config/skills/orchestrator/delegate-task/execute.test.sh +153 -1
- package/config/skills/team-leader/aggregate-results/SKILL.md +1 -1
- package/config/skills/team-leader/decompose-goal/execute.sh +11 -16
- package/config/skills/team-leader/delegate-task/SKILL.md +14 -1
- package/config/skills/team-leader/delegate-task/execute.sh +132 -43
- package/config/skills/team-leader/delegate-task/execute.test.sh +180 -27
- package/config/vitest-exclude.constants.ts +56 -0
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +18 -3
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +18 -15
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +6 -1
- 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 +19 -10
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +20 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/scripts/stamp-build.d.ts +25 -0
- package/dist/backend/backend/src/scripts/stamp-build.d.ts.map +1 -0
- package/dist/backend/backend/src/scripts/stamp-build.js +48 -0
- package/dist/backend/backend/src/scripts/stamp-build.js.map +1 -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 +25 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +9 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +42 -3
- 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 +22 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts +15 -0
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +40 -0
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts +28 -3
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js +65 -8
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +214 -4
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +330 -48
- 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 +13 -1
- 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 +84 -5
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +14 -0
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js +77 -3
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +152 -7
- 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 +268 -36
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/escalation-router.service.js +2 -2
- package/dist/backend/backend/src/services/v3/escalation-router.service.js.map +1 -1
- 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 +39 -2
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
- package/dist/backend/backend/src/types/v2/index.d.ts +1 -1
- package/dist/backend/backend/src/types/v2/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/index.js +1 -1
- package/dist/backend/backend/src/types/v2/index.js.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts +181 -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 +104 -17
- package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/backend/backend/src/utils/build-provenance.d.ts +150 -0
- package/dist/backend/backend/src/utils/build-provenance.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/build-provenance.js +211 -0
- package/dist/backend/backend/src/utils/build-provenance.js.map +1 -0
- package/dist/backend/build-info.json +4 -0
- package/dist/backend/config/vitest-exclude.constants.d.ts +53 -0
- package/dist/backend/config/vitest-exclude.constants.d.ts.map +1 -0
- package/dist/backend/config/vitest-exclude.constants.js +55 -0
- package/dist/backend/config/vitest-exclude.constants.js.map +1 -0
- package/dist/cli/backend/src/services/agent/active-work-briefing.service.d.ts +538 -0
- package/dist/cli/backend/src/services/agent/active-work-briefing.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/active-work-briefing.service.js +802 -0
- package/dist/cli/backend/src/services/agent/active-work-briefing.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/agent-heartbeat.service.d.ts +240 -0
- package/dist/cli/backend/src/services/agent/agent-heartbeat.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/agent-heartbeat.service.js +524 -0
- package/dist/cli/backend/src/services/agent/agent-heartbeat.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +629 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +4548 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/agent-suspend.service.d.ts +118 -0
- package/dist/cli/backend/src/services/agent/agent-suspend.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/agent-suspend.service.js +304 -0
- package/dist/cli/backend/src/services/agent/agent-suspend.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/auditor-scheduler.service.d.ts +196 -0
- package/dist/cli/backend/src/services/agent/auditor-scheduler.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/auditor-scheduler.service.js +504 -0
- package/dist/cli/backend/src/services/agent/auditor-scheduler.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/claude-runtime.service.d.ts +97 -0
- package/dist/cli/backend/src/services/agent/claude-runtime.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/claude-runtime.service.js +334 -0
- package/dist/cli/backend/src/services/agent/claude-runtime.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/codex-runtime.service.d.ts +47 -0
- package/dist/cli/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/codex-runtime.service.js +112 -0
- package/dist/cli/backend/src/services/agent/codex-runtime.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/context-window-monitor.service.d.ts +323 -0
- package/dist/cli/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/context-window-monitor.service.js +1056 -0
- package/dist/cli/backend/src/services/agent/context-window-monitor.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts +198 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +816 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts +155 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.js +272 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.js.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts +91 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js +120 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/types.d.ts +536 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/types.js +282 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/types.js.map +1 -0
- package/dist/cli/backend/src/services/agent/disk-cleanup.service.d.ts +100 -0
- package/dist/cli/backend/src/services/agent/disk-cleanup.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/disk-cleanup.service.js +149 -0
- package/dist/cli/backend/src/services/agent/disk-cleanup.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/gemini-runtime.service.d.ts +130 -0
- package/dist/cli/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/gemini-runtime.service.js +758 -0
- package/dist/cli/backend/src/services/agent/gemini-runtime.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +216 -0
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +508 -0
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/pty-activity-tracker.service.d.ts +113 -0
- package/dist/cli/backend/src/services/agent/pty-activity-tracker.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/pty-activity-tracker.service.js +161 -0
- package/dist/cli/backend/src/services/agent/pty-activity-tracker.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts +156 -0
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js +641 -0
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -0
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts +295 -0
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js +1166 -0
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/runtime-service.factory.d.ts +71 -0
- package/dist/cli/backend/src/services/agent/runtime-service.factory.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/runtime-service.factory.js +174 -0
- package/dist/cli/backend/src/services/agent/runtime-service.factory.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-builder.service.d.ts +435 -0
- package/dist/cli/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-builder.service.js +1331 -0
- package/dist/cli/backend/src/services/ai/prompt-builder.service.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/capability-overlay.module.d.ts +33 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/capability-overlay.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/capability-overlay.module.js +70 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/capability-overlay.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.d.ts +100 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js +296 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/decision-rights.module.d.ts +59 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/decision-rights.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/decision-rights.module.js +87 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/decision-rights.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/default-execution-loop.module.d.ts +67 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/default-execution-loop.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/default-execution-loop.module.js +84 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/default-execution-loop.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/domain-sop.module.d.ts +35 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/domain-sop.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/domain-sop.module.js +50 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/domain-sop.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/expert-profile.module.d.ts +41 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/expert-profile.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/expert-profile.module.js +95 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/expert-profile.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/identity.module.d.ts +28 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/identity.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/identity.module.js +47 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/identity.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.d.ts +65 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js +79 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/learning-reference.module.d.ts +28 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/learning-reference.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/learning-reference.module.js +55 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/learning-reference.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lifecycle.module.d.ts +44 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lifecycle.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lifecycle.module.js +120 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lifecycle.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/markdown-file-module.d.ts +46 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/markdown-file-module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/markdown-file-module.js +44 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/markdown-file-module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/memory-reference.module.d.ts +28 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/memory-reference.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/memory-reference.module.js +46 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/memory-reference.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/mission-context.module.d.ts +60 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/mission-context.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/mission-context.module.js +104 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/mission-context.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/project-reference.module.d.ts +29 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/project-reference.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/project-reference.module.js +50 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/project-reference.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts +103 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +383 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.d.ts +34 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.js +96 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/request-contract.module.d.ts +106 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/request-contract.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/request-contract.module.js +167 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/request-contract.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/risk-policy.module.d.ts +35 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/risk-policy.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/risk-policy.module.js +50 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/risk-policy.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts +91 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/role-boundary.module.js +411 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts +62 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +199 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts +79 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js +118 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/soul.module.d.ts +102 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/soul.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/soul.module.js +229 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/soul.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-norms.module.d.ts +61 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-norms.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-norms.module.js +197 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-norms.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-reference.module.d.ts +54 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-reference.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-reference.module.js +149 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-reference.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts +32 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/user-profile-reference.module.js +69 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/user-profile-reference.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/working-memory.module.d.ts +91 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/working-memory.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/working-memory.module.js +136 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/working-memory.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/self-improvement/growth-areas.service.d.ts +81 -0
- package/dist/cli/backend/src/services/ai/self-improvement/growth-areas.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/self-improvement/growth-areas.service.js +135 -0
- package/dist/cli/backend/src/services/ai/self-improvement/growth-areas.service.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +737 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +1213 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.singleton.d.ts +27 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.singleton.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.singleton.js +57 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.singleton.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/config.d.ts +100 -0
- package/dist/cli/backend/src/services/chat-v2/config.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/config.js +174 -0
- package/dist/cli/backend/src/services/chat-v2/config.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/legacy-dto.utils.d.ts +118 -0
- package/dist/cli/backend/src/services/chat-v2/legacy-dto.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/legacy-dto.utils.js +171 -0
- package/dist/cli/backend/src/services/chat-v2/legacy-dto.utils.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.d.ts +188 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.js +317 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.d.ts +119 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.js +551 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +208 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +405 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/types.d.ts +341 -0
- package/dist/cli/backend/src/services/chat-v2/types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/types.js +61 -0
- package/dist/cli/backend/src/services/chat-v2/types.js.map +1 -0
- package/dist/cli/backend/src/services/continuation/patterns/idle-patterns.d.ts +37 -0
- package/dist/cli/backend/src/services/continuation/patterns/idle-patterns.d.ts.map +1 -0
- package/dist/cli/backend/src/services/continuation/patterns/idle-patterns.js +63 -0
- package/dist/cli/backend/src/services/continuation/patterns/idle-patterns.js.map +1 -0
- package/dist/cli/backend/src/services/intent-task/intent-classifier.rules.d.ts +335 -0
- package/dist/cli/backend/src/services/intent-task/intent-classifier.rules.d.ts.map +1 -0
- package/dist/cli/backend/src/services/intent-task/intent-classifier.rules.js +421 -0
- package/dist/cli/backend/src/services/intent-task/intent-classifier.rules.js.map +1 -0
- package/dist/cli/backend/src/services/mcp-client.d.ts +233 -0
- package/dist/cli/backend/src/services/mcp-client.d.ts.map +1 -0
- package/dist/cli/backend/src/services/mcp-client.js +302 -0
- package/dist/cli/backend/src/services/mcp-client.js.map +1 -0
- package/dist/cli/backend/src/services/memory/mission-context.service.d.ts +168 -0
- package/dist/cli/backend/src/services/memory/mission-context.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/mission-context.service.js +365 -0
- package/dist/cli/backend/src/services/memory/mission-context.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/session-memory.service.d.ts +197 -0
- package/dist/cli/backend/src/services/memory/session-memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/session-memory.service.js +369 -0
- package/dist/cli/backend/src/services/memory/session-memory.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/user-profile.service.d.ts +77 -0
- package/dist/cli/backend/src/services/memory/user-profile.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/user-profile.service.js +171 -0
- package/dist/cli/backend/src/services/memory/user-profile.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/working-memory.service.d.ts +232 -0
- package/dist/cli/backend/src/services/memory/working-memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/working-memory.service.js +417 -0
- package/dist/cli/backend/src/services/memory/working-memory.service.js.map +1 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +84 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +136 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -0
- package/dist/cli/backend/src/services/messaging/thread-status-queue.service.d.ts +358 -0
- package/dist/cli/backend/src/services/messaging/thread-status-queue.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/messaging/thread-status-queue.service.js +755 -0
- package/dist/cli/backend/src/services/messaging/thread-status-queue.service.js.map +1 -0
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts +269 -0
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js +391 -0
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js.map +1 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.service.d.ts +132 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.service.js +284 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.service.js.map +1 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.singleton.d.ts +70 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.singleton.d.ts.map +1 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.singleton.js +121 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.singleton.js.map +1 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.types.d.ts +130 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.types.js +48 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.types.js.map +1 -0
- package/dist/cli/backend/src/services/observability/observability-db.d.ts +84 -0
- package/dist/cli/backend/src/services/observability/observability-db.d.ts.map +1 -0
- package/dist/cli/backend/src/services/observability/observability-db.js +165 -0
- package/dist/cli/backend/src/services/observability/observability-db.js.map +1 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.service.d.ts +124 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.service.js +256 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.service.js.map +1 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.types.d.ts +80 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.types.js +16 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.types.js.map +1 -0
- package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.d.ts +142 -0
- package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.js +265 -0
- package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-marker.service.d.ts +231 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-marker.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-marker.service.js +353 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-marker.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-startup.service.d.ts +157 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-startup.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-startup.service.js +483 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-startup.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/index.d.ts +16 -0
- package/dist/cli/backend/src/services/orchestrator/index.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/index.js +16 -0
- package/dist/cli/backend/src/services/orchestrator/index.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.d.ts +117 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.js +300 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-setup.service.d.ts +114 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-setup.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-setup.service.js +195 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-setup.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.d.ts +94 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.js +279 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/safe-restart.service.d.ts +192 -0
- package/dist/cli/backend/src/services/orchestrator/safe-restart.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/safe-restart.service.js +395 -0
- package/dist/cli/backend/src/services/orchestrator/safe-restart.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/self-improvement.service.d.ts +201 -0
- package/dist/cli/backend/src/services/orchestrator/self-improvement.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/self-improvement.service.js +396 -0
- package/dist/cli/backend/src/services/orchestrator/self-improvement.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/slack-bridge-lazy.d.ts +17 -0
- package/dist/cli/backend/src/services/orchestrator/slack-bridge-lazy.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/slack-bridge-lazy.js +30 -0
- package/dist/cli/backend/src/services/orchestrator/slack-bridge-lazy.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/state-persistence.service.d.ts +249 -0
- package/dist/cli/backend/src/services/orchestrator/state-persistence.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/state-persistence.service.js +569 -0
- package/dist/cli/backend/src/services/orchestrator/state-persistence.service.js.map +1 -0
- package/dist/cli/backend/src/services/session/index.d.ts +47 -0
- package/dist/cli/backend/src/services/session/index.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/index.js +50 -0
- package/dist/cli/backend/src/services/session/index.js.map +1 -0
- package/dist/cli/backend/src/services/session/log-rotation.service.d.ts +163 -0
- package/dist/cli/backend/src/services/session/log-rotation.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/log-rotation.service.js +362 -0
- package/dist/cli/backend/src/services/session/log-rotation.service.js.map +1 -0
- package/dist/cli/backend/src/services/session/pty/index.d.ts +11 -0
- package/dist/cli/backend/src/services/session/pty/index.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/pty/index.js +11 -0
- package/dist/cli/backend/src/services/session/pty/index.js.map +1 -0
- package/dist/cli/backend/src/services/session/pty/pty-session-backend.d.ts +445 -0
- package/dist/cli/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/pty/pty-session-backend.js +804 -0
- package/dist/cli/backend/src/services/session/pty/pty-session-backend.js.map +1 -0
- package/dist/cli/backend/src/services/session/pty/pty-session.d.ts +252 -0
- package/dist/cli/backend/src/services/session/pty/pty-session.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/pty/pty-session.js +611 -0
- package/dist/cli/backend/src/services/session/pty/pty-session.js.map +1 -0
- package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.d.ts +275 -0
- package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.js +403 -0
- package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.js.map +1 -0
- package/dist/cli/backend/src/services/session/runtime-pid-registry.service.d.ts +86 -0
- package/dist/cli/backend/src/services/session/runtime-pid-registry.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/runtime-pid-registry.service.js +214 -0
- package/dist/cli/backend/src/services/session/runtime-pid-registry.service.js.map +1 -0
- package/dist/cli/backend/src/services/session/session-backend.factory.d.ts +127 -0
- package/dist/cli/backend/src/services/session/session-backend.factory.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/session-backend.factory.js +226 -0
- package/dist/cli/backend/src/services/session/session-backend.factory.js.map +1 -0
- package/dist/cli/backend/src/services/session/session-backend.interface.d.ts +390 -0
- package/dist/cli/backend/src/services/session/session-backend.interface.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/session-backend.interface.js +19 -0
- package/dist/cli/backend/src/services/session/session-backend.interface.js.map +1 -0
- package/dist/cli/backend/src/services/session/session-command-helper.d.ts +350 -0
- package/dist/cli/backend/src/services/session/session-command-helper.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/session-command-helper.js +810 -0
- package/dist/cli/backend/src/services/session/session-command-helper.js.map +1 -0
- package/dist/cli/backend/src/services/session/session-handoff.service.d.ts +307 -0
- package/dist/cli/backend/src/services/session/session-handoff.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/session-handoff.service.js +742 -0
- package/dist/cli/backend/src/services/session/session-handoff.service.js.map +1 -0
- package/dist/cli/backend/src/services/session/session-state-persistence.d.ts +231 -0
- package/dist/cli/backend/src/services/session/session-state-persistence.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/session-state-persistence.js +407 -0
- package/dist/cli/backend/src/services/session/session-state-persistence.js.map +1 -0
- package/dist/cli/backend/src/services/settings/role.service.d.ts +277 -0
- package/dist/cli/backend/src/services/settings/role.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/settings/role.service.js +728 -0
- package/dist/cli/backend/src/services/settings/role.service.js.map +1 -0
- package/dist/cli/backend/src/services/slack/cross-machine-message.service.d.ts +152 -0
- package/dist/cli/backend/src/services/slack/cross-machine-message.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/cross-machine-message.service.js +354 -0
- package/dist/cli/backend/src/services/slack/cross-machine-message.service.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-image.service.d.ts +114 -0
- package/dist/cli/backend/src/services/slack/slack-image.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-image.service.js +331 -0
- package/dist/cli/backend/src/services/slack/slack-image.service.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts +499 -0
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +1928 -0
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack.service.d.ts +315 -0
- package/dist/cli/backend/src/services/slack/slack.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack.service.js +1094 -0
- package/dist/cli/backend/src/services/slack/slack.service.js.map +1 -0
- package/dist/cli/backend/src/services/sop/sop.service.d.ts +364 -0
- package/dist/cli/backend/src/services/sop/sop.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/sop/sop.service.js +734 -0
- package/dist/cli/backend/src/services/sop/sop.service.js.map +1 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +152 -7
- 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 +268 -36
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/services/v3/escalation-router.service.d.ts +178 -0
- package/dist/cli/backend/src/services/v3/escalation-router.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/escalation-router.service.js +692 -0
- package/dist/cli/backend/src/services/v3/escalation-router.service.js.map +1 -0
- package/dist/cli/backend/src/services/v3/kr-tracking.service.d.ts +200 -0
- package/dist/cli/backend/src/services/v3/kr-tracking.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/kr-tracking.service.js +482 -0
- package/dist/cli/backend/src/services/v3/kr-tracking.service.js.map +1 -0
- package/dist/cli/backend/src/services/v3/mission-executor.service.d.ts +117 -0
- package/dist/cli/backend/src/services/v3/mission-executor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/mission-executor.service.js +321 -0
- package/dist/cli/backend/src/services/v3/mission-executor.service.js.map +1 -0
- package/dist/cli/backend/src/services/v3/request-sla.subscriber.d.ts +610 -0
- package/dist/cli/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/request-sla.subscriber.js +1529 -0
- package/dist/cli/backend/src/services/v3/request-sla.subscriber.js.map +1 -0
- package/dist/cli/backend/src/services/v3/request-tracker.service.d.ts +78 -0
- package/dist/cli/backend/src/services/v3/request-tracker.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/request-tracker.service.js +108 -0
- package/dist/cli/backend/src/services/v3/request-tracker.service.js.map +1 -0
- package/dist/cli/backend/src/services/v3/request.service.d.ts +295 -0
- package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/request.service.js +534 -0
- package/dist/cli/backend/src/services/v3/request.service.js.map +1 -0
- package/dist/cli/backend/src/services/v3/v3-data.service.d.ts +340 -0
- package/dist/cli/backend/src/services/v3/v3-data.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/v3-data.service.js +1113 -0
- package/dist/cli/backend/src/services/v3/v3-data.service.js.map +1 -0
- package/dist/cli/backend/src/types/cross-machine.types.d.ts +103 -0
- package/dist/cli/backend/src/types/cross-machine.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/cross-machine.types.js +47 -0
- package/dist/cli/backend/src/types/cross-machine.types.js.map +1 -0
- package/dist/cli/backend/src/types/intent-task.types.d.ts +402 -0
- package/dist/cli/backend/src/types/intent-task.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/intent-task.types.js +403 -0
- package/dist/cli/backend/src/types/intent-task.types.js.map +1 -0
- package/dist/cli/backend/src/types/orchestrator-state.types.d.ts +531 -0
- package/dist/cli/backend/src/types/orchestrator-state.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/orchestrator-state.types.js +110 -0
- package/dist/cli/backend/src/types/orchestrator-state.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/index.d.ts +30 -0
- package/dist/cli/backend/src/types/v2/index.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/index.js +22 -0
- package/dist/cli/backend/src/types/v2/index.js.map +1 -0
- package/dist/cli/backend/src/types/v2/key-result.types.d.ts +279 -0
- package/dist/cli/backend/src/types/v2/key-result.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/key-result.types.js +264 -0
- package/dist/cli/backend/src/types/v2/key-result.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/mission.types.d.ts +661 -0
- package/dist/cli/backend/src/types/v2/mission.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/mission.types.js +713 -0
- package/dist/cli/backend/src/types/v2/mission.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/reconcile.types.d.ts +204 -0
- package/dist/cli/backend/src/types/v2/reconcile.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/reconcile.types.js +121 -0
- package/dist/cli/backend/src/types/v2/reconcile.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/request.types.d.ts +192 -0
- package/dist/cli/backend/src/types/v2/request.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/request.types.js +179 -0
- package/dist/cli/backend/src/types/v2/request.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts +181 -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 +104 -17
- package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/cli/backend/src/types/v2/workspace.types.d.ts +157 -0
- package/dist/cli/backend/src/types/v2/workspace.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/workspace.types.js +173 -0
- package/dist/cli/backend/src/types/v2/workspace.types.js.map +1 -0
- package/dist/cli/backend/src/utils/async.utils.d.ts +68 -0
- package/dist/cli/backend/src/utils/async.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/async.utils.js +80 -0
- package/dist/cli/backend/src/utils/async.utils.js.map +1 -0
- package/dist/cli/backend/src/utils/native-binding.utils.d.ts +128 -0
- package/dist/cli/backend/src/utils/native-binding.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/native-binding.utils.js +206 -0
- package/dist/cli/backend/src/utils/native-binding.utils.js.map +1 -0
- package/dist/cli/backend/src/websocket/chat.gateway.d.ts +142 -0
- package/dist/cli/backend/src/websocket/chat.gateway.d.ts.map +1 -0
- package/dist/cli/backend/src/websocket/chat.gateway.js +327 -0
- package/dist/cli/backend/src/websocket/chat.gateway.js.map +1 -0
- package/dist/cli/backend/src/websocket/terminal.gateway.d.ts +341 -0
- package/dist/cli/backend/src/websocket/terminal.gateway.d.ts.map +1 -0
- package/dist/cli/backend/src/websocket/terminal.gateway.js +933 -0
- package/dist/cli/backend/src/websocket/terminal.gateway.js.map +1 -0
- package/dist/cli/config/vitest-exclude.constants.d.ts +53 -0
- package/dist/cli/config/vitest-exclude.constants.d.ts.map +1 -0
- package/dist/cli/config/vitest-exclude.constants.js +55 -0
- package/dist/cli/config/vitest-exclude.constants.js.map +1 -0
- package/frontend/dist/assets/index-890d3f9d.js +4961 -0
- package/frontend/dist/index.html +1 -1
- package/package.json +2 -2
- package/packages/crewly-agent/src/runtime/agent-runner.service.test.ts +174 -30
- package/packages/crewly-agent/src/runtime/agent-runner.service.ts +121 -6
- package/packages/crewly-agent/src/runtime/types.ts +56 -5
- package/frontend/dist/assets/index-aa737fd3.js +0 -5254
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crewly Agent Runtime Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Types for the in-process Crewly Agent runtime powered by Vercel AI SDK.
|
|
5
|
+
* Covers model configuration, conversation state, and agent lifecycle.
|
|
6
|
+
*
|
|
7
|
+
* @module services/agent/crewly-agent/types
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* All valid model providers
|
|
11
|
+
*/
|
|
12
|
+
export const MODEL_PROVIDERS = [
|
|
13
|
+
'anthropic',
|
|
14
|
+
'openai',
|
|
15
|
+
'google',
|
|
16
|
+
'ollama',
|
|
17
|
+
'deepseek',
|
|
18
|
+
];
|
|
19
|
+
/**
|
|
20
|
+
* Tools that perform write/modify operations.
|
|
21
|
+
* Used by readOnlyMode to determine which tools to block.
|
|
22
|
+
*/
|
|
23
|
+
export const WRITE_TOOLS = [
|
|
24
|
+
'edit_file',
|
|
25
|
+
'write_file',
|
|
26
|
+
'start_agent',
|
|
27
|
+
'stop_agent',
|
|
28
|
+
'handle_agent_failure',
|
|
29
|
+
'delegate_task',
|
|
30
|
+
'send_message',
|
|
31
|
+
'reply_slack',
|
|
32
|
+
'broadcast',
|
|
33
|
+
'schedule_check',
|
|
34
|
+
'cancel_schedule',
|
|
35
|
+
'register_self',
|
|
36
|
+
'report_status',
|
|
37
|
+
'remember',
|
|
38
|
+
'complete_task',
|
|
39
|
+
];
|
|
40
|
+
/**
|
|
41
|
+
* Estimated context window sizes (in tokens) for known models.
|
|
42
|
+
* Used for budget tracking when the model doesn't report its own limit.
|
|
43
|
+
*/
|
|
44
|
+
export const MODEL_CONTEXT_WINDOWS = {
|
|
45
|
+
// Anthropic — current generation. These were missing, so every model the
|
|
46
|
+
// fleet actually runs fell through to `default: 128_000` while its real
|
|
47
|
+
// window is 1M. An 8x under-estimate makes `compactionThreshold` fire
|
|
48
|
+
// roughly 8x too early, which is expensive: each premature compaction is a
|
|
49
|
+
// whole extra model call.
|
|
50
|
+
'claude-fable-5': 1_000_000,
|
|
51
|
+
'claude-opus-5': 1_000_000,
|
|
52
|
+
'claude-opus-4-8': 1_000_000,
|
|
53
|
+
'claude-opus-4-7': 1_000_000,
|
|
54
|
+
'claude-opus-4-6': 1_000_000,
|
|
55
|
+
'claude-sonnet-5': 1_000_000,
|
|
56
|
+
'claude-sonnet-4-6': 1_000_000,
|
|
57
|
+
'claude-haiku-4-5': 200_000,
|
|
58
|
+
// Anthropic — older dated snapshots, kept so pinned configs still resolve.
|
|
59
|
+
'claude-opus-4-20250514': 200_000,
|
|
60
|
+
'claude-sonnet-4-20250514': 200_000,
|
|
61
|
+
'claude-haiku-4-20250506': 200_000,
|
|
62
|
+
// Google
|
|
63
|
+
'gemini-2.0-flash': 1_000_000,
|
|
64
|
+
'gemini-2.5-flash-preview-05-20': 1_000_000,
|
|
65
|
+
'gemini-3-flash-preview': 1_000_000,
|
|
66
|
+
// OpenAI
|
|
67
|
+
'gpt-4o': 128_000,
|
|
68
|
+
'gpt-4o-mini': 128_000,
|
|
69
|
+
'gpt-4-turbo': 128_000,
|
|
70
|
+
// DeepSeek — V3 chat and R1 reasoner both ship with a 64k context window.
|
|
71
|
+
// Without these entries the manager falls back to `default: 128_000`, which
|
|
72
|
+
// would let Crewly's compaction trigger (0.8 × budget) skip past the real
|
|
73
|
+
// 64k cap and let DeepSeek 4xx with context_length_exceeded.
|
|
74
|
+
'deepseek-chat': 64_000,
|
|
75
|
+
'deepseek-reasoner': 64_000,
|
|
76
|
+
// Fallback
|
|
77
|
+
default: 128_000,
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Per-model floor on `maxOutputTokens` (the AI SDK's name for the
|
|
81
|
+
* `max_tokens` request param). Used to defend against a class of bugs where
|
|
82
|
+
* a low user-configured limit silently produces an empty response.
|
|
83
|
+
*
|
|
84
|
+
* Currently only `deepseek-reasoner` has a real floor: R1 mixes
|
|
85
|
+
* `reasoning_tokens` into the same `max_tokens` budget as `completion_tokens`,
|
|
86
|
+
* so a user value < ~200 can be entirely consumed by the reasoning trace,
|
|
87
|
+
* leaving `message.content = ""` (200 OK, no error).
|
|
88
|
+
*
|
|
89
|
+
* Models not listed here resolve to a floor of 0 (no clamp).
|
|
90
|
+
*
|
|
91
|
+
* Discovered 2026-05-03 via live smoke test D — see
|
|
92
|
+
* `.crewly/specs/2026-05-03-crewly-agent-deepseek-gap-list.md` (finding N5).
|
|
93
|
+
*/
|
|
94
|
+
export const MODEL_OUTPUT_TOKEN_FLOORS = {
|
|
95
|
+
'deepseek-reasoner': 1024,
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Resolve the effective `maxOutputTokens` for a given model configuration,
|
|
99
|
+
* applying any per-model floor from `MODEL_OUTPUT_TOKEN_FLOORS`.
|
|
100
|
+
*
|
|
101
|
+
* If `config.maxTokens` is unset, falls back to the runtime default
|
|
102
|
+
* (`CREWLY_AGENT_DEFAULTS.DEFAULT_MODEL.maxTokens`). The result is always
|
|
103
|
+
* `>= floor` for the model, where `floor` defaults to 0.
|
|
104
|
+
*
|
|
105
|
+
* @param config - Model configuration (may have `maxTokens` undefined)
|
|
106
|
+
* @returns Effective max output tokens to pass to generateText/streamText
|
|
107
|
+
*/
|
|
108
|
+
export function resolveMaxOutputTokens(config) {
|
|
109
|
+
const requested = config.maxTokens ?? CREWLY_AGENT_DEFAULTS.DEFAULT_MODEL.maxTokens ?? 0;
|
|
110
|
+
const floor = MODEL_OUTPUT_TOKEN_FLOORS[config.modelId] ?? 0;
|
|
111
|
+
return Math.max(requested, floor);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Default configuration values for Crewly Agent
|
|
115
|
+
*/
|
|
116
|
+
export const CREWLY_AGENT_DEFAULTS = {
|
|
117
|
+
/** Default max reasoning steps per generateText call (high to mimic unlimited like Claude Code) */
|
|
118
|
+
MAX_STEPS: 500,
|
|
119
|
+
/** Maximum tool calls allowed per single response to prevent polling dead-loops */
|
|
120
|
+
MAX_TOOL_CALLS_PER_RESPONSE: 15,
|
|
121
|
+
/** Consecutive identical tool calls before aborting (loop detection) */
|
|
122
|
+
LOOP_DETECTION_THRESHOLD: 3,
|
|
123
|
+
/** Consecutive error responses (404, 4xx, 5xx) from the same tool before aborting */
|
|
124
|
+
ERROR_LOOP_THRESHOLD: 3,
|
|
125
|
+
/** Default API base URL */
|
|
126
|
+
API_BASE_URL: 'http://localhost:8787',
|
|
127
|
+
/** Default max history messages before compaction */
|
|
128
|
+
MAX_HISTORY_MESSAGES: 100,
|
|
129
|
+
/** Default compaction threshold (80% of context window) */
|
|
130
|
+
COMPACTION_THRESHOLD: 0.8,
|
|
131
|
+
/**
|
|
132
|
+
* Characters per token, used ONLY to size the context before the first
|
|
133
|
+
* response gives us a real measurement. Latin text runs about 4 chars per
|
|
134
|
+
* token; CJK about 1.5, so the two are counted separately — a single ratio
|
|
135
|
+
* would misjudge a Chinese system prompt by more than 2x.
|
|
136
|
+
*/
|
|
137
|
+
CHARS_PER_TOKEN_LATIN: 4,
|
|
138
|
+
CHARS_PER_TOKEN_CJK: 1.5,
|
|
139
|
+
/** Default model configuration */
|
|
140
|
+
DEFAULT_MODEL: {
|
|
141
|
+
provider: 'google',
|
|
142
|
+
modelId: 'gemini-3-flash-preview',
|
|
143
|
+
temperature: 0.3,
|
|
144
|
+
maxTokens: 8192,
|
|
145
|
+
},
|
|
146
|
+
/** HTTP request timeout in milliseconds */
|
|
147
|
+
API_TIMEOUT_MS: 30_000,
|
|
148
|
+
/** Heartbeat interval in milliseconds for keeping in-process agent active between messages */
|
|
149
|
+
HEARTBEAT_INTERVAL_MS: 30_000,
|
|
150
|
+
/** Maximum time in milliseconds for a single message processing (generateText call) — hard abort.
|
|
151
|
+
* Override via CREWLY_AGENT_MESSAGE_TIMEOUT_MS env var.
|
|
152
|
+
*
|
|
153
|
+
* This is the **default** timeout used when the model has no entry in
|
|
154
|
+
* `MODEL_TIMEOUT_MS`. Per-model overrides take precedence — see below. */
|
|
155
|
+
MESSAGE_TIMEOUT_MS: Number(process.env.CREWLY_AGENT_MESSAGE_TIMEOUT_MS) || 300_000,
|
|
156
|
+
/** I4 — Per-model hard-timeout overrides. Looked up by `modelId`.
|
|
157
|
+
*
|
|
158
|
+
* When the runtime service is about to run a message, it checks
|
|
159
|
+
* `MODEL_TIMEOUT_MS[config.model.modelId]` first; falls back to
|
|
160
|
+
* `MESSAGE_TIMEOUT_MS` if no entry exists.
|
|
161
|
+
*
|
|
162
|
+
* **Why per-model:** different models have radically different latency
|
|
163
|
+
* characteristics. DeepSeek-R1 (`deepseek-reasoner`) emits chain-of-thought
|
|
164
|
+
* reasoning_tokens which are slower to generate than plain content tokens.
|
|
165
|
+
* Live smoke (2026-05-03) measured R1 single-step at avg 2.8s/max 4.8s, but
|
|
166
|
+
* long-context (>32k) latency rises sharply per vendor docs, and multi-step
|
|
167
|
+
* agentic loops can accumulate 30+ steps. 5min default is tight; 10min gives
|
|
168
|
+
* safety margin without inviting runaway loops. See gap-list spec §I4 for
|
|
169
|
+
* measurement evidence. */
|
|
170
|
+
/**
|
|
171
|
+
* Frozen at module load via `Object.freeze` — defensive guard against
|
|
172
|
+
* runtime mutation. `as const` is compile-time only and the
|
|
173
|
+
* `Record<string, number>` cast widens it back to mutable, so freeze
|
|
174
|
+
* is the only line of defense against accidental writes like
|
|
175
|
+
* `CREWLY_AGENT_DEFAULTS.MODEL_TIMEOUT_MS['x'] = 999` from elsewhere
|
|
176
|
+
* in the codebase. Per-model overrides should be added by editing this
|
|
177
|
+
* file (treat as a config table, not runtime state).
|
|
178
|
+
*/
|
|
179
|
+
MODEL_TIMEOUT_MS: Object.freeze({
|
|
180
|
+
/** DeepSeek-R1: 2× default — reasoning chain-of-thought is slower per token. */
|
|
181
|
+
'deepseek-reasoner': 600_000,
|
|
182
|
+
}),
|
|
183
|
+
/** Soft warning threshold in milliseconds — logs a warning but does not kill the request.
|
|
184
|
+
* Override via CREWLY_AGENT_MESSAGE_SOFT_WARNING_MS env var. */
|
|
185
|
+
MESSAGE_SOFT_WARNING_MS: Number(process.env.CREWLY_AGENT_MESSAGE_SOFT_WARNING_MS) || 240_000,
|
|
186
|
+
/** Grace period added on top of the agent's own run budget before the PARENT
|
|
187
|
+
* gives up waiting on the child's IPC reply.
|
|
188
|
+
*
|
|
189
|
+
* The child enforces the run budget itself and reports a clean error, so in
|
|
190
|
+
* normal operation the parent timer never fires. It exists for the case the
|
|
191
|
+
* child can no longer report at all — blocked event loop, broken stdout pipe,
|
|
192
|
+
* SIGSTOP. The grace keeps the parent from racing the child and mislabelling
|
|
193
|
+
* a normal in-budget timeout as a wedged runtime. */
|
|
194
|
+
IPC_RUN_TIMEOUT_GRACE_MS: 30_000,
|
|
195
|
+
/** Cooldown period in milliseconds after rate limit retries are exhausted */
|
|
196
|
+
RATE_LIMIT_COOLDOWN_MS: 300_000,
|
|
197
|
+
/** Maximum number of automatic retries for recoverable errors (429, 5xx, network) */
|
|
198
|
+
MAX_RETRIES: 3,
|
|
199
|
+
/** Base delay in milliseconds for exponential backoff between retries */
|
|
200
|
+
RETRY_BASE_DELAY_MS: 1_000,
|
|
201
|
+
/** Default Ollama API base URL for local LLM provider */
|
|
202
|
+
OLLAMA_BASE_URL: 'http://localhost:11434/api',
|
|
203
|
+
/** Default security policy */
|
|
204
|
+
SECURITY_POLICY: {
|
|
205
|
+
auditEnabled: true,
|
|
206
|
+
requireApproval: [],
|
|
207
|
+
blockedTools: [],
|
|
208
|
+
maxAuditEntries: 500,
|
|
209
|
+
readOnlyMode: false,
|
|
210
|
+
},
|
|
211
|
+
/** Default security guardrail configuration */
|
|
212
|
+
SECURITY_GUARDRAILS: {
|
|
213
|
+
outputFilterEnabled: true,
|
|
214
|
+
envIsolationEnabled: true,
|
|
215
|
+
promptGuardEnabled: true,
|
|
216
|
+
explicitEnvVars: [],
|
|
217
|
+
},
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* Type guard to check if a string is a valid ModelProvider
|
|
221
|
+
*
|
|
222
|
+
* @param value - String to check
|
|
223
|
+
* @returns True if the value is a valid ModelProvider
|
|
224
|
+
*/
|
|
225
|
+
export function isModelProvider(value) {
|
|
226
|
+
return MODEL_PROVIDERS.includes(value);
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Supported models for the UI dropdown.
|
|
230
|
+
* Format: provider/modelId → display label
|
|
231
|
+
*/
|
|
232
|
+
export const SUPPORTED_MODELS = [
|
|
233
|
+
{ id: 'google/gemini-3-flash-preview', label: 'Gemini 3 Flash (Preview)', provider: 'google' },
|
|
234
|
+
{ id: 'google/gemini-2.5-flash-preview-05-20', label: 'Gemini 2.5 Flash', provider: 'google' },
|
|
235
|
+
{ id: 'anthropic/claude-sonnet-4-20250514', label: 'Claude Sonnet 4', provider: 'anthropic' },
|
|
236
|
+
{ id: 'anthropic/claude-haiku-4-20250514', label: 'Claude Haiku 4', provider: 'anthropic' },
|
|
237
|
+
{ id: 'openai/gpt-4o', label: 'GPT-4o', provider: 'openai' },
|
|
238
|
+
{ id: 'openai/gpt-4o-mini', label: 'GPT-4o Mini', provider: 'openai' },
|
|
239
|
+
{ id: 'deepseek/deepseek-chat', label: 'DeepSeek V3', provider: 'deepseek' },
|
|
240
|
+
{ id: 'deepseek/deepseek-reasoner', label: 'DeepSeek R1', provider: 'deepseek' },
|
|
241
|
+
{ id: 'ollama/llama3', label: 'Llama 3 (Ollama)', provider: 'ollama' },
|
|
242
|
+
];
|
|
243
|
+
/**
|
|
244
|
+
* Parse a modelId string (provider/modelId) into a ModelConfig.
|
|
245
|
+
* Falls back to DEFAULT_MODEL if the input is invalid.
|
|
246
|
+
*
|
|
247
|
+
* @param modelId - Format: "provider/modelId" (e.g. "google/gemini-3-flash-preview")
|
|
248
|
+
* @returns Parsed ModelConfig
|
|
249
|
+
*/
|
|
250
|
+
export function parseModelId(modelId) {
|
|
251
|
+
if (!modelId || !modelId.includes('/')) {
|
|
252
|
+
return CREWLY_AGENT_DEFAULTS.DEFAULT_MODEL;
|
|
253
|
+
}
|
|
254
|
+
const slashIdx = modelId.indexOf('/');
|
|
255
|
+
const provider = modelId.substring(0, slashIdx);
|
|
256
|
+
const model = modelId.substring(slashIdx + 1);
|
|
257
|
+
if (!isModelProvider(provider) || !model) {
|
|
258
|
+
return CREWLY_AGENT_DEFAULTS.DEFAULT_MODEL;
|
|
259
|
+
}
|
|
260
|
+
return {
|
|
261
|
+
provider,
|
|
262
|
+
modelId: model,
|
|
263
|
+
temperature: CREWLY_AGENT_DEFAULTS.DEFAULT_MODEL.temperature,
|
|
264
|
+
maxTokens: CREWLY_AGENT_DEFAULTS.DEFAULT_MODEL.maxTokens,
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Type guard to check if an object is a valid ModelConfig
|
|
269
|
+
*
|
|
270
|
+
* @param obj - Object to validate
|
|
271
|
+
* @returns True if the object has all required ModelConfig fields
|
|
272
|
+
*/
|
|
273
|
+
export function isModelConfig(obj) {
|
|
274
|
+
if (typeof obj !== 'object' || obj === null)
|
|
275
|
+
return false;
|
|
276
|
+
const candidate = obj;
|
|
277
|
+
return (typeof candidate.provider === 'string' &&
|
|
278
|
+
isModelProvider(candidate.provider) &&
|
|
279
|
+
typeof candidate.modelId === 'string' &&
|
|
280
|
+
candidate.modelId.length > 0);
|
|
281
|
+
}
|
|
282
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Disk Cleanup Service
|
|
3
|
+
*
|
|
4
|
+
* Handles cleanup of temporary files when agents are suspended and
|
|
5
|
+
* system-level cleanup of Docker resources and log files.
|
|
6
|
+
*
|
|
7
|
+
* Agent cleanup targets:
|
|
8
|
+
* - `~/.claude/debug/` — debug log files
|
|
9
|
+
* - `~/.claude/shell-snapshots/` — shell state snapshots
|
|
10
|
+
*
|
|
11
|
+
* System cleanup targets:
|
|
12
|
+
* - Docker dangling images and build cache
|
|
13
|
+
* - Docker stopped containers and unused volumes
|
|
14
|
+
* - Crewly log files older than 7 days
|
|
15
|
+
*
|
|
16
|
+
* @module disk-cleanup-service
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Statistics returned after a cleanup run.
|
|
20
|
+
*/
|
|
21
|
+
export interface CleanupStats {
|
|
22
|
+
/** Number of debug log files deleted */
|
|
23
|
+
debugLogsDeleted: number;
|
|
24
|
+
/** Number of shell snapshot files deleted */
|
|
25
|
+
shellSnapshotsDeleted: number;
|
|
26
|
+
/** Total bytes freed (approximate) */
|
|
27
|
+
bytesFreed: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Statistics returned after a system-level cleanup run.
|
|
31
|
+
*/
|
|
32
|
+
export interface SystemCleanupStats {
|
|
33
|
+
/** Whether Docker cleanup was executed */
|
|
34
|
+
dockerCleaned: boolean;
|
|
35
|
+
/** Textual summary of Docker cleanup output */
|
|
36
|
+
dockerOutput: string;
|
|
37
|
+
/** Number of Crewly log files deleted */
|
|
38
|
+
crewlyLogsDeleted: number;
|
|
39
|
+
/** Total bytes freed from log cleanup (approximate) */
|
|
40
|
+
logBytesFreed: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Handles disk cleanup on agent suspension.
|
|
44
|
+
*
|
|
45
|
+
* Targets the Claude Code data directories:
|
|
46
|
+
* - `~/.claude/debug/` — debug log files
|
|
47
|
+
* - `~/.claude/shell-snapshots/` — shell state snapshots
|
|
48
|
+
*/
|
|
49
|
+
export declare class DiskCleanupService {
|
|
50
|
+
private static instance;
|
|
51
|
+
private logger;
|
|
52
|
+
private claudeDir;
|
|
53
|
+
private constructor();
|
|
54
|
+
/**
|
|
55
|
+
* Get the singleton instance.
|
|
56
|
+
*
|
|
57
|
+
* @param claudeDir - Optional override for the Claude data directory (testing)
|
|
58
|
+
* @returns The DiskCleanupService singleton
|
|
59
|
+
*/
|
|
60
|
+
static getInstance(claudeDir?: string): DiskCleanupService;
|
|
61
|
+
/**
|
|
62
|
+
* Reset the singleton (for testing).
|
|
63
|
+
*/
|
|
64
|
+
static resetInstance(): void;
|
|
65
|
+
/**
|
|
66
|
+
* Purge debug log files older than the configured threshold.
|
|
67
|
+
*
|
|
68
|
+
* @param maxAgeHours - Maximum age in hours before deletion
|
|
69
|
+
* @returns Object with count of deleted files and bytes freed
|
|
70
|
+
*/
|
|
71
|
+
purgeDebugLogs(maxAgeHours?: number): {
|
|
72
|
+
deleted: number;
|
|
73
|
+
bytesFreed: number;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Clear shell snapshot files.
|
|
77
|
+
*
|
|
78
|
+
* @returns Object with count of deleted files and bytes freed
|
|
79
|
+
*/
|
|
80
|
+
clearShellSnapshots(): {
|
|
81
|
+
deleted: number;
|
|
82
|
+
bytesFreed: number;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Run the full suspend cleanup pipeline.
|
|
86
|
+
* Called by AgentSuspendService when suspending an agent.
|
|
87
|
+
*
|
|
88
|
+
* @returns Aggregate cleanup statistics
|
|
89
|
+
*/
|
|
90
|
+
runSuspendCleanup(): CleanupStats;
|
|
91
|
+
/**
|
|
92
|
+
* Delete files in a directory older than the given threshold.
|
|
93
|
+
*
|
|
94
|
+
* @param dirPath - Directory to scan
|
|
95
|
+
* @param maxAgeHours - Maximum file age in hours (0 = delete all)
|
|
96
|
+
* @returns Object with count and bytes
|
|
97
|
+
*/
|
|
98
|
+
private purgeOldFiles;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=disk-cleanup.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disk-cleanup.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/disk-cleanup.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAeH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,0CAA0C;IAC1C,aAAa,EAAE,OAAO,CAAC;IACvB,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmC;IAC1D,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO;IAKP;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAO1D;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;;OAKG;IACH,cAAc,CACb,WAAW,GAAE,MAAwD,GACnE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAK1C;;;;OAIG;IACH,mBAAmB,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAM9D;;;;;OAKG;IACH,iBAAiB,IAAI,YAAY;IAqBjC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;CA4CrB"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Disk Cleanup Service
|
|
3
|
+
*
|
|
4
|
+
* Handles cleanup of temporary files when agents are suspended and
|
|
5
|
+
* system-level cleanup of Docker resources and log files.
|
|
6
|
+
*
|
|
7
|
+
* Agent cleanup targets:
|
|
8
|
+
* - `~/.claude/debug/` — debug log files
|
|
9
|
+
* - `~/.claude/shell-snapshots/` — shell state snapshots
|
|
10
|
+
*
|
|
11
|
+
* System cleanup targets:
|
|
12
|
+
* - Docker dangling images and build cache
|
|
13
|
+
* - Docker stopped containers and unused volumes
|
|
14
|
+
* - Crewly log files older than 7 days
|
|
15
|
+
*
|
|
16
|
+
* @module disk-cleanup-service
|
|
17
|
+
*/
|
|
18
|
+
import * as fs from 'fs';
|
|
19
|
+
import * as path from 'path';
|
|
20
|
+
import * as os from 'os';
|
|
21
|
+
import { LoggerService } from '../core/logger.service.js';
|
|
22
|
+
import { AGENT_SUSPEND_CONSTANTS } from '../../constants.js';
|
|
23
|
+
/** Maximum age (in hours) for Crewly log files before cleanup */
|
|
24
|
+
const CREWLY_LOG_MAX_AGE_HOURS = 168; // 7 days
|
|
25
|
+
/** Timeout for Docker CLI commands in milliseconds */
|
|
26
|
+
const DOCKER_COMMAND_TIMEOUT_MS = 30_000;
|
|
27
|
+
/**
|
|
28
|
+
* Handles disk cleanup on agent suspension.
|
|
29
|
+
*
|
|
30
|
+
* Targets the Claude Code data directories:
|
|
31
|
+
* - `~/.claude/debug/` — debug log files
|
|
32
|
+
* - `~/.claude/shell-snapshots/` — shell state snapshots
|
|
33
|
+
*/
|
|
34
|
+
export class DiskCleanupService {
|
|
35
|
+
static instance = null;
|
|
36
|
+
logger;
|
|
37
|
+
claudeDir;
|
|
38
|
+
constructor(claudeDir) {
|
|
39
|
+
this.logger = LoggerService.getInstance().createComponentLogger('DiskCleanup');
|
|
40
|
+
this.claudeDir = claudeDir ?? path.join(os.homedir(), '.claude');
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get the singleton instance.
|
|
44
|
+
*
|
|
45
|
+
* @param claudeDir - Optional override for the Claude data directory (testing)
|
|
46
|
+
* @returns The DiskCleanupService singleton
|
|
47
|
+
*/
|
|
48
|
+
static getInstance(claudeDir) {
|
|
49
|
+
if (!DiskCleanupService.instance) {
|
|
50
|
+
DiskCleanupService.instance = new DiskCleanupService(claudeDir);
|
|
51
|
+
}
|
|
52
|
+
return DiskCleanupService.instance;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Reset the singleton (for testing).
|
|
56
|
+
*/
|
|
57
|
+
static resetInstance() {
|
|
58
|
+
DiskCleanupService.instance = null;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Purge debug log files older than the configured threshold.
|
|
62
|
+
*
|
|
63
|
+
* @param maxAgeHours - Maximum age in hours before deletion
|
|
64
|
+
* @returns Object with count of deleted files and bytes freed
|
|
65
|
+
*/
|
|
66
|
+
purgeDebugLogs(maxAgeHours = AGENT_SUSPEND_CONSTANTS.DEBUG_LOG_MAX_AGE_HOURS) {
|
|
67
|
+
const debugDir = path.join(this.claudeDir, 'debug');
|
|
68
|
+
return this.purgeOldFiles(debugDir, maxAgeHours);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Clear shell snapshot files.
|
|
72
|
+
*
|
|
73
|
+
* @returns Object with count of deleted files and bytes freed
|
|
74
|
+
*/
|
|
75
|
+
clearShellSnapshots() {
|
|
76
|
+
const snapshotsDir = path.join(this.claudeDir, 'shell-snapshots');
|
|
77
|
+
// Shell snapshots are ephemeral — clear all of them on suspend
|
|
78
|
+
return this.purgeOldFiles(snapshotsDir, 0);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Run the full suspend cleanup pipeline.
|
|
82
|
+
* Called by AgentSuspendService when suspending an agent.
|
|
83
|
+
*
|
|
84
|
+
* @returns Aggregate cleanup statistics
|
|
85
|
+
*/
|
|
86
|
+
runSuspendCleanup() {
|
|
87
|
+
this.logger.info('Running suspend disk cleanup...');
|
|
88
|
+
const debugResult = this.purgeDebugLogs();
|
|
89
|
+
const snapshotResult = this.clearShellSnapshots();
|
|
90
|
+
const stats = {
|
|
91
|
+
debugLogsDeleted: debugResult.deleted,
|
|
92
|
+
shellSnapshotsDeleted: snapshotResult.deleted,
|
|
93
|
+
bytesFreed: debugResult.bytesFreed + snapshotResult.bytesFreed,
|
|
94
|
+
};
|
|
95
|
+
this.logger.info('Suspend disk cleanup complete', {
|
|
96
|
+
debugLogsDeleted: stats.debugLogsDeleted,
|
|
97
|
+
shellSnapshotsDeleted: stats.shellSnapshotsDeleted,
|
|
98
|
+
bytesFreedMB: (stats.bytesFreed / (1024 * 1024)).toFixed(2),
|
|
99
|
+
});
|
|
100
|
+
return stats;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Delete files in a directory older than the given threshold.
|
|
104
|
+
*
|
|
105
|
+
* @param dirPath - Directory to scan
|
|
106
|
+
* @param maxAgeHours - Maximum file age in hours (0 = delete all)
|
|
107
|
+
* @returns Object with count and bytes
|
|
108
|
+
*/
|
|
109
|
+
purgeOldFiles(dirPath, maxAgeHours) {
|
|
110
|
+
let deleted = 0;
|
|
111
|
+
let bytesFreed = 0;
|
|
112
|
+
if (!fs.existsSync(dirPath)) {
|
|
113
|
+
return { deleted, bytesFreed };
|
|
114
|
+
}
|
|
115
|
+
const cutoffMs = maxAgeHours * 60 * 60 * 1000;
|
|
116
|
+
const now = Date.now();
|
|
117
|
+
try {
|
|
118
|
+
const entries = fs.readdirSync(dirPath);
|
|
119
|
+
for (const entry of entries) {
|
|
120
|
+
const filePath = path.join(dirPath, entry);
|
|
121
|
+
try {
|
|
122
|
+
const stat = fs.statSync(filePath);
|
|
123
|
+
if (!stat.isFile())
|
|
124
|
+
continue;
|
|
125
|
+
// When maxAgeHours is 0, delete all files regardless of timing precision
|
|
126
|
+
if (cutoffMs === 0 || (now - stat.mtimeMs) >= cutoffMs) {
|
|
127
|
+
fs.unlinkSync(filePath);
|
|
128
|
+
deleted++;
|
|
129
|
+
bytesFreed += stat.size;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
catch (fileErr) {
|
|
133
|
+
this.logger.debug('Failed to process file during cleanup', {
|
|
134
|
+
filePath,
|
|
135
|
+
error: fileErr instanceof Error ? fileErr.message : String(fileErr),
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
this.logger.warn('Failed to read directory for cleanup', {
|
|
142
|
+
dirPath,
|
|
143
|
+
error: err instanceof Error ? err.message : String(err),
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
return { deleted, bytesFreed };
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=disk-cleanup.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disk-cleanup.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/disk-cleanup.service.ts"],"names":[],"mappings":"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"}
|