peaks-loop 4.1.1 → 4.1.3
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/.claude-plugin/marketplace.json +136 -47
- package/CHANGELOG.md +106 -0
- package/README-en.md +4 -4
- package/README.md +25 -4
- package/bin/node-floor.mjs +59 -0
- package/bin/peaks.js +13 -0
- package/config/eslint/tsconfig.lint.json +2 -1
- package/contracts/readonly-argv-whitelist.json +211 -0
- package/dist/cli/cli-helpers.d.ts +0 -1
- package/dist/cli/cli-helpers.js +0 -1
- package/dist/cli/commands/_cli-error-envelope.js +0 -3
- package/dist/cli/commands/adapter-commands-s2a.d.ts +0 -1
- package/dist/cli/commands/adapter-commands.d.ts +0 -1
- package/dist/cli/commands/api-diff-commands.d.ts +0 -1
- package/dist/cli/commands/api-diff-commands.js +0 -1
- package/dist/cli/commands/audit-artifact-runners.d.ts +16 -0
- package/dist/cli/commands/audit-artifact-runners.js +170 -0
- package/dist/cli/commands/audit-command-shared.d.ts +97 -0
- package/dist/cli/commands/audit-command-shared.js +60 -0
- package/dist/cli/commands/audit-commands.d.ts +7 -31
- package/dist/cli/commands/audit-commands.js +65 -477
- package/dist/cli/commands/audit-goal-runners.d.ts +17 -0
- package/dist/cli/commands/audit-goal-runners.js +114 -0
- package/dist/cli/commands/audit-red-lines-runners.d.ts +11 -0
- package/dist/cli/commands/audit-red-lines-runners.js +43 -0
- package/dist/cli/commands/audit-refusal-data.d.ts +23 -0
- package/dist/cli/commands/audit-refusal-data.js +69 -0
- package/dist/cli/commands/audit-static-runners.d.ts +13 -0
- package/dist/cli/commands/audit-static-runners.js +139 -0
- package/dist/cli/commands/autonomous-swarm-commands.js +0 -1
- package/dist/cli/commands/await-runners.d.ts +11 -0
- package/dist/cli/commands/await-runners.js +148 -0
- package/dist/cli/commands/bee-commands.d.ts +0 -2
- package/dist/cli/commands/bee-commands.js +0 -2
- package/dist/cli/commands/best-practice-scan-command.d.ts +0 -1
- package/dist/cli/commands/best-practice-scan-helpers.js +0 -1
- package/dist/cli/commands/changeset-commands.d.ts +0 -2
- package/dist/cli/commands/changeset-commands.js +0 -2
- package/dist/cli/commands/code-auto-compact-command.d.ts +3 -0
- package/dist/cli/commands/code-auto-compact-command.js +124 -0
- package/dist/cli/commands/code-auto-compact-envelope.d.ts +22 -0
- package/dist/cli/commands/code-auto-compact-envelope.js +39 -0
- package/dist/cli/commands/code-commands.d.ts +0 -3
- package/dist/cli/commands/code-commands.js +0 -3
- package/dist/cli/commands/code-context-audit-command.d.ts +3 -0
- package/dist/cli/commands/code-context-audit-command.js +68 -0
- package/dist/cli/commands/code-context-now-command.d.ts +3 -0
- package/dist/cli/commands/code-context-now-command.js +124 -0
- package/dist/cli/commands/code-context-now-envelope.d.ts +66 -0
- package/dist/cli/commands/code-context-now-envelope.js +136 -0
- package/dist/cli/commands/code-context-now-mapping.d.ts +27 -0
- package/dist/cli/commands/code-context-now-mapping.js +43 -0
- package/dist/cli/commands/code-emit-handoff-command.d.ts +3 -0
- package/dist/cli/commands/code-emit-handoff-command.js +99 -0
- package/dist/cli/commands/code-gate-command.d.ts +0 -1
- package/dist/cli/commands/code-gate-command.js +0 -1
- package/dist/cli/commands/code-gate-step-08-command.d.ts +3 -0
- package/dist/cli/commands/code-gate-step-08-command.js +139 -0
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +0 -1
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +0 -1
- package/dist/cli/commands/code-job-shape-commands.d.ts +0 -2
- package/dist/cli/commands/code-job-shape-commands.js +0 -3
- package/dist/cli/commands/code-mode-gate-commands.d.ts +0 -2
- package/dist/cli/commands/code-mode-gate-commands.js +0 -3
- package/dist/cli/commands/code-mode-gate-should-pause-command.js +0 -4
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +0 -1
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +0 -2
- package/dist/cli/commands/code-mode-status-command.d.ts +0 -1
- package/dist/cli/commands/code-mode-status-command.js +0 -1
- package/dist/cli/commands/code-orchestrator-can-do.d.ts +0 -1
- package/dist/cli/commands/code-orchestrator-can-do.js +0 -1
- package/dist/cli/commands/code-post-compact-detect-command.d.ts +3 -0
- package/dist/cli/commands/code-post-compact-detect-command.js +50 -0
- package/dist/cli/commands/code-run-command.js +0 -1
- package/dist/cli/commands/code-runtime-commands.d.ts +9 -46
- package/dist/cli/commands/code-runtime-commands.js +20 -687
- package/dist/cli/commands/code-runtime-session.d.ts +1 -0
- package/dist/cli/commands/code-runtime-session.js +15 -0
- package/dist/cli/commands/codegraph-command-runtime.d.ts +6 -0
- package/dist/cli/commands/codegraph-command-runtime.js +19 -7
- package/dist/cli/commands/codegraph-commands.js +20 -193
- package/dist/cli/commands/codegraph-init-command.d.ts +8 -0
- package/dist/cli/commands/codegraph-init-command.js +162 -0
- package/dist/cli/commands/codegraph-status-command.js +5 -6
- package/dist/cli/commands/compact-command.d.ts +6 -3
- package/dist/cli/commands/compact-command.js +12 -563
- package/dist/cli/commands/compact-dry-run-command.d.ts +3 -0
- package/dist/cli/commands/compact-dry-run-command.js +87 -0
- package/dist/cli/commands/compact-force-command.d.ts +3 -0
- package/dist/cli/commands/compact-force-command.js +98 -0
- package/dist/cli/commands/compact-harness-window-command.d.ts +3 -0
- package/dist/cli/commands/compact-harness-window-command.js +174 -0
- package/dist/cli/commands/compact-history-command.d.ts +3 -0
- package/dist/cli/commands/compact-history-command.js +89 -0
- package/dist/cli/commands/compact-read-commands.d.ts +3 -0
- package/dist/cli/commands/compact-read-commands.js +123 -0
- package/dist/cli/commands/compact-settle-command.d.ts +3 -0
- package/dist/cli/commands/compact-settle-command.js +130 -0
- package/dist/cli/commands/compact-shared.d.ts +9 -0
- package/dist/cli/commands/compact-shared.js +26 -0
- package/dist/cli/commands/container-commands.d.ts +0 -1
- package/dist/cli/commands/container-commands.js +0 -1
- package/dist/cli/commands/context-commands.d.ts +0 -1
- package/dist/cli/commands/context-commands.js +0 -1
- package/dist/cli/commands/core/doctor-command.d.ts +0 -1
- package/dist/cli/commands/core/doctor-command.js +0 -9
- package/dist/cli/commands/core/memory-command.js +0 -1
- package/dist/cli/commands/core/session-command.js +0 -14
- package/dist/cli/commands/core/skill-command.d.ts +1 -44
- package/dist/cli/commands/core/skill-command.js +13 -550
- package/dist/cli/commands/core/skill-context-verdict.d.ts +38 -0
- package/dist/cli/commands/core/skill-context-verdict.js +63 -0
- package/dist/cli/commands/core/skill-generated-config-notice.d.ts +41 -0
- package/dist/cli/commands/core/skill-generated-config-notice.js +75 -0
- package/dist/cli/commands/core/skill-heartbeat-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-heartbeat-commands.js +50 -0
- package/dist/cli/commands/core/skill-presence-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-presence-commands.js +123 -0
- package/dist/cli/commands/core/skill-presence-housekeeping-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-presence-housekeeping-commands.js +165 -0
- package/dist/cli/commands/core/skill-registry-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-registry-commands.js +117 -0
- package/dist/cli/commands/core/skill-runbook-command.d.ts +3 -0
- package/dist/cli/commands/core/skill-runbook-command.js +29 -0
- package/dist/cli/commands/core-artifact-commands.d.ts +0 -1
- package/dist/cli/commands/core-artifact-commands.js +0 -1
- package/dist/cli/commands/cron-commands-actions.d.ts +0 -1
- package/dist/cli/commands/cron-commands-actions.js +0 -2
- package/dist/cli/commands/cron-commands-schedule.d.ts +0 -3
- package/dist/cli/commands/cron-commands-schedule.js +0 -1
- package/dist/cli/commands/cron-commands.d.ts +0 -1
- package/dist/cli/commands/cron-commands.js +0 -2
- package/dist/cli/commands/cron-scheduler-commands.d.ts +0 -1
- package/dist/cli/commands/cron-scheduler-commands.js +0 -1
- package/dist/cli/commands/cron-scheduler-persist.d.ts +0 -5
- package/dist/cli/commands/cron-scheduler-persist.js +0 -5
- package/dist/cli/commands/dashboard-summary.d.ts +0 -1
- package/dist/cli/commands/dispatch-command-spec.d.ts +2 -0
- package/dist/cli/commands/dispatch-command-spec.js +62 -0
- package/dist/cli/commands/dispatch-commands.d.ts +0 -1
- package/dist/cli/commands/dispatch-commands.js +159 -802
- package/dist/cli/commands/dispatch-detached-branch.d.ts +3 -0
- package/dist/cli/commands/dispatch-detached-branch.js +58 -0
- package/dist/cli/commands/dispatch-envelope.d.ts +36 -0
- package/dist/cli/commands/dispatch-envelope.js +104 -0
- package/dist/cli/commands/dispatch-from-dag.js +0 -4
- package/dist/cli/commands/dispatch-isolation-lease.d.ts +17 -0
- package/dist/cli/commands/dispatch-isolation-lease.js +149 -0
- package/dist/cli/commands/dispatch-preflight.d.ts +7 -0
- package/dist/cli/commands/dispatch-preflight.js +105 -0
- package/dist/cli/commands/dispatch-prompt-blocks.d.ts +10 -0
- package/dist/cli/commands/dispatch-prompt-blocks.js +56 -0
- package/dist/cli/commands/dispatch-prompt-composition.d.ts +30 -0
- package/dist/cli/commands/dispatch-prompt-composition.js +171 -0
- package/dist/cli/commands/dispatch-record-write.d.ts +24 -0
- package/dist/cli/commands/dispatch-record-write.js +96 -0
- package/dist/cli/commands/dispatch-tool-call.d.ts +15 -0
- package/dist/cli/commands/dispatch-tool-call.js +128 -0
- package/dist/cli/commands/doctor/invoke-from-code.js +0 -1
- package/dist/cli/commands/e2e-verify.d.ts +0 -1
- package/dist/cli/commands/ecc-commands.d.ts +0 -1
- package/dist/cli/commands/evolution-command-shared.d.ts +78 -0
- package/dist/cli/commands/evolution-command-shared.js +107 -0
- package/dist/cli/commands/evolution-commands.d.ts +11 -2
- package/dist/cli/commands/evolution-commands.js +19 -351
- package/dist/cli/commands/evolution-evaluate-command.d.ts +24 -0
- package/dist/cli/commands/evolution-evaluate-command.js +138 -0
- package/dist/cli/commands/evolution-propose-command.d.ts +23 -0
- package/dist/cli/commands/evolution-propose-command.js +145 -0
- package/dist/cli/commands/evolution-status-command.d.ts +17 -0
- package/dist/cli/commands/evolution-status-command.js +41 -0
- package/dist/cli/commands/evolution-verdict-commands.d.ts +30 -0
- package/dist/cli/commands/evolution-verdict-commands.js +100 -0
- package/dist/cli/commands/feedback-commands.d.ts +0 -1
- package/dist/cli/commands/feedback-commands.js +0 -2
- package/dist/cli/commands/finalize-accumulator.d.ts +44 -0
- package/dist/cli/commands/finalize-accumulator.js +55 -0
- package/dist/cli/commands/finalize-branches.d.ts +34 -0
- package/dist/cli/commands/finalize-branches.js +119 -0
- package/dist/cli/commands/finalize-runners.d.ts +3 -0
- package/dist/cli/commands/finalize-runners.js +92 -0
- package/dist/cli/commands/finalize-selection.d.ts +65 -0
- package/dist/cli/commands/finalize-selection.js +35 -0
- package/dist/cli/commands/fixture-commands.d.ts +0 -2
- package/dist/cli/commands/fresh-context-commands.d.ts +0 -1
- package/dist/cli/commands/gate-commands-enforce.d.ts +0 -3
- package/dist/cli/commands/gate-commands-enforce.js +0 -4
- package/dist/cli/commands/gate-commands.js +26 -10
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +0 -3
- package/dist/cli/commands/governance-classify-contract-commands.js +0 -4
- package/dist/cli/commands/heartbeat-commands-action.js +0 -6
- package/dist/cli/commands/heartbeat-commands-validation.d.ts +0 -2
- package/dist/cli/commands/heartbeat-commands-validation.js +0 -2
- package/dist/cli/commands/heartbeat-commands.d.ts +0 -1
- package/dist/cli/commands/heartbeat-commands.js +0 -1
- package/dist/cli/commands/hooks-commands.js +0 -11
- package/dist/cli/commands/ide-commands.d.ts +0 -1
- package/dist/cli/commands/job-add-slice-command.d.ts +0 -2
- package/dist/cli/commands/job-add-slice-command.js +0 -2
- package/dist/cli/commands/job-checkpoint-commands.d.ts +3 -0
- package/dist/cli/commands/job-checkpoint-commands.js +157 -0
- package/dist/cli/commands/job-command-shared.d.ts +109 -0
- package/dist/cli/commands/job-command-shared.js +72 -0
- package/dist/cli/commands/job-commands.d.ts +4 -64
- package/dist/cli/commands/job-commands.js +42 -556
- package/dist/cli/commands/job-cost-check-command.d.ts +3 -0
- package/dist/cli/commands/job-cost-check-command.js +41 -0
- package/dist/cli/commands/job-init-status-commands.d.ts +3 -0
- package/dist/cli/commands/job-init-status-commands.js +149 -0
- package/dist/cli/commands/job-run-commands.d.ts +3 -0
- package/dist/cli/commands/job-run-commands.js +97 -0
- package/dist/cli/commands/job-state-root.d.ts +35 -0
- package/dist/cli/commands/job-state-root.js +76 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +0 -1
- package/dist/cli/commands/lease-metrics-commands.js +0 -1
- package/dist/cli/commands/lease-stats-commands.d.ts +0 -1
- package/dist/cli/commands/lease-stats-commands.js +0 -1
- package/dist/cli/commands/log-commands.d.ts +0 -2
- package/dist/cli/commands/log-commands.js +0 -3
- package/dist/cli/commands/loop-eval-capture-index.d.ts +4 -0
- package/dist/cli/commands/loop-eval-capture-index.js +44 -0
- package/dist/cli/commands/loop-eval-commands.d.ts +8 -5
- package/dist/cli/commands/loop-eval-commands.js +12 -629
- package/dist/cli/commands/loop-eval-eval-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-eval-command.js +168 -0
- package/dist/cli/commands/loop-eval-monotonic-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-monotonic-command.js +90 -0
- package/dist/cli/commands/loop-eval-parents.d.ts +7 -0
- package/dist/cli/commands/loop-eval-parents.js +20 -0
- package/dist/cli/commands/loop-eval-run-code.d.ts +7 -0
- package/dist/cli/commands/loop-eval-run-code.js +40 -0
- package/dist/cli/commands/loop-eval-run-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-run-command.js +113 -0
- package/dist/cli/commands/loop-eval-spec-commands.d.ts +3 -0
- package/dist/cli/commands/loop-eval-spec-commands.js +165 -0
- package/dist/cli/commands/loop-eval-spec-lint-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-spec-lint-command.js +42 -0
- package/dist/cli/commands/loop-eval-workflow-commands.d.ts +3 -0
- package/dist/cli/commands/loop-eval-workflow-commands.js +141 -0
- package/dist/cli/commands/mcp-commands.d.ts +10 -0
- package/dist/cli/commands/mcp-commands.js +157 -0
- package/dist/cli/commands/memory-commands.d.ts +0 -1
- package/dist/cli/commands/memory-commands.js +0 -1
- package/dist/cli/commands/observability-commands.d.ts +0 -6
- package/dist/cli/commands/observability-commands.js +0 -6
- package/dist/cli/commands/outer-cache-commands.js +0 -2
- package/dist/cli/commands/playwright-commands.d.ts +0 -1
- package/dist/cli/commands/playwright-commands.js +0 -1
- package/dist/cli/commands/polyrepo-commands.d.ts +0 -1
- package/dist/cli/commands/prd-commands.d.ts +0 -1
- package/dist/cli/commands/prd-commands.js +0 -2
- package/dist/cli/commands/preferences-commands.js +0 -2
- package/dist/cli/commands/primer-command.d.ts +0 -1
- package/dist/cli/commands/primer-command.js +0 -1
- package/dist/cli/commands/project-commands.js +0 -1
- package/dist/cli/commands/qa-commands.d.ts +0 -1
- package/dist/cli/commands/qa-commands.js +0 -2
- package/dist/cli/commands/release-commands.js +0 -9
- package/dist/cli/commands/request-command-options.d.ts +49 -0
- package/dist/cli/commands/request-command-options.js +1 -0
- package/dist/cli/commands/request-commands.d.ts +3 -10
- package/dist/cli/commands/request-commands.js +17 -532
- package/dist/cli/commands/request-format-helpers.d.ts +0 -1
- package/dist/cli/commands/request-format-helpers.js +0 -2
- package/dist/cli/commands/request-init-command.d.ts +3 -0
- package/dist/cli/commands/request-init-command.js +100 -0
- package/dist/cli/commands/request-lint-command.d.ts +3 -0
- package/dist/cli/commands/request-lint-command.js +50 -0
- package/dist/cli/commands/request-list-command.d.ts +10 -0
- package/dist/cli/commands/request-list-command.js +53 -0
- package/dist/cli/commands/request-repair-status-command.d.ts +3 -0
- package/dist/cli/commands/request-repair-status-command.js +61 -0
- package/dist/cli/commands/request-show-command.d.ts +3 -0
- package/dist/cli/commands/request-show-command.js +56 -0
- package/dist/cli/commands/request-transition-command.d.ts +3 -0
- package/dist/cli/commands/request-transition-command.js +122 -0
- package/dist/cli/commands/request-transition-failures.d.ts +8 -0
- package/dist/cli/commands/request-transition-failures.js +90 -0
- package/dist/cli/commands/request-transition-hooks.d.ts +50 -0
- package/dist/cli/commands/request-transition-hooks.js +115 -0
- package/dist/cli/commands/request-transition-preflight.d.ts +10 -0
- package/dist/cli/commands/request-transition-preflight.js +107 -0
- package/dist/cli/commands/runtime-commands.d.ts +0 -1
- package/dist/cli/commands/sc-commands.js +0 -1
- package/dist/cli/commands/scan-command-shared.d.ts +96 -0
- package/dist/cli/commands/scan-command-shared.js +83 -0
- package/dist/cli/commands/scan-commands.d.ts +3 -2
- package/dist/cli/commands/scan-commands.js +23 -463
- package/dist/cli/commands/scan-inventory-commands.d.ts +3 -0
- package/dist/cli/commands/scan-inventory-commands.js +96 -0
- package/dist/cli/commands/scan-project-commands.d.ts +3 -0
- package/dist/cli/commands/scan-project-commands.js +65 -0
- package/dist/cli/commands/scan-scope-commands.d.ts +3 -0
- package/dist/cli/commands/scan-scope-commands.js +149 -0
- package/dist/cli/commands/scan-scope-helpers.d.ts +8 -0
- package/dist/cli/commands/scan-scope-helpers.js +54 -0
- package/dist/cli/commands/scan-structural-commands.d.ts +3 -0
- package/dist/cli/commands/scan-structural-commands.js +113 -0
- package/dist/cli/commands/session-24h-mode.d.ts +0 -1
- package/dist/cli/commands/session-24h-mode.js +0 -2
- package/dist/cli/commands/session-checkpoint-command.d.ts +0 -1
- package/dist/cli/commands/session-checkpoint-command.js +0 -1
- package/dist/cli/commands/session-resume-command.d.ts +0 -1
- package/dist/cli/commands/session-resume-command.js +0 -1
- package/dist/cli/commands/shadcn-commands.js +0 -2
- package/dist/cli/commands/share-commands.d.ts +12 -71
- package/dist/cli/commands/share-commands.js +47 -569
- package/dist/cli/commands/share-error-hints.d.ts +14 -0
- package/dist/cli/commands/share-error-hints.js +38 -0
- package/dist/cli/commands/share-identity.d.ts +13 -0
- package/dist/cli/commands/share-identity.js +22 -0
- package/dist/cli/commands/share-record-paths.d.ts +37 -0
- package/dist/cli/commands/share-record-paths.js +68 -0
- package/dist/cli/commands/share-runners.d.ts +3 -0
- package/dist/cli/commands/share-runners.js +158 -0
- package/dist/cli/commands/shared-read-runners.d.ts +3 -0
- package/dist/cli/commands/shared-read-runners.js +51 -0
- package/dist/cli/commands/skill-search-commands.d.ts +0 -2
- package/dist/cli/commands/slice-check-command.d.ts +3 -0
- package/dist/cli/commands/slice-check-command.js +54 -0
- package/dist/cli/commands/slice-commands.d.ts +2 -22
- package/dist/cli/commands/slice-commands.js +18 -519
- package/dist/cli/commands/slice-decompose-artifacts.d.ts +18 -0
- package/dist/cli/commands/slice-decompose-artifacts.js +79 -0
- package/dist/cli/commands/slice-decompose-command.d.ts +3 -0
- package/dist/cli/commands/slice-decompose-command.js +123 -0
- package/dist/cli/commands/slice-integrate-commands.js +0 -1
- package/dist/cli/commands/slice-list-commands.d.ts +3 -0
- package/dist/cli/commands/slice-list-commands.js +182 -0
- package/dist/cli/commands/slice-pick-command.d.ts +3 -0
- package/dist/cli/commands/slice-pick-command.js +60 -0
- package/dist/cli/commands/slice-plan-command.d.ts +24 -0
- package/dist/cli/commands/slice-plan-command.js +111 -0
- package/dist/cli/commands/spill-demo-command.d.ts +0 -1
- package/dist/cli/commands/statusline-commands.js +0 -4
- package/dist/cli/commands/sub-agent/detached.js +0 -2
- package/dist/cli/commands/sub-agent-commands.d.ts +0 -3
- package/dist/cli/commands/sub-agent-shared.d.ts +0 -8
- package/dist/cli/commands/sub-agent-shared.js +0 -5
- package/dist/cli/commands/sub-agent-shutdown-commands.d.ts +0 -1
- package/dist/cli/commands/tech-commands.d.ts +0 -4
- package/dist/cli/commands/tech-commands.js +0 -4
- package/dist/cli/commands/vendor-detect.d.ts +0 -3
- package/dist/cli/commands/vendor-detect.js +0 -2
- package/dist/cli/commands/verdict-aggregate-command.d.ts +0 -1
- package/dist/cli/commands/verdict-aggregate-command.js +0 -7
- package/dist/cli/commands/vm-commands.d.ts +0 -1
- package/dist/cli/commands/vm-commands.js +5 -29
- package/dist/cli/commands/vm-hypervisor-probe.d.ts +27 -0
- package/dist/cli/commands/vm-hypervisor-probe.js +78 -0
- package/dist/cli/commands/vm-status-command.d.ts +3 -0
- package/dist/cli/commands/vm-status-command.js +50 -0
- package/dist/cli/commands/wave-plan-commands.d.ts +0 -1
- package/dist/cli/commands/web-lifecycle-commands.d.ts +0 -1
- package/dist/cli/commands/workflow-commands.d.ts +10 -1
- package/dist/cli/commands/workflow-commands.js +6 -608
- package/dist/cli/commands/workflow-gate-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-gate-commands.js +116 -0
- package/dist/cli/commands/workflow-plan-commands-actions.js +0 -2
- package/dist/cli/commands/workflow-plan-commands-session.js +0 -2
- package/dist/cli/commands/workflow-plan-commands.d.ts +0 -1
- package/dist/cli/commands/workflow-plan-helpers.d.ts +48 -0
- package/dist/cli/commands/workflow-plan-helpers.js +103 -0
- package/dist/cli/commands/workflow-planning-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-planning-commands.js +56 -0
- package/dist/cli/commands/workflow-swarm-actions.d.ts +7 -0
- package/dist/cli/commands/workflow-swarm-actions.js +109 -0
- package/dist/cli/commands/workflow-swarm-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-swarm-commands.js +138 -0
- package/dist/cli/commands/workflow-tech-actions.d.ts +10 -0
- package/dist/cli/commands/workflow-tech-actions.js +150 -0
- package/dist/cli/commands/workspace/clean-command.d.ts +0 -1
- package/dist/cli/commands/workspace/clean-command.js +0 -1
- package/dist/cli/commands/workspace/helpers.d.ts +0 -1
- package/dist/cli/commands/workspace/helpers.js +0 -1
- package/dist/cli/commands/workspace/init-actions.d.ts +10 -0
- package/dist/cli/commands/workspace/init-actions.js +199 -0
- package/dist/cli/commands/workspace/init-codegraph-stake.d.ts +10 -0
- package/dist/cli/commands/workspace/init-codegraph-stake.js +54 -0
- package/dist/cli/commands/workspace/init-command.d.ts +8 -130
- package/dist/cli/commands/workspace/init-command.js +59 -640
- package/dist/cli/commands/workspace/init-context.d.ts +58 -0
- package/dist/cli/commands/workspace/init-context.js +121 -0
- package/dist/cli/commands/workspace/init-envelope.d.ts +3 -0
- package/dist/cli/commands/workspace/init-envelope.js +34 -0
- package/dist/cli/commands/workspace/init-failures.d.ts +3 -0
- package/dist/cli/commands/workspace/init-failures.js +84 -0
- package/dist/cli/commands/workspace/init-hooks-decision.d.ts +24 -0
- package/dist/cli/commands/workspace/init-hooks-decision.js +189 -0
- package/dist/cli/commands/workspace/init-options.d.ts +102 -0
- package/dist/cli/commands/workspace/init-options.js +1 -0
- package/dist/cli/commands/workspace/migrate-command.d.ts +0 -2
- package/dist/cli/commands/workspace/migrate-command.js +0 -2
- package/dist/cli/commands/workspace/reconcile-command.d.ts +0 -2
- package/dist/cli/commands/workspace/reconcile-command.js +0 -3
- package/dist/cli/commands/workspace-commands.d.ts +0 -2
- package/dist/cli/commands/workspace-commands.js +0 -4
- package/dist/cli/commands/worktree-auth-commands.d.ts +0 -1
- package/dist/cli/commands/worktree-auth-commands.js +0 -1
- package/dist/cli/commands/worktree-auth-grant-command.d.ts +0 -1
- package/dist/cli/commands/worktree-auth-grant-command.js +0 -1
- package/dist/cli/commands/worktree-auth-manage-commands.d.ts +0 -1
- package/dist/cli/commands/worktree-auth-manage-commands.js +0 -1
- package/dist/cli/commands/worktree-lease-commands.d.ts +10 -6
- package/dist/cli/commands/worktree-lease-commands.js +42 -513
- package/dist/cli/commands/worktree-lease-gc-command.d.ts +12 -0
- package/dist/cli/commands/worktree-lease-gc-command.js +117 -0
- package/dist/cli/commands/worktree-lease-git.d.ts +22 -0
- package/dist/cli/commands/worktree-lease-git.js +48 -0
- package/dist/cli/commands/worktree-lease-list-command.d.ts +12 -0
- package/dist/cli/commands/worktree-lease-list-command.js +100 -0
- package/dist/cli/commands/worktree-lease-load.d.ts +37 -0
- package/dist/cli/commands/worktree-lease-load.js +28 -0
- package/dist/cli/commands/worktree-lease-release-command.d.ts +13 -0
- package/dist/cli/commands/worktree-lease-release-command.js +105 -0
- package/dist/cli/commands/worktree-lease-renew-command.d.ts +11 -0
- package/dist/cli/commands/worktree-lease-renew-command.js +99 -0
- package/dist/cli/commands/worktree-lease-session.d.ts +22 -0
- package/dist/cli/commands/worktree-lease-session.js +29 -0
- package/dist/cli/commands/worktree-lease-spawn-command.d.ts +11 -0
- package/dist/cli/commands/worktree-lease-spawn-command.js +119 -0
- package/dist/cli/commands/worktree-lease-status-command.d.ts +11 -0
- package/dist/cli/commands/worktree-lease-status-command.js +86 -0
- package/dist/cli/commands/worktree-lease-store.d.ts +19 -0
- package/dist/cli/commands/worktree-lease-store.js +24 -0
- package/dist/cli/program.js +5 -7
- package/dist/reporters/bdd-reporter.js +0 -1
- package/dist/services/24h-mode/auto-engage.d.ts +0 -1
- package/dist/services/24h-mode/auto-engage.js +0 -1
- package/dist/services/24h-mode/decider.d.ts +0 -3
- package/dist/services/24h-mode/decider.js +0 -3
- package/dist/services/24h-mode/index.d.ts +0 -2
- package/dist/services/24h-mode/index.js +0 -2
- package/dist/services/24h-mode/state.d.ts +0 -1
- package/dist/services/24h-mode/state.js +0 -1
- package/dist/services/24h-mode/store.d.ts +0 -1
- package/dist/services/24h-mode/store.js +0 -1
- package/dist/services/adapter/adapter-registry.js +0 -1
- package/dist/services/artifacts/artifact-prerequisites.d.ts +0 -5
- package/dist/services/artifacts/artifact-prerequisites.js +0 -19
- package/dist/services/artifacts/artifact-templates.d.ts +0 -1
- package/dist/services/artifacts/artifact-templates.js +0 -1
- package/dist/services/artifacts/request-artifact-service.d.ts +0 -5
- package/dist/services/artifacts/request-artifact-service.js +0 -12
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +0 -1
- package/dist/services/artifacts/request-artifact-state-helpers.js +0 -1
- package/dist/services/audit/artifact-writer.d.ts +0 -1
- package/dist/services/audit/artifact-writer.js +0 -1
- package/dist/services/audit/decision-writer.js +3 -1
- package/dist/services/audit/enforcer-liveness.js +0 -1
- package/dist/services/audit/enforcers/active-skill-resolver.d.ts +0 -2
- package/dist/services/audit/enforcers/active-skill-resolver.js +0 -2
- package/dist/services/audit/red-line-audit-input.d.ts +11 -0
- package/dist/services/audit/red-line-audit-input.js +103 -0
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +0 -1
- package/dist/services/audit/red-line-catalog-p2-a.js +0 -9
- package/dist/services/audit/types.d.ts +0 -2
- package/dist/services/audit/types.js +0 -2
- package/dist/services/audit-independent/perf-audit-service.d.ts +0 -2
- package/dist/services/audit-independent/security-audit-service.d.ts +0 -5
- package/dist/services/audit-independent/security-audit-service.js +0 -2
- package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +0 -5
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +0 -5
- package/dist/services/best-practice/language-detector.js +0 -1
- package/dist/services/best-practice/output-formatter.d.ts +0 -1
- package/dist/services/best-practice/scan-orchestrator.d.ts +0 -1
- package/dist/services/capability-audit-service/types.d.ts +1 -3
- package/dist/services/capability-guard-runner/contracts/J08.js +2 -2
- package/dist/services/changeset/changeset-check-service.d.ts +0 -3
- package/dist/services/changeset/changeset-check-service.js +0 -3
- package/dist/services/classify/classify-service.d.ts +0 -1
- package/dist/services/classify/classify-service.js +0 -1
- package/dist/services/classify/classify-types.d.ts +0 -1
- package/dist/services/classify/classify-types.js +0 -1
- package/dist/services/code/auto-compact-lifecycle.d.ts +0 -11
- package/dist/services/code/auto-compact-lifecycle.js +0 -10
- package/dist/services/code/auto-compact-modes.d.ts +0 -3
- package/dist/services/code/auto-compact-modes.js +0 -3
- package/dist/services/code/auto-compact-orchestrator.d.ts +0 -9
- package/dist/services/code/auto-compact-orchestrator.js +0 -29
- package/dist/services/code/batch-heartbeat-poller.js +0 -1
- package/dist/services/code/compact-event-settle.js +0 -1
- package/dist/services/code/dag-orchestrator.d.ts +0 -1
- package/dist/services/code/dag-orchestrator.js +0 -1
- package/dist/services/code/mode-gate-types.d.ts +0 -2
- package/dist/services/code/mode-gate-types.js +0 -1
- package/dist/services/code/mode-gate.d.ts +0 -5
- package/dist/services/code/mode-gate.js +0 -5
- package/dist/services/code/orchestrator-can-do-advisories.d.ts +0 -2
- package/dist/services/code/orchestrator-can-do-advisories.js +0 -5
- package/dist/services/code/orchestrator-can-do.d.ts +0 -4
- package/dist/services/code/orchestrator-can-do.js +0 -3
- package/dist/services/code/status-line-renderer.js +0 -1
- package/dist/services/code-review/ecc-bridge.d.ts +0 -1
- package/dist/services/codegraph/codegraph-autorefresh.js +6 -4
- package/dist/services/codegraph/codegraph-backend-advice.d.ts +26 -0
- package/dist/services/codegraph/codegraph-backend-advice.js +166 -0
- package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +0 -24
- package/dist/services/codegraph/codegraph-config-repair-writer.js +32 -73
- package/dist/services/codegraph/codegraph-exclude-integrity.d.ts +14 -6
- package/dist/services/codegraph/codegraph-exclude-integrity.js +24 -14
- package/dist/services/codegraph/codegraph-exclude-reconciler.d.ts +9 -2
- package/dist/services/codegraph/codegraph-exclude-reconciler.js +87 -18
- package/dist/services/codegraph/codegraph-exclude-repair.d.ts +9 -61
- package/dist/services/codegraph/codegraph-exclude-repair.js +67 -139
- package/dist/services/codegraph/codegraph-foreign-removal.d.ts +21 -0
- package/dist/services/codegraph/codegraph-foreign-removal.js +77 -0
- package/dist/services/codegraph/codegraph-index-integrity.d.ts +12 -25
- package/dist/services/codegraph/codegraph-index-integrity.js +84 -23
- package/dist/services/codegraph/codegraph-preflight-service.js +15 -6
- package/dist/services/codegraph/codegraph-project-config.d.ts +35 -0
- package/dist/services/codegraph/codegraph-project-config.js +90 -0
- package/dist/services/codegraph/codegraph-service.d.ts +1 -2
- package/dist/services/codegraph/codegraph-service.js +11 -11
- package/dist/services/codegraph/codegraph-upstream-layout.d.ts +24 -0
- package/dist/services/codegraph/codegraph-upstream-layout.js +85 -0
- package/dist/services/comments/comment-audit.d.ts +15 -4
- package/dist/services/comments/comment-audit.js +25 -4
- package/dist/services/comments/comment-citations.d.ts +8 -2
- package/dist/services/comments/comment-citations.js +31 -33
- package/dist/services/comments/comment-hygiene.d.ts +29 -3
- package/dist/services/comments/comment-hygiene.js +40 -3
- package/dist/services/comments/comment-prune.js +52 -4
- package/dist/services/comments/comment-spans.d.ts +30 -0
- package/dist/services/comments/comment-spans.js +266 -0
- package/dist/services/comments/prune-apply.d.ts +22 -0
- package/dist/services/comments/prune-apply.js +69 -2
- package/dist/services/compact/decision-tables.d.ts +0 -2
- package/dist/services/compact/decision-tables.js +0 -2
- package/dist/services/compact/request-transition-hook.js +0 -2
- package/dist/services/compact-history/compact-history-service.d.ts +0 -2
- package/dist/services/compact-history/compact-history-service.js +0 -1
- package/dist/services/compact-statusline/compact-lifecycle-store.js +0 -2
- package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +0 -1
- package/dist/services/compact-statusline/compact-statusline-service.js +0 -4
- package/dist/services/config/config-rollback.js +0 -1
- package/dist/services/config/config-safety.d.ts +0 -1
- package/dist/services/config/config-safety.js +0 -1
- package/dist/services/config/config-service.d.ts +0 -1
- package/dist/services/config/config-service.js +0 -1
- package/dist/services/config/model-routing.d.ts +0 -3
- package/dist/services/config/model-routing.js +0 -5
- package/dist/services/container/container-lease.d.ts +0 -1
- package/dist/services/container/container-lease.js +0 -1
- package/dist/services/context/artifact-meta.js +0 -1
- package/dist/services/context/auto-compact-dispatcher-input.d.ts +0 -3
- package/dist/services/context/auto-compact-dispatcher.js +0 -14
- package/dist/services/context/auto-compact-reader-input.d.ts +0 -1
- package/dist/services/context/auto-compact-reader.d.ts +0 -2
- package/dist/services/context/auto-compact-reader.js +0 -7
- package/dist/services/context/auto-compact-types.d.ts +0 -11
- package/dist/services/context/auto-compact-types.js +0 -1
- package/dist/services/context/build-dispatch-system-prompt.d.ts +11 -29
- package/dist/services/context/build-dispatch-system-prompt.js +8 -27
- package/dist/services/context/codegraph-unavailable-block.d.ts +38 -0
- package/dist/services/context/codegraph-unavailable-block.js +77 -0
- package/dist/services/context/context-audit-hint.d.ts +0 -1
- package/dist/services/context/context-audit-hint.js +0 -1
- package/dist/services/context/context-audit.d.ts +0 -1
- package/dist/services/context/context-audit.js +0 -1
- package/dist/services/context/harness-window-config.d.ts +0 -4
- package/dist/services/context/harness-window-config.js +0 -4
- package/dist/services/context/main-session-monitor.d.ts +0 -2
- package/dist/services/context/main-session-monitor.js +0 -2
- package/dist/services/context/memory-index-reader.d.ts +0 -2
- package/dist/services/context/memory-index-reader.js +0 -1
- package/dist/services/context/memory-preflight-config.d.ts +0 -1
- package/dist/services/context/memory-preflight-service.d.ts +0 -1
- package/dist/services/context/memory-preflight-service.js +0 -3
- package/dist/services/context/memory-preflight-support.d.ts +0 -5
- package/dist/services/context/post-compact-reinjection.d.ts +0 -1
- package/dist/services/context/post-compact-reinjection.js +0 -1
- package/dist/services/context/summary-view.d.ts +0 -1
- package/dist/services/context/summary-view.js +0 -1
- package/dist/services/crystallization/crystallization-service.d.ts +5 -11
- package/dist/services/crystallization/crystallization-service.js +3 -11
- package/dist/services/crystallization/crystallization-store.d.ts +6 -6
- package/dist/services/dispatch/await-batch-helpers.js +0 -3
- package/dist/services/dispatch/await-batch.d.ts +0 -1
- package/dist/services/dispatch/await-batch.js +0 -4
- package/dist/services/dispatch/batch-counter.js +0 -1
- package/dist/services/dispatch/conflict-replay.d.ts +0 -1
- package/dist/services/dispatch/conflict-replay.js +0 -1
- package/dist/services/dispatch/contract-store.d.ts +0 -2
- package/dist/services/dispatch/contract-store.js +0 -2
- package/dist/services/dispatch/dispatch-record-input-types.d.ts +0 -2
- package/dist/services/dispatch/dispatch-record-types.d.ts +0 -10
- package/dist/services/dispatch/dispatch-record-upgrade-fields.js +0 -7
- package/dist/services/dispatch/dispatch-record-upgrade-guards.js +0 -2
- package/dist/services/dispatch/dispatch-record-writer.d.ts +0 -5
- package/dist/services/dispatch/dispatch-record-writer.js +0 -21
- package/dist/services/dispatch/dispatch-sub-agent.d.ts +0 -1
- package/dist/services/dispatch/dispatch-sub-agent.js +0 -1
- package/dist/services/dispatch/e2e-fixtures.js +0 -1
- package/dist/services/dispatch/file-overlap-wave-planner.d.ts +0 -1
- package/dist/services/dispatch/file-overlap-wave-planner.js +0 -1
- package/dist/services/dispatch/isolation-lease.d.ts +0 -2
- package/dist/services/dispatch/isolation-lease.js +0 -2
- package/dist/services/dispatch/service-shutdown.js +0 -1
- package/dist/services/dispatch/session-capsule.js +0 -1
- package/dist/services/dispatch/slice-dag-types.d.ts +0 -1
- package/dist/services/dispatch/slice-dag.js +0 -2
- package/dist/services/dispatch/stage-enum.d.ts +0 -1
- package/dist/services/dispatch/stage-enum.js +0 -1
- package/dist/services/dispatch/startup-timeout.d.ts +0 -1
- package/dist/services/dispatch/sub-agent-batch-await.js +0 -3
- package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +0 -1
- package/dist/services/dispatch/sub-agent-dispatcher.js +0 -2
- package/dist/services/dispatch/test-tool-detection.d.ts +0 -3
- package/dist/services/dispatch/test-tool-detection.js +0 -2
- package/dist/services/distribution/mcp-install-runner.d.ts +21 -0
- package/dist/services/distribution/mcp-install-runner.js +59 -0
- package/dist/services/distribution/mcp-install.d.ts +95 -0
- package/dist/services/distribution/mcp-install.js +179 -0
- package/dist/services/distribution/plugin-manifest.d.ts +97 -0
- package/dist/services/distribution/plugin-manifest.js +126 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +19 -12
- package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +1 -2
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +0 -2
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +0 -2
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +0 -1
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +0 -1
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +0 -1
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +0 -3
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +0 -2
- package/dist/services/doctor/doctor-service/index.d.ts +0 -1
- package/dist/services/doctor/doctor-service/index.js +0 -1
- package/dist/services/doctor/doctor-service/plugin-registry.d.ts +0 -2
- package/dist/services/doctor/doctor-service/plugin-registry.js +0 -2
- package/dist/services/doctor/doctor-service/probe-types.d.ts +0 -4
- package/dist/services/doctor/doctor-service/report/final-summary.d.ts +0 -1
- package/dist/services/doctor/doctor-service/report/final-summary.js +0 -1
- package/dist/services/doctor/doctor-service/types.d.ts +0 -5
- package/dist/services/doctor/doctor-service/types.js +0 -1
- package/dist/services/doctor/doctor-service.d.ts +0 -1
- package/dist/services/doctor/doctor-service.js +0 -2
- package/dist/services/env/shell-probe.js +0 -1
- package/dist/services/evidence/evidence-generator.js +0 -8
- package/dist/services/evolution/evolution-constraints.d.ts +0 -2
- package/dist/services/evolution/evolution-constraints.js +0 -2
- package/dist/services/evolution/evolution-service.d.ts +2 -12
- package/dist/services/evolution/evolution-service.js +0 -9
- package/dist/services/evolution/evolution-store.d.ts +6 -8
- package/dist/services/evolution/evolution-store.js +1 -3
- package/dist/services/evolution/evolution-types.d.ts +0 -2
- package/dist/services/evolution/evolution-types.js +0 -6
- package/dist/services/evolution/independent-evaluator-runner.d.ts +0 -3
- package/dist/services/evolution/independent-evaluator-runner.js +0 -1
- package/dist/services/evolution/regression-skeptic-runner.d.ts +0 -1
- package/dist/services/feedback/feedback-promotion-service.d.ts +0 -8
- package/dist/services/feedback/feedback-promotion-service.js +0 -10
- package/dist/services/feedback/promotion-artifact-evidence.d.ts +0 -1
- package/dist/services/feedback/promotion-artifact-evidence.js +0 -1
- package/dist/services/final-review/final-review-evidence-budget.d.ts +0 -3
- package/dist/services/final-review/final-review-evidence-budget.js +0 -5
- package/dist/services/final-review/final-review-evidence-sources.d.ts +0 -1
- package/dist/services/final-review/final-review-evidence-sources.js +0 -1
- package/dist/services/final-review/final-review-output-budget.d.ts +0 -1
- package/dist/services/final-review/final-review-output-budget.js +0 -3
- package/dist/services/final-review/final-review-service.d.ts +0 -1
- package/dist/services/final-review/final-review-service.js +0 -1
- package/dist/services/fixture/fixture-capture-service.js +0 -1
- package/dist/services/fixture/fixture-sanitize-service.d.ts +0 -3
- package/dist/services/fixture/fixture-sanitize-service.js +0 -3
- package/dist/services/fresh-context/config.js +0 -1
- package/dist/services/fresh-context/fresh-context-block.js +0 -1
- package/dist/services/fresh-context/trigger-scan.d.ts +0 -1
- package/dist/services/fresh-context/trigger-scan.js +0 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +0 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.js +0 -1
- package/dist/services/handoff/handoff-parser.d.ts +0 -1
- package/dist/services/handoff/handoff-parser.js +0 -1
- package/dist/services/handoff/handoff-types.d.ts +0 -1
- package/dist/services/handoff/handoff-types.js +0 -1
- package/dist/services/handoff/handoff-writer.d.ts +0 -1
- package/dist/services/handoff/handoff-writer.js +0 -1
- package/dist/services/hooks/auto-compact-hook-install.d.ts +0 -1
- package/dist/services/hooks/auto-compact-hook-install.js +0 -1
- package/dist/services/hooks/mcp-surface-gate.d.ts +19 -0
- package/dist/services/hooks/mcp-surface-gate.js +87 -0
- package/dist/services/hooks/output.d.ts +0 -1
- package/dist/services/hooks/output.js +0 -1
- package/dist/services/hooks/pre-tool-code-gate.d.ts +0 -1
- package/dist/services/hooks/pre-tool-code-gate.js +0 -1
- package/dist/services/hooks/presence-marker-detector.js +0 -1
- package/dist/services/hooks/worktree-authorization-gate.d.ts +0 -3
- package/dist/services/hooks/worktree-authorization-gate.js +0 -1
- package/dist/services/ide/adapters/claude-code-adapter.d.ts +4 -40
- package/dist/services/ide/adapters/claude-code-adapter.js +48 -182
- package/dist/services/ide/adapters/claude-code-local-state.d.ts +28 -0
- package/dist/services/ide/adapters/claude-code-local-state.js +112 -0
- package/dist/services/ide/adapters/claude-code-model-window.d.ts +37 -0
- package/dist/services/ide/adapters/claude-code-model-window.js +113 -0
- package/dist/services/ide/adapters/qoder-adapter.d.ts +0 -3
- package/dist/services/ide/adapters/qoder-adapter.js +0 -5
- package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +0 -2
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +0 -2
- package/dist/services/ide/adapters/trae-adapter.d.ts +0 -3
- package/dist/services/ide/adapters/trae-adapter.js +3 -6
- package/dist/services/ide/adapters/zcode-adapter.js +0 -2
- package/dist/services/ide/current-model-detector.js +0 -1
- package/dist/services/ide/hook-protocol.d.ts +0 -2
- package/dist/services/ide/hook-protocol.js +0 -2
- package/dist/services/ide/ide-compact-types.d.ts +0 -7
- package/dist/services/ide/ide-mcp-install-types.d.ts +78 -0
- package/dist/services/ide/ide-mcp-install-types.js +104 -0
- package/dist/services/ide/ide-types.d.ts +45 -13
- package/dist/services/ide/mcp-tool-matcher.d.ts +34 -0
- package/dist/services/ide/mcp-tool-matcher.js +84 -0
- package/dist/services/ide/resource-profile.d.ts +0 -1
- package/dist/services/job/job-commit-verification.d.ts +0 -2
- package/dist/services/job/job-commit-verification.js +0 -2
- package/dist/services/job/job-orchestrator.d.ts +0 -1
- package/dist/services/job/job-orchestrator.js +0 -1
- package/dist/services/job/job-progress-store.d.ts +0 -2
- package/dist/services/job/job-progress-store.js +0 -3
- package/dist/services/job/job-types.js +0 -1
- package/dist/services/job-snapshot/snapshot.js +0 -1
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +0 -1
- package/dist/services/legacy/legacy-detector.js +0 -1
- package/dist/services/lint/npx-resolver.js +7 -0
- package/dist/services/log/log-commands-service.d.ts +0 -2
- package/dist/services/log/log-commands-service.js +0 -2
- package/dist/services/log/logger.d.ts +0 -1
- package/dist/services/log/logger.js +0 -1
- package/dist/services/log/redact.d.ts +0 -1
- package/dist/services/log/redact.js +0 -1
- package/dist/services/log/retention.d.ts +0 -1
- package/dist/services/log/retention.js +0 -1
- package/dist/services/loop/loop-bee-relation-service.d.ts +3 -3
- package/dist/services/loop/loop-bee-relation-service.js +14 -13
- package/dist/services/loop/loop-bee-relation-store.d.ts +9 -10
- package/dist/services/loop/loop-bee-relation-store.js +1 -2
- package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
- package/dist/services/loop/loop-bee-relation-types.js +1 -1
- package/dist/services/loop/loop-release-service.d.ts +3 -3
- package/dist/services/loop/loop-release-service.js +1 -1
- package/dist/services/loop/loop-release-store.d.ts +6 -7
- package/dist/services/loop/loop-release-store.js +0 -1
- package/dist/services/loop/monotonic-guard.d.ts +0 -1
- package/dist/services/loop/monotonic-guard.js +0 -1
- package/dist/services/mcp/cli-executor.d.ts +36 -0
- package/dist/services/mcp/cli-executor.js +97 -0
- package/dist/services/mcp/json-rpc.d.ts +81 -0
- package/dist/services/mcp/json-rpc.js +116 -0
- package/dist/services/mcp/memory-tool.d.ts +3 -0
- package/dist/services/mcp/memory-tool.js +62 -0
- package/dist/services/mcp/server-main.d.ts +1 -0
- package/dist/services/mcp/server-main.js +66 -0
- package/dist/services/mcp/server.d.ts +22 -0
- package/dist/services/mcp/server.js +152 -0
- package/dist/services/mcp/surface.d.ts +62 -0
- package/dist/services/mcp/surface.js +198 -0
- package/dist/services/mcp/tool-core.d.ts +42 -0
- package/dist/services/mcp/tool-core.js +137 -0
- package/dist/services/mcp/tools.d.ts +13 -0
- package/dist/services/mcp/tools.js +58 -0
- package/dist/services/memory/memory-ingest-service.js +0 -1
- package/dist/services/memory/project-context-service.d.ts +0 -1
- package/dist/services/memory/project-context-service.js +0 -1
- package/dist/services/memory/project-memory-service/index/reindex.d.ts +0 -2
- package/dist/services/memory/project-memory-service/index/reindex.js +0 -1
- package/dist/services/memory/project-memory-service/index/search.d.ts +0 -1
- package/dist/services/memory/project-memory-service/index/search.js +0 -1
- package/dist/services/memory/project-memory-service/memory-kinds.d.ts +0 -1
- package/dist/services/memory/project-memory-service/memory-kinds.js +0 -1
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +0 -1
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +0 -1
- package/dist/services/memory/project-memory-service.js +0 -1
- package/dist/services/mode/mode-enforcement.js +0 -1
- package/dist/services/mode/mode-status-service.d.ts +0 -2
- package/dist/services/mode/mode-status-service.js +0 -2
- package/dist/services/observability/aggregation.d.ts +0 -4
- package/dist/services/observability/aggregation.js +0 -6
- package/dist/services/observability/observability-schema.js +0 -1
- package/dist/services/observability/observability-service.d.ts +0 -5
- package/dist/services/observability/observability-service.js +0 -4
- package/dist/services/observability/report-formatter.d.ts +0 -2
- package/dist/services/observability/report-formatter.js +0 -2
- package/dist/services/openspec/artifact-boundary.d.ts +0 -4
- package/dist/services/openspec/artifact-boundary.js +0 -4
- package/dist/services/openspec/coverage-evidence-reader.d.ts +0 -1
- package/dist/services/openspec/coverage-evidence-reader.js +0 -1
- package/dist/services/polyrepo/polyrepo-dispatcher.js +0 -1
- package/dist/services/polyrepo/polyrepo-scanner.js +0 -1
- package/dist/services/polyrepo/polyrepo-service.js +0 -1
- package/dist/services/polyrepo/polyrepo-types.d.ts +0 -1
- package/dist/services/prd/best-practice-auto-trigger.d.ts +0 -2
- package/dist/services/prd/best-practice-auto-trigger.js +0 -2
- package/dist/services/prd/gate-evidence-derivation.d.ts +0 -4
- package/dist/services/prd/gate-evidence-derivation.js +0 -5
- package/dist/services/prd/handoff-auto-regen.js +0 -5
- package/dist/services/prd/handoff-frontmatter-shape.d.ts +0 -2
- package/dist/services/prd/handoff-frontmatter-shape.js +0 -2
- package/dist/services/prd/handoff-frontmatter.d.ts +0 -1
- package/dist/services/prd/handoff-frontmatter.js +0 -2
- package/dist/services/prd/handoff-gate-evidence.d.ts +0 -1
- package/dist/services/prd/handoff-gate-evidence.js +0 -4
- package/dist/services/prd/handoff-path-resolution.d.ts +0 -7
- package/dist/services/prd/handoff-path-resolution.js +0 -10
- package/dist/services/prd/handoff-service.d.ts +0 -2
- package/dist/services/prd/handoff-service.js +0 -2
- package/dist/services/prd/handoff-types.d.ts +0 -2
- package/dist/services/prd/handoff-types.js +0 -1
- package/dist/services/prd/project-scan-bootstrap-service.d.ts +0 -1
- package/dist/services/prd/project-scan-bootstrap-service.js +0 -4
- package/dist/services/prd/project-scan-types.d.ts +0 -1
- package/dist/services/prd/project-scan-types.js +0 -1
- package/dist/services/preferences/preferences-service.d.ts +0 -1
- package/dist/services/preferences/preferences-service.js +0 -5
- package/dist/services/preferences/preferences-types.d.ts +0 -14
- package/dist/services/preferences/preferences-types.js +0 -4
- package/dist/services/progress/progress-service.js +0 -1
- package/dist/services/qa/bdd-test-style-verifier.d.ts +0 -1
- package/dist/services/qa/bdd-test-style-verifier.js +0 -1
- package/dist/services/qa/browser-event-logger.d.ts +0 -1
- package/dist/services/qa/browser-event-logger.js +0 -1
- package/dist/services/qa/browser-restart-detector.d.ts +0 -1
- package/dist/services/qa/browser-restart-detector.js +0 -1
- package/dist/services/qa/browser-reuse-hint.d.ts +0 -1
- package/dist/services/qa/browser-reuse-hint.js +0 -1
- package/dist/services/qa/qa-business-review-state.js +0 -2
- package/dist/services/qa/screenshot-archive-service.d.ts +0 -1
- package/dist/services/qa/screenshot-archive-service.js +0 -1
- package/dist/services/rd/impl.js +0 -1
- package/dist/services/rd/rd-service.d.ts +0 -5
- package/dist/services/rd/rd-service.js +0 -5
- package/dist/services/rd/reviewer-dispatch-policy.d.ts +0 -4
- package/dist/services/rd/reviewer-dispatch-policy.js +0 -4
- package/dist/services/rd/standards-diagnostic.js +0 -1
- package/dist/services/rd/tactical-stage.js +0 -1
- package/dist/services/rd-swarm/rd-swarm-types.d.ts +0 -1
- package/dist/services/rd-swarm/rd-swarm-types.js +0 -1
- package/dist/services/readonly-surface/argv-guard.d.ts +32 -0
- package/dist/services/readonly-surface/argv-guard.js +164 -0
- package/dist/services/readonly-surface/readonly-whitelist.d.ts +147 -0
- package/dist/services/readonly-surface/readonly-whitelist.js +107 -0
- package/dist/services/readonly-surface/whitelist-generator.d.ts +64 -0
- package/dist/services/readonly-surface/whitelist-generator.js +212 -0
- package/dist/services/recommendations/installed-capability-detector.d.ts +0 -1
- package/dist/services/recommendations/installed-capability-detector.js +0 -1
- package/dist/services/release/version-precheck-service.d.ts +0 -2
- package/dist/services/release/version-precheck-service.js +0 -3
- package/dist/services/retrospective/retrospective-index.d.ts +0 -1
- package/dist/services/retrospective/retrospective-index.js +0 -1
- package/dist/services/retrospective/retrospective-show.d.ts +0 -1
- package/dist/services/retrospective/retrospective-show.js +0 -1
- package/dist/services/reviewer/model-family.js +0 -1
- package/dist/services/reviewer/reviewer-config.js +0 -1
- package/dist/services/reviewer/reviewer-service.d.ts +0 -1
- package/dist/services/reviewer/reviewer-service.js +0 -3
- package/dist/services/reviewer/selection-strategies.js +0 -1
- package/dist/services/runtime/runtime-detector.js +0 -1
- package/dist/services/runtime/runtime-service.d.ts +0 -2
- package/dist/services/runtime/vendor-adapter.d.ts +0 -7
- package/dist/services/runtime/vendors/claude-code.js +0 -1
- package/dist/services/runtime/vendors/codex.js +0 -1
- package/dist/services/runtime/vendors/copilot.js +0 -1
- package/dist/services/sc/sc-service.js +0 -6
- package/dist/services/scan/acceptance-coverage-service.js +0 -2
- package/dist/services/scan/api-diff-recorded.d.ts +0 -1
- package/dist/services/scan/api-diff-recorded.js +0 -1
- package/dist/services/scan/api-diff-service.d.ts +0 -1
- package/dist/services/scan/api-diff-service.js +0 -1
- package/dist/services/scan/api-diff-types.d.ts +0 -1
- package/dist/services/scan/api-diff-types.js +0 -1
- package/dist/services/scan/archetype-service.js +0 -1
- package/dist/services/scan/file-size-policy.d.ts +0 -1
- package/dist/services/scan/file-size-policy.js +0 -5
- package/dist/services/scan/file-size-scan.d.ts +0 -1
- package/dist/services/security/safe-settings-path.js +0 -1
- package/dist/services/session/binding-store.d.ts +0 -4
- package/dist/services/session/binding-store.js +0 -7
- package/dist/services/session/caller-binding-service.d.ts +0 -6
- package/dist/services/session/caller-binding-service.js +0 -4
- package/dist/services/session/caller-id-types.d.ts +0 -3
- package/dist/services/session/caller-id-types.js +0 -2
- package/dist/services/session/getSessionDir.js +0 -1
- package/dist/services/session/index.js +0 -1
- package/dist/services/session/platform-fallbacks.d.ts +0 -3
- package/dist/services/session/platform-fallbacks.js +0 -3
- package/dist/services/session/resolve-caller-id.d.ts +0 -2
- package/dist/services/session/resolve-caller-id.js +0 -2
- package/dist/services/session/session-binding-bridge.d.ts +0 -2
- package/dist/services/session/session-binding-bridge.js +0 -15
- package/dist/services/session/session-checkpoint-service.d.ts +0 -1
- package/dist/services/session/session-checkpoint-service.js +0 -1
- package/dist/services/session/session-manager.d.ts +0 -8
- package/dist/services/session/session-manager.js +0 -19
- package/dist/services/session/session-resume-service.d.ts +0 -1
- package/dist/services/session/session-resume-service.js +0 -1
- package/dist/services/share/bundle-reader.d.ts +2 -5
- package/dist/services/share/bundle-reader.js +6 -8
- package/dist/services/share/bundle-writer.d.ts +2 -2
- package/dist/services/skill/resume-detector.js +0 -3
- package/dist/services/skill/skill-scheduler.d.ts +0 -1
- package/dist/services/skill/skill-scheduler.js +0 -1
- package/dist/services/skill/skill-search-service.d.ts +0 -2
- package/dist/services/skill/skill-search-service.js +0 -2
- package/dist/services/skillhub/release-diff.d.ts +2 -2
- package/dist/services/skillhub/release-export.d.ts +2 -2
- package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
- package/dist/services/skillhub/release-import.d.ts +2 -2
- package/dist/services/skillhub/release-import.js +2 -1
- package/dist/services/skillhub/release-retain.d.ts +2 -2
- package/dist/services/skillhub/release-retain.js +2 -1
- package/dist/services/skillhub/sqlite-store.d.ts +3 -3
- package/dist/services/skillhub/sqlite-store.js +4 -5
- package/dist/services/skills/hooks-codegate-superpowers.d.ts +1 -3
- package/dist/services/skills/hooks-codegate-superpowers.js +26 -14
- package/dist/services/skills/hooks-settings-service.d.ts +0 -2
- package/dist/services/skills/hooks-settings-service.js +10 -8
- package/dist/services/skills/presence-lease-service.d.ts +0 -1
- package/dist/services/skills/presence-lease-service.js +0 -1
- package/dist/services/skills/session-start-hook-constants.d.ts +0 -4
- package/dist/services/skills/session-start-hook-constants.js +0 -4
- package/dist/services/skills/skill-presence-service.d.ts +0 -8
- package/dist/services/skills/skill-presence-service.js +0 -13
- package/dist/services/skills/skill-statusline-model.d.ts +0 -6
- package/dist/services/skills/skill-statusline-model.js +1 -4
- package/dist/services/skills/skill-statusline-renderer.d.ts +0 -1
- package/dist/services/skills/skill-statusline-renderer.js +0 -12
- package/dist/services/skills/skill-statusline-service.js +0 -6
- package/dist/services/skills/skill-statusline-sid-suffix.d.ts +0 -2
- package/dist/services/skills/skill-statusline-sid-suffix.js +0 -2
- package/dist/services/skills/statusline-palette.d.ts +0 -2
- package/dist/services/skills/statusline-palette.js +0 -3
- package/dist/services/slice/slice-archive-service.js +0 -1
- package/dist/services/slice/slice-benchmark-service.d.ts +0 -1
- package/dist/services/slice/slice-benchmark-service.js +0 -1
- package/dist/services/slice/slice-check-service.js +0 -6
- package/dist/services/slice/slice-check-types.d.ts +0 -1
- package/dist/services/slice/slice-pick-service.d.ts +0 -1
- package/dist/services/slice/slice-pick-service.js +0 -1
- package/dist/services/slice/slice-review-state.js +0 -2
- package/dist/services/sqlite/sqlite-driver.d.ts +118 -0
- package/dist/services/sqlite/sqlite-driver.js +159 -0
- package/dist/services/standards/ide-aware-standards-service.d.ts +0 -2
- package/dist/services/standards/ide-aware-standards-service.js +0 -1
- package/dist/services/standards/loop-engineering-readiness-lint.d.ts +0 -1
- package/dist/services/standards/loop-engineering-readiness-lint.js +0 -1
- package/dist/services/standards/migrate-claude-rules-service.js +0 -3
- package/dist/services/standards/migrate-service.d.ts +0 -1
- package/dist/services/standards/migrate-service.js +0 -1
- package/dist/services/standards/missing-standards-detector.d.ts +0 -2
- package/dist/services/standards/missing-standards-detector.js +0 -3
- package/dist/services/standards/project-standards-service.d.ts +0 -1
- package/dist/services/standards/project-standards-service.js +0 -1
- package/dist/services/standards/standards-render.d.ts +0 -1
- package/dist/services/standards/standards-render.js +0 -1
- package/dist/services/standards/ui-library-dispatch-block.d.ts +0 -1
- package/dist/services/standards/ui-library-dispatch-block.js +0 -1
- package/dist/services/tech/tech-change-id-service.d.ts +0 -7
- package/dist/services/tech/tech-change-id-service.js +0 -7
- package/dist/services/tech/tech-service.js +0 -5
- package/dist/services/verdict/envelope-parsers.d.ts +0 -2
- package/dist/services/verdict/envelope-parsers.js +0 -2
- package/dist/services/verdict/envelopes.d.ts +0 -1
- package/dist/services/vm/vm-lease.js +0 -1
- package/dist/services/web/aria-node.d.ts +0 -1
- package/dist/services/web/bounded-output.d.ts +0 -1
- package/dist/services/web/bounded-output.js +0 -1
- package/dist/services/web/browser-acquire.js +0 -1
- package/dist/services/web/browser-cache-probe.js +0 -1
- package/dist/services/web/browser-session-manager.js +0 -1
- package/dist/services/web/daemon-entry.js +0 -1
- package/dist/services/web/daemon-registry.js +0 -1
- package/dist/services/web/daemon-supervisor.d.ts +4 -3
- package/dist/services/web/daemon-supervisor.js +4 -4
- package/dist/services/web/playwright-loader.js +0 -1
- package/dist/services/web/playwright-types.d.ts +0 -1
- package/dist/services/web/snapshot-pruner.js +0 -1
- package/dist/services/web/untrusted-envelope.d.ts +0 -1
- package/dist/services/web/web-artifact-paths.js +0 -1
- package/dist/services/web/web-client.d.ts +0 -1
- package/dist/services/web/web-daemon-service.js +0 -1
- package/dist/services/web/web-fallback.d.ts +0 -1
- package/dist/services/web/web-fallback.js +0 -1
- package/dist/services/web/web-install-service.js +0 -1
- package/dist/services/web/web-login-profile.js +0 -1
- package/dist/services/web/web-protocol.d.ts +0 -1
- package/dist/services/web/web-protocol.js +0 -1
- package/dist/services/web/web-status-report.js +0 -1
- package/dist/services/workflow/artifact-paths.js +0 -3
- package/dist/services/workflow/autonomous-resume-writer.js +0 -2
- package/dist/services/workflow/pipeline-verify-gate-support.d.ts +0 -5
- package/dist/services/workflow/pipeline-verify-gate-support.js +0 -11
- package/dist/services/workflow/pipeline-verify-service.d.ts +0 -2
- package/dist/services/workflow/pipeline-verify-service.js +0 -15
- package/dist/services/workflow/pipeline-verify-types.d.ts +0 -10
- package/dist/services/workflow/pipeline-verify-types.js +0 -2
- package/dist/services/workflow/plan-reader.d.ts +0 -1
- package/dist/services/workflow/plan-reader.js +0 -5
- package/dist/services/workflow/plan-refresher.js +0 -2
- package/dist/services/workflow/plan-trigger-detector.d.ts +0 -2
- package/dist/services/workflow/plan-trigger-detector.js +0 -3
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +0 -5
- package/dist/services/workflow/workflow-autonomous-service.js +0 -2
- package/dist/services/workflow/workflow-autonomous-types.d.ts +0 -2
- package/dist/services/workflow/workflow-autonomous-types.js +0 -2
- package/dist/services/workflow/workflow-graph-types.d.ts +0 -1
- package/dist/services/workflow/workflow-graph-types.js +0 -1
- package/dist/services/workflow/workflow-router-service.js +0 -4
- package/dist/services/workflow/workflow-skip-service.d.ts +0 -1
- package/dist/services/workflow/workflow-skip-service.js +0 -1
- package/dist/services/workflow/workflow-spec-lint.d.ts +0 -2
- package/dist/services/workflow/workflow-spec-lint.js +0 -2
- package/dist/services/workflow/workflow-spec-types.d.ts +0 -1
- package/dist/services/workflow/workflow-spec-types.js +0 -1
- package/dist/services/workflow/workflow-spec-yaml.d.ts +0 -2
- package/dist/services/workflow/workflow-spec-yaml.js +0 -2
- package/dist/services/workflow/workflow-spec.js +0 -1
- package/dist/services/workflow/workflow-state-store.js +0 -1
- package/dist/services/workspace/claude-settings-template.d.ts +0 -4
- package/dist/services/workspace/claude-settings-template.js +0 -4
- package/dist/services/workspace/migrate-1-4-1-service.d.ts +0 -1
- package/dist/services/workspace/migrate-1-4-1-service.js +0 -1
- package/dist/services/workspace/migrate-service.js +0 -8
- package/dist/services/workspace/migrate-types.d.ts +0 -4
- package/dist/services/workspace/migrate-types.js +0 -1
- package/dist/services/workspace/reconcile-migrate.d.ts +0 -3
- package/dist/services/workspace/reconcile-migrate.js +0 -5
- package/dist/services/workspace/reconcile-service.d.ts +0 -3
- package/dist/services/workspace/reconcile-service.js +0 -7
- package/dist/services/workspace/reconcile-types.d.ts +0 -5
- package/dist/services/workspace/sid-naming-guard.d.ts +0 -1
- package/dist/services/workspace/sid-naming-guard.js +0 -1
- package/dist/services/workspace/templates/project-scan/index.d.ts +0 -3
- package/dist/services/workspace/templates/project-scan/index.js +0 -3
- package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +0 -1
- package/dist/services/workspace/workspace-claude-settings-materializer.js +0 -4
- package/dist/services/workspace/workspace-service.d.ts +0 -7
- package/dist/services/workspace/workspace-service.js +0 -16
- package/dist/services/worktree/playwright-profile.js +0 -1
- package/dist/services/worktree/worktree-lease-types.d.ts +0 -1
- package/dist/services/worktree/worktree-lease-types.js +0 -1
- package/dist/services/worktree/worktree-lease.d.ts +0 -2
- package/dist/services/worktree/worktree-lease.js +0 -2
- package/dist/shared/format-md-compact.d.ts +0 -2
- package/dist/shared/format-md-compact.js +0 -2
- package/dist/shared/incrementing-number.d.ts +0 -1
- package/dist/shared/incrementing-number.js +0 -1
- package/dist/shared/path-utils.d.ts +0 -1
- package/dist/shared/path-utils.js +0 -1
- package/dist/shared/runtime-root.d.ts +0 -1
- package/dist/shared/runtime-root.js +0 -1
- package/dist/shared/stale-policy.d.ts +0 -1
- package/dist/shared/stale-policy.js +0 -1
- package/package.json +24 -11
- package/scripts/canonical-store-link.mjs +296 -0
- package/scripts/canonical-store-prune.mjs +131 -0
- package/scripts/canonical-store.mjs +298 -0
- package/scripts/install-skills-bundles.mjs +233 -0
- package/scripts/install-skills-fs.mjs +148 -0
- package/scripts/install-skills-ide.mjs +279 -0
- package/scripts/install-skills-output-style-default.mjs +196 -0
- package/scripts/install-skills-output-styles.mjs +121 -0
- package/scripts/install-skills-report.mjs +42 -0
- package/scripts/install-skills-user-config.mjs +198 -0
- package/scripts/install-skills.mjs +41 -1279
- package/scripts/watch-tree.mjs +140 -0
- package/scripts/watch.mjs +4 -126
- package/skills/peaks-audit/SKILL.md +3 -3
- package/skills/peaks-status/SKILL.md +31 -13
- package/dist/services/codegraph/codegraph-include-reconciler.d.ts +0 -10
- package/dist/services/codegraph/codegraph-include-reconciler.js +0 -160
|
@@ -4,13 +4,11 @@ import { computeRootSuffix as computeRootSuffixImpl } from './skill-statusline-s
|
|
|
4
4
|
// Re-export so existing test imports
|
|
5
5
|
// (`import { formatShortSid, computeRootSuffix } from '.../skill-statusline-renderer'`)
|
|
6
6
|
// keep working byte-identically after the helper extraction in slice
|
|
7
|
-
// 2026-08-05-statusline-sid-only-marker-and-multi-binary-drift-guard
|
|
8
7
|
// repair cycle.
|
|
9
8
|
export { formatShortSid } from './skill-statusline-sid-suffix.js';
|
|
10
9
|
export const computeRootSuffix = computeRootSuffixImpl;
|
|
11
10
|
import { DEFAULT_CAPABILITY, HIGHLIGHT_SGR_OPEN, brandRun, brandText, isAttentionGate, paletteFor, renderActiveDot } from './statusline-palette.js';
|
|
12
11
|
function formatAge(ageMs) {
|
|
13
|
-
// Slice rid-statusline-stale-ux AC-1: this legacy `stale <N>h/m`
|
|
14
12
|
// token is NO LONGER used by renderStale. Kept exported / defined
|
|
15
13
|
// for any downstream caller / test that still asserts against the
|
|
16
14
|
// `stale` substring. The active renderer path uses `formatHumanAge`.
|
|
@@ -22,7 +20,6 @@ function formatAge(ageMs) {
|
|
|
22
20
|
const minutes = Math.max(1, Math.round(ageMs / (60 * 1000)));
|
|
23
21
|
return `stale ${minutes}m`;
|
|
24
22
|
}
|
|
25
|
-
// Slice rid-statusline-stale-ux AC-1 + perf H2: human-friendly neutral
|
|
26
23
|
// age label for the stale branch. en-US strings per RD §5 R1 (codebase
|
|
27
24
|
// consistency); zh-CN deferred to a future i18n slice. Backed by a
|
|
28
25
|
// bounded Map cache (parity with `formatShortSid` memoization at
|
|
@@ -66,7 +63,6 @@ function rootLabel(projectRoot) {
|
|
|
66
63
|
return basename(projectRoot);
|
|
67
64
|
}
|
|
68
65
|
/**
|
|
69
|
-
* Slice rid-statusline-24h-overlay (2026-08-10): format the 24h-mode
|
|
70
66
|
* overlay suffix appended after the existing `<baseMode>` token in
|
|
71
67
|
* the ACTIVE state. Returns `''` when the overlay is `null` (missing
|
|
72
68
|
* file / corrupt file / wrong shape — see `read24hOverlay`).
|
|
@@ -88,7 +84,6 @@ export function format24hSuffix(overlay, palette, capability, noColor) {
|
|
|
88
84
|
/**
|
|
89
85
|
* `formatShortSid` + `computeRootSuffix` were extracted to
|
|
90
86
|
* `./skill-statusline-sid-suffix.ts` in the slice
|
|
91
|
-
* 2026-08-05-statusline-sid-only-marker-and-multi-binary-drift-guard
|
|
92
87
|
* repair cycle so the renderer file stays under the Karpathy
|
|
93
88
|
* 800-line cap. Both helpers are re-exported above for back-compat
|
|
94
89
|
* with existing test imports.
|
|
@@ -99,7 +94,6 @@ export function format24hSuffix(overlay, palette, capability, noColor) {
|
|
|
99
94
|
* is obvious at the call site and so each state has a single
|
|
100
95
|
* responsibility.
|
|
101
96
|
*
|
|
102
|
-
* Active-leaf rendering (slice 2026-08-04-rid-005-statusline-dual-skill):
|
|
103
97
|
* when the model carries an `activeLeaf` (an in-flight bee dispatch under
|
|
104
98
|
* the orchestrator), the line surfaces the leaf role alongside the
|
|
105
99
|
* orchestrator skill. The render priorities are:
|
|
@@ -118,7 +112,6 @@ function renderActive(presence, palette, nowMs, capability, noColor, activeLeaf,
|
|
|
118
112
|
if (!presence) {
|
|
119
113
|
return `${palette.idle} ${palette.idleLabel}`;
|
|
120
114
|
}
|
|
121
|
-
// Slice rid-statusline-24h-overlay (2026-08-10): the 24h suffix
|
|
122
115
|
// is appended on every active-return branch that carries a skill
|
|
123
116
|
// token. The `!presence` branch (idle mark, no skill token) is
|
|
124
117
|
// intentionally NOT modified — 24h overlays are active-only.
|
|
@@ -145,7 +138,6 @@ function renderActive(presence, palette, nowMs, capability, noColor, activeLeaf,
|
|
|
145
138
|
return `${dot} ${brandRun(skill, noColor, capability)}${modeToken}${suffix}`;
|
|
146
139
|
}
|
|
147
140
|
function renderStale(presence, ageMs, palette, capability, noColor) {
|
|
148
|
-
// Slice rid-statusline-stale-ux AC-1: stale presence belongs to a
|
|
149
141
|
// *previous* session (outer-session-mismatch). Line still emits the
|
|
150
142
|
// recorded skill name (per C-1 — `expect(out).toContain('peaks-code')`
|
|
151
143
|
// must keep passing), but uses `palette.idleStale` (new muted palette,
|
|
@@ -208,7 +200,6 @@ function renderCompact(state, palette) {
|
|
|
208
200
|
? `${palette.inlineSeparator}${formatRatio(state.triggerRatio)}`
|
|
209
201
|
: ''}`;
|
|
210
202
|
case 'armed': {
|
|
211
|
-
// Slice 2026-09-12-compact-band-policy: NO bar. A bar is a
|
|
212
203
|
// progress claim, and a registered-but-unfired trigger has no
|
|
213
204
|
// progress to report — it is waiting for the ratio to reach the
|
|
214
205
|
// red line on its own. Say exactly that instead.
|
|
@@ -506,8 +497,6 @@ export function renderStatusLine(model, options, env) {
|
|
|
506
497
|
const palette = paletteFor(capability, noColor);
|
|
507
498
|
const root = rootLabel(model.projectRoot);
|
|
508
499
|
// short-sid suffix (slices
|
|
509
|
-
// - 2026-08-05-statusline-empty-render-and-short-sid-suffix (active only)
|
|
510
|
-
// - 2026-08-05-statusline-sid-only-marker (idle + stale also)
|
|
511
500
|
// ):
|
|
512
501
|
// the project root cell carries ` [shortSid]` after `peaks-loop` whenever
|
|
513
502
|
// a canonical session id resolves. Per-state matrix:
|
|
@@ -534,7 +523,6 @@ export function renderStatusLine(model, options, env) {
|
|
|
534
523
|
const compactSegment = renderCompact(model.compact, palette);
|
|
535
524
|
let line;
|
|
536
525
|
const hasCompact = compactSegment.length > 0;
|
|
537
|
-
// Slice 2026-09-12-compact-band-policy: `armed` is a RESTING state, not
|
|
538
526
|
// an in-flight compact. It can hold for the whole band between the
|
|
539
527
|
// auto-fire ratio and the red line, so it is appended to the normal
|
|
540
528
|
// line instead of REPLACING the skill token — hiding which skill is
|
|
@@ -21,7 +21,6 @@ export { parseStatusLineStdin, read24hOverlay } from './skill-statusline-model.j
|
|
|
21
21
|
* skill-presence-service.ts, it never deletes or rewrites the presence file:
|
|
22
22
|
* the statusLine runs on every turn and must have zero side effects.
|
|
23
23
|
*
|
|
24
|
-
* Slice 2026-08-05-statusline-sid-scoped-lease-B: the read no longer falls
|
|
25
24
|
* back to the project-level `.peaks/_runtime/active-skill.json` (or its
|
|
26
25
|
* legacy `.peaks/.active-skill.json`). The canonical lease projection is
|
|
27
26
|
* the only source. When `callerId === null` (non-IDE caller), the read
|
|
@@ -35,7 +34,6 @@ const STALE_THRESHOLD_MS = 24 * 60 * 60 * 1000;
|
|
|
35
34
|
* absent (idle) and a sentinel object for malformed content (invalid-presence).
|
|
36
35
|
*
|
|
37
36
|
* Both branches now route through the canonical sid-scoped lease projection
|
|
38
|
-
* (slice 2026-08-05-statusline-sid-scoped-lease-B):
|
|
39
37
|
* - `callerId !== null` → `resolveActiveSkillForCaller` with the canonical
|
|
40
38
|
* (non-legacy) lease projection, filtered to this callerId. When the
|
|
41
39
|
* callerId-filtered resolution returns `source: 'none'` (no lease under
|
|
@@ -43,7 +41,6 @@ const STALE_THRESHOLD_MS = 24 * 60 * 60 * 1000;
|
|
|
43
41
|
* to the session's most-recent in-flight lease. AC4 multi-tenant isolation
|
|
44
42
|
* is preserved: when callerId A DOES have a lease, the first call returns
|
|
45
43
|
* it and the fallback never fires — callerId B's lease is never surfaced
|
|
46
|
-
* to callerId A. (Slice 2026-08-05-statusline-empty-render-and-short-sid-suffix.)
|
|
47
44
|
* - `callerId === null` → enumerate `listPresenceLeases` for the
|
|
48
45
|
* canonical session and pick the most recent in-flight lease. Back-compat
|
|
49
46
|
* for non-IDE callers (e.g. legacy CLI invocations) that have no callerId.
|
|
@@ -119,7 +116,6 @@ function readPresenceReadOnly(projectRoot, callerId) {
|
|
|
119
116
|
// spreads `input.mode` when present); the typed `SkillPresenceLease` does
|
|
120
117
|
// not declare it, so widen the read shape here. Normalized on read: a
|
|
121
118
|
// legacy `'swarm'` lease renders as `'full-auto'` (slice
|
|
122
|
-
// 2026-09-09-mode-consolidation).
|
|
123
119
|
const latestMode = normalizeSkillPresenceMode(latest.mode);
|
|
124
120
|
return {
|
|
125
121
|
presence: {
|
|
@@ -137,7 +133,6 @@ export function buildStatusLineModel(stdin, nowMs) {
|
|
|
137
133
|
// and reads `.peaks/_runtime/<sid>/compact-lifecycle.json` (or its legacy
|
|
138
134
|
// fallbacks). It replaces the active skill content when kind != 'none'.
|
|
139
135
|
const compact = readCompactState(projectRoot, nowMs);
|
|
140
|
-
// Slice 2026-08-05-statusline-sid-only-marker: resolve the canonical
|
|
141
136
|
// session id once, up front, so the renderer can read it from the model
|
|
142
137
|
// without re-running `getSessionIdCanonical`. `null` when the project
|
|
143
138
|
// root is unbound OR when no `.peaks/_runtime/<sid>/` session exists.
|
|
@@ -221,7 +216,6 @@ export function buildStatusLineModel(stdin, nowMs) {
|
|
|
221
216
|
catch {
|
|
222
217
|
activeLeaf = null;
|
|
223
218
|
}
|
|
224
|
-
// Slice rid-statusline-24h-overlay (2026-08-10): read the 24h-mode
|
|
225
219
|
// overlay snapshot ONLY when state === 'active'. Stale / idle /
|
|
226
220
|
// invalid-presence / idle-via-outer-mismatch never carry the suffix
|
|
227
221
|
// (per PRD §Non-goals.6 — "不在 idle / stale / invalid-presence
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Pure short-sid suffix helpers for the Peaks statusLine.
|
|
3
3
|
*
|
|
4
4
|
* Extracted from `skill-statusline-renderer.ts` (slice
|
|
5
|
-
* 2026-08-05-statusline-sid-only-marker-and-multi-binary-drift-guard
|
|
6
5
|
* repair cycle) to keep the renderer under the Karpathy 800-line cap.
|
|
7
6
|
* The module is I/O-free and only depends on the read-only
|
|
8
7
|
* `StatusLineModel` shape from `skill-statusline-service.ts` plus the
|
|
@@ -32,7 +31,6 @@ export interface SidSuffixPalette {
|
|
|
32
31
|
* the input is empty. Pure; safe for ASCII rendering across
|
|
33
32
|
* PowerShell, Git Bash, and zsh (AC7).
|
|
34
33
|
*
|
|
35
|
-
* Slice 2026-08-05-statusline-empty-render-and-short-sid-suffix.
|
|
36
34
|
*/
|
|
37
35
|
export declare function formatShortSid(sessionId: string): string;
|
|
38
36
|
/**
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Pure short-sid suffix helpers for the Peaks statusLine.
|
|
3
3
|
*
|
|
4
4
|
* Extracted from `skill-statusline-renderer.ts` (slice
|
|
5
|
-
* 2026-08-05-statusline-sid-only-marker-and-multi-binary-drift-guard
|
|
6
5
|
* repair cycle) to keep the renderer under the Karpathy 800-line cap.
|
|
7
6
|
* The module is I/O-free and only depends on the read-only
|
|
8
7
|
* `StatusLineModel` shape from `skill-statusline-service.ts` plus the
|
|
@@ -22,7 +21,6 @@
|
|
|
22
21
|
* the input is empty. Pure; safe for ASCII rendering across
|
|
23
22
|
* PowerShell, Git Bash, and zsh (AC7).
|
|
24
23
|
*
|
|
25
|
-
* Slice 2026-08-05-statusline-empty-render-and-short-sid-suffix.
|
|
26
24
|
*/
|
|
27
25
|
export function formatShortSid(sessionId) {
|
|
28
26
|
if (sessionId.length === 0)
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Visual / palette / SGR rendering block extracted from
|
|
3
|
-
* `skill-statusline-renderer.ts` (slice 2026-09-06-split-batch-b) so the
|
|
4
3
|
* renderer stays under the 800-line cap. Behaviour-preserving verbatim move;
|
|
5
4
|
* `export` keywords were added to the symbols the renderer still imports.
|
|
6
5
|
*/
|
|
@@ -36,7 +35,6 @@ interface CompactPalette {
|
|
|
36
35
|
readonly preparing: string;
|
|
37
36
|
readonly compacting: string;
|
|
38
37
|
/**
|
|
39
|
-
* Slice 2026-09-12-compact-band-policy: a trigger is registered but no
|
|
40
38
|
* compaction is running. Rendered WITHOUT a bar — see
|
|
41
39
|
* `renderCompact` in skill-statusline-renderer.ts.
|
|
42
40
|
*/
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Visual / palette / SGR rendering block extracted from
|
|
3
|
-
* `skill-statusline-renderer.ts` (slice 2026-09-06-split-batch-b) so the
|
|
4
3
|
* renderer stays under the 800-line cap. Behaviour-preserving verbatim move;
|
|
5
4
|
* `export` keywords were added to the symbols the renderer still imports.
|
|
6
5
|
*/
|
|
@@ -105,7 +104,6 @@ function buildPalette(capability, noColor) {
|
|
|
105
104
|
return {
|
|
106
105
|
active: '*',
|
|
107
106
|
idle: 'o',
|
|
108
|
-
// Slice rid-statusline-stale-ux AC-1: stale residue uses the same
|
|
109
107
|
// glyph as `idle` (`o`) but stays static (no slow-blink — the user
|
|
110
108
|
// is reading a *previous* session's residue, not a live idle state).
|
|
111
109
|
// The neutral copy `(previous session · N days ago)` is the
|
|
@@ -133,7 +131,6 @@ function buildPalette(capability, noColor) {
|
|
|
133
131
|
return {
|
|
134
132
|
active: brandGlyph('●'),
|
|
135
133
|
idle: blinkBrand('○'),
|
|
136
|
-
// Slice rid-statusline-stale-ux AC-1: muted slate (`#AAAAC8` dim)
|
|
137
134
|
// — slow-blink OFF, distinct from `idle` (slow-blink brand) and
|
|
138
135
|
// `warning` (yellow invalid-presence). The stale branch is
|
|
139
136
|
// semantically "previous-session residue" (neutral), NOT an error.
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Slice #009 / G5 RL-8 — sub-agent dispatch record archival + 30-day GC.
|
|
3
3
|
*
|
|
4
4
|
* Called by the `peaks session finish` / `peaks session abandon` /
|
|
5
|
-
* new-rid-startup hooks. Walks the per-session `.peaks/_sub_agents/<sid>/`
|
|
6
5
|
* tree and moves completed + disposed records to
|
|
7
6
|
* `.peaks/_runtime/<sid>/_archive/_sub_agents/<sliceId>/`.
|
|
8
7
|
*
|
|
@@ -2,7 +2,6 @@ import { execFileSync } from 'node:child_process';
|
|
|
2
2
|
import { existsSync, readFileSync, statSync } from 'node:fs';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { isDirectory } from 'peaks-loop-shared/fs';
|
|
5
|
-
// Slice 2026-06-29-change-id-root-removal: `getCurrentChangeId` was
|
|
6
5
|
// removed with the change-id axis. Slice check resolves the rid from
|
|
7
6
|
// `options.rid` only; the binding file at `.peaks/_runtime/current-change`
|
|
8
7
|
// is no longer read. Path-safety helpers now live at
|
|
@@ -206,7 +205,6 @@ async function runUnitTests(projectRoot, runTests) {
|
|
|
206
205
|
// related to git-changed files. Cost drops from 30s+ to ~1-3s in steady
|
|
207
206
|
// state. Opt-in to the full suite via `runTests: true` (CLI flag
|
|
208
207
|
// `--run-tests`). See `references/runbook.md` for the rationale and
|
|
209
|
-
// `tests/unit/slice-check-service.test.ts` for the regression net.
|
|
210
208
|
// Per Windows npx ENOENT (observations 2317+2792), resolve
|
|
211
209
|
// the project-local vitest binary instead of shelling out
|
|
212
210
|
// through npx. 2026-09-10 C6: that binary is the package's JS
|
|
@@ -245,7 +243,6 @@ async function runUnitTests(projectRoot, runTests) {
|
|
|
245
243
|
}
|
|
246
244
|
};
|
|
247
245
|
}
|
|
248
|
-
// Slice `2026-09-14-audit-artifact-rid-scoping`: the evidence filenames
|
|
249
246
|
// carry the rid now. Candidate order is canonical-first, then the
|
|
250
247
|
// back-compat tiers — the same order `artifact-prerequisites.ts` resolves
|
|
251
248
|
// in, so this boundary gate and the transition gate agree on which file is
|
|
@@ -257,7 +254,6 @@ const REVIEW_FILES = [
|
|
|
257
254
|
label: 'code-review'
|
|
258
255
|
},
|
|
259
256
|
// v2.12.0 collapse: security + perf moved to standalone audit skills.
|
|
260
|
-
// `slice check` accepts the rid-scoped audit path, the bare v2.12.0 path
|
|
261
257
|
// OR the v2.11.x legacy path during the 1-minor-release back-compat
|
|
262
258
|
// window (v2.13.0 hard-deletes the legacy paths — see CHANGELOG [2.12.0]).
|
|
263
259
|
{
|
|
@@ -301,7 +297,6 @@ async function runReviewFanout(projectRoot, rid, refresh) {
|
|
|
301
297
|
let hit = null;
|
|
302
298
|
// Back-compat: each entry lists multiple candidate paths. First hit (in
|
|
303
299
|
// declared order) wins; canonical paths come first so a current slice
|
|
304
|
-
// preferentially reports its own rid-scoped evidence even when a legacy
|
|
305
300
|
// file is also present during migration.
|
|
306
301
|
const candidates = review.paths.map((candidate) => candidate.replace('<rid>', rid));
|
|
307
302
|
for (const candidate of candidates) {
|
|
@@ -375,7 +370,6 @@ export async function sliceCheck(options) {
|
|
|
375
370
|
if (!(await isDirectory(peaksRoot))) {
|
|
376
371
|
throw new Error(`.peaks/ not found at ${options.projectRoot}. Run peaks workspace init first.`);
|
|
377
372
|
}
|
|
378
|
-
// Slice 2026-06-29-change-id-root-removal: resolve rid from the
|
|
379
373
|
// explicit `--rid` option only. The `current-change` binding file is
|
|
380
374
|
// gone; the CLI is the single source of truth for the rid.
|
|
381
375
|
if (options.rid === undefined) {
|
|
@@ -69,7 +69,6 @@ export type SliceCheckResult = {
|
|
|
69
69
|
};
|
|
70
70
|
export type SliceCheckOptions = {
|
|
71
71
|
projectRoot: string;
|
|
72
|
-
/** REQUIRED. The `.peaks/_runtime/current-change` binding file is gone (slice 2026-06-29-change-id-root-removal); when omitted, slice check throws rather than guessing. */
|
|
73
72
|
rid?: string;
|
|
74
73
|
/**
|
|
75
74
|
* When true, re-run the 3-way review fan-out (peaks-rd's code-review +
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Slice Pick Service — thin wrapper around the generic fzf picker.
|
|
3
3
|
*
|
|
4
|
-
* v2 (slice 2026-06-14-fzf-rollout): the actual fzf
|
|
5
4
|
* integration is now in `src/services/fuzzy-matching/fzf-pick-service.ts`.
|
|
6
5
|
* This file only knows how to format / parse SliceCandidate rows and
|
|
7
6
|
* pick the output path. The algorithm itself (slice-decompose-service)
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Slice Pick Service — thin wrapper around the generic fzf picker.
|
|
3
3
|
*
|
|
4
|
-
* v2 (slice 2026-06-14-fzf-rollout): the actual fzf
|
|
5
4
|
* integration is now in `src/services/fuzzy-matching/fzf-pick-service.ts`.
|
|
6
5
|
* This file only knows how to format / parse SliceCandidate rows and
|
|
7
6
|
* pick the output path. The algorithm itself (slice-decompose-service)
|
|
@@ -47,8 +47,6 @@ export function getReviewDir(projectRoot, sessionId) {
|
|
|
47
47
|
//
|
|
48
48
|
// It does NOT cover the slice-id axis: the slice id is joined one function
|
|
49
49
|
// later, in `getReviewPath` below. Corrected 2026-09-14 (repair R1) — this
|
|
50
|
-
// comment previously said one guard covered the whole family; the security
|
|
51
|
-
// audit of `2026-09-14-cli-id-escape-instrumentation` (F1b) measured that
|
|
52
50
|
// false: `slice-review '../../../../…/EVILSL'` wrote a `.json` file outside
|
|
53
51
|
// the project root under `ok: true`.
|
|
54
52
|
if (isUnsafePathInput(sessionId)) {
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The SQLite driver seam for every store in this CLI.
|
|
3
|
+
*
|
|
4
|
+
* WHY A SEAM AT ALL. `better-sqlite3` is a native addon: a consumer either got a prebuilt
|
|
5
|
+
* binary matching their exact Node ABI or they needed a C++ toolchain, and the failure was
|
|
6
|
+
* discovered at runtime, not at install. Node ships `node:sqlite`, so the stores do not
|
|
7
|
+
* need that requirement. But the two are NOT the same library — the three places they
|
|
8
|
+
* genuinely differ are the whole reason this file exists, and each is a behaviour, not an
|
|
9
|
+
* import path:
|
|
10
|
+
*
|
|
11
|
+
* - **there is no `pragma()`.** `exec('PRAGMA …')` sets a pragma but returns nothing, so
|
|
12
|
+
* reading one back needs a statement (`pragmaValue`). A pragma that is silently not
|
|
13
|
+
* applied is worse than no pragma: `foreign_keys = ON` is what makes the skillhub
|
|
14
|
+
* schema's REFERENCES clauses mean anything.
|
|
15
|
+
* - **`BEGIN` inside a transaction throws.** better-sqlite3's `db.transaction(fn)` nests
|
|
16
|
+
* with SAVEPOINTs for free, so a store whose body called another store's body worked.
|
|
17
|
+
* Here nesting is explicit and counted, and the inner unit rolls back on its own.
|
|
18
|
+
* - **a read-only open must not create the file.** `codegraph-index-integrity` opens the
|
|
19
|
+
* index read-only; an empty database created by the open is indistinguishable from an
|
|
20
|
+
* index with no rows, and the staleness gate would report a clean graph for a project
|
|
21
|
+
* that was never indexed.
|
|
22
|
+
* - **`foreign_keys` is ON by default here and was OFF in better-sqlite3.** Measured on
|
|
23
|
+
* Node 24.21 (`PRAGMA foreign_keys` answers 1 on a fresh database). The stores that
|
|
24
|
+
* asked for it are unaffected; a site that never asked — the capability guard's
|
|
25
|
+
* `:memory:` probe — gains enforcement, so write order that used to work can start
|
|
26
|
+
* throwing. That is why the call sites keep saying the pragma out loud.
|
|
27
|
+
*
|
|
28
|
+
* WHAT THIS IS NOT. It is not an ORM and not a query builder: statements stay at the call
|
|
29
|
+
* sites, and `prepare`/`run`/`get`/`all`/`exec`/`close` are node:sqlite's own. Only the
|
|
30
|
+
* three behaviours above are wrapped, because those are the ones a port gets wrong quietly.
|
|
31
|
+
*/
|
|
32
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
33
|
+
/** The database handle the stores hold. Exported so call sites stop naming the addon. */
|
|
34
|
+
export type SqliteDatabase = DatabaseSync;
|
|
35
|
+
/**
|
|
36
|
+
* What SQLite accepts as a bound value, and what it hands back.
|
|
37
|
+
*
|
|
38
|
+
* Re-exported from the seam rather than imported from `node:sqlite` at the call sites for
|
|
39
|
+
* one reason: `SQLInputValue` EXCLUDES `undefined`, while better-sqlite3 silently bound
|
|
40
|
+
* `undefined` as NULL. Every store that builds a parameter list wants to say "these are the
|
|
41
|
+
* values I bind" once, in the name the driver actually enforces — and if that name is
|
|
42
|
+
* spelled differently in twenty files, the twenty drift.
|
|
43
|
+
*/
|
|
44
|
+
export type { SQLInputValue as SqlInputValue, SQLOutputValue as SqlOutputValue } from 'node:sqlite';
|
|
45
|
+
export type OpenSqliteOptions = {
|
|
46
|
+
/**
|
|
47
|
+
* Open without creating. A missing file is an error, not an empty database — the
|
|
48
|
+
* read-only caller's question is "what does the existing index say", and an empty
|
|
49
|
+
* database answers that in the most misleading way available.
|
|
50
|
+
*/
|
|
51
|
+
readonly readOnly?: boolean;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Open (or create) the SQLite file at `path`.
|
|
55
|
+
*
|
|
56
|
+
* `readOnly` on a path that does not exist throws here rather than producing a handle over
|
|
57
|
+
* a freshly created empty file — see the option.
|
|
58
|
+
*/
|
|
59
|
+
export declare function openSqlite(path: string, options?: OpenSqliteOptions): SqliteDatabase;
|
|
60
|
+
/**
|
|
61
|
+
* Apply each `PRAGMA` setting, in order.
|
|
62
|
+
*
|
|
63
|
+
* A `;` is refused rather than passed through: these strings are literals today, and the
|
|
64
|
+
* shape that would hurt is a future caller interpolating a name into one and landing a
|
|
65
|
+
* second statement inside a single `exec`.
|
|
66
|
+
*/
|
|
67
|
+
export declare function applyPragmas(db: SqliteDatabase, pragmas: readonly string[]): void;
|
|
68
|
+
/**
|
|
69
|
+
* Read one `PRAGMA` back.
|
|
70
|
+
*
|
|
71
|
+
* `journal_mode` answers with a row keyed `journal_mode`; `foreign_keys` answers with a
|
|
72
|
+
* row keyed `foreign_keys`. Both come back as the FIRST column, whatever the name, so that
|
|
73
|
+
* is what this returns.
|
|
74
|
+
*/
|
|
75
|
+
export declare function pragmaValue(db: SqliteDatabase, name: string): unknown;
|
|
76
|
+
/**
|
|
77
|
+
* Run `body` as ONE unit of work: commit if it returns, roll back everything it wrote if
|
|
78
|
+
* it throws, and let the error continue.
|
|
79
|
+
*
|
|
80
|
+
* Nesting is by SAVEPOINT, which is what `db.transaction(fn)` did in better-sqlite3: an
|
|
81
|
+
* inner unit that fails undoes only itself, and an outer unit that fails undoes both. The
|
|
82
|
+
* alternative — a bare `BEGIN` — throws the moment one store body calls another, which is
|
|
83
|
+
* the least-tested path in the product and the reason this function is not five lines.
|
|
84
|
+
*/
|
|
85
|
+
export declare function withTransaction<T>(db: SqliteDatabase, body: () => T): T;
|
|
86
|
+
/**
|
|
87
|
+
* Which constraint a thrown SQLite error violated.
|
|
88
|
+
*
|
|
89
|
+
* WHY THIS EXISTS. `loop-bee-relation-service` turns a duplicate relation into the
|
|
90
|
+
* documented `DUP_RELATION` / `TWO_MAIN_BEES` errors and an absent parent into `FK_*` by
|
|
91
|
+
* asking which constraint failed. It used to ask
|
|
92
|
+
* `err.code === 'SQLITE_CONSTRAINT_UNIQUE'`, which better-sqlite3 set. node:sqlite sets
|
|
93
|
+
* `code` to the generic `ERR_SQLITE_ERROR` for every SQL failure and puts the real
|
|
94
|
+
* extended result code in `errcode` — measured on this host: 2067 for
|
|
95
|
+
* `SQLITE_CONSTRAINT_UNIQUE`, 787 for `SQLITE_CONSTRAINT_FOREIGNKEY`. A `.code` comparison
|
|
96
|
+
* therefore does not throw the wrong error, it throws NOTHING: the branch is skipped and a
|
|
97
|
+
* raw driver message reaches the operator where the CLI promised an integrity code. That
|
|
98
|
+
* failure is invisible to the type checker and to any test that does not drive a real
|
|
99
|
+
* violation, which is why the classifier has its own arms.
|
|
100
|
+
*
|
|
101
|
+
* Three readings, in order of trustworthiness: `errcode` (node:sqlite), `code`
|
|
102
|
+
* (better-sqlite3, and any error shaped like it), then the message. The message is a last
|
|
103
|
+
* resort rather than the primary because it is the only one of the three that SQLite
|
|
104
|
+
* documents as human-readable and free to change.
|
|
105
|
+
*/
|
|
106
|
+
export type SqliteConstraintKind = 'unique' | 'foreign-key';
|
|
107
|
+
export declare function constraintKind(error: unknown): SqliteConstraintKind | undefined;
|
|
108
|
+
/**
|
|
109
|
+
* Bind `body` as a unit of work WITHOUT running it, returned as a callable — the shape
|
|
110
|
+
* `better-sqlite3`'s `db.transaction(fn)` had, and the shape five stores in this repo are
|
|
111
|
+
* written in (`const tx = db.transaction(…)`, then `tx()` — sometimes more than once).
|
|
112
|
+
*
|
|
113
|
+
* This exists so the port is a name change and not a restructure, because the reuse is
|
|
114
|
+
* load-bearing: each invocation is its own unit, so a second call that fails must not undo
|
|
115
|
+
* a first call that committed. An arm in the driver's test calls it twice to prove that,
|
|
116
|
+
* since no other arm in this file would notice if it were written to run once.
|
|
117
|
+
*/
|
|
118
|
+
export declare function transaction<T>(db: SqliteDatabase, body: () => T): () => T;
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The SQLite driver seam for every store in this CLI.
|
|
3
|
+
*
|
|
4
|
+
* WHY A SEAM AT ALL. `better-sqlite3` is a native addon: a consumer either got a prebuilt
|
|
5
|
+
* binary matching their exact Node ABI or they needed a C++ toolchain, and the failure was
|
|
6
|
+
* discovered at runtime, not at install. Node ships `node:sqlite`, so the stores do not
|
|
7
|
+
* need that requirement. But the two are NOT the same library — the three places they
|
|
8
|
+
* genuinely differ are the whole reason this file exists, and each is a behaviour, not an
|
|
9
|
+
* import path:
|
|
10
|
+
*
|
|
11
|
+
* - **there is no `pragma()`.** `exec('PRAGMA …')` sets a pragma but returns nothing, so
|
|
12
|
+
* reading one back needs a statement (`pragmaValue`). A pragma that is silently not
|
|
13
|
+
* applied is worse than no pragma: `foreign_keys = ON` is what makes the skillhub
|
|
14
|
+
* schema's REFERENCES clauses mean anything.
|
|
15
|
+
* - **`BEGIN` inside a transaction throws.** better-sqlite3's `db.transaction(fn)` nests
|
|
16
|
+
* with SAVEPOINTs for free, so a store whose body called another store's body worked.
|
|
17
|
+
* Here nesting is explicit and counted, and the inner unit rolls back on its own.
|
|
18
|
+
* - **a read-only open must not create the file.** `codegraph-index-integrity` opens the
|
|
19
|
+
* index read-only; an empty database created by the open is indistinguishable from an
|
|
20
|
+
* index with no rows, and the staleness gate would report a clean graph for a project
|
|
21
|
+
* that was never indexed.
|
|
22
|
+
* - **`foreign_keys` is ON by default here and was OFF in better-sqlite3.** Measured on
|
|
23
|
+
* Node 24.21 (`PRAGMA foreign_keys` answers 1 on a fresh database). The stores that
|
|
24
|
+
* asked for it are unaffected; a site that never asked — the capability guard's
|
|
25
|
+
* `:memory:` probe — gains enforcement, so write order that used to work can start
|
|
26
|
+
* throwing. That is why the call sites keep saying the pragma out loud.
|
|
27
|
+
*
|
|
28
|
+
* WHAT THIS IS NOT. It is not an ORM and not a query builder: statements stay at the call
|
|
29
|
+
* sites, and `prepare`/`run`/`get`/`all`/`exec`/`close` are node:sqlite's own. Only the
|
|
30
|
+
* three behaviours above are wrapped, because those are the ones a port gets wrong quietly.
|
|
31
|
+
*/
|
|
32
|
+
import { existsSync } from 'node:fs';
|
|
33
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
34
|
+
/**
|
|
35
|
+
* Open (or create) the SQLite file at `path`.
|
|
36
|
+
*
|
|
37
|
+
* `readOnly` on a path that does not exist throws here rather than producing a handle over
|
|
38
|
+
* a freshly created empty file — see the option.
|
|
39
|
+
*/
|
|
40
|
+
export function openSqlite(path, options = {}) {
|
|
41
|
+
const readOnly = options.readOnly === true;
|
|
42
|
+
if (readOnly && !existsSync(path)) {
|
|
43
|
+
throw new Error(`no such file (opened read-only): ${path}`);
|
|
44
|
+
}
|
|
45
|
+
return new DatabaseSync(path, { readOnly });
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Apply each `PRAGMA` setting, in order.
|
|
49
|
+
*
|
|
50
|
+
* A `;` is refused rather than passed through: these strings are literals today, and the
|
|
51
|
+
* shape that would hurt is a future caller interpolating a name into one and landing a
|
|
52
|
+
* second statement inside a single `exec`.
|
|
53
|
+
*/
|
|
54
|
+
export function applyPragmas(db, pragmas) {
|
|
55
|
+
for (const pragma of pragmas) {
|
|
56
|
+
if (pragma.includes(';')) {
|
|
57
|
+
throw new Error(`a pragma must be one statement, got: ${pragma}`);
|
|
58
|
+
}
|
|
59
|
+
db.exec(`PRAGMA ${pragma}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Read one `PRAGMA` back.
|
|
64
|
+
*
|
|
65
|
+
* `journal_mode` answers with a row keyed `journal_mode`; `foreign_keys` answers with a
|
|
66
|
+
* row keyed `foreign_keys`. Both come back as the FIRST column, whatever the name, so that
|
|
67
|
+
* is what this returns.
|
|
68
|
+
*/
|
|
69
|
+
export function pragmaValue(db, name) {
|
|
70
|
+
if (name.includes(';')) {
|
|
71
|
+
throw new Error(`a pragma name must be one statement, got: ${name}`);
|
|
72
|
+
}
|
|
73
|
+
const row = db.prepare(`PRAGMA ${name}`).get();
|
|
74
|
+
if (row === undefined)
|
|
75
|
+
return undefined;
|
|
76
|
+
const values = Object.values(row);
|
|
77
|
+
return values[0];
|
|
78
|
+
}
|
|
79
|
+
/** The depth of open transactions per handle, so nesting is counted, not guessed. */
|
|
80
|
+
const transactionDepth = new WeakMap();
|
|
81
|
+
/**
|
|
82
|
+
* Run `body` as ONE unit of work: commit if it returns, roll back everything it wrote if
|
|
83
|
+
* it throws, and let the error continue.
|
|
84
|
+
*
|
|
85
|
+
* Nesting is by SAVEPOINT, which is what `db.transaction(fn)` did in better-sqlite3: an
|
|
86
|
+
* inner unit that fails undoes only itself, and an outer unit that fails undoes both. The
|
|
87
|
+
* alternative — a bare `BEGIN` — throws the moment one store body calls another, which is
|
|
88
|
+
* the least-tested path in the product and the reason this function is not five lines.
|
|
89
|
+
*/
|
|
90
|
+
export function withTransaction(db, body) {
|
|
91
|
+
const depth = transactionDepth.get(db) ?? 0;
|
|
92
|
+
transactionDepth.set(db, depth + 1);
|
|
93
|
+
const savepoint = `peaks_sp_${String(depth + 1)}`;
|
|
94
|
+
if (depth === 0) {
|
|
95
|
+
db.exec('BEGIN');
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
db.exec(`SAVEPOINT ${savepoint}`);
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
const result = body();
|
|
102
|
+
if (depth === 0) {
|
|
103
|
+
db.exec('COMMIT');
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
db.exec(`RELEASE ${savepoint}`);
|
|
107
|
+
}
|
|
108
|
+
return result;
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
if (depth === 0) {
|
|
112
|
+
db.exec('ROLLBACK');
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
db.exec(`ROLLBACK TO ${savepoint}`);
|
|
116
|
+
db.exec(`RELEASE ${savepoint}`);
|
|
117
|
+
}
|
|
118
|
+
throw error;
|
|
119
|
+
}
|
|
120
|
+
finally {
|
|
121
|
+
transactionDepth.set(db, depth);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/** `SQLITE_CONSTRAINT_UNIQUE` — 19 | (8 << 8). */
|
|
125
|
+
const SQLITE_ERRCODE_CONSTRAINT_UNIQUE = 2067;
|
|
126
|
+
/** `SQLITE_CONSTRAINT_FOREIGNKEY` — 19 | (3 << 8). */
|
|
127
|
+
const SQLITE_ERRCODE_CONSTRAINT_FOREIGNKEY = 787;
|
|
128
|
+
export function constraintKind(error) {
|
|
129
|
+
if (typeof error !== 'object' || error === null)
|
|
130
|
+
return undefined;
|
|
131
|
+
const shaped = error;
|
|
132
|
+
if (shaped.errcode === SQLITE_ERRCODE_CONSTRAINT_UNIQUE)
|
|
133
|
+
return 'unique';
|
|
134
|
+
if (shaped.errcode === SQLITE_ERRCODE_CONSTRAINT_FOREIGNKEY)
|
|
135
|
+
return 'foreign-key';
|
|
136
|
+
if (shaped.code === 'SQLITE_CONSTRAINT_UNIQUE')
|
|
137
|
+
return 'unique';
|
|
138
|
+
if (shaped.code === 'SQLITE_CONSTRAINT_FOREIGNKEY')
|
|
139
|
+
return 'foreign-key';
|
|
140
|
+
const message = error instanceof Error ? error.message : '';
|
|
141
|
+
if (message.includes('UNIQUE constraint failed'))
|
|
142
|
+
return 'unique';
|
|
143
|
+
if (message.includes('FOREIGN KEY constraint failed'))
|
|
144
|
+
return 'foreign-key';
|
|
145
|
+
return undefined;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Bind `body` as a unit of work WITHOUT running it, returned as a callable — the shape
|
|
149
|
+
* `better-sqlite3`'s `db.transaction(fn)` had, and the shape five stores in this repo are
|
|
150
|
+
* written in (`const tx = db.transaction(…)`, then `tx()` — sometimes more than once).
|
|
151
|
+
*
|
|
152
|
+
* This exists so the port is a name change and not a restructure, because the reuse is
|
|
153
|
+
* load-bearing: each invocation is its own unit, so a second call that fails must not undo
|
|
154
|
+
* a first call that committed. An arm in the driver's test calls it twice to prove that,
|
|
155
|
+
* since no other arm in this file would notice if it were written to run once.
|
|
156
|
+
*/
|
|
157
|
+
export function transaction(db, body) {
|
|
158
|
+
return () => withTransaction(db, body);
|
|
159
|
+
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* IDE-aware wrapper for `peaks standards init` / `peaks standards update`.
|
|
3
3
|
*
|
|
4
|
-
* Slice #011-2026-06-07-ide-adapter-resource-profile: the original
|
|
5
4
|
* `executeProjectStandardsInit` / `executeProjectStandardsUpdate` always
|
|
6
5
|
* wrote to `CLAUDE.md` + `.claude/rules/**` regardless of which IDE
|
|
7
6
|
* the user was running. This wrapper dispatches on the IDE detected
|
|
@@ -76,7 +75,6 @@ export declare function executeProjectStandardsUpdateIdeAware(options: ProjectSt
|
|
|
76
75
|
/**
|
|
77
76
|
* Test seam + integration-test helper: returns the resolved IDE id
|
|
78
77
|
* for the call, plus the active standards profile. Exported for
|
|
79
|
-
* the integration test in `tests/unit/standards/ide-aware-standards-service.test.ts`
|
|
80
78
|
* to assert the dispatch decision without running the full write.
|
|
81
79
|
*/
|
|
82
80
|
export declare function inspectStandardsDispatch(options: {
|
|
@@ -73,7 +73,6 @@ export function executeProjectStandardsUpdateIdeAware(options) {
|
|
|
73
73
|
/**
|
|
74
74
|
* Test seam + integration-test helper: returns the resolved IDE id
|
|
75
75
|
* for the call, plus the active standards profile. Exported for
|
|
76
|
-
* the integration test in `tests/unit/standards/ide-aware-standards-service.test.ts`
|
|
77
76
|
* to assert the dispatch decision without running the full write.
|
|
78
77
|
*/
|
|
79
78
|
export function inspectStandardsDispatch(options) {
|
|
@@ -71,7 +71,6 @@ export declare const LOOP_ENGINEERING_GUIDELINE_PATHS: readonly [".peaks/standar
|
|
|
71
71
|
* The allowlist of CLI verbs that a peaks-* SKILL.md may legitimately
|
|
72
72
|
* instruct an LLM to invoke on the user's behalf. These are the
|
|
73
73
|
* sediment / asset / evolution surface verbs introduced in
|
|
74
|
-
* 2026-07-07-loop-engineering-crystallization-design §7.4 plus the
|
|
75
74
|
* 18-verb sediment pool from 2026-07-04-peaks-maker-dynamic-skill-
|
|
76
75
|
* sediment-design §4.2.
|
|
77
76
|
*
|
|
@@ -65,7 +65,6 @@ export const LOOP_ENGINEERING_GUIDELINE_PATHS = [
|
|
|
65
65
|
* The allowlist of CLI verbs that a peaks-* SKILL.md may legitimately
|
|
66
66
|
* instruct an LLM to invoke on the user's behalf. These are the
|
|
67
67
|
* sediment / asset / evolution surface verbs introduced in
|
|
68
|
-
* 2026-07-07-loop-engineering-crystallization-design §7.4 plus the
|
|
69
68
|
* 18-verb sediment pool from 2026-07-04-peaks-maker-dynamic-skill-
|
|
70
69
|
* sediment-design §4.2.
|
|
71
70
|
*
|