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,317 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChannelStore — CRUD for `chat_channels`.
|
|
3
|
+
*
|
|
4
|
+
* All authorization is handled at a higher layer (`ChatV2Service`);
|
|
5
|
+
* this store only enforces DB-level invariants (FKs, unique indexes).
|
|
6
|
+
*
|
|
7
|
+
* @module services/chat-v2/sqlite/channel.store
|
|
8
|
+
*/
|
|
9
|
+
import { randomUUID } from 'crypto';
|
|
10
|
+
import { CHAT_ERROR_CODES, ChatError, } from '../types.js';
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Constants — shared SELECT column list, single source of truth
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
/**
|
|
15
|
+
* Canonical column list for `chat_channels` SELECTs. Including all Phase A
|
|
16
|
+
* columns (type / team_id / project_id / target_member_id) here keeps every
|
|
17
|
+
* read path in this store mapping to a fully-populated `ChatChannelRow`.
|
|
18
|
+
*/
|
|
19
|
+
const CHANNEL_SELECT_COLUMNS = `
|
|
20
|
+
id, agent_session, owner_user_id, name, purpose,
|
|
21
|
+
created_at, archived_at, last_message_at,
|
|
22
|
+
type, team_id, project_id, target_member_id
|
|
23
|
+
`;
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
// Store
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
/** SQLite-backed store for chat channels. */
|
|
28
|
+
export class ChannelStore {
|
|
29
|
+
db;
|
|
30
|
+
constructor(db) {
|
|
31
|
+
this.db = db;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Create a new channel. Enforces the 1:1 agent-binding by catching
|
|
35
|
+
* the SQLite unique-constraint error and surfacing it as a
|
|
36
|
+
* `ChatError(agent_already_bound, 409)`.
|
|
37
|
+
*
|
|
38
|
+
* @param input - The channel creation payload
|
|
39
|
+
* @returns The inserted channel row
|
|
40
|
+
* @throws {ChatError} `agent_already_bound` (409) if the agent is already bound
|
|
41
|
+
* to another active channel.
|
|
42
|
+
*/
|
|
43
|
+
create(input) {
|
|
44
|
+
const id = input.id ?? randomUUID();
|
|
45
|
+
const createdAt = input.nowMs ?? Date.now();
|
|
46
|
+
const purpose = input.purpose ?? null;
|
|
47
|
+
const channelType = input.type ?? 'dm';
|
|
48
|
+
const teamId = input.teamId ?? null;
|
|
49
|
+
const projectId = input.projectId ?? null;
|
|
50
|
+
const targetMemberId = input.targetMemberId ?? null;
|
|
51
|
+
const stmt = this.db.prepare(`INSERT INTO chat_channels
|
|
52
|
+
(id, agent_session, owner_user_id, name, purpose, created_at,
|
|
53
|
+
type, team_id, project_id, target_member_id)
|
|
54
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
|
|
55
|
+
try {
|
|
56
|
+
stmt.run(id, input.agentSession, input.ownerUserId, input.name, purpose, createdAt, channelType, teamId, projectId, targetMemberId);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
// Unique constraint means either the partial index on agent_session fired
|
|
60
|
+
// (the common case — 1:1 binding violated) or we raced an id collision.
|
|
61
|
+
// In either case it's safer to check `findActiveByAgentSession` before
|
|
62
|
+
// surfacing a typed error.
|
|
63
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
64
|
+
if (msg.includes('UNIQUE')) {
|
|
65
|
+
const existing = this.findActiveByAgentSession(input.agentSession);
|
|
66
|
+
if (existing) {
|
|
67
|
+
throw new ChatError(CHAT_ERROR_CODES.AGENT_ALREADY_BOUND, 409, `Agent "${input.agentSession}" is already bound to another active channel.`, { existingChannelId: existing.id });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
throw err;
|
|
71
|
+
}
|
|
72
|
+
const created = this.getById(id);
|
|
73
|
+
// Row must exist — insert just succeeded. This branch is for type-narrowing.
|
|
74
|
+
if (!created) {
|
|
75
|
+
throw new ChatError(CHAT_ERROR_CODES.INTERNAL, 500, 'Channel disappeared immediately after insert');
|
|
76
|
+
}
|
|
77
|
+
return created;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Look up a channel by its id (active or archived).
|
|
81
|
+
*
|
|
82
|
+
* @param id - The channel id
|
|
83
|
+
* @returns The row, or null if not found
|
|
84
|
+
*/
|
|
85
|
+
getById(id) {
|
|
86
|
+
const row = this.db
|
|
87
|
+
.prepare(`SELECT ${CHANNEL_SELECT_COLUMNS}
|
|
88
|
+
FROM chat_channels
|
|
89
|
+
WHERE id = ?`)
|
|
90
|
+
.get(id);
|
|
91
|
+
return row ?? null;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Find the single active channel bound to an agent session, if any.
|
|
95
|
+
* Uses the partial unique index, so at most one row is returned.
|
|
96
|
+
*
|
|
97
|
+
* @param agentSession - The agent session id
|
|
98
|
+
* @returns The active channel row, or null
|
|
99
|
+
*/
|
|
100
|
+
findActiveByAgentSession(agentSession) {
|
|
101
|
+
// Phase A: scope to type='dm' so this method's contract matches the
|
|
102
|
+
// post-migration `uq_channel_agent_dm_active` partial unique index.
|
|
103
|
+
// type='channel' rows can share the empty agent_session sentinel; we
|
|
104
|
+
// never want this lookup to surface those.
|
|
105
|
+
const row = this.db
|
|
106
|
+
.prepare(`SELECT ${CHANNEL_SELECT_COLUMNS}
|
|
107
|
+
FROM chat_channels
|
|
108
|
+
WHERE agent_session = ? AND archived_at IS NULL AND type = 'dm'
|
|
109
|
+
LIMIT 1`)
|
|
110
|
+
.get(agentSession);
|
|
111
|
+
return row ?? null;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Find the most-recent active DM channel owned by a specific user and
|
|
115
|
+
* bound to a specific agent session. Used by the `ensureDmChannel`
|
|
116
|
+
* helper backing the /agents page — the owner-scoped variant is needed
|
|
117
|
+
* because the `uq_channel_agent_dm_active` unique index was dropped
|
|
118
|
+
* (see chat-db.ts:380-386), so multiple DM rows for the same agent
|
|
119
|
+
* can coexist (e.g. created by legacy bridge code with the synthetic
|
|
120
|
+
* `'system'` owner).
|
|
121
|
+
*
|
|
122
|
+
* Ordering matches `listByOwner`: most-recent activity first, so the
|
|
123
|
+
* caller always lands on the DM the user was last using.
|
|
124
|
+
*
|
|
125
|
+
* @param ownerUserId - The user_id that must own the channel
|
|
126
|
+
* @param agentSession - The agent session id
|
|
127
|
+
* @returns The most-recent active DM channel row, or null
|
|
128
|
+
*/
|
|
129
|
+
findActiveDmByOwnerAndAgent(ownerUserId, agentSession) {
|
|
130
|
+
const row = this.db
|
|
131
|
+
.prepare(`SELECT ${CHANNEL_SELECT_COLUMNS}
|
|
132
|
+
FROM chat_channels
|
|
133
|
+
WHERE owner_user_id = ?
|
|
134
|
+
AND agent_session = ?
|
|
135
|
+
AND archived_at IS NULL
|
|
136
|
+
AND type = 'dm'
|
|
137
|
+
ORDER BY COALESCE(last_message_at, created_at) DESC
|
|
138
|
+
LIMIT 1`)
|
|
139
|
+
.get(ownerUserId, agentSession);
|
|
140
|
+
return row ?? null;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Find the oldest active `type='channel'` row for a team, if any.
|
|
144
|
+
*
|
|
145
|
+
* Team channels are not owner-scoped — a team channel belongs to the
|
|
146
|
+
* whole team — so this lookup is keyed on `team_id` alone. Ordering by
|
|
147
|
+
* `created_at ASC` returns the team's original (e.g. `#general`) channel
|
|
148
|
+
* stably, which is what `ensureTeamChannel` treats as the canonical
|
|
149
|
+
* "the team already has a channel" marker.
|
|
150
|
+
*
|
|
151
|
+
* @param teamId - The team id whose channel to find
|
|
152
|
+
* @returns The oldest active team channel row, or null when none exists
|
|
153
|
+
*/
|
|
154
|
+
findActiveChannelByTeam(teamId) {
|
|
155
|
+
const row = this.db
|
|
156
|
+
.prepare(`SELECT ${CHANNEL_SELECT_COLUMNS}
|
|
157
|
+
FROM chat_channels
|
|
158
|
+
WHERE team_id = ? AND archived_at IS NULL AND type = 'channel'
|
|
159
|
+
ORDER BY created_at ASC
|
|
160
|
+
LIMIT 1`)
|
|
161
|
+
.get(teamId);
|
|
162
|
+
return row ?? null;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* List channels owned by a user.
|
|
166
|
+
*
|
|
167
|
+
* Phase C — extended with `type` + `teamId` filter options so the
|
|
168
|
+
* `GET /api/chat/channels` endpoint can serve the channel-rail's
|
|
169
|
+
* grouped/workspace-scoped views without shipping every row to the
|
|
170
|
+
* client. Filters compose with AND; passing `undefined` for either is
|
|
171
|
+
* a no-op (the existing all-channels behavior).
|
|
172
|
+
*
|
|
173
|
+
* @param ownerUserId - The user_id whose channels to return
|
|
174
|
+
* @param options - Listing options
|
|
175
|
+
* @param options.includeArchived - When false (default), filter out archived rows
|
|
176
|
+
* @param options.limit - Max rows to return (capped at 100)
|
|
177
|
+
* @param options.type - Phase C: when set, filter rows to this channel type
|
|
178
|
+
* (`'dm'` or `'channel'`). Useful for the channel-rail's "DMs only" /
|
|
179
|
+
* "Channels only" views.
|
|
180
|
+
* @param options.teamId - Phase C: when set, filter rows whose `team_id`
|
|
181
|
+
* matches. Used by the workspace-scoped Channels group; empty / null
|
|
182
|
+
* `team_id` rows are excluded by this filter on purpose (DMs and
|
|
183
|
+
* workspace-less rows belong to no team).
|
|
184
|
+
* @returns Channel rows sorted by `last_message_at DESC, created_at DESC`
|
|
185
|
+
*/
|
|
186
|
+
listByOwner(ownerUserId, options) {
|
|
187
|
+
const includeArchived = options?.includeArchived ?? false;
|
|
188
|
+
const limit = Math.min(options?.limit ?? 50, 100);
|
|
189
|
+
// Build WHERE clauses + bound params positionally so the filter set
|
|
190
|
+
// composes cleanly. Each branch is independent — no implicit coupling.
|
|
191
|
+
const where = ['owner_user_id = ?'];
|
|
192
|
+
const params = [ownerUserId];
|
|
193
|
+
if (!includeArchived) {
|
|
194
|
+
where.push('archived_at IS NULL');
|
|
195
|
+
}
|
|
196
|
+
if (options?.type !== undefined) {
|
|
197
|
+
where.push('type = ?');
|
|
198
|
+
params.push(options.type);
|
|
199
|
+
}
|
|
200
|
+
if (options?.teamId !== undefined) {
|
|
201
|
+
where.push('team_id = ?');
|
|
202
|
+
params.push(options.teamId);
|
|
203
|
+
}
|
|
204
|
+
const sql = `
|
|
205
|
+
SELECT ${CHANNEL_SELECT_COLUMNS}
|
|
206
|
+
FROM chat_channels
|
|
207
|
+
WHERE ${where.join(' AND ')}
|
|
208
|
+
ORDER BY COALESCE(last_message_at, created_at) DESC
|
|
209
|
+
LIMIT ?
|
|
210
|
+
`;
|
|
211
|
+
params.push(limit);
|
|
212
|
+
return this.db.prepare(sql).all(...params);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* List active "bridged" channels — inbound conversations from external
|
|
216
|
+
* surfaces (currently Slack), persisted by the bridge under the synthetic
|
|
217
|
+
* `'system'` owner and keyed by a `slack-…` id. These belong to no single
|
|
218
|
+
* Crewly user, so they are surfaced in the consolidated chat list across
|
|
219
|
+
* the (single-user OSS) account rather than via `listByOwner`.
|
|
220
|
+
*
|
|
221
|
+
* @param options.includeArchived - Include archived rows (default false).
|
|
222
|
+
* @param options.limit - Max rows (capped at 200).
|
|
223
|
+
* @returns Bridged channel rows, most-recent first.
|
|
224
|
+
*/
|
|
225
|
+
listBridged(options) {
|
|
226
|
+
const includeArchived = options?.includeArchived ?? false;
|
|
227
|
+
const limit = Math.min(options?.limit ?? 100, 200);
|
|
228
|
+
const where = ["id LIKE 'slack-%'"];
|
|
229
|
+
if (!includeArchived)
|
|
230
|
+
where.push('archived_at IS NULL');
|
|
231
|
+
const sql = `
|
|
232
|
+
SELECT ${CHANNEL_SELECT_COLUMNS}
|
|
233
|
+
FROM chat_channels
|
|
234
|
+
WHERE ${where.join(' AND ')}
|
|
235
|
+
ORDER BY COALESCE(last_message_at, created_at) DESC
|
|
236
|
+
LIMIT ?
|
|
237
|
+
`;
|
|
238
|
+
return this.db.prepare(sql).all(limit);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Mark a channel as archived (soft-delete). No-op if already archived.
|
|
242
|
+
*
|
|
243
|
+
* @param id - The channel id
|
|
244
|
+
* @param nowMs - Optional override for the archive timestamp
|
|
245
|
+
* @returns True if a row was updated (was active), false otherwise
|
|
246
|
+
*/
|
|
247
|
+
archive(id, nowMs) {
|
|
248
|
+
const result = this.db
|
|
249
|
+
.prepare(`UPDATE chat_channels
|
|
250
|
+
SET archived_at = ?
|
|
251
|
+
WHERE id = ? AND archived_at IS NULL`)
|
|
252
|
+
.run(nowMs ?? Date.now(), id);
|
|
253
|
+
return result.changes > 0;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Phase 6.0b — clear an archived flag. Inverse of {@link archive};
|
|
257
|
+
* required by the legacy `unarchiveConversation` controller route.
|
|
258
|
+
*
|
|
259
|
+
* @param id - The channel id
|
|
260
|
+
* @returns True if a row was updated (was archived), false otherwise
|
|
261
|
+
*/
|
|
262
|
+
unarchive(id) {
|
|
263
|
+
const result = this.db
|
|
264
|
+
.prepare(`UPDATE chat_channels
|
|
265
|
+
SET archived_at = NULL
|
|
266
|
+
WHERE id = ? AND archived_at IS NOT NULL`)
|
|
267
|
+
.run(id);
|
|
268
|
+
return result.changes > 0;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Phase 6.0b — rename a channel. Used by the legacy
|
|
272
|
+
* `updateConversationTitle` controller route.
|
|
273
|
+
*
|
|
274
|
+
* @param id - The channel id
|
|
275
|
+
* @param name - The new name
|
|
276
|
+
* @returns True if a row was updated, false if the channel doesn't exist
|
|
277
|
+
*/
|
|
278
|
+
rename(id, name) {
|
|
279
|
+
const result = this.db
|
|
280
|
+
.prepare(`UPDATE chat_channels SET name = ? WHERE id = ?`)
|
|
281
|
+
.run(name, id);
|
|
282
|
+
return result.changes > 0;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Phase 6.0b — hard-delete a channel and all its messages. Note: this
|
|
286
|
+
* is distinct from {@link archive} (soft delete via archived_at).
|
|
287
|
+
* Used by the legacy `deleteConversation` controller route.
|
|
288
|
+
*
|
|
289
|
+
* FK ON DELETE CASCADE on `chat_messages.channel_id` cleans up
|
|
290
|
+
* messages atomically with the channel row.
|
|
291
|
+
*
|
|
292
|
+
* @param id - The channel id to remove
|
|
293
|
+
* @returns True if a row was removed, false if no such channel
|
|
294
|
+
*/
|
|
295
|
+
hardDelete(id) {
|
|
296
|
+
const result = this.db
|
|
297
|
+
.prepare(`DELETE FROM chat_channels WHERE id = ?`)
|
|
298
|
+
.run(id);
|
|
299
|
+
return result.changes > 0;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Bump `last_message_at` to a provided timestamp if it is greater than
|
|
303
|
+
* the current value. Safe to call many times.
|
|
304
|
+
*
|
|
305
|
+
* @param id - The channel id
|
|
306
|
+
* @param timestampMs - The timestamp to record
|
|
307
|
+
*/
|
|
308
|
+
touchLastMessageAt(id, timestampMs) {
|
|
309
|
+
this.db
|
|
310
|
+
.prepare(`UPDATE chat_channels
|
|
311
|
+
SET last_message_at = ?
|
|
312
|
+
WHERE id = ?
|
|
313
|
+
AND (last_message_at IS NULL OR last_message_at < ?)`)
|
|
314
|
+
.run(timestampMs, id, timestampMs);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
//# sourceMappingURL=channel.store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel.store.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/chat-v2/sqlite/channel.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat V2 SQLite bootstrap.
|
|
3
|
+
*
|
|
4
|
+
* Opens (or creates) the chat database at the configured path, applies
|
|
5
|
+
* the Phase 1 migration idempotently, and returns a ready-to-use
|
|
6
|
+
* `better-sqlite3` Database instance.
|
|
7
|
+
*
|
|
8
|
+
* Schema matches tech-spec §3.2. All tables use `INTEGER ms-since-epoch (UTC)`
|
|
9
|
+
* for timestamps and raw UUID strings for IDs.
|
|
10
|
+
*
|
|
11
|
+
* @module services/chat-v2/sqlite/chat-db
|
|
12
|
+
*/
|
|
13
|
+
import { type ComponentLogger } from '../../core/logger.service.js';
|
|
14
|
+
/**
|
|
15
|
+
* F-CYCLE7-1: install a test-only stub for the better-sqlite3 loader.
|
|
16
|
+
*
|
|
17
|
+
* Pass a function to override; pass `null` to restore the real loader
|
|
18
|
+
* AND clear the cached `better-sqlite3` reference so the next call
|
|
19
|
+
* exercises the stub. Tests MUST call this with `null` in `afterEach`
|
|
20
|
+
* to avoid leaking state across cases.
|
|
21
|
+
*
|
|
22
|
+
* @param fn - Stub `require`-like function or `null` to restore real loader
|
|
23
|
+
*/
|
|
24
|
+
export declare function setBetterSqlite3LoaderForTesting(fn: ((name: string) => unknown) | null): void;
|
|
25
|
+
/** Type alias for a `better-sqlite3` Database instance. */
|
|
26
|
+
export type ChatDatabase = import('better-sqlite3').Database;
|
|
27
|
+
/**
|
|
28
|
+
* Idempotent base DDL — Phase 1 schema with Phase A column additions baked in.
|
|
29
|
+
*
|
|
30
|
+
* Safe to run every boot.
|
|
31
|
+
*
|
|
32
|
+
* Differences vs. the literal spec §3.2:
|
|
33
|
+
* - Added `IF NOT EXISTS` on every CREATE so reboots don't fail.
|
|
34
|
+
* - PRAGMAs set outside the transaction (SQLite disallows PRAGMA in txn).
|
|
35
|
+
*
|
|
36
|
+
* Phase A additions (SEALED design 2026-04-25 §3.1 + §3.2) are reflected
|
|
37
|
+
* directly in the CREATE TABLE bodies so a fresh-install database lands on
|
|
38
|
+
* the new schema in one shot. Pre-existing databases (created under the
|
|
39
|
+
* Phase 1 schema) get the same columns added by `applyPhaseAColumnUpgrades`
|
|
40
|
+
* below, which uses `ALTER TABLE ADD COLUMN` guarded by `PRAGMA table_info`.
|
|
41
|
+
*/
|
|
42
|
+
export declare const CHAT_V2_MIGRATION_SQL = "\nCREATE TABLE IF NOT EXISTS chat_channels (\n id TEXT PRIMARY KEY,\n agent_session TEXT NOT NULL,\n owner_user_id TEXT NOT NULL,\n name TEXT NOT NULL,\n purpose TEXT,\n created_at INTEGER NOT NULL,\n archived_at INTEGER,\n last_message_at INTEGER,\n -- Phase A (SEALED \u00A73.1): channel-type discriminator. 'dm' preserves the\n -- Phase 1 1:1 user\u2194agent contract; 'channel' is the Slack-like team\n -- surface. 'huddle' (Phase B-2, 2026-05-17) is ad-hoc multi-agent\n -- groups with explicit membership in chat_channel_members.\n -- Existing rows backfill to 'dm' via applyPhaseAColumnUpgrades.\n type TEXT NOT NULL DEFAULT 'dm' CHECK(type IN ('dm','channel','huddle')),\n -- Phase A (SEALED \u00A73.1): team workspace link. Required at the service\n -- layer when type='channel'; null for type='dm'.\n team_id TEXT,\n -- Phase A (SEALED \u00A73.1): optional project link for project-scoped channels.\n project_id TEXT,\n -- Phase A (SEALED \u00A73.1): for type='dm', the resolved member-ID being DM'd\n -- (distinct from agent_session which is the wire-level binding key).\n target_member_id TEXT\n);\n\nCREATE INDEX IF NOT EXISTS ix_channels_owner\n ON chat_channels(owner_user_id, archived_at);\n\n-- Phase A indexes that reference the new columns (type, team_id, thread_id)\n-- live in CHAT_V2_PHASE_A_INDEX_SQL below \u2014 they must be created AFTER\n-- applyPhaseAColumnUpgrades runs so the columns exist on legacy DBs.\n\nCREATE TABLE IF NOT EXISTS chat_messages (\n id TEXT PRIMARY KEY,\n channel_id TEXT NOT NULL REFERENCES chat_channels(id) ON DELETE CASCADE,\n seq INTEGER NOT NULL,\n sender_type TEXT NOT NULL CHECK(sender_type IN ('user','agent','system')),\n sender_id TEXT NOT NULL,\n content TEXT NOT NULL,\n content_type TEXT NOT NULL CHECK(content_type IN ('text','markdown','image_ref','system_note'))\n DEFAULT 'markdown',\n created_at INTEGER NOT NULL,\n metadata TEXT,\n -- Phase A (SEALED \u00A73.2): JSON-encoded array of mention IDs (member or\n -- team) referenced inline in the content field. Stored as a JSON string;\n -- service layer treats null as []. Bounded at insert time; see types.ts.\n mentions TEXT,\n -- Phase A (SEALED \u00A73.2): optional Slack-style thread root. When set,\n -- this message is a reply within the thread rooted at thread_id.\n thread_id TEXT\n);\n\nCREATE UNIQUE INDEX IF NOT EXISTS uq_messages_channel_seq\n ON chat_messages(channel_id, seq);\n\nCREATE INDEX IF NOT EXISTS ix_messages_channel_created\n ON chat_messages(channel_id, created_at DESC);\n\n-- Phase 1: partial unique index for clientMessageId-based idempotency (spec \u00A74.4)\nCREATE UNIQUE INDEX IF NOT EXISTS uq_messages_client_id\n ON chat_messages(channel_id, json_extract(metadata, '$.clientMessageId'))\n WHERE json_extract(metadata, '$.clientMessageId') IS NOT NULL;\n\nCREATE TABLE IF NOT EXISTS chat_attachments (\n id TEXT PRIMARY KEY,\n message_id TEXT NOT NULL REFERENCES chat_messages(id) ON DELETE CASCADE,\n kind TEXT NOT NULL CHECK(kind IN ('image')),\n mime_type TEXT NOT NULL,\n size_bytes INTEGER NOT NULL,\n local_path TEXT NOT NULL,\n original_name TEXT,\n created_at INTEGER NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS ix_attachments_message\n ON chat_attachments(message_id);\n\nCREATE TABLE IF NOT EXISTS chat_offline_queue (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n channel_id TEXT NOT NULL,\n agent_session TEXT NOT NULL,\n message_id TEXT NOT NULL REFERENCES chat_messages(id) ON DELETE CASCADE,\n queued_at INTEGER NOT NULL,\n delivered_at INTEGER,\n attempts INTEGER NOT NULL DEFAULT 0\n);\n\nCREATE INDEX IF NOT EXISTS ix_queue_pending\n ON chat_offline_queue(agent_session, delivered_at)\n WHERE delivered_at IS NULL;\n\n-- Phase B-2 (2026-05-17): huddle membership roster. One row per\n-- (huddle_channel, agent_session_name). For type='huddle' channels\n-- only; 'dm' and 'channel' rows have no entries here.\n--\n-- Dispatcher uses this list to fan a user message out to every\n-- huddle member; the @-mention subset gets a \"must respond\" prompt\n-- variant while the rest get an \"optional\" one.\nCREATE TABLE IF NOT EXISTS chat_channel_members (\n channel_id TEXT NOT NULL REFERENCES chat_channels(id) ON DELETE CASCADE,\n member_session TEXT NOT NULL,\n joined_at INTEGER NOT NULL,\n PRIMARY KEY (channel_id, member_session)\n);\n\nCREATE INDEX IF NOT EXISTS ix_channel_members_session\n ON chat_channel_members(member_session);\n";
|
|
43
|
+
/**
|
|
44
|
+
* Phase A indexes that reference Phase A columns. Must run AFTER
|
|
45
|
+
* `applyPhaseAColumnUpgrades` adds those columns on pre-Phase-A databases —
|
|
46
|
+
* otherwise the partial-index `WHERE` clauses fail with "no such column".
|
|
47
|
+
*
|
|
48
|
+
* On a fresh database this runs after `CHAT_V2_MIGRATION_SQL` has already
|
|
49
|
+
* baked the columns into the CREATE TABLE bodies, so each step is a
|
|
50
|
+
* harmless no-op (`CREATE INDEX IF NOT EXISTS`).
|
|
51
|
+
*/
|
|
52
|
+
export declare const CHAT_V2_PHASE_A_INDEX_SQL = "\n-- Phase A (SEALED \u00A73.1) used to define uq_channel_agent_dm_active\n-- enforcing 1:1 agent<->DM-channel binding. That constraint was dropped\n-- per the unified-chat-message-store spec (2026-05-14 \u00A7\"Phase 2 design\n-- discovery\" \u2192 Option B): legacy ChatService models \"one conversation\n-- per Slack thread or web chat session\", so an agent participates in\n-- N concurrent DM-style channels. Dropping the index removes the\n-- agent_already_bound (409) failure that would otherwise block\n-- migration of the legacy multi-thread model. Existing databases get\n-- the drop applied in applyPhaseAColumnUpgrades.\n\n-- Phase A (SEALED \u00A73.1): scoped lookup for \"all channels in team T\" and\n-- \"project P channels\". Indexes by team first because team-scoped reads\n-- are the dominant Phase B+ access pattern.\nCREATE INDEX IF NOT EXISTS ix_channels_team\n ON chat_channels(team_id, archived_at)\n WHERE team_id IS NOT NULL;\n\n-- Phase A (SEALED \u00A73.2): thread-pane lookup. Filtered to non-null so the\n-- (smaller) index only covers actual threaded replies.\nCREATE INDEX IF NOT EXISTS ix_messages_thread\n ON chat_messages(thread_id, seq)\n WHERE thread_id IS NOT NULL;\n";
|
|
53
|
+
/**
|
|
54
|
+
* Bring a pre-existing chat database up to Phase A's schema by adding
|
|
55
|
+
* any missing columns and the new indexes / dropping the superseded ones.
|
|
56
|
+
*
|
|
57
|
+
* Safe to run on a fresh database too — every step is no-op idempotent.
|
|
58
|
+
* Specifically:
|
|
59
|
+
* - `ensureColumn` is a no-op when the column is already present (the
|
|
60
|
+
* fresh-install case, since the columns are baked into the CREATE
|
|
61
|
+
* TABLE in `CHAT_V2_MIGRATION_SQL`).
|
|
62
|
+
* - `DROP INDEX IF EXISTS uq_channel_agent_active` removes the legacy
|
|
63
|
+
* unconditional partial index so the new dm-scoped one isn't shadowed.
|
|
64
|
+
* The DROP is metadata-only — no row data is affected.
|
|
65
|
+
*
|
|
66
|
+
* Exported (separately from `openChatDatabase`) so tests can simulate the
|
|
67
|
+
* pre-Phase-A → Phase A migration path explicitly.
|
|
68
|
+
*
|
|
69
|
+
* @param db - The chat database handle
|
|
70
|
+
* @returns A small report describing what changed (for logging)
|
|
71
|
+
*/
|
|
72
|
+
export declare function applyPhaseAColumnUpgrades(db: ChatDatabase): {
|
|
73
|
+
channelsAdded: string[];
|
|
74
|
+
messagesAdded: string[];
|
|
75
|
+
legacyIndexDropped: boolean;
|
|
76
|
+
phaseADmIndexDropped: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Phase B-2: whether `chat_channels` was rebuilt to drop the legacy
|
|
79
|
+
* `CHECK(type IN ('dm','channel'))` constraint and allow `'huddle'`.
|
|
80
|
+
* `false` on fresh installs (the new CHECK is already in the
|
|
81
|
+
* baseline DDL) and on subsequent boots after the first rebuild.
|
|
82
|
+
*/
|
|
83
|
+
channelsCheckRebuilt: boolean;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Options accepted by `openChatDatabase`.
|
|
87
|
+
*/
|
|
88
|
+
export interface OpenChatDatabaseOptions {
|
|
89
|
+
/** Absolute path to the SQLite file. Parent dirs will be created. */
|
|
90
|
+
dbPath: string;
|
|
91
|
+
/**
|
|
92
|
+
* When true, uses SQLite `:memory:` regardless of `dbPath`.
|
|
93
|
+
* Intended for unit tests. Defaults to false.
|
|
94
|
+
*/
|
|
95
|
+
inMemory?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* When true, suppress the integrity-check warning on open. Tests use this
|
|
98
|
+
* to avoid noisy logs. Defaults to false.
|
|
99
|
+
*/
|
|
100
|
+
skipIntegrityCheck?: boolean;
|
|
101
|
+
/** Optional logger override — defaults to LoggerService. */
|
|
102
|
+
logger?: ComponentLogger;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Open (or create) the chat database, apply PRAGMAs, run the Phase 1
|
|
106
|
+
* migration idempotently, and run a boot-time integrity check.
|
|
107
|
+
*
|
|
108
|
+
* @param options - Opener options
|
|
109
|
+
* @returns A ready-to-use better-sqlite3 Database handle
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```ts
|
|
113
|
+
* const db = openChatDatabase({ dbPath: '/tmp/chat.db' });
|
|
114
|
+
* // ... use db ...
|
|
115
|
+
* db.close();
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
export declare function openChatDatabase(options: OpenChatDatabaseOptions): ChatDatabase;
|
|
119
|
+
//# sourceMappingURL=chat-db.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-db.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/chat-v2/sqlite/chat-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAsCnF;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,IAAI,GACrC,IAAI,CAGN;AAoCD,2DAA2D;AAC3D,MAAM,MAAM,YAAY,GAAG,OAAO,gBAAgB,EAAE,QAAQ,CAAC;AAM7D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,0lJA4GjC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,8rCAuBrC,CAAC;AA2DF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,YAAY,GAAG;IAC3D,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CA0FA;AAsHD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,YAAY,CAwD/E"}
|