peaks-loop 4.1.1 → 4.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +136 -47
- package/CHANGELOG.md +106 -0
- package/README-en.md +4 -4
- package/README.md +25 -4
- package/bin/node-floor.mjs +59 -0
- package/bin/peaks.js +13 -0
- package/config/eslint/tsconfig.lint.json +2 -1
- package/contracts/readonly-argv-whitelist.json +211 -0
- package/dist/cli/cli-helpers.d.ts +0 -1
- package/dist/cli/cli-helpers.js +0 -1
- package/dist/cli/commands/_cli-error-envelope.js +0 -3
- package/dist/cli/commands/adapter-commands-s2a.d.ts +0 -1
- package/dist/cli/commands/adapter-commands.d.ts +0 -1
- package/dist/cli/commands/api-diff-commands.d.ts +0 -1
- package/dist/cli/commands/api-diff-commands.js +0 -1
- package/dist/cli/commands/audit-artifact-runners.d.ts +16 -0
- package/dist/cli/commands/audit-artifact-runners.js +170 -0
- package/dist/cli/commands/audit-command-shared.d.ts +97 -0
- package/dist/cli/commands/audit-command-shared.js +60 -0
- package/dist/cli/commands/audit-commands.d.ts +7 -31
- package/dist/cli/commands/audit-commands.js +65 -477
- package/dist/cli/commands/audit-goal-runners.d.ts +17 -0
- package/dist/cli/commands/audit-goal-runners.js +114 -0
- package/dist/cli/commands/audit-red-lines-runners.d.ts +11 -0
- package/dist/cli/commands/audit-red-lines-runners.js +43 -0
- package/dist/cli/commands/audit-refusal-data.d.ts +23 -0
- package/dist/cli/commands/audit-refusal-data.js +69 -0
- package/dist/cli/commands/audit-static-runners.d.ts +13 -0
- package/dist/cli/commands/audit-static-runners.js +139 -0
- package/dist/cli/commands/autonomous-swarm-commands.js +0 -1
- package/dist/cli/commands/await-runners.d.ts +11 -0
- package/dist/cli/commands/await-runners.js +148 -0
- package/dist/cli/commands/bee-commands.d.ts +0 -2
- package/dist/cli/commands/bee-commands.js +0 -2
- package/dist/cli/commands/best-practice-scan-command.d.ts +0 -1
- package/dist/cli/commands/best-practice-scan-helpers.js +0 -1
- package/dist/cli/commands/changeset-commands.d.ts +0 -2
- package/dist/cli/commands/changeset-commands.js +0 -2
- package/dist/cli/commands/code-auto-compact-command.d.ts +3 -0
- package/dist/cli/commands/code-auto-compact-command.js +124 -0
- package/dist/cli/commands/code-auto-compact-envelope.d.ts +22 -0
- package/dist/cli/commands/code-auto-compact-envelope.js +39 -0
- package/dist/cli/commands/code-commands.d.ts +0 -3
- package/dist/cli/commands/code-commands.js +0 -3
- package/dist/cli/commands/code-context-audit-command.d.ts +3 -0
- package/dist/cli/commands/code-context-audit-command.js +68 -0
- package/dist/cli/commands/code-context-now-command.d.ts +3 -0
- package/dist/cli/commands/code-context-now-command.js +124 -0
- package/dist/cli/commands/code-context-now-envelope.d.ts +66 -0
- package/dist/cli/commands/code-context-now-envelope.js +136 -0
- package/dist/cli/commands/code-context-now-mapping.d.ts +27 -0
- package/dist/cli/commands/code-context-now-mapping.js +43 -0
- package/dist/cli/commands/code-emit-handoff-command.d.ts +3 -0
- package/dist/cli/commands/code-emit-handoff-command.js +99 -0
- package/dist/cli/commands/code-gate-command.d.ts +0 -1
- package/dist/cli/commands/code-gate-command.js +0 -1
- package/dist/cli/commands/code-gate-step-08-command.d.ts +3 -0
- package/dist/cli/commands/code-gate-step-08-command.js +139 -0
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +0 -1
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +0 -1
- package/dist/cli/commands/code-job-shape-commands.d.ts +0 -2
- package/dist/cli/commands/code-job-shape-commands.js +0 -3
- package/dist/cli/commands/code-mode-gate-commands.d.ts +0 -2
- package/dist/cli/commands/code-mode-gate-commands.js +0 -3
- package/dist/cli/commands/code-mode-gate-should-pause-command.js +0 -4
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +0 -1
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +0 -2
- package/dist/cli/commands/code-mode-status-command.d.ts +0 -1
- package/dist/cli/commands/code-mode-status-command.js +0 -1
- package/dist/cli/commands/code-orchestrator-can-do.d.ts +0 -1
- package/dist/cli/commands/code-orchestrator-can-do.js +0 -1
- package/dist/cli/commands/code-post-compact-detect-command.d.ts +3 -0
- package/dist/cli/commands/code-post-compact-detect-command.js +50 -0
- package/dist/cli/commands/code-run-command.js +0 -1
- package/dist/cli/commands/code-runtime-commands.d.ts +9 -46
- package/dist/cli/commands/code-runtime-commands.js +20 -687
- package/dist/cli/commands/code-runtime-session.d.ts +1 -0
- package/dist/cli/commands/code-runtime-session.js +15 -0
- package/dist/cli/commands/codegraph-command-runtime.d.ts +6 -0
- package/dist/cli/commands/codegraph-command-runtime.js +19 -7
- package/dist/cli/commands/codegraph-commands.js +20 -193
- package/dist/cli/commands/codegraph-init-command.d.ts +8 -0
- package/dist/cli/commands/codegraph-init-command.js +162 -0
- package/dist/cli/commands/codegraph-status-command.js +5 -6
- package/dist/cli/commands/compact-command.d.ts +6 -3
- package/dist/cli/commands/compact-command.js +12 -563
- package/dist/cli/commands/compact-dry-run-command.d.ts +3 -0
- package/dist/cli/commands/compact-dry-run-command.js +87 -0
- package/dist/cli/commands/compact-force-command.d.ts +3 -0
- package/dist/cli/commands/compact-force-command.js +98 -0
- package/dist/cli/commands/compact-harness-window-command.d.ts +3 -0
- package/dist/cli/commands/compact-harness-window-command.js +174 -0
- package/dist/cli/commands/compact-history-command.d.ts +3 -0
- package/dist/cli/commands/compact-history-command.js +89 -0
- package/dist/cli/commands/compact-read-commands.d.ts +3 -0
- package/dist/cli/commands/compact-read-commands.js +123 -0
- package/dist/cli/commands/compact-settle-command.d.ts +3 -0
- package/dist/cli/commands/compact-settle-command.js +130 -0
- package/dist/cli/commands/compact-shared.d.ts +9 -0
- package/dist/cli/commands/compact-shared.js +26 -0
- package/dist/cli/commands/container-commands.d.ts +0 -1
- package/dist/cli/commands/container-commands.js +0 -1
- package/dist/cli/commands/context-commands.d.ts +0 -1
- package/dist/cli/commands/context-commands.js +0 -1
- package/dist/cli/commands/core/doctor-command.d.ts +0 -1
- package/dist/cli/commands/core/doctor-command.js +0 -9
- package/dist/cli/commands/core/memory-command.js +0 -1
- package/dist/cli/commands/core/session-command.js +0 -14
- package/dist/cli/commands/core/skill-command.d.ts +1 -44
- package/dist/cli/commands/core/skill-command.js +13 -550
- package/dist/cli/commands/core/skill-context-verdict.d.ts +38 -0
- package/dist/cli/commands/core/skill-context-verdict.js +63 -0
- package/dist/cli/commands/core/skill-generated-config-notice.d.ts +41 -0
- package/dist/cli/commands/core/skill-generated-config-notice.js +75 -0
- package/dist/cli/commands/core/skill-heartbeat-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-heartbeat-commands.js +50 -0
- package/dist/cli/commands/core/skill-presence-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-presence-commands.js +123 -0
- package/dist/cli/commands/core/skill-presence-housekeeping-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-presence-housekeeping-commands.js +165 -0
- package/dist/cli/commands/core/skill-registry-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-registry-commands.js +117 -0
- package/dist/cli/commands/core/skill-runbook-command.d.ts +3 -0
- package/dist/cli/commands/core/skill-runbook-command.js +29 -0
- package/dist/cli/commands/core-artifact-commands.d.ts +0 -1
- package/dist/cli/commands/core-artifact-commands.js +0 -1
- package/dist/cli/commands/cron-commands-actions.d.ts +0 -1
- package/dist/cli/commands/cron-commands-actions.js +0 -2
- package/dist/cli/commands/cron-commands-schedule.d.ts +0 -3
- package/dist/cli/commands/cron-commands-schedule.js +0 -1
- package/dist/cli/commands/cron-commands.d.ts +0 -1
- package/dist/cli/commands/cron-commands.js +0 -2
- package/dist/cli/commands/cron-scheduler-commands.d.ts +0 -1
- package/dist/cli/commands/cron-scheduler-commands.js +0 -1
- package/dist/cli/commands/cron-scheduler-persist.d.ts +0 -5
- package/dist/cli/commands/cron-scheduler-persist.js +0 -5
- package/dist/cli/commands/dashboard-summary.d.ts +0 -1
- package/dist/cli/commands/dispatch-command-spec.d.ts +2 -0
- package/dist/cli/commands/dispatch-command-spec.js +62 -0
- package/dist/cli/commands/dispatch-commands.d.ts +0 -1
- package/dist/cli/commands/dispatch-commands.js +159 -802
- package/dist/cli/commands/dispatch-detached-branch.d.ts +3 -0
- package/dist/cli/commands/dispatch-detached-branch.js +58 -0
- package/dist/cli/commands/dispatch-envelope.d.ts +36 -0
- package/dist/cli/commands/dispatch-envelope.js +104 -0
- package/dist/cli/commands/dispatch-from-dag.js +0 -4
- package/dist/cli/commands/dispatch-isolation-lease.d.ts +17 -0
- package/dist/cli/commands/dispatch-isolation-lease.js +149 -0
- package/dist/cli/commands/dispatch-preflight.d.ts +7 -0
- package/dist/cli/commands/dispatch-preflight.js +105 -0
- package/dist/cli/commands/dispatch-prompt-blocks.d.ts +10 -0
- package/dist/cli/commands/dispatch-prompt-blocks.js +56 -0
- package/dist/cli/commands/dispatch-prompt-composition.d.ts +30 -0
- package/dist/cli/commands/dispatch-prompt-composition.js +171 -0
- package/dist/cli/commands/dispatch-record-write.d.ts +24 -0
- package/dist/cli/commands/dispatch-record-write.js +96 -0
- package/dist/cli/commands/dispatch-tool-call.d.ts +15 -0
- package/dist/cli/commands/dispatch-tool-call.js +128 -0
- package/dist/cli/commands/doctor/invoke-from-code.js +0 -1
- package/dist/cli/commands/e2e-verify.d.ts +0 -1
- package/dist/cli/commands/ecc-commands.d.ts +0 -1
- package/dist/cli/commands/evolution-command-shared.d.ts +78 -0
- package/dist/cli/commands/evolution-command-shared.js +107 -0
- package/dist/cli/commands/evolution-commands.d.ts +11 -2
- package/dist/cli/commands/evolution-commands.js +19 -351
- package/dist/cli/commands/evolution-evaluate-command.d.ts +24 -0
- package/dist/cli/commands/evolution-evaluate-command.js +138 -0
- package/dist/cli/commands/evolution-propose-command.d.ts +23 -0
- package/dist/cli/commands/evolution-propose-command.js +145 -0
- package/dist/cli/commands/evolution-status-command.d.ts +17 -0
- package/dist/cli/commands/evolution-status-command.js +41 -0
- package/dist/cli/commands/evolution-verdict-commands.d.ts +30 -0
- package/dist/cli/commands/evolution-verdict-commands.js +100 -0
- package/dist/cli/commands/feedback-commands.d.ts +0 -1
- package/dist/cli/commands/feedback-commands.js +0 -2
- package/dist/cli/commands/finalize-accumulator.d.ts +44 -0
- package/dist/cli/commands/finalize-accumulator.js +55 -0
- package/dist/cli/commands/finalize-branches.d.ts +34 -0
- package/dist/cli/commands/finalize-branches.js +119 -0
- package/dist/cli/commands/finalize-runners.d.ts +3 -0
- package/dist/cli/commands/finalize-runners.js +92 -0
- package/dist/cli/commands/finalize-selection.d.ts +65 -0
- package/dist/cli/commands/finalize-selection.js +35 -0
- package/dist/cli/commands/fixture-commands.d.ts +0 -2
- package/dist/cli/commands/fresh-context-commands.d.ts +0 -1
- package/dist/cli/commands/gate-commands-enforce.d.ts +0 -3
- package/dist/cli/commands/gate-commands-enforce.js +0 -4
- package/dist/cli/commands/gate-commands.js +26 -10
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +0 -3
- package/dist/cli/commands/governance-classify-contract-commands.js +0 -4
- package/dist/cli/commands/heartbeat-commands-action.js +0 -6
- package/dist/cli/commands/heartbeat-commands-validation.d.ts +0 -2
- package/dist/cli/commands/heartbeat-commands-validation.js +0 -2
- package/dist/cli/commands/heartbeat-commands.d.ts +0 -1
- package/dist/cli/commands/heartbeat-commands.js +0 -1
- package/dist/cli/commands/hooks-commands.js +0 -11
- package/dist/cli/commands/ide-commands.d.ts +0 -1
- package/dist/cli/commands/job-add-slice-command.d.ts +0 -2
- package/dist/cli/commands/job-add-slice-command.js +0 -2
- package/dist/cli/commands/job-checkpoint-commands.d.ts +3 -0
- package/dist/cli/commands/job-checkpoint-commands.js +157 -0
- package/dist/cli/commands/job-command-shared.d.ts +109 -0
- package/dist/cli/commands/job-command-shared.js +72 -0
- package/dist/cli/commands/job-commands.d.ts +4 -64
- package/dist/cli/commands/job-commands.js +42 -556
- package/dist/cli/commands/job-cost-check-command.d.ts +3 -0
- package/dist/cli/commands/job-cost-check-command.js +41 -0
- package/dist/cli/commands/job-init-status-commands.d.ts +3 -0
- package/dist/cli/commands/job-init-status-commands.js +149 -0
- package/dist/cli/commands/job-run-commands.d.ts +3 -0
- package/dist/cli/commands/job-run-commands.js +97 -0
- package/dist/cli/commands/job-state-root.d.ts +35 -0
- package/dist/cli/commands/job-state-root.js +76 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +0 -1
- package/dist/cli/commands/lease-metrics-commands.js +0 -1
- package/dist/cli/commands/lease-stats-commands.d.ts +0 -1
- package/dist/cli/commands/lease-stats-commands.js +0 -1
- package/dist/cli/commands/log-commands.d.ts +0 -2
- package/dist/cli/commands/log-commands.js +0 -3
- package/dist/cli/commands/loop-eval-capture-index.d.ts +4 -0
- package/dist/cli/commands/loop-eval-capture-index.js +44 -0
- package/dist/cli/commands/loop-eval-commands.d.ts +8 -5
- package/dist/cli/commands/loop-eval-commands.js +12 -629
- package/dist/cli/commands/loop-eval-eval-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-eval-command.js +168 -0
- package/dist/cli/commands/loop-eval-monotonic-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-monotonic-command.js +90 -0
- package/dist/cli/commands/loop-eval-parents.d.ts +7 -0
- package/dist/cli/commands/loop-eval-parents.js +20 -0
- package/dist/cli/commands/loop-eval-run-code.d.ts +7 -0
- package/dist/cli/commands/loop-eval-run-code.js +40 -0
- package/dist/cli/commands/loop-eval-run-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-run-command.js +113 -0
- package/dist/cli/commands/loop-eval-spec-commands.d.ts +3 -0
- package/dist/cli/commands/loop-eval-spec-commands.js +165 -0
- package/dist/cli/commands/loop-eval-spec-lint-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-spec-lint-command.js +42 -0
- package/dist/cli/commands/loop-eval-workflow-commands.d.ts +3 -0
- package/dist/cli/commands/loop-eval-workflow-commands.js +141 -0
- package/dist/cli/commands/mcp-commands.d.ts +10 -0
- package/dist/cli/commands/mcp-commands.js +157 -0
- package/dist/cli/commands/memory-commands.d.ts +0 -1
- package/dist/cli/commands/memory-commands.js +0 -1
- package/dist/cli/commands/observability-commands.d.ts +0 -6
- package/dist/cli/commands/observability-commands.js +0 -6
- package/dist/cli/commands/outer-cache-commands.js +0 -2
- package/dist/cli/commands/playwright-commands.d.ts +0 -1
- package/dist/cli/commands/playwright-commands.js +0 -1
- package/dist/cli/commands/polyrepo-commands.d.ts +0 -1
- package/dist/cli/commands/prd-commands.d.ts +0 -1
- package/dist/cli/commands/prd-commands.js +0 -2
- package/dist/cli/commands/preferences-commands.js +0 -2
- package/dist/cli/commands/primer-command.d.ts +0 -1
- package/dist/cli/commands/primer-command.js +0 -1
- package/dist/cli/commands/project-commands.js +0 -1
- package/dist/cli/commands/qa-commands.d.ts +0 -1
- package/dist/cli/commands/qa-commands.js +0 -2
- package/dist/cli/commands/release-commands.js +0 -9
- package/dist/cli/commands/request-command-options.d.ts +49 -0
- package/dist/cli/commands/request-command-options.js +1 -0
- package/dist/cli/commands/request-commands.d.ts +3 -10
- package/dist/cli/commands/request-commands.js +17 -532
- package/dist/cli/commands/request-format-helpers.d.ts +0 -1
- package/dist/cli/commands/request-format-helpers.js +0 -2
- package/dist/cli/commands/request-init-command.d.ts +3 -0
- package/dist/cli/commands/request-init-command.js +100 -0
- package/dist/cli/commands/request-lint-command.d.ts +3 -0
- package/dist/cli/commands/request-lint-command.js +50 -0
- package/dist/cli/commands/request-list-command.d.ts +10 -0
- package/dist/cli/commands/request-list-command.js +53 -0
- package/dist/cli/commands/request-repair-status-command.d.ts +3 -0
- package/dist/cli/commands/request-repair-status-command.js +61 -0
- package/dist/cli/commands/request-show-command.d.ts +3 -0
- package/dist/cli/commands/request-show-command.js +56 -0
- package/dist/cli/commands/request-transition-command.d.ts +3 -0
- package/dist/cli/commands/request-transition-command.js +122 -0
- package/dist/cli/commands/request-transition-failures.d.ts +8 -0
- package/dist/cli/commands/request-transition-failures.js +90 -0
- package/dist/cli/commands/request-transition-hooks.d.ts +50 -0
- package/dist/cli/commands/request-transition-hooks.js +115 -0
- package/dist/cli/commands/request-transition-preflight.d.ts +10 -0
- package/dist/cli/commands/request-transition-preflight.js +107 -0
- package/dist/cli/commands/runtime-commands.d.ts +0 -1
- package/dist/cli/commands/sc-commands.js +0 -1
- package/dist/cli/commands/scan-command-shared.d.ts +96 -0
- package/dist/cli/commands/scan-command-shared.js +83 -0
- package/dist/cli/commands/scan-commands.d.ts +3 -2
- package/dist/cli/commands/scan-commands.js +23 -463
- package/dist/cli/commands/scan-inventory-commands.d.ts +3 -0
- package/dist/cli/commands/scan-inventory-commands.js +96 -0
- package/dist/cli/commands/scan-project-commands.d.ts +3 -0
- package/dist/cli/commands/scan-project-commands.js +65 -0
- package/dist/cli/commands/scan-scope-commands.d.ts +3 -0
- package/dist/cli/commands/scan-scope-commands.js +149 -0
- package/dist/cli/commands/scan-scope-helpers.d.ts +8 -0
- package/dist/cli/commands/scan-scope-helpers.js +54 -0
- package/dist/cli/commands/scan-structural-commands.d.ts +3 -0
- package/dist/cli/commands/scan-structural-commands.js +113 -0
- package/dist/cli/commands/session-24h-mode.d.ts +0 -1
- package/dist/cli/commands/session-24h-mode.js +0 -2
- package/dist/cli/commands/session-checkpoint-command.d.ts +0 -1
- package/dist/cli/commands/session-checkpoint-command.js +0 -1
- package/dist/cli/commands/session-resume-command.d.ts +0 -1
- package/dist/cli/commands/session-resume-command.js +0 -1
- package/dist/cli/commands/shadcn-commands.js +0 -2
- package/dist/cli/commands/share-commands.d.ts +12 -71
- package/dist/cli/commands/share-commands.js +47 -569
- package/dist/cli/commands/share-error-hints.d.ts +14 -0
- package/dist/cli/commands/share-error-hints.js +38 -0
- package/dist/cli/commands/share-identity.d.ts +13 -0
- package/dist/cli/commands/share-identity.js +22 -0
- package/dist/cli/commands/share-record-paths.d.ts +37 -0
- package/dist/cli/commands/share-record-paths.js +68 -0
- package/dist/cli/commands/share-runners.d.ts +3 -0
- package/dist/cli/commands/share-runners.js +158 -0
- package/dist/cli/commands/shared-read-runners.d.ts +3 -0
- package/dist/cli/commands/shared-read-runners.js +51 -0
- package/dist/cli/commands/skill-search-commands.d.ts +0 -2
- package/dist/cli/commands/slice-check-command.d.ts +3 -0
- package/dist/cli/commands/slice-check-command.js +54 -0
- package/dist/cli/commands/slice-commands.d.ts +2 -22
- package/dist/cli/commands/slice-commands.js +18 -519
- package/dist/cli/commands/slice-decompose-artifacts.d.ts +18 -0
- package/dist/cli/commands/slice-decompose-artifacts.js +79 -0
- package/dist/cli/commands/slice-decompose-command.d.ts +3 -0
- package/dist/cli/commands/slice-decompose-command.js +123 -0
- package/dist/cli/commands/slice-integrate-commands.js +0 -1
- package/dist/cli/commands/slice-list-commands.d.ts +3 -0
- package/dist/cli/commands/slice-list-commands.js +182 -0
- package/dist/cli/commands/slice-pick-command.d.ts +3 -0
- package/dist/cli/commands/slice-pick-command.js +60 -0
- package/dist/cli/commands/slice-plan-command.d.ts +24 -0
- package/dist/cli/commands/slice-plan-command.js +111 -0
- package/dist/cli/commands/spill-demo-command.d.ts +0 -1
- package/dist/cli/commands/statusline-commands.js +0 -4
- package/dist/cli/commands/sub-agent/detached.js +0 -2
- package/dist/cli/commands/sub-agent-commands.d.ts +0 -3
- package/dist/cli/commands/sub-agent-shared.d.ts +0 -8
- package/dist/cli/commands/sub-agent-shared.js +0 -5
- package/dist/cli/commands/sub-agent-shutdown-commands.d.ts +0 -1
- package/dist/cli/commands/tech-commands.d.ts +0 -4
- package/dist/cli/commands/tech-commands.js +0 -4
- package/dist/cli/commands/vendor-detect.d.ts +0 -3
- package/dist/cli/commands/vendor-detect.js +0 -2
- package/dist/cli/commands/verdict-aggregate-command.d.ts +0 -1
- package/dist/cli/commands/verdict-aggregate-command.js +0 -7
- package/dist/cli/commands/vm-commands.d.ts +0 -1
- package/dist/cli/commands/vm-commands.js +5 -29
- package/dist/cli/commands/vm-hypervisor-probe.d.ts +27 -0
- package/dist/cli/commands/vm-hypervisor-probe.js +78 -0
- package/dist/cli/commands/vm-status-command.d.ts +3 -0
- package/dist/cli/commands/vm-status-command.js +50 -0
- package/dist/cli/commands/wave-plan-commands.d.ts +0 -1
- package/dist/cli/commands/web-lifecycle-commands.d.ts +0 -1
- package/dist/cli/commands/workflow-commands.d.ts +10 -1
- package/dist/cli/commands/workflow-commands.js +6 -608
- package/dist/cli/commands/workflow-gate-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-gate-commands.js +116 -0
- package/dist/cli/commands/workflow-plan-commands-actions.js +0 -2
- package/dist/cli/commands/workflow-plan-commands-session.js +0 -2
- package/dist/cli/commands/workflow-plan-commands.d.ts +0 -1
- package/dist/cli/commands/workflow-plan-helpers.d.ts +48 -0
- package/dist/cli/commands/workflow-plan-helpers.js +103 -0
- package/dist/cli/commands/workflow-planning-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-planning-commands.js +56 -0
- package/dist/cli/commands/workflow-swarm-actions.d.ts +7 -0
- package/dist/cli/commands/workflow-swarm-actions.js +109 -0
- package/dist/cli/commands/workflow-swarm-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-swarm-commands.js +138 -0
- package/dist/cli/commands/workflow-tech-actions.d.ts +10 -0
- package/dist/cli/commands/workflow-tech-actions.js +150 -0
- package/dist/cli/commands/workspace/clean-command.d.ts +0 -1
- package/dist/cli/commands/workspace/clean-command.js +0 -1
- package/dist/cli/commands/workspace/helpers.d.ts +0 -1
- package/dist/cli/commands/workspace/helpers.js +0 -1
- package/dist/cli/commands/workspace/init-actions.d.ts +10 -0
- package/dist/cli/commands/workspace/init-actions.js +199 -0
- package/dist/cli/commands/workspace/init-codegraph-stake.d.ts +10 -0
- package/dist/cli/commands/workspace/init-codegraph-stake.js +54 -0
- package/dist/cli/commands/workspace/init-command.d.ts +8 -130
- package/dist/cli/commands/workspace/init-command.js +59 -640
- package/dist/cli/commands/workspace/init-context.d.ts +58 -0
- package/dist/cli/commands/workspace/init-context.js +121 -0
- package/dist/cli/commands/workspace/init-envelope.d.ts +3 -0
- package/dist/cli/commands/workspace/init-envelope.js +34 -0
- package/dist/cli/commands/workspace/init-failures.d.ts +3 -0
- package/dist/cli/commands/workspace/init-failures.js +84 -0
- package/dist/cli/commands/workspace/init-hooks-decision.d.ts +24 -0
- package/dist/cli/commands/workspace/init-hooks-decision.js +189 -0
- package/dist/cli/commands/workspace/init-options.d.ts +102 -0
- package/dist/cli/commands/workspace/init-options.js +1 -0
- package/dist/cli/commands/workspace/migrate-command.d.ts +0 -2
- package/dist/cli/commands/workspace/migrate-command.js +0 -2
- package/dist/cli/commands/workspace/reconcile-command.d.ts +0 -2
- package/dist/cli/commands/workspace/reconcile-command.js +0 -3
- package/dist/cli/commands/workspace-commands.d.ts +0 -2
- package/dist/cli/commands/workspace-commands.js +0 -4
- package/dist/cli/commands/worktree-auth-commands.d.ts +0 -1
- package/dist/cli/commands/worktree-auth-commands.js +0 -1
- package/dist/cli/commands/worktree-auth-grant-command.d.ts +0 -1
- package/dist/cli/commands/worktree-auth-grant-command.js +0 -1
- package/dist/cli/commands/worktree-auth-manage-commands.d.ts +0 -1
- package/dist/cli/commands/worktree-auth-manage-commands.js +0 -1
- package/dist/cli/commands/worktree-lease-commands.d.ts +10 -6
- package/dist/cli/commands/worktree-lease-commands.js +42 -513
- package/dist/cli/commands/worktree-lease-gc-command.d.ts +12 -0
- package/dist/cli/commands/worktree-lease-gc-command.js +117 -0
- package/dist/cli/commands/worktree-lease-git.d.ts +22 -0
- package/dist/cli/commands/worktree-lease-git.js +48 -0
- package/dist/cli/commands/worktree-lease-list-command.d.ts +12 -0
- package/dist/cli/commands/worktree-lease-list-command.js +100 -0
- package/dist/cli/commands/worktree-lease-load.d.ts +37 -0
- package/dist/cli/commands/worktree-lease-load.js +28 -0
- package/dist/cli/commands/worktree-lease-release-command.d.ts +13 -0
- package/dist/cli/commands/worktree-lease-release-command.js +105 -0
- package/dist/cli/commands/worktree-lease-renew-command.d.ts +11 -0
- package/dist/cli/commands/worktree-lease-renew-command.js +99 -0
- package/dist/cli/commands/worktree-lease-session.d.ts +22 -0
- package/dist/cli/commands/worktree-lease-session.js +29 -0
- package/dist/cli/commands/worktree-lease-spawn-command.d.ts +11 -0
- package/dist/cli/commands/worktree-lease-spawn-command.js +119 -0
- package/dist/cli/commands/worktree-lease-status-command.d.ts +11 -0
- package/dist/cli/commands/worktree-lease-status-command.js +86 -0
- package/dist/cli/commands/worktree-lease-store.d.ts +19 -0
- package/dist/cli/commands/worktree-lease-store.js +24 -0
- package/dist/cli/program.js +5 -7
- package/dist/reporters/bdd-reporter.js +0 -1
- package/dist/services/24h-mode/auto-engage.d.ts +0 -1
- package/dist/services/24h-mode/auto-engage.js +0 -1
- package/dist/services/24h-mode/decider.d.ts +0 -3
- package/dist/services/24h-mode/decider.js +0 -3
- package/dist/services/24h-mode/index.d.ts +0 -2
- package/dist/services/24h-mode/index.js +0 -2
- package/dist/services/24h-mode/state.d.ts +0 -1
- package/dist/services/24h-mode/state.js +0 -1
- package/dist/services/24h-mode/store.d.ts +0 -1
- package/dist/services/24h-mode/store.js +0 -1
- package/dist/services/adapter/adapter-registry.js +0 -1
- package/dist/services/artifacts/artifact-prerequisites.d.ts +0 -5
- package/dist/services/artifacts/artifact-prerequisites.js +0 -19
- package/dist/services/artifacts/artifact-templates.d.ts +0 -1
- package/dist/services/artifacts/artifact-templates.js +0 -1
- package/dist/services/artifacts/request-artifact-service.d.ts +0 -5
- package/dist/services/artifacts/request-artifact-service.js +0 -12
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +0 -1
- package/dist/services/artifacts/request-artifact-state-helpers.js +0 -1
- package/dist/services/audit/artifact-writer.d.ts +0 -1
- package/dist/services/audit/artifact-writer.js +0 -1
- package/dist/services/audit/decision-writer.js +3 -1
- package/dist/services/audit/enforcer-liveness.js +0 -1
- package/dist/services/audit/enforcers/active-skill-resolver.d.ts +0 -2
- package/dist/services/audit/enforcers/active-skill-resolver.js +0 -2
- package/dist/services/audit/red-line-audit-input.d.ts +11 -0
- package/dist/services/audit/red-line-audit-input.js +103 -0
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +0 -1
- package/dist/services/audit/red-line-catalog-p2-a.js +0 -9
- package/dist/services/audit/types.d.ts +0 -2
- package/dist/services/audit/types.js +0 -2
- package/dist/services/audit-independent/perf-audit-service.d.ts +0 -2
- package/dist/services/audit-independent/security-audit-service.d.ts +0 -5
- package/dist/services/audit-independent/security-audit-service.js +0 -2
- package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +0 -5
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +0 -5
- package/dist/services/best-practice/language-detector.js +0 -1
- package/dist/services/best-practice/output-formatter.d.ts +0 -1
- package/dist/services/best-practice/scan-orchestrator.d.ts +0 -1
- package/dist/services/capability-audit-service/types.d.ts +1 -3
- package/dist/services/capability-guard-runner/contracts/J08.js +2 -2
- package/dist/services/changeset/changeset-check-service.d.ts +0 -3
- package/dist/services/changeset/changeset-check-service.js +0 -3
- package/dist/services/classify/classify-service.d.ts +0 -1
- package/dist/services/classify/classify-service.js +0 -1
- package/dist/services/classify/classify-types.d.ts +0 -1
- package/dist/services/classify/classify-types.js +0 -1
- package/dist/services/code/auto-compact-lifecycle.d.ts +0 -11
- package/dist/services/code/auto-compact-lifecycle.js +0 -10
- package/dist/services/code/auto-compact-modes.d.ts +0 -3
- package/dist/services/code/auto-compact-modes.js +0 -3
- package/dist/services/code/auto-compact-orchestrator.d.ts +0 -9
- package/dist/services/code/auto-compact-orchestrator.js +0 -29
- package/dist/services/code/batch-heartbeat-poller.js +0 -1
- package/dist/services/code/compact-event-settle.js +0 -1
- package/dist/services/code/dag-orchestrator.d.ts +0 -1
- package/dist/services/code/dag-orchestrator.js +0 -1
- package/dist/services/code/mode-gate-types.d.ts +0 -2
- package/dist/services/code/mode-gate-types.js +0 -1
- package/dist/services/code/mode-gate.d.ts +0 -5
- package/dist/services/code/mode-gate.js +0 -5
- package/dist/services/code/orchestrator-can-do-advisories.d.ts +0 -2
- package/dist/services/code/orchestrator-can-do-advisories.js +0 -5
- package/dist/services/code/orchestrator-can-do.d.ts +0 -4
- package/dist/services/code/orchestrator-can-do.js +0 -3
- package/dist/services/code/status-line-renderer.js +0 -1
- package/dist/services/code-review/ecc-bridge.d.ts +0 -1
- package/dist/services/codegraph/codegraph-autorefresh.js +6 -4
- package/dist/services/codegraph/codegraph-backend-advice.d.ts +26 -0
- package/dist/services/codegraph/codegraph-backend-advice.js +166 -0
- package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +0 -24
- package/dist/services/codegraph/codegraph-config-repair-writer.js +32 -73
- package/dist/services/codegraph/codegraph-exclude-integrity.d.ts +14 -6
- package/dist/services/codegraph/codegraph-exclude-integrity.js +24 -14
- package/dist/services/codegraph/codegraph-exclude-reconciler.d.ts +9 -2
- package/dist/services/codegraph/codegraph-exclude-reconciler.js +87 -18
- package/dist/services/codegraph/codegraph-exclude-repair.d.ts +9 -61
- package/dist/services/codegraph/codegraph-exclude-repair.js +67 -139
- package/dist/services/codegraph/codegraph-foreign-removal.d.ts +21 -0
- package/dist/services/codegraph/codegraph-foreign-removal.js +77 -0
- package/dist/services/codegraph/codegraph-index-integrity.d.ts +12 -25
- package/dist/services/codegraph/codegraph-index-integrity.js +84 -23
- package/dist/services/codegraph/codegraph-preflight-service.js +15 -6
- package/dist/services/codegraph/codegraph-project-config.d.ts +35 -0
- package/dist/services/codegraph/codegraph-project-config.js +90 -0
- package/dist/services/codegraph/codegraph-service.d.ts +1 -2
- package/dist/services/codegraph/codegraph-service.js +11 -11
- package/dist/services/codegraph/codegraph-upstream-layout.d.ts +24 -0
- package/dist/services/codegraph/codegraph-upstream-layout.js +85 -0
- package/dist/services/comments/comment-audit.d.ts +15 -4
- package/dist/services/comments/comment-audit.js +25 -4
- package/dist/services/comments/comment-citations.d.ts +8 -2
- package/dist/services/comments/comment-citations.js +31 -33
- package/dist/services/comments/comment-hygiene.d.ts +29 -3
- package/dist/services/comments/comment-hygiene.js +40 -3
- package/dist/services/comments/comment-prune.js +52 -4
- package/dist/services/comments/comment-spans.d.ts +30 -0
- package/dist/services/comments/comment-spans.js +266 -0
- package/dist/services/comments/prune-apply.d.ts +22 -0
- package/dist/services/comments/prune-apply.js +69 -2
- package/dist/services/compact/decision-tables.d.ts +0 -2
- package/dist/services/compact/decision-tables.js +0 -2
- package/dist/services/compact/request-transition-hook.js +0 -2
- package/dist/services/compact-history/compact-history-service.d.ts +0 -2
- package/dist/services/compact-history/compact-history-service.js +0 -1
- package/dist/services/compact-statusline/compact-lifecycle-store.js +0 -2
- package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +0 -1
- package/dist/services/compact-statusline/compact-statusline-service.js +0 -4
- package/dist/services/config/config-rollback.js +0 -1
- package/dist/services/config/config-safety.d.ts +0 -1
- package/dist/services/config/config-safety.js +0 -1
- package/dist/services/config/config-service.d.ts +0 -1
- package/dist/services/config/config-service.js +0 -1
- package/dist/services/config/model-routing.d.ts +0 -3
- package/dist/services/config/model-routing.js +0 -5
- package/dist/services/container/container-lease.d.ts +0 -1
- package/dist/services/container/container-lease.js +0 -1
- package/dist/services/context/artifact-meta.js +0 -1
- package/dist/services/context/auto-compact-dispatcher-input.d.ts +0 -3
- package/dist/services/context/auto-compact-dispatcher.js +0 -14
- package/dist/services/context/auto-compact-reader-input.d.ts +0 -1
- package/dist/services/context/auto-compact-reader.d.ts +0 -2
- package/dist/services/context/auto-compact-reader.js +0 -7
- package/dist/services/context/auto-compact-types.d.ts +0 -11
- package/dist/services/context/auto-compact-types.js +0 -1
- package/dist/services/context/build-dispatch-system-prompt.d.ts +11 -29
- package/dist/services/context/build-dispatch-system-prompt.js +8 -27
- package/dist/services/context/codegraph-unavailable-block.d.ts +38 -0
- package/dist/services/context/codegraph-unavailable-block.js +77 -0
- package/dist/services/context/context-audit-hint.d.ts +0 -1
- package/dist/services/context/context-audit-hint.js +0 -1
- package/dist/services/context/context-audit.d.ts +0 -1
- package/dist/services/context/context-audit.js +0 -1
- package/dist/services/context/harness-window-config.d.ts +0 -4
- package/dist/services/context/harness-window-config.js +0 -4
- package/dist/services/context/main-session-monitor.d.ts +0 -2
- package/dist/services/context/main-session-monitor.js +0 -2
- package/dist/services/context/memory-index-reader.d.ts +0 -2
- package/dist/services/context/memory-index-reader.js +0 -1
- package/dist/services/context/memory-preflight-config.d.ts +0 -1
- package/dist/services/context/memory-preflight-service.d.ts +0 -1
- package/dist/services/context/memory-preflight-service.js +0 -3
- package/dist/services/context/memory-preflight-support.d.ts +0 -5
- package/dist/services/context/post-compact-reinjection.d.ts +0 -1
- package/dist/services/context/post-compact-reinjection.js +0 -1
- package/dist/services/context/summary-view.d.ts +0 -1
- package/dist/services/context/summary-view.js +0 -1
- package/dist/services/crystallization/crystallization-service.d.ts +5 -11
- package/dist/services/crystallization/crystallization-service.js +3 -11
- package/dist/services/crystallization/crystallization-store.d.ts +6 -6
- package/dist/services/dispatch/await-batch-helpers.js +0 -3
- package/dist/services/dispatch/await-batch.d.ts +0 -1
- package/dist/services/dispatch/await-batch.js +0 -4
- package/dist/services/dispatch/batch-counter.js +0 -1
- package/dist/services/dispatch/conflict-replay.d.ts +0 -1
- package/dist/services/dispatch/conflict-replay.js +0 -1
- package/dist/services/dispatch/contract-store.d.ts +0 -2
- package/dist/services/dispatch/contract-store.js +0 -2
- package/dist/services/dispatch/dispatch-record-input-types.d.ts +0 -2
- package/dist/services/dispatch/dispatch-record-types.d.ts +0 -10
- package/dist/services/dispatch/dispatch-record-upgrade-fields.js +0 -7
- package/dist/services/dispatch/dispatch-record-upgrade-guards.js +0 -2
- package/dist/services/dispatch/dispatch-record-writer.d.ts +0 -5
- package/dist/services/dispatch/dispatch-record-writer.js +0 -21
- package/dist/services/dispatch/dispatch-sub-agent.d.ts +0 -1
- package/dist/services/dispatch/dispatch-sub-agent.js +0 -1
- package/dist/services/dispatch/e2e-fixtures.js +0 -1
- package/dist/services/dispatch/file-overlap-wave-planner.d.ts +0 -1
- package/dist/services/dispatch/file-overlap-wave-planner.js +0 -1
- package/dist/services/dispatch/isolation-lease.d.ts +0 -2
- package/dist/services/dispatch/isolation-lease.js +0 -2
- package/dist/services/dispatch/service-shutdown.js +0 -1
- package/dist/services/dispatch/session-capsule.js +0 -1
- package/dist/services/dispatch/slice-dag-types.d.ts +0 -1
- package/dist/services/dispatch/slice-dag.js +0 -2
- package/dist/services/dispatch/stage-enum.d.ts +0 -1
- package/dist/services/dispatch/stage-enum.js +0 -1
- package/dist/services/dispatch/startup-timeout.d.ts +0 -1
- package/dist/services/dispatch/sub-agent-batch-await.js +0 -3
- package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +0 -1
- package/dist/services/dispatch/sub-agent-dispatcher.js +0 -2
- package/dist/services/dispatch/test-tool-detection.d.ts +0 -3
- package/dist/services/dispatch/test-tool-detection.js +0 -2
- package/dist/services/distribution/mcp-install-runner.d.ts +21 -0
- package/dist/services/distribution/mcp-install-runner.js +59 -0
- package/dist/services/distribution/mcp-install.d.ts +95 -0
- package/dist/services/distribution/mcp-install.js +179 -0
- package/dist/services/distribution/plugin-manifest.d.ts +97 -0
- package/dist/services/distribution/plugin-manifest.js +126 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +19 -12
- package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +1 -2
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +0 -2
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +0 -2
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +0 -1
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +0 -1
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +0 -1
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +0 -3
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +0 -2
- package/dist/services/doctor/doctor-service/index.d.ts +0 -1
- package/dist/services/doctor/doctor-service/index.js +0 -1
- package/dist/services/doctor/doctor-service/plugin-registry.d.ts +0 -2
- package/dist/services/doctor/doctor-service/plugin-registry.js +0 -2
- package/dist/services/doctor/doctor-service/probe-types.d.ts +0 -4
- package/dist/services/doctor/doctor-service/report/final-summary.d.ts +0 -1
- package/dist/services/doctor/doctor-service/report/final-summary.js +0 -1
- package/dist/services/doctor/doctor-service/types.d.ts +0 -5
- package/dist/services/doctor/doctor-service/types.js +0 -1
- package/dist/services/doctor/doctor-service.d.ts +0 -1
- package/dist/services/doctor/doctor-service.js +0 -2
- package/dist/services/env/shell-probe.js +0 -1
- package/dist/services/evidence/evidence-generator.js +0 -8
- package/dist/services/evolution/evolution-constraints.d.ts +0 -2
- package/dist/services/evolution/evolution-constraints.js +0 -2
- package/dist/services/evolution/evolution-service.d.ts +2 -12
- package/dist/services/evolution/evolution-service.js +0 -9
- package/dist/services/evolution/evolution-store.d.ts +6 -8
- package/dist/services/evolution/evolution-store.js +1 -3
- package/dist/services/evolution/evolution-types.d.ts +0 -2
- package/dist/services/evolution/evolution-types.js +0 -6
- package/dist/services/evolution/independent-evaluator-runner.d.ts +0 -3
- package/dist/services/evolution/independent-evaluator-runner.js +0 -1
- package/dist/services/evolution/regression-skeptic-runner.d.ts +0 -1
- package/dist/services/feedback/feedback-promotion-service.d.ts +0 -8
- package/dist/services/feedback/feedback-promotion-service.js +0 -10
- package/dist/services/feedback/promotion-artifact-evidence.d.ts +0 -1
- package/dist/services/feedback/promotion-artifact-evidence.js +0 -1
- package/dist/services/final-review/final-review-evidence-budget.d.ts +0 -3
- package/dist/services/final-review/final-review-evidence-budget.js +0 -5
- package/dist/services/final-review/final-review-evidence-sources.d.ts +0 -1
- package/dist/services/final-review/final-review-evidence-sources.js +0 -1
- package/dist/services/final-review/final-review-output-budget.d.ts +0 -1
- package/dist/services/final-review/final-review-output-budget.js +0 -3
- package/dist/services/final-review/final-review-service.d.ts +0 -1
- package/dist/services/final-review/final-review-service.js +0 -1
- package/dist/services/fixture/fixture-capture-service.js +0 -1
- package/dist/services/fixture/fixture-sanitize-service.d.ts +0 -3
- package/dist/services/fixture/fixture-sanitize-service.js +0 -3
- package/dist/services/fresh-context/config.js +0 -1
- package/dist/services/fresh-context/fresh-context-block.js +0 -1
- package/dist/services/fresh-context/trigger-scan.d.ts +0 -1
- package/dist/services/fresh-context/trigger-scan.js +0 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +0 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.js +0 -1
- package/dist/services/handoff/handoff-parser.d.ts +0 -1
- package/dist/services/handoff/handoff-parser.js +0 -1
- package/dist/services/handoff/handoff-types.d.ts +0 -1
- package/dist/services/handoff/handoff-types.js +0 -1
- package/dist/services/handoff/handoff-writer.d.ts +0 -1
- package/dist/services/handoff/handoff-writer.js +0 -1
- package/dist/services/hooks/auto-compact-hook-install.d.ts +0 -1
- package/dist/services/hooks/auto-compact-hook-install.js +0 -1
- package/dist/services/hooks/mcp-surface-gate.d.ts +19 -0
- package/dist/services/hooks/mcp-surface-gate.js +87 -0
- package/dist/services/hooks/output.d.ts +0 -1
- package/dist/services/hooks/output.js +0 -1
- package/dist/services/hooks/pre-tool-code-gate.d.ts +0 -1
- package/dist/services/hooks/pre-tool-code-gate.js +0 -1
- package/dist/services/hooks/presence-marker-detector.js +0 -1
- package/dist/services/hooks/worktree-authorization-gate.d.ts +0 -3
- package/dist/services/hooks/worktree-authorization-gate.js +0 -1
- package/dist/services/ide/adapters/claude-code-adapter.d.ts +4 -40
- package/dist/services/ide/adapters/claude-code-adapter.js +48 -182
- package/dist/services/ide/adapters/claude-code-local-state.d.ts +28 -0
- package/dist/services/ide/adapters/claude-code-local-state.js +112 -0
- package/dist/services/ide/adapters/claude-code-model-window.d.ts +37 -0
- package/dist/services/ide/adapters/claude-code-model-window.js +113 -0
- package/dist/services/ide/adapters/qoder-adapter.d.ts +0 -3
- package/dist/services/ide/adapters/qoder-adapter.js +0 -5
- package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +0 -2
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +0 -2
- package/dist/services/ide/adapters/trae-adapter.d.ts +0 -3
- package/dist/services/ide/adapters/trae-adapter.js +3 -6
- package/dist/services/ide/adapters/zcode-adapter.js +0 -2
- package/dist/services/ide/current-model-detector.js +0 -1
- package/dist/services/ide/hook-protocol.d.ts +0 -2
- package/dist/services/ide/hook-protocol.js +0 -2
- package/dist/services/ide/ide-compact-types.d.ts +0 -7
- package/dist/services/ide/ide-mcp-install-types.d.ts +78 -0
- package/dist/services/ide/ide-mcp-install-types.js +104 -0
- package/dist/services/ide/ide-types.d.ts +45 -13
- package/dist/services/ide/mcp-tool-matcher.d.ts +34 -0
- package/dist/services/ide/mcp-tool-matcher.js +84 -0
- package/dist/services/ide/resource-profile.d.ts +0 -1
- package/dist/services/job/job-commit-verification.d.ts +0 -2
- package/dist/services/job/job-commit-verification.js +0 -2
- package/dist/services/job/job-orchestrator.d.ts +0 -1
- package/dist/services/job/job-orchestrator.js +0 -1
- package/dist/services/job/job-progress-store.d.ts +0 -2
- package/dist/services/job/job-progress-store.js +0 -3
- package/dist/services/job/job-types.js +0 -1
- package/dist/services/job-snapshot/snapshot.js +0 -1
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +0 -1
- package/dist/services/legacy/legacy-detector.js +0 -1
- package/dist/services/lint/npx-resolver.js +7 -0
- package/dist/services/log/log-commands-service.d.ts +0 -2
- package/dist/services/log/log-commands-service.js +0 -2
- package/dist/services/log/logger.d.ts +0 -1
- package/dist/services/log/logger.js +0 -1
- package/dist/services/log/redact.d.ts +0 -1
- package/dist/services/log/redact.js +0 -1
- package/dist/services/log/retention.d.ts +0 -1
- package/dist/services/log/retention.js +0 -1
- package/dist/services/loop/loop-bee-relation-service.d.ts +3 -3
- package/dist/services/loop/loop-bee-relation-service.js +14 -13
- package/dist/services/loop/loop-bee-relation-store.d.ts +9 -10
- package/dist/services/loop/loop-bee-relation-store.js +1 -2
- package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
- package/dist/services/loop/loop-bee-relation-types.js +1 -1
- package/dist/services/loop/loop-release-service.d.ts +3 -3
- package/dist/services/loop/loop-release-service.js +1 -1
- package/dist/services/loop/loop-release-store.d.ts +6 -7
- package/dist/services/loop/loop-release-store.js +0 -1
- package/dist/services/loop/monotonic-guard.d.ts +0 -1
- package/dist/services/loop/monotonic-guard.js +0 -1
- package/dist/services/mcp/cli-executor.d.ts +36 -0
- package/dist/services/mcp/cli-executor.js +97 -0
- package/dist/services/mcp/json-rpc.d.ts +81 -0
- package/dist/services/mcp/json-rpc.js +116 -0
- package/dist/services/mcp/memory-tool.d.ts +3 -0
- package/dist/services/mcp/memory-tool.js +62 -0
- package/dist/services/mcp/server-main.d.ts +1 -0
- package/dist/services/mcp/server-main.js +66 -0
- package/dist/services/mcp/server.d.ts +22 -0
- package/dist/services/mcp/server.js +152 -0
- package/dist/services/mcp/surface.d.ts +62 -0
- package/dist/services/mcp/surface.js +198 -0
- package/dist/services/mcp/tool-core.d.ts +42 -0
- package/dist/services/mcp/tool-core.js +137 -0
- package/dist/services/mcp/tools.d.ts +13 -0
- package/dist/services/mcp/tools.js +58 -0
- package/dist/services/memory/memory-ingest-service.js +0 -1
- package/dist/services/memory/project-context-service.d.ts +0 -1
- package/dist/services/memory/project-context-service.js +0 -1
- package/dist/services/memory/project-memory-service/index/reindex.d.ts +0 -2
- package/dist/services/memory/project-memory-service/index/reindex.js +0 -1
- package/dist/services/memory/project-memory-service/index/search.d.ts +0 -1
- package/dist/services/memory/project-memory-service/index/search.js +0 -1
- package/dist/services/memory/project-memory-service/memory-kinds.d.ts +0 -1
- package/dist/services/memory/project-memory-service/memory-kinds.js +0 -1
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +0 -1
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +0 -1
- package/dist/services/memory/project-memory-service.js +0 -1
- package/dist/services/mode/mode-enforcement.js +0 -1
- package/dist/services/mode/mode-status-service.d.ts +0 -2
- package/dist/services/mode/mode-status-service.js +0 -2
- package/dist/services/observability/aggregation.d.ts +0 -4
- package/dist/services/observability/aggregation.js +0 -6
- package/dist/services/observability/observability-schema.js +0 -1
- package/dist/services/observability/observability-service.d.ts +0 -5
- package/dist/services/observability/observability-service.js +0 -4
- package/dist/services/observability/report-formatter.d.ts +0 -2
- package/dist/services/observability/report-formatter.js +0 -2
- package/dist/services/openspec/artifact-boundary.d.ts +0 -4
- package/dist/services/openspec/artifact-boundary.js +0 -4
- package/dist/services/openspec/coverage-evidence-reader.d.ts +0 -1
- package/dist/services/openspec/coverage-evidence-reader.js +0 -1
- package/dist/services/polyrepo/polyrepo-dispatcher.js +0 -1
- package/dist/services/polyrepo/polyrepo-scanner.js +0 -1
- package/dist/services/polyrepo/polyrepo-service.js +0 -1
- package/dist/services/polyrepo/polyrepo-types.d.ts +0 -1
- package/dist/services/prd/best-practice-auto-trigger.d.ts +0 -2
- package/dist/services/prd/best-practice-auto-trigger.js +0 -2
- package/dist/services/prd/gate-evidence-derivation.d.ts +0 -4
- package/dist/services/prd/gate-evidence-derivation.js +0 -5
- package/dist/services/prd/handoff-auto-regen.js +0 -5
- package/dist/services/prd/handoff-frontmatter-shape.d.ts +0 -2
- package/dist/services/prd/handoff-frontmatter-shape.js +0 -2
- package/dist/services/prd/handoff-frontmatter.d.ts +0 -1
- package/dist/services/prd/handoff-frontmatter.js +0 -2
- package/dist/services/prd/handoff-gate-evidence.d.ts +0 -1
- package/dist/services/prd/handoff-gate-evidence.js +0 -4
- package/dist/services/prd/handoff-path-resolution.d.ts +0 -7
- package/dist/services/prd/handoff-path-resolution.js +0 -10
- package/dist/services/prd/handoff-service.d.ts +0 -2
- package/dist/services/prd/handoff-service.js +0 -2
- package/dist/services/prd/handoff-types.d.ts +0 -2
- package/dist/services/prd/handoff-types.js +0 -1
- package/dist/services/prd/project-scan-bootstrap-service.d.ts +0 -1
- package/dist/services/prd/project-scan-bootstrap-service.js +0 -4
- package/dist/services/prd/project-scan-types.d.ts +0 -1
- package/dist/services/prd/project-scan-types.js +0 -1
- package/dist/services/preferences/preferences-service.d.ts +0 -1
- package/dist/services/preferences/preferences-service.js +0 -5
- package/dist/services/preferences/preferences-types.d.ts +0 -14
- package/dist/services/preferences/preferences-types.js +0 -4
- package/dist/services/progress/progress-service.js +0 -1
- package/dist/services/qa/bdd-test-style-verifier.d.ts +0 -1
- package/dist/services/qa/bdd-test-style-verifier.js +0 -1
- package/dist/services/qa/browser-event-logger.d.ts +0 -1
- package/dist/services/qa/browser-event-logger.js +0 -1
- package/dist/services/qa/browser-restart-detector.d.ts +0 -1
- package/dist/services/qa/browser-restart-detector.js +0 -1
- package/dist/services/qa/browser-reuse-hint.d.ts +0 -1
- package/dist/services/qa/browser-reuse-hint.js +0 -1
- package/dist/services/qa/qa-business-review-state.js +0 -2
- package/dist/services/qa/screenshot-archive-service.d.ts +0 -1
- package/dist/services/qa/screenshot-archive-service.js +0 -1
- package/dist/services/rd/impl.js +0 -1
- package/dist/services/rd/rd-service.d.ts +0 -5
- package/dist/services/rd/rd-service.js +0 -5
- package/dist/services/rd/reviewer-dispatch-policy.d.ts +0 -4
- package/dist/services/rd/reviewer-dispatch-policy.js +0 -4
- package/dist/services/rd/standards-diagnostic.js +0 -1
- package/dist/services/rd/tactical-stage.js +0 -1
- package/dist/services/rd-swarm/rd-swarm-types.d.ts +0 -1
- package/dist/services/rd-swarm/rd-swarm-types.js +0 -1
- package/dist/services/readonly-surface/argv-guard.d.ts +32 -0
- package/dist/services/readonly-surface/argv-guard.js +164 -0
- package/dist/services/readonly-surface/readonly-whitelist.d.ts +147 -0
- package/dist/services/readonly-surface/readonly-whitelist.js +107 -0
- package/dist/services/readonly-surface/whitelist-generator.d.ts +64 -0
- package/dist/services/readonly-surface/whitelist-generator.js +212 -0
- package/dist/services/recommendations/installed-capability-detector.d.ts +0 -1
- package/dist/services/recommendations/installed-capability-detector.js +0 -1
- package/dist/services/release/version-precheck-service.d.ts +0 -2
- package/dist/services/release/version-precheck-service.js +0 -3
- package/dist/services/retrospective/retrospective-index.d.ts +0 -1
- package/dist/services/retrospective/retrospective-index.js +0 -1
- package/dist/services/retrospective/retrospective-show.d.ts +0 -1
- package/dist/services/retrospective/retrospective-show.js +0 -1
- package/dist/services/reviewer/model-family.js +0 -1
- package/dist/services/reviewer/reviewer-config.js +0 -1
- package/dist/services/reviewer/reviewer-service.d.ts +0 -1
- package/dist/services/reviewer/reviewer-service.js +0 -3
- package/dist/services/reviewer/selection-strategies.js +0 -1
- package/dist/services/runtime/runtime-detector.js +0 -1
- package/dist/services/runtime/runtime-service.d.ts +0 -2
- package/dist/services/runtime/vendor-adapter.d.ts +0 -7
- package/dist/services/runtime/vendors/claude-code.js +0 -1
- package/dist/services/runtime/vendors/codex.js +0 -1
- package/dist/services/runtime/vendors/copilot.js +0 -1
- package/dist/services/sc/sc-service.js +0 -6
- package/dist/services/scan/acceptance-coverage-service.js +0 -2
- package/dist/services/scan/api-diff-recorded.d.ts +0 -1
- package/dist/services/scan/api-diff-recorded.js +0 -1
- package/dist/services/scan/api-diff-service.d.ts +0 -1
- package/dist/services/scan/api-diff-service.js +0 -1
- package/dist/services/scan/api-diff-types.d.ts +0 -1
- package/dist/services/scan/api-diff-types.js +0 -1
- package/dist/services/scan/archetype-service.js +0 -1
- package/dist/services/scan/file-size-policy.d.ts +0 -1
- package/dist/services/scan/file-size-policy.js +0 -5
- package/dist/services/scan/file-size-scan.d.ts +0 -1
- package/dist/services/security/safe-settings-path.js +0 -1
- package/dist/services/session/binding-store.d.ts +0 -4
- package/dist/services/session/binding-store.js +0 -7
- package/dist/services/session/caller-binding-service.d.ts +0 -6
- package/dist/services/session/caller-binding-service.js +0 -4
- package/dist/services/session/caller-id-types.d.ts +0 -3
- package/dist/services/session/caller-id-types.js +0 -2
- package/dist/services/session/getSessionDir.js +0 -1
- package/dist/services/session/index.js +0 -1
- package/dist/services/session/platform-fallbacks.d.ts +0 -3
- package/dist/services/session/platform-fallbacks.js +0 -3
- package/dist/services/session/resolve-caller-id.d.ts +0 -2
- package/dist/services/session/resolve-caller-id.js +0 -2
- package/dist/services/session/session-binding-bridge.d.ts +0 -2
- package/dist/services/session/session-binding-bridge.js +0 -15
- package/dist/services/session/session-checkpoint-service.d.ts +0 -1
- package/dist/services/session/session-checkpoint-service.js +0 -1
- package/dist/services/session/session-manager.d.ts +0 -8
- package/dist/services/session/session-manager.js +0 -19
- package/dist/services/session/session-resume-service.d.ts +0 -1
- package/dist/services/session/session-resume-service.js +0 -1
- package/dist/services/share/bundle-reader.d.ts +2 -5
- package/dist/services/share/bundle-reader.js +6 -8
- package/dist/services/share/bundle-writer.d.ts +2 -2
- package/dist/services/skill/resume-detector.js +0 -3
- package/dist/services/skill/skill-scheduler.d.ts +0 -1
- package/dist/services/skill/skill-scheduler.js +0 -1
- package/dist/services/skill/skill-search-service.d.ts +0 -2
- package/dist/services/skill/skill-search-service.js +0 -2
- package/dist/services/skillhub/release-diff.d.ts +2 -2
- package/dist/services/skillhub/release-export.d.ts +2 -2
- package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
- package/dist/services/skillhub/release-import.d.ts +2 -2
- package/dist/services/skillhub/release-import.js +2 -1
- package/dist/services/skillhub/release-retain.d.ts +2 -2
- package/dist/services/skillhub/release-retain.js +2 -1
- package/dist/services/skillhub/sqlite-store.d.ts +3 -3
- package/dist/services/skillhub/sqlite-store.js +4 -5
- package/dist/services/skills/hooks-codegate-superpowers.d.ts +1 -3
- package/dist/services/skills/hooks-codegate-superpowers.js +26 -14
- package/dist/services/skills/hooks-settings-service.d.ts +0 -2
- package/dist/services/skills/hooks-settings-service.js +10 -8
- package/dist/services/skills/presence-lease-service.d.ts +0 -1
- package/dist/services/skills/presence-lease-service.js +0 -1
- package/dist/services/skills/session-start-hook-constants.d.ts +0 -4
- package/dist/services/skills/session-start-hook-constants.js +0 -4
- package/dist/services/skills/skill-presence-service.d.ts +0 -8
- package/dist/services/skills/skill-presence-service.js +0 -13
- package/dist/services/skills/skill-statusline-model.d.ts +0 -6
- package/dist/services/skills/skill-statusline-model.js +1 -4
- package/dist/services/skills/skill-statusline-renderer.d.ts +0 -1
- package/dist/services/skills/skill-statusline-renderer.js +0 -12
- package/dist/services/skills/skill-statusline-service.js +0 -6
- package/dist/services/skills/skill-statusline-sid-suffix.d.ts +0 -2
- package/dist/services/skills/skill-statusline-sid-suffix.js +0 -2
- package/dist/services/skills/statusline-palette.d.ts +0 -2
- package/dist/services/skills/statusline-palette.js +0 -3
- package/dist/services/slice/slice-archive-service.js +0 -1
- package/dist/services/slice/slice-benchmark-service.d.ts +0 -1
- package/dist/services/slice/slice-benchmark-service.js +0 -1
- package/dist/services/slice/slice-check-service.js +0 -6
- package/dist/services/slice/slice-check-types.d.ts +0 -1
- package/dist/services/slice/slice-pick-service.d.ts +0 -1
- package/dist/services/slice/slice-pick-service.js +0 -1
- package/dist/services/slice/slice-review-state.js +0 -2
- package/dist/services/sqlite/sqlite-driver.d.ts +118 -0
- package/dist/services/sqlite/sqlite-driver.js +159 -0
- package/dist/services/standards/ide-aware-standards-service.d.ts +0 -2
- package/dist/services/standards/ide-aware-standards-service.js +0 -1
- package/dist/services/standards/loop-engineering-readiness-lint.d.ts +0 -1
- package/dist/services/standards/loop-engineering-readiness-lint.js +0 -1
- package/dist/services/standards/migrate-claude-rules-service.js +0 -3
- package/dist/services/standards/migrate-service.d.ts +0 -1
- package/dist/services/standards/migrate-service.js +0 -1
- package/dist/services/standards/missing-standards-detector.d.ts +0 -2
- package/dist/services/standards/missing-standards-detector.js +0 -3
- package/dist/services/standards/project-standards-service.d.ts +0 -1
- package/dist/services/standards/project-standards-service.js +0 -1
- package/dist/services/standards/standards-render.d.ts +0 -1
- package/dist/services/standards/standards-render.js +0 -1
- package/dist/services/standards/ui-library-dispatch-block.d.ts +0 -1
- package/dist/services/standards/ui-library-dispatch-block.js +0 -1
- package/dist/services/tech/tech-change-id-service.d.ts +0 -7
- package/dist/services/tech/tech-change-id-service.js +0 -7
- package/dist/services/tech/tech-service.js +0 -5
- package/dist/services/verdict/envelope-parsers.d.ts +0 -2
- package/dist/services/verdict/envelope-parsers.js +0 -2
- package/dist/services/verdict/envelopes.d.ts +0 -1
- package/dist/services/vm/vm-lease.js +0 -1
- package/dist/services/web/aria-node.d.ts +0 -1
- package/dist/services/web/bounded-output.d.ts +0 -1
- package/dist/services/web/bounded-output.js +0 -1
- package/dist/services/web/browser-acquire.js +0 -1
- package/dist/services/web/browser-cache-probe.js +0 -1
- package/dist/services/web/browser-session-manager.js +0 -1
- package/dist/services/web/daemon-entry.js +0 -1
- package/dist/services/web/daemon-registry.js +0 -1
- package/dist/services/web/daemon-supervisor.d.ts +4 -3
- package/dist/services/web/daemon-supervisor.js +4 -4
- package/dist/services/web/playwright-loader.js +0 -1
- package/dist/services/web/playwright-types.d.ts +0 -1
- package/dist/services/web/snapshot-pruner.js +0 -1
- package/dist/services/web/untrusted-envelope.d.ts +0 -1
- package/dist/services/web/web-artifact-paths.js +0 -1
- package/dist/services/web/web-client.d.ts +0 -1
- package/dist/services/web/web-daemon-service.js +0 -1
- package/dist/services/web/web-fallback.d.ts +0 -1
- package/dist/services/web/web-fallback.js +0 -1
- package/dist/services/web/web-install-service.js +0 -1
- package/dist/services/web/web-login-profile.js +0 -1
- package/dist/services/web/web-protocol.d.ts +0 -1
- package/dist/services/web/web-protocol.js +0 -1
- package/dist/services/web/web-status-report.js +0 -1
- package/dist/services/workflow/artifact-paths.js +0 -3
- package/dist/services/workflow/autonomous-resume-writer.js +0 -2
- package/dist/services/workflow/pipeline-verify-gate-support.d.ts +0 -5
- package/dist/services/workflow/pipeline-verify-gate-support.js +0 -11
- package/dist/services/workflow/pipeline-verify-service.d.ts +0 -2
- package/dist/services/workflow/pipeline-verify-service.js +0 -15
- package/dist/services/workflow/pipeline-verify-types.d.ts +0 -10
- package/dist/services/workflow/pipeline-verify-types.js +0 -2
- package/dist/services/workflow/plan-reader.d.ts +0 -1
- package/dist/services/workflow/plan-reader.js +0 -5
- package/dist/services/workflow/plan-refresher.js +0 -2
- package/dist/services/workflow/plan-trigger-detector.d.ts +0 -2
- package/dist/services/workflow/plan-trigger-detector.js +0 -3
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +0 -5
- package/dist/services/workflow/workflow-autonomous-service.js +0 -2
- package/dist/services/workflow/workflow-autonomous-types.d.ts +0 -2
- package/dist/services/workflow/workflow-autonomous-types.js +0 -2
- package/dist/services/workflow/workflow-graph-types.d.ts +0 -1
- package/dist/services/workflow/workflow-graph-types.js +0 -1
- package/dist/services/workflow/workflow-router-service.js +0 -4
- package/dist/services/workflow/workflow-skip-service.d.ts +0 -1
- package/dist/services/workflow/workflow-skip-service.js +0 -1
- package/dist/services/workflow/workflow-spec-lint.d.ts +0 -2
- package/dist/services/workflow/workflow-spec-lint.js +0 -2
- package/dist/services/workflow/workflow-spec-types.d.ts +0 -1
- package/dist/services/workflow/workflow-spec-types.js +0 -1
- package/dist/services/workflow/workflow-spec-yaml.d.ts +0 -2
- package/dist/services/workflow/workflow-spec-yaml.js +0 -2
- package/dist/services/workflow/workflow-spec.js +0 -1
- package/dist/services/workflow/workflow-state-store.js +0 -1
- package/dist/services/workspace/claude-settings-template.d.ts +0 -4
- package/dist/services/workspace/claude-settings-template.js +0 -4
- package/dist/services/workspace/migrate-1-4-1-service.d.ts +0 -1
- package/dist/services/workspace/migrate-1-4-1-service.js +0 -1
- package/dist/services/workspace/migrate-service.js +0 -8
- package/dist/services/workspace/migrate-types.d.ts +0 -4
- package/dist/services/workspace/migrate-types.js +0 -1
- package/dist/services/workspace/reconcile-migrate.d.ts +0 -3
- package/dist/services/workspace/reconcile-migrate.js +0 -5
- package/dist/services/workspace/reconcile-service.d.ts +0 -3
- package/dist/services/workspace/reconcile-service.js +0 -7
- package/dist/services/workspace/reconcile-types.d.ts +0 -5
- package/dist/services/workspace/sid-naming-guard.d.ts +0 -1
- package/dist/services/workspace/sid-naming-guard.js +0 -1
- package/dist/services/workspace/templates/project-scan/index.d.ts +0 -3
- package/dist/services/workspace/templates/project-scan/index.js +0 -3
- package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +0 -1
- package/dist/services/workspace/workspace-claude-settings-materializer.js +0 -4
- package/dist/services/workspace/workspace-service.d.ts +0 -7
- package/dist/services/workspace/workspace-service.js +0 -16
- package/dist/services/worktree/playwright-profile.js +0 -1
- package/dist/services/worktree/worktree-lease-types.d.ts +0 -1
- package/dist/services/worktree/worktree-lease-types.js +0 -1
- package/dist/services/worktree/worktree-lease.d.ts +0 -2
- package/dist/services/worktree/worktree-lease.js +0 -2
- package/dist/shared/format-md-compact.d.ts +0 -2
- package/dist/shared/format-md-compact.js +0 -2
- package/dist/shared/incrementing-number.d.ts +0 -1
- package/dist/shared/incrementing-number.js +0 -1
- package/dist/shared/path-utils.d.ts +0 -1
- package/dist/shared/path-utils.js +0 -1
- package/dist/shared/runtime-root.d.ts +0 -1
- package/dist/shared/runtime-root.js +0 -1
- package/dist/shared/stale-policy.d.ts +0 -1
- package/dist/shared/stale-policy.js +0 -1
- package/package.json +24 -11
- package/scripts/canonical-store-link.mjs +296 -0
- package/scripts/canonical-store-prune.mjs +131 -0
- package/scripts/canonical-store.mjs +298 -0
- package/scripts/install-skills-bundles.mjs +233 -0
- package/scripts/install-skills-fs.mjs +148 -0
- package/scripts/install-skills-ide.mjs +279 -0
- package/scripts/install-skills-output-style-default.mjs +196 -0
- package/scripts/install-skills-output-styles.mjs +121 -0
- package/scripts/install-skills-report.mjs +42 -0
- package/scripts/install-skills-user-config.mjs +198 -0
- package/scripts/install-skills.mjs +41 -1279
- package/scripts/watch-tree.mjs +140 -0
- package/scripts/watch.mjs +4 -126
- package/skills/peaks-audit/SKILL.md +3 -3
- package/skills/peaks-status/SKILL.md +31 -13
- package/dist/services/codegraph/codegraph-include-reconciler.d.ts +0 -10
- package/dist/services/codegraph/codegraph-include-reconciler.js +0 -160
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import { closeSync,
|
|
1
|
+
import { closeSync, openSync, readSync, statSync } from 'node:fs';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
3
|
import { join, resolve } from 'node:path';
|
|
4
4
|
import { claudeCodeSubAgentDispatcher } from '../../dispatch/sub-agent-dispatcher.js';
|
|
5
|
+
import { findTranscriptJsonl, readClaudeStatuslinePercent, resolveClaudeTranscriptPath } from './claude-code-local-state.js';
|
|
6
|
+
import { DEFAULT_CONTEXT_WINDOW_TOKENS, ONE_MILLION_CONTEXT_TOKENS, modelContextWindowTokens, resolveClaudeModelFromEnv } from './claude-code-model-window.js';
|
|
7
|
+
// Re-exported so the public surface of this module is unchanged by the split:
|
|
8
|
+
// the readers live in `claude-code-local-state.ts` now, but every existing
|
|
9
|
+
// importer keeps resolving them from here.
|
|
10
|
+
export { resolveClaudeTranscriptPath };
|
|
11
|
+
// Likewise the model-id / window-size pair, which moved into
|
|
12
|
+
// `claude-code-model-window.ts` to make room for `mcpInstall` below.
|
|
13
|
+
export { modelContextWindowTokens, resolveClaudeModelFromEnv };
|
|
5
14
|
/**
|
|
6
15
|
* Claude Code adapter —— peaks-loop 的"起源 IDE"。
|
|
7
16
|
*
|
|
@@ -9,7 +18,6 @@ import { claudeCodeSubAgentDispatcher } from '../../dispatch/sub-agent-dispatche
|
|
|
9
18
|
* 字节级兼容:用户在 Claude Code 环境下跑 `peaks hooks install` 产出的
|
|
10
19
|
* `.claude/settings.json` 与 refactor 前逐字节相同。
|
|
11
20
|
*
|
|
12
|
-
* 字段解释(见 PRD AC-1):
|
|
13
21
|
* - dirName = '.claude' : Claude Code 项目根下的 settings 目录
|
|
14
22
|
* - settingsFileName = 'settings.json'
|
|
15
23
|
* - envVar = 'CLAUDE_PROJECT_DIR' : Claude Code 注入的 env 变量,用于 ${...} 占位
|
|
@@ -18,183 +26,9 @@ import { claudeCodeSubAgentDispatcher } from '../../dispatch/sub-agent-dispatche
|
|
|
18
26
|
*
|
|
19
27
|
* 不可消除的 per-IDE 字段(见 tech-doc.md §1.3)。
|
|
20
28
|
*/
|
|
21
|
-
/**
|
|
22
|
-
* Read Claude Code's statusline state file
|
|
23
|
-
* (`~/.claude/statusline-state.json`) and parse a context-percent key.
|
|
24
|
-
* Moved from the generic reader in slice
|
|
25
|
-
* 2026-09-02-vendor-neutral-context-probe — Claude-specific paths now live
|
|
26
|
-
* only in the Claude Code adapter.
|
|
27
|
-
*/
|
|
28
|
-
function readClaudeStatuslinePercent() {
|
|
29
|
-
const path = join(homedir(), '.claude', 'statusline-state.json');
|
|
30
|
-
if (!existsSync(path))
|
|
31
|
-
return null;
|
|
32
|
-
try {
|
|
33
|
-
const json = JSON.parse(readFileSync(path, 'utf8'));
|
|
34
|
-
const candidates = ['contextPercent', 'context_usage_percent', 'contextPercentUsed'];
|
|
35
|
-
for (const key of candidates) {
|
|
36
|
-
const raw = json[key];
|
|
37
|
-
if (typeof raw === 'number' && Number.isFinite(raw)) {
|
|
38
|
-
return raw > 1.5 ? raw / 100 : Math.max(0, Math.min(1, raw));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
// TODO(g2): legacy silent catch — now narrows to IO errors only (grace: 1 minor release, v2.14.0)
|
|
44
|
-
if (err instanceof ReferenceError)
|
|
45
|
-
throw err; // surface module-load bugs
|
|
46
|
-
if (err instanceof SyntaxError)
|
|
47
|
-
throw err; // surface parse bugs (e.g. broken statusline JSON)
|
|
48
|
-
return null; // only swallow IO errors
|
|
49
|
-
}
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Recursive search for `<outerSessionId>.jsonl` under `projectsDir`. The
|
|
54
|
-
* Mac layout encodes the cwd as a single hash directory; on Mac Claude Code
|
|
55
|
-
* nests the transcript under that hash with an extra level of subdirectory we
|
|
56
|
-
* cannot predict ahead of time. A flat readdir misses that branch and returns
|
|
57
|
-
* null — the silent-failure mode this recursion closes.
|
|
58
|
-
*
|
|
59
|
-
* Moved from the generic reader in slice
|
|
60
|
-
* 2026-09-02-vendor-neutral-context-probe. The lookup key is the OUTER
|
|
61
|
-
* session id (Claude Code names its transcript by the outer session UUID),
|
|
62
|
-
* NOT the peaks session id.
|
|
63
|
-
*/
|
|
64
|
-
function findTranscriptJsonl(projectsDir, outerSessionId) {
|
|
65
|
-
if (!existsSync(projectsDir))
|
|
66
|
-
return null;
|
|
67
|
-
try {
|
|
68
|
-
const stack = [projectsDir];
|
|
69
|
-
while (stack.length > 0) {
|
|
70
|
-
const dir = stack.pop();
|
|
71
|
-
if (dir === undefined)
|
|
72
|
-
break;
|
|
73
|
-
const entries = readdirSync(dir, { withFileTypes: true });
|
|
74
|
-
for (const entry of entries) {
|
|
75
|
-
const full = join(dir, entry.name);
|
|
76
|
-
if (entry.isDirectory()) {
|
|
77
|
-
stack.push(full);
|
|
78
|
-
}
|
|
79
|
-
else if (entry.isFile() && entry.name === `${outerSessionId}.jsonl`) {
|
|
80
|
-
return full;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
catch (err) {
|
|
86
|
-
// TODO(g2): legacy silent catch — now narrows to IO errors only (grace: 1 minor release, v2.14.0)
|
|
87
|
-
if (err instanceof ReferenceError)
|
|
88
|
-
throw err; // surface module-load bugs
|
|
89
|
-
if (err instanceof SyntaxError)
|
|
90
|
-
throw err; // surface parse bugs
|
|
91
|
-
return null; // only swallow IO errors
|
|
92
|
-
}
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Resolve the absolute path of a Claude Code transcript jsonl by OUTER
|
|
97
|
-
* session id, searching `~/.claude/projects/**` recursively.
|
|
98
|
-
*
|
|
99
|
-
* Exported (slice 2026-09-10-context-audit-and-discipline, Slice A) so
|
|
100
|
-
* `peaks code context-audit` reuses THIS locator instead of re-implementing
|
|
101
|
-
* the recursive find. Returns `null` when the transcript does not exist —
|
|
102
|
-
* callers MUST treat that as "unavailable", never as an error.
|
|
103
|
-
*/
|
|
104
|
-
export function resolveClaudeTranscriptPath(outerSessionId, projectsDir = join(homedir(), '.claude', 'projects')) {
|
|
105
|
-
if (typeof outerSessionId !== 'string' || outerSessionId.length === 0)
|
|
106
|
-
return null;
|
|
107
|
-
return findTranscriptJsonl(projectsDir, outerSessionId);
|
|
108
|
-
}
|
|
109
|
-
/** 1M-context window size in tokens (documented single choice: 1,000,000). */
|
|
110
|
-
const ONE_MILLION_CONTEXT_TOKENS = 1_000_000;
|
|
111
|
-
/** Safe-default (non-1M) context window size in tokens. */
|
|
112
|
-
const DEFAULT_CONTEXT_WINDOW_TOKENS = 200_000;
|
|
113
29
|
/** Reverse-scan chunk size in bytes (keeps memory bounded on multi-MB transcripts). */
|
|
114
30
|
const TRANSCRIPT_SCAN_CHUNK_BYTES = 64 * 1024;
|
|
115
31
|
/**
|
|
116
|
-
* Known 1M-context Claude model id prefixes whose ids do NOT carry a `1m`
|
|
117
|
-
* suffix (e.g. `claude-sonnet-4-5-20250929`). The substring match is
|
|
118
|
-
* intentionally generous — every `claude-sonnet-4*` / `claude-opus-4*`
|
|
119
|
-
* variant is 1M-context.
|
|
120
|
-
*/
|
|
121
|
-
const ONE_MILLION_CONTEXT_MODELS = ['claude-opus-4', 'claude-sonnet-4'];
|
|
122
|
-
/**
|
|
123
|
-
* Claude Code runtime env vars that may carry the currently-active model id,
|
|
124
|
-
* in documented precedence order (first non-empty value wins):
|
|
125
|
-
* 1. ANTHROPIC_MODEL — explicit per-run model override
|
|
126
|
-
* 2. ANTHROPIC_DEFAULT_OPUS_MODEL — default Opus fallback
|
|
127
|
-
* 3. ANTHROPIC_DEFAULT_SONNET_MODEL — default Sonnet fallback
|
|
128
|
-
* 4. ANTHROPIC_DEFAULT_HAIKU_MODEL — default Haiku fallback
|
|
129
|
-
* 5. ANTHROPIC_DEFAULT_FABLE_MODEL — default Fable fallback
|
|
130
|
-
* 6. CLAUDE_CODE_SUBAGENT_MODEL — sub-agent model (used when the others
|
|
131
|
-
* are absent, e.g. a sub-agent-only env)
|
|
132
|
-
*
|
|
133
|
-
* Why env-first: the transcript's `message.model` often drops Claude Code's
|
|
134
|
-
* `[1M]` / `[200K]` suffix marker (observed: `deepseek-v4-flash`), while the
|
|
135
|
-
* runtime env vars above carry it (`deepseek-v4-flash[1M]`). Reading them
|
|
136
|
-
* first lets the window resolver see the true context window. This family is
|
|
137
|
-
* vendor-specific, so it lives ONLY in the claude-code adapter.
|
|
138
|
-
*/
|
|
139
|
-
const CLAUDE_CODE_MODEL_ENV_VARS = [
|
|
140
|
-
'ANTHROPIC_MODEL',
|
|
141
|
-
'ANTHROPIC_DEFAULT_OPUS_MODEL',
|
|
142
|
-
'ANTHROPIC_DEFAULT_SONNET_MODEL',
|
|
143
|
-
'ANTHROPIC_DEFAULT_HAIKU_MODEL',
|
|
144
|
-
'ANTHROPIC_DEFAULT_FABLE_MODEL',
|
|
145
|
-
'CLAUDE_CODE_SUBAGENT_MODEL'
|
|
146
|
-
];
|
|
147
|
-
/**
|
|
148
|
-
* Resolve the currently-active Claude Code model id from a runtime env map.
|
|
149
|
-
* Returns the first non-empty `CLAUDE_CODE_MODEL_ENV_VARS` value (trimmed), or
|
|
150
|
-
* `undefined` when none is present. Pure + exported for tests; the caller falls
|
|
151
|
-
* back to the transcript `message.model` when this returns undefined.
|
|
152
|
-
*/
|
|
153
|
-
export function resolveClaudeModelFromEnv(env) {
|
|
154
|
-
if (!env)
|
|
155
|
-
return undefined;
|
|
156
|
-
for (const name of CLAUDE_CODE_MODEL_ENV_VARS) {
|
|
157
|
-
const value = env[name];
|
|
158
|
-
if (typeof value === 'string') {
|
|
159
|
-
const trimmed = value.trim();
|
|
160
|
-
if (trimmed.length > 0)
|
|
161
|
-
return trimmed;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
return undefined;
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Model-aware context-window size in tokens.
|
|
168
|
-
*
|
|
169
|
-
* Detection rule (documented):
|
|
170
|
-
* 1. Empty / unknown model → DEFAULT_CONTEXT_WINDOW_TOKENS (200_000).
|
|
171
|
-
* 2. Suffix heuristic — a model id containing `1m` (case-insensitive) is
|
|
172
|
-
* treated as 1M-context.
|
|
173
|
-
* 3. Explicit allowlist — known 1M Claude model ids
|
|
174
|
-
* (ONE_MILLION_CONTEXT_MODELS).
|
|
175
|
-
* 4. Everything else → 200_000 (the safe default).
|
|
176
|
-
*
|
|
177
|
-
* Callers MAY additionally infer ≥1M from the observed token count: if
|
|
178
|
-
* `contextTokens > DEFAULT_CONTEXT_WINDOW_TOKENS`, the model cannot be a
|
|
179
|
-
* 200K model and must be ≥1M (see `readClaudeTranscriptEstimate`).
|
|
180
|
-
*
|
|
181
|
-
* This is the HEURISTIC layer only. Explicit user overrides sit ABOVE it —
|
|
182
|
-
* see `resolveContextWindow`, which is what the probe actually calls.
|
|
183
|
-
*/
|
|
184
|
-
export function modelContextWindowTokens(model) {
|
|
185
|
-
const m = model.trim().toLowerCase();
|
|
186
|
-
if (m.length === 0)
|
|
187
|
-
return DEFAULT_CONTEXT_WINDOW_TOKENS;
|
|
188
|
-
if (m.includes('1m'))
|
|
189
|
-
return ONE_MILLION_CONTEXT_TOKENS;
|
|
190
|
-
for (const known of ONE_MILLION_CONTEXT_MODELS) {
|
|
191
|
-
if (m.includes(known))
|
|
192
|
-
return ONE_MILLION_CONTEXT_TOKENS;
|
|
193
|
-
}
|
|
194
|
-
return DEFAULT_CONTEXT_WINDOW_TOKENS;
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Slice 2026-09-09-context-window-override: vendor-neutral escape hatch for
|
|
198
32
|
* the context-window size in tokens. Third-party / proxied models whose id
|
|
199
33
|
* carries no `[1M]` suffix (and is absent from the hardcoded allowlist) are
|
|
200
34
|
* otherwise stuck at the 200K default, which inflates `ratio` up to 5×.
|
|
@@ -203,7 +37,6 @@ export function modelContextWindowTokens(model) {
|
|
|
203
37
|
*/
|
|
204
38
|
export const CONTEXT_WINDOW_TOKENS_ENV_VAR = 'PEAKS_CONTEXT_WINDOW_TOKENS';
|
|
205
39
|
/**
|
|
206
|
-
* E2 (rid 2026-09-13-defects-e) — the notice for a pin larger than
|
|
207
40
|
* peaks-loop's model-window estimate. `null` when there is nothing to say.
|
|
208
41
|
*
|
|
209
42
|
* WHY THIS EXISTS. The harness does not take its auto-compact window on faith:
|
|
@@ -273,7 +106,6 @@ export function parseContextWindowOverride(raw) {
|
|
|
273
106
|
* An invalid explicit override is ignored with a warning and falls through
|
|
274
107
|
* to the next layer — a typo must never crash or silently win the probe.
|
|
275
108
|
*
|
|
276
|
-
* Slice 2026-09-13-auto-compact-trigger-ownership — why layer 3 exists:
|
|
277
109
|
* The hard constraint is that the window peaks-loop divides by must BE the
|
|
278
110
|
* window it configured for the harness. Layer 3 is peaks-loop's own output
|
|
279
111
|
* read back from the harness's settings file, so the two sides reference one
|
|
@@ -564,7 +396,6 @@ function readContextPercentFallback(input) {
|
|
|
564
396
|
const estimate = readClaudeTranscriptEstimate(input.outerSessionId, envModel, {
|
|
565
397
|
env: input.env,
|
|
566
398
|
configWindowTokens: input.configWindowTokens,
|
|
567
|
-
// Slice 2026-09-13-auto-compact-trigger-ownership: the window
|
|
568
399
|
// peaks-loop configured for the harness outranks config + heuristic
|
|
569
400
|
// (see `resolveContextWindow`). The generic reader resolved it from the
|
|
570
401
|
// adapter's own declarations — this module never names the key.
|
|
@@ -610,6 +441,44 @@ export const CLAUDE_CODE_ADAPTER = {
|
|
|
610
441
|
envVar: 'CLAUDE_PROJECT_DIR',
|
|
611
442
|
hookEvent: 'PreToolUse',
|
|
612
443
|
toolMatcher: 'Bash',
|
|
444
|
+
// BOTH channels a peaks MCP server can reach this harness through. The hook
|
|
445
|
+
// entry installed below covers the pair, and the pre-tool branch matches
|
|
446
|
+
// against the pair; one template would leave the other channel unenforced and
|
|
447
|
+
// nobody would notice, because a matcher that never fires looks like a clean
|
|
448
|
+
// call.
|
|
449
|
+
mcp: {
|
|
450
|
+
toolNameTemplates: ['mcp__peaks__*', 'mcp__plugin_peaks-loop_peaks__*']
|
|
451
|
+
},
|
|
452
|
+
// How this harness REGISTERS a peaks MCP server. The entry
|
|
453
|
+
// is the harness's OWN verb, not a hand-edit of its config file, which is
|
|
454
|
+
// full of the user's state (spec §8.3). The shape is recorded in spec §13 —
|
|
455
|
+
// it is read off that table, not invented here:
|
|
456
|
+
// - the `--` before the server argv is LOAD-BEARING: everything after it is
|
|
457
|
+
// passed to the server verbatim, otherwise the harness reads the server's
|
|
458
|
+
// own flags as its own;
|
|
459
|
+
// - the verb is NOT idempotent — same name, same scope fails, with no
|
|
460
|
+
// `--force` and no `update` — which is why the engine removes first.
|
|
461
|
+
// `scopes` is `user` alone: that is the scope a peaks install writes (spec
|
|
462
|
+
// §8.4), and sweeping a scope peaks never wrote would delete a user's own
|
|
463
|
+
// entry under the same name.
|
|
464
|
+
mcpInstall: {
|
|
465
|
+
serverName: 'peaks',
|
|
466
|
+
scopes: ['user'],
|
|
467
|
+
targetScope: 'user',
|
|
468
|
+
addArgv: [
|
|
469
|
+
'claude',
|
|
470
|
+
'mcp',
|
|
471
|
+
'add',
|
|
472
|
+
'--scope',
|
|
473
|
+
'<scope>',
|
|
474
|
+
'--transport',
|
|
475
|
+
'stdio',
|
|
476
|
+
'<name>',
|
|
477
|
+
'--',
|
|
478
|
+
'<server-argv>'
|
|
479
|
+
],
|
|
480
|
+
removeArgv: ['claude', 'mcp', 'remove', '<name>', '--scope', '<scope>']
|
|
481
|
+
},
|
|
613
482
|
// Slice #009: Claude Code uses the `Task` tool for sub-agent dispatch.
|
|
614
483
|
// The CLI calls `claudeCodeSubAgentDispatcher.buildToolCall` to construct
|
|
615
484
|
// the exact args shape the `Task` tool expects.
|
|
@@ -623,7 +492,6 @@ export const CLAUDE_CODE_ADAPTER = {
|
|
|
623
492
|
gateEnforce: true,
|
|
624
493
|
statusline: true
|
|
625
494
|
},
|
|
626
|
-
// v2.13.0 AC-1 + AC-3 MVP, slice 2026-07-02-auto-compact-zero-pause:
|
|
627
495
|
// Claude Code is the first IDE to fill the `compact` profile.
|
|
628
496
|
// Future adapters (trae / codex / cursor / qoder / tongyi-lingma /
|
|
629
497
|
// hermes / openclaw) follow the same shape — peaks-loop reads the
|
|
@@ -648,7 +516,6 @@ export const CLAUDE_CODE_ADAPTER = {
|
|
|
648
516
|
compactCommand: 'claude --compact',
|
|
649
517
|
compactPathway: 'ide-native',
|
|
650
518
|
postCompactDetectCommand: 'peaks code auto-compact --json',
|
|
651
|
-
// Slice 2026-09-13-auto-compact-trigger-ownership: the key Claude Code
|
|
652
519
|
// reads its auto-compact WINDOW from, in the machine-local `env` block.
|
|
653
520
|
// Claude Code documents it as taking precedence "over the command, the
|
|
654
521
|
// flag, and the setting", and as accepting the plain token count only
|
|
@@ -657,7 +524,6 @@ export const CLAUDE_CODE_ADAPTER = {
|
|
|
657
524
|
// `harness-window-config.ts`.
|
|
658
525
|
autoCompactWindowEnvVar: 'CLAUDE_CODE_AUTO_COMPACT_WINDOW',
|
|
659
526
|
readContextPercentFallback,
|
|
660
|
-
// Slice 2026-09-10-context-audit-and-discipline (Slice A): the vendor
|
|
661
527
|
// layout knowledge (`~/.claude/projects/**/<outerSessionId>.jsonl`)
|
|
662
528
|
// stays here; `peaks code context-audit` resolves it through the
|
|
663
529
|
// adapter registry, never by naming this adapter directly.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read Claude Code's statusline state file
|
|
3
|
+
* (`~/.claude/statusline-state.json`) and parse a context-percent key.
|
|
4
|
+
* Moved from the generic reader in slice
|
|
5
|
+
* only in the Claude Code adapter.
|
|
6
|
+
*/
|
|
7
|
+
export declare function readClaudeStatuslinePercent(): number | null;
|
|
8
|
+
/**
|
|
9
|
+
* Recursive search for `<outerSessionId>.jsonl` under `projectsDir`. The
|
|
10
|
+
* Mac layout encodes the cwd as a single hash directory; on Mac Claude Code
|
|
11
|
+
* nests the transcript under that hash with an extra level of subdirectory we
|
|
12
|
+
* cannot predict ahead of time. A flat readdir misses that branch and returns
|
|
13
|
+
* null — the silent-failure mode this recursion closes.
|
|
14
|
+
*
|
|
15
|
+
* Moved from the generic reader in slice
|
|
16
|
+
* session id (Claude Code names its transcript by the outer session UUID),
|
|
17
|
+
* NOT the peaks session id.
|
|
18
|
+
*/
|
|
19
|
+
export declare function findTranscriptJsonl(projectsDir: string, outerSessionId: string): string | null;
|
|
20
|
+
/**
|
|
21
|
+
* Resolve the absolute path of a Claude Code transcript jsonl by OUTER
|
|
22
|
+
* session id, searching `~/.claude/projects/**` recursively.
|
|
23
|
+
*
|
|
24
|
+
* `peaks code context-audit` reuses THIS locator instead of re-implementing
|
|
25
|
+
* the recursive find. Returns `null` when the transcript does not exist —
|
|
26
|
+
* callers MUST treat that as "unavailable", never as an error.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveClaudeTranscriptPath(outerSessionId: string, projectsDir?: string): string | null;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// src/services/ide/adapters/claude-code-local-state.ts
|
|
2
|
+
//
|
|
3
|
+
// The readers for Claude Code's OWN on-disk state — its statusline state file and
|
|
4
|
+
// its transcript directory layout. Split out of `claude-code-adapter.ts`,
|
|
5
|
+
// verbatim and with one import apiece, because that file sits far past the
|
|
6
|
+
// 300-line cap and the repo's size ratchet only ever goes down: the adapter
|
|
7
|
+
// needs room for new declared surface, and a self-contained reader leaving is
|
|
8
|
+
// how a file earns that room instead of raising the ceiling.
|
|
9
|
+
//
|
|
10
|
+
// Nothing here is peaks-loop state. Every path below belongs to the harness, and
|
|
11
|
+
// every function tolerates its absence by answering `null` — a machine without a
|
|
12
|
+
// statusline file is not a broken machine.
|
|
13
|
+
import { existsSync, readFileSync, readdirSync } from 'node:fs';
|
|
14
|
+
import { homedir } from 'node:os';
|
|
15
|
+
import { join } from 'node:path';
|
|
16
|
+
/**
|
|
17
|
+
* Above this, a stored value is a percentage rather than a 0–1 fraction. Both
|
|
18
|
+
* spellings occur in the wild, and nothing needs to know which one the harness
|
|
19
|
+
* picked.
|
|
20
|
+
*/
|
|
21
|
+
const PERCENT_VERSUS_FRACTION = 1.5;
|
|
22
|
+
/**
|
|
23
|
+
* Read Claude Code's statusline state file
|
|
24
|
+
* (`~/.claude/statusline-state.json`) and parse a context-percent key.
|
|
25
|
+
* Moved from the generic reader in slice
|
|
26
|
+
* only in the Claude Code adapter.
|
|
27
|
+
*/
|
|
28
|
+
export function readClaudeStatuslinePercent() {
|
|
29
|
+
const path = join(homedir(), '.claude', 'statusline-state.json');
|
|
30
|
+
if (!existsSync(path))
|
|
31
|
+
return null;
|
|
32
|
+
try {
|
|
33
|
+
const json = JSON.parse(readFileSync(path, 'utf8'));
|
|
34
|
+
const candidates = ['contextPercent', 'context_usage_percent', 'contextPercentUsed'];
|
|
35
|
+
for (const key of candidates) {
|
|
36
|
+
const raw = json[key];
|
|
37
|
+
if (typeof raw === 'number' && Number.isFinite(raw)) {
|
|
38
|
+
return raw > PERCENT_VERSUS_FRACTION ? raw / 100 : Math.max(0, Math.min(1, raw));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
// TODO(g2): legacy silent catch — now narrows to IO errors only (grace: 1 minor release, v2.14.0)
|
|
44
|
+
if (err instanceof ReferenceError)
|
|
45
|
+
throw err; // surface module-load bugs
|
|
46
|
+
if (err instanceof SyntaxError)
|
|
47
|
+
throw err; // surface parse bugs (e.g. broken statusline JSON)
|
|
48
|
+
return null; // only swallow IO errors
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
/** One directory's worth of the walk: recurse into directories, return a matching file. */
|
|
53
|
+
function scanForFile(dir, fileName, pending) {
|
|
54
|
+
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
55
|
+
const full = join(dir, entry.name);
|
|
56
|
+
if (entry.isDirectory()) {
|
|
57
|
+
pending.push(full);
|
|
58
|
+
}
|
|
59
|
+
else if (entry.isFile() && entry.name === fileName) {
|
|
60
|
+
return full;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Recursive search for `<outerSessionId>.jsonl` under `projectsDir`. The
|
|
67
|
+
* Mac layout encodes the cwd as a single hash directory; on Mac Claude Code
|
|
68
|
+
* nests the transcript under that hash with an extra level of subdirectory we
|
|
69
|
+
* cannot predict ahead of time. A flat readdir misses that branch and returns
|
|
70
|
+
* null — the silent-failure mode this recursion closes.
|
|
71
|
+
*
|
|
72
|
+
* Moved from the generic reader in slice
|
|
73
|
+
* session id (Claude Code names its transcript by the outer session UUID),
|
|
74
|
+
* NOT the peaks session id.
|
|
75
|
+
*/
|
|
76
|
+
export function findTranscriptJsonl(projectsDir, outerSessionId) {
|
|
77
|
+
if (!existsSync(projectsDir))
|
|
78
|
+
return null;
|
|
79
|
+
const pending = [projectsDir];
|
|
80
|
+
try {
|
|
81
|
+
while (pending.length > 0) {
|
|
82
|
+
const dir = pending.pop();
|
|
83
|
+
if (dir === undefined)
|
|
84
|
+
continue;
|
|
85
|
+
const found = scanForFile(dir, `${outerSessionId}.jsonl`, pending);
|
|
86
|
+
if (found !== null)
|
|
87
|
+
return found;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
// TODO(g2): legacy silent catch — now narrows to IO errors only (grace: 1 minor release, v2.14.0)
|
|
92
|
+
if (err instanceof ReferenceError)
|
|
93
|
+
throw err; // surface module-load bugs
|
|
94
|
+
if (err instanceof SyntaxError)
|
|
95
|
+
throw err; // surface parse bugs
|
|
96
|
+
return null; // only swallow IO errors
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Resolve the absolute path of a Claude Code transcript jsonl by OUTER
|
|
102
|
+
* session id, searching `~/.claude/projects/**` recursively.
|
|
103
|
+
*
|
|
104
|
+
* `peaks code context-audit` reuses THIS locator instead of re-implementing
|
|
105
|
+
* the recursive find. Returns `null` when the transcript does not exist —
|
|
106
|
+
* callers MUST treat that as "unavailable", never as an error.
|
|
107
|
+
*/
|
|
108
|
+
export function resolveClaudeTranscriptPath(outerSessionId, projectsDir = join(homedir(), '.claude', 'projects')) {
|
|
109
|
+
if (typeof outerSessionId !== 'string' || outerSessionId.length === 0)
|
|
110
|
+
return null;
|
|
111
|
+
return findTranscriptJsonl(projectsDir, outerSessionId);
|
|
112
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 1M-context window size in tokens (documented single choice: 1,000,000).
|
|
3
|
+
* EXPORTED because the adapter's late 1M rescue (`resolveContextWindowTokens`)
|
|
4
|
+
* names it too — one number, one declaration, rather than a copy that can drift.
|
|
5
|
+
*/
|
|
6
|
+
export declare const ONE_MILLION_CONTEXT_TOKENS = 1000000;
|
|
7
|
+
/**
|
|
8
|
+
* Safe-default (non-1M) context window size in tokens. Exported for the same
|
|
9
|
+
* reason: `resolveContextWindow` compares the heuristic against it.
|
|
10
|
+
*/
|
|
11
|
+
export declare const DEFAULT_CONTEXT_WINDOW_TOKENS = 200000;
|
|
12
|
+
/**
|
|
13
|
+
* Resolve the currently-active Claude Code model id from a runtime env map.
|
|
14
|
+
* Returns the first non-empty `CLAUDE_CODE_MODEL_ENV_VARS` value (trimmed), or
|
|
15
|
+
* `undefined` when none is present. Pure + exported for tests; the caller falls
|
|
16
|
+
* back to the transcript `message.model` when this returns undefined.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveClaudeModelFromEnv(env: NodeJS.ProcessEnv | undefined): string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Model-aware context-window size in tokens.
|
|
21
|
+
*
|
|
22
|
+
* Detection rule (documented):
|
|
23
|
+
* 1. Empty / unknown model → DEFAULT_CONTEXT_WINDOW_TOKENS (200_000).
|
|
24
|
+
* 2. Suffix heuristic — a model id containing `1m` (case-insensitive) is
|
|
25
|
+
* treated as 1M-context.
|
|
26
|
+
* 3. Explicit allowlist — known 1M Claude model ids
|
|
27
|
+
* (ONE_MILLION_CONTEXT_MODELS).
|
|
28
|
+
* 4. Everything else → 200_000 (the safe default).
|
|
29
|
+
*
|
|
30
|
+
* Callers MAY additionally infer ≥1M from the observed token count: if
|
|
31
|
+
* `contextTokens > DEFAULT_CONTEXT_WINDOW_TOKENS`, the model cannot be a
|
|
32
|
+
* 200K model and must be ≥1M (see `readClaudeTranscriptEstimate`).
|
|
33
|
+
*
|
|
34
|
+
* This is the HEURISTIC layer only. Explicit user overrides sit ABOVE it —
|
|
35
|
+
* see `resolveContextWindow`, which is what the probe actually calls.
|
|
36
|
+
*/
|
|
37
|
+
export declare function modelContextWindowTokens(model: string): number;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
// src/services/ide/adapters/claude-code-model-window.ts
|
|
2
|
+
//
|
|
3
|
+
// Which Claude Code model is active, and how many tokens its context window
|
|
4
|
+
// holds. Those are the two questions `resolveClaudeModelFromEnv` and
|
|
5
|
+
// `modelContextWindowTokens` answer, and they are the pair that left
|
|
6
|
+
// `claude-code-adapter.ts`: that file is far past the
|
|
7
|
+
// 300-line cap, the repo's size ratchet only ever goes down, and the adapter
|
|
8
|
+
// needed room for its `mcpInstall` declaration. Same technique, and the same
|
|
9
|
+
// reason, as the `claude-code-local-state.ts` split before it — a self-contained
|
|
10
|
+
// responsibility leaves, instead of the ceiling going up.
|
|
11
|
+
//
|
|
12
|
+
// WHY THIS BLOCK AND NOT ANOTHER. Both functions are PURE: the env map is an
|
|
13
|
+
// argument, and nothing here reads a file, an env var or a process global. So
|
|
14
|
+
// the move needs no rewiring in either direction — the adapter imports both
|
|
15
|
+
// back and nothing here reaches for the adapter — which is what keeps the move
|
|
16
|
+
// a move. It is also the one block in that file whose eslint findings are zero,
|
|
17
|
+
// which a receiving file with no baseline row must be.
|
|
18
|
+
//
|
|
19
|
+
// The vendor spellings below (`ANTHROPIC_*`, `claude-opus-4`) are Claude Code's
|
|
20
|
+
// own. An adapter is the only place they belong (spec §13), which is why this is
|
|
21
|
+
// a second adapter module and not a shared one.
|
|
22
|
+
/**
|
|
23
|
+
* 1M-context window size in tokens (documented single choice: 1,000,000).
|
|
24
|
+
* EXPORTED because the adapter's late 1M rescue (`resolveContextWindowTokens`)
|
|
25
|
+
* names it too — one number, one declaration, rather than a copy that can drift.
|
|
26
|
+
*/
|
|
27
|
+
export const ONE_MILLION_CONTEXT_TOKENS = 1_000_000;
|
|
28
|
+
/**
|
|
29
|
+
* Safe-default (non-1M) context window size in tokens. Exported for the same
|
|
30
|
+
* reason: `resolveContextWindow` compares the heuristic against it.
|
|
31
|
+
*/
|
|
32
|
+
export const DEFAULT_CONTEXT_WINDOW_TOKENS = 200_000;
|
|
33
|
+
/**
|
|
34
|
+
* Known 1M-context Claude model id prefixes whose ids do NOT carry a `1m`
|
|
35
|
+
* suffix (e.g. `claude-sonnet-4-5-20250929`). The substring match is
|
|
36
|
+
* intentionally generous — every `claude-sonnet-4*` / `claude-opus-4*`
|
|
37
|
+
* variant is 1M-context.
|
|
38
|
+
*/
|
|
39
|
+
const ONE_MILLION_CONTEXT_MODELS = ['claude-opus-4', 'claude-sonnet-4'];
|
|
40
|
+
/**
|
|
41
|
+
* Claude Code runtime env vars that may carry the currently-active model id,
|
|
42
|
+
* in documented precedence order (first non-empty value wins):
|
|
43
|
+
* 1. ANTHROPIC_MODEL — explicit per-run model override
|
|
44
|
+
* 2. ANTHROPIC_DEFAULT_OPUS_MODEL — default Opus fallback
|
|
45
|
+
* 3. ANTHROPIC_DEFAULT_SONNET_MODEL — default Sonnet fallback
|
|
46
|
+
* 4. ANTHROPIC_DEFAULT_HAIKU_MODEL — default Haiku fallback
|
|
47
|
+
* 5. ANTHROPIC_DEFAULT_FABLE_MODEL — default Fable fallback
|
|
48
|
+
* 6. CLAUDE_CODE_SUBAGENT_MODEL — sub-agent model (used when the others
|
|
49
|
+
* are absent, e.g. a sub-agent-only env)
|
|
50
|
+
*
|
|
51
|
+
* Why env-first: the transcript's `message.model` often drops Claude Code's
|
|
52
|
+
* `[1M]` / `[200K]` suffix marker (observed: `deepseek-v4-flash`), while the
|
|
53
|
+
* runtime env vars above carry it (`deepseek-v4-flash[1M]`). Reading them
|
|
54
|
+
* first lets the window resolver see the true context window. This family is
|
|
55
|
+
* vendor-specific, so it lives ONLY in the claude-code adapter.
|
|
56
|
+
*/
|
|
57
|
+
const CLAUDE_CODE_MODEL_ENV_VARS = [
|
|
58
|
+
'ANTHROPIC_MODEL',
|
|
59
|
+
'ANTHROPIC_DEFAULT_OPUS_MODEL',
|
|
60
|
+
'ANTHROPIC_DEFAULT_SONNET_MODEL',
|
|
61
|
+
'ANTHROPIC_DEFAULT_HAIKU_MODEL',
|
|
62
|
+
'ANTHROPIC_DEFAULT_FABLE_MODEL',
|
|
63
|
+
'CLAUDE_CODE_SUBAGENT_MODEL'
|
|
64
|
+
];
|
|
65
|
+
/**
|
|
66
|
+
* Resolve the currently-active Claude Code model id from a runtime env map.
|
|
67
|
+
* Returns the first non-empty `CLAUDE_CODE_MODEL_ENV_VARS` value (trimmed), or
|
|
68
|
+
* `undefined` when none is present. Pure + exported for tests; the caller falls
|
|
69
|
+
* back to the transcript `message.model` when this returns undefined.
|
|
70
|
+
*/
|
|
71
|
+
export function resolveClaudeModelFromEnv(env) {
|
|
72
|
+
if (!env)
|
|
73
|
+
return undefined;
|
|
74
|
+
for (const name of CLAUDE_CODE_MODEL_ENV_VARS) {
|
|
75
|
+
const value = env[name];
|
|
76
|
+
if (typeof value === 'string') {
|
|
77
|
+
const trimmed = value.trim();
|
|
78
|
+
if (trimmed.length > 0)
|
|
79
|
+
return trimmed;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Model-aware context-window size in tokens.
|
|
86
|
+
*
|
|
87
|
+
* Detection rule (documented):
|
|
88
|
+
* 1. Empty / unknown model → DEFAULT_CONTEXT_WINDOW_TOKENS (200_000).
|
|
89
|
+
* 2. Suffix heuristic — a model id containing `1m` (case-insensitive) is
|
|
90
|
+
* treated as 1M-context.
|
|
91
|
+
* 3. Explicit allowlist — known 1M Claude model ids
|
|
92
|
+
* (ONE_MILLION_CONTEXT_MODELS).
|
|
93
|
+
* 4. Everything else → 200_000 (the safe default).
|
|
94
|
+
*
|
|
95
|
+
* Callers MAY additionally infer ≥1M from the observed token count: if
|
|
96
|
+
* `contextTokens > DEFAULT_CONTEXT_WINDOW_TOKENS`, the model cannot be a
|
|
97
|
+
* 200K model and must be ≥1M (see `readClaudeTranscriptEstimate`).
|
|
98
|
+
*
|
|
99
|
+
* This is the HEURISTIC layer only. Explicit user overrides sit ABOVE it —
|
|
100
|
+
* see `resolveContextWindow`, which is what the probe actually calls.
|
|
101
|
+
*/
|
|
102
|
+
export function modelContextWindowTokens(model) {
|
|
103
|
+
const m = model.trim().toLowerCase();
|
|
104
|
+
if (m.length === 0)
|
|
105
|
+
return DEFAULT_CONTEXT_WINDOW_TOKENS;
|
|
106
|
+
if (m.includes('1m'))
|
|
107
|
+
return ONE_MILLION_CONTEXT_TOKENS;
|
|
108
|
+
for (const known of ONE_MILLION_CONTEXT_MODELS) {
|
|
109
|
+
if (m.includes(known))
|
|
110
|
+
return ONE_MILLION_CONTEXT_TOKENS;
|
|
111
|
+
}
|
|
112
|
+
return DEFAULT_CONTEXT_WINDOW_TOKENS;
|
|
113
|
+
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Qoder IDE adapter (slice 2026-07-25-qoder-adapter-ship) — peaks-loop
|
|
3
2
|
* 第八个内置 IDE 适配器(填表)。
|
|
4
3
|
*
|
|
5
4
|
* 不可消除的 per-IDE 字段(本 slice 填表;字段值暂为占位):
|
|
@@ -9,14 +8,12 @@
|
|
|
9
8
|
* - hookEvent = 'PreToolUse' : 现代 IDE 通用约定(UNVERIFIED — 待真实 Qoder 安装验证)
|
|
10
9
|
* - toolMatcher = 'Bash' : 同上(UNVERIFIED)
|
|
11
10
|
*
|
|
12
|
-
* Slice 2026-07-25-qoder-adapter-ship 状态:
|
|
13
11
|
* - Slim adapter shape 跟 hermes-adapter.ts / claude-code-adapter.ts 同型,
|
|
14
12
|
* 验证 slice #1 抽出的形状在第 8 个 IDE 上仍然可以"填表"接入。
|
|
15
13
|
* - 5 fields (dirName / settingsFileName / envVar / hookEvent / toolMatcher)
|
|
16
14
|
* 均为占位值并标记 UNVERIFIED;待真实 Qoder 安装可用后再走 VERIFIED 路径
|
|
17
15
|
* (见 PRD §3 step 5 + 多 IDE 治理政策
|
|
18
16
|
* .peaks/memory/2026-07-24-multi-ide-adapter-policy.md)。
|
|
19
|
-
* - 见 [[2026-07-24-multi-ide-adapter-policy]] 了解 UNVERIFIED → VERIFIED
|
|
20
17
|
* 的迁移路径与 7-step checklist。
|
|
21
18
|
* - 本 slice 不修改 src/services/ide/ide-types.ts(IdeId union 已经在
|
|
22
19
|
* line 21 包含 'qoder'),不修改既有 adapter 文件,不修改既有测试。
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Qoder IDE adapter (slice 2026-07-25-qoder-adapter-ship) — peaks-loop
|
|
3
2
|
* 第八个内置 IDE 适配器(填表)。
|
|
4
3
|
*
|
|
5
4
|
* 不可消除的 per-IDE 字段(本 slice 填表;字段值暂为占位):
|
|
@@ -9,14 +8,12 @@
|
|
|
9
8
|
* - hookEvent = 'PreToolUse' : 现代 IDE 通用约定(UNVERIFIED — 待真实 Qoder 安装验证)
|
|
10
9
|
* - toolMatcher = 'Bash' : 同上(UNVERIFIED)
|
|
11
10
|
*
|
|
12
|
-
* Slice 2026-07-25-qoder-adapter-ship 状态:
|
|
13
11
|
* - Slim adapter shape 跟 hermes-adapter.ts / claude-code-adapter.ts 同型,
|
|
14
12
|
* 验证 slice #1 抽出的形状在第 8 个 IDE 上仍然可以"填表"接入。
|
|
15
13
|
* - 5 fields (dirName / settingsFileName / envVar / hookEvent / toolMatcher)
|
|
16
14
|
* 均为占位值并标记 UNVERIFIED;待真实 Qoder 安装可用后再走 VERIFIED 路径
|
|
17
15
|
* (见 PRD §3 step 5 + 多 IDE 治理政策
|
|
18
16
|
* .peaks/memory/2026-07-24-multi-ide-adapter-policy.md)。
|
|
19
|
-
* - 见 [[2026-07-24-multi-ide-adapter-policy]] 了解 UNVERIFIED → VERIFIED
|
|
20
17
|
* 的迁移路径与 7-step checklist。
|
|
21
18
|
* - 本 slice 不修改 src/services/ide/ide-types.ts(IdeId union 已经在
|
|
22
19
|
* line 21 包含 'qoder'),不修改既有 adapter 文件,不修改既有测试。
|
|
@@ -38,12 +35,10 @@ export const QODER_ADAPTER = {
|
|
|
38
35
|
envVar: 'QODER_PROJECT_DIR', // UNVERIFIED
|
|
39
36
|
hookEvent: 'PreToolUse', // UNVERIFIED
|
|
40
37
|
toolMatcher: 'Bash', // UNVERIFIED
|
|
41
|
-
// Slice 2026-07-25-qoder-adapter-ship: Qoder sub-agent dispatcher UNVERIFIED —
|
|
42
38
|
// pending real Qoder dogfood. Reusing the Trae dispatcher as a uniform
|
|
43
39
|
// placeholder (same rationale as hermes-adapter.ts: byte-stable shape
|
|
44
40
|
// across placeholder adapters).
|
|
45
41
|
subAgentDispatcher: traeSubAgentDispatcher,
|
|
46
|
-
// Slice 2026-07-25-qoder-adapter-ship: Qoder PreToolUse is the assumed hook
|
|
47
42
|
// path. UNVERIFIED — will be re-evaluated against a real Qoder install.
|
|
48
43
|
promptSizeAware: true,
|
|
49
44
|
installHints: ['Restart Qoder (or reload the workspace) so the PreToolUse hooks take effect.'],
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Tongyi Lingma IDE adapter (slice 2026-07-25-tongyi-lingma-adapter-ship) —
|
|
3
2
|
* peaks-loop 第九个内置 IDE 适配器(填表)。
|
|
4
3
|
*
|
|
5
4
|
* 不可消除的 per-IDE 字段(本 slice 填表;字段值暂为占位):
|
|
@@ -10,7 +9,6 @@
|
|
|
10
9
|
* - toolMatcher = 'Bash' (UNVERIFIED)
|
|
11
10
|
*
|
|
12
11
|
* 这些字段在真实 Tongyi Lingma 安装 dogfood 完成前不得标记 VERIFIED。
|
|
13
|
-
* 见 [[2026-07-24-multi-ide-adapter-policy]] §3 step 5。
|
|
14
12
|
*/
|
|
15
13
|
import type { IdeAdapter } from '../ide-types.js';
|
|
16
14
|
export declare const TONGYI_LINGMA_ADAPTER: IdeAdapter;
|