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,383 @@
|
|
|
1
|
+
import { LoggerService } from '../../core/logger.service.js';
|
|
2
|
+
import { estimateTokens, } from './prompt-module.interface.js';
|
|
3
|
+
import { IdentityModule } from './identity.module.js';
|
|
4
|
+
import { SoulModule } from './soul.module.js';
|
|
5
|
+
import { ExpertProfileModule } from './expert-profile.module.js';
|
|
6
|
+
import { SkillsReferenceModule } from './skills-reference.module.js';
|
|
7
|
+
import { MemoryReferenceModule } from './memory-reference.module.js';
|
|
8
|
+
import { TeamReferenceModule } from './team-reference.module.js';
|
|
9
|
+
import { ProjectReferenceModule } from './project-reference.module.js';
|
|
10
|
+
import { UserProfileReferenceModule } from './user-profile-reference.module.js';
|
|
11
|
+
import { LearningReferenceModule } from './learning-reference.module.js';
|
|
12
|
+
import { MissionContextModule } from './mission-context.module.js';
|
|
13
|
+
import { SOPNormDistinctionModule } from './sop-norm-distinction.module.js';
|
|
14
|
+
import { CommunicationModule } from './communication.module.js';
|
|
15
|
+
import { RecoveryModule } from './recovery.module.js';
|
|
16
|
+
import { LifecycleModule } from './lifecycle.module.js';
|
|
17
|
+
import { RoleBoundaryModule } from './role-boundary.module.js';
|
|
18
|
+
import { DecisionRightsModule } from './decision-rights.module.js';
|
|
19
|
+
import { RequestContractModule } from './request-contract.module.js';
|
|
20
|
+
import { DefaultExecutionLoopModule } from './default-execution-loop.module.js';
|
|
21
|
+
import { LazyAntiPatternsModule } from './lazy-anti-patterns.module.js';
|
|
22
|
+
import { CapabilityOverlayModule } from './capability-overlay.module.js';
|
|
23
|
+
import { DomainSOPModule } from './domain-sop.module.js';
|
|
24
|
+
import { RiskPolicyModule } from './risk-policy.module.js';
|
|
25
|
+
import { TeamNormsModule } from './team-norms.module.js';
|
|
26
|
+
import { WorkingMemoryModule } from './working-memory.module.js';
|
|
27
|
+
/**
|
|
28
|
+
* Default total token budget for all prompt modules combined.
|
|
29
|
+
* Increased from 25000 to 28000 for Architecture Upgrade modules.
|
|
30
|
+
* Role Boundary (~800 tokens, non-compactable) is the only guaranteed addition.
|
|
31
|
+
* SOP/Risk/Capability are conditional and compactable.
|
|
32
|
+
*/
|
|
33
|
+
const DEFAULT_TOKEN_BUDGET = 28000;
|
|
34
|
+
/**
|
|
35
|
+
* Separator between prompt modules in assembled output.
|
|
36
|
+
*/
|
|
37
|
+
const MODULE_SEPARATOR = '\n\n---\n\n';
|
|
38
|
+
/**
|
|
39
|
+
* When trimming a module to fit budget, reduce to this fraction of maxTokens first.
|
|
40
|
+
*/
|
|
41
|
+
const TRIM_FRACTION = 0.5;
|
|
42
|
+
/**
|
|
43
|
+
* Module names that are included in eval mode.
|
|
44
|
+
* All other modules are skipped to reduce prompt size and cost during eval runs.
|
|
45
|
+
*/
|
|
46
|
+
const EVAL_MODE_CORE_MODULES = new Set([
|
|
47
|
+
'identity',
|
|
48
|
+
'soul',
|
|
49
|
+
'role-boundary',
|
|
50
|
+
'recovery',
|
|
51
|
+
'decision-rights',
|
|
52
|
+
'lazy-anti-patterns',
|
|
53
|
+
]);
|
|
54
|
+
/**
|
|
55
|
+
* Service that orchestrates the assembly of prompt modules into a complete agent prompt.
|
|
56
|
+
*
|
|
57
|
+
* Responsibilities:
|
|
58
|
+
* - Registers and manages prompt modules
|
|
59
|
+
* - Assembles modules in priority order
|
|
60
|
+
* - Enforces per-module and total token budgets with 2-stage truncation:
|
|
61
|
+
* 1. First pass: build all Trusted Zone (non-compactable) + Flexible Zone modules
|
|
62
|
+
* 2. If over budget: trim lowest-priority compactable modules to 50% of maxTokens
|
|
63
|
+
* 3. If still over budget: remove lowest-priority compactable modules entirely
|
|
64
|
+
* - Returns AssemblyReport with token breakdown and truncation details
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const assembler = new PromptAssemblyService();
|
|
69
|
+
* const { prompt, report } = await assembler.assemble({
|
|
70
|
+
* sessionName: 'crewly-dev-001',
|
|
71
|
+
* memberId: 'uuid-123',
|
|
72
|
+
* role: 'developer',
|
|
73
|
+
* projectPath: '/path/to/project',
|
|
74
|
+
* agentSkillsPath: '/path/to/skills/agent',
|
|
75
|
+
* tlSkillsPath: '/path/to/skills/team-leader',
|
|
76
|
+
* projectRoot: '/path/to/project',
|
|
77
|
+
* });
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export class PromptAssemblyService {
|
|
81
|
+
logger;
|
|
82
|
+
modules = [];
|
|
83
|
+
totalTokenBudget;
|
|
84
|
+
constructor(tokenBudget = DEFAULT_TOKEN_BUDGET) {
|
|
85
|
+
this.logger = LoggerService.getInstance().createComponentLogger('PromptAssemblyService');
|
|
86
|
+
this.totalTokenBudget = tokenBudget;
|
|
87
|
+
this.registerDefaultModules();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Register the default set of prompt modules.
|
|
91
|
+
* Called automatically in constructor. Additional modules
|
|
92
|
+
* can be added via addModule().
|
|
93
|
+
*/
|
|
94
|
+
registerDefaultModules() {
|
|
95
|
+
this.modules = [
|
|
96
|
+
new IdentityModule(),
|
|
97
|
+
new SoulModule(),
|
|
98
|
+
new ExpertProfileModule(),
|
|
99
|
+
new RecoveryModule(),
|
|
100
|
+
new RoleBoundaryModule(),
|
|
101
|
+
// Decision Rights + Escalation Chain (P0-4) sits at priority 3.5,
|
|
102
|
+
// inside the authority cluster: identity → soul → recovery →
|
|
103
|
+
// role-boundary → decision-rights. Authority text is non-compactable.
|
|
104
|
+
new DecisionRightsModule(),
|
|
105
|
+
// Request Contract (P0-3) sits at priority 3.6, immediately after
|
|
106
|
+
// DecisionRights and before MemoryReference. Authority cluster
|
|
107
|
+
// continues: identity → soul → recovery → role-boundary →
|
|
108
|
+
// decision-rights → request-contract → memory-reference.
|
|
109
|
+
// Role-shaped: orchestrator gets the seven-field table, TLs get
|
|
110
|
+
// Brief Reception Protocol, workers get the G+O+E reminder.
|
|
111
|
+
new RequestContractModule(),
|
|
112
|
+
// Lazy Behavior Anti-Patterns (P1 Fix 8) sits at priority 3.7 —
|
|
113
|
+
// the trailing edge of the authority cluster. Seven verbatim
|
|
114
|
+
// failure-mode bullets the agent must self-check against. Static
|
|
115
|
+
// universal text, byte-identical across roles, non-compactable.
|
|
116
|
+
new LazyAntiPatternsModule(),
|
|
117
|
+
// Default Execution Loop (P1 Fix 6) sits at priority 3.8, the
|
|
118
|
+
// final authority-cluster entry before data context begins.
|
|
119
|
+
// Authority cluster reads: identity → soul → recovery → role-
|
|
120
|
+
// boundary → decision-rights → request-contract → lazy-anti-
|
|
121
|
+
// patterns → default-execution-loop → memory-reference. Order is
|
|
122
|
+
// intentional: contract (what we owe) → anti-patterns (what to
|
|
123
|
+
// avoid) → execution loop (how to actively operate). The 8-step
|
|
124
|
+
// loop replaces the passive "Ready for tasks — wait for me to
|
|
125
|
+
// send you work" closer that was duplicated across 17 role
|
|
126
|
+
// prompts. Behavioral mandate is non-compactable.
|
|
127
|
+
new DefaultExecutionLoopModule(),
|
|
128
|
+
new MemoryReferenceModule(),
|
|
129
|
+
new SkillsReferenceModule(),
|
|
130
|
+
new TeamReferenceModule(),
|
|
131
|
+
// Mission/OKR card — sits right after team references so the
|
|
132
|
+
// agent first sees who they work with, then the mission they
|
|
133
|
+
// are serving. Live wire-in for fix #415; replaces the dead
|
|
134
|
+
// PromptGeneratorService hook.
|
|
135
|
+
new MissionContextModule(),
|
|
136
|
+
new CapabilityOverlayModule(),
|
|
137
|
+
// Mission Card (priority 7) is registered by Leo's M1 dead-code-path
|
|
138
|
+
// rewire — it lands here once that PR merges. Wake card (priority 8)
|
|
139
|
+
// must follow the mission card so the agent reads short-term
|
|
140
|
+
// "why-now" runtime context after the long-term mission frame.
|
|
141
|
+
new WorkingMemoryModule(),
|
|
142
|
+
new ProjectReferenceModule(),
|
|
143
|
+
new CommunicationModule(),
|
|
144
|
+
new DomainSOPModule(),
|
|
145
|
+
new TeamNormsModule(),
|
|
146
|
+
new UserProfileReferenceModule(),
|
|
147
|
+
new RiskPolicyModule(),
|
|
148
|
+
new LearningReferenceModule(),
|
|
149
|
+
new SOPNormDistinctionModule(),
|
|
150
|
+
new LifecycleModule(),
|
|
151
|
+
];
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Add a custom prompt module to the assembly pipeline.
|
|
155
|
+
*
|
|
156
|
+
* @param module - Module to add
|
|
157
|
+
*/
|
|
158
|
+
addModule(module) {
|
|
159
|
+
this.modules.push(module);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Remove a module by name.
|
|
163
|
+
*
|
|
164
|
+
* @param name - Name of the module to remove
|
|
165
|
+
*/
|
|
166
|
+
removeModule(name) {
|
|
167
|
+
this.modules = this.modules.filter((m) => m.name !== name);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Get all registered modules (for inspection/testing).
|
|
171
|
+
*
|
|
172
|
+
* @returns Array of registered prompt modules
|
|
173
|
+
*/
|
|
174
|
+
getModules() {
|
|
175
|
+
return [...this.modules];
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Get or set the total token budget.
|
|
179
|
+
*
|
|
180
|
+
* @param budget - Optional new budget to set
|
|
181
|
+
* @returns Current token budget
|
|
182
|
+
*/
|
|
183
|
+
tokenBudget(budget) {
|
|
184
|
+
if (budget !== undefined) {
|
|
185
|
+
this.totalTokenBudget = budget;
|
|
186
|
+
}
|
|
187
|
+
return this.totalTokenBudget;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Assemble all applicable prompt modules into a single prompt string.
|
|
191
|
+
*
|
|
192
|
+
* Uses 2-stage truncation for compactable modules when over budget:
|
|
193
|
+
* 1. Trim lowest-priority compactable modules to 50% of their content
|
|
194
|
+
* 2. Remove lowest-priority compactable modules entirely
|
|
195
|
+
*
|
|
196
|
+
* Trusted Zone (non-compactable) modules are never truncated or removed.
|
|
197
|
+
*
|
|
198
|
+
* @param config - Configuration with all context needed by modules
|
|
199
|
+
* @returns Object with assembled prompt string and budget report
|
|
200
|
+
*/
|
|
201
|
+
async assemble(config) {
|
|
202
|
+
const built = [];
|
|
203
|
+
const truncated = [];
|
|
204
|
+
// Sort modules by priority (ascending — lower number = higher priority)
|
|
205
|
+
const sorted = [...this.modules].sort((a, b) => a.priority - b.priority);
|
|
206
|
+
// Phase 1: Build all applicable modules
|
|
207
|
+
for (const module of sorted) {
|
|
208
|
+
// In eval mode, skip non-core modules to reduce prompt size and cost
|
|
209
|
+
if (config.evalMode && !EVAL_MODE_CORE_MODULES.has(module.name)) {
|
|
210
|
+
this.logger.debug(`Module '${module.name}' skipped (evalMode)`, {
|
|
211
|
+
sessionName: config.sessionName,
|
|
212
|
+
});
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
215
|
+
if (!module.shouldInclude(config)) {
|
|
216
|
+
this.logger.debug(`Module '${module.name}' skipped (shouldInclude=false)`, {
|
|
217
|
+
sessionName: config.sessionName,
|
|
218
|
+
});
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
try {
|
|
222
|
+
const content = await module.build(config);
|
|
223
|
+
if (content && content.trim()) {
|
|
224
|
+
const tokens = estimateTokens(content);
|
|
225
|
+
built.push({
|
|
226
|
+
name: module.name,
|
|
227
|
+
content: content.trim(),
|
|
228
|
+
estimatedTokens: tokens,
|
|
229
|
+
compactable: module.compactable,
|
|
230
|
+
priority: module.priority,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
this.logger.error(`Module '${module.name}' failed to build`, {
|
|
236
|
+
sessionName: config.sessionName,
|
|
237
|
+
error: error instanceof Error ? error.message : String(error),
|
|
238
|
+
});
|
|
239
|
+
if (!module.compactable) {
|
|
240
|
+
throw error;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// Phase 2: Enforce token budget via 2-stage truncation
|
|
245
|
+
let totalTokens = built.reduce((sum, r) => sum + r.estimatedTokens, 0);
|
|
246
|
+
if (totalTokens > this.totalTokenBudget) {
|
|
247
|
+
// Get compactable modules sorted by priority descending (lowest priority first to trim)
|
|
248
|
+
const compactableIndices = built
|
|
249
|
+
.map((r, i) => ({ ...r, index: i }))
|
|
250
|
+
.filter((r) => r.compactable)
|
|
251
|
+
.sort((a, b) => b.priority - a.priority);
|
|
252
|
+
// Stage 1: Trim to 50% of content (lowest priority first)
|
|
253
|
+
for (const item of compactableIndices) {
|
|
254
|
+
if (totalTokens <= this.totalTokenBudget)
|
|
255
|
+
break;
|
|
256
|
+
const original = built[item.index];
|
|
257
|
+
const trimmedContent = this.trimContent(original.content, TRIM_FRACTION);
|
|
258
|
+
const trimmedTokens = estimateTokens(trimmedContent);
|
|
259
|
+
const savings = original.estimatedTokens - trimmedTokens;
|
|
260
|
+
if (savings > 0) {
|
|
261
|
+
totalTokens -= savings;
|
|
262
|
+
built[item.index] = {
|
|
263
|
+
...original,
|
|
264
|
+
content: trimmedContent,
|
|
265
|
+
estimatedTokens: trimmedTokens,
|
|
266
|
+
};
|
|
267
|
+
truncated.push({
|
|
268
|
+
name: original.name,
|
|
269
|
+
originalTokens: original.estimatedTokens,
|
|
270
|
+
finalTokens: trimmedTokens,
|
|
271
|
+
action: 'trimmed',
|
|
272
|
+
});
|
|
273
|
+
this.logger.info(`Module '${original.name}' trimmed to 50%`, {
|
|
274
|
+
sessionName: config.sessionName,
|
|
275
|
+
originalTokens: original.estimatedTokens,
|
|
276
|
+
trimmedTokens,
|
|
277
|
+
totalTokens,
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
// Stage 2: Remove entirely (lowest priority first)
|
|
282
|
+
if (totalTokens > this.totalTokenBudget) {
|
|
283
|
+
// Re-get compactable indices (some may have been trimmed)
|
|
284
|
+
const removable = built
|
|
285
|
+
.map((r, i) => ({ ...r, index: i }))
|
|
286
|
+
.filter((r) => r.compactable)
|
|
287
|
+
.sort((a, b) => b.priority - a.priority);
|
|
288
|
+
for (const item of removable) {
|
|
289
|
+
if (totalTokens <= this.totalTokenBudget)
|
|
290
|
+
break;
|
|
291
|
+
const original = built[item.index];
|
|
292
|
+
totalTokens -= original.estimatedTokens;
|
|
293
|
+
// Check if already in truncated list (was trimmed in stage 1)
|
|
294
|
+
const existingTruncIdx = truncated.findIndex((t) => t.name === original.name);
|
|
295
|
+
if (existingTruncIdx >= 0) {
|
|
296
|
+
truncated[existingTruncIdx].finalTokens = 0;
|
|
297
|
+
truncated[existingTruncIdx].action = 'removed';
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
truncated.push({
|
|
301
|
+
name: original.name,
|
|
302
|
+
originalTokens: original.estimatedTokens,
|
|
303
|
+
finalTokens: 0,
|
|
304
|
+
action: 'removed',
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
// Mark for removal by zeroing content
|
|
308
|
+
built[item.index] = { ...original, content: '', estimatedTokens: 0 };
|
|
309
|
+
this.logger.info(`Module '${original.name}' removed (budget)`, {
|
|
310
|
+
sessionName: config.sessionName,
|
|
311
|
+
freedTokens: original.estimatedTokens,
|
|
312
|
+
totalTokens,
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// Filter out removed modules and build final output
|
|
318
|
+
const finalResults = built.filter((r) => r.content.length > 0);
|
|
319
|
+
const finalTotalTokens = finalResults.reduce((sum, r) => sum + r.estimatedTokens, 0);
|
|
320
|
+
const report = {
|
|
321
|
+
totalTokens: finalTotalTokens,
|
|
322
|
+
moduleBreakdown: finalResults.map((r) => ({
|
|
323
|
+
name: r.name,
|
|
324
|
+
content: r.content,
|
|
325
|
+
estimatedTokens: r.estimatedTokens,
|
|
326
|
+
})),
|
|
327
|
+
truncated,
|
|
328
|
+
};
|
|
329
|
+
this.logger.info('Prompt assembly complete', {
|
|
330
|
+
sessionName: config.sessionName,
|
|
331
|
+
moduleCount: finalResults.length,
|
|
332
|
+
totalTokens: finalTotalTokens,
|
|
333
|
+
budget: this.totalTokenBudget,
|
|
334
|
+
truncatedCount: truncated.length,
|
|
335
|
+
modules: finalResults.map((r) => r.name),
|
|
336
|
+
});
|
|
337
|
+
return {
|
|
338
|
+
prompt: finalResults.map((r) => r.content).join(MODULE_SEPARATOR),
|
|
339
|
+
report,
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Assemble modules and return detailed results with per-module metadata.
|
|
344
|
+
* Convenience wrapper that returns just the report (same as assemble().report).
|
|
345
|
+
*
|
|
346
|
+
* @param config - Configuration with all context needed by modules
|
|
347
|
+
* @returns Assembly details with prompt, modules, and total tokens
|
|
348
|
+
*/
|
|
349
|
+
async assembleWithDetails(config) {
|
|
350
|
+
const { prompt, report } = await this.assemble(config);
|
|
351
|
+
return {
|
|
352
|
+
prompt,
|
|
353
|
+
modules: report.moduleBreakdown,
|
|
354
|
+
totalTokens: report.totalTokens,
|
|
355
|
+
truncated: report.truncated,
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Trim content to a target fraction of its original length.
|
|
360
|
+
* Trims at line boundaries to avoid cutting mid-sentence.
|
|
361
|
+
*
|
|
362
|
+
* @param content - Original content string
|
|
363
|
+
* @param fraction - Target fraction (e.g., 0.5 for 50%)
|
|
364
|
+
* @returns Trimmed content
|
|
365
|
+
*/
|
|
366
|
+
trimContent(content, fraction) {
|
|
367
|
+
const targetLength = Math.floor(content.length * fraction);
|
|
368
|
+
if (targetLength >= content.length)
|
|
369
|
+
return content;
|
|
370
|
+
const lines = content.split('\n');
|
|
371
|
+
let accumulated = 0;
|
|
372
|
+
const kept = [];
|
|
373
|
+
for (const line of lines) {
|
|
374
|
+
if (accumulated + line.length + 1 > targetLength && kept.length > 0) {
|
|
375
|
+
break;
|
|
376
|
+
}
|
|
377
|
+
kept.push(line);
|
|
378
|
+
accumulated += line.length + 1; // +1 for newline
|
|
379
|
+
}
|
|
380
|
+
return kept.join('\n');
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
//# sourceMappingURL=prompt-assembly.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-assembly.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/prompt-assembly.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { PromptModule, ModuleConfig } from './prompt-module.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* Recovery module — unified session recovery protocol.
|
|
4
|
+
*
|
|
5
|
+
* Consolidates the restart/recovery flow that was previously scattered
|
|
6
|
+
* across prompt-builder.service.ts buildSessionRecoverySection(),
|
|
7
|
+
* agent-registration.service.ts hardcoded commands, role prompts
|
|
8
|
+
* (Session Recovery Protocol), and session-handoff.service.ts.
|
|
9
|
+
*
|
|
10
|
+
* Produces the mandatory startup sequence: recall → get-my-context → assess.
|
|
11
|
+
* This module is non-compactable because skipping recovery causes
|
|
12
|
+
* duplicate work and lost context.
|
|
13
|
+
*
|
|
14
|
+
* Sources: Path A Step 9, prompt-builder buildSessionRecoverySection(),
|
|
15
|
+
* developer/prompt.md §Session Recovery Protocol.
|
|
16
|
+
*/
|
|
17
|
+
export declare class RecoveryModule implements PromptModule {
|
|
18
|
+
name: string;
|
|
19
|
+
priority: number;
|
|
20
|
+
maxTokens: number;
|
|
21
|
+
compactable: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Always included — every agent needs session recovery.
|
|
24
|
+
*/
|
|
25
|
+
shouldInclude(_config: ModuleConfig): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Build the session recovery protocol with executable bash commands.
|
|
28
|
+
*
|
|
29
|
+
* @param config - Module configuration with agent identity
|
|
30
|
+
* @returns Formatted markdown recovery section
|
|
31
|
+
*/
|
|
32
|
+
build(config: ModuleConfig): Promise<string>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=recovery.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/recovery.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAE5F;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,YAAW,YAAY;IAClD,IAAI,SAAc;IAClB,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;CA+DlD"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { loadRoleFragment } from './prompt-module.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* Recovery module — unified session recovery protocol.
|
|
4
|
+
*
|
|
5
|
+
* Consolidates the restart/recovery flow that was previously scattered
|
|
6
|
+
* across prompt-builder.service.ts buildSessionRecoverySection(),
|
|
7
|
+
* agent-registration.service.ts hardcoded commands, role prompts
|
|
8
|
+
* (Session Recovery Protocol), and session-handoff.service.ts.
|
|
9
|
+
*
|
|
10
|
+
* Produces the mandatory startup sequence: recall → get-my-context → assess.
|
|
11
|
+
* This module is non-compactable because skipping recovery causes
|
|
12
|
+
* duplicate work and lost context.
|
|
13
|
+
*
|
|
14
|
+
* Sources: Path A Step 9, prompt-builder buildSessionRecoverySection(),
|
|
15
|
+
* developer/prompt.md §Session Recovery Protocol.
|
|
16
|
+
*/
|
|
17
|
+
export class RecoveryModule {
|
|
18
|
+
name = 'recovery';
|
|
19
|
+
priority = 2;
|
|
20
|
+
maxTokens = 600;
|
|
21
|
+
compactable = false;
|
|
22
|
+
/**
|
|
23
|
+
* Always included — every agent needs session recovery.
|
|
24
|
+
*/
|
|
25
|
+
shouldInclude(_config) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Build the session recovery protocol with executable bash commands.
|
|
30
|
+
*
|
|
31
|
+
* @param config - Module configuration with agent identity
|
|
32
|
+
* @returns Formatted markdown recovery section
|
|
33
|
+
*/
|
|
34
|
+
async build(config) {
|
|
35
|
+
// Try loading role-specific fragment (orchestrator has a different startup flow)
|
|
36
|
+
if (config.role === 'orchestrator') {
|
|
37
|
+
const fragment = loadRoleFragment(config.projectRoot, config.role, 'recovery');
|
|
38
|
+
if (fragment) {
|
|
39
|
+
return fragment;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const agentId = config.sessionName;
|
|
43
|
+
const role = config.role;
|
|
44
|
+
const projectPath = config.projectPath || config.projectRoot;
|
|
45
|
+
const skillsPath = config.agentSkillsPath;
|
|
46
|
+
return `## Session Recovery Protocol (MANDATORY)
|
|
47
|
+
|
|
48
|
+
**IMMEDIATELY after registering**, you MUST execute the following context recovery steps before saying "Ready" or accepting any tasks. This ensures you recover context from previous sessions and avoid repeating work or missing ongoing tasks.
|
|
49
|
+
|
|
50
|
+
### Step 1: Recall previous knowledge
|
|
51
|
+
\`\`\`bash
|
|
52
|
+
bash ${skillsPath}/core/recall/execute.sh '{"agentId":"${agentId}","context":"${role} session startup, recent tasks, unfinished work, blockers, key decisions","projectPath":"${projectPath}"}'
|
|
53
|
+
\`\`\`
|
|
54
|
+
|
|
55
|
+
### Step 1.5: Read your active work (authoritative state)
|
|
56
|
+
The system has already injected your current Requests + WorkItems above
|
|
57
|
+
under \`## Your Active Work\` — that section is the source of truth.
|
|
58
|
+
**State always wins over memory.** If a row carries a \`(memory: ...)\` annotation,
|
|
59
|
+
the state value is what you should act on; the memory note flags a divergence
|
|
60
|
+
to investigate, not to override the state.
|
|
61
|
+
|
|
62
|
+
Call this skill mid-session if the briefing was truncated (\`... and X more\` marker)
|
|
63
|
+
or stale (>5 minutes since registration, especially after long-running tasks):
|
|
64
|
+
\`\`\`bash
|
|
65
|
+
bash ${skillsPath}/core/get-my-active-work/execute.sh --session ${agentId} --role ${role}
|
|
66
|
+
\`\`\`
|
|
67
|
+
|
|
68
|
+
### Step 2: Load your full context
|
|
69
|
+
\`\`\`bash
|
|
70
|
+
bash ${skillsPath}/core/get-my-context/execute.sh '{"agentId":"${agentId}","agentRole":"${role}","projectPath":"${projectPath}"}'
|
|
71
|
+
\`\`\`
|
|
72
|
+
|
|
73
|
+
### Step 3: Check for pending tasks
|
|
74
|
+
\`\`\`bash
|
|
75
|
+
bash ${skillsPath}/core/get-my-tasks/execute.sh '{"sessionName":"${agentId}"}'
|
|
76
|
+
\`\`\`
|
|
77
|
+
If you have assigned tasks from a previous session, review and accept them using the accept-task endpoint.
|
|
78
|
+
If any task has workingNotes, read them carefully — they contain your previous working state
|
|
79
|
+
(current hypothesis, what you've tried, where you left off). Resume from there, don't restart from scratch.
|
|
80
|
+
|
|
81
|
+
### Step 4: Register yourself as active
|
|
82
|
+
**CRITICAL:** You MUST call register-self to transition your status from "started" to "active". The system will NOT deliver any messages (Slack, tasks, etc.) to you until you register. Run this BEFORE reporting status:
|
|
83
|
+
\`\`\`bash
|
|
84
|
+
bash ${skillsPath}/core/register-self/execute.sh '{"sessionName":"${agentId}","role":"${role}"}'
|
|
85
|
+
\`\`\`
|
|
86
|
+
|
|
87
|
+
### Step 5: Assess and report
|
|
88
|
+
After reviewing the results from Steps 1-3:
|
|
89
|
+
1. **Check for unfinished work** — If you find tasks that were in progress but not completed, note them
|
|
90
|
+
2. **Check for pending blockers** — If previous sessions recorded blockers, note them
|
|
91
|
+
3. **Report status** — Include a brief summary of recovered context in your first status message
|
|
92
|
+
|
|
93
|
+
**Do NOT skip these steps.** Context recovery prevents duplicate work and ensures continuity across sessions.`;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=recovery.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/recovery.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE5F;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,cAAc;IAC1B,IAAI,GAAG,UAAU,CAAC;IAClB,QAAQ,GAAG,CAAC,CAAC;IACb,SAAS,GAAG,GAAG,CAAC;IAChB,WAAW,GAAG,KAAK,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAqB;QAClC,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC/B,iFAAiF;QACjF,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC/E,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO,QAAQ,CAAC;YACjB,CAAC;QACF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAE1C,OAAO;;;;;;OAMF,UAAU,wCAAwC,OAAO,gBAAgB,IAAI,4FAA4F,WAAW;;;;;;;;;;;;;OAapL,UAAU,iDAAiD,OAAO,WAAW,IAAI;;;;;OAKjF,UAAU,gDAAgD,OAAO,kBAAkB,IAAI,oBAAoB,WAAW;;;;;OAKtH,UAAU,kDAAkD,OAAO;;;;;;;;;OASnE,UAAU,mDAAmD,OAAO,aAAa,IAAI;;;;;;;;;8GASkB,CAAC;IAC9G,CAAC;CACD"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { PromptModule, ModuleConfig } from './prompt-module.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* Request Contract block (P0-3).
|
|
4
|
+
*
|
|
5
|
+
* Per spec
|
|
6
|
+
* `.crewly/specs/2026-05-03-agent-improvement-p0-execution.md` §"Fix P0-3",
|
|
7
|
+
* this module emits a role-shaped Request Contract section. The contract
|
|
8
|
+
* defines the seven canonical fields a Request carries — Goal, Expected
|
|
9
|
+
* Outcome, Eval Criteria, Constraints, Decision Rights, Escalation
|
|
10
|
+
* Conditions, Done Definition — and pins **Goal + Expected Outcome + Eval
|
|
11
|
+
* Criteria** as the mandatory floor that every delegated subtask MUST carry.
|
|
12
|
+
*
|
|
13
|
+
* The module emits one of three role-shaped sections:
|
|
14
|
+
*
|
|
15
|
+
* 1. **Orchestrator** (orgRole === 'orchestrator' OR role === 'orchestrator'):
|
|
16
|
+
* Full Request Contract field table + the rule that every delegated
|
|
17
|
+
* subtask MUST carry G+O+E + the rejection rule TLs apply downstream.
|
|
18
|
+
*
|
|
19
|
+
* 2. **Team Lead** (orgRole === 'team-lead' OR canDelegate === true):
|
|
20
|
+
* Brief Reception Protocol — receive task, verify G+O+E present, push
|
|
21
|
+
* back to delegator if any are missing, propagate G+O+E verbatim when
|
|
22
|
+
* sub-delegating to workers.
|
|
23
|
+
*
|
|
24
|
+
* 3. **Worker / executor** (everyone else):
|
|
25
|
+
* Short G+O+E assertion — every task you accept should carry Goal,
|
|
26
|
+
* Expected Outcome, and Eval Criteria; if any is missing, ask the
|
|
27
|
+
* delegator (your TL or the orchestrator) before starting.
|
|
28
|
+
*
|
|
29
|
+
* Why a module (not just per-role markdown)?
|
|
30
|
+
* - Authority text must be identical across every agent of the same role.
|
|
31
|
+
* A module guarantees byte-identical output instead of relying on N role
|
|
32
|
+
* prompts staying in sync over time.
|
|
33
|
+
* - The text is small and authority-defining, so it cannot be truncated
|
|
34
|
+
* under budget pressure → `compactable = false` (Trusted Zone).
|
|
35
|
+
* - Sits at priority 3.6 — immediately after DecisionRights (priority 3.5),
|
|
36
|
+
* immediately before MemoryReference (priority 4). The contract belongs
|
|
37
|
+
* in the authority cluster (Identity → Soul/Recovery → RoleBoundary →
|
|
38
|
+
* DecisionRights → **RequestContract** → MemoryReference) so an agent
|
|
39
|
+
* reads "what is a well-formed task" right after "who am I, what can I
|
|
40
|
+
* decide".
|
|
41
|
+
*
|
|
42
|
+
* Static role prompts under `config/roles/orchestrator/prompt.md` and
|
|
43
|
+
* `config/roles/team-leader/{prompt.md,tl-addon.md}` ALSO contain the
|
|
44
|
+
* orchestrator + TL sections verbatim — this is intentional belt-and-
|
|
45
|
+
* suspenders coverage for the legacy `prompt-builder.service.ts` load path
|
|
46
|
+
* which does not run through `PromptAssemblyService`. The two paths
|
|
47
|
+
* produce different prompts for different runtimes; both must carry the
|
|
48
|
+
* contract.
|
|
49
|
+
*
|
|
50
|
+
* Net-zero offset: legacy "ask clarifying questions" / "if anything's
|
|
51
|
+
* unclear, ask" soft hints have been deleted from worker role prompts
|
|
52
|
+
* because this module + the structured G+O+E assertion supersede them.
|
|
53
|
+
*/
|
|
54
|
+
export declare class RequestContractModule implements PromptModule {
|
|
55
|
+
name: string;
|
|
56
|
+
priority: number;
|
|
57
|
+
maxTokens: number;
|
|
58
|
+
compactable: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Always include — every agent participates in the Request lifecycle:
|
|
61
|
+
* orchestrators issue contracts, TLs verify-and-propagate, workers
|
|
62
|
+
* consume. The block is small and the role-shape switch is internal.
|
|
63
|
+
*
|
|
64
|
+
* @param _config - Unused; the inclusion rule is universal
|
|
65
|
+
* @returns Always true
|
|
66
|
+
*/
|
|
67
|
+
shouldInclude(_config: ModuleConfig): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Build the role-shaped Request Contract section.
|
|
70
|
+
*
|
|
71
|
+
* Resolves the agent's role-shape via three stacked checks (in order):
|
|
72
|
+
* 1. `orgRole === 'orchestrator'` OR `role === 'orchestrator'` → orchestrator block
|
|
73
|
+
* 2. `orgRole === 'team-lead'` OR `canDelegate === true` → TL Brief Reception Protocol
|
|
74
|
+
* 3. anything else → Worker G+O+E assertion
|
|
75
|
+
*
|
|
76
|
+
* The role-shape inputs match the resolution order used by other
|
|
77
|
+
* authority modules (e.g. RoleBoundaryModule). Tests pin the matrix.
|
|
78
|
+
*
|
|
79
|
+
* @param config - Module configuration
|
|
80
|
+
* @returns Formatted markdown block with the role-shaped section
|
|
81
|
+
*/
|
|
82
|
+
build(config: ModuleConfig): Promise<string>;
|
|
83
|
+
/**
|
|
84
|
+
* Build the orchestrator-side Request Contract.
|
|
85
|
+
*
|
|
86
|
+
* @returns Markdown block: `## Request Contract` with the seven-field
|
|
87
|
+
* table, G+O+E mandatory rule, and downstream rejection clause.
|
|
88
|
+
*/
|
|
89
|
+
private buildOrchestratorBlock;
|
|
90
|
+
/**
|
|
91
|
+
* Build the team-lead-side Brief Reception Protocol.
|
|
92
|
+
*
|
|
93
|
+
* @returns Markdown block: `## Brief Reception Protocol` with the
|
|
94
|
+
* three-step verify / push-back / propagate-verbatim contract.
|
|
95
|
+
*/
|
|
96
|
+
private buildTeamLeadBlock;
|
|
97
|
+
/**
|
|
98
|
+
* Build the worker-side G+O+E assertion.
|
|
99
|
+
*
|
|
100
|
+
* @returns Markdown block: `## Request Contract — What You Should See`
|
|
101
|
+
* reminding workers to expect G+O+E in every task and to ask if any
|
|
102
|
+
* is missing.
|
|
103
|
+
*/
|
|
104
|
+
private buildWorkerBlock;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=request-contract.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-contract.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/request-contract.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACzD,IAAI,SAAsB;IAC1B,QAAQ,SAAO;IACf,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;;;;;;OAOG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;;;;;;;;OAaG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBlD;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;CAaxB"}
|