peaks-loop 4.0.0-beta.6 → 4.0.0-beta.8
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/CHANGELOG.md +152 -0
- package/README-en.md +178 -67
- package/README.md +178 -57
- package/examples/video-demo/README.md +108 -23
- package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
- package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
- package/package.json +19 -6
- package/scripts/copy-templates.mjs +64 -0
- package/scripts/install-skills.mjs +13 -10
- package/skills/bee/peaks-rd/SKILL.md +1 -1
- package/skills/bee/peaks-rd/references/library-version-awareness.md +2 -2
- package/skills/bee/peaks-rd/references/mock-data-placement.md +1 -1
- package/skills/bee/peaks-rd/references/rd-runbook.md +2 -2
- package/skills/bee/peaks-rd/references/rd-transition-gates.md +2 -2
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +1 -1
- package/skills/bee/peaks-ui/SKILL.md +2 -2
- package/skills/peaks-code/SKILL.md +35 -45
- package/skills/peaks-code/references/project-scan-checklist.md +3 -1
- package/skills/peaks-code/references/runbook.md +2 -2
- package/skills/peaks-code/references/standards-preflight.md +1 -1
- package/skills/peaks-code/references/step-11-memory-sediment.md +56 -0
- package/skills/peaks-code/references/swarm-dispatch-contract.md +1 -1
- package/skills/peaks-code/references/workflow-gates-and-types.md +3 -3
- package/skills/peaks-slice-decompose/SKILL.md +61 -1
- package/dist/src/cli/cli-helpers.d.ts +0 -43
- package/dist/src/cli/cli-helpers.js +0 -86
- package/dist/src/cli/commands/adapter-commands-s2a.d.ts +0 -34
- package/dist/src/cli/commands/adapter-commands-s2a.js +0 -92
- package/dist/src/cli/commands/adapter-commands.d.ts +0 -30
- package/dist/src/cli/commands/adapter-commands.js +0 -35
- package/dist/src/cli/commands/agent-commands.d.ts +0 -20
- package/dist/src/cli/commands/agent-commands.js +0 -48
- package/dist/src/cli/commands/asset-commands.d.ts +0 -45
- package/dist/src/cli/commands/asset-commands.js +0 -404
- package/dist/src/cli/commands/audit-commands.d.ts +0 -28
- package/dist/src/cli/commands/audit-commands.js +0 -437
- package/dist/src/cli/commands/bee-commands.d.ts +0 -26
- package/dist/src/cli/commands/bee-commands.js +0 -169
- package/dist/src/cli/commands/capability-commands.d.ts +0 -16
- package/dist/src/cli/commands/capability-commands.js +0 -45
- package/dist/src/cli/commands/capability-worker-config-sc-commands.d.ts +0 -3
- package/dist/src/cli/commands/capability-worker-config-sc-commands.js +0 -10
- package/dist/src/cli/commands/classify-classify-commands.d.ts +0 -19
- package/dist/src/cli/commands/classify-classify-commands.js +0 -151
- package/dist/src/cli/commands/code-commands.d.ts +0 -80
- package/dist/src/cli/commands/code-commands.js +0 -798
- package/dist/src/cli/commands/code-review-commands.d.ts +0 -34
- package/dist/src/cli/commands/code-review-commands.js +0 -83
- package/dist/src/cli/commands/codegraph-commands.d.ts +0 -3
- package/dist/src/cli/commands/codegraph-commands.js +0 -99
- package/dist/src/cli/commands/compact-command.d.ts +0 -21
- package/dist/src/cli/commands/compact-command.js +0 -252
- package/dist/src/cli/commands/complexity-commands.d.ts +0 -9
- package/dist/src/cli/commands/complexity-commands.js +0 -34
- package/dist/src/cli/commands/config-commands.d.ts +0 -3
- package/dist/src/cli/commands/config-commands.js +0 -220
- package/dist/src/cli/commands/context-builder-commands.d.ts +0 -11
- package/dist/src/cli/commands/context-builder-commands.js +0 -85
- package/dist/src/cli/commands/context-commands.d.ts +0 -21
- package/dist/src/cli/commands/context-commands.js +0 -254
- package/dist/src/cli/commands/contract-commands.d.ts +0 -26
- package/dist/src/cli/commands/contract-commands.js +0 -114
- package/dist/src/cli/commands/core/artifacts-command.d.ts +0 -3
- package/dist/src/cli/commands/core/artifacts-command.js +0 -62
- package/dist/src/cli/commands/core/binding-commands.d.ts +0 -3
- package/dist/src/cli/commands/core/binding-commands.js +0 -58
- package/dist/src/cli/commands/core/doctor-command.d.ts +0 -11
- package/dist/src/cli/commands/core/doctor-command.js +0 -204
- package/dist/src/cli/commands/core/memory-command.d.ts +0 -3
- package/dist/src/cli/commands/core/memory-command.js +0 -98
- package/dist/src/cli/commands/core/profile-command.d.ts +0 -3
- package/dist/src/cli/commands/core/profile-command.js +0 -9
- package/dist/src/cli/commands/core/proxy-command.d.ts +0 -3
- package/dist/src/cli/commands/core/proxy-command.js +0 -26
- package/dist/src/cli/commands/core/session-command.d.ts +0 -3
- package/dist/src/cli/commands/core/session-command.js +0 -241
- package/dist/src/cli/commands/core/skill-command.d.ts +0 -3
- package/dist/src/cli/commands/core/skill-command.js +0 -297
- package/dist/src/cli/commands/core/standards-command.d.ts +0 -3
- package/dist/src/cli/commands/core/standards-command.js +0 -95
- package/dist/src/cli/commands/core-artifact-commands.d.ts +0 -15
- package/dist/src/cli/commands/core-artifact-commands.js +0 -31
- package/dist/src/cli/commands/dispatch-commands.d.ts +0 -10
- package/dist/src/cli/commands/dispatch-commands.js +0 -351
- package/dist/src/cli/commands/dispatch-from-dag.d.ts +0 -3
- package/dist/src/cli/commands/dispatch-from-dag.js +0 -251
- package/dist/src/cli/commands/doc-commands.d.ts +0 -11
- package/dist/src/cli/commands/doc-commands.js +0 -65
- package/dist/src/cli/commands/evolution-commands.d.ts +0 -27
- package/dist/src/cli/commands/evolution-commands.js +0 -393
- package/dist/src/cli/commands/feedback-commands.d.ts +0 -18
- package/dist/src/cli/commands/feedback-commands.js +0 -145
- package/dist/src/cli/commands/final-review-commands.d.ts +0 -31
- package/dist/src/cli/commands/final-review-commands.js +0 -161
- package/dist/src/cli/commands/fixture-commands.d.ts +0 -32
- package/dist/src/cli/commands/fixture-commands.js +0 -91
- package/dist/src/cli/commands/fork-commands.d.ts +0 -16
- package/dist/src/cli/commands/fork-commands.js +0 -163
- package/dist/src/cli/commands/gate-commands.d.ts +0 -3
- package/dist/src/cli/commands/gate-commands.js +0 -117
- package/dist/src/cli/commands/heartbeat-commands.d.ts +0 -3
- package/dist/src/cli/commands/heartbeat-commands.js +0 -135
- package/dist/src/cli/commands/hook-handle.d.ts +0 -17
- package/dist/src/cli/commands/hook-handle.js +0 -157
- package/dist/src/cli/commands/hooks-commands.d.ts +0 -3
- package/dist/src/cli/commands/hooks-commands.js +0 -156
- package/dist/src/cli/commands/impact-commands.d.ts +0 -15
- package/dist/src/cli/commands/impact-commands.js +0 -62
- package/dist/src/cli/commands/job-commands.d.ts +0 -3
- package/dist/src/cli/commands/job-commands.js +0 -289
- package/dist/src/cli/commands/legacy-commands.d.ts +0 -11
- package/dist/src/cli/commands/legacy-commands.js +0 -32
- package/dist/src/cli/commands/log-commands.d.ts +0 -17
- package/dist/src/cli/commands/log-commands.js +0 -64
- package/dist/src/cli/commands/loop-commands.d.ts +0 -27
- package/dist/src/cli/commands/loop-commands.js +0 -262
- package/dist/src/cli/commands/loop-eval-commands.d.ts +0 -20
- package/dist/src/cli/commands/loop-eval-commands.js +0 -526
- package/dist/src/cli/commands/memory-commands.d.ts +0 -23
- package/dist/src/cli/commands/memory-commands.js +0 -129
- package/dist/src/cli/commands/migrate-1-4-1-command.d.ts +0 -11
- package/dist/src/cli/commands/migrate-1-4-1-command.js +0 -34
- package/dist/src/cli/commands/migrate-v2-10-to-v2-11-command.d.ts +0 -20
- package/dist/src/cli/commands/migrate-v2-10-to-v2-11-command.js +0 -52
- package/dist/src/cli/commands/mut-commands.d.ts +0 -20
- package/dist/src/cli/commands/mut-commands.js +0 -239
- package/dist/src/cli/commands/observability-commands.d.ts +0 -22
- package/dist/src/cli/commands/observability-commands.js +0 -201
- package/dist/src/cli/commands/openspec-commands.d.ts +0 -3
- package/dist/src/cli/commands/openspec-commands.js +0 -237
- package/dist/src/cli/commands/perf-audit-commands.d.ts +0 -22
- package/dist/src/cli/commands/perf-audit-commands.js +0 -132
- package/dist/src/cli/commands/perf-commands.d.ts +0 -3
- package/dist/src/cli/commands/perf-commands.js +0 -41
- package/dist/src/cli/commands/playwright-commands.d.ts +0 -95
- package/dist/src/cli/commands/playwright-commands.js +0 -432
- package/dist/src/cli/commands/polyrepo-commands.d.ts +0 -37
- package/dist/src/cli/commands/polyrepo-commands.js +0 -155
- package/dist/src/cli/commands/prd-blocks-commands.d.ts +0 -18
- package/dist/src/cli/commands/prd-blocks-commands.js +0 -50
- package/dist/src/cli/commands/prd-commands.d.ts +0 -18
- package/dist/src/cli/commands/prd-commands.js +0 -141
- package/dist/src/cli/commands/preferences-commands.d.ts +0 -2
- package/dist/src/cli/commands/preferences-commands.js +0 -197
- package/dist/src/cli/commands/project-commands.d.ts +0 -3
- package/dist/src/cli/commands/project-commands.js +0 -248
- package/dist/src/cli/commands/qa-business-review-commands.d.ts +0 -17
- package/dist/src/cli/commands/qa-business-review-commands.js +0 -148
- package/dist/src/cli/commands/qa-commands.d.ts +0 -94
- package/dist/src/cli/commands/qa-commands.js +0 -271
- package/dist/src/cli/commands/release-commands.d.ts +0 -24
- package/dist/src/cli/commands/release-commands.js +0 -231
- package/dist/src/cli/commands/request-commands.d.ts +0 -3
- package/dist/src/cli/commands/request-commands.js +0 -548
- package/dist/src/cli/commands/retrospective-commands.d.ts +0 -12
- package/dist/src/cli/commands/retrospective-commands.js +0 -175
- package/dist/src/cli/commands/reviewer-commands.d.ts +0 -14
- package/dist/src/cli/commands/reviewer-commands.js +0 -64
- package/dist/src/cli/commands/role-commands.d.ts +0 -13
- package/dist/src/cli/commands/role-commands.js +0 -85
- package/dist/src/cli/commands/runtime-commands.d.ts +0 -52
- package/dist/src/cli/commands/runtime-commands.js +0 -150
- package/dist/src/cli/commands/sc-commands.d.ts +0 -3
- package/dist/src/cli/commands/sc-commands.js +0 -45
- package/dist/src/cli/commands/scan-commands.d.ts +0 -3
- package/dist/src/cli/commands/scan-commands.js +0 -445
- package/dist/src/cli/commands/security-audit-commands.d.ts +0 -23
- package/dist/src/cli/commands/security-audit-commands.js +0 -132
- package/dist/src/cli/commands/sediment-commands.d.ts +0 -80
- package/dist/src/cli/commands/sediment-commands.js +0 -649
- package/dist/src/cli/commands/session-auto-compact-hook-command.d.ts +0 -37
- package/dist/src/cli/commands/session-auto-compact-hook-command.js +0 -127
- package/dist/src/cli/commands/session-checkpoint-command.d.ts +0 -10
- package/dist/src/cli/commands/session-checkpoint-command.js +0 -100
- package/dist/src/cli/commands/session-migrate-skill-name.d.ts +0 -17
- package/dist/src/cli/commands/session-migrate-skill-name.js +0 -41
- package/dist/src/cli/commands/session-resume-command.d.ts +0 -11
- package/dist/src/cli/commands/session-resume-command.js +0 -83
- package/dist/src/cli/commands/share-commands.d.ts +0 -17
- package/dist/src/cli/commands/share-commands.js +0 -296
- package/dist/src/cli/commands/skill-conformance-commands.d.ts +0 -9
- package/dist/src/cli/commands/skill-conformance-commands.js +0 -39
- package/dist/src/cli/commands/skill-loop-engineering-readiness-commands.d.ts +0 -67
- package/dist/src/cli/commands/skill-loop-engineering-readiness-commands.js +0 -173
- package/dist/src/cli/commands/skill-search-commands.d.ts +0 -25
- package/dist/src/cli/commands/skill-search-commands.js +0 -68
- package/dist/src/cli/commands/skill-visibility.d.ts +0 -8
- package/dist/src/cli/commands/skill-visibility.js +0 -63
- package/dist/src/cli/commands/slice-commands.d.ts +0 -24
- package/dist/src/cli/commands/slice-commands.js +0 -492
- package/dist/src/cli/commands/slice-integrate-commands.d.ts +0 -11
- package/dist/src/cli/commands/slice-integrate-commands.js +0 -74
- package/dist/src/cli/commands/slice-review-commands.d.ts +0 -23
- package/dist/src/cli/commands/slice-review-commands.js +0 -162
- package/dist/src/cli/commands/smoke-commands.d.ts +0 -21
- package/dist/src/cli/commands/smoke-commands.js +0 -203
- package/dist/src/cli/commands/sop-commands.d.ts +0 -3
- package/dist/src/cli/commands/sop-commands.js +0 -215
- package/dist/src/cli/commands/statusline-commands.d.ts +0 -3
- package/dist/src/cli/commands/statusline-commands.js +0 -169
- package/dist/src/cli/commands/sub-agent-commands.d.ts +0 -22
- package/dist/src/cli/commands/sub-agent-commands.js +0 -19
- package/dist/src/cli/commands/sub-agent-dispatch-guard.d.ts +0 -55
- package/dist/src/cli/commands/sub-agent-dispatch-guard.js +0 -57
- package/dist/src/cli/commands/sub-agent-shared.d.ts +0 -99
- package/dist/src/cli/commands/sub-agent-shared.js +0 -67
- package/dist/src/cli/commands/test-commands.d.ts +0 -47
- package/dist/src/cli/commands/test-commands.js +0 -204
- package/dist/src/cli/commands/understand-commands.d.ts +0 -3
- package/dist/src/cli/commands/understand-commands.js +0 -148
- package/dist/src/cli/commands/upgrade-commands.d.ts +0 -23
- package/dist/src/cli/commands/upgrade-commands.js +0 -119
- package/dist/src/cli/commands/user-touchpoint-commands.d.ts +0 -18
- package/dist/src/cli/commands/user-touchpoint-commands.js +0 -78
- package/dist/src/cli/commands/verdict-aggregate-command.d.ts +0 -14
- package/dist/src/cli/commands/verdict-aggregate-command.js +0 -106
- package/dist/src/cli/commands/worker-commands.d.ts +0 -3
- package/dist/src/cli/commands/worker-commands.js +0 -52
- package/dist/src/cli/commands/workflow-commands.d.ts +0 -3
- package/dist/src/cli/commands/workflow-commands.js +0 -535
- package/dist/src/cli/commands/workflow-plan-commands.d.ts +0 -39
- package/dist/src/cli/commands/workflow-plan-commands.js +0 -163
- package/dist/src/cli/commands/workspace/clean-command.d.ts +0 -14
- package/dist/src/cli/commands/workspace/clean-command.js +0 -49
- package/dist/src/cli/commands/workspace/helpers.d.ts +0 -28
- package/dist/src/cli/commands/workspace/helpers.js +0 -87
- package/dist/src/cli/commands/workspace/init-command.d.ts +0 -121
- package/dist/src/cli/commands/workspace/init-command.js +0 -436
- package/dist/src/cli/commands/workspace/migrate-command.d.ts +0 -11
- package/dist/src/cli/commands/workspace/migrate-command.js +0 -91
- package/dist/src/cli/commands/workspace/reconcile-command.d.ts +0 -14
- package/dist/src/cli/commands/workspace/reconcile-command.js +0 -103
- package/dist/src/cli/commands/workspace-commands.d.ts +0 -18
- package/dist/src/cli/commands/workspace-commands.js +0 -50
- package/dist/src/cli/index.d.ts +0 -1
- package/dist/src/cli/index.js +0 -30
- package/dist/src/cli/program.d.ts +0 -5
- package/dist/src/cli/program.js +0 -401
- package/dist/src/hooks/pre-tool-use-sub-agent.d.ts +0 -28
- package/dist/src/hooks/pre-tool-use-sub-agent.js +0 -105
- package/dist/src/lib/render/message-renderer.d.ts +0 -20
- package/dist/src/lib/render/message-renderer.js +0 -80
- package/dist/src/services/adapter/adapter-registry.d.ts +0 -48
- package/dist/src/services/adapter/adapter-registry.js +0 -186
- package/dist/src/services/adapter/adapter.d.ts +0 -27
- package/dist/src/services/adapter/adapter.js +0 -5
- package/dist/src/services/adapter/auto-adapter.d.ts +0 -11
- package/dist/src/services/adapter/auto-adapter.js +0 -15
- package/dist/src/services/adapter/claude-adapter.d.ts +0 -14
- package/dist/src/services/adapter/claude-adapter.js +0 -40
- package/dist/src/services/adapter/codex-adapter.d.ts +0 -14
- package/dist/src/services/adapter/codex-adapter.js +0 -14
- package/dist/src/services/adapter/copilot-adapter.d.ts +0 -14
- package/dist/src/services/adapter/copilot-adapter.js +0 -14
- package/dist/src/services/agent/ecc-agent-service.d.ts +0 -47
- package/dist/src/services/agent/ecc-agent-service.js +0 -143
- package/dist/src/services/artifacts/artifact-lint-service.d.ts +0 -23
- package/dist/src/services/artifacts/artifact-lint-service.js +0 -99
- package/dist/src/services/artifacts/artifact-prerequisites.d.ts +0 -78
- package/dist/src/services/artifacts/artifact-prerequisites.js +0 -491
- package/dist/src/services/artifacts/artifact-service.d.ts +0 -43
- package/dist/src/services/artifacts/artifact-service.js +0 -98
- package/dist/src/services/artifacts/artifact-templates.d.ts +0 -30
- package/dist/src/services/artifacts/artifact-templates.js +0 -302
- package/dist/src/services/artifacts/repair-cycle-service.d.ts +0 -23
- package/dist/src/services/artifacts/repair-cycle-service.js +0 -52
- package/dist/src/services/artifacts/request-artifact-service.d.ts +0 -116
- package/dist/src/services/artifacts/request-artifact-service.js +0 -451
- package/dist/src/services/artifacts/request-artifact-state-helpers.d.ts +0 -51
- package/dist/src/services/artifacts/request-artifact-state-helpers.js +0 -114
- package/dist/src/services/artifacts/workspace-service.d.ts +0 -34
- package/dist/src/services/artifacts/workspace-service.js +0 -272
- package/dist/src/services/audit/artifact-writer.d.ts +0 -93
- package/dist/src/services/audit/artifact-writer.js +0 -303
- package/dist/src/services/audit/audit-goal-service.d.ts +0 -35
- package/dist/src/services/audit/audit-goal-service.js +0 -75
- package/dist/src/services/audit/audit-goal-types.d.ts +0 -40
- package/dist/src/services/audit/audit-goal-types.js +0 -15
- package/dist/src/services/audit/backing-detector.d.ts +0 -24
- package/dist/src/services/audit/backing-detector.js +0 -59
- package/dist/src/services/audit/classifier.d.ts +0 -38
- package/dist/src/services/audit/classifier.js +0 -134
- package/dist/src/services/audit/decision-writer.d.ts +0 -76
- package/dist/src/services/audit/decision-writer.js +0 -217
- package/dist/src/services/audit/enforcers/active-skill-resolver.d.ts +0 -29
- package/dist/src/services/audit/enforcers/active-skill-resolver.js +0 -71
- package/dist/src/services/audit/enforcers/code-ban.d.ts +0 -23
- package/dist/src/services/audit/enforcers/code-ban.js +0 -27
- package/dist/src/services/audit/enforcers/design-draft-confirm.d.ts +0 -24
- package/dist/src/services/audit/enforcers/design-draft-confirm.js +0 -58
- package/dist/src/services/audit/enforcers/lint-audit-regression.d.ts +0 -21
- package/dist/src/services/audit/enforcers/lint-audit-regression.js +0 -86
- package/dist/src/services/audit/enforcers/lint-catalog-governance.d.ts +0 -32
- package/dist/src/services/audit/enforcers/lint-catalog-governance.js +0 -48
- package/dist/src/services/audit/enforcers/lint-cli-back.d.ts +0 -16
- package/dist/src/services/audit/enforcers/lint-cli-back.js +0 -35
- package/dist/src/services/audit/enforcers/lint-output-style.d.ts +0 -11
- package/dist/src/services/audit/enforcers/lint-output-style.js +0 -94
- package/dist/src/services/audit/enforcers/lint-reference-integrity.d.ts +0 -6
- package/dist/src/services/audit/enforcers/lint-reference-integrity.js +0 -83
- package/dist/src/services/audit/enforcers/lint-reference-shape.d.ts +0 -30
- package/dist/src/services/audit/enforcers/lint-reference-shape.js +0 -272
- package/dist/src/services/audit/enforcers/lint-style.d.ts +0 -49
- package/dist/src/services/audit/enforcers/lint-style.js +0 -173
- package/dist/src/services/audit/enforcers/lint-workflow-shape.d.ts +0 -4
- package/dist/src/services/audit/enforcers/lint-workflow-shape.js +0 -100
- package/dist/src/services/audit/enforcers/login-gate.d.ts +0 -23
- package/dist/src/services/audit/enforcers/login-gate.js +0 -40
- package/dist/src/services/audit/enforcers/mock-placement.d.ts +0 -25
- package/dist/src/services/audit/enforcers/mock-placement.js +0 -48
- package/dist/src/services/audit/enforcers/no-root-pollution.d.ts +0 -21
- package/dist/src/services/audit/enforcers/no-root-pollution.js +0 -56
- package/dist/src/services/audit/enforcers/pre-rd-scan.d.ts +0 -22
- package/dist/src/services/audit/enforcers/pre-rd-scan.js +0 -23
- package/dist/src/services/audit/enforcers/prototype-fidelity.d.ts +0 -25
- package/dist/src/services/audit/enforcers/prototype-fidelity.js +0 -75
- package/dist/src/services/audit/enforcers/resume-detection.d.ts +0 -21
- package/dist/src/services/audit/enforcers/resume-detection.js +0 -52
- package/dist/src/services/audit/enforcers/sub-agent-sid.d.ts +0 -25
- package/dist/src/services/audit/enforcers/sub-agent-sid.js +0 -63
- package/dist/src/services/audit/prose-ratio-calculator.d.ts +0 -45
- package/dist/src/services/audit/prose-ratio-calculator.js +0 -52
- package/dist/src/services/audit/red-line-catalog-p2-a.d.ts +0 -21
- package/dist/src/services/audit/red-line-catalog-p2-a.js +0 -229
- package/dist/src/services/audit/red-line-catalog-p2-b.d.ts +0 -19
- package/dist/src/services/audit/red-line-catalog-p2-b.js +0 -225
- package/dist/src/services/audit/red-line-catalog.d.ts +0 -51
- package/dist/src/services/audit/red-line-catalog.js +0 -195
- package/dist/src/services/audit/red-lines-service.d.ts +0 -23
- package/dist/src/services/audit/red-lines-service.js +0 -464
- package/dist/src/services/audit/scanners/openspec-scanner.d.ts +0 -15
- package/dist/src/services/audit/scanners/openspec-scanner.js +0 -55
- package/dist/src/services/audit/scanners/rules-tree-scanner.d.ts +0 -16
- package/dist/src/services/audit/scanners/rules-tree-scanner.js +0 -56
- package/dist/src/services/audit/scanners/skills-tree-scanner.d.ts +0 -17
- package/dist/src/services/audit/scanners/skills-tree-scanner.js +0 -68
- package/dist/src/services/audit/static-service.d.ts +0 -60
- package/dist/src/services/audit/static-service.js +0 -130
- package/dist/src/services/audit/types.d.ts +0 -86
- package/dist/src/services/audit/types.js +0 -13
- package/dist/src/services/audit-independent/perf-audit-service.d.ts +0 -151
- package/dist/src/services/audit-independent/perf-audit-service.js +0 -316
- package/dist/src/services/audit-independent/security-audit-service.d.ts +0 -155
- package/dist/src/services/audit-independent/security-audit-service.js +0 -316
- package/dist/src/services/classify/classify-service.d.ts +0 -42
- package/dist/src/services/classify/classify-service.js +0 -122
- package/dist/src/services/classify/classify-types.d.ts +0 -79
- package/dist/src/services/classify/classify-types.js +0 -90
- package/dist/src/services/code/auto-compact-orchestrator.d.ts +0 -98
- package/dist/src/services/code/auto-compact-orchestrator.js +0 -343
- package/dist/src/services/code/batch-heartbeat-poller.d.ts +0 -51
- package/dist/src/services/code/batch-heartbeat-poller.js +0 -88
- package/dist/src/services/code/dag-orchestrator.d.ts +0 -128
- package/dist/src/services/code/dag-orchestrator.js +0 -304
- package/dist/src/services/code/emit-handoff.d.ts +0 -49
- package/dist/src/services/code/emit-handoff.js +0 -79
- package/dist/src/services/code/job-shape-decision.d.ts +0 -71
- package/dist/src/services/code/job-shape-decision.js +0 -151
- package/dist/src/services/code/mode-gate.d.ts +0 -163
- package/dist/src/services/code/mode-gate.js +0 -212
- package/dist/src/services/code/post-compact-detector.d.ts +0 -61
- package/dist/src/services/code/post-compact-detector.js +0 -240
- package/dist/src/services/code/status-line-renderer.d.ts +0 -34
- package/dist/src/services/code/status-line-renderer.js +0 -55
- package/dist/src/services/code/step-08-gate.d.ts +0 -90
- package/dist/src/services/code/step-08-gate.js +0 -136
- package/dist/src/services/code/user-touchpoint-classifier.d.ts +0 -44
- package/dist/src/services/code/user-touchpoint-classifier.js +0 -145
- package/dist/src/services/code-review/ecc-bridge.d.ts +0 -148
- package/dist/src/services/code-review/ecc-bridge.js +0 -242
- package/dist/src/services/code-review/ocr-service.d.ts +0 -129
- package/dist/src/services/code-review/ocr-service.js +0 -369
- package/dist/src/services/codegraph/codegraph-process-runner.d.ts +0 -2
- package/dist/src/services/codegraph/codegraph-process-runner.js +0 -93
- package/dist/src/services/codegraph/codegraph-service.d.ts +0 -43
- package/dist/src/services/codegraph/codegraph-service.js +0 -160
- package/dist/src/services/compact/decision-tables.d.ts +0 -66
- package/dist/src/services/compact/decision-tables.js +0 -127
- package/dist/src/services/compact/request-transition-hook.d.ts +0 -20
- package/dist/src/services/compact/request-transition-hook.js +0 -110
- package/dist/src/services/compact/suggest-service.d.ts +0 -74
- package/dist/src/services/compact/suggest-service.js +0 -203
- package/dist/src/services/complexity/complexity-estimator.d.ts +0 -34
- package/dist/src/services/complexity/complexity-estimator.js +0 -64
- package/dist/src/services/config/config-migration.d.ts +0 -45
- package/dist/src/services/config/config-migration.js +0 -154
- package/dist/src/services/config/config-restore.d.ts +0 -10
- package/dist/src/services/config/config-restore.js +0 -47
- package/dist/src/services/config/config-rollback.d.ts +0 -13
- package/dist/src/services/config/config-rollback.js +0 -26
- package/dist/src/services/config/config-safety.d.ts +0 -40
- package/dist/src/services/config/config-safety.js +0 -359
- package/dist/src/services/config/config-service.d.ts +0 -69
- package/dist/src/services/config/config-service.js +0 -814
- package/dist/src/services/config/config-types.d.ts +0 -119
- package/dist/src/services/config/config-types.js +0 -18
- package/dist/src/services/config/model-routing.d.ts +0 -4
- package/dist/src/services/config/model-routing.js +0 -17
- package/dist/src/services/config/provider-service.d.ts +0 -48
- package/dist/src/services/config/provider-service.js +0 -143
- package/dist/src/services/config/proxy-service.d.ts +0 -21
- package/dist/src/services/config/proxy-service.js +0 -44
- package/dist/src/services/config/sidecar-store.d.ts +0 -25
- package/dist/src/services/config/sidecar-store.js +0 -61
- package/dist/src/services/config/workspace-state-service.d.ts +0 -30
- package/dist/src/services/config/workspace-state-service.js +0 -142
- package/dist/src/services/context/artifact-meta.d.ts +0 -72
- package/dist/src/services/context/artifact-meta.js +0 -105
- package/dist/src/services/context/auto-compact-dispatcher.d.ts +0 -37
- package/dist/src/services/context/auto-compact-dispatcher.js +0 -240
- package/dist/src/services/context/auto-compact-reader.d.ts +0 -51
- package/dist/src/services/context/auto-compact-reader.js +0 -164
- package/dist/src/services/context/auto-compact-types.d.ts +0 -143
- package/dist/src/services/context/auto-compact-types.js +0 -36
- package/dist/src/services/context/collector.d.ts +0 -24
- package/dist/src/services/context/collector.js +0 -133
- package/dist/src/services/context/context-builder.d.ts +0 -30
- package/dist/src/services/context/context-builder.js +0 -78
- package/dist/src/services/context/context-guard.d.ts +0 -49
- package/dist/src/services/context/context-guard.js +0 -91
- package/dist/src/services/context/context-schema.d.ts +0 -415
- package/dist/src/services/context/context-schema.js +0 -73
- package/dist/src/services/context/dispatch-context-guard.d.ts +0 -27
- package/dist/src/services/context/dispatch-context-guard.js +0 -192
- package/dist/src/services/context/doc-retriever.d.ts +0 -26
- package/dist/src/services/context/doc-retriever.js +0 -51
- package/dist/src/services/context/headroom-client.d.ts +0 -34
- package/dist/src/services/context/headroom-client.js +0 -117
- package/dist/src/services/context/headroom-fetcher.d.ts +0 -6
- package/dist/src/services/context/headroom-fetcher.js +0 -28
- package/dist/src/services/context/headroom-prefs.d.ts +0 -46
- package/dist/src/services/context/headroom-prefs.js +0 -34
- package/dist/src/services/context/index.d.ts +0 -7
- package/dist/src/services/context/index.js +0 -6
- package/dist/src/services/context/main-session-monitor.d.ts +0 -89
- package/dist/src/services/context/main-session-monitor.js +0 -142
- package/dist/src/services/context/renderer.d.ts +0 -20
- package/dist/src/services/context/renderer.js +0 -30
- package/dist/src/services/context/shared-channel.d.ts +0 -93
- package/dist/src/services/context/shared-channel.js +0 -308
- package/dist/src/services/context/threshold.d.ts +0 -35
- package/dist/src/services/context/threshold.js +0 -76
- package/dist/src/services/context/tokenizer.d.ts +0 -12
- package/dist/src/services/context/tokenizer.js +0 -43
- package/dist/src/services/context/types.d.ts +0 -93
- package/dist/src/services/context/types.js +0 -9
- package/dist/src/services/crystallization/crystallization-service.d.ts +0 -239
- package/dist/src/services/crystallization/crystallization-service.js +0 -397
- package/dist/src/services/crystallization/crystallization-store.d.ts +0 -75
- package/dist/src/services/crystallization/crystallization-store.js +0 -193
- package/dist/src/services/crystallization/crystallization-types.d.ts +0 -313
- package/dist/src/services/crystallization/crystallization-types.js +0 -299
- package/dist/src/services/crystallization/evidence-brief-builder.d.ts +0 -237
- package/dist/src/services/crystallization/evidence-brief-builder.js +0 -240
- package/dist/src/services/dashboard/project-dashboard-service.d.ts +0 -91
- package/dist/src/services/dashboard/project-dashboard-service.js +0 -147
- package/dist/src/services/dispatch/batch-counter.d.ts +0 -27
- package/dist/src/services/dispatch/batch-counter.js +0 -102
- package/dist/src/services/dispatch/contract-store.d.ts +0 -63
- package/dist/src/services/dispatch/contract-store.js +0 -157
- package/dist/src/services/dispatch/dispatch-record-writer.d.ts +0 -138
- package/dist/src/services/dispatch/dispatch-record-writer.js +0 -460
- package/dist/src/services/dispatch/heartbeat-truncator.d.ts +0 -26
- package/dist/src/services/dispatch/heartbeat-truncator.js +0 -13
- package/dist/src/services/dispatch/leak-detector.d.ts +0 -11
- package/dist/src/services/dispatch/leak-detector.js +0 -72
- package/dist/src/services/dispatch/slice-dag.d.ts +0 -81
- package/dist/src/services/dispatch/slice-dag.js +0 -238
- package/dist/src/services/dispatch/sub-agent-dispatcher.d.ts +0 -239
- package/dist/src/services/dispatch/sub-agent-dispatcher.js +0 -382
- package/dist/src/services/dispatch/test-tool-detection.d.ts +0 -36
- package/dist/src/services/dispatch/test-tool-detection.js +0 -46
- package/dist/src/services/doc/doc-generator.d.ts +0 -38
- package/dist/src/services/doc/doc-generator.js +0 -122
- package/dist/src/services/doctor/doctor-service.d.ts +0 -149
- package/dist/src/services/doctor/doctor-service.js +0 -929
- package/dist/src/services/evolution/evolution-service.d.ts +0 -137
- package/dist/src/services/evolution/evolution-service.js +0 -281
- package/dist/src/services/evolution/evolution-store.d.ts +0 -57
- package/dist/src/services/evolution/evolution-store.js +0 -232
- package/dist/src/services/evolution/evolution-types.d.ts +0 -706
- package/dist/src/services/evolution/evolution-types.js +0 -286
- package/dist/src/services/evolution/independent-evaluator-runner.d.ts +0 -90
- package/dist/src/services/evolution/independent-evaluator-runner.js +0 -106
- package/dist/src/services/evolution/regression-skeptic-runner.d.ts +0 -64
- package/dist/src/services/evolution/regression-skeptic-runner.js +0 -113
- package/dist/src/services/feedback/feedback-promotion-service.d.ts +0 -123
- package/dist/src/services/feedback/feedback-promotion-service.js +0 -300
- package/dist/src/services/filesystem/file-lock.d.ts +0 -11
- package/dist/src/services/filesystem/file-lock.js +0 -129
- package/dist/src/services/final-review/final-review-service.d.ts +0 -12
- package/dist/src/services/final-review/final-review-service.js +0 -52
- package/dist/src/services/final-review/final-review-types.d.ts +0 -42
- package/dist/src/services/final-review/final-review-types.js +0 -18
- package/dist/src/services/fixture/fixture-capture-service.d.ts +0 -87
- package/dist/src/services/fixture/fixture-capture-service.js +0 -317
- package/dist/src/services/fixture/fixture-sanitize-service.d.ts +0 -117
- package/dist/src/services/fixture/fixture-sanitize-service.js +0 -161
- package/dist/src/services/fixture/index.d.ts +0 -8
- package/dist/src/services/fixture/index.js +0 -8
- package/dist/src/services/fork/fork-sync-state.d.ts +0 -85
- package/dist/src/services/fork/fork-sync-state.js +0 -130
- package/dist/src/services/fuzzy-matching/fuzzy-match-service.d.ts +0 -15
- package/dist/src/services/fuzzy-matching/fuzzy-match-service.js +0 -56
- package/dist/src/services/fuzzy-matching/fzf-pick-service.d.ts +0 -68
- package/dist/src/services/fuzzy-matching/fzf-pick-service.js +0 -158
- package/dist/src/services/fuzzy-matching/types.d.ts +0 -20
- package/dist/src/services/fuzzy-matching/types.js +0 -1
- package/dist/src/services/handoff/handoff-parser.d.ts +0 -28
- package/dist/src/services/handoff/handoff-parser.js +0 -69
- package/dist/src/services/handoff/handoff-types.d.ts +0 -39
- package/dist/src/services/handoff/handoff-types.js +0 -19
- package/dist/src/services/handoff/handoff-writer.d.ts +0 -23
- package/dist/src/services/handoff/handoff-writer.js +0 -30
- package/dist/src/services/hooks/auto-compact-hook-install.d.ts +0 -104
- package/dist/src/services/hooks/auto-compact-hook-install.js +0 -157
- package/dist/src/services/hooks/output.d.ts +0 -92
- package/dist/src/services/hooks/output.js +0 -111
- package/dist/src/services/hooks/presence-marker-detector.d.ts +0 -16
- package/dist/src/services/hooks/presence-marker-detector.js +0 -105
- package/dist/src/services/ide/adapters/claude-code-adapter.d.ts +0 -18
- package/dist/src/services/ide/adapters/claude-code-adapter.js +0 -103
- package/dist/src/services/ide/adapters/codex-adapter.d.ts +0 -46
- package/dist/src/services/ide/adapters/codex-adapter.js +0 -97
- package/dist/src/services/ide/adapters/cursor-adapter.d.ts +0 -36
- package/dist/src/services/ide/adapters/cursor-adapter.js +0 -84
- package/dist/src/services/ide/adapters/hermes-adapter.d.ts +0 -21
- package/dist/src/services/ide/adapters/hermes-adapter.js +0 -51
- package/dist/src/services/ide/adapters/openclaw-adapter.d.ts +0 -14
- package/dist/src/services/ide/adapters/openclaw-adapter.js +0 -42
- package/dist/src/services/ide/adapters/trae-adapter.d.ts +0 -42
- package/dist/src/services/ide/adapters/trae-adapter.js +0 -83
- package/dist/src/services/ide/hook-protocol.d.ts +0 -47
- package/dist/src/services/ide/hook-protocol.js +0 -74
- package/dist/src/services/ide/hook-translator.d.ts +0 -72
- package/dist/src/services/ide/hook-translator.js +0 -128
- package/dist/src/services/ide/ide-detector.d.ts +0 -10
- package/dist/src/services/ide/ide-detector.js +0 -19
- package/dist/src/services/ide/ide-registry.d.ts +0 -14
- package/dist/src/services/ide/ide-registry.js +0 -60
- package/dist/src/services/ide/ide-types.d.ts +0 -230
- package/dist/src/services/ide/ide-types.js +0 -2
- package/dist/src/services/ide/resource-profile.d.ts +0 -52
- package/dist/src/services/ide/resource-profile.js +0 -33
- package/dist/src/services/ide/shared/atomic-json.d.ts +0 -15
- package/dist/src/services/ide/shared/atomic-json.js +0 -58
- package/dist/src/services/ide/shared/safe-path.d.ts +0 -11
- package/dist/src/services/ide/shared/safe-path.js +0 -29
- package/dist/src/services/impact/impact-scan-service.d.ts +0 -66
- package/dist/src/services/impact/impact-scan-service.js +0 -197
- package/dist/src/services/job/job-event-emitter.d.ts +0 -30
- package/dist/src/services/job/job-event-emitter.js +0 -5
- package/dist/src/services/job/job-orchestrator.d.ts +0 -50
- package/dist/src/services/job/job-orchestrator.js +0 -104
- package/dist/src/services/job/job-progress-store.d.ts +0 -60
- package/dist/src/services/job/job-progress-store.js +0 -70
- package/dist/src/services/job/job-resource-snapshot.d.ts +0 -7
- package/dist/src/services/job/job-resource-snapshot.js +0 -75
- package/dist/src/services/job/job-rotation.d.ts +0 -17
- package/dist/src/services/job/job-rotation.js +0 -30
- package/dist/src/services/job/job-state-store.d.ts +0 -24
- package/dist/src/services/job/job-state-store.js +0 -60
- package/dist/src/services/job/job-types.d.ts +0 -444
- package/dist/src/services/job/job-types.js +0 -87
- package/dist/src/services/job/subagent-job-wrapper.d.ts +0 -35
- package/dist/src/services/job/subagent-job-wrapper.js +0 -30
- package/dist/src/services/legacy/legacy-detector.d.ts +0 -34
- package/dist/src/services/legacy/legacy-detector.js +0 -111
- package/dist/src/services/log/log-commands-service.d.ts +0 -54
- package/dist/src/services/log/log-commands-service.js +0 -83
- package/dist/src/services/log/logger.d.ts +0 -103
- package/dist/src/services/log/logger.js +0 -224
- package/dist/src/services/log/redact.d.ts +0 -32
- package/dist/src/services/log/redact.js +0 -89
- package/dist/src/services/log/retention.d.ts +0 -34
- package/dist/src/services/log/retention.js +0 -78
- package/dist/src/services/loop/evaluator-dispatcher.d.ts +0 -50
- package/dist/src/services/loop/evaluator-dispatcher.js +0 -552
- package/dist/src/services/loop/loop-bee-relation-service.d.ts +0 -107
- package/dist/src/services/loop/loop-bee-relation-service.js +0 -211
- package/dist/src/services/loop/loop-bee-relation-store.d.ts +0 -53
- package/dist/src/services/loop/loop-bee-relation-store.js +0 -130
- package/dist/src/services/loop/loop-bee-relation-types.d.ts +0 -118
- package/dist/src/services/loop/loop-bee-relation-types.js +0 -114
- package/dist/src/services/loop/loop-release-service.d.ts +0 -46
- package/dist/src/services/loop/loop-release-service.js +0 -66
- package/dist/src/services/loop/loop-release-store.d.ts +0 -55
- package/dist/src/services/loop/loop-release-store.js +0 -134
- package/dist/src/services/loop/loop-release-types.d.ts +0 -250
- package/dist/src/services/loop/loop-release-types.js +0 -162
- package/dist/src/services/loop/monotonic-guard.d.ts +0 -80
- package/dist/src/services/loop/monotonic-guard.js +0 -232
- package/dist/src/services/loop/monotonic-runner.d.ts +0 -58
- package/dist/src/services/loop/monotonic-runner.js +0 -231
- package/dist/src/services/loop/run-driver.d.ts +0 -70
- package/dist/src/services/loop/run-driver.js +0 -400
- package/dist/src/services/loop/spec-service.d.ts +0 -90
- package/dist/src/services/loop/spec-service.js +0 -497
- package/dist/src/services/memory/llm-reranker.d.ts +0 -174
- package/dist/src/services/memory/llm-reranker.js +0 -284
- package/dist/src/services/memory/memory-search-service.d.ts +0 -93
- package/dist/src/services/memory/memory-search-service.js +0 -117
- package/dist/src/services/memory/project-context-service.d.ts +0 -11
- package/dist/src/services/memory/project-context-service.js +0 -148
- package/dist/src/services/memory/project-memory-service.d.ts +0 -167
- package/dist/src/services/memory/project-memory-service.js +0 -817
- package/dist/src/services/migrate-skill-name/migrate.d.ts +0 -17
- package/dist/src/services/migrate-skill-name/migrate.js +0 -152
- package/dist/src/services/migrate-skill-name/schema.d.ts +0 -42
- package/dist/src/services/migrate-skill-name/schema.js +0 -25
- package/dist/src/services/migration/v2-10-to-v2-11-service.d.ts +0 -44
- package/dist/src/services/migration/v2-10-to-v2-11-service.js +0 -190
- package/dist/src/services/migration/v2-10-to-v2-11-types.d.ts +0 -41
- package/dist/src/services/migration/v2-10-to-v2-11-types.js +0 -23
- package/dist/src/services/mode/bypass-tracker.d.ts +0 -4
- package/dist/src/services/mode/bypass-tracker.js +0 -31
- package/dist/src/services/mode/mode-enforcement.d.ts +0 -14
- package/dist/src/services/mode/mode-enforcement.js +0 -84
- package/dist/src/services/mut/assert-scanner.d.ts +0 -6
- package/dist/src/services/mut/assert-scanner.js +0 -116
- package/dist/src/services/mut/index.d.ts +0 -8
- package/dist/src/services/mut/index.js +0 -7
- package/dist/src/services/mut/mut-runner.d.ts +0 -39
- package/dist/src/services/mut/mut-runner.js +0 -29
- package/dist/src/services/mut/production-stryker.d.ts +0 -2
- package/dist/src/services/mut/production-stryker.js +0 -75
- package/dist/src/services/mut/report-builder.d.ts +0 -11
- package/dist/src/services/mut/report-builder.js +0 -110
- package/dist/src/services/mut/report-loader.d.ts +0 -31
- package/dist/src/services/mut/report-loader.js +0 -78
- package/dist/src/services/mut/thresholds.d.ts +0 -21
- package/dist/src/services/mut/thresholds.js +0 -22
- package/dist/src/services/mut/types.d.ts +0 -336
- package/dist/src/services/mut/types.js +0 -59
- package/dist/src/services/observability/aggregation.d.ts +0 -64
- package/dist/src/services/observability/aggregation.js +0 -217
- package/dist/src/services/observability/jsonl-store.d.ts +0 -59
- package/dist/src/services/observability/jsonl-store.js +0 -120
- package/dist/src/services/observability/observability-service.d.ts +0 -95
- package/dist/src/services/observability/observability-service.js +0 -119
- package/dist/src/services/observability/report-formatter.d.ts +0 -42
- package/dist/src/services/observability/report-formatter.js +0 -156
- package/dist/src/services/openspec/openspec-archive-service.d.ts +0 -12
- package/dist/src/services/openspec/openspec-archive-service.js +0 -28
- package/dist/src/services/openspec/openspec-bridge-service.d.ts +0 -16
- package/dist/src/services/openspec/openspec-bridge-service.js +0 -76
- package/dist/src/services/openspec/openspec-init-service.d.ts +0 -23
- package/dist/src/services/openspec/openspec-init-service.js +0 -122
- package/dist/src/services/openspec/openspec-propose-from-doctor-service.d.ts +0 -31
- package/dist/src/services/openspec/openspec-propose-from-doctor-service.js +0 -95
- package/dist/src/services/openspec/openspec-render-service.d.ts +0 -38
- package/dist/src/services/openspec/openspec-render-service.js +0 -130
- package/dist/src/services/openspec/openspec-scan-service.d.ts +0 -6
- package/dist/src/services/openspec/openspec-scan-service.js +0 -123
- package/dist/src/services/openspec/openspec-types.d.ts +0 -39
- package/dist/src/services/openspec/openspec-types.js +0 -1
- package/dist/src/services/openspec/openspec-validate-service.d.ts +0 -27
- package/dist/src/services/openspec/openspec-validate-service.js +0 -77
- package/dist/src/services/perf/perf-baseline-service.d.ts +0 -70
- package/dist/src/services/perf/perf-baseline-service.js +0 -214
- package/dist/src/services/polyrepo/polyrepo-dispatcher.d.ts +0 -34
- package/dist/src/services/polyrepo/polyrepo-dispatcher.js +0 -119
- package/dist/src/services/polyrepo/polyrepo-scanner.d.ts +0 -9
- package/dist/src/services/polyrepo/polyrepo-scanner.js +0 -94
- package/dist/src/services/polyrepo/polyrepo-service.d.ts +0 -34
- package/dist/src/services/polyrepo/polyrepo-service.js +0 -49
- package/dist/src/services/polyrepo/polyrepo-types.d.ts +0 -55
- package/dist/src/services/polyrepo/polyrepo-types.js +0 -1
- package/dist/src/services/prd/handoff-auto-regen.d.ts +0 -22
- package/dist/src/services/prd/handoff-auto-regen.js +0 -73
- package/dist/src/services/prd/handoff-service.d.ts +0 -54
- package/dist/src/services/prd/handoff-service.js +0 -142
- package/dist/src/services/prd/handoff-types.d.ts +0 -64
- package/dist/src/services/prd/handoff-types.js +0 -22
- package/dist/src/services/prd/prd-blocks-checker.d.ts +0 -51
- package/dist/src/services/prd/prd-blocks-checker.js +0 -130
- package/dist/src/services/prd/project-scan-reader.d.ts +0 -24
- package/dist/src/services/prd/project-scan-reader.js +0 -150
- package/dist/src/services/prd/project-scan-sediment.d.ts +0 -97
- package/dist/src/services/prd/project-scan-sediment.js +0 -445
- package/dist/src/services/prd/project-scan-types.d.ts +0 -66
- package/dist/src/services/prd/project-scan-types.js +0 -20
- package/dist/src/services/preferences/preferences-service.d.ts +0 -38
- package/dist/src/services/preferences/preferences-service.js +0 -198
- package/dist/src/services/preferences/preferences-types.d.ts +0 -148
- package/dist/src/services/preferences/preferences-types.js +0 -53
- package/dist/src/services/profiles/profile-service.d.ts +0 -6
- package/dist/src/services/profiles/profile-service.js +0 -19
- package/dist/src/services/progress/progress-service.d.ts +0 -125
- package/dist/src/services/progress/progress-service.js +0 -192
- package/dist/src/services/providers/minimax-provider-service.d.ts +0 -24
- package/dist/src/services/providers/minimax-provider-service.js +0 -143
- package/dist/src/services/providers/minimax-worker-service.d.ts +0 -21
- package/dist/src/services/providers/minimax-worker-service.js +0 -83
- package/dist/src/services/proxy/proxy-service.d.ts +0 -7
- package/dist/src/services/proxy/proxy-service.js +0 -31
- package/dist/src/services/qa/browser-event-logger.d.ts +0 -40
- package/dist/src/services/qa/browser-event-logger.js +0 -54
- package/dist/src/services/qa/browser-restart-detector.d.ts +0 -74
- package/dist/src/services/qa/browser-restart-detector.js +0 -138
- package/dist/src/services/qa/browser-reuse-hint.d.ts +0 -18
- package/dist/src/services/qa/browser-reuse-hint.js +0 -18
- package/dist/src/services/qa/browser-wrapper-service.d.ts +0 -37
- package/dist/src/services/qa/browser-wrapper-service.js +0 -88
- package/dist/src/services/qa/qa-business-review-state.d.ts +0 -47
- package/dist/src/services/qa/qa-business-review-state.js +0 -96
- package/dist/src/services/rd/ast-gate.d.ts +0 -19
- package/dist/src/services/rd/ast-gate.js +0 -71
- package/dist/src/services/rd/impl.d.ts +0 -9
- package/dist/src/services/rd/impl.js +0 -57
- package/dist/src/services/rd/rd-service.d.ts +0 -129
- package/dist/src/services/rd/rd-service.js +0 -438
- package/dist/src/services/rd/reviewer-dispatch-policy.d.ts +0 -122
- package/dist/src/services/rd/reviewer-dispatch-policy.js +0 -148
- package/dist/src/services/rd/standards-diagnostic.d.ts +0 -76
- package/dist/src/services/rd/standards-diagnostic.js +0 -166
- package/dist/src/services/rd/strategic-stage.d.ts +0 -4
- package/dist/src/services/rd/strategic-stage.js +0 -15
- package/dist/src/services/rd/strategy.d.ts +0 -13
- package/dist/src/services/rd/strategy.js +0 -60
- package/dist/src/services/rd/tactical-stage.d.ts +0 -33
- package/dist/src/services/rd/tactical-stage.js +0 -62
- package/dist/src/services/rd/types.d.ts +0 -252
- package/dist/src/services/rd/types.js +0 -47
- package/dist/src/services/recommendations/capability-availability.d.ts +0 -5
- package/dist/src/services/recommendations/capability-availability.js +0 -40
- package/dist/src/services/recommendations/capability-map-service.d.ts +0 -7
- package/dist/src/services/recommendations/capability-map-service.js +0 -131
- package/dist/src/services/recommendations/capability-seed-items.d.ts +0 -2
- package/dist/src/services/recommendations/capability-seed-items.js +0 -140
- package/dist/src/services/recommendations/capability-seed-mappings.d.ts +0 -2
- package/dist/src/services/recommendations/capability-seed-mappings.js +0 -54
- package/dist/src/services/recommendations/capability-seed-sources.d.ts +0 -2
- package/dist/src/services/recommendations/capability-seed-sources.js +0 -35
- package/dist/src/services/recommendations/recommendation-service.d.ts +0 -8
- package/dist/src/services/recommendations/recommendation-service.js +0 -106
- package/dist/src/services/recommendations/recommendation-types.d.ts +0 -129
- package/dist/src/services/recommendations/recommendation-types.js +0 -1
- package/dist/src/services/recommendations/seed-capability-catalog.d.ts +0 -3
- package/dist/src/services/recommendations/seed-capability-catalog.js +0 -3
- package/dist/src/services/refactor/refactor-service.d.ts +0 -9
- package/dist/src/services/refactor/refactor-service.js +0 -36
- package/dist/src/services/release/release-state.d.ts +0 -70
- package/dist/src/services/release/release-state.js +0 -140
- package/dist/src/services/retrospective/retrospective-index.d.ts +0 -37
- package/dist/src/services/retrospective/retrospective-index.js +0 -110
- package/dist/src/services/retrospective/retrospective-search-service.d.ts +0 -55
- package/dist/src/services/retrospective/retrospective-search-service.js +0 -107
- package/dist/src/services/retrospective/retrospective-show.d.ts +0 -40
- package/dist/src/services/retrospective/retrospective-show.js +0 -109
- package/dist/src/services/reviewer/model-family.d.ts +0 -18
- package/dist/src/services/reviewer/model-family.js +0 -70
- package/dist/src/services/reviewer/providers/anthropic.d.ts +0 -2
- package/dist/src/services/reviewer/providers/anthropic.js +0 -61
- package/dist/src/services/reviewer/providers/ollama.d.ts +0 -26
- package/dist/src/services/reviewer/providers/ollama.js +0 -38
- package/dist/src/services/reviewer/providers/openai.d.ts +0 -2
- package/dist/src/services/reviewer/providers/openai.js +0 -63
- package/dist/src/services/reviewer/reviewer-config.d.ts +0 -34
- package/dist/src/services/reviewer/reviewer-config.js +0 -100
- package/dist/src/services/reviewer/reviewer-service.d.ts +0 -56
- package/dist/src/services/reviewer/reviewer-service.js +0 -263
- package/dist/src/services/reviewer/selection-strategies.d.ts +0 -27
- package/dist/src/services/reviewer/selection-strategies.js +0 -53
- package/dist/src/services/role/role-registry.d.ts +0 -38
- package/dist/src/services/role/role-registry.js +0 -83
- package/dist/src/services/runtime/runtime-detector.d.ts +0 -15
- package/dist/src/services/runtime/runtime-detector.js +0 -62
- package/dist/src/services/runtime/runtime-service.d.ts +0 -59
- package/dist/src/services/runtime/runtime-service.js +0 -51
- package/dist/src/services/runtime/vendor-adapter.d.ts +0 -59
- package/dist/src/services/runtime/vendor-adapter.js +0 -1
- package/dist/src/services/runtime/vendors/claude-code.d.ts +0 -7
- package/dist/src/services/runtime/vendors/claude-code.js +0 -39
- package/dist/src/services/runtime/vendors/codex.d.ts +0 -7
- package/dist/src/services/runtime/vendors/codex.js +0 -43
- package/dist/src/services/runtime/vendors/copilot.d.ts +0 -7
- package/dist/src/services/runtime/vendors/copilot.js +0 -40
- package/dist/src/services/sc/index.d.ts +0 -1
- package/dist/src/services/sc/index.js +0 -1
- package/dist/src/services/sc/sc-service.d.ts +0 -131
- package/dist/src/services/sc/sc-service.js +0 -552
- package/dist/src/services/scan/acceptance-coverage-service.d.ts +0 -42
- package/dist/src/services/scan/acceptance-coverage-service.js +0 -140
- package/dist/src/services/scan/api-surface-service.d.ts +0 -69
- package/dist/src/services/scan/api-surface-service.js +0 -239
- package/dist/src/services/scan/archetype-service.d.ts +0 -5
- package/dist/src/services/scan/archetype-service.js +0 -242
- package/dist/src/services/scan/diff-scope-service.d.ts +0 -40
- package/dist/src/services/scan/diff-scope-service.js +0 -198
- package/dist/src/services/scan/existing-system-service.d.ts +0 -7
- package/dist/src/services/scan/existing-system-service.js +0 -300
- package/dist/src/services/scan/file-size-scan.d.ts +0 -23
- package/dist/src/services/scan/file-size-scan.js +0 -68
- package/dist/src/services/scan/karpathy-service.d.ts +0 -60
- package/dist/src/services/scan/karpathy-service.js +0 -228
- package/dist/src/services/scan/libraries-service.d.ts +0 -24
- package/dist/src/services/scan/libraries-service.js +0 -419
- package/dist/src/services/scan/libraries-types.d.ts +0 -59
- package/dist/src/services/scan/libraries-types.js +0 -9
- package/dist/src/services/scan/orphan-service.d.ts +0 -76
- package/dist/src/services/scan/orphan-service.js +0 -538
- package/dist/src/services/scan/scan-types.d.ts +0 -59
- package/dist/src/services/scan/scan-types.js +0 -1
- package/dist/src/services/scan/type-sanity-service.d.ts +0 -23
- package/dist/src/services/scan/type-sanity-service.js +0 -116
- package/dist/src/services/security/safe-settings-path.d.ts +0 -12
- package/dist/src/services/security/safe-settings-path.js +0 -104
- package/dist/src/services/sediment/dispose-confirm.d.ts +0 -9
- package/dist/src/services/sediment/dispose-confirm.js +0 -5
- package/dist/src/services/sediment/json-schema.d.ts +0 -247
- package/dist/src/services/sediment/json-schema.js +0 -26
- package/dist/src/services/sediment/manifest-lint.d.ts +0 -13
- package/dist/src/services/sediment/manifest-lint.js +0 -11
- package/dist/src/services/sediment/pool-paths.d.ts +0 -22
- package/dist/src/services/sediment/pool-paths.js +0 -25
- package/dist/src/services/sediment/pool-read.d.ts +0 -20
- package/dist/src/services/sediment/pool-read.js +0 -73
- package/dist/src/services/sediment/pool-rebuild-index.d.ts +0 -15
- package/dist/src/services/sediment/pool-rebuild-index.js +0 -28
- package/dist/src/services/sediment/pool-write.d.ts +0 -14
- package/dist/src/services/sediment/pool-write.js +0 -25
- package/dist/src/services/sediment/promotion-gate.d.ts +0 -12
- package/dist/src/services/sediment/promotion-gate.js +0 -20
- package/dist/src/services/sediment/types.d.ts +0 -52
- package/dist/src/services/sediment/types.js +0 -1
- package/dist/src/services/session/binding-status-service.d.ts +0 -56
- package/dist/src/services/session/binding-status-service.js +0 -106
- package/dist/src/services/session/binding-store.d.ts +0 -161
- package/dist/src/services/session/binding-store.js +0 -509
- package/dist/src/services/session/caller-binding-service.d.ts +0 -70
- package/dist/src/services/session/caller-binding-service.js +0 -148
- package/dist/src/services/session/caller-id-types.d.ts +0 -77
- package/dist/src/services/session/caller-id-types.js +0 -46
- package/dist/src/services/session/getSessionDir.d.ts +0 -1
- package/dist/src/services/session/getSessionDir.js +0 -27
- package/dist/src/services/session/index.d.ts +0 -6
- package/dist/src/services/session/index.js +0 -7
- package/dist/src/services/session/platform-fallbacks.d.ts +0 -31
- package/dist/src/services/session/platform-fallbacks.js +0 -35
- package/dist/src/services/session/resolve-caller-id.d.ts +0 -57
- package/dist/src/services/session/resolve-caller-id.js +0 -88
- package/dist/src/services/session/session-binding-bridge.d.ts +0 -76
- package/dist/src/services/session/session-binding-bridge.js +0 -247
- package/dist/src/services/session/session-checkpoint-service.d.ts +0 -57
- package/dist/src/services/session/session-checkpoint-service.js +0 -143
- package/dist/src/services/session/session-manager.d.ts +0 -168
- package/dist/src/services/session/session-manager.js +0 -502
- package/dist/src/services/session/session-resume-service.d.ts +0 -25
- package/dist/src/services/session/session-resume-service.js +0 -101
- package/dist/src/services/share/bundle-reader.d.ts +0 -100
- package/dist/src/services/share/bundle-reader.js +0 -434
- package/dist/src/services/share/bundle-types.d.ts +0 -392
- package/dist/src/services/share/bundle-types.js +0 -318
- package/dist/src/services/share/bundle-writer.d.ts +0 -97
- package/dist/src/services/share/bundle-writer.js +0 -429
- package/dist/src/services/share/run-state-contract.d.ts +0 -133
- package/dist/src/services/share/run-state-contract.js +0 -138
- package/dist/src/services/signal/cancel-handler.d.ts +0 -14
- package/dist/src/services/signal/cancel-handler.js +0 -76
- package/dist/src/services/skill/resume-detector.d.ts +0 -54
- package/dist/src/services/skill/resume-detector.js +0 -334
- package/dist/src/services/skill/skill-scheduler.d.ts +0 -40
- package/dist/src/services/skill/skill-scheduler.js +0 -53
- package/dist/src/services/skill/skill-search-service.d.ts +0 -88
- package/dist/src/services/skill/skill-search-service.js +0 -228
- package/dist/src/services/skillhub/release-diff.d.ts +0 -18
- package/dist/src/services/skillhub/release-diff.js +0 -38
- package/dist/src/services/skillhub/release-export.d.ts +0 -8
- package/dist/src/services/skillhub/release-export.js +0 -31
- package/dist/src/services/skillhub/release-gc-blobs.d.ts +0 -13
- package/dist/src/services/skillhub/release-gc-blobs.js +0 -32
- package/dist/src/services/skillhub/release-import.d.ts +0 -7
- package/dist/src/services/skillhub/release-import.js +0 -64
- package/dist/src/services/skillhub/release-retain.d.ts +0 -23
- package/dist/src/services/skillhub/release-retain.js +0 -94
- package/dist/src/services/skillhub/sqlite-store.d.ts +0 -22
- package/dist/src/services/skillhub/sqlite-store.js +0 -63
- package/dist/src/services/skillhub/tar-runtime.d.ts +0 -21
- package/dist/src/services/skillhub/tar-runtime.js +0 -91
- package/dist/src/services/skillhub/types.d.ts +0 -115
- package/dist/src/services/skillhub/types.js +0 -1
- package/dist/src/services/skills/hooks-settings-service.d.ts +0 -137
- package/dist/src/services/skills/hooks-settings-service.js +0 -396
- package/dist/src/services/skills/skill-conformance-service.d.ts +0 -40
- package/dist/src/services/skills/skill-conformance-service.js +0 -139
- package/dist/src/services/skills/skill-presence-service.d.ts +0 -158
- package/dist/src/services/skills/skill-presence-service.js +0 -474
- package/dist/src/services/skills/skill-registry.d.ts +0 -17
- package/dist/src/services/skills/skill-registry.js +0 -67
- package/dist/src/services/skills/skill-runbook-service.d.ts +0 -11
- package/dist/src/services/skills/skill-runbook-service.js +0 -128
- package/dist/src/services/skills/skill-statusline-renderer.d.ts +0 -6
- package/dist/src/services/skills/skill-statusline-renderer.js +0 -55
- package/dist/src/services/skills/skill-statusline-service.d.ts +0 -24
- package/dist/src/services/skills/skill-statusline-service.js +0 -110
- package/dist/src/services/skills/statusline-settings-service.d.ts +0 -59
- package/dist/src/services/skills/statusline-settings-service.js +0 -141
- package/dist/src/services/skills/sync-service.d.ts +0 -86
- package/dist/src/services/skills/sync-service.js +0 -271
- package/dist/src/services/slice/calibration-store.d.ts +0 -39
- package/dist/src/services/slice/calibration-store.js +0 -68
- package/dist/src/services/slice/cross-pass-edge-merger.d.ts +0 -53
- package/dist/src/services/slice/cross-pass-edge-merger.js +0 -246
- package/dist/src/services/slice/granularity-decider.d.ts +0 -37
- package/dist/src/services/slice/granularity-decider.js +0 -40
- package/dist/src/services/slice/llm-arbitrator.d.ts +0 -35
- package/dist/src/services/slice/llm-arbitrator.js +0 -63
- package/dist/src/services/slice/multi-pass-orchestrator.d.ts +0 -67
- package/dist/src/services/slice/multi-pass-orchestrator.js +0 -225
- package/dist/src/services/slice/schema-router.d.ts +0 -44
- package/dist/src/services/slice/schema-router.js +0 -61
- package/dist/src/services/slice/slice-archive-service.d.ts +0 -20
- package/dist/src/services/slice/slice-archive-service.js +0 -111
- package/dist/src/services/slice/slice-benchmark-service.d.ts +0 -19
- package/dist/src/services/slice/slice-benchmark-service.js +0 -60
- package/dist/src/services/slice/slice-check-service.d.ts +0 -2
- package/dist/src/services/slice/slice-check-service.js +0 -459
- package/dist/src/services/slice/slice-check-types.d.ts +0 -104
- package/dist/src/services/slice/slice-check-types.js +0 -28
- package/dist/src/services/slice/slice-decompose-runners.d.ts +0 -23
- package/dist/src/services/slice/slice-decompose-runners.js +0 -174
- package/dist/src/services/slice/slice-decompose-service.d.ts +0 -24
- package/dist/src/services/slice/slice-decompose-service.js +0 -532
- package/dist/src/services/slice/slice-decompose-types.d.ts +0 -263
- package/dist/src/services/slice/slice-decompose-types.js +0 -30
- package/dist/src/services/slice/slice-integration.d.ts +0 -43
- package/dist/src/services/slice/slice-integration.js +0 -106
- package/dist/src/services/slice/slice-pick-service.d.ts +0 -32
- package/dist/src/services/slice/slice-pick-service.js +0 -75
- package/dist/src/services/slice/slice-review-state.d.ts +0 -70
- package/dist/src/services/slice/slice-review-state.js +0 -109
- package/dist/src/services/slice/slice-topology-types.d.ts +0 -115
- package/dist/src/services/slice/slice-topology-types.js +0 -20
- package/dist/src/services/smoke/smoke-paths-state.d.ts +0 -73
- package/dist/src/services/smoke/smoke-paths-state.js +0 -117
- package/dist/src/services/sop/gate-enforce-service.d.ts +0 -33
- package/dist/src/services/sop/gate-enforce-service.js +0 -168
- package/dist/src/services/sop/sop-advance-service.d.ts +0 -74
- package/dist/src/services/sop/sop-advance-service.js +0 -115
- package/dist/src/services/sop/sop-check-service.d.ts +0 -45
- package/dist/src/services/sop/sop-check-service.js +0 -181
- package/dist/src/services/sop/sop-paths.d.ts +0 -62
- package/dist/src/services/sop/sop-paths.js +0 -92
- package/dist/src/services/sop/sop-registry-service.d.ts +0 -46
- package/dist/src/services/sop/sop-registry-service.js +0 -89
- package/dist/src/services/sop/sop-service.d.ts +0 -55
- package/dist/src/services/sop/sop-service.js +0 -222
- package/dist/src/services/sop/sop-types.d.ts +0 -95
- package/dist/src/services/sop/sop-types.js +0 -11
- package/dist/src/services/standards/ide-aware-standards-service.d.ts +0 -94
- package/dist/src/services/standards/ide-aware-standards-service.js +0 -89
- package/dist/src/services/standards/loop-engineering-lint.d.ts +0 -38
- package/dist/src/services/standards/loop-engineering-lint.js +0 -101
- package/dist/src/services/standards/loop-engineering-readiness-lint.d.ts +0 -111
- package/dist/src/services/standards/loop-engineering-readiness-lint.js +0 -248
- package/dist/src/services/standards/migrate-claude-rules-service.d.ts +0 -19
- package/dist/src/services/standards/migrate-claude-rules-service.js +0 -193
- package/dist/src/services/standards/migrate-service.d.ts +0 -63
- package/dist/src/services/standards/migrate-service.js +0 -193
- package/dist/src/services/standards/missing-standards-detector.d.ts +0 -79
- package/dist/src/services/standards/missing-standards-detector.js +0 -132
- package/dist/src/services/standards/project-context.d.ts +0 -24
- package/dist/src/services/standards/project-context.js +0 -314
- package/dist/src/services/standards/project-standards-service.d.ts +0 -114
- package/dist/src/services/standards/project-standards-service.js +0 -574
- package/dist/src/services/tech/tech-service.d.ts +0 -69
- package/dist/src/services/tech/tech-service.js +0 -299
- package/dist/src/services/test-cache/test-cache-service.d.ts +0 -70
- package/dist/src/services/test-cache/test-cache-service.js +0 -175
- package/dist/src/services/understand/hybrid-types.d.ts +0 -32
- package/dist/src/services/understand/hybrid-types.js +0 -1
- package/dist/src/services/understand/understand-hybrid-service.d.ts +0 -10
- package/dist/src/services/understand/understand-hybrid-service.js +0 -100
- package/dist/src/services/understand/understand-scan-service.d.ts +0 -28
- package/dist/src/services/understand/understand-scan-service.js +0 -170
- package/dist/src/services/understand/understand-types.d.ts +0 -50
- package/dist/src/services/understand/understand-types.js +0 -1
- package/dist/src/services/upgrade/1x-detector-service.d.ts +0 -7
- package/dist/src/services/upgrade/1x-detector-service.js +0 -94
- package/dist/src/services/upgrade/gitignore-migrate-service.d.ts +0 -56
- package/dist/src/services/upgrade/gitignore-migrate-service.js +0 -170
- package/dist/src/services/upgrade/upgrade-service.d.ts +0 -81
- package/dist/src/services/upgrade/upgrade-service.js +0 -403
- package/dist/src/services/verdict/envelopes.d.ts +0 -93
- package/dist/src/services/verdict/envelopes.js +0 -349
- package/dist/src/services/verdict/verdict-aggregator.d.ts +0 -94
- package/dist/src/services/verdict/verdict-aggregator.js +0 -112
- package/dist/src/services/workflow/artifact-paths.d.ts +0 -59
- package/dist/src/services/workflow/artifact-paths.js +0 -166
- package/dist/src/services/workflow/autonomous-resume-writer.d.ts +0 -16
- package/dist/src/services/workflow/autonomous-resume-writer.js +0 -170
- package/dist/src/services/workflow/pipeline-verify-service.d.ts +0 -90
- package/dist/src/services/workflow/pipeline-verify-service.js +0 -449
- package/dist/src/services/workflow/plan-reader.d.ts +0 -29
- package/dist/src/services/workflow/plan-reader.js +0 -174
- package/dist/src/services/workflow/plan-refresher.d.ts +0 -32
- package/dist/src/services/workflow/plan-refresher.js +0 -353
- package/dist/src/services/workflow/plan-trigger-detector.d.ts +0 -55
- package/dist/src/services/workflow/plan-trigger-detector.js +0 -142
- package/dist/src/services/workflow/workflow-autonomous-resume-helpers.d.ts +0 -19
- package/dist/src/services/workflow/workflow-autonomous-resume-helpers.js +0 -300
- package/dist/src/services/workflow/workflow-autonomous-service.d.ts +0 -100
- package/dist/src/services/workflow/workflow-autonomous-service.js +0 -306
- package/dist/src/services/workflow/workflow-loader.d.ts +0 -63
- package/dist/src/services/workflow/workflow-loader.js +0 -168
- package/dist/src/services/workflow/workflow-router-service.d.ts +0 -85
- package/dist/src/services/workflow/workflow-router-service.js +0 -227
- package/dist/src/services/workflow/workflow-skip-service.d.ts +0 -106
- package/dist/src/services/workflow/workflow-skip-service.js +0 -209
- package/dist/src/services/workflow/workflow-spec.d.ts +0 -116
- package/dist/src/services/workflow/workflow-spec.js +0 -431
- package/dist/src/services/workflow/workflow-state-store.d.ts +0 -27
- package/dist/src/services/workflow/workflow-state-store.js +0 -95
- package/dist/src/services/workspace/claude-settings-template.d.ts +0 -101
- package/dist/src/services/workspace/claude-settings-template.js +0 -254
- package/dist/src/services/workspace/migrate-1-4-1-service.d.ts +0 -44
- package/dist/src/services/workspace/migrate-1-4-1-service.js +0 -195
- package/dist/src/services/workspace/migrate-service.d.ts +0 -2
- package/dist/src/services/workspace/migrate-service.js +0 -613
- package/dist/src/services/workspace/migrate-types.d.ts +0 -127
- package/dist/src/services/workspace/migrate-types.js +0 -21
- package/dist/src/services/workspace/reconcile-service.d.ts +0 -188
- package/dist/src/services/workspace/reconcile-service.js +0 -683
- package/dist/src/services/workspace/reconcile-types.d.ts +0 -130
- package/dist/src/services/workspace/reconcile-types.js +0 -13
- package/dist/src/services/workspace/sid-naming-guard.d.ts +0 -17
- package/dist/src/services/workspace/sid-naming-guard.js +0 -34
- package/dist/src/services/workspace/workspace-claude-settings-materializer.d.ts +0 -45
- package/dist/src/services/workspace/workspace-claude-settings-materializer.js +0 -194
- package/dist/src/services/workspace/workspace-clean-service.d.ts +0 -28
- package/dist/src/services/workspace/workspace-clean-service.js +0 -46
- package/dist/src/services/workspace/workspace-service.d.ts +0 -177
- package/dist/src/services/workspace/workspace-service.js +0 -432
- package/dist/src/services/workspace/workspace-state-service.d.ts +0 -7
- package/dist/src/services/workspace/workspace-state-service.js +0 -43
- package/dist/src/shared/format-md-compact.d.ts +0 -32
- package/dist/src/shared/format-md-compact.js +0 -297
- package/dist/src/shared/frontmatter.d.ts +0 -6
- package/dist/src/shared/frontmatter.js +0 -165
- package/dist/src/shared/fs-utils.d.ts +0 -4
- package/dist/src/shared/fs-utils.js +0 -16
- package/dist/src/shared/fs.d.ts +0 -4
- package/dist/src/shared/fs.js +0 -26
- package/dist/src/shared/incrementing-number.d.ts +0 -23
- package/dist/src/shared/incrementing-number.js +0 -68
- package/dist/src/shared/json-schema-mini.d.ts +0 -10
- package/dist/src/shared/json-schema-mini.js +0 -113
- package/dist/src/shared/path-safety.d.ts +0 -21
- package/dist/src/shared/path-safety.js +0 -54
- package/dist/src/shared/path-utils.d.ts +0 -13
- package/dist/src/shared/path-utils.js +0 -56
- package/dist/src/shared/paths.d.ts +0 -6
- package/dist/src/shared/paths.js +0 -50
- package/dist/src/shared/planner-response.d.ts +0 -21
- package/dist/src/shared/planner-response.js +0 -26
- package/dist/src/shared/platform.d.ts +0 -6
- package/dist/src/shared/platform.js +0 -11
- package/dist/src/shared/process.d.ts +0 -5
- package/dist/src/shared/process.js +0 -12
- package/dist/src/shared/result.d.ts +0 -22
- package/dist/src/shared/result.js +0 -46
- package/dist/src/shared/stale-policy.d.ts +0 -67
- package/dist/src/shared/stale-policy.js +0 -85
- package/dist/src/shared/version.d.ts +0 -1
- package/dist/src/shared/version.js +0 -1
- package/dist/src/skills/peaks-maker/index.d.ts +0 -5
- package/dist/src/skills/peaks-maker/index.js +0 -32
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs';
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { getSessionMeta, rotateSessionBinding, setSessionTitle, listSessionMetas } from '../../../services/session/session-manager.js';
|
|
4
|
-
import { resolveCanonicalProjectRoot } from '../../../services/config/config-service.js';
|
|
5
|
-
import { findProjectRoot } from '../../../services/config/config-safety.js';
|
|
6
|
-
import { fail, ok } from '../../../shared/result.js';
|
|
7
|
-
import { addJsonOption, getErrorMessage, printResult } from '../../cli-helpers.js';
|
|
8
|
-
// Slice 2026-07-01-strategic-compact-cli fix: register the
|
|
9
|
-
// `peaks session checkpoint` and `peaks session resume` subcommands
|
|
10
|
-
// EAGERLY so they appear in `peaks session --help` output. The
|
|
11
|
-
// previous lazy import ran AFTER commander had already produced
|
|
12
|
-
// the help text, so an LLM calling `peaks <TAB>`-discovery never
|
|
13
|
-
// saw them — they were effectively hidden.
|
|
14
|
-
import { registerSessionCheckpointCommand } from '../session-checkpoint-command.js';
|
|
15
|
-
import { registerSessionResumeCommand } from '../session-resume-command.js';
|
|
16
|
-
import { registerSessionAutoCompactHookCommand } from '../session-auto-compact-hook-command.js';
|
|
17
|
-
// Slice 2 of the peaks-code → peaks-code rename plan: register the
|
|
18
|
-
// `peaks session migrate-skill-name` subcommand eagerly alongside
|
|
19
|
-
// checkpoint / resume / auto-compact-hook so it appears in
|
|
20
|
-
// `peaks session --help` for LLM `<TAB>`-discovery. See
|
|
21
|
-
// src/services/migrate-skill-name/.
|
|
22
|
-
import { registerSessionMigrateSkillNameCommand } from '../session-migrate-skill-name.js';
|
|
23
|
-
export function registerSessionCommand(program, io) {
|
|
24
|
-
const session = program.command('session').description('Manage Peaks session directories');
|
|
25
|
-
addJsonOption(session
|
|
26
|
-
.command('list')
|
|
27
|
-
.description('List all session directories with titles and metadata')).action((options) => {
|
|
28
|
-
const projectRoot = findProjectRoot(process.cwd()) ?? process.cwd();
|
|
29
|
-
const metas = listSessionMetas(projectRoot);
|
|
30
|
-
printResult(io, ok('session.list', { sessions: metas, total: metas.length }), options.json);
|
|
31
|
-
});
|
|
32
|
-
addJsonOption(session
|
|
33
|
-
.command('info [sessionId]')
|
|
34
|
-
.description('Show full metadata for a session directory. Pass --active to resolve the canonical binding from .peaks/_runtime/session.json (the "one command a sub-agent runs to find the parent\'s sid" primitive). Slice 021: --active is the SOLE authoritative way to look up the active session id; the on-disk file path is internal and must NOT be `cat`-ed directly.')
|
|
35
|
-
.option('--active', 'resolve the canonical session id from .peaks/_runtime/session.json (ignores [sessionId] when set)')
|
|
36
|
-
.option('--project <path>', 'target project root (defaults to git root or cwd). Slice 021: lets sub-agents skip the cwd heuristic and look up the binding for a specific repo.')
|
|
37
|
-
// Slice 020 — caller-keyed session binding. The --caller-id flag
|
|
38
|
-
// overrides the per-process PEAKS_CALLER_ID env var and the
|
|
39
|
-
// PLATFORM_FALLBACKS table (D4 priority). The resolved callerId is
|
|
40
|
-
// surfaced in the JSON envelope so callers can confirm what was
|
|
41
|
-
// resolved without re-deriving it.
|
|
42
|
-
.option('--caller-id <id>', 'Override the caller id for this invocation (D4 priority: flag beats env beats platform fallback). When set, the response envelope includes the resolved callerId.')).action(async (sessionId, options) => {
|
|
43
|
-
// Slice 021: --project wins; otherwise the git-root / cwd fallback
|
|
44
|
-
// (matches the pre-021 behaviour so the existing slice-020 / slice-007
|
|
45
|
-
// sub-agent flow keeps working unchanged).
|
|
46
|
-
const projectRoot = options.project !== undefined
|
|
47
|
-
? resolveCanonicalProjectRoot(options.project)
|
|
48
|
-
: (findProjectRoot(process.cwd()) ?? process.cwd());
|
|
49
|
-
// Slice 020 — resolve the callerId up front when the flag was passed.
|
|
50
|
-
// We use `resolveCallerId` for D1/D5 validation; an invalid flag
|
|
51
|
-
// throws CallerIdError (D5 → exit 65). A missing flag and no env
|
|
52
|
-
// and no fallback also throws (D2 → exit 64). The resolved id is
|
|
53
|
-
// surfaced in the envelope so the caller can audit.
|
|
54
|
-
if (options.callerId !== undefined) {
|
|
55
|
-
const { resolveCallerId, CallerIdError } = await import('../../../services/session/resolve-caller-id.js');
|
|
56
|
-
let callerId;
|
|
57
|
-
try {
|
|
58
|
-
callerId = resolveCallerId({ flagValue: options.callerId });
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
if (error instanceof CallerIdError) {
|
|
62
|
-
const code = error.code === 'EX_USAGE' ? 64 : 65;
|
|
63
|
-
printResult(io, fail('session.info', 'CALLER_ID_INVALID', error.message, { source: error.source }, [`Set --caller-id to a value matching ^[a-zA-Z0-9._-]{1,200}$`, 'Or set PEAKS_CALLER_ID env var (or CLAUDE_CODE_SESSION_ID for Claude Code)']), options.json);
|
|
64
|
-
process.exitCode = code;
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
throw error;
|
|
68
|
-
}
|
|
69
|
-
// Surface the resolved id in the envelope. When --active is also
|
|
70
|
-
// passed, look up the binding for this callerId; otherwise
|
|
71
|
-
// just emit the resolved id so the caller knows what was used.
|
|
72
|
-
if (options.active === true) {
|
|
73
|
-
const { getSessionIdCanonical } = await import('../../../services/session/session-manager.js');
|
|
74
|
-
const { getCallerBinding } = await import('../../../services/session/caller-binding-service.js');
|
|
75
|
-
const activeSid = getSessionIdCanonical(projectRoot);
|
|
76
|
-
const callerBinding = getCallerBinding(projectRoot, callerId);
|
|
77
|
-
// Slice 021: source is the enum that the unified --active primitive
|
|
78
|
-
// reports. Callers / migration tooling can detect pre-migration trees
|
|
79
|
-
// by inspecting `source === 'legacy'`.
|
|
80
|
-
const bindingSource = existsSync(join(projectRoot, '.peaks', '_runtime', 'session.json'))
|
|
81
|
-
? 'canonical'
|
|
82
|
-
: 'legacy';
|
|
83
|
-
printResult(io, ok('session.info', {
|
|
84
|
-
active: true,
|
|
85
|
-
sessionId: activeSid,
|
|
86
|
-
callerId,
|
|
87
|
-
callerBindingPeakSessionId: callerBinding?.peakSessionId ?? null,
|
|
88
|
-
source: bindingSource
|
|
89
|
-
}), options.json);
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
printResult(io, ok('session.info', { callerId, note: '--caller-id resolved; pass --active to also look up the bound peak session' }), options.json);
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
// Slice 007 + slice 021 — sub-agent session sharing. A sub-agent that
|
|
96
|
-
// does not know the parent's sid reads it from the binding via
|
|
97
|
-
// `peaks session info --active`. Slice 021 turned this into the
|
|
98
|
-
// SOLE authoritative discovery primitive: it composes on
|
|
99
|
-
// getSessionIdCanonical (canonicalize-on-read; handles the stored
|
|
100
|
-
// "projectRoot: '.'" vs caller-passed absolute realpath mismatch
|
|
101
|
-
// that the F22 fix addressed) AND falls through to getSessionId
|
|
102
|
-
// (strict-equality) for callers on the original contract. NEITHER
|
|
103
|
-
// path may call ensureSession() — that would side-effect-create a
|
|
104
|
-
// fresh binding on miss, erasing the "no active session" signal
|
|
105
|
-
// sub-agents rely on.
|
|
106
|
-
if (options.active === true) {
|
|
107
|
-
// Import lazily to avoid a cycle with workspace-commands.
|
|
108
|
-
const { getSessionIdCanonical, getSessionId } = await import('../../../services/session/session-manager.js');
|
|
109
|
-
// 1. Canonicalize-on-read first.
|
|
110
|
-
let activeSid = getSessionIdCanonical(projectRoot);
|
|
111
|
-
// 2. Fall through to the strict-equality reader if the canonical
|
|
112
|
-
// miss is a projectRoot-form mismatch (e.g. the binding was
|
|
113
|
-
// written with the absolute realpath but the caller's form
|
|
114
|
-
// normalizes differently). The 2-read fan-out mirrors the
|
|
115
|
-
// fallback ensureSession() uses.
|
|
116
|
-
if (activeSid === null) {
|
|
117
|
-
activeSid = getSessionId(projectRoot);
|
|
118
|
-
}
|
|
119
|
-
if (activeSid === null) {
|
|
120
|
-
// 3. No binding at all — fail loudly, NO crash, NO side-effect,
|
|
121
|
-
// exit 1, message must point at `peaks workspace init`
|
|
122
|
-
// (the canonical "first action" command, not the legacy
|
|
123
|
-
// "or `peaks skill presence:set`" hedge that the pre-021
|
|
124
|
-
// wording used — presence:set would also need a binding to
|
|
125
|
-
// resolve the parent sid, so it's not actually a bootstrap
|
|
126
|
-
// path).
|
|
127
|
-
printResult(io, fail('session.info', 'NO_ACTIVE_SESSION', 'No session bound. Run `peaks workspace init --project <repo> --json` to bind one.', { projectRoot }, [`peaks workspace init --project ${projectRoot} --json`]), options.json);
|
|
128
|
-
process.exitCode = 1;
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
// 4. Determine the on-disk source so callers (and future
|
|
132
|
-
// migration tooling) can detect pre-migration trees. The
|
|
133
|
-
// canonical file is preferred when both exist (slice 005
|
|
134
|
-
// contract).
|
|
135
|
-
const bindingSource = existsSync(join(projectRoot, '.peaks', '_runtime', 'session.json'))
|
|
136
|
-
? 'canonical'
|
|
137
|
-
: 'legacy';
|
|
138
|
-
// Slice 021: when only the legacy back-compat path is present,
|
|
139
|
-
// surface a warning so callers (and humans tailing the JSON)
|
|
140
|
-
// see "this tree has not been reconciled to the canonical
|
|
141
|
-
// home yet". The warning is informational; the binding is
|
|
142
|
-
// still valid for one minor release (slice 005 / 006
|
|
143
|
-
// contract). `warnings` is a top-level envelope field, not a
|
|
144
|
-
// data field, so it goes through ok()'s 3rd positional arg.
|
|
145
|
-
const legacyWarnings = bindingSource === 'legacy'
|
|
146
|
-
? ['Read from legacy back-compat path .peaks/.session.json. Run `peaks workspace reconcile --apply` to migrate to the canonical home (.peaks/_runtime/session.json).']
|
|
147
|
-
: [];
|
|
148
|
-
printResult(io, ok('session.info', {
|
|
149
|
-
active: true,
|
|
150
|
-
sessionId: activeSid,
|
|
151
|
-
bindingPath: bindingSource === 'canonical'
|
|
152
|
-
? join(projectRoot, '.peaks', '_runtime', 'session.json')
|
|
153
|
-
: join(projectRoot, '.peaks', '.session.json'),
|
|
154
|
-
projectRoot,
|
|
155
|
-
source: bindingSource
|
|
156
|
-
}, legacyWarnings), options.json);
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
if (sessionId === undefined) {
|
|
160
|
-
printResult(io, fail('session.info', 'SESSION_ID_REQUIRED', 'session.info requires a <sessionId> or --active', {}, ['Pass a <sessionId> argument, or use --active to resolve the canonical binding']), options.json);
|
|
161
|
-
process.exitCode = 1;
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
const meta = getSessionMeta(projectRoot, sessionId);
|
|
165
|
-
if (meta === null) {
|
|
166
|
-
printResult(io, fail('session.info', 'SESSION_NOT_FOUND', `Session "${sessionId}" not found or has no metadata`, { sessionId }, ['Use `peaks session list` to see available sessions']), options.json);
|
|
167
|
-
process.exitCode = 1;
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
printResult(io, ok('session.info', meta), options.json);
|
|
171
|
-
});
|
|
172
|
-
addJsonOption(session
|
|
173
|
-
.command('title <sessionId> <title>')
|
|
174
|
-
.description('Set a human-readable title for a session directory')).action((sessionId, title, options) => {
|
|
175
|
-
const projectRoot = findProjectRoot(process.cwd()) ?? process.cwd();
|
|
176
|
-
try {
|
|
177
|
-
const meta = setSessionTitle(projectRoot, sessionId, title);
|
|
178
|
-
printResult(io, ok('session.title', meta), options.json);
|
|
179
|
-
}
|
|
180
|
-
catch (error) {
|
|
181
|
-
printResult(io, fail('session.title', 'SESSION_TITLE_FAILED', getErrorMessage(error), { sessionId }, ['Verify the sessionId exists under .peaks/']), options.json);
|
|
182
|
-
process.exitCode = 1;
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
// Slice 011: `peaks session checkpoint` and `peaks session resume`.
|
|
186
|
-
// Skill-level primitives — the LLM is the decision-maker; CLI is the muscle.
|
|
187
|
-
// Slice 2026-07-01-strategic-compact-cli fix: register EAGERLY (not
|
|
188
|
-
// via `void (async () => …)`) so commander walks the subcommand
|
|
189
|
-
// tree synchronously and `peaks session --help` includes both
|
|
190
|
-
// `checkpoint` and `resume`. The previous async-IIFE registered
|
|
191
|
-
// them on a microtask tick AFTER the program-level help builder
|
|
192
|
-
// had already serialised its output, so they were hidden from
|
|
193
|
-
// `<TAB>`-discovery and the LLM never saw them.
|
|
194
|
-
registerSessionCheckpointCommand(session, io);
|
|
195
|
-
registerSessionResumeCommand(session, io);
|
|
196
|
-
// Slice 2026-07-02-auto-compact-zero-pause: the Bash command the
|
|
197
|
-
// PreToolUse hook in `.claude/settings.local.json` fires. Keeping
|
|
198
|
-
// it eager (same fix as checkpoint + resume) so `peaks session --help`
|
|
199
|
-
// lists it for LLM `<TAB>`-discovery.
|
|
200
|
-
registerSessionAutoCompactHookCommand(session);
|
|
201
|
-
// Slice 2 of the peaks-code → peaks-code rename plan:
|
|
202
|
-
// `peaks session migrate-skill-name --from <old> --to <new>
|
|
203
|
-
// [--apply] [--project <path>] [--json]`. Idempotent rewrite of
|
|
204
|
-
// .peaks/_runtime/** for the rename; skipped paths recorded in
|
|
205
|
-
// the response envelope. See src/services/migrate-skill-name/.
|
|
206
|
-
registerSessionMigrateSkillNameCommand(session);
|
|
207
|
-
addJsonOption(session
|
|
208
|
-
.command('rotate')
|
|
209
|
-
.description('Drop the project-level session binding so the next peaks call auto-generates a fresh session id. The on-disk session directory is left intact — only .peaks/.session.json is removed.')
|
|
210
|
-
.option('--project <path>', 'target project root (defaults to git root or cwd)')
|
|
211
|
-
.option('--reason <text>', 'human-readable reason for the rotation, recorded in the response data')).action(async (options) => {
|
|
212
|
-
try {
|
|
213
|
-
// Canonicalise the project root before touching the binding.
|
|
214
|
-
// `peaks workspace init` writes the binding with the
|
|
215
|
-
// realpath-resolved projectRoot; if the caller passes a path
|
|
216
|
-
// through a symlink (notably /tmp on macOS, which is a
|
|
217
|
-
// symlink to /private/tmp) without canonicalising here,
|
|
218
|
-
// readSessionFile's strict projectRoot equality check fails
|
|
219
|
-
// and the rotate call reports "no prior binding" even
|
|
220
|
-
// though one exists. The same fix as `workspace init`
|
|
221
|
-
// (b193714): promote the path to the git root, falling back
|
|
222
|
-
// to the heuristic, falling back to cwd verbatim.
|
|
223
|
-
const projectRoot = options.project !== undefined
|
|
224
|
-
? options.project
|
|
225
|
-
: (findProjectRoot(process.cwd()) ?? process.cwd());
|
|
226
|
-
const canonical = resolveCanonicalProjectRoot(projectRoot);
|
|
227
|
-
const previousSessionId = rotateSessionBinding(canonical);
|
|
228
|
-
printResult(io, ok('session.rotate', {
|
|
229
|
-
previousSessionId,
|
|
230
|
-
...(options.reason !== undefined ? { reason: options.reason } : {}),
|
|
231
|
-
note: previousSessionId === null
|
|
232
|
-
? 'No prior binding was present; the project is already unbound.'
|
|
233
|
-
: 'Next ensureSession() call will auto-generate a fresh id. The previous session directory is still on disk at .peaks/_runtime/<previousSessionId>/.'
|
|
234
|
-
}), options.json);
|
|
235
|
-
}
|
|
236
|
-
catch (error) {
|
|
237
|
-
printResult(io, fail('session.rotate', 'SESSION_ROTATE_FAILED', getErrorMessage(error), { projectRoot: options.project }, ['Verify the project path exists and is writable']), options.json);
|
|
238
|
-
process.exitCode = 1;
|
|
239
|
-
}
|
|
240
|
-
});
|
|
241
|
-
}
|
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
import { runDoctor } from '../../../services/doctor/doctor-service.js';
|
|
2
|
-
import { listSkills } from '../../../services/skills/skill-registry.js';
|
|
3
|
-
import { runSkillSync, SYNC_PLATFORMS } from '../../../services/skills/sync-service.js';
|
|
4
|
-
import { inspectSkillRunbook } from '../../../services/skills/skill-runbook-service.js';
|
|
5
|
-
import { setSkillPresence, clearSkillPresence, getSkillPresence, isSkillPresenceMode, touchSkillHeartbeat, checkStalePresence } from '../../../services/skills/skill-presence-service.js';
|
|
6
|
-
import { detectPresenceMarker } from '../../../services/hooks/presence-marker-detector.js';
|
|
7
|
-
import { findProjectRoot } from '../../../services/config/config-safety.js';
|
|
8
|
-
import { generateProjectContext } from '../../../services/memory/project-context-service.js';
|
|
9
|
-
import { getSessionId, setSessionMeta } from '../../../services/session/session-manager.js';
|
|
10
|
-
import { fail, ok } from '../../../shared/result.js';
|
|
11
|
-
import { addJsonOption, getErrorMessage, printResult } from '../../cli-helpers.js';
|
|
12
|
-
// Slice S0 (4.0.0-beta.5 peaks-solo dispatcher release):
|
|
13
|
-
// `peaks skill search` is the CLI primitive that feeds the
|
|
14
|
-
// peaks-solo dispatcher (S1). Adding a single import + register call
|
|
15
|
-
// here keeps the change surgical and leaves all existing skill
|
|
16
|
-
// subcommands (list / doctor / sync / runbook / presence / heartbeat)
|
|
17
|
-
// untouched. See
|
|
18
|
-
// docs/superpowers/specs/2026-07-08-peaks-solo-dispatcher-design.md §3.2
|
|
19
|
-
// and the S0 plan under docs/superpowers/plans/.
|
|
20
|
-
import { registerSkillSearchCommand } from '../skill-search-commands.js';
|
|
21
|
-
export function registerSkillCommand(program, io) {
|
|
22
|
-
const skill = program.command('skill').description('Manage Peaks skills');
|
|
23
|
-
addJsonOption(skill.command('list').description('List skills derived from skills/*/SKILL.md')).action(async (options) => {
|
|
24
|
-
const skills = await listSkills();
|
|
25
|
-
if (options.json === true) {
|
|
26
|
-
printResult(io, ok('skill.list', { skills }), true);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
const sorted = [...skills].sort((a, b) => {
|
|
30
|
-
// Slice S0 (4.0.0-beta.5): peaks-solo is the dispatcher (front
|
|
31
|
-
// door) — list it FIRST so users discover the dispatcher before
|
|
32
|
-
// any specific leaf. Followed by peaks-sop (current default
|
|
33
|
-
// runbook showcase) and peaks-code (canonical code-domain
|
|
34
|
-
// orchestrator); everything else falls back to alphabetical.
|
|
35
|
-
if (a.name === 'peaks-solo')
|
|
36
|
-
return -1;
|
|
37
|
-
if (b.name === 'peaks-solo')
|
|
38
|
-
return 1;
|
|
39
|
-
if (a.name === 'peaks-sop')
|
|
40
|
-
return -1;
|
|
41
|
-
if (b.name === 'peaks-sop')
|
|
42
|
-
return 1;
|
|
43
|
-
if (a.name === 'peaks-code')
|
|
44
|
-
return -1;
|
|
45
|
-
if (b.name === 'peaks-code')
|
|
46
|
-
return 1;
|
|
47
|
-
return a.name.localeCompare(b.name);
|
|
48
|
-
});
|
|
49
|
-
for (const skill of sorted) {
|
|
50
|
-
io.stdout(` ${skill.name.padEnd(14)}${skill.description}`);
|
|
51
|
-
}
|
|
52
|
-
io.stdout(`\n Invoke any skill by typing its name in conversation (e.g. \`peaks-sop\`).`);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
addJsonOption(skill.command('doctor').description('Run skill-related doctor checks')).action(async (options) => {
|
|
56
|
-
const report = await runDoctor();
|
|
57
|
-
const skillChecks = report.checks.filter((check) => check.id.startsWith('skill'));
|
|
58
|
-
const failed = skillChecks.filter((check) => !check.ok).length;
|
|
59
|
-
if (options.json === true) {
|
|
60
|
-
printResult(io, ok('skill.doctor', { checks: skillChecks, ok: failed === 0 }), true);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
for (const check of skillChecks) {
|
|
64
|
-
const icon = check.ok ? '+' : '×';
|
|
65
|
-
io.stdout(` ${icon} ${check.message}`);
|
|
66
|
-
}
|
|
67
|
-
io.stdout(`\n ${skillChecks.length - failed} passed, ${failed} failed`);
|
|
68
|
-
if (failed > 0) {
|
|
69
|
-
io.stderr('\nOne or more skill checks failed.');
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
if (failed > 0) {
|
|
73
|
-
process.exitCode = 1;
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
// Slice #12 final piece (per spec §9 line 1105):
|
|
77
|
-
// `peaks skills sync 8 平台分发`. Idempotent: re-running is a
|
|
78
|
-
// no-op when the symlinks are already correct.
|
|
79
|
-
addJsonOption(skill
|
|
80
|
-
.command('sync')
|
|
81
|
-
.description(`Sync the peaks-* skill family to one or all of the 8 supported LLM-CLI platforms (${SYNC_PLATFORMS.join(', ')}). Idempotent.`)
|
|
82
|
-
.option('--platform <id>', `sync only one platform (default: --all). Valid: ${SYNC_PLATFORMS.join(', ')}`)
|
|
83
|
-
.option('--all', 'sync all 8 platforms (default if --platform is omitted)')
|
|
84
|
-
.option('--dry-run', 'do not write; emit the same shape with applied=false')
|
|
85
|
-
.option('--project <path>', 'project root (default: cwd)')).action(async (options) => {
|
|
86
|
-
try {
|
|
87
|
-
const projectRoot = options.project ?? process.cwd();
|
|
88
|
-
const platforms = options.platform !== undefined ? [options.platform] : undefined;
|
|
89
|
-
const result = await runSkillSync({
|
|
90
|
-
projectRoot,
|
|
91
|
-
...(platforms !== undefined ? { platforms } : {}),
|
|
92
|
-
...(options.dryRun === true ? { dryRun: true } : {}),
|
|
93
|
-
});
|
|
94
|
-
const envelope = ok('skill.sync', result, [], [
|
|
95
|
-
`syncedCount: ${result.syncedCount}/${result.perPlatform.length} platforms`,
|
|
96
|
-
`totalInstalled: ${result.totalInstalled} skill symlinks`,
|
|
97
|
-
result.failedCount > 0
|
|
98
|
-
? `failedCount: ${result.failedCount} (run \`peaks skill status\` for details)`
|
|
99
|
-
: 'no failures',
|
|
100
|
-
]);
|
|
101
|
-
printResult(io, envelope, options.json);
|
|
102
|
-
if (result.failedCount > 0) {
|
|
103
|
-
process.exitCode = 1;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
catch (error) {
|
|
107
|
-
const message = getErrorMessage(error);
|
|
108
|
-
printResult(io, fail('skill.sync', 'SKILL_SYNC_FAILED', message, { applied: false }, [message]), options.json);
|
|
109
|
-
process.exitCode = 1;
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
addJsonOption(skill
|
|
113
|
-
.command('runbook <name>')
|
|
114
|
-
.description('Inspect a skill Default runbook section and its --apply authorization-note status')).action(async (name, options) => {
|
|
115
|
-
try {
|
|
116
|
-
const inspection = await inspectSkillRunbook(name);
|
|
117
|
-
const result = inspection.ok
|
|
118
|
-
? ok('skill.runbook', inspection)
|
|
119
|
-
: fail('skill.runbook', inspection.hasRunbook ? 'SKILL_RUNBOOK_APPLY_UNGATED' : 'SKILL_RUNBOOK_MISSING', inspection.hasRunbook
|
|
120
|
-
? `Skill ${inspection.name} has ${inspection.destructiveApplyLines.length} destructive --apply command(s) without an authorization/dry-run note`
|
|
121
|
-
: `Skill ${inspection.name} is missing a ## Default runbook section`, inspection, inspection.hasRunbook
|
|
122
|
-
? ['Add an authorization or --dry-run note next to destructive --apply lines in the runbook section']
|
|
123
|
-
: ['Add a `## Default runbook` section to the skill SKILL.md']);
|
|
124
|
-
printResult(io, result, options.json);
|
|
125
|
-
if (!inspection.ok) {
|
|
126
|
-
process.exitCode = 1;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
catch (error) {
|
|
130
|
-
printResult(io, fail('skill.runbook', 'SKILL_NOT_FOUND', getErrorMessage(error), { name }), options.json);
|
|
131
|
-
process.exitCode = 1;
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
addJsonOption(skill
|
|
135
|
-
.command('presence')
|
|
136
|
-
.description('Show the currently active Peaks skill (alias: presence:get)')
|
|
137
|
-
.option('--check-stale', 'slice 002 (v2.15.0): also report whether the recorded outer session id still matches the current one. Default false (back-compat).')
|
|
138
|
-
.option('--project <path>', 'project root (default: cwd)')).action((options) => {
|
|
139
|
-
const presence = getSkillPresence(options.project);
|
|
140
|
-
if (presence === null) {
|
|
141
|
-
printResult(io, ok('skill.presence', { active: false }), options.json);
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
if (options.checkStale === true) {
|
|
145
|
-
// Slice 002 (v2.15.0) AC-1: pair the read with a staleness
|
|
146
|
-
// check so callers (peaks-code Step 1, statusline) get both
|
|
147
|
-
// pieces of info from a single CLI invocation. The presence
|
|
148
|
-
// is returned UNCHANGED — `--check-stale` is a read-only flag,
|
|
149
|
-
// not a clear.
|
|
150
|
-
const staleness = checkStalePresence({ projectRootOverride: options.project });
|
|
151
|
-
printResult(io, ok('skill.presence', {
|
|
152
|
-
active: true,
|
|
153
|
-
...presence,
|
|
154
|
-
stale: staleness.stale,
|
|
155
|
-
staleReason: staleness.reason,
|
|
156
|
-
currentOuterSessionId: staleness.currentOuterSessionId,
|
|
157
|
-
recordedOuterSessionId: staleness.recordedOuterSessionId
|
|
158
|
-
}), options.json);
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
printResult(io, ok('skill.presence', { active: true, ...presence }), options.json);
|
|
162
|
-
});
|
|
163
|
-
addJsonOption(skill
|
|
164
|
-
.command('presence:set <name>')
|
|
165
|
-
.description('Set the currently active Peaks skill for session-wide visibility')
|
|
166
|
-
.option('--mode <mode>', 'execution mode')
|
|
167
|
-
.option('--gate <gate>', 'current gate')
|
|
168
|
-
.option('--project <path>', 'project root path (auto-detected from cwd when omitted)')).action((name, options) => {
|
|
169
|
-
const projectRoot = options.project ?? findProjectRoot(process.cwd()) ?? process.cwd();
|
|
170
|
-
if (options.mode !== undefined && !isSkillPresenceMode(options.mode)) {
|
|
171
|
-
printResult(io, fail('skill.presence:set', 'INVALID_MODE', `Invalid mode: ${options.mode} (expected one of: full-auto, assisted, swarm, strict)`, { name, mode: options.mode }, ['Use a valid mode: full-auto, assisted, swarm, or strict']), options.json);
|
|
172
|
-
process.exitCode = 1;
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
|
-
const presence = setSkillPresence(name, options.mode, options.gate, options.project);
|
|
176
|
-
// As of slice 003-2026-06-06-session-layout-canonicalize we do NOT
|
|
177
|
-
// call `ensureSession` here. The CLI wrapper previously spawned a
|
|
178
|
-
// new session on every presence call, which made the canonical
|
|
179
|
-
// session binding drift (the LLM saw the session id change every
|
|
180
|
-
// turn). The presence now reuses the session bound at
|
|
181
|
-
// `.peaks/_runtime/session.json` (or the legacy `.peaks/.session.json`
|
|
182
|
-
// during the back-compat window). If no session is bound, the
|
|
183
|
-
// presence still writes the active-skill marker — downstream code
|
|
184
|
-
// can `peaks workspace init` separately to create the session.
|
|
185
|
-
//
|
|
186
|
-
// Session metadata is updated when a session is bound (read-only
|
|
187
|
-
// path: `getSessionId`). We do not auto-spawn a session.
|
|
188
|
-
const boundSessionId = getSessionId(projectRoot);
|
|
189
|
-
if (boundSessionId !== null) {
|
|
190
|
-
setSessionMeta(projectRoot, boundSessionId, {
|
|
191
|
-
skill: name,
|
|
192
|
-
...(options.mode ? { mode: options.mode } : {}),
|
|
193
|
-
...(options.gate ? { gate: options.gate } : {})
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
printResult(io, ok('skill.presence:set', { active: true, ...presence }), options.json);
|
|
197
|
-
});
|
|
198
|
-
addJsonOption(skill
|
|
199
|
-
.command('presence:clear')
|
|
200
|
-
.description('Clear the active Peaks skill presence indicator and update project context')
|
|
201
|
-
.option('--project <path>', 'project root path (auto-detected from cwd when omitted)')).action((options) => {
|
|
202
|
-
const projectRoot = options.project ?? findProjectRoot(process.cwd()) ?? process.cwd();
|
|
203
|
-
const removed = clearSkillPresence(options.project);
|
|
204
|
-
// Auto-update project context so future sessions have up-to-date history
|
|
205
|
-
try {
|
|
206
|
-
generateProjectContext(projectRoot);
|
|
207
|
-
}
|
|
208
|
-
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
209
|
-
// non-fatal: context update failure should not block presence clear
|
|
210
|
-
}
|
|
211
|
-
printResult(io, ok('skill.presence:clear', { active: false, removed, projectContextUpdated: true }), options.json);
|
|
212
|
-
});
|
|
213
|
-
// Slice 002 (v2.15.0) — AC-1: presence staleness detector.
|
|
214
|
-
// peaks-code Step 1 (and `peaks code should-pause --step
|
|
215
|
-
// step-1-mode-select`) calls this to decide whether the recorded
|
|
216
|
-
// `mode` field can be trusted or whether the LLM must AskUserQuestion.
|
|
217
|
-
addJsonOption(skill
|
|
218
|
-
.command('presence:check-stale')
|
|
219
|
-
.description('Slice 002 (v2.15.0) AC-1: report whether the recorded presence outer session id still matches the current outer session id. ' +
|
|
220
|
-
'Returns { stale: boolean, reason: "outer-session-mismatch" | "no-presence" | null }. ' +
|
|
221
|
-
'Pure read-only — does NOT clear the presence (use `peaks skill presence:clear` for that).')
|
|
222
|
-
.option('--project <path>', 'project root (default: cwd)')
|
|
223
|
-
.option('--current-outer <id>', 'override the current outer session id (test seam; default: read from PEAKS_OUTER_SESSION_ID / CLAUDE_CODE_SESSION_ID)')).action((options) => {
|
|
224
|
-
// v2.15.0 slice 002 repair: do NOT pass `currentOuter: undefined`
|
|
225
|
-
// when the user omits the flag. The service-layer branch
|
|
226
|
-
// `'currentOuter' in opts` returns true for an explicit
|
|
227
|
-
// `undefined` (the key exists on the spread object literal),
|
|
228
|
-
// which would skip the env-var fallback and pin `current =
|
|
229
|
-
// undefined` — always reading the presence as stale. Build a
|
|
230
|
-
// sparse opts object so the service can fall back to
|
|
231
|
-
// `getCurrentOuterSessionId()` (reads PEAKS_OUTER_SESSION_ID /
|
|
232
|
-
// CLAUDE_CODE_SESSION_ID).
|
|
233
|
-
const checkOpts = options.project !== undefined ? { projectRootOverride: options.project } : {};
|
|
234
|
-
if (options.currentOuter !== undefined) {
|
|
235
|
-
checkOpts.currentOuter = options.currentOuter;
|
|
236
|
-
}
|
|
237
|
-
const result = checkStalePresence(checkOpts);
|
|
238
|
-
// Always emit `currentOuterSessionId` in the JSON envelope (even
|
|
239
|
-
// when undefined → ''), per slice 002 AC-1 contract: downstream
|
|
240
|
-
// tooling (statusline, sub-agent dispatch) reads the field by
|
|
241
|
-
// name, never by `data.currentOuterSessionId ?? ''`. JSON.stringify
|
|
242
|
-
// drops `undefined` properties, so we coerce to '' before
|
|
243
|
-
// wrapping in the envelope.
|
|
244
|
-
const data = {
|
|
245
|
-
stale: result.stale,
|
|
246
|
-
reason: result.reason,
|
|
247
|
-
presence: result.presence,
|
|
248
|
-
currentOuterSessionId: result.currentOuterSessionId ?? '',
|
|
249
|
-
recordedOuterSessionId: result.recordedOuterSessionId ?? ''
|
|
250
|
-
};
|
|
251
|
-
printResult(io, ok('skill.presence:check-stale', data), options.json);
|
|
252
|
-
});
|
|
253
|
-
addJsonOption(skill
|
|
254
|
-
.command('heartbeat')
|
|
255
|
-
.description('Show the heartbeat status of the active Peaks skill')).action((options) => {
|
|
256
|
-
const presence = getSkillPresence();
|
|
257
|
-
if (presence === null) {
|
|
258
|
-
printResult(io, ok('skill.heartbeat', { active: false, heartbeat: 'none' }), options.json);
|
|
259
|
-
return;
|
|
260
|
-
}
|
|
261
|
-
printResult(io, ok('skill.heartbeat', {
|
|
262
|
-
active: true,
|
|
263
|
-
skill: presence.skill,
|
|
264
|
-
gate: presence.gate ?? null,
|
|
265
|
-
lastHeartbeat: presence.lastHeartbeat ?? presence.setAt,
|
|
266
|
-
setAt: presence.setAt
|
|
267
|
-
}), options.json);
|
|
268
|
-
});
|
|
269
|
-
addJsonOption(skill
|
|
270
|
-
.command('heartbeat:touch')
|
|
271
|
-
.description('Update the heartbeat timestamp (called by the LLM each turn to confirm peaks skill context is alive)')).action((options) => {
|
|
272
|
-
const updated = touchSkillHeartbeat();
|
|
273
|
-
if (updated === null) {
|
|
274
|
-
printResult(io, ok('skill.heartbeat:touch', { active: false, heartbeat: 'none' }), options.json);
|
|
275
|
-
return;
|
|
276
|
-
}
|
|
277
|
-
printResult(io, ok('skill.heartbeat:touch', {
|
|
278
|
-
active: true,
|
|
279
|
-
skill: updated.skill,
|
|
280
|
-
lastHeartbeat: updated.lastHeartbeat
|
|
281
|
-
}), options.json);
|
|
282
|
-
});
|
|
283
|
-
addJsonOption(skill
|
|
284
|
-
.command('detect-marker-loss')
|
|
285
|
-
.description('Detect whether the latest assistant message lost the Peaks-Loop status header while a peaks skill is still active (slice 028 detection primitive).')
|
|
286
|
-
.option('--project <path>', 'project root path (auto-detected from cwd when omitted)')
|
|
287
|
-
.option('--message <text>', 'latest assistant message text to scan (defaults to reading the most recent LLM response from the stdin pipe, or empty string when no pipe is attached)')).action((options) => {
|
|
288
|
-
const projectRoot = options.project ?? findProjectRoot(process.cwd()) ?? process.cwd();
|
|
289
|
-
const message = options.message ?? '';
|
|
290
|
-
const result = detectPresenceMarker({ project: projectRoot, latestAssistantMessage: message });
|
|
291
|
-
printResult(io, ok('skill.detect-marker-loss', result), options.json);
|
|
292
|
-
});
|
|
293
|
-
// Slice S0 — register `peaks skill search`. Sibling subcommand to
|
|
294
|
-
// list / runbook / presence; preserves the existing surface
|
|
295
|
-
// (HC-10 — 老入口保留).
|
|
296
|
-
registerSkillSearchCommand(program, io);
|
|
297
|
-
}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { summarizeProjectStandardsInitResult, summarizeProjectStandardsUpdateResult } from '../../../services/standards/project-standards-service.js';
|
|
2
|
-
import { executeProjectStandardsInitIdeAware, executeProjectStandardsUpdateIdeAware } from '../../../services/standards/ide-aware-standards-service.js';
|
|
3
|
-
import { migrateStandards } from '../../../services/standards/migrate-service.js';
|
|
4
|
-
import { migrateClaudeRules } from '../../../services/standards/migrate-claude-rules-service.js';
|
|
5
|
-
import { fail, ok } from '../../../shared/result.js';
|
|
6
|
-
import { addJsonOption, getErrorMessage, printResult } from '../../cli-helpers.js';
|
|
7
|
-
export function registerStandardsCommand(program, io) {
|
|
8
|
-
const standards = program.command('standards').description('Manage project-local coding standards');
|
|
9
|
-
addJsonOption(standards
|
|
10
|
-
.command('init')
|
|
11
|
-
.description('Initialize project-local coding standards for Peaks skill preflight')
|
|
12
|
-
.requiredOption('--project <path>', 'target project root')
|
|
13
|
-
.option('--language <language>', 'standards language pack')
|
|
14
|
-
.option('--ide <id>', 'override IDE detection (e.g. claude-code, trae)')
|
|
15
|
-
.option('--dry-run', 'preview writes without changing files')
|
|
16
|
-
.option('--apply', 'write missing standards into the target project')).action((options) => {
|
|
17
|
-
if (options.dryRun === true && options.apply === true) {
|
|
18
|
-
printResult(io, fail('standards.init', 'INVALID_STANDARDS_INIT_FLAGS', 'Use either --dry-run or --apply, not both', {}, ['Run without --apply to preview writes, or omit --dry-run when applying standards']), options.json);
|
|
19
|
-
process.exitCode = 1;
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
try {
|
|
23
|
-
const result = executeProjectStandardsInitIdeAware({ projectRoot: options.project, ...(options.language !== undefined ? { language: options.language } : {}), ...(options.ide !== undefined ? { ideId: options.ide } : {}), apply: options.apply === true });
|
|
24
|
-
printResult(io, ok('standards.init', summarizeProjectStandardsInitResult(result)), options.json);
|
|
25
|
-
}
|
|
26
|
-
catch (error) {
|
|
27
|
-
printResult(io, fail('standards.init', 'STANDARDS_INIT_FAILED', getErrorMessage(error), {}, ['Check the project path and existing .claude/rules directory before retrying']), options.json);
|
|
28
|
-
process.exitCode = 1;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
addJsonOption(standards
|
|
32
|
-
.command('update')
|
|
33
|
-
.description('Append managed standards metadata to an existing CLAUDE.md without rewriting the body')
|
|
34
|
-
.requiredOption('--project <path>', 'target project root')
|
|
35
|
-
.option('--language <language>', 'standards language pack')
|
|
36
|
-
.option('--ide <id>', 'override IDE detection (e.g. claude-code, trae)')
|
|
37
|
-
.option('--dry-run', 'preview writes without changing files')
|
|
38
|
-
.option('--apply', 'append managed metadata to the target project')).action((options) => {
|
|
39
|
-
if (options.dryRun === true && options.apply === true) {
|
|
40
|
-
printResult(io, fail('standards.update', 'INVALID_STANDARDS_UPDATE_FLAGS', 'Use either --dry-run or --apply, not both', {}, ['Run without --apply to preview writes, or omit --dry-run when applying standards updates']), options.json);
|
|
41
|
-
process.exitCode = 1;
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
try {
|
|
45
|
-
const result = executeProjectStandardsUpdateIdeAware({ projectRoot: options.project, ...(options.language !== undefined ? { language: options.language } : {}), ...(options.ide !== undefined ? { ideId: options.ide } : {}), apply: options.apply === true });
|
|
46
|
-
const summary = summarizeProjectStandardsUpdateResult(result);
|
|
47
|
-
const response = summary.reviewSuggestions.length > 0
|
|
48
|
-
? fail('standards.update', 'STANDARDS_UPDATE_REVIEW_REQUIRED', 'Standards update requires manual review', summary, summary.reviewSuggestions)
|
|
49
|
-
: ok('standards.update', summary);
|
|
50
|
-
printResult(io, response, options.json);
|
|
51
|
-
if (summary.reviewSuggestions.length > 0) {
|
|
52
|
-
process.exitCode = 1;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
printResult(io, fail('standards.update', 'STANDARDS_UPDATE_FAILED', getErrorMessage(error), {}, ['Check the project path, CLAUDE.md contents, and existing .claude/rules directory before retrying']), options.json);
|
|
57
|
-
process.exitCode = 1;
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
addJsonOption(standards
|
|
61
|
-
.command('migrate')
|
|
62
|
-
.description('Rewrite a consumer project CLAUDE.md to drop the legacy heartbeat block (slice 028). Dry-run by default; pass --apply to write. With --from-claude-rules, thins the 1.x .claude/rules/ tree to 2-line pointers and scaffolds .peaks/standards/ (slice 2026-06-12-standards-migrate-claude-rules).')
|
|
63
|
-
.option('--project <path>', 'target project root')
|
|
64
|
-
.option('--apply', 'rewrite the legacy block in place; default is dry-run')
|
|
65
|
-
.option('--from-claude-rules', 'thin .claude/rules/ to pointers and scaffold .peaks/standards/ (used by `peaks upgrade --to 2.0`)')).action((options) => {
|
|
66
|
-
const projectRoot = options.project ?? process.cwd();
|
|
67
|
-
if (options.fromClaudeRules === true) {
|
|
68
|
-
try {
|
|
69
|
-
const result = migrateClaudeRules({ projectRoot, apply: options.apply === true });
|
|
70
|
-
printResult(io, ok('standards.migrate', result.data, [], [...result.data.nextActions]), options.json);
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
printResult(io, fail('standards.migrate', 'STANDARDS_MIGRATE_FAILED', getErrorMessage(error), {
|
|
74
|
-
backupPath: null,
|
|
75
|
-
thinnedFiles: [],
|
|
76
|
-
scaffoldedFiles: [],
|
|
77
|
-
preservedFiles: [],
|
|
78
|
-
wouldChange: false,
|
|
79
|
-
applied: false,
|
|
80
|
-
nextActions: [],
|
|
81
|
-
}, [getErrorMessage(error)]), options.json);
|
|
82
|
-
process.exitCode = 1;
|
|
83
|
-
}
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
try {
|
|
87
|
-
const result = migrateStandards({ project: projectRoot, apply: options.apply === true });
|
|
88
|
-
printResult(io, ok('standards.migrate', result.data, [], result.data.nextActions), options.json);
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
printResult(io, fail('standards.migrate', 'STANDARDS_MIGRATE_FAILED', getErrorMessage(error), { file: null, foundOldBlock: false, wouldChange: false, applied: false, before: null, after: null, nextActions: [] }, [getErrorMessage(error)]), options.json);
|
|
92
|
-
process.exitCode = 1;
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
}
|