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,10 @@
|
|
|
1
|
+
import type { WorkspaceInitContext } from './init-context.js';
|
|
2
|
+
import type { CodegraphAutoStakeOutcome, FirstTimeHooksInstallOutcome } from './init-options.js';
|
|
3
|
+
export type InitEnvelopeParts = {
|
|
4
|
+
nextActions: string[];
|
|
5
|
+
warnings: string[];
|
|
6
|
+
hooksOutcome: FirstTimeHooksInstallOutcome;
|
|
7
|
+
codegraphAutoOutcome: CodegraphAutoStakeOutcome | null;
|
|
8
|
+
};
|
|
9
|
+
/** Collect the envelope's nextActions + warnings in the original push order. */
|
|
10
|
+
export declare function collectInitEnvelope(ctx: WorkspaceInitContext): Promise<InitEnvelopeParts>;
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { clearStalePresenceOnRotation } from '../../../services/skills/skill-presence-service.js';
|
|
2
|
+
import { gcStalePresenceLeases } from '../../../services/skills/presence-lease-service.js';
|
|
3
|
+
import { hasStandardsCheckedMarker, markStandardsChecked } from '../../../services/standards/missing-standards-detector.js';
|
|
4
|
+
import { getErrorMessage } from '../../cli-helpers.js';
|
|
5
|
+
import { stakeCodegraphForInit } from './init-codegraph-stake.js';
|
|
6
|
+
import { resolveFirstTimeHooksInstall } from './init-hooks-decision.js';
|
|
7
|
+
function pushBindingReplacedAction(nextActions, report) {
|
|
8
|
+
if (report.previousSessionId !== null && report.bound) {
|
|
9
|
+
nextActions.push(`Replaced prior session binding "${report.previousSessionId}" with "${report.sessionId}".`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Outer-session-mismatch rotation: the previous Claude / harness
|
|
14
|
+
* session is no longer the LLM driver. The new binding is fresh,
|
|
15
|
+
* the old session dir is preserved on disk.
|
|
16
|
+
*
|
|
17
|
+
* The OLD outer session is now stale (defect A from the PRD). peaks-code
|
|
18
|
+
* Step 1 would otherwise pick up the old `mode` field and silently lock the
|
|
19
|
+
* new session into a mode the user never explicitly chose. Clear it here so
|
|
20
|
+
* Step 1's presence:check-stale reports `reason: 'no-presence'` and the re-ask
|
|
21
|
+
* fires.
|
|
22
|
+
*/
|
|
23
|
+
function pushRotationActions(nextActions, rotation, projectRoot, sessionId) {
|
|
24
|
+
if (rotation.previousSessionId === null || rotation.reason !== 'outer-session-mismatch')
|
|
25
|
+
return;
|
|
26
|
+
nextActions.push(`Auto-rotated session binding: outer session id changed (was "${rotation.previousSessionId}"). ` +
|
|
27
|
+
`New binding is "${sessionId}". The previous session dir is preserved at .peaks/_runtime/${rotation.previousSessionId}/. ` +
|
|
28
|
+
`Re-run with --no-rotate-on-outer-mismatch to suppress this rotation.`);
|
|
29
|
+
const presenceClearOutcome = clearStalePresenceOnRotation({
|
|
30
|
+
projectRootOverride: projectRoot,
|
|
31
|
+
currentOuterSessionId: process.env.PEAKS_OUTER_SESSION_ID ?? process.env.CLAUDE_CODE_SESSION_ID,
|
|
32
|
+
rotatedOutSessionId: rotation.previousSessionId
|
|
33
|
+
});
|
|
34
|
+
if (presenceClearOutcome.cleared) {
|
|
35
|
+
nextActions.push(`Auto-cleared stale skill presence (recorded outer id "${presenceClearOutcome.recordedOuter ?? '?'}" did not match the new outer session). ` +
|
|
36
|
+
'peaks-code Step 1 will now AskUserQuestion to confirm the mode.');
|
|
37
|
+
}
|
|
38
|
+
else if (presenceClearOutcome.reason === 'recorded-by-different-outer') {
|
|
39
|
+
nextActions.push(`Kept skill presence: it was recorded by a different live outer session (id "${presenceClearOutcome.recordedOuter ?? '?'}"). ` +
|
|
40
|
+
'The new outer session will not auto-clear it.');
|
|
41
|
+
}
|
|
42
|
+
else if (presenceClearOutcome.reason === 'not-stale') {
|
|
43
|
+
nextActions.push('Kept skill presence: it was re-stamped by the new outer session during the rotation window (not stale).');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function pushCreatedAction(nextActions, report) {
|
|
47
|
+
if (report.created.length === 0) {
|
|
48
|
+
nextActions.push('Workspace already initialized — proceed to project scan.');
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
nextActions.push('Run `peaks scan archetype --project <path> --json` next to populate rd/project-scan.md.');
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Slice 2.0.1-bug3-fact-forcing-bypass: surface the consumer-project
|
|
55
|
+
* .claude/settings.local.json materialization outcome. When the bypass is in
|
|
56
|
+
* effect, the LLM knows subsequent Writes and Bash calls targeting .peaks/**
|
|
57
|
+
* will not be blocked by the [Fact-Forcing Gate]. When the user opted out, we
|
|
58
|
+
* surface a nextAction so the manual recovery is documented.
|
|
59
|
+
*
|
|
60
|
+
* The `refreshed` offline-template nextAction also carries a loud warning that
|
|
61
|
+
* any MANUAL EDITS the user made to the offline template have been overwritten
|
|
62
|
+
* — drift detection cannot tell stale-from-prior-release apart from
|
|
63
|
+
* user-customised, so we surface the warning unconditionally to make sure
|
|
64
|
+
* anyone who customised sees the prompt.
|
|
65
|
+
*/
|
|
66
|
+
function pushSettingsActions(nextActions, report) {
|
|
67
|
+
if (report.claudeSettings.action === 'written' || report.claudeSettings.action === 'refreshed') {
|
|
68
|
+
nextActions.push(`Materialized .claude/settings.local.json (action: ${report.claudeSettings.action}) — ` +
|
|
69
|
+
`the [Fact-Forcing Gate] is bypassed for tool calls inside .peaks/**. ` +
|
|
70
|
+
'Restart Claude Code so the hooks take effect.');
|
|
71
|
+
}
|
|
72
|
+
else if (report.claudeSettings.action === 'already-current') {
|
|
73
|
+
// No-op: the bypass is already in effect and matches the
|
|
74
|
+
// current release. Do not spam the nextAction list on every
|
|
75
|
+
// init.
|
|
76
|
+
}
|
|
77
|
+
else if (report.claudeSettings.action === 'skipped') {
|
|
78
|
+
nextActions.push('Skipped .claude/settings.local.json materialization (--no-claude-hooks). ' +
|
|
79
|
+
'If the [Fact-Forcing Gate] blocks subsequent Writes, run `peaks workspace init` ' +
|
|
80
|
+
'again without --no-claude-hooks, or drop the contents of ' +
|
|
81
|
+
'`.peaks/.claude-settings-template.json` into `.claude/settings.local.json` manually.');
|
|
82
|
+
}
|
|
83
|
+
if (report.claudeSettings.offlineTemplate.action === 'refreshed') {
|
|
84
|
+
nextActions.push(`Self-healed .peaks/.claude-settings-template.json (action: refreshed) — ` +
|
|
85
|
+
'the offline recovery anchor now matches the current peaks-loop template. ' +
|
|
86
|
+
'No action required; future manual recoveries will copy the corrected wrapper.');
|
|
87
|
+
nextActions.push('⚠️ If you had manually edited .peaks/.claude-settings-template.json, ' +
|
|
88
|
+
'those edits have been overwritten by the self-heal. ' +
|
|
89
|
+
'Re-apply your custom matchers / commands on top of the freshly-written template, ' +
|
|
90
|
+
'or open an issue if your customisation is a recurring need (the team may promote it to the canonical template).');
|
|
91
|
+
}
|
|
92
|
+
else if (report.claudeSettings.offlineTemplate.action === 'written') {
|
|
93
|
+
nextActions.push(`Wrote .peaks/.claude-settings-template.json (action: written) — ` +
|
|
94
|
+
'the offline recovery anchor is now in place for future manual recoveries.');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
function pushHooksActions(nextActions, hooksOutcome) {
|
|
98
|
+
if (hooksOutcome.decision === 'installed') {
|
|
99
|
+
nextActions.push(hooksOutcome.action === 'reinstalled'
|
|
100
|
+
? 'Re-installed the peaks-managed PreToolUse hooks (Bash→gate enforce, Task→progress start) — the marker said installed but the hooks were missing.'
|
|
101
|
+
: 'Installed the peaks-managed PreToolUse hooks (Bash→gate enforce, Task→progress start). Restart Claude Code so the hooks take effect.');
|
|
102
|
+
}
|
|
103
|
+
else if (hooksOutcome.action === 'first-decision' && hooksOutcome.decision === 'skipped') {
|
|
104
|
+
nextActions.push('Skipped peaks-managed hook install for this project. Re-run with --install-hooks=auto (or peaks hooks install) to install later.');
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Slice 4.0.8 (D3): after session binding, run the same canonical GC sweep
|
|
109
|
+
* `peaks skill presence:set` would perform. A `peaks workspace init` is a
|
|
110
|
+
* natural sweep trigger (the session id was just minted, all prior leases for
|
|
111
|
+
* the project are by definition same-project). Failures surface as warnings;
|
|
112
|
+
* the GC never blocks init.
|
|
113
|
+
*/
|
|
114
|
+
async function collectLeaseSweepWarning(warnings, projectRoot) {
|
|
115
|
+
try {
|
|
116
|
+
const gcResult = await gcStalePresenceLeases({
|
|
117
|
+
projectRoot,
|
|
118
|
+
trigger: 'workspace-init'
|
|
119
|
+
});
|
|
120
|
+
if (gcResult.removed > 0) {
|
|
121
|
+
warnings.push(`Stale lease sweep removed ${gcResult.removed} lease(s) for the canonical project (retained ${gcResult.retained}).`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
warnings.push(`lease sweep failed: ${getErrorMessage(err)}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* When the consumer project's `.claude/rules/` is missing or empty, emit the
|
|
130
|
+
* copy-pasteable diagnostic into the JSON envelope's `warnings` array AND
|
|
131
|
+
* surface the structured descriptor. AC7: the diagnostic banner is skipped on
|
|
132
|
+
* subsequent invocations within the same session — the once-per-session marker
|
|
133
|
+
* `.peaks/_runtime/<sid>/.standards-checked` is written after the FIRST emit.
|
|
134
|
+
* AC3: when --init-standards was passed, `report.standardsApplied` lists the
|
|
135
|
+
* freshly-written files, surfaced as a nextAction.
|
|
136
|
+
*/
|
|
137
|
+
function pushStandardsActions(nextActions, warnings, ctx) {
|
|
138
|
+
const { report, projectRoot, sessionId } = ctx;
|
|
139
|
+
if (report.standardsMissing.missing && !hasStandardsCheckedMarker(projectRoot, sessionId)) {
|
|
140
|
+
warnings.push(report.standardsMissing.remediation);
|
|
141
|
+
nextActions.push(`Run \`peaks workspace init --init-standards --project ${projectRoot}\` to auto-apply the scaffold, or \`peaks standards init --project ${projectRoot} --apply\` manually.`);
|
|
142
|
+
}
|
|
143
|
+
if (report.standardsApplied !== undefined) {
|
|
144
|
+
nextActions.push(`Auto-applied .claude/rules/${report.standardsApplied.language}/ scaffold (slice 2026-06-16-peaks-code-auto-scaffold): ` +
|
|
145
|
+
`wrote ${report.standardsApplied.writtenFiles.length} file(s), ` +
|
|
146
|
+
`kept ${report.standardsApplied.skippedFiles.length} existing file(s).`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The project-scan bootstrap outcome. The envelope carries the write counts and
|
|
151
|
+
* duration so the LLM (and the human) see what landed. The nextAction only
|
|
152
|
+
* fires when the project-scan tree is fresh — idempotent re-runs are silent to
|
|
153
|
+
* keep the nextAction list scannable.
|
|
154
|
+
*/
|
|
155
|
+
function pushProjectScanActions(nextActions, warnings, ctx) {
|
|
156
|
+
const { projectScanError, projectScanEnvelope, projectRoot } = ctx;
|
|
157
|
+
if (projectScanError !== null) {
|
|
158
|
+
warnings.push(`project-scan bootstrap failed: ${projectScanError}`);
|
|
159
|
+
}
|
|
160
|
+
else if (projectScanEnvelope !== null && projectScanEnvelope.created) {
|
|
161
|
+
nextActions.push(`Bootstrapped .peaks/project-scan/ (project-scan.md + 4 audit/business templates) — ` +
|
|
162
|
+
`${projectScanEnvelope.templatesBooted} file(s) written, ${projectScanEnvelope.templatesSkipped} preserved. ` +
|
|
163
|
+
`Run \`peaks scan archetype --project ${projectRoot}\` and \`peaks scan libraries --project ${projectRoot}\` next to refresh the scan.`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/** Write the once-per-session marker AFTER the envelope is built (so subsequent
|
|
167
|
+
* inits skip the warning even on rapid back-to-back calls). */
|
|
168
|
+
function markStandardsCheckedIfMissing(ctx) {
|
|
169
|
+
if (!ctx.report.standardsMissing.missing)
|
|
170
|
+
return;
|
|
171
|
+
markStandardsChecked(ctx.projectRoot, ctx.sessionId);
|
|
172
|
+
}
|
|
173
|
+
/** Collect the envelope's nextActions + warnings in the original push order. */
|
|
174
|
+
export async function collectInitEnvelope(ctx) {
|
|
175
|
+
const nextActions = [];
|
|
176
|
+
const warnings = [];
|
|
177
|
+
pushBindingReplacedAction(nextActions, ctx.report);
|
|
178
|
+
pushRotationActions(nextActions, ctx.rotation, ctx.projectRoot, ctx.sessionId);
|
|
179
|
+
pushCreatedAction(nextActions, ctx.report);
|
|
180
|
+
pushSettingsActions(nextActions, ctx.report);
|
|
181
|
+
// First-time hooks install decision. Sticky-marker at
|
|
182
|
+
// .peaks/.peaks-init-hooks-decision.json records the user's answer
|
|
183
|
+
// (or the auto-decision) so subsequent inits for new sessions in the
|
|
184
|
+
// same project do not re-prompt. The marker is the only state that
|
|
185
|
+
// survives across sessions — without it, every new session would
|
|
186
|
+
// re-trigger the question.
|
|
187
|
+
const hooksOutcome = await resolveFirstTimeHooksInstall({
|
|
188
|
+
projectRoot: ctx.projectRoot,
|
|
189
|
+
...(ctx.options.installHooks !== undefined ? { explicitMode: ctx.options.installHooks } : {}),
|
|
190
|
+
jsonMode: ctx.options.json === true
|
|
191
|
+
});
|
|
192
|
+
pushHooksActions(nextActions, hooksOutcome);
|
|
193
|
+
await collectLeaseSweepWarning(warnings, ctx.projectRoot);
|
|
194
|
+
pushStandardsActions(nextActions, warnings, ctx);
|
|
195
|
+
pushProjectScanActions(nextActions, warnings, ctx);
|
|
196
|
+
markStandardsCheckedIfMissing(ctx);
|
|
197
|
+
const codegraphAutoOutcome = await stakeCodegraphForInit(nextActions, warnings, ctx.projectRoot);
|
|
198
|
+
return { nextActions, warnings, hooksOutcome, codegraphAutoOutcome };
|
|
199
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CodegraphAutoStakeOutcome } from './init-options.js';
|
|
2
|
+
/**
|
|
3
|
+
* Run a REAL upstream `codegraph init` (not just mkdir + marker) so the schema
|
|
4
|
+
* actually has a `codegraph.db`, which is what post-slice auto-refresh and the
|
|
5
|
+
* pre-dispatch preflight gate on. `codegraph init` (WITHOUT `--index`) is fast
|
|
6
|
+
* (~1 s) and offline-safe — it only `Parser.init()`s WASM grammars that resolve
|
|
7
|
+
* from node_modules; the slow/offline concern applies to `index` (full build),
|
|
8
|
+
* not `init`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function stakeCodegraphForInit(nextActions: string[], warnings: string[], projectRoot: string): Promise<CodegraphAutoStakeOutcome | null>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// Split out of `workspace/init-command.ts`: the
|
|
2
|
+
// best-effort `codegraph init` stake that runs after a successful workspace
|
|
3
|
+
// init. Never fails the init — every failure lands in the envelope's warnings.
|
|
4
|
+
import { mkdirSync } from 'node:fs';
|
|
5
|
+
import { createCodegraphInvocation, defaultCodegraphInitGuard, executeCodegraphInvocation, writeCodegraphMarker } from '../../../services/codegraph/codegraph-service.js';
|
|
6
|
+
import { getErrorMessage } from '../../cli-helpers.js';
|
|
7
|
+
/**
|
|
8
|
+
* Upstream `codegraph init` creates `.codegraph/`; mkdir is a no-op in the real
|
|
9
|
+
* path and lets the marker write succeed. Best-effort.
|
|
10
|
+
*/
|
|
11
|
+
async function stakeFreshCodegraph(nextActions, warnings, projectRoot, codegraphDir) {
|
|
12
|
+
const initResult = await executeCodegraphInvocation(createCodegraphInvocation({ subcommand: 'init', project: projectRoot }));
|
|
13
|
+
if (initResult.exitCode !== 0) {
|
|
14
|
+
warnings.push(`codegraph auto-stake init failed (exit ${String(initResult.exitCode)}). ` +
|
|
15
|
+
'Run `peaks codegraph init --project <path>` manually to enable codegraph.');
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
mkdirSync(codegraphDir, { recursive: true });
|
|
19
|
+
writeCodegraphMarker(codegraphDir);
|
|
20
|
+
nextActions.push(`Auto-staked a peaks-loop-managed ${codegraphDir}/ (upstream init + marker). ` +
|
|
21
|
+
'Run `peaks codegraph index --project <path>` next to build the SQLite-backed index.');
|
|
22
|
+
return { status: 'fresh' };
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Run a REAL upstream `codegraph init` (not just mkdir + marker) so the schema
|
|
26
|
+
* actually has a `codegraph.db`, which is what post-slice auto-refresh and the
|
|
27
|
+
* pre-dispatch preflight gate on. `codegraph init` (WITHOUT `--index`) is fast
|
|
28
|
+
* (~1 s) and offline-safe — it only `Parser.init()`s WASM grammars that resolve
|
|
29
|
+
* from node_modules; the slow/offline concern applies to `index` (full build),
|
|
30
|
+
* not `init`.
|
|
31
|
+
*/
|
|
32
|
+
export async function stakeCodegraphForInit(nextActions, warnings, projectRoot) {
|
|
33
|
+
let outcome = null;
|
|
34
|
+
try {
|
|
35
|
+
const guard = defaultCodegraphInitGuard(projectRoot);
|
|
36
|
+
if (guard.status === 'fresh') {
|
|
37
|
+
// 'fresh' here also covers the dangling state (marker present but
|
|
38
|
+
// no codegraph.db) — running init self-heals both.
|
|
39
|
+
outcome = await stakeFreshCodegraph(nextActions, warnings, projectRoot, guard.codegraphDir);
|
|
40
|
+
}
|
|
41
|
+
else if (guard.status === 'noop-already-peaks-loop') {
|
|
42
|
+
outcome = { status: 'noop' };
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
outcome = { status: 'conflict' };
|
|
46
|
+
warnings.push(`${guard.codegraphDir} already exists with a non-peaks-loop schema; ` +
|
|
47
|
+
'refusing to auto-init codegraph. Run `peaks codegraph init --project <path>` after moving the foreign directory.');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
warnings.push(`codegraph auto-stake failed: ${getErrorMessage(err)}`);
|
|
52
|
+
}
|
|
53
|
+
return outcome;
|
|
54
|
+
}
|
|
@@ -1,133 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* `peaks workspace init` — the registrar.
|
|
2
3
|
*
|
|
3
4
|
* Extracted from `src/cli/commands/workspace-commands.ts` (slice
|
|
4
|
-
* 800-line Karpathy cap.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* - missing-standards diagnostic surface (AC1-AC7) and `--init-standards` apply
|
|
5
|
+
* 800-line Karpathy cap). Split further by responsibility.
|
|
6
|
+
* The option/outcome shapes, the first-time hooks
|
|
7
|
+
* decision, project-root + session resolution, the nextAction/warning
|
|
8
|
+
* collectors, the codegraph stake, the envelope builder and the typed failure
|
|
9
|
+
* arms each live in their own module under `./`. This file wires them up.
|
|
10
10
|
*
|
|
11
11
|
* Imports the shared hooks-decision marker helpers from `./helpers.ts`.
|
|
12
12
|
*/
|
|
13
13
|
import type { Command } from 'commander';
|
|
14
14
|
import { type ProgramIO } from '../../cli-helpers.js';
|
|
15
|
-
|
|
16
|
-
export type WorkspaceInitOptions
|
|
17
|
-
project: string;
|
|
18
|
-
sessionId?: string;
|
|
19
|
-
json?: boolean;
|
|
20
|
-
allowSessionRebind?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* flag is `--no-rotate-on-outer-mismatch`; commander strips the
|
|
23
|
-
* `--no-` prefix and assigns the boolean to this property (default
|
|
24
|
-
* `true`, set to `false` when the flag is passed). The wrapper
|
|
25
|
-
* reads this as `=== false` to opt out. The presence file still
|
|
26
|
-
* records `outerSessionMismatch` regardless of the flag's value.
|
|
27
|
-
*/
|
|
28
|
-
rotateOnOuterMismatch?: boolean;
|
|
29
|
-
/**
|
|
30
|
-
* How to handle the first-time "install peaks hooks" prompt.
|
|
31
|
-
* - ask (default in TTY): prompt the user once, sticky-marker the answer
|
|
32
|
-
* - auto (default in --json / non-TTY): install silently, sticky-marker installed
|
|
33
|
-
* - skip: write sticky-marker skipped, do not install
|
|
34
|
-
* After the first decision the sticky marker wins, regardless of --install-hooks
|
|
35
|
-
* (re-runs respect the recorded decision; only re-install when the marker says
|
|
36
|
-
* installed but the hooks have been removed out from under us).
|
|
37
|
-
*/
|
|
38
|
-
installHooks?: 'ask' | 'auto' | 'skip';
|
|
39
|
-
/**
|
|
40
|
-
* Slice 2.0.1-bug3-fact-forcing-bypass: opt out of writing the
|
|
41
|
-
* consumer-project `.claude/settings.local.json` file. Default
|
|
42
|
-
* (commander `--no-` prefix) is `true`; pass `--no-claude-hooks` to
|
|
43
|
-
* set this to `false`. The wrapper reads this as `=== false` to
|
|
44
|
-
* skip the materialization. The bypass is documented in
|
|
45
|
-
* `peaks-code/references/anchoring-and-session-info.md`.
|
|
46
|
-
*/
|
|
47
|
-
claudeHooks?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* auto-scaffold `.claude/rules/{common,<language>}/` when missing.
|
|
50
|
-
* Default `false` — the diagnostic fires but no write happens.
|
|
51
|
-
* Set to `true` (via `--init-standards`) to also run
|
|
52
|
-
* `executeProjectStandardsInit({ projectRoot, apply: true })`.
|
|
53
|
-
*/
|
|
54
|
-
initStandards?: boolean;
|
|
55
|
-
/**
|
|
56
|
-
* commander-style `--no-project-scan-bootstrap` opt-out. Default
|
|
57
|
-
* (no flag) leaves this `undefined` (treated as `true`). Pass the
|
|
58
|
-
* flag to set `options.projectScanBootstrap === false`, which the
|
|
59
|
-
* caller reads as `=== false` to skip the bootstrap call.
|
|
60
|
-
*/
|
|
61
|
-
projectScanBootstrap?: boolean;
|
|
62
|
-
/**
|
|
63
|
-
* `--force-project-scan-templates` flag. Default (no flag)
|
|
64
|
-
* leaves this `undefined`. Pass the flag to set
|
|
65
|
-
* `options.forceProjectScanTemplates === true`, which forces the
|
|
66
|
-
* bootstrap service to overwrite the 4 bundled audit/business
|
|
67
|
-
* templates even when they already exist (sediment is preserved
|
|
68
|
-
* otherwise).
|
|
69
|
-
*/
|
|
70
|
-
forceProjectScanTemplates?: boolean;
|
|
71
|
-
};
|
|
72
|
-
/**
|
|
73
|
-
* Outcome of the first-time "install peaks hooks" decision attached to
|
|
74
|
-
* `peaks workspace init`. Reported in the response data so the LLM and
|
|
75
|
-
* the human both see what happened.
|
|
76
|
-
*/
|
|
77
|
-
export type FirstTimeHooksInstallOutcome = {
|
|
78
|
-
/** The decision recorded (or already on file) in the sticky marker. */
|
|
79
|
-
decision: HooksDecision;
|
|
80
|
-
/**
|
|
81
|
-
* What the install path actually did this call.
|
|
82
|
-
* - first-decision: we recorded a brand-new sticky marker (and may have installed)
|
|
83
|
-
* - reinstalled: the marker said installed but the hooks were missing — we re-applied
|
|
84
|
-
* - marker-honored: the marker already existed; we did not touch the hooks
|
|
85
|
-
* - already-installed: the hooks were already present and the marker does not exist yet
|
|
86
|
-
* (we write a fresh marker to lock in the answer for next time)
|
|
87
|
-
*/
|
|
88
|
-
action: 'first-decision' | 'reinstalled' | 'marker-honored' | 'already-installed';
|
|
89
|
-
scope: 'project' | 'global';
|
|
90
|
-
/**
|
|
91
|
-
* Why the action was the way it was (e.g. "stdin-not-tty", "user-answered-no",
|
|
92
|
-
* "marker-installed-hooks-missing"). Surfaced for forensics.
|
|
93
|
-
*/
|
|
94
|
-
reason?: string;
|
|
95
|
-
};
|
|
96
|
-
export type ResolveFirstTimeHooksInstallOptions = {
|
|
97
|
-
projectRoot: string;
|
|
98
|
-
/**
|
|
99
|
-
* Explicit mode from the --install-hooks flag. When omitted, the default
|
|
100
|
-
* is "ask" in TTY mode and "auto" otherwise (see `defaultMode` logic).
|
|
101
|
-
*/
|
|
102
|
-
explicitMode?: 'ask' | 'auto' | 'skip' | undefined;
|
|
103
|
-
/**
|
|
104
|
-
* Whether the caller is in --json mode. In --json mode we never prompt
|
|
105
|
-
* (the LLM cannot answer an interactive question) — we silently treat
|
|
106
|
-
* "ask" as "auto" and proceed.
|
|
107
|
-
*/
|
|
108
|
-
jsonMode: boolean;
|
|
109
|
-
};
|
|
15
|
+
export { resolveFirstTimeHooksInstall } from './init-hooks-decision.js';
|
|
16
|
+
export type { FirstTimeHooksInstallOutcome, ResolveFirstTimeHooksInstallOptions, WorkspaceInitOptions } from './init-options.js';
|
|
110
17
|
export declare function registerWorkspaceInitCommand(workspace: Command, io: ProgramIO): void;
|
|
111
|
-
/**
|
|
112
|
-
* Resolve the first-time "install peaks hooks" decision for this project.
|
|
113
|
-
* Decision tree:
|
|
114
|
-
*
|
|
115
|
-
* 1. Read the sticky marker.
|
|
116
|
-
* - Marker present:
|
|
117
|
-
* - marker.decision === 'installed' AND hooks are present → action: marker-honored, no side effects
|
|
118
|
-
* - marker.decision === 'installed' AND hooks are MISSING → re-install, action: reinstalled
|
|
119
|
-
* - marker.decision === 'skipped' → action: marker-honored, no install
|
|
120
|
-
* - Marker absent:
|
|
121
|
-
* - hooks already present → write a fresh 'installed' marker, action: already-installed
|
|
122
|
-
* - otherwise:
|
|
123
|
-
* - explicit --install-hooks=auto → install + marker, action: first-decision
|
|
124
|
-
* - explicit --install-hooks=skip → marker only, action: first-decision
|
|
125
|
-
* - explicit --install-hooks=ask OR default in TTY:
|
|
126
|
-
* - jsonMode → silently auto-install (LLM cannot answer), action: first-decision
|
|
127
|
-
* - TTY → prompt; on yes install + marker, on no marker-only
|
|
128
|
-
* - default in non-TTY → auto-install, action: first-decision
|
|
129
|
-
*
|
|
130
|
-
* Project scope is the only supported scope here; global scope is reserved
|
|
131
|
-
* for explicit `peaks hooks install --global` invocations.
|
|
132
|
-
*/
|
|
133
|
-
export declare function resolveFirstTimeHooksInstall(options: ResolveFirstTimeHooksInstallOptions): Promise<FirstTimeHooksInstallOutcome>;
|