create-relkit 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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
package/dist/render-auth.js
CHANGED
|
@@ -1,14 +1,28 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
3
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
4
|
+
import { scaffoldErrors, } from "./generator-errors.js";
|
|
5
|
+
import { runGeneratorPromise } from "./generator-runtime.js";
|
|
1
6
|
import { dirname, posix } from "node:path";
|
|
2
7
|
import { routePathToFilePath } from "@relkit/compiler";
|
|
3
8
|
import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
|
|
4
9
|
import { PlanBuilder } from "./plan-builder.js";
|
|
5
|
-
import {
|
|
10
|
+
import { ensureEnvironmentEffect } from "./provider-planning.js";
|
|
6
11
|
import { authSchemaSource } from "./render-auth-schema.js";
|
|
7
12
|
import { authRouteSource, authServiceSource } from "./render-auth-sources.js";
|
|
8
|
-
import {
|
|
13
|
+
import { renderDatabaseEffect } from "./render-database.js";
|
|
9
14
|
import { addSourceExport } from "./source-edit.js";
|
|
15
|
+
/**
|
|
16
|
+
* Authentication table names reserved by the generated schema.
|
|
17
|
+
*/
|
|
10
18
|
const AUTH_TABLES = ["user", "session", "account", "verification"];
|
|
11
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Plans auth through the owning request and typed filesystem authority.
|
|
21
|
+
* @param builder - Per-request planning owner.
|
|
22
|
+
* @param request - Normalized scaffold request.
|
|
23
|
+
* @returns Completion after auth service, schema, routes and dependencies are planned.
|
|
24
|
+
*/
|
|
25
|
+
export const renderAuthEffect = Effect.fn("Scaffold.renderAuth")(function* (builder, request) {
|
|
12
26
|
if (builder.discovery.services.some((service) => service.capability === "auth")) {
|
|
13
27
|
collision("An auth service already exists.");
|
|
14
28
|
}
|
|
@@ -18,7 +32,7 @@ export async function renderAuth(builder, request) {
|
|
|
18
32
|
collision("Multiple database services exist.");
|
|
19
33
|
const database = existing[0]
|
|
20
34
|
? existingDatabase(existing[0], request.databaseDialect)
|
|
21
|
-
:
|
|
35
|
+
: yield* renderDatabaseEffect(builder, {
|
|
22
36
|
kind: "database",
|
|
23
37
|
projectRoot: builder.discovery.projectRoot,
|
|
24
38
|
install: request.install,
|
|
@@ -27,37 +41,56 @@ export async function renderAuth(builder, request) {
|
|
|
27
41
|
authSchema: true,
|
|
28
42
|
});
|
|
29
43
|
if (existing[0])
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
builder.
|
|
34
|
-
builder.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
builder.
|
|
38
|
-
builder.
|
|
39
|
-
builder.
|
|
44
|
+
yield* addAuthSchemaEffect(builder, database);
|
|
45
|
+
yield* builder.createEffect("src/auth/service.ts", authServiceSource());
|
|
46
|
+
yield* builder.createEffect(routePathToFilePath(`${request.basePath}/*auth?`), authRouteSource());
|
|
47
|
+
yield* builder.dependencyEffect("@relkit/better-auth");
|
|
48
|
+
yield* builder.dependencyEffect("better-auth");
|
|
49
|
+
yield* ensureEnvironmentEffect(builder, "BETTER_AUTH_SECRET", "env.secret()");
|
|
50
|
+
yield* ensureEnvironmentEffect(builder, "BETTER_AUTH_URL", `env.url().default(new URL("http://127.0.0.1:3000"))`, "http://127.0.0.1:3000");
|
|
51
|
+
yield* builder.warningEffect("auth-secret-required", "Populate BETTER_AUTH_SECRET with a strong secret before starting auth.");
|
|
52
|
+
yield* builder.nextStepEffect("Set BETTER_AUTH_SECRET in your environment.");
|
|
53
|
+
yield* builder.registerArtifactEffect("service", {
|
|
40
54
|
domain: "auth",
|
|
41
55
|
path: "src/auth/service.ts",
|
|
42
56
|
binding: "auth",
|
|
43
57
|
id: "auth",
|
|
44
58
|
});
|
|
45
|
-
}
|
|
46
|
-
|
|
59
|
+
}, (effect) => observeExecution("generator", "planning.renderAuth", scaffoldErrors(effect)));
|
|
60
|
+
/**
|
|
61
|
+
* Plans add auth schema through the owning request and typed filesystem authority.
|
|
62
|
+
* @param builder - Per-request planning owner.
|
|
63
|
+
* @param database - Validated database dialect and service/schema source paths.
|
|
64
|
+
* @returns Completion after collision checks and auth schema/index exports are planned.
|
|
65
|
+
*/
|
|
66
|
+
const addAuthSchemaEffect = Effect.fn("Scaffold.addAuthSchema")(function* (builder, database) {
|
|
47
67
|
const directory = dirname(database.schemaPath).replaceAll("\\", "/");
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
68
|
+
yield* assertNoAuthTablesEffect(builder.discovery.projectRoot, directory);
|
|
69
|
+
yield* builder.createEffect(`${directory}/auth.ts`, authSchemaSource(database.dialect));
|
|
70
|
+
yield* builder.updateEffect(database.schemaPath, (source) => addSourceExport(source, database.schemaPath, `export * from "./auth.js";`));
|
|
71
|
+
}, (effect) => observeExecution("generator", "planning.addAuthSchema", scaffoldErrors(effect)));
|
|
72
|
+
/**
|
|
73
|
+
* Plans assert no auth tables through the owning request and typed filesystem authority.
|
|
74
|
+
* @param root - Absolute project or owned resource root.
|
|
75
|
+
* @param directory - Project-relative schema directory inspected for existing auth tables.
|
|
76
|
+
* @returns Completion when no supported auth table already exists in the schema directory.
|
|
77
|
+
*/
|
|
78
|
+
const assertNoAuthTablesEffect = Effect.fn("Scaffold.assertNoAuthTables")(function* (root, directory) {
|
|
79
|
+
const fs = yield* GeneratorFileSystem;
|
|
80
|
+
const files = yield* fs.glob(posix.join(root, directory), "**/*.ts");
|
|
54
81
|
for (const file of files) {
|
|
55
|
-
const source =
|
|
82
|
+
const source = yield* fs.readText(posix.join(root, directory, file));
|
|
56
83
|
if (AUTH_TABLES.some((name) => new RegExp(`\\bexport\\s+const\\s+${name}\\b`).test(source))) {
|
|
57
84
|
collision(`The database schema already exports Better Auth table names (${file}).`);
|
|
58
85
|
}
|
|
59
86
|
}
|
|
60
|
-
}
|
|
87
|
+
}, (effect) => observeExecution("generator", "planning.assertNoAuthTables", scaffoldErrors(effect)));
|
|
88
|
+
/**
|
|
89
|
+
* Checks a discovered database's static schema and dialect before auth planning.
|
|
90
|
+
* @param service - Discovered database service.
|
|
91
|
+
* @param requested - Dialect required by the requested authentication adapter.
|
|
92
|
+
* @returns Existing service/schema paths and its matching dialect.
|
|
93
|
+
*/
|
|
61
94
|
function existingDatabase(service, requested) {
|
|
62
95
|
if (!service.dialect || !service.schemaPath) {
|
|
63
96
|
unsupported("The existing database service has no statically discoverable dialect or schema import.");
|
|
@@ -67,18 +100,47 @@ function existingDatabase(service, requested) {
|
|
|
67
100
|
}
|
|
68
101
|
return { dialect: service.dialect, servicePath: service.path, schemaPath: service.schemaPath };
|
|
69
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Requires a non-root static URL path for authentication routes.
|
|
105
|
+
* @param value - Requested auth base path.
|
|
106
|
+
* @returns Completion for a supported path; invalid paths raise a usage error.
|
|
107
|
+
*/
|
|
70
108
|
function validateBasePath(value) {
|
|
71
109
|
if (!/^\/(?:[A-Za-z0-9._~-]+(?:\/[A-Za-z0-9._~-]+)*)?$/.test(value) || value === "/") {
|
|
72
110
|
usage(`Invalid auth base path: ${value}`);
|
|
73
111
|
}
|
|
74
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Rejects an existing declaration that conflicts with planned output.
|
|
115
|
+
* @param message - Diagnostic explaining the conflicting declaration.
|
|
116
|
+
* @returns No value; throws AddScaffoldError with RELKIT_ADD_COLLISION.
|
|
117
|
+
*/
|
|
75
118
|
function collision(message) {
|
|
76
119
|
throw new AddScaffoldError(ADD_FAILURE_CODES.collision, message);
|
|
77
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Rejects source that cannot be edited safely.
|
|
123
|
+
* @param message - Diagnostic explaining the unsupported source shape.
|
|
124
|
+
* @returns No value; throws the canonical unsupported-source AddScaffoldError.
|
|
125
|
+
*/
|
|
78
126
|
function unsupported(message) {
|
|
79
127
|
throw new AddScaffoldError(ADD_FAILURE_CODES.unsupportedSourceShape, message);
|
|
80
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Rejects unsupported or incomplete scaffold arguments.
|
|
131
|
+
* @param message - Diagnostic explaining the unsupported arguments.
|
|
132
|
+
* @returns No value; throws AddScaffoldError with RELKIT_ADD_USAGE.
|
|
133
|
+
*/
|
|
81
134
|
function usage(message) {
|
|
82
135
|
throw new AddScaffoldError(ADD_FAILURE_CODES.usage, message);
|
|
83
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Preserves the renderAuth Promise compatibility API.
|
|
139
|
+
* @param builder - Per-request planning owner.
|
|
140
|
+
* @param request - Normalized scaffold request.
|
|
141
|
+
* @returns Completion after the existing contract has been applied.
|
|
142
|
+
*/
|
|
143
|
+
export function renderAuth(builder, request) {
|
|
144
|
+
return runGeneratorPromise(renderAuthEffect(builder, request));
|
|
145
|
+
}
|
|
84
146
|
//# sourceMappingURL=render-auth.js.map
|
package/dist/render-auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-auth.js","sourceRoot":"","sources":["../src/render-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"render-auth.js","sourceRoot":"","sources":["../src/render-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import type { DatabaseDialect } from "./add-types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Renders database Service Source as source text without executing user modules.
|
|
4
|
+
* @param dialect - Supported database dialect.
|
|
5
|
+
* @returns TypeScript declaring the selected Drizzle database service and connection factory.
|
|
6
|
+
*/
|
|
2
7
|
export declare function databaseServiceSource(dialect: DatabaseDialect): string;
|
|
8
|
+
/**
|
|
9
|
+
* Renders items Schema Source as source text without executing user modules.
|
|
10
|
+
* @param dialect - Supported database dialect.
|
|
11
|
+
* @returns Drizzle TypeScript schema source for the example items table.
|
|
12
|
+
*/
|
|
3
13
|
export declare function itemsSchemaSource(dialect: DatabaseDialect): string;
|
|
14
|
+
/**
|
|
15
|
+
* Renders drizzle Config Source as source text without executing user modules.
|
|
16
|
+
* @param dialect - Supported database dialect.
|
|
17
|
+
* @returns Drizzle Kit configuration source using the dialect's explicit environment connection.
|
|
18
|
+
*/
|
|
4
19
|
export declare function drizzleConfigSource(dialect: DatabaseDialect): string;
|
|
5
20
|
//# sourceMappingURL=render-database-sources.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-database-sources.d.ts","sourceRoot":"","sources":["../src/render-database-sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAiBtE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CA0BlE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAkBpE"}
|
|
1
|
+
{"version":3,"file":"render-database-sources.d.ts","sourceRoot":"","sources":["../src/render-database-sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAiBtE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CA0BlE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAkBpE"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Renders database Service Source as source text without executing user modules.
|
|
3
|
+
* @param dialect - Supported database dialect.
|
|
4
|
+
* @returns TypeScript declaring the selected Drizzle database service and connection factory.
|
|
5
|
+
*/
|
|
1
6
|
export function databaseServiceSource(dialect) {
|
|
2
7
|
const sqlite = dialect === "sqlite";
|
|
3
8
|
const client = sqlite
|
|
@@ -16,6 +21,11 @@ export default defineDrizzleService({
|
|
|
16
21
|
});
|
|
17
22
|
`;
|
|
18
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Renders items Schema Source as source text without executing user modules.
|
|
26
|
+
* @param dialect - Supported database dialect.
|
|
27
|
+
* @returns Drizzle TypeScript schema source for the example items table.
|
|
28
|
+
*/
|
|
19
29
|
export function itemsSchemaSource(dialect) {
|
|
20
30
|
if (dialect === "sqlite") {
|
|
21
31
|
return `import { integer, sqliteTable, text } from "drizzle-orm/sqlite-core";
|
|
@@ -43,6 +53,11 @@ export const items = mysqlTable("items", {
|
|
|
43
53
|
});
|
|
44
54
|
`;
|
|
45
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Renders drizzle Config Source as source text without executing user modules.
|
|
58
|
+
* @param dialect - Supported database dialect.
|
|
59
|
+
* @returns Drizzle Kit configuration source using the dialect's explicit environment connection.
|
|
60
|
+
*/
|
|
46
61
|
export function drizzleConfigSource(dialect) {
|
|
47
62
|
const variable = dialect === "sqlite" ? "DATABASE_PATH" : "DATABASE_URL";
|
|
48
63
|
const value = dialect === "sqlite" ? "path" : "url";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-database-sources.js","sourceRoot":"","sources":["../src/render-database-sources.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,OAAwB;IAC5D,MAAM,MAAM,GAAG,OAAO,KAAK,QAAQ,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM;QACnB,CAAC,CAAC,0FAA0F;QAC5F,CAAC,CAAC,iHAAiH,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC;IAC7K,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,EAAE;uCAC7B,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;;;;;;MAMlE,MAAM;;;;CAIX,CAAC;AACF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAwB;IACxD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO;;;;;;CAMV,CAAC;IACA,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO;;;;;;CAMV,CAAC;IACA,CAAC;IACD,OAAO;;;;;;CAMR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAwB;IAC1D,MAAM,QAAQ,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;IACzE,MAAM,KAAK,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO;;QAED,KAAK,kBAAkB,QAAQ;MACjC,KAAK,qBAAqB,KAAK,iBAAiB,OAAO;yBACpC,QAAQ;;;;;cAKnB,OAAO;;0BAEK,KAAK;;CAE9B,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"render-database-sources.js","sourceRoot":"","sources":["../src/render-database-sources.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAwB;IAC5D,MAAM,MAAM,GAAG,OAAO,KAAK,QAAQ,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM;QACnB,CAAC,CAAC,0FAA0F;QAC5F,CAAC,CAAC,iHAAiH,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC;IAC7K,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,EAAE;uCAC7B,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;;;;;;MAMlE,MAAM;;;;CAIX,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAwB;IACxD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO;;;;;;CAMV,CAAC;IACA,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO;;;;;;CAMV,CAAC;IACA,CAAC;IACD,OAAO;;;;;;CAMR,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAwB;IAC1D,MAAM,QAAQ,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;IACzE,MAAM,KAAK,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO;;QAED,KAAK,kBAAkB,QAAQ;MACjC,KAAK,qBAAqB,KAAK,iBAAiB,OAAO;yBACpC,QAAQ;;;;;cAKnB,OAAO;;0BAEK,KAAK;;CAE9B,CAAC;AACF,CAAC"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
3
|
+
import { type GeneratorDomainError, type GeneratorIoError } from "./generator-errors.js";
|
|
1
4
|
import { type AddRequest } from "./add-types.js";
|
|
2
5
|
import { PlanBuilder } from "./plan-builder.js";
|
|
6
|
+
/**
|
|
7
|
+
* Validated database dialect and planned/discovered service and schema paths.
|
|
8
|
+
*/
|
|
3
9
|
export interface RenderedDatabase {
|
|
4
10
|
readonly dialect: Extract<AddRequest, {
|
|
5
11
|
kind: "database";
|
|
@@ -7,6 +13,24 @@ export interface RenderedDatabase {
|
|
|
7
13
|
readonly servicePath: string;
|
|
8
14
|
readonly schemaPath: string;
|
|
9
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Plans database through the owning request and typed filesystem authority.
|
|
18
|
+
* @param builder - Per-request planning owner.
|
|
19
|
+
* @param request - Normalized scaffold request.
|
|
20
|
+
* @returns The matched or planned database dialect, service path and schema path.
|
|
21
|
+
*/
|
|
22
|
+
export declare const renderDatabaseEffect: (builder: PlanBuilder, request: import("./add-types.js").AddRequestBase & {
|
|
23
|
+
readonly kind: "database";
|
|
24
|
+
readonly orm: "drizzle";
|
|
25
|
+
readonly dialect: import("./add-types.js").DatabaseDialect;
|
|
26
|
+
readonly authSchema?: boolean;
|
|
27
|
+
}) => Effect.Effect<RenderedDatabase, GeneratorIoError | GeneratorDomainError, GeneratorFileSystem>;
|
|
28
|
+
/**
|
|
29
|
+
* Preserves the renderDatabase Promise compatibility API.
|
|
30
|
+
* @param builder - Per-request planning owner.
|
|
31
|
+
* @param request - Normalized scaffold request.
|
|
32
|
+
* @returns The matched or planned database dialect, service path and schema path.
|
|
33
|
+
*/
|
|
10
34
|
export declare function renderDatabase(builder: PlanBuilder, request: Extract<AddRequest, {
|
|
11
35
|
kind: "database";
|
|
12
36
|
}>): Promise<RenderedDatabase>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-database.d.ts","sourceRoot":"","sources":["../src/render-database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAShD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IACvE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,
|
|
1
|
+
{"version":3,"file":"render-database.d.ts","sourceRoot":"","sources":["../src/render-database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAShD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IACvE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;mGAqDhC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,GACjD,OAAO,CAAC,gBAAgB,CAAC,CAE3B"}
|
package/dist/render-database.js
CHANGED
|
@@ -1,40 +1,60 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
3
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
4
|
+
import { scaffoldErrors, } from "./generator-errors.js";
|
|
5
|
+
import { runGeneratorPromise } from "./generator-runtime.js";
|
|
1
6
|
import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
|
|
2
7
|
import { PlanBuilder } from "./plan-builder.js";
|
|
3
|
-
import {
|
|
8
|
+
import { ensureEnvironmentEffect } from "./provider-planning.js";
|
|
4
9
|
import { authSchemaSource } from "./render-auth-schema.js";
|
|
5
10
|
import { databaseServiceSource, drizzleConfigSource, itemsSchemaSource, } from "./render-database-sources.js";
|
|
6
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Plans database through the owning request and typed filesystem authority.
|
|
13
|
+
* @param builder - Per-request planning owner.
|
|
14
|
+
* @param request - Normalized scaffold request.
|
|
15
|
+
* @returns The matched or planned database dialect, service path and schema path.
|
|
16
|
+
*/
|
|
17
|
+
export const renderDatabaseEffect = Effect.fn("Scaffold.renderDatabase")(function* (builder, request) {
|
|
7
18
|
if (builder.discovery.services.some((service) => service.capability === "database")) {
|
|
8
19
|
throw new AddScaffoldError(ADD_FAILURE_CODES.collision, "A database service already exists.");
|
|
9
20
|
}
|
|
10
21
|
const servicePath = "src/database/service.ts";
|
|
11
22
|
const schemaPath = "src/database/schema/index.ts";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
23
|
+
yield* builder.createEffect(servicePath, databaseServiceSource(request.dialect));
|
|
24
|
+
yield* builder.createEffect(schemaPath, request.authSchema ? authSchemaSource(request.dialect) : itemsSchemaSource(request.dialect));
|
|
25
|
+
yield* builder.createEffect("drizzle.config.ts", drizzleConfigSource(request.dialect));
|
|
15
26
|
for (const dependency of ["@relkit/drizzle", "drizzle-orm", "drizzle-kit"]) {
|
|
16
|
-
builder.
|
|
27
|
+
yield* builder.dependencyEffect(dependency);
|
|
17
28
|
}
|
|
18
|
-
builder.
|
|
19
|
-
builder.
|
|
20
|
-
|
|
29
|
+
yield* builder.scriptEffect("db:generate", "bun --bun drizzle-kit generate");
|
|
30
|
+
yield* builder.scriptEffect("db:migrate", "bun --bun drizzle-kit migrate");
|
|
31
|
+
yield* builder.gitignoreEffect("/drizzle/");
|
|
21
32
|
if (request.dialect === "sqlite") {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
33
|
+
yield* ensureEnvironmentEffect(builder, "DATABASE_PATH", `env.string().default("./app.sqlite")`, "./app.sqlite");
|
|
34
|
+
yield* builder.gitignoreEffect("*.sqlite");
|
|
35
|
+
yield* builder.gitignoreEffect("*.sqlite-*");
|
|
25
36
|
}
|
|
26
37
|
else {
|
|
27
|
-
|
|
28
|
-
builder.
|
|
38
|
+
yield* ensureEnvironmentEffect(builder, "DATABASE_URL", "env.string()");
|
|
39
|
+
yield* builder.warningEffect("database-url-required", "Populate DATABASE_URL before starting the database service.");
|
|
29
40
|
}
|
|
30
|
-
builder.
|
|
31
|
-
builder.
|
|
32
|
-
builder.
|
|
41
|
+
yield* builder.nextStepEffect("bun run db:generate");
|
|
42
|
+
yield* builder.nextStepEffect("bun run db:migrate");
|
|
43
|
+
yield* builder.registerArtifactEffect("service", {
|
|
33
44
|
domain: "database",
|
|
34
45
|
path: servicePath,
|
|
35
46
|
binding: "database",
|
|
36
47
|
id: "database",
|
|
37
48
|
});
|
|
38
49
|
return { dialect: request.dialect, servicePath, schemaPath };
|
|
50
|
+
}, (effect) => observeExecution("generator", "planning.renderDatabase", scaffoldErrors(effect)));
|
|
51
|
+
/**
|
|
52
|
+
* Preserves the renderDatabase Promise compatibility API.
|
|
53
|
+
* @param builder - Per-request planning owner.
|
|
54
|
+
* @param request - Normalized scaffold request.
|
|
55
|
+
* @returns The matched or planned database dialect, service path and schema path.
|
|
56
|
+
*/
|
|
57
|
+
export function renderDatabase(builder, request) {
|
|
58
|
+
return runGeneratorPromise(renderDatabaseEffect(builder, request));
|
|
39
59
|
}
|
|
40
60
|
//# sourceMappingURL=render-database.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-database.js","sourceRoot":"","sources":["../src/render-database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"render-database.js","sourceRoot":"","sources":["../src/render-database.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
3
|
+
import { type GeneratorDomainError, type GeneratorIoError } from "./generator-errors.js";
|
|
4
|
+
import type { AddRequest } from "./add-types.js";
|
|
5
|
+
import { type DomainArtifact, type DomainTarget } from "./domain-planning.js";
|
|
6
|
+
import { PlanBuilder } from "./plan-builder.js";
|
|
7
|
+
import type { RenderedArtifact, RenderFunctionOptions } from "./render-domain.types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Plans function through the owning request and typed filesystem authority.
|
|
10
|
+
* @param builder - Per-request planning owner.
|
|
11
|
+
* @param target - Discovered domain or artifact target.
|
|
12
|
+
* @param nameValue - Requested artifact name before normalization.
|
|
13
|
+
* @param options - Explicit options retaining existing defaults.
|
|
14
|
+
* @returns The planned function source path and binding after request-state registration.
|
|
15
|
+
*/
|
|
16
|
+
export declare const renderFunctionEffect: (builder: PlanBuilder, target: DomainTarget, nameValue: string, options?: RenderFunctionOptions | undefined) => Effect.Effect<DomainArtifact, GeneratorIoError | GeneratorDomainError, GeneratorFileSystem>;
|
|
17
|
+
/**
|
|
18
|
+
* Plans error through the owning request and typed filesystem authority.
|
|
19
|
+
* @param builder - Per-request planning owner.
|
|
20
|
+
* @param target - Discovered domain or artifact target.
|
|
21
|
+
* @param nameValue - Requested artifact name before normalization.
|
|
22
|
+
* @returns The planned error source path and binding after request-state registration.
|
|
23
|
+
*/
|
|
24
|
+
export declare const renderErrorEffect: (builder: PlanBuilder, target: DomainTarget, nameValue: string) => Effect.Effect<DomainArtifact, GeneratorIoError | GeneratorDomainError, GeneratorFileSystem>;
|
|
25
|
+
/**
|
|
26
|
+
* Plans event function through the owning request and typed filesystem authority.
|
|
27
|
+
* @param builder - Per-request planning owner.
|
|
28
|
+
* @param target - Discovered domain or artifact target.
|
|
29
|
+
* @param request - Normalized scaffold request.
|
|
30
|
+
* @returns The planned event function source path and binding after request-state registration.
|
|
31
|
+
*/
|
|
32
|
+
export declare const renderEventFunctionEffect: (builder: PlanBuilder, target: DomainTarget, request: import("./add-types.js").AddRequestBase & Readonly<{
|
|
33
|
+
kind: "event-function";
|
|
34
|
+
name: string;
|
|
35
|
+
}> & Readonly<{
|
|
36
|
+
event: string;
|
|
37
|
+
delivery: "transient" | "durable";
|
|
38
|
+
profile?: string;
|
|
39
|
+
}>) => Effect.Effect<DomainArtifact, GeneratorIoError | GeneratorDomainError, GeneratorFileSystem>;
|
|
40
|
+
/**
|
|
41
|
+
* Preserves the renderFunction Promise compatibility API.
|
|
42
|
+
* @param builder - Per-request planning owner.
|
|
43
|
+
* @param target - Discovered domain or artifact target.
|
|
44
|
+
* @param nameValue - Requested artifact name before normalization.
|
|
45
|
+
* @param options - Explicit options retaining existing defaults.
|
|
46
|
+
* @returns The planned function source path and binding after typed planning settles.
|
|
47
|
+
*/
|
|
48
|
+
export declare function renderFunction(builder: PlanBuilder, target: DomainTarget, nameValue: string, options?: RenderFunctionOptions): Promise<RenderedArtifact>;
|
|
49
|
+
/**
|
|
50
|
+
* Preserves the renderError Promise compatibility API.
|
|
51
|
+
* @param builder - Per-request planning owner.
|
|
52
|
+
* @param target - Discovered domain or artifact target.
|
|
53
|
+
* @param nameValue - Requested artifact name before normalization.
|
|
54
|
+
* @returns The planned error source path and binding after typed planning settles.
|
|
55
|
+
*/
|
|
56
|
+
export declare function renderError(builder: PlanBuilder, target: DomainTarget, nameValue: string): Promise<RenderedArtifact>;
|
|
57
|
+
/**
|
|
58
|
+
* Preserves the renderEventFunction Promise compatibility API.
|
|
59
|
+
* @param builder - Per-request planning owner.
|
|
60
|
+
* @param target - Discovered domain or artifact target.
|
|
61
|
+
* @param request - Normalized scaffold request.
|
|
62
|
+
* @returns The planned event function source path and binding after typed planning settles.
|
|
63
|
+
*/
|
|
64
|
+
export declare function renderEventFunction(builder: PlanBuilder, target: DomainTarget, request: Extract<AddRequest, {
|
|
65
|
+
kind: "event-function";
|
|
66
|
+
}>): Promise<RenderedArtifact>;
|
|
67
|
+
//# sourceMappingURL=render-domain-callables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-domain-callables.d.ts","sourceRoot":"","sources":["../src/render-domain-callables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACxF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,6MAoBhC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,gKAiB7B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;kGAsCrC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,gBAAgB,CAAC,CAE3B;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAE3B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GACvD,OAAO,CAAC,gBAAgB,CAAC,CAE3B"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
3
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
4
|
+
import { scaffoldErrors, } from "./generator-errors.js";
|
|
5
|
+
import { runGeneratorPromise } from "./generator-runtime.js";
|
|
6
|
+
import { normalizeArtifactName } from "./add-name.js";
|
|
7
|
+
import { addPublicMemberEffect, assertAvailableId, domainArtifact, resolveArtifact, } from "./domain-planning.js";
|
|
8
|
+
import { PlanBuilder } from "./plan-builder.js";
|
|
9
|
+
import { registerEffect } from "./render-domain-register.js";
|
|
10
|
+
import { ensureProviderProfileEffect } from "./provider-planning.js";
|
|
11
|
+
import { errorSource, eventFunctionSource, functionSource } from "./render-domain-sources.js";
|
|
12
|
+
/**
|
|
13
|
+
* Plans function through the owning request and typed filesystem authority.
|
|
14
|
+
* @param builder - Per-request planning owner.
|
|
15
|
+
* @param target - Discovered domain or artifact target.
|
|
16
|
+
* @param nameValue - Requested artifact name before normalization.
|
|
17
|
+
* @param options - Explicit options retaining existing defaults.
|
|
18
|
+
* @returns The planned function source path and binding after request-state registration.
|
|
19
|
+
*/
|
|
20
|
+
export const renderFunctionEffect = Effect.fn("Scaffold.renderFunction")(function* (builder, target, nameValue, options = {}) {
|
|
21
|
+
const artifact = domainArtifact(target, nameValue, "functions", "function");
|
|
22
|
+
assertAvailableId(builder, artifact.id);
|
|
23
|
+
yield* builder.createEffect(artifact.path, functionSource(artifact, options));
|
|
24
|
+
yield* registerEffect(builder, target, "function", artifact);
|
|
25
|
+
if (!options.internal)
|
|
26
|
+
yield* addPublicMemberEffect(builder, target, "functions", artifact, artifact.path);
|
|
27
|
+
return artifact;
|
|
28
|
+
}, (effect) => observeExecution("generator", "planning.renderFunction", scaffoldErrors(effect)));
|
|
29
|
+
/**
|
|
30
|
+
* Plans error through the owning request and typed filesystem authority.
|
|
31
|
+
* @param builder - Per-request planning owner.
|
|
32
|
+
* @param target - Discovered domain or artifact target.
|
|
33
|
+
* @param nameValue - Requested artifact name before normalization.
|
|
34
|
+
* @returns The planned error source path and binding after request-state registration.
|
|
35
|
+
*/
|
|
36
|
+
export const renderErrorEffect = Effect.fn("Scaffold.renderError")(function* (builder, target, nameValue) {
|
|
37
|
+
const artifact = domainArtifact(target, nameValue, "errors", "error", "error");
|
|
38
|
+
assertAvailableId(builder, artifact.id);
|
|
39
|
+
yield* builder.createEffect(artifact.path, errorSource(artifact));
|
|
40
|
+
yield* registerEffect(builder, target, "error", artifact);
|
|
41
|
+
return artifact;
|
|
42
|
+
}, (effect) => observeExecution("generator", "planning.renderError", scaffoldErrors(effect)));
|
|
43
|
+
/**
|
|
44
|
+
* Plans event function through the owning request and typed filesystem authority.
|
|
45
|
+
* @param builder - Per-request planning owner.
|
|
46
|
+
* @param target - Discovered domain or artifact target.
|
|
47
|
+
* @param request - Normalized scaffold request.
|
|
48
|
+
* @returns The planned event function source path and binding after request-state registration.
|
|
49
|
+
*/
|
|
50
|
+
export const renderEventFunctionEffect = Effect.fn("Scaffold.renderEventFunction")(function* (builder, target, request) {
|
|
51
|
+
const artifact = domainArtifact(target, request.name, "functions", "function");
|
|
52
|
+
const event = target.service ||
|
|
53
|
+
builder.artifacts.some((item) => item.domain === target.domain.fileStem && item.kind === "event")
|
|
54
|
+
? resolveArtifact(builder, target, "event", request.event)
|
|
55
|
+
: yield* renderEventEffect(builder, target, request.event, {
|
|
56
|
+
internal: false,
|
|
57
|
+
...(request.profile === undefined ? {} : { profile: request.profile }),
|
|
58
|
+
});
|
|
59
|
+
const profile = yield* ensureProviderProfileEffect(builder, "event", {
|
|
60
|
+
requested: request.profile,
|
|
61
|
+
});
|
|
62
|
+
assertAvailableId(builder, artifact.id);
|
|
63
|
+
yield* builder.createEffect(artifact.path, eventFunctionSource(artifact, event.id ?? `${target.domain.idSegment}.${normalizeArtifactName(event.binding).idSegment}`, request.delivery, profile));
|
|
64
|
+
yield* registerEffect(builder, target, "function", artifact);
|
|
65
|
+
return artifact;
|
|
66
|
+
}, (effect) => observeExecution("generator", "planning.renderEventFunction", scaffoldErrors(effect)));
|
|
67
|
+
/**
|
|
68
|
+
* Preserves the renderFunction Promise compatibility API.
|
|
69
|
+
* @param builder - Per-request planning owner.
|
|
70
|
+
* @param target - Discovered domain or artifact target.
|
|
71
|
+
* @param nameValue - Requested artifact name before normalization.
|
|
72
|
+
* @param options - Explicit options retaining existing defaults.
|
|
73
|
+
* @returns The planned function source path and binding after typed planning settles.
|
|
74
|
+
*/
|
|
75
|
+
export function renderFunction(builder, target, nameValue, options = {}) {
|
|
76
|
+
return runGeneratorPromise(renderFunctionEffect(builder, target, nameValue, options));
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Preserves the renderError Promise compatibility API.
|
|
80
|
+
* @param builder - Per-request planning owner.
|
|
81
|
+
* @param target - Discovered domain or artifact target.
|
|
82
|
+
* @param nameValue - Requested artifact name before normalization.
|
|
83
|
+
* @returns The planned error source path and binding after typed planning settles.
|
|
84
|
+
*/
|
|
85
|
+
export function renderError(builder, target, nameValue) {
|
|
86
|
+
return runGeneratorPromise(renderErrorEffect(builder, target, nameValue));
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Preserves the renderEventFunction Promise compatibility API.
|
|
90
|
+
* @param builder - Per-request planning owner.
|
|
91
|
+
* @param target - Discovered domain or artifact target.
|
|
92
|
+
* @param request - Normalized scaffold request.
|
|
93
|
+
* @returns The planned event function source path and binding after typed planning settles.
|
|
94
|
+
*/
|
|
95
|
+
export function renderEventFunction(builder, target, request) {
|
|
96
|
+
return runGeneratorPromise(renderEventFunctionEffect(builder, target, request));
|
|
97
|
+
}
|
|
98
|
+
import { renderEventEffect } from "./render-domain-events.js";
|
|
99
|
+
//# sourceMappingURL=render-domain-callables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-domain-callables.js","sourceRoot":"","sources":["../src/render-domain-callables.ts"],"names":[],"mappings":"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"}
|