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
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// src/services/codegraph/codegraph-foreign-removal.ts
|
|
2
|
+
//
|
|
3
|
+
// The one destructive act `peaks codegraph init --force` performs: removing a
|
|
4
|
+
// `.codegraph/` that peaks-loop does not own, so a fresh managed index can take
|
|
5
|
+
// its place.
|
|
6
|
+
//
|
|
7
|
+
// Why deletion and not a backup: the owner's ruling on 2026-10-05. Another
|
|
8
|
+
// tool's SQLite file copied to `.codegraph.bak` inside the project root leaves
|
|
9
|
+
// two divergent indices where there was one, and sibling backups at a project
|
|
10
|
+
// root are exactly what this repo's memory-shape and codegraph-containment
|
|
11
|
+
// guards exist to prevent. The caller who passes `--force` has decided the
|
|
12
|
+
// foreign directory should go; the CLI says plainly what it deleted.
|
|
13
|
+
//
|
|
14
|
+
// Two refusals make that safe to hand to a flag:
|
|
15
|
+
// - a `.codegraph` that is itself a link (symlink, or a Windows junction —
|
|
16
|
+
// `lstat` reports both) is never removed. Following it would delete files
|
|
17
|
+
// the project root was only pointing at, which is a different thing from
|
|
18
|
+
// replacing a directory the project owns. Containment alone does not catch
|
|
19
|
+
// it: a junction may legitimately point somewhere INSIDE the root.
|
|
20
|
+
// - a directory carrying the peaks-loop marker is never removed. `--force`
|
|
21
|
+
// replaces a FOREIGN index; aimed at our own it would be an index-wipe
|
|
22
|
+
// wearing an init's name.
|
|
23
|
+
import { existsSync, lstatSync, rmSync } from 'node:fs';
|
|
24
|
+
import { join, resolve } from 'node:path';
|
|
25
|
+
import { CODEGRAPH_DIR_NAME, CODEGRAPH_MARKER_NAME, defaultCodegraphInitGuard } from './codegraph-service.js';
|
|
26
|
+
/** Reported by the CLI as `CODEGRAPH_FOREIGN_REMOVAL_REFUSED`. */
|
|
27
|
+
export class ForeignCodegraphRemovalError extends Error {
|
|
28
|
+
constructor(message) {
|
|
29
|
+
super(message);
|
|
30
|
+
this.name = 'ForeignCodegraphRemovalError';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Remove `<projectRoot>/.codegraph` and return the path that was deleted.
|
|
35
|
+
* Throws `ForeignCodegraphRemovalError` for a link or for a
|
|
36
|
+
* peaks-loop-managed directory.
|
|
37
|
+
*/
|
|
38
|
+
export function removeForeignCodegraphDir(projectRoot) {
|
|
39
|
+
// The LEXICAL path, deliberately: `assertCodegraphDirContained` hands back a
|
|
40
|
+
// REALPATH, and removing what a realpath points at would delete the target
|
|
41
|
+
// of a junction — the opposite of the refusal below.
|
|
42
|
+
const codegraphDir = join(resolve(projectRoot), CODEGRAPH_DIR_NAME);
|
|
43
|
+
let stats;
|
|
44
|
+
try {
|
|
45
|
+
stats = lstatSync(codegraphDir);
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
throw new ForeignCodegraphRemovalError(`nothing to remove at ${codegraphDir}: it does not exist, so --force had no foreign ` +
|
|
49
|
+
'.codegraph/ directory to replace.');
|
|
50
|
+
}
|
|
51
|
+
// A junction reports `isSymbolicLink()` on Windows and a plain symlink does
|
|
52
|
+
// on POSIX, so one check covers both. `rmSync` on a link removes the link
|
|
53
|
+
// and leaves the target — but the caller asked to replace the project's
|
|
54
|
+
// `.codegraph`, and replacing a link means the project now points at nothing,
|
|
55
|
+
// which is not an init anyone agreed to.
|
|
56
|
+
if (stats.isSymbolicLink()) {
|
|
57
|
+
throw new ForeignCodegraphRemovalError(`refusing to remove ${codegraphDir}: it is a link (symlink or Windows junction). Delete the ` +
|
|
58
|
+
'link yourself, then re-run `peaks codegraph init`.');
|
|
59
|
+
}
|
|
60
|
+
if (stats.isDirectory() && existsSync(join(codegraphDir, CODEGRAPH_MARKER_NAME))) {
|
|
61
|
+
throw new ForeignCodegraphRemovalError(`refusing to remove ${codegraphDir}: it carries the peaks-loop marker, so this is ` +
|
|
62
|
+
'peaks-loop-owned index data, not a foreign directory. --force replaces a foreign ' +
|
|
63
|
+
'.codegraph/ only.');
|
|
64
|
+
}
|
|
65
|
+
rmSync(codegraphDir, { recursive: true, force: true });
|
|
66
|
+
return codegraphDir;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Remove the foreign directory and re-run the init guard, so the caller sees an
|
|
70
|
+
* ordinary fresh init. Kept next to the removal because the two are one
|
|
71
|
+
* decision: what `--force` means is "replace it, then continue as if it had
|
|
72
|
+
* never been foreign".
|
|
73
|
+
*/
|
|
74
|
+
export function forcePastForeignConflict(projectRoot) {
|
|
75
|
+
const removed = removeForeignCodegraphDir(projectRoot);
|
|
76
|
+
return { removed, outcome: defaultCodegraphInitGuard(projectRoot) };
|
|
77
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CodegraphConfigModel } from './codegraph-project-config.js';
|
|
1
2
|
import { type ReadCodegraphExcludeConfig, type ReadTrackedFiles } from './codegraph-exclude-reconciler.js';
|
|
2
3
|
/**
|
|
3
4
|
* Exit code `peaks codegraph status` uses when the index itself is
|
|
@@ -129,10 +130,17 @@ export declare function resolveCodegraphIndexIntegrityVerdict(report: CodegraphI
|
|
|
129
130
|
*/
|
|
130
131
|
export declare function codegraphIndexIntegrityExitCode(verdict: CodegraphIndexIntegrityVerdict, strict: boolean): number | null;
|
|
131
132
|
export type CodegraphIndexIntegrityReport = {
|
|
132
|
-
/** Absolute path of the inspected
|
|
133
|
+
/** Absolute path of the inspected config file — see `codegraph-project-config.ts`. */
|
|
133
134
|
readonly configPath: string;
|
|
134
135
|
/** Absolute path of the inspected index database. */
|
|
135
136
|
readonly databasePath: string;
|
|
137
|
+
/**
|
|
138
|
+
* Which config model the include axis was evaluated under. Reported rather
|
|
139
|
+
* than implied, because it decides whether an empty `includeGap` means
|
|
140
|
+
* "measured, nothing withheld" or "this upstream's include list cannot
|
|
141
|
+
* withhold anything" — two different claims that must not read alike.
|
|
142
|
+
*/
|
|
143
|
+
readonly admissionModel: CodegraphConfigModel;
|
|
136
144
|
/** True when either axis is non-empty. `[OK]` must not be printed then. */
|
|
137
145
|
readonly gap: boolean;
|
|
138
146
|
/** Git-tracked files upstream's extractor would ingest (any extension). */
|
|
@@ -143,7 +151,6 @@ export type CodegraphIndexIntegrityReport = {
|
|
|
143
151
|
readonly includeGap: readonly string[];
|
|
144
152
|
/** Rows in the index's `files` table. */
|
|
145
153
|
readonly indexedFileCount: number;
|
|
146
|
-
/** Class ② — index rows whose path no longer exists on disk. */
|
|
147
154
|
readonly deadRows: readonly string[];
|
|
148
155
|
};
|
|
149
156
|
/**
|
|
@@ -154,7 +161,10 @@ export type CodegraphIndexIntegrityInput = {
|
|
|
154
161
|
readonly configPath: string;
|
|
155
162
|
readonly databasePath: string;
|
|
156
163
|
readonly trackedFiles: readonly string[];
|
|
164
|
+
/** The config's `include` globs. Only consulted under `include-whitelist`. */
|
|
157
165
|
readonly include: readonly string[];
|
|
166
|
+
/** How this upstream's config treats `include` — see `codegraph-project-config.ts`. */
|
|
167
|
+
readonly admissionModel: CodegraphConfigModel;
|
|
158
168
|
/** Project-relative paths carried by the index's `files` table. */
|
|
159
169
|
readonly indexedPaths: readonly string[];
|
|
160
170
|
/** True when upstream's extractor supports `filePath`'s language. */
|
|
@@ -242,27 +252,4 @@ export type CodegraphIndexIntegrityDeps = {
|
|
|
242
252
|
* callers that must stay alive (`status`, doctor) catch and surface it.
|
|
243
253
|
*/
|
|
244
254
|
export declare function inspectCodegraphIndexIntegrity(projectRoot: string, deps?: CodegraphIndexIntegrityDeps): CodegraphIndexIntegrityReport;
|
|
245
|
-
/**
|
|
246
|
-
* Human-readable detail lines for a gapped report, grouped by axis so an
|
|
247
|
-
* operator can tell which defect they have (and whether they have both).
|
|
248
|
-
*
|
|
249
|
-
* Returns an empty array for a clean report — the caller decides whether
|
|
250
|
-
* "clean" is worth printing at all.
|
|
251
|
-
*
|
|
252
|
-
* `blocking` is the user's option C switch, and it changes the TAG, not
|
|
253
|
-
* the finding: advisory (the default) prints `[WARN]` and the command
|
|
254
|
-
* exits 0; strict prints `[FAIL]` and the command exits 75. The verdict
|
|
255
|
-
* word is chosen here rather than by the caller so the two channels
|
|
256
|
-
* cannot disagree about the same report.
|
|
257
|
-
*
|
|
258
|
-
* The remediation sentence NAMES the real command (`peaks codegraph
|
|
259
|
-
* repair-index`). Slice-001 deliberately named none, because naming a
|
|
260
|
-
* command that does not exist yet reproduces the exact failure this gate
|
|
261
|
-
* exists to prevent (an operator following a hint into "command not
|
|
262
|
-
* found"). Slice-002 shipped that command, so the obligation recorded in
|
|
263
|
-
* slice-001's design decision 4 is discharged here — and the name is
|
|
264
|
-
* exported as a constant so the renderer, the doctor message and the
|
|
265
|
-
* error envelope cannot drift from the command that is actually
|
|
266
|
-
* registered.
|
|
267
|
-
*/
|
|
268
255
|
export declare function renderCodegraphIndexIntegrityLines(report: CodegraphIndexIntegrityReport, blocking: boolean): readonly string[];
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// src/services/codegraph/codegraph-index-integrity.ts
|
|
2
2
|
//
|
|
3
|
-
// Slice-001 of `2026-09-16-codegraph-index-integrity` — the READ-ONLY
|
|
4
3
|
// integrity report for the two index defects the exclude gate cannot see.
|
|
5
4
|
// Shared by `peaks codegraph status` and the
|
|
6
5
|
// `capability:codegraph-index-integrity` doctor check.
|
|
@@ -17,6 +16,13 @@
|
|
|
17
16
|
// `include` template has no `**/*.mjs` / `**/*.cjs`, so every `.mjs`
|
|
18
17
|
// in a repo is dropped while `status` still says the index is fine.
|
|
19
18
|
//
|
|
19
|
+
// THIS AXIS IS MODEL-DEPENDENT (1.6.2 upgrade). The paragraph above is the
|
|
20
|
+
// 0.7.x config model, where `include` was the whitelist that chose what
|
|
21
|
+
// got indexed. 1.6.x inverted it — see `codegraph-project-config.ts` — and
|
|
22
|
+
// there the axis has no set difference to compute. Which of the two is in
|
|
23
|
+
// force is probed from the installed upstream and reported as
|
|
24
|
+
// `admissionModel`, never assumed.
|
|
25
|
+
//
|
|
20
26
|
// ② STALENESS — the index holds `files` rows for paths that no longer
|
|
21
27
|
// exist on disk (deleted or renamed upstream). Incremental `index`
|
|
22
28
|
// never deletes them, so the graph keeps answering about files that
|
|
@@ -48,11 +54,12 @@
|
|
|
48
54
|
// tracks upstream instead of drifting from a list we would have to maintain.
|
|
49
55
|
import { createRequire } from 'node:module';
|
|
50
56
|
import { existsSync, readdirSync } from 'node:fs';
|
|
51
|
-
import {
|
|
52
|
-
import
|
|
57
|
+
import { join } from 'node:path';
|
|
58
|
+
import { openSqlite } from '../sqlite/sqlite-driver.js';
|
|
53
59
|
import { normalizePath } from '../../shared/path-utils.js';
|
|
54
60
|
import { CODEGRAPH_DB_NAME, CODEGRAPH_DIR_NAME } from './codegraph-service.js';
|
|
55
|
-
import {
|
|
61
|
+
import { resolveCodegraphUpstreamLayout } from './codegraph-upstream-layout.js';
|
|
62
|
+
import { filterAdmittedTrackedFiles, resolveSharedConfig, resolveSharedTrackedFiles } from './codegraph-exclude-reconciler.js';
|
|
56
63
|
/**
|
|
57
64
|
* Exit code `peaks codegraph status` uses when the index itself is
|
|
58
65
|
* incomplete or stale — distinct from `CODEGRAPH_INTEGRITY_EXIT_CODE` (74,
|
|
@@ -175,11 +182,6 @@ const MAX_REPORTED_PATHS = 10;
|
|
|
175
182
|
* index's own rows against the filesystem.
|
|
176
183
|
*/
|
|
177
184
|
export function inspectCodegraphIndexIntegrityFrom(input) {
|
|
178
|
-
// Reuse the exclude reconciler's matcher so the two axes cannot disagree
|
|
179
|
-
// about what `include` admits (AC6) — this is the same function the
|
|
180
|
-
// exclude gate filters with, not a second implementation of it.
|
|
181
|
-
const admitted = filterAdmittedTrackedFiles(input.trackedFiles, input.include);
|
|
182
|
-
const admittedSet = new Set(admitted);
|
|
183
185
|
// The `include` filter is a path test, not an extension test, so a file
|
|
184
186
|
// it drops could be dropped for a directory reason rather than an
|
|
185
187
|
// extension reason. Only the extension axis is this gate's business:
|
|
@@ -188,13 +190,14 @@ export function inspectCodegraphIndexIntegrityFrom(input) {
|
|
|
188
190
|
const supportedTracked = input.trackedFiles
|
|
189
191
|
.map((file) => normalizePath(file))
|
|
190
192
|
.filter((file) => input.supportsPath(file));
|
|
191
|
-
const includeGap =
|
|
193
|
+
const includeGap = includeAxisGap(input, supportedTracked);
|
|
192
194
|
const deadRows = input.indexedPaths
|
|
193
195
|
.map((indexedPath) => normalizePath(indexedPath))
|
|
194
196
|
.filter((indexedPath) => !input.pathExists(indexedPath));
|
|
195
197
|
return {
|
|
196
198
|
configPath: input.configPath,
|
|
197
199
|
databasePath: input.databasePath,
|
|
200
|
+
admissionModel: input.admissionModel,
|
|
198
201
|
gap: includeGap.length > 0 || deadRows.length > 0,
|
|
199
202
|
trackedSourceCount: supportedTracked.length,
|
|
200
203
|
admittedTrackedCount: supportedTracked.length - includeGap.length,
|
|
@@ -203,6 +206,31 @@ export function inspectCodegraphIndexIntegrityFrom(input) {
|
|
|
203
206
|
deadRows
|
|
204
207
|
};
|
|
205
208
|
}
|
|
209
|
+
// Axis ① — supported tracked files the config's `include` globs do not admit,
|
|
210
|
+
// or an empty list when this upstream's `include` CANNOT withhold one.
|
|
211
|
+
//
|
|
212
|
+
// WHY THE MODEL DECIDES THIS (the 1.6.2 upgrade). 0.7.x's `include` was the
|
|
213
|
+
// whitelist that chose what got indexed, so a supported tracked file missing
|
|
214
|
+
// from it was a real omission. 1.6.x's `include` is upstream's own "force INTO
|
|
215
|
+
// the index even when `.gitignore` would drop it" list, with selection driven
|
|
216
|
+
// by `.gitignore` — so an absent list withholds NOTHING. Running the whitelist
|
|
217
|
+
// difference against it does not weaken the gate, it INVERTS it: a freshly
|
|
218
|
+
// initialised project, with no `codegraph.json` at all, would report every
|
|
219
|
+
// supported tracked file as withheld.
|
|
220
|
+
//
|
|
221
|
+
// The set is emptied rather than the axis deleted, and `admissionModel` rides
|
|
222
|
+
// on the report, so "nothing was withheld" and "this list cannot withhold"
|
|
223
|
+
// stay told apart — the rule this module already applies to `clean` vs
|
|
224
|
+
// `not-applicable` vs `not-evaluated`. The matcher is reused from the exclude
|
|
225
|
+
// reconciler (AC6), and is only reached under the model that has a withholding
|
|
226
|
+
// list to test.
|
|
227
|
+
function includeAxisGap(input, supportedTracked) {
|
|
228
|
+
if (input.admissionModel === 'force-include') {
|
|
229
|
+
return [];
|
|
230
|
+
}
|
|
231
|
+
const admittedSet = new Set(filterAdmittedTrackedFiles(input.trackedFiles, input.include));
|
|
232
|
+
return supportedTracked.filter((file) => !admittedSet.has(file));
|
|
233
|
+
}
|
|
206
234
|
let cachedUpstreamGrammars = null;
|
|
207
235
|
/**
|
|
208
236
|
* Load upstream's own `grammars` module and return the two functions
|
|
@@ -212,9 +240,8 @@ let cachedUpstreamGrammars = null;
|
|
|
212
240
|
* extension list drifts from upstream silently, and a list derived from
|
|
213
241
|
* `EXTENSION_MAP` would still be a re-derivation of a decision upstream
|
|
214
242
|
* already implements. Calling the decision is exact by construction. The
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
* `@colbymchenry/codegraph` instance this install actually runs.
|
|
243
|
+
* directory it is read from comes from the shared layout resolver, so it
|
|
244
|
+
* follows whichever `@colbymchenry/codegraph` instance this install runs.
|
|
218
245
|
*
|
|
219
246
|
* Node's `require` cache makes the second and later loads free; the module
|
|
220
247
|
* body only defines tables and functions (grammar WASM loading is a
|
|
@@ -223,8 +250,8 @@ let cachedUpstreamGrammars = null;
|
|
|
223
250
|
function loadUpstreamGrammars() {
|
|
224
251
|
if (cachedUpstreamGrammars === null) {
|
|
225
252
|
const require = createRequire(import.meta.url);
|
|
226
|
-
const
|
|
227
|
-
const grammarsPath = join(
|
|
253
|
+
const { moduleDir } = resolveCodegraphUpstreamLayout();
|
|
254
|
+
const grammarsPath = join(moduleDir, 'extraction', 'grammars.js');
|
|
228
255
|
cachedUpstreamGrammars = require(grammarsPath);
|
|
229
256
|
}
|
|
230
257
|
return cachedUpstreamGrammars;
|
|
@@ -240,10 +267,10 @@ export function upstreamSupportsPath(filePath) {
|
|
|
240
267
|
/**
|
|
241
268
|
* The project-relative paths recorded in the index's `files` table.
|
|
242
269
|
*
|
|
243
|
-
* Opened
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
270
|
+
* Opened read-only so the gate can never mutate the index's CONTENT, and the
|
|
271
|
+
* seam refuses a path that is not there rather than creating one: an empty
|
|
272
|
+
* database made by the open would report a 100% stale index, which reads as a
|
|
273
|
+
* verdict and is actually an absence.
|
|
247
274
|
*
|
|
248
275
|
* Read-only, exactly stated: opening a WAL database (`journal_mode = wal`
|
|
249
276
|
* is what upstream `dist/db/index.js` sets, and what this repo's own index
|
|
@@ -261,7 +288,7 @@ function readIndexedFilePaths(projectRoot) {
|
|
|
261
288
|
const databasePath = join(projectRoot, CODEGRAPH_DIR_NAME, CODEGRAPH_DB_NAME);
|
|
262
289
|
let db;
|
|
263
290
|
try {
|
|
264
|
-
db =
|
|
291
|
+
db = openSqlite(databasePath, { readOnly: true });
|
|
265
292
|
}
|
|
266
293
|
catch (error) {
|
|
267
294
|
// sqlite's own message ("unable to open database file") does not name
|
|
@@ -406,10 +433,14 @@ export function inspectCodegraphIndexIntegrity(projectRoot, deps = {}) {
|
|
|
406
433
|
const config = resolveSharedConfig(deps.config, projectRoot);
|
|
407
434
|
const trackedFiles = resolveSharedTrackedFiles(deps.trackedFiles, projectRoot);
|
|
408
435
|
return inspectCodegraphIndexIntegrityFrom({
|
|
409
|
-
|
|
436
|
+
// Both come off the config value, so the file this report NAMES is the
|
|
437
|
+
// file that was READ and the model that judgement used is the model that
|
|
438
|
+
// resolved it — no consumer re-derives either.
|
|
439
|
+
configPath: config.configPath,
|
|
410
440
|
databasePath: join(projectRoot, CODEGRAPH_DIR_NAME, CODEGRAPH_DB_NAME),
|
|
411
441
|
trackedFiles,
|
|
412
442
|
include: config.include,
|
|
443
|
+
admissionModel: config.model,
|
|
413
444
|
indexedPaths: readIndexed(projectRoot),
|
|
414
445
|
supportsPath: supports,
|
|
415
446
|
pathExists: (projectRelativePath) => exists(projectRoot, projectRelativePath)
|
|
@@ -438,13 +469,43 @@ export function inspectCodegraphIndexIntegrity(projectRoot, deps = {}) {
|
|
|
438
469
|
* error envelope cannot drift from the command that is actually
|
|
439
470
|
* registered.
|
|
440
471
|
*/
|
|
472
|
+
// The headline's finding list. It names only what was MEASURED, so it can never
|
|
473
|
+
// present a count no input could have produced — at least one entry is always
|
|
474
|
+
// present, because `gap` is the disjunction of these two.
|
|
475
|
+
function describeFindings(report) {
|
|
476
|
+
const findings = [];
|
|
477
|
+
if (report.includeGap.length > 0) {
|
|
478
|
+
findings.push(`${report.includeGap.length} supported tracked file(s) are not admitted by the config's include globs`);
|
|
479
|
+
}
|
|
480
|
+
if (report.deadRows.length > 0) {
|
|
481
|
+
findings.push(`${report.deadRows.length} index row(s) point at files that no longer exist`);
|
|
482
|
+
}
|
|
483
|
+
return findings.join('; ');
|
|
484
|
+
}
|
|
485
|
+
// The include axis' own note, or `null` when there is nothing honest to say.
|
|
486
|
+
//
|
|
487
|
+
// Under `include-whitelist` the axis has a count and the headline carries it;
|
|
488
|
+
// under `force-include` the axis can never fire, so this note EXISTS to explain
|
|
489
|
+
// the silence rather than leave it looking like a measured zero. It is its own
|
|
490
|
+
// indented line, not part of the finding list, so it cannot be read as a reason
|
|
491
|
+
// the index does not cover the repository.
|
|
492
|
+
function includeAxisNoteLines(report) {
|
|
493
|
+
if (report.admissionModel !== 'force-include') {
|
|
494
|
+
return [];
|
|
495
|
+
}
|
|
496
|
+
return [
|
|
497
|
+
" include axis: not applicable — this upstream's `include` list can only add files to " +
|
|
498
|
+
'the index, never withhold one'
|
|
499
|
+
];
|
|
500
|
+
}
|
|
441
501
|
export function renderCodegraphIndexIntegrityLines(report, blocking) {
|
|
442
502
|
if (!report.gap) {
|
|
443
503
|
return [];
|
|
444
504
|
}
|
|
445
505
|
const lines = [
|
|
446
|
-
`${blocking ? '[FAIL]' : '[WARN]'} codegraph index does not cover the repository: ${report
|
|
506
|
+
`${blocking ? '[FAIL]' : '[WARN]'} codegraph index does not cover the repository: ${describeFindings(report)}.`
|
|
447
507
|
];
|
|
508
|
+
lines.push(...includeAxisNoteLines(report));
|
|
448
509
|
if (report.includeGap.length > 0) {
|
|
449
510
|
lines.push(` include gap: ${report.admittedTrackedCount} of ${report.trackedSourceCount} extractor-supported tracked file(s) are admitted by include`);
|
|
450
511
|
for (const filePath of report.includeGap.slice(0, MAX_REPORTED_PATHS)) {
|
|
@@ -466,6 +527,6 @@ export function renderCodegraphIndexIntegrityLines(report, blocking) {
|
|
|
466
527
|
if (!blocking) {
|
|
467
528
|
lines.push(` advisory: this does not fail the command. Set ${CODEGRAPH_INDEX_STRICT_ENV_VAR}=1 to make it block (exit ${CODEGRAPH_INDEX_INTEGRITY_EXIT_CODE}).`);
|
|
468
529
|
}
|
|
469
|
-
lines.push(` fix: run \`${CODEGRAPH_REPAIR_INDEX_COMMAND}\` — it
|
|
530
|
+
lines.push(` fix: run \`${CODEGRAPH_REPAIR_INDEX_COMMAND}\` — it drops the config's exclude rules that block tracked source files and rebuilds the index from scratch (that rebuild is what drops the stale rows).`);
|
|
470
531
|
return lines;
|
|
471
532
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// src/services/codegraph/codegraph-preflight-service.ts
|
|
2
2
|
//
|
|
3
|
-
// Slice 2026-09-03-codegraph-preread (Option A) — pre-dispatch codegraph
|
|
4
3
|
// preflight for RD planning. peaks-code's RD dispatch path calls
|
|
5
4
|
// `buildCodegraphPreflightBlock` BEFORE composing the RD sub-agent prompt
|
|
6
5
|
// (src/cli/commands/dispatch-commands.ts) so the RD plans against the real
|
|
@@ -15,7 +14,6 @@
|
|
|
15
14
|
// absent, run `codegraph init` + `codegraph index` (best-effort).
|
|
16
15
|
// 2. Skip-when-fresh: when `.codegraph/` already carries the
|
|
17
16
|
// peaks-loop marker, do NOT re-init / re-index on every dispatch
|
|
18
|
-
// (index is incremental; the sibling rid-2026-09-03-codegraph-autorefresh
|
|
19
17
|
// owns post-slice refresh). A foreign-schema `.codegraph/` is never
|
|
20
18
|
// clobbered — we fail-soft instead.
|
|
21
19
|
// 3. Read a BOUNDED project-structure summary from the index
|
|
@@ -33,6 +31,7 @@
|
|
|
33
31
|
import { mkdirSync } from 'node:fs';
|
|
34
32
|
import { CODEGRAPH_DIR_NAME, createCodegraphInvocation, defaultCodegraphInitGuard, executeCodegraphInvocation, isCodegraphInitialized, writeCodegraphMarker } from './codegraph-service.js';
|
|
35
33
|
import { defaultCodegraphProcessRunner } from './codegraph-process-runner.js';
|
|
34
|
+
import { dropSqliteBackendAdvice, isBackendRuleLine } from './codegraph-backend-advice.js';
|
|
36
35
|
import { repairCodegraphExcludeFromProject } from './codegraph-exclude-repair.js';
|
|
37
36
|
import { CODEGRAPH_STRUCTURE_MAX_DIRS, CODEGRAPH_STRUCTURE_MAX_ROOT_FILES, normalizeCodegraphPath, parseFilesPayload } from './codegraph-preflight-structure.js';
|
|
38
37
|
export { CODEGRAPH_STRUCTURE_MAX_DIRS, CODEGRAPH_STRUCTURE_MAX_ROOT_FILES } from './codegraph-preflight-structure.js';
|
|
@@ -89,10 +88,20 @@ function errorMessage(error) {
|
|
|
89
88
|
return error instanceof Error ? error.message : String(error);
|
|
90
89
|
}
|
|
91
90
|
function firstMeaningfulLine(text) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
91
|
+
// Upstream writes its SQLite-backend block before anything
|
|
92
|
+
// else, so the raw first line of stderr is a box-drawing frame — and the
|
|
93
|
+
// line after it names a package this project removed. Neither is the
|
|
94
|
+
// failure cause, and this function exists to name the cause.
|
|
95
|
+
//
|
|
96
|
+
// Removing the block is not enough on its own: the frame's CLOSING rule
|
|
97
|
+
// survives whenever the cause follows it with no blank line between, which is
|
|
98
|
+
// exactly what the real binary prints (measured 2026-10-06 — `files` on an
|
|
99
|
+
// unreadable store leaves `────…`, then `[ERR] Failed to list files: file is
|
|
100
|
+
// not a database`). A frame is not a cause, so frames are skipped.
|
|
101
|
+
const first = dropSqliteBackendAdvice(text)
|
|
102
|
+
.split(/\r?\n/)
|
|
103
|
+
.map((line) => line.trim())
|
|
104
|
+
.find((line) => line.length > 0 && !isBackendRuleLine(line));
|
|
96
105
|
return first !== undefined ? first.slice(0, 200) : 'no upstream output';
|
|
97
106
|
}
|
|
98
107
|
async function readStructure(projectRoot, runner) {
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** Upstream's per-project config filename at the project root. */
|
|
2
|
+
export declare const CODEGRAPH_PROJECT_CONFIG_FILENAME = "codegraph.json";
|
|
3
|
+
/** Upstream's config filename inside `.codegraph/`. */
|
|
4
|
+
export declare const CODEGRAPH_DIR_CONFIG_FILENAME = "config.json";
|
|
5
|
+
/**
|
|
6
|
+
* How this upstream's `include` list relates to being indexed.
|
|
7
|
+
*
|
|
8
|
+
* - `force-include` — 1.6.x. Selection is `.gitignore`-driven; `include`
|
|
9
|
+
* can only ADD files to the index, never withhold
|
|
10
|
+
* one. Config lives at `<root>/codegraph.json`.
|
|
11
|
+
* - `include-whitelist`— 0.7.x. `include` decides which tracked files are
|
|
12
|
+
* indexed, so its gaps are real omissions. Config
|
|
13
|
+
* lives at `<root>/.codegraph/config.json`.
|
|
14
|
+
*/
|
|
15
|
+
export type CodegraphConfigModel = 'force-include' | 'include-whitelist';
|
|
16
|
+
export type CodegraphConfigSource = {
|
|
17
|
+
/** Absolute path of the file upstream reads for this project. */
|
|
18
|
+
readonly configPath: string;
|
|
19
|
+
/** True when that file exists. Its ABSENCE is meaningful in both models. */
|
|
20
|
+
readonly present: boolean;
|
|
21
|
+
readonly model: CodegraphConfigModel;
|
|
22
|
+
};
|
|
23
|
+
/** The model implied by an upstream `dist/` directory, or `null` when there is none. */
|
|
24
|
+
export declare function codegraphConfigModelFor(moduleDir: string): CodegraphConfigModel | null;
|
|
25
|
+
/** Where the config lives under `model`. Pure: no fs. */
|
|
26
|
+
export declare function codegraphConfigPathFor(projectRoot: string, model: CodegraphConfigModel): string;
|
|
27
|
+
/**
|
|
28
|
+
* Resolve the source for a KNOWN model. A parameter rather than a lookup so a
|
|
29
|
+
* caller that has already probed upstream (or a test driving both models) does
|
|
30
|
+
* not have to reach the installed package twice, and so the model can never
|
|
31
|
+
* disagree with the path derived from it.
|
|
32
|
+
*/
|
|
33
|
+
export declare function codegraphConfigSourceFor(projectRoot: string, model: CodegraphConfigModel): CodegraphConfigSource;
|
|
34
|
+
/** `codegraphConfigSourceFor` for whichever config model this install runs. */
|
|
35
|
+
export declare function resolveCodegraphConfigSource(projectRoot: string): CodegraphConfigSource;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// src/services/codegraph/codegraph-project-config.ts
|
|
2
|
+
//
|
|
3
|
+
// ONE answer to "which file holds this project's codegraph config, and what
|
|
4
|
+
// does its `include` list MEAN", for every reader and writer of that file.
|
|
5
|
+
//
|
|
6
|
+
// WHY THIS EXISTS (the 1.6.2 upgrade). Before it, one constant covered every
|
|
7
|
+
// site: join `.codegraph/config.json` onto the project root. That rule is
|
|
8
|
+
// false from 1.6.x, and false in two ways at once:
|
|
9
|
+
//
|
|
10
|
+
// - LOCATION. The only per-project config 1.6.x reads is
|
|
11
|
+
// `<projectRoot>/codegraph.json`. `init` does not write
|
|
12
|
+
// `.codegraph/config.json` and nothing in the 1.6.x bundle reads it, so
|
|
13
|
+
// every read of the old path is an ENOENT and every write is inert.
|
|
14
|
+
//
|
|
15
|
+
// - SEMANTICS. 0.7.x's `include` was a WHITELIST: it decided which files
|
|
16
|
+
// were indexed, so a supported tracked file missing from it was silently
|
|
17
|
+
// dropped. 1.6.x's `include` is the opposite — upstream's own words are
|
|
18
|
+
// "force INTO the index even when `.gitignore` would drop it". An absent
|
|
19
|
+
// `include` therefore withholds NOTHING in 1.6.x, where the same absence
|
|
20
|
+
// withheld everything in 0.7.x.
|
|
21
|
+
//
|
|
22
|
+
// The two follow from one upstream fact, so they are resolved together, once,
|
|
23
|
+
// and by PROBE rather than by version string — the same discipline
|
|
24
|
+
// `codegraph-upstream-layout.ts` already established for "where does upstream
|
|
25
|
+
// put its files". The probe is upstream's own project-config module: 0.7.x
|
|
26
|
+
// reads `<projectRoot>/.codegraph/config.json` through `dist/config.js` and
|
|
27
|
+
// ships no `project-config.js`; 1.6.x reads `<projectRoot>/codegraph.json`
|
|
28
|
+
// through `lib/dist/project-config.js` and ships no `config.js`. Both halves
|
|
29
|
+
// measured against real installs of 0.7.10 and 1.6.2.
|
|
30
|
+
//
|
|
31
|
+
// PROBE FAILURE IS FAIL-CLOSED. When no upstream can be probed at all, the
|
|
32
|
+
// model resolves to the whitelist one, which REQUIRES the legacy config to be
|
|
33
|
+
// present before any verdict is claimed — so the gate reports "could not
|
|
34
|
+
// evaluate" rather than silently asserting that nothing is withheld.
|
|
35
|
+
import { existsSync } from 'node:fs';
|
|
36
|
+
import { join } from 'node:path';
|
|
37
|
+
import { CODEGRAPH_DIR_NAME } from './codegraph-service.js';
|
|
38
|
+
import { resolveCodegraphUpstreamLayout } from './codegraph-upstream-layout.js';
|
|
39
|
+
/** Upstream's per-project config filename at the project root. */
|
|
40
|
+
export const CODEGRAPH_PROJECT_CONFIG_FILENAME = 'codegraph.json';
|
|
41
|
+
/** Upstream's config filename inside `.codegraph/`. */
|
|
42
|
+
export const CODEGRAPH_DIR_CONFIG_FILENAME = 'config.json';
|
|
43
|
+
/**
|
|
44
|
+
* Upstream's module that reads the project-root config. Its presence is the
|
|
45
|
+
* 1.6.x layout signature; `null` means "no upstream to probe".
|
|
46
|
+
*/
|
|
47
|
+
const PROJECT_CONFIG_MODULE = 'project-config.js';
|
|
48
|
+
/** The model implied by an upstream `dist/` directory, or `null` when there is none. */
|
|
49
|
+
export function codegraphConfigModelFor(moduleDir) {
|
|
50
|
+
// An empty `moduleDir` is the layout resolver's "nothing resolved" value.
|
|
51
|
+
// Without this guard `join('', 'project-config.js')` becomes the RELATIVE
|
|
52
|
+
// path `project-config.js`, whose existence would depend on the process's
|
|
53
|
+
// working directory — a probe that answers about the cwd instead of about
|
|
54
|
+
// upstream.
|
|
55
|
+
if (moduleDir === '') {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
return existsSync(join(moduleDir, PROJECT_CONFIG_MODULE)) ? 'force-include' : 'include-whitelist';
|
|
59
|
+
}
|
|
60
|
+
/** Where the config lives under `model`. Pure: no fs. */
|
|
61
|
+
export function codegraphConfigPathFor(projectRoot, model) {
|
|
62
|
+
return model === 'force-include'
|
|
63
|
+
? join(projectRoot, CODEGRAPH_PROJECT_CONFIG_FILENAME)
|
|
64
|
+
: join(projectRoot, CODEGRAPH_DIR_NAME, CODEGRAPH_DIR_CONFIG_FILENAME);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Resolve the source for a KNOWN model. A parameter rather than a lookup so a
|
|
68
|
+
* caller that has already probed upstream (or a test driving both models) does
|
|
69
|
+
* not have to reach the installed package twice, and so the model can never
|
|
70
|
+
* disagree with the path derived from it.
|
|
71
|
+
*/
|
|
72
|
+
export function codegraphConfigSourceFor(projectRoot, model) {
|
|
73
|
+
const configPath = codegraphConfigPathFor(projectRoot, model);
|
|
74
|
+
return { configPath, present: existsSync(configPath), model };
|
|
75
|
+
}
|
|
76
|
+
/** `codegraphConfigSourceFor` for whichever config model this install runs. */
|
|
77
|
+
export function resolveCodegraphConfigSource(projectRoot) {
|
|
78
|
+
return codegraphConfigSourceFor(projectRoot, resolveCodegraphConfigModel());
|
|
79
|
+
}
|
|
80
|
+
function resolveCodegraphConfigModel() {
|
|
81
|
+
try {
|
|
82
|
+
const probed = codegraphConfigModelFor(resolveCodegraphUpstreamLayout().moduleDir);
|
|
83
|
+
return probed ?? 'include-whitelist';
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// No installed upstream to probe — see the module header: fail CLOSED, so
|
|
87
|
+
// the caller demands the legacy config before claiming any verdict.
|
|
88
|
+
return 'include-whitelist';
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
declare const CODEGRAPH_PACKAGE_NAME = "@colbymchenry/codegraph";
|
|
2
|
-
declare const CODEGRAPH_PACKAGE_VERSION = "
|
|
2
|
+
declare const CODEGRAPH_PACKAGE_VERSION = "1.6.2";
|
|
3
3
|
declare const CODEGRAPH_EXECUTABLE: string;
|
|
4
4
|
declare const ALLOWED_SUBCOMMANDS: readonly ["status", "init", "index", "query", "files", "context", "affected"];
|
|
5
5
|
type CodegraphSubcommand = (typeof ALLOWED_SUBCOMMANDS)[number];
|
|
@@ -188,7 +188,6 @@ export type CodegraphAffectedRow = {
|
|
|
188
188
|
export type WriteCodegraphAffectedContextInput = {
|
|
189
189
|
/** The peaks-loop project root (where `.peaks/_runtime/` lives). */
|
|
190
190
|
readonly projectRoot: string;
|
|
191
|
-
/** Request id, e.g. `rid-CG-002`. Used as the envelope's anchor. */
|
|
192
191
|
readonly rid: string;
|
|
193
192
|
/** Project-relative file paths passed to `peaks codegraph affected`. */
|
|
194
193
|
readonly files: readonly string[];
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, realpathSync, statSync, writeFileSync } from 'node:fs';
|
|
2
|
-
import { createRequire } from 'node:module';
|
|
3
2
|
import { dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
|
|
4
3
|
import { defaultCodegraphProcessRunner } from './codegraph-process-runner.js';
|
|
4
|
+
import { resolveCodegraphUpstreamLayout } from './codegraph-upstream-layout.js';
|
|
5
5
|
import { getSessionId, getSessionDir } from '../session/index.js';
|
|
6
6
|
import { isInsidePath } from '../../shared/path-utils.js';
|
|
7
7
|
const CODEGRAPH_PACKAGE_NAME = '@colbymchenry/codegraph';
|
|
8
|
-
const CODEGRAPH_PACKAGE_VERSION = '
|
|
8
|
+
const CODEGRAPH_PACKAGE_VERSION = '1.6.2';
|
|
9
9
|
const CODEGRAPH_EXECUTABLE = process.execPath;
|
|
10
10
|
const CODEGRAPH_BINARY_PATH = resolveCodegraphBinaryPath();
|
|
11
11
|
const POSITIONAL_ARGUMENT_PREFIX = '-';
|
|
@@ -22,10 +22,11 @@ const NUMERIC_FLAG_NAMES = ['limit', 'maxDepth'];
|
|
|
22
22
|
const COMMON_OPTION_KEYS = ['subcommand', 'project'];
|
|
23
23
|
const ALLOWED_OPTIONS_BY_SUBCOMMAND = {
|
|
24
24
|
status: [],
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
//
|
|
28
|
-
//
|
|
25
|
+
// peaks-loop passes upstream `init` NO flags. The `--yes` we used to
|
|
26
|
+
// whitelist was forwarded verbatim and rejected with
|
|
27
|
+
// CODEGRAPH_COMMAND_FAILED — and init never prompts, so there was nothing
|
|
28
|
+
// for it to answer. 1.6.2 added `-y, --yes` for a prompt that still does
|
|
29
|
+
// not exist, which changes nothing: it stays unwhitelisted.
|
|
29
30
|
init: [],
|
|
30
31
|
index: ['force', 'quiet'],
|
|
31
32
|
query: ['search', 'json', 'limit'],
|
|
@@ -33,11 +34,11 @@ const ALLOWED_OPTIONS_BY_SUBCOMMAND = {
|
|
|
33
34
|
context: ['task'],
|
|
34
35
|
affected: ['files', 'json']
|
|
35
36
|
};
|
|
37
|
+
// Upstream's on-disk layout is owned by `codegraph-upstream-layout.ts` — the
|
|
38
|
+
// same resolver the two module oracles and the doctor's probe read, so none
|
|
39
|
+
// of the four can disagree about which install it is reading.
|
|
36
40
|
function resolveCodegraphBinaryPath() {
|
|
37
|
-
|
|
38
|
-
const packageJsonPath = require.resolve('@colbymchenry/codegraph/package.json');
|
|
39
|
-
const binaryPath = resolve(dirname(packageJsonPath), 'dist', 'bin', 'codegraph.js');
|
|
40
|
-
return binaryPath;
|
|
41
|
+
return resolveCodegraphUpstreamLayout().binaryPath;
|
|
41
42
|
}
|
|
42
43
|
function assertSupportedSubcommand(subcommand) {
|
|
43
44
|
if (!ALLOWED_SUBCOMMANDS.includes(subcommand)) {
|
|
@@ -331,7 +332,6 @@ function inspectCandidateCodegraphDir(codegraphDir) {
|
|
|
331
332
|
const markerPath = join(codegraphDir, CODEGRAPH_MARKER_NAME);
|
|
332
333
|
if (existsSync(markerPath)) {
|
|
333
334
|
// Marker present but no codegraph.db → the dangling state left by the
|
|
334
|
-
// pre-fix rid-CG-001 auto-stake (marker stamped without running
|
|
335
335
|
// upstream init). Report 'fresh' so consumers re-run upstream init
|
|
336
336
|
// (idempotent, creates the db) instead of treating the schema as
|
|
337
337
|
// fully initialized.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type CodegraphUpstreamLayout = {
|
|
2
|
+
/**
|
|
3
|
+
* Absolute path of the script to spawn with `process.execPath`. Empty
|
|
4
|
+
* string when NO candidate directory holds an entry at all — the caller
|
|
5
|
+
* then fails with a path it can name rather than with a silent `undefined`.
|
|
6
|
+
*/
|
|
7
|
+
readonly binaryPath: string;
|
|
8
|
+
/**
|
|
9
|
+
* Absolute path of the directory holding upstream's JS modules
|
|
10
|
+
* (`types.js`, `extraction/grammars.js`). Same `dist/` the entry's `bin/`
|
|
11
|
+
* lives under, so one probe locates both.
|
|
12
|
+
*/
|
|
13
|
+
readonly moduleDir: string;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Resolve upstream's layout for one `package.json` path.
|
|
17
|
+
*
|
|
18
|
+
* `packageJsonPath` is a parameter rather than a lookup because the doctor's
|
|
19
|
+
* yarn-pnp fallback reaches the same package by a filesystem walk and needs
|
|
20
|
+
* the layout for THAT path, not for whatever `createRequire` finds.
|
|
21
|
+
*/
|
|
22
|
+
export declare function codegraphUpstreamLayoutFor(packageJsonPath: string): CodegraphUpstreamLayout;
|
|
23
|
+
/** `codegraphUpstreamLayoutFor` for whichever install this process runs against. */
|
|
24
|
+
export declare function resolveCodegraphUpstreamLayout(): CodegraphUpstreamLayout;
|