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,89 +0,0 @@
|
|
|
1
|
-
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
2
|
-
import { existsSync } from 'node:fs';
|
|
3
|
-
import { dirname } from 'node:path';
|
|
4
|
-
import { lintSop } from './sop-service.js';
|
|
5
|
-
import { scopedRegistryPath, scopedSopManifestPath } from './sop-paths.js';
|
|
6
|
-
/** Manifest location relative to its Peaks home (`~/.peaks/` or `<project>/.peaks/`). Machine-independent. */
|
|
7
|
-
function relativeManifestPath(id) {
|
|
8
|
-
return `sops/${id}/sop.json`;
|
|
9
|
-
}
|
|
10
|
-
function countGates(sops) {
|
|
11
|
-
// Tolerate a hand-edited / corrupted registry: a malformed entry counts as 0
|
|
12
|
-
// gates rather than crashing the read-only `sop registry` command.
|
|
13
|
-
return sops.reduce((total, sop) => total + (Array.isArray(sop?.gates) ? sop.gates.length : 0), 0);
|
|
14
|
-
}
|
|
15
|
-
/** Read a single registry layer; empty when absent. Throws on corrupt JSON. */
|
|
16
|
-
async function readRegistryAt(scope, projectRoot) {
|
|
17
|
-
if (scope === 'project' && projectRoot === undefined) {
|
|
18
|
-
return [];
|
|
19
|
-
}
|
|
20
|
-
const path = scopedRegistryPath(scope, projectRoot);
|
|
21
|
-
if (!existsSync(path)) {
|
|
22
|
-
return [];
|
|
23
|
-
}
|
|
24
|
-
const parsed = JSON.parse(await readFile(path, 'utf8'));
|
|
25
|
-
return Array.isArray(parsed.sops) ? parsed.sops : [];
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Read the registry that execution/enumeration should see: the MERGED view of
|
|
29
|
-
* the project layer (when projectRoot is given) over the global layer — a
|
|
30
|
-
* project entry wins over a global one with the same id. Without projectRoot,
|
|
31
|
-
* the global registry only.
|
|
32
|
-
*/
|
|
33
|
-
export async function readRegistry(projectRoot) {
|
|
34
|
-
const globalSops = await readRegistryAt('global', undefined);
|
|
35
|
-
const projectSops = projectRoot !== undefined ? await readRegistryAt('project', projectRoot) : [];
|
|
36
|
-
const byId = new Map();
|
|
37
|
-
for (const sop of globalSops)
|
|
38
|
-
byId.set(sop.id, sop);
|
|
39
|
-
for (const sop of projectSops)
|
|
40
|
-
byId.set(sop.id, sop); // project wins
|
|
41
|
-
const sops = [...byId.values()].sort((left, right) => left.id.localeCompare(right.id));
|
|
42
|
-
return { version: 1, sops, gateCount: countGates(sops) };
|
|
43
|
-
}
|
|
44
|
-
export class SopRegisterError extends Error {
|
|
45
|
-
code;
|
|
46
|
-
constructor(code, message) {
|
|
47
|
-
super(message);
|
|
48
|
-
this.name = 'SopRegisterError';
|
|
49
|
-
this.code = code;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
export async function registerSop(options) {
|
|
53
|
-
const scope = options.projectRoot !== undefined ? 'project' : 'global';
|
|
54
|
-
// Register the EXACT layer the caller targets — not the precedence resolution.
|
|
55
|
-
const manifestPath = scopedSopManifestPath(scope, options.projectRoot, options.id);
|
|
56
|
-
if (!existsSync(manifestPath)) {
|
|
57
|
-
throw new SopRegisterError('SOP_NOT_FOUND', `No SOP found for id "${options.id}"`);
|
|
58
|
-
}
|
|
59
|
-
const manifest = JSON.parse(await readFile(manifestPath, 'utf8'));
|
|
60
|
-
const lintOptions = { id: options.id };
|
|
61
|
-
if (options.allowCommands === true)
|
|
62
|
-
lintOptions.allowCommands = true;
|
|
63
|
-
if (options.projectRoot !== undefined)
|
|
64
|
-
lintOptions.projectRoot = options.projectRoot;
|
|
65
|
-
const lint = await lintSop(lintOptions);
|
|
66
|
-
if (lint === null || !lint.ok) {
|
|
67
|
-
throw new SopRegisterError('SOP_INVALID', `SOP "${options.id}" must lint clean before it can be registered`);
|
|
68
|
-
}
|
|
69
|
-
const gates = manifest.gates.map((gate) => ({
|
|
70
|
-
ref: `${manifest.id}/${gate.id}`,
|
|
71
|
-
gateId: gate.id,
|
|
72
|
-
sopId: manifest.id,
|
|
73
|
-
phase: gate.phase,
|
|
74
|
-
transition: `${manifest.id}:${gate.phase}`
|
|
75
|
-
}));
|
|
76
|
-
const registered = { id: manifest.id, path: relativeManifestPath(manifest.id), gates };
|
|
77
|
-
// Upsert within the SAME layer's registry (not the merged view).
|
|
78
|
-
const current = await readRegistryAt(scope, options.projectRoot);
|
|
79
|
-
const others = current.filter((sop) => sop.id !== manifest.id);
|
|
80
|
-
const sops = [...others, registered].sort((left, right) => left.id.localeCompare(right.id));
|
|
81
|
-
const registry = { version: 1, sops, gateCount: countGates(sops) };
|
|
82
|
-
if (options.dryRun === true) {
|
|
83
|
-
return { id: manifest.id, registered, gateCount: registry.gateCount, scope, applied: false };
|
|
84
|
-
}
|
|
85
|
-
const path = scopedRegistryPath(scope, options.projectRoot);
|
|
86
|
-
await mkdir(dirname(path), { recursive: true });
|
|
87
|
-
await writeFile(path, `${JSON.stringify(registry, null, 2)}\n`, 'utf8');
|
|
88
|
-
return { id: manifest.id, registered, gateCount: registry.gateCount, scope, applied: true };
|
|
89
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { type SopManifest } from './sop-types.js';
|
|
2
|
-
export type SopInitOptions = {
|
|
3
|
-
id: string;
|
|
4
|
-
name?: string;
|
|
5
|
-
apply?: boolean;
|
|
6
|
-
/** When set, scaffold into the project layer (`<projectRoot>/.peaks/sops`) instead of global. */
|
|
7
|
-
projectRoot?: string;
|
|
8
|
-
};
|
|
9
|
-
export type SopInitResult = {
|
|
10
|
-
id: string;
|
|
11
|
-
dir: string;
|
|
12
|
-
manifestPath: string;
|
|
13
|
-
skillPath: string;
|
|
14
|
-
manifest: SopManifest;
|
|
15
|
-
skillContent: string;
|
|
16
|
-
applied: boolean;
|
|
17
|
-
};
|
|
18
|
-
export type SopLintSeverity = 'error' | 'warning';
|
|
19
|
-
export type SopLintFinding = {
|
|
20
|
-
code: string;
|
|
21
|
-
message: string;
|
|
22
|
-
gateId?: string;
|
|
23
|
-
severity: SopLintSeverity;
|
|
24
|
-
};
|
|
25
|
-
export type SopLintResult = {
|
|
26
|
-
ok: boolean;
|
|
27
|
-
id: string;
|
|
28
|
-
manifestPath: string;
|
|
29
|
-
gateCount: number;
|
|
30
|
-
gateIds: string[];
|
|
31
|
-
findings: SopLintFinding[];
|
|
32
|
-
/**
|
|
33
|
-
* Non-blocking hints surfaced alongside the lint verdict. Currently used to
|
|
34
|
-
* flag gates that declared `stripMeta: true` so authors can confirm the
|
|
35
|
-
* opt-in. Empty array for manifests that do not opt in to any new behavior;
|
|
36
|
-
* this is a stable, machine-readable field distinct from `findings` (which
|
|
37
|
-
* are errors that block lint).
|
|
38
|
-
*/
|
|
39
|
-
warnings: string[];
|
|
40
|
-
};
|
|
41
|
-
export type SopLintOptions = {
|
|
42
|
-
id: string;
|
|
43
|
-
/** `command`-type gates run shell-less processes; require explicit opt-in (OQ3 security). */
|
|
44
|
-
allowCommands?: boolean;
|
|
45
|
-
/** When set, lint the project-layer manifest (`<projectRoot>/.peaks/sops`) instead of global. */
|
|
46
|
-
projectRoot?: string;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Read and JSON-parse a SOP manifest for EXECUTION, resolving project-first then
|
|
50
|
-
* global (the project layer wins). Returns null when neither layer has it;
|
|
51
|
-
* throws on malformed JSON. Callers that need validation should run lintSop.
|
|
52
|
-
*/
|
|
53
|
-
export declare function readSopManifest(id: string, projectRoot?: string): Promise<SopManifest | null>;
|
|
54
|
-
export declare function initSop(options: SopInitOptions): Promise<SopInitResult>;
|
|
55
|
-
export declare function lintSop(options: SopLintOptions): Promise<SopLintResult | null>;
|
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
2
|
-
import { existsSync } from 'node:fs';
|
|
3
|
-
import { SOP_GATE_CHECK_TYPES, SOP_ID_PATTERN } from './sop-types.js';
|
|
4
|
-
import { sopDir, sopManifestPath, sopSkillPath, projectSopDir, projectSopManifestPath, projectSopSkillPath, resolveSopManifestPath } from './sop-paths.js';
|
|
5
|
-
/**
|
|
6
|
-
* SOP authoring substrate — Feature A, Slice 1.
|
|
7
|
-
*
|
|
8
|
-
* `initSop` scaffolds a user-authored SOP (manifest + registrable SKILL.md);
|
|
9
|
-
* `lintSop` validates the manifest. No registry, no enforcement here — Slice 1
|
|
10
|
-
* only lets users create and validate a SOP. The SOP id grammar
|
|
11
|
-
* (SOP_ID_PATTERN: lowercase kebab, no dots/slashes) doubles as the path
|
|
12
|
-
* traversal guard, matching how request artifacts guard their ids.
|
|
13
|
-
*
|
|
14
|
-
* SOP definitions are GLOBAL (`~/.peaks/sops/<id>/`, see ./sop-paths) so one
|
|
15
|
-
* authored SOP is reusable across projects; only run-state is per-project. The
|
|
16
|
-
* authoring ops here therefore take no projectRoot.
|
|
17
|
-
*/
|
|
18
|
-
const RESERVED_ID_PREFIX = 'peaks-';
|
|
19
|
-
const RESERVED_IDS = new Set(['peaks']);
|
|
20
|
-
/**
|
|
21
|
-
* Read and JSON-parse a SOP manifest for EXECUTION, resolving project-first then
|
|
22
|
-
* global (the project layer wins). Returns null when neither layer has it;
|
|
23
|
-
* throws on malformed JSON. Callers that need validation should run lintSop.
|
|
24
|
-
*/
|
|
25
|
-
export async function readSopManifest(id, projectRoot) {
|
|
26
|
-
const resolved = resolveSopManifestPath(id, projectRoot);
|
|
27
|
-
if (resolved === null) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
return JSON.parse(await readFile(resolved.path, 'utf8'));
|
|
31
|
-
}
|
|
32
|
-
/** Why an id cannot be used; null when the id is acceptable. */
|
|
33
|
-
function reservedIdReason(id) {
|
|
34
|
-
if (id.startsWith(RESERVED_ID_PREFIX) || RESERVED_IDS.has(id)) {
|
|
35
|
-
return `SOP id "${id}" collides with the reserved built-in peaks-* namespace`;
|
|
36
|
-
}
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
function scaffoldManifest(id, name) {
|
|
40
|
-
return {
|
|
41
|
-
id,
|
|
42
|
-
name,
|
|
43
|
-
description: '',
|
|
44
|
-
phases: ['draft', 'review', 'done'],
|
|
45
|
-
gates: [
|
|
46
|
-
{ id: 'example-gate', phase: 'review', check: { type: 'file-exists', path: 'README.md' } }
|
|
47
|
-
]
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
function scaffoldSkill(manifest) {
|
|
51
|
-
const phaseList = manifest.phases.join(' → ');
|
|
52
|
-
return [
|
|
53
|
-
'---',
|
|
54
|
-
`name: ${manifest.id}`,
|
|
55
|
-
`description: User-authored Peaks SOP "${manifest.name}". Phases: ${phaseList}.`,
|
|
56
|
-
'---',
|
|
57
|
-
'',
|
|
58
|
-
`# ${manifest.name}`,
|
|
59
|
-
'',
|
|
60
|
-
'A user-authored SOP. Edit `sop.json` to define phases and gates, then run',
|
|
61
|
-
'`peaks sop lint` to validate it.',
|
|
62
|
-
'',
|
|
63
|
-
'## Phases',
|
|
64
|
-
'',
|
|
65
|
-
...manifest.phases.map((phase) => `- ${phase}`),
|
|
66
|
-
''
|
|
67
|
-
].join('\n');
|
|
68
|
-
}
|
|
69
|
-
export async function initSop(options) {
|
|
70
|
-
if (!SOP_ID_PATTERN.test(options.id)) {
|
|
71
|
-
throw new Error(`Invalid SOP id: ${options.id} (expected lowercase letters, digits, and dashes, starting alphanumeric)`);
|
|
72
|
-
}
|
|
73
|
-
const reserved = reservedIdReason(options.id);
|
|
74
|
-
if (reserved !== null) {
|
|
75
|
-
throw new Error(reserved);
|
|
76
|
-
}
|
|
77
|
-
const inProject = options.projectRoot !== undefined;
|
|
78
|
-
const dir = inProject ? projectSopDir(options.projectRoot, options.id) : sopDir(options.id);
|
|
79
|
-
const manifestPath = inProject ? projectSopManifestPath(options.projectRoot, options.id) : sopManifestPath(options.id);
|
|
80
|
-
const skillPath = inProject ? projectSopSkillPath(options.projectRoot, options.id) : sopSkillPath(options.id);
|
|
81
|
-
if (existsSync(manifestPath)) {
|
|
82
|
-
throw new Error(`A SOP with id "${options.id}" already exists at ${manifestPath}. Remove it before re-running peaks sop init.`);
|
|
83
|
-
}
|
|
84
|
-
const manifest = scaffoldManifest(options.id, options.name ?? options.id);
|
|
85
|
-
const skillContent = scaffoldSkill(manifest);
|
|
86
|
-
const result = {
|
|
87
|
-
id: options.id,
|
|
88
|
-
dir,
|
|
89
|
-
manifestPath,
|
|
90
|
-
skillPath,
|
|
91
|
-
manifest,
|
|
92
|
-
skillContent,
|
|
93
|
-
applied: false
|
|
94
|
-
};
|
|
95
|
-
if (options.apply !== true) {
|
|
96
|
-
return result;
|
|
97
|
-
}
|
|
98
|
-
await mkdir(dir, { recursive: true });
|
|
99
|
-
await writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, 'utf8');
|
|
100
|
-
await writeFile(skillPath, skillContent, 'utf8');
|
|
101
|
-
return { ...result, applied: true };
|
|
102
|
-
}
|
|
103
|
-
function pushError(findings, code, message, gateId) {
|
|
104
|
-
findings.push(gateId === undefined ? { code, message, severity: 'error' } : { code, message, gateId, severity: 'error' });
|
|
105
|
-
}
|
|
106
|
-
function lintGate(gate, index, phases, seenGateIds, allowCommands, findings) {
|
|
107
|
-
const label = typeof gate?.id === 'string' && gate.id.length > 0 ? gate.id : `#${index}`;
|
|
108
|
-
if (typeof gate?.id !== 'string' || !SOP_ID_PATTERN.test(gate.id)) {
|
|
109
|
-
pushError(findings, 'INVALID_GATE_ID', `Gate ${label} has an invalid id (expected lowercase kebab)`, label);
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
if (seenGateIds.has(gate.id)) {
|
|
113
|
-
pushError(findings, 'DUPLICATE_GATE_ID', `Duplicate gate id "${gate.id}"`, gate.id);
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
seenGateIds.add(gate.id);
|
|
117
|
-
if (typeof gate.phase !== 'string' || !phases.has(gate.phase)) {
|
|
118
|
-
pushError(findings, 'GATE_PHASE_UNKNOWN', `Gate "${gate.id}" binds to unknown phase "${String(gate.phase)}"`, gate.id);
|
|
119
|
-
}
|
|
120
|
-
const check = gate.check;
|
|
121
|
-
if (check === null || typeof check !== 'object' || !SOP_GATE_CHECK_TYPES.includes(check.type ?? '')) {
|
|
122
|
-
pushError(findings, 'INVALID_CHECK_TYPE', `Gate "${gate.id}" has an invalid or missing check type (expected ${SOP_GATE_CHECK_TYPES.join(' | ')})`, gate.id);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
if (check.type === 'file-exists' && (typeof check.path !== 'string' || check.path.length === 0)) {
|
|
126
|
-
pushError(findings, 'CHECK_MISSING_FIELD', `Gate "${gate.id}" file-exists check requires a non-empty "path"`, gate.id);
|
|
127
|
-
}
|
|
128
|
-
if (check.type === 'grep' && (typeof check.file !== 'string' || check.file.length === 0 || typeof check.pattern !== 'string' || check.pattern.length === 0)) {
|
|
129
|
-
pushError(findings, 'CHECK_MISSING_FIELD', `Gate "${gate.id}" grep check requires non-empty "file" and "pattern"`, gate.id);
|
|
130
|
-
}
|
|
131
|
-
if (check.type === 'command') {
|
|
132
|
-
if (!Array.isArray(check.run) || check.run.length === 0 || !check.run.every((part) => typeof part === 'string')) {
|
|
133
|
-
pushError(findings, 'CHECK_MISSING_FIELD', `Gate "${gate.id}" command check requires a non-empty string array "run"`, gate.id);
|
|
134
|
-
}
|
|
135
|
-
if (!allowCommands) {
|
|
136
|
-
pushError(findings, 'COMMAND_NOT_ALLOWED', `Gate "${gate.id}" uses a command check; re-run with --allow-commands to permit command-type gates`, gate.id);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
function lintGuard(guard, index, phases, findings) {
|
|
141
|
-
const label = `#${index}`;
|
|
142
|
-
if (typeof guard?.phase !== 'string' || !phases.has(guard.phase)) {
|
|
143
|
-
pushError(findings, 'GUARD_PHASE_UNKNOWN', `Guard ${label} binds to unknown phase "${String(guard?.phase)}"`);
|
|
144
|
-
}
|
|
145
|
-
if (typeof guard?.bash !== 'string' || guard.bash.length === 0) {
|
|
146
|
-
pushError(findings, 'GUARD_MISSING_PATTERN', `Guard ${label} requires a non-empty "bash" pattern`);
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
try {
|
|
150
|
-
// eslint-disable-next-line no-new
|
|
151
|
-
new RegExp(guard.bash);
|
|
152
|
-
}
|
|
153
|
-
catch {
|
|
154
|
-
pushError(findings, 'GUARD_INVALID_PATTERN', `Guard ${label} has an invalid bash regex "${guard.bash}"`);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
export async function lintSop(options) {
|
|
158
|
-
// lint validates the EXACT layer the caller targets (project when projectRoot
|
|
159
|
-
// is set, else global) — not the precedence resolution used for execution.
|
|
160
|
-
const manifestPath = options.projectRoot !== undefined
|
|
161
|
-
? projectSopManifestPath(options.projectRoot, options.id)
|
|
162
|
-
: sopManifestPath(options.id);
|
|
163
|
-
if (!existsSync(manifestPath)) {
|
|
164
|
-
return null;
|
|
165
|
-
}
|
|
166
|
-
const findings = [];
|
|
167
|
-
const warnings = [];
|
|
168
|
-
let manifest = null;
|
|
169
|
-
try {
|
|
170
|
-
manifest = JSON.parse(await readFile(manifestPath, 'utf8'));
|
|
171
|
-
}
|
|
172
|
-
catch (error) {
|
|
173
|
-
pushError(findings, 'INVALID_JSON', `Manifest is not valid JSON: ${error instanceof Error ? error.message : 'parse error'}`);
|
|
174
|
-
return { ok: false, id: options.id, manifestPath, gateCount: 0, gateIds: [], findings, warnings };
|
|
175
|
-
}
|
|
176
|
-
if (typeof manifest.id !== 'string' || !SOP_ID_PATTERN.test(manifest.id)) {
|
|
177
|
-
pushError(findings, 'INVALID_ID', `Manifest id "${String(manifest.id)}" is invalid (expected lowercase kebab)`);
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
const reserved = reservedIdReason(manifest.id);
|
|
181
|
-
if (reserved !== null) {
|
|
182
|
-
pushError(findings, 'RESERVED_ID', reserved);
|
|
183
|
-
}
|
|
184
|
-
if (manifest.id !== options.id) {
|
|
185
|
-
pushError(findings, 'ID_MISMATCH', `Manifest id "${manifest.id}" does not match its directory "${options.id}"`);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
const phases = Array.isArray(manifest.phases) ? manifest.phases : [];
|
|
189
|
-
if (phases.length === 0) {
|
|
190
|
-
pushError(findings, 'EMPTY_PHASES', 'Manifest must declare at least one phase');
|
|
191
|
-
}
|
|
192
|
-
const phaseSet = new Set();
|
|
193
|
-
for (const phase of phases) {
|
|
194
|
-
if (phaseSet.has(phase)) {
|
|
195
|
-
pushError(findings, 'DUPLICATE_PHASE', `Duplicate phase "${phase}"`);
|
|
196
|
-
}
|
|
197
|
-
phaseSet.add(phase);
|
|
198
|
-
}
|
|
199
|
-
const gates = Array.isArray(manifest.gates) ? manifest.gates : [];
|
|
200
|
-
const seenGateIds = new Set();
|
|
201
|
-
gates.forEach((gate, index) => lintGate(gate, index, phaseSet, seenGateIds, options.allowCommands === true, findings));
|
|
202
|
-
const guards = Array.isArray(manifest.guards) ? manifest.guards : [];
|
|
203
|
-
guards.forEach((guard, index) => lintGuard(guard, index, phaseSet, findings));
|
|
204
|
-
// Non-blocking hints: surface `stripMeta: true` opt-ins so the author can
|
|
205
|
-
// confirm the meta-strip behavior. Distinct from `findings` (which block
|
|
206
|
-
// lint). Per PRD 006 AC6, only gates that declared `stripMeta` warn.
|
|
207
|
-
for (const gate of gates) {
|
|
208
|
-
if (gate?.check?.type === 'grep' && gate.check.stripMeta === true) {
|
|
209
|
-
const label = typeof gate.id === 'string' && gate.id.length > 0 ? gate.id : '?';
|
|
210
|
-
warnings.push(`Gate "${label}" declares stripMeta: true — meta content (HTML comments / fenced code / block comments) is excluded from grep evaluation`);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
return {
|
|
214
|
-
ok: findings.every((finding) => finding.severity !== 'error'),
|
|
215
|
-
id: options.id,
|
|
216
|
-
manifestPath,
|
|
217
|
-
gateCount: gates.length,
|
|
218
|
-
gateIds: [...seenGateIds],
|
|
219
|
-
findings,
|
|
220
|
-
warnings
|
|
221
|
-
};
|
|
222
|
-
}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User-authored SOP (standard operating procedure) skill types — Feature A.
|
|
3
|
-
*
|
|
4
|
-
* A SOP is a user-defined workflow: ordered phases plus gates that guard entry
|
|
5
|
-
* into a phase. Gates are first-class, addressable objects (stable id) so a
|
|
6
|
-
* later metering layer (Feature B) can count them; Slice 1 only models and
|
|
7
|
-
* validates them — no registry, no enforcement.
|
|
8
|
-
*/
|
|
9
|
-
export type SopGateCheckType = 'file-exists' | 'grep' | 'command';
|
|
10
|
-
export type SopGateCheck = {
|
|
11
|
-
type: 'file-exists';
|
|
12
|
-
path: string;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* grep: by default passes when `pattern` is FOUND in `file`. Set `absent: true`
|
|
16
|
-
* to invert — pass when the pattern is NOT found. `absent` expresses "must not
|
|
17
|
-
* contain X" (e.g. no leftover TODO) as a pure-text check, with no command gate
|
|
18
|
-
* and no `--allow-commands` escalation.
|
|
19
|
-
*
|
|
20
|
-
* Set `stripMeta: true` to evaluate the regex on a meta-stripped copy of the
|
|
21
|
-
* file (HTML comments + fenced code blocks + `/* … */` block comments
|
|
22
|
-
* removed). This lets content-publishing SOPs avoid the "literal-word trap"
|
|
23
|
-
* where the author discussing the gate's behavior in the post would itself
|
|
24
|
-
* trigger the gate. Default `false` preserves byte-identical behavior.
|
|
25
|
-
*/
|
|
26
|
-
| {
|
|
27
|
-
type: 'grep';
|
|
28
|
-
file: string;
|
|
29
|
-
pattern: string;
|
|
30
|
-
absent?: boolean;
|
|
31
|
-
stripMeta?: boolean;
|
|
32
|
-
} | {
|
|
33
|
-
type: 'command';
|
|
34
|
-
run: string[];
|
|
35
|
-
expectExitZero?: boolean;
|
|
36
|
-
};
|
|
37
|
-
export type SopGate = {
|
|
38
|
-
/** Stable id, unique within the SOP. Addressed by `peaks sop check --gate <id>`. */
|
|
39
|
-
id: string;
|
|
40
|
-
/** The phase whose entry this gate guards; must be one of the SOP's phases. */
|
|
41
|
-
phase: string;
|
|
42
|
-
check: SopGateCheck;
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Binds a concrete irreversible Bash action to a phase: running a command that
|
|
46
|
-
* matches `bash` (a JS regex) counts as performing that phase's action, so the
|
|
47
|
-
* phase's gates must pass first. Enforced un-bypassably by the PreToolUse hook
|
|
48
|
-
* (`peaks gate enforce`). Optional — a SOP without guards still works exactly as
|
|
49
|
-
* before; enforcement is an opt-in overlay.
|
|
50
|
-
*/
|
|
51
|
-
export type SopPhaseGuard = {
|
|
52
|
-
/** The phase whose gates must pass before the matching command may run. Must be a declared phase. */
|
|
53
|
-
phase: string;
|
|
54
|
-
/** JS regular expression tested against the Bash `tool_input.command`. */
|
|
55
|
-
bash: string;
|
|
56
|
-
};
|
|
57
|
-
export type SopManifest = {
|
|
58
|
-
/** SOP id; namespaced separately from built-in peaks-* skills. */
|
|
59
|
-
id: string;
|
|
60
|
-
name: string;
|
|
61
|
-
description?: string;
|
|
62
|
-
/** Ordered, unique phase names. */
|
|
63
|
-
phases: string[];
|
|
64
|
-
gates: SopGate[];
|
|
65
|
-
/** Optional Bash-action guards enforced by the PreToolUse hook (opt-in). */
|
|
66
|
-
guards?: SopPhaseGuard[];
|
|
67
|
-
};
|
|
68
|
-
/**
|
|
69
|
-
* A registered gate's workspace-level identity. `ref` (`<sopId>/<gateId>`) is
|
|
70
|
-
* unique across the workspace; `transition` (`<sopId>:<phase>`) is the binding
|
|
71
|
-
* a future enforcement layer (Slice 3) consults. Built-in peaks-* gates are
|
|
72
|
-
* never recorded here.
|
|
73
|
-
*/
|
|
74
|
-
export type RegisteredGate = {
|
|
75
|
-
ref: string;
|
|
76
|
-
gateId: string;
|
|
77
|
-
sopId: string;
|
|
78
|
-
phase: string;
|
|
79
|
-
transition: string;
|
|
80
|
-
};
|
|
81
|
-
export type RegisteredSop = {
|
|
82
|
-
id: string;
|
|
83
|
-
path: string;
|
|
84
|
-
gates: RegisteredGate[];
|
|
85
|
-
};
|
|
86
|
-
export type SopRegistry = {
|
|
87
|
-
version: 1;
|
|
88
|
-
sops: RegisteredSop[];
|
|
89
|
-
/** Total gate count across all registered SOPs — the workspace pool a metering layer would read. */
|
|
90
|
-
gateCount: number;
|
|
91
|
-
};
|
|
92
|
-
export type SopCheckResult = 'pass' | 'fail' | 'blocked';
|
|
93
|
-
export declare const SOP_GATE_CHECK_TYPES: ReadonlyArray<SopGateCheckType>;
|
|
94
|
-
/** SOP id grammar: lowercase kebab, must start alphanumeric. */
|
|
95
|
-
export declare const SOP_ID_PATTERN: RegExp;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User-authored SOP (standard operating procedure) skill types — Feature A.
|
|
3
|
-
*
|
|
4
|
-
* A SOP is a user-defined workflow: ordered phases plus gates that guard entry
|
|
5
|
-
* into a phase. Gates are first-class, addressable objects (stable id) so a
|
|
6
|
-
* later metering layer (Feature B) can count them; Slice 1 only models and
|
|
7
|
-
* validates them — no registry, no enforcement.
|
|
8
|
-
*/
|
|
9
|
-
export const SOP_GATE_CHECK_TYPES = ['file-exists', 'grep', 'command'];
|
|
10
|
-
/** SOP id grammar: lowercase kebab, must start alphanumeric. */
|
|
11
|
-
export const SOP_ID_PATTERN = /^[a-z0-9][a-z0-9-]*$/;
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* IDE-aware wrapper for `peaks standards init` / `peaks standards update`.
|
|
3
|
-
*
|
|
4
|
-
* Slice #011-2026-06-07-ide-adapter-resource-profile: the original
|
|
5
|
-
* `executeProjectStandardsInit` / `executeProjectStandardsUpdate` always
|
|
6
|
-
* wrote to `CLAUDE.md` + `.claude/rules/**` regardless of which IDE
|
|
7
|
-
* the user was running. This wrapper dispatches on the IDE detected
|
|
8
|
-
* (or explicitly requested via `--ide`) and falls back to the legacy
|
|
9
|
-
* Claude Code path with a stderr warning when the detected IDE has
|
|
10
|
-
* no `standardsProfile` declared (Trae in slice 1.3.2).
|
|
11
|
-
*
|
|
12
|
-
* Two entry points:
|
|
13
|
-
*
|
|
14
|
-
* - `executeProjectStandardsInitIdeAware` — same signature as the
|
|
15
|
-
* underlying `executeProjectStandardsInit`, plus an optional
|
|
16
|
-
* `ideId` override that bypasses detection.
|
|
17
|
-
* - `executeProjectStandardsUpdateIdeAware` — same shape, for the
|
|
18
|
-
* `update` flow.
|
|
19
|
-
*
|
|
20
|
-
* Detection precedence:
|
|
21
|
-
* 1. Explicit `options.ideId` (CLI `--ide` flag)
|
|
22
|
-
* 2. `IdeRegistry.detect()` from cwd (or the `projectRoot` if given)
|
|
23
|
-
* 3. `null` (no IDE detected) → fall back to the legacy Claude Code path
|
|
24
|
-
*
|
|
25
|
-
* Fallback behavior: when the resolved IDE has no `standardsProfile`
|
|
26
|
-
* declared, the wrapper STILL calls the legacy Claude Code writer
|
|
27
|
-
* (so the user gets the files they would have gotten before slice #011)
|
|
28
|
-
* and emits a stderr warning with the IDE id and the fact that the
|
|
29
|
-
* adapter is UNVERIFIED for the standards profile. This keeps the
|
|
30
|
-
* "Trae is UNVERIFIED, ship a working file tree, surface the gap"
|
|
31
|
-
* contract intact.
|
|
32
|
-
*/
|
|
33
|
-
import type { IdeId } from '../ide/ide-types.js';
|
|
34
|
-
import { detectAllResourceTargets, getStandardsProfile } from '../ide/resource-profile.js';
|
|
35
|
-
import { type ProjectStandardsInitOptions, type ProjectStandardsInitResult, type ProjectStandardsUpdateResult } from './project-standards-service.js';
|
|
36
|
-
export type { ProjectStandardsInitResult, ProjectStandardsUpdateResult };
|
|
37
|
-
export type ProjectStandardsIdeAwareOptions = ProjectStandardsInitOptions & {
|
|
38
|
-
/**
|
|
39
|
-
* Explicit IDE override. When set, bypasses `IdeRegistry.detect()`
|
|
40
|
-
* (cwd + env heuristics) and uses the provided IDE id directly.
|
|
41
|
-
* Mirrors the `peaks hooks install --ide <id>` pattern.
|
|
42
|
-
*/
|
|
43
|
-
readonly ideId?: IdeId;
|
|
44
|
-
};
|
|
45
|
-
export type ProjectStandardsUpdateIdeAwareOptions = ProjectStandardsInitOptions & {
|
|
46
|
-
/** Explicit IDE override. See {@link ProjectStandardsIdeAwareOptions}. */
|
|
47
|
-
readonly ideId?: IdeId;
|
|
48
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* Resolve the active IDE id for a standards call. Order of precedence:
|
|
51
|
-
* 1. explicit `options.ideId`
|
|
52
|
-
* 2. `IdeRegistry.detect()` from `options.projectRoot`
|
|
53
|
-
* 3. `null` (no detected IDE — caller falls back to legacy)
|
|
54
|
-
*/
|
|
55
|
-
export declare function resolveStandardsIdeId(options: {
|
|
56
|
-
readonly projectRoot: string;
|
|
57
|
-
readonly ideId?: IdeId;
|
|
58
|
-
}): IdeId | null;
|
|
59
|
-
/**
|
|
60
|
-
* Run `peaks standards init` with IDE-aware dispatch.
|
|
61
|
-
*
|
|
62
|
-
* When the resolved IDE has a `standardsProfile`, the call still
|
|
63
|
-
* delegates to the existing `executeProjectStandardsInit` (the
|
|
64
|
-
* profile maps to the Claude Code path; future per-IDE writers
|
|
65
|
-
* plug in here). When the IDE is unregistered for the standards
|
|
66
|
-
* profile, the call delegates to the legacy path + emits a stderr
|
|
67
|
-
* warning.
|
|
68
|
-
*/
|
|
69
|
-
export declare function executeProjectStandardsInitIdeAware(options: ProjectStandardsIdeAwareOptions): ProjectStandardsInitResult;
|
|
70
|
-
/**
|
|
71
|
-
* Run `peaks standards update` with IDE-aware dispatch.
|
|
72
|
-
*
|
|
73
|
-
* Same dispatch rules as `executeProjectStandardsInitIdeAware`.
|
|
74
|
-
*/
|
|
75
|
-
export declare function executeProjectStandardsUpdateIdeAware(options: ProjectStandardsUpdateIdeAwareOptions): ProjectStandardsUpdateResult;
|
|
76
|
-
/**
|
|
77
|
-
* Test seam + integration-test helper: returns the resolved IDE id
|
|
78
|
-
* for the call, plus the active standards profile. Exported for
|
|
79
|
-
* the integration test in `tests/unit/standards/ide-aware-standards-service.test.ts`
|
|
80
|
-
* to assert the dispatch decision without running the full write.
|
|
81
|
-
*/
|
|
82
|
-
export declare function inspectStandardsDispatch(options: {
|
|
83
|
-
readonly projectRoot: string;
|
|
84
|
-
readonly ideId?: IdeId;
|
|
85
|
-
}): {
|
|
86
|
-
readonly ideId: IdeId | null;
|
|
87
|
-
readonly profile: ReturnType<typeof getStandardsProfile>;
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* Test seam: the resource-profile accessor exposes
|
|
91
|
-
* `detectAllResourceTargets` for callers that need to enumerate
|
|
92
|
-
* across all registered IDEs. Re-exported here for convenience.
|
|
93
|
-
*/
|
|
94
|
-
export { detectAllResourceTargets };
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { detectAllResourceTargets, getStandardsProfile, } from '../ide/resource-profile.js';
|
|
2
|
-
import { executeProjectStandardsInit, executeProjectStandardsUpdate, } from './project-standards-service.js';
|
|
3
|
-
import { detectInstalledIde } from '../ide/ide-detector.js';
|
|
4
|
-
function warnUnregisteredIde(ideId, projectRoot) {
|
|
5
|
-
process.stderr.write(`peaks standards: IDE '${ideId}' has no standardsProfile declared; ` +
|
|
6
|
-
`falling back to the legacy Claude Code path (CLAUDE.md + .claude/rules/**) ` +
|
|
7
|
-
`for project '${projectRoot}'. This is a slice #011 follow-up gap; ` +
|
|
8
|
-
`see .peaks/memory/ide-adapter-resource-profile-framework.md.\n`);
|
|
9
|
-
}
|
|
10
|
-
function warnNoIdeDetected(projectRoot) {
|
|
11
|
-
process.stderr.write(`peaks standards: no IDE detected in '${projectRoot}'; ` +
|
|
12
|
-
`writing to the legacy Claude Code path (CLAUDE.md + .claude/rules/**). ` +
|
|
13
|
-
`Pass --ide <id> to bypass detection.\n`);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Resolve the active IDE id for a standards call. Order of precedence:
|
|
17
|
-
* 1. explicit `options.ideId`
|
|
18
|
-
* 2. `IdeRegistry.detect()` from `options.projectRoot`
|
|
19
|
-
* 3. `null` (no detected IDE — caller falls back to legacy)
|
|
20
|
-
*/
|
|
21
|
-
export function resolveStandardsIdeId(options) {
|
|
22
|
-
if (options.ideId !== undefined) {
|
|
23
|
-
return options.ideId;
|
|
24
|
-
}
|
|
25
|
-
return detectInstalledIde(options.projectRoot);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Run `peaks standards init` with IDE-aware dispatch.
|
|
29
|
-
*
|
|
30
|
-
* When the resolved IDE has a `standardsProfile`, the call still
|
|
31
|
-
* delegates to the existing `executeProjectStandardsInit` (the
|
|
32
|
-
* profile maps to the Claude Code path; future per-IDE writers
|
|
33
|
-
* plug in here). When the IDE is unregistered for the standards
|
|
34
|
-
* profile, the call delegates to the legacy path + emits a stderr
|
|
35
|
-
* warning.
|
|
36
|
-
*/
|
|
37
|
-
export function executeProjectStandardsInitIdeAware(options) {
|
|
38
|
-
const ideId = resolveStandardsIdeId(options);
|
|
39
|
-
if (ideId === null) {
|
|
40
|
-
warnNoIdeDetected(options.projectRoot);
|
|
41
|
-
return executeProjectStandardsInit(options);
|
|
42
|
-
}
|
|
43
|
-
const profile = getStandardsProfile(ideId);
|
|
44
|
-
if (profile === null) {
|
|
45
|
-
warnUnregisteredIde(ideId, options.projectRoot);
|
|
46
|
-
return executeProjectStandardsInit(options);
|
|
47
|
-
}
|
|
48
|
-
// Claude Code path: profile matches the legacy writer. Future per-IDE
|
|
49
|
-
// writers (markdown+frontmatter, multiple rule roots, etc.) plug in
|
|
50
|
-
// here by branching on `profile.format` / `profile.rulesDir`.
|
|
51
|
-
return executeProjectStandardsInit(options);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Run `peaks standards update` with IDE-aware dispatch.
|
|
55
|
-
*
|
|
56
|
-
* Same dispatch rules as `executeProjectStandardsInitIdeAware`.
|
|
57
|
-
*/
|
|
58
|
-
export function executeProjectStandardsUpdateIdeAware(options) {
|
|
59
|
-
const ideId = resolveStandardsIdeId(options);
|
|
60
|
-
if (ideId === null) {
|
|
61
|
-
warnNoIdeDetected(options.projectRoot);
|
|
62
|
-
return executeProjectStandardsUpdate(options);
|
|
63
|
-
}
|
|
64
|
-
const profile = getStandardsProfile(ideId);
|
|
65
|
-
if (profile === null) {
|
|
66
|
-
warnUnregisteredIde(ideId, options.projectRoot);
|
|
67
|
-
return executeProjectStandardsUpdate(options);
|
|
68
|
-
}
|
|
69
|
-
return executeProjectStandardsUpdate(options);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Test seam + integration-test helper: returns the resolved IDE id
|
|
73
|
-
* for the call, plus the active standards profile. Exported for
|
|
74
|
-
* the integration test in `tests/unit/standards/ide-aware-standards-service.test.ts`
|
|
75
|
-
* to assert the dispatch decision without running the full write.
|
|
76
|
-
*/
|
|
77
|
-
export function inspectStandardsDispatch(options) {
|
|
78
|
-
const ideId = resolveStandardsIdeId(options);
|
|
79
|
-
if (ideId === null) {
|
|
80
|
-
return { ideId: null, profile: null };
|
|
81
|
-
}
|
|
82
|
-
return { ideId, profile: getStandardsProfile(ideId) };
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Test seam: the resource-profile accessor exposes
|
|
86
|
-
* `detectAllResourceTargets` for callers that need to enumerate
|
|
87
|
-
* across all registered IDEs. Re-exported here for convenience.
|
|
88
|
-
*/
|
|
89
|
-
export { detectAllResourceTargets };
|