mewkit 1.14.0 → 1.15.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/README.md +7 -0
- 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/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 +145 -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 +47 -30
- 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/plugin-manifest.d.ts +16 -16
- 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 +9 -2
- 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 +66 -4
- package/dist/index.js.map +1 -1
- package/dist/migrate/apply-env-var-rewrites.d.ts +15 -0
- package/dist/migrate/apply-env-var-rewrites.d.ts.map +1 -0
- package/dist/migrate/apply-env-var-rewrites.js +26 -0
- package/dist/migrate/apply-env-var-rewrites.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/converters/command-to-codex-skill.d.ts.map +1 -1
- package/dist/migrate/converters/command-to-codex-skill.js +15 -5
- package/dist/migrate/converters/command-to-codex-skill.js.map +1 -1
- package/dist/migrate/converters/fm-to-codex-toml.d.ts +4 -1
- package/dist/migrate/converters/fm-to-codex-toml.d.ts.map +1 -1
- package/dist/migrate/converters/fm-to-codex-toml.js +7 -2
- package/dist/migrate/converters/fm-to-codex-toml.js.map +1 -1
- package/dist/migrate/converters/index.js +1 -1
- package/dist/migrate/converters/index.js.map +1 -1
- package/dist/migrate/discovery/config-discovery.d.ts +29 -0
- package/dist/migrate/discovery/config-discovery.d.ts.map +1 -1
- package/dist/migrate/discovery/config-discovery.js +45 -0
- package/dist/migrate/discovery/config-discovery.js.map +1 -1
- package/dist/migrate/discovery/handlers-json-filter.d.ts.map +1 -1
- package/dist/migrate/discovery/handlers-json-filter.js +4 -2
- package/dist/migrate/discovery/handlers-json-filter.js.map +1 -1
- package/dist/migrate/discovery/hooks-discovery.d.ts +5 -0
- package/dist/migrate/discovery/hooks-discovery.d.ts.map +1 -1
- package/dist/migrate/discovery/hooks-discovery.js +21 -5
- package/dist/migrate/discovery/hooks-discovery.js.map +1 -1
- package/dist/migrate/hooks/codex-hook-wrapper.d.ts +15 -1
- package/dist/migrate/hooks/codex-hook-wrapper.d.ts.map +1 -1
- package/dist/migrate/hooks/codex-hook-wrapper.js +78 -7
- package/dist/migrate/hooks/codex-hook-wrapper.js.map +1 -1
- package/dist/migrate/hooks/codex-path-safety.d.ts +29 -0
- package/dist/migrate/hooks/codex-path-safety.d.ts.map +1 -1
- package/dist/migrate/hooks/codex-path-safety.js +36 -1
- package/dist/migrate/hooks/codex-path-safety.js.map +1 -1
- package/dist/migrate/hooks/codex-sh-wrapper-script.d.ts +8 -0
- package/dist/migrate/hooks/codex-sh-wrapper-script.d.ts.map +1 -0
- package/dist/migrate/hooks/codex-sh-wrapper-script.js +118 -0
- package/dist/migrate/hooks/codex-sh-wrapper-script.js.map +1 -0
- package/dist/migrate/hooks/codex-shell-env-installer.d.ts +14 -0
- package/dist/migrate/hooks/codex-shell-env-installer.d.ts.map +1 -0
- package/dist/migrate/hooks/codex-shell-env-installer.js +82 -0
- package/dist/migrate/hooks/codex-shell-env-installer.js.map +1 -0
- package/dist/migrate/hooks/codex-toml-installer.d.ts +2 -0
- package/dist/migrate/hooks/codex-toml-installer.d.ts.map +1 -1
- package/dist/migrate/hooks/codex-toml-installer.js +3 -1
- package/dist/migrate/hooks/codex-toml-installer.js.map +1 -1
- package/dist/migrate/hooks/hooks-settings-merger.d.ts +3 -0
- package/dist/migrate/hooks/hooks-settings-merger.d.ts.map +1 -1
- package/dist/migrate/hooks/hooks-settings-merger.js +152 -20
- package/dist/migrate/hooks/hooks-settings-merger.js.map +1 -1
- package/dist/migrate/migrate-orchestrator.d.ts +19 -0
- package/dist/migrate/migrate-orchestrator.d.ts.map +1 -1
- package/dist/migrate/migrate-orchestrator.js +176 -24
- package/dist/migrate/migrate-orchestrator.js.map +1 -1
- package/dist/migrate/migrate-ui-summary.d.ts +23 -0
- package/dist/migrate/migrate-ui-summary.d.ts.map +1 -1
- package/dist/migrate/migrate-ui-summary.js +24 -0
- package/dist/migrate/migrate-ui-summary.js.map +1 -1
- package/dist/migrate/model-routing-config.d.ts +3 -1
- package/dist/migrate/model-routing-config.d.ts.map +1 -1
- package/dist/migrate/model-routing-config.js +28 -0
- package/dist/migrate/model-routing-config.js.map +1 -1
- package/dist/migrate/portable-installer.d.ts +14 -1
- package/dist/migrate/portable-installer.d.ts.map +1 -1
- package/dist/migrate/portable-installer.js +110 -9
- package/dist/migrate/portable-installer.js.map +1 -1
- package/dist/migrate/providers/codex/capabilities.d.ts +5 -0
- package/dist/migrate/providers/codex/capabilities.d.ts.map +1 -1
- package/dist/migrate/providers/codex/capabilities.js +31 -0
- package/dist/migrate/providers/codex/capabilities.js.map +1 -1
- package/dist/migrate/providers/codex/config.d.ts.map +1 -1
- package/dist/migrate/providers/codex/config.js +8 -2
- package/dist/migrate/providers/codex/config.js.map +1 -1
- package/dist/migrate/providers/codex/shell-env-policy-emitter.d.ts +27 -0
- package/dist/migrate/providers/codex/shell-env-policy-emitter.d.ts.map +1 -0
- package/dist/migrate/providers/codex/shell-env-policy-emitter.js +86 -0
- package/dist/migrate/providers/codex/shell-env-policy-emitter.js.map +1 -0
- package/dist/migrate/reconcile/index.d.ts +1 -1
- package/dist/migrate/reconcile/index.d.ts.map +1 -1
- package/dist/migrate/reconcile/index.js +1 -1
- package/dist/migrate/reconcile/index.js.map +1 -1
- package/dist/migrate/reconcile/portable-manifest.d.ts +6 -0
- package/dist/migrate/reconcile/portable-manifest.d.ts.map +1 -1
- package/dist/migrate/reconcile/portable-manifest.js +23 -0
- package/dist/migrate/reconcile/portable-manifest.js.map +1 -1
- package/dist/migrate/reconcile/reconcile-state-builders.d.ts +12 -5
- package/dist/migrate/reconcile/reconcile-state-builders.d.ts.map +1 -1
- package/dist/migrate/reconcile/reconcile-state-builders.js +2 -2
- package/dist/migrate/reconcile/reconcile-state-builders.js.map +1 -1
- package/dist/migrate/references/env-var-rewrite-table.d.ts +36 -0
- package/dist/migrate/references/env-var-rewrite-table.d.ts.map +1 -0
- package/dist/migrate/references/env-var-rewrite-table.js +97 -0
- package/dist/migrate/references/env-var-rewrite-table.js.map +1 -0
- package/dist/migrate/references/reference-classifier.d.ts +15 -0
- package/dist/migrate/references/reference-classifier.d.ts.map +1 -1
- package/dist/migrate/references/reference-classifier.js +33 -0
- package/dist/migrate/references/reference-classifier.js.map +1 -1
- package/dist/migrate/runtime-compat-audit.d.ts +1 -0
- package/dist/migrate/runtime-compat-audit.d.ts.map +1 -1
- package/dist/migrate/runtime-compat-audit.js +8 -3
- package/dist/migrate/runtime-compat-audit.js.map +1 -1
- package/dist/migrate/runtime-coupling-patterns.d.ts +30 -2
- package/dist/migrate/runtime-coupling-patterns.d.ts.map +1 -1
- package/dist/migrate/runtime-coupling-patterns.js +36 -8
- package/dist/migrate/runtime-coupling-patterns.js.map +1 -1
- package/dist/migrate/skill-directory-audit.d.ts +14 -0
- package/dist/migrate/skill-directory-audit.d.ts.map +1 -1
- package/dist/migrate/skill-directory-audit.js +68 -10
- package/dist/migrate/skill-directory-audit.js.map +1 -1
- package/dist/migrate/skill-directory-installer.d.ts +3 -0
- package/dist/migrate/skill-directory-installer.d.ts.map +1 -1
- package/dist/migrate/skill-directory-installer.js +98 -1
- package/dist/migrate/skill-directory-installer.js.map +1 -1
- package/dist/migrate/state-changing-script-detector.d.ts +16 -0
- package/dist/migrate/state-changing-script-detector.d.ts.map +1 -0
- package/dist/migrate/state-changing-script-detector.js +144 -0
- package/dist/migrate/state-changing-script-detector.js.map +1 -0
- package/dist/migrate/validation/migrate-conversion-report.d.ts +28 -0
- package/dist/migrate/validation/migrate-conversion-report.d.ts.map +1 -1
- package/dist/migrate/validation/migrate-conversion-report.js +48 -7
- package/dist/migrate/validation/migrate-conversion-report.js.map +1 -1
- package/dist/migrate/validation/migration-ledger-inputs.d.ts +56 -0
- package/dist/migrate/validation/migration-ledger-inputs.d.ts.map +1 -0
- package/dist/migrate/validation/migration-ledger-inputs.js +160 -0
- package/dist/migrate/validation/migration-ledger-inputs.js.map +1 -0
- package/dist/migrate/validation/migration-record-types.d.ts +38 -0
- package/dist/migrate/validation/migration-record-types.d.ts.map +1 -0
- package/dist/migrate/validation/migration-record-types.js +12 -0
- package/dist/migrate/validation/migration-record-types.js.map +1 -0
- package/dist/migrate/validation/migration-report-writer.d.ts +98 -0
- package/dist/migrate/validation/migration-report-writer.d.ts.map +1 -0
- package/dist/migrate/validation/migration-report-writer.js +0 -0
- package/dist/migrate/validation/migration-report-writer.js.map +1 -0
- package/dist/orchviz-web/index.js +3 -3
- package/package.json +1 -1
- package/portable-manifest.json +10 -2
- 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/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/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/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/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
|
@@ -6,8 +6,40 @@ import { readFileSync, readdirSync, statSync } from "node:fs";
|
|
|
6
6
|
import { join, relative } from "node:path";
|
|
7
7
|
import { convertItem } from "../converters/index.js";
|
|
8
8
|
import { providers } from "../provider-registry.js";
|
|
9
|
+
import { codexBudgetRaiseGuidance } from "../portable-installer.js";
|
|
9
10
|
import { combineIntegrityIndexes, createReferenceIntegrityIndex, rewriteSourceReferences, } from "../references/fence-aware-reference-rewriter.js";
|
|
10
11
|
import { scanUnresolvedReferences } from "./unresolved-reference-scanner.js";
|
|
12
|
+
/**
|
|
13
|
+
* Run-ledger: an append-only accumulator of per-artifact decision records emitted
|
|
14
|
+
* across the migration run (Phase 1 reference occurrences, Phase 2 hook decisions,
|
|
15
|
+
* Phase 3 skill audit/waiver decisions, plus the orchestrator's install outcomes).
|
|
16
|
+
* The Phase 6 report writer serializes this ledger into `migration-report.{json,md}`.
|
|
17
|
+
*
|
|
18
|
+
* This is purely additive to the existing preflight `ConversionReport` — the
|
|
19
|
+
* preflight builder is unchanged; the ledger is the new run-time collection point.
|
|
20
|
+
*/
|
|
21
|
+
export class MigrationLedger {
|
|
22
|
+
records = [];
|
|
23
|
+
/** Append one decision record (no-op for null/undefined). */
|
|
24
|
+
add(record) {
|
|
25
|
+
if (record)
|
|
26
|
+
this.records.push(record);
|
|
27
|
+
}
|
|
28
|
+
/** Append many decision records; null/undefined entries are ignored. */
|
|
29
|
+
addAll(records) {
|
|
30
|
+
if (!records)
|
|
31
|
+
return;
|
|
32
|
+
for (const record of records)
|
|
33
|
+
this.add(record);
|
|
34
|
+
}
|
|
35
|
+
/** Snapshot of every decision recorded so far (defensive copy). */
|
|
36
|
+
all() {
|
|
37
|
+
return [...this.records];
|
|
38
|
+
}
|
|
39
|
+
get size() {
|
|
40
|
+
return this.records.length;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
11
43
|
const TYPE_KEY = {
|
|
12
44
|
agent: "agents",
|
|
13
45
|
command: "commands",
|
|
@@ -52,7 +84,7 @@ export function buildConversionReport(input) {
|
|
|
52
84
|
conversionWarnings.add(warning);
|
|
53
85
|
if (pathConfig.writeStrategy === "merge-single" && pathConfig.totalCharLimit) {
|
|
54
86
|
const key = `${provider}:${pathConfig.projectPath ?? pathConfig.globalPath ?? ""}`;
|
|
55
|
-
const entry = budgetByTarget.get(key) ?? { bytes: 0, budget: pathConfig.totalCharLimit };
|
|
87
|
+
const entry = budgetByTarget.get(key) ?? { bytes: 0, budget: pathConfig.totalCharLimit, provider };
|
|
56
88
|
entry.bytes += Buffer.byteLength(conversion.content, "utf-8");
|
|
57
89
|
budgetByTarget.set(key, entry);
|
|
58
90
|
}
|
|
@@ -86,12 +118,20 @@ export function buildConversionReport(input) {
|
|
|
86
118
|
}
|
|
87
119
|
}
|
|
88
120
|
}
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
121
|
+
const preservedOccurrences = occurrences.filter((o) => o.decision === "preserve-warn");
|
|
122
|
+
const warnedReferences = preservedOccurrences.map((o) => `${o.file}:${o.line} — ${o.original}${o.reason ? ` (${o.reason})` : ""}`);
|
|
123
|
+
// Projection reflects the real single-file layout plus, for Codex over-budget targets, the
|
|
124
|
+
// doc-grounded config-raise recommendation (project_doc_max_bytes) — NOT a phantom nested
|
|
125
|
+
// split. Codex applies the cap to the combined instruction chain, so splitting does not raise
|
|
126
|
+
// the effective budget (https://developers.openai.com/codex/guides/agents-md).
|
|
127
|
+
const budgetLines = Array.from(budgetByTarget.entries()).flatMap(([key, { bytes, budget, provider }]) => {
|
|
128
|
+
const over = bytes > budget;
|
|
129
|
+
const status = over ? "OVER budget — the runtime truncates at the cap" : "within budget";
|
|
130
|
+
const line = `${key}: projected ~${bytes} B of ${budget} B, single file (${status})`;
|
|
131
|
+
if (!over)
|
|
132
|
+
return [line];
|
|
133
|
+
const guidance = codexBudgetRaiseGuidance(provider, bytes, budget);
|
|
134
|
+
return guidance ? [line, `${key}: ${guidance}`] : [line];
|
|
95
135
|
});
|
|
96
136
|
const findings = scanUnresolvedReferences(outputs);
|
|
97
137
|
const validationErrors = findings.map((f) => `${f.file}:${f.line} — ${f.message}`);
|
|
@@ -100,6 +140,7 @@ export function buildConversionReport(input) {
|
|
|
100
140
|
conversionWarnings: Array.from(conversionWarnings),
|
|
101
141
|
budgetLines,
|
|
102
142
|
validationErrors,
|
|
143
|
+
preservedOccurrences,
|
|
103
144
|
};
|
|
104
145
|
}
|
|
105
146
|
//# sourceMappingURL=migrate-conversion-report.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-conversion-report.js","sourceRoot":"","sources":["../../../src/migrate/validation/migrate-conversion-report.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,6EAA6E;AAC7E,8EAA8E;AAC9E,uCAAuC;AAEvC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EACN,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,GAEvB,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"migrate-conversion-report.js","sourceRoot":"","sources":["../../../src/migrate/validation/migrate-conversion-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { ReferenceOccurrence } from "../references/reference-types.js";
|
|
2
|
+
import type { DiscoveredItems } from "../migrate-discover.js";
|
|
3
|
+
import type { PortableType, ProviderType } from "../types.js";
|
|
4
|
+
import type { MigrationDecisionRecord } from "./migration-record-types.js";
|
|
5
|
+
/** One discovered source artifact, normalized for record building. */
|
|
6
|
+
interface DiscoveredArtifact {
|
|
7
|
+
source: string;
|
|
8
|
+
type: PortableType;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Enumerate every discovered source artifact as `{source, type}`. This is the
|
|
12
|
+
* identity-check denominator: every entry here becomes exactly one primary record.
|
|
13
|
+
* Shell hooks filtered out at discovery are included as skipped artifacts so the
|
|
14
|
+
* dropped-safety-hook loss (gate-enforcement, privacy-block, …) is never silent.
|
|
15
|
+
*/
|
|
16
|
+
export declare function enumerateDiscoveredArtifacts(discovered: DiscoveredItems): DiscoveredArtifact[];
|
|
17
|
+
/**
|
|
18
|
+
* Index install results by the artifact they installed. Bulk shims (codex agents /
|
|
19
|
+
* hooks) carry aggregate item labels, so per-artifact outcomes come from the
|
|
20
|
+
* explicit `installedArtifacts` map the orchestrator threads alongside, not from
|
|
21
|
+
* the shim label.
|
|
22
|
+
*/
|
|
23
|
+
export interface RunOutcome {
|
|
24
|
+
outcome: "migrated" | "failed";
|
|
25
|
+
target?: string;
|
|
26
|
+
/** Present when outcome === "failed" — the raw installer error message. */
|
|
27
|
+
error?: string;
|
|
28
|
+
/** True when the failure came from an internal (non-audit) installer exception. */
|
|
29
|
+
internalError?: boolean;
|
|
30
|
+
}
|
|
31
|
+
export interface BuildRunRecordsInput {
|
|
32
|
+
discovered: DiscoveredItems;
|
|
33
|
+
provider: ProviderType;
|
|
34
|
+
/** Per-artifact outcome keyed by `${type}:${source}` (from the orchestrator). */
|
|
35
|
+
outcomes: Map<string, RunOutcome>;
|
|
36
|
+
/** Structured records emitted by Phase 1-3 producers (skills, hooks, references). */
|
|
37
|
+
phaseRecords: readonly MigrationDecisionRecord[];
|
|
38
|
+
/** Preserved-with-warning reference occurrences (from the conversion report). */
|
|
39
|
+
preservedOccurrences: readonly ReferenceOccurrence[];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Reclassify a preserved occurrence's report reason: a `.claude/.env` reference now
|
|
43
|
+
* points at the emitted [shell_environment_policy] scaffold instead of the stale
|
|
44
|
+
* "no provider equivalent" phrase. Item D — routed ONLY here (report-reason layer),
|
|
45
|
+
* never in the rewriter's decision rules.
|
|
46
|
+
*/
|
|
47
|
+
export declare function reportReasonForOccurrence(occurrence: ReferenceOccurrence): string;
|
|
48
|
+
/**
|
|
49
|
+
* Build the complete per-discovered-artifact record list. Exactly one primary
|
|
50
|
+
* record per discovered artifact (identity invariant). Phase records that carry a
|
|
51
|
+
* more severe outcome for the same artifact escalate the primary record's status;
|
|
52
|
+
* preserved occurrences attach as enrichment on the owning primary record.
|
|
53
|
+
*/
|
|
54
|
+
export declare function buildRunRecords(input: BuildRunRecordsInput): MigrationDecisionRecord[];
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=migration-ledger-inputs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-ledger-inputs.d.ts","sourceRoot":"","sources":["../../../src/migrate/validation/migration-ledger-inputs.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAoB,MAAM,6BAA6B,CAAC;AAE7F,sEAAsE;AACtE,UAAU,kBAAkB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,eAAe,GAAG,kBAAkB,EAAE,CAU9F;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,iFAAiF;IACjF,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,qFAAqF;IACrF,YAAY,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACjD,iFAAiF;IACjF,oBAAoB,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACrD;AAaD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,CAIjF;AAiBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,uBAAuB,EAAE,CA6DtF"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// Aggregation: fold the migration run's already-scattered signals into a single
|
|
2
|
+
// list of per-artifact `MigrationDecisionRecord`s for the run-report ledger. This
|
|
3
|
+
// is pure aggregation — no new detection. The identity invariant the report relies
|
|
4
|
+
// on (migrated + skipped + failed == discovered artifacts) is guaranteed here by
|
|
5
|
+
// emitting exactly one PRIMARY record per discovered artifact, with Phase 1-3
|
|
6
|
+
// sub-signals (preserved references, waivers, audit failures) enriching — never
|
|
7
|
+
// inflating — those primary records.
|
|
8
|
+
import { classifyEnvReference } from "../references/reference-classifier.js";
|
|
9
|
+
/**
|
|
10
|
+
* Enumerate every discovered source artifact as `{source, type}`. This is the
|
|
11
|
+
* identity-check denominator: every entry here becomes exactly one primary record.
|
|
12
|
+
* Shell hooks filtered out at discovery are included as skipped artifacts so the
|
|
13
|
+
* dropped-safety-hook loss (gate-enforcement, privacy-block, …) is never silent.
|
|
14
|
+
*/
|
|
15
|
+
export function enumerateDiscoveredArtifacts(discovered) {
|
|
16
|
+
const artifacts = [];
|
|
17
|
+
for (const a of discovered.agents)
|
|
18
|
+
artifacts.push({ source: a.name, type: "agent" });
|
|
19
|
+
for (const c of discovered.commands)
|
|
20
|
+
artifacts.push({ source: c.name, type: "command" });
|
|
21
|
+
for (const r of discovered.rules)
|
|
22
|
+
artifacts.push({ source: r.name, type: "rules" });
|
|
23
|
+
if (discovered.config)
|
|
24
|
+
artifacts.push({ source: discovered.config.name, type: "config" });
|
|
25
|
+
for (const s of discovered.skills)
|
|
26
|
+
artifacts.push({ source: s.name, type: "skill" });
|
|
27
|
+
for (const h of discovered.hooks)
|
|
28
|
+
artifacts.push({ source: h.name, type: "hooks" });
|
|
29
|
+
for (const shellHook of discovered.skippedShellHooks)
|
|
30
|
+
artifacts.push({ source: shellHook, type: "hooks" });
|
|
31
|
+
return artifacts;
|
|
32
|
+
}
|
|
33
|
+
function outcomeKey(type, source) {
|
|
34
|
+
return `${type}:${source}`;
|
|
35
|
+
}
|
|
36
|
+
/** Human reason for a run outcome, routing `.env` references through the new classifier. */
|
|
37
|
+
function reasonForOutcome(outcome) {
|
|
38
|
+
if (outcome.outcome === "migrated")
|
|
39
|
+
return { reason: "converted" };
|
|
40
|
+
const detail = outcome.internalError ? `internal-error: ${outcome.error ?? "unknown"}` : outcome.error;
|
|
41
|
+
return { reason: "conversion-error", detail };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Reclassify a preserved occurrence's report reason: a `.claude/.env` reference now
|
|
45
|
+
* points at the emitted [shell_environment_policy] scaffold instead of the stale
|
|
46
|
+
* "no provider equivalent" phrase. Item D — routed ONLY here (report-reason layer),
|
|
47
|
+
* never in the rewriter's decision rules.
|
|
48
|
+
*/
|
|
49
|
+
export function reportReasonForOccurrence(occurrence) {
|
|
50
|
+
const envReason = classifyEnvReference(occurrence.original);
|
|
51
|
+
if (envReason)
|
|
52
|
+
return envReason.reason;
|
|
53
|
+
return occurrence.reason ?? "reference preserved";
|
|
54
|
+
}
|
|
55
|
+
/** Owning artifact key for an occurrence whose `file` is a `provider/type/item…` path. */
|
|
56
|
+
function occurrenceArtifact(occurrence) {
|
|
57
|
+
// Occurrence file forms produced by the conversion pass:
|
|
58
|
+
// `<provider>/<type>/<item>` (agents, commands, rules, config)
|
|
59
|
+
// `<provider>/skill/<skillName>/<relPath>` (skill files)
|
|
60
|
+
const parts = occurrence.file.split("/");
|
|
61
|
+
if (parts.length < 3)
|
|
62
|
+
return null;
|
|
63
|
+
const type = parts[1];
|
|
64
|
+
if (type === "skill")
|
|
65
|
+
return { type: "skill", source: parts[2] };
|
|
66
|
+
if (type === "agent" || type === "command" || type === "rules" || type === "config" || type === "hooks") {
|
|
67
|
+
return { type, source: parts[2] };
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Build the complete per-discovered-artifact record list. Exactly one primary
|
|
73
|
+
* record per discovered artifact (identity invariant). Phase records that carry a
|
|
74
|
+
* more severe outcome for the same artifact escalate the primary record's status;
|
|
75
|
+
* preserved occurrences attach as enrichment on the owning primary record.
|
|
76
|
+
*/
|
|
77
|
+
export function buildRunRecords(input) {
|
|
78
|
+
const OUTCOME_SEVERITY = { migrated: 0, skipped: 1, partial: 2, failed: 3 };
|
|
79
|
+
const primary = new Map();
|
|
80
|
+
// 1. One primary record per discovered artifact.
|
|
81
|
+
for (const artifact of enumerateDiscoveredArtifacts(input.discovered)) {
|
|
82
|
+
const key = outcomeKey(artifact.type, artifact.source);
|
|
83
|
+
const outcome = input.outcomes.get(key);
|
|
84
|
+
let record;
|
|
85
|
+
if (!outcome) {
|
|
86
|
+
// No install attempt reached this artifact (filtered by portability policy,
|
|
87
|
+
// no provider surface, or a skipped shell hook): a deliberate skip.
|
|
88
|
+
record = {
|
|
89
|
+
source: artifact.source,
|
|
90
|
+
type: artifact.type,
|
|
91
|
+
provider: input.provider,
|
|
92
|
+
outcome: "skipped",
|
|
93
|
+
reason: artifact.type === "hooks" ? "event-unsupported" : "no-provider-surface",
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
const { reason, detail } = reasonForOutcome(outcome);
|
|
98
|
+
record = {
|
|
99
|
+
source: artifact.source,
|
|
100
|
+
type: artifact.type,
|
|
101
|
+
provider: input.provider,
|
|
102
|
+
outcome: outcome.outcome,
|
|
103
|
+
reason,
|
|
104
|
+
};
|
|
105
|
+
if (detail)
|
|
106
|
+
record.detail = detail;
|
|
107
|
+
if (outcome.target)
|
|
108
|
+
record.target = outcome.target;
|
|
109
|
+
}
|
|
110
|
+
primary.set(key, record);
|
|
111
|
+
}
|
|
112
|
+
// 2. Escalate primary outcomes from Phase 1-3 records. Skill/hook sub-records use
|
|
113
|
+
// per-file `source` paths; map them back to their owning discovered artifact.
|
|
114
|
+
const dirNameToSkillName = new Map(input.discovered.skills.map((s) => [s.dirName, s.name]));
|
|
115
|
+
for (const rec of input.phaseRecords) {
|
|
116
|
+
const owner = phaseRecordOwner(rec, dirNameToSkillName);
|
|
117
|
+
if (!owner)
|
|
118
|
+
continue;
|
|
119
|
+
const key = outcomeKey(owner.type, owner.source);
|
|
120
|
+
const existing = primary.get(key);
|
|
121
|
+
if (!existing)
|
|
122
|
+
continue;
|
|
123
|
+
if (OUTCOME_SEVERITY[rec.outcome] > OUTCOME_SEVERITY[existing.outcome]) {
|
|
124
|
+
existing.outcome = rec.outcome;
|
|
125
|
+
existing.reason = rec.reason;
|
|
126
|
+
if (rec.detail)
|
|
127
|
+
existing.detail = rec.detail;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// 3. Attach preserved occurrences to their owning primary record for file:line detail.
|
|
131
|
+
for (const occ of input.preservedOccurrences) {
|
|
132
|
+
const owner = occurrenceArtifact(occ);
|
|
133
|
+
if (!owner)
|
|
134
|
+
continue;
|
|
135
|
+
const existing = primary.get(outcomeKey(owner.type, owner.source));
|
|
136
|
+
if (!existing)
|
|
137
|
+
continue;
|
|
138
|
+
const enriched = { ...occ, reason: reportReasonForOccurrence(occ) };
|
|
139
|
+
existing.occurrences = [...(existing.occurrences ?? []), enriched];
|
|
140
|
+
}
|
|
141
|
+
return Array.from(primary.values());
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Resolve which discovered artifact a Phase 1-3 sub-record belongs to. Skill
|
|
145
|
+
* sub-records carry `source: .claude/skills/<dirName>/<file>`; hook records carry
|
|
146
|
+
* the hook file name directly. The dirName is matched against discovered skill
|
|
147
|
+
* dirNames so the owner key aligns with the primary record's `source` (skill.name).
|
|
148
|
+
*/
|
|
149
|
+
function phaseRecordOwner(rec, dirNameToSkillName) {
|
|
150
|
+
if (rec.type === "skill") {
|
|
151
|
+
const m = rec.source.match(/^\.claude\/skills\/([^/]+)\//);
|
|
152
|
+
if (m)
|
|
153
|
+
return { type: "skill", source: dirNameToSkillName.get(m[1]) ?? m[1] };
|
|
154
|
+
return { type: "skill", source: rec.source };
|
|
155
|
+
}
|
|
156
|
+
if (rec.type === "hooks")
|
|
157
|
+
return { type: "hooks", source: rec.source };
|
|
158
|
+
return { type: rec.type, source: rec.source };
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=migration-ledger-inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-ledger-inputs.js","sourceRoot":"","sources":["../../../src/migrate/validation/migration-ledger-inputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ReferenceOccurrence } from "../references/reference-types.js";
|
|
2
|
+
import type { PortableType, ProviderType } from "../types.js";
|
|
3
|
+
/** The outcome the pipeline reached for a single source artifact. */
|
|
4
|
+
export type MigrationOutcome = "migrated" | "skipped" | "failed" | "partial";
|
|
5
|
+
/** Why the pipeline reached a given outcome, coarse enough to group records. */
|
|
6
|
+
export type MigrationReasonCode = "converted" | "no-provider-surface" | "policy-excluded" | "audit-rejected" | "conversion-error" | "reference-preserved" | "runtime-neutralized" | "event-unsupported" | "matcher-narrowed";
|
|
7
|
+
/** One decision about one source artifact, emitted by any migration phase. */
|
|
8
|
+
export interface MigrationDecisionRecord {
|
|
9
|
+
/** Source-relative identifier of the artifact (e.g. ".claude/agents/planner.md"). */
|
|
10
|
+
source: string;
|
|
11
|
+
/** Portable classification of the artifact. */
|
|
12
|
+
type: PortableType;
|
|
13
|
+
/** Provider the decision applies to. */
|
|
14
|
+
provider: ProviderType;
|
|
15
|
+
/** The outcome the pipeline reached. */
|
|
16
|
+
outcome: MigrationOutcome;
|
|
17
|
+
/** Coarse reason grouping for the outcome. */
|
|
18
|
+
reason: MigrationReasonCode;
|
|
19
|
+
/** Human-readable detail for the run report (optional). */
|
|
20
|
+
detail?: string;
|
|
21
|
+
/** Target-relative path written, when outcome === "migrated" | "partial". */
|
|
22
|
+
target?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Reference occurrences observed while processing this artifact. The fenced-
|
|
25
|
+
* reference integrity pass is the first producer of these records.
|
|
26
|
+
*/
|
|
27
|
+
occurrences?: ReferenceOccurrence[];
|
|
28
|
+
}
|
|
29
|
+
/** The serialized decision-record set for one migration run. */
|
|
30
|
+
export interface MigrationRecordSet {
|
|
31
|
+
/** Provider this run targeted. */
|
|
32
|
+
provider: ProviderType;
|
|
33
|
+
/** ISO-8601 timestamp the run completed. */
|
|
34
|
+
completedAt: string;
|
|
35
|
+
/** Every per-artifact decision the run made. */
|
|
36
|
+
decisions: MigrationDecisionRecord[];
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=migration-record-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-record-types.d.ts","sourceRoot":"","sources":["../../../src/migrate/validation/migration-record-types.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9D,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,GACzB,UAAU,GACV,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEb,gFAAgF;AAChF,MAAM,MAAM,mBAAmB,GAC5B,WAAW,GACX,qBAAqB,GACrB,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,GAClB,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,GACnB,kBAAkB,CAAC;AAEtB,8EAA8E;AAC9E,MAAM,WAAW,uBAAuB;IACvC,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,IAAI,EAAE,YAAY,CAAC;IACnB,wCAAwC;IACxC,QAAQ,EAAE,YAAY,CAAC;IACvB,wCAAwC;IACxC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,8CAA8C;IAC9C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAED,gEAAgE;AAChE,MAAM,WAAW,kBAAkB;IAClC,kCAAkC;IAClC,QAAQ,EAAE,YAAY,CAAC;IACvB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,SAAS,EAAE,uBAAuB,EAAE,CAAC;CACrC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Shared decision-record data contract for the migration pipeline.
|
|
2
|
+
//
|
|
3
|
+
// Every phase that decides the fate of a source artifact (migrated / skipped /
|
|
4
|
+
// failed / neutralized) emits records that conform to these types; the final
|
|
5
|
+
// run-report layer serializes them into a single "what migrated and why" view.
|
|
6
|
+
// The reference-occurrence stream (below) is the first producer: the fenced-
|
|
7
|
+
// reference integrity pass records one occurrence per classified source ref.
|
|
8
|
+
//
|
|
9
|
+
// These are pure type declarations — no runtime logic. Keep them minimal:
|
|
10
|
+
// producers add the fields they can populate, consumers read what is present.
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=migration-record-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-record-types.js","sourceRoot":"","sources":["../../../src/migrate/validation/migration-record-types.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,EAAE;AACF,0EAA0E;AAC1E,8EAA8E"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { ProviderType } from "../types.js";
|
|
2
|
+
import type { MigrationDecisionRecord } from "./migration-record-types.js";
|
|
3
|
+
/** Bump when the JSON shape changes in a backward-incompatible way. */
|
|
4
|
+
export declare const MIGRATION_REPORT_SCHEMA_VERSION: 1;
|
|
5
|
+
/** Fixed artifact file names (siblings under the provider output dir). */
|
|
6
|
+
export declare const MIGRATION_REPORT_JSON_NAME = "migration-report.json";
|
|
7
|
+
export declare const MIGRATION_REPORT_MD_NAME = "migration-report.md";
|
|
8
|
+
/** One reference occurrence surfaced in the report (file:line:pattern). */
|
|
9
|
+
export interface ReportOccurrenceDetail {
|
|
10
|
+
file: string;
|
|
11
|
+
line: number;
|
|
12
|
+
pattern: string;
|
|
13
|
+
}
|
|
14
|
+
/** Per-artifact serialized entry. `narrowed` is the report's word for `partial`. */
|
|
15
|
+
export interface ReportArtifact {
|
|
16
|
+
/** Portable type of the artifact (agent | command | skill | config | rules | hooks). */
|
|
17
|
+
type: string;
|
|
18
|
+
/** Source-relative identifier of the artifact. */
|
|
19
|
+
sourcePath: string;
|
|
20
|
+
/** Target-relative path written, when it was migrated. */
|
|
21
|
+
targetPath?: string;
|
|
22
|
+
/** Outcome, in report vocabulary. */
|
|
23
|
+
status: "migrated" | "skipped" | "failed" | "narrowed";
|
|
24
|
+
/** Coarse machine reason grouping (from the decision record). */
|
|
25
|
+
reason?: string;
|
|
26
|
+
/** File/line/pattern detail for the first preserved/failed occurrence. */
|
|
27
|
+
detail?: ReportOccurrenceDetail;
|
|
28
|
+
}
|
|
29
|
+
/** Aggregate outcome counts for the run header. */
|
|
30
|
+
export interface ReportCounts {
|
|
31
|
+
migrated: number;
|
|
32
|
+
skipped: number;
|
|
33
|
+
failed: number;
|
|
34
|
+
narrowed: number;
|
|
35
|
+
/** Total distinct artifacts recorded — the identity-check denominator. */
|
|
36
|
+
total: number;
|
|
37
|
+
}
|
|
38
|
+
/** Budget projection carried into the report (mirrors the preflight budget lines). */
|
|
39
|
+
export interface ReportBudget {
|
|
40
|
+
lines: string[];
|
|
41
|
+
}
|
|
42
|
+
/** Serialized run header. `timestamp` is a real ISO run time, not any plan id. */
|
|
43
|
+
export interface MigrationReportHeader {
|
|
44
|
+
provider: ProviderType;
|
|
45
|
+
/** Toolkit version that produced the run (opaque string; may be "unknown"). */
|
|
46
|
+
version: string;
|
|
47
|
+
/** Minimum Codex CLI version whose hook surface this migration targets. */
|
|
48
|
+
codexMinSupportedVersion?: string;
|
|
49
|
+
timestamp: string;
|
|
50
|
+
counts: ReportCounts;
|
|
51
|
+
budget: ReportBudget;
|
|
52
|
+
/** Aggregate count of secret-like env key names omitted from the run (never names). */
|
|
53
|
+
secretKeysOmitted?: number;
|
|
54
|
+
}
|
|
55
|
+
/** The full serialized report (JSON shape). */
|
|
56
|
+
export interface MigrationReport {
|
|
57
|
+
schemaVersion: typeof MIGRATION_REPORT_SCHEMA_VERSION;
|
|
58
|
+
header: MigrationReportHeader;
|
|
59
|
+
artifacts: ReportArtifact[];
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Deterministic stable key for a decision record. Artifact ordering in both the
|
|
63
|
+
* JSON and md is derived from this key so two runs over unchanged input produce
|
|
64
|
+
* byte-identical artifact sections (the header timestamp is the only varying part).
|
|
65
|
+
*/
|
|
66
|
+
export declare function artifactKey(record: Pick<MigrationDecisionRecord, "type" | "source" | "provider">): string;
|
|
67
|
+
export declare function foldArtifacts(records: MigrationDecisionRecord[]): ReportArtifact[];
|
|
68
|
+
export interface BuildReportInput {
|
|
69
|
+
provider: ProviderType;
|
|
70
|
+
version: string;
|
|
71
|
+
records: MigrationDecisionRecord[];
|
|
72
|
+
budgetLines?: string[];
|
|
73
|
+
secretKeysOmitted?: number;
|
|
74
|
+
codexMinSupportedVersion?: string;
|
|
75
|
+
/** Injectable clock for deterministic tests; defaults to the real run time. */
|
|
76
|
+
now?: () => Date;
|
|
77
|
+
}
|
|
78
|
+
/** Build the serialized report object from a decision-record ledger. */
|
|
79
|
+
export declare function buildMigrationReport(input: BuildReportInput): MigrationReport;
|
|
80
|
+
/** Render the human-readable md report from the same serialized object. */
|
|
81
|
+
export declare function renderMigrationReportMarkdown(report: MigrationReport): string;
|
|
82
|
+
/** The single verdict line printed at the end of a run. */
|
|
83
|
+
export declare function migrationVerdictLine(report: MigrationReport, reportPath: string): string;
|
|
84
|
+
export interface WriteMigrationReportResult {
|
|
85
|
+
report: MigrationReport;
|
|
86
|
+
jsonPath: string;
|
|
87
|
+
mdPath: string;
|
|
88
|
+
verdictLine: string;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Serialize the report to `<outputDir>/migration-report.json` and render the md
|
|
92
|
+
* sibling. Creates the output dir first (never depends on another phase making
|
|
93
|
+
* it). The caller is responsible for wrapping this in the run's finally-path and
|
|
94
|
+
* re-throwing any original exception; this function only throws its OWN write
|
|
95
|
+
* errors, which the caller logs without masking the real failure.
|
|
96
|
+
*/
|
|
97
|
+
export declare function writeMigrationReport(report: MigrationReport, outputDir: string): Promise<WriteMigrationReportResult>;
|
|
98
|
+
//# sourceMappingURL=migration-report-writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-report-writer.d.ts","sourceRoot":"","sources":["../../../src/migrate/validation/migration-report-writer.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-report-writer.js","sourceRoot":"","sources":["../../../src/migrate/validation/migration-report-writer.ts"],"names":[],"mappings":"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"}
|