mewkit 1.14.1 → 1.16.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/NOTICE +24 -0
- package/README.md +36 -70
- package/dist/commands/capabilities.d.ts +13 -0
- package/dist/commands/capabilities.d.ts.map +1 -0
- package/dist/commands/capabilities.js +230 -0
- package/dist/commands/capabilities.js.map +1 -0
- package/dist/commands/context.d.ts +10 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +125 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/doctor.d.ts +27 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +123 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/providers.d.ts +2 -0
- package/dist/commands/providers.d.ts.map +1 -1
- package/dist/commands/providers.js +77 -0
- package/dist/commands/providers.js.map +1 -1
- package/dist/commands/task-state.d.ts +13 -0
- package/dist/commands/task-state.d.ts.map +1 -0
- package/dist/commands/task-state.js +106 -0
- package/dist/commands/task-state.js.map +1 -0
- package/dist/commands/validate.d.ts +48 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +97 -24
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/visual-plan.d.ts +23 -0
- package/dist/commands/visual-plan.d.ts.map +1 -0
- package/dist/commands/visual-plan.js +26 -0
- package/dist/commands/visual-plan.js.map +1 -0
- package/dist/core/availability.d.ts +40 -0
- package/dist/core/availability.d.ts.map +1 -0
- package/dist/core/availability.js +47 -0
- package/dist/core/availability.js.map +1 -0
- package/dist/core/bootstrap.d.ts +19 -0
- package/dist/core/bootstrap.d.ts.map +1 -0
- package/dist/core/bootstrap.js +42 -0
- package/dist/core/bootstrap.js.map +1 -0
- package/dist/core/build-capabilities.d.ts +9 -0
- package/dist/core/build-capabilities.d.ts.map +1 -0
- package/dist/core/build-capabilities.js +123 -0
- package/dist/core/build-capabilities.js.map +1 -0
- package/dist/core/build-inventory.d.ts +2 -0
- package/dist/core/build-inventory.d.ts.map +1 -1
- package/dist/core/build-inventory.js +1 -1
- package/dist/core/build-inventory.js.map +1 -1
- package/dist/core/capability-authored.d.ts +26 -0
- package/dist/core/capability-authored.d.ts.map +1 -0
- package/dist/core/capability-authored.js +117 -0
- package/dist/core/capability-authored.js.map +1 -0
- package/dist/core/capability-snapshot.d.ts +13 -0
- package/dist/core/capability-snapshot.d.ts.map +1 -0
- package/dist/core/capability-snapshot.js +53 -0
- package/dist/core/capability-snapshot.js.map +1 -0
- package/dist/core/capability.d.ts +519 -0
- package/dist/core/capability.d.ts.map +1 -0
- package/dist/core/capability.js +114 -0
- package/dist/core/capability.js.map +1 -0
- package/dist/core/compute-checksums.d.ts.map +1 -1
- package/dist/core/compute-checksums.js +8 -2
- package/dist/core/compute-checksums.js.map +1 -1
- package/dist/core/consolidation-ledger.d.ts +30 -0
- package/dist/core/consolidation-ledger.d.ts.map +1 -0
- package/dist/core/consolidation-ledger.js +147 -0
- package/dist/core/consolidation-ledger.js.map +1 -0
- package/dist/core/generate-capability-view.d.ts +21 -0
- package/dist/core/generate-capability-view.d.ts.map +1 -0
- package/dist/core/generate-capability-view.js +48 -0
- package/dist/core/generate-capability-view.js.map +1 -0
- package/dist/core/install-metadata.d.ts +20 -3
- package/dist/core/install-metadata.d.ts.map +1 -1
- package/dist/core/install-metadata.js +49 -9
- package/dist/core/install-metadata.js.map +1 -1
- package/dist/core/provider-adapter.d.ts +28 -0
- package/dist/core/provider-adapter.d.ts.map +1 -0
- package/dist/core/provider-adapter.js +31 -0
- package/dist/core/provider-adapter.js.map +1 -0
- package/dist/core/provider-invocation.d.ts +14 -0
- package/dist/core/provider-invocation.d.ts.map +1 -0
- package/dist/core/provider-invocation.js +56 -0
- package/dist/core/provider-invocation.js.map +1 -0
- package/dist/core/provider-lifecycle.d.ts +35 -0
- package/dist/core/provider-lifecycle.d.ts.map +1 -0
- package/dist/core/provider-lifecycle.js +101 -0
- package/dist/core/provider-lifecycle.js.map +1 -0
- package/dist/core/provider-projection.d.ts +29 -0
- package/dist/core/provider-projection.d.ts.map +1 -0
- package/dist/core/provider-projection.js +47 -0
- package/dist/core/provider-projection.js.map +1 -0
- package/dist/core/release-metadata.d.ts +7 -0
- package/dist/core/release-metadata.d.ts.map +1 -1
- package/dist/core/release-metadata.js +13 -0
- package/dist/core/release-metadata.js.map +1 -1
- package/dist/core/repo-context-adapter.d.ts +23 -0
- package/dist/core/repo-context-adapter.d.ts.map +1 -0
- package/dist/core/repo-context-adapter.js +44 -0
- package/dist/core/repo-context-adapter.js.map +1 -0
- package/dist/core/repo-context.d.ts +147 -0
- package/dist/core/repo-context.d.ts.map +1 -0
- package/dist/core/repo-context.js +204 -0
- package/dist/core/repo-context.js.map +1 -0
- package/dist/core/resolve-capabilities.d.ts +70 -0
- package/dist/core/resolve-capabilities.d.ts.map +1 -0
- package/dist/core/resolve-capabilities.js +124 -0
- package/dist/core/resolve-capabilities.js.map +1 -0
- package/dist/core/smart-update.d.ts.map +1 -1
- package/dist/core/smart-update.js +13 -12
- package/dist/core/smart-update.js.map +1 -1
- package/dist/core/task-record.d.ts +252 -0
- package/dist/core/task-record.d.ts.map +1 -0
- package/dist/core/task-record.js +252 -0
- package/dist/core/task-record.js.map +1 -0
- package/dist/core/validate-capabilities.d.ts +12 -0
- package/dist/core/validate-capabilities.d.ts.map +1 -0
- package/dist/core/validate-capabilities.js +138 -0
- package/dist/core/validate-capabilities.js.map +1 -0
- package/dist/index.js +99 -25
- package/dist/index.js.map +1 -1
- package/dist/local-web/atomic-write.d.ts +15 -0
- package/dist/local-web/atomic-write.d.ts.map +1 -0
- package/dist/local-web/atomic-write.js +69 -0
- package/dist/local-web/atomic-write.js.map +1 -0
- package/dist/local-web/constants.d.ts +13 -0
- package/dist/local-web/constants.d.ts.map +1 -0
- package/dist/local-web/constants.js +13 -0
- package/dist/local-web/constants.js.map +1 -0
- package/dist/local-web/etag.d.ts +19 -0
- package/dist/local-web/etag.d.ts.map +1 -0
- package/dist/local-web/etag.js +32 -0
- package/dist/local-web/etag.js.map +1 -0
- package/dist/local-web/host-guard.d.ts +12 -0
- package/dist/local-web/host-guard.d.ts.map +1 -0
- package/dist/local-web/host-guard.js +18 -0
- package/dist/local-web/host-guard.js.map +1 -0
- package/dist/local-web/index.d.ts +23 -0
- package/dist/local-web/index.d.ts.map +1 -0
- package/dist/local-web/index.js +23 -0
- package/dist/local-web/index.js.map +1 -0
- package/dist/local-web/local-server.d.ts +37 -0
- package/dist/local-web/local-server.d.ts.map +1 -0
- package/dist/local-web/local-server.js +85 -0
- package/dist/local-web/local-server.js.map +1 -0
- package/dist/local-web/open-browser.d.ts +12 -0
- package/dist/local-web/open-browser.d.ts.map +1 -0
- package/dist/{orchviz/open-url.js → local-web/open-browser.js} +9 -8
- package/dist/local-web/open-browser.js.map +1 -0
- package/dist/local-web/origin-guard.d.ts +11 -0
- package/dist/local-web/origin-guard.d.ts.map +1 -0
- package/dist/local-web/origin-guard.js +15 -0
- package/dist/local-web/origin-guard.js.map +1 -0
- package/dist/local-web/path-boundary.d.ts +20 -0
- package/dist/local-web/path-boundary.d.ts.map +1 -0
- package/dist/local-web/path-boundary.js +39 -0
- package/dist/local-web/path-boundary.js.map +1 -0
- package/dist/local-web/request-body.d.ts +24 -0
- package/dist/local-web/request-body.d.ts.map +1 -0
- package/dist/local-web/request-body.js +68 -0
- package/dist/local-web/request-body.js.map +1 -0
- package/dist/local-web/static-handler.d.ts +14 -0
- package/dist/local-web/static-handler.d.ts.map +1 -0
- package/dist/{orchviz/server → local-web}/static-handler.js +11 -6
- package/dist/local-web/static-handler.js.map +1 -0
- package/dist/migrate/capability-bootstrap-projection.d.ts +11 -0
- package/dist/migrate/capability-bootstrap-projection.d.ts.map +1 -0
- package/dist/migrate/capability-bootstrap-projection.js +48 -0
- package/dist/migrate/capability-bootstrap-projection.js.map +1 -0
- package/dist/migrate/migrate-orchestrator.d.ts.map +1 -1
- package/dist/migrate/migrate-orchestrator.js +22 -0
- package/dist/migrate/migrate-orchestrator.js.map +1 -1
- package/dist/migrate/reconcile/portable-manifest.d.ts +12 -12
- package/dist/migrate/reconcile/portable-registry.d.ts +30 -30
- package/dist/migrate/types.d.ts +10 -10
- package/dist/{orchviz/token-estimator.d.ts → token-estimator/index.d.ts} +6 -1
- package/dist/token-estimator/index.d.ts.map +1 -0
- package/dist/{orchviz/token-estimator.js → token-estimator/index.js} +11 -2
- package/dist/token-estimator/index.js.map +1 -0
- package/dist/visual-plan/__fixtures__/valid-plan.d.ts +15 -0
- package/dist/visual-plan/__fixtures__/valid-plan.d.ts.map +1 -0
- package/dist/visual-plan/__fixtures__/valid-plan.js +79 -0
- package/dist/visual-plan/__fixtures__/valid-plan.js.map +1 -0
- package/dist/visual-plan/application/apply-feedback.d.ts +31 -0
- package/dist/visual-plan/application/apply-feedback.d.ts.map +1 -0
- package/dist/visual-plan/application/apply-feedback.js +85 -0
- package/dist/visual-plan/application/apply-feedback.js.map +1 -0
- package/dist/visual-plan/application/apply-patch-op.d.ts +13 -0
- package/dist/visual-plan/application/apply-patch-op.d.ts.map +1 -0
- package/dist/visual-plan/application/apply-patch-op.js +72 -0
- package/dist/visual-plan/application/apply-patch-op.js.map +1 -0
- package/dist/visual-plan/application/approve.d.ts +24 -0
- package/dist/visual-plan/application/approve.d.ts.map +1 -0
- package/dist/visual-plan/application/approve.js +53 -0
- package/dist/visual-plan/application/approve.js.map +1 -0
- package/dist/visual-plan/application/clock.d.ts +8 -0
- package/dist/visual-plan/application/clock.d.ts.map +1 -0
- package/dist/visual-plan/application/clock.js +10 -0
- package/dist/visual-plan/application/clock.js.map +1 -0
- package/dist/visual-plan/application/export-plan.d.ts +19 -0
- package/dist/visual-plan/application/export-plan.d.ts.map +1 -0
- package/dist/visual-plan/application/export-plan.js +59 -0
- package/dist/visual-plan/application/export-plan.js.map +1 -0
- package/dist/visual-plan/application/patch-plan.d.ts +26 -0
- package/dist/visual-plan/application/patch-plan.d.ts.map +1 -0
- package/dist/visual-plan/application/patch-plan.js +48 -0
- package/dist/visual-plan/application/patch-plan.js.map +1 -0
- package/dist/visual-plan/application/prepare-feedback.d.ts +24 -0
- package/dist/visual-plan/application/prepare-feedback.d.ts.map +1 -0
- package/dist/visual-plan/application/prepare-feedback.js +70 -0
- package/dist/visual-plan/application/prepare-feedback.js.map +1 -0
- package/dist/visual-plan/application/rehash.d.ts +19 -0
- package/dist/visual-plan/application/rehash.d.ts.map +1 -0
- package/dist/visual-plan/application/rehash.js +43 -0
- package/dist/visual-plan/application/rehash.js.map +1 -0
- package/dist/visual-plan/application/status.d.ts +20 -0
- package/dist/visual-plan/application/status.d.ts.map +1 -0
- package/dist/visual-plan/application/status.js +27 -0
- package/dist/visual-plan/application/status.js.map +1 -0
- package/dist/visual-plan/application/validate-plan.d.ts +30 -0
- package/dist/visual-plan/application/validate-plan.d.ts.map +1 -0
- package/dist/visual-plan/application/validate-plan.js +59 -0
- package/dist/visual-plan/application/validate-plan.js.map +1 -0
- package/dist/visual-plan/domain/coverage.d.ts +35 -0
- package/dist/visual-plan/domain/coverage.d.ts.map +1 -0
- package/dist/visual-plan/domain/coverage.js +99 -0
- package/dist/visual-plan/domain/coverage.js.map +1 -0
- package/dist/visual-plan/domain/cross-refs.d.ts +20 -0
- package/dist/visual-plan/domain/cross-refs.d.ts.map +1 -0
- package/dist/visual-plan/domain/cross-refs.js +92 -0
- package/dist/visual-plan/domain/cross-refs.js.map +1 -0
- package/dist/visual-plan/domain/errors.d.ts +43 -0
- package/dist/visual-plan/domain/errors.d.ts.map +1 -0
- package/dist/visual-plan/domain/errors.js +33 -0
- package/dist/visual-plan/domain/errors.js.map +1 -0
- package/dist/visual-plan/domain/feedback-schemas.d.ts +160 -0
- package/dist/visual-plan/domain/feedback-schemas.d.ts.map +1 -0
- package/dist/visual-plan/domain/feedback-schemas.js +71 -0
- package/dist/visual-plan/domain/feedback-schemas.js.map +1 -0
- package/dist/visual-plan/domain/ids.d.ts +21 -0
- package/dist/visual-plan/domain/ids.d.ts.map +1 -0
- package/dist/visual-plan/domain/ids.js +25 -0
- package/dist/visual-plan/domain/ids.js.map +1 -0
- package/dist/visual-plan/domain/patches.d.ts +176 -0
- package/dist/visual-plan/domain/patches.d.ts.map +1 -0
- package/dist/visual-plan/domain/patches.js +41 -0
- package/dist/visual-plan/domain/patches.js.map +1 -0
- package/dist/visual-plan/domain/sanitizer-config.d.ts +61 -0
- package/dist/visual-plan/domain/sanitizer-config.d.ts.map +1 -0
- package/dist/visual-plan/domain/sanitizer-config.js +70 -0
- package/dist/visual-plan/domain/sanitizer-config.js.map +1 -0
- package/dist/visual-plan/domain/schemas.d.ts +1492 -0
- package/dist/visual-plan/domain/schemas.d.ts.map +1 -0
- package/dist/visual-plan/domain/schemas.js +166 -0
- package/dist/visual-plan/domain/schemas.js.map +1 -0
- package/dist/visual-plan/infrastructure/atomic-write.d.ts +11 -0
- package/dist/visual-plan/infrastructure/atomic-write.d.ts.map +1 -0
- package/dist/visual-plan/infrastructure/atomic-write.js +44 -0
- package/dist/visual-plan/infrastructure/atomic-write.js.map +1 -0
- package/dist/visual-plan/infrastructure/feedback-repository.d.ts +18 -0
- package/dist/visual-plan/infrastructure/feedback-repository.d.ts.map +1 -0
- package/dist/visual-plan/infrastructure/feedback-repository.js +59 -0
- package/dist/visual-plan/infrastructure/feedback-repository.js.map +1 -0
- package/dist/visual-plan/infrastructure/hashing.d.ts +37 -0
- package/dist/visual-plan/infrastructure/hashing.d.ts.map +1 -0
- package/dist/visual-plan/infrastructure/hashing.js +81 -0
- package/dist/visual-plan/infrastructure/hashing.js.map +1 -0
- package/dist/visual-plan/infrastructure/plan-state.d.ts +32 -0
- package/dist/visual-plan/infrastructure/plan-state.d.ts.map +1 -0
- package/dist/visual-plan/infrastructure/plan-state.js +58 -0
- package/dist/visual-plan/infrastructure/plan-state.js.map +1 -0
- package/dist/visual-plan/infrastructure/receipt-repository.d.ts +17 -0
- package/dist/visual-plan/infrastructure/receipt-repository.d.ts.map +1 -0
- package/dist/visual-plan/infrastructure/receipt-repository.js +59 -0
- package/dist/visual-plan/infrastructure/receipt-repository.js.map +1 -0
- package/dist/visual-plan/infrastructure/visual-plan-repository.d.ts +38 -0
- package/dist/visual-plan/infrastructure/visual-plan-repository.d.ts.map +1 -0
- package/dist/visual-plan/infrastructure/visual-plan-repository.js +97 -0
- package/dist/visual-plan/infrastructure/visual-plan-repository.js.map +1 -0
- package/dist/visual-plan/infrastructure/wireframe-sanitizer.d.ts +41 -0
- package/dist/visual-plan/infrastructure/wireframe-sanitizer.d.ts.map +1 -0
- package/dist/visual-plan/infrastructure/wireframe-sanitizer.js +72 -0
- package/dist/visual-plan/infrastructure/wireframe-sanitizer.js.map +1 -0
- package/dist/visual-plan/interface/cli.d.ts +29 -0
- package/dist/visual-plan/interface/cli.d.ts.map +1 -0
- package/dist/visual-plan/interface/cli.js +280 -0
- package/dist/visual-plan/interface/cli.js.map +1 -0
- package/dist/visual-plan/interface/studio.d.ts +20 -0
- package/dist/visual-plan/interface/studio.d.ts.map +1 -0
- package/dist/visual-plan/interface/studio.js +74 -0
- package/dist/visual-plan/interface/studio.js.map +1 -0
- package/dist/visual-plan/server/csp.d.ts +13 -0
- package/dist/visual-plan/server/csp.d.ts.map +1 -0
- package/dist/visual-plan/server/csp.js +17 -0
- package/dist/visual-plan/server/csp.js.map +1 -0
- package/dist/visual-plan/server/edit-lock.d.ts +28 -0
- package/dist/visual-plan/server/edit-lock.d.ts.map +1 -0
- package/dist/visual-plan/server/edit-lock.js +71 -0
- package/dist/visual-plan/server/edit-lock.js.map +1 -0
- package/dist/visual-plan/server/routes/feedback.d.ts +12 -0
- package/dist/visual-plan/server/routes/feedback.d.ts.map +1 -0
- package/dist/visual-plan/server/routes/feedback.js +63 -0
- package/dist/visual-plan/server/routes/feedback.js.map +1 -0
- package/dist/visual-plan/server/routes/get-plan.d.ts +14 -0
- package/dist/visual-plan/server/routes/get-plan.d.ts.map +1 -0
- package/dist/visual-plan/server/routes/get-plan.js +38 -0
- package/dist/visual-plan/server/routes/get-plan.js.map +1 -0
- package/dist/visual-plan/server/routes/patch.d.ts +10 -0
- package/dist/visual-plan/server/routes/patch.d.ts.map +1 -0
- package/dist/visual-plan/server/routes/patch.js +66 -0
- package/dist/visual-plan/server/routes/patch.js.map +1 -0
- package/dist/visual-plan/server/visual-plan-server.d.ts +30 -0
- package/dist/visual-plan/server/visual-plan-server.d.ts.map +1 -0
- package/dist/visual-plan/server/visual-plan-server.js +79 -0
- package/dist/visual-plan/server/visual-plan-server.js.map +1 -0
- package/dist/visual-plan-web/architects-daughter-latin-400-normal.woff +0 -0
- package/dist/visual-plan-web/architects-daughter-latin-400-normal.woff2 +0 -0
- package/dist/visual-plan-web/architects-daughter-latin-ext-400-normal.woff +0 -0
- package/dist/visual-plan-web/architects-daughter-latin-ext-400-normal.woff2 +0 -0
- package/dist/visual-plan-web/index.css +1 -0
- package/dist/visual-plan-web/index.html +17 -0
- package/dist/visual-plan-web/index.js +51 -0
- package/package.json +14 -17
- package/dist/commands/evolve.d.ts +0 -11
- package/dist/commands/evolve.d.ts.map +0 -1
- package/dist/commands/evolve.js +0 -63
- package/dist/commands/evolve.js.map +0 -1
- package/dist/commands/health.d.ts +0 -14
- package/dist/commands/health.d.ts.map +0 -1
- package/dist/commands/health.js +0 -193
- package/dist/commands/health.js.map +0 -1
- package/dist/commands/orchviz.d.ts +0 -12
- package/dist/commands/orchviz.d.ts.map +0 -1
- package/dist/commands/orchviz.js +0 -157
- package/dist/commands/orchviz.js.map +0 -1
- package/dist/commands/policy.d.ts +0 -8
- package/dist/commands/policy.d.ts.map +0 -1
- package/dist/commands/policy.js +0 -65
- package/dist/commands/policy.js.map +0 -1
- package/dist/commands/portability.d.ts +0 -7
- package/dist/commands/portability.d.ts.map +0 -1
- package/dist/commands/portability.js +0 -50
- package/dist/commands/portability.js.map +0 -1
- package/dist/commands/reflect.d.ts +0 -14
- package/dist/commands/reflect.d.ts.map +0 -1
- package/dist/commands/reflect.js +0 -135
- package/dist/commands/reflect.js.map +0 -1
- package/dist/commands/simulate.d.ts +0 -14
- package/dist/commands/simulate.d.ts.map +0 -1
- package/dist/commands/simulate.js +0 -86
- package/dist/commands/simulate.js.map +0 -1
- package/dist/core/event-log.d.ts +0 -44
- package/dist/core/event-log.d.ts.map +0 -1
- package/dist/core/event-log.js +0 -169
- package/dist/core/event-log.js.map +0 -1
- package/dist/core/evolution/event-clusters.d.ts +0 -4
- package/dist/core/evolution/event-clusters.d.ts.map +0 -1
- package/dist/core/evolution/event-clusters.js +0 -82
- package/dist/core/evolution/event-clusters.js.map +0 -1
- package/dist/core/evolution/recommendation-renderer.d.ts +0 -3
- package/dist/core/evolution/recommendation-renderer.d.ts.map +0 -1
- package/dist/core/evolution/recommendation-renderer.js +0 -24
- package/dist/core/evolution/recommendation-renderer.js.map +0 -1
- package/dist/core/evolution/review-failure-clusters.d.ts +0 -10
- package/dist/core/evolution/review-failure-clusters.d.ts.map +0 -1
- package/dist/core/evolution/review-failure-clusters.js +0 -30
- package/dist/core/evolution/review-failure-clusters.js.map +0 -1
- package/dist/core/evolution/suggestions.d.ts +0 -24
- package/dist/core/evolution/suggestions.d.ts.map +0 -1
- package/dist/core/evolution/suggestions.js +0 -11
- package/dist/core/evolution/suggestions.js.map +0 -1
- package/dist/core/gate-policy.d.ts +0 -20
- package/dist/core/gate-policy.d.ts.map +0 -1
- package/dist/core/gate-policy.js +0 -64
- package/dist/core/gate-policy.js.map +0 -1
- package/dist/core/portability-matrix.d.ts +0 -17
- package/dist/core/portability-matrix.d.ts.map +0 -1
- package/dist/core/portability-matrix.js +0 -31
- package/dist/core/portability-matrix.js.map +0 -1
- package/dist/core/simulation-runner.d.ts +0 -93
- package/dist/core/simulation-runner.d.ts.map +0 -1
- package/dist/core/simulation-runner.js +0 -161
- package/dist/core/simulation-runner.js.map +0 -1
- package/dist/core/usage/usage-analyzer.d.ts +0 -18
- package/dist/core/usage/usage-analyzer.d.ts.map +0 -1
- package/dist/core/usage/usage-analyzer.js +0 -41
- package/dist/core/usage/usage-analyzer.js.map +0 -1
- package/dist/memory/archive.d.ts +0 -9
- package/dist/memory/archive.d.ts.map +0 -1
- package/dist/memory/archive.js +0 -42
- package/dist/memory/archive.js.map +0 -1
- package/dist/memory/compact.d.ts +0 -9
- package/dist/memory/compact.d.ts.map +0 -1
- package/dist/memory/compact.js +0 -33
- package/dist/memory/compact.js.map +0 -1
- package/dist/memory/conflicts.d.ts +0 -8
- package/dist/memory/conflicts.d.ts.map +0 -1
- package/dist/memory/conflicts.js +0 -28
- package/dist/memory/conflicts.js.map +0 -1
- package/dist/memory/promote.d.ts +0 -8
- package/dist/memory/promote.d.ts.map +0 -1
- package/dist/memory/promote.js +0 -10
- package/dist/memory/promote.js.map +0 -1
- package/dist/memory/store-utils.d.ts +0 -14
- package/dist/memory/store-utils.d.ts.map +0 -1
- package/dist/memory/store-utils.js +0 -44
- package/dist/memory/store-utils.js.map +0 -1
- package/dist/migrate/__tests__/frontmatter-parser.test.d.ts +0 -2
- package/dist/migrate/__tests__/frontmatter-parser.test.d.ts.map +0 -1
- package/dist/migrate/__tests__/frontmatter-parser.test.js +0 -73
- package/dist/migrate/__tests__/frontmatter-parser.test.js.map +0 -1
- package/dist/migrate/__tests__/md-strip-mewkit.test.d.ts +0 -2
- package/dist/migrate/__tests__/md-strip-mewkit.test.d.ts.map +0 -1
- package/dist/migrate/__tests__/md-strip-mewkit.test.js +0 -55
- package/dist/migrate/__tests__/md-strip-mewkit.test.js.map +0 -1
- package/dist/migrate/__tests__/migrate-scope-resolver.test.d.ts +0 -2
- package/dist/migrate/__tests__/migrate-scope-resolver.test.d.ts.map +0 -1
- package/dist/migrate/__tests__/migrate-scope-resolver.test.js +0 -53
- package/dist/migrate/__tests__/migrate-scope-resolver.test.js.map +0 -1
- package/dist/migrate/__tests__/process-lock.test.d.ts +0 -2
- package/dist/migrate/__tests__/process-lock.test.d.ts.map +0 -1
- package/dist/migrate/__tests__/process-lock.test.js +0 -63
- package/dist/migrate/__tests__/process-lock.test.js.map +0 -1
- package/dist/migrate/__tests__/provider-registry.test.d.ts +0 -2
- package/dist/migrate/__tests__/provider-registry.test.d.ts.map +0 -1
- package/dist/migrate/__tests__/provider-registry.test.js +0 -53
- package/dist/migrate/__tests__/provider-registry.test.js.map +0 -1
- package/dist/migrate/__tests__/reconciler.test.d.ts +0 -2
- package/dist/migrate/__tests__/reconciler.test.d.ts.map +0 -1
- package/dist/migrate/__tests__/reconciler.test.js +0 -180
- package/dist/migrate/__tests__/reconciler.test.js.map +0 -1
- package/dist/migrate/__tests__/skill-id-utils.test.d.ts +0 -2
- package/dist/migrate/__tests__/skill-id-utils.test.d.ts.map +0 -1
- package/dist/migrate/__tests__/skill-id-utils.test.js +0 -78
- package/dist/migrate/__tests__/skill-id-utils.test.js.map +0 -1
- package/dist/migrate/converters/md-to-codex-rules.d.ts +0 -10
- package/dist/migrate/converters/md-to-codex-rules.d.ts.map +0 -1
- package/dist/migrate/converters/md-to-codex-rules.js +0 -133
- package/dist/migrate/converters/md-to-codex-rules.js.map +0 -1
- package/dist/orchviz/constants.d.ts +0 -72
- package/dist/orchviz/constants.d.ts.map +0 -1
- package/dist/orchviz/constants.js +0 -105
- package/dist/orchviz/constants.js.map +0 -1
- package/dist/orchviz/fs-utils.d.ts +0 -24
- package/dist/orchviz/fs-utils.d.ts.map +0 -1
- package/dist/orchviz/fs-utils.js +0 -49
- package/dist/orchviz/fs-utils.js.map +0 -1
- package/dist/orchviz/index.d.ts +0 -29
- package/dist/orchviz/index.d.ts.map +0 -1
- package/dist/orchviz/index.js +0 -28
- package/dist/orchviz/index.js.map +0 -1
- package/dist/orchviz/log-persister.d.ts +0 -22
- package/dist/orchviz/log-persister.d.ts.map +0 -1
- package/dist/orchviz/log-persister.js +0 -96
- package/dist/orchviz/log-persister.js.map +0 -1
- package/dist/orchviz/logger.d.ts +0 -13
- package/dist/orchviz/logger.d.ts.map +0 -1
- package/dist/orchviz/logger.js +0 -47
- package/dist/orchviz/logger.js.map +0 -1
- package/dist/orchviz/open-url.d.ts +0 -11
- package/dist/orchviz/open-url.d.ts.map +0 -1
- package/dist/orchviz/open-url.js.map +0 -1
- package/dist/orchviz/overlay/collector.d.ts +0 -29
- package/dist/orchviz/overlay/collector.d.ts.map +0 -1
- package/dist/orchviz/overlay/collector.js +0 -38
- package/dist/orchviz/overlay/collector.js.map +0 -1
- package/dist/orchviz/overlay/gate-readers.d.ts +0 -18
- package/dist/orchviz/overlay/gate-readers.d.ts.map +0 -1
- package/dist/orchviz/overlay/gate-readers.js +0 -111
- package/dist/orchviz/overlay/gate-readers.js.map +0 -1
- package/dist/orchviz/overlay/session-state-readers.d.ts +0 -18
- package/dist/orchviz/overlay/session-state-readers.d.ts.map +0 -1
- package/dist/orchviz/overlay/session-state-readers.js +0 -78
- package/dist/orchviz/overlay/session-state-readers.js.map +0 -1
- package/dist/orchviz/parser/handle-progress.d.ts +0 -9
- package/dist/orchviz/parser/handle-progress.d.ts.map +0 -1
- package/dist/orchviz/parser/handle-progress.js +0 -38
- package/dist/orchviz/parser/handle-progress.js.map +0 -1
- package/dist/orchviz/parser/handle-system.d.ts +0 -22
- package/dist/orchviz/parser/handle-system.d.ts.map +0 -1
- package/dist/orchviz/parser/handle-system.js +0 -99
- package/dist/orchviz/parser/handle-system.js.map +0 -1
- package/dist/orchviz/parser/handle-text.d.ts +0 -10
- package/dist/orchviz/parser/handle-text.d.ts.map +0 -1
- package/dist/orchviz/parser/handle-text.js +0 -83
- package/dist/orchviz/parser/handle-text.js.map +0 -1
- package/dist/orchviz/parser/handle-thinking.d.ts +0 -10
- package/dist/orchviz/parser/handle-thinking.d.ts.map +0 -1
- package/dist/orchviz/parser/handle-thinking.js +0 -35
- package/dist/orchviz/parser/handle-thinking.js.map +0 -1
- package/dist/orchviz/parser/handle-tool-result.d.ts +0 -10
- package/dist/orchviz/parser/handle-tool-result.d.ts.map +0 -1
- package/dist/orchviz/parser/handle-tool-result.js +0 -130
- package/dist/orchviz/parser/handle-tool-result.js.map +0 -1
- package/dist/orchviz/parser/handle-tool-use.d.ts +0 -11
- package/dist/orchviz/parser/handle-tool-use.d.ts.map +0 -1
- package/dist/orchviz/parser/handle-tool-use.js +0 -120
- package/dist/orchviz/parser/handle-tool-use.js.map +0 -1
- package/dist/orchviz/parser/index.d.ts +0 -38
- package/dist/orchviz/parser/index.d.ts.map +0 -1
- package/dist/orchviz/parser/index.js +0 -144
- package/dist/orchviz/parser/index.js.map +0 -1
- package/dist/orchviz/parser/label-helpers.d.ts +0 -9
- package/dist/orchviz/parser/label-helpers.d.ts.map +0 -1
- package/dist/orchviz/parser/label-helpers.js +0 -44
- package/dist/orchviz/parser/label-helpers.js.map +0 -1
- package/dist/orchviz/parser/strip-ansi.d.ts +0 -6
- package/dist/orchviz/parser/strip-ansi.d.ts.map +0 -1
- package/dist/orchviz/parser/strip-ansi.js +0 -14
- package/dist/orchviz/parser/strip-ansi.js.map +0 -1
- package/dist/orchviz/parser/utils.d.ts +0 -20
- package/dist/orchviz/parser/utils.d.ts.map +0 -1
- package/dist/orchviz/parser/utils.js +0 -54
- package/dist/orchviz/parser/utils.js.map +0 -1
- package/dist/orchviz/permission-detection.d.ts +0 -32
- package/dist/orchviz/permission-detection.d.ts.map +0 -1
- package/dist/orchviz/permission-detection.js +0 -104
- package/dist/orchviz/permission-detection.js.map +0 -1
- package/dist/orchviz/plan/__tests__/apply-todo-toggle.test.d.ts +0 -15
- package/dist/orchviz/plan/__tests__/apply-todo-toggle.test.d.ts.map +0 -1
- package/dist/orchviz/plan/__tests__/apply-todo-toggle.test.js +0 -165
- package/dist/orchviz/plan/__tests__/apply-todo-toggle.test.js.map +0 -1
- package/dist/orchviz/plan/__tests__/atomic-write.test.d.ts +0 -11
- package/dist/orchviz/plan/__tests__/atomic-write.test.d.ts.map +0 -1
- package/dist/orchviz/plan/__tests__/atomic-write.test.js +0 -89
- package/dist/orchviz/plan/__tests__/atomic-write.test.js.map +0 -1
- package/dist/orchviz/plan/__tests__/end-to-end.test.d.ts +0 -10
- package/dist/orchviz/plan/__tests__/end-to-end.test.d.ts.map +0 -1
- package/dist/orchviz/plan/__tests__/end-to-end.test.js +0 -132
- package/dist/orchviz/plan/__tests__/end-to-end.test.js.map +0 -1
- package/dist/orchviz/plan/__tests__/etag.test.d.ts +0 -11
- package/dist/orchviz/plan/__tests__/etag.test.d.ts.map +0 -1
- package/dist/orchviz/plan/__tests__/etag.test.js +0 -92
- package/dist/orchviz/plan/__tests__/etag.test.js.map +0 -1
- package/dist/orchviz/plan/__tests__/list-plans.test.d.ts +0 -14
- package/dist/orchviz/plan/__tests__/list-plans.test.d.ts.map +0 -1
- package/dist/orchviz/plan/__tests__/list-plans.test.js +0 -154
- package/dist/orchviz/plan/__tests__/list-plans.test.js.map +0 -1
- package/dist/orchviz/plan/apply-todo-toggle.d.ts +0 -29
- package/dist/orchviz/plan/apply-todo-toggle.d.ts.map +0 -1
- package/dist/orchviz/plan/apply-todo-toggle.js +0 -129
- package/dist/orchviz/plan/apply-todo-toggle.js.map +0 -1
- package/dist/orchviz/plan/atomic-write.d.ts +0 -25
- package/dist/orchviz/plan/atomic-write.d.ts.map +0 -1
- package/dist/orchviz/plan/atomic-write.js +0 -85
- package/dist/orchviz/plan/atomic-write.js.map +0 -1
- package/dist/orchviz/plan/collector.d.ts +0 -49
- package/dist/orchviz/plan/collector.d.ts.map +0 -1
- package/dist/orchviz/plan/collector.js +0 -169
- package/dist/orchviz/plan/collector.js.map +0 -1
- package/dist/orchviz/plan/etag.d.ts +0 -24
- package/dist/orchviz/plan/etag.d.ts.map +0 -1
- package/dist/orchviz/plan/etag.js +0 -58
- package/dist/orchviz/plan/etag.js.map +0 -1
- package/dist/orchviz/plan/find-active-plan.d.ts +0 -9
- package/dist/orchviz/plan/find-active-plan.d.ts.map +0 -1
- package/dist/orchviz/plan/find-active-plan.js +0 -90
- package/dist/orchviz/plan/find-active-plan.js.map +0 -1
- package/dist/orchviz/plan/index.d.ts +0 -23
- package/dist/orchviz/plan/index.d.ts.map +0 -1
- package/dist/orchviz/plan/index.js +0 -91
- package/dist/orchviz/plan/index.js.map +0 -1
- package/dist/orchviz/plan/list-plans.d.ts +0 -19
- package/dist/orchviz/plan/list-plans.d.ts.map +0 -1
- package/dist/orchviz/plan/list-plans.js +0 -143
- package/dist/orchviz/plan/list-plans.js.map +0 -1
- package/dist/orchviz/plan/parse-phase-file.d.ts +0 -13
- package/dist/orchviz/plan/parse-phase-file.d.ts.map +0 -1
- package/dist/orchviz/plan/parse-phase-file.js +0 -134
- package/dist/orchviz/plan/parse-phase-file.js.map +0 -1
- package/dist/orchviz/plan/parse-plan-file.d.ts +0 -19
- package/dist/orchviz/plan/parse-plan-file.d.ts.map +0 -1
- package/dist/orchviz/plan/parse-plan-file.js +0 -62
- package/dist/orchviz/plan/parse-plan-file.js.map +0 -1
- package/dist/orchviz/plan/plan-constants.d.ts +0 -17
- package/dist/orchviz/plan/plan-constants.d.ts.map +0 -1
- package/dist/orchviz/plan/plan-constants.js +0 -19
- package/dist/orchviz/plan/plan-constants.js.map +0 -1
- package/dist/orchviz/plan/plan-lifecycle.d.ts +0 -17
- package/dist/orchviz/plan/plan-lifecycle.d.ts.map +0 -1
- package/dist/orchviz/plan/plan-lifecycle.js +0 -97
- package/dist/orchviz/plan/plan-lifecycle.js.map +0 -1
- package/dist/orchviz/plan/types.d.ts +0 -46
- package/dist/orchviz/plan/types.d.ts.map +0 -1
- package/dist/orchviz/plan/types.js +0 -6
- package/dist/orchviz/plan/types.js.map +0 -1
- package/dist/orchviz/protocol.d.ts +0 -171
- package/dist/orchviz/protocol.d.ts.map +0 -1
- package/dist/orchviz/protocol.js +0 -23
- package/dist/orchviz/protocol.js.map +0 -1
- package/dist/orchviz/redact.d.ts +0 -10
- package/dist/orchviz/redact.d.ts.map +0 -1
- package/dist/orchviz/redact.js +0 -38
- package/dist/orchviz/redact.js.map +0 -1
- package/dist/orchviz/sanitize.d.ts +0 -11
- package/dist/orchviz/sanitize.d.ts.map +0 -1
- package/dist/orchviz/sanitize.js +0 -38
- package/dist/orchviz/sanitize.js.map +0 -1
- package/dist/orchviz/server/__tests__/security-smoke.test.d.ts +0 -13
- package/dist/orchviz/server/__tests__/security-smoke.test.d.ts.map +0 -1
- package/dist/orchviz/server/__tests__/security-smoke.test.js +0 -207
- package/dist/orchviz/server/__tests__/security-smoke.test.js.map +0 -1
- package/dist/orchviz/server/__tests__/write-handlers.test.d.ts +0 -24
- package/dist/orchviz/server/__tests__/write-handlers.test.d.ts.map +0 -1
- package/dist/orchviz/server/__tests__/write-handlers.test.js +0 -347
- package/dist/orchviz/server/__tests__/write-handlers.test.js.map +0 -1
- package/dist/orchviz/server/api-handlers.d.ts +0 -55
- package/dist/orchviz/server/api-handlers.d.ts.map +0 -1
- package/dist/orchviz/server/api-handlers.js +0 -112
- package/dist/orchviz/server/api-handlers.js.map +0 -1
- package/dist/orchviz/server/index.d.ts +0 -36
- package/dist/orchviz/server/index.d.ts.map +0 -1
- package/dist/orchviz/server/index.js +0 -144
- package/dist/orchviz/server/index.js.map +0 -1
- package/dist/orchviz/server/sse-handler.d.ts +0 -28
- package/dist/orchviz/server/sse-handler.d.ts.map +0 -1
- package/dist/orchviz/server/sse-handler.js +0 -217
- package/dist/orchviz/server/sse-handler.js.map +0 -1
- package/dist/orchviz/server/static-handler.d.ts +0 -9
- package/dist/orchviz/server/static-handler.d.ts.map +0 -1
- package/dist/orchviz/server/static-handler.js.map +0 -1
- package/dist/orchviz/server/write-handlers.d.ts +0 -20
- package/dist/orchviz/server/write-handlers.d.ts.map +0 -1
- package/dist/orchviz/server/write-handlers.js +0 -184
- package/dist/orchviz/server/write-handlers.js.map +0 -1
- package/dist/orchviz/server/write-utils.d.ts +0 -59
- package/dist/orchviz/server/write-utils.d.ts.map +0 -1
- package/dist/orchviz/server/write-utils.js +0 -161
- package/dist/orchviz/server/write-utils.js.map +0 -1
- package/dist/orchviz/session-discovery.d.ts +0 -19
- package/dist/orchviz/session-discovery.d.ts.map +0 -1
- package/dist/orchviz/session-discovery.js +0 -104
- package/dist/orchviz/session-discovery.js.map +0 -1
- package/dist/orchviz/session-manager.d.ts +0 -17
- package/dist/orchviz/session-manager.d.ts.map +0 -1
- package/dist/orchviz/session-manager.js +0 -63
- package/dist/orchviz/session-manager.js.map +0 -1
- package/dist/orchviz/session-runtime.d.ts +0 -21
- package/dist/orchviz/session-runtime.d.ts.map +0 -1
- package/dist/orchviz/session-runtime.js +0 -135
- package/dist/orchviz/session-runtime.js.map +0 -1
- package/dist/orchviz/session-watcher.d.ts +0 -33
- package/dist/orchviz/session-watcher.d.ts.map +0 -1
- package/dist/orchviz/session-watcher.js +0 -135
- package/dist/orchviz/session-watcher.js.map +0 -1
- package/dist/orchviz/subagent-meta.d.ts +0 -12
- package/dist/orchviz/subagent-meta.d.ts.map +0 -1
- package/dist/orchviz/subagent-meta.js +0 -34
- package/dist/orchviz/subagent-meta.js.map +0 -1
- package/dist/orchviz/subagent-scanner.d.ts +0 -15
- package/dist/orchviz/subagent-scanner.d.ts.map +0 -1
- package/dist/orchviz/subagent-scanner.js +0 -27
- package/dist/orchviz/subagent-scanner.js.map +0 -1
- package/dist/orchviz/subagent-watcher.d.ts +0 -20
- package/dist/orchviz/subagent-watcher.d.ts.map +0 -1
- package/dist/orchviz/subagent-watcher.js +0 -160
- package/dist/orchviz/subagent-watcher.js.map +0 -1
- package/dist/orchviz/test-server-boot.d.ts +0 -28
- package/dist/orchviz/test-server-boot.d.ts.map +0 -1
- package/dist/orchviz/test-server-boot.js +0 -64
- package/dist/orchviz/test-server-boot.js.map +0 -1
- package/dist/orchviz/token-estimator.d.ts.map +0 -1
- package/dist/orchviz/token-estimator.js.map +0 -1
- package/dist/orchviz/tool-input-data.d.ts +0 -11
- package/dist/orchviz/tool-input-data.d.ts.map +0 -1
- package/dist/orchviz/tool-input-data.js +0 -74
- package/dist/orchviz/tool-input-data.js.map +0 -1
- package/dist/orchviz/tool-summarizer.d.ts +0 -16
- package/dist/orchviz/tool-summarizer.d.ts.map +0 -1
- package/dist/orchviz/tool-summarizer.js +0 -129
- package/dist/orchviz/tool-summarizer.js.map +0 -1
- package/dist/orchviz-web/fira-code-cyrillic-400-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-cyrillic-400-normal.woff2 +0 -0
- package/dist/orchviz-web/fira-code-cyrillic-500-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-cyrillic-500-normal.woff2 +0 -0
- package/dist/orchviz-web/fira-code-cyrillic-ext-400-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-cyrillic-ext-400-normal.woff2 +0 -0
- package/dist/orchviz-web/fira-code-cyrillic-ext-500-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-cyrillic-ext-500-normal.woff2 +0 -0
- package/dist/orchviz-web/fira-code-greek-400-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-greek-400-normal.woff2 +0 -0
- package/dist/orchviz-web/fira-code-greek-500-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-greek-500-normal.woff2 +0 -0
- package/dist/orchviz-web/fira-code-greek-ext-400-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-greek-ext-400-normal.woff2 +0 -0
- package/dist/orchviz-web/fira-code-greek-ext-500-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-greek-ext-500-normal.woff2 +0 -0
- package/dist/orchviz-web/fira-code-latin-400-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-latin-400-normal.woff2 +0 -0
- package/dist/orchviz-web/fira-code-latin-500-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-latin-500-normal.woff2 +0 -0
- package/dist/orchviz-web/fira-code-latin-ext-400-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-latin-ext-400-normal.woff2 +0 -0
- package/dist/orchviz-web/fira-code-latin-ext-500-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-latin-ext-500-normal.woff2 +0 -0
- package/dist/orchviz-web/fira-code-symbols2-400-normal.woff +0 -0
- package/dist/orchviz-web/fira-code-symbols2-500-normal.woff +0 -0
- package/dist/orchviz-web/index.css +0 -1
- package/dist/orchviz-web/index.html +0 -18
- package/dist/orchviz-web/index.js +0 -53
- package/dist/orchviz-web/inter-cyrillic-400-normal.woff +0 -0
- package/dist/orchviz-web/inter-cyrillic-400-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-cyrillic-500-normal.woff +0 -0
- package/dist/orchviz-web/inter-cyrillic-500-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-cyrillic-600-normal.woff +0 -0
- package/dist/orchviz-web/inter-cyrillic-600-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-cyrillic-ext-400-normal.woff +0 -0
- package/dist/orchviz-web/inter-cyrillic-ext-400-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-cyrillic-ext-500-normal.woff +0 -0
- package/dist/orchviz-web/inter-cyrillic-ext-500-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-cyrillic-ext-600-normal.woff +0 -0
- package/dist/orchviz-web/inter-cyrillic-ext-600-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-greek-400-normal.woff +0 -0
- package/dist/orchviz-web/inter-greek-400-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-greek-500-normal.woff +0 -0
- package/dist/orchviz-web/inter-greek-500-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-greek-600-normal.woff +0 -0
- package/dist/orchviz-web/inter-greek-600-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-greek-ext-400-normal.woff +0 -0
- package/dist/orchviz-web/inter-greek-ext-400-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-greek-ext-500-normal.woff +0 -0
- package/dist/orchviz-web/inter-greek-ext-500-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-greek-ext-600-normal.woff +0 -0
- package/dist/orchviz-web/inter-greek-ext-600-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-latin-400-normal.woff +0 -0
- package/dist/orchviz-web/inter-latin-400-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-latin-500-normal.woff +0 -0
- package/dist/orchviz-web/inter-latin-500-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-latin-600-normal.woff +0 -0
- package/dist/orchviz-web/inter-latin-600-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-latin-ext-400-normal.woff +0 -0
- package/dist/orchviz-web/inter-latin-ext-400-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-latin-ext-500-normal.woff +0 -0
- package/dist/orchviz-web/inter-latin-ext-500-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-latin-ext-600-normal.woff +0 -0
- package/dist/orchviz-web/inter-latin-ext-600-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-vietnamese-400-normal.woff +0 -0
- package/dist/orchviz-web/inter-vietnamese-400-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-vietnamese-500-normal.woff +0 -0
- package/dist/orchviz-web/inter-vietnamese-500-normal.woff2 +0 -0
- package/dist/orchviz-web/inter-vietnamese-600-normal.woff +0 -0
- package/dist/orchviz-web/inter-vietnamese-600-normal.woff2 +0 -0
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { type ContextEnvelope } from "./repo-context.js";
|
|
3
|
+
/** The record schema version THIS CLI writes. Bump on any breaking record shape change. */
|
|
4
|
+
export declare const TASK_RECORD_SCHEMA_VERSION = "1.0";
|
|
5
|
+
/** Record schema versions this CLI can safely READ. A record outside this set is rejected. */
|
|
6
|
+
export declare const SUPPORTED_TASK_RECORD_SCHEMAS: ReadonlySet<string>;
|
|
7
|
+
export declare const CapabilityDecisionSchema: z.ZodObject<{
|
|
8
|
+
capabilityId: z.ZodString;
|
|
9
|
+
decision: z.ZodEnum<["selected", "skipped", "unavailable", "unsupported"]>;
|
|
10
|
+
reason: z.ZodString;
|
|
11
|
+
/** References the Phase-3 availability snapshot that justified the decision. */
|
|
12
|
+
adapterSnapshotId: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
reason: string;
|
|
15
|
+
decision: "selected" | "unsupported" | "skipped" | "unavailable";
|
|
16
|
+
capabilityId: string;
|
|
17
|
+
adapterSnapshotId?: string | undefined;
|
|
18
|
+
}, {
|
|
19
|
+
reason: string;
|
|
20
|
+
decision: "selected" | "unsupported" | "skipped" | "unavailable";
|
|
21
|
+
capabilityId: string;
|
|
22
|
+
adapterSnapshotId?: string | undefined;
|
|
23
|
+
}>;
|
|
24
|
+
export declare const RepoRefSchema: z.ZodObject<{
|
|
25
|
+
/** Stable repository identity (remote URL, path hash, or name) — never invented. */
|
|
26
|
+
identity: z.ZodString;
|
|
27
|
+
/** VCS revision when available; null for non-git roots (no fabricated revision). */
|
|
28
|
+
revision: z.ZodNullable<z.ZodString>;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
revision: string | null;
|
|
31
|
+
identity: string;
|
|
32
|
+
}, {
|
|
33
|
+
revision: string | null;
|
|
34
|
+
identity: string;
|
|
35
|
+
}>;
|
|
36
|
+
export declare const TaskRecordSchema: z.ZodObject<{
|
|
37
|
+
schemaVersion: z.ZodLiteral<"1.0">;
|
|
38
|
+
taskId: z.ZodString;
|
|
39
|
+
planPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
40
|
+
status: z.ZodEnum<["active", "blocked", "done"]>;
|
|
41
|
+
currentStep: z.ZodDefault<z.ZodString>;
|
|
42
|
+
repos: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
43
|
+
/** Stable repository identity (remote URL, path hash, or name) — never invented. */
|
|
44
|
+
identity: z.ZodString;
|
|
45
|
+
/** VCS revision when available; null for non-git roots (no fabricated revision). */
|
|
46
|
+
revision: z.ZodNullable<z.ZodString>;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
revision: string | null;
|
|
49
|
+
identity: string;
|
|
50
|
+
}, {
|
|
51
|
+
revision: string | null;
|
|
52
|
+
identity: string;
|
|
53
|
+
}>, "many">>;
|
|
54
|
+
blockers: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
55
|
+
nextAction: z.ZodDefault<z.ZodString>;
|
|
56
|
+
verificationSummaries: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
57
|
+
ref: z.ZodString;
|
|
58
|
+
result: z.ZodString;
|
|
59
|
+
}, "strip", z.ZodTypeAny, {
|
|
60
|
+
ref: string;
|
|
61
|
+
result: string;
|
|
62
|
+
}, {
|
|
63
|
+
ref: string;
|
|
64
|
+
result: string;
|
|
65
|
+
}>, "many">>;
|
|
66
|
+
evidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
67
|
+
capabilityDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
68
|
+
capabilityId: z.ZodString;
|
|
69
|
+
decision: z.ZodEnum<["selected", "skipped", "unavailable", "unsupported"]>;
|
|
70
|
+
reason: z.ZodString;
|
|
71
|
+
/** References the Phase-3 availability snapshot that justified the decision. */
|
|
72
|
+
adapterSnapshotId: z.ZodOptional<z.ZodString>;
|
|
73
|
+
}, "strip", z.ZodTypeAny, {
|
|
74
|
+
reason: string;
|
|
75
|
+
decision: "selected" | "unsupported" | "skipped" | "unavailable";
|
|
76
|
+
capabilityId: string;
|
|
77
|
+
adapterSnapshotId?: string | undefined;
|
|
78
|
+
}, {
|
|
79
|
+
reason: string;
|
|
80
|
+
decision: "selected" | "unsupported" | "skipped" | "unavailable";
|
|
81
|
+
capabilityId: string;
|
|
82
|
+
adapterSnapshotId?: string | undefined;
|
|
83
|
+
}>, "many">>;
|
|
84
|
+
/** Provenance only (never the compatibility gate): who wrote this record. */
|
|
85
|
+
writtenByCli: z.ZodDefault<z.ZodString>;
|
|
86
|
+
writtenByKit: z.ZodDefault<z.ZodString>;
|
|
87
|
+
updatedAt: z.ZodString;
|
|
88
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
89
|
+
schemaVersion: z.ZodLiteral<"1.0">;
|
|
90
|
+
taskId: z.ZodString;
|
|
91
|
+
planPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
92
|
+
status: z.ZodEnum<["active", "blocked", "done"]>;
|
|
93
|
+
currentStep: z.ZodDefault<z.ZodString>;
|
|
94
|
+
repos: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
95
|
+
/** Stable repository identity (remote URL, path hash, or name) — never invented. */
|
|
96
|
+
identity: z.ZodString;
|
|
97
|
+
/** VCS revision when available; null for non-git roots (no fabricated revision). */
|
|
98
|
+
revision: z.ZodNullable<z.ZodString>;
|
|
99
|
+
}, "strip", z.ZodTypeAny, {
|
|
100
|
+
revision: string | null;
|
|
101
|
+
identity: string;
|
|
102
|
+
}, {
|
|
103
|
+
revision: string | null;
|
|
104
|
+
identity: string;
|
|
105
|
+
}>, "many">>;
|
|
106
|
+
blockers: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
107
|
+
nextAction: z.ZodDefault<z.ZodString>;
|
|
108
|
+
verificationSummaries: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
109
|
+
ref: z.ZodString;
|
|
110
|
+
result: z.ZodString;
|
|
111
|
+
}, "strip", z.ZodTypeAny, {
|
|
112
|
+
ref: string;
|
|
113
|
+
result: string;
|
|
114
|
+
}, {
|
|
115
|
+
ref: string;
|
|
116
|
+
result: string;
|
|
117
|
+
}>, "many">>;
|
|
118
|
+
evidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
119
|
+
capabilityDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
120
|
+
capabilityId: z.ZodString;
|
|
121
|
+
decision: z.ZodEnum<["selected", "skipped", "unavailable", "unsupported"]>;
|
|
122
|
+
reason: z.ZodString;
|
|
123
|
+
/** References the Phase-3 availability snapshot that justified the decision. */
|
|
124
|
+
adapterSnapshotId: z.ZodOptional<z.ZodString>;
|
|
125
|
+
}, "strip", z.ZodTypeAny, {
|
|
126
|
+
reason: string;
|
|
127
|
+
decision: "selected" | "unsupported" | "skipped" | "unavailable";
|
|
128
|
+
capabilityId: string;
|
|
129
|
+
adapterSnapshotId?: string | undefined;
|
|
130
|
+
}, {
|
|
131
|
+
reason: string;
|
|
132
|
+
decision: "selected" | "unsupported" | "skipped" | "unavailable";
|
|
133
|
+
capabilityId: string;
|
|
134
|
+
adapterSnapshotId?: string | undefined;
|
|
135
|
+
}>, "many">>;
|
|
136
|
+
/** Provenance only (never the compatibility gate): who wrote this record. */
|
|
137
|
+
writtenByCli: z.ZodDefault<z.ZodString>;
|
|
138
|
+
writtenByKit: z.ZodDefault<z.ZodString>;
|
|
139
|
+
updatedAt: z.ZodString;
|
|
140
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
141
|
+
schemaVersion: z.ZodLiteral<"1.0">;
|
|
142
|
+
taskId: z.ZodString;
|
|
143
|
+
planPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
144
|
+
status: z.ZodEnum<["active", "blocked", "done"]>;
|
|
145
|
+
currentStep: z.ZodDefault<z.ZodString>;
|
|
146
|
+
repos: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
147
|
+
/** Stable repository identity (remote URL, path hash, or name) — never invented. */
|
|
148
|
+
identity: z.ZodString;
|
|
149
|
+
/** VCS revision when available; null for non-git roots (no fabricated revision). */
|
|
150
|
+
revision: z.ZodNullable<z.ZodString>;
|
|
151
|
+
}, "strip", z.ZodTypeAny, {
|
|
152
|
+
revision: string | null;
|
|
153
|
+
identity: string;
|
|
154
|
+
}, {
|
|
155
|
+
revision: string | null;
|
|
156
|
+
identity: string;
|
|
157
|
+
}>, "many">>;
|
|
158
|
+
blockers: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
159
|
+
nextAction: z.ZodDefault<z.ZodString>;
|
|
160
|
+
verificationSummaries: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
161
|
+
ref: z.ZodString;
|
|
162
|
+
result: z.ZodString;
|
|
163
|
+
}, "strip", z.ZodTypeAny, {
|
|
164
|
+
ref: string;
|
|
165
|
+
result: string;
|
|
166
|
+
}, {
|
|
167
|
+
ref: string;
|
|
168
|
+
result: string;
|
|
169
|
+
}>, "many">>;
|
|
170
|
+
evidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
171
|
+
capabilityDecisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
172
|
+
capabilityId: z.ZodString;
|
|
173
|
+
decision: z.ZodEnum<["selected", "skipped", "unavailable", "unsupported"]>;
|
|
174
|
+
reason: z.ZodString;
|
|
175
|
+
/** References the Phase-3 availability snapshot that justified the decision. */
|
|
176
|
+
adapterSnapshotId: z.ZodOptional<z.ZodString>;
|
|
177
|
+
}, "strip", z.ZodTypeAny, {
|
|
178
|
+
reason: string;
|
|
179
|
+
decision: "selected" | "unsupported" | "skipped" | "unavailable";
|
|
180
|
+
capabilityId: string;
|
|
181
|
+
adapterSnapshotId?: string | undefined;
|
|
182
|
+
}, {
|
|
183
|
+
reason: string;
|
|
184
|
+
decision: "selected" | "unsupported" | "skipped" | "unavailable";
|
|
185
|
+
capabilityId: string;
|
|
186
|
+
adapterSnapshotId?: string | undefined;
|
|
187
|
+
}>, "many">>;
|
|
188
|
+
/** Provenance only (never the compatibility gate): who wrote this record. */
|
|
189
|
+
writtenByCli: z.ZodDefault<z.ZodString>;
|
|
190
|
+
writtenByKit: z.ZodDefault<z.ZodString>;
|
|
191
|
+
updatedAt: z.ZodString;
|
|
192
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
193
|
+
export type TaskRecord = z.infer<typeof TaskRecordSchema>;
|
|
194
|
+
/** Thrown when a record's schemaVersion is outside this CLI's supported range (loud, non-zero). */
|
|
195
|
+
export declare class IncompatibleTaskRecordError extends Error {
|
|
196
|
+
readonly detail: string;
|
|
197
|
+
constructor(detail: string);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* The current active-plan pointer, mirroring the existing hook contract
|
|
201
|
+
* (`session-state/active-plan.json` → `path` || `slug`, else legacy plain-text
|
|
202
|
+
* `session-state/active-plan`). Null when absent. This is the CHECKPOINT JOIN: the task record
|
|
203
|
+
* whose `planPath` matches the pointer is the current task (resolves P4 open decision #3).
|
|
204
|
+
*/
|
|
205
|
+
export declare function readActivePlanPointer(projectRoot: string): string | null;
|
|
206
|
+
/** Read + version-check a single task record. Throws IncompatibleTaskRecordError on schema drift. */
|
|
207
|
+
export declare function readTaskRecord(projectRoot: string, taskId: string): TaskRecord | null;
|
|
208
|
+
/**
|
|
209
|
+
* Atomically write a task record under a per-id lock. Refuses to overwrite an on-disk record
|
|
210
|
+
* whose schemaVersion this CLI cannot read (fails closed — never clobbers an incompatible
|
|
211
|
+
* record). Prefer `updateTaskRecord` for read-modify-write; this is the low-level put.
|
|
212
|
+
*/
|
|
213
|
+
export declare function writeTaskRecord(projectRoot: string, record: TaskRecord): Promise<void>;
|
|
214
|
+
/**
|
|
215
|
+
* Read → mutate → write a task record atomically under ONE lock, so concurrent updates to the
|
|
216
|
+
* same id cannot lose each other's changes (the read-modify-write cycle is serialized). The
|
|
217
|
+
* mutator receives the current record (or null if absent) and returns the next one. An
|
|
218
|
+
* incompatible on-disk record makes the read throw before any write — it is never clobbered.
|
|
219
|
+
*/
|
|
220
|
+
export declare function updateTaskRecord(projectRoot: string, taskId: string, mutate: (existing: TaskRecord | null) => TaskRecord): Promise<TaskRecord>;
|
|
221
|
+
/**
|
|
222
|
+
* Record a repo-context envelope's evidence into an EXISTING durable task record (Phase 5
|
|
223
|
+
* slice 2). Merges — never replaces — so evidence accumulates across a task's steps:
|
|
224
|
+
* - `repos`: the DISTINCT owning repos of the envelope's evidence (via `distinctRepos`), unioned
|
|
225
|
+
* with the record's repos by identity; the newest envelope's revision wins for a repo already
|
|
226
|
+
* present. Multi-repo context is preserved: every owning repo stays its own entry.
|
|
227
|
+
* - `evidenceRefs`: the evidence PATHS unioned with the record's, deduped. The record stays a
|
|
228
|
+
* COMPACT resume summary — the full envelope (with content hashes) lives on disk and is
|
|
229
|
+
* re-checked on demand via `context check`, not duplicated here.
|
|
230
|
+
*
|
|
231
|
+
* Refuses to create a record: context evidence belongs to an active durable task (task-state
|
|
232
|
+
* emission Rule 1). `now` is passed in — the pure core never reads the clock.
|
|
233
|
+
*/
|
|
234
|
+
export declare function recordContextEvidence(projectRoot: string, taskId: string, envelope: ContextEnvelope, now: string): Promise<TaskRecord>;
|
|
235
|
+
/** List all active-dir task ids (record filenames), for resume reconstruction. */
|
|
236
|
+
export declare function listTaskRecordIds(projectRoot: string): string[];
|
|
237
|
+
/**
|
|
238
|
+
* Resume reconstruction: read every active task record from files only (no network, no CLI
|
|
239
|
+
* round-trip). A corrupt/incompatible record is surfaced as an issue rather than crashing the
|
|
240
|
+
* whole reconstruction, so one bad file never blocks resuming the others.
|
|
241
|
+
*/
|
|
242
|
+
export interface ResumeState {
|
|
243
|
+
records: TaskRecord[];
|
|
244
|
+
issues: {
|
|
245
|
+
taskId: string;
|
|
246
|
+
problem: string;
|
|
247
|
+
}[];
|
|
248
|
+
/** The active-plan pointer (checkpoint join); a record whose planPath matches is current. */
|
|
249
|
+
activePlanPointer: string | null;
|
|
250
|
+
}
|
|
251
|
+
export declare function reconstructResumeState(projectRoot: string): ResumeState;
|
|
252
|
+
//# sourceMappingURL=task-record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-record.d.ts","sourceRoot":"","sources":["../../src/core/task-record.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAExE,2FAA2F;AAC3F,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAChD,8FAA8F;AAC9F,eAAO,MAAM,6BAA6B,EAAE,WAAW,CAAC,MAAM,CAAoB,CAAC;AAKnF,eAAO,MAAM,wBAAwB;;;;IAIpC,gFAAgF;;;;;;;;;;;;EAE/E,CAAC;AAEH,eAAO,MAAM,aAAa;IACzB,oFAAoF;;IAEpF,oFAAoF;;;;;;;;EAEnF,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;QAN5B,oFAAoF;;QAEpF,oFAAoF;;;;;;;;;;;;;;;;;;;;;;;;;;QAPpF,gFAAgF;;;;;;;;;;;;;IAuBhF,6EAA6E;;;;;;;;;;;QAlB7E,oFAAoF;;QAEpF,oFAAoF;;;;;;;;;;;;;;;;;;;;;;;;;;QAPpF,gFAAgF;;;;;;;;;;;;;IAuBhF,6EAA6E;;;;;;;;;;;QAlB7E,oFAAoF;;QAEpF,oFAAoF;;;;;;;;;;;;;;;;;;;;;;;;;;QAPpF,gFAAgF;;;;;;;;;;;;;IAuBhF,6EAA6E;;;;gCAQ/D,CAAC;AAChB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,mGAAmG;AACnG,qBAAa,2BAA4B,SAAQ,KAAK;aACzB,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;CAI1C;AAcD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBxE;AAwBD,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAIrF;AA6BD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5F;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACrC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI,KAAK,UAAU,GACjD,OAAO,CAAC,UAAU,CAAC,CASrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,UAAU,CAAC,CAerB;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ/D;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,6FAA6F;IAC7F,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AACD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAmBvE"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
// Minimal durable task state (Phase 4): the one per-task record that lets a fresh session
|
|
2
|
+
// resume and audit capability use. Plans stay the human source of truth — this record JOINS
|
|
3
|
+
// to a plan by path, it does not replace it. Compatibility is governed by the record's own
|
|
4
|
+
// `schemaVersion` checked against the CLI's supported range (OQ6 decision): the record is
|
|
5
|
+
// decoupled from the npm-CLI version line and the kit-release version line, which are recorded
|
|
6
|
+
// as provenance only. Integrity: validated id, realpath containment, atomic replace under a
|
|
7
|
+
// per-file lock (reuses the install-metadata writer pattern).
|
|
8
|
+
import { existsSync, mkdirSync, readFileSync, readdirSync, realpathSync } from "node:fs";
|
|
9
|
+
import { rename, unlink, writeFile } from "node:fs/promises";
|
|
10
|
+
import { join, relative, isAbsolute, sep } from "node:path";
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
import { withFileLock } from "./file-lock.js";
|
|
13
|
+
import { distinctRepos } from "./repo-context.js";
|
|
14
|
+
/** The record schema version THIS CLI writes. Bump on any breaking record shape change. */
|
|
15
|
+
export const TASK_RECORD_SCHEMA_VERSION = "1.0";
|
|
16
|
+
/** Record schema versions this CLI can safely READ. A record outside this set is rejected. */
|
|
17
|
+
export const SUPPORTED_TASK_RECORD_SCHEMAS = new Set(["1.0"]);
|
|
18
|
+
/** Valid task id: lowercase slug, filename-safe (it becomes `<id>.json`). */
|
|
19
|
+
const TASK_ID_RE = /^[a-z0-9][a-z0-9-]{0,63}$/;
|
|
20
|
+
export const CapabilityDecisionSchema = z.object({
|
|
21
|
+
capabilityId: z.string(),
|
|
22
|
+
decision: z.enum(["selected", "skipped", "unavailable", "unsupported"]),
|
|
23
|
+
reason: z.string(),
|
|
24
|
+
/** References the Phase-3 availability snapshot that justified the decision. */
|
|
25
|
+
adapterSnapshotId: z.string().optional(),
|
|
26
|
+
});
|
|
27
|
+
export const RepoRefSchema = z.object({
|
|
28
|
+
/** Stable repository identity (remote URL, path hash, or name) — never invented. */
|
|
29
|
+
identity: z.string(),
|
|
30
|
+
/** VCS revision when available; null for non-git roots (no fabricated revision). */
|
|
31
|
+
revision: z.string().nullable(),
|
|
32
|
+
});
|
|
33
|
+
export const TaskRecordSchema = z.object({
|
|
34
|
+
schemaVersion: z.literal("1.0"),
|
|
35
|
+
taskId: z.string().regex(TASK_ID_RE),
|
|
36
|
+
planPath: z.string().nullable().default(null),
|
|
37
|
+
status: z.enum(["active", "blocked", "done"]),
|
|
38
|
+
currentStep: z.string().default(""),
|
|
39
|
+
repos: z.array(RepoRefSchema).default([]),
|
|
40
|
+
blockers: z.array(z.string()).default([]),
|
|
41
|
+
nextAction: z.string().default(""),
|
|
42
|
+
verificationSummaries: z.array(z.object({ ref: z.string(), result: z.string() })).default([]),
|
|
43
|
+
evidenceRefs: z.array(z.string()).default([]),
|
|
44
|
+
capabilityDecisions: z.array(CapabilityDecisionSchema).default([]),
|
|
45
|
+
/** Provenance only (never the compatibility gate): who wrote this record. */
|
|
46
|
+
writtenByCli: z.string().default(""),
|
|
47
|
+
writtenByKit: z.string().default(""),
|
|
48
|
+
updatedAt: z.string(),
|
|
49
|
+
})
|
|
50
|
+
// Preserve unknown keys through a read→write round-trip. A future CLI may add an
|
|
51
|
+
// additive field WITHOUT bumping schemaVersion (per the versioning note above); an older
|
|
52
|
+
// CLI must not silently strip it when it updates the record.
|
|
53
|
+
.passthrough();
|
|
54
|
+
/** Thrown when a record's schemaVersion is outside this CLI's supported range (loud, non-zero). */
|
|
55
|
+
export class IncompatibleTaskRecordError extends Error {
|
|
56
|
+
detail;
|
|
57
|
+
constructor(detail) {
|
|
58
|
+
super(`Incompatible task record: ${detail}`);
|
|
59
|
+
this.detail = detail;
|
|
60
|
+
this.name = "IncompatibleTaskRecordError";
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* `<projectRoot>/tasks/active` — the durable task-record home. This is the SAME path for a
|
|
65
|
+
* flat-copy AND a plugin install: task records are the CONSUMER PROJECT's state (keyed to the
|
|
66
|
+
* project the agent is working in, `process.cwd()`), not plugin-owned state. `tasks/` is
|
|
67
|
+
* framework-internal state that keeps its path (skill-authoring Rule 2's exception), so it does
|
|
68
|
+
* NOT move to `${CLAUDE_PLUGIN_DATA}` — that root is for a plugin's OWN cross-session data, and
|
|
69
|
+
* putting consumer task records there would misplace them. Resolves P4 open decision #2.
|
|
70
|
+
*/
|
|
71
|
+
function activeDir(projectRoot) {
|
|
72
|
+
return join(projectRoot, "tasks", "active");
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* The current active-plan pointer, mirroring the existing hook contract
|
|
76
|
+
* (`session-state/active-plan.json` → `path` || `slug`, else legacy plain-text
|
|
77
|
+
* `session-state/active-plan`). Null when absent. This is the CHECKPOINT JOIN: the task record
|
|
78
|
+
* whose `planPath` matches the pointer is the current task (resolves P4 open decision #3).
|
|
79
|
+
*/
|
|
80
|
+
export function readActivePlanPointer(projectRoot) {
|
|
81
|
+
const jsonPath = join(projectRoot, "session-state", "active-plan.json");
|
|
82
|
+
if (existsSync(jsonPath)) {
|
|
83
|
+
try {
|
|
84
|
+
const d = JSON.parse(readFileSync(jsonPath, "utf-8"));
|
|
85
|
+
const p = (typeof d.path === "string" && d.path) || (typeof d.slug === "string" && d.slug) || "";
|
|
86
|
+
if (p.trim())
|
|
87
|
+
return p.trim();
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
/* fall through to legacy */
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const legacy = join(projectRoot, "session-state", "active-plan");
|
|
94
|
+
if (existsSync(legacy)) {
|
|
95
|
+
const txt = readFileSync(legacy, "utf-8").trim();
|
|
96
|
+
if (txt)
|
|
97
|
+
return txt;
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
/** Resolve a task-record path and assert it stays contained under tasks/active (realpath). */
|
|
102
|
+
function recordPath(projectRoot, taskId) {
|
|
103
|
+
if (!TASK_ID_RE.test(taskId))
|
|
104
|
+
throw new Error(`invalid task id: ${JSON.stringify(taskId)}`);
|
|
105
|
+
const dir = activeDir(projectRoot);
|
|
106
|
+
const abs = join(dir, `${taskId}.json`);
|
|
107
|
+
// Lexical + realpath containment: the id regex already bars separators/.., this is defense in depth.
|
|
108
|
+
const rel = relative(dir, abs);
|
|
109
|
+
if (rel === ".." || rel.startsWith(".." + sep) || isAbsolute(rel))
|
|
110
|
+
throw new Error(`task path escapes tasks/active: ${taskId}`);
|
|
111
|
+
return abs;
|
|
112
|
+
}
|
|
113
|
+
/** Parse + version-check a record already read from disk. Throws on schema drift. */
|
|
114
|
+
function parseAndCheck(raw) {
|
|
115
|
+
const parsed = JSON.parse(raw);
|
|
116
|
+
if (typeof parsed.schemaVersion === "string" && !SUPPORTED_TASK_RECORD_SCHEMAS.has(parsed.schemaVersion)) {
|
|
117
|
+
throw new IncompatibleTaskRecordError(`record schemaVersion "${parsed.schemaVersion}" not in supported ${JSON.stringify([...SUPPORTED_TASK_RECORD_SCHEMAS])}`);
|
|
118
|
+
}
|
|
119
|
+
return TaskRecordSchema.parse(parsed);
|
|
120
|
+
}
|
|
121
|
+
/** Read + version-check a single task record. Throws IncompatibleTaskRecordError on schema drift. */
|
|
122
|
+
export function readTaskRecord(projectRoot, taskId) {
|
|
123
|
+
const abs = recordPath(projectRoot, taskId);
|
|
124
|
+
if (!existsSync(abs))
|
|
125
|
+
return null;
|
|
126
|
+
return parseAndCheck(readFileSync(abs, "utf-8"));
|
|
127
|
+
}
|
|
128
|
+
/** Atomic temp+rename write of an already-validated record (NO lock — callers hold it). */
|
|
129
|
+
async function atomicReplace(target, record) {
|
|
130
|
+
const serialized = JSON.stringify(record, null, 2) + "\n";
|
|
131
|
+
const tmp = `${target}.tmp-${process.pid}`;
|
|
132
|
+
try {
|
|
133
|
+
await writeFile(tmp, serialized, "utf-8");
|
|
134
|
+
await rename(tmp, target);
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
try {
|
|
138
|
+
await unlink(tmp);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
/* best-effort cleanup */
|
|
142
|
+
}
|
|
143
|
+
throw err;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/** Prepare tasks/active and assert realpath containment; returns the resolved target path. */
|
|
147
|
+
function prepareTarget(projectRoot, taskId) {
|
|
148
|
+
const dir = activeDir(projectRoot);
|
|
149
|
+
mkdirSync(dir, { recursive: true });
|
|
150
|
+
// Realpath containment — reject a symlinked tasks/active escaping the project root.
|
|
151
|
+
const relDir = relative(realpathSync(projectRoot), realpathSync(dir));
|
|
152
|
+
if (relDir.startsWith("..") || isAbsolute(relDir))
|
|
153
|
+
throw new Error("tasks/active escapes the project root");
|
|
154
|
+
return recordPath(projectRoot, taskId);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Atomically write a task record under a per-id lock. Refuses to overwrite an on-disk record
|
|
158
|
+
* whose schemaVersion this CLI cannot read (fails closed — never clobbers an incompatible
|
|
159
|
+
* record). Prefer `updateTaskRecord` for read-modify-write; this is the low-level put.
|
|
160
|
+
*/
|
|
161
|
+
export async function writeTaskRecord(projectRoot, record) {
|
|
162
|
+
const validated = TaskRecordSchema.parse(record);
|
|
163
|
+
const target = prepareTarget(projectRoot, validated.taskId);
|
|
164
|
+
const lockPath = join(activeDir(projectRoot), `.${validated.taskId}.lock`);
|
|
165
|
+
await withFileLock(lockPath, async () => {
|
|
166
|
+
if (existsSync(target))
|
|
167
|
+
parseAndCheck(readFileSync(target, "utf-8")); // throws if on-disk is incompatible
|
|
168
|
+
await atomicReplace(target, validated);
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Read → mutate → write a task record atomically under ONE lock, so concurrent updates to the
|
|
173
|
+
* same id cannot lose each other's changes (the read-modify-write cycle is serialized). The
|
|
174
|
+
* mutator receives the current record (or null if absent) and returns the next one. An
|
|
175
|
+
* incompatible on-disk record makes the read throw before any write — it is never clobbered.
|
|
176
|
+
*/
|
|
177
|
+
export async function updateTaskRecord(projectRoot, taskId, mutate) {
|
|
178
|
+
const target = prepareTarget(projectRoot, taskId);
|
|
179
|
+
const lockPath = join(activeDir(projectRoot), `.${taskId}.lock`);
|
|
180
|
+
return withFileLock(lockPath, async () => {
|
|
181
|
+
const existing = existsSync(target) ? parseAndCheck(readFileSync(target, "utf-8")) : null;
|
|
182
|
+
const next = TaskRecordSchema.parse(mutate(existing));
|
|
183
|
+
await atomicReplace(target, next);
|
|
184
|
+
return next;
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Record a repo-context envelope's evidence into an EXISTING durable task record (Phase 5
|
|
189
|
+
* slice 2). Merges — never replaces — so evidence accumulates across a task's steps:
|
|
190
|
+
* - `repos`: the DISTINCT owning repos of the envelope's evidence (via `distinctRepos`), unioned
|
|
191
|
+
* with the record's repos by identity; the newest envelope's revision wins for a repo already
|
|
192
|
+
* present. Multi-repo context is preserved: every owning repo stays its own entry.
|
|
193
|
+
* - `evidenceRefs`: the evidence PATHS unioned with the record's, deduped. The record stays a
|
|
194
|
+
* COMPACT resume summary — the full envelope (with content hashes) lives on disk and is
|
|
195
|
+
* re-checked on demand via `context check`, not duplicated here.
|
|
196
|
+
*
|
|
197
|
+
* Refuses to create a record: context evidence belongs to an active durable task (task-state
|
|
198
|
+
* emission Rule 1). `now` is passed in — the pure core never reads the clock.
|
|
199
|
+
*/
|
|
200
|
+
export async function recordContextEvidence(projectRoot, taskId, envelope, now) {
|
|
201
|
+
return updateTaskRecord(projectRoot, taskId, (existing) => {
|
|
202
|
+
if (!existing)
|
|
203
|
+
throw new Error(`no active task record "${taskId}" — context evidence is recorded only for an existing durable task`);
|
|
204
|
+
// Union owning repos by identity (newest revision wins for a repo already recorded).
|
|
205
|
+
const revByIdentity = new Map(existing.repos.map((r) => [r.identity, r.revision]));
|
|
206
|
+
for (const r of distinctRepos(envelope.evidence))
|
|
207
|
+
revByIdentity.set(r.identity, r.revision);
|
|
208
|
+
const repos = [...revByIdentity]
|
|
209
|
+
.map(([identity, revision]) => ({ identity, revision }))
|
|
210
|
+
.sort((a, b) => (a.identity < b.identity ? -1 : a.identity > b.identity ? 1 : 0));
|
|
211
|
+
// Union evidence paths (compact resume summary — never the hashes).
|
|
212
|
+
const paths = new Set(existing.evidenceRefs);
|
|
213
|
+
for (const e of envelope.evidence)
|
|
214
|
+
paths.add(e.path);
|
|
215
|
+
return { ...existing, repos, evidenceRefs: [...paths].sort(), updatedAt: now };
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
/** List all active-dir task ids (record filenames), for resume reconstruction. */
|
|
219
|
+
export function listTaskRecordIds(projectRoot) {
|
|
220
|
+
const dir = activeDir(projectRoot);
|
|
221
|
+
if (!existsSync(dir))
|
|
222
|
+
return [];
|
|
223
|
+
return readdirSync(dir)
|
|
224
|
+
.filter((f) => f.endsWith(".json"))
|
|
225
|
+
.map((f) => f.replace(/\.json$/, ""))
|
|
226
|
+
.filter((id) => TASK_ID_RE.test(id))
|
|
227
|
+
.sort();
|
|
228
|
+
}
|
|
229
|
+
export function reconstructResumeState(projectRoot) {
|
|
230
|
+
const records = [];
|
|
231
|
+
const issues = [];
|
|
232
|
+
// Listing itself is guarded so a dir-removal race can't crash the whole reconstruction.
|
|
233
|
+
let ids = [];
|
|
234
|
+
try {
|
|
235
|
+
ids = listTaskRecordIds(projectRoot);
|
|
236
|
+
}
|
|
237
|
+
catch (err) {
|
|
238
|
+
issues.push({ taskId: "(listing)", problem: err.message });
|
|
239
|
+
}
|
|
240
|
+
for (const id of ids) {
|
|
241
|
+
try {
|
|
242
|
+
const r = readTaskRecord(projectRoot, id);
|
|
243
|
+
if (r)
|
|
244
|
+
records.push(r);
|
|
245
|
+
}
|
|
246
|
+
catch (err) {
|
|
247
|
+
issues.push({ taskId: id, problem: err.message });
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return { records, issues, activePlanPointer: readActivePlanPointer(projectRoot) };
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=task-record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-record.js","sourceRoot":"","sources":["../../src/core/task-record.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type InventoryEntry } from "./build-inventory.js";
|
|
2
|
+
import { type CapabilityEntry } from "./capability.js";
|
|
3
|
+
export interface CapabilityIssue {
|
|
4
|
+
level: "error" | "warn";
|
|
5
|
+
capabilityId: string | null;
|
|
6
|
+
message: string;
|
|
7
|
+
}
|
|
8
|
+
/** Validate the manifest built from `claudeDir`. Returns all issues (empty ⇒ clean). */
|
|
9
|
+
export declare function validateCapabilities(claudeDir: string): CapabilityIssue[];
|
|
10
|
+
/** Pure validation over a built manifest + inventory. Injectable for testing. */
|
|
11
|
+
export declare function validateCapabilityEntries(entries: CapabilityEntry[], inventoryEntries: InventoryEntry[]): CapabilityIssue[];
|
|
12
|
+
//# sourceMappingURL=validate-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-capabilities.d.ts","sourceRoot":"","sources":["../../src/core/validate-capabilities.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CAChB;AAoCD,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,CAEzE;AAED,iFAAiF;AACjF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CA+F3H"}
|