peaks-loop 4.1.2 → 4.1.4
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 +112 -0
- package/README-en.md +1 -1
- package/README.md +1 -1
- package/contracts/readonly-argv-whitelist.json +211 -0
- package/dist/cli/commands/asset-command-shared.d.ts +12 -0
- package/dist/cli/commands/asset-command-shared.js +45 -0
- package/dist/cli/commands/asset-commands.d.ts +6 -1
- package/dist/cli/commands/asset-commands.js +11 -372
- package/dist/cli/commands/asset-crystallize-command.d.ts +3 -0
- package/dist/cli/commands/asset-crystallize-command.js +60 -0
- package/dist/cli/commands/asset-crystallize-payload.d.ts +47 -0
- package/dist/cli/commands/asset-crystallize-payload.js +85 -0
- package/dist/cli/commands/asset-crystallize-runner.d.ts +3 -0
- package/dist/cli/commands/asset-crystallize-runner.js +133 -0
- package/dist/cli/commands/asset-dispose-command.d.ts +3 -0
- package/dist/cli/commands/asset-dispose-command.js +99 -0
- package/dist/cli/commands/asset-status-command.d.ts +3 -0
- package/dist/cli/commands/asset-status-command.js +100 -0
- 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 +64 -473
- 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/await-runners.d.ts +11 -0
- package/dist/cli/commands/await-runners.js +148 -0
- package/dist/cli/commands/baseline-audit-command.d.ts +3 -0
- package/dist/cli/commands/baseline-audit-command.js +64 -0
- package/dist/cli/commands/baseline-command-shared.d.ts +23 -0
- package/dist/cli/commands/baseline-command-shared.js +39 -0
- package/dist/cli/commands/baseline-commands.js +33 -313
- package/dist/cli/commands/baseline-freeze-commands.d.ts +4 -0
- package/dist/cli/commands/baseline-freeze-commands.js +81 -0
- package/dist/cli/commands/baseline-guard-command.d.ts +3 -0
- package/dist/cli/commands/baseline-guard-command.js +52 -0
- package/dist/cli/commands/baseline-read-commands.d.ts +5 -0
- package/dist/cli/commands/baseline-read-commands.js +72 -0
- package/dist/cli/commands/baseline-rollback-commands.d.ts +4 -0
- package/dist/cli/commands/baseline-rollback-commands.js +88 -0
- package/dist/cli/commands/classify-downgrade-command.d.ts +9 -0
- package/dist/cli/commands/classify-downgrade-command.js +21 -0
- package/dist/cli/commands/classify-run-command.d.ts +9 -0
- package/dist/cli/commands/classify-run-command.js +73 -0
- package/dist/cli/commands/classify-signals.d.ts +5 -0
- package/dist/cli/commands/classify-signals.js +104 -0
- 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-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 +136 -0
- package/dist/cli/commands/code-gate-step-08-command.d.ts +3 -0
- package/dist/cli/commands/code-gate-step-08-command.js +155 -0
- 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-runtime-commands.d.ts +9 -43
- package/dist/cli/commands/code-runtime-commands.js +20 -672
- 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-options.d.ts +22 -0
- package/dist/cli/commands/codegraph-command-options.js +22 -0
- package/dist/cli/commands/codegraph-commands.d.ts +2 -2
- package/dist/cli/commands/codegraph-commands.js +14 -397
- package/dist/cli/commands/codegraph-config-restore-command.d.ts +3 -0
- package/dist/cli/commands/codegraph-config-restore-command.js +200 -0
- package/dist/cli/commands/codegraph-proxy-commands.d.ts +10 -0
- package/dist/cli/commands/codegraph-proxy-commands.js +159 -0
- package/dist/cli/commands/codegraph-repair-commands.d.ts +3 -0
- package/dist/cli/commands/codegraph-repair-commands.js +94 -0
- package/dist/cli/commands/codegraph-status-command.d.ts +1 -1
- package/dist/cli/commands/codegraph-status-command.js +27 -214
- package/dist/cli/commands/codegraph-status-integrity.d.ts +44 -0
- package/dist/cli/commands/codegraph-status-integrity.js +121 -0
- package/dist/cli/commands/codegraph-status-json.d.ts +5 -0
- package/dist/cli/commands/codegraph-status-json.js +127 -0
- package/dist/cli/commands/compact-command.d.ts +6 -2
- package/dist/cli/commands/compact-command.js +12 -559
- 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-command-shared.d.ts +60 -0
- package/dist/cli/commands/container-command-shared.js +52 -0
- package/dist/cli/commands/container-commands.d.ts +1 -1
- package/dist/cli/commands/container-commands.js +4 -216
- package/dist/cli/commands/container-release-command.d.ts +3 -0
- package/dist/cli/commands/container-release-command.js +105 -0
- package/dist/cli/commands/container-spawn-command.d.ts +3 -0
- package/dist/cli/commands/container-spawn-command.js +148 -0
- package/dist/cli/commands/context-check-command.d.ts +3 -0
- package/dist/cli/commands/context-check-command.js +81 -0
- package/dist/cli/commands/context-commands.d.ts +2 -7
- package/dist/cli/commands/context-commands.js +6 -276
- package/dist/cli/commands/context-layer-command.d.ts +3 -0
- package/dist/cli/commands/context-layer-command.js +34 -0
- package/dist/cli/commands/context-layer-fetchers.d.ts +15 -0
- package/dist/cli/commands/context-layer-fetchers.js +162 -0
- package/dist/cli/commands/context-status-command.d.ts +17 -0
- package/dist/cli/commands/context-status-command.js +41 -0
- package/dist/cli/commands/contract-write-command.d.ts +3 -0
- package/dist/cli/commands/contract-write-command.js +144 -0
- package/dist/cli/commands/core/doctor-bindings.d.ts +17 -0
- package/dist/cli/commands/core/doctor-bindings.js +30 -0
- package/dist/cli/commands/core/doctor-command.d.ts +4 -18
- package/dist/cli/commands/core/doctor-command.js +2 -323
- package/dist/cli/commands/core/doctor-logs.d.ts +8 -0
- package/dist/cli/commands/core/doctor-logs.js +32 -0
- package/dist/cli/commands/core/doctor-probes.d.ts +3 -0
- package/dist/cli/commands/core/doctor-probes.js +55 -0
- package/dist/cli/commands/core/doctor-run-command.d.ts +12 -0
- package/dist/cli/commands/core/doctor-run-command.js +172 -0
- package/dist/cli/commands/core/doctor-summary.d.ts +7 -0
- package/dist/cli/commands/core/doctor-summary.js +39 -0
- package/dist/cli/commands/core/memory-command-shared.d.ts +25 -0
- package/dist/cli/commands/core/memory-command-shared.js +20 -0
- package/dist/cli/commands/core/memory-command.d.ts +1 -1
- package/dist/cli/commands/core/memory-command.js +6 -227
- package/dist/cli/commands/core/memory-delegated-verbs.d.ts +4 -0
- package/dist/cli/commands/core/memory-delegated-verbs.js +178 -0
- package/dist/cli/commands/core/memory-extract-command.d.ts +3 -0
- package/dist/cli/commands/core/memory-extract-command.js +90 -0
- package/dist/cli/commands/core/memory-sync-command.d.ts +3 -0
- package/dist/cli/commands/core/memory-sync-command.js +38 -0
- package/dist/cli/commands/core/session-command.d.ts +1 -1
- package/dist/cli/commands/core/session-command.js +12 -206
- package/dist/cli/commands/core/session-info-command.d.ts +3 -0
- package/dist/cli/commands/core/session-info-command.js +142 -0
- package/dist/cli/commands/core/session-verb-commands.d.ts +5 -0
- package/dist/cli/commands/core/session-verb-commands.js +58 -0
- package/dist/cli/commands/core/skill-command.d.ts +1 -44
- package/dist/cli/commands/core/skill-command.js +13 -541
- 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/standards-command.d.ts +1 -24
- package/dist/cli/commands/core/standards-command.js +33 -201
- package/dist/cli/commands/core/standards-init-command.d.ts +3 -0
- package/dist/cli/commands/core/standards-init-command.js +87 -0
- package/dist/cli/commands/core/standards-lint.d.ts +24 -0
- package/dist/cli/commands/core/standards-lint.js +57 -0
- package/dist/cli/commands/core/standards-migrate-command.d.ts +3 -0
- package/dist/cli/commands/core/standards-migrate-command.js +57 -0
- package/dist/cli/commands/cron-scheduler-commands.d.ts +5 -1
- package/dist/cli/commands/cron-scheduler-commands.js +36 -206
- package/dist/cli/commands/cron-scheduler-run-once-command.d.ts +7 -0
- package/dist/cli/commands/cron-scheduler-run-once-command.js +35 -0
- package/dist/cli/commands/cron-scheduler-shared.d.ts +6 -0
- package/dist/cli/commands/cron-scheduler-shared.js +48 -0
- package/dist/cli/commands/cron-scheduler-start-command.d.ts +7 -0
- package/dist/cli/commands/cron-scheduler-start-command.js +65 -0
- package/dist/cli/commands/cron-scheduler-status-command.d.ts +7 -0
- package/dist/cli/commands/cron-scheduler-status-command.js +46 -0
- package/dist/cli/commands/cron-scheduler-stop-command.d.ts +7 -0
- package/dist/cli/commands/cron-scheduler-stop-command.js +61 -0
- 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.js +159 -775
- package/dist/cli/commands/dispatch-dag-envelope.d.ts +41 -0
- package/dist/cli/commands/dispatch-dag-envelope.js +49 -0
- package/dist/cli/commands/dispatch-dag-failure.d.ts +18 -0
- package/dist/cli/commands/dispatch-dag-failure.js +16 -0
- package/dist/cli/commands/dispatch-dag-preflight.d.ts +51 -0
- package/dist/cli/commands/dispatch-dag-preflight.js +105 -0
- package/dist/cli/commands/dispatch-dag-runners.d.ts +48 -0
- package/dist/cli/commands/dispatch-dag-runners.js +73 -0
- 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.d.ts +27 -0
- package/dist/cli/commands/dispatch-from-dag.js +87 -257
- 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/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 -1
- package/dist/cli/commands/evolution-commands.js +19 -350
- 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/final-review-command-envelopes.d.ts +44 -0
- package/dist/cli/commands/final-review-command-envelopes.js +100 -0
- package/dist/cli/commands/final-review-command-shared.d.ts +52 -0
- package/dist/cli/commands/final-review-command-shared.js +35 -0
- package/dist/cli/commands/final-review-commands.d.ts +7 -27
- package/dist/cli/commands/final-review-commands.js +13 -240
- package/dist/cli/commands/final-review-prepare-command.d.ts +3 -0
- package/dist/cli/commands/final-review-prepare-command.js +200 -0
- 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/gate-commands.js +26 -8
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +23 -9
- package/dist/cli/commands/governance-classify-contract-commands.js +26 -269
- package/dist/cli/commands/hooks-command-shared.d.ts +42 -0
- package/dist/cli/commands/hooks-command-shared.js +32 -0
- package/dist/cli/commands/hooks-commands.d.ts +20 -0
- package/dist/cli/commands/hooks-commands.js +75 -309
- package/dist/cli/commands/hooks-install-envelopes.d.ts +6 -0
- package/dist/cli/commands/hooks-install-envelopes.js +144 -0
- package/dist/cli/commands/hooks-status-command.d.ts +3 -0
- package/dist/cli/commands/hooks-status-command.js +93 -0
- package/dist/cli/commands/hooks-uninstall-command.d.ts +3 -0
- package/dist/cli/commands/hooks-uninstall-command.js +43 -0
- 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 -552
- 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/loop-command-shared.d.ts +31 -0
- package/dist/cli/commands/loop-command-shared.js +15 -0
- package/dist/cli/commands/loop-commands.d.ts +12 -17
- package/dist/cli/commands/loop-commands.js +56 -238
- 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 -626
- 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/loop-export-command.d.ts +3 -0
- package/dist/cli/commands/loop-export-command.js +73 -0
- package/dist/cli/commands/loop-goal-compose-command.d.ts +3 -0
- package/dist/cli/commands/loop-goal-compose-command.js +36 -0
- package/dist/cli/commands/loop-import-command.d.ts +3 -0
- package/dist/cli/commands/loop-import-command.js +86 -0
- package/dist/cli/commands/loop-placeholder-commands.d.ts +3 -0
- package/dist/cli/commands/loop-placeholder-commands.js +52 -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-command-shared.d.ts +59 -0
- package/dist/cli/commands/memory-command-shared.js +39 -0
- package/dist/cli/commands/memory-commands.d.ts +6 -79
- package/dist/cli/commands/memory-commands.js +19 -309
- package/dist/cli/commands/memory-ingest-command.d.ts +3 -0
- package/dist/cli/commands/memory-ingest-command.js +50 -0
- package/dist/cli/commands/memory-list-command.d.ts +16 -0
- package/dist/cli/commands/memory-list-command.js +129 -0
- package/dist/cli/commands/memory-reindex-command.d.ts +9 -0
- package/dist/cli/commands/memory-reindex-command.js +78 -0
- package/dist/cli/commands/memory-rotate-command.d.ts +3 -0
- package/dist/cli/commands/memory-rotate-command.js +55 -0
- package/dist/cli/commands/memory-search-command.d.ts +7 -0
- package/dist/cli/commands/memory-search-command.js +46 -0
- package/dist/cli/commands/openspec-archive-command.d.ts +3 -0
- package/dist/cli/commands/openspec-archive-command.js +55 -0
- package/dist/cli/commands/openspec-command-shared.d.ts +62 -0
- package/dist/cli/commands/openspec-command-shared.js +135 -0
- package/dist/cli/commands/openspec-commands.d.ts +1 -1
- package/dist/cli/commands/openspec-commands.js +33 -306
- package/dist/cli/commands/openspec-from-doctor-command.d.ts +3 -0
- package/dist/cli/commands/openspec-from-doctor-command.js +66 -0
- package/dist/cli/commands/openspec-init-command.d.ts +3 -0
- package/dist/cli/commands/openspec-init-command.js +49 -0
- package/dist/cli/commands/openspec-list-command.d.ts +3 -0
- package/dist/cli/commands/openspec-list-command.js +27 -0
- package/dist/cli/commands/openspec-render-command.d.ts +3 -0
- package/dist/cli/commands/openspec-render-command.js +33 -0
- package/dist/cli/commands/openspec-show-command.d.ts +3 -0
- package/dist/cli/commands/openspec-show-command.js +33 -0
- package/dist/cli/commands/openspec-to-rd-command.d.ts +3 -0
- package/dist/cli/commands/openspec-to-rd-command.js +33 -0
- package/dist/cli/commands/openspec-validate-command.d.ts +3 -0
- package/dist/cli/commands/openspec-validate-command.js +45 -0
- package/dist/cli/commands/playwright-browser-command.d.ts +8 -0
- package/dist/cli/commands/playwright-browser-command.js +61 -0
- package/dist/cli/commands/playwright-commands.d.ts +10 -62
- package/dist/cli/commands/playwright-commands.js +77 -400
- package/dist/cli/commands/playwright-envelope.d.ts +8 -0
- package/dist/cli/commands/playwright-envelope.js +29 -0
- package/dist/cli/commands/playwright-ls-stop-commands.d.ts +4 -0
- package/dist/cli/commands/playwright-ls-stop-commands.js +74 -0
- package/dist/cli/commands/playwright-session-store.d.ts +65 -0
- package/dist/cli/commands/playwright-session-store.js +189 -0
- package/dist/cli/commands/project-commands.d.ts +19 -0
- package/dist/cli/commands/project-commands.js +98 -259
- package/dist/cli/commands/project-context-command.d.ts +3 -0
- package/dist/cli/commands/project-context-command.js +44 -0
- package/dist/cli/commands/project-dashboard-command.d.ts +3 -0
- package/dist/cli/commands/project-dashboard-command.js +74 -0
- package/dist/cli/commands/project-knowledge-command.d.ts +3 -0
- package/dist/cli/commands/project-knowledge-command.js +48 -0
- package/dist/cli/commands/project-memories-show-command.d.ts +3 -0
- package/dist/cli/commands/project-memories-show-command.js +87 -0
- package/dist/cli/commands/project-memory-index-command.d.ts +3 -0
- package/dist/cli/commands/project-memory-index-command.js +31 -0
- package/dist/cli/commands/qa-archive-screenshots-command.d.ts +3 -0
- package/dist/cli/commands/qa-archive-screenshots-command.js +53 -0
- package/dist/cli/commands/qa-commands.d.ts +14 -87
- package/dist/cli/commands/qa-commands.js +17 -315
- package/dist/cli/commands/qa-context-prestep.d.ts +1 -0
- package/dist/cli/commands/qa-context-prestep.js +34 -0
- package/dist/cli/commands/qa-run-command.d.ts +3 -0
- package/dist/cli/commands/qa-run-command.js +105 -0
- package/dist/cli/commands/qa-run-options.d.ts +23 -0
- package/dist/cli/commands/qa-run-options.js +31 -0
- package/dist/cli/commands/qa-run-slice.d.ts +41 -0
- package/dist/cli/commands/qa-run-slice.js +145 -0
- package/dist/cli/commands/release-canary-command.d.ts +28 -0
- package/dist/cli/commands/release-canary-command.js +129 -0
- package/dist/cli/commands/release-command-shared.d.ts +13 -0
- package/dist/cli/commands/release-command-shared.js +18 -0
- package/dist/cli/commands/release-commands.d.ts +10 -18
- package/dist/cli/commands/release-commands.js +25 -298
- package/dist/cli/commands/release-done-command.d.ts +3 -0
- package/dist/cli/commands/release-done-command.js +64 -0
- package/dist/cli/commands/release-hotfix-command.d.ts +3 -0
- package/dist/cli/commands/release-hotfix-command.js +50 -0
- package/dist/cli/commands/release-plan-command.d.ts +3 -0
- package/dist/cli/commands/release-plan-command.js +33 -0
- package/dist/cli/commands/release-precheck-command.d.ts +3 -0
- package/dist/cli/commands/release-precheck-command.js +28 -0
- package/dist/cli/commands/release-promote-command.d.ts +3 -0
- package/dist/cli/commands/release-promote-command.js +34 -0
- package/dist/cli/commands/release-rollback-command.d.ts +3 -0
- package/dist/cli/commands/release-rollback-command.js +33 -0
- package/dist/cli/commands/release-watch-command.d.ts +3 -0
- package/dist/cli/commands/release-watch-command.js +44 -0
- 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 -9
- package/dist/cli/commands/request-commands.js +17 -522
- 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/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/sediment-argv-flags.d.ts +54 -0
- package/dist/cli/commands/sediment-argv-flags.js +116 -0
- package/dist/cli/commands/sediment-command-shared.d.ts +15 -0
- package/dist/cli/commands/sediment-command-shared.js +5 -0
- package/dist/cli/commands/sediment-commands.d.ts +35 -59
- package/dist/cli/commands/sediment-commands.js +36 -590
- package/dist/cli/commands/sediment-pool-commands.d.ts +9 -0
- package/dist/cli/commands/sediment-pool-commands.js +185 -0
- package/dist/cli/commands/sediment-query-commands.d.ts +4 -0
- package/dist/cli/commands/sediment-query-commands.js +94 -0
- package/dist/cli/commands/sediment-release-commands.d.ts +8 -0
- package/dist/cli/commands/sediment-release-commands.js +232 -0
- package/dist/cli/commands/share-commands.d.ts +12 -68
- package/dist/cli/commands/share-commands.js +47 -556
- 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/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 -517
- 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-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/sop-advance-command.d.ts +3 -0
- package/dist/cli/commands/sop-advance-command.js +160 -0
- package/dist/cli/commands/sop-check-command.d.ts +3 -0
- package/dist/cli/commands/sop-check-command.js +44 -0
- package/dist/cli/commands/sop-command-shared.d.ts +23 -0
- package/dist/cli/commands/sop-command-shared.js +18 -0
- package/dist/cli/commands/sop-commands.d.ts +15 -1
- package/dist/cli/commands/sop-commands.js +26 -240
- package/dist/cli/commands/sop-init-command.d.ts +3 -0
- package/dist/cli/commands/sop-init-command.js +51 -0
- package/dist/cli/commands/sop-lint-command.d.ts +3 -0
- package/dist/cli/commands/sop-lint-command.js +64 -0
- package/dist/cli/commands/sop-register-command.d.ts +3 -0
- package/dist/cli/commands/sop-register-command.js +48 -0
- package/dist/cli/commands/sop-registry-command.d.ts +3 -0
- package/dist/cli/commands/sop-registry-command.js +30 -0
- package/dist/cli/commands/statusline-command-shared.d.ts +73 -0
- package/dist/cli/commands/statusline-command-shared.js +90 -0
- package/dist/cli/commands/statusline-commands.d.ts +1 -19
- package/dist/cli/commands/statusline-commands.js +48 -287
- package/dist/cli/commands/statusline-compact-command.d.ts +4 -0
- package/dist/cli/commands/statusline-compact-command.js +54 -0
- package/dist/cli/commands/statusline-install-command.d.ts +3 -0
- package/dist/cli/commands/statusline-install-command.js +48 -0
- package/dist/cli/commands/statusline-render-command.d.ts +9 -0
- package/dist/cli/commands/statusline-render-command.js +55 -0
- package/dist/cli/commands/statusline-status-command.d.ts +3 -0
- package/dist/cli/commands/statusline-status-command.js +23 -0
- package/dist/cli/commands/statusline-uninstall-command.d.ts +3 -0
- package/dist/cli/commands/statusline-uninstall-command.js +23 -0
- package/dist/cli/commands/test-command-run-helpers.d.ts +27 -0
- package/dist/cli/commands/test-command-run-helpers.js +73 -0
- package/dist/cli/commands/test-command-runner-resolution.d.ts +57 -0
- package/dist/cli/commands/test-command-runner-resolution.js +183 -0
- package/dist/cli/commands/test-commands.d.ts +8 -56
- package/dist/cli/commands/test-commands.js +26 -249
- package/dist/cli/commands/vm-command-shared.d.ts +23 -0
- package/dist/cli/commands/vm-command-shared.js +23 -0
- package/dist/cli/commands/vm-commands.d.ts +1 -28
- package/dist/cli/commands/vm-commands.js +36 -270
- package/dist/cli/commands/vm-hypervisor-runtime.d.ts +15 -0
- package/dist/cli/commands/vm-hypervisor-runtime.js +64 -0
- package/dist/cli/commands/vm-release-command.d.ts +5 -0
- package/dist/cli/commands/vm-release-command.js +101 -0
- package/dist/cli/commands/vm-spawn-command.d.ts +5 -0
- package/dist/cli/commands/vm-spawn-command.js +177 -0
- package/dist/cli/commands/web-command-shared.d.ts +12 -0
- package/dist/cli/commands/web-command-shared.js +30 -0
- package/dist/cli/commands/web-commands.d.ts +7 -14
- package/dist/cli/commands/web-commands.js +6 -314
- package/dist/cli/commands/web-install-command.d.ts +10 -0
- package/dist/cli/commands/web-install-command.js +116 -0
- package/dist/cli/commands/web-lifecycle-commands.d.ts +9 -30
- package/dist/cli/commands/web-lifecycle-commands.js +14 -322
- package/dist/cli/commands/web-login-command.d.ts +14 -0
- package/dist/cli/commands/web-login-command.js +189 -0
- package/dist/cli/commands/web-op-payload.d.ts +22 -0
- package/dist/cli/commands/web-op-payload.js +89 -0
- package/dist/cli/commands/web-op-refusals.d.ts +37 -0
- package/dist/cli/commands/web-op-refusals.js +73 -0
- package/dist/cli/commands/web-op-runner.d.ts +14 -0
- package/dist/cli/commands/web-op-runner.js +166 -0
- package/dist/cli/commands/web-status-command.d.ts +4 -0
- package/dist/cli/commands/web-status-command.js +32 -0
- package/dist/cli/commands/web-stop-command.d.ts +10 -0
- package/dist/cli/commands/web-stop-command.js +59 -0
- package/dist/cli/commands/web-verb-specs.d.ts +18 -0
- package/dist/cli/commands/web-verb-specs.js +66 -0
- package/dist/cli/commands/workflow-command-shared.d.ts +102 -0
- package/dist/cli/commands/workflow-command-shared.js +74 -0
- package/dist/cli/commands/workflow-commands.d.ts +10 -1
- package/dist/cli/commands/workflow-commands.js +6 -594
- 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-graph-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-graph-commands.js +73 -0
- package/dist/cli/commands/workflow-init-command.d.ts +3 -0
- package/dist/cli/commands/workflow-init-command.js +68 -0
- package/dist/cli/commands/workflow-lifecycle-commands.d.ts +9 -59
- package/dist/cli/commands/workflow-lifecycle-commands.js +14 -348
- package/dist/cli/commands/workflow-node-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-node-commands.js +154 -0
- 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/workflow-terminalize-command.d.ts +3 -0
- package/dist/cli/commands/workflow-terminalize-command.js +56 -0
- 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 -124
- package/dist/cli/commands/workspace/init-command.js +59 -623
- 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/worktree-lease-commands.d.ts +10 -6
- package/dist/cli/commands/worktree-lease-commands.js +42 -512
- 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 -0
- package/dist/services/code/auto-compact-artifacts.d.ts +54 -0
- package/dist/services/code/auto-compact-artifacts.js +135 -0
- package/dist/services/code/auto-compact-attempt.d.ts +46 -0
- package/dist/services/code/auto-compact-attempt.js +88 -0
- package/dist/services/code/auto-compact-decision.d.ts +74 -0
- package/dist/services/code/auto-compact-decision.js +149 -0
- package/dist/services/code/auto-compact-dispatch-gate.d.ts +36 -0
- package/dist/services/code/auto-compact-dispatch-gate.js +86 -0
- package/dist/services/code/auto-compact-envelopes.d.ts +33 -0
- package/dist/services/code/auto-compact-envelopes.js +134 -0
- package/dist/services/code/auto-compact-history.d.ts +46 -0
- package/dist/services/code/auto-compact-history.js +17 -0
- package/dist/services/code/auto-compact-orchestrator.d.ts +11 -240
- package/dist/services/code/auto-compact-orchestrator.js +165 -686
- package/dist/services/code/auto-compact-run-types.d.ts +123 -0
- package/dist/services/code/auto-compact-run-types.js +1 -0
- package/dist/services/code/emit-handoff.d.ts +35 -1
- package/dist/services/code/emit-handoff.js +128 -7
- package/dist/services/code/step-08-gate.d.ts +28 -19
- package/dist/services/code/step-08-gate.js +92 -35
- package/dist/services/config/config-coercion.d.ts +7 -0
- package/dist/services/config/config-coercion.js +156 -0
- package/dist/services/config/config-file-io.d.ts +11 -0
- package/dist/services/config/config-file-io.js +61 -0
- package/dist/services/config/config-get.d.ts +2 -0
- package/dist/services/config/config-get.js +36 -0
- package/dist/services/config/config-global-loader.d.ts +15 -0
- package/dist/services/config/config-global-loader.js +111 -0
- package/dist/services/config/config-nested-path.d.ts +3 -0
- package/dist/services/config/config-nested-path.js +53 -0
- package/dist/services/config/config-primitives.d.ts +16 -0
- package/dist/services/config/config-primitives.js +24 -0
- package/dist/services/config/config-service.d.ts +9 -33
- package/dist/services/config/config-service.js +16 -665
- package/dist/services/config/config-validation.d.ts +19 -0
- package/dist/services/config/config-validation.js +152 -0
- package/dist/services/config/config-workspace.d.ts +10 -0
- package/dist/services/config/config-workspace.js +158 -0
- 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/hooks/mcp-surface-gate.d.ts +19 -0
- package/dist/services/hooks/mcp-surface-gate.js +87 -0
- package/dist/services/ide/adapters/claude-code-adapter.d.ts +4 -35
- package/dist/services/ide/adapters/claude-code-adapter.js +48 -171
- 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/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 -1
- package/dist/services/ide/mcp-tool-matcher.d.ts +34 -0
- package/dist/services/ide/mcp-tool-matcher.js +84 -0
- package/dist/services/lint/npx-resolver.js +7 -0
- 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/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/skills/hooks-codegate-superpowers.d.ts +1 -0
- package/dist/services/skills/hooks-codegate-superpowers.js +26 -0
- package/dist/services/skills/hooks-settings-deny-list.d.ts +61 -0
- package/dist/services/skills/hooks-settings-deny-list.js +173 -0
- package/dist/services/skills/hooks-settings-envelopes.d.ts +20 -0
- package/dist/services/skills/hooks-settings-envelopes.js +79 -0
- package/dist/services/skills/hooks-settings-file-shape.d.ts +43 -0
- package/dist/services/skills/hooks-settings-file-shape.js +207 -0
- package/dist/services/skills/hooks-settings-paths.d.ts +34 -0
- package/dist/services/skills/hooks-settings-paths.js +75 -0
- package/dist/services/skills/hooks-settings-read-installed.d.ts +39 -0
- package/dist/services/skills/hooks-settings-read-installed.js +60 -0
- package/dist/services/skills/hooks-settings-service.d.ts +12 -212
- package/dist/services/skills/hooks-settings-service.js +71 -649
- package/dist/services/skills/hooks-settings-types.d.ts +139 -0
- package/dist/services/skills/hooks-settings-types.js +1 -0
- package/dist/services/workspace/claude-settings-template-merge.d.ts +89 -0
- package/dist/services/workspace/claude-settings-template-merge.js +243 -0
- package/dist/services/workspace/claude-settings-template.d.ts +29 -87
- package/dist/services/workspace/claude-settings-template.js +81 -236
- package/package.json +17 -6
- 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 +36 -1066
- package/scripts/watch-tree.mjs +140 -0
- package/scripts/watch.mjs +4 -126
- package/skills/peaks-status/SKILL.md +31 -13
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function readActiveSid(projectRoot: string): string | null;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// The active-session probe the runtime commands share. It has a module of its own
|
|
2
|
+
// because six registrars read it and none of them owns it.
|
|
3
|
+
import { getSkillPresence } from '../../services/skills/skill-presence-service.js';
|
|
4
|
+
export function readActiveSid(projectRoot) {
|
|
5
|
+
try {
|
|
6
|
+
const presence = getSkillPresence(projectRoot);
|
|
7
|
+
if (presence === null || presence === undefined)
|
|
8
|
+
return null;
|
|
9
|
+
return presence.sessionId ?? null;
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
// TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type Command } from 'commander';
|
|
2
|
+
import type { CommonCodegraphOptions } from './codegraph-command-runtime.js';
|
|
3
|
+
export interface CodegraphIndexOptions extends CommonCodegraphOptions {
|
|
4
|
+
force?: boolean;
|
|
5
|
+
quiet?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface CodegraphQueryOptions extends CommonCodegraphOptions {
|
|
8
|
+
json?: boolean;
|
|
9
|
+
limit?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface CodegraphFilesOptions extends CommonCodegraphOptions {
|
|
12
|
+
json?: boolean;
|
|
13
|
+
maxDepth?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface CodegraphAffectedOptions extends CommonCodegraphOptions {
|
|
16
|
+
json?: boolean;
|
|
17
|
+
rid?: string;
|
|
18
|
+
writeEnvelope?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare function addPeaksJsonOption(command: Command): Command;
|
|
21
|
+
export declare function addProjectOption(command: Command): Command;
|
|
22
|
+
export declare function parsePositiveInteger(value: string): number;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// src/cli/commands/codegraph-command-options.ts
|
|
2
|
+
//
|
|
3
|
+
// The option shapes every `peaks codegraph <verb>` shares, plus the three
|
|
4
|
+
// option-attaching helpers. Split out of `codegraph-commands.ts` so each verb
|
|
5
|
+
// group can live in its own module without re-declaring them.
|
|
6
|
+
import { InvalidArgumentError } from 'commander';
|
|
7
|
+
export function addPeaksJsonOption(command) {
|
|
8
|
+
return command.option('--peaks-json', 'print Peaks error envelope as machine-readable JSON');
|
|
9
|
+
}
|
|
10
|
+
export function addProjectOption(command) {
|
|
11
|
+
return addPeaksJsonOption(command.requiredOption('--project <path>', 'target project root'));
|
|
12
|
+
}
|
|
13
|
+
export function parsePositiveInteger(value) {
|
|
14
|
+
if (!/^\d+$/.test(value)) {
|
|
15
|
+
throw new InvalidArgumentError('must be a positive integer');
|
|
16
|
+
}
|
|
17
|
+
const parsed = Number(value);
|
|
18
|
+
if (!Number.isSafeInteger(parsed) || parsed < 1) {
|
|
19
|
+
throw new InvalidArgumentError('must be a positive integer');
|
|
20
|
+
}
|
|
21
|
+
return parsed;
|
|
22
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import {
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
import type { ProgramIO } from '../cli-helpers.js';
|
|
3
3
|
export { rewriteBareCodegraphHints } from './codegraph-command-runtime.js';
|
|
4
4
|
export { attributeUpstreamUpToDateLine } from './codegraph-status-command.js';
|
|
5
5
|
export declare function registerCodegraphCommands(program: Command, io: ProgramIO): void;
|
|
@@ -4,348 +4,25 @@
|
|
|
4
4
|
// `config-restore`, `init`, `affected`, plus the commander registration for
|
|
5
5
|
// every codegraph subcommand.
|
|
6
6
|
//
|
|
7
|
-
//
|
|
8
|
-
// `status` integrity gate
|
|
7
|
+
// The shared invocation runtime lives in `codegraph-command-runtime.ts`, the
|
|
8
|
+
// `status` integrity gate in `codegraph-status-command.ts`, the option shapes
|
|
9
|
+
// in `codegraph-command-options.ts`, the repair pair in
|
|
10
|
+
// `codegraph-repair-commands.ts`, `config-restore` in
|
|
11
|
+
// `codegraph-config-restore-command.ts`, and the upstream proxy verbs in
|
|
12
|
+
// `codegraph-proxy-commands.ts`.
|
|
13
|
+
//
|
|
9
14
|
// This path keeps its public surface: `registerCodegraphCommands` is defined
|
|
10
15
|
// here and `rewriteBareCodegraphHints` / `attributeUpstreamUpToDateLine` are
|
|
11
16
|
// re-exported below, so every existing importer still resolves.
|
|
12
|
-
import { InvalidArgumentError } from 'commander';
|
|
13
|
-
import { resolve } from 'node:path';
|
|
14
|
-
import { assertCodegraphDirContained, resolveProjectRoot, writeCodegraphAffectedContext } from '../../services/codegraph/codegraph-service.js';
|
|
15
|
-
import { repairCodegraphExcludeFromProject } from '../../services/codegraph/codegraph-exclude-repair.js';
|
|
16
|
-
import { resolveCodegraphConfigSource } from '../../services/codegraph/codegraph-project-config.js';
|
|
17
|
-
import { rollbackCodegraphConfig } from '../../services/codegraph/codegraph-config-repair-writer.js';
|
|
18
17
|
import { runCodegraphInitCommand } from './codegraph-init-command.js';
|
|
19
|
-
import {
|
|
20
|
-
import { getErrorMessage, printResult, redactSensitiveErrorMessage } from '../cli-helpers.js';
|
|
21
|
-
import { printCodegraphFailure, runCodegraphCommand } from './codegraph-command-runtime.js';
|
|
18
|
+
import { addProjectOption } from './codegraph-command-options.js';
|
|
22
19
|
import { runCodegraphStatusCommand } from './codegraph-status-command.js';
|
|
20
|
+
import { registerCodegraphRepairCommands } from './codegraph-repair-commands.js';
|
|
21
|
+
import { registerCodegraphConfigRestoreCommand } from './codegraph-config-restore-command.js';
|
|
22
|
+
import { registerCodegraphProxyCommands } from './codegraph-proxy-commands.js';
|
|
23
23
|
// Re-exported so the D1 split is invisible to importers of THIS path.
|
|
24
24
|
export { rewriteBareCodegraphHints } from './codegraph-command-runtime.js';
|
|
25
25
|
export { attributeUpstreamUpToDateLine } from './codegraph-status-command.js';
|
|
26
|
-
function addPeaksJsonOption(command) {
|
|
27
|
-
return command.option('--peaks-json', 'print Peaks error envelope as machine-readable JSON');
|
|
28
|
-
}
|
|
29
|
-
function addProjectOption(command) {
|
|
30
|
-
return addPeaksJsonOption(command.requiredOption('--project <path>', 'target project root'));
|
|
31
|
-
}
|
|
32
|
-
function parsePositiveInteger(value) {
|
|
33
|
-
if (!/^\d+$/.test(value)) {
|
|
34
|
-
throw new InvalidArgumentError('must be a positive integer');
|
|
35
|
-
}
|
|
36
|
-
const parsed = Number(value);
|
|
37
|
-
if (!Number.isSafeInteger(parsed) || parsed < 1) {
|
|
38
|
-
throw new InvalidArgumentError('must be a positive integer');
|
|
39
|
-
}
|
|
40
|
-
return parsed;
|
|
41
|
-
}
|
|
42
|
-
const REPAIR_MODES = {
|
|
43
|
-
exclude: {
|
|
44
|
-
commandId: 'codegraph.repair-exclude',
|
|
45
|
-
reindex: true,
|
|
46
|
-
noopNote: 'Nothing to repair in the codegraph config; nothing was written.'
|
|
47
|
-
},
|
|
48
|
-
index: {
|
|
49
|
-
commandId: 'codegraph.repair-index',
|
|
50
|
-
// 'force' is upstream's `clear()` + full re-index — the only documented
|
|
51
|
-
// way to drop rows for files deleted in an earlier commit.
|
|
52
|
-
reindex: 'force',
|
|
53
|
-
noopNote: 'The codegraph config already admits every supported tracked file and blocks none; the index was still rebuilt from scratch.'
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
// One sentence, the same shape in both modes, because both modes run the
|
|
57
|
-
// same repair — only the rebuild differs.
|
|
58
|
-
//
|
|
59
|
-
// The include clause this sentence used to carry is gone with the include
|
|
60
|
-
// axis (see `codegraph-exclude-repair.ts`), which also removed the reason the
|
|
61
|
-
// sentence was once split in two: there is a single axis left, and its own
|
|
62
|
-
// counter cannot be read as a verdict on another one.
|
|
63
|
-
function appliedRepairNote(report) {
|
|
64
|
-
return (`Removed ${report.rulesRemoved.length} exclude rule(s), recovering ${report.filesRecovered} tracked source file(s) that a rule had been hiding.` +
|
|
65
|
-
` Config backed up to ${report.backupPath ?? ''}.`);
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Explicit repair path: reconcile the config's `exclude` rules → back it up →
|
|
69
|
-
* rewrite it → rebuild the index. Mirrors the automatic step `init` runs
|
|
70
|
-
* after a fresh upstream init, for workspaces that were already
|
|
71
|
-
* initialized before the integrity gate existed.
|
|
72
|
-
*/
|
|
73
|
-
async function runCodegraphRepairCommand(io, options, asJson, mode) {
|
|
74
|
-
const spec = REPAIR_MODES[mode];
|
|
75
|
-
let projectRoot;
|
|
76
|
-
try {
|
|
77
|
-
// `resolveProjectRoot`, not a hand-rolled `resolve` + `statSync`: it is
|
|
78
|
-
// the canonicalizer every codegraph invocation already goes through
|
|
79
|
-
// (`createCodegraphInvocation`), so the config path this verb reports
|
|
80
|
-
// and writes names the SAME directory the spawn and the other verbs use
|
|
81
|
-
// even when `--project` is a symlink, a short name or a differently
|
|
82
|
-
// cased alias. The error path is unchanged.
|
|
83
|
-
projectRoot = resolveProjectRoot(options.project);
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
printCodegraphFailure(io, spec.commandId, error, asJson);
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
const report = await repairCodegraphExcludeFromProject(projectRoot, undefined, {
|
|
90
|
-
reindex: spec.reindex
|
|
91
|
-
});
|
|
92
|
-
// Where the notes go matters: `printResult` renders every `warnings`
|
|
93
|
-
// entry to stderr with a `warning: ` prefix, so a confirmation parked
|
|
94
|
-
// in the third slot reads as a problem — and a real warning parked
|
|
95
|
-
// there double-prefixes. Confirmations go to `nextActions`; only a
|
|
96
|
-
// genuine `report.warning` reaches `warnings`, verbatim.
|
|
97
|
-
const confirmations = [report.applied ? appliedRepairNote(report) : spec.noopNote];
|
|
98
|
-
if (report.applied || mode === 'index') {
|
|
99
|
-
confirmations.push('Re-run `peaks codegraph status --project <root>` to confirm the gap is closed.');
|
|
100
|
-
}
|
|
101
|
-
printResult(io, ok(spec.commandId, {
|
|
102
|
-
applied: report.applied,
|
|
103
|
-
rulesRemoved: report.rulesRemoved,
|
|
104
|
-
filesRecovered: report.filesRecovered,
|
|
105
|
-
configPath: report.configPath,
|
|
106
|
-
backupPath: report.backupPath,
|
|
107
|
-
reindexed: report.reindexed,
|
|
108
|
-
forcedRebuild: report.forcedRebuild,
|
|
109
|
-
warning: report.warning
|
|
110
|
-
}, report.warning === null ? [] : [report.warning], confirmations), asJson);
|
|
111
|
-
// A repair that could not run to completion (or could not reindex)
|
|
112
|
-
// must not report success to a shell.
|
|
113
|
-
if (report.warning !== null) {
|
|
114
|
-
process.exitCode = 1;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Exit code for a `config-restore` run that never reached the restore point:
|
|
119
|
-
* `--project` is missing or not a directory, or the containment guard refused
|
|
120
|
-
* the `.codegraph/` directory.
|
|
121
|
-
*
|
|
122
|
-
* Deliberately NOT `CODEGRAPH_CONFIG_RESTORE_EXIT_CODE` (77). The two codes
|
|
123
|
-
* answer different questions, and a CI job has to be able to tell them apart:
|
|
124
|
-
*
|
|
125
|
-
* - 1 — the command was never aimed at a usable project. Nothing looked at a
|
|
126
|
-
* rollback point, so "your backup is unusable" would be a verdict
|
|
127
|
-
* nothing reached, and the remedy is a different one (fix the path, or
|
|
128
|
-
* remove the link). The VALUE is 1 because that is what every other
|
|
129
|
-
* codegraph verb already exits with for this same input failure —
|
|
130
|
-
* `repair-exclude --project <bad>` and `status --project <bad>` both
|
|
131
|
-
* exit 1 (measured), so a caller that handles one handles this one.
|
|
132
|
-
* - 77 — the restore point WAS examined and the restore did not happen.
|
|
133
|
-
*
|
|
134
|
-
* Named rather than left as `printCodegraphFailure`'s default `1` so both
|
|
135
|
-
* classes are visible in one place, side by side, instead of one of them living
|
|
136
|
-
* only in another module's parameter default.
|
|
137
|
-
*/
|
|
138
|
-
const CODEGRAPH_CONFIG_RESTORE_PRECONDITION_EXIT_CODE = 1;
|
|
139
|
-
/**
|
|
140
|
-
* Exit code for `peaks codegraph config-restore` when the restore did not
|
|
141
|
-
* happen: the backup is absent, unreadable, or REFUSED (a symbolic link, a
|
|
142
|
-
* hard link or a directory occupies the fixed, guessable `.bak` path), or the
|
|
143
|
-
* reverse write itself failed.
|
|
144
|
-
*
|
|
145
|
-
* Its own code rather than the precondition `1`, for the same reason 73/74/75/76
|
|
146
|
-
* have theirs: it is an operator-actionable verdict about the RESTORE POINT, and
|
|
147
|
-
* a CI job has to be able to tell it apart from "the command was aimed wrong".
|
|
148
|
-
* The cause lives in `data.reason`, which names the path and the shape that was
|
|
149
|
-
* refused — a per-cause CODE would need the rollback helper to return a
|
|
150
|
-
* discriminated reason rather than a message, which is a change to that helper's
|
|
151
|
-
* contract for no operator-visible gain while the message already carries the
|
|
152
|
-
* details.
|
|
153
|
-
*/
|
|
154
|
-
const CODEGRAPH_CONFIG_RESTORE_EXIT_CODE = 77;
|
|
155
|
-
/**
|
|
156
|
-
* The failure envelope for EVERY `config-restore` failure, so all four `data`
|
|
157
|
-
* keys are present whatever went wrong.
|
|
158
|
-
*
|
|
159
|
-
* A JSON consumer reads `data.restored` and `data.reason` unconditionally, so a
|
|
160
|
-
* failure envelope that omits them leaves it guessing — and this verb reports a
|
|
161
|
-
* `reason` instead of an exit code alone precisely so a failure is never silent.
|
|
162
|
-
* Built here rather than delegated to `printCodegraphFailure`, whose `data` is
|
|
163
|
-
* always `{}` and therefore cannot satisfy that.
|
|
164
|
-
*
|
|
165
|
-
* `code` names the VERB's failure for all three cases; the exit code names the
|
|
166
|
-
* CLASS (precondition vs restore) and `reason` names the cause. That split is
|
|
167
|
-
* deliberate: one `code` a consumer can match on, plus the two facts it needs
|
|
168
|
-
* to decide what to do next.
|
|
169
|
-
*
|
|
170
|
-
* The verb-specific `code` is an INTENTIONAL DIVERGENCE from every other
|
|
171
|
-
* codegraph verb, not a consistency with them — `repair-exclude`,
|
|
172
|
-
* `repair-index` and `status` all report `CODEGRAPH_COMMAND_FAILED` out of
|
|
173
|
-
* `printCodegraphFailure` with `data: {}` (measured, 2026-09-17). Two reasons
|
|
174
|
-
* to diverge here anyway:
|
|
175
|
-
*
|
|
176
|
-
* 1. A generic `code` cannot be paired with a verb-specific `reason`
|
|
177
|
-
* contract: this verb's failure ALWAYS carries `restored`/`reason`, which
|
|
178
|
-
* `printCodegraphFailure` cannot express at all (`fail()` hard-codes the
|
|
179
|
-
* other verbs' `data` to `{}`).
|
|
180
|
-
* 2. `CODEGRAPH_CONFIG_RESTORE_FAILED` says WHICH restore failed, and a
|
|
181
|
-
* consumer matching on `code` gets that from the envelope rather than from
|
|
182
|
-
* the exit code alone.
|
|
183
|
-
*
|
|
184
|
-
* FOLLOW-UP (recorded, not done here — it is out of this slice's scope):
|
|
185
|
-
* `code` naming across the codegraph verb family is now inconsistent, and the
|
|
186
|
-
* rest of the family should either adopt verb-specific codes or this one should
|
|
187
|
-
* return to the generic one. See this slice's RD artifact,
|
|
188
|
-
* `## A1 QA 修复循环 2`.
|
|
189
|
-
*/
|
|
190
|
-
function printConfigRestoreFailure(io, asJson, reason, exitCode, nextActions) {
|
|
191
|
-
const redacted = redactSensitiveErrorMessage(reason);
|
|
192
|
-
printResult(io, fail('codegraph.config-restore', 'CODEGRAPH_CONFIG_RESTORE_FAILED', redacted, { restored: false, from: null, to: null, reason: redacted }, [...nextActions]), asJson);
|
|
193
|
-
process.exitCode = exitCode;
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* `peaks codegraph config-restore` — put `.codegraph/config.json` back to the
|
|
197
|
-
* bytes the last repair backed up to `.codegraph/config.json.bak`.
|
|
198
|
-
*
|
|
199
|
-
* The EXPLICIT undo of a repair, and the only way the `.bak` is ever read: the
|
|
200
|
-
* repair seams leave the copy behind and never consume it, because a repair
|
|
201
|
-
* that restored its own write would cancel itself out (the config would be
|
|
202
|
-
* exactly as it was found, `status` would still report the gap, and exit 75
|
|
203
|
-
* would never clear).
|
|
204
|
-
*
|
|
205
|
-
* Touches the CONFIG FILE ONLY — no `codegraph` subprocess is spawned, so this
|
|
206
|
-
* is safe to run while nothing else is rebuilding. The index still reflects
|
|
207
|
-
* whatever config the last rebuild used; the envelope's `nextActions` says so
|
|
208
|
-
* rather than silently reindexing.
|
|
209
|
-
*/
|
|
210
|
-
async function runCodegraphConfigRestoreCommand(io, options, asJson) {
|
|
211
|
-
let configPath;
|
|
212
|
-
try {
|
|
213
|
-
// `resolveProjectRoot` for the same reason the repair verbs use it: the
|
|
214
|
-
// paths reported here must be the canonical ones, or a `--project` alias
|
|
215
|
-
// reports a restore that happened somewhere the operator cannot find.
|
|
216
|
-
const projectRoot = resolveProjectRoot(options.project);
|
|
217
|
-
// The containment refusal the repair seam makes before IT writes here. A
|
|
218
|
-
// `.codegraph/` that resolves outside the canonical project root (a junction
|
|
219
|
-
// or a symlink) would otherwise let this verb publish one project's bytes
|
|
220
|
-
// into another. Called for its refusal only — the paths below stay derived
|
|
221
|
-
// from the caller's canonical `projectRoot`.
|
|
222
|
-
assertCodegraphDirContained(projectRoot);
|
|
223
|
-
// The same resolver the repair WRITES through, so a restore puts back the
|
|
224
|
-
// file the repair replaced — not a same-named file upstream never reads.
|
|
225
|
-
configPath = resolveCodegraphConfigSource(projectRoot).configPath;
|
|
226
|
-
}
|
|
227
|
-
catch (error) {
|
|
228
|
-
// The PRECONDITION class: nothing below this line ran, so the envelope says
|
|
229
|
-
// the restore did not happen and stops short of blaming the rollback point.
|
|
230
|
-
printConfigRestoreFailure(io, asJson, getErrorMessage(error), CODEGRAPH_CONFIG_RESTORE_PRECONDITION_EXIT_CODE, [
|
|
231
|
-
'Check that `--project` names an existing directory whose `.codegraph/` resolves inside it.',
|
|
232
|
-
'Run `peaks codegraph config-restore --project <root>` again once the path is right.'
|
|
233
|
-
]);
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
236
|
-
let result;
|
|
237
|
-
try {
|
|
238
|
-
result = await rollbackCodegraphConfig(configPath);
|
|
239
|
-
}
|
|
240
|
-
catch (error) {
|
|
241
|
-
// Only the reverse write's own fs failure reaches here (the refusals are
|
|
242
|
-
// returned, not thrown). The RESTORE class, and the same code as a refusal:
|
|
243
|
-
// the restore was attempted and did not happen, and a script that can read
|
|
244
|
-
// one can read the other. What differs is the `reason`, which is this
|
|
245
|
-
// error's own message.
|
|
246
|
-
printConfigRestoreFailure(io, asJson, getErrorMessage(error), CODEGRAPH_CONFIG_RESTORE_EXIT_CODE, [
|
|
247
|
-
'Check that the `.codegraph/` directory is writable, then re-run.',
|
|
248
|
-
'The config was NOT restored; its bytes are unchanged.'
|
|
249
|
-
]);
|
|
250
|
-
return;
|
|
251
|
-
}
|
|
252
|
-
if (!result.rolledBack) {
|
|
253
|
-
// LOUD, never silent: the reason reaches the envelope's `message` (which
|
|
254
|
-
// `fail()` redacts) AND `data.reason`, and the exit code is this verb's
|
|
255
|
-
// own. A restore that quietly reported success over a `.bak` it refused to
|
|
256
|
-
// read is exactly the fail-silent family this release closed.
|
|
257
|
-
printConfigRestoreFailure(io, asJson, result.error, CODEGRAPH_CONFIG_RESTORE_EXIT_CODE, [
|
|
258
|
-
`There is no usable rollback point at ${result.backupPath}.`,
|
|
259
|
-
'A restore needs the `.bak` that a previous `peaks codegraph repair-exclude` or `repair-index` left next to the config.'
|
|
260
|
-
]);
|
|
261
|
-
return;
|
|
262
|
-
}
|
|
263
|
-
printResult(io, ok('codegraph.config-restore', {
|
|
264
|
-
restored: true,
|
|
265
|
-
from: result.backupPath,
|
|
266
|
-
to: result.configPath,
|
|
267
|
-
reason: null
|
|
268
|
-
}, [], [
|
|
269
|
-
'Run `peaks codegraph status --project <root>` to see the restored config reflected in the integrity gate.',
|
|
270
|
-
'Run `peaks codegraph index` if the index should reflect the restored config too — this verb does not rebuild it.'
|
|
271
|
-
]), asJson);
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* probes `.codegraph/` for the peaks-loop marker before invoking the
|
|
275
|
-
* upstream binary.
|
|
276
|
-
*
|
|
277
|
-
* - fresh → proceed to upstream init
|
|
278
|
-
* - noop-already-peaks-loop → skip upstream, emit warning
|
|
279
|
-
* - conflict-foreign-schema → exit 73 + CODEGRAPH_INIT_CONFLICT envelope
|
|
280
|
-
*
|
|
281
|
-
* On a successful upstream init, write the marker so the next run
|
|
282
|
-
* hits the noop branch instead of the conflict branch.
|
|
283
|
-
*/
|
|
284
|
-
/**
|
|
285
|
-
*
|
|
286
|
-
* Wraps the generic `runCodegraphCommand` and, after a successful
|
|
287
|
-
* upstream invocation, calls `writeCodegraphAffectedContext` so the
|
|
288
|
-
* RD / QA handoff can pick up `.peaks/_runtime/<sid>/rd/codegraph-context.md`
|
|
289
|
-
* without re-running the (5-30 s) codegraph query.
|
|
290
|
-
*
|
|
291
|
-
* The envelope write is gated by `--write-envelope` (default off) so
|
|
292
|
-
* ad-hoc CLI invocations don't silently mutate the user's session
|
|
293
|
-
* directory. peaks-code's RD dispatch hook flips the flag on.
|
|
294
|
-
*
|
|
295
|
-
* On no-session-binding, we surface a `warning` field instead of
|
|
296
|
-
* throwing — the upstream result is still printed so the caller
|
|
297
|
-
* always sees the affected list.
|
|
298
|
-
*/
|
|
299
|
-
async function runCodegraphAffectedCommand(io, files, options, asJson) {
|
|
300
|
-
// Capture stdout so we can re-emit it into the envelope payload.
|
|
301
|
-
// We still forward every line to the original `io.stdout` so the
|
|
302
|
-
// user sees the affected list as if the wrapper were transparent.
|
|
303
|
-
const capturedLines = [];
|
|
304
|
-
const captureIo = {
|
|
305
|
-
stdout: (chunk) => {
|
|
306
|
-
capturedLines.push(chunk);
|
|
307
|
-
io.stdout(chunk);
|
|
308
|
-
},
|
|
309
|
-
stderr: (chunk) => io.stderr(chunk)
|
|
310
|
-
};
|
|
311
|
-
await runCodegraphCommand(captureIo, 'codegraph.affected', {
|
|
312
|
-
subcommand: 'affected',
|
|
313
|
-
project: options.project,
|
|
314
|
-
files,
|
|
315
|
-
...(options.json === true ? { json: true } : {})
|
|
316
|
-
}, asJson);
|
|
317
|
-
if (!options.writeEnvelope) {
|
|
318
|
-
return;
|
|
319
|
-
}
|
|
320
|
-
// The user opted in via --write-envelope. Run the envelope writer
|
|
321
|
-
// unconditionally (graceful fallback when no session binding).
|
|
322
|
-
const rid = options.rid ?? process.env.PEAKS_RD_RID ?? 'unknown-rid';
|
|
323
|
-
const rawStdout = capturedLines.join('\n');
|
|
324
|
-
let affectedPayload = rawStdout;
|
|
325
|
-
if (options.json === true && typeof affectedPayload === 'string' && affectedPayload.length > 0) {
|
|
326
|
-
try {
|
|
327
|
-
affectedPayload = JSON.parse(affectedPayload);
|
|
328
|
-
}
|
|
329
|
-
catch {
|
|
330
|
-
// Keep the raw string when JSON parse fails; the envelope
|
|
331
|
-
// renderer handles strings cleanly.
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
const envelope = writeCodegraphAffectedContext({
|
|
335
|
-
projectRoot: resolve(options.project),
|
|
336
|
-
rid,
|
|
337
|
-
files,
|
|
338
|
-
affectedPayload
|
|
339
|
-
});
|
|
340
|
-
if (envelope.written) {
|
|
341
|
-
if (asJson !== true) {
|
|
342
|
-
io.stdout(`[codegraph-context] wrote ${envelope.path}\n`);
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
else if (asJson !== true) {
|
|
346
|
-
io.stdout(`[codegraph-context] skipped: ${envelope.warning}\n`);
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
26
|
export function registerCodegraphCommands(program, io) {
|
|
350
27
|
const codegraph = program
|
|
351
28
|
.command('codegraph')
|
|
@@ -353,71 +30,11 @@ export function registerCodegraphCommands(program, io) {
|
|
|
353
30
|
addProjectOption(codegraph
|
|
354
31
|
.command('status')
|
|
355
32
|
.description('Show codegraph status, including the exclude integrity gate')).action((options) => runCodegraphStatusCommand(io, options, options.peaksJson));
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
.description('Drop config exclude rules that block tracked source files, then rebuild the index')).action((options) => runCodegraphRepairCommand(io, options, options.peaksJson, 'exclude'));
|
|
359
|
-
addProjectOption(codegraph
|
|
360
|
-
.command('repair-index')
|
|
361
|
-
.description('Drop config exclude rules that block tracked source files, then rebuild the index from scratch (drops rows for deleted files)')).action((options) => runCodegraphRepairCommand(io, options, options.peaksJson, 'index'));
|
|
362
|
-
addProjectOption(codegraph
|
|
363
|
-
.command('config-restore')
|
|
364
|
-
.description('Restore .codegraph/config.json from the byte-exact .bak a repair left — the explicit undo of a repair')).action((options) => runCodegraphConfigRestoreCommand(io, options, options.peaksJson));
|
|
33
|
+
registerCodegraphRepairCommands(codegraph, io);
|
|
34
|
+
registerCodegraphConfigRestoreCommand(codegraph, io);
|
|
365
35
|
addProjectOption(codegraph
|
|
366
36
|
.command('init')
|
|
367
37
|
.description('Initialize codegraph for a project')
|
|
368
38
|
.option('--force', 'delete a foreign (non-peaks-loop) .codegraph/ directory and initialize fresh; never follows a link and never deletes a peaks-loop-managed index')).action((options) => runCodegraphInitCommand(io, options, options.peaksJson));
|
|
369
|
-
|
|
370
|
-
.command('index')
|
|
371
|
-
.description('Index a project with codegraph')
|
|
372
|
-
.option('--force', 'force reindexing')
|
|
373
|
-
.option('--quiet', 'reduce upstream output')).action(async (options) => {
|
|
374
|
-
// `runCodegraphCommand` returns "upstream failed" for the one caller
|
|
375
|
-
// that ranks exit-code precedence (`status`); every other command just
|
|
376
|
-
// awaits it, so it is discarded here rather than leaked to commander.
|
|
377
|
-
await runCodegraphCommand(io, 'codegraph.index', {
|
|
378
|
-
subcommand: 'index',
|
|
379
|
-
project: options.project,
|
|
380
|
-
...(options.force === true ? { force: true } : {}),
|
|
381
|
-
...(options.quiet === true ? { quiet: true } : {})
|
|
382
|
-
}, options.peaksJson);
|
|
383
|
-
});
|
|
384
|
-
addProjectOption(codegraph
|
|
385
|
-
.command('query')
|
|
386
|
-
.description('Query codegraph')
|
|
387
|
-
.argument('<search>', 'search text')
|
|
388
|
-
.option('--json', 'forward JSON output flag to upstream codegraph')
|
|
389
|
-
.option('--limit <n>', 'maximum result count', parsePositiveInteger)).action(async (search, options) => {
|
|
390
|
-
await runCodegraphCommand(io, 'codegraph.query', {
|
|
391
|
-
subcommand: 'query',
|
|
392
|
-
project: options.project,
|
|
393
|
-
search,
|
|
394
|
-
...(options.json === true ? { json: true } : {}),
|
|
395
|
-
...(options.limit !== undefined ? { limit: options.limit } : {})
|
|
396
|
-
}, options.peaksJson);
|
|
397
|
-
});
|
|
398
|
-
addProjectOption(codegraph
|
|
399
|
-
.command('files')
|
|
400
|
-
.description('List codegraph files')
|
|
401
|
-
.option('--json', 'forward JSON output flag to upstream codegraph')
|
|
402
|
-
.option('--max-depth <n>', 'maximum traversal depth', parsePositiveInteger)).action(async (options) => {
|
|
403
|
-
await runCodegraphCommand(io, 'codegraph.files', {
|
|
404
|
-
subcommand: 'files',
|
|
405
|
-
project: options.project,
|
|
406
|
-
...(options.json === true ? { json: true } : {}),
|
|
407
|
-
...(options.maxDepth !== undefined ? { maxDepth: options.maxDepth } : {})
|
|
408
|
-
}, options.peaksJson);
|
|
409
|
-
});
|
|
410
|
-
addProjectOption(codegraph
|
|
411
|
-
.command('context')
|
|
412
|
-
.description('Build task context with codegraph')
|
|
413
|
-
.argument('<task>', 'task text')).action(async (task, options) => {
|
|
414
|
-
await runCodegraphCommand(io, 'codegraph.context', { subcommand: 'context', project: options.project, task }, options.peaksJson);
|
|
415
|
-
});
|
|
416
|
-
addProjectOption(codegraph
|
|
417
|
-
.command('affected')
|
|
418
|
-
.description('Find code affected by files')
|
|
419
|
-
.argument('<files...>', 'project-relative file paths')
|
|
420
|
-
.option('--json', 'forward JSON output flag to upstream codegraph')
|
|
421
|
-
.option('--rid <rid>', 'request id for the codegraph-context envelope (default: env PEAKS_RD_RID or "unknown-rid")')
|
|
422
|
-
.option('--write-envelope', 'write codegraph-context.md into the active session')).action((files, options) => runCodegraphAffectedCommand(io, files, options, options.peaksJson));
|
|
39
|
+
registerCodegraphProxyCommands(codegraph, io);
|
|
423
40
|
}
|