peaks-loop 4.0.0-beta.8 → 4.0.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/CHANGELOG.md +955 -141
- package/README-en.md +26 -7
- package/README.md +75 -6
- package/agents/karpathy-reviewer.md +33 -0
- package/bin/peaks.js +1 -1
- package/dist/cli/cli-helpers.d.ts +68 -0
- package/dist/cli/cli-helpers.js +109 -0
- package/dist/cli/commands/_cli-error-envelope.d.ts +19 -0
- package/dist/cli/commands/_cli-error-envelope.js +50 -0
- package/dist/cli/commands/_register.d.ts +3 -0
- package/dist/cli/commands/_register.js +139 -0
- package/dist/cli/commands/_super.d.ts +10 -0
- package/dist/cli/commands/_super.js +97 -0
- package/dist/cli/commands/adapter-commands-s2a.d.ts +34 -0
- package/dist/cli/commands/adapter-commands-s2a.js +92 -0
- package/dist/cli/commands/adapter-commands.d.ts +30 -0
- package/dist/cli/commands/adapter-commands.js +35 -0
- package/dist/cli/commands/asset-commands.d.ts +45 -0
- package/dist/cli/commands/asset-commands.js +421 -0
- package/dist/cli/commands/audit-commands.d.ts +28 -0
- package/dist/cli/commands/audit-commands.js +437 -0
- package/dist/cli/commands/autonomous-swarm-commands.d.ts +12 -0
- package/dist/cli/commands/autonomous-swarm-commands.js +120 -0
- package/dist/cli/commands/bee-commands.d.ts +26 -0
- package/dist/cli/commands/bee-commands.js +169 -0
- package/dist/cli/commands/capability-commands.d.ts +16 -0
- package/dist/cli/commands/capability-commands.js +45 -0
- package/dist/cli/commands/capability-worker-config-sc-commands.d.ts +3 -0
- package/dist/cli/commands/capability-worker-config-sc-commands.js +8 -0
- package/dist/cli/commands/changeset-commands.d.ts +13 -0
- package/dist/cli/commands/changeset-commands.js +46 -0
- package/dist/cli/commands/code-commands.d.ts +90 -0
- package/dist/cli/commands/code-commands.js +118 -0
- package/dist/cli/commands/code-job-shape-commands.d.ts +9 -0
- package/dist/cli/commands/code-job-shape-commands.js +164 -0
- package/dist/cli/commands/code-mode-gate-commands.d.ts +9 -0
- package/dist/cli/commands/code-mode-gate-commands.js +223 -0
- package/dist/cli/commands/code-review-commands.d.ts +34 -0
- package/dist/cli/commands/code-review-commands.js +83 -0
- package/dist/cli/commands/code-run-command.d.ts +12 -0
- package/dist/cli/commands/code-run-command.js +68 -0
- package/dist/cli/commands/code-runtime-commands.d.ts +11 -0
- package/dist/cli/commands/code-runtime-commands.js +391 -0
- package/dist/cli/commands/codegraph-commands.d.ts +3 -0
- package/dist/cli/commands/codegraph-commands.js +99 -0
- package/dist/cli/commands/compact-command.d.ts +21 -0
- package/dist/cli/commands/compact-command.js +304 -0
- package/dist/cli/commands/complexity-commands.d.ts +9 -0
- package/dist/cli/commands/complexity-commands.js +34 -0
- package/dist/cli/commands/config-commands.d.ts +3 -0
- package/dist/cli/commands/config-commands.js +149 -0
- package/dist/cli/commands/container-commands.d.ts +28 -0
- package/dist/cli/commands/container-commands.js +221 -0
- package/dist/cli/commands/context-builder-commands.d.ts +11 -0
- package/dist/cli/commands/context-builder-commands.js +85 -0
- package/dist/cli/commands/context-commands.d.ts +21 -0
- package/dist/cli/commands/context-commands.js +255 -0
- package/dist/cli/commands/core/artifacts-command.d.ts +3 -0
- package/dist/cli/commands/core/artifacts-command.js +62 -0
- package/dist/cli/commands/core/binding-commands.d.ts +3 -0
- package/dist/cli/commands/core/binding-commands.js +58 -0
- package/dist/cli/commands/core/doctor-command.d.ts +11 -0
- package/dist/cli/commands/core/doctor-command.js +264 -0
- package/dist/cli/commands/core/memory-command.d.ts +3 -0
- package/dist/cli/commands/core/memory-command.js +98 -0
- package/dist/cli/commands/core/profile-command.d.ts +3 -0
- package/dist/cli/commands/core/profile-command.js +9 -0
- package/dist/cli/commands/core/proxy-command.d.ts +3 -0
- package/dist/cli/commands/core/proxy-command.js +26 -0
- package/dist/cli/commands/core/session-command.d.ts +3 -0
- package/dist/cli/commands/core/session-command.js +243 -0
- package/dist/cli/commands/core/skill-command.d.ts +3 -0
- package/dist/cli/commands/core/skill-command.js +303 -0
- package/dist/cli/commands/core/standards-command.d.ts +3 -0
- package/dist/cli/commands/core/standards-command.js +95 -0
- package/dist/cli/commands/core-artifact-commands.d.ts +15 -0
- package/dist/cli/commands/core-artifact-commands.js +31 -0
- package/dist/cli/commands/cron-commands.d.ts +57 -0
- package/dist/cli/commands/cron-commands.js +257 -0
- package/dist/cli/commands/cron-scheduler-commands.d.ts +47 -0
- package/dist/cli/commands/cron-scheduler-commands.js +284 -0
- package/dist/cli/commands/dashboard-commands.d.ts +4 -0
- package/dist/cli/commands/dashboard-commands.js +10 -0
- package/dist/cli/commands/dashboard-long-run.d.ts +25 -0
- package/dist/cli/commands/dashboard-long-run.js +122 -0
- package/dist/cli/commands/dashboard-summary.d.ts +12 -0
- package/dist/cli/commands/dashboard-summary.js +58 -0
- package/dist/cli/commands/dispatch-commands.d.ts +3 -0
- package/dist/cli/commands/dispatch-commands.js +715 -0
- package/dist/cli/commands/dispatch-from-dag.d.ts +3 -0
- package/dist/cli/commands/dispatch-from-dag.js +254 -0
- package/dist/cli/commands/doc-commands.d.ts +11 -0
- package/dist/cli/commands/doc-commands.js +65 -0
- package/dist/cli/commands/ecc-commands.d.ts +30 -0
- package/dist/cli/commands/ecc-commands.js +119 -0
- package/dist/cli/commands/evolution-commands.d.ts +27 -0
- package/dist/cli/commands/evolution-commands.js +393 -0
- package/dist/cli/commands/feedback-commands.d.ts +18 -0
- package/dist/cli/commands/feedback-commands.js +145 -0
- package/dist/cli/commands/final-review-commands.d.ts +31 -0
- package/dist/cli/commands/final-review-commands.js +161 -0
- package/dist/cli/commands/fixture-commands.d.ts +32 -0
- package/dist/cli/commands/fixture-commands.js +91 -0
- package/dist/cli/commands/fork-commands.d.ts +16 -0
- package/dist/cli/commands/fork-commands.js +163 -0
- package/dist/cli/commands/gate-commands.d.ts +3 -0
- package/dist/cli/commands/gate-commands.js +239 -0
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +21 -0
- package/dist/cli/commands/governance-classify-contract-commands.js +273 -0
- package/dist/cli/commands/heartbeat-commands.d.ts +3 -0
- package/dist/cli/commands/heartbeat-commands.js +206 -0
- package/dist/cli/commands/heartbeat-watch-command.d.ts +31 -0
- package/dist/cli/commands/heartbeat-watch-command.js +146 -0
- package/dist/cli/commands/hook-handle.d.ts +17 -0
- package/dist/cli/commands/hook-handle.js +157 -0
- package/dist/cli/commands/hooks-commands.d.ts +3 -0
- package/dist/cli/commands/hooks-commands.js +272 -0
- package/dist/cli/commands/ide-commands.d.ts +25 -0
- package/dist/cli/commands/ide-commands.js +42 -0
- package/dist/cli/commands/impact-commands.d.ts +15 -0
- package/dist/cli/commands/impact-commands.js +62 -0
- package/dist/cli/commands/job-commands.d.ts +3 -0
- package/dist/cli/commands/job-commands.js +322 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +67 -0
- package/dist/cli/commands/lease-metrics-commands.js +231 -0
- package/dist/cli/commands/lease-stats-commands.d.ts +65 -0
- package/dist/cli/commands/lease-stats-commands.js +107 -0
- package/dist/cli/commands/legacy-commands.d.ts +11 -0
- package/dist/cli/commands/legacy-commands.js +32 -0
- package/dist/cli/commands/log-commands.d.ts +17 -0
- package/dist/cli/commands/log-commands.js +64 -0
- package/dist/cli/commands/loop-commands.d.ts +27 -0
- package/dist/cli/commands/loop-commands.js +262 -0
- package/dist/cli/commands/loop-eval-commands.d.ts +20 -0
- package/dist/cli/commands/loop-eval-commands.js +526 -0
- package/dist/cli/commands/memory-commands.d.ts +23 -0
- package/dist/cli/commands/memory-commands.js +129 -0
- package/dist/cli/commands/migrate-1-4-1-command.d.ts +11 -0
- package/dist/cli/commands/migrate-1-4-1-command.js +34 -0
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.d.ts +20 -0
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +52 -0
- package/dist/cli/commands/mut-commands.d.ts +20 -0
- package/dist/cli/commands/mut-commands.js +235 -0
- package/dist/cli/commands/observability-commands.d.ts +22 -0
- package/dist/cli/commands/observability-commands.js +201 -0
- package/dist/cli/commands/openspec-commands.d.ts +3 -0
- package/dist/cli/commands/openspec-commands.js +298 -0
- package/dist/cli/commands/perf-audit-commands.d.ts +22 -0
- package/dist/cli/commands/perf-audit-commands.js +132 -0
- package/dist/cli/commands/perf-commands.d.ts +3 -0
- package/dist/cli/commands/perf-commands.js +41 -0
- package/dist/cli/commands/playwright-commands.d.ts +95 -0
- package/dist/cli/commands/playwright-commands.js +432 -0
- package/dist/cli/commands/polyrepo-commands.d.ts +37 -0
- package/dist/cli/commands/polyrepo-commands.js +155 -0
- package/dist/cli/commands/prd-blocks-commands.d.ts +18 -0
- package/dist/cli/commands/prd-blocks-commands.js +50 -0
- package/dist/cli/commands/prd-commands.d.ts +18 -0
- package/dist/cli/commands/prd-commands.js +143 -0
- package/dist/cli/commands/preferences-commands.d.ts +2 -0
- package/dist/cli/commands/preferences-commands.js +217 -0
- package/dist/cli/commands/project-commands.d.ts +3 -0
- package/dist/cli/commands/project-commands.js +253 -0
- package/dist/cli/commands/qa-business-review-commands.d.ts +17 -0
- package/dist/cli/commands/qa-business-review-commands.js +148 -0
- package/dist/cli/commands/qa-commands.d.ts +94 -0
- package/dist/cli/commands/qa-commands.js +307 -0
- package/dist/cli/commands/release-commands.d.ts +39 -0
- package/dist/cli/commands/release-commands.js +323 -0
- package/dist/cli/commands/request-commands.d.ts +3 -0
- package/dist/cli/commands/request-commands.js +548 -0
- package/dist/cli/commands/retrospective-commands.d.ts +12 -0
- package/dist/cli/commands/retrospective-commands.js +175 -0
- package/dist/cli/commands/reviewer-commands.d.ts +14 -0
- package/dist/cli/commands/reviewer-commands.js +64 -0
- package/dist/cli/commands/role-commands.d.ts +13 -0
- package/dist/cli/commands/role-commands.js +85 -0
- package/dist/cli/commands/runtime-commands-helpers.d.ts +7 -0
- package/dist/cli/commands/runtime-commands-helpers.js +24 -0
- package/dist/cli/commands/runtime-commands.d.ts +52 -0
- package/dist/cli/commands/runtime-commands.js +149 -0
- package/dist/cli/commands/sc-commands.d.ts +3 -0
- package/dist/cli/commands/sc-commands.js +47 -0
- package/dist/cli/commands/scan-commands.d.ts +3 -0
- package/dist/cli/commands/scan-commands.js +445 -0
- package/dist/cli/commands/security-audit-commands.d.ts +23 -0
- package/dist/cli/commands/security-audit-commands.js +132 -0
- package/dist/cli/commands/sediment-commands.d.ts +80 -0
- package/dist/cli/commands/sediment-commands.js +658 -0
- package/dist/cli/commands/session-24h-mode.d.ts +26 -0
- package/dist/cli/commands/session-24h-mode.js +196 -0
- package/dist/cli/commands/session-checkpoint-command.d.ts +10 -0
- package/dist/cli/commands/session-checkpoint-command.js +100 -0
- package/dist/cli/commands/session-migrate-skill-name.d.ts +17 -0
- package/dist/cli/commands/session-migrate-skill-name.js +41 -0
- package/dist/cli/commands/session-resume-command.d.ts +11 -0
- package/dist/cli/commands/session-resume-command.js +83 -0
- package/dist/cli/commands/share-commands.d.ts +36 -0
- package/dist/cli/commands/share-commands.js +415 -0
- package/dist/cli/commands/skill-conformance-commands.d.ts +9 -0
- package/dist/cli/commands/skill-conformance-commands.js +39 -0
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.d.ts +67 -0
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +173 -0
- package/dist/cli/commands/skill-search-commands.d.ts +25 -0
- package/dist/cli/commands/skill-search-commands.js +71 -0
- package/dist/cli/commands/skill-visibility.d.ts +8 -0
- package/dist/cli/commands/skill-visibility.js +63 -0
- package/dist/cli/commands/slice-commands.d.ts +24 -0
- package/dist/cli/commands/slice-commands.js +492 -0
- package/dist/cli/commands/slice-integrate-commands.d.ts +11 -0
- package/dist/cli/commands/slice-integrate-commands.js +74 -0
- package/dist/cli/commands/slice-review-commands.d.ts +23 -0
- package/dist/cli/commands/slice-review-commands.js +162 -0
- package/dist/cli/commands/smoke-commands.d.ts +21 -0
- package/dist/cli/commands/smoke-commands.js +203 -0
- package/dist/cli/commands/sop-commands.d.ts +3 -0
- package/dist/cli/commands/sop-commands.js +215 -0
- package/dist/cli/commands/spill-demo-command.d.ts +7 -0
- package/dist/cli/commands/spill-demo-command.js +29 -0
- package/dist/cli/commands/statusline-commands.d.ts +15 -0
- package/dist/cli/commands/statusline-commands.js +231 -0
- package/dist/cli/commands/sub-agent-commands.d.ts +22 -0
- package/dist/cli/commands/sub-agent-commands.js +20 -0
- package/dist/cli/commands/sub-agent-dispatch-guard.d.ts +55 -0
- package/dist/cli/commands/sub-agent-dispatch-guard.js +57 -0
- package/dist/cli/commands/sub-agent-shared.d.ts +109 -0
- package/dist/cli/commands/sub-agent-shared.js +90 -0
- package/dist/cli/commands/swarm-commands.d.ts +13 -0
- package/dist/cli/commands/swarm-commands.js +77 -0
- package/dist/cli/commands/tech-commands.d.ts +64 -0
- package/dist/cli/commands/tech-commands.js +195 -0
- package/dist/cli/commands/test-commands.d.ts +47 -0
- package/dist/cli/commands/test-commands.js +204 -0
- package/dist/cli/commands/understand-commands.d.ts +3 -0
- package/dist/cli/commands/understand-commands.js +148 -0
- package/dist/cli/commands/upgrade-commands.d.ts +25 -0
- package/dist/cli/commands/upgrade-commands.js +154 -0
- package/dist/cli/commands/user-touchpoint-commands.d.ts +18 -0
- package/dist/cli/commands/user-touchpoint-commands.js +78 -0
- package/dist/cli/commands/verdict-aggregate-command.d.ts +14 -0
- package/dist/cli/commands/verdict-aggregate-command.js +106 -0
- package/dist/cli/commands/vm-commands.d.ts +31 -0
- package/dist/cli/commands/vm-commands.js +274 -0
- package/dist/cli/commands/workflow-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-commands.js +567 -0
- package/dist/cli/commands/workflow-plan-commands.d.ts +39 -0
- package/dist/cli/commands/workflow-plan-commands.js +163 -0
- package/dist/cli/commands/workspace/clean-command.d.ts +14 -0
- package/dist/cli/commands/workspace/clean-command.js +49 -0
- package/dist/cli/commands/workspace/helpers.d.ts +28 -0
- package/dist/cli/commands/workspace/helpers.js +87 -0
- package/dist/cli/commands/workspace/init-command.d.ts +139 -0
- package/dist/cli/commands/workspace/init-command.js +505 -0
- package/dist/cli/commands/workspace/migrate-command.d.ts +11 -0
- package/dist/cli/commands/workspace/migrate-command.js +91 -0
- package/dist/cli/commands/workspace/reconcile-command.d.ts +14 -0
- package/dist/cli/commands/workspace/reconcile-command.js +103 -0
- package/dist/cli/commands/workspace-commands.d.ts +18 -0
- package/dist/cli/commands/workspace-commands.js +50 -0
- package/dist/cli/commands/worktree-auth-commands.d.ts +29 -0
- package/dist/cli/commands/worktree-auth-commands.js +652 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +75 -0
- package/dist/cli/program.d.ts +5 -0
- package/dist/cli/program.js +213 -0
- package/dist/hooks/pre-tool-use-sub-agent.d.ts +28 -0
- package/dist/hooks/pre-tool-use-sub-agent.js +105 -0
- package/dist/lib/render/message-renderer.d.ts +20 -0
- package/dist/lib/render/message-renderer.js +80 -0
- package/dist/services/24h-mode/decider.d.ts +103 -0
- package/dist/services/24h-mode/decider.js +144 -0
- package/dist/services/24h-mode/index.d.ts +12 -0
- package/dist/services/24h-mode/index.js +12 -0
- package/dist/services/24h-mode/state.d.ts +48 -0
- package/dist/services/24h-mode/state.js +51 -0
- package/dist/services/24h-mode/store.d.ts +27 -0
- package/dist/services/24h-mode/store.js +119 -0
- package/dist/services/adapter/adapter-registry.d.ts +48 -0
- package/dist/services/adapter/adapter-registry.js +186 -0
- package/dist/services/adapter/adapter.d.ts +27 -0
- package/dist/services/adapter/adapter.js +5 -0
- package/dist/services/adapter/auto-adapter.d.ts +11 -0
- package/dist/services/adapter/auto-adapter.js +15 -0
- package/dist/services/adapter/claude-adapter.d.ts +14 -0
- package/dist/services/adapter/claude-adapter.js +40 -0
- package/dist/services/adapter/codex-adapter.d.ts +14 -0
- package/dist/services/adapter/codex-adapter.js +14 -0
- package/dist/services/adapter/copilot-adapter.d.ts +14 -0
- package/dist/services/adapter/copilot-adapter.js +14 -0
- package/dist/services/artifacts/artifact-lint-service.d.ts +23 -0
- package/dist/services/artifacts/artifact-lint-service.js +99 -0
- package/dist/services/artifacts/artifact-prerequisites.d.ts +78 -0
- package/dist/services/artifacts/artifact-prerequisites.js +491 -0
- package/dist/services/artifacts/artifact-service.d.ts +43 -0
- package/dist/services/artifacts/artifact-service.js +98 -0
- package/dist/services/artifacts/artifact-templates.d.ts +30 -0
- package/dist/services/artifacts/artifact-templates.js +302 -0
- package/dist/services/artifacts/repair-cycle-service.d.ts +23 -0
- package/dist/services/artifacts/repair-cycle-service.js +52 -0
- package/dist/services/artifacts/request-artifact-service.d.ts +116 -0
- package/dist/services/artifacts/request-artifact-service.js +451 -0
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +51 -0
- package/dist/services/artifacts/request-artifact-state-helpers.js +114 -0
- package/dist/services/artifacts/workspace-service.d.ts +34 -0
- package/dist/services/artifacts/workspace-service.js +272 -0
- package/dist/services/audit/artifact-writer.d.ts +93 -0
- package/dist/services/audit/artifact-writer.js +303 -0
- package/dist/services/audit/audit-goal-service.d.ts +35 -0
- package/dist/services/audit/audit-goal-service.js +75 -0
- package/dist/services/audit/audit-goal-types.d.ts +40 -0
- package/dist/services/audit/audit-goal-types.js +15 -0
- package/dist/services/audit/backing-detector.d.ts +24 -0
- package/dist/services/audit/backing-detector.js +59 -0
- package/dist/services/audit/classifier.d.ts +38 -0
- package/dist/services/audit/classifier.js +134 -0
- package/dist/services/audit/decision-writer.d.ts +76 -0
- package/dist/services/audit/decision-writer.js +217 -0
- package/dist/services/audit/enforcers/active-skill-resolver.d.ts +29 -0
- package/dist/services/audit/enforcers/active-skill-resolver.js +71 -0
- package/dist/services/audit/enforcers/code-ban.d.ts +23 -0
- package/dist/services/audit/enforcers/code-ban.js +27 -0
- package/dist/services/audit/enforcers/design-draft-confirm.d.ts +24 -0
- package/dist/services/audit/enforcers/design-draft-confirm.js +58 -0
- package/dist/services/audit/enforcers/lint-audit-regression.d.ts +21 -0
- package/dist/services/audit/enforcers/lint-audit-regression.js +86 -0
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.d.ts +25 -0
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +91 -0
- package/dist/services/audit/enforcers/lint-catalog-governance.d.ts +32 -0
- package/dist/services/audit/enforcers/lint-catalog-governance.js +48 -0
- package/dist/services/audit/enforcers/lint-cli-back.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-cli-back.js +35 -0
- package/dist/services/audit/enforcers/lint-output-style.d.ts +11 -0
- package/dist/services/audit/enforcers/lint-output-style.js +94 -0
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +31 -0
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.d.ts +23 -0
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +59 -0
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.d.ts +28 -0
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +86 -0
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +41 -0
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +27 -0
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +47 -0
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.d.ts +19 -0
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +47 -0
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.d.ts +18 -0
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +70 -0
- package/dist/services/audit/enforcers/lint-reference-integrity.d.ts +6 -0
- package/dist/services/audit/enforcers/lint-reference-integrity.js +83 -0
- package/dist/services/audit/enforcers/lint-reference-shape.d.ts +30 -0
- package/dist/services/audit/enforcers/lint-reference-shape.js +272 -0
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.d.ts +25 -0
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +53 -0
- package/dist/services/audit/enforcers/lint-style.d.ts +49 -0
- package/dist/services/audit/enforcers/lint-style.js +173 -0
- package/dist/services/audit/enforcers/lint-workflow-shape.d.ts +4 -0
- package/dist/services/audit/enforcers/lint-workflow-shape.js +100 -0
- package/dist/services/audit/enforcers/login-gate.d.ts +23 -0
- package/dist/services/audit/enforcers/login-gate.js +40 -0
- package/dist/services/audit/enforcers/mock-placement.d.ts +25 -0
- package/dist/services/audit/enforcers/mock-placement.js +48 -0
- package/dist/services/audit/enforcers/no-root-pollution.d.ts +21 -0
- package/dist/services/audit/enforcers/no-root-pollution.js +56 -0
- package/dist/services/audit/enforcers/pre-rd-scan.d.ts +22 -0
- package/dist/services/audit/enforcers/pre-rd-scan.js +23 -0
- package/dist/services/audit/enforcers/prototype-fidelity.d.ts +25 -0
- package/dist/services/audit/enforcers/prototype-fidelity.js +75 -0
- package/dist/services/audit/enforcers/resume-detection.d.ts +21 -0
- package/dist/services/audit/enforcers/resume-detection.js +52 -0
- package/dist/services/audit/enforcers/sub-agent-sid.d.ts +25 -0
- package/dist/services/audit/enforcers/sub-agent-sid.js +63 -0
- package/dist/services/audit/prose-ratio-calculator.d.ts +45 -0
- package/dist/services/audit/prose-ratio-calculator.js +52 -0
- package/dist/services/audit/red-line-catalog-p2-a.d.ts +15 -0
- package/dist/services/audit/red-line-catalog-p2-a.js +458 -0
- package/dist/services/audit/red-line-catalog-p2-b.d.ts +19 -0
- package/dist/services/audit/red-line-catalog-p2-b.js +225 -0
- package/dist/services/audit/red-line-catalog.d.ts +51 -0
- package/dist/services/audit/red-line-catalog.js +195 -0
- package/dist/services/audit/red-lines-service.d.ts +23 -0
- package/dist/services/audit/red-lines-service.js +464 -0
- package/dist/services/audit/scanners/openspec-scanner.d.ts +15 -0
- package/dist/services/audit/scanners/openspec-scanner.js +55 -0
- package/dist/services/audit/scanners/rules-tree-scanner.d.ts +16 -0
- package/dist/services/audit/scanners/rules-tree-scanner.js +56 -0
- package/dist/services/audit/scanners/skills-tree-scanner.d.ts +17 -0
- package/dist/services/audit/scanners/skills-tree-scanner.js +68 -0
- package/dist/services/audit/static-service.d.ts +67 -0
- package/dist/services/audit/static-service.js +51 -0
- package/dist/services/audit/types.d.ts +86 -0
- package/dist/services/audit/types.js +13 -0
- package/dist/services/audit-independent/index.d.ts +2 -0
- package/dist/services/audit-independent/index.js +2 -0
- package/dist/services/audit-independent/perf-audit-service.d.ts +151 -0
- package/dist/services/audit-independent/perf-audit-service.js +316 -0
- package/dist/services/audit-independent/security-audit-service.d.ts +155 -0
- package/dist/services/audit-independent/security-audit-service.js +316 -0
- package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +127 -0
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +446 -0
- package/dist/services/changeset/changeset-check-service.d.ts +22 -0
- package/dist/services/changeset/changeset-check-service.js +47 -0
- package/dist/services/classify/classify-service.d.ts +42 -0
- package/dist/services/classify/classify-service.js +122 -0
- package/dist/services/classify/classify-types.d.ts +79 -0
- package/dist/services/classify/classify-types.js +90 -0
- package/dist/services/code/auto-compact-modes.d.ts +30 -0
- package/dist/services/code/auto-compact-modes.js +38 -0
- package/dist/services/code/auto-compact-orchestrator.d.ts +136 -0
- package/dist/services/code/auto-compact-orchestrator.js +423 -0
- package/dist/services/code/batch-heartbeat-poller.d.ts +51 -0
- package/dist/services/code/batch-heartbeat-poller.js +88 -0
- package/dist/services/code/dag-orchestrator.d.ts +157 -0
- package/dist/services/code/dag-orchestrator.js +409 -0
- package/dist/services/code/emit-handoff.d.ts +49 -0
- package/dist/services/code/emit-handoff.js +79 -0
- package/dist/services/code/job-shape-decision.d.ts +71 -0
- package/dist/services/code/job-shape-decision.js +151 -0
- package/dist/services/code/mode-gate.d.ts +163 -0
- package/dist/services/code/mode-gate.js +212 -0
- package/dist/services/code/post-compact-detector.d.ts +61 -0
- package/dist/services/code/post-compact-detector.js +240 -0
- package/dist/services/code/status-line-renderer.d.ts +36 -0
- package/dist/services/code/status-line-renderer.js +73 -0
- package/dist/services/code/step-08-gate.d.ts +90 -0
- package/dist/services/code/step-08-gate.js +136 -0
- package/dist/services/code/user-touchpoint-classifier.d.ts +44 -0
- package/dist/services/code/user-touchpoint-classifier.js +145 -0
- package/dist/services/code-review/ecc-bridge.d.ts +148 -0
- package/dist/services/code-review/ecc-bridge.js +242 -0
- package/dist/services/code-review/ocr-service.d.ts +129 -0
- package/dist/services/code-review/ocr-service.js +372 -0
- package/dist/services/codegraph/codegraph-process-runner.d.ts +2 -0
- package/dist/services/codegraph/codegraph-process-runner.js +93 -0
- package/dist/services/codegraph/codegraph-service.d.ts +43 -0
- package/dist/services/codegraph/codegraph-service.js +160 -0
- package/dist/services/compact/decision-tables.d.ts +66 -0
- package/dist/services/compact/decision-tables.js +127 -0
- package/dist/services/compact/request-transition-hook.d.ts +20 -0
- package/dist/services/compact/request-transition-hook.js +110 -0
- package/dist/services/compact/suggest-service.d.ts +74 -0
- package/dist/services/compact/suggest-service.js +203 -0
- package/dist/services/compact-history/compact-history-service.d.ts +41 -0
- package/dist/services/compact-history/compact-history-service.js +62 -0
- package/dist/services/compact-statusline/compact-statusline-service.d.ts +16 -0
- package/dist/services/compact-statusline/compact-statusline-service.js +83 -0
- package/dist/services/complexity/complexity-estimator.d.ts +34 -0
- package/dist/services/complexity/complexity-estimator.js +64 -0
- package/dist/services/config/config-migration.d.ts +45 -0
- package/dist/services/config/config-migration.js +154 -0
- package/dist/services/config/config-restore.d.ts +10 -0
- package/dist/services/config/config-restore.js +47 -0
- package/dist/services/config/config-rollback.d.ts +13 -0
- package/dist/services/config/config-rollback.js +26 -0
- package/dist/services/config/config-safety.d.ts +40 -0
- package/dist/services/config/config-safety.js +359 -0
- package/dist/services/config/config-service.d.ts +58 -0
- package/dist/services/config/config-service.js +745 -0
- package/dist/services/config/config-types.d.ts +117 -0
- package/dist/services/config/config-types.js +18 -0
- package/dist/services/config/model-routing.d.ts +66 -0
- package/dist/services/config/model-routing.js +105 -0
- package/dist/services/config/proxy-service.d.ts +21 -0
- package/dist/services/config/proxy-service.js +44 -0
- package/dist/services/config/sidecar-store.d.ts +25 -0
- package/dist/services/config/sidecar-store.js +61 -0
- package/dist/services/config/workspace-state-service.d.ts +30 -0
- package/dist/services/config/workspace-state-service.js +142 -0
- package/dist/services/container/container-lease.d.ts +67 -0
- package/dist/services/container/container-lease.js +135 -0
- package/dist/services/context/artifact-meta.d.ts +72 -0
- package/dist/services/context/artifact-meta.js +105 -0
- package/dist/services/context/auto-compact-dispatcher.d.ts +72 -0
- package/dist/services/context/auto-compact-dispatcher.js +170 -0
- package/dist/services/context/auto-compact-reader.d.ts +51 -0
- package/dist/services/context/auto-compact-reader.js +164 -0
- package/dist/services/context/auto-compact-types.d.ts +168 -0
- package/dist/services/context/auto-compact-types.js +43 -0
- package/dist/services/context/build-dispatch-system-prompt.d.ts +75 -0
- package/dist/services/context/build-dispatch-system-prompt.js +117 -0
- package/dist/services/context/collector.d.ts +24 -0
- package/dist/services/context/collector.js +133 -0
- package/dist/services/context/context-builder.d.ts +30 -0
- package/dist/services/context/context-builder.js +78 -0
- package/dist/services/context/context-guard.d.ts +49 -0
- package/dist/services/context/context-guard.js +91 -0
- package/dist/services/context/context-schema.d.ts +415 -0
- package/dist/services/context/context-schema.js +73 -0
- package/dist/services/context/doc-retriever.d.ts +26 -0
- package/dist/services/context/doc-retriever.js +51 -0
- package/dist/services/context/headroom-client.d.ts +34 -0
- package/dist/services/context/headroom-client.js +117 -0
- package/dist/services/context/headroom-fetcher.d.ts +6 -0
- package/dist/services/context/headroom-fetcher.js +28 -0
- package/dist/services/context/headroom-prefs.d.ts +46 -0
- package/dist/services/context/headroom-prefs.js +34 -0
- package/dist/services/context/ide-detect.d.ts +4 -0
- package/dist/services/context/ide-detect.js +24 -0
- package/dist/services/context/index.d.ts +7 -0
- package/dist/services/context/index.js +6 -0
- package/dist/services/context/main-session-monitor.d.ts +86 -0
- package/dist/services/context/main-session-monitor.js +119 -0
- package/dist/services/context/memory-index-reader.d.ts +8 -0
- package/dist/services/context/memory-index-reader.js +57 -0
- package/dist/services/context/memory-lru-cache.d.ts +12 -0
- package/dist/services/context/memory-lru-cache.js +60 -0
- package/dist/services/context/memory-preflight-config.d.ts +19 -0
- package/dist/services/context/memory-preflight-config.js +25 -0
- package/dist/services/context/memory-preflight-service.d.ts +19 -0
- package/dist/services/context/memory-preflight-service.js +120 -0
- package/dist/services/context/renderer.d.ts +20 -0
- package/dist/services/context/renderer.js +30 -0
- package/dist/services/context/spillover-store.d.ts +23 -0
- package/dist/services/context/spillover-store.js +155 -0
- package/dist/services/context/spillover-types.d.ts +18 -0
- package/dist/services/context/spillover-types.js +1 -0
- package/dist/services/context/threshold.d.ts +35 -0
- package/dist/services/context/threshold.js +76 -0
- package/dist/services/context/tokenizer.d.ts +12 -0
- package/dist/services/context/tokenizer.js +43 -0
- package/dist/services/context/types.d.ts +93 -0
- package/dist/services/context/types.js +9 -0
- package/dist/services/crystallization/crystallization-service.d.ts +256 -0
- package/dist/services/crystallization/crystallization-service.js +391 -0
- package/dist/services/crystallization/crystallization-store.d.ts +75 -0
- package/dist/services/crystallization/crystallization-store.js +193 -0
- package/dist/services/crystallization/crystallization-types.d.ts +313 -0
- package/dist/services/crystallization/crystallization-types.js +299 -0
- package/dist/services/crystallization/evidence-brief-builder.d.ts +237 -0
- package/dist/services/crystallization/evidence-brief-builder.js +240 -0
- package/dist/services/crystallization/index.d.ts +13 -0
- package/dist/services/crystallization/index.js +13 -0
- package/dist/services/dashboard/project-dashboard-service.d.ts +91 -0
- package/dist/services/dashboard/project-dashboard-service.js +147 -0
- package/dist/services/dispatch/await-batch.d.ts +70 -0
- package/dist/services/dispatch/await-batch.js +272 -0
- package/dist/services/dispatch/batch-counter.d.ts +27 -0
- package/dist/services/dispatch/batch-counter.js +102 -0
- package/dist/services/dispatch/contract-store.d.ts +63 -0
- package/dist/services/dispatch/contract-store.js +157 -0
- package/dist/services/dispatch/dispatch-record-writer.d.ts +260 -0
- package/dist/services/dispatch/dispatch-record-writer.js +690 -0
- package/dist/services/dispatch/heartbeat-truncator.d.ts +26 -0
- package/dist/services/dispatch/heartbeat-truncator.js +13 -0
- package/dist/services/dispatch/leak-detector.d.ts +11 -0
- package/dist/services/dispatch/leak-detector.js +72 -0
- package/dist/services/dispatch/slice-dag.d.ts +127 -0
- package/dist/services/dispatch/slice-dag.js +244 -0
- package/dist/services/dispatch/stage-enum.d.ts +27 -0
- package/dist/services/dispatch/stage-enum.js +48 -0
- package/dist/services/dispatch/startup-timeout.d.ts +86 -0
- package/dist/services/dispatch/startup-timeout.js +97 -0
- package/dist/services/dispatch/sub-agent-dispatcher.d.ts +239 -0
- package/dist/services/dispatch/sub-agent-dispatcher.js +333 -0
- package/dist/services/dispatch/test-tool-detection.d.ts +60 -0
- package/dist/services/dispatch/test-tool-detection.js +126 -0
- package/dist/services/doc/doc-generator.d.ts +38 -0
- package/dist/services/doc/doc-generator.js +122 -0
- package/dist/services/doctor/doctor-service/checks/check-id-schema.d.ts +18 -0
- package/dist/services/doctor/doctor-service/checks/check-id-schema.js +64 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +69 -0
- package/dist/services/doctor/doctor-service/checks/dist-source-version.d.ts +32 -0
- package/dist/services/doctor/doctor-service/checks/dist-source-version.js +110 -0
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.d.ts +24 -0
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +164 -0
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +16 -0
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +57 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +19 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +66 -0
- package/dist/services/doctor/doctor-service/checks/schema-validity.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/schema-validity.js +33 -0
- package/dist/services/doctor/doctor-service/checks/skill-apply-note.d.ts +20 -0
- package/dist/services/doctor/doctor-service/checks/skill-apply-note.js +85 -0
- package/dist/services/doctor/doctor-service/checks/skill-existence.d.ts +13 -0
- package/dist/services/doctor/doctor-service/checks/skill-existence.js +30 -0
- package/dist/services/doctor/doctor-service/checks/skill-name-match.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/skill-name-match.js +25 -0
- package/dist/services/doctor/doctor-service/checks/skill-parse.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/skill-parse.js +19 -0
- package/dist/services/doctor/doctor-service/checks/skill-presence.d.ts +21 -0
- package/dist/services/doctor/doctor-service/checks/skill-presence.js +75 -0
- package/dist/services/doctor/doctor-service/checks/skill-runbook.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/skill-runbook.js +47 -0
- package/dist/services/doctor/doctor-service/checks/statusline-install.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/statusline-install.js +32 -0
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.d.ts +13 -0
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +30 -0
- package/dist/services/doctor/doctor-service/checks/user-config.d.ts +11 -0
- package/dist/services/doctor/doctor-service/checks/user-config.js +27 -0
- package/dist/services/doctor/doctor-service/checks/workspace-init.d.ts +16 -0
- package/dist/services/doctor/doctor-service/checks/workspace-init.js +34 -0
- package/dist/services/doctor/doctor-service/checks/workspace-layout.d.ts +33 -0
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +180 -0
- package/dist/services/doctor/doctor-service/index.d.ts +48 -0
- package/dist/services/doctor/doctor-service/index.js +254 -0
- package/dist/services/doctor/doctor-service/plugin-registry.d.ts +41 -0
- package/dist/services/doctor/doctor-service/plugin-registry.js +77 -0
- package/dist/services/doctor/doctor-service/report/final-summary.d.ts +20 -0
- package/dist/services/doctor/doctor-service/report/final-summary.js +29 -0
- package/dist/services/doctor/doctor-service/types.d.ts +245 -0
- package/dist/services/doctor/doctor-service/types.js +15 -0
- package/dist/services/doctor/doctor-service.d.ts +18 -0
- package/dist/services/doctor/doctor-service.js +25 -0
- package/dist/services/doctor/index.d.ts +22 -0
- package/dist/services/doctor/index.js +22 -0
- package/dist/services/env/shell-probe.d.ts +71 -0
- package/dist/services/env/shell-probe.js +161 -0
- package/dist/services/evolution/evolution-service.d.ts +137 -0
- package/dist/services/evolution/evolution-service.js +281 -0
- package/dist/services/evolution/evolution-store.d.ts +57 -0
- package/dist/services/evolution/evolution-store.js +232 -0
- package/dist/services/evolution/evolution-types.d.ts +706 -0
- package/dist/services/evolution/evolution-types.js +286 -0
- package/dist/services/evolution/independent-evaluator-runner.d.ts +90 -0
- package/dist/services/evolution/independent-evaluator-runner.js +106 -0
- package/dist/services/evolution/regression-skeptic-runner.d.ts +64 -0
- package/dist/services/evolution/regression-skeptic-runner.js +113 -0
- package/dist/services/feedback/feedback-promotion-service.d.ts +123 -0
- package/dist/services/feedback/feedback-promotion-service.js +300 -0
- package/dist/services/final-review/final-review-service.d.ts +22 -0
- package/dist/services/final-review/final-review-service.js +52 -0
- package/dist/services/final-review/final-review-types.d.ts +42 -0
- package/dist/services/final-review/final-review-types.js +18 -0
- package/dist/services/final-review/index.d.ts +2 -0
- package/dist/services/final-review/index.js +1 -0
- package/dist/services/fixture/fixture-capture-service.d.ts +87 -0
- package/dist/services/fixture/fixture-capture-service.js +317 -0
- package/dist/services/fixture/fixture-sanitize-service.d.ts +117 -0
- package/dist/services/fixture/fixture-sanitize-service.js +161 -0
- package/dist/services/fixture/index.d.ts +8 -0
- package/dist/services/fixture/index.js +8 -0
- package/dist/services/fork/fork-sync-state.d.ts +85 -0
- package/dist/services/fork/fork-sync-state.js +130 -0
- package/dist/services/fuzzy-matching/fuzzy-match-service.d.ts +15 -0
- package/dist/services/fuzzy-matching/fuzzy-match-service.js +56 -0
- package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +68 -0
- package/dist/services/fuzzy-matching/fzf-pick-service.js +158 -0
- package/dist/services/fuzzy-matching/types.d.ts +20 -0
- package/dist/services/fuzzy-matching/types.js +1 -0
- package/dist/services/handoff/handoff-parser.d.ts +28 -0
- package/dist/services/handoff/handoff-parser.js +69 -0
- package/dist/services/handoff/handoff-types.d.ts +39 -0
- package/dist/services/handoff/handoff-types.js +19 -0
- package/dist/services/handoff/handoff-writer.d.ts +23 -0
- package/dist/services/handoff/handoff-writer.js +30 -0
- package/dist/services/hooks/auto-compact-hook-install.d.ts +103 -0
- package/dist/services/hooks/auto-compact-hook-install.js +156 -0
- package/dist/services/hooks/output.d.ts +92 -0
- package/dist/services/hooks/output.js +111 -0
- package/dist/services/hooks/presence-marker-detector.d.ts +16 -0
- package/dist/services/hooks/presence-marker-detector.js +105 -0
- package/dist/services/hooks/worktree-authorization-gate.d.ts +205 -0
- package/dist/services/hooks/worktree-authorization-gate.js +492 -0
- package/dist/services/ide/adapters/claude-code-adapter.d.ts +18 -0
- package/dist/services/ide/adapters/claude-code-adapter.js +103 -0
- package/dist/services/ide/adapters/codex-adapter.d.ts +46 -0
- package/dist/services/ide/adapters/codex-adapter.js +97 -0
- package/dist/services/ide/adapters/cursor-adapter.d.ts +36 -0
- package/dist/services/ide/adapters/cursor-adapter.js +84 -0
- package/dist/services/ide/adapters/hermes-adapter.d.ts +21 -0
- package/dist/services/ide/adapters/hermes-adapter.js +51 -0
- package/dist/services/ide/adapters/openclaw-adapter.d.ts +14 -0
- package/dist/services/ide/adapters/openclaw-adapter.js +42 -0
- package/dist/services/ide/adapters/qoder-adapter.d.ts +25 -0
- package/dist/services/ide/adapters/qoder-adapter.js +57 -0
- package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +16 -0
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +45 -0
- package/dist/services/ide/adapters/trae-adapter.d.ts +42 -0
- package/dist/services/ide/adapters/trae-adapter.js +83 -0
- package/dist/services/ide/adapters/zcode-adapter.d.ts +40 -0
- package/dist/services/ide/adapters/zcode-adapter.js +220 -0
- package/dist/services/ide/current-model-detector.d.ts +14 -0
- package/dist/services/ide/current-model-detector.js +60 -0
- package/dist/services/ide/hook-protocol.d.ts +47 -0
- package/dist/services/ide/hook-protocol.js +74 -0
- package/dist/services/ide/hook-translator.d.ts +72 -0
- package/dist/services/ide/hook-translator.js +128 -0
- package/dist/services/ide/ide-detector.d.ts +10 -0
- package/dist/services/ide/ide-detector.js +19 -0
- package/dist/services/ide/ide-registry.d.ts +14 -0
- package/dist/services/ide/ide-registry.js +69 -0
- package/dist/services/ide/ide-types.d.ts +253 -0
- package/dist/services/ide/ide-types.js +2 -0
- package/dist/services/ide/resource-profile.d.ts +52 -0
- package/dist/services/ide/resource-profile.js +33 -0
- package/dist/services/ide/shared/atomic-json.d.ts +15 -0
- package/dist/services/ide/shared/atomic-json.js +58 -0
- package/dist/services/ide/shared/safe-path.d.ts +11 -0
- package/dist/services/ide/shared/safe-path.js +29 -0
- package/dist/services/impact/impact-scan-service.d.ts +66 -0
- package/dist/services/impact/impact-scan-service.js +197 -0
- package/dist/services/job/job-event-emitter.d.ts +30 -0
- package/dist/services/job/job-event-emitter.js +5 -0
- package/dist/services/job/job-orchestrator.d.ts +50 -0
- package/dist/services/job/job-orchestrator.js +104 -0
- package/dist/services/job/job-progress-store.d.ts +60 -0
- package/dist/services/job/job-progress-store.js +70 -0
- package/dist/services/job/job-rotation.d.ts +17 -0
- package/dist/services/job/job-rotation.js +30 -0
- package/dist/services/job/job-state-store.d.ts +24 -0
- package/dist/services/job/job-state-store.js +60 -0
- package/dist/services/job/job-types.d.ts +444 -0
- package/dist/services/job/job-types.js +87 -0
- package/dist/services/job/subagent-job-wrapper.d.ts +35 -0
- package/dist/services/job/subagent-job-wrapper.js +30 -0
- package/dist/services/job-snapshot/index.d.ts +8 -0
- package/dist/services/job-snapshot/index.js +7 -0
- package/dist/services/job-snapshot/snapshot.d.ts +7 -0
- package/dist/services/job-snapshot/snapshot.js +75 -0
- package/dist/services/job-snapshot/types.d.ts +7 -0
- package/dist/services/job-snapshot/types.js +1 -0
- package/dist/services/karpathy-cost/karpathy-cost-check-service.d.ts +67 -0
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +108 -0
- package/dist/services/legacy/legacy-detector.d.ts +34 -0
- package/dist/services/legacy/legacy-detector.js +111 -0
- package/dist/services/log/log-commands-service.d.ts +54 -0
- package/dist/services/log/log-commands-service.js +83 -0
- package/dist/services/log/logger.d.ts +103 -0
- package/dist/services/log/logger.js +224 -0
- package/dist/services/log/redact.d.ts +32 -0
- package/dist/services/log/redact.js +89 -0
- package/dist/services/log/retention.d.ts +50 -0
- package/dist/services/log/retention.js +95 -0
- package/dist/services/loop/evaluator-dispatcher.d.ts +50 -0
- package/dist/services/loop/evaluator-dispatcher.js +552 -0
- package/dist/services/loop/loop-bee-relation-service.d.ts +107 -0
- package/dist/services/loop/loop-bee-relation-service.js +211 -0
- package/dist/services/loop/loop-bee-relation-store.d.ts +53 -0
- package/dist/services/loop/loop-bee-relation-store.js +130 -0
- package/dist/services/loop/loop-bee-relation-types.d.ts +118 -0
- package/dist/services/loop/loop-bee-relation-types.js +114 -0
- package/dist/services/loop/loop-release-service.d.ts +46 -0
- package/dist/services/loop/loop-release-service.js +66 -0
- package/dist/services/loop/loop-release-store.d.ts +55 -0
- package/dist/services/loop/loop-release-store.js +134 -0
- package/dist/services/loop/loop-release-types.d.ts +250 -0
- package/dist/services/loop/loop-release-types.js +162 -0
- package/dist/services/loop/monotonic-guard.d.ts +80 -0
- package/dist/services/loop/monotonic-guard.js +232 -0
- package/dist/services/loop/monotonic-runner.d.ts +64 -0
- package/dist/services/loop/monotonic-runner.js +270 -0
- package/dist/services/loop/run-driver.d.ts +70 -0
- package/dist/services/loop/run-driver.js +400 -0
- package/dist/services/loop/spec-service.d.ts +90 -0
- package/dist/services/loop/spec-service.js +497 -0
- package/dist/services/memory/llm-reranker.d.ts +174 -0
- package/dist/services/memory/llm-reranker.js +284 -0
- package/dist/services/memory/memory-search-service.d.ts +93 -0
- package/dist/services/memory/memory-search-service.js +117 -0
- package/dist/services/memory/project-context-service.d.ts +21 -0
- package/dist/services/memory/project-context-service.js +161 -0
- package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +8 -0
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +253 -0
- package/dist/services/memory/project-memory-service/index/ranking.d.ts +6 -0
- package/dist/services/memory/project-memory-service/index/ranking.js +171 -0
- package/dist/services/memory/project-memory-service/index/search.d.ts +34 -0
- package/dist/services/memory/project-memory-service/index/search.js +194 -0
- package/dist/services/memory/project-memory-service/index.d.ts +9 -0
- package/dist/services/memory/project-memory-service/index.js +24 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +9 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +106 -0
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.d.ts +7 -0
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +96 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +5 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.js +56 -0
- package/dist/services/memory/project-memory-service/store/paths.d.ts +8 -0
- package/dist/services/memory/project-memory-service/store/paths.js +116 -0
- package/dist/services/memory/project-memory-service/types.d.ts +128 -0
- package/dist/services/memory/project-memory-service/types.js +9 -0
- package/dist/services/memory/project-memory-service.d.ts +1 -0
- package/dist/services/memory/project-memory-service.js +20 -0
- package/dist/services/migrate-skill-name/migrate.d.ts +17 -0
- package/dist/services/migrate-skill-name/migrate.js +152 -0
- package/dist/services/migrate-skill-name/schema.d.ts +42 -0
- package/dist/services/migrate-skill-name/schema.js +25 -0
- package/dist/services/migration/v2-10-to-v2-11-service.d.ts +44 -0
- package/dist/services/migration/v2-10-to-v2-11-service.js +190 -0
- package/dist/services/migration/v2-10-to-v2-11-types.d.ts +41 -0
- package/dist/services/migration/v2-10-to-v2-11-types.js +23 -0
- package/dist/services/mode/bypass-tracker.d.ts +4 -0
- package/dist/services/mode/bypass-tracker.js +31 -0
- package/dist/services/mode/mode-enforcement.d.ts +14 -0
- package/dist/services/mode/mode-enforcement.js +84 -0
- package/dist/services/observability/aggregation.d.ts +91 -0
- package/dist/services/observability/aggregation.js +289 -0
- package/dist/services/observability/jsonl-store.d.ts +59 -0
- package/dist/services/observability/jsonl-store.js +120 -0
- package/dist/services/observability/observability-service.d.ts +161 -0
- package/dist/services/observability/observability-service.js +205 -0
- package/dist/services/observability/report-formatter.d.ts +42 -0
- package/dist/services/observability/report-formatter.js +156 -0
- package/dist/services/openspec/artifact-boundary.d.ts +138 -0
- package/dist/services/openspec/artifact-boundary.js +150 -0
- package/dist/services/openspec/coverage-evidence-reader.d.ts +191 -0
- package/dist/services/openspec/coverage-evidence-reader.js +386 -0
- package/dist/services/openspec/openspec-archive-service.d.ts +82 -0
- package/dist/services/openspec/openspec-archive-service.js +340 -0
- package/dist/services/openspec/openspec-bridge-service.d.ts +16 -0
- package/dist/services/openspec/openspec-bridge-service.js +76 -0
- package/dist/services/openspec/openspec-init-service.d.ts +23 -0
- package/dist/services/openspec/openspec-init-service.js +122 -0
- package/dist/services/openspec/openspec-propose-from-doctor-service.d.ts +31 -0
- package/dist/services/openspec/openspec-propose-from-doctor-service.js +95 -0
- package/dist/services/openspec/openspec-render-service.d.ts +38 -0
- package/dist/services/openspec/openspec-render-service.js +133 -0
- package/dist/services/openspec/openspec-scan-service.d.ts +6 -0
- package/dist/services/openspec/openspec-scan-service.js +123 -0
- package/dist/services/openspec/openspec-types.d.ts +39 -0
- package/dist/services/openspec/openspec-types.js +1 -0
- package/dist/services/openspec/openspec-validate-service.d.ts +27 -0
- package/dist/services/openspec/openspec-validate-service.js +78 -0
- package/dist/services/perf/perf-baseline-service.d.ts +70 -0
- package/dist/services/perf/perf-baseline-service.js +214 -0
- package/dist/services/polyrepo/polyrepo-dispatcher.d.ts +34 -0
- package/dist/services/polyrepo/polyrepo-dispatcher.js +119 -0
- package/dist/services/polyrepo/polyrepo-scanner.d.ts +9 -0
- package/dist/services/polyrepo/polyrepo-scanner.js +94 -0
- package/dist/services/polyrepo/polyrepo-service.d.ts +34 -0
- package/dist/services/polyrepo/polyrepo-service.js +49 -0
- package/dist/services/polyrepo/polyrepo-types.d.ts +55 -0
- package/dist/services/polyrepo/polyrepo-types.js +1 -0
- package/dist/services/prd/handoff-auto-regen.d.ts +22 -0
- package/dist/services/prd/handoff-auto-regen.js +73 -0
- package/dist/services/prd/handoff-service.d.ts +54 -0
- package/dist/services/prd/handoff-service.js +142 -0
- package/dist/services/prd/handoff-types.d.ts +64 -0
- package/dist/services/prd/handoff-types.js +22 -0
- package/dist/services/prd/prd-blocks-checker.d.ts +51 -0
- package/dist/services/prd/prd-blocks-checker.js +130 -0
- package/dist/services/prd/project-scan-bootstrap-service.d.ts +52 -0
- package/dist/services/prd/project-scan-bootstrap-service.js +445 -0
- package/dist/services/prd/project-scan-reader.d.ts +24 -0
- package/dist/services/prd/project-scan-reader.js +150 -0
- package/dist/services/prd/project-scan-sediment.d.ts +97 -0
- package/dist/services/prd/project-scan-sediment.js +445 -0
- package/dist/services/prd/project-scan-types.d.ts +66 -0
- package/dist/services/prd/project-scan-types.js +20 -0
- package/dist/services/preferences/preferences-service.d.ts +38 -0
- package/dist/services/preferences/preferences-service.js +208 -0
- package/dist/services/preferences/preferences-types.d.ts +161 -0
- package/dist/services/preferences/preferences-types.js +64 -0
- package/dist/services/profiles/profile-service.d.ts +6 -0
- package/dist/services/profiles/profile-service.js +19 -0
- package/dist/services/progress/progress-service.d.ts +125 -0
- package/dist/services/progress/progress-service.js +192 -0
- package/dist/services/proxy/proxy-service.d.ts +7 -0
- package/dist/services/proxy/proxy-service.js +31 -0
- package/dist/services/qa/browser-event-logger.d.ts +40 -0
- package/dist/services/qa/browser-event-logger.js +54 -0
- package/dist/services/qa/browser-restart-detector.d.ts +74 -0
- package/dist/services/qa/browser-restart-detector.js +138 -0
- package/dist/services/qa/browser-reuse-hint.d.ts +18 -0
- package/dist/services/qa/browser-reuse-hint.js +18 -0
- package/dist/services/qa/browser-wrapper-service.d.ts +37 -0
- package/dist/services/qa/browser-wrapper-service.js +88 -0
- package/dist/services/qa/qa-business-review-state.d.ts +47 -0
- package/dist/services/qa/qa-business-review-state.js +96 -0
- package/dist/services/qa/screenshot-archive-service.d.ts +51 -0
- package/dist/services/qa/screenshot-archive-service.js +134 -0
- package/dist/services/rd/ast-gate.d.ts +19 -0
- package/dist/services/rd/ast-gate.js +71 -0
- package/dist/services/rd/impl.d.ts +9 -0
- package/dist/services/rd/impl.js +57 -0
- package/dist/services/rd/rd-service.d.ts +129 -0
- package/dist/services/rd/rd-service.js +440 -0
- package/dist/services/rd/reviewer-dispatch-policy.d.ts +122 -0
- package/dist/services/rd/reviewer-dispatch-policy.js +148 -0
- package/dist/services/rd/standards-diagnostic.d.ts +76 -0
- package/dist/services/rd/standards-diagnostic.js +166 -0
- package/dist/services/rd/strategic-stage.d.ts +4 -0
- package/dist/services/rd/strategic-stage.js +15 -0
- package/dist/services/rd/strategy.d.ts +13 -0
- package/dist/services/rd/strategy.js +60 -0
- package/dist/services/rd/tactical-stage.d.ts +33 -0
- package/dist/services/rd/tactical-stage.js +62 -0
- package/dist/services/rd/types.d.ts +252 -0
- package/dist/services/rd/types.js +47 -0
- package/dist/services/rd-swarm/rd-swarm-service.d.ts +60 -0
- package/dist/services/rd-swarm/rd-swarm-service.js +93 -0
- package/dist/services/recommendations/capability-availability.d.ts +5 -0
- package/dist/services/recommendations/capability-availability.js +40 -0
- package/dist/services/recommendations/capability-map-service.d.ts +7 -0
- package/dist/services/recommendations/capability-map-service.js +131 -0
- package/dist/services/recommendations/capability-seed-items.d.ts +2 -0
- package/dist/services/recommendations/capability-seed-items.js +139 -0
- package/dist/services/recommendations/capability-seed-mappings.d.ts +2 -0
- package/dist/services/recommendations/capability-seed-mappings.js +53 -0
- package/dist/services/recommendations/capability-seed-sources.d.ts +2 -0
- package/dist/services/recommendations/capability-seed-sources.js +34 -0
- package/dist/services/recommendations/recommendation-service.d.ts +8 -0
- package/dist/services/recommendations/recommendation-service.js +106 -0
- package/dist/services/recommendations/recommendation-types.d.ts +129 -0
- package/dist/services/recommendations/recommendation-types.js +1 -0
- package/dist/services/recommendations/seed-capability-catalog.d.ts +3 -0
- package/dist/services/recommendations/seed-capability-catalog.js +3 -0
- package/dist/services/refactor/refactor-service.d.ts +9 -0
- package/dist/services/refactor/refactor-service.js +36 -0
- package/dist/services/release/release-state.d.ts +70 -0
- package/dist/services/release/release-state.js +140 -0
- package/dist/services/release/version-precheck-service.d.ts +51 -0
- package/dist/services/release/version-precheck-service.js +257 -0
- package/dist/services/retrospective/retrospective-index.d.ts +37 -0
- package/dist/services/retrospective/retrospective-index.js +110 -0
- package/dist/services/retrospective/retrospective-search-service.d.ts +55 -0
- package/dist/services/retrospective/retrospective-search-service.js +107 -0
- package/dist/services/retrospective/retrospective-show.d.ts +40 -0
- package/dist/services/retrospective/retrospective-show.js +109 -0
- package/dist/services/reviewer/model-family.d.ts +18 -0
- package/dist/services/reviewer/model-family.js +70 -0
- package/dist/services/reviewer/providers/anthropic.d.ts +2 -0
- package/dist/services/reviewer/providers/anthropic.js +61 -0
- package/dist/services/reviewer/providers/ollama.d.ts +26 -0
- package/dist/services/reviewer/providers/ollama.js +38 -0
- package/dist/services/reviewer/providers/openai.d.ts +2 -0
- package/dist/services/reviewer/providers/openai.js +63 -0
- package/dist/services/reviewer/reviewer-config.d.ts +34 -0
- package/dist/services/reviewer/reviewer-config.js +100 -0
- package/dist/services/reviewer/reviewer-service.d.ts +56 -0
- package/dist/services/reviewer/reviewer-service.js +263 -0
- package/dist/services/reviewer/selection-strategies.d.ts +27 -0
- package/dist/services/reviewer/selection-strategies.js +53 -0
- package/dist/services/role/role-registry.d.ts +38 -0
- package/dist/services/role/role-registry.js +83 -0
- package/dist/services/runtime/runtime-detector.d.ts +15 -0
- package/dist/services/runtime/runtime-detector.js +62 -0
- package/dist/services/runtime/runtime-service.d.ts +59 -0
- package/dist/services/runtime/runtime-service.js +51 -0
- package/dist/services/runtime/vendor-adapter.d.ts +59 -0
- package/dist/services/runtime/vendor-adapter.js +1 -0
- package/dist/services/runtime/vendors/claude-code.d.ts +7 -0
- package/dist/services/runtime/vendors/claude-code.js +39 -0
- package/dist/services/runtime/vendors/codex.d.ts +7 -0
- package/dist/services/runtime/vendors/codex.js +43 -0
- package/dist/services/runtime/vendors/copilot.d.ts +7 -0
- package/dist/services/runtime/vendors/copilot.js +40 -0
- package/dist/services/sc/index.d.ts +1 -0
- package/dist/services/sc/index.js +1 -0
- package/dist/services/sc/sc-service.d.ts +131 -0
- package/dist/services/sc/sc-service.js +552 -0
- package/dist/services/scan/acceptance-coverage-service.d.ts +42 -0
- package/dist/services/scan/acceptance-coverage-service.js +140 -0
- package/dist/services/scan/api-surface-service.d.ts +69 -0
- package/dist/services/scan/api-surface-service.js +239 -0
- package/dist/services/scan/archetype-service.d.ts +5 -0
- package/dist/services/scan/archetype-service.js +254 -0
- package/dist/services/scan/diff-scope-service.d.ts +40 -0
- package/dist/services/scan/diff-scope-service.js +198 -0
- package/dist/services/scan/existing-system-service.d.ts +7 -0
- package/dist/services/scan/existing-system-service.js +300 -0
- package/dist/services/scan/file-size-scan.d.ts +23 -0
- package/dist/services/scan/file-size-scan.js +68 -0
- package/dist/services/scan/karpathy-service.d.ts +60 -0
- package/dist/services/scan/karpathy-service.js +228 -0
- package/dist/services/scan/libraries-service.d.ts +24 -0
- package/dist/services/scan/libraries-service.js +419 -0
- package/dist/services/scan/libraries-types.d.ts +59 -0
- package/dist/services/scan/libraries-types.js +9 -0
- package/dist/services/scan/orphan-service.d.ts +76 -0
- package/dist/services/scan/orphan-service.js +538 -0
- package/dist/services/scan/scan-types.d.ts +59 -0
- package/dist/services/scan/scan-types.js +1 -0
- package/dist/services/scan/type-sanity-service.d.ts +23 -0
- package/dist/services/scan/type-sanity-service.js +116 -0
- package/dist/services/security/safe-settings-path.d.ts +12 -0
- package/dist/services/security/safe-settings-path.js +104 -0
- package/dist/services/sediment/dispose-confirm.d.ts +9 -0
- package/dist/services/sediment/dispose-confirm.js +5 -0
- package/dist/services/sediment/json-schema.d.ts +247 -0
- package/dist/services/sediment/json-schema.js +26 -0
- package/dist/services/sediment/manifest-lint.d.ts +13 -0
- package/dist/services/sediment/manifest-lint.js +11 -0
- package/dist/services/sediment/pool-paths.d.ts +22 -0
- package/dist/services/sediment/pool-paths.js +25 -0
- package/dist/services/sediment/pool-read.d.ts +20 -0
- package/dist/services/sediment/pool-read.js +73 -0
- package/dist/services/sediment/pool-rebuild-index.d.ts +15 -0
- package/dist/services/sediment/pool-rebuild-index.js +28 -0
- package/dist/services/sediment/pool-write.d.ts +14 -0
- package/dist/services/sediment/pool-write.js +25 -0
- package/dist/services/sediment/promotion-gate.d.ts +12 -0
- package/dist/services/sediment/promotion-gate.js +20 -0
- package/dist/services/sediment/types.d.ts +52 -0
- package/dist/services/sediment/types.js +1 -0
- package/dist/services/session/binding-status-service.d.ts +56 -0
- package/dist/services/session/binding-status-service.js +106 -0
- package/dist/services/session/binding-store.d.ts +161 -0
- package/dist/services/session/binding-store.js +509 -0
- package/dist/services/session/caller-binding-service.d.ts +70 -0
- package/dist/services/session/caller-binding-service.js +148 -0
- package/dist/services/session/caller-id-types.d.ts +77 -0
- package/dist/services/session/caller-id-types.js +46 -0
- package/dist/services/session/getSessionDir.d.ts +1 -0
- package/dist/services/session/getSessionDir.js +27 -0
- package/dist/services/session/index.d.ts +6 -0
- package/dist/services/session/index.js +7 -0
- package/dist/services/session/platform-fallbacks.d.ts +31 -0
- package/dist/services/session/platform-fallbacks.js +35 -0
- package/dist/services/session/resolve-caller-id.d.ts +57 -0
- package/dist/services/session/resolve-caller-id.js +88 -0
- package/dist/services/session/session-binding-bridge.d.ts +76 -0
- package/dist/services/session/session-binding-bridge.js +247 -0
- package/dist/services/session/session-checkpoint-service.d.ts +57 -0
- package/dist/services/session/session-checkpoint-service.js +143 -0
- package/dist/services/session/session-manager.d.ts +168 -0
- package/dist/services/session/session-manager.js +502 -0
- package/dist/services/session/session-resume-service.d.ts +25 -0
- package/dist/services/session/session-resume-service.js +101 -0
- package/dist/services/share/bundle-reader.d.ts +100 -0
- package/dist/services/share/bundle-reader.js +434 -0
- package/dist/services/share/bundle-types.d.ts +392 -0
- package/dist/services/share/bundle-types.js +318 -0
- package/dist/services/share/bundle-writer.d.ts +97 -0
- package/dist/services/share/bundle-writer.js +429 -0
- package/dist/services/share/run-state-contract.d.ts +133 -0
- package/dist/services/share/run-state-contract.js +138 -0
- package/dist/services/signal/cancel-handler.d.ts +14 -0
- package/dist/services/signal/cancel-handler.js +76 -0
- package/dist/services/skill/resume-detector.d.ts +54 -0
- package/dist/services/skill/resume-detector.js +334 -0
- package/dist/services/skill/skill-scheduler.d.ts +40 -0
- package/dist/services/skill/skill-scheduler.js +53 -0
- package/dist/services/skill/skill-search-service.d.ts +93 -0
- package/dist/services/skill/skill-search-service.js +232 -0
- package/dist/services/skillhub/migrations/001-initial.sql +71 -0
- package/dist/services/skillhub/migrations/002-loop-release.sql +32 -0
- package/dist/services/skillhub/migrations/003-loop-bee-relation.sql +35 -0
- package/dist/services/skillhub/migrations/004-loop-bee-extension.sql +65 -0
- package/dist/services/skillhub/migrations/005-evolution-evaluation.sql +81 -0
- package/dist/services/skillhub/migrations/006-crystallization-event.sql +92 -0
- package/dist/services/skillhub/release-diff.d.ts +18 -0
- package/dist/services/skillhub/release-diff.js +38 -0
- package/dist/services/skillhub/release-export.d.ts +8 -0
- package/dist/services/skillhub/release-export.js +31 -0
- package/dist/services/skillhub/release-gc-blobs.d.ts +13 -0
- package/dist/services/skillhub/release-gc-blobs.js +32 -0
- package/dist/services/skillhub/release-import.d.ts +7 -0
- package/dist/services/skillhub/release-import.js +64 -0
- package/dist/services/skillhub/release-retain.d.ts +23 -0
- package/dist/services/skillhub/release-retain.js +94 -0
- package/dist/services/skillhub/sqlite-store.d.ts +22 -0
- package/dist/services/skillhub/sqlite-store.js +63 -0
- package/dist/services/skillhub/tar-runtime.d.ts +21 -0
- package/dist/services/skillhub/tar-runtime.js +91 -0
- package/dist/services/skillhub/types.d.ts +115 -0
- package/dist/services/skillhub/types.js +1 -0
- package/dist/services/skills/hooks-settings-service.d.ts +212 -0
- package/dist/services/skills/hooks-settings-service.js +624 -0
- package/dist/services/skills/skill-conformance-service.d.ts +40 -0
- package/dist/services/skills/skill-conformance-service.js +139 -0
- package/dist/services/skills/skill-presence-service.d.ts +158 -0
- package/dist/services/skills/skill-presence-service.js +474 -0
- package/dist/services/skills/skill-registry.d.ts +18 -0
- package/dist/services/skills/skill-registry.js +69 -0
- package/dist/services/skills/skill-runbook-service.d.ts +11 -0
- package/dist/services/skills/skill-runbook-service.js +128 -0
- package/dist/services/skills/skill-statusline-renderer.d.ts +6 -0
- package/dist/services/skills/skill-statusline-renderer.js +55 -0
- package/dist/services/skills/skill-statusline-service.d.ts +24 -0
- package/dist/services/skills/skill-statusline-service.js +110 -0
- package/dist/services/skills/statusline-settings-service.d.ts +59 -0
- package/dist/services/skills/statusline-settings-service.js +141 -0
- package/dist/services/skills/sync-service.d.ts +86 -0
- package/dist/services/skills/sync-service.js +271 -0
- package/dist/services/slice/calibration-store.d.ts +39 -0
- package/dist/services/slice/calibration-store.js +68 -0
- package/dist/services/slice/cross-pass-edge-merger.d.ts +53 -0
- package/dist/services/slice/cross-pass-edge-merger.js +246 -0
- package/dist/services/slice/granularity-decider.d.ts +37 -0
- package/dist/services/slice/granularity-decider.js +40 -0
- package/dist/services/slice/llm-arbitrator.d.ts +35 -0
- package/dist/services/slice/llm-arbitrator.js +63 -0
- package/dist/services/slice/multi-pass-orchestrator.d.ts +67 -0
- package/dist/services/slice/multi-pass-orchestrator.js +225 -0
- package/dist/services/slice/schema-router.d.ts +44 -0
- package/dist/services/slice/schema-router.js +61 -0
- package/dist/services/slice/slice-archive-service.d.ts +20 -0
- package/dist/services/slice/slice-archive-service.js +111 -0
- package/dist/services/slice/slice-benchmark-service.d.ts +19 -0
- package/dist/services/slice/slice-benchmark-service.js +60 -0
- package/dist/services/slice/slice-check-service.d.ts +2 -0
- package/dist/services/slice/slice-check-service.js +459 -0
- package/dist/services/slice/slice-check-types.d.ts +104 -0
- package/dist/services/slice/slice-check-types.js +28 -0
- package/dist/services/slice/slice-decompose-runners.d.ts +23 -0
- package/dist/services/slice/slice-decompose-runners.js +174 -0
- package/dist/services/slice/slice-decompose-service.d.ts +24 -0
- package/dist/services/slice/slice-decompose-service.js +532 -0
- package/dist/services/slice/slice-decompose-types.d.ts +263 -0
- package/dist/services/slice/slice-decompose-types.js +30 -0
- package/dist/services/slice/slice-integration.d.ts +43 -0
- package/dist/services/slice/slice-integration.js +106 -0
- package/dist/services/slice/slice-pick-service.d.ts +32 -0
- package/dist/services/slice/slice-pick-service.js +75 -0
- package/dist/services/slice/slice-review-state.d.ts +70 -0
- package/dist/services/slice/slice-review-state.js +109 -0
- package/dist/services/slice/slice-topology-types.d.ts +115 -0
- package/dist/services/slice/slice-topology-types.js +20 -0
- package/dist/services/smoke/smoke-paths-state.d.ts +73 -0
- package/dist/services/smoke/smoke-paths-state.js +117 -0
- package/dist/services/sop/gate-enforce-service.d.ts +33 -0
- package/dist/services/sop/gate-enforce-service.js +168 -0
- package/dist/services/sop/sop-advance-service.d.ts +74 -0
- package/dist/services/sop/sop-advance-service.js +115 -0
- package/dist/services/sop/sop-check-service.d.ts +45 -0
- package/dist/services/sop/sop-check-service.js +181 -0
- package/dist/services/sop/sop-paths.d.ts +62 -0
- package/dist/services/sop/sop-paths.js +92 -0
- package/dist/services/sop/sop-registry-service.d.ts +46 -0
- package/dist/services/sop/sop-registry-service.js +89 -0
- package/dist/services/sop/sop-service.d.ts +55 -0
- package/dist/services/sop/sop-service.js +222 -0
- package/dist/services/sop/sop-types.d.ts +95 -0
- package/dist/services/sop/sop-types.js +11 -0
- package/dist/services/standards/ide-aware-standards-service.d.ts +94 -0
- package/dist/services/standards/ide-aware-standards-service.js +91 -0
- package/dist/services/standards/loop-engineering-lint.d.ts +38 -0
- package/dist/services/standards/loop-engineering-lint.js +101 -0
- package/dist/services/standards/loop-engineering-readiness-lint.d.ts +111 -0
- package/dist/services/standards/loop-engineering-readiness-lint.js +248 -0
- package/dist/services/standards/main-session-monitor-ban-hook.d.ts +14 -0
- package/dist/services/standards/main-session-monitor-ban-hook.js +19 -0
- package/dist/services/standards/migrate-claude-rules-service.d.ts +19 -0
- package/dist/services/standards/migrate-claude-rules-service.js +214 -0
- package/dist/services/standards/migrate-service.d.ts +63 -0
- package/dist/services/standards/migrate-service.js +193 -0
- package/dist/services/standards/missing-standards-detector.d.ts +106 -0
- package/dist/services/standards/missing-standards-detector.js +170 -0
- package/dist/services/standards/project-context.d.ts +24 -0
- package/dist/services/standards/project-context.js +314 -0
- package/dist/services/standards/project-standards-service.d.ts +114 -0
- package/dist/services/standards/project-standards-service.js +693 -0
- package/dist/services/tech/tech-change-id-service.d.ts +82 -0
- package/dist/services/tech/tech-change-id-service.js +117 -0
- package/dist/services/tech/tech-service.d.ts +69 -0
- package/dist/services/tech/tech-service.js +299 -0
- package/dist/services/test-cache/test-cache-service.d.ts +70 -0
- package/dist/services/test-cache/test-cache-service.js +175 -0
- package/dist/services/understand/hybrid-types.d.ts +32 -0
- package/dist/services/understand/hybrid-types.js +1 -0
- package/dist/services/understand/understand-hybrid-service.d.ts +10 -0
- package/dist/services/understand/understand-hybrid-service.js +100 -0
- package/dist/services/understand/understand-scan-service.d.ts +28 -0
- package/dist/services/understand/understand-scan-service.js +170 -0
- package/dist/services/understand/understand-types.d.ts +50 -0
- package/dist/services/understand/understand-types.js +1 -0
- package/dist/services/upgrade/1x-detector-service.d.ts +7 -0
- package/dist/services/upgrade/1x-detector-service.js +94 -0
- package/dist/services/upgrade/gitignore-migrate-service.d.ts +56 -0
- package/dist/services/upgrade/gitignore-migrate-service.js +170 -0
- package/dist/services/upgrade/upgrade-service.d.ts +81 -0
- package/dist/services/upgrade/upgrade-service.js +404 -0
- package/dist/services/verdict/envelopes.d.ts +93 -0
- package/dist/services/verdict/envelopes.js +349 -0
- package/dist/services/verdict/verdict-aggregator.d.ts +94 -0
- package/dist/services/verdict/verdict-aggregator.js +112 -0
- package/dist/services/vm/vm-lease.d.ts +40 -0
- package/dist/services/vm/vm-lease.js +137 -0
- package/dist/services/workflow/artifact-paths.d.ts +59 -0
- package/dist/services/workflow/artifact-paths.js +166 -0
- package/dist/services/workflow/autonomous-resume-writer.d.ts +16 -0
- package/dist/services/workflow/autonomous-resume-writer.js +170 -0
- package/dist/services/workflow/pipeline-verify-gate-support.d.ts +47 -0
- package/dist/services/workflow/pipeline-verify-gate-support.js +194 -0
- package/dist/services/workflow/pipeline-verify-service.d.ts +26 -0
- package/dist/services/workflow/pipeline-verify-service.js +273 -0
- package/dist/services/workflow/pipeline-verify-types.d.ts +90 -0
- package/dist/services/workflow/pipeline-verify-types.js +10 -0
- package/dist/services/workflow/plan-reader.d.ts +29 -0
- package/dist/services/workflow/plan-reader.js +174 -0
- package/dist/services/workflow/plan-refresher.d.ts +32 -0
- package/dist/services/workflow/plan-refresher.js +353 -0
- package/dist/services/workflow/plan-trigger-detector.d.ts +55 -0
- package/dist/services/workflow/plan-trigger-detector.js +142 -0
- package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +19 -0
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +300 -0
- package/dist/services/workflow/workflow-autonomous-service.d.ts +4 -0
- package/dist/services/workflow/workflow-autonomous-service.js +306 -0
- package/dist/services/workflow/workflow-autonomous-types.d.ts +114 -0
- package/dist/services/workflow/workflow-autonomous-types.js +21 -0
- package/dist/services/workflow/workflow-loader.d.ts +63 -0
- package/dist/services/workflow/workflow-loader.js +168 -0
- package/dist/services/workflow/workflow-router-service.d.ts +85 -0
- package/dist/services/workflow/workflow-router-service.js +235 -0
- package/dist/services/workflow/workflow-skip-service.d.ts +106 -0
- package/dist/services/workflow/workflow-skip-service.js +209 -0
- package/dist/services/workflow/workflow-spec-lint.d.ts +13 -0
- package/dist/services/workflow/workflow-spec-lint.js +75 -0
- package/dist/services/workflow/workflow-spec-types.d.ts +100 -0
- package/dist/services/workflow/workflow-spec-types.js +13 -0
- package/dist/services/workflow/workflow-spec-yaml.d.ts +17 -0
- package/dist/services/workflow/workflow-spec-yaml.js +88 -0
- package/dist/services/workflow/workflow-spec.d.ts +36 -0
- package/dist/services/workflow/workflow-spec.js +302 -0
- package/dist/services/workflow/workflow-state-store.d.ts +27 -0
- package/dist/services/workflow/workflow-state-store.js +95 -0
- package/dist/services/workspace/claude-settings-template.d.ts +101 -0
- package/dist/services/workspace/claude-settings-template.js +254 -0
- package/dist/services/workspace/migrate-1-4-1-service.d.ts +44 -0
- package/dist/services/workspace/migrate-1-4-1-service.js +195 -0
- package/dist/services/workspace/migrate-service.d.ts +2 -0
- package/dist/services/workspace/migrate-service.js +613 -0
- package/dist/services/workspace/migrate-types.d.ts +127 -0
- package/dist/services/workspace/migrate-types.js +21 -0
- package/dist/services/workspace/reconcile-service.d.ts +188 -0
- package/dist/services/workspace/reconcile-service.js +683 -0
- package/dist/services/workspace/reconcile-types.d.ts +130 -0
- package/dist/services/workspace/reconcile-types.js +13 -0
- package/dist/services/workspace/sid-naming-guard.d.ts +17 -0
- package/dist/services/workspace/sid-naming-guard.js +34 -0
- package/dist/services/workspace/templates/project-scan/audit-output-schema.md +100 -0
- package/dist/services/workspace/templates/project-scan/business-knowledge.md +44 -0
- package/dist/services/workspace/templates/project-scan/index.d.ts +34 -0
- package/dist/services/workspace/templates/project-scan/index.js +60 -0
- package/dist/services/workspace/templates/project-scan/perf-template.md +109 -0
- package/dist/services/workspace/templates/project-scan/security-template.md +99 -0
- package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +45 -0
- package/dist/services/workspace/workspace-claude-settings-materializer.js +194 -0
- package/dist/services/workspace/workspace-clean-service.d.ts +28 -0
- package/dist/services/workspace/workspace-clean-service.js +46 -0
- package/dist/services/workspace/workspace-service.d.ts +177 -0
- package/dist/services/workspace/workspace-service.js +432 -0
- package/dist/services/workspace/workspace-state-service.d.ts +7 -0
- package/dist/services/workspace/workspace-state-service.js +43 -0
- package/dist/services/worktree/worktree-lease.d.ts +170 -0
- package/dist/services/worktree/worktree-lease.js +242 -0
- package/dist/shared/format-md-compact.d.ts +32 -0
- package/dist/shared/format-md-compact.js +297 -0
- package/dist/shared/frontmatter.d.ts +6 -0
- package/dist/shared/frontmatter.js +165 -0
- package/dist/shared/fs-utils.d.ts +4 -0
- package/dist/shared/fs-utils.js +16 -0
- package/dist/shared/incrementing-number.d.ts +23 -0
- package/dist/shared/incrementing-number.js +68 -0
- package/dist/shared/json-schema-mini.d.ts +10 -0
- package/dist/shared/json-schema-mini.js +113 -0
- package/dist/shared/path-safety.d.ts +21 -0
- package/dist/shared/path-safety.js +54 -0
- package/dist/shared/path-utils.d.ts +13 -0
- package/dist/shared/path-utils.js +56 -0
- package/dist/shared/planner-response.d.ts +21 -0
- package/dist/shared/planner-response.js +26 -0
- package/dist/shared/platform.d.ts +6 -0
- package/dist/shared/platform.js +11 -0
- package/dist/shared/process.d.ts +5 -0
- package/dist/shared/process.js +12 -0
- package/dist/shared/stale-policy.d.ts +67 -0
- package/dist/shared/stale-policy.js +85 -0
- package/dist/skills/peaks-maker/index.d.ts +5 -0
- package/dist/skills/peaks-maker/index.js +32 -0
- package/package.json +51 -54
- package/scripts/clean-dist.mjs +31 -1
- package/scripts/copy-templates.mjs +17 -1
- package/scripts/sync-version.mjs +53 -2
- package/skills/bee/peaks-perf-audit/SKILL.md +17 -0
- package/skills/bee/peaks-prd/SKILL.md +16 -0
- package/skills/bee/peaks-prd/test-prompts.json +12 -0
- package/skills/bee/peaks-qa/SKILL.md +16 -1
- package/skills/bee/peaks-qa/references/qa-sub-agent-dispatch.md +22 -0
- package/skills/bee/peaks-qa/test-prompts.json +12 -0
- package/skills/bee/peaks-rd/SKILL.md +29 -20
- package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +39 -0
- package/skills/bee/peaks-rd/test-prompts.json +12 -0
- package/skills/bee/peaks-reviewer/SKILL.md +17 -0
- package/skills/bee/peaks-sc/SKILL.md +16 -0
- package/skills/bee/peaks-security-audit/SKILL.md +17 -0
- package/skills/bee/peaks-txt/SKILL.md +16 -0
- package/skills/bee/peaks-txt/test-prompts.json +12 -0
- package/skills/bee/peaks-ui/SKILL.md +49 -43
- package/skills/bee/peaks-ui/test-prompts.json +12 -0
- package/skills/peaks-code/SKILL.md +54 -109
- package/skills/peaks-code/references/boundaries.md +15 -1
- package/skills/peaks-code/references/cron-scheduler-deployment.md +313 -0
- package/skills/peaks-code/references/external-skill-invocation.md +27 -0
- package/skills/peaks-code/references/lease-dashboard.html +224 -0
- package/skills/peaks-code/references/lease-stats.sample.json +26 -0
- package/skills/peaks-code/references/peaks-worktree-l2-enforcers.md +208 -0
- package/skills/peaks-code/references/periodic-checkpoint.md +4 -4
- package/skills/peaks-code/references/runbook.md +63 -1
- package/skills/peaks-code/references/startup-sequence.md +110 -0
- package/skills/peaks-code/references/step-0-8-gate.md +1 -1
- package/skills/peaks-code/references/sub-agent-dispatch.md +92 -1
- package/skills/peaks-code/references/worktree-governance.md +123 -0
- package/skills/peaks-code/test-prompts.json +12 -0
- package/skills/peaks-doctor/SKILL.md +1 -1
- package/skills/peaks-ide/SKILL.md +1 -1
- package/skills/peaks-solo/SKILL.md +21 -0
- package/skills/peaks-solo/references/triage-decision-table.md +6 -0
- package/skills/peaks-sop/test-prompts.json +17 -0
- package/examples/video-demo/README.md +0 -142
- package/examples/video-demo/out/en-closing-960.png +0 -0
- package/examples/video-demo/out/zh-closing-960.png +0 -0
- package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
- package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* container-lease — pure-function lease store for `peaks container spawn`.
|
|
3
|
+
*
|
|
4
|
+
* Slice 2026-07-29-worktree-l2-extended Part 12 (L4 container
|
|
5
|
+
* runtime). Mirrors the design of `worktree-lease.ts` (Part 1):
|
|
6
|
+
* - Pure function module: every helper takes the lease
|
|
7
|
+
* directory path as an argument and returns structured data.
|
|
8
|
+
* Atomic filesystem writes happen at the call site (CLI
|
|
9
|
+
* command), keeping the helpers trivially testable.
|
|
10
|
+
* - Lifecycle states: active → released/expired/gc, irreversible
|
|
11
|
+
* once terminal.
|
|
12
|
+
* - The CLI in `src/cli/commands/container-commands.ts` writes
|
|
13
|
+
* the lease file and runs `docker run` / `docker rm`; the
|
|
14
|
+
* `peaks sub-agent dispatch --isolation container` command
|
|
15
|
+
* (Part 8) shells out to the spawn CLI and persists the
|
|
16
|
+
* leaseId on the dispatch record (v3 schema).
|
|
17
|
+
*
|
|
18
|
+
* Why a separate lease (not reusing the worktree one): the two
|
|
19
|
+
* isolation modes have different lifecycles, different runtime
|
|
20
|
+
* commands, and different env-var hooks for the PreToolUse
|
|
21
|
+
* gate. Reusing the worktree lease would have made the lease
|
|
22
|
+
* file schema bimodal (worktree-or-container in every field).
|
|
23
|
+
* Two thin modules is cleaner than one thick one.
|
|
24
|
+
*
|
|
25
|
+
* Note: container runtime is docker-only for Part 12. podman
|
|
26
|
+
* support (drop-in CLI-compatible for `run` / `rm` / `ps`) is
|
|
27
|
+
* a follow-up; the runtime-agnostic interface lives in
|
|
28
|
+
* container-runtime.ts (next slice).
|
|
29
|
+
*/
|
|
30
|
+
export declare const DEFAULT_TTL_BY_ROLE: Readonly<Record<string, number>>;
|
|
31
|
+
export declare const DEFAULT_TTL_MS: number | undefined;
|
|
32
|
+
export type ContainerLeaseStatus = 'active' | 'released' | 'expired' | 'gc';
|
|
33
|
+
export interface ContainerLease {
|
|
34
|
+
readonly leaseId: string;
|
|
35
|
+
/** The peaks request id (rid) that the lease was spawned for. */
|
|
36
|
+
readonly rid: string;
|
|
37
|
+
/** Sub-agent role (rd | qa | ui | sc | prd | general-purpose | ...). */
|
|
38
|
+
readonly role: string;
|
|
39
|
+
/** Absolute container working dir (mounted into the container). */
|
|
40
|
+
readonly path: string;
|
|
41
|
+
/** Docker image name (e.g. `node:22-slim`). */
|
|
42
|
+
readonly image: string;
|
|
43
|
+
/** Container id reported by `docker run`. */
|
|
44
|
+
readonly containerId: string;
|
|
45
|
+
/** Unix epoch ms when the lease was created. */
|
|
46
|
+
readonly createdAt: number;
|
|
47
|
+
/** Unix epoch ms when the lease expires. */
|
|
48
|
+
readonly expiresAt: number;
|
|
49
|
+
/** Operator-supplied purpose text (audit log). */
|
|
50
|
+
readonly purpose: string;
|
|
51
|
+
readonly status: ContainerLeaseStatus;
|
|
52
|
+
readonly consumedBySubAgents: ReadonlyArray<string>;
|
|
53
|
+
}
|
|
54
|
+
export type ContainerLeaseDraft = Omit<ContainerLease, 'status' | 'consumedBySubAgents'>;
|
|
55
|
+
export declare function containerLeaseStoreDir(sessionRuntimeDir: string): string;
|
|
56
|
+
export declare function containerLeaseFilePath(sessionRuntimeDir: string, leaseId: string): string;
|
|
57
|
+
/** Pure: generate a 16-hex lease id (8 random bytes, hex-encoded). */
|
|
58
|
+
export declare function generateContainerLeaseId(): string;
|
|
59
|
+
export declare function ttlForContainerRole(role: string): number;
|
|
60
|
+
export declare function finalizeContainerLease(draft: ContainerLeaseDraft): ContainerLease;
|
|
61
|
+
export declare function markContainerReleased(lease: ContainerLease): ContainerLease;
|
|
62
|
+
export declare function markContainerExpired(lease: ContainerLease): ContainerLease;
|
|
63
|
+
export declare function markContainerGc(lease: ContainerLease): ContainerLease;
|
|
64
|
+
export declare function recordContainerConsumption(lease: ContainerLease, subAgentId: string): ContainerLease;
|
|
65
|
+
export declare function isContainerLeaseActive(lease: ContainerLease, now?: number): boolean;
|
|
66
|
+
export declare function serializeContainerLease(lease: ContainerLease): string;
|
|
67
|
+
export declare function deserializeContainerLease(raw: string): ContainerLease;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* container-lease — pure-function lease store for `peaks container spawn`.
|
|
3
|
+
*
|
|
4
|
+
* Slice 2026-07-29-worktree-l2-extended Part 12 (L4 container
|
|
5
|
+
* runtime). Mirrors the design of `worktree-lease.ts` (Part 1):
|
|
6
|
+
* - Pure function module: every helper takes the lease
|
|
7
|
+
* directory path as an argument and returns structured data.
|
|
8
|
+
* Atomic filesystem writes happen at the call site (CLI
|
|
9
|
+
* command), keeping the helpers trivially testable.
|
|
10
|
+
* - Lifecycle states: active → released/expired/gc, irreversible
|
|
11
|
+
* once terminal.
|
|
12
|
+
* - The CLI in `src/cli/commands/container-commands.ts` writes
|
|
13
|
+
* the lease file and runs `docker run` / `docker rm`; the
|
|
14
|
+
* `peaks sub-agent dispatch --isolation container` command
|
|
15
|
+
* (Part 8) shells out to the spawn CLI and persists the
|
|
16
|
+
* leaseId on the dispatch record (v3 schema).
|
|
17
|
+
*
|
|
18
|
+
* Why a separate lease (not reusing the worktree one): the two
|
|
19
|
+
* isolation modes have different lifecycles, different runtime
|
|
20
|
+
* commands, and different env-var hooks for the PreToolUse
|
|
21
|
+
* gate. Reusing the worktree lease would have made the lease
|
|
22
|
+
* file schema bimodal (worktree-or-container in every field).
|
|
23
|
+
* Two thin modules is cleaner than one thick one.
|
|
24
|
+
*
|
|
25
|
+
* Note: container runtime is docker-only for Part 12. podman
|
|
26
|
+
* support (drop-in CLI-compatible for `run` / `rm` / `ps`) is
|
|
27
|
+
* a follow-up; the runtime-agnostic interface lives in
|
|
28
|
+
* container-runtime.ts (next slice).
|
|
29
|
+
*/
|
|
30
|
+
import { randomBytes } from 'node:crypto';
|
|
31
|
+
import { posix as path } from 'node:path';
|
|
32
|
+
export const DEFAULT_TTL_BY_ROLE = Object.freeze({
|
|
33
|
+
rd: 30 * 60 * 1_000,
|
|
34
|
+
qa: 15 * 60 * 1_000,
|
|
35
|
+
ui: 60 * 60 * 1_000,
|
|
36
|
+
sc: 30 * 60 * 1_000,
|
|
37
|
+
prd: 15 * 60 * 1_000,
|
|
38
|
+
general: 30 * 60 * 1_000
|
|
39
|
+
});
|
|
40
|
+
export const DEFAULT_TTL_MS = DEFAULT_TTL_BY_ROLE.rd;
|
|
41
|
+
export function containerLeaseStoreDir(sessionRuntimeDir) {
|
|
42
|
+
return joinPath(sessionRuntimeDir, 'container-leases');
|
|
43
|
+
}
|
|
44
|
+
export function containerLeaseFilePath(sessionRuntimeDir, leaseId) {
|
|
45
|
+
return joinPath(containerLeaseStoreDir(sessionRuntimeDir), `${leaseId}.json`);
|
|
46
|
+
}
|
|
47
|
+
/** Pure: generate a 16-hex lease id (8 random bytes, hex-encoded). */
|
|
48
|
+
export function generateContainerLeaseId() {
|
|
49
|
+
return randomBytes(8).toString('hex');
|
|
50
|
+
}
|
|
51
|
+
export function ttlForContainerRole(role) {
|
|
52
|
+
const normalized = role.toLowerCase();
|
|
53
|
+
const candidate = DEFAULT_TTL_BY_ROLE[normalized];
|
|
54
|
+
const fallback = DEFAULT_TTL_BY_ROLE['rd'] ?? 30 * 60 * 1_000;
|
|
55
|
+
return candidate ?? fallback;
|
|
56
|
+
}
|
|
57
|
+
export function finalizeContainerLease(draft) {
|
|
58
|
+
return {
|
|
59
|
+
...draft,
|
|
60
|
+
status: 'active',
|
|
61
|
+
consumedBySubAgents: []
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export function markContainerReleased(lease) {
|
|
65
|
+
return { ...lease, status: 'released' };
|
|
66
|
+
}
|
|
67
|
+
export function markContainerExpired(lease) {
|
|
68
|
+
return { ...lease, status: 'expired' };
|
|
69
|
+
}
|
|
70
|
+
export function markContainerGc(lease) {
|
|
71
|
+
return { ...lease, status: 'gc' };
|
|
72
|
+
}
|
|
73
|
+
export function recordContainerConsumption(lease, subAgentId) {
|
|
74
|
+
if (lease.consumedBySubAgents.includes(subAgentId))
|
|
75
|
+
return lease;
|
|
76
|
+
return { ...lease, consumedBySubAgents: [...lease.consumedBySubAgents, subAgentId] };
|
|
77
|
+
}
|
|
78
|
+
export function isContainerLeaseActive(lease, now = Date.now()) {
|
|
79
|
+
return lease.status === 'active' && lease.expiresAt > now;
|
|
80
|
+
}
|
|
81
|
+
export function serializeContainerLease(lease) {
|
|
82
|
+
return JSON.stringify(lease, null, 2) + '\n';
|
|
83
|
+
}
|
|
84
|
+
export function deserializeContainerLease(raw) {
|
|
85
|
+
const parsed = JSON.parse(raw);
|
|
86
|
+
if (typeof parsed !== 'object' || parsed === null) {
|
|
87
|
+
throw new Error('container lease file must contain a JSON object');
|
|
88
|
+
}
|
|
89
|
+
const obj = parsed;
|
|
90
|
+
if (typeof obj.leaseId !== 'string')
|
|
91
|
+
throw new Error('leaseId missing');
|
|
92
|
+
if (typeof obj.rid !== 'string')
|
|
93
|
+
throw new Error('rid missing');
|
|
94
|
+
if (typeof obj.role !== 'string')
|
|
95
|
+
throw new Error('role missing');
|
|
96
|
+
if (typeof obj.path !== 'string')
|
|
97
|
+
throw new Error('path missing');
|
|
98
|
+
if (typeof obj.image !== 'string')
|
|
99
|
+
throw new Error('image missing');
|
|
100
|
+
if (typeof obj.containerId !== 'string')
|
|
101
|
+
throw new Error('containerId missing');
|
|
102
|
+
if (typeof obj.createdAt !== 'number')
|
|
103
|
+
throw new Error('createdAt missing');
|
|
104
|
+
if (typeof obj.expiresAt !== 'number')
|
|
105
|
+
throw new Error('expiresAt missing');
|
|
106
|
+
if (typeof obj.purpose !== 'string')
|
|
107
|
+
throw new Error('purpose missing');
|
|
108
|
+
if (typeof obj.status !== 'string')
|
|
109
|
+
throw new Error('status missing');
|
|
110
|
+
if (!Array.isArray(obj.consumedBySubAgents))
|
|
111
|
+
throw new Error('consumedBySubAgents missing');
|
|
112
|
+
return {
|
|
113
|
+
leaseId: obj.leaseId,
|
|
114
|
+
rid: obj.rid,
|
|
115
|
+
role: obj.role,
|
|
116
|
+
path: obj.path,
|
|
117
|
+
image: obj.image,
|
|
118
|
+
containerId: obj.containerId,
|
|
119
|
+
createdAt: obj.createdAt,
|
|
120
|
+
expiresAt: obj.expiresAt,
|
|
121
|
+
purpose: obj.purpose,
|
|
122
|
+
status: obj.status,
|
|
123
|
+
consumedBySubAgents: obj.consumedBySubAgents
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function joinPath(...segments) {
|
|
127
|
+
if (segments.length === 0)
|
|
128
|
+
return '';
|
|
129
|
+
const normalized = segments.map((s) => s.replace(/\\/g, '/'));
|
|
130
|
+
let acc = normalized[0];
|
|
131
|
+
for (let i = 1; i < normalized.length; i++) {
|
|
132
|
+
acc = path.join(acc, normalized[i]);
|
|
133
|
+
}
|
|
134
|
+
return acc;
|
|
135
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export type ArtifactStatus = 'created' | 'finalized' | 'partial' | 'failed';
|
|
2
|
+
export interface ArtifactMeta {
|
|
3
|
+
readonly path: string;
|
|
4
|
+
readonly size: number;
|
|
5
|
+
readonly sha256: string;
|
|
6
|
+
readonly status: ArtifactStatus;
|
|
7
|
+
/** Mandatory literal `false`. The type system rejects `true`. */
|
|
8
|
+
readonly contentInlined: false;
|
|
9
|
+
/** 1-2 sentence description, ≤ 200 chars. Allowed in main context. */
|
|
10
|
+
readonly summary: string | null;
|
|
11
|
+
/** ISO8601. */
|
|
12
|
+
readonly writtenAt: string;
|
|
13
|
+
/** Request id this artifact belongs to. */
|
|
14
|
+
readonly rid: string;
|
|
15
|
+
/** Sub-agent role string. */
|
|
16
|
+
readonly role: string;
|
|
17
|
+
/** Sequence number when same role is dispatched multiple times. */
|
|
18
|
+
readonly idx: number;
|
|
19
|
+
}
|
|
20
|
+
export interface ContextImpact {
|
|
21
|
+
readonly promptSize: number;
|
|
22
|
+
readonly artifactSizes: readonly number[];
|
|
23
|
+
readonly batchTotalSize: number;
|
|
24
|
+
/** `high` if `batchTotalSize > 4MB` OR any `artifactSize > 1MB`. */
|
|
25
|
+
readonly contextWarning: 'normal' | 'high' | 'critical';
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Compute the sha256 hex digest of a file. Throws if the file does not
|
|
29
|
+
* exist or is not readable. Caller is expected to handle ENOENT as
|
|
30
|
+
* `code: 'ARTIFACT_NOT_FOUND'` and treat 0-byte files as `status: 'failed'`.
|
|
31
|
+
*/
|
|
32
|
+
export declare function computeSha256(filePath: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* Build an `ArtifactMeta` from on-disk file. Computes size + sha256.
|
|
35
|
+
*
|
|
36
|
+
* `status` semantics:
|
|
37
|
+
* - `'created'` — file exists, non-empty, sha256 succeeded
|
|
38
|
+
* - `'failed'` — file is 0 bytes (R-2 / G7.4.e: do not silently succeed)
|
|
39
|
+
* - `'partial'` — caller-provided (e.g. sub-agent reports unfinished work)
|
|
40
|
+
* - `'finalized'` — caller-provided (e.g. sub-agent reports complete)
|
|
41
|
+
*/
|
|
42
|
+
export declare function buildArtifactMeta(opts: {
|
|
43
|
+
path: string;
|
|
44
|
+
rid: string;
|
|
45
|
+
role: string;
|
|
46
|
+
idx: number;
|
|
47
|
+
summary: string | null;
|
|
48
|
+
status?: ArtifactStatus;
|
|
49
|
+
/** Override sha256 / size (e.g. when caller already computed them). */
|
|
50
|
+
precomputed?: {
|
|
51
|
+
size: number;
|
|
52
|
+
sha256: string;
|
|
53
|
+
};
|
|
54
|
+
/** Override the writtenAt timestamp. */
|
|
55
|
+
writtenAt?: string;
|
|
56
|
+
}): ArtifactMeta;
|
|
57
|
+
/**
|
|
58
|
+
* Build a `ContextImpact` from a prompt size + artifact sizes.
|
|
59
|
+
* Computes `contextWarning` per the G7.3 rule:
|
|
60
|
+
* - `'critical'` if any artifact > ARTIFACT_MAX_SIZE_BYTES
|
|
61
|
+
* - `'high'` if total > BATCH_TOTAL_HIGH_BYTES (4MB)
|
|
62
|
+
* - `'normal'` otherwise
|
|
63
|
+
*/
|
|
64
|
+
export declare function buildContextImpact(opts: {
|
|
65
|
+
promptSize: number;
|
|
66
|
+
artifactSizes: readonly number[];
|
|
67
|
+
}): ContextImpact;
|
|
68
|
+
export declare const ARTIFACT_LIMITS: {
|
|
69
|
+
readonly ARTIFACT_MAX_SIZE_BYTES: number;
|
|
70
|
+
readonly BATCH_TOTAL_HIGH_BYTES: number;
|
|
71
|
+
readonly ARTIFACT_SUMMARY_MAX_CHARS: 200;
|
|
72
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* G7 — sub-agent context minimal-occupation (RL-17..RL-22, AC-38..AC-43).
|
|
3
|
+
*
|
|
4
|
+
* `ArtifactMeta` is what the dispatch record stores per sub-agent artifact
|
|
5
|
+
* instead of the full content. The `contentInlined: false` literal is the
|
|
6
|
+
* API contract: the type system rejects `true`, so main LLM context can
|
|
7
|
+
* never accidentally be flooded with inlined artifact bodies.
|
|
8
|
+
*
|
|
9
|
+
* The artifact's content lives on disk at `path`; the meta is ~200 chars
|
|
10
|
+
* (path + size + sha256 + status + summary), so 3 sub-agents × ~200 chars
|
|
11
|
+
* = ~600 chars net context increase per batch instead of 3MB+.
|
|
12
|
+
*
|
|
13
|
+
* Path convention (G7.4.c):
|
|
14
|
+
* `.peaks/_sub_agents/<sid>/artifacts/<rid>-<role>-<idx>.<ext>`
|
|
15
|
+
*
|
|
16
|
+
* See: `.peaks/memory/sub-agent-context-minimal-occupation.md` for the
|
|
17
|
+
* full G7 rule.
|
|
18
|
+
*/
|
|
19
|
+
import { createHash } from 'node:crypto';
|
|
20
|
+
import { readFileSync, statSync } from 'node:fs';
|
|
21
|
+
const ARTIFACT_MAX_SIZE_BYTES = 1024 * 1024; // 1MB
|
|
22
|
+
const BATCH_TOTAL_HIGH_BYTES = 4 * 1024 * 1024; // 4MB
|
|
23
|
+
/**
|
|
24
|
+
* Compute the sha256 hex digest of a file. Throws if the file does not
|
|
25
|
+
* exist or is not readable. Caller is expected to handle ENOENT as
|
|
26
|
+
* `code: 'ARTIFACT_NOT_FOUND'` and treat 0-byte files as `status: 'failed'`.
|
|
27
|
+
*/
|
|
28
|
+
export function computeSha256(filePath) {
|
|
29
|
+
const content = readFileSync(filePath);
|
|
30
|
+
return createHash('sha256').update(content).digest('hex');
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Build an `ArtifactMeta` from on-disk file. Computes size + sha256.
|
|
34
|
+
*
|
|
35
|
+
* `status` semantics:
|
|
36
|
+
* - `'created'` — file exists, non-empty, sha256 succeeded
|
|
37
|
+
* - `'failed'` — file is 0 bytes (R-2 / G7.4.e: do not silently succeed)
|
|
38
|
+
* - `'partial'` — caller-provided (e.g. sub-agent reports unfinished work)
|
|
39
|
+
* - `'finalized'` — caller-provided (e.g. sub-agent reports complete)
|
|
40
|
+
*/
|
|
41
|
+
export function buildArtifactMeta(opts) {
|
|
42
|
+
let size;
|
|
43
|
+
let sha256;
|
|
44
|
+
let status = opts.status ?? 'created';
|
|
45
|
+
if (opts.precomputed) {
|
|
46
|
+
size = opts.precomputed.size;
|
|
47
|
+
sha256 = opts.precomputed.sha256;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const stat = statSync(opts.path);
|
|
51
|
+
size = stat.size;
|
|
52
|
+
if (size === 0) {
|
|
53
|
+
// 0-byte artifact: cannot compute meaningful sha256; mark as failed.
|
|
54
|
+
sha256 = '0'.repeat(64);
|
|
55
|
+
status = 'failed';
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
sha256 = computeSha256(opts.path);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const summary = opts.summary;
|
|
62
|
+
if (summary !== null && summary.length > 200) {
|
|
63
|
+
throw new Error(`ArtifactMeta summary must be ≤ 200 chars (got ${summary.length})`);
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
path: opts.path,
|
|
67
|
+
size,
|
|
68
|
+
sha256,
|
|
69
|
+
status,
|
|
70
|
+
contentInlined: false,
|
|
71
|
+
summary,
|
|
72
|
+
writtenAt: opts.writtenAt ?? new Date().toISOString(),
|
|
73
|
+
rid: opts.rid,
|
|
74
|
+
role: opts.role,
|
|
75
|
+
idx: opts.idx
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Build a `ContextImpact` from a prompt size + artifact sizes.
|
|
80
|
+
* Computes `contextWarning` per the G7.3 rule:
|
|
81
|
+
* - `'critical'` if any artifact > ARTIFACT_MAX_SIZE_BYTES
|
|
82
|
+
* - `'high'` if total > BATCH_TOTAL_HIGH_BYTES (4MB)
|
|
83
|
+
* - `'normal'` otherwise
|
|
84
|
+
*/
|
|
85
|
+
export function buildContextImpact(opts) {
|
|
86
|
+
const batchTotalSize = opts.promptSize + opts.artifactSizes.reduce((a, b) => a + b, 0);
|
|
87
|
+
let contextWarning = 'normal';
|
|
88
|
+
if (opts.artifactSizes.some((s) => s > ARTIFACT_MAX_SIZE_BYTES)) {
|
|
89
|
+
contextWarning = 'critical';
|
|
90
|
+
}
|
|
91
|
+
else if (batchTotalSize > BATCH_TOTAL_HIGH_BYTES) {
|
|
92
|
+
contextWarning = 'high';
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
promptSize: opts.promptSize,
|
|
96
|
+
artifactSizes: opts.artifactSizes,
|
|
97
|
+
batchTotalSize,
|
|
98
|
+
contextWarning
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
export const ARTIFACT_LIMITS = {
|
|
102
|
+
ARTIFACT_MAX_SIZE_BYTES,
|
|
103
|
+
BATCH_TOTAL_HIGH_BYTES,
|
|
104
|
+
ARTIFACT_SUMMARY_MAX_CHARS: 200
|
|
105
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AC-3 — IDE-aware compact dispatcher.
|
|
3
|
+
*
|
|
4
|
+
* Reads the active IDE's `IdeAdapter.compact` profile and dispatches
|
|
5
|
+
* compact via the adapter-declared pathway. No hard-coded IDE names
|
|
6
|
+
* — Claude Code is the MVP that fills `compact`; other adapters
|
|
7
|
+
* register their own `compact` profile as L2-dogfood verifies
|
|
8
|
+
* each IDE's actual compact surface.
|
|
9
|
+
*
|
|
10
|
+
* Pathway dispatch:
|
|
11
|
+
*
|
|
12
|
+
* - `ide-native` — peaks-loop writes the compact intent to
|
|
13
|
+
* the IDE's hook file (per
|
|
14
|
+
* `IdeSettingsLocation`). Used when the IDE
|
|
15
|
+
* requires a registered hook rather than a
|
|
16
|
+
* runtime command.
|
|
17
|
+
* - `llm-self-compress` — peaks-loop records the intent and
|
|
18
|
+
* returns `ok: true` with `pathway` echoed.
|
|
19
|
+
* The LLM does its own context summarization
|
|
20
|
+
* on the next turn. Always available; least
|
|
21
|
+
* precise fallback.
|
|
22
|
+
* - `noop` — adapter explicitly opted out. peaks-loop
|
|
23
|
+
* returns `ok: false` with `message: 'noop'`.
|
|
24
|
+
* Used by legacy / unverified adapters.
|
|
25
|
+
*
|
|
26
|
+
* rid-031 (2026-07-28): `shell-exec` pathway is DEPRECATED. The
|
|
27
|
+
* `case 'shell-exec':` branch remains reachable only to keep the
|
|
28
|
+
* 2 currently-passing tests in `tests/unit/context/auto-compact-main-target.test.ts:58`
|
|
29
|
+
* + `tests/unit/services/context/auto-compact-dispatcher-ide-native.test.ts:102`
|
|
30
|
+
* passing (they assert `pathway: 'shell-exec'`). Real callers must
|
|
31
|
+
* use `ide-native` (main session) or `llm-self-compress`. No host
|
|
32
|
+
* CLI spawn occurs; the case logs a deprecation warning and returns
|
|
33
|
+
* the same envelope shape.
|
|
34
|
+
*/
|
|
35
|
+
import type { CompactDispatchResult } from './auto-compact-types.js';
|
|
36
|
+
export type CompactTarget = 'main' | 'sub-agent';
|
|
37
|
+
export interface DispatchIdeCompactInput {
|
|
38
|
+
readonly projectRoot: string;
|
|
39
|
+
readonly sessionId: string;
|
|
40
|
+
readonly env?: NodeJS.ProcessEnv | undefined;
|
|
41
|
+
/** Spawn timeout (ms). Default 30s — Claude Code `/compact` is sync. */
|
|
42
|
+
readonly timeoutMs?: number | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Slice 2026-06-28-code-mode-bypass-fix (defect #4): which session
|
|
45
|
+
* the compact should target. Default `'main'` — the orchestrator
|
|
46
|
+
* (peaks-code body) runs in the main-session Claude Code window and
|
|
47
|
+
* wants to compress *its* context, not a sub-agent's. Sub-agent
|
|
48
|
+
* shells that spawn their own `peaks compact auto` flow pass
|
|
49
|
+
* `'sub-agent'` to preserve the legacy shell-spawn behaviour.
|
|
50
|
+
*
|
|
51
|
+
* Behaviour matrix (claude-code MVP):
|
|
52
|
+
* - target='main' → llm-self-compress (write intent; main LLM
|
|
53
|
+
* fires `/compact` on its next turn).
|
|
54
|
+
* - target='sub-agent'→ shell-exec stub (DEPRECATED — no host
|
|
55
|
+
* CLI spawn; returns envelope with
|
|
56
|
+
* `pathway: 'shell-exec'` for legacy
|
|
57
|
+
* contract only — see rid-031).
|
|
58
|
+
* Non-claude-code IDEs + target='main' return noop + warning.
|
|
59
|
+
*/
|
|
60
|
+
readonly target?: CompactTarget | undefined;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Dispatch compact via the active IDE's registered pathway.
|
|
64
|
+
*
|
|
65
|
+
* Returns a `CompactDispatchResult` envelope. The result is `ok`
|
|
66
|
+
* when the dispatch path completed without error — for
|
|
67
|
+
* `llm-self-compress` the LLM still has to do the actual summary,
|
|
68
|
+
* so the orchestrator MUST NOT treat `ok: true` as proof that the
|
|
69
|
+
* context actually shrunk; the next `peaks compact auto` probe
|
|
70
|
+
* confirms.
|
|
71
|
+
*/
|
|
72
|
+
export declare function dispatchIdeCompact(input: DispatchIdeCompactInput): Promise<CompactDispatchResult>;
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { detectIdeFromEnv } from './ide-detect.js';
|
|
2
|
+
import { getAdapter } from '../ide/ide-registry.js';
|
|
3
|
+
/**
|
|
4
|
+
* Dispatch compact via the active IDE's registered pathway.
|
|
5
|
+
*
|
|
6
|
+
* Returns a `CompactDispatchResult` envelope. The result is `ok`
|
|
7
|
+
* when the dispatch path completed without error — for
|
|
8
|
+
* `llm-self-compress` the LLM still has to do the actual summary,
|
|
9
|
+
* so the orchestrator MUST NOT treat `ok: true` as proof that the
|
|
10
|
+
* context actually shrunk; the next `peaks compact auto` probe
|
|
11
|
+
* confirms.
|
|
12
|
+
*/
|
|
13
|
+
export async function dispatchIdeCompact(input) {
|
|
14
|
+
const env = input.env ?? process.env;
|
|
15
|
+
const detected = detectIdeFromEnv(env);
|
|
16
|
+
// See auto-compact-reader.ts for the IdeKind→IdeId cast rationale.
|
|
17
|
+
const ideId = (detected === 'unknown' ? 'claude-code' : detected);
|
|
18
|
+
const adapter = getAdapter(ideId);
|
|
19
|
+
// Slice 2026-06-28-code-mode-bypass-fix (defect #4): default to
|
|
20
|
+
// `'main'` so the orchestrator's auto-compact actually compresses
|
|
21
|
+
// the main-session context. The orchestrator passes `'sub-agent'`
|
|
22
|
+
// explicitly when a sub-agent shell dispatches the call.
|
|
23
|
+
const target = input.target ?? 'main';
|
|
24
|
+
// Slice 2026-06-28: when targeting the MAIN session, refuse
|
|
25
|
+
// up-front for adapters we cannot dispatch a main-session compact
|
|
26
|
+
// against. We DO this before the `!adapter.compact` short-circuit
|
|
27
|
+
// so the test message reflects the operational cause (target vs
|
|
28
|
+
// adapter capability). Even non-claude-code adapters without a
|
|
29
|
+
// registered `compact` profile should report "main-session target
|
|
30
|
+
// unsupported" rather than the generic "no compact profile" line.
|
|
31
|
+
if (target === 'main' && ideId !== 'claude-code') {
|
|
32
|
+
return {
|
|
33
|
+
ok: false,
|
|
34
|
+
ide: ideId,
|
|
35
|
+
pathway: 'noop',
|
|
36
|
+
message: `main-session target unsupported on adapter '${ideId}'; only claude-code supports in-band main-session compact.`
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
// Adapters that don't declare `compact` (legacy / unverified) →
|
|
40
|
+
// explicit noop so the caller can distinguish "IDE doesn't support
|
|
41
|
+
// compact" from "IDE supports but dispatch failed".
|
|
42
|
+
if (!adapter.compact) {
|
|
43
|
+
return {
|
|
44
|
+
ok: false,
|
|
45
|
+
ide: ideId,
|
|
46
|
+
pathway: 'noop',
|
|
47
|
+
message: `IDE '${ideId}' has no registered compact profile; cannot dispatch.`
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const profile = adapter.compact;
|
|
51
|
+
const timeoutMs = input.timeoutMs ?? 30_000;
|
|
52
|
+
const pathway = profile.compactPathway;
|
|
53
|
+
switch (pathway) {
|
|
54
|
+
case 'shell-exec':
|
|
55
|
+
// rid-031 (2026-07-28): `shell-exec` pathway is DEPRECATED.
|
|
56
|
+
// No host CLI spawn occurs. The case marker is preserved so
|
|
57
|
+
// 2 currently-passing tests in
|
|
58
|
+
// tests/unit/context/auto-compact-main-target.test.ts:58
|
|
59
|
+
// tests/unit/services/context/auto-compact-dispatcher-ide-native.test.ts:102
|
|
60
|
+
// continue to assert `pathway: 'shell-exec'`. Real callers must
|
|
61
|
+
// use `ide-native` (main session) or `llm-self-compress`.
|
|
62
|
+
console.warn(`compact: shell-exec pathway is deprecated on adapter '${ideId}' (target='${target}'); no host CLI spawn — use ide-native instead.`);
|
|
63
|
+
if (target === 'main') {
|
|
64
|
+
return {
|
|
65
|
+
ok: true,
|
|
66
|
+
ide: ideId,
|
|
67
|
+
pathway: 'llm-self-compress',
|
|
68
|
+
message: `Main-session target on shell-exec adapter '${ideId}': deferring to in-band /compact (next LLM turn); writing intent record.`
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
ok: true,
|
|
73
|
+
ide: ideId,
|
|
74
|
+
pathway: 'shell-exec',
|
|
75
|
+
message: `shell-exec pathway is deprecated; no host CLI spawn for command '${profile.compactCommand}'. Use ide-native for main-session runner.`
|
|
76
|
+
};
|
|
77
|
+
case 'ide-native':
|
|
78
|
+
// Slice 2026-07-02-auto-compact-zero-pause: write the auto-compact
|
|
79
|
+
// PreToolUse hook into `.claude/settings.local.json`. The hook
|
|
80
|
+
// command (`peaks compact auto`) reads
|
|
81
|
+
// `CLAUDE_CONTEXT_USAGE_PERCENT` on every subsequent Bash/Task
|
|
82
|
+
// tool call from the runner and, at ratio ≥ 0.95, in-band spawns
|
|
83
|
+
// `claude --compact` against the CURRENT runner (not a child
|
|
84
|
+
// process — the bug documented in
|
|
85
|
+
// `.peaks/memory/2026-06-27-auto-compact-design.md:139-152`).
|
|
86
|
+
//
|
|
87
|
+
// `ide-native` is ONLY for the main-session runner. When the
|
|
88
|
+
// caller is a sub-agent shell (which has its own ephemeral
|
|
89
|
+
// context window — not the runner's), fall through to
|
|
90
|
+
// shell-exec so the sub-agent's `compactCommand` spawns a
|
|
91
|
+
// child claude process and the sub-agent's own runner doesn't
|
|
92
|
+
// get a PreToolUse hook installed in the wrong place.
|
|
93
|
+
if (target === 'sub-agent') {
|
|
94
|
+
// rid-031 (2026-07-28): legacy shell-spawn fallback is
|
|
95
|
+
// DEPRECATED. No host CLI spawn occurs. The envelope is
|
|
96
|
+
// returned with `pathway: 'shell-exec'` to preserve the
|
|
97
|
+
// contract asserted by
|
|
98
|
+
// tests/unit/services/context/auto-compact-dispatcher-ide-native.test.ts:102
|
|
99
|
+
// (sub-agent shells historically relied on this path).
|
|
100
|
+
console.warn(`compact: sub-agent shell-exec fallback is deprecated on adapter '${ideId}'; no host CLI spawn for '${profile.compactCommand}'.`);
|
|
101
|
+
return {
|
|
102
|
+
ok: true,
|
|
103
|
+
ide: ideId,
|
|
104
|
+
pathway: 'shell-exec',
|
|
105
|
+
message: `shell-exec fallback is deprecated; no host CLI spawn for command '${profile.compactCommand}'.`
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
// Lazy install: we only get here when the caller explicitly
|
|
109
|
+
// invokes `peaks compact auto --execute`, so the user has
|
|
110
|
+
// already opted in. No zero-touch surprise on workspace init.
|
|
111
|
+
return await dispatchIdeNativeHook({
|
|
112
|
+
projectRoot: input.projectRoot,
|
|
113
|
+
sessionId: input.sessionId,
|
|
114
|
+
target
|
|
115
|
+
});
|
|
116
|
+
case 'llm-self-compress':
|
|
117
|
+
return {
|
|
118
|
+
ok: true,
|
|
119
|
+
ide: ideId,
|
|
120
|
+
pathway: 'llm-self-compress',
|
|
121
|
+
message: `Adapter '${ideId}' uses LLM-self-compress; LLM will summarize on next turn.`
|
|
122
|
+
};
|
|
123
|
+
case 'noop':
|
|
124
|
+
return {
|
|
125
|
+
ok: false,
|
|
126
|
+
ide: ideId,
|
|
127
|
+
pathway: 'noop',
|
|
128
|
+
message: `Adapter '${ideId}' explicitly opted out of auto-compact.`
|
|
129
|
+
};
|
|
130
|
+
default:
|
|
131
|
+
// Forward-compatibility: if a new pathway is added to the
|
|
132
|
+
// union, we fall through to noop + log the unknown value.
|
|
133
|
+
return {
|
|
134
|
+
ok: false,
|
|
135
|
+
ide: ideId,
|
|
136
|
+
pathway: 'noop',
|
|
137
|
+
message: `Unknown compact pathway '${String(pathway)}' for adapter '${ideId}'.`
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Slice 2026-07-02-auto-compact-zero-pause: implement the
|
|
143
|
+
* `ide-native` pathway. Writes the auto-compact PreToolUse hook
|
|
144
|
+
* into `.claude/settings.local.json` (idempotent; the install
|
|
145
|
+
* service is a no-op if the hook is already present). On the next
|
|
146
|
+
* Bash/Task tool call from the runner, the hook fires
|
|
147
|
+
* `peaks compact auto` which in-band spawns
|
|
148
|
+
* `claude --compact` against the CURRENT runner session.
|
|
149
|
+
*
|
|
150
|
+
* Returns `ok: true, pathway: 'ide-native'` regardless of install
|
|
151
|
+
* action (`installed` vs `already-installed`) — both states
|
|
152
|
+
* achieve the operational goal: the hook is wired and the next
|
|
153
|
+
* Bash call will trigger it.
|
|
154
|
+
*/
|
|
155
|
+
async function dispatchIdeNativeHook(input) {
|
|
156
|
+
// Lazy dynamic import — matches the existing pattern in
|
|
157
|
+
// `runAutoCompact` for `auto-compact-reader.ts` (line 311) and
|
|
158
|
+
// avoids a static cycle if future slices add cross-imports
|
|
159
|
+
// between dispatcher and hook-install.
|
|
160
|
+
const { installAutoCompactHook } = await import('../hooks/auto-compact-hook-install.js');
|
|
161
|
+
const result = installAutoCompactHook({ projectRoot: input.projectRoot });
|
|
162
|
+
return {
|
|
163
|
+
ok: true,
|
|
164
|
+
ide: 'claude-code',
|
|
165
|
+
pathway: 'ide-native',
|
|
166
|
+
message: result.action === 'installed'
|
|
167
|
+
? `Auto-compact PreToolUse hook installed at ${result.settingsPath}. Next Bash/Task tool call will read CLAUDE_CONTEXT_USAGE_PERCENT and compact in-band at ratio ≥ 95%.`
|
|
168
|
+
: `Auto-compact PreToolUse hook already installed at ${result.settingsPath}; next Bash/Task tool call will trigger compact in-band at ratio ≥ 95%.`
|
|
169
|
+
};
|
|
170
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { ContextPercentProbe } from './auto-compact-types.js';
|
|
2
|
+
export interface ReadContextPercentInput {
|
|
3
|
+
readonly projectRoot: string;
|
|
4
|
+
readonly sessionId: string;
|
|
5
|
+
readonly env?: NodeJS.ProcessEnv | undefined;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Read env-var-based context percentage. Returns `null` when the env
|
|
9
|
+
* is absent or unparseable. Adapter-driven: the caller passes the
|
|
10
|
+
* env-var name from `IdeAdapter.compact.envVarForContextPercent`,
|
|
11
|
+
* so the function itself has no hard-coded IDE names.
|
|
12
|
+
*/
|
|
13
|
+
declare function readEnvPercent(env: NodeJS.ProcessEnv, varName: string): number | null;
|
|
14
|
+
/**
|
|
15
|
+
* Read the IDE-specific statusline state. MVP path is Claude Code's
|
|
16
|
+
* `~/.claude/statusline-state.json`; other IDEs are intentionally
|
|
17
|
+
* left for future slices (each IDE will expose its own
|
|
18
|
+
* `compact.postCompactDetectCommand` to drive this).
|
|
19
|
+
*/
|
|
20
|
+
declare function readClaudeStatuslinePercent(): number | null;
|
|
21
|
+
/**
|
|
22
|
+
* Conservative transcript-size fallback. Walks
|
|
23
|
+
* `~/.claude/projects/<hash>/<sid>.jsonl` and estimates
|
|
24
|
+
* `ratio = bytesUsed / 256K`. Returns the bytes seen so the
|
|
25
|
+
* orchestrator can show "estimated from 124KB of 256KB transcript"
|
|
26
|
+
* in the envelope. Tagged `'conservative-fallback'` so callers
|
|
27
|
+
* know NOT to treat this as a hard gate.
|
|
28
|
+
*/
|
|
29
|
+
declare function readClaudeTranscriptFallback(sessionId: string): {
|
|
30
|
+
ratio: number;
|
|
31
|
+
bytes: number;
|
|
32
|
+
} | null;
|
|
33
|
+
/**
|
|
34
|
+
* Probe the current AI CLI's context-fill ratio. Adapter-driven:
|
|
35
|
+
* looks up the registered `IdeAdapter.compact` profile via
|
|
36
|
+
* `getIdeAdapter(detectIdeFromEnv(env))` and reads the
|
|
37
|
+
* adapter-declared env-var. Falls back to statusline poll +
|
|
38
|
+
* transcript estimate ONLY for adapters that opt in
|
|
39
|
+
* (`adapter.id === 'claude-code'` for the MVP); other adapters
|
|
40
|
+
* without an env-var hit return `source: 'conservative-fallback'`
|
|
41
|
+
* with `ratio: 0` so the orchestrator never auto-fires on a
|
|
42
|
+
* missing signal.
|
|
43
|
+
*/
|
|
44
|
+
export declare function readContextPercent(input: ReadContextPercentInput): ContextPercentProbe;
|
|
45
|
+
/** Re-export the env-var probe for unit tests. */
|
|
46
|
+
export declare const _internal: {
|
|
47
|
+
readEnvPercent: typeof readEnvPercent;
|
|
48
|
+
readClaudeStatuslinePercent: typeof readClaudeStatuslinePercent;
|
|
49
|
+
readClaudeTranscriptFallback: typeof readClaudeTranscriptFallback;
|
|
50
|
+
};
|
|
51
|
+
export {};
|