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
package/dist/memory/archive.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { renderViews } from "./render-views.js";
|
|
4
|
-
import { entryDate, loadStores } from "./store-utils.js";
|
|
5
|
-
function cutoffMs(days) {
|
|
6
|
-
return Date.now() - days * 86_400_000;
|
|
7
|
-
}
|
|
8
|
-
function atomicWrite(file, data) {
|
|
9
|
-
const tmp = `${file}.tmp`;
|
|
10
|
-
fs.writeFileSync(tmp, data, "utf-8");
|
|
11
|
-
fs.renameSync(tmp, file);
|
|
12
|
-
}
|
|
13
|
-
export function archiveMemory(memoryDir, olderThanDays, opts = {}) {
|
|
14
|
-
const cutoff = cutoffMs(olderThanDays);
|
|
15
|
-
const archiveDir = path.join(memoryDir, "archive");
|
|
16
|
-
const results = [];
|
|
17
|
-
for (const store of loadStores(memoryDir)) {
|
|
18
|
-
const keep = [];
|
|
19
|
-
const archive = [];
|
|
20
|
-
for (const item of store.items) {
|
|
21
|
-
const date = entryDate(item);
|
|
22
|
-
if (date && Date.parse(date) < cutoff)
|
|
23
|
-
archive.push({ ...item, archivedAt: new Date().toISOString() });
|
|
24
|
-
else
|
|
25
|
-
keep.push(item);
|
|
26
|
-
}
|
|
27
|
-
if (archive.length > 0 && !opts.dryRun) {
|
|
28
|
-
fs.mkdirSync(archiveDir, { recursive: true });
|
|
29
|
-
store.data[store.itemsKey] = keep;
|
|
30
|
-
atomicWrite(path.join(memoryDir, store.file), `${JSON.stringify(store.data, null, 2)}\n`);
|
|
31
|
-
const archivePath = path.join(archiveDir, store.file);
|
|
32
|
-
const prior = fs.existsSync(archivePath) ? JSON.parse(fs.readFileSync(archivePath, "utf-8")) : { archived: [] };
|
|
33
|
-
const archived = Array.isArray(prior.archived) ? prior.archived : [];
|
|
34
|
-
atomicWrite(archivePath, `${JSON.stringify({ ...prior, archived: [...archived, ...archive] }, null, 2)}\n`);
|
|
35
|
-
}
|
|
36
|
-
results.push({ file: store.file, archived: archive.length, wrote: archive.length > 0 && !opts.dryRun });
|
|
37
|
-
}
|
|
38
|
-
if (!opts.dryRun)
|
|
39
|
-
renderViews(memoryDir, { check: false });
|
|
40
|
-
return results;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=archive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/memory/archive.ts"],"names":[],"mappings":"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"}
|
package/dist/memory/compact.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../src/memory/compact.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CACf;AAQD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,aAAa,EAAE,CAoBjG"}
|
package/dist/memory/compact.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { renderViews } from "./render-views.js";
|
|
4
|
-
import { loadStores } from "./store-utils.js";
|
|
5
|
-
function atomicWrite(file, data) {
|
|
6
|
-
const tmp = `${file}.tmp`;
|
|
7
|
-
fs.writeFileSync(tmp, data, "utf-8");
|
|
8
|
-
fs.renameSync(tmp, file);
|
|
9
|
-
}
|
|
10
|
-
export function compactMemory(memoryDir, opts = {}) {
|
|
11
|
-
const results = [];
|
|
12
|
-
for (const store of loadStores(memoryDir)) {
|
|
13
|
-
const seen = new Set();
|
|
14
|
-
const compacted = [];
|
|
15
|
-
for (const item of store.items) {
|
|
16
|
-
const key = JSON.stringify(item);
|
|
17
|
-
if (seen.has(key))
|
|
18
|
-
continue;
|
|
19
|
-
seen.add(key);
|
|
20
|
-
compacted.push(item);
|
|
21
|
-
}
|
|
22
|
-
const removed = store.items.length - compacted.length;
|
|
23
|
-
if (removed > 0 && !opts.dryRun) {
|
|
24
|
-
store.data[store.itemsKey] = compacted;
|
|
25
|
-
atomicWrite(path.join(memoryDir, store.file), `${JSON.stringify(store.data, null, 2)}\n`);
|
|
26
|
-
}
|
|
27
|
-
results.push({ file: store.file, removed, wrote: removed > 0 && !opts.dryRun });
|
|
28
|
-
}
|
|
29
|
-
if (!opts.dryRun)
|
|
30
|
-
renderViews(memoryDir, { check: false });
|
|
31
|
-
return results;
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=compact.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/memory/compact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQ9C,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC9C,MAAM,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC;IAC1B,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,OAA6B,EAAE;IAC/E,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,SAAS,GAAmC,EAAE,CAAC;QACrD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QACtD,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;YACvC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,WAAW,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflicts.d.ts","sourceRoot":"","sources":["../../src/memory/conflicts.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAwBvE"}
|
package/dist/memory/conflicts.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { entryId, entryTitle, loadStores } from "./store-utils.js";
|
|
2
|
-
export function findMemoryConflicts(memoryDir) {
|
|
3
|
-
const conflicts = [];
|
|
4
|
-
for (const store of loadStores(memoryDir)) {
|
|
5
|
-
const byTitle = new Map();
|
|
6
|
-
store.items.forEach((entry, i) => {
|
|
7
|
-
const title = entryTitle(entry).toLowerCase();
|
|
8
|
-
const bucket = byTitle.get(title) ?? [];
|
|
9
|
-
bucket.push({ ...entry, __fallback: `${store.file}:${i}` });
|
|
10
|
-
byTitle.set(title, bucket);
|
|
11
|
-
});
|
|
12
|
-
for (const [key, entries] of byTitle) {
|
|
13
|
-
if (entries.length < 2)
|
|
14
|
-
continue;
|
|
15
|
-
const rendered = new Set(entries.map((e) => JSON.stringify(e)));
|
|
16
|
-
if (rendered.size > 1) {
|
|
17
|
-
conflicts.push({
|
|
18
|
-
store: store.file,
|
|
19
|
-
key,
|
|
20
|
-
ids: entries.map((e, i) => entryId(e, `${store.file}:${i}`)),
|
|
21
|
-
reason: "same title/context appears with different entry bodies",
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return conflicts;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=conflicts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../src/memory/conflicts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnE,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACpD,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0C,CAAC;QAClE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACvB,SAAS,CAAC,IAAI,CAAC;oBACd,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,GAAG;oBACH,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC5D,MAAM,EAAE,wDAAwD;iBAChE,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
package/dist/memory/promote.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../src/memory/promote.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAOjF"}
|
package/dist/memory/promote.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { findMemoryConflicts } from "./conflicts.js";
|
|
2
|
-
export function memoryPromotionCandidates(memoryDir) {
|
|
3
|
-
return findMemoryConflicts(memoryDir).map((conflict) => ({
|
|
4
|
-
title: `Resolve repeated memory conflict: ${conflict.key}`,
|
|
5
|
-
source: conflict.store,
|
|
6
|
-
reason: `${conflict.ids.length} entries disagree: ${conflict.ids.join(", ")}`,
|
|
7
|
-
proposedAction: "Review entries and promote the resolved wording into a rule/checklist candidate.",
|
|
8
|
-
}));
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=promote.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"promote.js","sourceRoot":"","sources":["../../src/memory/promote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AASrD,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IAC1D,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,KAAK,EAAE,qCAAqC,QAAQ,CAAC,GAAG,EAAE;QAC1D,MAAM,EAAE,QAAQ,CAAC,KAAK;QACtB,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,sBAAsB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC7E,cAAc,EAAE,kFAAkF;KAClG,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { type Pattern } from "./schemas.js";
|
|
2
|
-
export interface LoadedStore {
|
|
3
|
-
file: string;
|
|
4
|
-
scope: string;
|
|
5
|
-
itemsKey: "patterns" | "findings";
|
|
6
|
-
data: Record<string, unknown>;
|
|
7
|
-
items: Array<Record<string, unknown>>;
|
|
8
|
-
}
|
|
9
|
-
export declare function loadStores(memoryDir: string): LoadedStore[];
|
|
10
|
-
export declare function entryId(entry: Record<string, unknown>, fallback: string): string;
|
|
11
|
-
export declare function entryTitle(entry: Record<string, unknown>): string;
|
|
12
|
-
export declare function entryDate(entry: Record<string, unknown>): string | null;
|
|
13
|
-
export declare function clonePattern(entry: Pattern): Pattern;
|
|
14
|
-
//# sourceMappingURL=store-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store-utils.d.ts","sourceRoot":"","sources":["../../src/memory/store-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtC;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAgB3D;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAMjE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAMvE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { CURATED_STORES } from "./schemas.js";
|
|
4
|
-
export function loadStores(memoryDir) {
|
|
5
|
-
const stores = [];
|
|
6
|
-
for (const spec of CURATED_STORES) {
|
|
7
|
-
const p = path.join(memoryDir, spec.file);
|
|
8
|
-
if (!fs.existsSync(p))
|
|
9
|
-
continue;
|
|
10
|
-
const data = JSON.parse(fs.readFileSync(p, "utf-8"));
|
|
11
|
-
const raw = data[spec.itemsKey];
|
|
12
|
-
stores.push({
|
|
13
|
-
file: spec.file,
|
|
14
|
-
scope: spec.scope,
|
|
15
|
-
itemsKey: spec.itemsKey,
|
|
16
|
-
data,
|
|
17
|
-
items: Array.isArray(raw) ? raw : [],
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
return stores;
|
|
21
|
-
}
|
|
22
|
-
export function entryId(entry, fallback) {
|
|
23
|
-
return typeof entry.id === "string" && entry.id.length > 0 ? entry.id : fallback;
|
|
24
|
-
}
|
|
25
|
-
export function entryTitle(entry) {
|
|
26
|
-
for (const key of ["pattern", "finding", "context", "applicable_when", "category", "type"]) {
|
|
27
|
-
const value = entry[key];
|
|
28
|
-
if (typeof value === "string" && value.trim())
|
|
29
|
-
return value.trim().slice(0, 120);
|
|
30
|
-
}
|
|
31
|
-
return JSON.stringify(entry).slice(0, 120);
|
|
32
|
-
}
|
|
33
|
-
export function entryDate(entry) {
|
|
34
|
-
for (const key of ["lastSeen", "timestamp", "created", "archivedAt"]) {
|
|
35
|
-
const value = entry[key];
|
|
36
|
-
if (typeof value === "string" && !Number.isNaN(Date.parse(value)))
|
|
37
|
-
return value;
|
|
38
|
-
}
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
export function clonePattern(entry) {
|
|
42
|
-
return JSON.parse(JSON.stringify(entry));
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=store-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store-utils.js","sourceRoot":"","sources":["../../src/memory/store-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAgB,MAAM,cAAc,CAAC;AAU5D,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC3C,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,SAAS;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAA4B,CAAC;QAChF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI;YACJ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAsC,CAAC,CAAC,CAAC,EAAE;SACxE,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAA8B,EAAE,QAAgB;IACvE,OAAO,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAA8B;IACxD,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;QAC5F,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAA8B;IACvD,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACjF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAY,CAAC;AACrD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter-parser.test.d.ts","sourceRoot":"","sources":["../../../src/migrate/__tests__/frontmatter-parser.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { parseFrontmatter } from "../frontmatter-parser.js";
|
|
3
|
-
describe("parseFrontmatter", () => {
|
|
4
|
-
it("parses standard YAML frontmatter", () => {
|
|
5
|
-
const result = parseFrontmatter(`---
|
|
6
|
-
name: scout
|
|
7
|
-
description: Quick file scout
|
|
8
|
-
model: opus
|
|
9
|
-
---
|
|
10
|
-
Body content here`);
|
|
11
|
-
expect(result.frontmatter.name).toBe("scout");
|
|
12
|
-
expect(result.frontmatter.description).toBe("Quick file scout");
|
|
13
|
-
expect(result.frontmatter.model).toBe("opus");
|
|
14
|
-
expect(result.body).toBe("Body content here");
|
|
15
|
-
expect(result.warnings).toEqual([]);
|
|
16
|
-
});
|
|
17
|
-
it("returns empty frontmatter when no fence", () => {
|
|
18
|
-
const result = parseFrontmatter("Just a body, no frontmatter");
|
|
19
|
-
expect(result.frontmatter).toEqual({});
|
|
20
|
-
expect(result.body).toBe("Just a body, no frontmatter");
|
|
21
|
-
});
|
|
22
|
-
it("strips BOM from input", () => {
|
|
23
|
-
const result = parseFrontmatter(`---
|
|
24
|
-
name: scout
|
|
25
|
-
---
|
|
26
|
-
Body`);
|
|
27
|
-
expect(result.frontmatter.name).toBe("scout");
|
|
28
|
-
});
|
|
29
|
-
it("handles CRLF line endings", () => {
|
|
30
|
-
const result = parseFrontmatter("---\r\nname: scout\r\n---\r\nBody");
|
|
31
|
-
expect(result.frontmatter.name).toBe("scout");
|
|
32
|
-
});
|
|
33
|
-
it("normalizes argument-hint to argumentHint", () => {
|
|
34
|
-
const result = parseFrontmatter(`---
|
|
35
|
-
argument-hint: <agent-name>
|
|
36
|
-
---
|
|
37
|
-
`);
|
|
38
|
-
expect(result.frontmatter.argumentHint).toBe("<agent-name>");
|
|
39
|
-
});
|
|
40
|
-
it("preserves extra unknown fields", () => {
|
|
41
|
-
const result = parseFrontmatter(`---
|
|
42
|
-
name: foo
|
|
43
|
-
custom-field: bar
|
|
44
|
-
---
|
|
45
|
-
Body`);
|
|
46
|
-
expect(result.frontmatter["custom-field"]).toBe("bar");
|
|
47
|
-
expect(result.frontmatter.name).toBe("foo");
|
|
48
|
-
});
|
|
49
|
-
it("truncates over-long description with warning", () => {
|
|
50
|
-
const longDesc = "x".repeat(600);
|
|
51
|
-
const result = parseFrontmatter(`---
|
|
52
|
-
description: ${longDesc}
|
|
53
|
-
---
|
|
54
|
-
`);
|
|
55
|
-
expect(result.frontmatter.description?.length).toBeLessThanOrEqual(500);
|
|
56
|
-
expect(result.warnings.some((w) => /description.*truncated/.test(w))).toBe(true);
|
|
57
|
-
});
|
|
58
|
-
it("falls through to fallback parser on YAML errors", () => {
|
|
59
|
-
// Unquoted YAML value with colon — strict YAML would fail; fallback should rescue
|
|
60
|
-
const result = parseFrontmatter(`---
|
|
61
|
-
description: Tools: read, write, edit
|
|
62
|
-
---
|
|
63
|
-
Body`);
|
|
64
|
-
// Either YAML or fallback — both should produce something usable
|
|
65
|
-
expect(result.body).toBeTruthy();
|
|
66
|
-
});
|
|
67
|
-
it("handles whitespace-only frontmatter block", () => {
|
|
68
|
-
const result = parseFrontmatter("---\n\n---\nJust body");
|
|
69
|
-
expect(result.frontmatter).toEqual({});
|
|
70
|
-
expect(result.body).toBe("Just body");
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
//# sourceMappingURL=frontmatter-parser.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter-parser.test.js","sourceRoot":"","sources":["../../../src/migrate/__tests__/frontmatter-parser.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"md-strip-mewkit.test.d.ts","sourceRoot":"","sources":["../../../src/migrate/__tests__/md-strip-mewkit.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
// Tests for mewkit-specific additions to md-strip (CLI verb rewrites + slash refs).
|
|
2
|
-
import { describe, expect, it } from "vitest";
|
|
3
|
-
import { stripClaudeRefs } from "../converters/md-strip.js";
|
|
4
|
-
describe("stripClaudeRefs — mewkit additions", () => {
|
|
5
|
-
it("rewrites mewkit init to provider-neutral phrasing", () => {
|
|
6
|
-
const { content } = stripClaudeRefs("Run mewkit init to set up.", { provider: "cursor" });
|
|
7
|
-
expect(content.toLowerCase()).toContain("scaffold the kit");
|
|
8
|
-
expect(content.toLowerCase()).not.toContain("mewkit init");
|
|
9
|
-
});
|
|
10
|
-
it("rewrites npx mewkit migrate", () => {
|
|
11
|
-
const { content } = stripClaudeRefs("Run npx mewkit migrate to export.", { provider: "cursor" });
|
|
12
|
-
expect(content.toLowerCase()).toContain("migrate the kit");
|
|
13
|
-
});
|
|
14
|
-
it("rewrites meowkit <verb> generically", () => {
|
|
15
|
-
const { content } = stripClaudeRefs("Run meowkit upgrade for updates.", { provider: "cursor" });
|
|
16
|
-
expect(content.toLowerCase()).toContain("kit upgrade");
|
|
17
|
-
});
|
|
18
|
-
it("strips /meow: slash command refs", () => {
|
|
19
|
-
const { content } = stripClaudeRefs("Use /meow:cook to start.", { provider: "cursor" });
|
|
20
|
-
expect(content).not.toContain("/meow:cook");
|
|
21
|
-
});
|
|
22
|
-
it("strips /mk: shortform slash refs", () => {
|
|
23
|
-
const { content } = stripClaudeRefs("Try /mk:plan first.", { provider: "cursor" });
|
|
24
|
-
expect(content).not.toContain("/mk:plan");
|
|
25
|
-
});
|
|
26
|
-
it("preserves real filesystem paths (e.g. /src/app.ts)", () => {
|
|
27
|
-
const { content } = stripClaudeRefs("Edit /src/app.ts for changes.", { provider: "cursor" });
|
|
28
|
-
expect(content).toContain("/src/app.ts");
|
|
29
|
-
});
|
|
30
|
-
it("preserves mewkit slash refs inside code blocks", () => {
|
|
31
|
-
const input = "Try this:\n```\n/meow:cook\n```\nEnd.";
|
|
32
|
-
const { content } = stripClaudeRefs(input, { provider: "cursor" });
|
|
33
|
-
expect(content).toContain("/meow:cook");
|
|
34
|
-
});
|
|
35
|
-
it("rewrites .claude/agents/ paths to provider-specific paths", () => {
|
|
36
|
-
const { content } = stripClaudeRefs("See .claude/agents/scout.md", { provider: "cursor" });
|
|
37
|
-
expect(content).not.toContain(".claude/agents/");
|
|
38
|
-
});
|
|
39
|
-
it("replaces CLAUDE.md with provider config target", () => {
|
|
40
|
-
const { content } = stripClaudeRefs("See CLAUDE.md for details.", { provider: "cursor" });
|
|
41
|
-
expect(content).not.toContain("CLAUDE.md");
|
|
42
|
-
});
|
|
43
|
-
it("warns when content is empty after stripping", () => {
|
|
44
|
-
const { warnings } = stripClaudeRefs("/meow:cook", { provider: "cursor" });
|
|
45
|
-
// The slash command alone strips to nothing
|
|
46
|
-
expect(warnings.some((w) => /Claude-specific/.test(w))).toBe(true);
|
|
47
|
-
});
|
|
48
|
-
it("respects max content size guard", () => {
|
|
49
|
-
const huge = "x".repeat(600_000);
|
|
50
|
-
const { content, warnings } = stripClaudeRefs(huge, { provider: "cursor" });
|
|
51
|
-
expect(content).toBe(huge);
|
|
52
|
-
expect(warnings.some((w) => /exceeds.*chars/.test(w))).toBe(true);
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
//# sourceMappingURL=md-strip-mewkit.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"md-strip-mewkit.test.js","sourceRoot":"","sources":["../../../src/migrate/__tests__/md-strip-mewkit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-scope-resolver.test.d.ts","sourceRoot":"","sources":["../../../src/migrate/__tests__/migrate-scope-resolver.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { resolveMigrationScope } from "../migrate-scope-resolver.js";
|
|
3
|
-
describe("resolveMigrationScope", () => {
|
|
4
|
-
it("default: all six types enabled", () => {
|
|
5
|
-
const scope = resolveMigrationScope([], {});
|
|
6
|
-
expect(scope).toEqual({
|
|
7
|
-
agents: true, commands: true, skills: true, config: true, rules: true, hooks: true,
|
|
8
|
-
});
|
|
9
|
-
});
|
|
10
|
-
it("--only=skills,hooks narrows scope", () => {
|
|
11
|
-
const scope = resolveMigrationScope([], { only: "skills,hooks" });
|
|
12
|
-
expect(scope).toEqual({
|
|
13
|
-
agents: false, commands: false, skills: true, config: false, rules: false, hooks: true,
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
it("--only conflicts with --skip-config", () => {
|
|
17
|
-
expect(() => resolveMigrationScope([], { only: "skills", skipConfig: true })).toThrow(/mutually exclusive/);
|
|
18
|
-
});
|
|
19
|
-
it("--skip-config excludes config only", () => {
|
|
20
|
-
const scope = resolveMigrationScope(["--skip-config"], { skipConfig: true });
|
|
21
|
-
expect(scope.config).toBe(false);
|
|
22
|
-
expect(scope.agents).toBe(true);
|
|
23
|
-
});
|
|
24
|
-
it("--no-config (alias) also excludes config", () => {
|
|
25
|
-
const scope = resolveMigrationScope(["--no-config"], {});
|
|
26
|
-
expect(scope.config).toBe(false);
|
|
27
|
-
});
|
|
28
|
-
it("positive --config flag: only-mode enables only config", () => {
|
|
29
|
-
const scope = resolveMigrationScope(["--config"], {});
|
|
30
|
-
expect(scope).toEqual({
|
|
31
|
-
agents: false, commands: false, skills: false, config: true, rules: false, hooks: false,
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
it("multiple positive flags: only those enabled", () => {
|
|
35
|
-
const scope = resolveMigrationScope(["--config", "--rules"], {});
|
|
36
|
-
expect(scope.config).toBe(true);
|
|
37
|
-
expect(scope.rules).toBe(true);
|
|
38
|
-
expect(scope.agents).toBe(false);
|
|
39
|
-
expect(scope.hooks).toBe(false);
|
|
40
|
-
});
|
|
41
|
-
it("--only ignores unknown types silently", () => {
|
|
42
|
-
const scope = resolveMigrationScope([], { only: "skills,bogus" });
|
|
43
|
-
expect(scope.skills).toBe(true);
|
|
44
|
-
expect(scope.agents).toBe(false);
|
|
45
|
-
});
|
|
46
|
-
it("--skip-hooks alone keeps everything else", () => {
|
|
47
|
-
const scope = resolveMigrationScope(["--skip-hooks"], { skipHooks: true });
|
|
48
|
-
expect(scope.hooks).toBe(false);
|
|
49
|
-
expect(scope.agents).toBe(true);
|
|
50
|
-
expect(scope.skills).toBe(true);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
//# sourceMappingURL=migrate-scope-resolver.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-scope-resolver.test.js","sourceRoot":"","sources":["../../../src/migrate/__tests__/migrate-scope-resolver.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process-lock.test.d.ts","sourceRoot":"","sources":["../../../src/migrate/__tests__/process-lock.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeEach, describe, expect, it } from "vitest";
|
|
2
|
-
import { existsSync, mkdirSync, rmSync, writeFileSync } from "node:fs";
|
|
3
|
-
import { tmpdir } from "node:os";
|
|
4
|
-
import { join } from "node:path";
|
|
5
|
-
// Test the process-lock semantics directly. We can't easily intercept the home dir
|
|
6
|
-
// the production module uses, so we test the algorithm by importing functions and
|
|
7
|
-
// stubbing path resolution via env. Simplification: test the public surface end-to-end
|
|
8
|
-
// using a temp project dir.
|
|
9
|
-
import { acquireMigrationLock, releaseMigrationLock } from "../reconcile/process-lock.js";
|
|
10
|
-
describe("process-lock", () => {
|
|
11
|
-
let testDir;
|
|
12
|
-
let originalCwd;
|
|
13
|
-
beforeEach(() => {
|
|
14
|
-
originalCwd = process.cwd();
|
|
15
|
-
testDir = join(tmpdir(), `mewkit-lock-test-${Date.now()}-${Math.random().toString(36).slice(2)}`);
|
|
16
|
-
mkdirSync(testDir, { recursive: true });
|
|
17
|
-
process.chdir(testDir);
|
|
18
|
-
});
|
|
19
|
-
afterEach(() => {
|
|
20
|
-
process.chdir(originalCwd);
|
|
21
|
-
rmSync(testDir, { recursive: true, force: true });
|
|
22
|
-
});
|
|
23
|
-
it("acquires lock when none exists", async () => {
|
|
24
|
-
const result = await acquireMigrationLock({ scope: "project" });
|
|
25
|
-
expect(result.acquired).toBe(true);
|
|
26
|
-
expect(existsSync(result.lockPath)).toBe(true);
|
|
27
|
-
await releaseMigrationLock(result.lockPath);
|
|
28
|
-
expect(existsSync(result.lockPath)).toBe(false);
|
|
29
|
-
});
|
|
30
|
-
it("refuses second acquisition while live PID holds lock", async () => {
|
|
31
|
-
// First acquire — uses our process.pid (which is alive)
|
|
32
|
-
const first = await acquireMigrationLock({ scope: "project" });
|
|
33
|
-
expect(first.acquired).toBe(true);
|
|
34
|
-
// Second attempt should refuse because our PID is alive
|
|
35
|
-
const second = await acquireMigrationLock({ scope: "project" });
|
|
36
|
-
expect(second.acquired).toBe(false);
|
|
37
|
-
expect(second.heldBy).toBe(process.pid);
|
|
38
|
-
await releaseMigrationLock(first.lockPath);
|
|
39
|
-
});
|
|
40
|
-
it("auto-clears stale lock with dead PID", async () => {
|
|
41
|
-
// Discover the lock path the function actually uses (vitest workers can have
|
|
42
|
-
// stale process.cwd state — easier to probe than to fight it).
|
|
43
|
-
const probe = await acquireMigrationLock({ scope: "project" });
|
|
44
|
-
expect(probe.acquired).toBe(true);
|
|
45
|
-
const liveLockPath = probe.lockPath;
|
|
46
|
-
await releaseMigrationLock(liveLockPath);
|
|
47
|
-
// Plant a stale lock with definitely-dead PID at the actual path
|
|
48
|
-
const lockDir = join(liveLockPath, "..");
|
|
49
|
-
mkdirSync(lockDir, { recursive: true });
|
|
50
|
-
writeFileSync(liveLockPath, "999999\n0\n", "utf-8");
|
|
51
|
-
// Acquisition should clear stale lock and succeed
|
|
52
|
-
const result = await acquireMigrationLock({ scope: "project" });
|
|
53
|
-
expect(result.acquired).toBe(true);
|
|
54
|
-
expect(result.lockPath).toBe(liveLockPath);
|
|
55
|
-
await releaseMigrationLock(result.lockPath);
|
|
56
|
-
});
|
|
57
|
-
it("release is idempotent (safe to call when lock missing)", async () => {
|
|
58
|
-
const fakeLockPath = join(testDir, ".mewkit", ".lock");
|
|
59
|
-
// Don't create the lock — just call release
|
|
60
|
-
await expect(releaseMigrationLock(fakeLockPath)).resolves.not.toThrow();
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
//# sourceMappingURL=process-lock.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process-lock.test.js","sourceRoot":"","sources":["../../../src/migrate/__tests__/process-lock.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,mFAAmF;AACnF,kFAAkF;AAClF,uFAAuF;AACvF,4BAA4B;AAE5B,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAE1F,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,IAAI,OAAe,CAAC;IACpB,IAAI,WAAmB,CAAC;IAExB,UAAU,CAAC,GAAG,EAAE;QACf,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5B,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClG,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACrE,wDAAwD;QACxD,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElC,wDAAwD;QACxD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAExC,MAAM,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACrD,6EAA6E;QAC7E,+DAA+D;QAC/D,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC;QACpC,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAEzC,iEAAiE;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACzC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,aAAa,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAEpD,kDAAkD;QAClD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE3C,MAAM,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACvD,4CAA4C;QAC5C,MAAM,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-registry.test.d.ts","sourceRoot":"","sources":["../../../src/migrate/__tests__/provider-registry.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { detectProviderPathCollisions, getAllProviderTypes, getProvidersSupporting, } from "../provider-registry-utils.js";
|
|
3
|
-
import { providers } from "../provider-registry.js";
|
|
4
|
-
import { applyMewkitOverrides } from "../provider-overrides.js";
|
|
5
|
-
describe("provider registry", () => {
|
|
6
|
-
it("contains exactly 16 providers (claude-code source + 15 targets)", () => {
|
|
7
|
-
const all = getAllProviderTypes();
|
|
8
|
-
expect(all).toHaveLength(16);
|
|
9
|
-
expect(all).toContain("claude-code");
|
|
10
|
-
});
|
|
11
|
-
it("hooks-supporting providers: exactly claude-code, codex, droid, gemini-cli", () => {
|
|
12
|
-
const hookProviders = getProvidersSupporting("hooks").sort();
|
|
13
|
-
expect(hookProviders).toEqual(["claude-code", "codex", "droid", "gemini-cli"]);
|
|
14
|
-
});
|
|
15
|
-
it(".agents/skills/ shared by codex+cursor+windsurf+gemini-cli+amp (5 providers)", () => {
|
|
16
|
-
const collisions = detectProviderPathCollisions(["codex", "cursor", "windsurf", "gemini-cli", "amp"], { global: false });
|
|
17
|
-
const skillsCollision = collisions.find((c) => c.path === ".agents/skills");
|
|
18
|
-
expect(skillsCollision).toBeDefined();
|
|
19
|
-
expect(skillsCollision?.providers.sort()).toEqual(["amp", "codex", "cursor", "gemini-cli", "windsurf"]);
|
|
20
|
-
});
|
|
21
|
-
it("antigravity uses .agent/skills (singular), distinct from .agents/skills", () => {
|
|
22
|
-
expect(providers.antigravity.skills?.projectPath).toBe(".agent/skills");
|
|
23
|
-
});
|
|
24
|
-
it("every provider config has detect function", () => {
|
|
25
|
-
for (const type of getAllProviderTypes()) {
|
|
26
|
-
expect(typeof providers[type].detect).toBe("function");
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
it("Windsurf charLimit set on rules (6K) and totalCharLimit (12K)", () => {
|
|
30
|
-
expect(providers.windsurf.rules?.charLimit).toBe(6000);
|
|
31
|
-
expect(providers.windsurf.rules?.totalCharLimit).toBe(12000);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
describe("provider overrides", () => {
|
|
35
|
-
it("Override A: Kiro globalPath set after override", () => {
|
|
36
|
-
applyMewkitOverrides();
|
|
37
|
-
expect(providers.kiro.config?.globalPath).toContain(".kiro/steering");
|
|
38
|
-
});
|
|
39
|
-
it("Override D: OpenCode skills paths point to .opencode/skills", () => {
|
|
40
|
-
applyMewkitOverrides();
|
|
41
|
-
expect(providers.opencode.skills?.projectPath).toBe(".opencode/skills");
|
|
42
|
-
expect(providers.opencode.skills?.globalPath).toContain(".opencode/skills");
|
|
43
|
-
});
|
|
44
|
-
it("Override C: Windsurf workflow charLimit = 12000", () => {
|
|
45
|
-
applyMewkitOverrides();
|
|
46
|
-
expect(providers.windsurf.commands?.charLimit).toBe(12000);
|
|
47
|
-
});
|
|
48
|
-
it("Override G: Kilo flagged as _unverified", () => {
|
|
49
|
-
applyMewkitOverrides();
|
|
50
|
-
expect(providers.kilo._unverified).toBe(true);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
//# sourceMappingURL=provider-registry.test.js.map
|