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,158 +0,0 @@
|
|
|
1
|
-
export type SkillPresenceMode = 'full-auto' | 'assisted' | 'swarm' | 'strict';
|
|
2
|
-
export declare const VALID_SKILL_PRESENCE_MODES: ReadonlyArray<SkillPresenceMode>;
|
|
3
|
-
export declare function isSkillPresenceMode(value: string): value is SkillPresenceMode;
|
|
4
|
-
export type SkillPresence = {
|
|
5
|
-
skill: string;
|
|
6
|
-
mode?: SkillPresenceMode;
|
|
7
|
-
gate?: string;
|
|
8
|
-
sessionId?: string;
|
|
9
|
-
/**
|
|
10
|
-
* Identifier of the *outer* session — the Claude Code / Cursor /
|
|
11
|
-
* VSCode-plugin / other harness session that is currently driving
|
|
12
|
-
* the LLM. Sourced from the `PEAKS_OUTER_SESSION_ID` environment
|
|
13
|
-
* variable when set, with `CLAUDE_CODE_SESSION_ID` as a fallback for
|
|
14
|
-
* Claude Code. Stamped onto the presence file so the status line
|
|
15
|
-
* can tell whether the recorded skill belongs to the live outer
|
|
16
|
-
* session (show it) or a previous one (render idle), and so
|
|
17
|
-
* `setSkillPresence` can detect a session swap and AskUserQuestion
|
|
18
|
-
* the user about rolling a new peaks session.
|
|
19
|
-
*/
|
|
20
|
-
outerSessionId?: string;
|
|
21
|
-
/**
|
|
22
|
-
* Set by `setSkillPresence` when the outer session id changed
|
|
23
|
-
* between the last presence write and this one AND the bound
|
|
24
|
-
* peaks session has a different (or no) recorded outer session id.
|
|
25
|
-
*
|
|
26
|
-
* As of slice 018 (auto-roll on outer-mismatch), the field is
|
|
27
|
-
* informational only — it tells the statusline and any log /
|
|
28
|
-
* observability consumer that an outer-session swap was observed
|
|
29
|
-
* on the previous heartbeat. The actual binding rotation is
|
|
30
|
-
* performed by `ensureSessionWithRotation` (slice 018), not by
|
|
31
|
-
* `setSkillPresence`. `peaks-code`'s Step 0 used to read this
|
|
32
|
-
* field and turn it into an AskUserQuestion; that ask is no
|
|
33
|
-
* longer needed because the rotation already happened by the time
|
|
34
|
-
* the skill is invoked.
|
|
35
|
-
*/
|
|
36
|
-
outerSessionMismatch?: {
|
|
37
|
-
previous?: string;
|
|
38
|
-
current: string;
|
|
39
|
-
boundSessionId: string;
|
|
40
|
-
boundOuterSessionId?: string;
|
|
41
|
-
};
|
|
42
|
-
setAt: string;
|
|
43
|
-
lastHeartbeat?: string;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* Resolve the active peaks session id from
|
|
47
|
-
* `.peaks/_runtime/session.json` (legacy: `.peaks/.session.json`).
|
|
48
|
-
* Returns `null` when no session is bound.
|
|
49
|
-
*
|
|
50
|
-
* Public export: callers like `peaks sub-agent dispatch` use this
|
|
51
|
-
* to auto-resolve `--session-id` when the LLM driver forgets to
|
|
52
|
-
* pass the flag, so dispatch records land in the right
|
|
53
|
-
* `.peaks/_sub_agents/<sid>/` tree instead of an `unknown-sid`
|
|
54
|
-
* fallback (slice 2026-06-26-unknown-sid-fallback-fix).
|
|
55
|
-
*/
|
|
56
|
-
export declare function getCurrentSessionId(projectRootOverride?: string): string | null;
|
|
57
|
-
export declare function exportSkillPresence(projectRootOverride?: string): string;
|
|
58
|
-
/**
|
|
59
|
-
* Write the per-caller active-skill marker to
|
|
60
|
-
* `.peaks/_runtime/<peakSid>/active-skill-<callerId>.json` (D6). Returns
|
|
61
|
-
* the written presence with the `callerId` field set.
|
|
62
|
-
*
|
|
63
|
-
* The caller is responsible for resolving the `callerId` (via
|
|
64
|
-
* `resolveCallerId` from `src/services/session/resolve-caller-id.ts`)
|
|
65
|
-
* and the `peakSessionId` (via `getCallerBinding` then reading
|
|
66
|
-
* `peakSessionId`, OR via `ensureSession` for the first-time case).
|
|
67
|
-
*/
|
|
68
|
-
export declare function setSkillPresenceForCaller(projectRootOverride: string, callerId: string, peakSessionId: string, skill: string, mode?: string, gate?: string): SkillPresence;
|
|
69
|
-
export declare function setSkillPresence(skill: string, mode?: string, gate?: string, projectRootOverride?: string): SkillPresence;
|
|
70
|
-
export declare function getSkillPresence(projectRootOverride?: string): SkillPresence | null;
|
|
71
|
-
/**
|
|
72
|
-
* Slice 002 (v2.15.0) — presence staleness detection (AC-1).
|
|
73
|
-
*
|
|
74
|
-
* Compare the *outer* session id stamped onto the current presence
|
|
75
|
-
* marker against the *current* outer session id (from
|
|
76
|
-
* `PEAKS_OUTER_SESSION_ID` / `CLAUDE_CODE_SESSION_ID`).
|
|
77
|
-
*
|
|
78
|
-
* Stale reasons (in priority order):
|
|
79
|
-
*
|
|
80
|
-
* - `'outer-session-mismatch'` — the presence was stamped by a
|
|
81
|
-
* different outer (Claude / harness) session than the one that
|
|
82
|
-
* is now driving peaks. Most common cause: the LLM closed the
|
|
83
|
-
* previous Claude session, the next session boots and finds a
|
|
84
|
-
* presence leftover from the old one. peaks-code Step 1 must
|
|
85
|
-
* AskUserQuestion to confirm the user wants the old mode.
|
|
86
|
-
*
|
|
87
|
-
* - `'no-presence'` — there is no presence file on disk.
|
|
88
|
-
* Not strictly "stale", but callers (peaks-code Step 1, `peaks
|
|
89
|
-
* code should-pause --step step-1-mode-select`) want to treat
|
|
90
|
-
* this case as "no opinion yet — must ask". Surfaced as
|
|
91
|
-
* `stale: true` with reason `'no-presence'` so the ask path is
|
|
92
|
-
* uniform.
|
|
93
|
-
*
|
|
94
|
-
* - `null` — the presence exists AND its outer
|
|
95
|
-
* session id matches the current outer session id. Not stale.
|
|
96
|
-
* Caller may safely reuse the recorded mode.
|
|
97
|
-
*
|
|
98
|
-
* Pure read-only: never deletes the presence file (the rotation
|
|
99
|
-
* auto-clear path is a separate concern; see
|
|
100
|
-
* `clearStalePresenceOnRotation`). Test seam: `--current-outer` lets
|
|
101
|
-
* tests inject a deterministic current outer id without touching env
|
|
102
|
-
* vars.
|
|
103
|
-
*/
|
|
104
|
-
export type StaleReason = 'outer-session-mismatch' | 'no-presence';
|
|
105
|
-
export type StalenessCheck = {
|
|
106
|
-
stale: boolean;
|
|
107
|
-
reason: StaleReason | null;
|
|
108
|
-
/** What was on disk; null when no presence was found. */
|
|
109
|
-
presence: SkillPresence | null;
|
|
110
|
-
/** Current outer session id (env-driven). Undefined when no signal. */
|
|
111
|
-
currentOuterSessionId: string | undefined;
|
|
112
|
-
/** Outer session id recorded on the presence marker. Undefined when no signal. */
|
|
113
|
-
recordedOuterSessionId: string | undefined;
|
|
114
|
-
};
|
|
115
|
-
export declare function checkStalePresence(opts?: {
|
|
116
|
-
projectRootOverride?: string | undefined;
|
|
117
|
-
/**
|
|
118
|
-
* Override the *current* outer session id. Test seam only.
|
|
119
|
-
* - `undefined` (omitted): read from `PEAKS_OUTER_SESSION_ID` /
|
|
120
|
-
* `CLAUDE_CODE_SESSION_ID` env vars.
|
|
121
|
-
* - explicit `string`: use the value verbatim (empty string means
|
|
122
|
-
* "no signal", same as a missing env var).
|
|
123
|
-
*/
|
|
124
|
-
currentOuter?: string | undefined;
|
|
125
|
-
}): StalenessCheck;
|
|
126
|
-
/**
|
|
127
|
-
* Slice 002 (v2.15.0) — auto-clear stale presence on session
|
|
128
|
-
* rotation (AC-1).
|
|
129
|
-
*
|
|
130
|
-
* Called from `peaks workspace init` immediately after a successful
|
|
131
|
-
* `outer-session-mismatch` rotation. When the previous session's
|
|
132
|
-
* presence is still on disk under the OLD outer session id,
|
|
133
|
-
* clearing it prevents peaks-code Step 1 from picking up a stale
|
|
134
|
-
* `mode` field that the user never explicitly chose.
|
|
135
|
-
*
|
|
136
|
-
* Only clears when:
|
|
137
|
-
* - the recorded outer session id does NOT match the current outer
|
|
138
|
-
* session id (i.e. the presence IS stale), AND
|
|
139
|
-
* - the recorded outer session id matches the just-rotated-out
|
|
140
|
-
* session id (i.e. we're clearing exactly the old binding, not a
|
|
141
|
-
* user-explicitly-set mode from another live outer session).
|
|
142
|
-
*
|
|
143
|
-
* Returns `{ cleared, reason }` so callers can surface the outcome
|
|
144
|
-
* in the JSON envelope and audit log. Pure: no env-var reads, all
|
|
145
|
-
* inputs are passed explicitly so the call site (init command) can
|
|
146
|
-
* decide what the "rotated-out" id was.
|
|
147
|
-
*/
|
|
148
|
-
export declare function clearStalePresenceOnRotation(opts: {
|
|
149
|
-
projectRootOverride?: string;
|
|
150
|
-
currentOuterSessionId: string | undefined;
|
|
151
|
-
rotatedOutSessionId: string | null;
|
|
152
|
-
}): {
|
|
153
|
-
cleared: boolean;
|
|
154
|
-
reason: string | null;
|
|
155
|
-
recordedOuter?: string;
|
|
156
|
-
};
|
|
157
|
-
export declare function touchSkillHeartbeat(projectRootOverride?: string): SkillPresence | null;
|
|
158
|
-
export declare function clearSkillPresence(projectRootOverride?: string): boolean;
|
|
@@ -1,474 +0,0 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
2
|
-
import { dirname, join, resolve } from 'node:path';
|
|
3
|
-
import { findProjectRoot } from '../config/config-safety.js';
|
|
4
|
-
import { ensureMemoryBootstrap } from '../memory/project-memory-service.js';
|
|
5
|
-
import { getSessionMeta } from '../session/session-manager.js';
|
|
6
|
-
export const VALID_SKILL_PRESENCE_MODES = [
|
|
7
|
-
'full-auto',
|
|
8
|
-
'assisted',
|
|
9
|
-
'swarm',
|
|
10
|
-
'strict'
|
|
11
|
-
];
|
|
12
|
-
export function isSkillPresenceMode(value) {
|
|
13
|
-
return VALID_SKILL_PRESENCE_MODES.includes(value);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* The current outer session id, exposed to Bash tool calls via the
|
|
17
|
-
* `PEAKS_OUTER_SESSION_ID` environment variable. Stamping it onto the
|
|
18
|
-
* presence file lets the read-only status line tell whether the recorded
|
|
19
|
-
* skill belongs to the live session (show it) or a previous one
|
|
20
|
-
* (render idle). Falls back to `CLAUDE_CODE_SESSION_ID` for Claude Code
|
|
21
|
-
* so existing Claude Code users get the field populated without any
|
|
22
|
-
* configuration; other harnesses that want a presence stamp can set
|
|
23
|
-
* either variable.
|
|
24
|
-
*/
|
|
25
|
-
function getCurrentOuterSessionId() {
|
|
26
|
-
const peaks = process.env.PEAKS_OUTER_SESSION_ID;
|
|
27
|
-
if (typeof peaks === 'string' && peaks.length > 0)
|
|
28
|
-
return peaks;
|
|
29
|
-
const claude = process.env.CLAUDE_CODE_SESSION_ID;
|
|
30
|
-
if (typeof claude === 'string' && claude.length > 0)
|
|
31
|
-
return claude;
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
// As of slice 2026-06-05-peaks-runtime-layer the orchestrator's
|
|
35
|
-
// active-skill marker lives under `.peaks/_runtime/active-skill.json`.
|
|
36
|
-
// The legacy `.peaks/.active-skill.json` path is preserved as a
|
|
37
|
-
// read-only fallback for one minor release so older CLI versions (or
|
|
38
|
-
// trees that have not been migrated by `peaks workspace reconcile`)
|
|
39
|
-
// keep working without a forced re-init.
|
|
40
|
-
const PRESENCE_FILE = join('.peaks', '_runtime', 'active-skill.json');
|
|
41
|
-
const PRESENCE_FILE_LEGACY = '.peaks/.active-skill.json';
|
|
42
|
-
const SESSION_FILE = join('.peaks', '_runtime', 'session.json');
|
|
43
|
-
const SESSION_FILE_LEGACY = '.peaks/.session.json';
|
|
44
|
-
function resolveProjectRoot(override) {
|
|
45
|
-
if (override)
|
|
46
|
-
return resolve(override);
|
|
47
|
-
return findProjectRoot(process.cwd()) ?? process.cwd();
|
|
48
|
-
}
|
|
49
|
-
function resolvePresencePath(projectRootOverride) {
|
|
50
|
-
return resolve(resolveProjectRoot(projectRootOverride), PRESENCE_FILE);
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Back-compat read for the active-skill marker. Prefers the new
|
|
54
|
-
* canonical `.peaks/_runtime/active-skill.json`; falls back to the
|
|
55
|
-
* legacy `.peaks/.active-skill.json` for one minor release.
|
|
56
|
-
*
|
|
57
|
-
* Returns the parsed SkillPresence object, or null when neither
|
|
58
|
-
* file is present / valid. The legacy file is never written by
|
|
59
|
-
* current code — only the new path receives writes.
|
|
60
|
-
*/
|
|
61
|
-
function readSkillPresenceBackCompat(projectRootOverride) {
|
|
62
|
-
const presencePath = resolvePresencePath(projectRootOverride);
|
|
63
|
-
const legacyPath = resolve(resolveProjectRoot(projectRootOverride), PRESENCE_FILE_LEGACY);
|
|
64
|
-
const pathToRead = existsSync(presencePath) ? presencePath : legacyPath;
|
|
65
|
-
if (!existsSync(pathToRead))
|
|
66
|
-
return null;
|
|
67
|
-
try {
|
|
68
|
-
const raw = readFileSync(pathToRead, 'utf8');
|
|
69
|
-
const parsed = JSON.parse(raw);
|
|
70
|
-
if (typeof parsed?.skill !== 'string' || parsed.skill.length === 0) {
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
return { presence: parsed, path: pathToRead };
|
|
74
|
-
}
|
|
75
|
-
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Resolve the active peaks session id from
|
|
81
|
-
* `.peaks/_runtime/session.json` (legacy: `.peaks/.session.json`).
|
|
82
|
-
* Returns `null` when no session is bound.
|
|
83
|
-
*
|
|
84
|
-
* Public export: callers like `peaks sub-agent dispatch` use this
|
|
85
|
-
* to auto-resolve `--session-id` when the LLM driver forgets to
|
|
86
|
-
* pass the flag, so dispatch records land in the right
|
|
87
|
-
* `.peaks/_sub_agents/<sid>/` tree instead of an `unknown-sid`
|
|
88
|
-
* fallback (slice 2026-06-26-unknown-sid-fallback-fix).
|
|
89
|
-
*/
|
|
90
|
-
export function getCurrentSessionId(projectRootOverride) {
|
|
91
|
-
const projectRoot = resolveProjectRoot(projectRootOverride);
|
|
92
|
-
const sessionPath = resolve(projectRoot, SESSION_FILE);
|
|
93
|
-
const legacyPath = resolve(projectRoot, SESSION_FILE_LEGACY);
|
|
94
|
-
// Back-compat window: prefer the new canonical path; fall back to the
|
|
95
|
-
// legacy `.peaks/.session.json` for one minor release.
|
|
96
|
-
const pathToRead = existsSync(sessionPath) ? sessionPath : legacyPath;
|
|
97
|
-
if (!existsSync(pathToRead))
|
|
98
|
-
return null;
|
|
99
|
-
try {
|
|
100
|
-
const data = JSON.parse(readFileSync(pathToRead, 'utf8'));
|
|
101
|
-
return typeof data.sessionId === 'string' && data.sessionId.length > 0
|
|
102
|
-
? data.sessionId
|
|
103
|
-
: null;
|
|
104
|
-
}
|
|
105
|
-
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Look up the outer-session-id that was bound to the *current* peaks
|
|
111
|
-
* session, i.e. the one written to the per-session
|
|
112
|
-
* `.peaks/_runtime/<sid>/session.json` by `ensureSession`/`initWorkspace`. This
|
|
113
|
-
* is the source of truth for "which outer session owns the
|
|
114
|
-
* in-flight peaks session".
|
|
115
|
-
*
|
|
116
|
-
* Returns `null` if no peaks session is bound yet, or if the bound
|
|
117
|
-
* session has no recorded outer session id (legacy sessions predating
|
|
118
|
-
* the outer-session contract).
|
|
119
|
-
*/
|
|
120
|
-
function getBoundOuterSessionId(projectRootOverride) {
|
|
121
|
-
const sessionId = getCurrentSessionId(projectRootOverride);
|
|
122
|
-
if (sessionId === null)
|
|
123
|
-
return undefined;
|
|
124
|
-
const projectRoot = resolveProjectRoot(projectRootOverride);
|
|
125
|
-
const meta = getSessionMeta(projectRoot, sessionId);
|
|
126
|
-
if (meta === null)
|
|
127
|
-
return undefined;
|
|
128
|
-
return typeof meta.outerSessionId === 'string' && meta.outerSessionId.length > 0
|
|
129
|
-
? meta.outerSessionId
|
|
130
|
-
: undefined;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Snapshot of the previous peaks session's outer session id, read
|
|
134
|
-
* straight off the active-skill marker *before* we overwrite it.
|
|
135
|
-
* Used to detect "the LLM just opened a fresh outer session" — if
|
|
136
|
-
* the previously-recorded outer session id differs from the one we
|
|
137
|
-
* are about to stamp, the user probably closed the previous outer
|
|
138
|
-
* session and is now driving peaks from a new one.
|
|
139
|
-
*
|
|
140
|
-
* As of slice 018 (auto-roll on outer-mismatch), the actual rotation
|
|
141
|
-
* is `ensureSessionWithRotation`'s job, not this one. The presence
|
|
142
|
-
* service still emits the structured `outerSessionMismatch` field on
|
|
143
|
-
* the presence envelope (useful for the statusline to render a stale
|
|
144
|
-
* marker and for the QA / log consumers to know an outer-session swap
|
|
145
|
-
* happened), but it no longer carries the implicit "ask the user"
|
|
146
|
-
* promise — `peaks-code`'s Step 0 no longer needs to surface an
|
|
147
|
-
* AskUserQuestion, because the rotation already fired by the time the
|
|
148
|
-
* skill is invoked.
|
|
149
|
-
*
|
|
150
|
-
* `getPreviousOuterSessionId` keeps its read-side role: it powers the
|
|
151
|
-
* informational `outerSessionMismatch` field below and the legacy
|
|
152
|
-
* `claudeSessionId` back-compat. Reads from
|
|
153
|
-
* `.peaks/_runtime/active-skill.json` first; falls back to the
|
|
154
|
-
* legacy `.peaks/.active-skill.json` for one minor release.
|
|
155
|
-
*/
|
|
156
|
-
function getPreviousOuterSessionId(projectRootOverride) {
|
|
157
|
-
const result = readSkillPresenceBackCompat(projectRootOverride);
|
|
158
|
-
if (result === null)
|
|
159
|
-
return undefined;
|
|
160
|
-
const parsed = result.presence;
|
|
161
|
-
if (typeof parsed.outerSessionId === 'string' && parsed.outerSessionId.length > 0) {
|
|
162
|
-
return parsed.outerSessionId;
|
|
163
|
-
}
|
|
164
|
-
// Legacy field name. Honour it on the read side so v1.2.x
|
|
165
|
-
// presence files do not show as a false mismatch.
|
|
166
|
-
if (typeof parsed.claudeSessionId === 'string' && parsed.claudeSessionId.length > 0) {
|
|
167
|
-
return parsed.claudeSessionId;
|
|
168
|
-
}
|
|
169
|
-
return undefined;
|
|
170
|
-
}
|
|
171
|
-
export function exportSkillPresence(projectRootOverride) {
|
|
172
|
-
return resolvePresencePath(projectRootOverride);
|
|
173
|
-
}
|
|
174
|
-
// ============================================================================
|
|
175
|
-
// Slice 020 — caller-keyed active-skill marker (D6).
|
|
176
|
-
// ============================================================================
|
|
177
|
-
//
|
|
178
|
-
// Today's per-project active-skill marker (`.peaks/_runtime/active-skill.json`)
|
|
179
|
-
// races when multiple Claude Code windows (or different platforms) drive the
|
|
180
|
-
// same project concurrently. Slice 020 introduces a per-caller file at
|
|
181
|
-
// `.peaks/_runtime/<peakSid>/active-skill-<callerId>.json` (D6). Two callers
|
|
182
|
-
// bound to the same peak session never clobber each other.
|
|
183
|
-
//
|
|
184
|
-
// The single-file marker is RETAINED for one minor release as read-only
|
|
185
|
-
// back-compat (M1, M4). The new write path is `setSkillPresenceForCaller`;
|
|
186
|
-
// the legacy `setSkillPresence` is now a thin wrapper that synthesises a
|
|
187
|
-
// legacy callerId from `process.env.CLAUDE_CODE_SESSION_ID` (or
|
|
188
|
-
// `projectRoot` for the truly-anonymous case) and delegates.
|
|
189
|
-
/**
|
|
190
|
-
* Write the per-caller active-skill marker to
|
|
191
|
-
* `.peaks/_runtime/<peakSid>/active-skill-<callerId>.json` (D6). Returns
|
|
192
|
-
* the written presence with the `callerId` field set.
|
|
193
|
-
*
|
|
194
|
-
* The caller is responsible for resolving the `callerId` (via
|
|
195
|
-
* `resolveCallerId` from `src/services/session/resolve-caller-id.ts`)
|
|
196
|
-
* and the `peakSessionId` (via `getCallerBinding` then reading
|
|
197
|
-
* `peakSessionId`, OR via `ensureSession` for the first-time case).
|
|
198
|
-
*/
|
|
199
|
-
export function setSkillPresenceForCaller(projectRootOverride, callerId, peakSessionId, skill, mode, gate) {
|
|
200
|
-
const validatedMode = mode && isSkillPresenceMode(mode) ? mode : undefined;
|
|
201
|
-
const now = new Date().toISOString();
|
|
202
|
-
const presence = {
|
|
203
|
-
skill,
|
|
204
|
-
...(validatedMode ? { mode: validatedMode } : {}),
|
|
205
|
-
...(gate ? { gate } : {}),
|
|
206
|
-
...(peakSessionId ? { sessionId: peakSessionId } : {}),
|
|
207
|
-
...(callerId ? { outerSessionId: callerId } : {}),
|
|
208
|
-
setAt: now,
|
|
209
|
-
lastHeartbeat: now
|
|
210
|
-
};
|
|
211
|
-
const presencePath = getActiveSkillFileForCallerPath(resolveProjectRoot(projectRootOverride), peakSessionId, callerId);
|
|
212
|
-
const presenceDir = dirname(presencePath);
|
|
213
|
-
if (!existsSync(presenceDir)) {
|
|
214
|
-
mkdirSync(presenceDir, { recursive: true });
|
|
215
|
-
}
|
|
216
|
-
writeFileSync(presencePath, JSON.stringify(presence, null, 2), 'utf8');
|
|
217
|
-
// Skill-activation side effect: bring the memory store into existence for
|
|
218
|
-
// fresh projects. Same fail-open contract as the legacy path.
|
|
219
|
-
ensureMemoryBootstrap(resolveProjectRoot(projectRootOverride));
|
|
220
|
-
return presence;
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Compute the per-caller active-skill file path. Re-exported for test
|
|
224
|
-
* ergonomics; canonical path lives in
|
|
225
|
-
* `src/services/session/caller-binding-service.ts` but inlined here to
|
|
226
|
-
* avoid a circular import (`caller-binding-service` reads
|
|
227
|
-
* `skill-presence-service` for the `setCallerBinding` integration in
|
|
228
|
-
* future slices; the inverse import would deadlock).
|
|
229
|
-
*/
|
|
230
|
-
function getActiveSkillFileForCallerPath(projectRoot, peakSessionId, callerId) {
|
|
231
|
-
return resolve(projectRoot, '.peaks', '_runtime', peakSessionId, `active-skill-${callerId}.json`);
|
|
232
|
-
}
|
|
233
|
-
export function setSkillPresence(skill, mode, gate, projectRootOverride) {
|
|
234
|
-
const validatedMode = mode && isSkillPresenceMode(mode) ? mode : undefined;
|
|
235
|
-
const sessionId = getCurrentSessionId(projectRootOverride);
|
|
236
|
-
const outerSessionId = getCurrentOuterSessionId();
|
|
237
|
-
const previousOuterSessionId = getPreviousOuterSessionId(projectRootOverride);
|
|
238
|
-
const now = new Date().toISOString();
|
|
239
|
-
// v2.15.0 slice 002 repair: always write `outerSessionId` (even
|
|
240
|
-
// as `''`) when no harness env var is set. Without this, the JSON
|
|
241
|
-
// envelope omits the key entirely, which makes downstream staleness
|
|
242
|
-
// detection unreliable (consumers can't tell "no signal" from
|
|
243
|
-
// "stale-missing-key"). Presence-shape consumers should treat
|
|
244
|
-
// `outerSessionId === ''` as "no signal", matching the
|
|
245
|
-
// `getCurrentOuterSessionId()` resolution contract.
|
|
246
|
-
const presence = {
|
|
247
|
-
skill,
|
|
248
|
-
...(validatedMode ? { mode: validatedMode } : {}),
|
|
249
|
-
...(gate ? { gate } : {}),
|
|
250
|
-
...(sessionId ? { sessionId } : {}),
|
|
251
|
-
outerSessionId: outerSessionId ?? '',
|
|
252
|
-
setAt: now,
|
|
253
|
-
lastHeartbeat: now
|
|
254
|
-
};
|
|
255
|
-
// Outer-session-mismatch detection. Fires only when:
|
|
256
|
-
// (a) we have a *current* outer session id (i.e. some harness is
|
|
257
|
-
// driving peaks right now — PEAKS_OUTER_SESSION_ID or
|
|
258
|
-
// CLAUDE_CODE_SESSION_ID is set), AND
|
|
259
|
-
// (b) the previous presence write recorded a *different* outer
|
|
260
|
-
// session id (or none), AND
|
|
261
|
-
// (c) the current peaks session is bound to a different outer
|
|
262
|
-
// session id (or no outer session id is bound).
|
|
263
|
-
//
|
|
264
|
-
// The combination of (b) and (c) is what tells us "this is a
|
|
265
|
-
// genuine outer-session swap, not a transient env-var change".
|
|
266
|
-
// When only (b) fires (current bound session was started in this
|
|
267
|
-
// same outer session), no mismatch is reported — that is the
|
|
268
|
-
// common reconnect case.
|
|
269
|
-
if (outerSessionId !== undefined) {
|
|
270
|
-
const boundOuterSessionId = getBoundOuterSessionId(projectRootOverride);
|
|
271
|
-
const outerChanged = previousOuterSessionId !== outerSessionId;
|
|
272
|
-
const boundOuterMatches = boundOuterSessionId === outerSessionId;
|
|
273
|
-
// Suppress the false-positive where neither side ever recorded
|
|
274
|
-
// an outer session id. Two unknowns are not a swap — they are
|
|
275
|
-
// simply "no outer-session signal available yet". Only report
|
|
276
|
-
// a mismatch when at least one side has a recorded outer id.
|
|
277
|
-
const hasOuterSignal = previousOuterSessionId !== undefined || boundOuterSessionId !== undefined;
|
|
278
|
-
if (hasOuterSignal && outerChanged && !boundOuterMatches && sessionId !== null) {
|
|
279
|
-
presence.outerSessionMismatch = {
|
|
280
|
-
...(previousOuterSessionId !== undefined ? { previous: previousOuterSessionId } : {}),
|
|
281
|
-
current: outerSessionId,
|
|
282
|
-
boundSessionId: sessionId,
|
|
283
|
-
...(boundOuterSessionId !== undefined ? { boundOuterSessionId } : {})
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
const presencePath = resolvePresencePath(projectRootOverride);
|
|
288
|
-
const presenceDir = dirname(presencePath);
|
|
289
|
-
if (!existsSync(presenceDir)) {
|
|
290
|
-
mkdirSync(presenceDir, { recursive: true });
|
|
291
|
-
}
|
|
292
|
-
writeFileSync(presencePath, JSON.stringify(presence, null, 2), 'utf8');
|
|
293
|
-
// Skill-activation side effect: ensure `.peaks/memory/` and a full-shape
|
|
294
|
-
// empty `index.json` exist for the project. This is the user-facing fix
|
|
295
|
-
// for "stock projects never get a memory directory or index". Every peaks
|
|
296
|
-
// skill starts with `peaks skill presence:set peaks-<role>`, so doing the
|
|
297
|
-
// bootstrap here means the very first skill invocation in a fresh project
|
|
298
|
-
// (or in a stock project that pre-dates the memory layer) brings the
|
|
299
|
-
// memory store into existence. The helper is fail-open, so a failure here
|
|
300
|
-
// does not block presence from being written.
|
|
301
|
-
const projectRoot = resolveProjectRoot(projectRootOverride);
|
|
302
|
-
ensureMemoryBootstrap(projectRoot);
|
|
303
|
-
return presence;
|
|
304
|
-
}
|
|
305
|
-
export function getSkillPresence(projectRootOverride) {
|
|
306
|
-
const result = readSkillPresenceBackCompat(projectRootOverride);
|
|
307
|
-
if (result === null)
|
|
308
|
-
return null;
|
|
309
|
-
const { presence, path: presencePath } = result;
|
|
310
|
-
if (typeof presence.sessionId === 'string' && presence.sessionId.length > 0) {
|
|
311
|
-
const currentSessionId = getCurrentSessionId(projectRootOverride);
|
|
312
|
-
if (currentSessionId && presence.sessionId !== currentSessionId) {
|
|
313
|
-
try {
|
|
314
|
-
unlinkSync(presencePath);
|
|
315
|
-
}
|
|
316
|
-
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
317
|
-
// best effort
|
|
318
|
-
}
|
|
319
|
-
return null;
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
return presence;
|
|
323
|
-
}
|
|
324
|
-
export function checkStalePresence(opts) {
|
|
325
|
-
const result = readSkillPresenceBackCompat(opts?.projectRootOverride);
|
|
326
|
-
// `opts?.currentOuter === undefined` is the omitted-key case. A
|
|
327
|
-
// falsy string `''` is an explicit "no signal" (used by tests to
|
|
328
|
-
// simulate a CLI run with no harness env vars).
|
|
329
|
-
const current = opts && 'currentOuter' in opts
|
|
330
|
-
? opts.currentOuter
|
|
331
|
-
: getCurrentOuterSessionId();
|
|
332
|
-
if (result === null) {
|
|
333
|
-
return {
|
|
334
|
-
stale: true,
|
|
335
|
-
reason: 'no-presence',
|
|
336
|
-
presence: null,
|
|
337
|
-
currentOuterSessionId: current,
|
|
338
|
-
recordedOuterSessionId: undefined
|
|
339
|
-
};
|
|
340
|
-
}
|
|
341
|
-
const recorded = result.presence.outerSessionId;
|
|
342
|
-
// Suppress false-positives when NEITHER side recorded an outer
|
|
343
|
-
// session id (legacy project, no harness signal). Two unknowns
|
|
344
|
-
// are not a swap — they are "no signal available yet".
|
|
345
|
-
const hasSignal = (recorded !== undefined && recorded.length > 0)
|
|
346
|
-
|| (current !== undefined && current.length > 0);
|
|
347
|
-
if (!hasSignal) {
|
|
348
|
-
return {
|
|
349
|
-
stale: false,
|
|
350
|
-
reason: null,
|
|
351
|
-
presence: result.presence,
|
|
352
|
-
currentOuterSessionId: current,
|
|
353
|
-
recordedOuterSessionId: recorded
|
|
354
|
-
};
|
|
355
|
-
}
|
|
356
|
-
if (recorded === current) {
|
|
357
|
-
return {
|
|
358
|
-
stale: false,
|
|
359
|
-
reason: null,
|
|
360
|
-
presence: result.presence,
|
|
361
|
-
currentOuterSessionId: current,
|
|
362
|
-
recordedOuterSessionId: recorded
|
|
363
|
-
};
|
|
364
|
-
}
|
|
365
|
-
return {
|
|
366
|
-
stale: true,
|
|
367
|
-
reason: 'outer-session-mismatch',
|
|
368
|
-
presence: result.presence,
|
|
369
|
-
currentOuterSessionId: current,
|
|
370
|
-
recordedOuterSessionId: recorded
|
|
371
|
-
};
|
|
372
|
-
}
|
|
373
|
-
/**
|
|
374
|
-
* Slice 002 (v2.15.0) — auto-clear stale presence on session
|
|
375
|
-
* rotation (AC-1).
|
|
376
|
-
*
|
|
377
|
-
* Called from `peaks workspace init` immediately after a successful
|
|
378
|
-
* `outer-session-mismatch` rotation. When the previous session's
|
|
379
|
-
* presence is still on disk under the OLD outer session id,
|
|
380
|
-
* clearing it prevents peaks-code Step 1 from picking up a stale
|
|
381
|
-
* `mode` field that the user never explicitly chose.
|
|
382
|
-
*
|
|
383
|
-
* Only clears when:
|
|
384
|
-
* - the recorded outer session id does NOT match the current outer
|
|
385
|
-
* session id (i.e. the presence IS stale), AND
|
|
386
|
-
* - the recorded outer session id matches the just-rotated-out
|
|
387
|
-
* session id (i.e. we're clearing exactly the old binding, not a
|
|
388
|
-
* user-explicitly-set mode from another live outer session).
|
|
389
|
-
*
|
|
390
|
-
* Returns `{ cleared, reason }` so callers can surface the outcome
|
|
391
|
-
* in the JSON envelope and audit log. Pure: no env-var reads, all
|
|
392
|
-
* inputs are passed explicitly so the call site (init command) can
|
|
393
|
-
* decide what the "rotated-out" id was.
|
|
394
|
-
*/
|
|
395
|
-
export function clearStalePresenceOnRotation(opts) {
|
|
396
|
-
const result = readSkillPresenceBackCompat(opts.projectRootOverride);
|
|
397
|
-
if (result === null) {
|
|
398
|
-
return { cleared: false, reason: 'no-presence' };
|
|
399
|
-
}
|
|
400
|
-
const recorded = result.presence.outerSessionId;
|
|
401
|
-
const current = opts.currentOuterSessionId;
|
|
402
|
-
// If the recorded outer id matches the new (current) outer id,
|
|
403
|
-
// this presence is NOT stale — the user just reconnected from
|
|
404
|
-
// the same outer session after rotation. Leave it alone.
|
|
405
|
-
if (recorded === current && recorded !== undefined) {
|
|
406
|
-
return {
|
|
407
|
-
cleared: false,
|
|
408
|
-
reason: 'not-stale',
|
|
409
|
-
...(recorded !== undefined ? { recordedOuter: recorded } : {})
|
|
410
|
-
};
|
|
411
|
-
}
|
|
412
|
-
// If we have a recorded outer id AND it does NOT match the
|
|
413
|
-
// rotated-out session id, the user explicitly set this presence
|
|
414
|
-
// from a DIFFERENT outer session that is still live. Do NOT clear
|
|
415
|
-
// — would destroy user intent.
|
|
416
|
-
if (opts.rotatedOutSessionId !== null &&
|
|
417
|
-
recorded !== undefined &&
|
|
418
|
-
recorded !== opts.rotatedOutSessionId) {
|
|
419
|
-
return {
|
|
420
|
-
cleared: false,
|
|
421
|
-
reason: 'recorded-by-different-outer',
|
|
422
|
-
recordedOuter: recorded
|
|
423
|
-
};
|
|
424
|
-
}
|
|
425
|
-
// Stale by outer-mismatch (either recorded === undefined and
|
|
426
|
-
// current is set, or recorded !== current). Clear it.
|
|
427
|
-
const cleared = clearSkillPresence(opts.projectRootOverride);
|
|
428
|
-
return {
|
|
429
|
-
cleared,
|
|
430
|
-
reason: cleared ? 'outer-session-mismatch' : 'clear-failed',
|
|
431
|
-
...(recorded !== undefined ? { recordedOuter: recorded } : {})
|
|
432
|
-
};
|
|
433
|
-
}
|
|
434
|
-
export function touchSkillHeartbeat(projectRootOverride) {
|
|
435
|
-
const result = readSkillPresenceBackCompat(projectRootOverride);
|
|
436
|
-
if (result === null)
|
|
437
|
-
return null;
|
|
438
|
-
const { presence, path: presencePath } = result;
|
|
439
|
-
if (typeof presence.sessionId === 'string' && presence.sessionId.length > 0) {
|
|
440
|
-
const currentSessionId = getCurrentSessionId(projectRootOverride);
|
|
441
|
-
if (currentSessionId && presence.sessionId !== currentSessionId) {
|
|
442
|
-
try {
|
|
443
|
-
unlinkSync(presencePath);
|
|
444
|
-
}
|
|
445
|
-
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
446
|
-
// best effort
|
|
447
|
-
}
|
|
448
|
-
return null;
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
|
-
presence.lastHeartbeat = new Date().toISOString();
|
|
452
|
-
writeFileSync(presencePath, JSON.stringify(presence, null, 2), 'utf8');
|
|
453
|
-
return presence;
|
|
454
|
-
}
|
|
455
|
-
export function clearSkillPresence(projectRootOverride) {
|
|
456
|
-
// Clear both the new canonical path and the legacy path, so a stale
|
|
457
|
-
// presence marker from a prior CLI version cannot resurrect after
|
|
458
|
-
// a fresh `clear`.
|
|
459
|
-
const presencePath = resolvePresencePath(projectRootOverride);
|
|
460
|
-
const legacyPath = resolve(resolveProjectRoot(projectRootOverride), PRESENCE_FILE_LEGACY);
|
|
461
|
-
let cleared = false;
|
|
462
|
-
for (const p of [presencePath, legacyPath]) {
|
|
463
|
-
if (!existsSync(p))
|
|
464
|
-
continue;
|
|
465
|
-
try {
|
|
466
|
-
unlinkSync(p);
|
|
467
|
-
cleared = true;
|
|
468
|
-
}
|
|
469
|
-
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
470
|
-
// best effort
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
return cleared;
|
|
474
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export type SkillMetadata = {
|
|
2
|
-
name: string;
|
|
3
|
-
description: string;
|
|
4
|
-
directory: string;
|
|
5
|
-
skillPath: string;
|
|
6
|
-
};
|
|
7
|
-
export type SkillLoadFailure = {
|
|
8
|
-
directory: string;
|
|
9
|
-
skillPath: string;
|
|
10
|
-
message: string;
|
|
11
|
-
};
|
|
12
|
-
export type SkillRegistryResult = {
|
|
13
|
-
skills: SkillMetadata[];
|
|
14
|
-
failures: SkillLoadFailure[];
|
|
15
|
-
};
|
|
16
|
-
export declare function loadSkillRegistry(baseDir?: string): Promise<SkillRegistryResult>;
|
|
17
|
-
export declare function listSkills(baseDir?: string): Promise<SkillMetadata[]>;
|