peaks-loop 4.1.3 → 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 +2 -2
- package/CHANGELOG.md +56 -0
- package/README-en.md +1 -1
- package/README.md +1 -1
- 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/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-emit-handoff-command.js +40 -3
- package/dist/cli/commands/code-gate-step-08-command.js +25 -9
- 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/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/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-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-from-dag.d.ts +27 -0
- package/dist/cli/commands/dispatch-from-dag.js +87 -257
- 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/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/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-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/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/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/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-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-terminalize-command.d.ts +3 -0
- package/dist/cli/commands/workflow-terminalize-command.js +56 -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/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 -657
- 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 +5 -5
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// src/cli/commands/sop-lint-command.ts
|
|
2
|
+
//
|
|
3
|
+
// `peaks sop lint` — validate a SOP manifest. Split out of `sop-commands.ts`;
|
|
4
|
+
// the verb name, its options, its envelope codes and its next-action strings
|
|
5
|
+
// are unchanged.
|
|
6
|
+
import { lintSop } from '../../services/sop/sop-service.js';
|
|
7
|
+
import { addJsonOption, getErrorMessage } from '../cli-helpers.js';
|
|
8
|
+
import { printSopFailure, printSopOk } from './sop-command-shared.js';
|
|
9
|
+
/** The `sop.lint` envelope for a lint result, found or not. */
|
|
10
|
+
function emitLintResult(io, options, result) {
|
|
11
|
+
if (result === null) {
|
|
12
|
+
printSopFailure(io, {
|
|
13
|
+
json: options.json,
|
|
14
|
+
command: 'sop.lint',
|
|
15
|
+
code: 'SOP_NOT_FOUND',
|
|
16
|
+
message: `No SOP found for id "${options.id}"`,
|
|
17
|
+
data: { id: options.id },
|
|
18
|
+
nextActions: ['Run peaks sop init --id <sop-id> --apply first']
|
|
19
|
+
});
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (result.ok) {
|
|
23
|
+
printSopOk(io, { json: options.json, command: 'sop.lint', data: result });
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
printSopFailure(io, {
|
|
27
|
+
json: options.json,
|
|
28
|
+
command: 'sop.lint',
|
|
29
|
+
code: 'SOP_LINT_FAILED',
|
|
30
|
+
message: `${result.findings.filter((f) => f.severity === 'error').length} lint error(s) in SOP "${options.id}"`,
|
|
31
|
+
data: result,
|
|
32
|
+
nextActions: ['Fix the reported findings, then re-run peaks sop lint']
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async function runSopLint(io, options) {
|
|
36
|
+
try {
|
|
37
|
+
const lintOptions = { id: options.id };
|
|
38
|
+
if (options.allowCommands === true) {
|
|
39
|
+
lintOptions.allowCommands = true;
|
|
40
|
+
}
|
|
41
|
+
if (options.project !== undefined) {
|
|
42
|
+
lintOptions.projectRoot = options.project;
|
|
43
|
+
}
|
|
44
|
+
emitLintResult(io, options, await lintSop(lintOptions));
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
printSopFailure(io, {
|
|
48
|
+
json: options.json,
|
|
49
|
+
command: 'sop.lint',
|
|
50
|
+
code: 'SOP_LINT_ERROR',
|
|
51
|
+
message: getErrorMessage(error),
|
|
52
|
+
data: { id: options.id },
|
|
53
|
+
nextActions: ['Check the SOP id before retrying']
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export function registerSopLintCommand(sop, io) {
|
|
58
|
+
addJsonOption(sop
|
|
59
|
+
.command('lint')
|
|
60
|
+
.description('Validate a SOP manifest (id namespace, phases, gate ids, check fields)')
|
|
61
|
+
.requiredOption('--id <sop-id>', 'SOP id to lint')
|
|
62
|
+
.option('--allow-commands', 'permit command-type gates (they run shell-less processes)')
|
|
63
|
+
.option('--project <path>', 'lint the project-layer SOP (<path>/.peaks/sops) instead of global')).action((options) => runSopLint(io, options));
|
|
64
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// src/cli/commands/sop-register-command.ts
|
|
2
|
+
//
|
|
3
|
+
// `peaks sop register` — validate a SOP and record its gates in the gate
|
|
4
|
+
// registry. Split out of `sop-commands.ts`; the verb name, its options, its
|
|
5
|
+
// envelope fields and its next-action strings are unchanged.
|
|
6
|
+
import { registerSop, SopRegisterError } from '../../services/sop/sop-registry-service.js';
|
|
7
|
+
import { addJsonOption, getErrorMessage } from '../cli-helpers.js';
|
|
8
|
+
import { printSopFailure, printSopOk } from './sop-command-shared.js';
|
|
9
|
+
async function runSopRegister(io, options) {
|
|
10
|
+
try {
|
|
11
|
+
const registerOptions = { id: options.id };
|
|
12
|
+
if (options.allowCommands === true) {
|
|
13
|
+
registerOptions.allowCommands = true;
|
|
14
|
+
}
|
|
15
|
+
if (options.dryRun === true) {
|
|
16
|
+
registerOptions.dryRun = true;
|
|
17
|
+
}
|
|
18
|
+
if (options.project !== undefined) {
|
|
19
|
+
registerOptions.projectRoot = options.project;
|
|
20
|
+
}
|
|
21
|
+
const result = await registerSop(registerOptions);
|
|
22
|
+
printSopOk(io, {
|
|
23
|
+
json: options.json,
|
|
24
|
+
command: 'sop.register',
|
|
25
|
+
data: result,
|
|
26
|
+
nextActions: result.applied ? [] : ['Re-run without --dry-run to write registry.json']
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
printSopFailure(io, {
|
|
31
|
+
json: options.json,
|
|
32
|
+
command: 'sop.register',
|
|
33
|
+
code: error instanceof SopRegisterError ? error.code : 'SOP_REGISTER_FAILED',
|
|
34
|
+
message: getErrorMessage(error),
|
|
35
|
+
data: { id: options.id },
|
|
36
|
+
nextActions: ['Run peaks sop lint to see why the SOP is not registrable']
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export function registerSopRegisterCommand(sop, io) {
|
|
41
|
+
addJsonOption(sop
|
|
42
|
+
.command('register')
|
|
43
|
+
.description('Validate a SOP and record its gates in the gate registry (global, or --project for the repo)')
|
|
44
|
+
.requiredOption('--id <sop-id>', 'SOP id to register')
|
|
45
|
+
.option('--allow-commands', 'permit command-type gates when validating')
|
|
46
|
+
.option('--dry-run', 'preview the registration without writing registry.json')
|
|
47
|
+
.option('--project <path>', 'register into the repo (<path>/.peaks/sops, committed & team-shared) instead of global')).action((options) => runSopRegister(io, options));
|
|
48
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/cli/commands/sop-registry-command.ts
|
|
2
|
+
//
|
|
3
|
+
// `peaks sop registry` — list registered SOPs and gates. Split out of
|
|
4
|
+
// `sop-commands.ts`; the verb name, its options, its envelope fields and its
|
|
5
|
+
// next-action strings are unchanged.
|
|
6
|
+
import { readRegistry } from '../../services/sop/sop-registry-service.js';
|
|
7
|
+
import { addJsonOption, getErrorMessage } from '../cli-helpers.js';
|
|
8
|
+
import { printSopFailure, printSopOk } from './sop-command-shared.js';
|
|
9
|
+
async function runSopRegistry(io, options) {
|
|
10
|
+
try {
|
|
11
|
+
const registry = await readRegistry(options.project);
|
|
12
|
+
printSopOk(io, { json: options.json, command: 'sop.registry', data: registry });
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
printSopFailure(io, {
|
|
16
|
+
json: options.json,
|
|
17
|
+
command: 'sop.registry',
|
|
18
|
+
code: 'SOP_REGISTRY_FAILED',
|
|
19
|
+
message: getErrorMessage(error),
|
|
20
|
+
data: {},
|
|
21
|
+
nextActions: ['The global registry may be corrupted; inspect ~/.peaks/sops/registry.json']
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function registerSopRegistryCommand(sop, io) {
|
|
26
|
+
addJsonOption(sop
|
|
27
|
+
.command('registry')
|
|
28
|
+
.description('List registered SOPs and gates (global; merges in the cwd project layer by default)')
|
|
29
|
+
.option('--project <path>', 'also include and prefer the repo layer (<path>/.peaks/sops) (default: current directory)', '.')).action((options) => runSopRegistry(io, options));
|
|
30
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { IdeId } from '../../services/ide/ide-types.js';
|
|
2
|
+
import type { StatusLineScope } from '../../services/skills/statusline-settings-service.js';
|
|
3
|
+
export declare const STDIN_READ_TIMEOUT_MS = 250;
|
|
4
|
+
/**
|
|
5
|
+
* Read piped stdin if present; resolve quickly with '' when attached to a TTY.
|
|
6
|
+
*
|
|
7
|
+
* `PEAKS_STATUSLINE_STDIN` is a test seam (same shape as the `PEAKS_HOOK_STDIN`
|
|
8
|
+
* seam in `gate-commands.ts`): the harness payload is the only channel that
|
|
9
|
+
* carries the harness's own context numbers, and a test that cannot supply one
|
|
10
|
+
* cannot verify the capture at all.
|
|
11
|
+
*
|
|
12
|
+
* WHY THIS SEAM IS ACCEPTABLE ON A DIFFERENT ARGUMENT (repair cycle 3). The
|
|
13
|
+
* precedent does not transfer by itself: `PEAKS_HOOK_STDIN` is defended in
|
|
14
|
+
* `.peaks/memory/peaks-hook-stdin-test-seam-pattern.md` because its payload
|
|
15
|
+
* still routes through the `enforceBashCommand` SOP gate. This payload is
|
|
16
|
+
* routed through no gate — it is PERSISTED verbatim as the record the witness
|
|
17
|
+
* guard then reads. So the compensating control is different, not absent: the
|
|
18
|
+
* record is observation-only and one-way. It reaches only `data` and the
|
|
19
|
+
* `warnings` / `nextActions` arrays of `peaks code context-now`; the compact
|
|
20
|
+
* `action` there is computed from `probe.ratio` alone, before and independently
|
|
21
|
+
* of the witness. A forged payload can therefore make the instrument lie —
|
|
22
|
+
* measured: a hand-written record yields a confident false `agree`, or a
|
|
23
|
+
* self-contradictory false `disagree` — and can do nothing else. What it cannot
|
|
24
|
+
* do is fire, block or delay a compact. Unconditional rather than NODE_ENV-
|
|
25
|
+
* gated, for the reason already recorded for the sibling seam.
|
|
26
|
+
*/
|
|
27
|
+
export declare function readStdin(): Promise<string>;
|
|
28
|
+
export declare function resolveScope(options: {
|
|
29
|
+
global?: boolean;
|
|
30
|
+
}): StatusLineScope;
|
|
31
|
+
/** `--project <path>`, else the nearest project root, else cwd — unchanged order. */
|
|
32
|
+
export declare function resolveProjectRoot(project: string | undefined): string;
|
|
33
|
+
/**
|
|
34
|
+
* Resolve the IDE the install should target. The CLI user can override with
|
|
35
|
+
* `--ide <id>`. Otherwise we delegate to `detectIdeFromContext` which checks
|
|
36
|
+
* `process.env[adapter.envVar]` → stdin shape → cwd `.trae`/`.claude` →
|
|
37
|
+
* fallback `'claude-code'`. Pass `parsedStdin: null` since `peaks statusline
|
|
38
|
+
* install` is not invoked from inside an IDE hook — there's no stdin payload.
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolveIdeForCommand(options: {
|
|
41
|
+
ide?: string;
|
|
42
|
+
}, projectRoot: string | undefined): IdeId;
|
|
43
|
+
export type InstallOptions = {
|
|
44
|
+
global?: boolean;
|
|
45
|
+
project?: string;
|
|
46
|
+
force?: boolean;
|
|
47
|
+
dryRun?: boolean;
|
|
48
|
+
json?: boolean;
|
|
49
|
+
ide?: string;
|
|
50
|
+
};
|
|
51
|
+
export type UninstallOptions = {
|
|
52
|
+
global?: boolean;
|
|
53
|
+
project?: string;
|
|
54
|
+
json?: boolean;
|
|
55
|
+
ide?: string;
|
|
56
|
+
};
|
|
57
|
+
export type StatusOptions = {
|
|
58
|
+
global?: boolean;
|
|
59
|
+
project?: string;
|
|
60
|
+
json?: boolean;
|
|
61
|
+
ide?: string;
|
|
62
|
+
};
|
|
63
|
+
export type RenderOptions = {
|
|
64
|
+
project?: string;
|
|
65
|
+
json?: boolean;
|
|
66
|
+
now?: number | string;
|
|
67
|
+
};
|
|
68
|
+
export type CompactOptions = {
|
|
69
|
+
project?: string;
|
|
70
|
+
sessionId?: string;
|
|
71
|
+
json?: boolean;
|
|
72
|
+
now?: number | string;
|
|
73
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// src/cli/commands/statusline-command-shared.ts
|
|
2
|
+
//
|
|
3
|
+
// What every `peaks statusline *` verb shares: the stdin seam, the install
|
|
4
|
+
// scope, the IDE resolution, and the option shapes the verbs declare. Split
|
|
5
|
+
// out of `statusline-commands.ts`; every value and every resolution order is
|
|
6
|
+
// unchanged.
|
|
7
|
+
import { findProjectRoot } from '../../services/config/config-safety.js';
|
|
8
|
+
import { detectIdeFromContext } from '../../services/ide/hook-translator.js';
|
|
9
|
+
export const STDIN_READ_TIMEOUT_MS = 250;
|
|
10
|
+
/**
|
|
11
|
+
* Read piped stdin if present; resolve quickly with '' when attached to a TTY.
|
|
12
|
+
*
|
|
13
|
+
* `PEAKS_STATUSLINE_STDIN` is a test seam (same shape as the `PEAKS_HOOK_STDIN`
|
|
14
|
+
* seam in `gate-commands.ts`): the harness payload is the only channel that
|
|
15
|
+
* carries the harness's own context numbers, and a test that cannot supply one
|
|
16
|
+
* cannot verify the capture at all.
|
|
17
|
+
*
|
|
18
|
+
* WHY THIS SEAM IS ACCEPTABLE ON A DIFFERENT ARGUMENT (repair cycle 3). The
|
|
19
|
+
* precedent does not transfer by itself: `PEAKS_HOOK_STDIN` is defended in
|
|
20
|
+
* `.peaks/memory/peaks-hook-stdin-test-seam-pattern.md` because its payload
|
|
21
|
+
* still routes through the `enforceBashCommand` SOP gate. This payload is
|
|
22
|
+
* routed through no gate — it is PERSISTED verbatim as the record the witness
|
|
23
|
+
* guard then reads. So the compensating control is different, not absent: the
|
|
24
|
+
* record is observation-only and one-way. It reaches only `data` and the
|
|
25
|
+
* `warnings` / `nextActions` arrays of `peaks code context-now`; the compact
|
|
26
|
+
* `action` there is computed from `probe.ratio` alone, before and independently
|
|
27
|
+
* of the witness. A forged payload can therefore make the instrument lie —
|
|
28
|
+
* measured: a hand-written record yields a confident false `agree`, or a
|
|
29
|
+
* self-contradictory false `disagree` — and can do nothing else. What it cannot
|
|
30
|
+
* do is fire, block or delay a compact. Unconditional rather than NODE_ENV-
|
|
31
|
+
* gated, for the reason already recorded for the sibling seam.
|
|
32
|
+
*/
|
|
33
|
+
export function readStdin() {
|
|
34
|
+
const override = process.env['PEAKS_STATUSLINE_STDIN'];
|
|
35
|
+
if (override !== undefined) {
|
|
36
|
+
return Promise.resolve(override);
|
|
37
|
+
}
|
|
38
|
+
return new Promise((resolve) => {
|
|
39
|
+
if (process.stdin.isTTY) {
|
|
40
|
+
resolve('');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
let data = '';
|
|
44
|
+
let settled = false;
|
|
45
|
+
const finish = () => {
|
|
46
|
+
if (settled)
|
|
47
|
+
return;
|
|
48
|
+
settled = true;
|
|
49
|
+
resolve(data);
|
|
50
|
+
};
|
|
51
|
+
const timer = setTimeout(finish, STDIN_READ_TIMEOUT_MS);
|
|
52
|
+
timer.unref?.();
|
|
53
|
+
process.stdin.setEncoding('utf8');
|
|
54
|
+
process.stdin.on('data', (chunk) => {
|
|
55
|
+
data += chunk;
|
|
56
|
+
});
|
|
57
|
+
process.stdin.on('end', () => {
|
|
58
|
+
clearTimeout(timer);
|
|
59
|
+
finish();
|
|
60
|
+
});
|
|
61
|
+
process.stdin.on('error', () => {
|
|
62
|
+
clearTimeout(timer);
|
|
63
|
+
finish();
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
export function resolveScope(options) {
|
|
68
|
+
return options.global ? 'global' : 'project';
|
|
69
|
+
}
|
|
70
|
+
/** `--project <path>`, else the nearest project root, else cwd — unchanged order. */
|
|
71
|
+
export function resolveProjectRoot(project) {
|
|
72
|
+
return project ?? findProjectRoot(process.cwd()) ?? process.cwd();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Resolve the IDE the install should target. The CLI user can override with
|
|
76
|
+
* `--ide <id>`. Otherwise we delegate to `detectIdeFromContext` which checks
|
|
77
|
+
* `process.env[adapter.envVar]` → stdin shape → cwd `.trae`/`.claude` →
|
|
78
|
+
* fallback `'claude-code'`. Pass `parsedStdin: null` since `peaks statusline
|
|
79
|
+
* install` is not invoked from inside an IDE hook — there's no stdin payload.
|
|
80
|
+
*/
|
|
81
|
+
export function resolveIdeForCommand(options, projectRoot) {
|
|
82
|
+
if (options.ide !== undefined && options.ide.length > 0) {
|
|
83
|
+
return options.ide;
|
|
84
|
+
}
|
|
85
|
+
return detectIdeFromContext({
|
|
86
|
+
env: process.env,
|
|
87
|
+
cwd: projectRoot ?? process.cwd(),
|
|
88
|
+
parsedStdin: null
|
|
89
|
+
});
|
|
90
|
+
}
|
|
@@ -1,22 +1,4 @@
|
|
|
1
1
|
import type { Command } from 'commander';
|
|
2
2
|
import { type ProgramIO } from '../cli-helpers.js';
|
|
3
|
-
type RenderOptions = {
|
|
4
|
-
project?: string;
|
|
5
|
-
json?: boolean;
|
|
6
|
-
now?: number | string;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Default-statusline render body. Reused by both the top-level default
|
|
10
|
-
* action (Bug-02 dispatch) and the explicit `render` subcommand. Exported
|
|
11
|
-
* so a unit test can exercise the JSON / text output paths without going
|
|
12
|
-
* through commander.
|
|
13
|
-
*
|
|
14
|
-
* Capability resolution is delegated to {@link resolveStatusLineCapability}
|
|
15
|
-
* with only `env` and `isTTY` — the env-driven path is the single first-
|
|
16
|
-
* version source of truth. No CLI flag widens the surface. The model
|
|
17
|
-
* itself is read-only: `buildStatusLineModel` is the sole I/O boundary,
|
|
18
|
-
* and it now also resolves compact state.
|
|
19
|
-
*/
|
|
20
|
-
export declare function runDefaultStatuslineRender(options: RenderOptions, io: ProgramIO): Promise<void>;
|
|
21
3
|
export declare function registerStatusLineCommands(program: Command, io: ProgramIO): void;
|
|
22
|
-
export {};
|
|
4
|
+
export { runDefaultStatuslineRender } from './statusline-render-command.js';
|