create-relkit 0.6.0 → 0.7.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/dist/add-name.d.ts +8 -1
- package/dist/add-name.d.ts.map +1 -1
- package/dist/add-name.js +5 -1
- package/dist/add-name.js.map +1 -1
- package/dist/add-options-parser.d.ts +49 -0
- package/dist/add-options-parser.d.ts.map +1 -1
- package/dist/add-options-parser.js +52 -0
- package/dist/add-options-parser.js.map +1 -1
- package/dist/add-options-resource.d.ts +8 -0
- package/dist/add-options-resource.d.ts.map +1 -1
- package/dist/add-options-resource.js +8 -0
- package/dist/add-options-resource.js.map +1 -1
- package/dist/add-options.d.ts +6 -1
- package/dist/add-options.d.ts.map +1 -1
- package/dist/add-options.js +48 -1
- package/dist/add-options.js.map +1 -1
- package/dist/add-output.d.ts +10 -0
- package/dist/add-output.d.ts.map +1 -1
- package/dist/add-output.js +21 -0
- package/dist/add-output.js.map +1 -1
- package/dist/add-plan.d.ts +25 -0
- package/dist/add-plan.d.ts.map +1 -1
- package/dist/add-plan.js +91 -57
- package/dist/add-plan.js.map +1 -1
- package/dist/add-plan.types.d.ts +13 -0
- package/dist/add-plan.types.d.ts.map +1 -0
- package/dist/add-plan.types.js +2 -0
- package/dist/add-plan.types.js.map +1 -0
- package/dist/add-resolution-discovery.d.ts +56 -2
- package/dist/add-resolution-discovery.d.ts.map +1 -1
- package/dist/add-resolution-discovery.js +74 -10
- package/dist/add-resolution-discovery.js.map +1 -1
- package/dist/add-resolution-prompt.d.ts +46 -0
- package/dist/add-resolution-prompt.d.ts.map +1 -0
- package/dist/add-resolution-prompt.js +88 -0
- package/dist/add-resolution-prompt.js.map +1 -0
- package/dist/add-resolution-state-base.d.ts +112 -0
- package/dist/add-resolution-state-base.d.ts.map +1 -0
- package/dist/add-resolution-state-base.js +141 -0
- package/dist/add-resolution-state-base.js.map +1 -0
- package/dist/add-resolution-state.d.ts +66 -11
- package/dist/add-resolution-state.d.ts.map +1 -1
- package/dist/add-resolution-state.js +81 -69
- package/dist/add-resolution-state.js.map +1 -1
- package/dist/add-resolution-state.types.d.ts +6 -0
- package/dist/add-resolution-state.types.d.ts.map +1 -0
- package/dist/add-resolution-state.types.js +2 -0
- package/dist/add-resolution-state.types.js.map +1 -0
- package/dist/add-resolver-domain-execution.d.ts +35 -0
- package/dist/add-resolver-domain-execution.d.ts.map +1 -0
- package/dist/add-resolver-domain-execution.js +101 -0
- package/dist/add-resolver-domain-execution.js.map +1 -0
- package/dist/add-resolver-domain-input.d.ts +30 -0
- package/dist/add-resolver-domain-input.d.ts.map +1 -0
- package/dist/add-resolver-domain-input.js +83 -0
- package/dist/add-resolver-domain-input.js.map +1 -0
- package/dist/add-resolver-domain.d.ts +17 -0
- package/dist/add-resolver-domain.d.ts.map +1 -1
- package/dist/add-resolver-domain.js +36 -136
- package/dist/add-resolver-domain.js.map +1 -1
- package/dist/add-resolver-platform.d.ts +17 -0
- package/dist/add-resolver-platform.d.ts.map +1 -1
- package/dist/add-resolver-platform.js +83 -36
- package/dist/add-resolver-platform.js.map +1 -1
- package/dist/add-resolver-provider.d.ts +15 -0
- package/dist/add-resolver-provider.d.ts.map +1 -0
- package/dist/add-resolver-provider.js +67 -0
- package/dist/add-resolver-provider.js.map +1 -0
- package/dist/add-resolver-resources.d.ts +17 -0
- package/dist/add-resolver-resources.d.ts.map +1 -1
- package/dist/add-resolver-resources.js +79 -85
- package/dist/add-resolver-resources.js.map +1 -1
- package/dist/add-resolver.d.ts +33 -9
- package/dist/add-resolver.d.ts.map +1 -1
- package/dist/add-resolver.js +70 -31
- package/dist/add-resolver.js.map +1 -1
- package/dist/add-resolver.types.d.ts +27 -0
- package/dist/add-resolver.types.d.ts.map +1 -0
- package/dist/add-resolver.types.js +2 -0
- package/dist/add-resolver.types.js.map +1 -0
- package/dist/add-transaction-files-compat.d.ts +33 -0
- package/dist/add-transaction-files-compat.d.ts.map +1 -0
- package/dist/add-transaction-files-compat.js +42 -0
- package/dist/add-transaction-files-compat.js.map +1 -0
- package/dist/add-transaction-files.d.ts +49 -9
- package/dist/add-transaction-files.d.ts.map +1 -1
- package/dist/add-transaction-files.js +122 -74
- package/dist/add-transaction-files.js.map +1 -1
- package/dist/add-transaction-files.types.d.ts +7 -0
- package/dist/add-transaction-files.types.d.ts.map +1 -0
- package/dist/add-transaction-files.types.js +2 -0
- package/dist/add-transaction-files.types.js.map +1 -0
- package/dist/add-transaction-process.d.ts +37 -0
- package/dist/add-transaction-process.d.ts.map +1 -0
- package/dist/add-transaction-process.js +54 -0
- package/dist/add-transaction-process.js.map +1 -0
- package/dist/add-transaction-workflow.d.ts +23 -0
- package/dist/add-transaction-workflow.d.ts.map +1 -0
- package/dist/add-transaction-workflow.js +77 -0
- package/dist/add-transaction-workflow.js.map +1 -0
- package/dist/add-transaction.d.ts +26 -13
- package/dist/add-transaction.d.ts.map +1 -1
- package/dist/add-transaction.js +55 -105
- package/dist/add-transaction.js.map +1 -1
- package/dist/add-transaction.types.d.ts +32 -0
- package/dist/add-transaction.types.d.ts.map +1 -0
- package/dist/add-transaction.types.js +2 -0
- package/dist/add-transaction.types.js.map +1 -0
- package/dist/add-types.d.ts +56 -0
- package/dist/add-types.d.ts.map +1 -1
- package/dist/add-types.js +15 -0
- package/dist/add-types.js.map +1 -1
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +83 -0
- package/dist/bin.js.map +1 -0
- package/dist/bucket-profiles.d.ts +17 -3
- package/dist/bucket-profiles.d.ts.map +1 -1
- package/dist/bucket-profiles.js +27 -5
- package/dist/bucket-profiles.js.map +1 -1
- package/dist/bucket-profiles.types.d.ts +9 -0
- package/dist/bucket-profiles.types.d.ts.map +1 -0
- package/dist/bucket-profiles.types.js +2 -0
- package/dist/bucket-profiles.types.js.map +1 -0
- package/dist/build-catalog.d.ts +14 -0
- package/dist/build-catalog.d.ts.map +1 -0
- package/dist/build-catalog.js +70 -0
- package/dist/build-catalog.js.map +1 -0
- package/dist/catalog-resolution.d.ts +12 -0
- package/dist/catalog-resolution.d.ts.map +1 -0
- package/dist/catalog-resolution.js +43 -0
- package/dist/catalog-resolution.js.map +1 -0
- package/dist/catalog-resolution.types.d.ts +3 -0
- package/dist/catalog-resolution.types.d.ts.map +1 -0
- package/dist/catalog-resolution.types.js +2 -0
- package/dist/catalog-resolution.types.js.map +1 -0
- package/dist/create-preview.d.ts +30 -7
- package/dist/create-preview.d.ts.map +1 -1
- package/dist/create-preview.js +41 -11
- package/dist/create-preview.js.map +1 -1
- package/dist/create-preview.types.d.ts +9 -0
- package/dist/create-preview.types.d.ts.map +1 -0
- package/dist/create-preview.types.js +2 -0
- package/dist/create-preview.types.js.map +1 -0
- package/dist/create-resolver.d.ts +27 -10
- package/dist/create-resolver.d.ts.map +1 -1
- package/dist/create-resolver.js +105 -74
- package/dist/create-resolver.js.map +1 -1
- package/dist/create-resolver.types.d.ts +15 -0
- package/dist/create-resolver.types.d.ts.map +1 -0
- package/dist/create-resolver.types.js +2 -0
- package/dist/create-resolver.types.js.map +1 -0
- package/dist/dependency-patch-installation.d.ts +16 -0
- package/dist/dependency-patch-installation.d.ts.map +1 -0
- package/dist/dependency-patch-installation.js +59 -0
- package/dist/dependency-patch-installation.js.map +1 -0
- package/dist/dependency-patches.d.ts +57 -0
- package/dist/dependency-patches.d.ts.map +1 -0
- package/dist/dependency-patches.js +134 -0
- package/dist/dependency-patches.js.map +1 -0
- package/dist/dependency-patches.types.d.ts +21 -0
- package/dist/dependency-patches.types.d.ts.map +1 -0
- package/dist/dependency-patches.types.js +2 -0
- package/dist/dependency-patches.types.js.map +1 -0
- package/dist/domain-artifact.d.ts +76 -0
- package/dist/domain-artifact.d.ts.map +1 -0
- package/dist/domain-artifact.js +115 -0
- package/dist/domain-artifact.js.map +1 -0
- package/dist/domain-planning.d.ts +36 -20
- package/dist/domain-planning.d.ts.map +1 -1
- package/dist/domain-planning.js +45 -55
- package/dist/domain-planning.js.map +1 -1
- package/dist/domain-planning.types.d.ts +21 -0
- package/dist/domain-planning.types.d.ts.map +1 -0
- package/dist/domain-planning.types.js +2 -0
- package/dist/domain-planning.types.js.map +1 -0
- package/dist/generate-deployment.d.ts +18 -0
- package/dist/generate-deployment.d.ts.map +1 -0
- package/dist/generate-deployment.js +100 -0
- package/dist/generate-deployment.js.map +1 -0
- package/dist/generate-files-compat.d.ts +43 -0
- package/dist/generate-files-compat.d.ts.map +1 -0
- package/dist/generate-files-compat.js +56 -0
- package/dist/generate-files-compat.js.map +1 -0
- package/dist/generate-files-utilities.d.ts +63 -10
- package/dist/generate-files-utilities.d.ts.map +1 -1
- package/dist/generate-files-utilities.js +99 -48
- package/dist/generate-files-utilities.js.map +1 -1
- package/dist/generate-files-utilities.types.d.ts +6 -0
- package/dist/generate-files-utilities.types.d.ts.map +1 -0
- package/dist/generate-files-utilities.types.js +2 -0
- package/dist/generate-files-utilities.types.js.map +1 -0
- package/dist/generate-files.d.ts +30 -1
- package/dist/generate-files.d.ts.map +1 -1
- package/dist/generate-files.js +56 -85
- package/dist/generate-files.js.map +1 -1
- package/dist/generate-output.d.ts +14 -17
- package/dist/generate-output.d.ts.map +1 -1
- package/dist/generate-output.js +27 -0
- package/dist/generate-output.js.map +1 -1
- package/dist/generate-output.types.d.ts +21 -0
- package/dist/generate-output.types.d.ts.map +1 -0
- package/dist/generate-output.types.js +2 -0
- package/dist/generate-output.types.js.map +1 -0
- package/dist/generate-process.d.ts +60 -0
- package/dist/generate-process.d.ts.map +1 -1
- package/dist/generate-process.js +95 -31
- package/dist/generate-process.js.map +1 -1
- package/dist/generate-stage-cleanup.d.ts +17 -0
- package/dist/generate-stage-cleanup.d.ts.map +1 -0
- package/dist/generate-stage-cleanup.js +30 -0
- package/dist/generate-stage-cleanup.js.map +1 -0
- package/dist/generate-types.d.ts +36 -0
- package/dist/generate-types.d.ts.map +1 -1
- package/dist/generate-types.js +16 -0
- package/dist/generate-types.js.map +1 -1
- package/dist/generate-workflow.d.ts +31 -0
- package/dist/generate-workflow.d.ts.map +1 -0
- package/dist/generate-workflow.js +117 -0
- package/dist/generate-workflow.js.map +1 -0
- package/dist/generate.d.ts +29 -1
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +55 -97
- package/dist/generate.js.map +1 -1
- package/dist/generate.service.types.d.ts +15 -0
- package/dist/generate.service.types.d.ts.map +1 -0
- package/dist/generate.service.types.js +2 -0
- package/dist/generate.service.types.js.map +1 -0
- package/dist/generator-cleanup.d.ts +27 -0
- package/dist/generator-cleanup.d.ts.map +1 -0
- package/dist/generator-cleanup.js +64 -0
- package/dist/generator-cleanup.js.map +1 -0
- package/dist/generator-cleanup.types.d.ts +6 -0
- package/dist/generator-cleanup.types.d.ts.map +1 -0
- package/dist/generator-cleanup.types.js +2 -0
- package/dist/generator-cleanup.types.js.map +1 -0
- package/dist/generator-errors.d.ts +74 -0
- package/dist/generator-errors.d.ts.map +1 -0
- package/dist/generator-errors.js +89 -0
- package/dist/generator-errors.js.map +1 -0
- package/dist/generator-filesystem.d.ts +25 -0
- package/dist/generator-filesystem.d.ts.map +1 -0
- package/dist/generator-filesystem.js +68 -0
- package/dist/generator-filesystem.js.map +1 -0
- package/dist/generator-filesystem.types.d.ts +112 -0
- package/dist/generator-filesystem.types.d.ts.map +1 -0
- package/dist/generator-filesystem.types.js +2 -0
- package/dist/generator-filesystem.types.js.map +1 -0
- package/dist/generator-paths.d.ts +13 -0
- package/dist/generator-paths.d.ts.map +1 -0
- package/dist/generator-paths.js +45 -0
- package/dist/generator-paths.js.map +1 -0
- package/dist/generator-paths.types.d.ts +40 -0
- package/dist/generator-paths.types.d.ts.map +1 -0
- package/dist/generator-paths.types.js +2 -0
- package/dist/generator-paths.types.js.map +1 -0
- package/dist/generator-process.d.ts +25 -0
- package/dist/generator-process.d.ts.map +1 -0
- package/dist/generator-process.js +124 -0
- package/dist/generator-process.js.map +1 -0
- package/dist/generator-process.types.d.ts +27 -0
- package/dist/generator-process.types.d.ts.map +1 -0
- package/dist/generator-process.types.js +2 -0
- package/dist/generator-process.types.js.map +1 -0
- package/dist/generator-prompt.d.ts +22 -0
- package/dist/generator-prompt.d.ts.map +1 -0
- package/dist/generator-prompt.js +58 -0
- package/dist/generator-prompt.js.map +1 -0
- package/dist/generator-prompt.types.d.ts +38 -0
- package/dist/generator-prompt.types.d.ts.map +1 -0
- package/dist/generator-prompt.types.js +2 -0
- package/dist/generator-prompt.types.js.map +1 -0
- package/dist/generator-runtime.d.ts +22 -0
- package/dist/generator-runtime.d.ts.map +1 -0
- package/dist/generator-runtime.js +31 -0
- package/dist/generator-runtime.js.map +1 -0
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -79
- package/dist/index.js.map +1 -1
- package/dist/options.d.ts +50 -1
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +48 -1
- package/dist/options.js.map +1 -1
- package/dist/patches/drizzle-orm.patch +692 -0
- package/dist/plan-builder-effects.d.ts +124 -0
- package/dist/plan-builder-effects.d.ts.map +1 -0
- package/dist/plan-builder-effects.js +172 -0
- package/dist/plan-builder-effects.js.map +1 -0
- package/dist/plan-builder-files.d.ts +12 -0
- package/dist/plan-builder-files.d.ts.map +1 -0
- package/dist/plan-builder-files.js +99 -0
- package/dist/plan-builder-files.js.map +1 -0
- package/dist/plan-builder-files.types.d.ts +49 -0
- package/dist/plan-builder-files.types.d.ts.map +1 -0
- package/dist/plan-builder-files.types.js +2 -0
- package/dist/plan-builder-files.types.js.map +1 -0
- package/dist/plan-builder-manifest.d.ts +11 -0
- package/dist/plan-builder-manifest.d.ts.map +1 -0
- package/dist/plan-builder-manifest.js +37 -0
- package/dist/plan-builder-manifest.js.map +1 -0
- package/dist/plan-builder.d.ts +78 -18
- package/dist/plan-builder.d.ts.map +1 -1
- package/dist/plan-builder.js +105 -126
- package/dist/plan-builder.js.map +1 -1
- package/dist/plan-builder.types.d.ts +22 -0
- package/dist/plan-builder.types.d.ts.map +1 -0
- package/dist/plan-builder.types.js +2 -0
- package/dist/plan-builder.types.js.map +1 -0
- package/dist/plan-manifest.d.ts +16 -4
- package/dist/plan-manifest.d.ts.map +1 -1
- package/dist/plan-manifest.js +60 -3
- package/dist/plan-manifest.js.map +1 -1
- package/dist/plan-manifest.types.d.ts +13 -0
- package/dist/plan-manifest.types.d.ts.map +1 -0
- package/dist/plan-manifest.types.js +2 -0
- package/dist/plan-manifest.types.js.map +1 -0
- package/dist/project-catalog.d.ts +17 -0
- package/dist/project-catalog.d.ts.map +1 -0
- package/dist/project-catalog.js +69 -0
- package/dist/project-catalog.js.map +1 -0
- package/dist/project-discovery-app.d.ts +7 -0
- package/dist/project-discovery-app.d.ts.map +1 -1
- package/dist/project-discovery-app.js +71 -0
- package/dist/project-discovery-app.js.map +1 -1
- package/dist/project-discovery-database.d.ts +10 -0
- package/dist/project-discovery-database.d.ts.map +1 -1
- package/dist/project-discovery-database.js +18 -0
- package/dist/project-discovery-database.js.map +1 -1
- package/dist/project-discovery-facts.d.ts +13 -0
- package/dist/project-discovery-facts.d.ts.map +1 -0
- package/dist/project-discovery-facts.js +170 -0
- package/dist/project-discovery-facts.js.map +1 -0
- package/dist/project-discovery-types.d.ts +15 -0
- package/dist/project-discovery-types.d.ts.map +1 -1
- package/dist/project-discovery.d.ts +31 -1
- package/dist/project-discovery.d.ts.map +1 -1
- package/dist/project-discovery.js +51 -147
- package/dist/project-discovery.js.map +1 -1
- package/dist/project-discovery.service.types.d.ts +13 -0
- package/dist/project-discovery.service.types.d.ts.map +1 -0
- package/dist/project-discovery.service.types.js +2 -0
- package/dist/project-discovery.service.types.js.map +1 -0
- package/dist/project-manifest.schemas.d.ts +22 -0
- package/dist/project-manifest.schemas.d.ts.map +1 -0
- package/dist/project-manifest.schemas.js +22 -0
- package/dist/project-manifest.schemas.js.map +1 -0
- package/dist/prompt-driver.d.ts +7 -30
- package/dist/prompt-driver.d.ts.map +1 -1
- package/dist/prompt-driver.js +25 -4
- package/dist/prompt-driver.js.map +1 -1
- package/dist/prompt-driver.types.d.ts +92 -0
- package/dist/prompt-driver.types.d.ts.map +1 -0
- package/dist/prompt-driver.types.js +2 -0
- package/dist/prompt-driver.types.js.map +1 -0
- package/dist/provider-planning-definitions.d.ts +43 -0
- package/dist/provider-planning-definitions.d.ts.map +1 -1
- package/dist/provider-planning-definitions.js +43 -0
- package/dist/provider-planning-definitions.js.map +1 -1
- package/dist/provider-planning.d.ts +37 -7
- package/dist/provider-planning.d.ts.map +1 -1
- package/dist/provider-planning.js +69 -76
- package/dist/provider-planning.js.map +1 -1
- package/dist/provider-planning.types.d.ts +14 -0
- package/dist/provider-planning.types.d.ts.map +1 -0
- package/dist/provider-planning.types.js +2 -0
- package/dist/provider-planning.types.js.map +1 -0
- package/dist/provider-profile-definition.d.ts +45 -0
- package/dist/provider-profile-definition.d.ts.map +1 -0
- package/dist/provider-profile-definition.js +93 -0
- package/dist/provider-profile-definition.js.map +1 -0
- package/dist/render-ai-sources.d.ts +20 -0
- package/dist/render-ai-sources.d.ts.map +1 -1
- package/dist/render-ai-sources.js +21 -0
- package/dist/render-ai-sources.js.map +1 -1
- package/dist/render-ai.d.ts +49 -0
- package/dist/render-ai.d.ts.map +1 -1
- package/dist/render-ai.js +62 -12
- package/dist/render-ai.js.map +1 -1
- package/dist/render-auth-schema.d.ts +5 -0
- package/dist/render-auth-schema.d.ts.map +1 -1
- package/dist/render-auth-schema.js +8 -0
- package/dist/render-auth-schema.js.map +1 -1
- package/dist/render-auth-sources.d.ts +8 -0
- package/dist/render-auth-sources.d.ts.map +1 -1
- package/dist/render-auth-sources.js +8 -0
- package/dist/render-auth-sources.js.map +1 -1
- package/dist/render-auth.d.ts +21 -0
- package/dist/render-auth.d.ts.map +1 -1
- package/dist/render-auth.js +86 -24
- package/dist/render-auth.js.map +1 -1
- package/dist/render-database-sources.d.ts +15 -0
- package/dist/render-database-sources.d.ts.map +1 -1
- package/dist/render-database-sources.js +15 -0
- package/dist/render-database-sources.js.map +1 -1
- package/dist/render-database.d.ts +24 -0
- package/dist/render-database.d.ts.map +1 -1
- package/dist/render-database.js +37 -17
- package/dist/render-database.js.map +1 -1
- package/dist/render-domain-callables.d.ts +67 -0
- package/dist/render-domain-callables.d.ts.map +1 -0
- package/dist/render-domain-callables.js +99 -0
- package/dist/render-domain-callables.js.map +1 -0
- package/dist/render-domain-events.d.ts +59 -0
- package/dist/render-domain-events.d.ts.map +1 -0
- package/dist/render-domain-events.js +92 -0
- package/dist/render-domain-events.js.map +1 -0
- package/dist/render-domain-jobs.d.ts +56 -0
- package/dist/render-domain-jobs.d.ts.map +1 -0
- package/dist/render-domain-jobs.js +84 -0
- package/dist/render-domain-jobs.js.map +1 -0
- package/dist/render-domain-register.d.ts +18 -0
- package/dist/render-domain-register.d.ts.map +1 -1
- package/dist/render-domain-register.js +27 -7
- package/dist/render-domain-register.js.map +1 -1
- package/dist/render-domain-sources.d.ts +63 -0
- package/dist/render-domain-sources.d.ts.map +1 -1
- package/dist/render-domain-sources.js +65 -0
- package/dist/render-domain-sources.js.map +1 -1
- package/dist/render-domain.d.ts +4 -25
- package/dist/render-domain.d.ts.map +1 -1
- package/dist/render-domain.js +3 -97
- package/dist/render-domain.js.map +1 -1
- package/dist/render-domain.types.d.ts +15 -0
- package/dist/render-domain.types.d.ts.map +1 -0
- package/dist/render-domain.types.js +2 -0
- package/dist/render-domain.types.js.map +1 -0
- package/dist/render-resource-sources.d.ts +12 -0
- package/dist/render-resource-sources.d.ts.map +1 -1
- package/dist/render-resource-sources.js +12 -0
- package/dist/render-resource-sources.js.map +1 -1
- package/dist/render-resources.d.ts +47 -0
- package/dist/render-resources.d.ts.map +1 -1
- package/dist/render-resources.js +62 -15
- package/dist/render-resources.js.map +1 -1
- package/dist/render-route-sources.d.ts +19 -0
- package/dist/render-route-sources.d.ts.map +1 -1
- package/dist/render-route-sources.js +19 -0
- package/dist/render-route-sources.js.map +1 -1
- package/dist/render-routes.d.ts +57 -0
- package/dist/render-routes.d.ts.map +1 -1
- package/dist/render-routes.js +72 -10
- package/dist/render-routes.js.map +1 -1
- package/dist/render-service.d.ts +23 -1
- package/dist/render-service.d.ts.map +1 -1
- package/dist/render-service.js +65 -20
- package/dist/render-service.js.map +1 -1
- package/dist/scaffold-catalog.d.ts +7 -6
- package/dist/scaffold-catalog.d.ts.map +1 -1
- package/dist/scaffold-catalog.js +11 -5
- package/dist/scaffold-catalog.js.map +1 -1
- package/dist/scaffold-catalog.types.d.ts +11 -0
- package/dist/scaffold-catalog.types.d.ts.map +1 -0
- package/dist/scaffold-catalog.types.js +2 -0
- package/dist/scaffold-catalog.types.js.map +1 -0
- package/dist/source-edit.d.ts +38 -2
- package/dist/source-edit.d.ts.map +1 -1
- package/dist/source-edit.js +39 -94
- package/dist/source-edit.js.map +1 -1
- package/dist/source-factory-edit.d.ts +78 -0
- package/dist/source-factory-edit.d.ts.map +1 -0
- package/dist/source-factory-edit.js +156 -0
- package/dist/source-factory-edit.js.map +1 -0
- package/dist/source-import-edit.d.ts +7 -1
- package/dist/source-import-edit.d.ts.map +1 -1
- package/dist/source-import-edit.js +20 -1
- package/dist/source-import-edit.js.map +1 -1
- package/dist/template-root.d.ts +15 -4
- package/dist/template-root.d.ts.map +1 -1
- package/dist/template-root.js +22 -5
- package/dist/template-root.js.map +1 -1
- package/dist/templates/default/README.md +1 -1
- package/dist/templates/default/v1/agent/package.json +4 -4
- package/dist/templates/default/v1/api/package.json +3 -3
- package/dist/templates/default/v1/fullstack/package.json +6 -6
- package/dist/templates/default/v1/minimal/package.json +3 -3
- package/dist/templates/default/v1/tasks/package.json +3 -3
- package/dist/validate-errors.d.ts +12 -0
- package/dist/validate-errors.d.ts.map +1 -0
- package/dist/validate-errors.js +16 -0
- package/dist/validate-errors.js.map +1 -0
- package/dist/validate-paths.d.ts +43 -0
- package/dist/validate-paths.d.ts.map +1 -0
- package/dist/validate-paths.js +105 -0
- package/dist/validate-paths.js.map +1 -0
- package/dist/validate.d.ts +56 -17
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +89 -130
- package/dist/validate.js.map +1 -1
- package/dist/validate.types.d.ts +19 -0
- package/dist/validate.types.d.ts.map +1 -0
- package/dist/validate.types.js +2 -0
- package/dist/validate.types.js.map +1 -0
- package/package.json +67 -5
- package/src/catalog-resolution.ts +55 -0
- package/src/catalog-resolution.types.ts +2 -0
- package/dist/create-additions.d.ts +0 -7
- package/dist/create-additions.d.ts.map +0 -1
- package/dist/create-additions.js +0 -27
- package/dist/create-additions.js.map +0 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type NormalizedArtifactName } from "./add-name.js";
|
|
2
|
+
import type { DiscoveredService } from "./project-discovery-types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Normalized domain identity and optional service used by artifact planning.
|
|
5
|
+
*/
|
|
6
|
+
export interface DomainTarget {
|
|
7
|
+
readonly domain: NormalizedArtifactName;
|
|
8
|
+
readonly servicePath: string;
|
|
9
|
+
readonly service: DiscoveredService | undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Normalized artifact name, source path, descriptor ID, binding and export form.
|
|
13
|
+
*/
|
|
14
|
+
export interface DomainArtifact {
|
|
15
|
+
readonly name: NormalizedArtifactName;
|
|
16
|
+
readonly path: string;
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly binding: string;
|
|
19
|
+
readonly exportKind: "default" | "named";
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=domain-planning.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-planning.types.d.ts","sourceRoot":"","sources":["../src/domain-planning.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC;CAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-planning.types.js","sourceRoot":"","sources":["../src/domain-planning.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
3
|
+
import type { CreateOptions } from "./options.js";
|
|
4
|
+
/**
|
|
5
|
+
* Applies only explicit deployment and jobs flags, retaining concrete template dependency versions.
|
|
6
|
+
* @param root - Absolute project or owned resource root.
|
|
7
|
+
* @param options - Explicit options retaining existing defaults.
|
|
8
|
+
* @returns Completion after generated deployment/provider source and manifest fields match explicit flags.
|
|
9
|
+
*/
|
|
10
|
+
export declare const customizeDeploymentEffect: (root: string, options: CreateOptions) => Effect.Effect<undefined, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorDomainError, GeneratorFileSystem>;
|
|
11
|
+
/**
|
|
12
|
+
* Adjusts the tasks fixture to the selected supported jobs adapter.
|
|
13
|
+
* @param root - Absolute project or owned resource root.
|
|
14
|
+
* @param options - Explicit options retaining existing defaults.
|
|
15
|
+
* @returns Completion after task/job examples match the selected provider's supported operations.
|
|
16
|
+
*/
|
|
17
|
+
export declare const customizeTaskFixtureEffect: (root: string, options: CreateOptions) => Effect.Effect<void, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorDomainError, GeneratorFileSystem>;
|
|
18
|
+
//# sourceMappingURL=generate-deployment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-deployment.d.ts","sourceRoot":"","sources":["../src/generate-deployment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,kMA0ErC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,6LA8BtC,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { Effect, Schema } from "effect";
|
|
3
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
4
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
5
|
+
import { GenerateProjectError } from "./generate-types.js";
|
|
6
|
+
import { domainError, domainTry } from "./generator-errors.js";
|
|
7
|
+
import { TemplateManifest, JsonObject } from "./project-manifest.schemas.js";
|
|
8
|
+
import { replaceOnceEffect } from "./generate-files-utilities.js";
|
|
9
|
+
/**
|
|
10
|
+
* Applies only explicit deployment and jobs flags, retaining concrete template dependency versions.
|
|
11
|
+
* @param root - Absolute project or owned resource root.
|
|
12
|
+
* @param options - Explicit options retaining existing defaults.
|
|
13
|
+
* @returns Completion after generated deployment/provider source and manifest fields match explicit flags.
|
|
14
|
+
*/
|
|
15
|
+
export const customizeDeploymentEffect = Effect.fn("ProjectFiles.customizeDeployment")(function* (root, options) {
|
|
16
|
+
const configPath = join(root, "relkit.config.ts");
|
|
17
|
+
const imports = [
|
|
18
|
+
...(options.cloud === "aws" ? ['import "@relkit/aws";'] : []),
|
|
19
|
+
...(options.deploy === "pulumi" ? ['import "@relkit/pulumi";'] : []),
|
|
20
|
+
...(options.jobs === undefined ? [] : ['import { docker } from "@relkit/docker";']),
|
|
21
|
+
...(options.jobs === "inngest-docker" ? ['import { inngest } from "@relkit/inngest";'] : []),
|
|
22
|
+
...(options.jobs === "effect-mq-docker"
|
|
23
|
+
? ['import { effectMq } from "@relkit/effect-mq";']
|
|
24
|
+
: []),
|
|
25
|
+
...(options.jobs === "trigger-docker" ? ['import { trigger } from "@relkit/trigger";'] : []),
|
|
26
|
+
].join("\n");
|
|
27
|
+
yield* replaceOnceEffect(configPath, "// relkit:create:deployment-imports", imports);
|
|
28
|
+
yield* replaceOnceEffect(configPath, " // relkit:create:deployment", [
|
|
29
|
+
options.cloud === "aws" && options.deploy === "pulumi"
|
|
30
|
+
? ' deployment: { engine: "pulumi", host: "aws" },'
|
|
31
|
+
: "",
|
|
32
|
+
options.jobs === "inngest-docker" ? " jobs: { default: docker(inngest()) }," : "",
|
|
33
|
+
options.jobs === "effect-mq-docker" ? " jobs: { default: docker(effectMq()) }," : "",
|
|
34
|
+
options.jobs === "trigger-docker" ? " jobs: { default: docker(trigger()) }," : "",
|
|
35
|
+
options.jobs === undefined ? "" : ' defaults: { jobs: "default" },',
|
|
36
|
+
]
|
|
37
|
+
.filter(Boolean)
|
|
38
|
+
.join("\n"));
|
|
39
|
+
yield* customizeTaskFixtureEffect(root, options);
|
|
40
|
+
const manifestPath = join(root, "package.json");
|
|
41
|
+
const source = yield* (yield* GeneratorFileSystem).readText(manifestPath);
|
|
42
|
+
const fs = yield* GeneratorFileSystem;
|
|
43
|
+
const parsed = yield* domainTry(() => JSON.parse(source));
|
|
44
|
+
const decoded = yield* Schema.decodeUnknownEffect(TemplateManifest)(parsed).pipe(Effect.mapError(domainError));
|
|
45
|
+
const original = yield* Schema.decodeUnknownEffect(JsonObject)(parsed).pipe(Effect.mapError(domainError));
|
|
46
|
+
const manifest = {
|
|
47
|
+
...original,
|
|
48
|
+
...decoded,
|
|
49
|
+
dependencies: { ...decoded.dependencies },
|
|
50
|
+
scripts: { ...decoded.scripts },
|
|
51
|
+
};
|
|
52
|
+
const version = manifest.dependencies["@relkit/app"];
|
|
53
|
+
if (version === undefined)
|
|
54
|
+
return yield* Effect.fail(domainError(new GenerateProjectError("RELKIT_CREATE_TEMPLATE_INVALID", "Template has no @relkit/app dependency.")));
|
|
55
|
+
if (options.cloud === "aws")
|
|
56
|
+
manifest.dependencies["@relkit/aws"] = version;
|
|
57
|
+
if (options.deploy === "pulumi")
|
|
58
|
+
manifest.dependencies["@relkit/pulumi"] = version;
|
|
59
|
+
if (options.jobs !== undefined) {
|
|
60
|
+
manifest.dependencies["@relkit/docker"] = version;
|
|
61
|
+
manifest.dependencies["@relkit/local"] = version;
|
|
62
|
+
manifest.dependencies[`@relkit/${options.jobs.replace(/-docker$/u, "")}`] = version;
|
|
63
|
+
}
|
|
64
|
+
if (options.cloud === "aws" && options.deploy === "pulumi") {
|
|
65
|
+
manifest.scripts["deploy:preview"] = "relkit deploy preview";
|
|
66
|
+
manifest.scripts.deploy = "relkit deploy up";
|
|
67
|
+
}
|
|
68
|
+
manifest.scripts = sorted(manifest.scripts);
|
|
69
|
+
manifest.dependencies = sorted(manifest.dependencies);
|
|
70
|
+
yield* fs.write(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`);
|
|
71
|
+
yield* fs.chmod(manifestPath, 0o644);
|
|
72
|
+
}, (effect) => observeExecution("generator", "generation.deployment", effect));
|
|
73
|
+
/**
|
|
74
|
+
* Adjusts the tasks fixture to the selected supported jobs adapter.
|
|
75
|
+
* @param root - Absolute project or owned resource root.
|
|
76
|
+
* @param options - Explicit options retaining existing defaults.
|
|
77
|
+
* @returns Completion after task/job examples match the selected provider's supported operations.
|
|
78
|
+
*/
|
|
79
|
+
export const customizeTaskFixtureEffect = Effect.fn("ProjectFiles.customizeTasks")(function* (root, options) {
|
|
80
|
+
if (options.jobs === undefined || options.jobs === "inngest-docker")
|
|
81
|
+
return;
|
|
82
|
+
const taskPath = join(root, "src/orders/tasks/export-orders.task.ts");
|
|
83
|
+
const jobPath = join(root, "src/orders/jobs/export-orders.job.ts");
|
|
84
|
+
if (options.jobs === "effect-mq-docker")
|
|
85
|
+
yield* replaceOnceEffect(taskPath, 'execution: "durable"', 'execution: "retryable"');
|
|
86
|
+
yield* replaceOnceEffect(taskPath, " progress: z.object({ completed: z.number().int().nonnegative() }),\n", "");
|
|
87
|
+
yield* replaceOnceEffect(taskPath, " await context.progress.emit({ completed: 0 });\n", "");
|
|
88
|
+
yield* replaceOnceEffect(taskPath, " await context.progress.emit({ completed: orderIds.length });\n", "");
|
|
89
|
+
yield* replaceOnceEffect(jobPath, ' operations: ["trigger", "get", "list", "watch"],', ' operations: ["trigger"],');
|
|
90
|
+
yield* replaceOnceEffect(jobPath, ' fields: ["status", "progress", "output"],', ' fields: ["status", "output"],');
|
|
91
|
+
}, (effect) => observeExecution("generator", "generation.customizeTasks", effect));
|
|
92
|
+
/**
|
|
93
|
+
* Sorts owned manifest fields deterministically.
|
|
94
|
+
* @param values - Ordered declarations or argument values.
|
|
95
|
+
* @returns A new manifest string record sorted by key.
|
|
96
|
+
*/
|
|
97
|
+
function sorted(values) {
|
|
98
|
+
return Object.fromEntries(Object.entries(values).sort(([left], [right]) => left.localeCompare(right)));
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=generate-deployment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-deployment.js","sourceRoot":"","sources":["../src/generate-deployment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { StageCleanupResult } from "./generate-files-utilities.types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Preserves staging cleanup's Promise API.
|
|
4
|
+
* @param stage - Owned sibling staging directory, or undefined before acquisition.
|
|
5
|
+
* @param destination - Absolute final project destination.
|
|
6
|
+
* @returns The verified temporary-path cleanup disposition after the native attempt settles.
|
|
7
|
+
*/
|
|
8
|
+
export declare function cleanupStagedProject(stage: string | undefined, destination: string): Promise<StageCleanupResult>;
|
|
9
|
+
/**
|
|
10
|
+
* Preserves template preflight's Promise API.
|
|
11
|
+
* @param path - Path inside the current project or owned resource.
|
|
12
|
+
* @returns Completion after the existing contract has been applied.
|
|
13
|
+
*/
|
|
14
|
+
export declare function requireTemplate(path: string): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Preserves required-file preflight's Promise API.
|
|
17
|
+
* @param root - Absolute project or owned resource root.
|
|
18
|
+
* @param paths - Relative paths checked in stable order.
|
|
19
|
+
* @returns Completion after the existing contract has been applied.
|
|
20
|
+
*/
|
|
21
|
+
export declare function requireFiles(root: string, paths: readonly string[]): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Preserves exact substitution's Promise API.
|
|
24
|
+
* @param path - Path inside the current project or owned resource.
|
|
25
|
+
* @param before - Unique template marker expected in the authored source.
|
|
26
|
+
* @param after - Literal replacement for that unique marker.
|
|
27
|
+
* @returns Completion after the existing contract has been applied.
|
|
28
|
+
*/
|
|
29
|
+
export declare function replaceOnce(path: string, before: string, after: string): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Preserves example removal's Promise API.
|
|
32
|
+
* @param root - Absolute project or owned resource root.
|
|
33
|
+
* @returns Completion after the existing contract has been applied.
|
|
34
|
+
*/
|
|
35
|
+
export declare function removeExamples(root: string): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Preserves deterministic file listing's Promise API.
|
|
38
|
+
* @param root - Absolute project or owned resource root.
|
|
39
|
+
* @param current - Directory currently traversed beneath the project root.
|
|
40
|
+
* @returns Sorted project-relative file paths beneath the selected subtree.
|
|
41
|
+
*/
|
|
42
|
+
export declare function listProjectFiles(root: string, current?: string): Promise<string[]>;
|
|
43
|
+
//# sourceMappingURL=generate-files-compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-files-compat.d.ts","sourceRoot":"","sources":["../src/generate-files-compat.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEhF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { runGeneratorPromise } from "./generator-runtime.js";
|
|
2
|
+
/**
|
|
3
|
+
* Preserves staging cleanup's Promise API.
|
|
4
|
+
* @param stage - Owned sibling staging directory, or undefined before acquisition.
|
|
5
|
+
* @param destination - Absolute final project destination.
|
|
6
|
+
* @returns The verified temporary-path cleanup disposition after the native attempt settles.
|
|
7
|
+
*/
|
|
8
|
+
export function cleanupStagedProject(stage, destination) {
|
|
9
|
+
return runGeneratorPromise(cleanupStagedProjectEffect(stage, destination));
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Preserves template preflight's Promise API.
|
|
13
|
+
* @param path - Path inside the current project or owned resource.
|
|
14
|
+
* @returns Completion after the existing contract has been applied.
|
|
15
|
+
*/
|
|
16
|
+
export function requireTemplate(path) {
|
|
17
|
+
return runGeneratorPromise(requireTemplateEffect(path));
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Preserves required-file preflight's Promise API.
|
|
21
|
+
* @param root - Absolute project or owned resource root.
|
|
22
|
+
* @param paths - Relative paths checked in stable order.
|
|
23
|
+
* @returns Completion after the existing contract has been applied.
|
|
24
|
+
*/
|
|
25
|
+
export function requireFiles(root, paths) {
|
|
26
|
+
return runGeneratorPromise(requireFilesEffect(root, paths));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Preserves exact substitution's Promise API.
|
|
30
|
+
* @param path - Path inside the current project or owned resource.
|
|
31
|
+
* @param before - Unique template marker expected in the authored source.
|
|
32
|
+
* @param after - Literal replacement for that unique marker.
|
|
33
|
+
* @returns Completion after the existing contract has been applied.
|
|
34
|
+
*/
|
|
35
|
+
export function replaceOnce(path, before, after) {
|
|
36
|
+
return runGeneratorPromise(replaceOnceEffect(path, before, after));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Preserves example removal's Promise API.
|
|
40
|
+
* @param root - Absolute project or owned resource root.
|
|
41
|
+
* @returns Completion after the existing contract has been applied.
|
|
42
|
+
*/
|
|
43
|
+
export function removeExamples(root) {
|
|
44
|
+
return runGeneratorPromise(removeExamplesEffect(root));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Preserves deterministic file listing's Promise API.
|
|
48
|
+
* @param root - Absolute project or owned resource root.
|
|
49
|
+
* @param current - Directory currently traversed beneath the project root.
|
|
50
|
+
* @returns Sorted project-relative file paths beneath the selected subtree.
|
|
51
|
+
*/
|
|
52
|
+
export function listProjectFiles(root, current = root) {
|
|
53
|
+
return runGeneratorPromise(listProjectFilesEffect(root, current));
|
|
54
|
+
}
|
|
55
|
+
import { cleanupStagedProjectEffect, requireTemplateEffect, requireFilesEffect, replaceOnceEffect, removeExamplesEffect, listProjectFilesEffect, } from "./generate-files-utilities.js";
|
|
56
|
+
//# sourceMappingURL=generate-files-compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-files-compat.js","sourceRoot":"","sources":["../src/generate-files-compat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAyB,EACzB,WAAmB;IAEnB,OAAO,mBAAmB,CAAC,0BAA0B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,mBAAmB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAAwB;IACjE,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa;IACrE,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAO,GAAG,IAAI;IAC3D,OAAO,mBAAmB,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC"}
|
|
@@ -1,18 +1,71 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
3
|
+
import type { GeneratorDomainError, GeneratorIoError } from "./generator-errors.js";
|
|
4
|
+
export type { StageCleanupResult } from "./generate-files-utilities.types.js";
|
|
5
|
+
/** Canonical example-only paths removed by the existing --no-examples flag. */
|
|
1
6
|
export declare const EXAMPLE_PATH_PREFIXES: readonly ["src/routes", "src/orders", "src/echo", "src/hello/tools", "src/hello/agents", "tests"];
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export declare
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Cleans only a verified sibling staging directory owned by this generation invocation.
|
|
9
|
+
* @param stage - Owned sibling staging directory, or undefined before acquisition.
|
|
10
|
+
* @param destination - Absolute final project destination.
|
|
11
|
+
* @returns The verified temporary path and whether it was removed, retaining cleanup failures as evidence.
|
|
12
|
+
*/
|
|
13
|
+
export declare const cleanupStagedProjectEffect: (stage: string | undefined, destination: string) => Effect.Effect<{
|
|
14
|
+
temporaryPath: string;
|
|
15
|
+
removed: boolean;
|
|
16
|
+
} | {
|
|
17
|
+
removed: boolean;
|
|
18
|
+
}, never, GeneratorFileSystem>;
|
|
19
|
+
/**
|
|
20
|
+
* Requires a nonempty source template without importing or executing it.
|
|
21
|
+
* @param path - Path inside the current project or owned resource.
|
|
22
|
+
* @returns Completion when the selected template exists and contains at least one entry.
|
|
23
|
+
*/
|
|
24
|
+
export declare const requireTemplateEffect: (path: string) => Effect.Effect<undefined, GeneratorDomainError, GeneratorFileSystem>;
|
|
25
|
+
/**
|
|
26
|
+
* Checks required template files in stable order before running any installer.
|
|
27
|
+
* @param root - Absolute project or owned resource root.
|
|
28
|
+
* @param paths - Relative paths checked in stable order.
|
|
29
|
+
* @returns Completion when every required relative template file is accessible.
|
|
30
|
+
*/
|
|
31
|
+
export declare const requireFilesEffect: (root: string, paths: readonly string[]) => Effect.Effect<void, GeneratorDomainError, GeneratorFileSystem>;
|
|
32
|
+
/**
|
|
33
|
+
* Substitutes exactly one template marker and preserves the established output mode.
|
|
34
|
+
* @param path - Path inside the current project or owned resource.
|
|
35
|
+
* @param before - Unique template marker expected in the authored source.
|
|
36
|
+
* @param after - Literal replacement for that unique marker.
|
|
37
|
+
* @returns Completion after exactly one template marker is replaced and its file mode is restored.
|
|
38
|
+
*/
|
|
39
|
+
export declare const replaceOnceEffect: (path: string, before: string, after: string) => Effect.Effect<undefined, GeneratorIoError | GeneratorDomainError, GeneratorFileSystem>;
|
|
40
|
+
/**
|
|
41
|
+
* Removes only the established template examples, with ordered physical settlement.
|
|
42
|
+
* @param root - Absolute project or owned resource root.
|
|
43
|
+
* @returns Completion after the known example source directories are removed from the staged project.
|
|
44
|
+
*/
|
|
45
|
+
export declare const removeExamplesEffect: (root: string) => Effect.Effect<void, GeneratorIoError, GeneratorFileSystem>;
|
|
46
|
+
/**
|
|
47
|
+
* Lists generated source files in deterministic order, excluding generated and installed state.
|
|
48
|
+
* @param root - Absolute project or owned resource root.
|
|
49
|
+
* @param current - Directory currently traversed beneath the project root.
|
|
50
|
+
* @returns Sorted relative file paths, excluding .git, node_modules and .relkit runtime output.
|
|
51
|
+
*/
|
|
52
|
+
export declare const listProjectFilesEffect: (root: string, current?: any) => Effect.Effect<string[], GeneratorIoError | GeneratorDomainError, GeneratorFileSystem>;
|
|
53
|
+
/**
|
|
54
|
+
* Converts a package name to the existing stable RELKIT application identifier.
|
|
55
|
+
* @param name - Authored name or declaration key.
|
|
56
|
+
* @returns A safe unscoped project ID, with app as the empty-normalization fallback.
|
|
57
|
+
*/
|
|
12
58
|
export declare function projectId(name: string): string;
|
|
59
|
+
/**
|
|
60
|
+
* Compares directory names without platform locale dependence.
|
|
61
|
+
* @param left - First value in deterministic comparison.
|
|
62
|
+
* @param right - Second value in deterministic comparison.
|
|
63
|
+
* @returns Negative, zero or positive ordering using a deterministic string comparison.
|
|
64
|
+
*/
|
|
13
65
|
export declare function compareNames(left: {
|
|
14
66
|
name: string;
|
|
15
67
|
}, right: {
|
|
16
68
|
name: string;
|
|
17
69
|
}): number;
|
|
70
|
+
export { cleanupStagedProject, requireTemplate, requireFiles, replaceOnce, removeExamples, listProjectFiles, } from "./generate-files-compat.js";
|
|
18
71
|
//# sourceMappingURL=generate-files-utilities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-files-utilities.d.ts","sourceRoot":"","sources":["../src/generate-files-utilities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-files-utilities.d.ts","sourceRoot":"","sources":["../src/generate-files-utilities.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAC;AAMtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAMpF,YAAY,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,mGAOxB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B;;;;;8BA2BtC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,uFAyBjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,4GAmB9B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,yIAkB7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,8EAQhC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,wHAiBlC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEpF;AAED,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,gBAAgB,GACjB,MAAM,4BAA4B,CAAC"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { access, chmod, lstat, readdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
2
1
|
import { basename, dirname, join, relative, resolve } from "node:path";
|
|
2
|
+
import { Effect, Exit } from "effect";
|
|
3
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
3
4
|
import { GenerateProjectError } from "./generate-types.js";
|
|
5
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
6
|
+
import { domainError } from "./generator-errors.js";
|
|
7
|
+
import { recordCleanupFailure } from "./generator-cleanup.js";
|
|
8
|
+
/** Canonical example-only paths removed by the existing --no-examples flag. */
|
|
4
9
|
export const EXAMPLE_PATH_PREFIXES = [
|
|
5
10
|
"src/routes",
|
|
6
11
|
"src/orders",
|
|
@@ -9,7 +14,13 @@ export const EXAMPLE_PATH_PREFIXES = [
|
|
|
9
14
|
"src/hello/agents",
|
|
10
15
|
"tests",
|
|
11
16
|
];
|
|
12
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Cleans only a verified sibling staging directory owned by this generation invocation.
|
|
19
|
+
* @param stage - Owned sibling staging directory, or undefined before acquisition.
|
|
20
|
+
* @param destination - Absolute final project destination.
|
|
21
|
+
* @returns The verified temporary path and whether it was removed, retaining cleanup failures as evidence.
|
|
22
|
+
*/
|
|
23
|
+
export const cleanupStagedProjectEffect = Effect.fn("ProjectFiles.cleanupStage")(function* (stage, destination) {
|
|
13
24
|
if (stage === undefined)
|
|
14
25
|
return { removed: false };
|
|
15
26
|
const temporaryPath = resolve(stage);
|
|
@@ -17,63 +28,96 @@ export async function cleanupStagedProject(stage, destination) {
|
|
|
17
28
|
const prefix = `.${basename(destination)}-relkit-`;
|
|
18
29
|
if (dirname(temporaryPath) !== parent || !basename(temporaryPath).startsWith(prefix))
|
|
19
30
|
return { removed: false };
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
31
|
+
const fs = yield* GeneratorFileSystem;
|
|
32
|
+
const cleanup = yield* Effect.gen(function* () {
|
|
33
|
+
const info = yield* fs.metadata(temporaryPath);
|
|
34
|
+
if (info === undefined)
|
|
35
|
+
return { temporaryPath, removed: true };
|
|
36
|
+
if (info.kind !== "directory")
|
|
23
37
|
return { temporaryPath, removed: false };
|
|
24
|
-
|
|
38
|
+
yield* fs.remove(temporaryPath, { recursive: true, force: true });
|
|
25
39
|
return { temporaryPath, removed: true };
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
40
|
+
}).pipe(Effect.catch((cause) => Effect.gen(function* () {
|
|
41
|
+
const result = { temporaryPath, removed: false };
|
|
42
|
+
yield* recordCleanupFailure(Exit.succeed(result), "stage", cause);
|
|
43
|
+
return result;
|
|
44
|
+
})));
|
|
45
|
+
return cleanup;
|
|
46
|
+
}, (effect) => observeExecution("generator", "generation.cleanupStage", effect));
|
|
47
|
+
/**
|
|
48
|
+
* Requires a nonempty source template without importing or executing it.
|
|
49
|
+
* @param path - Path inside the current project or owned resource.
|
|
50
|
+
* @returns Completion when the selected template exists and contains at least one entry.
|
|
51
|
+
*/
|
|
52
|
+
export const requireTemplateEffect = Effect.fn("ProjectFiles.requireTemplate")(function* (path) {
|
|
53
|
+
const entries = yield* (yield* GeneratorFileSystem)
|
|
54
|
+
.entries(path)
|
|
55
|
+
.pipe(Effect.mapError(() => domainError(new GenerateProjectError("RELKIT_CREATE_TEMPLATE_MISSING", "Selected template is missing."))));
|
|
56
|
+
if (entries.length === 0)
|
|
57
|
+
return yield* Effect.fail(domainError(new GenerateProjectError("RELKIT_CREATE_TEMPLATE_MISSING", "Selected template is missing.")));
|
|
58
|
+
}, (effect) => observeExecution("generator", "generation.requireTemplate", effect));
|
|
59
|
+
/**
|
|
60
|
+
* Checks required template files in stable order before running any installer.
|
|
61
|
+
* @param root - Absolute project or owned resource root.
|
|
62
|
+
* @param paths - Relative paths checked in stable order.
|
|
63
|
+
* @returns Completion when every required relative template file is accessible.
|
|
64
|
+
*/
|
|
65
|
+
export const requireFilesEffect = Effect.fn("ProjectFiles.requireFiles")(function* (root, paths) {
|
|
66
|
+
const fs = yield* GeneratorFileSystem;
|
|
67
|
+
yield* Effect.forEach(paths, (path) => fs
|
|
68
|
+
.access(join(root, path))
|
|
69
|
+
.pipe(Effect.mapError(() => domainError(new GenerateProjectError("RELKIT_CREATE_TEMPLATE_INVALID", `Template file is missing: ${path}`)))));
|
|
70
|
+
}, (effect) => observeExecution("generator", "generation.requireFiles", effect));
|
|
71
|
+
/**
|
|
72
|
+
* Substitutes exactly one template marker and preserves the established output mode.
|
|
73
|
+
* @param path - Path inside the current project or owned resource.
|
|
74
|
+
* @param before - Unique template marker expected in the authored source.
|
|
75
|
+
* @param after - Literal replacement for that unique marker.
|
|
76
|
+
* @returns Completion after exactly one template marker is replaced and its file mode is restored.
|
|
77
|
+
*/
|
|
78
|
+
export const replaceOnceEffect = Effect.fn("ProjectFiles.replaceOnce")(function* (path, before, after) {
|
|
79
|
+
const fs = yield* GeneratorFileSystem;
|
|
80
|
+
const content = yield* fs.readText(path);
|
|
54
81
|
const first = content.indexOf(before);
|
|
55
82
|
if (first < 0 || first !== content.lastIndexOf(before))
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
83
|
+
return yield* Effect.fail(domainError(new GenerateProjectError("RELKIT_CREATE_TEMPLATE_INVALID", `Template substitution is unavailable: ${path}`)));
|
|
84
|
+
yield* fs.write(path, content.slice(0, first) + after + content.slice(first + before.length));
|
|
85
|
+
yield* fs.chmod(path, 0o644);
|
|
86
|
+
}, (effect) => observeExecution("generator", "generation.replaceOnce", effect));
|
|
87
|
+
/**
|
|
88
|
+
* Removes only the established template examples, with ordered physical settlement.
|
|
89
|
+
* @param root - Absolute project or owned resource root.
|
|
90
|
+
* @returns Completion after the known example source directories are removed from the staged project.
|
|
91
|
+
*/
|
|
92
|
+
export const removeExamplesEffect = Effect.fn("ProjectFiles.removeExamples")(function* (root) {
|
|
93
|
+
const fs = yield* GeneratorFileSystem;
|
|
94
|
+
yield* Effect.forEach(EXAMPLE_PATH_PREFIXES, (directory) => fs.remove(join(root, directory), { recursive: true, force: true }));
|
|
95
|
+
}, (effect) => observeExecution("generator", "generation.removeExamples", effect));
|
|
96
|
+
/**
|
|
97
|
+
* Lists generated source files in deterministic order, excluding generated and installed state.
|
|
98
|
+
* @param root - Absolute project or owned resource root.
|
|
99
|
+
* @param current - Directory currently traversed beneath the project root.
|
|
100
|
+
* @returns Sorted relative file paths, excluding .git, node_modules and .relkit runtime output.
|
|
101
|
+
*/
|
|
102
|
+
export const listProjectFilesEffect = Effect.fn("ProjectFiles.list")(function* (root, current = root) {
|
|
103
|
+
const fs = yield* GeneratorFileSystem;
|
|
65
104
|
const result = [];
|
|
66
|
-
for (const entry of (
|
|
105
|
+
for (const entry of [...(yield* fs.entries(current))].sort(compareNames)) {
|
|
67
106
|
if (entry.name === ".git" || entry.name === "node_modules" || entry.name === ".relkit")
|
|
68
107
|
continue;
|
|
69
108
|
const path = join(current, entry.name);
|
|
70
|
-
if (entry.
|
|
71
|
-
result.push(...(
|
|
72
|
-
else if (entry.
|
|
109
|
+
if (entry.kind === "directory")
|
|
110
|
+
result.push(...(yield* listProjectFilesEffect(root, path)));
|
|
111
|
+
else if (entry.kind === "file")
|
|
73
112
|
result.push(relative(root, path).replaceAll("\\", "/"));
|
|
74
113
|
}
|
|
75
114
|
return result;
|
|
76
|
-
}
|
|
115
|
+
}, (effect) => observeExecution("generator", "generation.list", effect));
|
|
116
|
+
/**
|
|
117
|
+
* Converts a package name to the existing stable RELKIT application identifier.
|
|
118
|
+
* @param name - Authored name or declaration key.
|
|
119
|
+
* @returns A safe unscoped project ID, with app as the empty-normalization fallback.
|
|
120
|
+
*/
|
|
77
121
|
export function projectId(name) {
|
|
78
122
|
const value = name
|
|
79
123
|
.replace(/^@/, "")
|
|
@@ -81,7 +125,14 @@ export function projectId(name) {
|
|
|
81
125
|
.replace(/[^A-Za-z0-9._-]+/g, "-");
|
|
82
126
|
return value.replace(/^[._-]+/, "").replace(/(?<![._-])[._-]+$/, "") || "app";
|
|
83
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Compares directory names without platform locale dependence.
|
|
130
|
+
* @param left - First value in deterministic comparison.
|
|
131
|
+
* @param right - Second value in deterministic comparison.
|
|
132
|
+
* @returns Negative, zero or positive ordering using a deterministic string comparison.
|
|
133
|
+
*/
|
|
84
134
|
export function compareNames(left, right) {
|
|
85
135
|
return left.name < right.name ? -1 : left.name > right.name ? 1 : 0;
|
|
86
136
|
}
|
|
137
|
+
export { cleanupStagedProject, requireTemplate, requireFiles, replaceOnce, removeExamples, listProjectFiles, } from "./generate-files-compat.js";
|
|
87
138
|
//# sourceMappingURL=generate-files-utilities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-files-utilities.js","sourceRoot":"","sources":["../src/generate-files-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generate-files-utilities.js","sourceRoot":"","sources":["../src/generate-files-utilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-files-utilities.types.d.ts","sourceRoot":"","sources":["../src/generate-files-utilities.types.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-files-utilities.types.js","sourceRoot":"","sources":["../src/generate-files-utilities.types.ts"],"names":[],"mappings":""}
|