peaks-loop 4.0.53 → 4.1.0
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 +85 -0
- package/README-en.md +16 -1
- package/README.md +15 -1
- package/config/eslint/.peaks-rules.cjs +158 -13
- package/config/eslint/tsconfig.lint.json +47 -0
- package/dist/cli/cli-envelope.d.ts +114 -0
- package/dist/cli/cli-envelope.js +85 -0
- package/dist/cli/cli-helpers.d.ts +1 -1
- package/dist/cli/cli-helpers.js +8 -4
- package/dist/cli/commands/_cli-error-envelope.js +1 -1
- package/dist/cli/commands/_register.js +85 -38
- package/dist/cli/commands/_super.js +40 -7
- package/dist/cli/commands/adapter-commands-s2a.js +8 -7
- package/dist/cli/commands/adapter-commands.d.ts +2 -2
- package/dist/cli/commands/adapter-commands.js +7 -8
- package/dist/cli/commands/api-diff-commands.js +5 -4
- package/dist/cli/commands/asset-commands.d.ts +2 -2
- package/dist/cli/commands/asset-commands.js +135 -132
- package/dist/cli/commands/audit-commands.d.ts +1 -1
- package/dist/cli/commands/audit-commands.js +75 -32
- package/dist/cli/commands/autonomous-swarm-commands.d.ts +1 -1
- package/dist/cli/commands/autonomous-swarm-commands.js +14 -8
- package/dist/cli/commands/baseline-commands.js +34 -9
- package/dist/cli/commands/bee-commands.d.ts +1 -1
- package/dist/cli/commands/bee-commands.js +18 -21
- package/dist/cli/commands/best-practice-scan-command.js +6 -34
- package/dist/cli/commands/best-practice-scan-helpers.d.ts +12 -0
- package/dist/cli/commands/best-practice-scan-helpers.js +37 -0
- package/dist/cli/commands/capability-commands.d.ts +1 -1
- package/dist/cli/commands/capability-commands.js +14 -4
- package/dist/cli/commands/capability-worker-config-sc-commands.d.ts +1 -1
- package/dist/cli/commands/changeset-commands.js +21 -18
- package/dist/cli/commands/code-gate-command.js +9 -2
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +15 -0
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +70 -0
- package/dist/cli/commands/code-job-shape-commands.js +21 -45
- package/dist/cli/commands/code-mode-gate-commands.d.ts +15 -1
- package/dist/cli/commands/code-mode-gate-commands.js +19 -199
- package/dist/cli/commands/code-mode-gate-plan-command.d.ts +14 -0
- package/dist/cli/commands/code-mode-gate-plan-command.js +23 -0
- package/dist/cli/commands/code-mode-gate-should-pause-command.d.ts +24 -0
- package/dist/cli/commands/code-mode-gate-should-pause-command.js +137 -0
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +59 -0
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +144 -0
- package/dist/cli/commands/code-orchestrator-can-do.js +4 -4
- package/dist/cli/commands/code-review-commands.js +18 -3
- package/dist/cli/commands/code-run-command.js +44 -7
- package/dist/cli/commands/code-runtime-commands.d.ts +17 -0
- package/dist/cli/commands/code-runtime-commands.js +105 -73
- package/dist/cli/commands/codegraph-commands.js +175 -11
- package/dist/cli/commands/codegraph-status-command.js +6 -2
- package/dist/cli/commands/compact-command.js +52 -26
- package/dist/cli/commands/complexity-commands.js +6 -7
- package/dist/cli/commands/config-commands.d.ts +1 -1
- package/dist/cli/commands/config-commands.js +33 -9
- package/dist/cli/commands/container-commands.js +39 -15
- package/dist/cli/commands/context-commands.d.ts +1 -1
- package/dist/cli/commands/context-commands.js +40 -13
- package/dist/cli/commands/core/artifacts-command.js +11 -3
- package/dist/cli/commands/core/binding-commands.js +9 -6
- package/dist/cli/commands/core/doctor-command.js +7 -4
- package/dist/cli/commands/core/memory-command.js +81 -22
- package/dist/cli/commands/core/proxy-command.js +3 -1
- package/dist/cli/commands/core/session-command.js +16 -8
- package/dist/cli/commands/core/skill-command.js +31 -16
- package/dist/cli/commands/core/standards-command.js +55 -13
- package/dist/cli/commands/cron-commands-actions.d.ts +43 -0
- package/dist/cli/commands/cron-commands-actions.js +128 -0
- package/dist/cli/commands/cron-commands-schedule.d.ts +86 -0
- package/dist/cli/commands/cron-commands-schedule.js +151 -0
- package/dist/cli/commands/cron-commands.d.ts +35 -32
- package/dist/cli/commands/cron-commands.js +167 -211
- package/dist/cli/commands/cron-scheduler-commands.js +40 -20
- package/dist/cli/commands/cron-scheduler-persist.d.ts +110 -0
- package/dist/cli/commands/cron-scheduler-persist.js +171 -0
- package/dist/cli/commands/dashboard-long-run.js +45 -14
- package/dist/cli/commands/dashboard-summary.js +15 -5
- package/dist/cli/commands/dispatch-commands.js +69 -34
- package/dist/cli/commands/dispatch-from-dag.js +9 -10
- package/dist/cli/commands/doc-commands.js +8 -9
- package/dist/cli/commands/doctor/invoke-from-code.js +1 -1
- package/dist/cli/commands/e2e-verify-env.d.ts +19 -0
- package/dist/cli/commands/e2e-verify-env.js +19 -0
- package/dist/cli/commands/e2e-verify.d.ts +3 -14
- package/dist/cli/commands/e2e-verify.js +49 -29
- package/dist/cli/commands/ecc-commands.d.ts +1 -1
- package/dist/cli/commands/ecc-commands.js +8 -17
- package/dist/cli/commands/evidence-commands.js +10 -6
- package/dist/cli/commands/evolution-commands.d.ts +2 -2
- package/dist/cli/commands/evolution-commands.js +109 -115
- package/dist/cli/commands/feedback-commands-helpers.d.ts +22 -0
- package/dist/cli/commands/feedback-commands-helpers.js +33 -0
- package/dist/cli/commands/feedback-commands.js +15 -38
- package/dist/cli/commands/final-review-commands.d.ts +1 -1
- package/dist/cli/commands/final-review-commands.js +24 -22
- package/dist/cli/commands/fixture-commands.d.ts +1 -1
- package/dist/cli/commands/fixture-commands.js +17 -6
- package/dist/cli/commands/fork-commands-sync-verify.d.ts +12 -0
- package/dist/cli/commands/fork-commands-sync-verify.js +72 -0
- package/dist/cli/commands/fork-commands.js +19 -51
- package/dist/cli/commands/fresh-context-commands.js +3 -1
- package/dist/cli/commands/gate-commands-enforce.d.ts +82 -0
- package/dist/cli/commands/gate-commands-enforce.js +210 -0
- package/dist/cli/commands/gate-commands.d.ts +1 -1
- package/dist/cli/commands/gate-commands.js +85 -205
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +1 -1
- package/dist/cli/commands/governance-classify-contract-commands.js +28 -17
- package/dist/cli/commands/heartbeat-commands-action.d.ts +7 -0
- package/dist/cli/commands/heartbeat-commands-action.js +192 -0
- package/dist/cli/commands/heartbeat-commands-validation.d.ts +57 -0
- package/dist/cli/commands/heartbeat-commands-validation.js +120 -0
- package/dist/cli/commands/heartbeat-commands.d.ts +27 -6
- package/dist/cli/commands/heartbeat-commands.js +19 -198
- package/dist/cli/commands/hook-handle.d.ts +1 -1
- package/dist/cli/commands/hook-handle.js +46 -13
- package/dist/cli/commands/hooks-commands.d.ts +1 -1
- package/dist/cli/commands/hooks-commands.js +18 -6
- package/dist/cli/commands/ide-commands.d.ts +1 -1
- package/dist/cli/commands/ide-commands.js +5 -3
- package/dist/cli/commands/impact-commands.js +8 -2
- package/dist/cli/commands/job-add-slice-command.d.ts +43 -0
- package/dist/cli/commands/job-add-slice-command.js +151 -0
- package/dist/cli/commands/job-commands.d.ts +64 -0
- package/dist/cli/commands/job-commands.js +134 -63
- package/dist/cli/commands/lease-metrics-commands-support.d.ts +73 -0
- package/dist/cli/commands/lease-metrics-commands-support.js +67 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +3 -44
- package/dist/cli/commands/lease-metrics-commands.js +21 -61
- package/dist/cli/commands/lease-stats-commands.d.ts +1 -1
- package/dist/cli/commands/lease-stats-commands.js +9 -6
- package/dist/cli/commands/lint-commands.d.ts +9 -3
- package/dist/cli/commands/lint-commands.js +15 -8
- package/dist/cli/commands/log-commands.d.ts +1 -1
- package/dist/cli/commands/log-commands.js +8 -6
- package/dist/cli/commands/loop-commands.d.ts +1 -1
- package/dist/cli/commands/loop-commands.js +50 -50
- package/dist/cli/commands/loop-eval-commands.d.ts +1 -1
- package/dist/cli/commands/loop-eval-commands.js +101 -30
- package/dist/cli/commands/memory-commands.js +21 -13
- package/dist/cli/commands/migrate-1-4-1-command.js +1 -1
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +2 -2
- package/dist/cli/commands/mut-commands-helpers.d.ts +30 -0
- package/dist/cli/commands/mut-commands-helpers.js +43 -0
- package/dist/cli/commands/mut-commands.js +16 -58
- package/dist/cli/commands/observability-commands-queries.d.ts +37 -0
- package/dist/cli/commands/observability-commands-queries.js +113 -0
- package/dist/cli/commands/observability-commands.d.ts +1 -1
- package/dist/cli/commands/observability-commands.js +7 -92
- package/dist/cli/commands/openspec-commands.d.ts +1 -1
- package/dist/cli/commands/openspec-commands.js +20 -8
- package/dist/cli/commands/outer-cache-commands.js +18 -7
- package/dist/cli/commands/perf-audit-commands.d.ts +1 -1
- package/dist/cli/commands/perf-audit-commands.js +12 -7
- package/dist/cli/commands/perf-commands.d.ts +1 -1
- package/dist/cli/commands/perf-commands.js +5 -5
- package/dist/cli/commands/playwright-commands.d.ts +1 -1
- package/dist/cli/commands/playwright-commands.js +20 -8
- package/dist/cli/commands/polyrepo-commands.js +21 -19
- package/dist/cli/commands/prd-blocks-commands.js +1 -3
- package/dist/cli/commands/prd-commands.d.ts +1 -1
- package/dist/cli/commands/prd-commands.js +21 -2
- package/dist/cli/commands/preferences-commands.js +13 -12
- package/dist/cli/commands/primer-command.js +5 -5
- package/dist/cli/commands/project-commands.d.ts +1 -1
- package/dist/cli/commands/project-commands.js +33 -9
- package/dist/cli/commands/qa-business-review-commands.js +16 -12
- package/dist/cli/commands/qa-commands.d.ts +1 -1
- package/dist/cli/commands/qa-commands.js +3 -5
- package/dist/cli/commands/release-commands.d.ts +3 -1
- package/dist/cli/commands/release-commands.js +33 -22
- package/dist/cli/commands/request-commands.js +47 -30
- package/dist/cli/commands/request-format-helpers.js +1 -1
- package/dist/cli/commands/retrospective-commands.d.ts +18 -11
- package/dist/cli/commands/retrospective-commands.js +24 -173
- package/dist/cli/commands/retrospective-index-command.d.ts +26 -0
- package/dist/cli/commands/retrospective-index-command.js +99 -0
- package/dist/cli/commands/retrospective-project-root.d.ts +9 -0
- package/dist/cli/commands/retrospective-project-root.js +15 -0
- package/dist/cli/commands/retrospective-search-command.d.ts +27 -0
- package/dist/cli/commands/retrospective-search-command.js +97 -0
- package/dist/cli/commands/retrospective-show-command.d.ts +23 -0
- package/dist/cli/commands/retrospective-show-command.js +80 -0
- package/dist/cli/commands/reviewer-commands.d.ts +1 -1
- package/dist/cli/commands/role-commands.js +14 -9
- package/dist/cli/commands/runtime-commands.js +14 -7
- package/dist/cli/commands/sc-commands.d.ts +1 -1
- package/dist/cli/commands/sc-commands.js +39 -6
- package/dist/cli/commands/scan-commands.js +36 -13
- package/dist/cli/commands/security-audit-commands.d.ts +1 -1
- package/dist/cli/commands/security-audit-commands.js +12 -7
- package/dist/cli/commands/sediment-commands.d.ts +2 -2
- package/dist/cli/commands/sediment-commands.js +146 -139
- package/dist/cli/commands/session-24h-mode.js +15 -2
- package/dist/cli/commands/session-checkpoint-command.js +1 -1
- package/dist/cli/commands/session-migrate-skill-name.js +1 -1
- package/dist/cli/commands/shadcn-commands.d.ts +1 -1
- package/dist/cli/commands/shadcn-commands.js +3 -1
- package/dist/cli/commands/share-commands.js +38 -39
- package/dist/cli/commands/skill-conformance-commands.d.ts +1 -1
- package/dist/cli/commands/skill-conformance-commands.js +1 -1
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +16 -17
- package/dist/cli/commands/skill-visibility.js +2 -2
- package/dist/cli/commands/slice-commands.d.ts +1 -1
- package/dist/cli/commands/slice-commands.js +36 -12
- package/dist/cli/commands/slice-integrate-commands.js +6 -7
- package/dist/cli/commands/slice-review-commands-helpers.d.ts +26 -0
- package/dist/cli/commands/slice-review-commands-helpers.js +26 -0
- package/dist/cli/commands/slice-review-commands.js +16 -24
- package/dist/cli/commands/smoke-commands-add-path.d.ts +14 -0
- package/dist/cli/commands/smoke-commands-add-path.js +39 -0
- package/dist/cli/commands/smoke-commands-define.d.ts +18 -0
- package/dist/cli/commands/smoke-commands-define.js +97 -0
- package/dist/cli/commands/smoke-commands-run.d.ts +18 -0
- package/dist/cli/commands/smoke-commands-run.js +119 -0
- package/dist/cli/commands/smoke-commands.d.ts +10 -1
- package/dist/cli/commands/smoke-commands.js +17 -179
- package/dist/cli/commands/sop-commands.d.ts +1 -1
- package/dist/cli/commands/sop-commands.js +38 -10
- package/dist/cli/commands/statusline-commands.d.ts +1 -1
- package/dist/cli/commands/statusline-commands.js +21 -10
- package/dist/cli/commands/sub-agent/detached.js +3 -3
- package/dist/cli/commands/sub-agent-dispatch-guard.d.ts +1 -1
- package/dist/cli/commands/sub-agent-shared.d.ts +23 -0
- package/dist/cli/commands/sub-agent-shared.js +40 -1
- package/dist/cli/commands/sub-agent-shutdown-commands.js +17 -9
- package/dist/cli/commands/swarm-commands.d.ts +1 -1
- package/dist/cli/commands/swarm-commands.js +13 -6
- package/dist/cli/commands/tech-commands-helpers.d.ts +37 -0
- package/dist/cli/commands/tech-commands-helpers.js +24 -0
- package/dist/cli/commands/tech-commands.d.ts +2 -29
- package/dist/cli/commands/tech-commands.js +15 -28
- package/dist/cli/commands/test-commands.js +27 -7
- package/dist/cli/commands/upgrade-commands.d.ts +1 -1
- package/dist/cli/commands/user-touchpoint-commands.js +1 -3
- package/dist/cli/commands/verdict-aggregate-command.d.ts +1 -1
- package/dist/cli/commands/verdict-aggregate-command.js +20 -7
- package/dist/cli/commands/vm-commands.js +48 -19
- package/dist/cli/commands/wave-plan-commands.js +5 -2
- package/dist/cli/commands/web-commands.js +14 -4
- package/dist/cli/commands/web-lifecycle-commands.js +5 -3
- package/dist/cli/commands/workflow-commands.d.ts +1 -1
- package/dist/cli/commands/workflow-commands.js +64 -29
- package/dist/cli/commands/workflow-lifecycle-commands.js +19 -17
- package/dist/cli/commands/workflow-plan-commands-actions.d.ts +20 -0
- package/dist/cli/commands/workflow-plan-commands-actions.js +115 -0
- package/dist/cli/commands/workflow-plan-commands-session.d.ts +17 -0
- package/dist/cli/commands/workflow-plan-commands-session.js +59 -0
- package/dist/cli/commands/workflow-plan-commands.d.ts +10 -21
- package/dist/cli/commands/workflow-plan-commands.js +15 -141
- package/dist/cli/commands/workspace/clean-command.js +4 -1
- package/dist/cli/commands/workspace/helpers.js +2 -1
- package/dist/cli/commands/workspace/init-command.js +80 -20
- package/dist/cli/commands/workspace/reconcile-command.js +3 -1
- package/dist/cli/commands/workspace-commands.d.ts +1 -1
- package/dist/cli/commands/workspace-commands.js +1 -1
- package/dist/cli/commands/worktree-auth-commands.d.ts +1 -1
- package/dist/cli/commands/worktree-auth-commands.js +16 -169
- package/dist/cli/commands/worktree-auth-grant-command.d.ts +14 -0
- package/dist/cli/commands/worktree-auth-grant-command.js +118 -0
- package/dist/cli/commands/worktree-auth-manage-commands.d.ts +17 -0
- package/dist/cli/commands/worktree-auth-manage-commands.js +128 -0
- package/dist/cli/commands/worktree-lease-commands.d.ts +1 -1
- package/dist/cli/commands/worktree-lease-commands.js +65 -37
- package/dist/cli/index.js +6 -2
- package/dist/cli/program.js +6 -3
- package/dist/hooks/pre-tool-use-sub-agent.js +1 -6
- package/dist/reporters/bdd-reporter.js +9 -3
- package/dist/services/24h-mode/auto-engage.d.ts +19 -0
- package/dist/services/24h-mode/auto-engage.js +35 -0
- package/dist/services/24h-mode/decider.js +5 -1
- package/dist/services/24h-mode/store.js +4 -2
- package/dist/services/adapter/adapter-registry.js +20 -8
- package/dist/services/adapter/adapter.d.ts +2 -2
- package/dist/services/adapter/auto-adapter.d.ts +2 -2
- package/dist/services/adapter/auto-adapter.js +1 -1
- package/dist/services/adapter/claude-adapter.d.ts +1 -1
- package/dist/services/adapter/claude-adapter.js +8 -8
- package/dist/services/adapter/codex-adapter.d.ts +2 -2
- package/dist/services/adapter/codex-adapter.js +20 -8
- package/dist/services/adapter/copilot-adapter.d.ts +2 -2
- package/dist/services/adapter/copilot-adapter.js +20 -8
- package/dist/services/artifacts/artifact-prerequisites.js +44 -8
- package/dist/services/artifacts/artifact-service.js +3 -1
- package/dist/services/artifacts/artifact-template-bodies.d.ts +12 -0
- package/dist/services/artifacts/artifact-template-bodies.js +165 -0
- package/dist/services/artifacts/artifact-templates.js +26 -168
- package/dist/services/artifacts/request-artifact-service.js +14 -7
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +3 -2
- package/dist/services/artifacts/request-artifact-state-helpers.js +3 -5
- package/dist/services/artifacts/workspace-artifact-helpers.d.ts +28 -0
- package/dist/services/artifacts/workspace-artifact-helpers.js +54 -0
- package/dist/services/artifacts/workspace-service.d.ts +3 -22
- package/dist/services/artifacts/workspace-service.js +10 -60
- package/dist/services/audit/artifact-writer.js +21 -21
- package/dist/services/audit/audit-goal-service.js +2 -2
- package/dist/services/audit/backing-detector.js +7 -4
- package/dist/services/audit/classifier.js +3 -3
- package/dist/services/audit/decision-writer.js +13 -9
- package/dist/services/audit/enforcer-liveness.js +1 -1
- package/dist/services/audit/enforcers/active-skill-resolver.js +15 -7
- package/dist/services/audit/enforcers/design-draft-confirm.js +4 -4
- package/dist/services/audit/enforcers/lint-audit-regression.js +10 -5
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +16 -8
- package/dist/services/audit/enforcers/lint-catalog-governance.js +8 -4
- package/dist/services/audit/enforcers/lint-output-style.js +4 -2
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +8 -3
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +8 -3
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +20 -20
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +5 -5
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +1 -1
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +5 -5
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +10 -10
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +10 -8
- package/dist/services/audit/enforcers/lint-reference-shape.js +50 -18
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +5 -5
- package/dist/services/audit/enforcers/lint-style.js +44 -11
- package/dist/services/audit/enforcers/lint-workflow-shape.js +4 -2
- package/dist/services/audit/enforcers/login-gate.js +2 -6
- package/dist/services/audit/enforcers/mock-placement.js +2 -2
- package/dist/services/audit/enforcers/no-root-pollution.js +38 -9
- package/dist/services/audit/enforcers/pre-rd-scan.js +1 -1
- package/dist/services/audit/enforcers/prototype-fidelity.js +1 -1
- package/dist/services/audit/enforcers/resume-detection.js +5 -4
- package/dist/services/audit/prose-ratio-calculator.js +1 -1
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +39 -0
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.js +205 -0
- package/dist/services/audit/red-line-catalog-p2-a-lint-style.d.ts +52 -0
- package/dist/services/audit/red-line-catalog-p2-a-lint-style.js +205 -0
- package/dist/services/audit/red-line-catalog-p2-a.js +3 -374
- package/dist/services/audit/red-line-catalog-p2-b.js +26 -26
- package/dist/services/audit/red-line-catalog.js +26 -38
- package/dist/services/audit/red-lines-service.js +64 -49
- package/dist/services/audit/scanners/openspec-scanner.js +2 -2
- package/dist/services/audit/scanners/rules-tree-scanner.js +2 -2
- package/dist/services/audit/scanners/skills-tree-scanner.js +2 -2
- package/dist/services/audit/static-service.js +3 -3
- package/dist/services/audit-independent/index.d.ts +2 -2
- package/dist/services/audit-independent/index.js +2 -2
- package/dist/services/audit-independent/perf-audit-service.js +19 -8
- package/dist/services/audit-independent/security-audit-service.js +31 -16
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +75 -46
- package/dist/services/best-practice/output-formatter.js +7 -1
- package/dist/services/capability-audit-service/cross-check.js +11 -5
- package/dist/services/capability-audit-service/runner.js +15 -7
- package/dist/services/capability-baseline/store.js +16 -4
- package/dist/services/capability-baseline/types.js +15 -3
- package/dist/services/capability-baseline/validator.js +43 -7
- package/dist/services/capability-guard-runner/contracts/J02.js +36 -6
- package/dist/services/capability-guard-runner/contracts/J03.js +20 -11
- package/dist/services/capability-guard-runner/contracts/J04.js +24 -15
- package/dist/services/capability-guard-runner/contracts/J05.js +26 -10
- package/dist/services/capability-guard-runner/contracts/J07.js +8 -2
- package/dist/services/capability-guard-runner/contracts/J08.js +22 -5
- package/dist/services/capability-guard-runner/contracts/J10.js +6 -2
- package/dist/services/capability-guard-runner/contracts/J11.d.ts +5 -0
- package/dist/services/capability-guard-runner/contracts/J11.js +14 -2
- package/dist/services/capability-guard-runner/contracts/J12.js +12 -3
- package/dist/services/capability-guard-runner/diff.js +1 -5
- package/dist/services/changeset/changeset-check-service.js +1 -3
- package/dist/services/classify/classify-service.js +20 -8
- package/dist/services/classify/classify-types.js +22 -9
- package/dist/services/code/auto-compact-lifecycle.js +62 -39
- package/dist/services/code/auto-compact-modes.js +2 -2
- package/dist/services/code/auto-compact-orchestrator.js +14 -9
- package/dist/services/code/batch-heartbeat-poller.d.ts +10 -0
- package/dist/services/code/batch-heartbeat-poller.js +17 -1
- package/dist/services/code/compact-event-settle-types.d.ts +80 -0
- package/dist/services/code/compact-event-settle-types.js +20 -0
- package/dist/services/code/compact-event-settle.d.ts +3 -68
- package/dist/services/code/compact-event-settle.js +14 -10
- package/dist/services/code/dag-orchestrator.js +32 -26
- package/dist/services/code/job-shape-decision.js +3 -1
- package/dist/services/code/mode-gate-types.d.ts +57 -0
- package/dist/services/code/mode-gate-types.js +67 -0
- package/dist/services/code/mode-gate.d.ts +4 -58
- package/dist/services/code/mode-gate.js +24 -60
- package/dist/services/code/orchestrator-can-do-advisories.d.ts +30 -0
- package/dist/services/code/orchestrator-can-do-advisories.js +81 -0
- package/dist/services/code/orchestrator-can-do-probes.d.ts +30 -0
- package/dist/services/code/orchestrator-can-do-probes.js +77 -0
- package/dist/services/code/orchestrator-can-do.d.ts +11 -22
- package/dist/services/code/orchestrator-can-do.js +37 -137
- package/dist/services/code/post-compact-checkpoint.d.ts +28 -0
- package/dist/services/code/post-compact-checkpoint.js +57 -0
- package/dist/services/code/post-compact-detector.js +16 -48
- package/dist/services/code/step-08-gate.d.ts +4 -3
- package/dist/services/code/step-08-gate.js +21 -9
- package/dist/services/code-review/ecc-bridge.js +23 -23
- package/dist/services/codegraph/codegraph-autorefresh.js +56 -39
- package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +44 -0
- package/dist/services/codegraph/codegraph-config-repair-writer.js +116 -14
- package/dist/services/codegraph/codegraph-exclude-integrity.js +4 -1
- package/dist/services/codegraph/codegraph-exclude-repair.d.ts +23 -1
- package/dist/services/codegraph/codegraph-exclude-repair.js +7 -2
- package/dist/services/codegraph/codegraph-index-integrity.js +1 -1
- package/dist/services/codegraph/codegraph-preflight-service.d.ts +3 -26
- package/dist/services/codegraph/codegraph-preflight-service.js +16 -37
- package/dist/services/codegraph/codegraph-preflight-structure.d.ts +32 -0
- package/dist/services/codegraph/codegraph-preflight-structure.js +33 -0
- package/dist/services/codegraph/codegraph-process-runner.js +12 -1
- package/dist/services/codegraph/codegraph-service.js +9 -1
- package/dist/services/compact/request-transition-hook.js +2 -1
- package/dist/services/compact/suggest-service.d.ts +3 -61
- package/dist/services/compact/suggest-service.js +9 -12
- package/dist/services/compact/suggest-types.d.ts +76 -0
- package/dist/services/compact/suggest-types.js +10 -0
- package/dist/services/compact-history/compact-history-service.js +2 -2
- package/dist/services/compact-statusline/compact-lifecycle-store.d.ts +2 -32
- package/dist/services/compact-statusline/compact-lifecycle-store.js +7 -12
- package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +32 -0
- package/dist/services/compact-statusline/compact-lifecycle-types.js +8 -0
- package/dist/services/compact-statusline/compact-statusline-cell-table.d.ts +42 -0
- package/dist/services/compact-statusline/compact-statusline-cell-table.js +63 -0
- package/dist/services/compact-statusline/compact-statusline-service.d.ts +4 -21
- package/dist/services/compact-statusline/compact-statusline-service.js +9 -101
- package/dist/services/compact-statusline/compact-statusline-state.d.ts +4 -0
- package/dist/services/compact-statusline/compact-statusline-state.js +50 -0
- package/dist/services/config/config-migration.js +2 -2
- package/dist/services/config/config-restore.js +1 -1
- package/dist/services/config/config-rollback.js +1 -1
- package/dist/services/config/config-safety.js +28 -10
- package/dist/services/config/config-service.js +114 -31
- package/dist/services/config/model-routing.js +5 -2
- package/dist/services/config/proxy-service.js +6 -1
- package/dist/services/config/workspace-state-service.js +17 -5
- package/dist/services/context/auto-compact-dispatcher-input.d.ts +38 -0
- package/dist/services/context/auto-compact-dispatcher-input.js +9 -0
- package/dist/services/context/auto-compact-dispatcher.d.ts +2 -30
- package/dist/services/context/auto-compact-reader-input.d.ts +30 -0
- package/dist/services/context/auto-compact-reader-input.js +8 -0
- package/dist/services/context/auto-compact-reader.d.ts +2 -24
- package/dist/services/context/auto-compact-reader.js +4 -1
- package/dist/services/context/auto-compact-thresholds.d.ts +54 -0
- package/dist/services/context/auto-compact-thresholds.js +19 -0
- package/dist/services/context/auto-compact-types.d.ts +2 -46
- package/dist/services/context/auto-compact-types.js +1 -11
- package/dist/services/context/build-dispatch-system-prompt.js +2 -2
- package/dist/services/context/collector.js +8 -10
- package/dist/services/context/context-audit-hint.js +7 -5
- package/dist/services/context/context-audit-keys.d.ts +15 -0
- package/dist/services/context/context-audit-keys.js +77 -0
- package/dist/services/context/context-audit-limits.d.ts +20 -0
- package/dist/services/context/context-audit-limits.js +31 -0
- package/dist/services/context/context-audit-scan.d.ts +19 -0
- package/dist/services/context/context-audit-scan.js +246 -0
- package/dist/services/context/context-audit-types.d.ts +65 -0
- package/dist/services/context/context-audit-types.js +10 -0
- package/dist/services/context/context-audit.d.ts +13 -59
- package/dist/services/context/context-audit.js +38 -254
- package/dist/services/context/context-builder.js +4 -4
- package/dist/services/context/context-schema.d.ts +1 -1
- package/dist/services/context/context-schema.js +13 -13
- package/dist/services/context/doc-retriever.js +2 -2
- package/dist/services/context/harness-context-witness.js +43 -24
- package/dist/services/context/harness-window-config.js +27 -7
- package/dist/services/context/ide-detect.js +2 -1
- package/dist/services/context/index.d.ts +1 -1
- package/dist/services/context/memory-index-reader.js +3 -9
- package/dist/services/context/memory-preflight-config.js +3 -5
- package/dist/services/context/memory-preflight-service.d.ts +2 -20
- package/dist/services/context/memory-preflight-service.js +37 -68
- package/dist/services/context/memory-preflight-support.d.ts +48 -0
- package/dist/services/context/memory-preflight-support.js +56 -0
- package/dist/services/context/post-compact-reinjection.js +3 -3
- package/dist/services/context/renderer.js +7 -3
- package/dist/services/context/spillover-store.js +3 -1
- package/dist/services/context/summary-view.js +1 -1
- package/dist/services/context/threshold.js +2 -2
- package/dist/services/context/tokenizer.js +3 -3
- package/dist/services/crystallization/crystallization-brief-schema.d.ts +80 -0
- package/dist/services/crystallization/crystallization-brief-schema.js +159 -0
- package/dist/services/crystallization/crystallization-service.d.ts +7 -7
- package/dist/services/crystallization/crystallization-service.js +56 -55
- package/dist/services/crystallization/crystallization-store.d.ts +2 -2
- package/dist/services/crystallization/crystallization-store.js +37 -20
- package/dist/services/crystallization/crystallization-types.d.ts +4 -56
- package/dist/services/crystallization/crystallization-types.js +31 -184
- package/dist/services/crystallization/evidence-brief-builder.d.ts +3 -3
- package/dist/services/crystallization/evidence-brief-builder.js +32 -38
- package/dist/services/crystallization/index.d.ts +4 -4
- package/dist/services/crystallization/index.js +4 -4
- package/dist/services/dashboard/project-dashboard-service.js +7 -1
- package/dist/services/dispatch/await-batch-helpers.d.ts +55 -0
- package/dist/services/dispatch/await-batch-helpers.js +206 -0
- package/dist/services/dispatch/await-batch.d.ts +50 -7
- package/dist/services/dispatch/await-batch.js +97 -194
- package/dist/services/dispatch/batch-counter.js +2 -1
- package/dist/services/dispatch/conflict-replay.js +2 -2
- package/dist/services/dispatch/contract-store.js +5 -2
- package/dist/services/dispatch/dispatch-record-input-types.d.ts +81 -0
- package/dist/services/dispatch/dispatch-record-input-types.js +1 -0
- package/dist/services/dispatch/dispatch-record-types.d.ts +6 -73
- package/dist/services/dispatch/dispatch-record-upgrade-fields.d.ts +72 -0
- package/dist/services/dispatch/dispatch-record-upgrade-fields.js +242 -0
- package/dist/services/dispatch/dispatch-record-upgrade-guards.d.ts +15 -0
- package/dist/services/dispatch/dispatch-record-upgrade-guards.js +55 -0
- package/dist/services/dispatch/dispatch-record-upgrade.d.ts +2 -4
- package/dist/services/dispatch/dispatch-record-upgrade.js +21 -213
- package/dist/services/dispatch/dispatch-record-writer.js +54 -26
- package/dist/services/dispatch/dispatch-sub-agent.js +7 -2
- package/dist/services/dispatch/e2e-fixtures.js +1 -1
- package/dist/services/dispatch/isolation-lease.js +39 -17
- package/dist/services/dispatch/merge-back-runner.js +51 -11
- package/dist/services/dispatch/service-shutdown.js +4 -1
- package/dist/services/dispatch/slice-dag-types.d.ts +116 -0
- package/dist/services/dispatch/slice-dag-types.js +41 -0
- package/dist/services/dispatch/slice-dag.d.ts +3 -109
- package/dist/services/dispatch/slice-dag.js +13 -36
- package/dist/services/dispatch/sub-agent-batch-await.d.ts +47 -0
- package/dist/services/dispatch/sub-agent-batch-await.js +73 -0
- package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +122 -0
- package/dist/services/dispatch/sub-agent-dispatcher-types.js +12 -0
- package/dist/services/dispatch/sub-agent-dispatcher.d.ts +3 -145
- package/dist/services/dispatch/sub-agent-dispatcher.js +14 -70
- package/dist/services/dispatch/test-tool-detection.js +12 -1
- package/dist/services/doc/doc-generator.js +19 -4
- package/dist/services/doctor/doctor-service/checks/check-id-schema.js +16 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +7 -2
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +26 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-exclude-integrity.js +16 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +16 -8
- package/dist/services/doctor/doctor-service/checks/dist-source-version.js +18 -9
- package/dist/services/doctor/doctor-service/checks/ecc-hooks-schema-drift.js +20 -10
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +18 -9
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +25 -11
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +12 -6
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +7 -16
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +50 -70
- package/dist/services/doctor/doctor-service/checks/schema-validity.js +5 -1
- package/dist/services/doctor/doctor-service/checks/skill-presence.js +4 -2
- package/dist/services/doctor/doctor-service/checks/statusline-install.js +8 -4
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +8 -4
- package/dist/services/doctor/doctor-service/checks/user-config.js +4 -2
- package/dist/services/doctor/doctor-service/checks/workspace-init.js +8 -4
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +19 -11
- package/dist/services/doctor/doctor-service/index.js +4 -2
- package/dist/services/doctor/doctor-service/multi-binary-drift-helpers.d.ts +40 -0
- package/dist/services/doctor/doctor-service/multi-binary-drift-helpers.js +49 -0
- package/dist/services/doctor/doctor-service/plugin-registry.js +1 -1
- package/dist/services/doctor/doctor-service/probe-types.d.ts +210 -0
- package/dist/services/doctor/doctor-service/probe-types.js +14 -0
- package/dist/services/doctor/doctor-service/types.d.ts +7 -197
- package/dist/services/doctor/index.d.ts +1 -1
- package/dist/services/doctor/index.js +1 -1
- package/dist/services/env/shell-probe.js +8 -2
- package/dist/services/evidence/evidence-body-builders.d.ts +23 -0
- package/dist/services/evidence/evidence-body-builders.js +197 -0
- package/dist/services/evidence/evidence-generator.js +16 -189
- package/dist/services/evolution/evolution-constraints.d.ts +43 -0
- package/dist/services/evolution/evolution-constraints.js +54 -0
- package/dist/services/evolution/evolution-evaluation-schema.d.ts +43 -0
- package/dist/services/evolution/evolution-evaluation-schema.js +43 -0
- package/dist/services/evolution/evolution-service.d.ts +6 -6
- package/dist/services/evolution/evolution-service.js +58 -58
- package/dist/services/evolution/evolution-store.d.ts +2 -2
- package/dist/services/evolution/evolution-store.js +37 -51
- package/dist/services/evolution/evolution-types.d.ts +2 -22
- package/dist/services/evolution/evolution-types.js +41 -101
- package/dist/services/evolution/independent-evaluator-runner.d.ts +3 -3
- package/dist/services/evolution/independent-evaluator-runner.js +20 -22
- package/dist/services/evolution/regression-skeptic-runner.d.ts +2 -2
- package/dist/services/evolution/regression-skeptic-runner.js +18 -18
- package/dist/services/feedback/feedback-promotion-service.js +48 -12
- package/dist/services/feedback/promotion-artifact-evidence.d.ts +2 -16
- package/dist/services/feedback/promotion-artifact-evidence.js +6 -83
- package/dist/services/feedback/promotion-artifact-json-evidence.d.ts +29 -0
- package/dist/services/feedback/promotion-artifact-json-evidence.js +39 -0
- package/dist/services/feedback/promotion-source-comments.d.ts +47 -0
- package/dist/services/feedback/promotion-source-comments.js +61 -0
- package/dist/services/final-review/final-review-contract.d.ts +26 -0
- package/dist/services/final-review/final-review-contract.js +14 -0
- package/dist/services/final-review/final-review-delivery.d.ts +63 -0
- package/dist/services/final-review/final-review-delivery.js +124 -0
- package/dist/services/final-review/final-review-evidence-budget.d.ts +125 -0
- package/dist/services/final-review/final-review-evidence-budget.js +218 -0
- package/dist/services/final-review/final-review-evidence-collect.d.ts +4 -0
- package/dist/services/final-review/final-review-evidence-collect.js +230 -0
- package/dist/services/final-review/final-review-evidence-sources.d.ts +138 -0
- package/dist/services/final-review/final-review-evidence-sources.js +139 -0
- package/dist/services/final-review/final-review-fifth-dim.d.ts +8 -0
- package/dist/services/final-review/final-review-fifth-dim.js +20 -0
- package/dist/services/final-review/final-review-gates.d.ts +119 -0
- package/dist/services/final-review/final-review-gates.js +214 -0
- package/dist/services/final-review/final-review-output-budget.d.ts +88 -0
- package/dist/services/final-review/final-review-output-budget.js +161 -0
- package/dist/services/final-review/final-review-prompt.d.ts +35 -0
- package/dist/services/final-review/final-review-prompt.js +112 -0
- package/dist/services/final-review/final-review-reviewer.d.ts +57 -0
- package/dist/services/final-review/final-review-reviewer.js +95 -0
- package/dist/services/final-review/final-review-runner.d.ts +3 -0
- package/dist/services/final-review/final-review-runner.js +158 -0
- package/dist/services/final-review/final-review-service.d.ts +119 -373
- package/dist/services/final-review/final-review-service.js +48 -1380
- package/dist/services/final-review/final-review-verdicts.d.ts +60 -0
- package/dist/services/final-review/final-review-verdicts.js +91 -0
- package/dist/services/final-review/index.d.ts +3 -3
- package/dist/services/final-review/index.js +2 -2
- package/dist/services/final-review/pre-post-diff.js +32 -29
- package/dist/services/fixture/fixture-capture-service.js +14 -6
- package/dist/services/fresh-context/trigger-scan.js +13 -2
- package/dist/services/fuzzy-matching/fuzzy-match-service.js +1 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.js +6 -1
- package/dist/services/hooks/pre-tool-code-gate.js +2 -2
- package/dist/services/hooks/presence-marker-detector.js +12 -2
- package/dist/services/hooks/worktree-authorization-gate.js +21 -7
- package/dist/services/ide/adapters/claude-code-adapter.js +30 -17
- package/dist/services/ide/adapters/codex-adapter.js +3 -5
- package/dist/services/ide/adapters/cursor-adapter.js +3 -5
- package/dist/services/ide/adapters/hermes-adapter.js +2 -4
- package/dist/services/ide/adapters/openclaw-adapter.js +2 -4
- package/dist/services/ide/adapters/qoder-adapter.js +2 -4
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +1 -1
- package/dist/services/ide/adapters/trae-adapter.js +3 -5
- package/dist/services/ide/adapters/zcode-adapter.js +8 -7
- package/dist/services/ide/current-model-detector.js +2 -1
- package/dist/services/ide/ide-compact-types.d.ts +153 -0
- package/dist/services/ide/ide-compact-types.js +1 -0
- package/dist/services/ide/ide-registry.js +1 -1
- package/dist/services/ide/ide-types.d.ts +7 -145
- package/dist/services/ide/resource-profile.js +1 -1
- package/dist/services/ide/shared/atomic-json.js +2 -1
- package/dist/services/impact/impact-scan-service.js +12 -5
- package/dist/services/job/job-commit-verification.d.ts +73 -0
- package/dist/services/job/job-commit-verification.js +72 -0
- package/dist/services/job/job-orchestrator.d.ts +42 -0
- package/dist/services/job/job-orchestrator.js +110 -10
- package/dist/services/job/job-progress-store.d.ts +75 -5
- package/dist/services/job/job-progress-store.js +83 -6
- package/dist/services/job/job-rotation.d.ts +1 -1
- package/dist/services/job/job-rotation.js +5 -1
- package/dist/services/job/job-state-store.js +2 -2
- package/dist/services/job/job-types.js +49 -20
- package/dist/services/job/subagent-job-wrapper.d.ts +1 -1
- package/dist/services/job/subagent-job-wrapper.js +5 -1
- package/dist/services/job-snapshot/snapshot.js +2 -2
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +23 -13
- package/dist/services/legacy/legacy-detector.js +51 -5
- package/dist/services/lint/detect-eslint.js +10 -4
- package/dist/services/lint/detect-ocr-18.js +11 -3
- package/dist/services/lint/eslint-runner-support.d.ts +22 -0
- package/dist/services/lint/eslint-runner-support.js +185 -0
- package/dist/services/lint/eslint-runner-types.d.ts +69 -0
- package/dist/services/lint/eslint-runner-types.js +11 -0
- package/dist/services/lint/eslint-runner.d.ts +4 -56
- package/dist/services/lint/eslint-runner.js +24 -178
- package/dist/services/lint/npx-resolver.js +1 -3
- package/dist/services/lint/ocr-18-acquire.js +15 -4
- package/dist/services/lint/ocr-multilang-adapter.js +4 -5
- package/dist/services/llm/anthropic-runner.js +4 -1
- package/dist/services/log/log-commands-service.js +2 -6
- package/dist/services/log/logger.js +15 -12
- package/dist/services/log/retention.js +3 -2
- package/dist/services/loop/evaluator-dispatcher.js +78 -42
- package/dist/services/loop/loop-bee-relation-service.d.ts +4 -4
- package/dist/services/loop/loop-bee-relation-service.js +36 -40
- package/dist/services/loop/loop-bee-relation-store.d.ts +3 -3
- package/dist/services/loop/loop-bee-relation-store.js +9 -11
- package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
- package/dist/services/loop/loop-bee-relation-types.js +14 -25
- package/dist/services/loop/loop-release-service.d.ts +2 -2
- package/dist/services/loop/loop-release-service.js +3 -3
- package/dist/services/loop/loop-release-store.d.ts +2 -2
- package/dist/services/loop/loop-release-store.js +4 -6
- package/dist/services/loop/loop-release-types.d.ts +1 -1
- package/dist/services/loop/loop-release-types.js +21 -31
- package/dist/services/loop/monotonic-guard-types.d.ts +51 -0
- package/dist/services/loop/monotonic-guard-types.js +9 -0
- package/dist/services/loop/monotonic-guard.d.ts +2 -43
- package/dist/services/loop/monotonic-runner-types.d.ts +63 -0
- package/dist/services/loop/monotonic-runner-types.js +17 -0
- package/dist/services/loop/monotonic-runner.d.ts +3 -34
- package/dist/services/loop/monotonic-runner.js +10 -20
- package/dist/services/loop/run-driver.js +16 -8
- package/dist/services/loop/spec-service.d.ts +0 -5
- package/dist/services/loop/spec-service.js +49 -9
- package/dist/services/memory/llm-reranker-core.d.ts +108 -0
- package/dist/services/memory/llm-reranker-core.js +105 -0
- package/dist/services/memory/llm-reranker.d.ts +3 -94
- package/dist/services/memory/llm-reranker.js +13 -102
- package/dist/services/memory/memory-ingest-service.d.ts +1 -22
- package/dist/services/memory/memory-ingest-service.js +29 -76
- package/dist/services/memory/memory-ingest-support.d.ts +23 -0
- package/dist/services/memory/memory-ingest-support.js +81 -0
- package/dist/services/memory/memory-rotate-service.js +41 -8
- package/dist/services/memory/memory-search-service.js +8 -4
- package/dist/services/memory/project-context-service.js +26 -5
- package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +2 -7
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +17 -136
- package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.d.ts +7 -0
- package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.js +150 -0
- package/dist/services/memory/project-memory-service/index/ranking.js +6 -3
- package/dist/services/memory/project-memory-service/index/reindex.js +14 -5
- package/dist/services/memory/project-memory-service/index.d.ts +1 -1
- package/dist/services/memory/project-memory-service/index.js +1 -1
- package/dist/services/memory/project-memory-service/memory-kinds.d.ts +31 -0
- package/dist/services/memory/project-memory-service/memory-kinds.js +87 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter-parse.d.ts +24 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter-parse.js +104 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +2 -24
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +28 -79
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +15 -3
- package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +59 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.js +189 -17
- package/dist/services/memory/project-memory-service/store/paths.js +2 -1
- package/dist/services/memory/project-memory-service/types.d.ts +3 -31
- package/dist/services/memory/project-memory-service/types.js +1 -76
- package/dist/services/migrate-skill-name/migrate.js +1 -1
- package/dist/services/migrate-skill-name/schema.js +1 -1
- package/dist/services/mode/mode-enforcement.js +4 -2
- package/dist/services/mode/mode-status-service.d.ts +27 -9
- package/dist/services/mode/mode-status-service.js +64 -12
- package/dist/services/observability/aggregation-helpers.d.ts +22 -0
- package/dist/services/observability/aggregation-helpers.js +65 -0
- package/dist/services/observability/aggregation-types.d.ts +66 -0
- package/dist/services/observability/aggregation-types.js +34 -0
- package/dist/services/observability/aggregation.d.ts +5 -53
- package/dist/services/observability/aggregation.js +17 -80
- package/dist/services/observability/jsonl-store.js +2 -1
- package/dist/services/observability/observability-schema.d.ts +71 -0
- package/dist/services/observability/observability-schema.js +64 -0
- package/dist/services/observability/observability-service.d.ts +3 -56
- package/dist/services/observability/observability-service.js +9 -49
- package/dist/services/openspec/coverage-evidence-reader.js +18 -11
- package/dist/services/openspec/openspec-archive-service.js +31 -24
- package/dist/services/openspec/openspec-init-service.js +8 -2
- package/dist/services/openspec/openspec-propose-from-doctor-service.js +1 -1
- package/dist/services/openspec/openspec-scan-service.js +4 -1
- package/dist/services/openspec/openspec-validate-service.js +26 -5
- package/dist/services/perf/perf-baseline-service.js +2 -6
- package/dist/services/polyrepo/polyrepo-dispatcher.js +2 -1
- package/dist/services/polyrepo/polyrepo-scanner.js +4 -1
- package/dist/services/prd/gate-evidence-derivation.d.ts +160 -0
- package/dist/services/prd/gate-evidence-derivation.js +270 -0
- package/dist/services/prd/handoff-auto-regen.js +13 -1
- package/dist/services/prd/handoff-frontmatter-shape.d.ts +42 -0
- package/dist/services/prd/handoff-frontmatter-shape.js +67 -0
- package/dist/services/prd/handoff-frontmatter.d.ts +1 -1
- package/dist/services/prd/handoff-frontmatter.js +63 -1
- package/dist/services/prd/handoff-gate-evidence.d.ts +95 -1
- package/dist/services/prd/handoff-gate-evidence.js +125 -57
- package/dist/services/prd/handoff-path-resolution.d.ts +37 -0
- package/dist/services/prd/handoff-path-resolution.js +101 -0
- package/dist/services/prd/handoff-service.d.ts +22 -38
- package/dist/services/prd/handoff-service.js +38 -127
- package/dist/services/prd/handoff-types.d.ts +40 -0
- package/dist/services/prd/handoff-types.js +28 -1
- package/dist/services/prd/prd-blocks-checker.js +28 -8
- package/dist/services/prd/project-scan-bootstrap-service.js +1 -5
- package/dist/services/prd/project-scan-reader.d.ts +7 -0
- package/dist/services/prd/project-scan-reader.js +8 -5
- package/dist/services/prd/project-scan-sediment.js +1 -4
- package/dist/services/preferences/preferences-service.js +6 -8
- package/dist/services/preferences/preferences-types.js +4 -4
- package/dist/services/qa/bdd-test-style-contract.d.ts +41 -0
- package/dist/services/qa/bdd-test-style-contract.js +37 -0
- package/dist/services/qa/bdd-test-style-verifier.d.ts +2 -24
- package/dist/services/qa/bdd-test-style-verifier.js +5 -31
- package/dist/services/qa/browser-event-logger.js +2 -1
- package/dist/services/qa/qa-business-review-state.js +20 -5
- package/dist/services/qa/screenshot-archive-service.js +1 -3
- package/dist/services/rd/ast-gate.js +2 -2
- package/dist/services/rd/impl.js +1 -1
- package/dist/services/rd/rd-service.js +117 -43
- package/dist/services/rd/reviewer-dispatch-policy.d.ts +36 -8
- package/dist/services/rd/reviewer-dispatch-policy.js +40 -15
- package/dist/services/rd/standards-diagnostic.js +4 -1
- package/dist/services/rd/strategy.js +10 -3
- package/dist/services/rd/tactical-stage.js +2 -2
- package/dist/services/rd/types.js +9 -7
- package/dist/services/rd-swarm/rd-swarm-service.d.ts +2 -45
- package/dist/services/rd-swarm/rd-swarm-service.js +140 -21
- package/dist/services/rd-swarm/rd-swarm-types.d.ts +54 -0
- package/dist/services/rd-swarm/rd-swarm-types.js +10 -0
- package/dist/services/recommendations/capability-map-service.js +10 -2
- package/dist/services/recommendations/capability-seed-items.js +81 -14
- package/dist/services/recommendations/capability-seed-mappings.js +420 -48
- package/dist/services/recommendations/capability-seed-sources-mcp-server.d.ts +9 -0
- package/dist/services/recommendations/capability-seed-sources-mcp-server.js +233 -0
- package/dist/services/recommendations/capability-seed-sources.js +127 -32
- package/dist/services/release/release-state.d.ts +2 -2
- package/dist/services/release/release-state.js +44 -15
- package/dist/services/release/version-precheck-layer-changeset.d.ts +2 -0
- package/dist/services/release/version-precheck-layer-changeset.js +43 -0
- package/dist/services/release/version-precheck-service.d.ts +11 -36
- package/dist/services/release/version-precheck-service.js +20 -104
- package/dist/services/release/version-precheck-support.d.ts +53 -0
- package/dist/services/release/version-precheck-support.js +64 -0
- package/dist/services/retrospective/retrospective-index.js +17 -3
- package/dist/services/retrospective/retrospective-search-service.js +6 -2
- package/dist/services/retrospective/retrospective-show.js +4 -1
- package/dist/services/reviewer/model-family.js +7 -1
- package/dist/services/reviewer/providers/anthropic.d.ts +5 -0
- package/dist/services/reviewer/providers/anthropic.js +10 -1
- package/dist/services/reviewer/providers/openai.d.ts +5 -0
- package/dist/services/reviewer/providers/openai.js +10 -1
- package/dist/services/reviewer/reviewer-config.js +4 -2
- package/dist/services/reviewer/reviewer-service.d.ts +2 -36
- package/dist/services/reviewer/reviewer-service.js +2 -1
- package/dist/services/reviewer/reviewer-types.d.ts +43 -0
- package/dist/services/reviewer/reviewer-types.js +1 -0
- package/dist/services/role/role-registry.js +9 -1
- package/dist/services/runtime/runtime-detector.js +4 -1
- package/dist/services/runtime/vendors/claude-code.js +14 -6
- package/dist/services/runtime/vendors/codex.js +11 -3
- package/dist/services/runtime/vendors/copilot.js +11 -3
- package/dist/services/sc/sc-service.js +28 -15
- package/dist/services/scan/acceptance-coverage-service.js +4 -1
- package/dist/services/scan/api-diff-openapi-schema-read.d.ts +67 -0
- package/dist/services/scan/api-diff-openapi-schema-read.js +154 -0
- package/dist/services/scan/api-diff-openapi.d.ts +16 -2
- package/dist/services/scan/api-diff-openapi.js +19 -123
- package/dist/services/scan/api-diff-recorded.js +16 -3
- package/dist/services/scan/api-diff-service.js +49 -16
- package/dist/services/scan/api-diff-types.js +12 -3
- package/dist/services/scan/api-surface-helpers.d.ts +13 -0
- package/dist/services/scan/api-surface-helpers.js +31 -0
- package/dist/services/scan/api-surface-service.d.ts +2 -45
- package/dist/services/scan/api-surface-service.js +15 -26
- package/dist/services/scan/api-surface-types.d.ts +54 -0
- package/dist/services/scan/api-surface-types.js +10 -0
- package/dist/services/scan/archetype-detection.d.ts +37 -0
- package/dist/services/scan/archetype-detection.js +142 -0
- package/dist/services/scan/archetype-service.js +36 -125
- package/dist/services/scan/diff-scope-service.js +35 -15
- package/dist/services/scan/existing-system-service.js +16 -99
- package/dist/services/scan/existing-system-visual-tokens.d.ts +20 -0
- package/dist/services/scan/existing-system-visual-tokens.js +123 -0
- package/dist/services/scan/file-size-policy.d.ts +86 -0
- package/dist/services/scan/file-size-policy.js +184 -0
- package/dist/services/scan/file-size-scan.d.ts +30 -3
- package/dist/services/scan/file-size-scan.js +47 -9
- package/dist/services/scan/karpathy-service.js +6 -1
- package/dist/services/scan/orphan-service.js +86 -20
- package/dist/services/scan/type-sanity-service.js +104 -10
- package/dist/services/sediment/dispose-confirm.d.ts +2 -2
- package/dist/services/sediment/dispose-confirm.js +2 -2
- package/dist/services/sediment/json-schema.d.ts +1 -1
- package/dist/services/sediment/json-schema.js +25 -13
- package/dist/services/sediment/manifest-lint.d.ts +1 -12
- package/dist/services/sediment/manifest-lint.js +1 -7
- package/dist/services/sediment/pool-paths.js +13 -9
- package/dist/services/sediment/pool-read.d.ts +1 -1
- package/dist/services/sediment/pool-read.js +42 -18
- package/dist/services/sediment/pool-rebuild-index.d.ts +1 -1
- package/dist/services/sediment/pool-rebuild-index.js +5 -5
- package/dist/services/sediment/pool-write.d.ts +1 -1
- package/dist/services/sediment/pool-write.js +7 -7
- package/dist/services/sediment/promotion-gate.d.ts +1 -1
- package/dist/services/sediment/promotion-gate.js +9 -9
- package/dist/services/sediment/types.d.ts +8 -8
- package/dist/services/session/binding-status-service.js +14 -4
- package/dist/services/session/caller-binding-service.js +2 -1
- package/dist/services/session/getSessionDir.js +4 -1
- package/dist/services/session/index.d.ts +1 -1
- package/dist/services/session/index.js +1 -1
- package/dist/services/session/resolve-caller-id.js +7 -5
- package/dist/services/session/session-binding-bridge.js +26 -25
- package/dist/services/session/session-checkpoint-service.js +1 -1
- package/dist/services/session/session-file-schema.d.ts +70 -0
- package/dist/services/session/session-file-schema.js +68 -0
- package/dist/services/session/session-manager.d.ts +6 -6
- package/dist/services/session/session-manager.js +30 -29
- package/dist/services/session/session-resume-service.js +2 -1
- package/dist/services/share/bundle-format-constants.d.ts +85 -0
- package/dist/services/share/bundle-format-constants.js +100 -0
- package/dist/services/share/bundle-reader.d.ts +3 -3
- package/dist/services/share/bundle-reader.js +75 -68
- package/dist/services/share/bundle-types.d.ts +3 -70
- package/dist/services/share/bundle-types.js +38 -107
- package/dist/services/share/bundle-writer.d.ts +3 -3
- package/dist/services/share/bundle-writer.js +101 -91
- package/dist/services/share/run-state-contract.d.ts +1 -1
- package/dist/services/share/run-state-contract.js +7 -13
- package/dist/services/signal/cancel-handler.js +2 -1
- package/dist/services/skill/resume-detector.js +6 -4
- package/dist/services/skill/skill-scheduler.js +3 -1
- package/dist/services/skill/skill-search-service.js +4 -4
- package/dist/services/skillhub/release-diff.d.ts +2 -2
- package/dist/services/skillhub/release-diff.js +6 -10
- package/dist/services/skillhub/release-export.d.ts +2 -2
- package/dist/services/skillhub/release-export.js +15 -17
- package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
- package/dist/services/skillhub/release-gc-blobs.js +4 -4
- package/dist/services/skillhub/release-import.d.ts +2 -2
- package/dist/services/skillhub/release-import.js +13 -12
- package/dist/services/skillhub/release-retain.d.ts +3 -3
- package/dist/services/skillhub/release-retain.js +22 -22
- package/dist/services/skillhub/sqlite-store.d.ts +1 -1
- package/dist/services/skillhub/sqlite-store.js +12 -11
- package/dist/services/skillhub/tar-runtime.js +15 -15
- package/dist/services/skillhub/types.d.ts +4 -4
- package/dist/services/skills/hooks-codegate-superpowers.js +16 -7
- package/dist/services/skills/hooks-settings-service.js +61 -19
- package/dist/services/skills/presence-lease-service.js +26 -16
- package/dist/services/skills/presence-lease-types.d.ts +1 -1
- package/dist/services/skills/presence-lease-types.js +1 -1
- package/dist/services/skills/skill-conformance-service.js +40 -8
- package/dist/services/skills/skill-presence-service.js +16 -14
- package/dist/services/skills/skill-runbook-service.js +2 -1
- package/dist/services/skills/skill-statusline-model.d.ts +128 -0
- package/dist/services/skills/skill-statusline-model.js +163 -0
- package/dist/services/skills/skill-statusline-renderer.js +4 -3
- package/dist/services/skills/skill-statusline-service.d.ts +3 -100
- package/dist/services/skills/skill-statusline-service.js +56 -163
- package/dist/services/skills/statusline-palette.js +11 -6
- package/dist/services/skills/statusline-settings-service.js +2 -1
- package/dist/services/skills/sync-service-support.d.ts +65 -0
- package/dist/services/skills/sync-service-support.js +50 -0
- package/dist/services/skills/sync-service.d.ts +3 -66
- package/dist/services/skills/sync-service.js +15 -53
- package/dist/services/slice/calibration-store.js +8 -2
- package/dist/services/slice/cross-pass-edge-merger.d.ts +3 -28
- package/dist/services/slice/cross-pass-edge-merger.js +13 -63
- package/dist/services/slice/cross-pass-edge-static-scan-support.d.ts +69 -0
- package/dist/services/slice/cross-pass-edge-static-scan-support.js +74 -0
- package/dist/services/slice/granularity-decider.js +2 -2
- package/dist/services/slice/slice-archive-service.js +8 -3
- package/dist/services/slice/slice-check-service.js +19 -8
- package/dist/services/slice/slice-decompose-runners.js +61 -23
- package/dist/services/slice/slice-decompose-service.js +4 -4
- package/dist/services/slice/slice-review-state.js +8 -2
- package/dist/services/smoke/smoke-paths-state.js +9 -2
- package/dist/services/sop/gate-enforce-service.js +9 -2
- package/dist/services/sop/sop-advance-service.js +14 -2
- package/dist/services/sop/sop-check-service.js +16 -4
- package/dist/services/sop/sop-paths.js +3 -1
- package/dist/services/sop/sop-registry-service.js +5 -1
- package/dist/services/sop/sop-service.js +29 -7
- package/dist/services/sop/sop-types.js +5 -1
- package/dist/services/standards/ide-aware-standards-service.js +2 -2
- package/dist/services/standards/loop-engineering-lint.js +12 -5
- package/dist/services/standards/loop-engineering-readiness-lint.js +5 -5
- package/dist/services/standards/migrate-claude-rules-service.js +9 -7
- package/dist/services/standards/missing-standards-detector.js +1 -3
- package/dist/services/standards/project-context-support.d.ts +50 -0
- package/dist/services/standards/project-context-support.js +244 -0
- package/dist/services/standards/project-context-types.d.ts +30 -0
- package/dist/services/standards/project-context-types.js +11 -0
- package/dist/services/standards/project-context.d.ts +10 -22
- package/dist/services/standards/project-context.js +27 -214
- package/dist/services/standards/project-standards-service.js +43 -12
- package/dist/services/standards/standards-render-common.d.ts +15 -0
- package/dist/services/standards/standards-render-common.js +49 -0
- package/dist/services/standards/standards-render.d.ts +1 -2
- package/dist/services/standards/standards-render.js +31 -58
- package/dist/services/standards/ui-library-dispatch-block.js +1 -1
- package/dist/services/tech/tech-change-id-service.js +7 -7
- package/dist/services/tech/tech-service.js +73 -26
- package/dist/services/test-cache/test-cache-service.js +8 -3
- package/dist/services/upgrade/1x-detector-service.js +5 -3
- package/dist/services/upgrade/gitignore-migrate-service.js +5 -5
- package/dist/services/upgrade/upgrade-service.js +36 -13
- package/dist/services/verdict/envelope-parsers.d.ts +84 -0
- package/dist/services/verdict/envelope-parsers.js +146 -0
- package/dist/services/verdict/envelopes.d.ts +50 -60
- package/dist/services/verdict/envelopes.js +18 -156
- package/dist/services/verdict/verdict-aggregator.js +27 -3
- package/dist/services/vm/vm-lease.js +15 -3
- package/dist/services/web/aria-node.d.ts +27 -0
- package/dist/services/web/aria-node.js +1 -0
- package/dist/services/web/browser-acquire.js +3 -1
- package/dist/services/web/browser-cache-probe.d.ts +18 -0
- package/dist/services/web/browser-cache-probe.js +110 -0
- package/dist/services/web/browser-session-manager.js +6 -2
- package/dist/services/web/daemon-registry.js +4 -1
- package/dist/services/web/playwright-loader.d.ts +2 -70
- package/dist/services/web/playwright-types.d.ts +75 -0
- package/dist/services/web/playwright-types.js +1 -0
- package/dist/services/web/snapshot-pruner.d.ts +2 -23
- package/dist/services/web/snapshot-pruner.js +8 -3
- package/dist/services/web/web-daemon-service.js +1 -3
- package/dist/services/web/web-install-service.d.ts +3 -32
- package/dist/services/web/web-install-service.js +21 -100
- package/dist/services/web/web-install-types.d.ts +31 -0
- package/dist/services/web/web-install-types.js +13 -0
- package/dist/services/web/web-login-profile.js +7 -5
- package/dist/services/web/web-protocol.js +3 -1
- package/dist/services/workflow/pipeline-verify-gate-support.js +63 -17
- package/dist/services/workflow/pipeline-verify-service.js +17 -6
- package/dist/services/workflow/plan-reader.js +5 -1
- package/dist/services/workflow/plan-refresher.js +20 -6
- package/dist/services/workflow/plan-trigger-detector.js +31 -8
- package/dist/services/workflow/provision-dispatch-node.js +8 -3
- package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +3 -1
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +35 -144
- package/dist/services/workflow/workflow-autonomous-resume-validation.d.ts +16 -0
- package/dist/services/workflow/workflow-autonomous-resume-validation.js +155 -0
- package/dist/services/workflow/workflow-autonomous-service.js +25 -13
- package/dist/services/workflow/workflow-graph-store-helpers.d.ts +51 -0
- package/dist/services/workflow/workflow-graph-store-helpers.js +111 -0
- package/dist/services/workflow/workflow-graph-store.d.ts +2 -35
- package/dist/services/workflow/workflow-graph-store.js +30 -107
- package/dist/services/workflow/workflow-graph-types.js +3 -3
- package/dist/services/workflow/workflow-inflight-probe.js +14 -7
- package/dist/services/workflow/workflow-loader.js +5 -1
- package/dist/services/workflow/workflow-node-lifecycle.js +22 -21
- package/dist/services/workflow/workflow-presence-lifecycle-types.d.ts +50 -0
- package/dist/services/workflow/workflow-presence-lifecycle-types.js +1 -0
- package/dist/services/workflow/workflow-presence-lifecycle.d.ts +2 -42
- package/dist/services/workflow/workflow-presence-lifecycle.js +19 -21
- package/dist/services/workflow/workflow-router-service.js +169 -27
- package/dist/services/workflow/workflow-skip-service.js +14 -4
- package/dist/services/workflow/workflow-spec-builders.d.ts +15 -0
- package/dist/services/workflow/workflow-spec-builders.js +121 -0
- package/dist/services/workflow/workflow-spec.d.ts +7 -6
- package/dist/services/workflow/workflow-spec.js +22 -116
- package/dist/services/workflow/workflow-state-store.js +2 -1
- package/dist/services/workspace/migrate-1-4-1-service.js +80 -14
- package/dist/services/workspace/migrate-service.js +66 -16
- package/dist/services/workspace/reconcile-migrate.js +6 -2
- package/dist/services/workspace/reconcile-service.js +37 -16
- package/dist/services/workspace/workspace-claude-settings-materializer.js +7 -5
- package/dist/services/workspace/workspace-clean-service.js +4 -1
- package/dist/services/workspace/workspace-service.js +11 -3
- package/dist/services/workspace/workspace-state-service.js +1 -1
- package/dist/services/worktree/git-worktree-parser.js +13 -3
- package/dist/services/worktree/host-worktree-reconciler.js +8 -4
- package/dist/services/worktree/long-path-cleanup.js +23 -6
- package/dist/services/worktree/worktree-gc-guard.js +3 -1
- package/dist/services/worktree/worktree-lease-types.d.ts +53 -0
- package/dist/services/worktree/worktree-lease-types.js +10 -0
- package/dist/services/worktree/worktree-lease.d.ts +2 -44
- package/dist/shared/array-guards.d.ts +30 -0
- package/dist/shared/array-guards.js +32 -0
- package/dist/shared/format-md-compact-internals.d.ts +26 -0
- package/dist/shared/format-md-compact-internals.js +125 -0
- package/dist/shared/format-md-compact.js +1 -117
- package/dist/shared/fs-utils.js +2 -1
- package/dist/shared/incrementing-number.js +3 -3
- package/dist/shared/json-parse.d.ts +71 -0
- package/dist/shared/json-parse.js +32 -0
- package/dist/shared/json-schema-mini.js +3 -1
- package/dist/shared/path-safety.js +3 -1
- package/dist/shared/path-utils.d.ts +20 -0
- package/dist/shared/path-utils.js +26 -0
- package/dist/shared/planner-response.js +3 -3
- package/dist/shared/stale-policy.js +1 -3
- package/dist/skills/peaks-maker/index.js +11 -11
- package/package.json +32 -9
- package/scripts/clean-dist.mjs +1 -2
- package/scripts/copy-templates.mjs +2 -4
- package/scripts/install-skills.mjs +305 -125
- package/scripts/sync-version.mjs +25 -8
- package/scripts/watch.mjs +8 -2
- package/skills/bee/peaks-rd/SKILL.md +1 -1
- package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +26 -10
- package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +1 -1
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +6 -1
- package/skills/peaks-code/SKILL.md +1 -1
- package/skills/peaks-code/references/periodic-checkpoint.md +7 -5
- package/skills/peaks-code/references/startup-sequence.md +1 -1
- package/skills/peaks-final-review/SKILL.md +1 -1
- /package/{docs → contracts}/test-style-contract.md +0 -0
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
* (readBundle, ReadBundleArgs, ReadBundleResult, the four error
|
|
29
29
|
* classes) is preserved verbatim.
|
|
30
30
|
*/
|
|
31
|
-
import type Database from
|
|
32
|
-
import { SHARE_BUNDLE_ERROR_CODES, type PeaksBundleKind } from
|
|
31
|
+
import type Database from 'better-sqlite3';
|
|
32
|
+
import { SHARE_BUNDLE_ERROR_CODES, type PeaksBundleKind } from './bundle-types.js';
|
|
33
33
|
/**
|
|
34
34
|
* Thrown when `format_version_major !== 1`. This is the explicit
|
|
35
35
|
* HARD block per spec §7A.2 (major mismatch).
|
|
@@ -88,7 +88,7 @@ export type ReadBundleResult = {
|
|
|
88
88
|
assetId: string | number;
|
|
89
89
|
kind: PeaksBundleKind;
|
|
90
90
|
/** Always `candidate` — the reader does not honor any other status. */
|
|
91
|
-
importedAs:
|
|
91
|
+
importedAs: 'candidate';
|
|
92
92
|
/** Non-fatal warnings (e.g. minor-version mismatch). */
|
|
93
93
|
warnings: string[];
|
|
94
94
|
/** Count of crystallization_event rows imported. */
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
* (readBundle, ReadBundleArgs, ReadBundleResult, the four error
|
|
29
29
|
* classes) is preserved verbatim.
|
|
30
30
|
*/
|
|
31
|
-
import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync, rmSync
|
|
32
|
-
import { join } from
|
|
33
|
-
import { ZodError } from
|
|
34
|
-
import { runTar } from
|
|
35
|
-
import { PEAKS_BUNDLE_FORMAT_VERSION_MAJOR, PEAKS_BUNDLE_SCHEMA_VERSIONS, SHARE_BUNDLE_ERROR_CODES, BundleManifestSchema
|
|
31
|
+
import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync, rmSync } from 'node:fs';
|
|
32
|
+
import { join } from 'node:path';
|
|
33
|
+
import { ZodError } from 'zod';
|
|
34
|
+
import { runTar } from '../skillhub/tar-runtime.js';
|
|
35
|
+
import { PEAKS_BUNDLE_FORMAT_VERSION_MAJOR, PEAKS_BUNDLE_SCHEMA_VERSIONS, SHARE_BUNDLE_ERROR_CODES, BundleManifestSchema } from './bundle-types.js';
|
|
36
36
|
/* ---------------------------------------------------------------------- */
|
|
37
37
|
/* Reader errors */
|
|
38
38
|
/* ---------------------------------------------------------------------- */
|
|
@@ -45,7 +45,7 @@ export class BundleMajorVersionMismatchError extends Error {
|
|
|
45
45
|
receivedMajor;
|
|
46
46
|
constructor(receivedMajor) {
|
|
47
47
|
super(`bundle declares format_version_major=${receivedMajor}; the only supported major is ${PEAKS_BUNDLE_FORMAT_VERSION_MAJOR} (spec §7A.2)`);
|
|
48
|
-
this.name =
|
|
48
|
+
this.name = 'BundleMajorVersionMismatchError';
|
|
49
49
|
this.code = SHARE_BUNDLE_ERROR_CODES.MAJOR_VERSION_MISMATCH;
|
|
50
50
|
this.receivedMajor = receivedMajor;
|
|
51
51
|
}
|
|
@@ -59,7 +59,7 @@ export class BundleSchemaVersionsMismatchError extends Error {
|
|
|
59
59
|
received;
|
|
60
60
|
constructor(received) {
|
|
61
61
|
super(`bundle schema_versions mapping is missing or carries non-canonical literals (spec §7A.2). expected=${JSON.stringify(PEAKS_BUNDLE_SCHEMA_VERSIONS)} received=${JSON.stringify(received)}`);
|
|
62
|
-
this.name =
|
|
62
|
+
this.name = 'BundleSchemaVersionsMismatchError';
|
|
63
63
|
this.code = SHARE_BUNDLE_ERROR_CODES.SCHEMA_VERSIONS_MISMATCH;
|
|
64
64
|
this.received = received;
|
|
65
65
|
}
|
|
@@ -72,7 +72,7 @@ export class BundleImportToStableForbiddenError extends Error {
|
|
|
72
72
|
code;
|
|
73
73
|
constructor(receivedStatus) {
|
|
74
74
|
super(`bundles cannot land as '${receivedStatus}'; the only allowed target is 'candidate' (spec §7A.2). promotion to stable requires an evolution_evaluation row with an independent_scorer_verdict`);
|
|
75
|
-
this.name =
|
|
75
|
+
this.name = 'BundleImportToStableForbiddenError';
|
|
76
76
|
this.code = SHARE_BUNDLE_ERROR_CODES.IMPORT_TO_STABLE_FORBIDDEN;
|
|
77
77
|
}
|
|
78
78
|
}
|
|
@@ -85,7 +85,7 @@ export class BundleMalformedError extends Error {
|
|
|
85
85
|
code;
|
|
86
86
|
constructor(message) {
|
|
87
87
|
super(`bundle is malformed: ${message}`);
|
|
88
|
-
this.name =
|
|
88
|
+
this.name = 'BundleMalformedError';
|
|
89
89
|
this.code = SHARE_BUNDLE_ERROR_CODES.BUNDLE_MALFORMED;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
@@ -96,9 +96,7 @@ export class BundleMalformedError extends Error {
|
|
|
96
96
|
const SHA256_RE = /^[0-9a-f]{64}$/;
|
|
97
97
|
/** Coerce a possibly-unknown value to a string lifecycle status, defaulting to "candidate". */
|
|
98
98
|
function readSourceLifecycle(release) {
|
|
99
|
-
return typeof release.lifecycle_status ===
|
|
100
|
-
? release.lifecycle_status
|
|
101
|
-
: "candidate";
|
|
99
|
+
return typeof release.lifecycle_status === 'string' ? release.lifecycle_status : 'candidate';
|
|
102
100
|
}
|
|
103
101
|
/**
|
|
104
102
|
* Enforce the AC-25 hard rule: bundles always land as `candidate`;
|
|
@@ -106,7 +104,7 @@ function readSourceLifecycle(release) {
|
|
|
106
104
|
* for defense in depth.
|
|
107
105
|
*/
|
|
108
106
|
function enforceImportAsCandidate(status) {
|
|
109
|
-
if (status !==
|
|
107
|
+
if (status !== 'candidate') {
|
|
110
108
|
throw new BundleImportToStableForbiddenError(status);
|
|
111
109
|
}
|
|
112
110
|
}
|
|
@@ -117,12 +115,12 @@ function bool01(value, defaultValue) {
|
|
|
117
115
|
return value ? 1 : 0;
|
|
118
116
|
}
|
|
119
117
|
/** Coerce an unknown value to a string column value (empty string default). */
|
|
120
|
-
function str(value, defaultValue =
|
|
121
|
-
return typeof value ===
|
|
118
|
+
function str(value, defaultValue = '') {
|
|
119
|
+
return typeof value === 'string' ? value : defaultValue;
|
|
122
120
|
}
|
|
123
121
|
/** Coerce an unknown value to a string-or-null column value. */
|
|
124
122
|
function strOrNull(value) {
|
|
125
|
-
return typeof value ===
|
|
123
|
+
return typeof value === 'string' ? value : null;
|
|
126
124
|
}
|
|
127
125
|
/** Coerce an unknown value to a JSON-stringified column value. */
|
|
128
126
|
function jsonArr(value) {
|
|
@@ -130,7 +128,7 @@ function jsonArr(value) {
|
|
|
130
128
|
}
|
|
131
129
|
/** Coerce an unknown value to an ISO-8601 string (now() default). */
|
|
132
130
|
function isoOrNow(value) {
|
|
133
|
-
return typeof value ===
|
|
131
|
+
return typeof value === 'string' ? value : new Date().toISOString();
|
|
134
132
|
}
|
|
135
133
|
/** Now as an ISO string. */
|
|
136
134
|
function nowIso() {
|
|
@@ -148,7 +146,7 @@ function readDirEntries(dir) {
|
|
|
148
146
|
/** Read and JSON.parse a file, throwing BundleMalformedError on parse failure. */
|
|
149
147
|
function readJsonOrThrow(path) {
|
|
150
148
|
try {
|
|
151
|
-
return JSON.parse(readFileSync(path,
|
|
149
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
152
150
|
}
|
|
153
151
|
catch (err) {
|
|
154
152
|
throw new BundleMalformedError(`manifest.json could not be parsed: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -162,10 +160,10 @@ export function readBundle(args) {
|
|
|
162
160
|
if (!existsSync(inPath)) {
|
|
163
161
|
throw new BundleMalformedError(`bundle file not found at '${inPath}'`);
|
|
164
162
|
}
|
|
165
|
-
const stageDir = inPath +
|
|
163
|
+
const stageDir = inPath + '.extract';
|
|
166
164
|
resetStageDir(stageDir);
|
|
167
165
|
try {
|
|
168
|
-
runTar([
|
|
166
|
+
runTar(['-xzf', inPath, '-C', stageDir]);
|
|
169
167
|
const manifest = loadStageManifest(stageDir);
|
|
170
168
|
materialiseBlobs(stageDir, blobsDir);
|
|
171
169
|
const assetId = KIND_IMPORTERS[manifest.kind](db, manifest, blobsDir, args.asName);
|
|
@@ -190,9 +188,9 @@ function resetStageDir(stageDir) {
|
|
|
190
188
|
* BundleMalformedError if the file is missing.
|
|
191
189
|
*/
|
|
192
190
|
function loadStageManifest(stageDir) {
|
|
193
|
-
const manifestPath = join(stageDir,
|
|
191
|
+
const manifestPath = join(stageDir, 'manifest.json');
|
|
194
192
|
if (!existsSync(manifestPath)) {
|
|
195
|
-
throw new BundleMalformedError(
|
|
193
|
+
throw new BundleMalformedError('bundle is missing manifest.json (writer is required to emit it)');
|
|
196
194
|
}
|
|
197
195
|
return parseManifest(readJsonOrThrow(manifestPath));
|
|
198
196
|
}
|
|
@@ -201,7 +199,7 @@ function loadStageManifest(stageDir) {
|
|
|
201
199
|
* the layout (`blobs/<sha256>`) is identical for both.
|
|
202
200
|
*/
|
|
203
201
|
function materialiseBlobs(stageDir, blobsDir) {
|
|
204
|
-
const blobsStageDir = join(stageDir,
|
|
202
|
+
const blobsStageDir = join(stageDir, 'blobs');
|
|
205
203
|
if (!existsSync(blobsStageDir))
|
|
206
204
|
return;
|
|
207
205
|
mkdirSync(blobsDir, { recursive: true });
|
|
@@ -223,43 +221,39 @@ function materialiseBlobs(stageDir, blobsDir) {
|
|
|
223
221
|
function buildReadResult(manifest, assetId) {
|
|
224
222
|
const warnings = manifest.format_version_minor === 0
|
|
225
223
|
? []
|
|
226
|
-
: [
|
|
227
|
-
`minor-version=${manifest.format_version_minor}; supported but flagging for awareness`,
|
|
228
|
-
];
|
|
224
|
+
: [`minor-version=${manifest.format_version_minor}; supported but flagging for awareness`];
|
|
229
225
|
return {
|
|
230
226
|
assetId,
|
|
231
227
|
kind: manifest.kind,
|
|
232
|
-
importedAs:
|
|
228
|
+
importedAs: 'candidate',
|
|
233
229
|
warnings,
|
|
234
|
-
evidenceBriefCount: manifest.evidence_briefs.length
|
|
230
|
+
evidenceBriefCount: manifest.evidence_briefs.length
|
|
235
231
|
};
|
|
236
232
|
}
|
|
237
233
|
/* ---------------------------------------------------------------------- */
|
|
238
234
|
/* Manifest parsing — enforces the major-version hard block */
|
|
239
235
|
/* ---------------------------------------------------------------------- */
|
|
240
236
|
function parseManifest(raw) {
|
|
241
|
-
if (!raw ||
|
|
242
|
-
|
|
243
|
-
Array.isArray(raw)) {
|
|
244
|
-
throw new BundleMalformedError("manifest must be a JSON object");
|
|
237
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
|
|
238
|
+
throw new BundleMalformedError('manifest must be a JSON object');
|
|
245
239
|
}
|
|
246
240
|
// Defense in depth: even if Zod would accept, we layer an early
|
|
247
241
|
// major-mismatch guard so the CLI can surface a specific error
|
|
248
242
|
// code (SHARE_BUNDLE_MAJOR_VERSION_MISMATCH) before the Zod
|
|
249
243
|
// schema-version mapping fatal-error path fires.
|
|
250
244
|
const candidate = raw;
|
|
251
|
-
if (typeof candidate.format_version_major ===
|
|
245
|
+
if (typeof candidate.format_version_major === 'number' &&
|
|
252
246
|
candidate.format_version_major !== PEAKS_BUNDLE_FORMAT_VERSION_MAJOR) {
|
|
253
247
|
throw new BundleMajorVersionMismatchError(candidate.format_version_major);
|
|
254
248
|
}
|
|
255
|
-
if (typeof candidate.format_constant !==
|
|
256
|
-
throw new BundleMalformedError(
|
|
249
|
+
if (typeof candidate.format_constant !== 'string') {
|
|
250
|
+
throw new BundleMalformedError('manifest is missing format_constant');
|
|
257
251
|
}
|
|
258
|
-
if (candidate.format_constant !==
|
|
252
|
+
if (candidate.format_constant !== 'peaks.bundle/1') {
|
|
259
253
|
throw new BundleMalformedError(`format_constant must be "peaks.bundle/1"; received '${candidate.format_constant}'`);
|
|
260
254
|
}
|
|
261
|
-
if (!(
|
|
262
|
-
typeof candidate.schema_versions !==
|
|
255
|
+
if (!('schema_versions' in candidate) ||
|
|
256
|
+
typeof candidate.schema_versions !== 'object' ||
|
|
263
257
|
candidate.schema_versions === null ||
|
|
264
258
|
Array.isArray(candidate.schema_versions)) {
|
|
265
259
|
throw new BundleSchemaVersionsMismatchError(undefined);
|
|
@@ -269,29 +263,29 @@ function parseManifest(raw) {
|
|
|
269
263
|
}
|
|
270
264
|
catch (err) {
|
|
271
265
|
if (err instanceof ZodError) {
|
|
272
|
-
const schemaIssue = err.issues.find((i) => i.path[0] ===
|
|
266
|
+
const schemaIssue = err.issues.find((i) => i.path[0] === 'schema_versions');
|
|
273
267
|
if (schemaIssue) {
|
|
274
268
|
throw new BundleSchemaVersionsMismatchError(candidate.schema_versions);
|
|
275
269
|
}
|
|
276
270
|
throw new BundleMalformedError(`manifest failed schema validation: ${err.issues
|
|
277
|
-
.map((i) => `${i.path.join(
|
|
278
|
-
.join(
|
|
271
|
+
.map((i) => `${i.path.join('.')}:${i.message}`)
|
|
272
|
+
.join('; ')}`);
|
|
279
273
|
}
|
|
280
274
|
throw err;
|
|
281
275
|
}
|
|
282
276
|
}
|
|
283
277
|
const KIND_IMPORTERS = {
|
|
284
278
|
loop: (db, manifest, _blobsDir, asName) => importLoopBundle(db, manifest, asName),
|
|
285
|
-
bee: (db, manifest, blobsDir, asName) => importBeeBundle(db, manifest, blobsDir, asName)
|
|
279
|
+
bee: (db, manifest, blobsDir, asName) => importBeeBundle(db, manifest, blobsDir, asName)
|
|
286
280
|
};
|
|
287
281
|
/* ---------------------------------------------------------------------- */
|
|
288
282
|
/* Loop import */
|
|
289
283
|
/* ---------------------------------------------------------------------- */
|
|
290
284
|
function importLoopBundle(db, manifest, asName) {
|
|
291
285
|
const srcLoop = manifest.loop_release;
|
|
292
|
-
const srcId = String(srcLoop.id ??
|
|
286
|
+
const srcId = String(srcLoop.id ?? '');
|
|
293
287
|
if (!srcId)
|
|
294
|
-
throw new BundleMalformedError(
|
|
288
|
+
throw new BundleMalformedError('loop_release is missing id');
|
|
295
289
|
const srcStatus = readSourceLifecycle(srcLoop);
|
|
296
290
|
enforceImportAsCandidate(srcStatus);
|
|
297
291
|
const targetId = asName ?? srcId;
|
|
@@ -330,31 +324,46 @@ function buildLoopRow(srcLoop, targetId) {
|
|
|
330
324
|
crystallization_evidence_json: jsonArr(srcLoop.crystallization_evidence),
|
|
331
325
|
// The reader always lands as candidate — the source's lifecycle
|
|
332
326
|
// status is silently overridden (spec §7A.2 hard rule).
|
|
333
|
-
lifecycle_status:
|
|
327
|
+
lifecycle_status: 'candidate',
|
|
334
328
|
version: srcLoop.version,
|
|
335
|
-
schema_version: typeof srcLoop.schema_version ===
|
|
329
|
+
schema_version: typeof srcLoop.schema_version === 'string' && srcLoop.schema_version.length > 0
|
|
336
330
|
? srcLoop.schema_version
|
|
337
331
|
: PEAKS_BUNDLE_SCHEMA_VERSIONS.loop,
|
|
338
332
|
archived_at: isoOrNow(srcLoop.archived_at),
|
|
339
333
|
shareable: bool01(srcLoop.shareable, 1),
|
|
340
334
|
share_excluded_paths: jsonArr(srcLoop.share_excluded_paths),
|
|
341
335
|
desktop_visible: bool01(srcLoop.desktop_visible, 1),
|
|
342
|
-
export_bundle_format: typeof srcLoop.export_bundle_format ===
|
|
336
|
+
export_bundle_format: typeof srcLoop.export_bundle_format === 'string'
|
|
343
337
|
? srcLoop.export_bundle_format
|
|
344
|
-
:
|
|
338
|
+
: 'peaks.bundle/1'
|
|
345
339
|
};
|
|
346
340
|
}
|
|
347
341
|
const LOOP_RELEASE_COLUMNS = [
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
342
|
+
'id',
|
|
343
|
+
'name',
|
|
344
|
+
'scenario',
|
|
345
|
+
'trigger_policy',
|
|
346
|
+
'success_criteria_json',
|
|
347
|
+
'interaction_policy',
|
|
348
|
+
'feedback_policy',
|
|
349
|
+
'evolution_policy',
|
|
350
|
+
'evaluator_policy_json',
|
|
351
|
+
'linked_bees_json',
|
|
352
|
+
'run_history_json',
|
|
353
|
+
'crystallization_evidence_json',
|
|
354
|
+
'lifecycle_status',
|
|
355
|
+
'version',
|
|
356
|
+
'schema_version',
|
|
357
|
+
'archived_at',
|
|
358
|
+
'shareable',
|
|
359
|
+
'share_excluded_paths',
|
|
360
|
+
'desktop_visible',
|
|
361
|
+
'export_bundle_format'
|
|
353
362
|
];
|
|
354
363
|
/** Insert one loop_release row (or replace on conflict). */
|
|
355
364
|
function insertLoopReleaseRow(db, row) {
|
|
356
|
-
const placeholders = LOOP_RELEASE_COLUMNS.map(() =>
|
|
357
|
-
db.prepare(`INSERT OR REPLACE INTO loop_release (${LOOP_RELEASE_COLUMNS.join(
|
|
365
|
+
const placeholders = LOOP_RELEASE_COLUMNS.map(() => '?').join(', ');
|
|
366
|
+
db.prepare(`INSERT OR REPLACE INTO loop_release (${LOOP_RELEASE_COLUMNS.join(', ')}) VALUES (${placeholders})`).run(...LOOP_RELEASE_COLUMNS.map((c) => row[c]));
|
|
358
367
|
}
|
|
359
368
|
/**
|
|
360
369
|
* Re-stamp relations (preserving source row content, but the
|
|
@@ -404,15 +413,13 @@ function materialiseSingleRelatedBee(db, entry) {
|
|
|
404
413
|
const srcId = Number(release.id);
|
|
405
414
|
if (!Number.isInteger(srcId) || srcId <= 0)
|
|
406
415
|
return null;
|
|
407
|
-
const beeName = String(release.bee_name ??
|
|
416
|
+
const beeName = String(release.bee_name ?? '');
|
|
408
417
|
if (!beeName)
|
|
409
418
|
return null;
|
|
410
419
|
// Honour the same non-candidate hard rule at the bee row.
|
|
411
420
|
enforceImportAsCandidate(readSourceLifecycle(release));
|
|
412
421
|
// Pre-existing receiver-side bee with the same name → keep its id.
|
|
413
|
-
const existing = db
|
|
414
|
-
.prepare("SELECT id FROM bee_release WHERE bee_name = ?")
|
|
415
|
-
.get(beeName);
|
|
422
|
+
const existing = db.prepare('SELECT id FROM bee_release WHERE bee_name = ?').get(beeName);
|
|
416
423
|
if (existing)
|
|
417
424
|
return { srcId, newId: existing.id };
|
|
418
425
|
return { srcId, newId: insertNewRelatedBee(db, release, entry.manifest) };
|
|
@@ -423,7 +430,7 @@ function insertNewRelatedBee(db, release, manifest) {
|
|
|
423
430
|
bee_name, version, source, archived_at, archived_by, user_intent_raw,
|
|
424
431
|
description, parent_version, changelog, shareable, desktop_visible
|
|
425
432
|
) VALUES (?, ?, 'user', ?, 'user', ?, ?, ?, ?, ?, ?)`)
|
|
426
|
-
.run(String(release.bee_name ??
|
|
433
|
+
.run(String(release.bee_name ?? ''), String(release.version ?? '0.0.0'), nowIso(), release.user_intent_raw ?? null, release.description ?? null, release.parent_version ?? null, release.changelog ?? null, release.shareable === false ? 0 : 1, release.desktop_visible === false ? 0 : 1);
|
|
427
434
|
const newId = Number(info.lastInsertRowid);
|
|
428
435
|
if (manifest)
|
|
429
436
|
insertBeeManifestRow(db, newId, manifest);
|
|
@@ -435,12 +442,12 @@ function insertNewRelatedBee(db, release, manifest) {
|
|
|
435
442
|
function importBeeBundle(db, manifest, _blobsDir, asName) {
|
|
436
443
|
const beeObj = manifest.bee_release;
|
|
437
444
|
if (!beeObj) {
|
|
438
|
-
throw new BundleMalformedError(
|
|
445
|
+
throw new BundleMalformedError('bee_release payload missing from bee bundle');
|
|
439
446
|
}
|
|
440
447
|
const release = beeObj.bee_release;
|
|
441
|
-
const newBeeName = asName ?? String(release.bee_name ??
|
|
448
|
+
const newBeeName = asName ?? String(release.bee_name ?? '');
|
|
442
449
|
if (!newBeeName)
|
|
443
|
-
throw new BundleMalformedError(
|
|
450
|
+
throw new BundleMalformedError('bee_release.bee_name missing');
|
|
444
451
|
// Same hard rule: any non-candidate import is refused. The reader
|
|
445
452
|
// does not honor --as-stable switches.
|
|
446
453
|
enforceImportAsCandidate(readSourceLifecycle(release));
|
|
@@ -462,7 +469,7 @@ function insertAnchorBeeRelease(db, release, beeName) {
|
|
|
462
469
|
bee_name, version, source, archived_at, archived_by, user_intent_raw,
|
|
463
470
|
description, parent_version, changelog, shareable, desktop_visible
|
|
464
471
|
) VALUES (?, ?, 'user', ?, 'user', ?, ?, ?, ?, ?, ?)`)
|
|
465
|
-
.run(beeName, String(release.version ??
|
|
472
|
+
.run(beeName, String(release.version ?? '0.0.0'), nowIso(), release.user_intent_raw ?? null, release.description ?? null, release.parent_version ?? null, release.changelog ?? null, release.shareable === false ? 0 : 1, release.desktop_visible === false ? 0 : 1);
|
|
466
473
|
return Number(info.lastInsertRowid);
|
|
467
474
|
}
|
|
468
475
|
/** Insert one bee_manifest row. */
|
|
@@ -471,7 +478,7 @@ function insertBeeManifestRow(db, releaseId, manifest) {
|
|
|
471
478
|
release_id, schema_version, description, segments_json,
|
|
472
479
|
entrypoint_preamble, promotion, min_cycles,
|
|
473
480
|
requires_human, requires_smoke, retire_on_misses
|
|
474
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(releaseId, String(manifest.schema_version ??
|
|
481
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(releaseId, String(manifest.schema_version ?? 'peaks.bee/1'), String(manifest.description ?? ''), JSON.stringify(manifest.segments_json ?? []), strOrNull(manifest.entrypoint_preamble), String(manifest.promotion ?? 'manual'), manifest.min_cycles ?? null, manifest.requires_human === undefined ? 1 : Number(manifest.requires_human), manifest.requires_smoke === undefined ? 1 : Number(manifest.requires_smoke), manifest.retire_on_misses ?? null);
|
|
475
482
|
}
|
|
476
483
|
/** Insert bee_segment_ref rows. */
|
|
477
484
|
function insertBeeSegmentRows(db, releaseId, segments) {
|
|
@@ -481,7 +488,7 @@ function insertBeeSegmentRows(db, releaseId, segments) {
|
|
|
481
488
|
release_id, segment_name, inputs_json, outputs_json, side_effects
|
|
482
489
|
) VALUES (?, ?, ?, ?, ?)`);
|
|
483
490
|
for (const s of segments) {
|
|
484
|
-
stmt.run(releaseId, String(s.segment_name ??
|
|
491
|
+
stmt.run(releaseId, String(s.segment_name ?? ''), strOrNull(s.inputs_json), strOrNull(s.outputs_json), strOrNull(s.side_effects));
|
|
485
492
|
}
|
|
486
493
|
}
|
|
487
494
|
/** Insert bee_file rows. */
|
|
@@ -492,7 +499,7 @@ function insertBeeFileRows(db, releaseId, beeName, files) {
|
|
|
492
499
|
release_id, owner_kind, owner_name, path, kind, size_bytes, sha256, blob_path
|
|
493
500
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`);
|
|
494
501
|
for (const f of files) {
|
|
495
|
-
stmt.run(releaseId, String(f.owner_kind ??
|
|
502
|
+
stmt.run(releaseId, String(f.owner_kind ?? 'bee'), beeName, String(f.path ?? ''), String(f.kind ?? 'other'), Number(f.size_bytes ?? 0), String(f.sha256 ?? ''), String(f.blob_path ?? ''));
|
|
496
503
|
}
|
|
497
504
|
}
|
|
498
505
|
/** Insert bee_change rows. */
|
|
@@ -503,6 +510,6 @@ function insertBeeChangeRows(db, releaseId, changes) {
|
|
|
503
510
|
release_id, change_kind, target_kind, target_name, detail
|
|
504
511
|
) VALUES (?, ?, ?, ?, ?)`);
|
|
505
512
|
for (const c of changes) {
|
|
506
|
-
stmt.run(releaseId, String(c.change_kind ??
|
|
513
|
+
stmt.run(releaseId, String(c.change_kind ?? ''), String(c.target_kind ?? ''), String(c.target_name ?? ''), strOrNull(c.detail));
|
|
507
514
|
}
|
|
508
515
|
}
|
|
@@ -61,75 +61,7 @@
|
|
|
61
61
|
* Excludes (spec §7A.2 hard rules): private run_state, anything
|
|
62
62
|
* under `.peaks/memory/personal/`, raw `state.db` rows.
|
|
63
63
|
*/
|
|
64
|
-
import { z } from
|
|
65
|
-
/**
|
|
66
|
-
* The on-the-wire format constant, pinned to the literal
|
|
67
|
-
* `"peaks.bundle/1"`. The CLI is the only writer — see `bundle-writer.ts`.
|
|
68
|
-
* A future format change requires a major-version bump + a new writer.
|
|
69
|
-
*/
|
|
70
|
-
export declare const PEAKS_BUNDLE_FORMAT_CONSTANT: "peaks.bundle/1";
|
|
71
|
-
/**
|
|
72
|
-
* The required `format_version_major` for any current receiver.
|
|
73
|
-
* Bumped only on a breaking schema change. The reader throws when
|
|
74
|
-
* the manifest declares any value other than `1`.
|
|
75
|
-
*/
|
|
76
|
-
export declare const PEAKS_BUNDLE_FORMAT_VERSION_MAJOR: 1;
|
|
77
|
-
/**
|
|
78
|
-
* Default `format_version_minor`. Major-compatible minor bumps emit
|
|
79
|
-
* a soft warning at read time; they never block.
|
|
80
|
-
*/
|
|
81
|
-
export declare const PEAKS_BUNDLE_DEFAULT_MINOR_VERSION: 0;
|
|
82
|
-
/**
|
|
83
|
-
* The cross-cutting schema literals a bundle is allowed to declare.
|
|
84
|
-
* Each value must match the canonical Zod `literal(...)` literal in
|
|
85
|
-
* the corresponding type module. Used for the
|
|
86
|
-
* `SchemaVersionsMapping` enumeration below.
|
|
87
|
-
*/
|
|
88
|
-
export declare const PEAKS_BUNDLE_SCHEMA_VERSIONS: {
|
|
89
|
-
readonly loop: "peaks.loop/1";
|
|
90
|
-
readonly bee: "peaks.bee/1";
|
|
91
|
-
readonly loop_bee_relation: "peaks.loop-bee-relation/1";
|
|
92
|
-
readonly crystallization: "peaks.crystallization/1";
|
|
93
|
-
};
|
|
94
|
-
export type PeaksBundleSchemaVersionKey = keyof typeof PEAKS_BUNDLE_SCHEMA_VERSIONS;
|
|
95
|
-
/**
|
|
96
|
-
* Schema-versions mapping. The writer writes the canonical literal
|
|
97
|
-
* for each asset kind it includes; the reader checks every key for
|
|
98
|
-
* presence (and that the value matches the canonical literal).
|
|
99
|
-
*
|
|
100
|
-
* `.strict()` refuses unknown keys; `.refine(...)` enforces that
|
|
101
|
-
* each value matches its canonical literal.
|
|
102
|
-
*/
|
|
103
|
-
export declare const SchemaVersionsMappingSchema: z.ZodObject<{
|
|
104
|
-
loop: z.ZodLiteral<"peaks.loop/1">;
|
|
105
|
-
bee: z.ZodLiteral<"peaks.bee/1">;
|
|
106
|
-
loop_bee_relation: z.ZodLiteral<"peaks.loop-bee-relation/1">;
|
|
107
|
-
crystallization: z.ZodLiteral<"peaks.crystallization/1">;
|
|
108
|
-
}, z.core.$strict>;
|
|
109
|
-
export type SchemaVersionsMapping = z.infer<typeof SchemaVersionsMappingSchema>;
|
|
110
|
-
/**
|
|
111
|
-
* The bundle explicitly excludes private run-state, the user's
|
|
112
|
-
* personal memory directory, and raw `state.db` rows. The
|
|
113
|
-
* `ExclusionManifestSchema` is what the writer stamps into the
|
|
114
|
-
* manifest; the reader uses it as a self-declaration (the writer is
|
|
115
|
-
* the only place that can leak those payloads, but the read-time
|
|
116
|
-
* stamp lets the receiver confirm the source understood the
|
|
117
|
-
* exclusion rules).
|
|
118
|
-
*/
|
|
119
|
-
export declare const ExclusionManifestSchema: z.ZodObject<{
|
|
120
|
-
private_run_state: z.ZodLiteral<"excluded">;
|
|
121
|
-
personal_memory: z.ZodLiteral<"excluded">;
|
|
122
|
-
state_db_rows: z.ZodLiteral<"excluded">;
|
|
123
|
-
}, z.core.$strict>;
|
|
124
|
-
export type ExclusionManifest = z.infer<typeof ExclusionManifestSchema>;
|
|
125
|
-
/**
|
|
126
|
-
* Bundle kind. A bundle is anchored on exactly one asset: either a
|
|
127
|
-
* `loop_release` (and its main bee + supporting bees) or a single
|
|
128
|
-
* `bee_release` (loop-scoped relations may follow but are not
|
|
129
|
-
* required).
|
|
130
|
-
*/
|
|
131
|
-
export declare const PEAKS_BUNDLE_KINDS: readonly ["loop", "bee"];
|
|
132
|
-
export type PeaksBundleKind = (typeof PEAKS_BUNDLE_KINDS)[number];
|
|
64
|
+
import { z } from 'zod';
|
|
133
65
|
/**
|
|
134
66
|
* The full manifest schema. The asset sub-objects are typed as
|
|
135
67
|
* `unknown` here; each service layer validates them with the
|
|
@@ -197,7 +129,7 @@ export declare function safeParseBundleManifest(input: unknown): {
|
|
|
197
129
|
manifest: BundleManifest;
|
|
198
130
|
} | {
|
|
199
131
|
ok: false;
|
|
200
|
-
code:
|
|
132
|
+
code: 'BUNDLE_FORMAT_CONSTANT_MISMATCH' | 'BUNDLE_MAJOR_VERSION_MISMATCH' | 'BUNDLE_SCHEMA_VERSIONS_MISMATCH' | 'BUNDLE_EXCLUSION_MANIFEST_MISSING' | 'BUNDLE_KIND_ANCHOR_MISMATCH';
|
|
201
133
|
findings: Array<{
|
|
202
134
|
path: string;
|
|
203
135
|
message: string;
|
|
@@ -222,3 +154,4 @@ export declare const SHARE_BUNDLE_ERROR_CODES: {
|
|
|
222
154
|
/** Bundle tarball is malformed (missing manifest, bad payload). */
|
|
223
155
|
readonly BUNDLE_MALFORMED: "SHARE_BUNDLE_MALFORMED";
|
|
224
156
|
};
|
|
157
|
+
export * from './bundle-format-constants.js';
|