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
|
@@ -1,6 +1,16 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
3
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
4
|
+
import { GeneratorPrompt, generatorPromptLayer } from "./generator-prompt.js";
|
|
5
|
+
import { createClackPromptDriver } from "./prompt-driver.js";
|
|
6
|
+
import { scaffoldErrors, } from "./generator-errors.js";
|
|
7
|
+
import { runGeneratorPromise } from "./generator-runtime.js";
|
|
1
8
|
import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
|
|
2
|
-
import {
|
|
9
|
+
import { resolveServiceEffect, selectedDomain } from "./add-resolution-discovery.js";
|
|
3
10
|
import { AddResolutionState, choices, label } from "./add-resolution-state.js";
|
|
11
|
+
/**
|
|
12
|
+
* Route methods offered during interactive service-route resolution.
|
|
13
|
+
*/
|
|
4
14
|
const METHODS = [
|
|
5
15
|
"GET",
|
|
6
16
|
"POST",
|
|
@@ -10,103 +20,140 @@ const METHODS = [
|
|
|
10
20
|
"HEAD",
|
|
11
21
|
"OPTIONS",
|
|
12
22
|
];
|
|
13
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Resolves resolve platform options through explicit prompt and filesystem authority.
|
|
25
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
26
|
+
* @param discovery - Declaration-only project facts.
|
|
27
|
+
* @returns Completion after route, database or authentication choices are resolved.
|
|
28
|
+
*/
|
|
29
|
+
export const resolvePlatformOptionsEffect = Effect.fn("AddResolution.resolvePlatformOptions")(function* (state, discovery) {
|
|
14
30
|
const kind = state.parsed.kind;
|
|
15
31
|
if (kind === "route")
|
|
16
|
-
|
|
32
|
+
yield* routeOptionsEffect(state, discovery);
|
|
17
33
|
else if (kind === "middleware" && !state.has("path")) {
|
|
18
|
-
const path =
|
|
34
|
+
const path = yield* state.textEffect("Middleware route scope", "*");
|
|
19
35
|
if (path)
|
|
20
|
-
state.
|
|
36
|
+
yield* state.optionEffect("path", path);
|
|
21
37
|
}
|
|
22
38
|
else if (kind === "database")
|
|
23
|
-
|
|
39
|
+
yield* databaseOptionsEffect(state);
|
|
24
40
|
else if (kind === "auth")
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
41
|
+
yield* authOptionsEffect(state, discovery);
|
|
42
|
+
}, (effect) => observeExecution("generator", "add.resolve.resolvePlatformOptions", scaffoldErrors(effect)));
|
|
43
|
+
/**
|
|
44
|
+
* Resolves route options through explicit prompt and filesystem authority.
|
|
45
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
46
|
+
* @param discovery - Declaration-only project facts.
|
|
47
|
+
* @returns Completion after route mode, path and method mappings are recorded.
|
|
48
|
+
*/
|
|
49
|
+
const routeOptionsEffect = Effect.fn("AddResolution.routeOptions")(function* (state, discovery) {
|
|
28
50
|
if (!state.parsed.positional) {
|
|
29
|
-
const path =
|
|
51
|
+
const path = yield* state.textEffect("Route path", "/");
|
|
30
52
|
if (path)
|
|
31
|
-
state.
|
|
53
|
+
yield* state.positionalEffect(path);
|
|
32
54
|
}
|
|
33
55
|
if (!state.has("mode")) {
|
|
34
|
-
const mode =
|
|
56
|
+
const mode = yield* state.selectEffect("Route type", [
|
|
35
57
|
{ value: "route", label: "Route", hint: "standalone GET handler" },
|
|
36
58
|
{ value: "service-route", label: "Service route", hint: "map methods to public members" },
|
|
37
59
|
], "route");
|
|
38
60
|
if (mode)
|
|
39
|
-
state.
|
|
61
|
+
yield* state.optionEffect("mode", mode);
|
|
40
62
|
}
|
|
41
63
|
if (state.parsed.values.get("mode")?.[0] !== "service-route")
|
|
42
64
|
return;
|
|
43
|
-
|
|
65
|
+
yield* resolveServiceEffect(state, discovery);
|
|
44
66
|
if (state.has("map") || !state.interactive)
|
|
45
67
|
return;
|
|
46
|
-
const methods =
|
|
68
|
+
const methods = yield* state.multiselectEffect("HTTP methods", choices(METHODS), true);
|
|
47
69
|
if (!methods)
|
|
48
70
|
return;
|
|
49
71
|
const domain = selectedDomain(state, discovery);
|
|
50
72
|
const service = discovery.services.find((item) => item.capability === "generic" && item.domain === domain);
|
|
51
73
|
for (const method of methods) {
|
|
52
74
|
if (service?.members.length) {
|
|
53
|
-
const member =
|
|
75
|
+
const member = yield* state.selectEffect(`${method} public member`, service.members.map((item) => ({
|
|
54
76
|
value: item.name,
|
|
55
77
|
label: label(item.name),
|
|
56
78
|
})));
|
|
57
79
|
if (member)
|
|
58
|
-
state.
|
|
80
|
+
yield* state.appendEffect("--map", `${method}=${member}`);
|
|
59
81
|
}
|
|
60
82
|
else {
|
|
61
|
-
const member =
|
|
83
|
+
const member = yield* state.textEffect(`${method} function to create`, "Example", true);
|
|
62
84
|
if (member)
|
|
63
|
-
state.
|
|
85
|
+
yield* state.appendEffect("--map", `${method}=${member}`);
|
|
64
86
|
}
|
|
65
87
|
}
|
|
66
|
-
}
|
|
67
|
-
|
|
88
|
+
}, (effect) => observeExecution("generator", "add.resolve.routeOptions", scaffoldErrors(effect)));
|
|
89
|
+
/**
|
|
90
|
+
* Resolves database options through explicit prompt and filesystem authority.
|
|
91
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
92
|
+
* @returns Completion after ORM and database dialect choices are recorded.
|
|
93
|
+
*/
|
|
94
|
+
const databaseOptionsEffect = Effect.fn("AddResolution.databaseOptions")(function* (state) {
|
|
68
95
|
if (!state.has("orm")) {
|
|
69
|
-
const accepted =
|
|
96
|
+
const accepted = yield* state.confirmEffect("Use Drizzle ORM?", true);
|
|
70
97
|
if (accepted === false)
|
|
71
98
|
cancelled("Database scaffolding requires Drizzle ORM.");
|
|
72
99
|
if (accepted)
|
|
73
|
-
state.
|
|
100
|
+
yield* state.optionEffect("orm", "drizzle");
|
|
74
101
|
}
|
|
75
102
|
if (!state.has("dialect")) {
|
|
76
|
-
const dialect =
|
|
103
|
+
const dialect = yield* state.selectEffect("Database dialect", choices(["sqlite", "postgresql", "mysql"]), "sqlite");
|
|
77
104
|
if (dialect)
|
|
78
|
-
state.
|
|
105
|
+
yield* state.optionEffect("dialect", dialect);
|
|
79
106
|
}
|
|
80
|
-
}
|
|
81
|
-
|
|
107
|
+
}, (effect) => observeExecution("generator", "add.resolve.databaseOptions", scaffoldErrors(effect)));
|
|
108
|
+
/**
|
|
109
|
+
* Resolves auth options through explicit prompt and filesystem authority.
|
|
110
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
111
|
+
* @param discovery - Declaration-only project facts.
|
|
112
|
+
* @returns Completion after authentication adapter, dialect and base path are recorded.
|
|
113
|
+
*/
|
|
114
|
+
const authOptionsEffect = Effect.fn("AddResolution.authOptions")(function* (state, discovery) {
|
|
82
115
|
if (!state.has("adapter")) {
|
|
83
|
-
const accepted =
|
|
116
|
+
const accepted = yield* state.confirmEffect("Use Better Auth?", true);
|
|
84
117
|
if (accepted === false)
|
|
85
118
|
cancelled("Auth scaffolding requires Better Auth.");
|
|
86
119
|
if (accepted)
|
|
87
|
-
state.
|
|
120
|
+
yield* state.optionEffect("adapter", "better-auth");
|
|
88
121
|
}
|
|
89
122
|
const databases = discovery.services.filter((service) => service.capability === "database");
|
|
90
123
|
if (!state.has("database-dialect") && databases.length === 1 && databases[0].dialect) {
|
|
91
|
-
state.
|
|
124
|
+
yield* state.optionEffect("database-dialect", databases[0].dialect);
|
|
92
125
|
}
|
|
93
126
|
else if (!state.has("database-dialect") && state.interactive) {
|
|
94
127
|
if (databases.length === 0) {
|
|
95
|
-
const accepted =
|
|
128
|
+
const accepted = yield* state.confirmEffect("No database exists. Create a Drizzle database first?", true);
|
|
96
129
|
if (accepted === false)
|
|
97
130
|
cancelled("Auth requires a database service.");
|
|
98
131
|
}
|
|
99
|
-
const dialect =
|
|
132
|
+
const dialect = yield* state.selectEffect("Database dialect", choices(["sqlite", "postgresql", "mysql"]), "sqlite");
|
|
100
133
|
if (dialect)
|
|
101
|
-
state.
|
|
134
|
+
yield* state.optionEffect("database-dialect", dialect);
|
|
102
135
|
}
|
|
103
136
|
if (!state.has("base-path")) {
|
|
104
|
-
const path =
|
|
137
|
+
const path = yield* state.textEffect("Auth base path", "/api/auth");
|
|
105
138
|
if (path)
|
|
106
|
-
state.
|
|
139
|
+
yield* state.optionEffect("base-path", path);
|
|
107
140
|
}
|
|
108
|
-
}
|
|
141
|
+
}, (effect) => observeExecution("generator", "add.resolve.authOptions", scaffoldErrors(effect)));
|
|
142
|
+
/**
|
|
143
|
+
* Rejects an explicitly cancelled setup choice.
|
|
144
|
+
* @param message - User-facing diagnostic or prompt text.
|
|
145
|
+
* @returns No value; throws AddScaffoldError with RELKIT_ADD_CANCELLED.
|
|
146
|
+
*/
|
|
109
147
|
function cancelled(message) {
|
|
110
148
|
throw new AddScaffoldError(ADD_FAILURE_CODES.cancellation, message);
|
|
111
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Preserves the existing resolvePlatformOptions Promise API.
|
|
152
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
153
|
+
* @param discovery - Declaration-only project facts.
|
|
154
|
+
* @returns Completion after the existing contract has been applied.
|
|
155
|
+
*/
|
|
156
|
+
export function resolvePlatformOptions(state, discovery) {
|
|
157
|
+
return runGeneratorPromise(resolvePlatformOptionsEffect(state, discovery).pipe(Effect.provide(generatorPromptLayer(state.prompt ?? createClackPromptDriver()))));
|
|
158
|
+
}
|
|
112
159
|
//# sourceMappingURL=add-resolver-platform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-resolver-platform.js","sourceRoot":"","sources":["../src/add-resolver-platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAoB,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"add-resolver-platform.js","sourceRoot":"","sources":["../src/add-resolver-platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
3
|
+
import { GeneratorPrompt } from "./generator-prompt.js";
|
|
4
|
+
import { type GeneratorDomainError, type GeneratorIoError, type GeneratorPromptError } from "./generator-errors.js";
|
|
5
|
+
import { AddResolutionState } from "./add-resolution-state.js";
|
|
6
|
+
import type { ProjectDiscovery } from "./project-discovery-types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Resolves provider source through explicit prompt and filesystem authority.
|
|
9
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
10
|
+
* @param discovery - Declaration-only project facts.
|
|
11
|
+
* @param capability - Requested provider capability.
|
|
12
|
+
* @returns Completion after the cache/bucket provider and infrastructure source are recorded.
|
|
13
|
+
*/
|
|
14
|
+
export declare const providerSourceEffect: (state: AddResolutionState, discovery: ProjectDiscovery, capability: "cache" | "bucket") => Effect.Effect<void, GeneratorIoError | GeneratorPromptError | GeneratorDomainError, GeneratorFileSystem | GeneratorPrompt>;
|
|
15
|
+
//# sourceMappingURL=add-resolver-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-resolver-provider.d.ts","sourceRoot":"","sources":["../src/add-resolver-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,wNAgEhC,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
3
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
4
|
+
import { GeneratorPrompt } from "./generator-prompt.js";
|
|
5
|
+
import { scaffoldErrors, } from "./generator-errors.js";
|
|
6
|
+
import { bucketProfileOwnersEffect } from "./bucket-profiles.js";
|
|
7
|
+
import { profiles } from "./add-resolution-discovery.js";
|
|
8
|
+
import { AddResolutionState } from "./add-resolution-state.js";
|
|
9
|
+
/**
|
|
10
|
+
* Resolves provider source through explicit prompt and filesystem authority.
|
|
11
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
12
|
+
* @param discovery - Declaration-only project facts.
|
|
13
|
+
* @param capability - Requested provider capability.
|
|
14
|
+
* @returns Completion after the cache/bucket provider and infrastructure source are recorded.
|
|
15
|
+
*/
|
|
16
|
+
export const providerSourceEffect = Effect.fn("AddResolution.providerSource")(function* (state, discovery, capability) {
|
|
17
|
+
if (state.has("profile") || state.has("provider") || state.has("source"))
|
|
18
|
+
return;
|
|
19
|
+
const owners = capability === "bucket" ? yield* bucketProfileOwnersEffect(discovery) : new Map();
|
|
20
|
+
const existing = profiles(discovery, capability).filter((profile) => !owners.has(profile.name));
|
|
21
|
+
const local = capability === "cache" ? "redis:docker" : "s3:docker";
|
|
22
|
+
const connected = capability === "cache" ? "redis:connected" : "s3:connected";
|
|
23
|
+
const cloudflare = capability === "cache" ? "cloudflare-kv:connected" : "cloudflare-r2:connected";
|
|
24
|
+
if (!state.interactive) {
|
|
25
|
+
const preferred = existing.find((profile) => profile.isDefault) ??
|
|
26
|
+
(existing.length === 1 ? existing[0] : undefined);
|
|
27
|
+
if (preferred)
|
|
28
|
+
yield* state.optionEffect("profile", preferred.name);
|
|
29
|
+
else {
|
|
30
|
+
const [provider, source] = local.split(":");
|
|
31
|
+
yield* state.optionEffect("provider", provider);
|
|
32
|
+
yield* state.optionEffect("source", source);
|
|
33
|
+
}
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const value = yield* state.selectEffect(`${capability} provider`, [
|
|
37
|
+
...existing.map((profile) => ({
|
|
38
|
+
value: `profile:${profile.name}`,
|
|
39
|
+
label: profile.name,
|
|
40
|
+
hint: profile.isDefault ? "configured default" : "existing profile",
|
|
41
|
+
})),
|
|
42
|
+
{ value: local, label: capability === "cache" ? "Redis Docker" : "MinIO / S3 Docker" },
|
|
43
|
+
{ value: connected, label: capability === "cache" ? "Connected Redis" : "Connected S3" },
|
|
44
|
+
...(discovery.awsPulumiDeployment
|
|
45
|
+
? [
|
|
46
|
+
{
|
|
47
|
+
value: `${capability === "cache" ? "redis" : "s3"}:aws`,
|
|
48
|
+
label: "Existing AWS / Pulumi deployment",
|
|
49
|
+
},
|
|
50
|
+
]
|
|
51
|
+
: []),
|
|
52
|
+
{
|
|
53
|
+
value: cloudflare,
|
|
54
|
+
label: capability === "cache" ? "Connected Cloudflare KV" : "Connected Cloudflare R2",
|
|
55
|
+
},
|
|
56
|
+
], local);
|
|
57
|
+
if (!value)
|
|
58
|
+
return;
|
|
59
|
+
if (value.startsWith("profile:"))
|
|
60
|
+
yield* state.optionEffect("profile", value.slice(8));
|
|
61
|
+
else {
|
|
62
|
+
const [provider, source] = value.split(":");
|
|
63
|
+
yield* state.optionEffect("provider", provider);
|
|
64
|
+
yield* state.optionEffect("source", source);
|
|
65
|
+
}
|
|
66
|
+
}, (effect) => observeExecution("generator", "add.resolve.providerSource", scaffoldErrors(effect)));
|
|
67
|
+
//# sourceMappingURL=add-resolver-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-resolver-provider.js","sourceRoot":"","sources":["../src/add-resolver-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,21 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
3
|
+
import { GeneratorPrompt } from "./generator-prompt.js";
|
|
4
|
+
import { type GeneratorDomainError, type GeneratorIoError, type GeneratorPromptError } from "./generator-errors.js";
|
|
1
5
|
import { AddResolutionState } from "./add-resolution-state.js";
|
|
2
6
|
import type { ProjectDiscovery } from "./project-discovery-types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Resolves resolve resource options through explicit prompt and filesystem authority.
|
|
9
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
10
|
+
* @param discovery - Declaration-only project facts.
|
|
11
|
+
* @returns Completion after cache, bucket, tool or agent choices are resolved.
|
|
12
|
+
*/
|
|
13
|
+
export declare const resolveResourceOptionsEffect: (state: AddResolutionState, discovery: ProjectDiscovery) => Effect.Effect<void, GeneratorIoError | GeneratorPromptError | GeneratorDomainError, GeneratorFileSystem | GeneratorPrompt>;
|
|
14
|
+
/**
|
|
15
|
+
* Preserves the existing resolveResourceOptions Promise API.
|
|
16
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
17
|
+
* @param discovery - Declaration-only project facts.
|
|
18
|
+
* @returns Completion after the existing contract has been applied.
|
|
19
|
+
*/
|
|
3
20
|
export declare function resolveResourceOptions(state: AddResolutionState, discovery: ProjectDiscovery): Promise<void>;
|
|
4
21
|
//# sourceMappingURL=add-resolver-resources.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-resolver-resources.d.ts","sourceRoot":"","sources":["../src/add-resolver-resources.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"add-resolver-resources.d.ts","sourceRoot":"","sources":["../src/add-resolver-resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AAI9E,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAW/B,OAAO,EAAE,kBAAkB,EAAW,MAAM,2BAA2B,CAAC;AAExE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,wLAgBxC,CAAC;AAyJF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAMf"}
|
|
@@ -1,150 +1,144 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
3
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
4
|
+
import { GeneratorPrompt, generatorPromptLayer } from "./generator-prompt.js";
|
|
5
|
+
import { createClackPromptDriver } from "./prompt-driver.js";
|
|
6
|
+
import { scaffoldErrors, } from "./generator-errors.js";
|
|
7
|
+
import { runGeneratorPromise } from "./generator-runtime.js";
|
|
3
8
|
import { artifactOptions, artifacts, profiles, selectedDomain, } from "./add-resolution-discovery.js";
|
|
4
9
|
import { AddResolutionState, choices } from "./add-resolution-state.js";
|
|
5
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Resolves resolve resource options through explicit prompt and filesystem authority.
|
|
12
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
13
|
+
* @param discovery - Declaration-only project facts.
|
|
14
|
+
* @returns Completion after cache, bucket, tool or agent choices are resolved.
|
|
15
|
+
*/
|
|
16
|
+
export const resolveResourceOptionsEffect = Effect.fn("AddResolution.resolveResourceOptions")(function* (state, discovery) {
|
|
6
17
|
const kind = state.parsed.kind;
|
|
7
18
|
if (kind === "cache" || kind === "bucket")
|
|
8
|
-
|
|
19
|
+
yield* providerSourceEffect(state, discovery, kind);
|
|
9
20
|
else if (kind === "tool")
|
|
10
|
-
|
|
21
|
+
yield* toolOptionsEffect(state, discovery);
|
|
11
22
|
else if (kind === "agent")
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const cloudflare = capability === "cache" ? "cloudflare-kv:connected" : "cloudflare-r2:connected";
|
|
22
|
-
if (!state.interactive) {
|
|
23
|
-
const preferred = existing.find((profile) => profile.isDefault) ??
|
|
24
|
-
(existing.length === 1 ? existing[0] : undefined);
|
|
25
|
-
if (preferred)
|
|
26
|
-
state.option("profile", preferred.name);
|
|
27
|
-
else {
|
|
28
|
-
const [provider, source] = local.split(":");
|
|
29
|
-
state.option("provider", provider);
|
|
30
|
-
state.option("source", source);
|
|
31
|
-
}
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const value = await state.select(`${capability} provider`, [
|
|
35
|
-
...existing.map((profile) => ({
|
|
36
|
-
value: `profile:${profile.name}`,
|
|
37
|
-
label: profile.name,
|
|
38
|
-
hint: profile.isDefault ? "configured default" : "existing profile",
|
|
39
|
-
})),
|
|
40
|
-
{ value: local, label: capability === "cache" ? "Redis Docker" : "MinIO / S3 Docker" },
|
|
41
|
-
{ value: connected, label: capability === "cache" ? "Connected Redis" : "Connected S3" },
|
|
42
|
-
...(discovery.awsPulumiDeployment
|
|
43
|
-
? [
|
|
44
|
-
{
|
|
45
|
-
value: `${capability === "cache" ? "redis" : "s3"}:aws`,
|
|
46
|
-
label: "Existing AWS / Pulumi deployment",
|
|
47
|
-
},
|
|
48
|
-
]
|
|
49
|
-
: []),
|
|
50
|
-
{
|
|
51
|
-
value: cloudflare,
|
|
52
|
-
label: capability === "cache" ? "Connected Cloudflare KV" : "Connected Cloudflare R2",
|
|
53
|
-
},
|
|
54
|
-
], local);
|
|
55
|
-
if (!value)
|
|
56
|
-
return;
|
|
57
|
-
if (value.startsWith("profile:"))
|
|
58
|
-
state.option("profile", value.slice(8));
|
|
59
|
-
else {
|
|
60
|
-
const [provider, source] = value.split(":");
|
|
61
|
-
state.option("provider", provider);
|
|
62
|
-
state.option("source", source);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
async function toolOptions(state, discovery) {
|
|
23
|
+
yield* agentOptionsEffect(state, discovery);
|
|
24
|
+
}, (effect) => observeExecution("generator", "add.resolve.resolveResourceOptions", scaffoldErrors(effect)));
|
|
25
|
+
/**
|
|
26
|
+
* Resolves tool options through explicit prompt and filesystem authority.
|
|
27
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
28
|
+
* @param discovery - Declaration-only project facts.
|
|
29
|
+
* @returns Completion after the callable target, side-effect and approval choices are recorded.
|
|
30
|
+
*/
|
|
31
|
+
const toolOptionsEffect = Effect.fn("AddResolution.toolOptions")(function* (state, discovery) {
|
|
66
32
|
if (!state.has("target") && !state.has("create-function")) {
|
|
67
33
|
const values = artifacts(discovery, selectedDomain(state, discovery), "function");
|
|
68
34
|
if (!state.interactive && values.length === 1)
|
|
69
|
-
state.
|
|
35
|
+
yield* state.optionEffect("target", values[0].id ?? values[0].binding);
|
|
70
36
|
else if (state.interactive) {
|
|
71
37
|
const create = "__create_function__";
|
|
72
38
|
const value = values.length === 0
|
|
73
39
|
? create
|
|
74
|
-
:
|
|
40
|
+
: yield* state.selectEffect("Callable function target", [
|
|
75
41
|
...artifactOptions(values),
|
|
76
42
|
{ value: create, label: "Create a new function" },
|
|
77
43
|
]);
|
|
78
44
|
if (value === create) {
|
|
79
|
-
const name =
|
|
45
|
+
const name = yield* state.textEffect("Callable function name to create", state.parsed.positional, true);
|
|
80
46
|
if (name)
|
|
81
|
-
state.
|
|
47
|
+
yield* state.optionEffect("create-function", name);
|
|
82
48
|
}
|
|
83
49
|
else if (value)
|
|
84
|
-
state.
|
|
50
|
+
yield* state.optionEffect("target", value);
|
|
85
51
|
}
|
|
86
52
|
}
|
|
87
53
|
if (!state.has("side-effect")) {
|
|
88
|
-
const value =
|
|
54
|
+
const value = yield* state.selectEffect("Side effect", choices(["none", "read", "write", "external"]), "read");
|
|
89
55
|
if (value)
|
|
90
|
-
state.
|
|
56
|
+
yield* state.optionEffect("side-effect", value);
|
|
91
57
|
}
|
|
92
58
|
if (!state.has("approval")) {
|
|
93
|
-
const value =
|
|
59
|
+
const value = yield* state.selectEffect("Approval policy", choices(["never", "on-write", "always"]), "never");
|
|
94
60
|
if (value)
|
|
95
|
-
state.
|
|
61
|
+
yield* state.optionEffect("approval", value);
|
|
96
62
|
}
|
|
97
|
-
}
|
|
98
|
-
|
|
63
|
+
}, (effect) => observeExecution("generator", "add.resolve.toolOptions", scaffoldErrors(effect)));
|
|
64
|
+
/**
|
|
65
|
+
* Resolves agent options through explicit prompt and filesystem authority.
|
|
66
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
67
|
+
* @param discovery - Declaration-only project facts.
|
|
68
|
+
* @returns Completion after model, tool and instruction choices are recorded.
|
|
69
|
+
*/
|
|
70
|
+
const agentOptionsEffect = Effect.fn("AddResolution.agentOptions")(function* (state, discovery) {
|
|
99
71
|
const domain = selectedDomain(state, discovery);
|
|
100
72
|
if (!state.has("model")) {
|
|
101
73
|
const models = profiles(discovery, "model");
|
|
102
|
-
const preferred = models.find((profile) => profile.isDefault) ??
|
|
74
|
+
const preferred = models.find((profile) => profile.isDefault) ??
|
|
75
|
+
(models.length === 1 ? models[0] : undefined);
|
|
103
76
|
if (!state.interactive && preferred)
|
|
104
|
-
state.
|
|
77
|
+
yield* state.optionEffect("model", modelValue(preferred));
|
|
105
78
|
else if (state.interactive)
|
|
106
|
-
|
|
79
|
+
yield* selectModelEffect(state, models);
|
|
107
80
|
}
|
|
108
81
|
if (!state.has("tool")) {
|
|
109
82
|
const tools = artifacts(discovery, domain, "tool");
|
|
110
83
|
if (tools.length > 0) {
|
|
111
|
-
const values =
|
|
84
|
+
const values = yield* state.multiselectEffect("Tools to include", artifactOptions(tools));
|
|
112
85
|
if (values)
|
|
113
|
-
state.
|
|
86
|
+
yield* state.repeatedEffect("tool", values);
|
|
114
87
|
}
|
|
115
88
|
}
|
|
116
89
|
if (state.has("prompt") || state.has("instructions"))
|
|
117
90
|
return;
|
|
118
91
|
const promptValues = artifacts(discovery, domain, "prompt");
|
|
119
92
|
if (!state.interactive && promptValues.length === 1) {
|
|
120
|
-
state.
|
|
93
|
+
yield* state.optionEffect("prompt", promptValues[0].id ?? promptValues[0].binding);
|
|
121
94
|
return;
|
|
122
95
|
}
|
|
123
96
|
if (!state.interactive)
|
|
124
97
|
return;
|
|
125
98
|
const inline = "__inline__";
|
|
126
|
-
const selected =
|
|
99
|
+
const selected = yield* state.selectEffect("Agent instructions", [...artifactOptions(promptValues), { value: inline, label: "Inline instructions" }], inline);
|
|
127
100
|
if (selected === inline) {
|
|
128
|
-
const text =
|
|
101
|
+
const text = yield* state.textEffect("Instructions");
|
|
129
102
|
if (text)
|
|
130
|
-
state.
|
|
103
|
+
yield* state.optionEffect("instructions", text);
|
|
131
104
|
}
|
|
132
105
|
else if (selected)
|
|
133
|
-
state.
|
|
134
|
-
}
|
|
135
|
-
|
|
106
|
+
yield* state.optionEffect("prompt", selected);
|
|
107
|
+
}, (effect) => observeExecution("generator", "add.resolve.agentOptions", scaffoldErrors(effect)));
|
|
108
|
+
/**
|
|
109
|
+
* Resolves a model profile and its optional declared model ID.
|
|
110
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
111
|
+
* @param models - Source-discovered model provider profiles.
|
|
112
|
+
* @returns Completion after the selected model profile/ID is recorded in request state.
|
|
113
|
+
*/
|
|
114
|
+
const selectModelEffect = Effect.fn("AddResolution.selectModel")(function* (state, models) {
|
|
136
115
|
const preferred = models.find((profile) => profile.isDefault) ?? models[0];
|
|
137
116
|
if (!preferred)
|
|
138
117
|
return;
|
|
139
|
-
const selected =
|
|
118
|
+
const selected = yield* state.selectEffect("Model", models.map((profile) => ({
|
|
140
119
|
value: modelValue(profile),
|
|
141
120
|
label: modelValue(profile),
|
|
142
121
|
...(profile.isDefault ? { hint: "configured default" } : {}),
|
|
143
122
|
})), modelValue(preferred));
|
|
144
123
|
if (selected)
|
|
145
|
-
state.
|
|
146
|
-
}
|
|
124
|
+
yield* state.optionEffect("model", selected);
|
|
125
|
+
}, (effect) => observeExecution("generator", "add.resolve.selectModel", scaffoldErrors(effect)));
|
|
126
|
+
/**
|
|
127
|
+
* Formats a discovered model profile for the model selection flag.
|
|
128
|
+
* @param profile - Selected provider profile.
|
|
129
|
+
* @returns The profile name, optionally followed by its statically declared model ID.
|
|
130
|
+
*/
|
|
147
131
|
function modelValue(profile) {
|
|
148
132
|
return profile.modelId ? `${profile.name}:${profile.modelId}` : profile.name;
|
|
149
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Preserves the existing resolveResourceOptions Promise API.
|
|
136
|
+
* @param state - Invocation-owned state or a read-only planning snapshot.
|
|
137
|
+
* @param discovery - Declaration-only project facts.
|
|
138
|
+
* @returns Completion after the existing contract has been applied.
|
|
139
|
+
*/
|
|
140
|
+
export function resolveResourceOptions(state, discovery) {
|
|
141
|
+
return runGeneratorPromise(resolveResourceOptionsEffect(state, discovery).pipe(Effect.provide(generatorPromptLayer(state.prompt ?? createClackPromptDriver()))));
|
|
142
|
+
}
|
|
143
|
+
import { providerSourceEffect } from "./add-resolver-provider.js";
|
|
150
144
|
//# sourceMappingURL=add-resolver-resources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-resolver-resources.js","sourceRoot":"","sources":["../src/add-resolver-resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"add-resolver-resources.js","sourceRoot":"","sources":["../src/add-resolver-resources.ts"],"names":[],"mappings":"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"}
|