@msn-control/liftoff 0.10.3 → 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 +364 -20
- package/README.md +29 -29
- package/assets/governance/single-maintainer-gitflow/assessment-controls.json +39 -0
- package/assets/supported-stack.json +7 -138
- 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 -441
- package/dist/args.js.map +1 -1
- package/dist/artifact-lifecycle.d.ts +1 -21
- package/dist/artifact-lifecycle.js +1 -73
- 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 +4 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +4 -35
- package/dist/commands.js +3 -2812
- 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 -41
- package/dist/file-system.js +9 -1204
- 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 +107 -103
- 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 -24
- package/dist/governance-activation/readiness.js +1 -220
- 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 +10 -2
- package/dist/governance-activation/seed-lifecycle.js +244 -66
- 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 -157
- package/dist/governance-activation/transitions.js +143 -2045
- 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 +7 -0
- package/dist/governance-assessment/catalog.js +31 -0
- package/dist/governance-assessment/catalog.js.map +1 -0
- package/dist/governance-assessment/command.d.ts +10 -0
- package/dist/governance-assessment/command.js +77 -0
- package/dist/governance-assessment/command.js.map +1 -0
- package/dist/governance-assessment/engine.d.ts +14 -0
- package/dist/governance-assessment/engine.js +935 -0
- package/dist/governance-assessment/engine.js.map +1 -0
- package/dist/governance-assessment/index.d.ts +5 -0
- package/dist/governance-assessment/index.js +6 -0
- package/dist/governance-assessment/index.js.map +1 -0
- package/dist/governance-assessment/live-normalize.d.ts +1 -0
- package/dist/governance-assessment/live-normalize.js +2 -0
- package/dist/governance-assessment/live-normalize.js.map +1 -0
- package/dist/governance-assessment/live-transport.d.ts +34 -0
- package/dist/governance-assessment/live-transport.js +455 -0
- package/dist/governance-assessment/live-transport.js.map +1 -0
- package/dist/governance-assessment/live.d.ts +2 -0
- package/dist/governance-assessment/live.js +689 -0
- package/dist/governance-assessment/live.js.map +1 -0
- package/dist/governance-assessment/predicates.d.ts +1 -0
- package/dist/governance-assessment/predicates.js +2 -0
- package/dist/governance-assessment/predicates.js.map +1 -0
- package/dist/governance-assessment/project.d.ts +33 -0
- package/dist/governance-assessment/project.js +178 -0
- package/dist/governance-assessment/project.js.map +1 -0
- package/dist/governance-assessment/readers.d.ts +14 -0
- package/dist/governance-assessment/readers.js +122 -0
- package/dist/governance-assessment/readers.js.map +1 -0
- package/dist/governance-assessment/report.d.ts +1 -0
- package/dist/governance-assessment/report.js +2 -0
- package/dist/governance-assessment/report.js.map +1 -0
- package/dist/governance-assessment/sanitize.d.ts +1 -0
- package/dist/governance-assessment/sanitize.js +2 -0
- package/dist/governance-assessment/sanitize.js.map +1 -0
- package/dist/governance-assessment/types.d.ts +6 -0
- package/dist/governance-assessment/types.js +2 -0
- package/dist/governance-assessment/types.js.map +1 -0
- package/dist/governance-assessment/yaml.d.ts +1 -0
- package/dist/governance-assessment/yaml.js +2 -0
- package/dist/governance-assessment/yaml.js.map +1 -0
- 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 +5 -1
- package/dist/migrate-plan.js +87 -10
- 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 +5 -1
- package/dist/process-runner.js +164 -8
- package/dist/process-runner.js.map +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 +67 -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/release-identity.js +19 -0
- package/dist/release-identity.js.map +1 -1
- package/dist/repository-governance.d.ts +10 -2
- package/dist/repository-governance.js +240 -99
- 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/contract.d.ts +2 -0
- package/dist/telemetry/contract.js +7 -0
- package/dist/telemetry/contract.js.map +1 -1
- package/dist/telemetry/index.d.ts +1 -1
- package/dist/templates.d.ts +10 -20
- package/dist/templates.js +52 -3238
- 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 +127 -11
- package/docs/configuration-and-manifests.md +150 -35
- 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 +45 -47
- package/docs/repository-governance.md +207 -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/telemetry.md +9 -3
- package/docs/troubleshooting.md +107 -49
- package/docs/workloads.md +53 -62
- package/package.json +6 -8
- 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 -173
- 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/docs/troubleshooting.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
Check the canonical release:
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npm view @msn-control/liftoff@latest version --registry=https://registry.npmjs.org
|
|
8
|
+
npm view @msn-control/liftoff@latest version --registry=https://registry.npmjs.org --@msn-control:registry=https://registry.npmjs.org
|
|
9
9
|
liftoff --version
|
|
10
10
|
liftoff upgrade --check
|
|
11
11
|
liftoff upgrade
|
|
@@ -21,7 +21,7 @@ that version supported.
|
|
|
21
21
|
Versions that predate `liftoff upgrade` require one manual global installation:
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
npm install -g @msn-control/liftoff@latest
|
|
24
|
+
npm install -g @msn-control/liftoff@latest
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
## CLI upgrade is blocked by installation origin
|
|
@@ -38,6 +38,14 @@ Canonical npm defines the exact stable target, but Liftoff installs through the
|
|
|
38
38
|
configured registry. Ask the mirror owner to synchronize or approve that exact
|
|
39
39
|
version, then rerun `liftoff upgrade --check`. Liftoff does not edit `.npmrc` or
|
|
40
40
|
bypass the managed registry.
|
|
41
|
+
The package's machine-level `@msn-control:registry` takes precedence over npm's
|
|
42
|
+
default `registry`. A canonical default does not cancel a scoped mirror.
|
|
43
|
+
Liftoff reads this configuration from a neutral directory, not a project's
|
|
44
|
+
`.npmrc`, and never prints credential-bearing registry values.
|
|
45
|
+
|
|
46
|
+
A response-body timeout is a transport failure, not invalid release metadata.
|
|
47
|
+
Retry after connectivity is restored; do not change registry policy or regenerate
|
|
48
|
+
project locks to work around it.
|
|
41
49
|
|
|
42
50
|
## npm cannot write the global prefix
|
|
43
51
|
|
|
@@ -168,7 +176,7 @@ unrecorded conflicting file remains user-owned and is not reported as an
|
|
|
168
176
|
orphan.
|
|
169
177
|
|
|
170
178
|
If a newer Liftoff release contains different source, dependencies, schemas,
|
|
171
|
-
containers, environment files,
|
|
179
|
+
containers, environment files, or infrastructure,
|
|
172
180
|
ordinary update intentionally reports nothing for those project-owned
|
|
173
181
|
differences. Review and migrate them as production changes. The existing
|
|
174
182
|
`liftoff migrate` command does not perform an in-place Liftoff project upgrade.
|
|
@@ -189,8 +197,9 @@ the existing project files and infrastructure are project-owned.
|
|
|
189
197
|
|
|
190
198
|
That is the expected initial state. The manifest records `handoff-generated`,
|
|
191
199
|
not active enforcement. Run `/liftoff-setup` from a selected agent. It first
|
|
192
|
-
completes, syncs, and archives the
|
|
193
|
-
|
|
200
|
+
completes, syncs, and archives the OpenSpec bootstrap, or finalizes Spec Kit's
|
|
201
|
+
real `000-liftoff-bootstrap` bundle locally after baseline checks. It then stops
|
|
202
|
+
at explicit authority gates for commit/push, credentials,
|
|
194
203
|
billed infrastructure or exceptions, final enforcement, destructive cleanup, or
|
|
195
204
|
external blockers. Rerun `/liftoff-setup` to resume; verified phases are not
|
|
196
205
|
repeated. Older generated setup aliases are retired; after review,
|
|
@@ -205,14 +214,20 @@ policy's repository-dedicated provisioning exception, but it must stop for
|
|
|
205
214
|
explicit approval before creating any Azure or GitHub resource. Do not replace
|
|
206
215
|
missing capability with duplicate scanners, partial provisioning, or
|
|
207
216
|
placeholder success.
|
|
217
|
+
These are target-policy requirements; 14 production phases lack executors and
|
|
218
|
+
two ruleset phases require an injected adapter absent from the public CLI.
|
|
219
|
+
Public approval persistence and credential enrollment also remain unavailable.
|
|
220
|
+
An unavailable executor or authority entry point is a blocker, not an instruction
|
|
221
|
+
to run its provider commands directly.
|
|
208
222
|
|
|
209
223
|
If a private ZRS state backend cannot be reached because public network access
|
|
210
224
|
is disabled and no approved private management path exists, do not enable
|
|
211
|
-
public access or upload local state to GitHub.
|
|
212
|
-
approved minimum `bootstrap-local` phase,
|
|
225
|
+
public access or upload local state to GitHub. The target policy requires an
|
|
226
|
+
explicitly approved minimum `bootstrap-local` phase, adoption through declarative
|
|
213
227
|
imports from the private runner, verify identity parity, locking, versioning,
|
|
214
228
|
and a clean no-change plan, then retain the frozen local state read-only for 30
|
|
215
|
-
days before secure deletion.
|
|
229
|
+
days before secure deletion. That production adapter is not implemented by this
|
|
230
|
+
release; stop at the capability blocker and plan separately reviewed platform work.
|
|
216
231
|
|
|
217
232
|
If an Azure bootstrap fails with a namespace-not-registered error while
|
|
218
233
|
`resource_provider_registrations = "none"` is configured, do not retry the same
|
|
@@ -239,23 +254,23 @@ or allow TCP and UDP 53 to exact custom resolver addresses.
|
|
|
239
254
|
|
|
240
255
|
| State | Remedy |
|
|
241
256
|
| --- | --- |
|
|
242
|
-
| `seed-incomplete` |
|
|
243
|
-
| `phase-blocked` | Read the
|
|
244
|
-
| `evidence-stale` |
|
|
257
|
+
| `seed-incomplete` | Repair local checks, then explicitly retry the supported seed phase. OpenSpec archives; Spec Kit finalizes its real bundle locally. |
|
|
258
|
+
| `phase-blocked` | Read the phase, proof, and authority blocker; unavailable production or enrollment capabilities remain blocked. |
|
|
259
|
+
| `evidence-stale` | Obtain fresh proof through supported, authorized execution from current inputs; never edit receipts or reuse stale headers as current inputs. |
|
|
245
260
|
| `credential-expiring` | Rotate before the recorded lead time using the same App or PAT policy. |
|
|
246
|
-
| `reconciliation-required` | Review the
|
|
247
|
-
| `identity-incompatible` | Upgrade
|
|
261
|
+
| `reconciliation-required` | Review the precise identity/input diagnostic. Historical v1 has no public reconciliation workflow; preserve its bytes rather than acknowledging a new identity by editing JSON. |
|
|
262
|
+
| `identity-incompatible` | Upgrade when the supported tuple requires a newer CLI. Unknown or historical tuples cannot be made executable with force or invented mappings. |
|
|
248
263
|
| `enforcement-incomplete` | Prove exact required contexts green and deliberately red, then approve final enforcement before ruleset mutation. |
|
|
249
|
-
| `disposal-pending` |
|
|
264
|
+
| `disposal-pending` | Review retention, exact imported paths, destructive scope, and proof. Execution requires valid authority; there is no public approval-entry shortcut. |
|
|
250
265
|
|
|
251
266
|
Do not hand-edit task checkboxes to clear these states. Tasks are projections of
|
|
252
267
|
validated phase evidence.
|
|
253
268
|
|
|
254
269
|
## Runner-preflight credential setup is blocked
|
|
255
270
|
|
|
256
|
-
|
|
257
|
-
required read permissions.
|
|
258
|
-
|
|
271
|
+
The policy prefers an existing verified selected-repository GitHub App with the
|
|
272
|
+
required read permissions. Its fallback contract describes a fine-grained PAT
|
|
273
|
+
with these fields: display name `<repo>-runner-preflight-read`, secret
|
|
259
274
|
`RUNNER_CONFIGURATION_READ_TOKEN`, 30-day lifetime, current repository only,
|
|
260
275
|
repository metadata read, organization hosted-runner read and
|
|
261
276
|
network-configuration read, no writes, and the recorded workflow/job allowlist
|
|
@@ -264,24 +279,81 @@ network-configuration read, no writes, and the recorded workflow/job allowlist
|
|
|
264
279
|
`private-dast-preflight` unless the generated policy records a narrower
|
|
265
280
|
applicable set).
|
|
266
281
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
282
|
+
This release does not expose public credential enrollment or masked input.
|
|
283
|
+
Do not create or submit a credential through an invented setup channel, and do
|
|
284
|
+
not hand-write state or receipts to bypass the capability blocker. Never paste
|
|
285
|
+
or show the value in chat, argv, command arguments, logs, evidence, files, or
|
|
286
|
+
screenshots. Revoke and rotate leaked credentials through their owner-controlled
|
|
287
|
+
system. A payload-free policy file alone is not independent readback evidence.
|
|
271
288
|
|
|
272
289
|
## Governance identity or manifest migration is blocked
|
|
273
290
|
|
|
274
291
|
Current Liftoff reads manifest v2-v7 and writes v7. It resumes only explicit
|
|
275
|
-
compatible tuples: policy version 6, activation contract
|
|
276
|
-
|
|
292
|
+
compatible tuples: policy version 6, activation contract 2, state/evidence-header/
|
|
293
|
+
approval/compatibility metadata versions 2, and a recognized phase-graph hash.
|
|
294
|
+
Phase graph, supersession, and credential-policy schemas stay at 1.
|
|
295
|
+
Future versions, individually
|
|
277
296
|
known but unsupported combinations, unknown graph hashes, or unversioned ad hoc
|
|
278
297
|
state block without rewriting files. Use the exact upgrade, import-mapping, or
|
|
279
|
-
reconciliation
|
|
280
|
-
manifest or copy evidence between identities.
|
|
298
|
+
reconciliation diagnostic printed by status or update; do not downgrade the
|
|
299
|
+
manifest or copy evidence between identities. Historical v1 state and evidence
|
|
300
|
+
remain diagnostic-only and byte-preserved. This release has no automatic or
|
|
301
|
+
public historical-state reconciliation workflow; managed-core update does not
|
|
302
|
+
make that history executable.
|
|
281
303
|
|
|
282
304
|
Do not run an older Liftoff release to reverse a completed baseline migration.
|
|
283
|
-
Restore
|
|
284
|
-
|
|
305
|
+
Restore separately reviewed project changes through version control and reinstall
|
|
306
|
+
from the restored locks; do not alter immutable activation evidence to claim
|
|
307
|
+
compatibility.
|
|
308
|
+
|
|
309
|
+
## Spec Kit setup reports seed adoption required
|
|
310
|
+
|
|
311
|
+
The real bundle must contain `specs/000-liftoff-bootstrap/spec.md`, `plan.md`,
|
|
312
|
+
and `tasks.md`, its identity markers, and B001–B006 exactly once. Framework
|
|
313
|
+
templates are not a substitute for project artifacts. Existing projects missing
|
|
314
|
+
the bundle need separate reviewed adoption; update, force, assessment, or
|
|
315
|
+
read-only resume will not create it. Never invent an OpenSpec archive or Git
|
|
316
|
+
branch to make Spec Kit setup pass.
|
|
317
|
+
|
|
318
|
+
## Infrastructure helpers or baseline report migration required
|
|
319
|
+
|
|
320
|
+
Independent roots require exact recorded shared-module/root provenance and safe
|
|
321
|
+
existing module files. Creating folders alone, changing tfvars paths, or updating
|
|
322
|
+
managed governance context does not establish eligibility. Existing flat-root
|
|
323
|
+
provenance remains unchanged after the explicit new-output-only retirement.
|
|
324
|
+
Do not move state or force new roots into place to clear the result; plan a
|
|
325
|
+
separate reviewed migration.
|
|
326
|
+
|
|
327
|
+
## Native startup rejects configuration or appears to ignore the file
|
|
328
|
+
|
|
329
|
+
Python and Node read root `.env`; Python backend-CWD startup still resolves that
|
|
330
|
+
same file. Go's backend-CWD recipe reads `../runtime.config.json`. Use
|
|
331
|
+
`LIFTOFF_ENV_FILE` for an explicit selection, relative to the startup directory
|
|
332
|
+
unless absolute. Process values override the file, and settings are resolved
|
|
333
|
+
once, so restart after edits.
|
|
334
|
+
|
|
335
|
+
An explicit missing, unreadable, malformed, invalid-UTF-8, or NUL-containing
|
|
336
|
+
dotenv file fails rather than falling back. Fix `KEY=value` syntax and balanced
|
|
337
|
+
quotes; Node rejects escaped quote delimiters, so use the other quote style.
|
|
338
|
+
Go requires valid JSON with string values, not null or numeric values.
|
|
339
|
+
Do not source configuration as shell code. An absent default file is allowed
|
|
340
|
+
only when the required settings come from process configuration.
|
|
341
|
+
|
|
342
|
+
For offline `/health`, `/ready`, and `/openapi.json` probes, provide
|
|
343
|
+
`DATABASE_URL` and `REDIS_URL` but leave `PYDANTIC_AI_MODEL`,
|
|
344
|
+
`LANGFUSE_PUBLIC_KEY`, and `LANGFUSE_SECRET_KEY` blank. These probes do not
|
|
345
|
+
contact a model or prove external-service health. `PYDANTIC_AI_MODEL=test` is
|
|
346
|
+
not a supported model provider; no special test-model flag is needed.
|
|
347
|
+
|
|
348
|
+
See [runtime recipes](configuration-and-manifests.md#application-runtime-configuration).
|
|
349
|
+
|
|
350
|
+
## A locally prepared container build includes host files
|
|
351
|
+
|
|
352
|
+
Keep the generated root and frontend `.dockerignore` files in their respective
|
|
353
|
+
build contexts. They exclude host `.venv`, `node_modules`, caches, build output,
|
|
354
|
+
VCS metadata, state, and local secrets. Function publication uses its own
|
|
355
|
+
`.funcignore`. If those project-owned files were changed or removed, repair them
|
|
356
|
+
through reviewed project work; update or force cannot restore them.
|
|
285
357
|
|
|
286
358
|
## A frozen Python install cannot reach the package index
|
|
287
359
|
|
|
@@ -299,30 +371,16 @@ docker build --build-arg UV_DEFAULT_INDEX=https://packages.example.test/simple/
|
|
|
299
371
|
Do not place credentials in build arguments. Configure authenticated registries
|
|
300
372
|
through an approved secret-aware build mechanism.
|
|
301
373
|
|
|
302
|
-
## Power Apps
|
|
303
|
-
|
|
304
|
-
From the project root:
|
|
305
|
-
|
|
306
|
-
```bash
|
|
307
|
-
npm ci
|
|
308
|
-
npx --no-install power-apps --version
|
|
309
|
-
npm run dev
|
|
310
|
-
```
|
|
374
|
+
## Power Apps workload or Code Apps options are rejected
|
|
311
375
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
## The Code Apps plugin is missing or not observable
|
|
316
|
-
|
|
317
|
-
Plugin state is advisory. In each selected agent session, use:
|
|
318
|
-
|
|
319
|
-
```text
|
|
320
|
-
/plugin marketplace add microsoft/power-platform-skills
|
|
321
|
-
/plugin install code-apps-preview@power-platform-skills
|
|
322
|
-
```
|
|
376
|
+
Power Apps creation and existing-project support are retired. The workload and
|
|
377
|
+
plugin options now fail explicitly; this is not a missing dependency or an
|
|
378
|
+
installation problem.
|
|
323
379
|
|
|
324
|
-
|
|
325
|
-
|
|
380
|
+
The rejection leaves application files, dependencies, framework files, and
|
|
381
|
+
historical state unchanged. Do not change the manifest's workload identity, hide
|
|
382
|
+
it to trigger another discovery path, or use force to bypass retirement. This
|
|
383
|
+
CLI provides no automatic conversion or continued Power Apps maintenance lane.
|
|
326
384
|
|
|
327
385
|
## Terminal output is hard to read or being captured
|
|
328
386
|
|
package/docs/workloads.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Workloads
|
|
2
2
|
|
|
3
|
+
Liftoff generates starter projects and governance definitions, not a blanket
|
|
4
|
+
production-readiness guarantee. Catalog scaffold labels and complete file
|
|
5
|
+
generation do not prove every GenAI behavior, worker deployment, authentication,
|
|
6
|
+
private-network path, or operational safeguard is implemented. Review the
|
|
7
|
+
[documented capability follow-ups](../DEVELOPER.md#broader-audit-follow-ups)
|
|
8
|
+
before deploying generated applications unchanged.
|
|
9
|
+
|
|
3
10
|
Liftoff asks for one workload first, then routes only the questions,
|
|
4
11
|
prerequisites, generated artifacts, and maintenance checks that apply to it.
|
|
5
12
|
|
|
@@ -7,12 +14,13 @@ prerequisites, generated artifacts, and maintenance checks that apply to it.
|
|
|
7
14
|
|
|
8
15
|
| Workload | Primary choices | Required runtime | Liftoff-generated platform areas |
|
|
9
16
|
| --- | --- | --- | --- |
|
|
10
|
-
| GenAI application | Pattern, Azure region, environments, optional frontend | Python 3.14, `uv` 0.12.
|
|
11
|
-
| API application | Python 3.14, Node.js 24, or Go 1.27 API stack; Azure region; environments; optional frontend | Selected API
|
|
12
|
-
| Power Apps code app | Spec workflow, agents, optional Code Apps plugin | Node.js 24.20+ | Official React/Vite starter and project-local Power Apps tooling |
|
|
17
|
+
| GenAI application | Pattern, Azure region, environments, optional frontend | Python 3.14.x, `uv` 0.12.x, and Node.js 24.20+ within 24 LTS | API, orchestration, data, messaging, Docker, Azure OpenTofu |
|
|
18
|
+
| API application | Python 3.14, Node.js 24, or Go 1.27 API stack; Azure region; environments; optional frontend | Selected supported API release line and Node.js 24.20+ within 24 LTS | API, data, Docker, Azure OpenTofu |
|
|
13
19
|
|
|
14
|
-
|
|
20
|
+
Both workloads continue into the common OpenSpec or Spec Kit and coding
|
|
15
21
|
agent flow and the default local repository-governance handoff.
|
|
22
|
+
Required package managers are separate prerequisites: npm 12.x at 12.0.2 or
|
|
23
|
+
newer is required for Node.js dependencies, the optional frontend, or OpenSpec.
|
|
16
24
|
|
|
17
25
|
## GenAI application
|
|
18
26
|
|
|
@@ -55,6 +63,33 @@ tools, streaming adapters, fine-tuning datasets, or workflow structures.
|
|
|
55
63
|
Specializing it later is reviewed project migration work; `liftoff update` and
|
|
56
64
|
`--force` cannot convert project-owned application files.
|
|
57
65
|
|
|
66
|
+
### Pattern capability limits
|
|
67
|
+
|
|
68
|
+
All nine identifiers remain available and have `foundation` maturity.
|
|
69
|
+
That label describes starter boundaries, not a completed specialized application.
|
|
70
|
+
|
|
71
|
+
| Pattern ID | Existing boundary | Deliberately not implemented |
|
|
72
|
+
| --- | --- | --- |
|
|
73
|
+
| `generic` | Neutral model invocation | Retrieval, pgvector, workers, or other specialization |
|
|
74
|
+
| `rag` | Model-only answers, configured ingestion publication, pgvector/worker extension points | Retrieval, citations, embeddings, indexing, and grounded RAG answers |
|
|
75
|
+
| `chatbot` | Single-turn model invocation | Persisted conversation history and memory |
|
|
76
|
+
| `agent` | Model invocation and worker extension points | Tool execution and task automation |
|
|
77
|
+
| `prompt` | Invocation and prompt artifacts | Loading named prompt files into the model call |
|
|
78
|
+
| `multi-agent` | Single-model invocation and worker extension points | Multi-agent coordination |
|
|
79
|
+
| `fine-tuned` | Configured-model invocation and sample evaluation dataset | Fine-tuning and evaluation execution |
|
|
80
|
+
| `streaming` | One completed model response wrapped as buffered SSE | Incremental token streaming |
|
|
81
|
+
| `workflow` | Invocation and worker extension points | Workflow stages and durable pipeline execution |
|
|
82
|
+
|
|
83
|
+
Generic's default Python `pyproject.toml` and `uv.lock` have no `pgvector`
|
|
84
|
+
dependency. Only RAG requests the pgvector database extension/image; generic
|
|
85
|
+
has no application worker. The optional Langfuse observability-profile worker
|
|
86
|
+
is not application-worker specialization. Generated Function triggers log
|
|
87
|
+
message keys rather than implementing indexing or orchestration.
|
|
88
|
+
|
|
89
|
+
See [runtime configuration](configuration-and-manifests.md#application-runtime-configuration)
|
|
90
|
+
for Python/Node dotenv, Go JSON, explicit-file validation, and native/Compose
|
|
91
|
+
recipes. No API stack inherits GenAI-only model or tracing credentials.
|
|
92
|
+
|
|
58
93
|
## API application
|
|
59
94
|
|
|
60
95
|
### Questions
|
|
@@ -81,71 +116,27 @@ Specializing it later is reviewed project migration work; `liftoff update` and
|
|
|
81
116
|
Service secrets, cloud authentication, external integrations, and deployment
|
|
82
117
|
remain explicit developer or delivery-pipeline actions.
|
|
83
118
|
|
|
84
|
-
## Power Apps
|
|
85
|
-
|
|
86
|
-
Power Apps uses an immutable, packaged snapshot of Microsoft's official
|
|
87
|
-
[`PowerAppsCodeApps/templates/starter`](https://github.com/microsoft/PowerAppsCodeApps/tree/main/templates/starter).
|
|
88
|
-
Initialization and update do not fetch the mutable upstream branch.
|
|
89
|
-
|
|
90
|
-
### Questions
|
|
91
|
-
|
|
92
|
-
- Project name.
|
|
93
|
-
- OpenSpec or Spec Kit.
|
|
94
|
-
- GitHub Copilot, Claude Code, or both.
|
|
95
|
-
- Spec Kit default agent when both are selected.
|
|
96
|
-
- Whether to request the optional Microsoft Code Apps agent plugin
|
|
97
|
-
(Preview).
|
|
98
|
-
|
|
99
|
-
Power Apps does not ask for an API stack, GenAI pattern, cloud, region, API
|
|
100
|
-
environment, API frontend, Docker, or OpenTofu selection.
|
|
101
|
-
|
|
102
|
-
### Generated output
|
|
103
|
-
|
|
104
|
-
- React, Vite, TypeScript, Tailwind, and the Power Apps SDK and Vite plugin.
|
|
105
|
-
- Locked root `package.json` and `package-lock.json`.
|
|
106
|
-
- Project-local `power-apps` CLI supplied by the generated dependency graph.
|
|
107
|
-
- `liftoff.config.json`, manifest-v7 `liftoff.manifest.json`, starter provenance,
|
|
108
|
-
and third-party attribution.
|
|
109
|
-
- Official OpenSpec or Spec Kit output and every selected agent marker.
|
|
110
|
-
- The common local governance policy and selected-agent `/liftoff-setup` integration, with backend,
|
|
111
|
-
container, OpenTofu, custom deployment, and API DAST controls marked
|
|
112
|
-
inapplicable.
|
|
113
|
-
|
|
114
|
-
Liftoff does not create an API backend, `docker-compose.yml`,
|
|
115
|
-
`infrastructure/`, API environments, or an environment-bound
|
|
116
|
-
`power.config.json` for this workload.
|
|
117
|
-
|
|
118
|
-
### Deferred actions
|
|
119
|
-
|
|
120
|
-
After initialization:
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
npm ci
|
|
124
|
-
npm run dev
|
|
125
|
-
npx --no-install power-apps --version
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
Environment binding, connector creation, authentication, and deployment remain
|
|
129
|
-
outside initialization. Follow Microsoft's current Code Apps documentation
|
|
130
|
-
before running `power-apps init` or `power-apps push`.
|
|
131
|
-
|
|
132
|
-
If the optional Code Apps plugin was requested, install only the targeted
|
|
133
|
-
plugin from an agent session:
|
|
119
|
+
## Retired Power Apps workload
|
|
134
120
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
```
|
|
121
|
+
Power Apps code apps and the Code Apps preview-plugin integration are no longer
|
|
122
|
+
supported. The retired `power-apps-code-app` type and plugin options are rejected
|
|
123
|
+
before preparation or generation.
|
|
139
124
|
|
|
140
|
-
|
|
141
|
-
|
|
125
|
+
Existing Power Apps manifests are also rejected, including by update, force,
|
|
126
|
+
doctor, and governance assessment. Liftoff does not convert the project, delete
|
|
127
|
+
application files, update its dependencies, or fall back to a different workload.
|
|
128
|
+
Existing Power Platform applications and machine-wide tooling remain under
|
|
129
|
+
their owners' control outside Liftoff.
|
|
142
130
|
|
|
143
131
|
## Change workload later
|
|
144
132
|
|
|
145
133
|
`liftoff update` maintains explicit Liftoff core files and can provision a
|
|
146
134
|
previously absent frontend or environment once after a corresponding desired
|
|
147
|
-
state edit.
|
|
148
|
-
|
|
135
|
+
state edit. New environments additionally require recorded independent-root
|
|
136
|
+
infrastructure; legacy or unknown shared-state layouts need reviewed migration.
|
|
137
|
+
It does not convert workloads, change API stacks or GenAI patterns,
|
|
138
|
+
or modernize production project templates. Retired workloads have no update or
|
|
139
|
+
automatic migration path.
|
|
149
140
|
|
|
150
141
|
Plain update applies safe core changes immediately. Use `liftoff update
|
|
151
142
|
--check` for read-only inspection. `--force` applies only to listed
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@msn-control/liftoff",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Interactive CLI for governed GenAI
|
|
3
|
+
"version": "0.11.1",
|
|
4
|
+
"description": "Interactive CLI for governed GenAI applications and APIs.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "GPL-3.0-only",
|
|
7
7
|
"homepage": "https://github.com/voyager163/liftoff#readme",
|
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
"fastify",
|
|
22
22
|
"golang",
|
|
23
23
|
"pydanticai",
|
|
24
|
-
"power-apps",
|
|
25
24
|
"opentofu",
|
|
26
25
|
"openspec",
|
|
27
26
|
"mission-control"
|
|
@@ -33,7 +32,6 @@
|
|
|
33
32
|
"dist",
|
|
34
33
|
"assets/locks",
|
|
35
34
|
"assets/governance",
|
|
36
|
-
"assets/power-apps-code-app",
|
|
37
35
|
"assets/supported-stack.json",
|
|
38
36
|
"docs",
|
|
39
37
|
"README.md",
|
|
@@ -45,18 +43,16 @@
|
|
|
45
43
|
"provenance": true
|
|
46
44
|
},
|
|
47
45
|
"scripts": {
|
|
48
|
-
"build": "tsc -p tsconfig.json",
|
|
46
|
+
"build": "node scripts/clean-build.mjs && tsc -p tsconfig.json",
|
|
49
47
|
"test": "vitest run",
|
|
50
48
|
"audit:template-dependencies": "node scripts/audit-template-dependencies.mjs",
|
|
51
49
|
"refresh:supported-stack": "node scripts/refresh-supported-stack-baseline.mjs --write",
|
|
52
50
|
"check:supported-stack": "node scripts/refresh-supported-stack-baseline.mjs",
|
|
53
51
|
"check:supported-stack-freshness": "node scripts/check-supported-stack-freshness.mjs",
|
|
54
52
|
"canonicalize:python-locks": "node scripts/canonicalize-uv-lock.mjs assets/locks/python-standard/uv.lock assets/locks/python-genai/uv.lock",
|
|
55
|
-
"refresh:power-apps-starter": "node scripts/refresh-power-apps-starter.mjs",
|
|
56
53
|
"smoke:package": "npm run build && node scripts/package-smoke-test.mjs",
|
|
57
54
|
"verify:standard-node-templates": "npm run build && node scripts/verify-standard-node-templates.mjs",
|
|
58
55
|
"verify:generated-containers": "npm run build && node scripts/verify-generated-containers.mjs",
|
|
59
|
-
"verify:power-apps-starter": "npm run build && node scripts/verify-power-apps-starter.mjs",
|
|
60
56
|
"verify:release-identity": "npm run build && node scripts/verify-release-identity.mjs",
|
|
61
57
|
"verify:published": "npm run build && node scripts/verify-published-package.mjs",
|
|
62
58
|
"check": "npm run check:supported-stack && npm run build && npm test"
|
|
@@ -74,6 +70,8 @@
|
|
|
74
70
|
"dependencies": {
|
|
75
71
|
"@inquirer/prompts": "^8.6.0",
|
|
76
72
|
"cross-spawn": "^7.0.6",
|
|
77
|
-
"picocolors": "^1.1.1"
|
|
73
|
+
"picocolors": "^1.1.1",
|
|
74
|
+
"smol-toml": "1.8.0",
|
|
75
|
+
"yaml": "^2.9.0"
|
|
78
76
|
}
|
|
79
77
|
}
|
package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/UPSTREAM_LICENSE.txt
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
Copyright (c) Microsoft Corporation.
|
|
2
|
-
|
|
3
|
-
MIT License
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|