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,75 @@
|
|
|
1
|
+
import { CommanderError } from 'commander';
|
|
2
|
+
import { createProgram } from './program.js';
|
|
3
|
+
import { getErrorMessage } from 'peaks-loop-shared/result';
|
|
4
|
+
import { printErrorEnvelope } from './cli-helpers.js';
|
|
5
|
+
const defaultIo = {
|
|
6
|
+
stdout: (text) => process.stdout.write(`${text}\n`),
|
|
7
|
+
stderr: (text) => process.stderr.write(`${text}\n`)
|
|
8
|
+
};
|
|
9
|
+
// D-013 wrapper exit-code fix (PART 2): Commander's `--help` short-circuit
|
|
10
|
+
// fires BEFORE `commander.unknownCommand` is raised, so `peaks xxx --help`
|
|
11
|
+
// (where `xxx` is not a registered command) prints the help banner and
|
|
12
|
+
// exits 0 instead of 1. Detect this case BEFORE Commander runs by scanning
|
|
13
|
+
// `process.argv` for a non-option positional token. If present AND
|
|
14
|
+
// `--help` is also present, the user asked for help on an unknown command
|
|
15
|
+
// — emit `COMMAND_NOT_FOUND` envelope + exit 1.
|
|
16
|
+
//
|
|
17
|
+
// This pre-check is intentionally conservative: only fires when BOTH a
|
|
18
|
+
// positional token AND `--help`/`-h` are present. Bare `--help` (no
|
|
19
|
+
// positional) is legitimate help → exit 0. Positional without `--help`
|
|
20
|
+
// is handled by the root `.action()` in `program.ts`.
|
|
21
|
+
//
|
|
22
|
+
// Fix-5 (2026-07-26): skip the pre-check when the first positional token
|
|
23
|
+
// matches a REGISTERED subcommand. `peaks slice --help` is legitimate
|
|
24
|
+
// help on a registered command (slice IS in the program.commands list) —
|
|
25
|
+
// the prior blind pre-check was a false positive that printed
|
|
26
|
+
// `COMMAND_NOT_FOUND` + exit 1 alongside the slice help banner. We
|
|
27
|
+
// still catch true unknowns (`peaks unknown-cmd --help`): `firstPositional`
|
|
28
|
+
// won't be in the registered set, so the pre-check fires and exits 1.
|
|
29
|
+
const argv = process.argv.slice(2);
|
|
30
|
+
const hasHelp = argv.some((arg) => arg === '--help' || arg === '-h');
|
|
31
|
+
const firstPositional = argv.find((arg) => !arg.startsWith('-'));
|
|
32
|
+
if (hasHelp && firstPositional !== undefined) {
|
|
33
|
+
const program = createProgram();
|
|
34
|
+
const registered = new Set(program.commands.map((c) => c.name()));
|
|
35
|
+
if (!registered.has(firstPositional)) {
|
|
36
|
+
// Defer the check by 0ms so Commander's own help handler runs first
|
|
37
|
+
// (it will print help text + try to exit 0). We then override.
|
|
38
|
+
setImmediate(() => {
|
|
39
|
+
printErrorEnvelope(defaultIo, 'cli', 'COMMAND_NOT_FOUND', `Unknown command: ${firstPositional}. Run \`peaks --help\` for available commands.`, { argv: firstPositional, combinedWithHelp: true }, ['Run `peaks --help` to list available commands.']);
|
|
40
|
+
process.exit(1);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
createProgram().parseAsync(process.argv).catch((error) => {
|
|
45
|
+
if (error instanceof CommanderError && error.code === 'commander.version') {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
// D-013 wrapper exit-code fix: distinguish "bare `peaks --help` /
|
|
49
|
+
// `peaks help <cmd>`" (legitimate help, exit 0) from
|
|
50
|
+
// "`peaks <unknown> --help`" (user typed a non-existent command,
|
|
51
|
+
// even if they added --help, the command itself is invalid → exit 1).
|
|
52
|
+
// Commander only emits `commander.helpDisplayed` for the LEGITIMATE
|
|
53
|
+
// help path (bare `--help` or a registered subcommand's help). For
|
|
54
|
+
// unknown commands, Commander throws `commander.unknownCommand`
|
|
55
|
+
// BEFORE the help text is rendered, so we route that case to the
|
|
56
|
+
// unknownCommand branch below. This preserves the historical behavior
|
|
57
|
+
// for valid help while fixing the unknown-command exit code.
|
|
58
|
+
if (error instanceof CommanderError) {
|
|
59
|
+
if (error.code === 'commander.help' || error.code === 'commander.helpDisplayed') {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (error.code === 'commander.missingArgument' || error.code === 'commander.unknownCommand' || error.code === 'commander.unknownOption') {
|
|
63
|
+
// Emit a `COMMAND_NOT_FOUND` JSON envelope for the unknown-command
|
|
64
|
+
// path. The error text already went to stderr via Commander's
|
|
65
|
+
// default handler; we add a structured envelope for LLM-side
|
|
66
|
+
// consumers (Human-NL-Choice-Only: don't tell the human to type
|
|
67
|
+
// a CLI verb — say what the LLM can coordinate).
|
|
68
|
+
printErrorEnvelope(defaultIo, 'cli', 'COMMAND_NOT_FOUND', getErrorMessage(error), {}, ['Run `peaks --help` to list available commands.']);
|
|
69
|
+
process.exitCode = 1;
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
printErrorEnvelope(defaultIo, 'cli', 'UNHANDLED_ERROR', getErrorMessage(error), {}, []);
|
|
74
|
+
process.exitCode = 1;
|
|
75
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { type ProgramIO } from './cli-helpers.js';
|
|
3
|
+
export { printErrorEnvelope, printResult, type ProgramIO } from './cli-helpers.js';
|
|
4
|
+
export declare function __resetBootstrapForTests(): void;
|
|
5
|
+
export declare function createProgram(io?: ProgramIO): Command;
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { repoRoot } from 'peaks-loop-shared/paths';
|
|
3
|
+
import { CLI_VERSION } from 'peaks-loop-shared/version';
|
|
4
|
+
import { autoRegisterAllCommands } from './commands/_register.js';
|
|
5
|
+
import { registerSuperCommands } from './commands/_super.js';
|
|
6
|
+
import { registerCoreAndArtifactCommands } from './commands/core-artifact-commands.js';
|
|
7
|
+
import { registerWorkflowCommands } from './commands/workflow-commands.js';
|
|
8
|
+
import { registerCapabilityWorkerConfigAndSCCommands } from './commands/capability-worker-config-sc-commands.js';
|
|
9
|
+
import { registerSubAgentCommands } from './commands/sub-agent-commands.js';
|
|
10
|
+
import { registerLeaseMetricsCommand } from './commands/lease-metrics-commands.js';
|
|
11
|
+
import { registerLeaseStatsCommand } from './commands/lease-stats-commands.js';
|
|
12
|
+
import { registerContainerCommand } from './commands/container-commands.js';
|
|
13
|
+
import { registerVmCommand } from './commands/vm-commands.js';
|
|
14
|
+
import { registerCronCommand } from './commands/cron-commands.js';
|
|
15
|
+
import { registerCronSchedulerCommand } from './commands/cron-scheduler-commands.js';
|
|
16
|
+
import { registerWorkspaceCommands } from './commands/workspace-commands.js';
|
|
17
|
+
import { registerSopCommands } from './commands/sop-commands.js';
|
|
18
|
+
import { registerSkillVisibilityCommand } from './commands/skill-visibility.js';
|
|
19
|
+
import { applyRetention, cleanupEccCache } from '../services/log/retention.js';
|
|
20
|
+
import { writeLogEntry, maybeWriteStderr } from '../services/log/logger.js';
|
|
21
|
+
import { printSuperCommandCatalog } from './cli-helpers.js';
|
|
22
|
+
export { printErrorEnvelope, printResult } from './cli-helpers.js';
|
|
23
|
+
// Slice rid-001 (P0-1 envelope closure, fix #4): the prior default
|
|
24
|
+
// `ProgramIO` funneled Commander's `configureOutput().writeErr` callback
|
|
25
|
+
// through raw `console.error`, which bypassed the canonical envelope
|
|
26
|
+
// path and left a `// TODO(g2): legacy console.error without envelope`
|
|
27
|
+
// grace comment. Default io now routes stdout through `process.stdout`
|
|
28
|
+
// and stderr through `process.stderr` (matching the `defaultIo` built
|
|
29
|
+
// in `src/cli/index.ts`). When a caller passes its own `ProgramIO`
|
|
30
|
+
// (vitest, programmatic dispatch) the closure-side `printErrorEnvelope`
|
|
31
|
+
// helper in `src/cli/cli-helpers.ts` mints a real `fail()` envelope,
|
|
32
|
+
// so the canonical shape is preserved end-to-end.
|
|
33
|
+
function defaultStderrSink(text) {
|
|
34
|
+
process.stderr.write(`${text}\n`);
|
|
35
|
+
}
|
|
36
|
+
function defaultStdoutSink(text) {
|
|
37
|
+
process.stdout.write(`${text}\n`);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Slice 2026-06-16-cli-logging (G1, G2, G3, G7). One structured
|
|
41
|
+
* `peaks-loop start` entry per CLI invocation, plus a 7-day
|
|
42
|
+
* retention sweep. Wired into the global program so EVERY
|
|
43
|
+
* peaks-loop command — even a bare `peaks` quickstart — writes
|
|
44
|
+
* a log line.
|
|
45
|
+
*
|
|
46
|
+
* The logger NEVER writes to stdout; it touches only the log
|
|
47
|
+
* file (always) and stderr (when `verbose` is true or
|
|
48
|
+
* `PEAKS_LOG_LEVEL=debug`). JSON envelopes stay parseable.
|
|
49
|
+
*/
|
|
50
|
+
function bootstrapLogger(verbose) {
|
|
51
|
+
try {
|
|
52
|
+
applyRetention({ retentionDays: 7 });
|
|
53
|
+
}
|
|
54
|
+
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
55
|
+
/* best-effort retention sweep; never block the CLI */
|
|
56
|
+
}
|
|
57
|
+
// Slice 3 (on-demand-ecc): 7-day TTL sweep over ecc-<sha>/ cache dirs.
|
|
58
|
+
try {
|
|
59
|
+
cleanupEccCache({ retentionDays: 7, nowMs: Date.now() });
|
|
60
|
+
}
|
|
61
|
+
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
62
|
+
/* best-effort ECC retention sweep; never block the CLI */
|
|
63
|
+
}
|
|
64
|
+
const dateOverride = process.env.PEAKS_LOG_DATE_OVERRIDE;
|
|
65
|
+
const entry = {
|
|
66
|
+
ts: new Date().toISOString(),
|
|
67
|
+
level: 'info',
|
|
68
|
+
command: 'main',
|
|
69
|
+
msg: 'peaks-loop start',
|
|
70
|
+
version: CLI_VERSION
|
|
71
|
+
};
|
|
72
|
+
try {
|
|
73
|
+
writeLogEntry(entry, dateOverride !== undefined ? { dateOverride } : {});
|
|
74
|
+
}
|
|
75
|
+
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
76
|
+
/* best-effort */
|
|
77
|
+
}
|
|
78
|
+
if (verbose || process.env.PEAKS_LOG_LEVEL === 'debug') {
|
|
79
|
+
maybeWriteStderr(entry, { verbose: true });
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Slice 2026-06-16-cli-logging (AC1 regression fix, repair cycle 1):
|
|
83
|
+
// Process-scoped guard so the bootstrap log line is written AT MOST
|
|
84
|
+
// once per process, regardless of whether it fires from the
|
|
85
|
+
// `preAction` hook (subcommand path) or from the version action
|
|
86
|
+
// (`-v` / `--version` / `-V` path). Reset between test invocations
|
|
87
|
+
// via `__resetBootstrapForTests`.
|
|
88
|
+
let bootstrapRan = false;
|
|
89
|
+
export function __resetBootstrapForTests() {
|
|
90
|
+
bootstrapRan = false;
|
|
91
|
+
}
|
|
92
|
+
export function createProgram(io = { stdout: defaultStdoutSink, stderr: defaultStderrSink }) {
|
|
93
|
+
const program = new Command();
|
|
94
|
+
program
|
|
95
|
+
.name('peaks')
|
|
96
|
+
.description(`Peaks Loop ${CLI_VERSION} — loop engineering CLI: workflow primitive / loop guards / evaluators / slice orchestration
|
|
97
|
+
|
|
98
|
+
Run peaks (no arguments) for a quickstart. You likely want one of:
|
|
99
|
+
peaks doctor check your environment
|
|
100
|
+
peaks skill list or manage skills
|
|
101
|
+
peaks slice boundary check (tsc + vitest +3-way + verify-pipeline)
|
|
102
|
+
peaks workflow plan workflow routing dry-run graphs
|
|
103
|
+
peaks sop author your own workflow gates
|
|
104
|
+
peaks hooks install the un-bypassable gate-enforcement hook
|
|
105
|
+
peaks gate enforce/bypass SOP gates on Bash commands`)
|
|
106
|
+
.configureOutput({
|
|
107
|
+
writeOut: (text) => io.stdout(text.trimEnd()),
|
|
108
|
+
writeErr: (text) => io.stderr(text.trimEnd())
|
|
109
|
+
})
|
|
110
|
+
// Slice 2026-06-16-cli-logging (AC1 regression fix, repair cycle 1):
|
|
111
|
+
// We DO NOT use Commander's built-in `.version()` here. Commander's
|
|
112
|
+
// built-in version handler short-circuits the program BEFORE the
|
|
113
|
+
// `preAction` hook fires, which means a bare `peaks --version`
|
|
114
|
+
// invocation skips the JSONL bootstrap. Per PRD AC1 the log file
|
|
115
|
+
// MUST be created on every CLI invocation, including `--version`.
|
|
116
|
+
//
|
|
117
|
+
// Instead we register `-V` and `-v, --version` as regular options
|
|
118
|
+
// and handle them in the program-level action: run the log
|
|
119
|
+
// bootstrap, print the version, and exit. The `preAction` hook
|
|
120
|
+
// below still fires for subcommands; we deduplicate via a
|
|
121
|
+
// `bootstrapRan` guard so the start line is written at most once
|
|
122
|
+
// per process.
|
|
123
|
+
.option('-v, --version', 'output the version number')
|
|
124
|
+
.option('-V', 'output the version number')
|
|
125
|
+
// Slice 2026-06-16-cli-logging (G3): global verbose flag. Mirrors
|
|
126
|
+
// the PEAKS_LOG_LEVEL=debug env var; with this set, the logger
|
|
127
|
+
// mirrors every entry to stderr IN ADDITION to the file.
|
|
128
|
+
// Long-only: `-v` is already bound to `--version` by the
|
|
129
|
+
// `.option()` call above, so we accept the env-var form
|
|
130
|
+
// (PEAKS_LOG_LEVEL=debug) as the short-form equivalent.
|
|
131
|
+
.option('--verbose', 'mirror log lines to stderr (also: PEAKS_LOG_LEVEL=debug)')
|
|
132
|
+
.hook('preAction', () => {
|
|
133
|
+
const opts = program.opts();
|
|
134
|
+
// Slice 2026-06-16-cli-logging (repair cycle 2): gate the bootstrap on
|
|
135
|
+
// the same `bootstrapRan` guard the version action uses, so a single
|
|
136
|
+
// process that invokes the program twice (vitest, programmatic) does
|
|
137
|
+
// not emit duplicate `peaks-loop start` JSONL entries.
|
|
138
|
+
if (!bootstrapRan) {
|
|
139
|
+
bootstrapLogger(opts.verbose === true);
|
|
140
|
+
bootstrapRan = true;
|
|
141
|
+
}
|
|
142
|
+
})
|
|
143
|
+
.action(() => {
|
|
144
|
+
// D-013 wrapper exit-code fix: when the user typed a command token but
|
|
145
|
+
// it didn't match any registered subcommand, exit non-zero with a JSON
|
|
146
|
+
// `COMMAND_NOT_FOUND` envelope. Without this check, Commander's root
|
|
147
|
+
// `.action()` runs whenever no subcommand matches (including unknown
|
|
148
|
+
// commands) and prints the help banner with exit 0 — which violates
|
|
149
|
+
// the PRD AC3.9/AC3.10 contract for `peaks agent run/list` and any
|
|
150
|
+
// other deleted/hidden command.
|
|
151
|
+
//
|
|
152
|
+
// Detection: use `program.args` (Commander's parsed argv) for the
|
|
153
|
+
// first non-option token. If it's present and Commander didn't route
|
|
154
|
+
// to a subcommand (we got here, so it didn't), the user typed an
|
|
155
|
+
// unknown command. Exit 1. `program.args` works correctly under both
|
|
156
|
+
// `parseAsync(['node', 'peaks', ...])` (real CLI) and direct in-process
|
|
157
|
+
// calls (vitest integration tests), unlike `process.argv` which is
|
|
158
|
+
// the test runner's argv.
|
|
159
|
+
//
|
|
160
|
+
// --help and --version bypass this path entirely (handled below).
|
|
161
|
+
const firstNonOption = program.args.find((arg) => !arg.startsWith('-'));
|
|
162
|
+
if (firstNonOption !== undefined) {
|
|
163
|
+
// Commander reached this `.action()` despite a positional token,
|
|
164
|
+
// which means the token was NOT routed to any subcommand. This is
|
|
165
|
+
// the unknown-command path. Emit a JSON envelope + exit 1.
|
|
166
|
+
io.stdout(JSON.stringify({
|
|
167
|
+
ok: false,
|
|
168
|
+
command: 'cli',
|
|
169
|
+
code: 'COMMAND_NOT_FOUND',
|
|
170
|
+
message: `Unknown command: ${firstNonOption}. Run \`peaks --help\` for available commands.`,
|
|
171
|
+
data: { argv: firstNonOption },
|
|
172
|
+
warnings: [],
|
|
173
|
+
nextActions: ['Run `peaks --help` to list available commands.']
|
|
174
|
+
}, null, 2));
|
|
175
|
+
process.exitCode = 1;
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
const opts = program.opts();
|
|
179
|
+
if (opts.V || opts.version) {
|
|
180
|
+
// AC1: write the peaks-loop start log line BEFORE printing the
|
|
181
|
+
// version, so even a bare `--version` invocation creates the log
|
|
182
|
+
// file. `bootstrapRan` dedupes when `preAction` already ran.
|
|
183
|
+
if (!bootstrapRan) {
|
|
184
|
+
bootstrapLogger(opts.verbose === true);
|
|
185
|
+
bootstrapRan = true;
|
|
186
|
+
}
|
|
187
|
+
io.stdout(CLI_VERSION);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
printSuperCommandCatalog(io);
|
|
191
|
+
})
|
|
192
|
+
.exitOverride();
|
|
193
|
+
registerCoreAndArtifactCommands(program, io);
|
|
194
|
+
registerWorkflowCommands(program, io);
|
|
195
|
+
registerCapabilityWorkerConfigAndSCCommands(program, io);
|
|
196
|
+
registerSubAgentCommands(program, io);
|
|
197
|
+
registerWorkspaceCommands(program, io);
|
|
198
|
+
registerSopCommands(program, io);
|
|
199
|
+
registerSuperCommands(program, io);
|
|
200
|
+
registerLeaseMetricsCommand(program, io);
|
|
201
|
+
registerLeaseStatsCommand(program, io);
|
|
202
|
+
registerContainerCommand(program, io);
|
|
203
|
+
registerVmCommand(program, io);
|
|
204
|
+
registerCronCommand(program, io);
|
|
205
|
+
registerCronSchedulerCommand(program, io);
|
|
206
|
+
// Auto-route the remaining 60+ commands after the orchestrators so the
|
|
207
|
+
// lazy `skill` parent (used by adapter-commands / sediment-commands)
|
|
208
|
+
// finds the existing `peaks skill` group registered by
|
|
209
|
+
// registerCoreAndArtifactCommands instead of being created twice.
|
|
210
|
+
autoRegisterAllCommands(program, io);
|
|
211
|
+
registerSkillVisibilityCommand(program, repoRoot);
|
|
212
|
+
return program;
|
|
213
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type HookGuardResult } from '../cli/commands/sub-agent-dispatch-guard.js';
|
|
2
|
+
/**
|
|
3
|
+
* Read the prompt size from the LLM platform's hook stdin. Different
|
|
4
|
+
* LLMs send different payload shapes; we accept the most common:
|
|
5
|
+
* - Claude Code: `{"tool_name": "Bash", "tool_input": {"command": "..."}}`
|
|
6
|
+
* - Trae: `{"tool_name": "terminal", "tool_input": {"command": "..."}}`
|
|
7
|
+
*
|
|
8
|
+
* The hook reads the `command` (or `prompt`) field and computes the
|
|
9
|
+
* byte length. If neither field is present, returns 0 (always passes).
|
|
10
|
+
*/
|
|
11
|
+
export declare function readPromptSizeFromHookStdin(stdin: unknown): number;
|
|
12
|
+
/**
|
|
13
|
+
* Execute the hook guard via spawnSync. Returns the parsed result or
|
|
14
|
+
* a fallback (allow: true) on subprocess failure.
|
|
15
|
+
*
|
|
16
|
+
* Prefer the in-process `evaluateHookGuard` (no subprocess) when the
|
|
17
|
+
* hook is called from a TypeScript context. Use `runHookGuardSubprocess`
|
|
18
|
+
* only when the hook needs to be invoked from a non-TypeScript caller
|
|
19
|
+
* (e.g. a shell script that wraps the peaks CLI).
|
|
20
|
+
*/
|
|
21
|
+
export declare function runHookGuardSubprocess(prompt: string): HookGuardResult;
|
|
22
|
+
/**
|
|
23
|
+
* Main entry point for the hook. Reads the LLM platform's stdin,
|
|
24
|
+
* computes the prompt size, and returns the guard result. Used by
|
|
25
|
+
* the LLM platform's hook JSON to decide whether to allow the tool
|
|
26
|
+
* call.
|
|
27
|
+
*/
|
|
28
|
+
export declare function runHookGuard(stdin: unknown): HookGuardResult;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* G9.5 PreToolUse hook execution body.
|
|
3
|
+
*
|
|
4
|
+
* Wraps `peaks sub-agent-dispatch-guard` for LLM platform integration.
|
|
5
|
+
* The hook reads the prompt size from the LLM platform's hook stdin
|
|
6
|
+
* (Claude Code / Trae / etc.), invokes the guard CLI, and returns
|
|
7
|
+
* `{allow: true/false, reason, suggest}` JSON to the LLM platform.
|
|
8
|
+
*
|
|
9
|
+
* The hook is registered via `peaks hooks install` in the LLM
|
|
10
|
+
* platform's `settings.json` `PreToolUse` array. Only IDEs with
|
|
11
|
+
* `IdeAdapter.promptSizeAware: true` get the hook installed.
|
|
12
|
+
*
|
|
13
|
+
* The hook layer is the **strictest** layer in the G9 chain (RL-30).
|
|
14
|
+
* The CLI 兜底 layer (`peaks sub-agent dispatch --force`) can override
|
|
15
|
+
* the 80% threshold; the hook layer CANNOT.
|
|
16
|
+
*/
|
|
17
|
+
import { spawnSync } from 'node:child_process';
|
|
18
|
+
import { evaluateHookGuard } from '../cli/commands/sub-agent-dispatch-guard.js';
|
|
19
|
+
/**
|
|
20
|
+
* Read the prompt size from the LLM platform's hook stdin. Different
|
|
21
|
+
* LLMs send different payload shapes; we accept the most common:
|
|
22
|
+
* - Claude Code: `{"tool_name": "Bash", "tool_input": {"command": "..."}}`
|
|
23
|
+
* - Trae: `{"tool_name": "terminal", "tool_input": {"command": "..."}}`
|
|
24
|
+
*
|
|
25
|
+
* The hook reads the `command` (or `prompt`) field and computes the
|
|
26
|
+
* byte length. If neither field is present, returns 0 (always passes).
|
|
27
|
+
*/
|
|
28
|
+
export function readPromptSizeFromHookStdin(stdin) {
|
|
29
|
+
if (stdin === null || typeof stdin !== 'object') {
|
|
30
|
+
return 0;
|
|
31
|
+
}
|
|
32
|
+
const obj = stdin;
|
|
33
|
+
const toolInput = obj.tool_input;
|
|
34
|
+
if (toolInput === null || typeof toolInput !== 'object') {
|
|
35
|
+
return 0;
|
|
36
|
+
}
|
|
37
|
+
const ti = toolInput;
|
|
38
|
+
const candidates = ['command', 'prompt', 'text', 'input'];
|
|
39
|
+
for (const key of candidates) {
|
|
40
|
+
const v = ti[key];
|
|
41
|
+
if (typeof v === 'string') {
|
|
42
|
+
return Buffer.byteLength(v, 'utf8');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Execute the hook guard via spawnSync. Returns the parsed result or
|
|
49
|
+
* a fallback (allow: true) on subprocess failure.
|
|
50
|
+
*
|
|
51
|
+
* Prefer the in-process `evaluateHookGuard` (no subprocess) when the
|
|
52
|
+
* hook is called from a TypeScript context. Use `runHookGuardSubprocess`
|
|
53
|
+
* only when the hook needs to be invoked from a non-TypeScript caller
|
|
54
|
+
* (e.g. a shell script that wraps the peaks CLI).
|
|
55
|
+
*/
|
|
56
|
+
export function runHookGuardSubprocess(prompt) {
|
|
57
|
+
const result = spawnSync('node', [
|
|
58
|
+
process.argv[1] ?? 'peaks',
|
|
59
|
+
'sub-agent-dispatch-guard',
|
|
60
|
+
'--prompt', prompt,
|
|
61
|
+
'--json'
|
|
62
|
+
], { encoding: 'utf8' });
|
|
63
|
+
if (result.status !== 0) {
|
|
64
|
+
// Fallback: allow (don't block the dispatch on a guard subprocess failure).
|
|
65
|
+
return {
|
|
66
|
+
schema: 'peaks-hook-guard/v1',
|
|
67
|
+
allow: true,
|
|
68
|
+
code: 'OK',
|
|
69
|
+
reason: `guard subprocess failed (status ${result.status}); falling through`,
|
|
70
|
+
suggest: null,
|
|
71
|
+
tier: 'ok',
|
|
72
|
+
ratio: 0,
|
|
73
|
+
bytesUsed: 0,
|
|
74
|
+
capacityBytes: 0,
|
|
75
|
+
warnings: ['HOOK_GUARD_SUBPROCESS_FAILED']
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
return JSON.parse(result.stdout);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return {
|
|
83
|
+
schema: 'peaks-hook-guard/v1',
|
|
84
|
+
allow: true,
|
|
85
|
+
code: 'OK',
|
|
86
|
+
reason: 'guard subprocess produced unparseable JSON; falling through',
|
|
87
|
+
suggest: null,
|
|
88
|
+
tier: 'ok',
|
|
89
|
+
ratio: 0,
|
|
90
|
+
bytesUsed: 0,
|
|
91
|
+
capacityBytes: 0,
|
|
92
|
+
warnings: ['HOOK_GUARD_SUBPROCESS_INVALID_JSON']
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Main entry point for the hook. Reads the LLM platform's stdin,
|
|
98
|
+
* computes the prompt size, and returns the guard result. Used by
|
|
99
|
+
* the LLM platform's hook JSON to decide whether to allow the tool
|
|
100
|
+
* call.
|
|
101
|
+
*/
|
|
102
|
+
export function runHookGuard(stdin) {
|
|
103
|
+
const promptSize = readPromptSizeFromHookStdin(stdin);
|
|
104
|
+
return evaluateHookGuard(promptSize);
|
|
105
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type MessageRenderMode = 'tty' | 'plain';
|
|
2
|
+
export interface MessageRenderOptions {
|
|
3
|
+
mode: MessageRenderMode;
|
|
4
|
+
/**
|
|
5
|
+
* Optional override. When `true`, the renderer returns the input unchanged
|
|
6
|
+
* regardless of `mode`. Callers should set this when `NO_COLOR` is set,
|
|
7
|
+
* `--no-color` is passed, or `--json` is requested.
|
|
8
|
+
*/
|
|
9
|
+
noColor?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Render a human-readable message string for the terminal.
|
|
13
|
+
*
|
|
14
|
+
* Pure function. Returns the input unchanged when:
|
|
15
|
+
* - `input` is empty,
|
|
16
|
+
* - `input` is not a string (defensive: callers occasionally pass numbers/objects),
|
|
17
|
+
* - `mode === 'plain'`,
|
|
18
|
+
* - `noColor === true` (NO_COLOR / --no-color / --json opt-out).
|
|
19
|
+
*/
|
|
20
|
+
export declare function renderMessage(input: string, options: MessageRenderOptions): string;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// Slice 2.0.1-ux-message-renderer — pure-function human-text renderer.
|
|
2
|
+
//
|
|
3
|
+
// PURE function contract:
|
|
4
|
+
// - No side effects (does not read process.stdout, does not call console.*).
|
|
5
|
+
// - Returns a string. The caller decides whether to write it to stdout.
|
|
6
|
+
// - Caller resolves the `mode` (TTY detection + opt-outs) and passes it in.
|
|
7
|
+
//
|
|
8
|
+
// Supported transformations (tty mode only — plain mode is a no-op pass-through):
|
|
9
|
+
// 1. OSC 8 hyperlink wrapping for http://, https://, and file:// URLs.
|
|
10
|
+
// Format: ESC]8;;URL ESC\ TEXT ESC]8;; ESC\
|
|
11
|
+
// 2. Markdown-lite: **bold** -> ANSI bold; `code` -> inverse-video.
|
|
12
|
+
// 3. Bullet markers (lines beginning with `- ` or `* `) are preserved as-is.
|
|
13
|
+
//
|
|
14
|
+
// `noColor: true` (caller's signal for `NO_COLOR` / `--no-color` / `--json`) forces
|
|
15
|
+
// the same pass-through behavior as `mode: 'plain'`, even if the caller somehow
|
|
16
|
+
// passed `mode: 'tty'`. This is a defence-in-depth opt-out: the caller should
|
|
17
|
+
// also pass `mode: 'plain'`, but we don't trust that either, because the JSON
|
|
18
|
+
// envelope contract must not leak escape sequences.
|
|
19
|
+
// OSC 8 escape sequence fragments. Format: ESC ] 8 ; ; URL ESC \ TEXT ESC ] 8 ; ; ESC \
|
|
20
|
+
// Browsers + terminals that understand OSC 8: Windows Terminal, iTerm2, WezTerm, recent GNOME Terminal.
|
|
21
|
+
const ESC = '';
|
|
22
|
+
const OSC8_OPEN = `${ESC}]8;;`;
|
|
23
|
+
const OSC8_SEP = `${ESC}\\`;
|
|
24
|
+
const OSC8_CLOSE = `${OSC8_OPEN}${OSC8_SEP}`;
|
|
25
|
+
// ANSI sequences used by the markdown-lite pass.
|
|
26
|
+
const ANSI_BOLD_OPEN = `${ESC}[1m`;
|
|
27
|
+
const ANSI_BOLD_CLOSE = `${ESC}[22m`;
|
|
28
|
+
const ANSI_INVERSE_OPEN = `${ESC}[7m`;
|
|
29
|
+
const ANSI_INVERSE_CLOSE = `${ESC}[27m`;
|
|
30
|
+
// Lightweight URL detector (deliberately not RFC-3986-perfect).
|
|
31
|
+
// Matches http(s):// and file:// tokens up to the first whitespace or
|
|
32
|
+
// common terminator. Trailing punctuation is captured as part of the URL,
|
|
33
|
+
// which is fine for display; the OSC 8 link still works because terminals
|
|
34
|
+
// re-tokenise on hover/click. To stay close to the slice spec's reference
|
|
35
|
+
// pattern we exclude <, >, ", ', and ` from URL characters.
|
|
36
|
+
const URL_PATTERN = /(https?:\/\/|file:\/\/)[^\s<>"'`]+/g;
|
|
37
|
+
// **bold** markers (non-greedy, multi-char safe). Allows ** at word boundaries.
|
|
38
|
+
const BOLD_PATTERN = /\*\*([^*\n]+?)\*\*/g;
|
|
39
|
+
// `inline-code` markers.
|
|
40
|
+
const CODE_PATTERN = /`([^`\n]+?)`/g;
|
|
41
|
+
/**
|
|
42
|
+
* Render a human-readable message string for the terminal.
|
|
43
|
+
*
|
|
44
|
+
* Pure function. Returns the input unchanged when:
|
|
45
|
+
* - `input` is empty,
|
|
46
|
+
* - `input` is not a string (defensive: callers occasionally pass numbers/objects),
|
|
47
|
+
* - `mode === 'plain'`,
|
|
48
|
+
* - `noColor === true` (NO_COLOR / --no-color / --json opt-out).
|
|
49
|
+
*/
|
|
50
|
+
export function renderMessage(input, options) {
|
|
51
|
+
if (typeof input !== 'string' || input.length === 0) {
|
|
52
|
+
return input;
|
|
53
|
+
}
|
|
54
|
+
if (options.mode === 'plain' || options.noColor === true) {
|
|
55
|
+
return input;
|
|
56
|
+
}
|
|
57
|
+
// Markdown-lite first, then URL linking. The order matters: bold/code
|
|
58
|
+
// transformations can wrap parts of a URL (e.g. `\`code\`` containing a URL),
|
|
59
|
+
// so we link URLs on the already-formatted string. Either order would be
|
|
60
|
+
// acceptable; linking on the formatted string means a URL inside a code
|
|
61
|
+
// span still gets hyperlink-wrapped, which is the modern-terminal-friendly
|
|
62
|
+
// choice.
|
|
63
|
+
let out = applyMarkdownLite(input);
|
|
64
|
+
out = applyHyperlinks(out);
|
|
65
|
+
return out;
|
|
66
|
+
}
|
|
67
|
+
function applyMarkdownLite(input) {
|
|
68
|
+
let out = input.replace(BOLD_PATTERN, (_match, inner) => {
|
|
69
|
+
return `${ANSI_BOLD_OPEN}${inner}${ANSI_BOLD_CLOSE}`;
|
|
70
|
+
});
|
|
71
|
+
out = out.replace(CODE_PATTERN, (_match, inner) => {
|
|
72
|
+
return `${ANSI_INVERSE_OPEN}${inner}${ANSI_INVERSE_CLOSE}`;
|
|
73
|
+
});
|
|
74
|
+
return out;
|
|
75
|
+
}
|
|
76
|
+
function applyHyperlinks(input) {
|
|
77
|
+
return input.replace(URL_PATTERN, (url) => {
|
|
78
|
+
return `${OSC8_OPEN}${url}${OSC8_SEP}${url}${OSC8_CLOSE}`;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 24h mode B3 trigger evaluation + attempts counter.
|
|
3
|
+
*
|
|
4
|
+
* Rid-020a (state-only slice). `fireB3` is the single mutating
|
|
5
|
+
* primitive: it increments the per-key counter and escalates with a
|
|
6
|
+
* `B3Escalation` when the count reaches `B3_THRESHOLD` (3). The
|
|
7
|
+
* counter is **per-key** — AC-T3 mandates B1 and B2 retries do not
|
|
8
|
+
* share a global counter. The T3/T4 auto-24H_ACTIVE path is encoded
|
|
9
|
+
* in `isAutoEngageTrigger` (BRAINSTORM is bypassed for these
|
|
10
|
+
* triggers so an offline-resumed session does not deadlock in
|
|
11
|
+
* WAITING_USER — proposal §1 T3/T4 exception).
|
|
12
|
+
*/
|
|
13
|
+
import { type DecisionKey, type State } from './state.js';
|
|
14
|
+
import type { AutoCompactMode } from '../code/auto-compact-modes.js';
|
|
15
|
+
export type AttemptsMap = Record<DecisionKey, number>;
|
|
16
|
+
export declare const B3_TRIGGER_REASONS: readonly ["prd_direction_change", "blocker_3_consecutive_slices", "registry_affecting_failure", "destructive_irreversible_op", "any_B1_B2_failure_3x_non_converging", "runtime_or_shared_version_mismatch", "sub-agent_stale_5min_x3"];
|
|
17
|
+
export type B3Reason = (typeof B3_TRIGGER_REASONS)[number];
|
|
18
|
+
export declare class B3Escalation extends Error {
|
|
19
|
+
readonly reason: B3Reason;
|
|
20
|
+
readonly attempts: number;
|
|
21
|
+
constructor(reason: B3Reason, attempts: number);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Result envelope for `fireB3`. We return a discriminated union
|
|
25
|
+
* (instead of throwing) so callers can branch on `kind` without
|
|
26
|
+
* try/catch ceremony. The B3Escalation class is still exported for
|
|
27
|
+
* backward compatibility with callers that prefer the throw style.
|
|
28
|
+
*/
|
|
29
|
+
export type FireB3Result = {
|
|
30
|
+
kind: 'continue';
|
|
31
|
+
reason: B3Reason;
|
|
32
|
+
attempts: number;
|
|
33
|
+
} | {
|
|
34
|
+
kind: 'escalate';
|
|
35
|
+
reason: B3Reason;
|
|
36
|
+
attempts: number;
|
|
37
|
+
};
|
|
38
|
+
export declare function isB3Reason(value: string): value is B3Reason;
|
|
39
|
+
export declare function isValidReason(value: string): value is DecisionKey;
|
|
40
|
+
export declare function freshAttempts(): AttemptsMap;
|
|
41
|
+
/**
|
|
42
|
+
* Per AC-T1 (attempts=1 continue, no B3) and AC-T2 (attempts=3
|
|
43
|
+
* escalate), the 3rd call escalates. The threshold is intentionally
|
|
44
|
+
* NOT configurable — the proposal pins the constant so QA v3 can
|
|
45
|
+
* assert it. Returns a FireB3Result instead of throwing so test
|
|
46
|
+
* code can read the `attempts` field via plain property access
|
|
47
|
+
* (Error-subclass property access through vitest 4.1.10 matchers
|
|
48
|
+
* is unreliable; the discriminated union sidesteps that).
|
|
49
|
+
*/
|
|
50
|
+
export declare function fireB3(reason: B3Reason, attempts: AttemptsMap): FireB3Result;
|
|
51
|
+
/**
|
|
52
|
+
* T3 (runaway recovery) and T4 (offline resume) auto-engage
|
|
53
|
+
* `24H_ACTIVE` without forcing `USER_CONFIRM` — the deferred
|
|
54
|
+
* AskUserQuestion fires at the first 10min checkpoint instead, so
|
|
55
|
+
* a T4 session does not deadlock in `WAITING_USER` while the
|
|
56
|
+
* user is offline (proposal §1 T3/T4 exception).
|
|
57
|
+
*/
|
|
58
|
+
export declare const AUTO_ENGAGE_TRIGGERS: readonly ["T3", "T4"];
|
|
59
|
+
export type AutoEngageTrigger = (typeof AUTO_ENGAGE_TRIGGERS)[number];
|
|
60
|
+
export declare function isAutoEngageTrigger(t: string): t is AutoEngageTrigger;
|
|
61
|
+
/**
|
|
62
|
+
* Five trigger conditions (T1-T5) from proposal §1 + companion
|
|
63
|
+
* trigger-and-decision-autonomy sediment. T1/T2/T5 flow through
|
|
64
|
+
* BRAINSTORM; T3/T4 auto-engage and skip the gate.
|
|
65
|
+
*/
|
|
66
|
+
export interface TriggerCheck {
|
|
67
|
+
triggered: boolean;
|
|
68
|
+
trigger: 'T1' | 'T2' | 'T3' | 'T4' | 'T5' | null;
|
|
69
|
+
reason: string;
|
|
70
|
+
}
|
|
71
|
+
export declare const T1_KEYWORDS: string[];
|
|
72
|
+
export declare const T2_MIN_SLICES = 30;
|
|
73
|
+
export declare const T2_MIN_WALL_HOURS = 6;
|
|
74
|
+
export declare const T3_MIN_MONOTONIC_GUARDS = 3;
|
|
75
|
+
export declare const T3_MIN_REMAINING_SLICES = 10;
|
|
76
|
+
export declare const T4_SESSION_GAP_HOURS = 4;
|
|
77
|
+
export declare const T5_MIN_ACTIVE_SLICES = 3;
|
|
78
|
+
export declare function checkTriggers(input: {
|
|
79
|
+
userMessage: string;
|
|
80
|
+
sliceListSize: number;
|
|
81
|
+
estimatedWallHours: number;
|
|
82
|
+
monotonicGuards: number;
|
|
83
|
+
remainingSlices: number;
|
|
84
|
+
sessionGapHours: number;
|
|
85
|
+
activeSlicesAcrossServices: number;
|
|
86
|
+
}): TriggerCheck;
|
|
87
|
+
/**
|
|
88
|
+
* HANDOFF is reachable via three exit conditions per proposal §1:
|
|
89
|
+
* - user abort
|
|
90
|
+
* - all-trigger-resolved
|
|
91
|
+
* - B3 unresolvable (B3Escalation that the user dismisses)
|
|
92
|
+
*/
|
|
93
|
+
export declare const HANDOFF_EXIT_CONDITIONS: readonly ["user_abort", "all_triggers_resolved", "b3_unresolvable"];
|
|
94
|
+
export type HandoffExitCondition = (typeof HANDOFF_EXIT_CONDITIONS)[number];
|
|
95
|
+
export declare function isHandoffExitCondition(s: string): s is HandoffExitCondition;
|
|
96
|
+
export declare function isHandoffState(s: State): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Slice 2026-07-28 (rid-027): resolve the auto-compact mode from
|
|
99
|
+
* 24h-mode awareness. Returns `'partial'` when the session is
|
|
100
|
+
* `24H_ACTIVE`, otherwise `'standard'`. This is the CLI-side default;
|
|
101
|
+
* the explicit `--mode` flag in `peaks compact auto` overrides it.
|
|
102
|
+
*/
|
|
103
|
+
export declare function getAutoCompactMode(projectRoot: string, sessionId: string): AutoCompactMode;
|