@msn-control/liftoff 0.10.4 → 0.11.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/DEVELOPER.md +220 -77
- package/README.md +28 -28
- package/assets/supported-stack.json +3 -136
- package/dist/adapters/azure/governance-assessment.d.ts +2 -0
- package/dist/adapters/azure/governance-assessment.js +21 -0
- package/dist/adapters/azure/governance-assessment.js.map +1 -0
- package/dist/adapters/filesystem/atomic-write.d.ts +2 -0
- package/dist/adapters/filesystem/atomic-write.js +74 -0
- package/dist/adapters/filesystem/atomic-write.js.map +1 -0
- package/dist/adapters/filesystem/errors.d.ts +2 -0
- package/dist/adapters/filesystem/errors.js +8 -0
- package/dist/adapters/filesystem/errors.js.map +1 -0
- package/dist/adapters/filesystem/manifest-file.d.ts +1 -0
- package/dist/adapters/filesystem/manifest-file.js +21 -0
- package/dist/adapters/filesystem/manifest-file.js.map +1 -0
- package/dist/adapters/filesystem/project-config.d.ts +4 -0
- package/dist/adapters/filesystem/project-config.js +157 -0
- package/dist/adapters/filesystem/project-config.js.map +1 -0
- package/dist/adapters/filesystem/project-discovery.d.ts +2 -0
- package/dist/adapters/filesystem/project-discovery.js +30 -0
- package/dist/adapters/filesystem/project-discovery.js.map +1 -0
- package/dist/adapters/filesystem/project-files.d.ts +6 -0
- package/dist/adapters/filesystem/project-files.js +68 -0
- package/dist/adapters/filesystem/project-files.js.map +1 -0
- package/dist/adapters/filesystem/project-lock.d.ts +8 -0
- package/dist/adapters/filesystem/project-lock.js +164 -0
- package/dist/adapters/filesystem/project-lock.js.map +1 -0
- package/dist/adapters/filesystem/project-paths.d.ts +2 -0
- package/dist/adapters/filesystem/project-paths.js +60 -0
- package/dist/adapters/filesystem/project-paths.js.map +1 -0
- package/dist/adapters/filesystem/project-transaction.d.ts +23 -0
- package/dist/adapters/filesystem/project-transaction.js +158 -0
- package/dist/adapters/filesystem/project-transaction.js.map +1 -0
- package/dist/adapters/git/governance-assessment.d.ts +22 -0
- package/dist/adapters/git/governance-assessment.js +161 -0
- package/dist/adapters/git/governance-assessment.js.map +1 -0
- package/dist/adapters/github/governance-assessment.d.ts +2 -0
- package/dist/adapters/github/governance-assessment.js +18 -0
- package/dist/adapters/github/governance-assessment.js.map +1 -0
- package/dist/adapters/packaged-assets/package-root.d.ts +3 -0
- package/dist/adapters/packaged-assets/package-root.js +21 -0
- package/dist/adapters/packaged-assets/package-root.js.map +1 -0
- package/dist/adapters/packaged-assets/supported-stack.d.ts +4 -0
- package/dist/adapters/packaged-assets/supported-stack.js +18 -0
- package/dist/adapters/packaged-assets/supported-stack.js.map +1 -0
- package/dist/adapters/packaged-assets/template-assets.d.ts +23 -0
- package/dist/adapters/packaged-assets/template-assets.js +36 -0
- package/dist/adapters/packaged-assets/template-assets.js.map +1 -0
- package/dist/adapters/process/shell-command.d.ts +5 -0
- package/dist/adapters/process/shell-command.js +21 -0
- package/dist/adapters/process/shell-command.js.map +1 -0
- package/dist/application/context.d.ts +20 -0
- package/dist/application/context.js +2 -0
- package/dist/application/context.js.map +1 -0
- package/dist/application/diagnose/doctor.d.ts +21 -0
- package/dist/application/diagnose/doctor.js +586 -0
- package/dist/application/diagnose/doctor.js.map +1 -0
- package/dist/application/diagnose/generated-project.d.ts +1 -0
- package/dist/application/diagnose/generated-project.js +105 -0
- package/dist/application/diagnose/generated-project.js.map +1 -0
- package/dist/application/diagnose/validate.d.ts +6 -0
- package/dist/application/diagnose/validate.js +27 -0
- package/dist/application/diagnose/validate.js.map +1 -0
- package/dist/application/initialize/fixture.d.ts +2 -0
- package/dist/application/initialize/fixture.js +39 -0
- package/dist/application/initialize/fixture.js.map +1 -0
- package/dist/application/initialize/inputs.d.ts +3 -0
- package/dist/application/initialize/inputs.js +35 -0
- package/dist/application/initialize/inputs.js.map +1 -0
- package/dist/application/initialize/use-case.d.ts +23 -0
- package/dist/application/initialize/use-case.js +360 -0
- package/dist/application/initialize/use-case.js.map +1 -0
- package/dist/application/migrate/use-case.d.ts +7 -0
- package/dist/application/migrate/use-case.js +378 -0
- package/dist/application/migrate/use-case.js.map +1 -0
- package/dist/application/project/catalog.d.ts +46 -0
- package/dist/application/project/catalog.js +12 -0
- package/dist/application/project/catalog.js.map +1 -0
- package/dist/application/project/manifest.d.ts +2 -0
- package/dist/application/project/manifest.js +29 -0
- package/dist/application/project/manifest.js.map +1 -0
- package/dist/application/project/planning.d.ts +6 -0
- package/dist/application/project/planning.js +12 -0
- package/dist/application/project/planning.js.map +1 -0
- package/dist/application/update/planning.d.ts +40 -0
- package/dist/application/update/planning.js +293 -0
- package/dist/application/update/planning.js.map +1 -0
- package/dist/application/update/reporting.d.ts +42 -0
- package/dist/application/update/reporting.js +325 -0
- package/dist/application/update/reporting.js.map +1 -0
- package/dist/application/update/use-case.d.ts +8 -0
- package/dist/application/update/use-case.js +600 -0
- package/dist/application/update/use-case.js.map +1 -0
- package/dist/application/upgrade/use-case.d.ts +6 -0
- package/dist/application/upgrade/use-case.js +82 -0
- package/dist/application/upgrade/use-case.js.map +1 -0
- package/dist/args.d.ts +5 -65
- package/dist/args.js +4 -472
- package/dist/args.js.map +1 -1
- package/dist/artifact-lifecycle.d.ts +1 -21
- package/dist/artifact-lifecycle.js +1 -75
- package/dist/artifact-lifecycle.js.map +1 -1
- package/dist/catalogs.d.ts +1 -50
- package/dist/catalogs.js +1 -472
- package/dist/catalogs.js.map +1 -1
- package/dist/cli/args/contracts.d.ts +51 -0
- package/dist/cli/args/contracts.js +2 -0
- package/dist/cli/args/contracts.js.map +1 -0
- package/dist/cli/args/definitions.d.ts +6 -0
- package/dist/cli/args/definitions.js +187 -0
- package/dist/cli/args/definitions.js.map +1 -0
- package/dist/cli/args/help.d.ts +5 -0
- package/dist/cli/args/help.js +130 -0
- package/dist/cli/args/help.js.map +1 -0
- package/dist/cli/args/parser.d.ts +5 -0
- package/dist/cli/args/parser.js +145 -0
- package/dist/cli/args/parser.js.map +1 -0
- package/dist/cli/args/readers.d.ts +4 -0
- package/dist/cli/args/readers.js +19 -0
- package/dist/cli/args/readers.js.map +1 -0
- package/dist/cli/commands/diagnose.d.ts +4 -0
- package/dist/cli/commands/diagnose.js +12 -0
- package/dist/cli/commands/diagnose.js.map +1 -0
- package/dist/cli/commands/dispatch.d.ts +3 -0
- package/dist/cli/commands/dispatch.js +94 -0
- package/dist/cli/commands/dispatch.js.map +1 -0
- package/dist/cli/commands/help.d.ts +3 -0
- package/dist/cli/commands/help.js +32 -0
- package/dist/cli/commands/help.js.map +1 -0
- package/dist/cli/commands/helpers.d.ts +8 -0
- package/dist/cli/commands/helpers.js +97 -0
- package/dist/cli/commands/helpers.js.map +1 -0
- package/dist/cli/commands/initialize.d.ts +3 -0
- package/dist/cli/commands/initialize.js +7 -0
- package/dist/cli/commands/initialize.js.map +1 -0
- package/dist/cli/commands/migrate.d.ts +3 -0
- package/dist/cli/commands/migrate.js +8 -0
- package/dist/cli/commands/migrate.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +3 -0
- package/dist/cli/commands/plan.js +34 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/reference.d.ts +5 -0
- package/dist/cli/commands/reference.js +43 -0
- package/dist/cli/commands/reference.js.map +1 -0
- package/dist/cli/commands/update.d.ts +3 -0
- package/dist/cli/commands/update.js +9 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/commands/upgrade.d.ts +3 -0
- package/dist/cli/commands/upgrade.js +7 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/context.d.ts +1 -0
- package/dist/cli/context.js +2 -0
- package/dist/cli/context.js.map +1 -0
- package/dist/cli/project-options.d.ts +3 -0
- package/dist/cli/project-options.js +41 -0
- package/dist/cli/project-options.js.map +1 -0
- package/dist/cli.d.ts +3 -3
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +4 -35
- package/dist/commands.js +3 -2969
- package/dist/commands.js.map +1 -1
- package/dist/container-validation.d.ts +1 -1
- package/dist/domain/governance/activation/approvals.d.ts +351 -0
- package/dist/domain/governance/activation/approvals.js +528 -0
- package/dist/domain/governance/activation/approvals.js.map +1 -0
- package/dist/domain/governance/activation/canonical-json.d.ts +4 -0
- package/dist/domain/governance/activation/canonical-json.js +39 -0
- package/dist/domain/governance/activation/canonical-json.js.map +1 -0
- package/dist/domain/governance/activation/capabilities.d.ts +7 -0
- package/dist/domain/governance/activation/capabilities.js +33 -0
- package/dist/domain/governance/activation/capabilities.js.map +1 -0
- package/dist/domain/governance/activation/evidence.d.ts +63 -0
- package/dist/domain/governance/activation/evidence.js +444 -0
- package/dist/domain/governance/activation/evidence.js.map +1 -0
- package/dist/domain/governance/activation/graph.d.ts +397 -0
- package/dist/domain/governance/activation/graph.js +441 -0
- package/dist/domain/governance/activation/graph.js.map +1 -0
- package/dist/domain/governance/activation/inputs.d.ts +25 -0
- package/dist/domain/governance/activation/inputs.js +63 -0
- package/dist/domain/governance/activation/inputs.js.map +1 -0
- package/dist/domain/governance/activation/operations.d.ts +19 -0
- package/dist/domain/governance/activation/operations.js +181 -0
- package/dist/domain/governance/activation/operations.js.map +1 -0
- package/dist/domain/governance/activation/readiness.d.ts +27 -0
- package/dist/domain/governance/activation/readiness.js +269 -0
- package/dist/domain/governance/activation/readiness.js.map +1 -0
- package/dist/domain/governance/activation/types.d.ts +399 -0
- package/dist/domain/governance/activation/types.js +109 -0
- package/dist/domain/governance/activation/types.js.map +1 -0
- package/dist/domain/governance/activation/validators.d.ts +22 -0
- package/dist/domain/governance/activation/validators.js +1347 -0
- package/dist/domain/governance/activation/validators.js.map +1 -0
- package/dist/domain/governance/assessment/catalog.d.ts +14 -0
- package/dist/domain/governance/assessment/catalog.js +105 -0
- package/dist/domain/governance/assessment/catalog.js.map +1 -0
- package/dist/domain/governance/assessment/errors.d.ts +10 -0
- package/dist/domain/governance/assessment/errors.js +22 -0
- package/dist/domain/governance/assessment/errors.js.map +1 -0
- package/dist/domain/governance/assessment/index.d.ts +8 -0
- package/dist/domain/governance/assessment/index.js +9 -0
- package/dist/domain/governance/assessment/index.js.map +1 -0
- package/dist/domain/governance/assessment/live-normalize.d.ts +19 -0
- package/dist/domain/governance/assessment/live-normalize.js +403 -0
- package/dist/domain/governance/assessment/live-normalize.js.map +1 -0
- package/dist/domain/governance/assessment/predicates.d.ts +36 -0
- package/dist/domain/governance/assessment/predicates.js +545 -0
- package/dist/domain/governance/assessment/predicates.js.map +1 -0
- package/dist/domain/governance/assessment/report.d.ts +23 -0
- package/dist/domain/governance/assessment/report.js +266 -0
- package/dist/domain/governance/assessment/report.js.map +1 -0
- package/dist/domain/governance/assessment/sanitize.d.ts +8 -0
- package/dist/domain/governance/assessment/sanitize.js +60 -0
- package/dist/domain/governance/assessment/sanitize.js.map +1 -0
- package/dist/domain/governance/assessment/types.d.ts +174 -0
- package/dist/domain/governance/assessment/types.js +13 -0
- package/dist/domain/governance/assessment/types.js.map +1 -0
- package/dist/domain/governance/assessment/yaml.d.ts +6 -0
- package/dist/domain/governance/assessment/yaml.js +30 -0
- package/dist/domain/governance/assessment/yaml.js.map +1 -0
- package/dist/domain/governance/policy/identity.d.ts +64 -0
- package/dist/domain/governance/policy/identity.js +112 -0
- package/dist/domain/governance/policy/identity.js.map +1 -0
- package/dist/domain/migration/dependencies.d.ts +7 -0
- package/dist/domain/migration/dependencies.js +221 -0
- package/dist/domain/migration/dependencies.js.map +1 -0
- package/dist/domain/migration/inventory.d.ts +3 -0
- package/dist/domain/migration/inventory.js +15 -0
- package/dist/domain/migration/inventory.js.map +1 -0
- package/dist/domain/project/artifact-lifecycle.d.ts +69 -0
- package/dist/domain/project/artifact-lifecycle.js +137 -0
- package/dist/domain/project/artifact-lifecycle.js.map +1 -0
- package/dist/domain/project/catalog.d.ts +48 -0
- package/dist/domain/project/catalog.js +507 -0
- package/dist/domain/project/catalog.js.map +1 -0
- package/dist/domain/project/contracts.d.ts +247 -0
- package/dist/domain/project/contracts.js +2 -0
- package/dist/domain/project/contracts.js.map +1 -0
- package/dist/domain/project/errors.d.ts +3 -0
- package/dist/domain/project/errors.js +7 -0
- package/dist/domain/project/errors.js.map +1 -0
- package/dist/domain/project/infrastructure-layout.d.ts +26 -0
- package/dist/domain/project/infrastructure-layout.js +124 -0
- package/dist/domain/project/infrastructure-layout.js.map +1 -0
- package/dist/domain/project/inputs.d.ts +21 -0
- package/dist/domain/project/inputs.js +41 -0
- package/dist/domain/project/inputs.js.map +1 -0
- package/dist/domain/project/manifest/artifacts.d.ts +8 -0
- package/dist/domain/project/manifest/artifacts.js +150 -0
- package/dist/domain/project/manifest/artifacts.js.map +1 -0
- package/dist/domain/project/manifest/context.d.ts +13 -0
- package/dist/domain/project/manifest/context.js +2 -0
- package/dist/domain/project/manifest/context.js.map +1 -0
- package/dist/domain/project/manifest/fields.d.ts +6 -0
- package/dist/domain/project/manifest/fields.js +36 -0
- package/dist/domain/project/manifest/fields.js.map +1 -0
- package/dist/domain/project/manifest/governance.d.ts +8 -0
- package/dist/domain/project/manifest/governance.js +161 -0
- package/dist/domain/project/manifest/governance.js.map +1 -0
- package/dist/domain/project/manifest/project-identity.d.ts +6 -0
- package/dist/domain/project/manifest/project-identity.js +273 -0
- package/dist/domain/project/manifest/project-identity.js.map +1 -0
- package/dist/domain/project/manifest/reader.d.ts +9 -0
- package/dist/domain/project/manifest/reader.js +141 -0
- package/dist/domain/project/manifest/reader.js.map +1 -0
- package/dist/domain/project/paths.d.ts +2 -0
- package/dist/domain/project/paths.js +29 -0
- package/dist/domain/project/paths.js.map +1 -0
- package/dist/domain/project/planning.d.ts +19 -0
- package/dist/domain/project/planning.js +329 -0
- package/dist/domain/project/planning.js.map +1 -0
- package/dist/domain/project/retired-workload.d.ts +4 -0
- package/dist/domain/project/retired-workload.js +18 -0
- package/dist/domain/project/retired-workload.js.map +1 -0
- package/dist/domain/project/supported-stack.d.ts +113 -0
- package/dist/domain/project/supported-stack.js +426 -0
- package/dist/domain/project/supported-stack.js.map +1 -0
- package/dist/domain/workstation/constraints.d.ts +6 -0
- package/dist/domain/workstation/constraints.js +8 -0
- package/dist/domain/workstation/constraints.js.map +1 -0
- package/dist/file-system.d.ts +10 -44
- package/dist/file-system.js +9 -1245
- package/dist/file-system.js.map +1 -1
- package/dist/framework-adapters.d.ts +1 -1
- package/dist/framework-validation.d.ts +1 -1
- package/dist/framework-validation.js +1 -1
- package/dist/framework-validation.js.map +1 -1
- package/dist/genai-templates.d.ts +2 -9
- package/dist/genai-templates.js +4 -5
- package/dist/genai-templates.js.map +1 -1
- package/dist/generators/common/artifacts.d.ts +6 -0
- package/dist/generators/common/artifacts.js +30 -0
- package/dist/generators/common/artifacts.js.map +1 -0
- package/dist/generators/common/base.d.ts +17 -0
- package/dist/generators/common/base.js +421 -0
- package/dist/generators/common/base.js.map +1 -0
- package/dist/generators/common/dotenv-validation.d.ts +2 -0
- package/dist/generators/common/dotenv-validation.js +80 -0
- package/dist/generators/common/dotenv-validation.js.map +1 -0
- package/dist/generators/common/environments.d.ts +3 -0
- package/dist/generators/common/environments.js +15 -0
- package/dist/generators/common/environments.js.map +1 -0
- package/dist/generators/common/frontend.d.ts +15 -0
- package/dist/generators/common/frontend.js +166 -0
- package/dist/generators/common/frontend.js.map +1 -0
- package/dist/generators/common/python-settings.d.ts +2 -0
- package/dist/generators/common/python-settings.js +70 -0
- package/dist/generators/common/python-settings.js.map +1 -0
- package/dist/generators/common/spec-workflow.d.ts +28 -0
- package/dist/generators/common/spec-workflow.js +567 -0
- package/dist/generators/common/spec-workflow.js.map +1 -0
- package/dist/generators/common/values.d.ts +13 -0
- package/dist/generators/common/values.js +16 -0
- package/dist/generators/common/values.js.map +1 -0
- package/dist/generators/containers/compose.d.ts +7 -0
- package/dist/generators/containers/compose.js +196 -0
- package/dist/generators/containers/compose.js.map +1 -0
- package/dist/generators/containers/context.d.ts +1 -0
- package/dist/generators/containers/context.js +43 -0
- package/dist/generators/containers/context.js.map +1 -0
- package/dist/generators/containers/images.d.ts +7 -0
- package/dist/generators/containers/images.js +119 -0
- package/dist/generators/containers/images.js.map +1 -0
- package/dist/generators/context.d.ts +42 -0
- package/dist/generators/context.js +38 -0
- package/dist/generators/context.js.map +1 -0
- package/dist/generators/genai/backend.d.ts +20 -0
- package/dist/generators/genai/backend.js +667 -0
- package/dist/generators/genai/backend.js.map +1 -0
- package/dist/generators/genai/configuration.d.ts +3 -0
- package/dist/generators/genai/configuration.js +43 -0
- package/dist/generators/genai/configuration.js.map +1 -0
- package/dist/generators/genai/database.d.ts +7 -0
- package/dist/generators/genai/database.js +71 -0
- package/dist/generators/genai/database.js.map +1 -0
- package/dist/generators/genai/functions.d.ts +15 -0
- package/dist/generators/genai/functions.js +156 -0
- package/dist/generators/genai/functions.js.map +1 -0
- package/dist/generators/genai/index.d.ts +8 -0
- package/dist/generators/genai/index.js +11 -0
- package/dist/generators/genai/index.js.map +1 -0
- package/dist/generators/genai/patterns.d.ts +9 -0
- package/dist/generators/genai/patterns.js +309 -0
- package/dist/generators/genai/patterns.js.map +1 -0
- package/dist/generators/infrastructure/azure.d.ts +18 -0
- package/dist/generators/infrastructure/azure.js +655 -0
- package/dist/generators/infrastructure/azure.js.map +1 -0
- package/dist/generators/infrastructure/names.d.ts +23 -0
- package/dist/generators/infrastructure/names.js +51 -0
- package/dist/generators/infrastructure/names.js.map +1 -0
- package/dist/generators/standard/configuration.d.ts +3 -0
- package/dist/generators/standard/configuration.js +26 -0
- package/dist/generators/standard/configuration.js.map +1 -0
- package/dist/generators/standard/go.d.ts +17 -0
- package/dist/generators/standard/go.js +338 -0
- package/dist/generators/standard/go.js.map +1 -0
- package/dist/generators/standard/index.d.ts +12 -0
- package/dist/generators/standard/index.js +12 -0
- package/dist/generators/standard/index.js.map +1 -0
- package/dist/generators/standard/node.d.ts +20 -0
- package/dist/generators/standard/node.js +314 -0
- package/dist/generators/standard/node.js.map +1 -0
- package/dist/generators/standard/python.d.ts +18 -0
- package/dist/generators/standard/python.js +191 -0
- package/dist/generators/standard/python.js.map +1 -0
- package/dist/go-template-assets.js +3 -3
- package/dist/go-template-assets.js.map +1 -1
- package/dist/governance-activation/activation-state.d.ts +1 -1
- package/dist/governance-activation/activation-state.js +46 -9
- package/dist/governance-activation/activation-state.js.map +1 -1
- package/dist/governance-activation/approvals.d.ts +1 -188
- package/dist/governance-activation/approvals.js +1 -507
- package/dist/governance-activation/approvals.js.map +1 -1
- package/dist/governance-activation/canonical-json.d.ts +1 -3
- package/dist/governance-activation/canonical-json.js +1 -35
- package/dist/governance-activation/canonical-json.js.map +1 -1
- package/dist/governance-activation/commands.d.ts +1 -1
- package/dist/governance-activation/commands.js +72 -106
- package/dist/governance-activation/commands.js.map +1 -1
- package/dist/governance-activation/compatibility.d.ts +11 -3
- package/dist/governance-activation/compatibility.js +31 -4
- package/dist/governance-activation/compatibility.js.map +1 -1
- package/dist/governance-activation/credentials.d.ts +3 -3
- package/dist/governance-activation/credentials.js +5 -5
- package/dist/governance-activation/credentials.js.map +1 -1
- package/dist/governance-activation/doctor.d.ts +1 -1
- package/dist/governance-activation/doctor.js +28 -96
- package/dist/governance-activation/doctor.js.map +1 -1
- package/dist/governance-activation/evidence.d.ts +1 -49
- package/dist/governance-activation/evidence.js +1 -245
- package/dist/governance-activation/evidence.js.map +1 -1
- package/dist/governance-activation/git-ignore.d.ts +9 -0
- package/dist/governance-activation/git-ignore.js +76 -0
- package/dist/governance-activation/git-ignore.js.map +1 -0
- package/dist/governance-activation/graph.d.ts +1 -397
- package/dist/governance-activation/graph.js +1 -440
- package/dist/governance-activation/graph.js.map +1 -1
- package/dist/governance-activation/identity.d.ts +1 -35
- package/dist/governance-activation/identity.js +1 -88
- package/dist/governance-activation/identity.js.map +1 -1
- package/dist/governance-activation/index.d.ts +3 -0
- package/dist/governance-activation/index.js +3 -0
- package/dist/governance-activation/index.js.map +1 -1
- package/dist/governance-activation/inputs.d.ts +8 -0
- package/dist/governance-activation/inputs.js +146 -0
- package/dist/governance-activation/inputs.js.map +1 -0
- package/dist/governance-activation/migration.d.ts +4 -3
- package/dist/governance-activation/migration.js +14 -6
- package/dist/governance-activation/migration.js.map +1 -1
- package/dist/governance-activation/phase-bootstrap-state.d.ts +3 -0
- package/dist/governance-activation/phase-bootstrap-state.js +128 -0
- package/dist/governance-activation/phase-bootstrap-state.js.map +1 -0
- package/dist/governance-activation/phase-discovery.d.ts +2 -0
- package/dist/governance-activation/phase-discovery.js +88 -0
- package/dist/governance-activation/phase-discovery.js.map +1 -0
- package/dist/governance-activation/phase-governance.d.ts +4 -0
- package/dist/governance-activation/phase-governance.js +141 -0
- package/dist/governance-activation/phase-governance.js.map +1 -0
- package/dist/governance-activation/phase-publication.d.ts +8 -0
- package/dist/governance-activation/phase-publication.js +318 -0
- package/dist/governance-activation/phase-publication.js.map +1 -0
- package/dist/governance-activation/read-only.d.ts +30 -0
- package/dist/governance-activation/read-only.js +93 -0
- package/dist/governance-activation/read-only.js.map +1 -0
- package/dist/governance-activation/readiness.d.ts +1 -25
- package/dist/governance-activation/readiness.js +1 -222
- package/dist/governance-activation/readiness.js.map +1 -1
- package/dist/governance-activation/reconciliation.d.ts +1 -1
- package/dist/governance-activation/reconciliation.js +3 -3
- package/dist/governance-activation/reconciliation.js.map +1 -1
- package/dist/governance-activation/release-integrity.d.ts +1 -1
- package/dist/governance-activation/release-integrity.js +2 -2
- package/dist/governance-activation/release-integrity.js.map +1 -1
- package/dist/governance-activation/seed-lifecycle.d.ts +9 -1
- package/dist/governance-activation/seed-lifecycle.js +197 -63
- package/dist/governance-activation/seed-lifecycle.js.map +1 -1
- package/dist/governance-activation/source-of-truth.d.ts +5 -3
- package/dist/governance-activation/source-of-truth.js +32 -52
- package/dist/governance-activation/source-of-truth.js.map +1 -1
- package/dist/governance-activation/spec-kit-seed.d.ts +9 -0
- package/dist/governance-activation/spec-kit-seed.js +43 -0
- package/dist/governance-activation/spec-kit-seed.js.map +1 -0
- package/dist/governance-activation/task-projection.d.ts +1 -1
- package/dist/governance-activation/transition-planning.d.ts +15 -0
- package/dist/governance-activation/transition-planning.js +250 -0
- package/dist/governance-activation/transition-planning.js.map +1 -0
- package/dist/governance-activation/transition-ports.d.ts +150 -0
- package/dist/governance-activation/transition-ports.js +2 -0
- package/dist/governance-activation/transition-ports.js.map +1 -0
- package/dist/governance-activation/transition-process.d.ts +7 -0
- package/dist/governance-activation/transition-process.js +21 -0
- package/dist/governance-activation/transition-process.js.map +1 -0
- package/dist/governance-activation/transition-records.d.ts +56 -0
- package/dist/governance-activation/transition-records.js +208 -0
- package/dist/governance-activation/transition-records.js.map +1 -0
- package/dist/governance-activation/transitions.d.ts +6 -165
- package/dist/governance-activation/transitions.js +142 -2055
- package/dist/governance-activation/transitions.js.map +1 -1
- package/dist/governance-activation/types.d.ts +1 -390
- package/dist/governance-activation/types.js +1 -107
- package/dist/governance-activation/types.js.map +1 -1
- package/dist/governance-activation/validators.d.ts +1 -17
- package/dist/governance-activation/validators.js +1 -1304
- package/dist/governance-activation/validators.js.map +1 -1
- package/dist/governance-assessment/catalog.d.ts +1 -2
- package/dist/governance-assessment/catalog.js +18 -85
- package/dist/governance-assessment/catalog.js.map +1 -1
- package/dist/governance-assessment/command.d.ts +1 -1
- package/dist/governance-assessment/command.js +8 -12
- package/dist/governance-assessment/command.js.map +1 -1
- package/dist/governance-assessment/engine.d.ts +6 -11
- package/dist/governance-assessment/engine.js +463 -114
- package/dist/governance-assessment/engine.js.map +1 -1
- package/dist/governance-assessment/live-normalize.d.ts +1 -19
- package/dist/governance-assessment/live-normalize.js +1 -402
- package/dist/governance-assessment/live-normalize.js.map +1 -1
- package/dist/governance-assessment/live-transport.d.ts +2 -6
- package/dist/governance-assessment/live-transport.js +10 -22
- package/dist/governance-assessment/live-transport.js.map +1 -1
- package/dist/governance-assessment/live.js +55 -5
- package/dist/governance-assessment/live.js.map +1 -1
- package/dist/governance-assessment/predicates.d.ts +1 -27
- package/dist/governance-assessment/predicates.js +1 -329
- package/dist/governance-assessment/predicates.js.map +1 -1
- package/dist/governance-assessment/project.d.ts +13 -17
- package/dist/governance-assessment/project.js +59 -149
- package/dist/governance-assessment/project.js.map +1 -1
- package/dist/governance-assessment/readers.d.ts +1 -5
- package/dist/governance-assessment/readers.js +5 -13
- package/dist/governance-assessment/readers.js.map +1 -1
- package/dist/governance-assessment/report.d.ts +1 -23
- package/dist/governance-assessment/report.js +1 -265
- package/dist/governance-assessment/report.js.map +1 -1
- package/dist/governance-assessment/sanitize.d.ts +1 -8
- package/dist/governance-assessment/sanitize.js +1 -56
- package/dist/governance-assessment/sanitize.js.map +1 -1
- package/dist/governance-assessment/types.d.ts +1 -173
- package/dist/governance-assessment/types.js +1 -12
- package/dist/governance-assessment/types.js.map +1 -1
- package/dist/governance-assessment/yaml.d.ts +1 -6
- package/dist/governance-assessment/yaml.js +1 -29
- package/dist/governance-assessment/yaml.js.map +1 -1
- package/dist/init-filesystem.d.ts +1 -1
- package/dist/init-filesystem.js +126 -174
- package/dist/init-filesystem.js.map +1 -1
- package/dist/interactive.d.ts +2 -2
- package/dist/interactive.js +42 -41
- package/dist/interactive.js.map +1 -1
- package/dist/migrate-plan.d.ts +1 -1
- package/dist/migrate-plan.js +14 -8
- package/dist/migrate-plan.js.map +1 -1
- package/dist/npm-template-assets.js +5 -4
- package/dist/npm-template-assets.js.map +1 -1
- package/dist/openspec-profile.d.ts +1 -1
- package/dist/opentofu-template-assets.js +3 -3
- package/dist/opentofu-template-assets.js.map +1 -1
- package/dist/package-identity.d.ts +3 -0
- package/dist/package-identity.js +13 -2
- package/dist/package-identity.js.map +1 -1
- package/dist/planner.d.ts +1 -19
- package/dist/planner.js +1 -565
- package/dist/planner.js.map +1 -1
- package/dist/process-runner.d.ts +1 -1
- package/dist/project-dependencies.d.ts +5 -3
- package/dist/project-dependencies.js +74 -63
- package/dist/project-dependencies.js.map +1 -1
- package/dist/published-verifier.js +61 -30
- package/dist/published-verifier.js.map +1 -1
- package/dist/python-template-assets.js +6 -9
- package/dist/python-template-assets.js.map +1 -1
- package/dist/reconcile.d.ts +1 -1
- package/dist/reconcile.js +2 -2
- package/dist/reconcile.js.map +1 -1
- package/dist/repository-governance.d.ts +5 -2
- package/dist/repository-governance.js +126 -112
- package/dist/repository-governance.js.map +1 -1
- package/dist/runtime.js +1 -1
- package/dist/runtime.js.map +1 -1
- package/dist/scan.d.ts +6 -2
- package/dist/scan.js +78 -30
- package/dist/scan.js.map +1 -1
- package/dist/self-upgrade.d.ts +1 -1
- package/dist/self-upgrade.js +20 -7
- package/dist/self-upgrade.js.map +1 -1
- package/dist/stable-release.js +7 -1
- package/dist/stable-release.js.map +1 -1
- package/dist/standard-templates.d.ts +2 -2
- package/dist/standard-templates.js +6 -841
- package/dist/standard-templates.js.map +1 -1
- package/dist/supported-stack.d.ts +3 -115
- package/dist/supported-stack.js +4 -438
- package/dist/supported-stack.js.map +1 -1
- package/dist/telemetry/index.d.ts +1 -1
- package/dist/templates.d.ts +10 -20
- package/dist/templates.js +52 -3261
- package/dist/templates.js.map +1 -1
- package/dist/types.d.ts +1 -263
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/dist/version.js +2 -6
- package/dist/version.js.map +1 -1
- package/dist/workstation-catalog.d.ts +5 -2
- package/dist/workstation-catalog.js +33 -2
- package/dist/workstation-catalog.js.map +1 -1
- package/dist/workstation.d.ts +4 -3
- package/dist/workstation.js +86 -32
- package/dist/workstation.js.map +1 -1
- package/docs/assets/liftoff-terminal.svg +3 -3
- package/docs/azure-deployment.md +107 -10
- package/docs/cli-reference.md +49 -13
- package/docs/configuration-and-manifests.md +139 -34
- package/docs/existing-repositories.md +33 -6
- package/docs/getting-started.md +44 -31
- package/docs/prerequisites.md +34 -35
- package/docs/project-structure.md +39 -46
- package/docs/repository-governance.md +90 -24
- package/docs/safety-and-consent.md +65 -12
- package/docs/spec-workflows-and-agents.md +31 -28
- package/docs/supported-stack.md +11 -9
- package/docs/troubleshooting.md +107 -49
- package/docs/workloads.md +46 -62
- package/package.json +4 -7
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/UPSTREAM_LICENSE.txt +0 -21
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/catalog.json +0 -520
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/packaged/gitignore +0 -27
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/README.md +0 -25
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/components.json +0 -22
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/eslint.config.js +0 -23
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/index.html +0 -13
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/package-lock.json +0 -6156
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/package.json +0 -60
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/public/power-apps.svg +0 -55
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/App.tsx +0 -17
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/assets/react.svg +0 -1
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/mode-toggle.tsx +0 -37
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/badge.tsx +0 -46
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/button.tsx +0 -60
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/calendar.tsx +0 -211
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/card.tsx +0 -92
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/chart.tsx +0 -355
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/checkbox.tsx +0 -32
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/command.tsx +0 -184
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/dialog.tsx +0 -141
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/dropdown-menu.tsx +0 -257
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/input.tsx +0 -21
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/label.tsx +0 -22
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/popover.tsx +0 -46
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/progress.tsx +0 -29
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/select.tsx +0 -185
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/separator.tsx +0 -26
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/skeleton.tsx +0 -13
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/table.tsx +0 -114
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/tabs.tsx +0 -66
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/textarea.tsx +0 -18
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/tooltip.tsx +0 -61
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/hooks/use-theme.ts +0 -11
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/index.css +0 -131
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/lib/utils.ts +0 -6
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/main.tsx +0 -10
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/_layout.tsx +0 -31
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/home.tsx +0 -59
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/not-found.tsx +0 -14
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/query-provider.tsx +0 -26
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/sonner-provider.tsx +0 -23
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/theme-provider.tsx +0 -64
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/router.tsx +0 -24
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.app.json +0 -34
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.json +0 -13
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.node.json +0 -26
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/vite.config.ts +0 -19
- package/assets/power-apps-code-app/README.md +0 -27
- package/dist/code-apps-plugin.d.ts +0 -13
- package/dist/code-apps-plugin.js +0 -69
- package/dist/code-apps-plugin.js.map +0 -1
- package/dist/power-apps-assets.d.ts +0 -30
- package/dist/power-apps-assets.js +0 -131
- package/dist/power-apps-assets.js.map +0 -1
- package/dist/power-apps-templates.d.ts +0 -3
- package/dist/power-apps-templates.js +0 -177
- package/dist/power-apps-templates.js.map +0 -1
- package/dist/power-apps-validation.d.ts +0 -1
- package/dist/power-apps-validation.js +0 -79
- package/dist/power-apps-validation.js.map +0 -1
package/dist/workstation.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { access, readFile } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import { supportedStack } from './supported-stack.js';
|
|
3
|
+
import { packagedSupportedStack as supportedStack } from './adapters/packaged-assets/supported-stack.js';
|
|
4
4
|
import { workstationRequirementCatalog } from './workstation-catalog.js';
|
|
5
5
|
const REQUIREMENT_ORDER = [
|
|
6
6
|
'node',
|
|
7
|
+
'npm',
|
|
7
8
|
'python',
|
|
8
9
|
'go',
|
|
9
10
|
'uv',
|
|
@@ -17,8 +18,8 @@ const REQUIREMENT_ORDER = [
|
|
|
17
18
|
];
|
|
18
19
|
const MISSING_ERROR_CODES = new Set(['ENOENT', 'UNKNOWN']);
|
|
19
20
|
function compareVersions(left, right) {
|
|
20
|
-
const leftParts = left.split('.').map(Number);
|
|
21
|
-
const rightParts = right.split('.').map(Number);
|
|
21
|
+
const leftParts = versionCore(left).split('.').map(Number);
|
|
22
|
+
const rightParts = versionCore(right).split('.').map(Number);
|
|
22
23
|
for (let index = 0; index < Math.max(leftParts.length, rightParts.length); index += 1) {
|
|
23
24
|
const difference = (leftParts[index] ?? 0) - (rightParts[index] ?? 0);
|
|
24
25
|
if (difference !== 0) {
|
|
@@ -28,7 +29,21 @@ function compareVersions(left, right) {
|
|
|
28
29
|
return 0;
|
|
29
30
|
}
|
|
30
31
|
export function extractVersion(output) {
|
|
31
|
-
return output.match(/(?:^|[^0-
|
|
32
|
+
return output.match(/(?:^|[^0-9A-Za-z])(?:v|go)?([0-9]+\.[0-9]+(?:\.[0-9]+)?(?:(?:-[0-9A-Za-z]|[A-Za-z])[0-9A-Za-z.-]*)?(?:\+[0-9A-Za-z.-]+)?)(?=$|[^0-9A-Za-z.+-])/i)?.[1];
|
|
33
|
+
}
|
|
34
|
+
function versionCore(value) {
|
|
35
|
+
return value
|
|
36
|
+
.split('+', 1)[0]
|
|
37
|
+
.match(/^\d+\.\d+(?:\.\d+)?/)?.[0] ?? value;
|
|
38
|
+
}
|
|
39
|
+
function isPrereleaseVersion(value) {
|
|
40
|
+
const withoutBuild = value.split('+', 1)[0];
|
|
41
|
+
return withoutBuild.slice(versionCore(withoutBuild).length).length > 0;
|
|
42
|
+
}
|
|
43
|
+
function matchesReleaseLine(value, releaseLine) {
|
|
44
|
+
const versionParts = versionCore(value).split('.');
|
|
45
|
+
const releaseParts = releaseLine.split('.');
|
|
46
|
+
return releaseParts.every((part, index) => versionParts[index] === part);
|
|
32
47
|
}
|
|
33
48
|
export function selectLiftoffRuntimeRequirements() {
|
|
34
49
|
const definition = workstationRequirementCatalog.node;
|
|
@@ -37,7 +52,9 @@ export function selectLiftoffRuntimeRequirements() {
|
|
|
37
52
|
definition,
|
|
38
53
|
severity: definition.severity,
|
|
39
54
|
reasons: ['Liftoff runtime'],
|
|
40
|
-
minimumVersion:
|
|
55
|
+
minimumVersion: definition.minimumVersion,
|
|
56
|
+
releaseLine: definition.releaseLine,
|
|
57
|
+
allowPrerelease: definition.allowPrerelease ?? false
|
|
41
58
|
}];
|
|
42
59
|
}
|
|
43
60
|
export function selectWorkstationRequirements(plan, options = {}) {
|
|
@@ -60,35 +77,43 @@ export function selectWorkstationRequirements(plan, options = {}) {
|
|
|
60
77
|
severity: overrides.severity ?? definition.severity,
|
|
61
78
|
reasons: [reason],
|
|
62
79
|
...(minimumVersion ? { minimumVersion } : {}),
|
|
63
|
-
...(exactVersion ? { exactVersion } : {})
|
|
80
|
+
...(exactVersion ? { exactVersion } : {}),
|
|
81
|
+
...(definition.releaseLine ? { releaseLine: definition.releaseLine } : {}),
|
|
82
|
+
allowPrerelease: definition.allowPrerelease ?? false
|
|
64
83
|
});
|
|
65
84
|
};
|
|
66
85
|
const workload = typeof plan.workload === 'string'
|
|
67
|
-
?
|
|
68
|
-
|
|
69
|
-
: {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
provider: { id: plan.provider.id }
|
|
73
|
-
}
|
|
86
|
+
? {
|
|
87
|
+
kind: plan.workload,
|
|
88
|
+
apiStack: { id: plan.apiStack.id },
|
|
89
|
+
provider: { id: plan.provider.id }
|
|
90
|
+
}
|
|
74
91
|
: plan.workload;
|
|
92
|
+
const includeFrontend = typeof plan.workload === 'string'
|
|
93
|
+
? plan.includeFrontend
|
|
94
|
+
: plan.workload.frontend ?? false;
|
|
75
95
|
add('node', 'Liftoff runtime', {
|
|
76
96
|
minimumVersion: supportedStack.runtimes.node.minimumVersion
|
|
77
97
|
});
|
|
78
|
-
if (workload.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
98
|
+
if (workload.apiStack.id === 'node-fastify') {
|
|
99
|
+
add('npm', 'selected Node.js API dependency manager');
|
|
100
|
+
}
|
|
101
|
+
if (includeFrontend) {
|
|
102
|
+
add('npm', 'selected frontend dependency manager');
|
|
103
|
+
}
|
|
104
|
+
if (workload.apiStack.id === 'python-fastapi') {
|
|
105
|
+
add('python', 'selected Python API stack', {
|
|
106
|
+
minimumVersion: supportedStack.runtimes.python.minimumVersion
|
|
107
|
+
});
|
|
108
|
+
add('uv', 'locked Python dependency manager');
|
|
109
|
+
}
|
|
110
|
+
else if (workload.apiStack.id === 'go-huma') {
|
|
111
|
+
add('go', 'selected Go API stack', {
|
|
112
|
+
minimumVersion: supportedStack.runtimes.go.minimumVersion
|
|
113
|
+
});
|
|
90
114
|
}
|
|
91
115
|
if (plan.specWorkflow.id === 'openspec') {
|
|
116
|
+
add('npm', 'OpenSpec installer and launcher');
|
|
92
117
|
add('node', 'OpenSpec runtime', {
|
|
93
118
|
minimumVersion: supportedStack.runtimes.node.minimumVersion
|
|
94
119
|
});
|
|
@@ -105,12 +130,10 @@ export function selectWorkstationRequirements(plan, options = {}) {
|
|
|
105
130
|
add('spec-kit', 'selected spec-driven framework', { exactVersion: plan.framework.version });
|
|
106
131
|
}
|
|
107
132
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
add('azure-cli', 'selected Azure cloud');
|
|
113
|
-
}
|
|
133
|
+
add('docker', 'generated local development stack');
|
|
134
|
+
add('opentofu', 'generated infrastructure');
|
|
135
|
+
if (workload.provider.id === 'azure') {
|
|
136
|
+
add('azure-cli', 'selected Azure cloud');
|
|
114
137
|
}
|
|
115
138
|
for (const agent of plan.agents) {
|
|
116
139
|
add(agent.id, `selected ${agent.label} coding agent`);
|
|
@@ -125,7 +148,8 @@ function missingResult(requirement, detail = 'command not found') {
|
|
|
125
148
|
requirement,
|
|
126
149
|
state: 'missing',
|
|
127
150
|
detail,
|
|
128
|
-
remedy:
|
|
151
|
+
remedy: requirement.definition.missingRemedy ??
|
|
152
|
+
`Install ${requirement.definition.label}.`,
|
|
129
153
|
notices: []
|
|
130
154
|
};
|
|
131
155
|
}
|
|
@@ -209,6 +233,36 @@ function classifyVersion(requirement, command, result) {
|
|
|
209
233
|
notices: []
|
|
210
234
|
};
|
|
211
235
|
}
|
|
236
|
+
if (version &&
|
|
237
|
+
!requirement.allowPrerelease &&
|
|
238
|
+
isPrereleaseVersion(version)) {
|
|
239
|
+
return {
|
|
240
|
+
requirement,
|
|
241
|
+
state: 'outdated',
|
|
242
|
+
detail: `Found prerelease ${version}; a stable release is required.`,
|
|
243
|
+
detectedVersion: version,
|
|
244
|
+
detectedBy: command.executable,
|
|
245
|
+
remedy: requirement.exactVersion
|
|
246
|
+
? `Install ${requirement.definition.label} ${requirement.exactVersion}.`
|
|
247
|
+
: `Install a stable ${requirement.definition.label} release${requirement.releaseLine ? ` in the supported ${requirement.releaseLine} line` : ''}.`,
|
|
248
|
+
notices: []
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
if (version &&
|
|
252
|
+
requirement.releaseLine &&
|
|
253
|
+
!matchesReleaseLine(version, requirement.releaseLine)) {
|
|
254
|
+
return {
|
|
255
|
+
requirement,
|
|
256
|
+
state: 'outdated',
|
|
257
|
+
detail: `Found ${version}; the supported release line is ${requirement.releaseLine}.`,
|
|
258
|
+
detectedVersion: version,
|
|
259
|
+
detectedBy: command.executable,
|
|
260
|
+
remedy: requirement.exactVersion
|
|
261
|
+
? `Install ${requirement.definition.label} ${requirement.exactVersion}.`
|
|
262
|
+
: `Install ${requirement.definition.label} ${requirement.releaseLine}.x at or above ${requirement.minimumVersion}.`,
|
|
263
|
+
notices: []
|
|
264
|
+
};
|
|
265
|
+
}
|
|
212
266
|
if (version && requirement.exactVersion && compareVersions(version, requirement.exactVersion) !== 0) {
|
|
213
267
|
return {
|
|
214
268
|
requirement,
|
package/dist/workstation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workstation.js","sourceRoot":"","sources":["../src/workstation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,6BAA6B,EAO9B,MAAM,0BAA0B,CAAC;AA6ElC,MAAM,iBAAiB,GAA+B;IACpD,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,UAAU;IACV,WAAW;IACX,UAAU;IACV,UAAU;IACV,gBAAgB;IAChB,QAAQ;CACT,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAE3D,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtF,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,MAAM,UAAU,GAAG,6BAA6B,CAAC,IAAI,CAAC;IACtD,OAAO,CAAC;YACN,EAAE,EAAE,MAAM;YACV,UAAU;YACV,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,OAAO,EAAE,CAAC,iBAAiB,CAAC;YAC5B,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc;SAC5D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,IAAmD,EACnD,OAAO,GAAgC,EAAE;IAEzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiD,CAAC;IAC1E,MAAM,GAAG,GAAG,CACV,EAA4B,EAC5B,MAAc,EACd,SAAS,GAAuF,EAAE,EAClG,EAAE;QACF,MAAM,UAAU,GAAG,6BAA6B,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,IAAI,UAAU,CAAC,cAAc,CAAC;QAC7E,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC;QACvE,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,cAAc,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,IAAI,eAAe,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACjH,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;YAC3C,CAAC;YACD,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE;YACf,EAAE;YACF,UAAU;YACV,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ;YACnD,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;QAChD,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,qBAAqB;YACvC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAW;YAClC,CAAC,CAAC;gBACE,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAClC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;aACnC;QACL,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAClB,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE;QAC7B,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc;KAC5D,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,gBAAgB,EAAE,CAAC;YAC9C,GAAG,CAAC,QAAQ,EAAE,2BAA2B,EAAE;gBACzC,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc;aAC9D,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,EAAE,uBAAuB,EAAE;gBACjC,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;QACxC,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE;YAC9B,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc;SAC5D,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YACvC,GAAG,CAAC,UAAU,EAAE,gCAAgC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,QAAQ,EAAE,kBAAkB,EAAE;YAChC,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc;SAC9D,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YACvC,GAAG,CAAC,UAAU,EAAE,gCAAgC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC5C,GAAG,CAAC,QAAQ,EAAE,mCAAmC,CAAC,CAAC;QACnD,GAAG,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;QAC5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;YACrC,GAAG,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,KAAK,CAAC,KAAK,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,WAAgC,EAAE,MAAM,GAAG,mBAAmB;IACnF,OAAO;QACL,WAAW;QACX,KAAK,EAAE,SAAS;QAChB,MAAM;QACN,MAAM,EAAE,WAAW,WAAW,CAAC,UAAU,CAAC,KAAK,GAAG;QAClD,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAqB;IAC3C,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,WAAgC,EAChC,MAAqB,EACrB,OAAuC;IAEvC,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,WAAgC,EAChC,MAAqB,EACrB,OAAuC;IAEvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAC7B,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,EAAE,EACnD,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAClC,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,WAAW;YACX,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,wFAAwF;YAChG,MAAM,EAAE,sGAAsG;YAC9G,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,WAAW;YACX,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,qCAAqC;YACrE,MAAM,EAAE,0EAA0E;YAClF,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,gBAAgB,IAAI,EAAE,KAAK,qBAAqB,CAAC,CAAC;IACnG,OAAO,SAAS;QACd,CAAC,CAAC;YACE,WAAW;YACX,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,qDAAqD;YAC7D,UAAU,EAAE,wBAAwB;YACpC,OAAO,EAAE,CAAC;oBACR,KAAK,EAAE,+BAA+B;oBACtC,KAAK,EAAE,gBAAgB;oBACvB,MAAM,EAAE,4DAA4D;oBACpE,MAAM,EAAE,8CAA8C;iBACvD,CAAC;SACH;QACH,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,qEAAqE,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,eAAe,CACtB,WAAgC,EAChC,OAAwB,EACxB,MAAqB;IAErB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO;YACL,WAAW;YACX,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,2BAA2B;YACxD,MAAM,EAAE,UAAU,WAAW,CAAC,UAAU,CAAC,KAAK,aAAa;YAC3D,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,WAAW;YACX,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,YAAY,IAAI,GAAG,OAAO,CAAC,UAAU,uBAAuB,MAAM,CAAC,MAAM,GAAG;YACnH,MAAM,EAAE,UAAU,WAAW,CAAC,UAAU,CAAC,KAAK,aAAa;YAC3D,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzE,OAAO;YACL,WAAW;YACX,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,mCAAmC,MAAM,IAAI,gBAAgB,EAAE;YACvE,MAAM,EAAE,UAAU,WAAW,CAAC,UAAU,CAAC,KAAK,0CAA0C;YACxF,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,IAAI,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACpG,OAAO;YACL,WAAW;YACX,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,SAAS,OAAO,kDAAkD,WAAW,CAAC,YAAY,GAAG;YACrG,eAAe,EAAE,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,WAAW,WAAW,CAAC,UAAU,CAAC,KAAK,IAAI,WAAW,CAAC,YAAY,GAAG;YAC9E,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,IAAI,WAAW,CAAC,cAAc,IAAI,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACtG,OAAO;YACL,WAAW;YACX,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,SAAS,OAAO,aAAa,WAAW,CAAC,cAAc,wBAAwB;YACvF,eAAe,EAAE,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,WAAW,WAAW,CAAC,UAAU,CAAC,KAAK,OAAO,WAAW,CAAC,cAAc,YAAY;YAC5F,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW;QACX,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW;QACpD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,WAAgC,EAChC,MAAqB,EACrB,OAAuC;IAEvC,IAAI,OAAoC,CAAC;IACzC,IAAI,KAAyB,CAAC;IAC9B,IAAI,MAA0B,CAAC;IAC/B,QAAQ,WAAW,CAAC,EAAE,EAAE,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,oBAAoB,CAAC,EAAE,CAAC;YACrF,KAAK,GAAG,eAAe,CAAC;YACxB,MAAM,GAAG,4CAA4C,CAAC;YACtD,MAAM;QACR,KAAK,WAAW;YACd,OAAO,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC;YACpG,KAAK,GAAG,sBAAsB,CAAC;YAC/B,MAAM,GAAG,iBAAiB,CAAC;YAC3B,MAAM;QACR,KAAK,QAAQ;YACX,OAAO,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,KAAK,GAAG,oBAAoB,CAAC;YAC7B,MAAM,GAAG,6EAA6E,CAAC;YACvF,MAAM;QACR,KAAK,gBAAgB;YACnB,OAAO,CAAC;oBACN,KAAK,EAAE,+BAA+B;oBACtC,KAAK,EAAE,gBAAgB;oBACvB,MAAM,EAAE,2DAA2D;oBACnE,MAAM,EAAE,wCAAwC;iBACjD,CAAC,CAAC;QACL;YACE,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC5E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,CAAC;YACN,KAAK;YACL,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB;YACtH,MAAM;SACP,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAAgC,EAChC,MAAqB,EACrB,OAAO,GAAmC,EAAE;IAE5C,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC,EAAE,KAAK,gBAAgB;YACxC,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;YAC/C,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC9C,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAC3D,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;IACpE,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,WAAW,CAAC,EAAE,KAAK,gBAAgB,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC,CAAE,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,YAAmC,EACnC,MAAqB,EACrB,OAAO,GAAmC,EAAE;IAE5C,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,CAAC,CAAC,CACH,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;IAC9D,IAAI,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAQ,GAAoB,OAAO,CAAC,QAAQ,EAC5C,aAAa,GAAG,iBAAiB;IAEjC,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,iFAAiF;IACnF,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CACpB,WAAgC,EAChC,IAAqB;IAErB,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9F,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAqB,EACrB,MAAqB,EACrB,OAAuC;IAEvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAC7B,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAC9D,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAClC,CAAC;IACF,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,MAAqB,EAAE,WAAgC;IACzE,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,WAAW,CAAC,EAAE,CAAC;IAClF,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,+FAA+F,UAAU,GAAG,CAAC;QACtH,KAAK,QAAQ;YACX,OAAO,iCAAiC,UAAU,qFAAqF,CAAC;QAC1I,KAAK,KAAK;YACR,OAAO,yGAAyG,UAAU,GAAG,CAAC;QAChI,KAAK,IAAI;YACP,OAAO,0FAA0F,UAAU,GAAG,CAAC;IACnH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,MAAqB,EACrB,WAAgC,EAChC,OAIC;IAED,IAAI,cAAc,GAAa,EAAE,CAAC;IAClC,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC7B,cAAc,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAoB,MAAM,CAAC,OAAO,KAAK,KAAK;YAC/D,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;YACnE,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI;gBACvB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;gBAC3E,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE;YACzD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,cAAc,GAAG,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO;gBAC5E,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM;oBACzB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAClD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,UAAU,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,gFAAgF;QAClF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,WAAgC,EAAE,IAAqB;IAC3E,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO;QAC9B,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;QACxD,CAAC,CAAC,WAAW,WAAW,CAAC,UAAU,CAAC,KAAK,sBAAsB,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAgC,EAChC,YAAoC,EACpC,OAMC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO;YACL,WAAW;YACX,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,kCAAkC;YAC1C,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,YAAY,CAAC,MAAM;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,WAAW;YACX,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,6BAA6B,WAAW,CAAC,UAAU,CAAC,KAAK,6BAA6B;YAC9F,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;SAChD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAC1E,OAAO;YACL,WAAW;YACX,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,kEAAkE;YAC3F,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,WAAW,MAAM,CAAC,OAAO,iDAAiD;SACnF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;QACtD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,EAAE,GAAG,MAAM;QACtB,MAAM,EAAE,IAAI;QACZ,GAAG,OAAO,CAAC,aAAa;KACzB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO;YACL,WAAW;YACX,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,MAAM,CAAC,QAAQ;gBACrB,CAAC,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,0BAA0B;gBAC3D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,gCAAgC,MAAM,CAAC,MAAM,GAAG;YAC9F,OAAO,EAAE,MAAM,CAAC,cAAc;YAC9B,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5F,IAAI,SAAS,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACtF,OAAO;YACL,WAAW;YACX,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC;gBAC/B,CAAC,CAAC,qCAAqC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,yDAAyD;gBACzH,CAAC,CAAC,gIAAgI;YACpI,OAAO,EAAE,MAAM,CAAC,cAAc;YAC9B,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC;SACxC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW;QACX,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,YAAY;QACnD,OAAO,EAAE,MAAM,CAAC,cAAc;QAC9B,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAiC;IACzE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,MAAM,CAAC,WAAW,CAAC,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CACvE,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"workstation.js","sourceRoot":"","sources":["../src/workstation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,sBAAsB,IAAI,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACzG,OAAO,EACL,6BAA6B,EAO9B,MAAM,0BAA0B,CAAC;AA8ElC,MAAM,iBAAiB,GAA+B;IACpD,MAAM;IACN,KAAK;IACL,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,UAAU;IACV,WAAW;IACX,UAAU;IACV,UAAU;IACV,gBAAgB;IAChB,QAAQ;CACT,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAE3D,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa;IAClD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtF,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,MAAM,CAAC,KAAK,CACjB,iJAAiJ,CAClJ,EAAE,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE;SACjB,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;AAChD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;IAC7C,OAAO,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa,EAAE,WAAmB;IAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,MAAM,UAAU,GAAG,6BAA6B,CAAC,IAAI,CAAC;IACtD,OAAO,CAAC;YACN,EAAE,EAAE,MAAM;YACV,UAAU;YACV,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,OAAO,EAAE,CAAC,iBAAiB,CAAC;YAC5B,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,eAAe,EAAE,UAAU,CAAC,eAAe,IAAI,KAAK;SACrD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,IAAmD,EACnD,OAAO,GAAgC,EAAE;IAEzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiD,CAAC;IAC1E,MAAM,GAAG,GAAG,CACV,EAA4B,EAC5B,MAAc,EACd,SAAS,GAAuF,EAAE,EAClG,EAAE;QACF,MAAM,UAAU,GAAG,6BAA6B,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,IAAI,UAAU,CAAC,cAAc,CAAC;QAC7E,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC;QACvE,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,cAAc,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,IAAI,eAAe,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACjH,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;YAC3C,CAAC;YACD,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE;YACf,EAAE;YACF,UAAU;YACV,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ;YACnD,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,eAAe,EAAE,UAAU,CAAC,eAAe,IAAI,KAAK;SACrD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;QAChD,CAAC,CAAC;YACE,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAClC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;SACnC;QACH,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAClB,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;QACvD,CAAC,CAAC,IAAI,CAAC,eAAe;QACtB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC;IACpC,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE;QAC7B,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc;KAC5D,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,cAAc,EAAE,CAAC;QAC5C,GAAG,CAAC,KAAK,EAAE,yCAAyC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,GAAG,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,gBAAgB,EAAE,CAAC;QAC9C,GAAG,CAAC,QAAQ,EAAE,2BAA2B,EAAE;YACzC,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc;SAC9D,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC9C,GAAG,CAAC,IAAI,EAAE,uBAAuB,EAAE;YACjC,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;QACxC,GAAG,CAAC,KAAK,EAAE,iCAAiC,CAAC,CAAC;QAC9C,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE;YAC9B,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc;SAC5D,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YACvC,GAAG,CAAC,UAAU,EAAE,gCAAgC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,QAAQ,EAAE,kBAAkB,EAAE;YAChC,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc;SAC9D,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YACvC,GAAG,CAAC,UAAU,EAAE,gCAAgC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,GAAG,CAAC,QAAQ,EAAE,mCAAmC,CAAC,CAAC;IACnD,GAAG,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;IAC5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;QACrC,GAAG,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,KAAK,CAAC,KAAK,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,WAAgC,EAAE,MAAM,GAAG,mBAAmB;IACnF,OAAO;QACL,WAAW;QACX,KAAK,EAAE,SAAS;QAChB,MAAM;QACN,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,aAAa;YAC1C,WAAW,WAAW,CAAC,UAAU,CAAC,KAAK,GAAG;QAC5C,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAqB;IAC3C,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,WAAgC,EAChC,MAAqB,EACrB,OAAuC;IAEvC,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,WAAgC,EAChC,MAAqB,EACrB,OAAuC;IAEvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAC7B,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,EAAE,EACnD,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAClC,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,WAAW;YACX,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,wFAAwF;YAChG,MAAM,EAAE,sGAAsG;YAC9G,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,WAAW;YACX,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,qCAAqC;YACrE,MAAM,EAAE,0EAA0E;YAClF,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,gBAAgB,IAAI,EAAE,KAAK,qBAAqB,CAAC,CAAC;IACnG,OAAO,SAAS;QACd,CAAC,CAAC;YACE,WAAW;YACX,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,qDAAqD;YAC7D,UAAU,EAAE,wBAAwB;YACpC,OAAO,EAAE,CAAC;oBACR,KAAK,EAAE,+BAA+B;oBACtC,KAAK,EAAE,gBAAgB;oBACvB,MAAM,EAAE,4DAA4D;oBACpE,MAAM,EAAE,8CAA8C;iBACvD,CAAC;SACH;QACH,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,qEAAqE,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,eAAe,CACtB,WAAgC,EAChC,OAAwB,EACxB,MAAqB;IAErB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO;YACL,WAAW;YACX,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,2BAA2B;YACxD,MAAM,EAAE,UAAU,WAAW,CAAC,UAAU,CAAC,KAAK,aAAa;YAC3D,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,WAAW;YACX,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,YAAY,IAAI,GAAG,OAAO,CAAC,UAAU,uBAAuB,MAAM,CAAC,MAAM,GAAG;YACnH,MAAM,EAAE,UAAU,WAAW,CAAC,UAAU,CAAC,KAAK,aAAa;YAC3D,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzE,OAAO;YACL,WAAW;YACX,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,mCAAmC,MAAM,IAAI,gBAAgB,EAAE;YACvE,MAAM,EAAE,UAAU,WAAW,CAAC,UAAU,CAAC,KAAK,0CAA0C;YACxF,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,IACE,OAAO;QACP,CAAC,WAAW,CAAC,eAAe;QAC5B,mBAAmB,CAAC,OAAO,CAAC,EAC5B,CAAC;QACD,OAAO;YACL,WAAW;YACX,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,oBAAoB,OAAO,iCAAiC;YACpE,eAAe,EAAE,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,WAAW,CAAC,YAAY;gBAC9B,CAAC,CAAC,WAAW,WAAW,CAAC,UAAU,CAAC,KAAK,IAAI,WAAW,CAAC,YAAY,GAAG;gBACxE,CAAC,CAAC,oBAAoB,WAAW,CAAC,UAAU,CAAC,KAAK,WAAW,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,WAAW,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG;YACpJ,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,IACE,OAAO;QACP,WAAW,CAAC,WAAW;QACvB,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,EACrD,CAAC;QACD,OAAO;YACL,WAAW;YACX,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,SAAS,OAAO,mCAAmC,WAAW,CAAC,WAAW,GAAG;YACrF,eAAe,EAAE,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,WAAW,CAAC,YAAY;gBAC9B,CAAC,CAAC,WAAW,WAAW,CAAC,UAAU,CAAC,KAAK,IAAI,WAAW,CAAC,YAAY,GAAG;gBACxE,CAAC,CAAC,WAAW,WAAW,CAAC,UAAU,CAAC,KAAK,IAAI,WAAW,CAAC,WAAW,kBAAkB,WAAW,CAAC,cAAc,GAAG;YACrH,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,IAAI,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACpG,OAAO;YACL,WAAW;YACX,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,SAAS,OAAO,kDAAkD,WAAW,CAAC,YAAY,GAAG;YACrG,eAAe,EAAE,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,WAAW,WAAW,CAAC,UAAU,CAAC,KAAK,IAAI,WAAW,CAAC,YAAY,GAAG;YAC9E,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,IAAI,WAAW,CAAC,cAAc,IAAI,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACtG,OAAO;YACL,WAAW;YACX,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,SAAS,OAAO,aAAa,WAAW,CAAC,cAAc,wBAAwB;YACvF,eAAe,EAAE,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,WAAW,WAAW,CAAC,UAAU,CAAC,KAAK,OAAO,WAAW,CAAC,cAAc,YAAY;YAC5F,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW;QACX,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW;QACpD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,WAAgC,EAChC,MAAqB,EACrB,OAAuC;IAEvC,IAAI,OAAoC,CAAC;IACzC,IAAI,KAAyB,CAAC;IAC9B,IAAI,MAA0B,CAAC;IAC/B,QAAQ,WAAW,CAAC,EAAE,EAAE,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,oBAAoB,CAAC,EAAE,CAAC;YACrF,KAAK,GAAG,eAAe,CAAC;YACxB,MAAM,GAAG,4CAA4C,CAAC;YACtD,MAAM;QACR,KAAK,WAAW;YACd,OAAO,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC;YACpG,KAAK,GAAG,sBAAsB,CAAC;YAC/B,MAAM,GAAG,iBAAiB,CAAC;YAC3B,MAAM;QACR,KAAK,QAAQ;YACX,OAAO,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,KAAK,GAAG,oBAAoB,CAAC;YAC7B,MAAM,GAAG,6EAA6E,CAAC;YACvF,MAAM;QACR,KAAK,gBAAgB;YACnB,OAAO,CAAC;oBACN,KAAK,EAAE,+BAA+B;oBACtC,KAAK,EAAE,gBAAgB;oBACvB,MAAM,EAAE,2DAA2D;oBACnE,MAAM,EAAE,wCAAwC;iBACjD,CAAC,CAAC;QACL;YACE,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC5E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,CAAC;YACN,KAAK;YACL,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB;YACtH,MAAM;SACP,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAAgC,EAChC,MAAqB,EACrB,OAAO,GAAmC,EAAE;IAE5C,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC,EAAE,KAAK,gBAAgB;YACxC,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;YAC/C,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC9C,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAC3D,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;IACpE,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,WAAW,CAAC,EAAE,KAAK,gBAAgB,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC,CAAE,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,YAAmC,EACnC,MAAqB,EACrB,OAAO,GAAmC,EAAE;IAE5C,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,CAAC,CAAC,CACH,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;IAC9D,IAAI,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAQ,GAAoB,OAAO,CAAC,QAAQ,EAC5C,aAAa,GAAG,iBAAiB;IAEjC,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,iFAAiF;IACnF,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CACpB,WAAgC,EAChC,IAAqB;IAErB,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9F,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAqB,EACrB,MAAqB,EACrB,OAAuC;IAEvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAC7B,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAC9D,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAClC,CAAC;IACF,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,MAAqB,EAAE,WAAgC;IACzE,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,WAAW,CAAC,EAAE,CAAC;IAClF,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,+FAA+F,UAAU,GAAG,CAAC;QACtH,KAAK,QAAQ;YACX,OAAO,iCAAiC,UAAU,qFAAqF,CAAC;QAC1I,KAAK,KAAK;YACR,OAAO,yGAAyG,UAAU,GAAG,CAAC;QAChI,KAAK,IAAI;YACP,OAAO,0FAA0F,UAAU,GAAG,CAAC;IACnH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,MAAqB,EACrB,WAAgC,EAChC,OAIC;IAED,IAAI,cAAc,GAAa,EAAE,CAAC;IAClC,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC7B,cAAc,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAoB,MAAM,CAAC,OAAO,KAAK,KAAK;YAC/D,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;YACnE,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI;gBACvB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;gBAC3E,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE;YACzD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,cAAc,GAAG,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO;gBAC5E,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM;oBACzB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAClD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,UAAU,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,gFAAgF;QAClF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,WAAgC,EAAE,IAAqB;IAC3E,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO;QAC9B,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;QACxD,CAAC,CAAC,WAAW,WAAW,CAAC,UAAU,CAAC,KAAK,sBAAsB,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAgC,EAChC,YAAoC,EACpC,OAMC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO;YACL,WAAW;YACX,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,kCAAkC;YAC1C,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,YAAY,CAAC,MAAM;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,WAAW;YACX,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,6BAA6B,WAAW,CAAC,UAAU,CAAC,KAAK,6BAA6B;YAC9F,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;SAChD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAC1E,OAAO;YACL,WAAW;YACX,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,kEAAkE;YAC3F,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,WAAW,MAAM,CAAC,OAAO,iDAAiD;SACnF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;QACtD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,EAAE,GAAG,MAAM;QACtB,MAAM,EAAE,IAAI;QACZ,GAAG,OAAO,CAAC,aAAa;KACzB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO;YACL,WAAW;YACX,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,MAAM,CAAC,QAAQ;gBACrB,CAAC,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,0BAA0B;gBAC3D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,gCAAgC,MAAM,CAAC,MAAM,GAAG;YAC9F,OAAO,EAAE,MAAM,CAAC,cAAc;YAC9B,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5F,IAAI,SAAS,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACtF,OAAO;YACL,WAAW;YACX,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC;gBAC/B,CAAC,CAAC,qCAAqC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,yDAAyD;gBACzH,CAAC,CAAC,gIAAgI;YACpI,OAAO,EAAE,MAAM,CAAC,cAAc;YAC9B,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC;SACxC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW;QACX,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,YAAY;QACnD,OAAO,EAAE,MAAM,CAAC,cAAc;QAC9B,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAiC;IACzE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,MAAM,CAAC,WAAW,CAAC,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CACvE,CAAC;AACJ,CAAC"}
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
|
|
14
14
|
<rect x="32" y="146" width="936" height="92" rx="8" fill="#161b22" stroke="#30363d"/>
|
|
15
15
|
<text x="52" y="176" fill="#f0f6fc" font-family="ui-monospace, SFMono-Regular, Consolas, monospace" font-size="17" font-weight="700">Choose workload</text>
|
|
16
|
-
<text x="52" y="207" fill="#
|
|
17
|
-
<text x="
|
|
16
|
+
<text x="52" y="207" fill="#3fb950" font-family="ui-monospace, SFMono-Regular, Consolas, monospace" font-size="16">[x] GenAI application</text>
|
|
17
|
+
<text x="390" y="207" fill="#8c959f" font-family="ui-monospace, SFMono-Regular, Consolas, monospace" font-size="16">[ ] API application</text>
|
|
18
18
|
|
|
19
19
|
<rect x="32" y="250" width="936" height="92" rx="8" fill="#161b22" stroke="#30363d"/>
|
|
20
20
|
<text x="52" y="280" fill="#f0f6fc" font-family="ui-monospace, SFMono-Regular, Consolas, monospace" font-size="17" font-weight="700">Choose spec workflow</text>
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
|
|
30
30
|
<text x="42" y="486" fill="#3fb950" font-family="ui-monospace, SFMono-Regular, Consolas, monospace" font-size="17">PASS Workstation and framework ready</text>
|
|
31
31
|
<text x="42" y="516" fill="#3fb950" font-family="ui-monospace, SFMono-Regular, Consolas, monospace" font-size="17">DONE Initialized the current Git root safely</text>
|
|
32
|
-
<text x="42" y="544" fill="#b1bac4" font-family="ui-monospace, SFMono-Regular, Consolas, monospace" font-size="15">Next: liftoff
|
|
32
|
+
<text x="42" y="544" fill="#b1bac4" font-family="ui-monospace, SFMono-Regular, Consolas, monospace" font-size="15">Next: /liftoff-setup (local baseline and explicit capability gates)</text>
|
|
33
33
|
</svg>
|
package/docs/azure-deployment.md
CHANGED
|
@@ -1,24 +1,97 @@
|
|
|
1
1
|
# Azure deployment
|
|
2
2
|
|
|
3
3
|
Azure infrastructure is generated for GenAI and API workloads that select the
|
|
4
|
-
available Azure provider. Power Apps
|
|
5
|
-
|
|
4
|
+
available Azure provider. The former Power Apps workload is retired rather than
|
|
5
|
+
offered as an alternative hosting path.
|
|
6
6
|
|
|
7
7
|
Liftoff generates infrastructure code but does not authenticate, plan, or apply
|
|
8
8
|
it. Review all files and use your organization's delivery controls.
|
|
9
9
|
|
|
10
10
|
## OpenTofu layout
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
New API and GenAI projects share application resources through one module, with
|
|
13
|
+
an independent OpenTofu root for each selected environment:
|
|
13
14
|
|
|
14
15
|
```text
|
|
15
16
|
infrastructure/opentofu/azure/
|
|
17
|
+
|-- modules/application/
|
|
18
|
+
`-- environments/
|
|
19
|
+
|-- dev/ # only when selected; dev.tfvars and its own backend/lock
|
|
20
|
+
|-- staging/ # only when selected; staging.tfvars and its own backend/lock
|
|
21
|
+
`-- prod/ # only when selected; prod.tfvars and its own backend/lock
|
|
16
22
|
```
|
|
17
23
|
|
|
18
24
|
`liftoff infra` prints the applicable OpenTofu commands; it does not execute
|
|
19
|
-
them.
|
|
25
|
+
them. For a project that selected prod:
|
|
20
26
|
|
|
21
|
-
|
|
27
|
+
```bash
|
|
28
|
+
liftoff infra init --env prod
|
|
29
|
+
liftoff infra plan --env prod
|
|
30
|
+
liftoff infra apply --env prod
|
|
31
|
+
liftoff infra output --env prod
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
All four commands select the same prod root. Plan/apply use `prod.tfvars` inside
|
|
35
|
+
that root; they do not switch variable files against one shared state address.
|
|
36
|
+
Operational `init` initializes the selected configured backend. Only local
|
|
37
|
+
baseline validation uses `init -backend=false`.
|
|
38
|
+
|
|
39
|
+
Each root has independent local state. Remote examples use distinct
|
|
40
|
+
project-and-environment blob keys. The default declaration is `backend.local.tf`
|
|
41
|
+
with `state/<env>.tfstate`; the example is `backend.remote.example.tf`.
|
|
42
|
+
Each root also contains `versions.tf`, `providers.tf`, `variables.tf`, `main.tf`,
|
|
43
|
+
`outputs.tf`, `.terraform.lock.hcl`, and its named `<env>.tfvars`.
|
|
44
|
+
Replace the local backend declaration when
|
|
45
|
+
adopting a remote backend; do not configure two backends in one root. Review the
|
|
46
|
+
canonical policy's private access, encryption, locking, and ZRS requirements,
|
|
47
|
+
not an illustrative public-storage default. See Microsoft's
|
|
48
|
+
[state storage guidance](https://learn.microsoft.com/en-us/azure/developer/terraform/store-state-in-azure-storage).
|
|
49
|
+
|
|
50
|
+
Existing shared-state or unknown layouts are a **migration-required boundary**.
|
|
51
|
+
Update may still maintain safe core files, but adding an environment cannot
|
|
52
|
+
rewrite a shared module, move state, or create a root pointing to missing module
|
|
53
|
+
files. Force cannot bypass this gate. Helpers do not imply that updating the
|
|
54
|
+
CLI or generated context has migrated project-owned infrastructure.
|
|
55
|
+
|
|
56
|
+
## Explicit flat-root identity retirement
|
|
57
|
+
|
|
58
|
+
New 0.11.0 scaffolds retire exactly these eight logical identities, whose
|
|
59
|
+
historical files are relative to `infrastructure/opentofu/azure/`:
|
|
60
|
+
|
|
61
|
+
| Retired logical name | Historical file |
|
|
62
|
+
| --- | --- |
|
|
63
|
+
| `opentofu-versions` | `versions.tf` |
|
|
64
|
+
| `opentofu-provider-lock` | `.terraform.lock.hcl` |
|
|
65
|
+
| `opentofu-providers` | `providers.tf` |
|
|
66
|
+
| `opentofu-variables` | `variables.tf` |
|
|
67
|
+
| `opentofu-main` | `main.tf` |
|
|
68
|
+
| `opentofu-outputs` | `outputs.tf` |
|
|
69
|
+
| `opentofu-local-state` | `backend.local.tf` |
|
|
70
|
+
| `opentofu-remote-state-example` | `backend.remote.example.tf` |
|
|
71
|
+
|
|
72
|
+
Replacement declarations are
|
|
73
|
+
`opentofu-application-{versions,variables,main,outputs}` in the shared module
|
|
74
|
+
(project lifecycle, `base` provisioning group), and
|
|
75
|
+
`opentofu-<env>-{versions,provider-lock,providers,variables,main,outputs,local-state,remote-state-example,tfvars}`
|
|
76
|
+
in each selected root (`environment:<env>` group). Expansion is finite: only
|
|
77
|
+
`dev`, `staging`, and `prod`, not wildcard ownership.
|
|
78
|
+
|
|
79
|
+
`opentofu-readme` and `opentofu-<env>-tfvars` retain their logical names.
|
|
80
|
+
Old tfvars paths were `environments/<env>.tfvars`; new ones are
|
|
81
|
+
`environments/<env>/<env>.tfvars`. Existing manifests retain their old records,
|
|
82
|
+
paths, and generation hashes. Update, force, helpers, and assessment do not
|
|
83
|
+
delete or retarget that provenance, move state, or convert old files.
|
|
84
|
+
|
|
85
|
+
This is a narrow exception to append-only naming, not permission for other
|
|
86
|
+
renames. Independent-layout recognition requires explicit shared-module and
|
|
87
|
+
environment-root provenance plus safe existing shared-module files. New-looking
|
|
88
|
+
directories or a core-context update cannot substitute for those records.
|
|
89
|
+
|
|
90
|
+
## Collision-resistant resource names
|
|
91
|
+
|
|
92
|
+
Resource groups, managed identities, Container Apps environments/applications,
|
|
93
|
+
and globally scoped services include a stable digest of the full project
|
|
94
|
+
identity and environment, not only a truncated display prefix.
|
|
22
95
|
|
|
23
96
|
Each environment tfvars file has a deterministic 12-character lowercase
|
|
24
97
|
alphanumeric `resource_suffix` for globally scoped Azure names.
|
|
@@ -30,7 +103,8 @@ unique value matching:
|
|
|
30
103
|
^[a-z0-9]{12}$
|
|
31
104
|
```
|
|
32
105
|
|
|
33
|
-
Generated validation rejects an invalid override.
|
|
106
|
+
Generated validation rejects an invalid override. The override is not the sole
|
|
107
|
+
collision defense; similar project-name prefixes retain distinct resource names.
|
|
34
108
|
|
|
35
109
|
## Worker-enabled projects
|
|
36
110
|
|
|
@@ -39,22 +113,45 @@ Worker-enabled GenAI projects:
|
|
|
39
113
|
- Configure `ServiceBusConnection__fullyQualifiedNamespace`.
|
|
40
114
|
- Configure `ServiceBusConnection__clientId` for the attached user-assigned
|
|
41
115
|
managed identity.
|
|
42
|
-
- Grant that identity's principal
|
|
116
|
+
- Grant that identity's principal Azure Service Bus Data Receiver on the
|
|
117
|
+
generated queue, not the namespace.
|
|
43
118
|
- Use `function_worker_queue_name` for the provisioned queue, Function setting,
|
|
44
119
|
and output.
|
|
45
120
|
|
|
46
121
|
Function host storage uses one complete key-backed `AzureWebJobsStorage`
|
|
47
122
|
configuration rather than mixed partial identity settings.
|
|
48
123
|
|
|
124
|
+
For the existing RAG publishing path, the backend receives
|
|
125
|
+
`SERVICE_BUS_FULLY_QUALIFIED_NAMESPACE`, `SERVICE_BUS_QUEUE_NAME`, and
|
|
126
|
+
`AZURE_CLIENT_ID`, with `SERVICE_BUS_AUTH_MODE=managed-identity`, for its selected
|
|
127
|
+
sender identity. That identity receives only
|
|
128
|
+
Azure Service Bus Data Sender on the generated queue; the worker's receiver
|
|
129
|
+
identity remains separate. Queue overrides feed the resource, publisher,
|
|
130
|
+
receiver, and output consistently. Missing namespace, entity, or selected
|
|
131
|
+
identity cannot produce a successful ingestion result.
|
|
132
|
+
|
|
133
|
+
See Microsoft's [managed identity and role-scope guidance](https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-managed-service-identity).
|
|
134
|
+
This wiring does not implement RAG retrieval or citations. The generated Function
|
|
135
|
+
trigger currently decodes/logs message keys and returns; successful publication
|
|
136
|
+
is not proof that indexing or other job processing occurred.
|
|
137
|
+
|
|
49
138
|
## Frontend origins
|
|
50
139
|
|
|
51
|
-
Generated backends allow their local frontend origin by default.
|
|
52
|
-
`VITE_API_BASE_URL`
|
|
53
|
-
|
|
140
|
+
Generated backends allow their local frontend origin by default.
|
|
141
|
+
`VITE_API_BASE_URL` identifies the backend URL; if the frontend runs on another
|
|
142
|
+
origin, include that frontend origin in the comma-separated
|
|
143
|
+
`CORS_ALLOWED_ORIGINS` value. Generated Azure infrastructure
|
|
54
144
|
sets it to the deployed frontend URL.
|
|
55
145
|
|
|
56
146
|
## Deployment boundary
|
|
57
147
|
|
|
148
|
+
For governed projects, these are reference steps, not the next setup action.
|
|
149
|
+
The separately approved `application-foundation` phase must authorize the exact
|
|
150
|
+
mutation, but its production executor and a public approval-persistence channel
|
|
151
|
+
are not supplied in this release. Do not bypass those blockers by executing
|
|
152
|
+
printed commands directly. Separately reviewed platform implementation is needed;
|
|
153
|
+
generated files alone are not deployment authority.
|
|
154
|
+
|
|
58
155
|
Before applying infrastructure:
|
|
59
156
|
|
|
60
157
|
1. Run `liftoff validate` and `liftoff doctor`.
|
package/docs/cli-reference.md
CHANGED
|
@@ -39,10 +39,11 @@ install -> upgrade CLI -> plan -> init or migrate -> /liftoff-setup -> validate,
|
|
|
39
39
|
| `liftoff update --check` | Reports core maintenance and provisioning without mutation; exits 0 when clean and 2 when actionable |
|
|
40
40
|
| `liftoff update --force` | Overwrites only exact guarded managed-core conflicts; project-owned files remain unreachable |
|
|
41
41
|
| `liftoff dev` | Prints workload-appropriate local development commands; it does not execute them |
|
|
42
|
-
| `liftoff infra` | Prints OpenTofu guidance for API workloads
|
|
42
|
+
| `liftoff infra` | Prints OpenTofu guidance for supported API/GenAI workloads without executing it |
|
|
43
43
|
| `liftoff patterns` | Lists GenAI patterns |
|
|
44
44
|
| `liftoff providers` | Lists provider availability |
|
|
45
45
|
| `liftoff regions` | Lists available regions |
|
|
46
|
+
| `liftoff regions --region <slug-or-alias>` | Resolves one region and filters the output; ambiguous or unknown values fail with guidance |
|
|
46
47
|
| `liftoff regions search <query>` | Searches region names and slugs |
|
|
47
48
|
| `liftoff --version` | Prints exactly one version line |
|
|
48
49
|
|
|
@@ -59,7 +60,7 @@ Node.js 24 LTS, Python 3.14, Go 1.27, OpenTofu 1.12, OpenSpec 1.11, and Spec Kit
|
|
|
59
60
|
Common noninteractive inputs include:
|
|
60
61
|
|
|
61
62
|
```text
|
|
62
|
-
--type genai|standard
|
|
63
|
+
--type genai|standard
|
|
63
64
|
--pattern <genai-pattern>
|
|
64
65
|
--api python|node|go
|
|
65
66
|
--cloud azure
|
|
@@ -70,7 +71,6 @@ Common noninteractive inputs include:
|
|
|
70
71
|
--agents copilot,claude
|
|
71
72
|
--default-agent copilot|claude
|
|
72
73
|
--governance single-maintainer-gitflow|none
|
|
73
|
-
--code-apps-plugin | --no-code-apps-plugin
|
|
74
74
|
--copilot-cloud | --no-copilot-cloud
|
|
75
75
|
--configure-openspec-profile
|
|
76
76
|
```
|
|
@@ -80,8 +80,9 @@ Interactive initialization presents **I'm not sure yet - Generic GenAI
|
|
|
80
80
|
starter** first and accepts it as the default. `liftoff patterns` lists this
|
|
81
81
|
stable `generic` identifier alongside the eight specialized patterns.
|
|
82
82
|
|
|
83
|
-
Power Apps
|
|
84
|
-
|
|
83
|
+
Power Apps and Code Apps plugin inputs are retired and rejected, including
|
|
84
|
+
false/negated plugin flags. Existing retired manifests are not reinterpreted as
|
|
85
|
+
supported workloads or ordinary Git repositories.
|
|
85
86
|
|
|
86
87
|
Consent options are documented in [safety and consent](safety-and-consent.md).
|
|
87
88
|
Repository governance defaults to `single-maintainer-gitflow`. It generates a
|
|
@@ -116,11 +117,13 @@ failure with verified evidence.
|
|
|
116
117
|
|
|
117
118
|
Governance JSON uses versioned objects and includes the complete activation
|
|
118
119
|
version vector: creating Liftoff version, manifest artifact version 7, policy
|
|
119
|
-
version 6, activation-contract version
|
|
120
|
-
supersession/credential schema versions, and the phase-graph
|
|
120
|
+
version 6, activation-contract version 2, state/evidence-header/approval schema
|
|
121
|
+
versions 2, graph/supersession/credential schema versions 1, and the phase-graph
|
|
122
|
+
hash. Compatibility metadata is version 2. It never
|
|
121
123
|
emits a setup-skill version. Future identities, unsupported compatibility
|
|
122
124
|
tuples, and unrecognized graph hashes block without rewriting state; the remedy
|
|
123
|
-
names the exact field and required Liftoff upgrade.
|
|
125
|
+
names the exact field and required Liftoff upgrade. Known v1 history is
|
|
126
|
+
diagnostic-only and byte-preserved; no automatic reconciliation command exists.
|
|
124
127
|
|
|
125
128
|
`/liftoff-setup` calls these commands instead of inferring phase completion from
|
|
126
129
|
prose or task checkboxes.
|
|
@@ -144,8 +147,11 @@ liftoff governance assess [project] --live [--json]
|
|
|
144
147
|
liftoff governance assess --project "path with spaces" --json
|
|
145
148
|
```
|
|
146
149
|
|
|
147
|
-
Use an optional positional project or `--project`, never both.
|
|
148
|
-
|
|
150
|
+
Use an optional positional project or `--project`, never both. It can identify
|
|
151
|
+
an ordinary Git repository without a manifest. Nested working directories resolve
|
|
152
|
+
to the nearest applicable Git or Liftoff boundary; invalid or retired inner
|
|
153
|
+
manifests cannot be bypassed. No initialization or slash-command installation is
|
|
154
|
+
required. Help needs no project or
|
|
149
155
|
credential discovery. Only `assess` accepts `--live`; assessment rejects
|
|
150
156
|
`--execute` (including `--execute=false`), `--force`, installation, automatic
|
|
151
157
|
upgrade, and output-file flags before project access.
|
|
@@ -228,6 +234,12 @@ version. Liftoff never edits `.npmrc`, embeds registry credentials, forces a
|
|
|
228
234
|
canonical bypass around a stale mirror, invokes elevation, installs a
|
|
229
235
|
prerelease, or performs a downgrade.
|
|
230
236
|
|
|
237
|
+
Machine-level `@msn-control:registry` takes precedence over the default
|
|
238
|
+
`registry`, even when the default is canonical. The lookup runs from a neutral
|
|
239
|
+
directory so project `.npmrc` files cannot change upgrade delivery. Canonical
|
|
240
|
+
verification isolates both registry settings without changing persistent
|
|
241
|
+
configuration; actual delivery still honors the configured mirror.
|
|
242
|
+
|
|
231
243
|
`--check` performs the same origin, target, and parity checks without invoking
|
|
232
244
|
installation. Apply uses one shell-free exact npm command with lifecycle scripts,
|
|
233
245
|
audit, and funding prompts disabled, then verifies installed metadata, the
|
|
@@ -262,7 +274,7 @@ set local state to `handoff-partial`. Forced update may remove exact retired
|
|
|
262
274
|
generated setup-alias entries from older manifests after review.
|
|
263
275
|
|
|
264
276
|
Application source, tests, dependencies and locks, database assets, Docker and
|
|
265
|
-
Compose files, environment files, documentation,
|
|
277
|
+
Compose files, environment files, documentation, and
|
|
266
278
|
OpenTofu topology are `project` artifacts after generation. Update does not
|
|
267
279
|
compare them with newer templates, restore deleted paths, or overwrite them
|
|
268
280
|
under `--force`.
|
|
@@ -273,6 +285,10 @@ preflighted together. Absent files are created and byte-identical files are
|
|
|
273
285
|
adopted as provenance; any differing destination blocks the group even with
|
|
274
286
|
`--force`. Disabling or re-enabling a previously provisioned group never
|
|
275
287
|
recreates or deletes project files.
|
|
288
|
+
New environments also require recorded independent-root infrastructure and safe
|
|
289
|
+
existing shared-module files. Legacy/shared or unknown layout produces a
|
|
290
|
+
component-level migration-required result; other safe managed-core work may
|
|
291
|
+
continue. Force cannot migrate state or rewrite shared infrastructure.
|
|
276
292
|
|
|
277
293
|
Use `--check` whenever no project bytes may change. Human check mode prints
|
|
278
294
|
managed-core drift, ownership-only manifest v2-v7 migration, activation-identity
|
|
@@ -289,8 +305,8 @@ core update, but Liftoff retains no backup after a successful core overwrite.
|
|
|
289
305
|
Force cannot bypass the ownership, project-boundary, symlink, structural,
|
|
290
306
|
identity, or manifest guards.
|
|
291
307
|
|
|
292
|
-
New dependency, runtime, container, database, application,
|
|
293
|
-
|
|
308
|
+
New dependency, runtime, container, database, application, and infrastructure
|
|
309
|
+
templates apply to newly generated projects. Existing
|
|
294
310
|
production projects adopt them through a separately reviewed project change.
|
|
295
311
|
The existing `liftoff migrate` command only adopts a non-Liftoff source into a
|
|
296
312
|
fresh target; it is not an in-place template upgrade.
|
|
@@ -314,6 +330,26 @@ All current writes use v7. Supported historical reads are normalized through an
|
|
|
314
330
|
explicit compatibility map; future versions, individually known but unsupported
|
|
315
331
|
tuples, and unknown phase-graph hashes block and report an upgrade or
|
|
316
332
|
reconciliation remedy instead of downgrading or fabricating evidence.
|
|
333
|
+
Exact known activation-v1 identity is readable for diagnostics. A
|
|
334
|
+
`diagnosticOnly` historical-state result can coexist with managed-core maintenance,
|
|
335
|
+
which preserves the historical identity, state, and receipts and does not make
|
|
336
|
+
them executable.
|
|
337
|
+
|
|
338
|
+
## Development and infrastructure helpers
|
|
339
|
+
|
|
340
|
+
`liftoff dev` and `liftoff infra` print commands rather than execute them.
|
|
341
|
+
Infrastructure helpers use recorded layout, not merely new-looking paths.
|
|
342
|
+
For a selected prod environment in the independent layout,
|
|
343
|
+
`liftoff infra init --env prod` targets
|
|
344
|
+
`infrastructure/opentofu/azure/environments/prod`; plan/apply use
|
|
345
|
+
`-var-file=prod.tfvars` in that same root. Operational init uses the configured
|
|
346
|
+
backend, not `-backend=false`. Only the local baseline disables backend
|
|
347
|
+
initialization, separately for every selected root. Recursive formatting remains
|
|
348
|
+
at the Azure parent to include the shared module.
|
|
349
|
+
|
|
350
|
+
The eight explicitly retired flat-root identities remain old provenance, not
|
|
351
|
+
aliases for new roots. See the [exact inventory](azure-deployment.md#explicit-flat-root-identity-retirement)
|
|
352
|
+
and [native runtime recipes](configuration-and-manifests.md#application-runtime-configuration).
|
|
317
353
|
|
|
318
354
|
## JSON and exit codes
|
|
319
355
|
|