@bloomreach/brxm-upgrade 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +217 -0
- package/dist/ai/index.d.ts +3 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +2 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/providers.d.ts +27 -0
- package/dist/ai/providers.d.ts.map +1 -0
- package/dist/ai/providers.js +105 -0
- package/dist/ai/providers.js.map +1 -0
- package/dist/ai/types.d.ts +47 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +2 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/capture/change-scanner.d.ts +20 -0
- package/dist/capture/change-scanner.d.ts.map +1 -0
- package/dist/capture/change-scanner.js +71 -0
- package/dist/capture/change-scanner.js.map +1 -0
- package/dist/capture/conflict-resolver.d.ts +21 -0
- package/dist/capture/conflict-resolver.d.ts.map +1 -0
- package/dist/capture/conflict-resolver.js +45 -0
- package/dist/capture/conflict-resolver.js.map +1 -0
- package/dist/capture/critique-types.d.ts +60 -0
- package/dist/capture/critique-types.d.ts.map +1 -0
- package/dist/capture/critique-types.js +2 -0
- package/dist/capture/critique-types.js.map +1 -0
- package/dist/capture/entry-critique.d.ts +30 -0
- package/dist/capture/entry-critique.d.ts.map +1 -0
- package/dist/capture/entry-critique.js +137 -0
- package/dist/capture/entry-critique.js.map +1 -0
- package/dist/capture/entry-generator.d.ts +32 -0
- package/dist/capture/entry-generator.d.ts.map +1 -0
- package/dist/capture/entry-generator.js +209 -0
- package/dist/capture/entry-generator.js.map +1 -0
- package/dist/capture/entry-qa.d.ts +28 -0
- package/dist/capture/entry-qa.d.ts.map +1 -0
- package/dist/capture/entry-qa.js +84 -0
- package/dist/capture/entry-qa.js.map +1 -0
- package/dist/capture/entry-regeneration.d.ts +29 -0
- package/dist/capture/entry-regeneration.d.ts.map +1 -0
- package/dist/capture/entry-regeneration.js +164 -0
- package/dist/capture/entry-regeneration.js.map +1 -0
- package/dist/capture/entry-validator.d.ts +18 -0
- package/dist/capture/entry-validator.d.ts.map +1 -0
- package/dist/capture/entry-validator.js +47 -0
- package/dist/capture/entry-validator.js.map +1 -0
- package/dist/capture/heuristics.d.ts +30 -0
- package/dist/capture/heuristics.d.ts.map +1 -0
- package/dist/capture/heuristics.js +223 -0
- package/dist/capture/heuristics.js.map +1 -0
- package/dist/capture/index.d.ts +7 -0
- package/dist/capture/index.d.ts.map +1 -0
- package/dist/capture/index.js +11 -0
- package/dist/capture/index.js.map +1 -0
- package/dist/capture/quality-report.d.ts +19 -0
- package/dist/capture/quality-report.d.ts.map +1 -0
- package/dist/capture/quality-report.js +161 -0
- package/dist/capture/quality-report.js.map +1 -0
- package/dist/capture/review-flow.d.ts +37 -0
- package/dist/capture/review-flow.d.ts.map +1 -0
- package/dist/capture/review-flow.js +212 -0
- package/dist/capture/review-flow.js.map +1 -0
- package/dist/capture/types.d.ts +114 -0
- package/dist/capture/types.d.ts.map +1 -0
- package/dist/capture/types.js +2 -0
- package/dist/capture/types.js.map +1 -0
- package/dist/commands/discover.d.ts +6 -0
- package/dist/commands/discover.d.ts.map +1 -0
- package/dist/commands/discover.js +147 -0
- package/dist/commands/discover.js.map +1 -0
- package/dist/commands/execute.d.ts +12 -0
- package/dist/commands/execute.d.ts.map +1 -0
- package/dist/commands/execute.js +113 -0
- package/dist/commands/execute.js.map +1 -0
- package/dist/commands/export.d.ts +26 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +291 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/finalize.d.ts +12 -0
- package/dist/commands/finalize.d.ts.map +1 -0
- package/dist/commands/finalize.js +225 -0
- package/dist/commands/finalize.js.map +1 -0
- package/dist/commands/guide.d.ts +12 -0
- package/dist/commands/guide.d.ts.map +1 -0
- package/dist/commands/guide.js +28 -0
- package/dist/commands/guide.js.map +1 -0
- package/dist/commands/index.d.ts +6 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +22 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/log-change.d.ts +14 -0
- package/dist/commands/log-change.d.ts.map +1 -0
- package/dist/commands/log-change.js +243 -0
- package/dist/commands/log-change.js.map +1 -0
- package/dist/commands/plan.d.ts +12 -0
- package/dist/commands/plan.d.ts.map +1 -0
- package/dist/commands/plan.js +162 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/review-manifest.d.ts +39 -0
- package/dist/commands/review-manifest.d.ts.map +1 -0
- package/dist/commands/review-manifest.js +178 -0
- package/dist/commands/review-manifest.js.map +1 -0
- package/dist/commands/setup-manifests.d.ts +12 -0
- package/dist/commands/setup-manifests.d.ts.map +1 -0
- package/dist/commands/setup-manifests.js +229 -0
- package/dist/commands/setup-manifests.js.map +1 -0
- package/dist/config/defaults.d.ts +15 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +36 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +17 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +104 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/schema.d.ts +33 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +110 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/core/index.d.ts +12 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +16 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/phase-manager.d.ts +53 -0
- package/dist/core/phase-manager.d.ts.map +1 -0
- package/dist/core/phase-manager.js +124 -0
- package/dist/core/phase-manager.js.map +1 -0
- package/dist/core/upgrade-state.d.ts +24 -0
- package/dist/core/upgrade-state.d.ts.map +1 -0
- package/dist/core/upgrade-state.js +32 -0
- package/dist/core/upgrade-state.js.map +1 -0
- package/dist/discovery/index.d.ts +5 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +4 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/discovery/orchestrator.d.ts +46 -0
- package/dist/discovery/orchestrator.d.ts.map +1 -0
- package/dist/discovery/orchestrator.js +124 -0
- package/dist/discovery/orchestrator.js.map +1 -0
- package/dist/discovery/scanners/config-detector.d.ts +24 -0
- package/dist/discovery/scanners/config-detector.d.ts.map +1 -0
- package/dist/discovery/scanners/config-detector.js +82 -0
- package/dist/discovery/scanners/config-detector.js.map +1 -0
- package/dist/discovery/scanners/cv-scanner.d.ts +30 -0
- package/dist/discovery/scanners/cv-scanner.d.ts.map +1 -0
- package/dist/discovery/scanners/cv-scanner.js +85 -0
- package/dist/discovery/scanners/cv-scanner.js.map +1 -0
- package/dist/discovery/scanners/index.d.ts +6 -0
- package/dist/discovery/scanners/index.d.ts.map +1 -0
- package/dist/discovery/scanners/index.js +6 -0
- package/dist/discovery/scanners/index.js.map +1 -0
- package/dist/discovery/scanners/maven-scanner.d.ts +33 -0
- package/dist/discovery/scanners/maven-scanner.d.ts.map +1 -0
- package/dist/discovery/scanners/maven-scanner.js +96 -0
- package/dist/discovery/scanners/maven-scanner.js.map +1 -0
- package/dist/discovery/scanners/repo-scanner.d.ts +9 -0
- package/dist/discovery/scanners/repo-scanner.d.ts.map +1 -0
- package/dist/discovery/scanners/repo-scanner.js +80 -0
- package/dist/discovery/scanners/repo-scanner.js.map +1 -0
- package/dist/discovery/scanners/version-resolver.d.ts +45 -0
- package/dist/discovery/scanners/version-resolver.d.ts.map +1 -0
- package/dist/discovery/scanners/version-resolver.js +119 -0
- package/dist/discovery/scanners/version-resolver.js.map +1 -0
- package/dist/discovery/types.d.ts +156 -0
- package/dist/discovery/types.d.ts.map +1 -0
- package/dist/discovery/types.js +2 -0
- package/dist/discovery/types.js.map +1 -0
- package/dist/discovery/validators/index.d.ts +2 -0
- package/dist/discovery/validators/index.d.ts.map +1 -0
- package/dist/discovery/validators/index.js +2 -0
- package/dist/discovery/validators/index.js.map +1 -0
- package/dist/discovery/validators/upgrade-validator.d.ts +34 -0
- package/dist/discovery/validators/upgrade-validator.d.ts.map +1 -0
- package/dist/discovery/validators/upgrade-validator.js +135 -0
- package/dist/discovery/validators/upgrade-validator.js.map +1 -0
- package/dist/docs/docs-client.d.ts +44 -0
- package/dist/docs/docs-client.d.ts.map +1 -0
- package/dist/docs/docs-client.js +161 -0
- package/dist/docs/docs-client.js.map +1 -0
- package/dist/docs/docs-context.d.ts +23 -0
- package/dist/docs/docs-context.d.ts.map +1 -0
- package/dist/docs/docs-context.js +41 -0
- package/dist/docs/docs-context.js.map +1 -0
- package/dist/docs/index.d.ts +4 -0
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +3 -0
- package/dist/docs/index.js.map +1 -0
- package/dist/docs/types.d.ts +27 -0
- package/dist/docs/types.d.ts.map +1 -0
- package/dist/docs/types.js +2 -0
- package/dist/docs/types.js.map +1 -0
- package/dist/execution/diff-presenter.d.ts +52 -0
- package/dist/execution/diff-presenter.d.ts.map +1 -0
- package/dist/execution/diff-presenter.js +148 -0
- package/dist/execution/diff-presenter.js.map +1 -0
- package/dist/execution/executors/ai-assisted.d.ts +28 -0
- package/dist/execution/executors/ai-assisted.d.ts.map +1 -0
- package/dist/execution/executors/ai-assisted.js +226 -0
- package/dist/execution/executors/ai-assisted.js.map +1 -0
- package/dist/execution/executors/automated.d.ts +15 -0
- package/dist/execution/executors/automated.d.ts.map +1 -0
- package/dist/execution/executors/automated.js +37 -0
- package/dist/execution/executors/automated.js.map +1 -0
- package/dist/execution/executors/cv-gate.d.ts +23 -0
- package/dist/execution/executors/cv-gate.d.ts.map +1 -0
- package/dist/execution/executors/cv-gate.js +63 -0
- package/dist/execution/executors/cv-gate.js.map +1 -0
- package/dist/execution/executors/index.d.ts +7 -0
- package/dist/execution/executors/index.d.ts.map +1 -0
- package/dist/execution/executors/index.js +7 -0
- package/dist/execution/executors/index.js.map +1 -0
- package/dist/execution/executors/manual.d.ts +18 -0
- package/dist/execution/executors/manual.d.ts.map +1 -0
- package/dist/execution/executors/manual.js +31 -0
- package/dist/execution/executors/manual.js.map +1 -0
- package/dist/execution/executors/override-resolution.d.ts +27 -0
- package/dist/execution/executors/override-resolution.d.ts.map +1 -0
- package/dist/execution/executors/override-resolution.js +79 -0
- package/dist/execution/executors/override-resolution.js.map +1 -0
- package/dist/execution/executors/version-bump.d.ts +20 -0
- package/dist/execution/executors/version-bump.d.ts.map +1 -0
- package/dist/execution/executors/version-bump.js +65 -0
- package/dist/execution/executors/version-bump.js.map +1 -0
- package/dist/execution/file-transformer.d.ts +25 -0
- package/dist/execution/file-transformer.d.ts.map +1 -0
- package/dist/execution/file-transformer.js +74 -0
- package/dist/execution/file-transformer.js.map +1 -0
- package/dist/execution/index.d.ts +7 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +9 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/execution/state-manager.d.ts +27 -0
- package/dist/execution/state-manager.d.ts.map +1 -0
- package/dist/execution/state-manager.js +48 -0
- package/dist/execution/state-manager.js.map +1 -0
- package/dist/execution/step-executor.d.ts +68 -0
- package/dist/execution/step-executor.d.ts.map +1 -0
- package/dist/execution/step-executor.js +243 -0
- package/dist/execution/step-executor.js.map +1 -0
- package/dist/execution/types.d.ts +92 -0
- package/dist/execution/types.d.ts.map +1 -0
- package/dist/execution/types.js +2 -0
- package/dist/execution/types.js.map +1 -0
- package/dist/guide/GuideRunner.d.ts +62 -0
- package/dist/guide/GuideRunner.d.ts.map +1 -0
- package/dist/guide/GuideRunner.js +390 -0
- package/dist/guide/GuideRunner.js.map +1 -0
- package/dist/guide/chat/ChatContextBuilder.d.ts +44 -0
- package/dist/guide/chat/ChatContextBuilder.d.ts.map +1 -0
- package/dist/guide/chat/ChatContextBuilder.js +121 -0
- package/dist/guide/chat/ChatContextBuilder.js.map +1 -0
- package/dist/guide/chat/ChatLoop.d.ts +18 -0
- package/dist/guide/chat/ChatLoop.d.ts.map +1 -0
- package/dist/guide/chat/ChatLoop.js +59 -0
- package/dist/guide/chat/ChatLoop.js.map +1 -0
- package/dist/guide/chat/StepCoach.d.ts +22 -0
- package/dist/guide/chat/StepCoach.d.ts.map +1 -0
- package/dist/guide/chat/StepCoach.js +39 -0
- package/dist/guide/chat/StepCoach.js.map +1 -0
- package/dist/guide/chat/index.d.ts +4 -0
- package/dist/guide/chat/index.d.ts.map +1 -0
- package/dist/guide/chat/index.js +4 -0
- package/dist/guide/chat/index.js.map +1 -0
- package/dist/guide/index.d.ts +3 -0
- package/dist/guide/index.d.ts.map +1 -0
- package/dist/guide/index.js +2 -0
- package/dist/guide/index.js.map +1 -0
- package/dist/guide/phases/DiscoveryPhase.d.ts +30 -0
- package/dist/guide/phases/DiscoveryPhase.d.ts.map +1 -0
- package/dist/guide/phases/DiscoveryPhase.js +238 -0
- package/dist/guide/phases/DiscoveryPhase.js.map +1 -0
- package/dist/guide/phases/ExecutionPhase.d.ts +80 -0
- package/dist/guide/phases/ExecutionPhase.d.ts.map +1 -0
- package/dist/guide/phases/ExecutionPhase.js +574 -0
- package/dist/guide/phases/ExecutionPhase.js.map +1 -0
- package/dist/guide/phases/PlanPhase.d.ts +22 -0
- package/dist/guide/phases/PlanPhase.d.ts.map +1 -0
- package/dist/guide/phases/PlanPhase.js +200 -0
- package/dist/guide/phases/PlanPhase.js.map +1 -0
- package/dist/guide/phases/index.d.ts +4 -0
- package/dist/guide/phases/index.d.ts.map +1 -0
- package/dist/guide/phases/index.js +4 -0
- package/dist/guide/phases/index.js.map +1 -0
- package/dist/guide/rendering/formatters.d.ts +126 -0
- package/dist/guide/rendering/formatters.d.ts.map +1 -0
- package/dist/guide/rendering/formatters.js +340 -0
- package/dist/guide/rendering/formatters.js.map +1 -0
- package/dist/guide/rendering/index.d.ts +2 -0
- package/dist/guide/rendering/index.d.ts.map +1 -0
- package/dist/guide/rendering/index.js +2 -0
- package/dist/guide/rendering/index.js.map +1 -0
- package/dist/guide/rendering/platform-changes.d.ts +18 -0
- package/dist/guide/rendering/platform-changes.d.ts.map +1 -0
- package/dist/guide/rendering/platform-changes.js +86 -0
- package/dist/guide/rendering/platform-changes.js.map +1 -0
- package/dist/guide/types.d.ts +100 -0
- package/dist/guide/types.d.ts.map +1 -0
- package/dist/guide/types.js +2 -0
- package/dist/guide/types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +138 -0
- package/dist/index.js.map +1 -0
- package/dist/manifests/maven-settings.d.ts +7 -0
- package/dist/manifests/maven-settings.d.ts.map +1 -0
- package/dist/manifests/maven-settings.js +33 -0
- package/dist/manifests/maven-settings.js.map +1 -0
- package/dist/manifests/parent-properties.d.ts +12 -0
- package/dist/manifests/parent-properties.d.ts.map +1 -0
- package/dist/manifests/parent-properties.js +28 -0
- package/dist/manifests/parent-properties.js.map +1 -0
- package/dist/manifests/schema.json +198 -0
- package/dist/manifests/unreleased.yaml +3 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +13 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/resources/index.d.ts +32 -0
- package/dist/mcp/resources/index.d.ts.map +1 -0
- package/dist/mcp/resources/index.js +55 -0
- package/dist/mcp/resources/index.js.map +1 -0
- package/dist/mcp/server.d.ts +9 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +162 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/complete-step.d.ts +26 -0
- package/dist/mcp/tools/complete-step.d.ts.map +1 -0
- package/dist/mcp/tools/complete-step.js +73 -0
- package/dist/mcp/tools/complete-step.js.map +1 -0
- package/dist/mcp/tools/create-upgrade-plan.d.ts +36 -0
- package/dist/mcp/tools/create-upgrade-plan.d.ts.map +1 -0
- package/dist/mcp/tools/create-upgrade-plan.js +143 -0
- package/dist/mcp/tools/create-upgrade-plan.js.map +1 -0
- package/dist/mcp/tools/discover-project.d.ts +33 -0
- package/dist/mcp/tools/discover-project.d.ts.map +1 -0
- package/dist/mcp/tools/discover-project.js +96 -0
- package/dist/mcp/tools/discover-project.js.map +1 -0
- package/dist/mcp/tools/get-next-step.d.ts +54 -0
- package/dist/mcp/tools/get-next-step.d.ts.map +1 -0
- package/dist/mcp/tools/get-next-step.js +110 -0
- package/dist/mcp/tools/get-next-step.js.map +1 -0
- package/dist/mcp/tools/get-upgrade-status.d.ts +25 -0
- package/dist/mcp/tools/get-upgrade-status.d.ts.map +1 -0
- package/dist/mcp/tools/get-upgrade-status.js +79 -0
- package/dist/mcp/tools/get-upgrade-status.js.map +1 -0
- package/dist/mcp/tools/upgrade-targets.d.ts +19 -0
- package/dist/mcp/tools/upgrade-targets.d.ts.map +1 -0
- package/dist/mcp/tools/upgrade-targets.js +132 -0
- package/dist/mcp/tools/upgrade-targets.js.map +1 -0
- package/dist/planning/ai-analyzer.d.ts +20 -0
- package/dist/planning/ai-analyzer.d.ts.map +1 -0
- package/dist/planning/ai-analyzer.js +97 -0
- package/dist/planning/ai-analyzer.js.map +1 -0
- package/dist/planning/index.d.ts +8 -0
- package/dist/planning/index.d.ts.map +1 -0
- package/dist/planning/index.js +13 -0
- package/dist/planning/index.js.map +1 -0
- package/dist/planning/manifest-loader.d.ts +54 -0
- package/dist/planning/manifest-loader.d.ts.map +1 -0
- package/dist/planning/manifest-loader.js +233 -0
- package/dist/planning/manifest-loader.js.map +1 -0
- package/dist/planning/manifest-schema.d.ts +41 -0
- package/dist/planning/manifest-schema.d.ts.map +1 -0
- package/dist/planning/manifest-schema.js +71 -0
- package/dist/planning/manifest-schema.js.map +1 -0
- package/dist/planning/override-analyzer.d.ts +12 -0
- package/dist/planning/override-analyzer.d.ts.map +1 -0
- package/dist/planning/override-analyzer.js +42 -0
- package/dist/planning/override-analyzer.js.map +1 -0
- package/dist/planning/plan-generator.d.ts +15 -0
- package/dist/planning/plan-generator.d.ts.map +1 -0
- package/dist/planning/plan-generator.js +250 -0
- package/dist/planning/plan-generator.js.map +1 -0
- package/dist/planning/project-matcher.d.ts +65 -0
- package/dist/planning/project-matcher.d.ts.map +1 -0
- package/dist/planning/project-matcher.js +265 -0
- package/dist/planning/project-matcher.js.map +1 -0
- package/dist/planning/types.d.ts +237 -0
- package/dist/planning/types.d.ts.map +1 -0
- package/dist/planning/types.js +2 -0
- package/dist/planning/types.js.map +1 -0
- package/dist/types/index.d.ts +90 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/command-helpers.d.ts +14 -0
- package/dist/utils/command-helpers.d.ts.map +1 -0
- package/dist/utils/command-helpers.js +18 -0
- package/dist/utils/command-helpers.js.map +1 -0
- package/dist/utils/diff.d.ts +42 -0
- package/dist/utils/diff.d.ts.map +1 -0
- package/dist/utils/diff.js +80 -0
- package/dist/utils/diff.js.map +1 -0
- package/dist/utils/error.d.ts +5 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +8 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/fs.d.ts +50 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +117 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +31 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +62 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/output-writer.d.ts +26 -0
- package/dist/utils/output-writer.d.ts.map +1 -0
- package/dist/utils/output-writer.js +62 -0
- package/dist/utils/output-writer.js.map +1 -0
- package/dist/utils/pom-parser.d.ts +94 -0
- package/dist/utils/pom-parser.d.ts.map +1 -0
- package/dist/utils/pom-parser.js +120 -0
- package/dist/utils/pom-parser.js.map +1 -0
- package/dist/utils/spinner.d.ts +35 -0
- package/dist/utils/spinner.d.ts.map +1 -0
- package/dist/utils/spinner.js +46 -0
- package/dist/utils/spinner.js.map +1 -0
- package/package.json +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-manifests.js","sourceRoot":"","sources":["../../src/commands/setup-manifests.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AIProvider, BrxmUpgradeConfig } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration for the brxm-upgrade tool.
|
|
4
|
+
* Can be overridden by .brxmrc files or CLI flags.
|
|
5
|
+
*/
|
|
6
|
+
export declare const defaultConfig: BrxmUpgradeConfig;
|
|
7
|
+
/**
|
|
8
|
+
* Environment variable names for AI providers.
|
|
9
|
+
*/
|
|
10
|
+
export declare const providerEnvVars: Record<AIProvider, string>;
|
|
11
|
+
/**
|
|
12
|
+
* Default models for each AI provider.
|
|
13
|
+
*/
|
|
14
|
+
export declare const providerDefaultModels: Record<AIProvider, string>;
|
|
15
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,iBAc3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAItD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAI5D,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default configuration for the brxm-upgrade tool.
|
|
3
|
+
* Can be overridden by .brxmrc files or CLI flags.
|
|
4
|
+
*/
|
|
5
|
+
export const defaultConfig = {
|
|
6
|
+
ai: {
|
|
7
|
+
provider: 'anthropic',
|
|
8
|
+
model: 'claude-sonnet-4-6',
|
|
9
|
+
apiKeyEnv: 'ANTHROPIC_API_KEY',
|
|
10
|
+
},
|
|
11
|
+
upgrade: {
|
|
12
|
+
source: 'bundled',
|
|
13
|
+
},
|
|
14
|
+
output: {
|
|
15
|
+
verbose: false,
|
|
16
|
+
color: true,
|
|
17
|
+
exportPath: '.brxm-upgrade',
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Environment variable names for AI providers.
|
|
22
|
+
*/
|
|
23
|
+
export const providerEnvVars = {
|
|
24
|
+
anthropic: 'ANTHROPIC_API_KEY',
|
|
25
|
+
openai: 'OPENAI_API_KEY',
|
|
26
|
+
google: 'GOOGLE_AI_API_KEY',
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Default models for each AI provider.
|
|
30
|
+
*/
|
|
31
|
+
export const providerDefaultModels = {
|
|
32
|
+
anthropic: 'claude-sonnet-4-6',
|
|
33
|
+
openai: 'gpt-4o',
|
|
34
|
+
google: 'gemini-2.5-pro',
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C,EAAE,EAAE;QACF,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,mBAAmB;QAC1B,SAAS,EAAE,mBAAmB;KAC/B;IACD,OAAO,EAAE;QACP,MAAM,EAAE,SAAS;KAClB;IACD,MAAM,EAAE;QACN,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,eAAe;KAC5B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAA+B;IACzD,SAAS,EAAE,mBAAmB;IAC9B,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,mBAAmB;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA+B;IAC/D,SAAS,EAAE,mBAAmB;IAC9B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,gBAAgB;CACzB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { BrxmUpgradeConfig, AIProvider } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Load configuration from file and merge with defaults.
|
|
4
|
+
*/
|
|
5
|
+
export declare function loadConfig(searchFrom?: string): Promise<BrxmUpgradeConfig>;
|
|
6
|
+
/**
|
|
7
|
+
* Get the API key for a specific provider from environment variables.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getApiKey(provider: AIProvider, envVarName?: string): string | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Get the default model for a specific provider.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getDefaultModel(provider: AIProvider): string;
|
|
14
|
+
export { defaultConfig } from './defaults.js';
|
|
15
|
+
export { validateConfig, ConfigValidationError, isValidConfig } from './schema.js';
|
|
16
|
+
export type { BrxmUpgradeConfig } from '../types/index.js';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA+DvE;;GAEG;AACH,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyBhF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAE5D;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { cosmiconfig } from 'cosmiconfig';
|
|
2
|
+
import * as yaml from 'js-yaml';
|
|
3
|
+
import { defaultConfig, providerEnvVars, providerDefaultModels } from './defaults.js';
|
|
4
|
+
import { validateConfig, ConfigValidationError } from './schema.js';
|
|
5
|
+
import { createLogger } from '../utils/logger.js';
|
|
6
|
+
const logger = createLogger({ prefix: 'config' });
|
|
7
|
+
/**
|
|
8
|
+
* Custom YAML loader for cosmiconfig.
|
|
9
|
+
*/
|
|
10
|
+
function yamlLoader(_filepath, content) {
|
|
11
|
+
const parsed = yaml.load(content);
|
|
12
|
+
// yaml.load() can return null (for "null"), a string, number, array, or object.
|
|
13
|
+
// Only a plain object is a valid configuration. All other types fall back to defaults.
|
|
14
|
+
if (parsed == null || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
15
|
+
return {};
|
|
16
|
+
}
|
|
17
|
+
return parsed;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Cosmiconfig explorer for .brxmrc files.
|
|
21
|
+
*/
|
|
22
|
+
const explorer = cosmiconfig('brxm', {
|
|
23
|
+
searchPlaces: [
|
|
24
|
+
'.brxmrc',
|
|
25
|
+
'.brxmrc.yaml',
|
|
26
|
+
'.brxmrc.yml',
|
|
27
|
+
'.brxmrc.json',
|
|
28
|
+
'brxm.config.js',
|
|
29
|
+
'brxm.config.cjs',
|
|
30
|
+
],
|
|
31
|
+
loaders: {
|
|
32
|
+
'.yaml': yamlLoader,
|
|
33
|
+
'.yml': yamlLoader,
|
|
34
|
+
noExt: yamlLoader,
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Deep merge two objects, with source values overwriting target values.
|
|
39
|
+
* null in source means "use default" -- null values are skipped.
|
|
40
|
+
*/
|
|
41
|
+
function deepMerge(target, source) {
|
|
42
|
+
const result = { ...target };
|
|
43
|
+
for (const key of Object.keys(source)) {
|
|
44
|
+
const sourceValue = source[key];
|
|
45
|
+
const targetValue = target[key];
|
|
46
|
+
if (sourceValue !== undefined &&
|
|
47
|
+
typeof sourceValue === 'object' &&
|
|
48
|
+
sourceValue !== null &&
|
|
49
|
+
!Array.isArray(sourceValue) &&
|
|
50
|
+
typeof targetValue === 'object' &&
|
|
51
|
+
targetValue !== null &&
|
|
52
|
+
!Array.isArray(targetValue)) {
|
|
53
|
+
result[key] = deepMerge(targetValue, sourceValue);
|
|
54
|
+
}
|
|
55
|
+
else if (sourceValue !== undefined && sourceValue !== null) {
|
|
56
|
+
result[key] = sourceValue;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Load configuration from file and merge with defaults.
|
|
63
|
+
*/
|
|
64
|
+
export async function loadConfig(searchFrom) {
|
|
65
|
+
let fileConfig = {};
|
|
66
|
+
try {
|
|
67
|
+
const result = await explorer.search(searchFrom);
|
|
68
|
+
if (result && !result.isEmpty) {
|
|
69
|
+
logger.info(`Loaded configuration from ${result.filepath}`);
|
|
70
|
+
fileConfig = result.config;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
logger.warn(`Failed to load config file: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
75
|
+
}
|
|
76
|
+
const mergedConfig = deepMerge(defaultConfig, fileConfig);
|
|
77
|
+
try {
|
|
78
|
+
validateConfig(mergedConfig);
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
if (error instanceof ConfigValidationError) {
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
84
|
+
throw new ConfigValidationError(`Configuration validation failed: ${String(error)}`, null);
|
|
85
|
+
}
|
|
86
|
+
return mergedConfig;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get the API key for a specific provider from environment variables.
|
|
90
|
+
*/
|
|
91
|
+
export function getApiKey(provider, envVarName) {
|
|
92
|
+
const envVar = envVarName ?? providerEnvVars[provider];
|
|
93
|
+
return process.env[envVar];
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Get the default model for a specific provider.
|
|
97
|
+
*/
|
|
98
|
+
export function getDefaultModel(provider) {
|
|
99
|
+
return providerDefaultModels[provider] ?? 'default';
|
|
100
|
+
}
|
|
101
|
+
// Re-export for convenience
|
|
102
|
+
export { defaultConfig } from './defaults.js';
|
|
103
|
+
export { validateConfig, ConfigValidationError, isValidConfig } from './schema.js';
|
|
104
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type ErrorObject } from 'ajv';
|
|
2
|
+
import type { BrxmUpgradeConfig } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Custom error class for configuration validation errors.
|
|
5
|
+
* Includes detailed error information from the JSON schema validation.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ConfigValidationError extends Error {
|
|
8
|
+
readonly errors: ErrorObject[] | null | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Creates a new ConfigValidationError.
|
|
11
|
+
* @param message - Human-readable error message
|
|
12
|
+
* @param errors - Array of validation errors from Ajv
|
|
13
|
+
*/
|
|
14
|
+
constructor(message: string, errors: ErrorObject[] | null | undefined);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Validates a configuration object against the schema.
|
|
18
|
+
* Uses JSON Schema validation to ensure all required fields are present
|
|
19
|
+
* and values conform to expected types and constraints.
|
|
20
|
+
*
|
|
21
|
+
* @param config - The configuration object to validate
|
|
22
|
+
* @throws ConfigValidationError if validation fails
|
|
23
|
+
*/
|
|
24
|
+
export declare function validateConfig(config: unknown): asserts config is BrxmUpgradeConfig;
|
|
25
|
+
/**
|
|
26
|
+
* Checks if a value is a valid configuration object.
|
|
27
|
+
* Non-throwing version of validateConfig for conditional checks.
|
|
28
|
+
*
|
|
29
|
+
* @param config - The value to check
|
|
30
|
+
* @returns True if the value is a valid BrxmUpgradeConfig, false otherwise
|
|
31
|
+
*/
|
|
32
|
+
export declare function isValidConfig(config: unknown): config is BrxmUpgradeConfig;
|
|
33
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,KAAK,WAAW,EAA8C,MAAM,KAAK,CAAC;AAC9F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAqE3D;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAQ5B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,GAAG,SAAS;IAP1D;;;;OAIG;gBAED,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,GAAG,SAAS;CAK3D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,iBAAiB,CAWnF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,iBAAiB,CAE1E"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import AjvModule from 'ajv';
|
|
2
|
+
// Handle both ESM default export and CommonJS compatibility
|
|
3
|
+
const Ajv = AjvModule.default ?? AjvModule;
|
|
4
|
+
/**
|
|
5
|
+
* JSON Schema for brxm-upgrade configuration.
|
|
6
|
+
* Validates the complete configuration structure including AI provider settings,
|
|
7
|
+
* manifest source configuration, and output preferences.
|
|
8
|
+
*/
|
|
9
|
+
const configSchema = {
|
|
10
|
+
type: 'object',
|
|
11
|
+
required: ['ai', 'upgrade', 'output'],
|
|
12
|
+
additionalProperties: false,
|
|
13
|
+
properties: {
|
|
14
|
+
ai: {
|
|
15
|
+
type: 'object',
|
|
16
|
+
required: ['provider', 'model', 'apiKeyEnv'],
|
|
17
|
+
additionalProperties: false,
|
|
18
|
+
properties: {
|
|
19
|
+
provider: {
|
|
20
|
+
type: 'string',
|
|
21
|
+
enum: ['anthropic', 'openai', 'google'],
|
|
22
|
+
},
|
|
23
|
+
model: { type: 'string', minLength: 1 },
|
|
24
|
+
apiKeyEnv: { type: 'string', minLength: 1 },
|
|
25
|
+
// nullable required by Ajv JSONSchemaType for optional properties (string | undefined)
|
|
26
|
+
baseUrl: { type: 'string', nullable: true },
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
upgrade: {
|
|
30
|
+
type: 'object',
|
|
31
|
+
required: ['source'],
|
|
32
|
+
additionalProperties: false,
|
|
33
|
+
properties: {
|
|
34
|
+
source: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
enum: ['bundled', 'url', 'local'],
|
|
37
|
+
},
|
|
38
|
+
url: { type: 'string', nullable: true },
|
|
39
|
+
localPath: { type: 'string', nullable: true },
|
|
40
|
+
auth: {
|
|
41
|
+
type: 'object',
|
|
42
|
+
nullable: true,
|
|
43
|
+
required: ['tokenEnv'],
|
|
44
|
+
additionalProperties: false,
|
|
45
|
+
properties: {
|
|
46
|
+
tokenEnv: { type: 'string', minLength: 1 },
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
output: {
|
|
52
|
+
type: 'object',
|
|
53
|
+
required: ['verbose', 'color', 'exportPath'],
|
|
54
|
+
additionalProperties: false,
|
|
55
|
+
properties: {
|
|
56
|
+
verbose: { type: 'boolean' },
|
|
57
|
+
color: { type: 'boolean' },
|
|
58
|
+
exportPath: { type: 'string', minLength: 1 },
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
// Ajv's compile() erases generics, so we keep an explicit ValidateFunction type here
|
|
64
|
+
const ajv = new Ajv({ allErrors: true, verbose: true });
|
|
65
|
+
const validate = ajv.compile(configSchema);
|
|
66
|
+
/**
|
|
67
|
+
* Custom error class for configuration validation errors.
|
|
68
|
+
* Includes detailed error information from the JSON schema validation.
|
|
69
|
+
*/
|
|
70
|
+
export class ConfigValidationError extends Error {
|
|
71
|
+
errors;
|
|
72
|
+
/**
|
|
73
|
+
* Creates a new ConfigValidationError.
|
|
74
|
+
* @param message - Human-readable error message
|
|
75
|
+
* @param errors - Array of validation errors from Ajv
|
|
76
|
+
*/
|
|
77
|
+
constructor(message, errors) {
|
|
78
|
+
super(message);
|
|
79
|
+
this.errors = errors;
|
|
80
|
+
this.name = 'ConfigValidationError';
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Validates a configuration object against the schema.
|
|
85
|
+
* Uses JSON Schema validation to ensure all required fields are present
|
|
86
|
+
* and values conform to expected types and constraints.
|
|
87
|
+
*
|
|
88
|
+
* @param config - The configuration object to validate
|
|
89
|
+
* @throws ConfigValidationError if validation fails
|
|
90
|
+
*/
|
|
91
|
+
export function validateConfig(config) {
|
|
92
|
+
const valid = validate(config);
|
|
93
|
+
if (!valid) {
|
|
94
|
+
const errorMessages = validate.errors
|
|
95
|
+
?.map((e) => `${e.instancePath || 'config'} ${e.message ?? 'validation failed'}`)
|
|
96
|
+
.join('; ');
|
|
97
|
+
throw new ConfigValidationError(`Invalid configuration: ${errorMessages}`, validate.errors);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Checks if a value is a valid configuration object.
|
|
102
|
+
* Non-throwing version of validateConfig for conditional checks.
|
|
103
|
+
*
|
|
104
|
+
* @param config - The value to check
|
|
105
|
+
* @returns True if the value is a valid BrxmUpgradeConfig, false otherwise
|
|
106
|
+
*/
|
|
107
|
+
export function isValidConfig(config) {
|
|
108
|
+
return validate(config);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,SAA2E,MAAM,KAAK,CAAC;AAG9F,4DAA4D;AAC5D,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC;AAE3C;;;;GAIG;AACH,MAAM,YAAY,GAAsC;IACtD,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;IACrC,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,EAAE,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC;YAC5C,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC;iBACxC;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBACvC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,uFAAuF;gBACvF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC5C;SACF;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC;iBAClC;gBACD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACvC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC7C,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,CAAC,UAAU,CAAC;oBACtB,oBAAoB,EAAE,KAAK;oBAC3B,UAAU,EAAE;wBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;qBAC3C;iBACF;aACF;SACF;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC;YAC5C,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;aAC7C;SACF;KACF;CACF,CAAC;AAEF,qFAAqF;AACrF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,MAAM,QAAQ,GAAwC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAEhF;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAQ5B;IAPlB;;;;OAIG;IACH,YACE,OAAe,EACC,MAAwC;QAExD,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,WAAM,GAAN,MAAM,CAAkC;QAGxD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;YACnC,EAAE,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,IAAI,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,mBAAmB,EAAE,CAAC;aAC7F,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,qBAAqB,CAC7B,0BAA0B,aAAa,EAAE,EACzC,QAAQ,CAAC,MAAM,CAChB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,MAAe;IAC3C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { DiscoveryOrchestrator, type DiscoveryResult } from '../discovery/orchestrator.js';
|
|
2
|
+
export type { ProjectContext, DiscoveryOptions, ValidationIssue, MavenModule, BuildConfig, RepoConfig, ConfigArtifacts, } from '../discovery/types.js';
|
|
3
|
+
export { loadManifestsForUpgrade, getAvailableVersions, matchManifestsToProject, generatePlan, orderStepsByDependency, type MatchOptions, } from '../planning/index.js';
|
|
4
|
+
export type { UpgradePlan, PlanStep, PlanSummary, PlanStepStatus, ManifestEntry, ManifestLoadOptions, AutomationLevel, EntryMatch, } from '../planning/types.js';
|
|
5
|
+
export { StateManager } from '../execution/state-manager.js';
|
|
6
|
+
export type { ExecutionState, StepExecutionResult, } from '../execution/types.js';
|
|
7
|
+
export { loadConfig, getApiKey, getDefaultModel } from '../config/index.js';
|
|
8
|
+
export type { BrxmUpgradeConfig, AIProvider } from '../types/index.js';
|
|
9
|
+
export { PhaseManager, type UpgradePhase, type UpgradeProgress } from './phase-manager.js';
|
|
10
|
+
export { loadUpgradeState, saveUpgradeState, getUpgradeStatePath, type UpgradeState, } from './upgrade-state.js';
|
|
11
|
+
export { pathExists, readTextFile, writeTextFile, ensureDir, joinPaths, resolvePath, getOutputDir, } from '../utils/fs.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3F,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,WAAW,EACX,UAAU,EACV,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,sBAAsB,EACtB,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,WAAW,EACX,QAAQ,EACR,WAAW,EACX,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,UAAU,GACX,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,YAAY,EACV,cAAc,EACd,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5E,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,GACb,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Core barrel — re-exports pure business logic for CLI and MCP server.
|
|
2
|
+
// No terminal I/O dependencies (inquirer, ora, chalk) are exported here.
|
|
3
|
+
// Discovery
|
|
4
|
+
export { DiscoveryOrchestrator } from '../discovery/orchestrator.js';
|
|
5
|
+
// Planning
|
|
6
|
+
export { loadManifestsForUpgrade, getAvailableVersions, matchManifestsToProject, generatePlan, orderStepsByDependency, } from '../planning/index.js';
|
|
7
|
+
// Execution state
|
|
8
|
+
export { StateManager } from '../execution/state-manager.js';
|
|
9
|
+
// Configuration
|
|
10
|
+
export { loadConfig, getApiKey, getDefaultModel } from '../config/index.js';
|
|
11
|
+
// Phase management
|
|
12
|
+
export { PhaseManager } from './phase-manager.js';
|
|
13
|
+
export { loadUpgradeState, saveUpgradeState, getUpgradeStatePath, } from './upgrade-state.js';
|
|
14
|
+
// Filesystem utilities
|
|
15
|
+
export { pathExists, readTextFile, writeTextFile, ensureDir, joinPaths, resolvePath, getOutputDir, } from '../utils/fs.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,yEAAyE;AAEzE,YAAY;AACZ,OAAO,EAAE,qBAAqB,EAAwB,MAAM,8BAA8B,CAAC;AAW3F,WAAW;AACX,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,sBAAsB,GAEvB,MAAM,sBAAsB,CAAC;AAY9B,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAM7D,gBAAgB;AAChB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG5E,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAA2C,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAE5B,uBAAuB;AACvB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,GACb,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ProjectContext } from '../discovery/types.js';
|
|
2
|
+
import type { UpgradePlan } from '../planning/types.js';
|
|
3
|
+
import type { ExecutionState } from '../execution/types.js';
|
|
4
|
+
import { type UpgradeState } from './upgrade-state.js';
|
|
5
|
+
export type UpgradePhase = 'not_started' | 'discovered' | 'planned' | 'executing' | 'completed';
|
|
6
|
+
export interface UpgradeProgress {
|
|
7
|
+
total: number;
|
|
8
|
+
completed: number;
|
|
9
|
+
skipped: number;
|
|
10
|
+
remaining: number;
|
|
11
|
+
informational: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Manages the upgrade lifecycle by inspecting state files in the `.brxm-upgrade/`
|
|
15
|
+
* directory. Determines the current phase, suggests next actions, and loads
|
|
16
|
+
* persisted state for discovery, planning, and execution.
|
|
17
|
+
*/
|
|
18
|
+
export declare class PhaseManager {
|
|
19
|
+
private readonly stateDir;
|
|
20
|
+
private readonly projectRoot;
|
|
21
|
+
constructor(projectRoot: string);
|
|
22
|
+
private statePath;
|
|
23
|
+
/**
|
|
24
|
+
* Determine the current upgrade phase based on which state files exist.
|
|
25
|
+
*/
|
|
26
|
+
getPhase(): Promise<UpgradePhase>;
|
|
27
|
+
/**
|
|
28
|
+
* Return a human-readable suggestion for the next MCP tool to call.
|
|
29
|
+
*/
|
|
30
|
+
getNextAction(phase: UpgradePhase): string;
|
|
31
|
+
/**
|
|
32
|
+
* Load the persisted discovery result, or null if not yet discovered.
|
|
33
|
+
*/
|
|
34
|
+
loadDiscovery(): Promise<ProjectContext | null>;
|
|
35
|
+
/**
|
|
36
|
+
* Load the persisted upgrade plan, or null if not yet planned.
|
|
37
|
+
*/
|
|
38
|
+
loadPlan(): Promise<UpgradePlan | null>;
|
|
39
|
+
/**
|
|
40
|
+
* Load the persisted execution state, or null if execution has not started.
|
|
41
|
+
*/
|
|
42
|
+
loadExecutionState(): Promise<ExecutionState | null>;
|
|
43
|
+
/**
|
|
44
|
+
* Load persisted upgrade state (selected current/target versions), or null if absent.
|
|
45
|
+
*/
|
|
46
|
+
loadUpgradeState(): Promise<UpgradeState | null>;
|
|
47
|
+
/**
|
|
48
|
+
* Compute progress statistics from the plan and execution state.
|
|
49
|
+
* Returns null if no plan exists yet.
|
|
50
|
+
*/
|
|
51
|
+
getProgress(): Promise<UpgradeProgress | null>;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=phase-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-manager.d.ts","sourceRoot":"","sources":["../../src/core/phase-manager.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,YAAY,GACZ,SAAS,GACT,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAmBD;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,WAAW,EAAE,MAAM;IAK/B,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAiBvC;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM;IAe1C;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAOrD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAQ7C;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAO1D;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAItD;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;CAgBrD"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { pathExists, readTextFile, joinPaths, getOutputDir, } from '../utils/fs.js';
|
|
2
|
+
import { loadUpgradeState } from './upgrade-state.js';
|
|
3
|
+
const STALE_SYNTHETIC_STEP_IDS = [
|
|
4
|
+
'cv-pre-check',
|
|
5
|
+
'version-bump',
|
|
6
|
+
'cv-post-check',
|
|
7
|
+
];
|
|
8
|
+
function isStaleSyntheticSameVersionPlan(plan) {
|
|
9
|
+
return (plan.fromVersion === plan.toVersion &&
|
|
10
|
+
Array.isArray(plan.upgradePathVersions) &&
|
|
11
|
+
plan.upgradePathVersions.length === 0 &&
|
|
12
|
+
Array.isArray(plan.steps) &&
|
|
13
|
+
plan.steps.length === STALE_SYNTHETIC_STEP_IDS.length &&
|
|
14
|
+
plan.steps.every((step, index) => step.entryId === STALE_SYNTHETIC_STEP_IDS[index]));
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Manages the upgrade lifecycle by inspecting state files in the `.brxm-upgrade/`
|
|
18
|
+
* directory. Determines the current phase, suggests next actions, and loads
|
|
19
|
+
* persisted state for discovery, planning, and execution.
|
|
20
|
+
*/
|
|
21
|
+
export class PhaseManager {
|
|
22
|
+
stateDir;
|
|
23
|
+
projectRoot;
|
|
24
|
+
constructor(projectRoot) {
|
|
25
|
+
this.projectRoot = projectRoot;
|
|
26
|
+
this.stateDir = getOutputDir(projectRoot);
|
|
27
|
+
}
|
|
28
|
+
statePath(file) {
|
|
29
|
+
return joinPaths(this.stateDir, file);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Determine the current upgrade phase based on which state files exist.
|
|
33
|
+
*/
|
|
34
|
+
async getPhase() {
|
|
35
|
+
const hasDiscovery = await pathExists(this.statePath('discovery.json'));
|
|
36
|
+
const plan = await this.loadPlan();
|
|
37
|
+
const hasPlan = plan !== null;
|
|
38
|
+
const hasExecution = await pathExists(this.statePath('execution-state.json'));
|
|
39
|
+
if (!hasDiscovery)
|
|
40
|
+
return 'not_started';
|
|
41
|
+
if (!hasPlan)
|
|
42
|
+
return 'discovered';
|
|
43
|
+
if (!hasExecution)
|
|
44
|
+
return 'planned';
|
|
45
|
+
const state = await this.loadExecutionState();
|
|
46
|
+
if (state?.isComplete)
|
|
47
|
+
return 'completed';
|
|
48
|
+
return 'executing';
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Return a human-readable suggestion for the next MCP tool to call.
|
|
52
|
+
*/
|
|
53
|
+
getNextAction(phase) {
|
|
54
|
+
switch (phase) {
|
|
55
|
+
case 'not_started':
|
|
56
|
+
return 'Call discover_project to analyze your project.';
|
|
57
|
+
case 'discovered':
|
|
58
|
+
return 'Call create_upgrade_plan to generate the upgrade plan.';
|
|
59
|
+
case 'planned':
|
|
60
|
+
return 'Call get_next_step to begin applying upgrade steps.';
|
|
61
|
+
case 'executing':
|
|
62
|
+
return 'Call get_next_step to continue with the next upgrade step.';
|
|
63
|
+
case 'completed':
|
|
64
|
+
return 'All upgrade steps are complete. Review your changes and run your build.';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Load the persisted discovery result, or null if not yet discovered.
|
|
69
|
+
*/
|
|
70
|
+
async loadDiscovery() {
|
|
71
|
+
const path = this.statePath('discovery.json');
|
|
72
|
+
if (!(await pathExists(path)))
|
|
73
|
+
return null;
|
|
74
|
+
const content = await readTextFile(path);
|
|
75
|
+
return JSON.parse(content);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Load the persisted upgrade plan, or null if not yet planned.
|
|
79
|
+
*/
|
|
80
|
+
async loadPlan() {
|
|
81
|
+
const path = this.statePath('plan.json');
|
|
82
|
+
if (!(await pathExists(path)))
|
|
83
|
+
return null;
|
|
84
|
+
const content = await readTextFile(path);
|
|
85
|
+
const plan = JSON.parse(content);
|
|
86
|
+
return isStaleSyntheticSameVersionPlan(plan) ? null : plan;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Load the persisted execution state, or null if execution has not started.
|
|
90
|
+
*/
|
|
91
|
+
async loadExecutionState() {
|
|
92
|
+
const path = this.statePath('execution-state.json');
|
|
93
|
+
if (!(await pathExists(path)))
|
|
94
|
+
return null;
|
|
95
|
+
const content = await readTextFile(path);
|
|
96
|
+
return JSON.parse(content);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Load persisted upgrade state (selected current/target versions), or null if absent.
|
|
100
|
+
*/
|
|
101
|
+
async loadUpgradeState() {
|
|
102
|
+
return loadUpgradeState(this.projectRoot);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Compute progress statistics from the plan and execution state.
|
|
106
|
+
* Returns null if no plan exists yet.
|
|
107
|
+
*/
|
|
108
|
+
async getProgress() {
|
|
109
|
+
const plan = await this.loadPlan();
|
|
110
|
+
if (!plan)
|
|
111
|
+
return null;
|
|
112
|
+
const state = await this.loadExecutionState();
|
|
113
|
+
const completed = state?.completedSteps?.length ?? 0;
|
|
114
|
+
const skipped = state?.skippedSteps?.length ?? 0;
|
|
115
|
+
return {
|
|
116
|
+
total: plan.steps.length,
|
|
117
|
+
completed,
|
|
118
|
+
skipped,
|
|
119
|
+
remaining: plan.steps.length - completed - skipped,
|
|
120
|
+
informational: plan.informationalEntries?.length ?? 0,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=phase-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-manager.js","sourceRoot":"","sources":["../../src/core/phase-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persisted cross-phase state for the upgrade workflow.
|
|
3
|
+
* Complements discovery/plan/execution artifacts with user-selected versions.
|
|
4
|
+
*/
|
|
5
|
+
export interface UpgradeState {
|
|
6
|
+
currentVersion?: string;
|
|
7
|
+
targetVersion?: string;
|
|
8
|
+
updatedAt: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Get the canonical path to upgrade-state.json for a project.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getUpgradeStatePath(projectRoot: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Load persisted upgrade state, or null if it does not exist.
|
|
16
|
+
*/
|
|
17
|
+
export declare function loadUpgradeState(projectRoot: string): Promise<UpgradeState | null>;
|
|
18
|
+
/**
|
|
19
|
+
* Save persisted upgrade state.
|
|
20
|
+
*/
|
|
21
|
+
export declare function saveUpgradeState(projectRoot: string, state: Omit<UpgradeState, 'updatedAt'> & {
|
|
22
|
+
updatedAt?: string;
|
|
23
|
+
}): Promise<UpgradeState>;
|
|
24
|
+
//# sourceMappingURL=upgrade-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade-state.d.ts","sourceRoot":"","sources":["../../src/core/upgrade-state.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAOxF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,OAAO,CAAC,YAAY,CAAC,CAYvB"}
|