crewly 1.12.1 → 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/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +29 -7
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +18 -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 +33 -1
- 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 +78 -2
- 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 +248 -44
- 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 +51 -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 +31 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +5 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js +7 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.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/commitment-approval-guard.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/commitment-approval-guard.js +26 -0
- package/dist/backend/backend/src/services/orchestrator/commitment-approval-guard.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js +19 -3
- package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.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/services/wiki/wiki-migrate.service.d.ts +3 -0
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.js +21 -10
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.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/backend/src/websocket/chat.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/chat.gateway.js +7 -1
- package/dist/backend/backend/src/websocket/chat.gateway.js.map +1 -1
- 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/cloud/cloud-client.service.d.ts +5 -0
- package/dist/cli/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/cloud/cloud-client.service.js +7 -0
- package/dist/cli/backend/src/services/cloud/cloud-client.service.js.map +1 -1
- 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/package.json +2 -2
- package/packages/crewly-agent/src/cli.ts +16 -6
- package/packages/crewly-agent/src/runtime/agent-runner.service.test.ts +311 -33
- package/packages/crewly-agent/src/runtime/agent-runner.service.ts +221 -12
- package/packages/crewly-agent/src/runtime/tool-registry.test.ts +19 -0
- package/packages/crewly-agent/src/runtime/tool-registry.ts +4 -1
- package/packages/crewly-agent/src/runtime/types.ts +65 -5
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sub-Agent Message Queue Service
|
|
3
|
+
*
|
|
4
|
+
* Buffers messages destined for sub-agents that have not yet completed
|
|
5
|
+
* initialization (agentStatus !== 'active'). Messages are flushed once
|
|
6
|
+
* the agent registers via the MCP `register_agent_status` tool.
|
|
7
|
+
*
|
|
8
|
+
* The orchestrator is excluded from this queue because it already has
|
|
9
|
+
* its own deferral mechanism via QueueProcessorService.
|
|
10
|
+
*
|
|
11
|
+
* @module sub-agent-message-queue
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* A single queued message destined for a sub-agent.
|
|
15
|
+
*/
|
|
16
|
+
export interface QueuedAgentMessage {
|
|
17
|
+
/** The raw data string to write to the agent's terminal */
|
|
18
|
+
data: string;
|
|
19
|
+
/** Timestamp (ms since epoch) when the message was enqueued */
|
|
20
|
+
queuedAt: number;
|
|
21
|
+
/** The target session name */
|
|
22
|
+
sessionName: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Singleton service that holds pending messages per agent session.
|
|
26
|
+
*
|
|
27
|
+
* Messages are enqueued when a `mode: 'message'` write arrives at
|
|
28
|
+
* the terminal controller for an agent that is not yet active.
|
|
29
|
+
* They are dequeued and delivered sequentially when the agent
|
|
30
|
+
* registers (status becomes 'active').
|
|
31
|
+
*/
|
|
32
|
+
export declare class SubAgentMessageQueue {
|
|
33
|
+
private static instance;
|
|
34
|
+
private pendingMessages;
|
|
35
|
+
private logger;
|
|
36
|
+
private constructor();
|
|
37
|
+
/**
|
|
38
|
+
* Get the singleton instance.
|
|
39
|
+
*
|
|
40
|
+
* @returns The SubAgentMessageQueue singleton
|
|
41
|
+
*/
|
|
42
|
+
static getInstance(): SubAgentMessageQueue;
|
|
43
|
+
/**
|
|
44
|
+
* Reset the singleton instance (for testing only).
|
|
45
|
+
*/
|
|
46
|
+
static resetInstance(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Enqueue a message for a session that is not yet active.
|
|
49
|
+
* If the queue exceeds MAX_QUEUE_SIZE, the oldest message is dropped.
|
|
50
|
+
*
|
|
51
|
+
* @param sessionName - The target agent session name
|
|
52
|
+
* @param data - The raw data string to deliver later
|
|
53
|
+
*/
|
|
54
|
+
enqueue(sessionName: string, data: string): void;
|
|
55
|
+
/**
|
|
56
|
+
* Dequeue all pending messages for a session (FIFO order).
|
|
57
|
+
* The queue is cleared after dequeuing.
|
|
58
|
+
*
|
|
59
|
+
* @param sessionName - The agent session name
|
|
60
|
+
* @returns Array of queued messages in insertion order, or empty array
|
|
61
|
+
*/
|
|
62
|
+
dequeueAll(sessionName: string): QueuedAgentMessage[];
|
|
63
|
+
/**
|
|
64
|
+
* Check if there are pending messages for a session.
|
|
65
|
+
*
|
|
66
|
+
* @param sessionName - The agent session name
|
|
67
|
+
* @returns True if there are pending messages
|
|
68
|
+
*/
|
|
69
|
+
hasPending(sessionName: string): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Clear all pending messages for a session (e.g. on agent stop/exit).
|
|
72
|
+
*
|
|
73
|
+
* @param sessionName - The agent session name
|
|
74
|
+
*/
|
|
75
|
+
clear(sessionName: string): void;
|
|
76
|
+
/**
|
|
77
|
+
* Get the number of pending messages for a session.
|
|
78
|
+
*
|
|
79
|
+
* @param sessionName - The agent session name
|
|
80
|
+
* @returns Number of pending messages
|
|
81
|
+
*/
|
|
82
|
+
getQueueSize(sessionName: string): number;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=sub-agent-message-queue.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sub-agent-message-queue.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/sub-agent-message-queue.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAC5D,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO;IAIP;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,oBAAoB;IAO1C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;;;OAMG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IA8BhD;;;;;;OAMG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAiBrD;;;;;OAKG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAKxC;;;;OAIG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAWhC;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAIzC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sub-Agent Message Queue Service
|
|
3
|
+
*
|
|
4
|
+
* Buffers messages destined for sub-agents that have not yet completed
|
|
5
|
+
* initialization (agentStatus !== 'active'). Messages are flushed once
|
|
6
|
+
* the agent registers via the MCP `register_agent_status` tool.
|
|
7
|
+
*
|
|
8
|
+
* The orchestrator is excluded from this queue because it already has
|
|
9
|
+
* its own deferral mechanism via QueueProcessorService.
|
|
10
|
+
*
|
|
11
|
+
* @module sub-agent-message-queue
|
|
12
|
+
*/
|
|
13
|
+
import { LoggerService } from '../core/logger.service.js';
|
|
14
|
+
import { SUB_AGENT_QUEUE_CONSTANTS } from '../../constants.js';
|
|
15
|
+
/**
|
|
16
|
+
* Singleton service that holds pending messages per agent session.
|
|
17
|
+
*
|
|
18
|
+
* Messages are enqueued when a `mode: 'message'` write arrives at
|
|
19
|
+
* the terminal controller for an agent that is not yet active.
|
|
20
|
+
* They are dequeued and delivered sequentially when the agent
|
|
21
|
+
* registers (status becomes 'active').
|
|
22
|
+
*/
|
|
23
|
+
export class SubAgentMessageQueue {
|
|
24
|
+
static instance = null;
|
|
25
|
+
pendingMessages = new Map();
|
|
26
|
+
logger;
|
|
27
|
+
constructor() {
|
|
28
|
+
this.logger = LoggerService.getInstance().createComponentLogger('SubAgentMessageQueue');
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get the singleton instance.
|
|
32
|
+
*
|
|
33
|
+
* @returns The SubAgentMessageQueue singleton
|
|
34
|
+
*/
|
|
35
|
+
static getInstance() {
|
|
36
|
+
if (!SubAgentMessageQueue.instance) {
|
|
37
|
+
SubAgentMessageQueue.instance = new SubAgentMessageQueue();
|
|
38
|
+
}
|
|
39
|
+
return SubAgentMessageQueue.instance;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Reset the singleton instance (for testing only).
|
|
43
|
+
*/
|
|
44
|
+
static resetInstance() {
|
|
45
|
+
SubAgentMessageQueue.instance = null;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Enqueue a message for a session that is not yet active.
|
|
49
|
+
* If the queue exceeds MAX_QUEUE_SIZE, the oldest message is dropped.
|
|
50
|
+
*
|
|
51
|
+
* @param sessionName - The target agent session name
|
|
52
|
+
* @param data - The raw data string to deliver later
|
|
53
|
+
*/
|
|
54
|
+
enqueue(sessionName, data) {
|
|
55
|
+
let queue = this.pendingMessages.get(sessionName);
|
|
56
|
+
if (!queue) {
|
|
57
|
+
queue = [];
|
|
58
|
+
this.pendingMessages.set(sessionName, queue);
|
|
59
|
+
}
|
|
60
|
+
// Drop oldest if at capacity
|
|
61
|
+
if (queue.length >= SUB_AGENT_QUEUE_CONSTANTS.MAX_QUEUE_SIZE) {
|
|
62
|
+
const dropped = queue.shift();
|
|
63
|
+
this.logger.warn('Queue at capacity, dropping oldest message', {
|
|
64
|
+
sessionName,
|
|
65
|
+
droppedAt: dropped?.queuedAt,
|
|
66
|
+
queueSize: queue.length,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
queue.push({
|
|
70
|
+
data,
|
|
71
|
+
queuedAt: Date.now(),
|
|
72
|
+
sessionName,
|
|
73
|
+
});
|
|
74
|
+
this.logger.info('Message queued for sub-agent', {
|
|
75
|
+
sessionName,
|
|
76
|
+
queueSize: queue.length,
|
|
77
|
+
dataLength: data.length,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Dequeue all pending messages for a session (FIFO order).
|
|
82
|
+
* The queue is cleared after dequeuing.
|
|
83
|
+
*
|
|
84
|
+
* @param sessionName - The agent session name
|
|
85
|
+
* @returns Array of queued messages in insertion order, or empty array
|
|
86
|
+
*/
|
|
87
|
+
dequeueAll(sessionName) {
|
|
88
|
+
const queue = this.pendingMessages.get(sessionName);
|
|
89
|
+
if (!queue || queue.length === 0) {
|
|
90
|
+
return [];
|
|
91
|
+
}
|
|
92
|
+
const messages = [...queue];
|
|
93
|
+
this.pendingMessages.delete(sessionName);
|
|
94
|
+
this.logger.info('Dequeued all messages for sub-agent', {
|
|
95
|
+
sessionName,
|
|
96
|
+
count: messages.length,
|
|
97
|
+
});
|
|
98
|
+
return messages;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Check if there are pending messages for a session.
|
|
102
|
+
*
|
|
103
|
+
* @param sessionName - The agent session name
|
|
104
|
+
* @returns True if there are pending messages
|
|
105
|
+
*/
|
|
106
|
+
hasPending(sessionName) {
|
|
107
|
+
const queue = this.pendingMessages.get(sessionName);
|
|
108
|
+
return !!queue && queue.length > 0;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Clear all pending messages for a session (e.g. on agent stop/exit).
|
|
112
|
+
*
|
|
113
|
+
* @param sessionName - The agent session name
|
|
114
|
+
*/
|
|
115
|
+
clear(sessionName) {
|
|
116
|
+
const queue = this.pendingMessages.get(sessionName);
|
|
117
|
+
if (queue && queue.length > 0) {
|
|
118
|
+
this.logger.info('Clearing queued messages for session', {
|
|
119
|
+
sessionName,
|
|
120
|
+
droppedCount: queue.length,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
this.pendingMessages.delete(sessionName);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get the number of pending messages for a session.
|
|
127
|
+
*
|
|
128
|
+
* @param sessionName - The agent session name
|
|
129
|
+
* @returns Number of pending messages
|
|
130
|
+
*/
|
|
131
|
+
getQueueSize(sessionName) {
|
|
132
|
+
const queue = this.pendingMessages.get(sessionName);
|
|
133
|
+
return queue ? queue.length : 0;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=sub-agent-message-queue.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sub-agent-message-queue.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/sub-agent-message-queue.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thread Status Queue Service
|
|
3
|
+
*
|
|
4
|
+
* Tracks the lifecycle of every inbound message thread across platforms
|
|
5
|
+
* (Slack, GChat, Telegram, etc.). On orchestrator restart, non-terminal
|
|
6
|
+
* threads are recovered and re-enqueued so no user messages are silently dropped.
|
|
7
|
+
*
|
|
8
|
+
* Persistence is debounced and written to ~/.crewly/thread-status-queue.json
|
|
9
|
+
* using atomic file I/O to prevent corruption.
|
|
10
|
+
*
|
|
11
|
+
* @module services/messaging/thread-status-queue
|
|
12
|
+
*/
|
|
13
|
+
import type { ThreadStatus, ThreadStatusEntry, TrackInboundInput, ThreadStatusStats, ReplyStatus } from '../../types/thread-status.types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Minimal interface for SchedulerService to avoid circular imports.
|
|
16
|
+
* Used to create follow-up checks when a thread is marked as replied_to_follow_up.
|
|
17
|
+
*/
|
|
18
|
+
export interface ISchedulerServiceLike {
|
|
19
|
+
scheduleCheck(targetSession: string, minutes: number, message: string, type?: string, options?: {
|
|
20
|
+
label?: string;
|
|
21
|
+
}): string;
|
|
22
|
+
cancelCheck(checkId: string): void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Minimal interface for EventBusService to avoid circular imports.
|
|
26
|
+
* Uses unknown for eventType/filter to avoid importing event-bus types.
|
|
27
|
+
*/
|
|
28
|
+
export interface IEventBusServiceLike {
|
|
29
|
+
subscribe(input: unknown): {
|
|
30
|
+
id: string;
|
|
31
|
+
};
|
|
32
|
+
unsubscribe(subscriptionId: string): boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Minimal interface for MessageQueueService to avoid circular imports.
|
|
36
|
+
* Used during restart recovery to re-enqueue pending threads.
|
|
37
|
+
*/
|
|
38
|
+
export interface IMessageQueueServiceLike {
|
|
39
|
+
enqueue(input: {
|
|
40
|
+
content: string;
|
|
41
|
+
conversationId: string;
|
|
42
|
+
source: string;
|
|
43
|
+
sourceMetadata?: Record<string, unknown>;
|
|
44
|
+
targetSession?: string;
|
|
45
|
+
}): unknown;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Minimal interface for checking agent working status.
|
|
49
|
+
* Used during recovery to determine if delegated agents have completed.
|
|
50
|
+
*/
|
|
51
|
+
export interface IAgentStatusCheckerLike {
|
|
52
|
+
getAgentWorkingStatus(sessionName: string): Promise<'idle' | 'in_progress' | 'unknown'>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Callback for sending platform-specific confirmation messages during recovery.
|
|
56
|
+
* e.g., "I am back online. I see your message: {preview}. Let me handle it now."
|
|
57
|
+
*
|
|
58
|
+
* @param entry - The thread entry to confirm
|
|
59
|
+
* @returns Promise resolving when the confirmation is sent
|
|
60
|
+
*/
|
|
61
|
+
export type RecoveryConfirmCallback = (entry: ThreadStatusEntry) => Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Tracks active follow-up subscriptions so they can be cancelled
|
|
64
|
+
* when the user replies before the scheduled check fires.
|
|
65
|
+
*/
|
|
66
|
+
interface FollowUpTracking {
|
|
67
|
+
/** ID of the scheduled check */
|
|
68
|
+
scheduledCheckId: string;
|
|
69
|
+
/** ID of the event bus subscription */
|
|
70
|
+
eventSubscriptionId: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Service that maintains a persistent queue of thread statuses.
|
|
74
|
+
* Constructed with a crewly home directory path for disk persistence.
|
|
75
|
+
*
|
|
76
|
+
* Lifecycle: enqueued → delivered → replied_* (terminal or waiting_actions)
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const svc = new ThreadStatusQueueService('/home/user/.crewly');
|
|
81
|
+
* await svc.loadPersistedState();
|
|
82
|
+
*
|
|
83
|
+
* const entry = svc.trackInbound({
|
|
84
|
+
* source: 'slack',
|
|
85
|
+
* threadKey: 'C123:170743.001',
|
|
86
|
+
* conversationId: 'conv-1',
|
|
87
|
+
* messagePreview: 'Deploy the new feature',
|
|
88
|
+
* });
|
|
89
|
+
*
|
|
90
|
+
* svc.markDelivered('C123:170743.001');
|
|
91
|
+
* svc.markReplied('C123:170743.001', 'replied_completed');
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export declare class ThreadStatusQueueService {
|
|
95
|
+
/** Singleton instance */
|
|
96
|
+
private static instance;
|
|
97
|
+
/** Logger for this service */
|
|
98
|
+
private logger;
|
|
99
|
+
/** All tracked thread entries, keyed by threadKey for O(1) lookup */
|
|
100
|
+
private entries;
|
|
101
|
+
/** Path to the persistence file, or null if init() has not been called */
|
|
102
|
+
private persistPath;
|
|
103
|
+
/** Debounce timer for batching persistence writes */
|
|
104
|
+
private persistTimer;
|
|
105
|
+
/** ISO timestamp of last cleanup run */
|
|
106
|
+
private lastCleanupAt;
|
|
107
|
+
/** Scheduler service for creating follow-up checks */
|
|
108
|
+
private schedulerService;
|
|
109
|
+
/** Event bus for subscribing to message:received events */
|
|
110
|
+
private eventBusService;
|
|
111
|
+
/** Tracks active follow-up subscriptions keyed by threadKey */
|
|
112
|
+
private followUpTracking;
|
|
113
|
+
/**
|
|
114
|
+
* Creates a new ThreadStatusQueueService.
|
|
115
|
+
* Use getInstance() for singleton access, or construct directly for testing.
|
|
116
|
+
*
|
|
117
|
+
* @param crewlyHome - Optional crewly home directory path for immediate initialization
|
|
118
|
+
*/
|
|
119
|
+
constructor(crewlyHome?: string);
|
|
120
|
+
/**
|
|
121
|
+
* Returns the singleton instance of ThreadStatusQueueService.
|
|
122
|
+
* Call init() after this to set the persistence path.
|
|
123
|
+
*
|
|
124
|
+
* @returns The singleton instance
|
|
125
|
+
*/
|
|
126
|
+
static getInstance(): ThreadStatusQueueService;
|
|
127
|
+
/**
|
|
128
|
+
* Resets the singleton instance. For testing only.
|
|
129
|
+
*/
|
|
130
|
+
static resetInstance(): void;
|
|
131
|
+
/**
|
|
132
|
+
* Loads persisted state from disk.
|
|
133
|
+
* If the file doesn't exist or is corrupted, starts with an empty queue.
|
|
134
|
+
*/
|
|
135
|
+
loadPersistedState(): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Records a new inbound thread message with status `enqueued`.
|
|
138
|
+
* If a thread with the same threadKey already exists, the existing entry is returned.
|
|
139
|
+
*
|
|
140
|
+
* @param input - Inbound message details
|
|
141
|
+
* @returns The created (or existing) ThreadStatusEntry
|
|
142
|
+
*/
|
|
143
|
+
trackInbound(input: TrackInboundInput): ThreadStatusEntry;
|
|
144
|
+
/**
|
|
145
|
+
* Transitions a thread from `enqueued` (or `error`) to `delivered`.
|
|
146
|
+
* No-op if thread is already in a terminal or later status.
|
|
147
|
+
*
|
|
148
|
+
* @param threadKey - Platform-specific thread identifier
|
|
149
|
+
* @throws Error if threadKey is not found
|
|
150
|
+
*/
|
|
151
|
+
markDelivered(threadKey: string): void;
|
|
152
|
+
/**
|
|
153
|
+
* Set the SchedulerService instance for creating follow-up checks.
|
|
154
|
+
* Called during server initialization.
|
|
155
|
+
*
|
|
156
|
+
* @param service - The SchedulerService instance (or compatible interface)
|
|
157
|
+
*/
|
|
158
|
+
setSchedulerService(service: ISchedulerServiceLike): void;
|
|
159
|
+
/**
|
|
160
|
+
* Set the EventBusService instance for subscribing to message events.
|
|
161
|
+
* Called during server initialization.
|
|
162
|
+
*
|
|
163
|
+
* @param service - The EventBusService instance (or compatible interface)
|
|
164
|
+
*/
|
|
165
|
+
setEventBusService(service: IEventBusServiceLike): void;
|
|
166
|
+
/**
|
|
167
|
+
* Transitions a thread to one of the replied_* statuses.
|
|
168
|
+
* Sets the repliedAt timestamp.
|
|
169
|
+
*
|
|
170
|
+
* When status is `replied_to_follow_up`, automatically:
|
|
171
|
+
* 1. Creates a scheduled check (default 5 min) to verify user replied
|
|
172
|
+
* 2. Subscribes to message:received events for this thread's conversation
|
|
173
|
+
* 3. On user reply: cancels the scheduled check and transitions to replied_completed
|
|
174
|
+
*
|
|
175
|
+
* @param threadKey - Platform-specific thread identifier
|
|
176
|
+
* @param status - One of: replied_completed, replied_waiting_actions, replied_to_follow_up
|
|
177
|
+
* @throws Error if threadKey is not found or status is not a valid reply status
|
|
178
|
+
*/
|
|
179
|
+
markReplied(threadKey: string, status: ReplyStatus): void;
|
|
180
|
+
/**
|
|
181
|
+
* Handles a user reply to a follow-up thread.
|
|
182
|
+
* Cancels the scheduled check, removes the event subscription,
|
|
183
|
+
* and transitions the thread to replied_completed (or re-enqueues).
|
|
184
|
+
*
|
|
185
|
+
* @param threadKey - Platform-specific thread identifier
|
|
186
|
+
*/
|
|
187
|
+
handleFollowUpReply(threadKey: string): void;
|
|
188
|
+
/**
|
|
189
|
+
* Returns the active follow-up tracking for a thread, if any.
|
|
190
|
+
* Useful for testing and debugging.
|
|
191
|
+
*
|
|
192
|
+
* @param threadKey - Platform-specific thread identifier
|
|
193
|
+
* @returns The follow-up tracking info, or null
|
|
194
|
+
*/
|
|
195
|
+
getFollowUpTracking(threadKey: string): FollowUpTracking | null;
|
|
196
|
+
/**
|
|
197
|
+
* Records that an agent was delegated work from this thread.
|
|
198
|
+
*
|
|
199
|
+
* @param threadKey - Platform-specific thread identifier
|
|
200
|
+
* @param agentSession - Session name of the delegated agent
|
|
201
|
+
* @throws Error if threadKey is not found
|
|
202
|
+
*/
|
|
203
|
+
addDelegatedAgent(threadKey: string, agentSession: string): void;
|
|
204
|
+
/**
|
|
205
|
+
* Transitions a `replied_waiting_actions` thread to `replied_completed`
|
|
206
|
+
* when all delegated agents have finished their work.
|
|
207
|
+
*
|
|
208
|
+
* @param threadKey - Platform-specific thread identifier
|
|
209
|
+
* @throws Error if threadKey is not found
|
|
210
|
+
*/
|
|
211
|
+
markDelegationsComplete(threadKey: string): void;
|
|
212
|
+
/**
|
|
213
|
+
* Returns all entries not in a terminal status. Used for restart recovery.
|
|
214
|
+
*
|
|
215
|
+
* @returns Array of non-terminal ThreadStatusEntry objects
|
|
216
|
+
*/
|
|
217
|
+
getPendingThreads(): ThreadStatusEntry[];
|
|
218
|
+
/**
|
|
219
|
+
* Returns all entries matching the given status.
|
|
220
|
+
*
|
|
221
|
+
* @param status - The ThreadStatus to filter by
|
|
222
|
+
* @returns Array of matching ThreadStatusEntry objects
|
|
223
|
+
*/
|
|
224
|
+
getByStatus(status: ThreadStatus): ThreadStatusEntry[];
|
|
225
|
+
/**
|
|
226
|
+
* Retrieves a specific entry by threadKey.
|
|
227
|
+
*
|
|
228
|
+
* @param threadKey - Platform-specific thread identifier
|
|
229
|
+
* @returns The entry, or null if not found
|
|
230
|
+
*/
|
|
231
|
+
get(threadKey: string): ThreadStatusEntry | null;
|
|
232
|
+
/**
|
|
233
|
+
* Find a thread entry by its conversationId.
|
|
234
|
+
*
|
|
235
|
+
* Useful when the caller has a conversationId (e.g. from chat history)
|
|
236
|
+
* but not the threadKey. Scans all entries — O(n) but the set is small.
|
|
237
|
+
*
|
|
238
|
+
* @param conversationId - The conversation ID to search for
|
|
239
|
+
* @returns The most recently updated matching entry, or null
|
|
240
|
+
*/
|
|
241
|
+
getByConversationId(conversationId: string): ThreadStatusEntry | null;
|
|
242
|
+
/**
|
|
243
|
+
* Finds a thread status entry by its queueMessageId.
|
|
244
|
+
* Returns the most recently updated entry if multiple match.
|
|
245
|
+
*
|
|
246
|
+
* @param queueMessageId - The queue message ID to search for
|
|
247
|
+
* @returns The most recently updated matching entry, or null
|
|
248
|
+
*/
|
|
249
|
+
getByQueueMessageId(queueMessageId: string): ThreadStatusEntry | null;
|
|
250
|
+
/**
|
|
251
|
+
* Expires entries that have been in a non-terminal status longer than maxAgeMinutes.
|
|
252
|
+
* Transitions them to `expired`.
|
|
253
|
+
*
|
|
254
|
+
* @param maxAgeMinutes - Maximum age in minutes (defaults to STALE_TIMEOUT_MINUTES)
|
|
255
|
+
* @returns Number of entries expired
|
|
256
|
+
*/
|
|
257
|
+
expireStale(maxAgeMinutes?: number): number;
|
|
258
|
+
/**
|
|
259
|
+
* Removes terminal entries older than retentionHours.
|
|
260
|
+
* Also enforces MAX_ENTRIES by pruning oldest terminal entries first.
|
|
261
|
+
*
|
|
262
|
+
* @param retentionHours - Hours to retain terminal entries (defaults to CLEANUP_RETENTION_HOURS)
|
|
263
|
+
* @returns Number of entries removed
|
|
264
|
+
*/
|
|
265
|
+
cleanup(retentionHours?: number): number;
|
|
266
|
+
/**
|
|
267
|
+
* Returns statistics for monitoring the thread status queue.
|
|
268
|
+
*
|
|
269
|
+
* @returns Stats snapshot including total, per-status counts, and oldest pending timestamp
|
|
270
|
+
*/
|
|
271
|
+
getStats(): ThreadStatusStats;
|
|
272
|
+
/**
|
|
273
|
+
* Initializes the service with a crewly home directory for persistence.
|
|
274
|
+
* Must be called before loadPersistedState() when using getInstance().
|
|
275
|
+
*
|
|
276
|
+
* @param crewlyHome - Absolute path to the crewly home directory (e.g. ~/.crewly)
|
|
277
|
+
*/
|
|
278
|
+
init(crewlyHome: string): void;
|
|
279
|
+
/**
|
|
280
|
+
* Public convenience method: optionally re-inits the persist path,
|
|
281
|
+
* then loads persisted state from disk.
|
|
282
|
+
*
|
|
283
|
+
* @param crewlyHome - Optional crewly home directory to re-initialize with
|
|
284
|
+
*/
|
|
285
|
+
load(crewlyHome?: string): Promise<void>;
|
|
286
|
+
/**
|
|
287
|
+
* Immediately flushes the current state to disk. Call during graceful shutdown
|
|
288
|
+
* to ensure no in-memory mutations are lost.
|
|
289
|
+
*/
|
|
290
|
+
persist(): Promise<void>;
|
|
291
|
+
/**
|
|
292
|
+
* Returns all entries in the queue. Used for the thread-status API.
|
|
293
|
+
*
|
|
294
|
+
* @returns Array of all ThreadStatusEntry objects
|
|
295
|
+
*/
|
|
296
|
+
getAllEntries(): ThreadStatusEntry[];
|
|
297
|
+
/**
|
|
298
|
+
* Recovers pending threads after an orchestrator restart.
|
|
299
|
+
* Loads persisted state and handles each thread based on its status:
|
|
300
|
+
*
|
|
301
|
+
* 1. **enqueued/delivered/error** — Send a "I'm back online" confirmation
|
|
302
|
+
* via the platform, then re-enqueue for orchestrator processing.
|
|
303
|
+
* 2. **replied_to_follow_up** — Re-setup follow-up tracking (scheduled
|
|
304
|
+
* check + event subscription) to continue waiting for user reply.
|
|
305
|
+
* 3. **replied_waiting_actions** — Check delegated agent statuses. If all
|
|
306
|
+
* agents are done, transition to replied_completed. Otherwise keep waiting.
|
|
307
|
+
* 4. **replied_completed/expired** — Already terminal, skip.
|
|
308
|
+
*
|
|
309
|
+
* @param messageQueueService - The message queue service for re-enqueuing
|
|
310
|
+
* @param options - Optional callbacks for agent status checking and platform confirmations
|
|
311
|
+
* @returns Summary of recovery actions taken
|
|
312
|
+
*/
|
|
313
|
+
recoverPendingThreads(messageQueueService: IMessageQueueServiceLike, options?: {
|
|
314
|
+
agentStatusChecker?: IAgentStatusCheckerLike;
|
|
315
|
+
confirmCallback?: RecoveryConfirmCallback;
|
|
316
|
+
}): Promise<{
|
|
317
|
+
loaded: number;
|
|
318
|
+
reEnqueued: number;
|
|
319
|
+
followUpRestored: number;
|
|
320
|
+
waitingActionsChecked: number;
|
|
321
|
+
delegationsCompleted: number;
|
|
322
|
+
expired: number;
|
|
323
|
+
cleaned: number;
|
|
324
|
+
}>;
|
|
325
|
+
/**
|
|
326
|
+
* Cleans up timers and follow-up tracking. Call on shutdown.
|
|
327
|
+
*/
|
|
328
|
+
destroy(): void;
|
|
329
|
+
/**
|
|
330
|
+
* Retrieves an entry by threadKey or throws an error with a descriptive message.
|
|
331
|
+
*
|
|
332
|
+
* @param threadKey - Platform-specific thread identifier
|
|
333
|
+
* @param caller - Name of the calling method (for error messages)
|
|
334
|
+
* @returns The found entry
|
|
335
|
+
* @throws Error if entry is not found
|
|
336
|
+
*/
|
|
337
|
+
private getOrThrow;
|
|
338
|
+
/**
|
|
339
|
+
* Sets up follow-up tracking for a replied_to_follow_up thread.
|
|
340
|
+
* Creates a scheduled check and an event subscription so that if
|
|
341
|
+
* the user replies, the check is cancelled and the thread is completed.
|
|
342
|
+
*
|
|
343
|
+
* @param threadKey - Platform-specific thread identifier
|
|
344
|
+
* @param entry - The thread status entry
|
|
345
|
+
*/
|
|
346
|
+
private setupFollowUpTracking;
|
|
347
|
+
/**
|
|
348
|
+
* Schedules a debounced persistence write to disk.
|
|
349
|
+
* Multiple mutations within PERSIST_DEBOUNCE_MS are batched into a single write.
|
|
350
|
+
*/
|
|
351
|
+
private schedulePersist;
|
|
352
|
+
/**
|
|
353
|
+
* Writes the current queue state to disk atomically.
|
|
354
|
+
*/
|
|
355
|
+
private persistToDisk;
|
|
356
|
+
}
|
|
357
|
+
export {};
|
|
358
|
+
//# sourceMappingURL=thread-status-queue.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-status-queue.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/thread-status-queue.service.ts"],"names":[],"mappings":"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"}
|