peaks-loop 4.0.0-beta.8 → 4.0.1
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 +955 -141
- package/README-en.md +26 -7
- package/README.md +75 -6
- package/agents/karpathy-reviewer.md +33 -0
- package/bin/peaks.js +1 -1
- package/dist/cli/cli-helpers.d.ts +68 -0
- package/dist/cli/cli-helpers.js +109 -0
- package/dist/cli/commands/_cli-error-envelope.d.ts +19 -0
- package/dist/cli/commands/_cli-error-envelope.js +50 -0
- package/dist/cli/commands/_register.d.ts +3 -0
- package/dist/cli/commands/_register.js +139 -0
- package/dist/cli/commands/_super.d.ts +10 -0
- package/dist/cli/commands/_super.js +97 -0
- package/dist/cli/commands/adapter-commands-s2a.d.ts +34 -0
- package/dist/cli/commands/adapter-commands-s2a.js +92 -0
- package/dist/cli/commands/adapter-commands.d.ts +30 -0
- package/dist/cli/commands/adapter-commands.js +35 -0
- package/dist/cli/commands/asset-commands.d.ts +45 -0
- package/dist/cli/commands/asset-commands.js +421 -0
- package/dist/cli/commands/audit-commands.d.ts +28 -0
- package/dist/cli/commands/audit-commands.js +437 -0
- package/dist/cli/commands/autonomous-swarm-commands.d.ts +12 -0
- package/dist/cli/commands/autonomous-swarm-commands.js +120 -0
- package/dist/cli/commands/bee-commands.d.ts +26 -0
- package/dist/cli/commands/bee-commands.js +169 -0
- package/dist/cli/commands/capability-commands.d.ts +16 -0
- package/dist/cli/commands/capability-commands.js +45 -0
- package/dist/cli/commands/capability-worker-config-sc-commands.d.ts +3 -0
- package/dist/cli/commands/capability-worker-config-sc-commands.js +8 -0
- package/dist/cli/commands/changeset-commands.d.ts +13 -0
- package/dist/cli/commands/changeset-commands.js +46 -0
- package/dist/cli/commands/code-commands.d.ts +90 -0
- package/dist/cli/commands/code-commands.js +118 -0
- package/dist/cli/commands/code-job-shape-commands.d.ts +9 -0
- package/dist/cli/commands/code-job-shape-commands.js +164 -0
- package/dist/cli/commands/code-mode-gate-commands.d.ts +9 -0
- package/dist/cli/commands/code-mode-gate-commands.js +223 -0
- package/dist/cli/commands/code-review-commands.d.ts +34 -0
- package/dist/cli/commands/code-review-commands.js +83 -0
- package/dist/cli/commands/code-run-command.d.ts +12 -0
- package/dist/cli/commands/code-run-command.js +68 -0
- package/dist/cli/commands/code-runtime-commands.d.ts +11 -0
- package/dist/cli/commands/code-runtime-commands.js +391 -0
- package/dist/cli/commands/codegraph-commands.d.ts +3 -0
- package/dist/cli/commands/codegraph-commands.js +99 -0
- package/dist/cli/commands/compact-command.d.ts +21 -0
- package/dist/cli/commands/compact-command.js +304 -0
- package/dist/cli/commands/complexity-commands.d.ts +9 -0
- package/dist/cli/commands/complexity-commands.js +34 -0
- package/dist/cli/commands/config-commands.d.ts +3 -0
- package/dist/cli/commands/config-commands.js +149 -0
- package/dist/cli/commands/container-commands.d.ts +28 -0
- package/dist/cli/commands/container-commands.js +221 -0
- package/dist/cli/commands/context-builder-commands.d.ts +11 -0
- package/dist/cli/commands/context-builder-commands.js +85 -0
- package/dist/cli/commands/context-commands.d.ts +21 -0
- package/dist/cli/commands/context-commands.js +255 -0
- package/dist/cli/commands/core/artifacts-command.d.ts +3 -0
- package/dist/cli/commands/core/artifacts-command.js +62 -0
- package/dist/cli/commands/core/binding-commands.d.ts +3 -0
- package/dist/cli/commands/core/binding-commands.js +58 -0
- package/dist/cli/commands/core/doctor-command.d.ts +11 -0
- package/dist/cli/commands/core/doctor-command.js +264 -0
- package/dist/cli/commands/core/memory-command.d.ts +3 -0
- package/dist/cli/commands/core/memory-command.js +98 -0
- package/dist/cli/commands/core/profile-command.d.ts +3 -0
- package/dist/cli/commands/core/profile-command.js +9 -0
- package/dist/cli/commands/core/proxy-command.d.ts +3 -0
- package/dist/cli/commands/core/proxy-command.js +26 -0
- package/dist/cli/commands/core/session-command.d.ts +3 -0
- package/dist/cli/commands/core/session-command.js +243 -0
- package/dist/cli/commands/core/skill-command.d.ts +3 -0
- package/dist/cli/commands/core/skill-command.js +303 -0
- package/dist/cli/commands/core/standards-command.d.ts +3 -0
- package/dist/cli/commands/core/standards-command.js +95 -0
- package/dist/cli/commands/core-artifact-commands.d.ts +15 -0
- package/dist/cli/commands/core-artifact-commands.js +31 -0
- package/dist/cli/commands/cron-commands.d.ts +57 -0
- package/dist/cli/commands/cron-commands.js +257 -0
- package/dist/cli/commands/cron-scheduler-commands.d.ts +47 -0
- package/dist/cli/commands/cron-scheduler-commands.js +284 -0
- package/dist/cli/commands/dashboard-commands.d.ts +4 -0
- package/dist/cli/commands/dashboard-commands.js +10 -0
- package/dist/cli/commands/dashboard-long-run.d.ts +25 -0
- package/dist/cli/commands/dashboard-long-run.js +122 -0
- package/dist/cli/commands/dashboard-summary.d.ts +12 -0
- package/dist/cli/commands/dashboard-summary.js +58 -0
- package/dist/cli/commands/dispatch-commands.d.ts +3 -0
- package/dist/cli/commands/dispatch-commands.js +715 -0
- package/dist/cli/commands/dispatch-from-dag.d.ts +3 -0
- package/dist/cli/commands/dispatch-from-dag.js +254 -0
- package/dist/cli/commands/doc-commands.d.ts +11 -0
- package/dist/cli/commands/doc-commands.js +65 -0
- package/dist/cli/commands/ecc-commands.d.ts +30 -0
- package/dist/cli/commands/ecc-commands.js +119 -0
- package/dist/cli/commands/evolution-commands.d.ts +27 -0
- package/dist/cli/commands/evolution-commands.js +393 -0
- package/dist/cli/commands/feedback-commands.d.ts +18 -0
- package/dist/cli/commands/feedback-commands.js +145 -0
- package/dist/cli/commands/final-review-commands.d.ts +31 -0
- package/dist/cli/commands/final-review-commands.js +161 -0
- package/dist/cli/commands/fixture-commands.d.ts +32 -0
- package/dist/cli/commands/fixture-commands.js +91 -0
- package/dist/cli/commands/fork-commands.d.ts +16 -0
- package/dist/cli/commands/fork-commands.js +163 -0
- package/dist/cli/commands/gate-commands.d.ts +3 -0
- package/dist/cli/commands/gate-commands.js +239 -0
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +21 -0
- package/dist/cli/commands/governance-classify-contract-commands.js +273 -0
- package/dist/cli/commands/heartbeat-commands.d.ts +3 -0
- package/dist/cli/commands/heartbeat-commands.js +206 -0
- package/dist/cli/commands/heartbeat-watch-command.d.ts +31 -0
- package/dist/cli/commands/heartbeat-watch-command.js +146 -0
- package/dist/cli/commands/hook-handle.d.ts +17 -0
- package/dist/cli/commands/hook-handle.js +157 -0
- package/dist/cli/commands/hooks-commands.d.ts +3 -0
- package/dist/cli/commands/hooks-commands.js +272 -0
- package/dist/cli/commands/ide-commands.d.ts +25 -0
- package/dist/cli/commands/ide-commands.js +42 -0
- package/dist/cli/commands/impact-commands.d.ts +15 -0
- package/dist/cli/commands/impact-commands.js +62 -0
- package/dist/cli/commands/job-commands.d.ts +3 -0
- package/dist/cli/commands/job-commands.js +322 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +67 -0
- package/dist/cli/commands/lease-metrics-commands.js +231 -0
- package/dist/cli/commands/lease-stats-commands.d.ts +65 -0
- package/dist/cli/commands/lease-stats-commands.js +107 -0
- package/dist/cli/commands/legacy-commands.d.ts +11 -0
- package/dist/cli/commands/legacy-commands.js +32 -0
- package/dist/cli/commands/log-commands.d.ts +17 -0
- package/dist/cli/commands/log-commands.js +64 -0
- package/dist/cli/commands/loop-commands.d.ts +27 -0
- package/dist/cli/commands/loop-commands.js +262 -0
- package/dist/cli/commands/loop-eval-commands.d.ts +20 -0
- package/dist/cli/commands/loop-eval-commands.js +526 -0
- package/dist/cli/commands/memory-commands.d.ts +23 -0
- package/dist/cli/commands/memory-commands.js +129 -0
- package/dist/cli/commands/migrate-1-4-1-command.d.ts +11 -0
- package/dist/cli/commands/migrate-1-4-1-command.js +34 -0
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.d.ts +20 -0
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +52 -0
- package/dist/cli/commands/mut-commands.d.ts +20 -0
- package/dist/cli/commands/mut-commands.js +235 -0
- package/dist/cli/commands/observability-commands.d.ts +22 -0
- package/dist/cli/commands/observability-commands.js +201 -0
- package/dist/cli/commands/openspec-commands.d.ts +3 -0
- package/dist/cli/commands/openspec-commands.js +298 -0
- package/dist/cli/commands/perf-audit-commands.d.ts +22 -0
- package/dist/cli/commands/perf-audit-commands.js +132 -0
- package/dist/cli/commands/perf-commands.d.ts +3 -0
- package/dist/cli/commands/perf-commands.js +41 -0
- package/dist/cli/commands/playwright-commands.d.ts +95 -0
- package/dist/cli/commands/playwright-commands.js +432 -0
- package/dist/cli/commands/polyrepo-commands.d.ts +37 -0
- package/dist/cli/commands/polyrepo-commands.js +155 -0
- package/dist/cli/commands/prd-blocks-commands.d.ts +18 -0
- package/dist/cli/commands/prd-blocks-commands.js +50 -0
- package/dist/cli/commands/prd-commands.d.ts +18 -0
- package/dist/cli/commands/prd-commands.js +143 -0
- package/dist/cli/commands/preferences-commands.d.ts +2 -0
- package/dist/cli/commands/preferences-commands.js +217 -0
- package/dist/cli/commands/project-commands.d.ts +3 -0
- package/dist/cli/commands/project-commands.js +253 -0
- package/dist/cli/commands/qa-business-review-commands.d.ts +17 -0
- package/dist/cli/commands/qa-business-review-commands.js +148 -0
- package/dist/cli/commands/qa-commands.d.ts +94 -0
- package/dist/cli/commands/qa-commands.js +307 -0
- package/dist/cli/commands/release-commands.d.ts +39 -0
- package/dist/cli/commands/release-commands.js +323 -0
- package/dist/cli/commands/request-commands.d.ts +3 -0
- package/dist/cli/commands/request-commands.js +548 -0
- package/dist/cli/commands/retrospective-commands.d.ts +12 -0
- package/dist/cli/commands/retrospective-commands.js +175 -0
- package/dist/cli/commands/reviewer-commands.d.ts +14 -0
- package/dist/cli/commands/reviewer-commands.js +64 -0
- package/dist/cli/commands/role-commands.d.ts +13 -0
- package/dist/cli/commands/role-commands.js +85 -0
- package/dist/cli/commands/runtime-commands-helpers.d.ts +7 -0
- package/dist/cli/commands/runtime-commands-helpers.js +24 -0
- package/dist/cli/commands/runtime-commands.d.ts +52 -0
- package/dist/cli/commands/runtime-commands.js +149 -0
- package/dist/cli/commands/sc-commands.d.ts +3 -0
- package/dist/cli/commands/sc-commands.js +47 -0
- package/dist/cli/commands/scan-commands.d.ts +3 -0
- package/dist/cli/commands/scan-commands.js +445 -0
- package/dist/cli/commands/security-audit-commands.d.ts +23 -0
- package/dist/cli/commands/security-audit-commands.js +132 -0
- package/dist/cli/commands/sediment-commands.d.ts +80 -0
- package/dist/cli/commands/sediment-commands.js +658 -0
- package/dist/cli/commands/session-24h-mode.d.ts +26 -0
- package/dist/cli/commands/session-24h-mode.js +196 -0
- package/dist/cli/commands/session-checkpoint-command.d.ts +10 -0
- package/dist/cli/commands/session-checkpoint-command.js +100 -0
- package/dist/cli/commands/session-migrate-skill-name.d.ts +17 -0
- package/dist/cli/commands/session-migrate-skill-name.js +41 -0
- package/dist/cli/commands/session-resume-command.d.ts +11 -0
- package/dist/cli/commands/session-resume-command.js +83 -0
- package/dist/cli/commands/share-commands.d.ts +36 -0
- package/dist/cli/commands/share-commands.js +415 -0
- package/dist/cli/commands/skill-conformance-commands.d.ts +9 -0
- package/dist/cli/commands/skill-conformance-commands.js +39 -0
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.d.ts +67 -0
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +173 -0
- package/dist/cli/commands/skill-search-commands.d.ts +25 -0
- package/dist/cli/commands/skill-search-commands.js +71 -0
- package/dist/cli/commands/skill-visibility.d.ts +8 -0
- package/dist/cli/commands/skill-visibility.js +63 -0
- package/dist/cli/commands/slice-commands.d.ts +24 -0
- package/dist/cli/commands/slice-commands.js +492 -0
- package/dist/cli/commands/slice-integrate-commands.d.ts +11 -0
- package/dist/cli/commands/slice-integrate-commands.js +74 -0
- package/dist/cli/commands/slice-review-commands.d.ts +23 -0
- package/dist/cli/commands/slice-review-commands.js +162 -0
- package/dist/cli/commands/smoke-commands.d.ts +21 -0
- package/dist/cli/commands/smoke-commands.js +203 -0
- package/dist/cli/commands/sop-commands.d.ts +3 -0
- package/dist/cli/commands/sop-commands.js +215 -0
- package/dist/cli/commands/spill-demo-command.d.ts +7 -0
- package/dist/cli/commands/spill-demo-command.js +29 -0
- package/dist/cli/commands/statusline-commands.d.ts +15 -0
- package/dist/cli/commands/statusline-commands.js +231 -0
- package/dist/cli/commands/sub-agent-commands.d.ts +22 -0
- package/dist/cli/commands/sub-agent-commands.js +20 -0
- package/dist/cli/commands/sub-agent-dispatch-guard.d.ts +55 -0
- package/dist/cli/commands/sub-agent-dispatch-guard.js +57 -0
- package/dist/cli/commands/sub-agent-shared.d.ts +109 -0
- package/dist/cli/commands/sub-agent-shared.js +90 -0
- package/dist/cli/commands/swarm-commands.d.ts +13 -0
- package/dist/cli/commands/swarm-commands.js +77 -0
- package/dist/cli/commands/tech-commands.d.ts +64 -0
- package/dist/cli/commands/tech-commands.js +195 -0
- package/dist/cli/commands/test-commands.d.ts +47 -0
- package/dist/cli/commands/test-commands.js +204 -0
- package/dist/cli/commands/understand-commands.d.ts +3 -0
- package/dist/cli/commands/understand-commands.js +148 -0
- package/dist/cli/commands/upgrade-commands.d.ts +25 -0
- package/dist/cli/commands/upgrade-commands.js +154 -0
- package/dist/cli/commands/user-touchpoint-commands.d.ts +18 -0
- package/dist/cli/commands/user-touchpoint-commands.js +78 -0
- package/dist/cli/commands/verdict-aggregate-command.d.ts +14 -0
- package/dist/cli/commands/verdict-aggregate-command.js +106 -0
- package/dist/cli/commands/vm-commands.d.ts +31 -0
- package/dist/cli/commands/vm-commands.js +274 -0
- package/dist/cli/commands/workflow-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-commands.js +567 -0
- package/dist/cli/commands/workflow-plan-commands.d.ts +39 -0
- package/dist/cli/commands/workflow-plan-commands.js +163 -0
- package/dist/cli/commands/workspace/clean-command.d.ts +14 -0
- package/dist/cli/commands/workspace/clean-command.js +49 -0
- package/dist/cli/commands/workspace/helpers.d.ts +28 -0
- package/dist/cli/commands/workspace/helpers.js +87 -0
- package/dist/cli/commands/workspace/init-command.d.ts +139 -0
- package/dist/cli/commands/workspace/init-command.js +505 -0
- package/dist/cli/commands/workspace/migrate-command.d.ts +11 -0
- package/dist/cli/commands/workspace/migrate-command.js +91 -0
- package/dist/cli/commands/workspace/reconcile-command.d.ts +14 -0
- package/dist/cli/commands/workspace/reconcile-command.js +103 -0
- package/dist/cli/commands/workspace-commands.d.ts +18 -0
- package/dist/cli/commands/workspace-commands.js +50 -0
- package/dist/cli/commands/worktree-auth-commands.d.ts +29 -0
- package/dist/cli/commands/worktree-auth-commands.js +652 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +75 -0
- package/dist/cli/program.d.ts +5 -0
- package/dist/cli/program.js +213 -0
- package/dist/hooks/pre-tool-use-sub-agent.d.ts +28 -0
- package/dist/hooks/pre-tool-use-sub-agent.js +105 -0
- package/dist/lib/render/message-renderer.d.ts +20 -0
- package/dist/lib/render/message-renderer.js +80 -0
- package/dist/services/24h-mode/decider.d.ts +103 -0
- package/dist/services/24h-mode/decider.js +144 -0
- package/dist/services/24h-mode/index.d.ts +12 -0
- package/dist/services/24h-mode/index.js +12 -0
- package/dist/services/24h-mode/state.d.ts +48 -0
- package/dist/services/24h-mode/state.js +51 -0
- package/dist/services/24h-mode/store.d.ts +27 -0
- package/dist/services/24h-mode/store.js +119 -0
- package/dist/services/adapter/adapter-registry.d.ts +48 -0
- package/dist/services/adapter/adapter-registry.js +186 -0
- package/dist/services/adapter/adapter.d.ts +27 -0
- package/dist/services/adapter/adapter.js +5 -0
- package/dist/services/adapter/auto-adapter.d.ts +11 -0
- package/dist/services/adapter/auto-adapter.js +15 -0
- package/dist/services/adapter/claude-adapter.d.ts +14 -0
- package/dist/services/adapter/claude-adapter.js +40 -0
- package/dist/services/adapter/codex-adapter.d.ts +14 -0
- package/dist/services/adapter/codex-adapter.js +14 -0
- package/dist/services/adapter/copilot-adapter.d.ts +14 -0
- package/dist/services/adapter/copilot-adapter.js +14 -0
- package/dist/services/artifacts/artifact-lint-service.d.ts +23 -0
- package/dist/services/artifacts/artifact-lint-service.js +99 -0
- package/dist/services/artifacts/artifact-prerequisites.d.ts +78 -0
- package/dist/services/artifacts/artifact-prerequisites.js +491 -0
- package/dist/services/artifacts/artifact-service.d.ts +43 -0
- package/dist/services/artifacts/artifact-service.js +98 -0
- package/dist/services/artifacts/artifact-templates.d.ts +30 -0
- package/dist/services/artifacts/artifact-templates.js +302 -0
- package/dist/services/artifacts/repair-cycle-service.d.ts +23 -0
- package/dist/services/artifacts/repair-cycle-service.js +52 -0
- package/dist/services/artifacts/request-artifact-service.d.ts +116 -0
- package/dist/services/artifacts/request-artifact-service.js +451 -0
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +51 -0
- package/dist/services/artifacts/request-artifact-state-helpers.js +114 -0
- package/dist/services/artifacts/workspace-service.d.ts +34 -0
- package/dist/services/artifacts/workspace-service.js +272 -0
- package/dist/services/audit/artifact-writer.d.ts +93 -0
- package/dist/services/audit/artifact-writer.js +303 -0
- package/dist/services/audit/audit-goal-service.d.ts +35 -0
- package/dist/services/audit/audit-goal-service.js +75 -0
- package/dist/services/audit/audit-goal-types.d.ts +40 -0
- package/dist/services/audit/audit-goal-types.js +15 -0
- package/dist/services/audit/backing-detector.d.ts +24 -0
- package/dist/services/audit/backing-detector.js +59 -0
- package/dist/services/audit/classifier.d.ts +38 -0
- package/dist/services/audit/classifier.js +134 -0
- package/dist/services/audit/decision-writer.d.ts +76 -0
- package/dist/services/audit/decision-writer.js +217 -0
- package/dist/services/audit/enforcers/active-skill-resolver.d.ts +29 -0
- package/dist/services/audit/enforcers/active-skill-resolver.js +71 -0
- package/dist/services/audit/enforcers/code-ban.d.ts +23 -0
- package/dist/services/audit/enforcers/code-ban.js +27 -0
- package/dist/services/audit/enforcers/design-draft-confirm.d.ts +24 -0
- package/dist/services/audit/enforcers/design-draft-confirm.js +58 -0
- package/dist/services/audit/enforcers/lint-audit-regression.d.ts +21 -0
- package/dist/services/audit/enforcers/lint-audit-regression.js +86 -0
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.d.ts +25 -0
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +91 -0
- package/dist/services/audit/enforcers/lint-catalog-governance.d.ts +32 -0
- package/dist/services/audit/enforcers/lint-catalog-governance.js +48 -0
- package/dist/services/audit/enforcers/lint-cli-back.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-cli-back.js +35 -0
- package/dist/services/audit/enforcers/lint-output-style.d.ts +11 -0
- package/dist/services/audit/enforcers/lint-output-style.js +94 -0
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +31 -0
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.d.ts +23 -0
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +59 -0
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.d.ts +28 -0
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +86 -0
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +41 -0
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +27 -0
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +47 -0
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.d.ts +19 -0
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +47 -0
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.d.ts +18 -0
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +70 -0
- package/dist/services/audit/enforcers/lint-reference-integrity.d.ts +6 -0
- package/dist/services/audit/enforcers/lint-reference-integrity.js +83 -0
- package/dist/services/audit/enforcers/lint-reference-shape.d.ts +30 -0
- package/dist/services/audit/enforcers/lint-reference-shape.js +272 -0
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.d.ts +25 -0
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +53 -0
- package/dist/services/audit/enforcers/lint-style.d.ts +49 -0
- package/dist/services/audit/enforcers/lint-style.js +173 -0
- package/dist/services/audit/enforcers/lint-workflow-shape.d.ts +4 -0
- package/dist/services/audit/enforcers/lint-workflow-shape.js +100 -0
- package/dist/services/audit/enforcers/login-gate.d.ts +23 -0
- package/dist/services/audit/enforcers/login-gate.js +40 -0
- package/dist/services/audit/enforcers/mock-placement.d.ts +25 -0
- package/dist/services/audit/enforcers/mock-placement.js +48 -0
- package/dist/services/audit/enforcers/no-root-pollution.d.ts +21 -0
- package/dist/services/audit/enforcers/no-root-pollution.js +56 -0
- package/dist/services/audit/enforcers/pre-rd-scan.d.ts +22 -0
- package/dist/services/audit/enforcers/pre-rd-scan.js +23 -0
- package/dist/services/audit/enforcers/prototype-fidelity.d.ts +25 -0
- package/dist/services/audit/enforcers/prototype-fidelity.js +75 -0
- package/dist/services/audit/enforcers/resume-detection.d.ts +21 -0
- package/dist/services/audit/enforcers/resume-detection.js +52 -0
- package/dist/services/audit/enforcers/sub-agent-sid.d.ts +25 -0
- package/dist/services/audit/enforcers/sub-agent-sid.js +63 -0
- package/dist/services/audit/prose-ratio-calculator.d.ts +45 -0
- package/dist/services/audit/prose-ratio-calculator.js +52 -0
- package/dist/services/audit/red-line-catalog-p2-a.d.ts +15 -0
- package/dist/services/audit/red-line-catalog-p2-a.js +458 -0
- package/dist/services/audit/red-line-catalog-p2-b.d.ts +19 -0
- package/dist/services/audit/red-line-catalog-p2-b.js +225 -0
- package/dist/services/audit/red-line-catalog.d.ts +51 -0
- package/dist/services/audit/red-line-catalog.js +195 -0
- package/dist/services/audit/red-lines-service.d.ts +23 -0
- package/dist/services/audit/red-lines-service.js +464 -0
- package/dist/services/audit/scanners/openspec-scanner.d.ts +15 -0
- package/dist/services/audit/scanners/openspec-scanner.js +55 -0
- package/dist/services/audit/scanners/rules-tree-scanner.d.ts +16 -0
- package/dist/services/audit/scanners/rules-tree-scanner.js +56 -0
- package/dist/services/audit/scanners/skills-tree-scanner.d.ts +17 -0
- package/dist/services/audit/scanners/skills-tree-scanner.js +68 -0
- package/dist/services/audit/static-service.d.ts +67 -0
- package/dist/services/audit/static-service.js +51 -0
- package/dist/services/audit/types.d.ts +86 -0
- package/dist/services/audit/types.js +13 -0
- package/dist/services/audit-independent/index.d.ts +2 -0
- package/dist/services/audit-independent/index.js +2 -0
- package/dist/services/audit-independent/perf-audit-service.d.ts +151 -0
- package/dist/services/audit-independent/perf-audit-service.js +316 -0
- package/dist/services/audit-independent/security-audit-service.d.ts +155 -0
- package/dist/services/audit-independent/security-audit-service.js +316 -0
- package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +127 -0
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +446 -0
- package/dist/services/changeset/changeset-check-service.d.ts +22 -0
- package/dist/services/changeset/changeset-check-service.js +47 -0
- package/dist/services/classify/classify-service.d.ts +42 -0
- package/dist/services/classify/classify-service.js +122 -0
- package/dist/services/classify/classify-types.d.ts +79 -0
- package/dist/services/classify/classify-types.js +90 -0
- package/dist/services/code/auto-compact-modes.d.ts +30 -0
- package/dist/services/code/auto-compact-modes.js +38 -0
- package/dist/services/code/auto-compact-orchestrator.d.ts +136 -0
- package/dist/services/code/auto-compact-orchestrator.js +423 -0
- package/dist/services/code/batch-heartbeat-poller.d.ts +51 -0
- package/dist/services/code/batch-heartbeat-poller.js +88 -0
- package/dist/services/code/dag-orchestrator.d.ts +157 -0
- package/dist/services/code/dag-orchestrator.js +409 -0
- package/dist/services/code/emit-handoff.d.ts +49 -0
- package/dist/services/code/emit-handoff.js +79 -0
- package/dist/services/code/job-shape-decision.d.ts +71 -0
- package/dist/services/code/job-shape-decision.js +151 -0
- package/dist/services/code/mode-gate.d.ts +163 -0
- package/dist/services/code/mode-gate.js +212 -0
- package/dist/services/code/post-compact-detector.d.ts +61 -0
- package/dist/services/code/post-compact-detector.js +240 -0
- package/dist/services/code/status-line-renderer.d.ts +36 -0
- package/dist/services/code/status-line-renderer.js +73 -0
- package/dist/services/code/step-08-gate.d.ts +90 -0
- package/dist/services/code/step-08-gate.js +136 -0
- package/dist/services/code/user-touchpoint-classifier.d.ts +44 -0
- package/dist/services/code/user-touchpoint-classifier.js +145 -0
- package/dist/services/code-review/ecc-bridge.d.ts +148 -0
- package/dist/services/code-review/ecc-bridge.js +242 -0
- package/dist/services/code-review/ocr-service.d.ts +129 -0
- package/dist/services/code-review/ocr-service.js +372 -0
- package/dist/services/codegraph/codegraph-process-runner.d.ts +2 -0
- package/dist/services/codegraph/codegraph-process-runner.js +93 -0
- package/dist/services/codegraph/codegraph-service.d.ts +43 -0
- package/dist/services/codegraph/codegraph-service.js +160 -0
- package/dist/services/compact/decision-tables.d.ts +66 -0
- package/dist/services/compact/decision-tables.js +127 -0
- package/dist/services/compact/request-transition-hook.d.ts +20 -0
- package/dist/services/compact/request-transition-hook.js +110 -0
- package/dist/services/compact/suggest-service.d.ts +74 -0
- package/dist/services/compact/suggest-service.js +203 -0
- package/dist/services/compact-history/compact-history-service.d.ts +41 -0
- package/dist/services/compact-history/compact-history-service.js +62 -0
- package/dist/services/compact-statusline/compact-statusline-service.d.ts +16 -0
- package/dist/services/compact-statusline/compact-statusline-service.js +83 -0
- package/dist/services/complexity/complexity-estimator.d.ts +34 -0
- package/dist/services/complexity/complexity-estimator.js +64 -0
- package/dist/services/config/config-migration.d.ts +45 -0
- package/dist/services/config/config-migration.js +154 -0
- package/dist/services/config/config-restore.d.ts +10 -0
- package/dist/services/config/config-restore.js +47 -0
- package/dist/services/config/config-rollback.d.ts +13 -0
- package/dist/services/config/config-rollback.js +26 -0
- package/dist/services/config/config-safety.d.ts +40 -0
- package/dist/services/config/config-safety.js +359 -0
- package/dist/services/config/config-service.d.ts +58 -0
- package/dist/services/config/config-service.js +745 -0
- package/dist/services/config/config-types.d.ts +117 -0
- package/dist/services/config/config-types.js +18 -0
- package/dist/services/config/model-routing.d.ts +66 -0
- package/dist/services/config/model-routing.js +105 -0
- package/dist/services/config/proxy-service.d.ts +21 -0
- package/dist/services/config/proxy-service.js +44 -0
- package/dist/services/config/sidecar-store.d.ts +25 -0
- package/dist/services/config/sidecar-store.js +61 -0
- package/dist/services/config/workspace-state-service.d.ts +30 -0
- package/dist/services/config/workspace-state-service.js +142 -0
- package/dist/services/container/container-lease.d.ts +67 -0
- package/dist/services/container/container-lease.js +135 -0
- package/dist/services/context/artifact-meta.d.ts +72 -0
- package/dist/services/context/artifact-meta.js +105 -0
- package/dist/services/context/auto-compact-dispatcher.d.ts +72 -0
- package/dist/services/context/auto-compact-dispatcher.js +170 -0
- package/dist/services/context/auto-compact-reader.d.ts +51 -0
- package/dist/services/context/auto-compact-reader.js +164 -0
- package/dist/services/context/auto-compact-types.d.ts +168 -0
- package/dist/services/context/auto-compact-types.js +43 -0
- package/dist/services/context/build-dispatch-system-prompt.d.ts +75 -0
- package/dist/services/context/build-dispatch-system-prompt.js +117 -0
- package/dist/services/context/collector.d.ts +24 -0
- package/dist/services/context/collector.js +133 -0
- package/dist/services/context/context-builder.d.ts +30 -0
- package/dist/services/context/context-builder.js +78 -0
- package/dist/services/context/context-guard.d.ts +49 -0
- package/dist/services/context/context-guard.js +91 -0
- package/dist/services/context/context-schema.d.ts +415 -0
- package/dist/services/context/context-schema.js +73 -0
- package/dist/services/context/doc-retriever.d.ts +26 -0
- package/dist/services/context/doc-retriever.js +51 -0
- package/dist/services/context/headroom-client.d.ts +34 -0
- package/dist/services/context/headroom-client.js +117 -0
- package/dist/services/context/headroom-fetcher.d.ts +6 -0
- package/dist/services/context/headroom-fetcher.js +28 -0
- package/dist/services/context/headroom-prefs.d.ts +46 -0
- package/dist/services/context/headroom-prefs.js +34 -0
- package/dist/services/context/ide-detect.d.ts +4 -0
- package/dist/services/context/ide-detect.js +24 -0
- package/dist/services/context/index.d.ts +7 -0
- package/dist/services/context/index.js +6 -0
- package/dist/services/context/main-session-monitor.d.ts +86 -0
- package/dist/services/context/main-session-monitor.js +119 -0
- package/dist/services/context/memory-index-reader.d.ts +8 -0
- package/dist/services/context/memory-index-reader.js +57 -0
- package/dist/services/context/memory-lru-cache.d.ts +12 -0
- package/dist/services/context/memory-lru-cache.js +60 -0
- package/dist/services/context/memory-preflight-config.d.ts +19 -0
- package/dist/services/context/memory-preflight-config.js +25 -0
- package/dist/services/context/memory-preflight-service.d.ts +19 -0
- package/dist/services/context/memory-preflight-service.js +120 -0
- package/dist/services/context/renderer.d.ts +20 -0
- package/dist/services/context/renderer.js +30 -0
- package/dist/services/context/spillover-store.d.ts +23 -0
- package/dist/services/context/spillover-store.js +155 -0
- package/dist/services/context/spillover-types.d.ts +18 -0
- package/dist/services/context/spillover-types.js +1 -0
- package/dist/services/context/threshold.d.ts +35 -0
- package/dist/services/context/threshold.js +76 -0
- package/dist/services/context/tokenizer.d.ts +12 -0
- package/dist/services/context/tokenizer.js +43 -0
- package/dist/services/context/types.d.ts +93 -0
- package/dist/services/context/types.js +9 -0
- package/dist/services/crystallization/crystallization-service.d.ts +256 -0
- package/dist/services/crystallization/crystallization-service.js +391 -0
- package/dist/services/crystallization/crystallization-store.d.ts +75 -0
- package/dist/services/crystallization/crystallization-store.js +193 -0
- package/dist/services/crystallization/crystallization-types.d.ts +313 -0
- package/dist/services/crystallization/crystallization-types.js +299 -0
- package/dist/services/crystallization/evidence-brief-builder.d.ts +237 -0
- package/dist/services/crystallization/evidence-brief-builder.js +240 -0
- package/dist/services/crystallization/index.d.ts +13 -0
- package/dist/services/crystallization/index.js +13 -0
- package/dist/services/dashboard/project-dashboard-service.d.ts +91 -0
- package/dist/services/dashboard/project-dashboard-service.js +147 -0
- package/dist/services/dispatch/await-batch.d.ts +70 -0
- package/dist/services/dispatch/await-batch.js +272 -0
- package/dist/services/dispatch/batch-counter.d.ts +27 -0
- package/dist/services/dispatch/batch-counter.js +102 -0
- package/dist/services/dispatch/contract-store.d.ts +63 -0
- package/dist/services/dispatch/contract-store.js +157 -0
- package/dist/services/dispatch/dispatch-record-writer.d.ts +260 -0
- package/dist/services/dispatch/dispatch-record-writer.js +690 -0
- package/dist/services/dispatch/heartbeat-truncator.d.ts +26 -0
- package/dist/services/dispatch/heartbeat-truncator.js +13 -0
- package/dist/services/dispatch/leak-detector.d.ts +11 -0
- package/dist/services/dispatch/leak-detector.js +72 -0
- package/dist/services/dispatch/slice-dag.d.ts +127 -0
- package/dist/services/dispatch/slice-dag.js +244 -0
- package/dist/services/dispatch/stage-enum.d.ts +27 -0
- package/dist/services/dispatch/stage-enum.js +48 -0
- package/dist/services/dispatch/startup-timeout.d.ts +86 -0
- package/dist/services/dispatch/startup-timeout.js +97 -0
- package/dist/services/dispatch/sub-agent-dispatcher.d.ts +239 -0
- package/dist/services/dispatch/sub-agent-dispatcher.js +333 -0
- package/dist/services/dispatch/test-tool-detection.d.ts +60 -0
- package/dist/services/dispatch/test-tool-detection.js +126 -0
- package/dist/services/doc/doc-generator.d.ts +38 -0
- package/dist/services/doc/doc-generator.js +122 -0
- package/dist/services/doctor/doctor-service/checks/check-id-schema.d.ts +18 -0
- package/dist/services/doctor/doctor-service/checks/check-id-schema.js +64 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +69 -0
- package/dist/services/doctor/doctor-service/checks/dist-source-version.d.ts +32 -0
- package/dist/services/doctor/doctor-service/checks/dist-source-version.js +110 -0
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.d.ts +24 -0
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +164 -0
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +16 -0
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +57 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +19 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +66 -0
- package/dist/services/doctor/doctor-service/checks/schema-validity.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/schema-validity.js +33 -0
- package/dist/services/doctor/doctor-service/checks/skill-apply-note.d.ts +20 -0
- package/dist/services/doctor/doctor-service/checks/skill-apply-note.js +85 -0
- package/dist/services/doctor/doctor-service/checks/skill-existence.d.ts +13 -0
- package/dist/services/doctor/doctor-service/checks/skill-existence.js +30 -0
- package/dist/services/doctor/doctor-service/checks/skill-name-match.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/skill-name-match.js +25 -0
- package/dist/services/doctor/doctor-service/checks/skill-parse.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/skill-parse.js +19 -0
- package/dist/services/doctor/doctor-service/checks/skill-presence.d.ts +21 -0
- package/dist/services/doctor/doctor-service/checks/skill-presence.js +75 -0
- package/dist/services/doctor/doctor-service/checks/skill-runbook.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/skill-runbook.js +47 -0
- package/dist/services/doctor/doctor-service/checks/statusline-install.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/statusline-install.js +32 -0
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.d.ts +13 -0
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +30 -0
- package/dist/services/doctor/doctor-service/checks/user-config.d.ts +11 -0
- package/dist/services/doctor/doctor-service/checks/user-config.js +27 -0
- package/dist/services/doctor/doctor-service/checks/workspace-init.d.ts +16 -0
- package/dist/services/doctor/doctor-service/checks/workspace-init.js +34 -0
- package/dist/services/doctor/doctor-service/checks/workspace-layout.d.ts +33 -0
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +180 -0
- package/dist/services/doctor/doctor-service/index.d.ts +48 -0
- package/dist/services/doctor/doctor-service/index.js +254 -0
- package/dist/services/doctor/doctor-service/plugin-registry.d.ts +41 -0
- package/dist/services/doctor/doctor-service/plugin-registry.js +77 -0
- package/dist/services/doctor/doctor-service/report/final-summary.d.ts +20 -0
- package/dist/services/doctor/doctor-service/report/final-summary.js +29 -0
- package/dist/services/doctor/doctor-service/types.d.ts +245 -0
- package/dist/services/doctor/doctor-service/types.js +15 -0
- package/dist/services/doctor/doctor-service.d.ts +18 -0
- package/dist/services/doctor/doctor-service.js +25 -0
- package/dist/services/doctor/index.d.ts +22 -0
- package/dist/services/doctor/index.js +22 -0
- package/dist/services/env/shell-probe.d.ts +71 -0
- package/dist/services/env/shell-probe.js +161 -0
- package/dist/services/evolution/evolution-service.d.ts +137 -0
- package/dist/services/evolution/evolution-service.js +281 -0
- package/dist/services/evolution/evolution-store.d.ts +57 -0
- package/dist/services/evolution/evolution-store.js +232 -0
- package/dist/services/evolution/evolution-types.d.ts +706 -0
- package/dist/services/evolution/evolution-types.js +286 -0
- package/dist/services/evolution/independent-evaluator-runner.d.ts +90 -0
- package/dist/services/evolution/independent-evaluator-runner.js +106 -0
- package/dist/services/evolution/regression-skeptic-runner.d.ts +64 -0
- package/dist/services/evolution/regression-skeptic-runner.js +113 -0
- package/dist/services/feedback/feedback-promotion-service.d.ts +123 -0
- package/dist/services/feedback/feedback-promotion-service.js +300 -0
- package/dist/services/final-review/final-review-service.d.ts +22 -0
- package/dist/services/final-review/final-review-service.js +52 -0
- package/dist/services/final-review/final-review-types.d.ts +42 -0
- package/dist/services/final-review/final-review-types.js +18 -0
- package/dist/services/final-review/index.d.ts +2 -0
- package/dist/services/final-review/index.js +1 -0
- package/dist/services/fixture/fixture-capture-service.d.ts +87 -0
- package/dist/services/fixture/fixture-capture-service.js +317 -0
- package/dist/services/fixture/fixture-sanitize-service.d.ts +117 -0
- package/dist/services/fixture/fixture-sanitize-service.js +161 -0
- package/dist/services/fixture/index.d.ts +8 -0
- package/dist/services/fixture/index.js +8 -0
- package/dist/services/fork/fork-sync-state.d.ts +85 -0
- package/dist/services/fork/fork-sync-state.js +130 -0
- package/dist/services/fuzzy-matching/fuzzy-match-service.d.ts +15 -0
- package/dist/services/fuzzy-matching/fuzzy-match-service.js +56 -0
- package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +68 -0
- package/dist/services/fuzzy-matching/fzf-pick-service.js +158 -0
- package/dist/services/fuzzy-matching/types.d.ts +20 -0
- package/dist/services/fuzzy-matching/types.js +1 -0
- package/dist/services/handoff/handoff-parser.d.ts +28 -0
- package/dist/services/handoff/handoff-parser.js +69 -0
- package/dist/services/handoff/handoff-types.d.ts +39 -0
- package/dist/services/handoff/handoff-types.js +19 -0
- package/dist/services/handoff/handoff-writer.d.ts +23 -0
- package/dist/services/handoff/handoff-writer.js +30 -0
- package/dist/services/hooks/auto-compact-hook-install.d.ts +103 -0
- package/dist/services/hooks/auto-compact-hook-install.js +156 -0
- package/dist/services/hooks/output.d.ts +92 -0
- package/dist/services/hooks/output.js +111 -0
- package/dist/services/hooks/presence-marker-detector.d.ts +16 -0
- package/dist/services/hooks/presence-marker-detector.js +105 -0
- package/dist/services/hooks/worktree-authorization-gate.d.ts +205 -0
- package/dist/services/hooks/worktree-authorization-gate.js +492 -0
- package/dist/services/ide/adapters/claude-code-adapter.d.ts +18 -0
- package/dist/services/ide/adapters/claude-code-adapter.js +103 -0
- package/dist/services/ide/adapters/codex-adapter.d.ts +46 -0
- package/dist/services/ide/adapters/codex-adapter.js +97 -0
- package/dist/services/ide/adapters/cursor-adapter.d.ts +36 -0
- package/dist/services/ide/adapters/cursor-adapter.js +84 -0
- package/dist/services/ide/adapters/hermes-adapter.d.ts +21 -0
- package/dist/services/ide/adapters/hermes-adapter.js +51 -0
- package/dist/services/ide/adapters/openclaw-adapter.d.ts +14 -0
- package/dist/services/ide/adapters/openclaw-adapter.js +42 -0
- package/dist/services/ide/adapters/qoder-adapter.d.ts +25 -0
- package/dist/services/ide/adapters/qoder-adapter.js +57 -0
- package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +16 -0
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +45 -0
- package/dist/services/ide/adapters/trae-adapter.d.ts +42 -0
- package/dist/services/ide/adapters/trae-adapter.js +83 -0
- package/dist/services/ide/adapters/zcode-adapter.d.ts +40 -0
- package/dist/services/ide/adapters/zcode-adapter.js +220 -0
- package/dist/services/ide/current-model-detector.d.ts +14 -0
- package/dist/services/ide/current-model-detector.js +60 -0
- package/dist/services/ide/hook-protocol.d.ts +47 -0
- package/dist/services/ide/hook-protocol.js +74 -0
- package/dist/services/ide/hook-translator.d.ts +72 -0
- package/dist/services/ide/hook-translator.js +128 -0
- package/dist/services/ide/ide-detector.d.ts +10 -0
- package/dist/services/ide/ide-detector.js +19 -0
- package/dist/services/ide/ide-registry.d.ts +14 -0
- package/dist/services/ide/ide-registry.js +69 -0
- package/dist/services/ide/ide-types.d.ts +253 -0
- package/dist/services/ide/ide-types.js +2 -0
- package/dist/services/ide/resource-profile.d.ts +52 -0
- package/dist/services/ide/resource-profile.js +33 -0
- package/dist/services/ide/shared/atomic-json.d.ts +15 -0
- package/dist/services/ide/shared/atomic-json.js +58 -0
- package/dist/services/ide/shared/safe-path.d.ts +11 -0
- package/dist/services/ide/shared/safe-path.js +29 -0
- package/dist/services/impact/impact-scan-service.d.ts +66 -0
- package/dist/services/impact/impact-scan-service.js +197 -0
- package/dist/services/job/job-event-emitter.d.ts +30 -0
- package/dist/services/job/job-event-emitter.js +5 -0
- package/dist/services/job/job-orchestrator.d.ts +50 -0
- package/dist/services/job/job-orchestrator.js +104 -0
- package/dist/services/job/job-progress-store.d.ts +60 -0
- package/dist/services/job/job-progress-store.js +70 -0
- package/dist/services/job/job-rotation.d.ts +17 -0
- package/dist/services/job/job-rotation.js +30 -0
- package/dist/services/job/job-state-store.d.ts +24 -0
- package/dist/services/job/job-state-store.js +60 -0
- package/dist/services/job/job-types.d.ts +444 -0
- package/dist/services/job/job-types.js +87 -0
- package/dist/services/job/subagent-job-wrapper.d.ts +35 -0
- package/dist/services/job/subagent-job-wrapper.js +30 -0
- package/dist/services/job-snapshot/index.d.ts +8 -0
- package/dist/services/job-snapshot/index.js +7 -0
- package/dist/services/job-snapshot/snapshot.d.ts +7 -0
- package/dist/services/job-snapshot/snapshot.js +75 -0
- package/dist/services/job-snapshot/types.d.ts +7 -0
- package/dist/services/job-snapshot/types.js +1 -0
- package/dist/services/karpathy-cost/karpathy-cost-check-service.d.ts +67 -0
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +108 -0
- package/dist/services/legacy/legacy-detector.d.ts +34 -0
- package/dist/services/legacy/legacy-detector.js +111 -0
- package/dist/services/log/log-commands-service.d.ts +54 -0
- package/dist/services/log/log-commands-service.js +83 -0
- package/dist/services/log/logger.d.ts +103 -0
- package/dist/services/log/logger.js +224 -0
- package/dist/services/log/redact.d.ts +32 -0
- package/dist/services/log/redact.js +89 -0
- package/dist/services/log/retention.d.ts +50 -0
- package/dist/services/log/retention.js +95 -0
- package/dist/services/loop/evaluator-dispatcher.d.ts +50 -0
- package/dist/services/loop/evaluator-dispatcher.js +552 -0
- package/dist/services/loop/loop-bee-relation-service.d.ts +107 -0
- package/dist/services/loop/loop-bee-relation-service.js +211 -0
- package/dist/services/loop/loop-bee-relation-store.d.ts +53 -0
- package/dist/services/loop/loop-bee-relation-store.js +130 -0
- package/dist/services/loop/loop-bee-relation-types.d.ts +118 -0
- package/dist/services/loop/loop-bee-relation-types.js +114 -0
- package/dist/services/loop/loop-release-service.d.ts +46 -0
- package/dist/services/loop/loop-release-service.js +66 -0
- package/dist/services/loop/loop-release-store.d.ts +55 -0
- package/dist/services/loop/loop-release-store.js +134 -0
- package/dist/services/loop/loop-release-types.d.ts +250 -0
- package/dist/services/loop/loop-release-types.js +162 -0
- package/dist/services/loop/monotonic-guard.d.ts +80 -0
- package/dist/services/loop/monotonic-guard.js +232 -0
- package/dist/services/loop/monotonic-runner.d.ts +64 -0
- package/dist/services/loop/monotonic-runner.js +270 -0
- package/dist/services/loop/run-driver.d.ts +70 -0
- package/dist/services/loop/run-driver.js +400 -0
- package/dist/services/loop/spec-service.d.ts +90 -0
- package/dist/services/loop/spec-service.js +497 -0
- package/dist/services/memory/llm-reranker.d.ts +174 -0
- package/dist/services/memory/llm-reranker.js +284 -0
- package/dist/services/memory/memory-search-service.d.ts +93 -0
- package/dist/services/memory/memory-search-service.js +117 -0
- package/dist/services/memory/project-context-service.d.ts +21 -0
- package/dist/services/memory/project-context-service.js +161 -0
- package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +8 -0
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +253 -0
- package/dist/services/memory/project-memory-service/index/ranking.d.ts +6 -0
- package/dist/services/memory/project-memory-service/index/ranking.js +171 -0
- package/dist/services/memory/project-memory-service/index/search.d.ts +34 -0
- package/dist/services/memory/project-memory-service/index/search.js +194 -0
- package/dist/services/memory/project-memory-service/index.d.ts +9 -0
- package/dist/services/memory/project-memory-service/index.js +24 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +9 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +106 -0
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.d.ts +7 -0
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +96 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +5 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.js +56 -0
- package/dist/services/memory/project-memory-service/store/paths.d.ts +8 -0
- package/dist/services/memory/project-memory-service/store/paths.js +116 -0
- package/dist/services/memory/project-memory-service/types.d.ts +128 -0
- package/dist/services/memory/project-memory-service/types.js +9 -0
- package/dist/services/memory/project-memory-service.d.ts +1 -0
- package/dist/services/memory/project-memory-service.js +20 -0
- package/dist/services/migrate-skill-name/migrate.d.ts +17 -0
- package/dist/services/migrate-skill-name/migrate.js +152 -0
- package/dist/services/migrate-skill-name/schema.d.ts +42 -0
- package/dist/services/migrate-skill-name/schema.js +25 -0
- package/dist/services/migration/v2-10-to-v2-11-service.d.ts +44 -0
- package/dist/services/migration/v2-10-to-v2-11-service.js +190 -0
- package/dist/services/migration/v2-10-to-v2-11-types.d.ts +41 -0
- package/dist/services/migration/v2-10-to-v2-11-types.js +23 -0
- package/dist/services/mode/bypass-tracker.d.ts +4 -0
- package/dist/services/mode/bypass-tracker.js +31 -0
- package/dist/services/mode/mode-enforcement.d.ts +14 -0
- package/dist/services/mode/mode-enforcement.js +84 -0
- package/dist/services/observability/aggregation.d.ts +91 -0
- package/dist/services/observability/aggregation.js +289 -0
- package/dist/services/observability/jsonl-store.d.ts +59 -0
- package/dist/services/observability/jsonl-store.js +120 -0
- package/dist/services/observability/observability-service.d.ts +161 -0
- package/dist/services/observability/observability-service.js +205 -0
- package/dist/services/observability/report-formatter.d.ts +42 -0
- package/dist/services/observability/report-formatter.js +156 -0
- package/dist/services/openspec/artifact-boundary.d.ts +138 -0
- package/dist/services/openspec/artifact-boundary.js +150 -0
- package/dist/services/openspec/coverage-evidence-reader.d.ts +191 -0
- package/dist/services/openspec/coverage-evidence-reader.js +386 -0
- package/dist/services/openspec/openspec-archive-service.d.ts +82 -0
- package/dist/services/openspec/openspec-archive-service.js +340 -0
- package/dist/services/openspec/openspec-bridge-service.d.ts +16 -0
- package/dist/services/openspec/openspec-bridge-service.js +76 -0
- package/dist/services/openspec/openspec-init-service.d.ts +23 -0
- package/dist/services/openspec/openspec-init-service.js +122 -0
- package/dist/services/openspec/openspec-propose-from-doctor-service.d.ts +31 -0
- package/dist/services/openspec/openspec-propose-from-doctor-service.js +95 -0
- package/dist/services/openspec/openspec-render-service.d.ts +38 -0
- package/dist/services/openspec/openspec-render-service.js +133 -0
- package/dist/services/openspec/openspec-scan-service.d.ts +6 -0
- package/dist/services/openspec/openspec-scan-service.js +123 -0
- package/dist/services/openspec/openspec-types.d.ts +39 -0
- package/dist/services/openspec/openspec-types.js +1 -0
- package/dist/services/openspec/openspec-validate-service.d.ts +27 -0
- package/dist/services/openspec/openspec-validate-service.js +78 -0
- package/dist/services/perf/perf-baseline-service.d.ts +70 -0
- package/dist/services/perf/perf-baseline-service.js +214 -0
- package/dist/services/polyrepo/polyrepo-dispatcher.d.ts +34 -0
- package/dist/services/polyrepo/polyrepo-dispatcher.js +119 -0
- package/dist/services/polyrepo/polyrepo-scanner.d.ts +9 -0
- package/dist/services/polyrepo/polyrepo-scanner.js +94 -0
- package/dist/services/polyrepo/polyrepo-service.d.ts +34 -0
- package/dist/services/polyrepo/polyrepo-service.js +49 -0
- package/dist/services/polyrepo/polyrepo-types.d.ts +55 -0
- package/dist/services/polyrepo/polyrepo-types.js +1 -0
- package/dist/services/prd/handoff-auto-regen.d.ts +22 -0
- package/dist/services/prd/handoff-auto-regen.js +73 -0
- package/dist/services/prd/handoff-service.d.ts +54 -0
- package/dist/services/prd/handoff-service.js +142 -0
- package/dist/services/prd/handoff-types.d.ts +64 -0
- package/dist/services/prd/handoff-types.js +22 -0
- package/dist/services/prd/prd-blocks-checker.d.ts +51 -0
- package/dist/services/prd/prd-blocks-checker.js +130 -0
- package/dist/services/prd/project-scan-bootstrap-service.d.ts +52 -0
- package/dist/services/prd/project-scan-bootstrap-service.js +445 -0
- package/dist/services/prd/project-scan-reader.d.ts +24 -0
- package/dist/services/prd/project-scan-reader.js +150 -0
- package/dist/services/prd/project-scan-sediment.d.ts +97 -0
- package/dist/services/prd/project-scan-sediment.js +445 -0
- package/dist/services/prd/project-scan-types.d.ts +66 -0
- package/dist/services/prd/project-scan-types.js +20 -0
- package/dist/services/preferences/preferences-service.d.ts +38 -0
- package/dist/services/preferences/preferences-service.js +208 -0
- package/dist/services/preferences/preferences-types.d.ts +161 -0
- package/dist/services/preferences/preferences-types.js +64 -0
- package/dist/services/profiles/profile-service.d.ts +6 -0
- package/dist/services/profiles/profile-service.js +19 -0
- package/dist/services/progress/progress-service.d.ts +125 -0
- package/dist/services/progress/progress-service.js +192 -0
- package/dist/services/proxy/proxy-service.d.ts +7 -0
- package/dist/services/proxy/proxy-service.js +31 -0
- package/dist/services/qa/browser-event-logger.d.ts +40 -0
- package/dist/services/qa/browser-event-logger.js +54 -0
- package/dist/services/qa/browser-restart-detector.d.ts +74 -0
- package/dist/services/qa/browser-restart-detector.js +138 -0
- package/dist/services/qa/browser-reuse-hint.d.ts +18 -0
- package/dist/services/qa/browser-reuse-hint.js +18 -0
- package/dist/services/qa/browser-wrapper-service.d.ts +37 -0
- package/dist/services/qa/browser-wrapper-service.js +88 -0
- package/dist/services/qa/qa-business-review-state.d.ts +47 -0
- package/dist/services/qa/qa-business-review-state.js +96 -0
- package/dist/services/qa/screenshot-archive-service.d.ts +51 -0
- package/dist/services/qa/screenshot-archive-service.js +134 -0
- package/dist/services/rd/ast-gate.d.ts +19 -0
- package/dist/services/rd/ast-gate.js +71 -0
- package/dist/services/rd/impl.d.ts +9 -0
- package/dist/services/rd/impl.js +57 -0
- package/dist/services/rd/rd-service.d.ts +129 -0
- package/dist/services/rd/rd-service.js +440 -0
- package/dist/services/rd/reviewer-dispatch-policy.d.ts +122 -0
- package/dist/services/rd/reviewer-dispatch-policy.js +148 -0
- package/dist/services/rd/standards-diagnostic.d.ts +76 -0
- package/dist/services/rd/standards-diagnostic.js +166 -0
- package/dist/services/rd/strategic-stage.d.ts +4 -0
- package/dist/services/rd/strategic-stage.js +15 -0
- package/dist/services/rd/strategy.d.ts +13 -0
- package/dist/services/rd/strategy.js +60 -0
- package/dist/services/rd/tactical-stage.d.ts +33 -0
- package/dist/services/rd/tactical-stage.js +62 -0
- package/dist/services/rd/types.d.ts +252 -0
- package/dist/services/rd/types.js +47 -0
- package/dist/services/rd-swarm/rd-swarm-service.d.ts +60 -0
- package/dist/services/rd-swarm/rd-swarm-service.js +93 -0
- package/dist/services/recommendations/capability-availability.d.ts +5 -0
- package/dist/services/recommendations/capability-availability.js +40 -0
- package/dist/services/recommendations/capability-map-service.d.ts +7 -0
- package/dist/services/recommendations/capability-map-service.js +131 -0
- package/dist/services/recommendations/capability-seed-items.d.ts +2 -0
- package/dist/services/recommendations/capability-seed-items.js +139 -0
- package/dist/services/recommendations/capability-seed-mappings.d.ts +2 -0
- package/dist/services/recommendations/capability-seed-mappings.js +53 -0
- package/dist/services/recommendations/capability-seed-sources.d.ts +2 -0
- package/dist/services/recommendations/capability-seed-sources.js +34 -0
- package/dist/services/recommendations/recommendation-service.d.ts +8 -0
- package/dist/services/recommendations/recommendation-service.js +106 -0
- package/dist/services/recommendations/recommendation-types.d.ts +129 -0
- package/dist/services/recommendations/recommendation-types.js +1 -0
- package/dist/services/recommendations/seed-capability-catalog.d.ts +3 -0
- package/dist/services/recommendations/seed-capability-catalog.js +3 -0
- package/dist/services/refactor/refactor-service.d.ts +9 -0
- package/dist/services/refactor/refactor-service.js +36 -0
- package/dist/services/release/release-state.d.ts +70 -0
- package/dist/services/release/release-state.js +140 -0
- package/dist/services/release/version-precheck-service.d.ts +51 -0
- package/dist/services/release/version-precheck-service.js +257 -0
- package/dist/services/retrospective/retrospective-index.d.ts +37 -0
- package/dist/services/retrospective/retrospective-index.js +110 -0
- package/dist/services/retrospective/retrospective-search-service.d.ts +55 -0
- package/dist/services/retrospective/retrospective-search-service.js +107 -0
- package/dist/services/retrospective/retrospective-show.d.ts +40 -0
- package/dist/services/retrospective/retrospective-show.js +109 -0
- package/dist/services/reviewer/model-family.d.ts +18 -0
- package/dist/services/reviewer/model-family.js +70 -0
- package/dist/services/reviewer/providers/anthropic.d.ts +2 -0
- package/dist/services/reviewer/providers/anthropic.js +61 -0
- package/dist/services/reviewer/providers/ollama.d.ts +26 -0
- package/dist/services/reviewer/providers/ollama.js +38 -0
- package/dist/services/reviewer/providers/openai.d.ts +2 -0
- package/dist/services/reviewer/providers/openai.js +63 -0
- package/dist/services/reviewer/reviewer-config.d.ts +34 -0
- package/dist/services/reviewer/reviewer-config.js +100 -0
- package/dist/services/reviewer/reviewer-service.d.ts +56 -0
- package/dist/services/reviewer/reviewer-service.js +263 -0
- package/dist/services/reviewer/selection-strategies.d.ts +27 -0
- package/dist/services/reviewer/selection-strategies.js +53 -0
- package/dist/services/role/role-registry.d.ts +38 -0
- package/dist/services/role/role-registry.js +83 -0
- package/dist/services/runtime/runtime-detector.d.ts +15 -0
- package/dist/services/runtime/runtime-detector.js +62 -0
- package/dist/services/runtime/runtime-service.d.ts +59 -0
- package/dist/services/runtime/runtime-service.js +51 -0
- package/dist/services/runtime/vendor-adapter.d.ts +59 -0
- package/dist/services/runtime/vendor-adapter.js +1 -0
- package/dist/services/runtime/vendors/claude-code.d.ts +7 -0
- package/dist/services/runtime/vendors/claude-code.js +39 -0
- package/dist/services/runtime/vendors/codex.d.ts +7 -0
- package/dist/services/runtime/vendors/codex.js +43 -0
- package/dist/services/runtime/vendors/copilot.d.ts +7 -0
- package/dist/services/runtime/vendors/copilot.js +40 -0
- package/dist/services/sc/index.d.ts +1 -0
- package/dist/services/sc/index.js +1 -0
- package/dist/services/sc/sc-service.d.ts +131 -0
- package/dist/services/sc/sc-service.js +552 -0
- package/dist/services/scan/acceptance-coverage-service.d.ts +42 -0
- package/dist/services/scan/acceptance-coverage-service.js +140 -0
- package/dist/services/scan/api-surface-service.d.ts +69 -0
- package/dist/services/scan/api-surface-service.js +239 -0
- package/dist/services/scan/archetype-service.d.ts +5 -0
- package/dist/services/scan/archetype-service.js +254 -0
- package/dist/services/scan/diff-scope-service.d.ts +40 -0
- package/dist/services/scan/diff-scope-service.js +198 -0
- package/dist/services/scan/existing-system-service.d.ts +7 -0
- package/dist/services/scan/existing-system-service.js +300 -0
- package/dist/services/scan/file-size-scan.d.ts +23 -0
- package/dist/services/scan/file-size-scan.js +68 -0
- package/dist/services/scan/karpathy-service.d.ts +60 -0
- package/dist/services/scan/karpathy-service.js +228 -0
- package/dist/services/scan/libraries-service.d.ts +24 -0
- package/dist/services/scan/libraries-service.js +419 -0
- package/dist/services/scan/libraries-types.d.ts +59 -0
- package/dist/services/scan/libraries-types.js +9 -0
- package/dist/services/scan/orphan-service.d.ts +76 -0
- package/dist/services/scan/orphan-service.js +538 -0
- package/dist/services/scan/scan-types.d.ts +59 -0
- package/dist/services/scan/scan-types.js +1 -0
- package/dist/services/scan/type-sanity-service.d.ts +23 -0
- package/dist/services/scan/type-sanity-service.js +116 -0
- package/dist/services/security/safe-settings-path.d.ts +12 -0
- package/dist/services/security/safe-settings-path.js +104 -0
- package/dist/services/sediment/dispose-confirm.d.ts +9 -0
- package/dist/services/sediment/dispose-confirm.js +5 -0
- package/dist/services/sediment/json-schema.d.ts +247 -0
- package/dist/services/sediment/json-schema.js +26 -0
- package/dist/services/sediment/manifest-lint.d.ts +13 -0
- package/dist/services/sediment/manifest-lint.js +11 -0
- package/dist/services/sediment/pool-paths.d.ts +22 -0
- package/dist/services/sediment/pool-paths.js +25 -0
- package/dist/services/sediment/pool-read.d.ts +20 -0
- package/dist/services/sediment/pool-read.js +73 -0
- package/dist/services/sediment/pool-rebuild-index.d.ts +15 -0
- package/dist/services/sediment/pool-rebuild-index.js +28 -0
- package/dist/services/sediment/pool-write.d.ts +14 -0
- package/dist/services/sediment/pool-write.js +25 -0
- package/dist/services/sediment/promotion-gate.d.ts +12 -0
- package/dist/services/sediment/promotion-gate.js +20 -0
- package/dist/services/sediment/types.d.ts +52 -0
- package/dist/services/sediment/types.js +1 -0
- package/dist/services/session/binding-status-service.d.ts +56 -0
- package/dist/services/session/binding-status-service.js +106 -0
- package/dist/services/session/binding-store.d.ts +161 -0
- package/dist/services/session/binding-store.js +509 -0
- package/dist/services/session/caller-binding-service.d.ts +70 -0
- package/dist/services/session/caller-binding-service.js +148 -0
- package/dist/services/session/caller-id-types.d.ts +77 -0
- package/dist/services/session/caller-id-types.js +46 -0
- package/dist/services/session/getSessionDir.d.ts +1 -0
- package/dist/services/session/getSessionDir.js +27 -0
- package/dist/services/session/index.d.ts +6 -0
- package/dist/services/session/index.js +7 -0
- package/dist/services/session/platform-fallbacks.d.ts +31 -0
- package/dist/services/session/platform-fallbacks.js +35 -0
- package/dist/services/session/resolve-caller-id.d.ts +57 -0
- package/dist/services/session/resolve-caller-id.js +88 -0
- package/dist/services/session/session-binding-bridge.d.ts +76 -0
- package/dist/services/session/session-binding-bridge.js +247 -0
- package/dist/services/session/session-checkpoint-service.d.ts +57 -0
- package/dist/services/session/session-checkpoint-service.js +143 -0
- package/dist/services/session/session-manager.d.ts +168 -0
- package/dist/services/session/session-manager.js +502 -0
- package/dist/services/session/session-resume-service.d.ts +25 -0
- package/dist/services/session/session-resume-service.js +101 -0
- package/dist/services/share/bundle-reader.d.ts +100 -0
- package/dist/services/share/bundle-reader.js +434 -0
- package/dist/services/share/bundle-types.d.ts +392 -0
- package/dist/services/share/bundle-types.js +318 -0
- package/dist/services/share/bundle-writer.d.ts +97 -0
- package/dist/services/share/bundle-writer.js +429 -0
- package/dist/services/share/run-state-contract.d.ts +133 -0
- package/dist/services/share/run-state-contract.js +138 -0
- package/dist/services/signal/cancel-handler.d.ts +14 -0
- package/dist/services/signal/cancel-handler.js +76 -0
- package/dist/services/skill/resume-detector.d.ts +54 -0
- package/dist/services/skill/resume-detector.js +334 -0
- package/dist/services/skill/skill-scheduler.d.ts +40 -0
- package/dist/services/skill/skill-scheduler.js +53 -0
- package/dist/services/skill/skill-search-service.d.ts +93 -0
- package/dist/services/skill/skill-search-service.js +232 -0
- package/dist/services/skillhub/migrations/001-initial.sql +71 -0
- package/dist/services/skillhub/migrations/002-loop-release.sql +32 -0
- package/dist/services/skillhub/migrations/003-loop-bee-relation.sql +35 -0
- package/dist/services/skillhub/migrations/004-loop-bee-extension.sql +65 -0
- package/dist/services/skillhub/migrations/005-evolution-evaluation.sql +81 -0
- package/dist/services/skillhub/migrations/006-crystallization-event.sql +92 -0
- package/dist/services/skillhub/release-diff.d.ts +18 -0
- package/dist/services/skillhub/release-diff.js +38 -0
- package/dist/services/skillhub/release-export.d.ts +8 -0
- package/dist/services/skillhub/release-export.js +31 -0
- package/dist/services/skillhub/release-gc-blobs.d.ts +13 -0
- package/dist/services/skillhub/release-gc-blobs.js +32 -0
- package/dist/services/skillhub/release-import.d.ts +7 -0
- package/dist/services/skillhub/release-import.js +64 -0
- package/dist/services/skillhub/release-retain.d.ts +23 -0
- package/dist/services/skillhub/release-retain.js +94 -0
- package/dist/services/skillhub/sqlite-store.d.ts +22 -0
- package/dist/services/skillhub/sqlite-store.js +63 -0
- package/dist/services/skillhub/tar-runtime.d.ts +21 -0
- package/dist/services/skillhub/tar-runtime.js +91 -0
- package/dist/services/skillhub/types.d.ts +115 -0
- package/dist/services/skillhub/types.js +1 -0
- package/dist/services/skills/hooks-settings-service.d.ts +212 -0
- package/dist/services/skills/hooks-settings-service.js +624 -0
- package/dist/services/skills/skill-conformance-service.d.ts +40 -0
- package/dist/services/skills/skill-conformance-service.js +139 -0
- package/dist/services/skills/skill-presence-service.d.ts +158 -0
- package/dist/services/skills/skill-presence-service.js +474 -0
- package/dist/services/skills/skill-registry.d.ts +18 -0
- package/dist/services/skills/skill-registry.js +69 -0
- package/dist/services/skills/skill-runbook-service.d.ts +11 -0
- package/dist/services/skills/skill-runbook-service.js +128 -0
- package/dist/services/skills/skill-statusline-renderer.d.ts +6 -0
- package/dist/services/skills/skill-statusline-renderer.js +55 -0
- package/dist/services/skills/skill-statusline-service.d.ts +24 -0
- package/dist/services/skills/skill-statusline-service.js +110 -0
- package/dist/services/skills/statusline-settings-service.d.ts +59 -0
- package/dist/services/skills/statusline-settings-service.js +141 -0
- package/dist/services/skills/sync-service.d.ts +86 -0
- package/dist/services/skills/sync-service.js +271 -0
- package/dist/services/slice/calibration-store.d.ts +39 -0
- package/dist/services/slice/calibration-store.js +68 -0
- package/dist/services/slice/cross-pass-edge-merger.d.ts +53 -0
- package/dist/services/slice/cross-pass-edge-merger.js +246 -0
- package/dist/services/slice/granularity-decider.d.ts +37 -0
- package/dist/services/slice/granularity-decider.js +40 -0
- package/dist/services/slice/llm-arbitrator.d.ts +35 -0
- package/dist/services/slice/llm-arbitrator.js +63 -0
- package/dist/services/slice/multi-pass-orchestrator.d.ts +67 -0
- package/dist/services/slice/multi-pass-orchestrator.js +225 -0
- package/dist/services/slice/schema-router.d.ts +44 -0
- package/dist/services/slice/schema-router.js +61 -0
- package/dist/services/slice/slice-archive-service.d.ts +20 -0
- package/dist/services/slice/slice-archive-service.js +111 -0
- package/dist/services/slice/slice-benchmark-service.d.ts +19 -0
- package/dist/services/slice/slice-benchmark-service.js +60 -0
- package/dist/services/slice/slice-check-service.d.ts +2 -0
- package/dist/services/slice/slice-check-service.js +459 -0
- package/dist/services/slice/slice-check-types.d.ts +104 -0
- package/dist/services/slice/slice-check-types.js +28 -0
- package/dist/services/slice/slice-decompose-runners.d.ts +23 -0
- package/dist/services/slice/slice-decompose-runners.js +174 -0
- package/dist/services/slice/slice-decompose-service.d.ts +24 -0
- package/dist/services/slice/slice-decompose-service.js +532 -0
- package/dist/services/slice/slice-decompose-types.d.ts +263 -0
- package/dist/services/slice/slice-decompose-types.js +30 -0
- package/dist/services/slice/slice-integration.d.ts +43 -0
- package/dist/services/slice/slice-integration.js +106 -0
- package/dist/services/slice/slice-pick-service.d.ts +32 -0
- package/dist/services/slice/slice-pick-service.js +75 -0
- package/dist/services/slice/slice-review-state.d.ts +70 -0
- package/dist/services/slice/slice-review-state.js +109 -0
- package/dist/services/slice/slice-topology-types.d.ts +115 -0
- package/dist/services/slice/slice-topology-types.js +20 -0
- package/dist/services/smoke/smoke-paths-state.d.ts +73 -0
- package/dist/services/smoke/smoke-paths-state.js +117 -0
- package/dist/services/sop/gate-enforce-service.d.ts +33 -0
- package/dist/services/sop/gate-enforce-service.js +168 -0
- package/dist/services/sop/sop-advance-service.d.ts +74 -0
- package/dist/services/sop/sop-advance-service.js +115 -0
- package/dist/services/sop/sop-check-service.d.ts +45 -0
- package/dist/services/sop/sop-check-service.js +181 -0
- package/dist/services/sop/sop-paths.d.ts +62 -0
- package/dist/services/sop/sop-paths.js +92 -0
- package/dist/services/sop/sop-registry-service.d.ts +46 -0
- package/dist/services/sop/sop-registry-service.js +89 -0
- package/dist/services/sop/sop-service.d.ts +55 -0
- package/dist/services/sop/sop-service.js +222 -0
- package/dist/services/sop/sop-types.d.ts +95 -0
- package/dist/services/sop/sop-types.js +11 -0
- package/dist/services/standards/ide-aware-standards-service.d.ts +94 -0
- package/dist/services/standards/ide-aware-standards-service.js +91 -0
- package/dist/services/standards/loop-engineering-lint.d.ts +38 -0
- package/dist/services/standards/loop-engineering-lint.js +101 -0
- package/dist/services/standards/loop-engineering-readiness-lint.d.ts +111 -0
- package/dist/services/standards/loop-engineering-readiness-lint.js +248 -0
- package/dist/services/standards/main-session-monitor-ban-hook.d.ts +14 -0
- package/dist/services/standards/main-session-monitor-ban-hook.js +19 -0
- package/dist/services/standards/migrate-claude-rules-service.d.ts +19 -0
- package/dist/services/standards/migrate-claude-rules-service.js +214 -0
- package/dist/services/standards/migrate-service.d.ts +63 -0
- package/dist/services/standards/migrate-service.js +193 -0
- package/dist/services/standards/missing-standards-detector.d.ts +106 -0
- package/dist/services/standards/missing-standards-detector.js +170 -0
- package/dist/services/standards/project-context.d.ts +24 -0
- package/dist/services/standards/project-context.js +314 -0
- package/dist/services/standards/project-standards-service.d.ts +114 -0
- package/dist/services/standards/project-standards-service.js +693 -0
- package/dist/services/tech/tech-change-id-service.d.ts +82 -0
- package/dist/services/tech/tech-change-id-service.js +117 -0
- package/dist/services/tech/tech-service.d.ts +69 -0
- package/dist/services/tech/tech-service.js +299 -0
- package/dist/services/test-cache/test-cache-service.d.ts +70 -0
- package/dist/services/test-cache/test-cache-service.js +175 -0
- package/dist/services/understand/hybrid-types.d.ts +32 -0
- package/dist/services/understand/hybrid-types.js +1 -0
- package/dist/services/understand/understand-hybrid-service.d.ts +10 -0
- package/dist/services/understand/understand-hybrid-service.js +100 -0
- package/dist/services/understand/understand-scan-service.d.ts +28 -0
- package/dist/services/understand/understand-scan-service.js +170 -0
- package/dist/services/understand/understand-types.d.ts +50 -0
- package/dist/services/understand/understand-types.js +1 -0
- package/dist/services/upgrade/1x-detector-service.d.ts +7 -0
- package/dist/services/upgrade/1x-detector-service.js +94 -0
- package/dist/services/upgrade/gitignore-migrate-service.d.ts +56 -0
- package/dist/services/upgrade/gitignore-migrate-service.js +170 -0
- package/dist/services/upgrade/upgrade-service.d.ts +81 -0
- package/dist/services/upgrade/upgrade-service.js +404 -0
- package/dist/services/verdict/envelopes.d.ts +93 -0
- package/dist/services/verdict/envelopes.js +349 -0
- package/dist/services/verdict/verdict-aggregator.d.ts +94 -0
- package/dist/services/verdict/verdict-aggregator.js +112 -0
- package/dist/services/vm/vm-lease.d.ts +40 -0
- package/dist/services/vm/vm-lease.js +137 -0
- package/dist/services/workflow/artifact-paths.d.ts +59 -0
- package/dist/services/workflow/artifact-paths.js +166 -0
- package/dist/services/workflow/autonomous-resume-writer.d.ts +16 -0
- package/dist/services/workflow/autonomous-resume-writer.js +170 -0
- package/dist/services/workflow/pipeline-verify-gate-support.d.ts +47 -0
- package/dist/services/workflow/pipeline-verify-gate-support.js +194 -0
- package/dist/services/workflow/pipeline-verify-service.d.ts +26 -0
- package/dist/services/workflow/pipeline-verify-service.js +273 -0
- package/dist/services/workflow/pipeline-verify-types.d.ts +90 -0
- package/dist/services/workflow/pipeline-verify-types.js +10 -0
- package/dist/services/workflow/plan-reader.d.ts +29 -0
- package/dist/services/workflow/plan-reader.js +174 -0
- package/dist/services/workflow/plan-refresher.d.ts +32 -0
- package/dist/services/workflow/plan-refresher.js +353 -0
- package/dist/services/workflow/plan-trigger-detector.d.ts +55 -0
- package/dist/services/workflow/plan-trigger-detector.js +142 -0
- package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +19 -0
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +300 -0
- package/dist/services/workflow/workflow-autonomous-service.d.ts +4 -0
- package/dist/services/workflow/workflow-autonomous-service.js +306 -0
- package/dist/services/workflow/workflow-autonomous-types.d.ts +114 -0
- package/dist/services/workflow/workflow-autonomous-types.js +21 -0
- package/dist/services/workflow/workflow-loader.d.ts +63 -0
- package/dist/services/workflow/workflow-loader.js +168 -0
- package/dist/services/workflow/workflow-router-service.d.ts +85 -0
- package/dist/services/workflow/workflow-router-service.js +235 -0
- package/dist/services/workflow/workflow-skip-service.d.ts +106 -0
- package/dist/services/workflow/workflow-skip-service.js +209 -0
- package/dist/services/workflow/workflow-spec-lint.d.ts +13 -0
- package/dist/services/workflow/workflow-spec-lint.js +75 -0
- package/dist/services/workflow/workflow-spec-types.d.ts +100 -0
- package/dist/services/workflow/workflow-spec-types.js +13 -0
- package/dist/services/workflow/workflow-spec-yaml.d.ts +17 -0
- package/dist/services/workflow/workflow-spec-yaml.js +88 -0
- package/dist/services/workflow/workflow-spec.d.ts +36 -0
- package/dist/services/workflow/workflow-spec.js +302 -0
- package/dist/services/workflow/workflow-state-store.d.ts +27 -0
- package/dist/services/workflow/workflow-state-store.js +95 -0
- package/dist/services/workspace/claude-settings-template.d.ts +101 -0
- package/dist/services/workspace/claude-settings-template.js +254 -0
- package/dist/services/workspace/migrate-1-4-1-service.d.ts +44 -0
- package/dist/services/workspace/migrate-1-4-1-service.js +195 -0
- package/dist/services/workspace/migrate-service.d.ts +2 -0
- package/dist/services/workspace/migrate-service.js +613 -0
- package/dist/services/workspace/migrate-types.d.ts +127 -0
- package/dist/services/workspace/migrate-types.js +21 -0
- package/dist/services/workspace/reconcile-service.d.ts +188 -0
- package/dist/services/workspace/reconcile-service.js +683 -0
- package/dist/services/workspace/reconcile-types.d.ts +130 -0
- package/dist/services/workspace/reconcile-types.js +13 -0
- package/dist/services/workspace/sid-naming-guard.d.ts +17 -0
- package/dist/services/workspace/sid-naming-guard.js +34 -0
- package/dist/services/workspace/templates/project-scan/audit-output-schema.md +100 -0
- package/dist/services/workspace/templates/project-scan/business-knowledge.md +44 -0
- package/dist/services/workspace/templates/project-scan/index.d.ts +34 -0
- package/dist/services/workspace/templates/project-scan/index.js +60 -0
- package/dist/services/workspace/templates/project-scan/perf-template.md +109 -0
- package/dist/services/workspace/templates/project-scan/security-template.md +99 -0
- package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +45 -0
- package/dist/services/workspace/workspace-claude-settings-materializer.js +194 -0
- package/dist/services/workspace/workspace-clean-service.d.ts +28 -0
- package/dist/services/workspace/workspace-clean-service.js +46 -0
- package/dist/services/workspace/workspace-service.d.ts +177 -0
- package/dist/services/workspace/workspace-service.js +432 -0
- package/dist/services/workspace/workspace-state-service.d.ts +7 -0
- package/dist/services/workspace/workspace-state-service.js +43 -0
- package/dist/services/worktree/worktree-lease.d.ts +170 -0
- package/dist/services/worktree/worktree-lease.js +242 -0
- package/dist/shared/format-md-compact.d.ts +32 -0
- package/dist/shared/format-md-compact.js +297 -0
- package/dist/shared/frontmatter.d.ts +6 -0
- package/dist/shared/frontmatter.js +165 -0
- package/dist/shared/fs-utils.d.ts +4 -0
- package/dist/shared/fs-utils.js +16 -0
- package/dist/shared/incrementing-number.d.ts +23 -0
- package/dist/shared/incrementing-number.js +68 -0
- package/dist/shared/json-schema-mini.d.ts +10 -0
- package/dist/shared/json-schema-mini.js +113 -0
- package/dist/shared/path-safety.d.ts +21 -0
- package/dist/shared/path-safety.js +54 -0
- package/dist/shared/path-utils.d.ts +13 -0
- package/dist/shared/path-utils.js +56 -0
- package/dist/shared/planner-response.d.ts +21 -0
- package/dist/shared/planner-response.js +26 -0
- package/dist/shared/platform.d.ts +6 -0
- package/dist/shared/platform.js +11 -0
- package/dist/shared/process.d.ts +5 -0
- package/dist/shared/process.js +12 -0
- package/dist/shared/stale-policy.d.ts +67 -0
- package/dist/shared/stale-policy.js +85 -0
- package/dist/skills/peaks-maker/index.d.ts +5 -0
- package/dist/skills/peaks-maker/index.js +32 -0
- package/package.json +51 -54
- package/scripts/clean-dist.mjs +31 -1
- package/scripts/copy-templates.mjs +17 -1
- package/scripts/sync-version.mjs +53 -2
- package/skills/bee/peaks-perf-audit/SKILL.md +17 -0
- package/skills/bee/peaks-prd/SKILL.md +16 -0
- package/skills/bee/peaks-prd/test-prompts.json +12 -0
- package/skills/bee/peaks-qa/SKILL.md +16 -1
- package/skills/bee/peaks-qa/references/qa-sub-agent-dispatch.md +22 -0
- package/skills/bee/peaks-qa/test-prompts.json +12 -0
- package/skills/bee/peaks-rd/SKILL.md +29 -20
- package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +39 -0
- package/skills/bee/peaks-rd/test-prompts.json +12 -0
- package/skills/bee/peaks-reviewer/SKILL.md +17 -0
- package/skills/bee/peaks-sc/SKILL.md +16 -0
- package/skills/bee/peaks-security-audit/SKILL.md +17 -0
- package/skills/bee/peaks-txt/SKILL.md +16 -0
- package/skills/bee/peaks-txt/test-prompts.json +12 -0
- package/skills/bee/peaks-ui/SKILL.md +49 -43
- package/skills/bee/peaks-ui/test-prompts.json +12 -0
- package/skills/peaks-code/SKILL.md +54 -109
- package/skills/peaks-code/references/boundaries.md +15 -1
- package/skills/peaks-code/references/cron-scheduler-deployment.md +313 -0
- package/skills/peaks-code/references/external-skill-invocation.md +27 -0
- package/skills/peaks-code/references/lease-dashboard.html +224 -0
- package/skills/peaks-code/references/lease-stats.sample.json +26 -0
- package/skills/peaks-code/references/peaks-worktree-l2-enforcers.md +208 -0
- package/skills/peaks-code/references/periodic-checkpoint.md +4 -4
- package/skills/peaks-code/references/runbook.md +63 -1
- package/skills/peaks-code/references/startup-sequence.md +110 -0
- package/skills/peaks-code/references/step-0-8-gate.md +1 -1
- package/skills/peaks-code/references/sub-agent-dispatch.md +92 -1
- package/skills/peaks-code/references/worktree-governance.md +123 -0
- package/skills/peaks-code/test-prompts.json +12 -0
- package/skills/peaks-doctor/SKILL.md +1 -1
- package/skills/peaks-ide/SKILL.md +1 -1
- package/skills/peaks-solo/SKILL.md +21 -0
- package/skills/peaks-solo/references/triage-decision-table.md +6 -0
- package/skills/peaks-sop/test-prompts.json +17 -0
- package/examples/video-demo/README.md +0 -142
- package/examples/video-demo/out/en-closing-960.png +0 -0
- package/examples/video-demo/out/zh-closing-960.png +0 -0
- package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
- package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default budget: 60s. 1 order of magnitude above the measured 4–6s
|
|
3
|
+
* cold-start figure from .peaks/memory/2026-07-28-sub-agent-visibility-
|
|
4
|
+
* issue.md; well below the 5-min heartbeat stale threshold so this
|
|
5
|
+
* fires first.
|
|
6
|
+
*/
|
|
7
|
+
export const DEFAULT_STARTUP_BUDGET_MS = 60_000;
|
|
8
|
+
/**
|
|
9
|
+
* String constants for the new terminal statuses. Distinct from the
|
|
10
|
+
* pre-slice `stale` (heartbeat seen, then quiet) and `no-execution`
|
|
11
|
+
* (legacy silent fallback). These are added to the writer's
|
|
12
|
+
* `DispatchRecordStatus` union in the same slice; the constants here
|
|
13
|
+
* are the canonical source so the CLI help / watch / writer all
|
|
14
|
+
* reference the same strings.
|
|
15
|
+
*/
|
|
16
|
+
export const STARTUP_OUTCOME = {
|
|
17
|
+
NEVER_STARTED: 'never-started',
|
|
18
|
+
UNREADABLE: 'unreadable'
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Pure eval. Returns a typed triple; the caller decides whether to
|
|
22
|
+
* write `targetStatus` to the record.
|
|
23
|
+
*/
|
|
24
|
+
export function evaluateStartupTimeout(record, now = () => new Date(), options = {}) {
|
|
25
|
+
const budgetMs = options.budgetMs ?? DEFAULT_STARTUP_BUDGET_MS;
|
|
26
|
+
const safeBudget = Number.isFinite(budgetMs) && budgetMs > 0 ? budgetMs : DEFAULT_STARTUP_BUDGET_MS;
|
|
27
|
+
const createdAt = parseIsoOrFallback(record.createdAt, now);
|
|
28
|
+
const ageMs = Math.max(0, now().getTime() - createdAt.getTime());
|
|
29
|
+
if (options.corrupt === true) {
|
|
30
|
+
return {
|
|
31
|
+
outcome: 'unreadable',
|
|
32
|
+
marked: true,
|
|
33
|
+
targetStatus: 'unreadable',
|
|
34
|
+
reason: `record body is corrupt (status field unparseable) at age ${ageMs}ms`,
|
|
35
|
+
ageMs,
|
|
36
|
+
budgetMs: safeBudget
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
// A record that already reached `running` (or beyond) is by definition
|
|
40
|
+
// not a startup-timeout candidate. `stale` (heartbeat seen, then
|
|
41
|
+
// quiet) is its own ladder; we do not reclassify it.
|
|
42
|
+
if (record.status === 'running' || record.status === 'finalizing') {
|
|
43
|
+
return {
|
|
44
|
+
outcome: 'within-budget',
|
|
45
|
+
marked: false,
|
|
46
|
+
targetStatus: record.status,
|
|
47
|
+
reason: `record is ${record.status} and not eligible for startup timeout`,
|
|
48
|
+
ageMs,
|
|
49
|
+
budgetMs: safeBudget
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// A terminal record is not eligible either (the marker functions own
|
|
53
|
+
// the terminal transition; this evaluator is a read-only gate).
|
|
54
|
+
const TERMINAL = [
|
|
55
|
+
'done',
|
|
56
|
+
'failed',
|
|
57
|
+
'cancelled',
|
|
58
|
+
'no-execution',
|
|
59
|
+
'stale',
|
|
60
|
+
'never-started',
|
|
61
|
+
'unreadable'
|
|
62
|
+
];
|
|
63
|
+
if (TERMINAL.includes(record.status)) {
|
|
64
|
+
return {
|
|
65
|
+
outcome: 'within-budget',
|
|
66
|
+
marked: false,
|
|
67
|
+
targetStatus: record.status,
|
|
68
|
+
reason: `record is terminal (${record.status}) and not eligible for startup timeout`,
|
|
69
|
+
ageMs,
|
|
70
|
+
budgetMs: safeBudget
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
if (ageMs < safeBudget) {
|
|
74
|
+
return {
|
|
75
|
+
outcome: 'within-budget',
|
|
76
|
+
marked: false,
|
|
77
|
+
targetStatus: record.status,
|
|
78
|
+
reason: `record age ${ageMs}ms is within ${safeBudget}ms startup budget`,
|
|
79
|
+
ageMs,
|
|
80
|
+
budgetMs: safeBudget
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
outcome: 'never-started',
|
|
85
|
+
marked: true,
|
|
86
|
+
targetStatus: 'never-started',
|
|
87
|
+
reason: `record stayed ${record.status} for ${ageMs}ms (budget ${safeBudget}ms) without a first heartbeat`,
|
|
88
|
+
ageMs,
|
|
89
|
+
budgetMs: safeBudget
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function parseIsoOrFallback(iso, now) {
|
|
93
|
+
const d = new Date(iso);
|
|
94
|
+
if (!Number.isNaN(d.getTime()))
|
|
95
|
+
return d;
|
|
96
|
+
return new Date(now().getTime());
|
|
97
|
+
}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Role string namespace. Soft whitelist — the CLI does NOT hard-validate
|
|
3
|
+
* specific role names. Empirically observed (peaks-qa SKILL.md):3 top
|
|
4
|
+
* roles +3 sub-roles + arbitrary business subdivisions:
|
|
5
|
+
*
|
|
6
|
+
* - top: rd | qa | ui | txt | general-purpose
|
|
7
|
+
* - qa sub-roles: qa-business | qa-perf | qa-security
|
|
8
|
+
* - business细分: qa-business-regression | qa-business-api
|
|
9
|
+
* | qa-business-frontend | ...
|
|
10
|
+
* - promotable: prd-business | prd-technical | prd-ux |
|
|
11
|
+
* ui-visual | ui-flow | ui-component | ...
|
|
12
|
+
*
|
|
13
|
+
* Any non-empty string is a valid role. CLI emits a "soft whitelist"
|
|
14
|
+
* hint in --help but does not reject unknown values.
|
|
15
|
+
*/
|
|
16
|
+
export type SubAgentRole = string;
|
|
17
|
+
/**
|
|
18
|
+
* IDE-private tool-call descriptor. The LLM, upon receiving this in
|
|
19
|
+
* the CLI's JSON envelope, must invoke the tool named `name` in its
|
|
20
|
+
* own environment with the provided `args`.
|
|
21
|
+
*/
|
|
22
|
+
export interface SubAgentToolCall {
|
|
23
|
+
readonly name: string;
|
|
24
|
+
readonly args: Readonly<Record<string, unknown>>;
|
|
25
|
+
/**
|
|
26
|
+
* Slice 2026-06-23-audit-4th #C2: toolCall version. The IDE's
|
|
27
|
+
* arg shape can change between versions (e.g. Claude Code's
|
|
28
|
+
* `subagent_type: "general-purpose"` may become
|
|
29
|
+
* `subagent_type: "claude-code-3.5"` in a future release). The
|
|
30
|
+
* dispatcher stamps this on `buildToolCall`; the dispatch record
|
|
31
|
+
* propagates it so a future reader can detect "this record is for
|
|
32
|
+
* v2.0 Task, current IDE is v3.0" without inspecting args.
|
|
33
|
+
* Pre-versioning records default to '2.0.0' on read.
|
|
34
|
+
*/
|
|
35
|
+
readonly toolCallVersion?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Input to `buildToolCall`. The CLI assembles this from the user's
|
|
39
|
+
* command-line args (role, prompt) + state-machine lookups
|
|
40
|
+
* (requestId, sessionId).
|
|
41
|
+
*/
|
|
42
|
+
export interface SubAgentDispatchInput {
|
|
43
|
+
readonly role: SubAgentRole;
|
|
44
|
+
readonly prompt: string;
|
|
45
|
+
readonly requestId: string;
|
|
46
|
+
readonly sessionId: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Per-IDE sub-agent dispatcher contract. Each IdeAdapter exposes
|
|
50
|
+
* one of these; the CLI calls `buildToolCall` after validating
|
|
51
|
+
* `supportsRole` (and `null-dispatcher` is the fallback when an
|
|
52
|
+
* IDE cannot dispatch sub-agents at all).
|
|
53
|
+
*/
|
|
54
|
+
export interface SubAgentDispatcher {
|
|
55
|
+
/**
|
|
56
|
+
* Short label used in envelope `ide` field and CLI help text.
|
|
57
|
+
* e.g. "claude-code" / "trae" / "null".
|
|
58
|
+
*/
|
|
59
|
+
readonly label: string;
|
|
60
|
+
/**
|
|
61
|
+
* Whether this dispatcher supports dispatching a given role.
|
|
62
|
+
* claude-code returns true for all non-empty strings; trae is
|
|
63
|
+
* byte-identical (UNVERIFIED pending real Trae dogfood);
|
|
64
|
+
* null-dispatcher always returns false.
|
|
65
|
+
*/
|
|
66
|
+
supportsRole(role: SubAgentRole): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Build the IDE-specific tool call descriptor for a dispatch.
|
|
69
|
+
* Must be pure: no I/O, no side effects. The CLI wraps the
|
|
70
|
+
* returned descriptor in its JSON envelope.
|
|
71
|
+
*/
|
|
72
|
+
buildToolCall(input: SubAgentDispatchInput): SubAgentToolCall;
|
|
73
|
+
/**
|
|
74
|
+
* 2.7.0 slice-dag-dispatcher MVP: join barrier for a batch of dispatched
|
|
75
|
+
* sub-agents. Returns one BatchResult per dispatch in the batch.
|
|
76
|
+
*
|
|
77
|
+
* Default implementation in this MVP (1.2): claude-code holds an
|
|
78
|
+
* in-process Promise queue (LRU-keyed by batchId); the four non-Claude
|
|
79
|
+
* IDEs (trae / trae-cn / codex / cursor) return a
|
|
80
|
+
* `awaitByLlm: true` marker so the calling LLM holds the await itself
|
|
81
|
+
* — envelope shape is uniform. Real per-IDE implementations land in
|
|
82
|
+
* 1.3.
|
|
83
|
+
*
|
|
84
|
+
* `nullSubAgentDispatcher` throws `SubAgentNotSupportedError` here.
|
|
85
|
+
*/
|
|
86
|
+
awaitBatch?(input: SubAgentAwaitBatchInput): Promise<readonly SubAgentBatchResult[]>;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* 2.7.0 slice-dag-dispatcher MVP: input to the optional `awaitBatch` method.
|
|
90
|
+
* MVP dispatch is one batch per top-level `peaks sub-agent dispatch --from-dag`
|
|
91
|
+
* call; `batchId` is the same one returned in the dispatch envelope.
|
|
92
|
+
*/
|
|
93
|
+
export interface SubAgentAwaitBatchInput {
|
|
94
|
+
readonly batchId: string;
|
|
95
|
+
readonly dispatchCount: number;
|
|
96
|
+
/** Per-dispatch record path; CLI already has this from the dispatch envelope. */
|
|
97
|
+
readonly recordPaths: readonly string[];
|
|
98
|
+
/** Optional cap on how long the join should wait. */
|
|
99
|
+
readonly timeoutMs?: number;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* 2.7.0 slice-dag-dispatcher MVP: per-dispatch result of a join barrier.
|
|
103
|
+
* The CLI returns one of these per dispatch in the batch.
|
|
104
|
+
*/
|
|
105
|
+
export interface SubAgentBatchResult {
|
|
106
|
+
readonly dispatchIndex: number;
|
|
107
|
+
readonly recordPath: string;
|
|
108
|
+
readonly status: 'done' | 'failed' | 'cancelled' | 'timeout';
|
|
109
|
+
readonly durationMs: number;
|
|
110
|
+
readonly note: string | null;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Claude Code dispatcher. Real, byte-level implementation.
|
|
114
|
+
*
|
|
115
|
+
* - `supportsRole`: any non-empty string (Claude Code's
|
|
116
|
+
* `general-purpose` sub-agent accepts any prompt).
|
|
117
|
+
* - `buildToolCall`: returns `{name: 'Task', args: {subagent_type,
|
|
118
|
+
* description, prompt}}` — the exact shape the `Task` tool
|
|
119
|
+
* in Claude Code expects.
|
|
120
|
+
*/
|
|
121
|
+
export declare const claudeCodeSubAgentDispatcher: SubAgentDispatcher;
|
|
122
|
+
/**
|
|
123
|
+
* Trae dispatcher. UNVERIFIED — Trae sub-agent tool name TBD on real
|
|
124
|
+
* dogfood. Byte-level identical to claude-code by design so:
|
|
125
|
+
* - The dispatcher's return shape is uniform across both adapters
|
|
126
|
+
* — a single byte-equality test can verify the placeholder
|
|
127
|
+
* contract.
|
|
128
|
+
* - Future real Trae dogfood can replace the body of
|
|
129
|
+
* `buildToolCall` without breaking the adapter contract.
|
|
130
|
+
*
|
|
131
|
+
* Slice #014: the legacy `subAgentToolMatcher: 'Task'` install entry
|
|
132
|
+
* is gone — the field is removed from `IdeAdapter`. Slice #009+
|
|
133
|
+
* dispatched sub-agents directly, not via a PreToolUse hook. The Trae
|
|
134
|
+
* dispatcher remains a placeholder so the dispatch surface is uniform
|
|
135
|
+
* across adapters.
|
|
136
|
+
*
|
|
137
|
+
* When real Trae dogfood lands, replace the body of `buildToolCall`
|
|
138
|
+
* with Trae's actual sub-agent tool name + args shape. The interface
|
|
139
|
+
* stays the same; only the per-IDE wiring breaks (intentionally).
|
|
140
|
+
*/
|
|
141
|
+
export declare const traeSubAgentDispatcher: SubAgentDispatcher;
|
|
142
|
+
/**
|
|
143
|
+
* Trae-CN dispatcher. Mirrors Trae's shape with a separate label so
|
|
144
|
+
* the CLI's IDE detection can distinguish a Trae install region
|
|
145
|
+
* (Trae-CN differs in skill install path / log location only;
|
|
146
|
+
* dispatch surface is identical per slice #011 framework rule).
|
|
147
|
+
*
|
|
148
|
+
* Slice 1.3: real `awaitBatch` — same polling core as Trae.
|
|
149
|
+
*/
|
|
150
|
+
export declare const traeCnSubAgentDispatcher: SubAgentDispatcher;
|
|
151
|
+
/**
|
|
152
|
+
* Codex (OpenAI CLI IDE) dispatcher.
|
|
153
|
+
*
|
|
154
|
+
* Slice #13 noted Codex's sub-agent tool name is TBD; per slice #009
|
|
155
|
+
* rationale, the dispatcher mirrors Claude Code's shape so the
|
|
156
|
+
* adapter contract stays uniform. Slice 1.3 promotes Codex from
|
|
157
|
+
* `awaitByLlmFallback` to a real `awaitBatch` (file-based polling,
|
|
158
|
+
* Codex default 45s — Codex's documented heartbeat is slightly
|
|
159
|
+
* slower per slice #13 R-3).
|
|
160
|
+
*/
|
|
161
|
+
export declare const codexSubAgentDispatcher: SubAgentDispatcher;
|
|
162
|
+
/**
|
|
163
|
+
* Cursor dispatcher. UNVERIFIED — Cursor sub-agent tool name TBD on
|
|
164
|
+
* real dogfood. Byte-level identical to claude-code by design (slice
|
|
165
|
+
* #012 framing).
|
|
166
|
+
*
|
|
167
|
+
* Slice 1.3: real `awaitBatch` — file-based polling, Cursor default
|
|
168
|
+
* 30s.
|
|
169
|
+
*/
|
|
170
|
+
export declare const cursorSubAgentDispatcher: SubAgentDispatcher;
|
|
171
|
+
/**
|
|
172
|
+
* Null dispatcher for IDEs that cannot dispatch sub-agents at all
|
|
173
|
+
* (e.g. a CLI-only IDE that has no LLM tool surface). Used as the
|
|
174
|
+
* fallback by future unsupported-IDE adapters. The CLI returns
|
|
175
|
+
* `{ok: false, code: "IDE_NOT_SUPPORTED"}` when the dispatcher's
|
|
176
|
+
* `supportsRole` returns false.
|
|
177
|
+
*/
|
|
178
|
+
export declare const nullSubAgentDispatcher: SubAgentDispatcher;
|
|
179
|
+
/**
|
|
180
|
+
* Thrown by `nullSubAgentDispatcher.buildToolCall` and any future
|
|
181
|
+
* dispatcher that does not support a given role. The CLI catches
|
|
182
|
+
* this and returns the IDE_NOT_SUPPORTED error envelope.
|
|
183
|
+
*/
|
|
184
|
+
export declare class SubAgentNotSupportedError extends Error {
|
|
185
|
+
readonly role: SubAgentRole;
|
|
186
|
+
readonly code: "IDE_NOT_SUPPORTED";
|
|
187
|
+
constructor(role: SubAgentRole);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Real awaitBatch for claude-code (MVP). In 1.2, dispatch + await are
|
|
191
|
+
* both in the same process; we record the batch size and resolve after
|
|
192
|
+
* `dispatchCount` heartbeats land for the given `recordPaths`, or after
|
|
193
|
+
* `timeoutMs` elapses (per-dispatch `timeout` status).
|
|
194
|
+
*
|
|
195
|
+
* Implementation contract (MVP):
|
|
196
|
+
* - We poll each `recordPaths[i]` for an `outcome: success | failed` or
|
|
197
|
+
* `status: done | failed` field; if absent after `timeoutMs`, that
|
|
198
|
+
* dispatch is reported as `timeout`.
|
|
199
|
+
* - The poll interval is 50ms (fast enough for unit tests, cheap enough
|
|
200
|
+
* for the MVP; the real cross-process version uses heartbeat polling).
|
|
201
|
+
*/
|
|
202
|
+
export declare function awaitClaudeCodeBatch(input: SubAgentAwaitBatchInput): Promise<readonly SubAgentBatchResult[]>;
|
|
203
|
+
/**
|
|
204
|
+
* Slice 1.3 — shared per-IDE polling core for trae / trae-cn / codex /
|
|
205
|
+
* cursor. Same polling loop shape as `awaitClaudeCodeBatch`, with
|
|
206
|
+
* per-IDE default timeout + note prefix. The 4 IDEs differ only in
|
|
207
|
+
* (a) `defaultTimeoutMs` (Trae / Trae-CN / Cursor = 30s, Codex = 45s
|
|
208
|
+
* per slice #13 R-3) and (b) the `note` label surfaced when an IDE
|
|
209
|
+
* times out (so 1.4 dogfood can attribute a timeout to the right
|
|
210
|
+
* IDE).
|
|
211
|
+
*
|
|
212
|
+
* MVP rationale (per Karpathy §2 Simplicity First): the 4 IDEs
|
|
213
|
+
* currently share the same file-based polling transport. The only
|
|
214
|
+
* per-IDE distinction is the timeout + label. Future per-IDE
|
|
215
|
+
* divergence (real IPC / shell hooks) is a 1.4 dogfood concern —
|
|
216
|
+
* here we keep the dispatcher interface uniform while each IDE's
|
|
217
|
+
* `awaitBatch` is now a real implementation rather than the 1.2
|
|
218
|
+
* `awaitByLlmFallback` marker.
|
|
219
|
+
*/
|
|
220
|
+
export interface PollDispatchRecordsOptions {
|
|
221
|
+
readonly ide: 'trae' | 'trae-cn' | 'codex' | 'cursor';
|
|
222
|
+
readonly defaultTimeoutMs: number;
|
|
223
|
+
readonly notePrefix: string;
|
|
224
|
+
}
|
|
225
|
+
export declare function pollDispatchRecords(input: SubAgentAwaitBatchInput, opts: PollDispatchRecordsOptions): Promise<readonly SubAgentBatchResult[]>;
|
|
226
|
+
/**
|
|
227
|
+
* 1.2 fallback for trae / trae-cn / codex / cursor. Deprecated by
|
|
228
|
+
* slice 1.3 — kept exported for legacy callers + back-compat tests
|
|
229
|
+
* (the 1.2 marker is still a valid envelope shape; the 1.4 dogfood
|
|
230
|
+
* tests can compare the marker note vs the 1.3 real note to verify
|
|
231
|
+
* per-IDE attribution).
|
|
232
|
+
*/
|
|
233
|
+
export declare function awaitByLlmFallback(input: SubAgentAwaitBatchInput, ide: string): Promise<readonly SubAgentBatchResult[]>;
|
|
234
|
+
/**
|
|
235
|
+
* In-process awaiter registration hook (used by `peaks sub-agent dispatch`
|
|
236
|
+
* to attach a resolver; not part of the dispatcher public surface).
|
|
237
|
+
* Reserved for slice 1.3 cross-process upgrade.
|
|
238
|
+
*/
|
|
239
|
+
export declare function registerClaudeCodeAwaiter(batchId: string, awaiter: Promise<readonly SubAgentBatchResult[]>): void;
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice #009 — SubAgentDispatcher abstraction.
|
|
3
|
+
*
|
|
4
|
+
* 2.7.0 slice-dag-dispatcher MVP (slice 1.2.a) added `awaitBatch` per
|
|
5
|
+
* dispatcher: claude-code holds an in-process promise queue; trae / trae-cn
|
|
6
|
+
* / codex / cursor return an `awaitByLlm: true` marker for the calling
|
|
7
|
+
* LLM to hold the await itself (real per-IDE implementations land in
|
|
8
|
+
* slice 1.3). The `nullSubAgentDispatcher` throws.
|
|
9
|
+
*
|
|
10
|
+
* Per-IDE contract: given a sub-agent role + prompt + request/session ids,
|
|
11
|
+
* return a tool-call descriptor that the calling LLM should execute in
|
|
12
|
+
* its own environment. The CLI is IDE-agnostic; per-IDE tool names
|
|
13
|
+
* (Claude Code's `Task`, Trae's UNVERIFIED placeholder) are encapsulated
|
|
14
|
+
* here, never leaked to SKILL.md.
|
|
15
|
+
*
|
|
16
|
+
* Why this exists:
|
|
17
|
+
* - Prior SKILL.md hardcoded `Task(subagent_type="general-purpose", ...)`
|
|
18
|
+
* which made peaks-loop depend on Claude Code's specific sub-agent
|
|
19
|
+
* tool name. Adding a new IDE (Trae, future Cursor, etc.) required
|
|
20
|
+
* editing every SKILL.md that mentioned sub-agent dispatch.
|
|
21
|
+
* - This file (plus the per-IDE adapter wiring) collapses all
|
|
22
|
+
* per-IDE sub-agent specifics to a single `SubAgentDispatcher`
|
|
23
|
+
* instance per adapter. SKILL.md now only references
|
|
24
|
+
* `peaks sub-agent dispatch <role>`, and the IDE-private tool
|
|
25
|
+
* name flows through the returned `data.toolCall` at runtime.
|
|
26
|
+
*
|
|
27
|
+
* Cross-reference: PRD #002 G1 (AC-1..AC-5); RD tech-doc-002 §2.
|
|
28
|
+
*/
|
|
29
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
30
|
+
// Slice 2026-07-29-dispatch-stall-governance / S4 — the two near-
|
|
31
|
+
// identical poll loops in this file are now thin wrappers around
|
|
32
|
+
// `awaitBatch` (the unified implementation in ./await-batch.ts). The
|
|
33
|
+
// back-compat envelopes are preserved so the pre-S4 S3 character-
|
|
34
|
+
// ization tests + the existing call sites do not have to migrate in
|
|
35
|
+
// the same slice.
|
|
36
|
+
import { awaitBatch as awaitBatchUnified } from './await-batch.js';
|
|
37
|
+
/**
|
|
38
|
+
* Claude Code dispatcher. Real, byte-level implementation.
|
|
39
|
+
*
|
|
40
|
+
* - `supportsRole`: any non-empty string (Claude Code's
|
|
41
|
+
* `general-purpose` sub-agent accepts any prompt).
|
|
42
|
+
* - `buildToolCall`: returns `{name: 'Task', args: {subagent_type,
|
|
43
|
+
* description, prompt}}` — the exact shape the `Task` tool
|
|
44
|
+
* in Claude Code expects.
|
|
45
|
+
*/
|
|
46
|
+
export const claudeCodeSubAgentDispatcher = {
|
|
47
|
+
label: 'claude-code',
|
|
48
|
+
supportsRole: (role) => role.length > 0,
|
|
49
|
+
buildToolCall: ({ role, prompt, requestId }) => ({
|
|
50
|
+
name: 'Task',
|
|
51
|
+
args: {
|
|
52
|
+
subagent_type: 'general-purpose',
|
|
53
|
+
description: `${role} for rid=${requestId}`,
|
|
54
|
+
prompt,
|
|
55
|
+
},
|
|
56
|
+
// Slice 2026-06-23-audit-4th #C2: stamp the IDE-arg shape
|
|
57
|
+
// version. When Claude Code changes the Task args shape (e.g.
|
|
58
|
+
// a new subagent_type value), bump this and the dispatch record
|
|
59
|
+
// propagates it so a future reader can detect a stale record.
|
|
60
|
+
toolCallVersion: '2.0.0',
|
|
61
|
+
}),
|
|
62
|
+
// 2.7.0 slice-dag-dispatcher MVP: real join barrier for claude-code.
|
|
63
|
+
// The MVP harness uses an in-process promise queue keyed by batchId.
|
|
64
|
+
// (1.2 阶段进程内 hold 即可;1.3 / 1.4 阶段若多进程 sub-agent 走共享文件 / heartbeat 轮询。)
|
|
65
|
+
awaitBatch: async (input) => awaitClaudeCodeBatch(input),
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Trae dispatcher. UNVERIFIED — Trae sub-agent tool name TBD on real
|
|
69
|
+
* dogfood. Byte-level identical to claude-code by design so:
|
|
70
|
+
* - The dispatcher's return shape is uniform across both adapters
|
|
71
|
+
* — a single byte-equality test can verify the placeholder
|
|
72
|
+
* contract.
|
|
73
|
+
* - Future real Trae dogfood can replace the body of
|
|
74
|
+
* `buildToolCall` without breaking the adapter contract.
|
|
75
|
+
*
|
|
76
|
+
* Slice #014: the legacy `subAgentToolMatcher: 'Task'` install entry
|
|
77
|
+
* is gone — the field is removed from `IdeAdapter`. Slice #009+
|
|
78
|
+
* dispatched sub-agents directly, not via a PreToolUse hook. The Trae
|
|
79
|
+
* dispatcher remains a placeholder so the dispatch surface is uniform
|
|
80
|
+
* across adapters.
|
|
81
|
+
*
|
|
82
|
+
* When real Trae dogfood lands, replace the body of `buildToolCall`
|
|
83
|
+
* with Trae's actual sub-agent tool name + args shape. The interface
|
|
84
|
+
* stays the same; only the per-IDE wiring breaks (intentionally).
|
|
85
|
+
*/
|
|
86
|
+
export const traeSubAgentDispatcher = {
|
|
87
|
+
// UNVERIFIED — see file header
|
|
88
|
+
label: 'trae',
|
|
89
|
+
supportsRole: (role) => role.length > 0,
|
|
90
|
+
buildToolCall: ({ role, prompt, requestId }) => ({
|
|
91
|
+
name: 'Task',
|
|
92
|
+
args: {
|
|
93
|
+
subagent_type: 'general-purpose',
|
|
94
|
+
description: `${role} for rid=${requestId}`,
|
|
95
|
+
prompt,
|
|
96
|
+
},
|
|
97
|
+
toolCallVersion: '2.0.0',
|
|
98
|
+
}),
|
|
99
|
+
// 2.7.0 slice-dag-dispatcher (slice 1.3): real file-polling awaitBatch
|
|
100
|
+
// for Trae. Per-IDE wrapper around `pollDispatchRecords` with the
|
|
101
|
+
// Trae-default heartbeat (30s). The fallback `awaitByLlm` marker is
|
|
102
|
+
// gone — Trae now joins like claude-code.
|
|
103
|
+
awaitBatch: async (input) => pollDispatchRecords(input, {
|
|
104
|
+
ide: 'trae',
|
|
105
|
+
defaultTimeoutMs: 30_000,
|
|
106
|
+
notePrefix: 'trae 1.3 real awaitBatch'
|
|
107
|
+
})
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Trae-CN dispatcher. Mirrors Trae's shape with a separate label so
|
|
111
|
+
* the CLI's IDE detection can distinguish a Trae install region
|
|
112
|
+
* (Trae-CN differs in skill install path / log location only;
|
|
113
|
+
* dispatch surface is identical per slice #011 framework rule).
|
|
114
|
+
*
|
|
115
|
+
* Slice 1.3: real `awaitBatch` — same polling core as Trae.
|
|
116
|
+
*/
|
|
117
|
+
export const traeCnSubAgentDispatcher = {
|
|
118
|
+
label: 'trae-cn',
|
|
119
|
+
supportsRole: (role) => role.length > 0,
|
|
120
|
+
buildToolCall: ({ role, prompt, requestId }) => ({
|
|
121
|
+
name: 'Task',
|
|
122
|
+
args: {
|
|
123
|
+
subagent_type: 'general-purpose',
|
|
124
|
+
description: `${role} for rid=${requestId}`,
|
|
125
|
+
prompt,
|
|
126
|
+
},
|
|
127
|
+
}),
|
|
128
|
+
awaitBatch: async (input) => pollDispatchRecords(input, {
|
|
129
|
+
ide: 'trae-cn',
|
|
130
|
+
defaultTimeoutMs: 30_000,
|
|
131
|
+
notePrefix: 'trae-cn 1.3 real awaitBatch'
|
|
132
|
+
})
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Codex (OpenAI CLI IDE) dispatcher.
|
|
136
|
+
*
|
|
137
|
+
* Slice #13 noted Codex's sub-agent tool name is TBD; per slice #009
|
|
138
|
+
* rationale, the dispatcher mirrors Claude Code's shape so the
|
|
139
|
+
* adapter contract stays uniform. Slice 1.3 promotes Codex from
|
|
140
|
+
* `awaitByLlmFallback` to a real `awaitBatch` (file-based polling,
|
|
141
|
+
* Codex default 45s — Codex's documented heartbeat is slightly
|
|
142
|
+
* slower per slice #13 R-3).
|
|
143
|
+
*/
|
|
144
|
+
export const codexSubAgentDispatcher = {
|
|
145
|
+
label: 'codex',
|
|
146
|
+
supportsRole: (role) => role.length > 0,
|
|
147
|
+
buildToolCall: ({ role, prompt, requestId }) => ({
|
|
148
|
+
name: 'Task',
|
|
149
|
+
args: {
|
|
150
|
+
subagent_type: 'general-purpose',
|
|
151
|
+
description: `${role} for rid=${requestId}`,
|
|
152
|
+
prompt,
|
|
153
|
+
},
|
|
154
|
+
toolCallVersion: '2.0.0',
|
|
155
|
+
}),
|
|
156
|
+
awaitBatch: async (input) => pollDispatchRecords(input, {
|
|
157
|
+
ide: 'codex',
|
|
158
|
+
defaultTimeoutMs: 45_000,
|
|
159
|
+
notePrefix: 'codex 1.3 real awaitBatch'
|
|
160
|
+
})
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* Cursor dispatcher. UNVERIFIED — Cursor sub-agent tool name TBD on
|
|
164
|
+
* real dogfood. Byte-level identical to claude-code by design (slice
|
|
165
|
+
* #012 framing).
|
|
166
|
+
*
|
|
167
|
+
* Slice 1.3: real `awaitBatch` — file-based polling, Cursor default
|
|
168
|
+
* 30s.
|
|
169
|
+
*/
|
|
170
|
+
export const cursorSubAgentDispatcher = {
|
|
171
|
+
label: 'cursor',
|
|
172
|
+
supportsRole: (role) => role.length > 0,
|
|
173
|
+
buildToolCall: ({ role, prompt, requestId }) => ({
|
|
174
|
+
name: 'Task',
|
|
175
|
+
args: {
|
|
176
|
+
subagent_type: 'general-purpose',
|
|
177
|
+
description: `${role} for rid=${requestId}`,
|
|
178
|
+
prompt,
|
|
179
|
+
},
|
|
180
|
+
toolCallVersion: '2.0.0',
|
|
181
|
+
}),
|
|
182
|
+
awaitBatch: async (input) => pollDispatchRecords(input, {
|
|
183
|
+
ide: 'cursor',
|
|
184
|
+
defaultTimeoutMs: 30_000,
|
|
185
|
+
notePrefix: 'cursor 1.3 real awaitBatch'
|
|
186
|
+
})
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* Null dispatcher for IDEs that cannot dispatch sub-agents at all
|
|
190
|
+
* (e.g. a CLI-only IDE that has no LLM tool surface). Used as the
|
|
191
|
+
* fallback by future unsupported-IDE adapters. The CLI returns
|
|
192
|
+
* `{ok: false, code: "IDE_NOT_SUPPORTED"}` when the dispatcher's
|
|
193
|
+
* `supportsRole` returns false.
|
|
194
|
+
*/
|
|
195
|
+
export const nullSubAgentDispatcher = {
|
|
196
|
+
label: 'null',
|
|
197
|
+
supportsRole: () => false,
|
|
198
|
+
buildToolCall: ({ role }) => {
|
|
199
|
+
throw new SubAgentNotSupportedError(role);
|
|
200
|
+
},
|
|
201
|
+
// 2.7.0 slice-dag-dispatcher MVP: null dispatcher never supports await either.
|
|
202
|
+
awaitBatch: async ({ batchId }) => {
|
|
203
|
+
throw new SubAgentNotSupportedError(`awaitBatch on batch ${batchId}`);
|
|
204
|
+
},
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Thrown by `nullSubAgentDispatcher.buildToolCall` and any future
|
|
208
|
+
* dispatcher that does not support a given role. The CLI catches
|
|
209
|
+
* this and returns the IDE_NOT_SUPPORTED error envelope.
|
|
210
|
+
*/
|
|
211
|
+
export class SubAgentNotSupportedError extends Error {
|
|
212
|
+
role;
|
|
213
|
+
code = 'IDE_NOT_SUPPORTED';
|
|
214
|
+
constructor(role) {
|
|
215
|
+
super(`Sub-agent dispatch is not supported for role: ${role}`);
|
|
216
|
+
this.role = role;
|
|
217
|
+
this.name = 'SubAgentNotSupportedError';
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/* ──────────────────────────────────────────────────────────────────────────
|
|
221
|
+
* 2.7.0 slice-dag-dispatcher MVP (slice 1.2.a) — awaitBatch implementation
|
|
222
|
+
* ────────────────────────────────────────────────────────────────────────── */
|
|
223
|
+
/**
|
|
224
|
+
* In-process LRU promise queue for claude-code. Keyed by batchId.
|
|
225
|
+
* Populated by `awaitClaudeCodeBatch` callers; consumed by the same.
|
|
226
|
+
* MVP-scope only: 1.3 / 1.4 may replace with cross-process heartbeat polling.
|
|
227
|
+
*/
|
|
228
|
+
const claudeCodeBatchAwaiters = new Map();
|
|
229
|
+
/**
|
|
230
|
+
* Real awaitBatch for claude-code (MVP). In 1.2, dispatch + await are
|
|
231
|
+
* both in the same process; we record the batch size and resolve after
|
|
232
|
+
* `dispatchCount` heartbeats land for the given `recordPaths`, or after
|
|
233
|
+
* `timeoutMs` elapses (per-dispatch `timeout` status).
|
|
234
|
+
*
|
|
235
|
+
* Implementation contract (MVP):
|
|
236
|
+
* - We poll each `recordPaths[i]` for an `outcome: success | failed` or
|
|
237
|
+
* `status: done | failed` field; if absent after `timeoutMs`, that
|
|
238
|
+
* dispatch is reported as `timeout`.
|
|
239
|
+
* - The poll interval is 50ms (fast enough for unit tests, cheap enough
|
|
240
|
+
* for the MVP; the real cross-process version uses heartbeat polling).
|
|
241
|
+
*/
|
|
242
|
+
export async function awaitClaudeCodeBatch(input) {
|
|
243
|
+
// Slice 2026-07-29-dispatch-stall-governance / S4 (G8) — this
|
|
244
|
+
// function is now a thin wrapper around the unified `awaitBatch`
|
|
245
|
+
// service. The back-compat envelope shape is preserved (one
|
|
246
|
+
// `SubAgentBatchResult` per record path) so the S3 characterization
|
|
247
|
+
// test stays green; the underlying loop is identical to the trae /
|
|
248
|
+
// trae-cn / codex / cursor wrappers below. The new typed outcome
|
|
249
|
+
// lives on the unified service; the S4 fail-fast test pins it.
|
|
250
|
+
//
|
|
251
|
+
// Slice 2026-07-30-nightshift: claude-code does NOT use a
|
|
252
|
+
// per-IDE note prefix. The 1.4 dogfood contract says the done
|
|
253
|
+
// note is `null` (raw outcome) and the failed note is the raw
|
|
254
|
+
// `outcome` string with no prefix. The 4 non-Claude IDEs
|
|
255
|
+
// (trae / trae-cn / codex / cursor) prefix the note with their
|
|
256
|
+
// per-IDE label so cross-IDE attribution is visible to the LLM.
|
|
257
|
+
// Passing no `notePrefix` here keeps the legacy contract.
|
|
258
|
+
const unified = await awaitBatchUnified(input.dispatchCount, input.recordPaths, input.timeoutMs, { defaultTimeoutMs: 60_000 });
|
|
259
|
+
// Touch batchId so the parameter remains in scope for any future
|
|
260
|
+
// in-process queue wiring.
|
|
261
|
+
void input.batchId;
|
|
262
|
+
return unified.results;
|
|
263
|
+
}
|
|
264
|
+
/** Best-effort outcome read for a dispatch record. Returns null if pending. */
|
|
265
|
+
function readDispatchOutcome(recordPath) {
|
|
266
|
+
if (!recordPath)
|
|
267
|
+
return null;
|
|
268
|
+
try {
|
|
269
|
+
if (!existsSync(recordPath))
|
|
270
|
+
return null;
|
|
271
|
+
const raw = readFileSync(recordPath, 'utf8');
|
|
272
|
+
const obj = JSON.parse(raw);
|
|
273
|
+
const s = obj.status;
|
|
274
|
+
if (s === 'done' || s === 'success')
|
|
275
|
+
return { status: 'done', note: null };
|
|
276
|
+
if (s === 'failed')
|
|
277
|
+
return { status: 'failed', note: obj.outcome ?? null };
|
|
278
|
+
if (s === 'cancelled')
|
|
279
|
+
return { status: 'cancelled', note: null };
|
|
280
|
+
if (s === 'stale')
|
|
281
|
+
return { status: 'timeout', note: 'stale' };
|
|
282
|
+
return null;
|
|
283
|
+
}
|
|
284
|
+
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
285
|
+
return null;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
export async function pollDispatchRecords(input, opts) {
|
|
289
|
+
// Slice 2026-07-29-dispatch-stall-governance / S4 (G8) — this
|
|
290
|
+
// function is now a thin wrapper around the unified `awaitBatch`
|
|
291
|
+
// service. Pre-S4 it diverged from `awaitClaudeCodeBatch` in
|
|
292
|
+
// (a) the default-fallback source and (b) the `Math.max(deadline, 0)`
|
|
293
|
+
// step; the divergence is gone. The back-compat envelope (one
|
|
294
|
+
// `SubAgentBatchResult` per record path, with the IDE-prefixed
|
|
295
|
+
// note) is preserved.
|
|
296
|
+
const unified = await awaitBatchUnified(input.dispatchCount, input.recordPaths, input.timeoutMs, {
|
|
297
|
+
defaultTimeoutMs: opts.defaultTimeoutMs,
|
|
298
|
+
notePrefix: opts.notePrefix
|
|
299
|
+
});
|
|
300
|
+
return unified.results;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* 1.2 fallback for trae / trae-cn / codex / cursor. Deprecated by
|
|
304
|
+
* slice 1.3 — kept exported for legacy callers + back-compat tests
|
|
305
|
+
* (the 1.2 marker is still a valid envelope shape; the 1.4 dogfood
|
|
306
|
+
* tests can compare the marker note vs the 1.3 real note to verify
|
|
307
|
+
* per-IDE attribution).
|
|
308
|
+
*/
|
|
309
|
+
export async function awaitByLlmFallback(input, ide) {
|
|
310
|
+
const startedAt = Date.now();
|
|
311
|
+
return input.recordPaths.map((p, i) => ({
|
|
312
|
+
dispatchIndex: i,
|
|
313
|
+
recordPath: p,
|
|
314
|
+
status: 'timeout',
|
|
315
|
+
durationMs: 0,
|
|
316
|
+
note: `awaitByLlm: ${ide} 1.2 fallback (real impl in 1.3)`
|
|
317
|
+
}));
|
|
318
|
+
void startedAt;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* In-process awaiter registration hook (used by `peaks sub-agent dispatch`
|
|
322
|
+
* to attach a resolver; not part of the dispatcher public surface).
|
|
323
|
+
* Reserved for slice 1.3 cross-process upgrade.
|
|
324
|
+
*/
|
|
325
|
+
export function registerClaudeCodeAwaiter(batchId, awaiter) {
|
|
326
|
+
claudeCodeBatchAwaiters.set(batchId, awaiter);
|
|
327
|
+
// Soft cap: keep at most 32 batches in memory; drop the oldest.
|
|
328
|
+
if (claudeCodeBatchAwaiters.size > 32) {
|
|
329
|
+
const oldest = claudeCodeBatchAwaiters.keys().next().value;
|
|
330
|
+
if (oldest !== undefined)
|
|
331
|
+
claudeCodeBatchAwaiters.delete(oldest);
|
|
332
|
+
}
|
|
333
|
+
}
|