create-relkit 0.4.0 → 0.5.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 +9 -0
- package/dist/add-name.d.ts.map +1 -0
- package/dist/add-name.js +18 -0
- package/dist/add-name.js.map +1 -0
- package/dist/add-options-parser.d.ts +21 -0
- package/dist/add-options-parser.d.ts.map +1 -0
- package/dist/add-options-parser.js +103 -0
- package/dist/add-options-parser.js.map +1 -0
- package/dist/add-options-resource.d.ts +5 -0
- package/dist/add-options-resource.d.ts.map +1 -0
- package/dist/add-options-resource.js +18 -0
- package/dist/add-options-resource.js.map +1 -0
- package/dist/add-options.d.ts +6 -0
- package/dist/add-options.d.ts.map +1 -0
- package/dist/add-options.js +165 -0
- package/dist/add-options.js.map +1 -0
- package/dist/add-output.d.ts +4 -0
- package/dist/add-output.d.ts.map +1 -0
- package/dist/add-output.js +33 -0
- package/dist/add-output.js.map +1 -0
- package/dist/add-plan.d.ts +4 -0
- package/dist/add-plan.d.ts.map +1 -0
- package/dist/add-plan.js +62 -0
- package/dist/add-plan.js.map +1 -0
- package/dist/add-resolution-discovery.d.ts +13 -0
- package/dist/add-resolution-discovery.d.ts.map +1 -0
- package/dist/add-resolution-discovery.js +70 -0
- package/dist/add-resolution-discovery.js.map +1 -0
- package/dist/add-resolution-state.d.ts +23 -0
- package/dist/add-resolution-state.d.ts.map +1 -0
- package/dist/add-resolution-state.js +89 -0
- package/dist/add-resolution-state.js.map +1 -0
- package/dist/add-resolver-domain.d.ts +4 -0
- package/dist/add-resolver-domain.d.ts.map +1 -0
- package/dist/add-resolver-domain.js +150 -0
- package/dist/add-resolver-domain.js.map +1 -0
- package/dist/add-resolver-platform.d.ts +4 -0
- package/dist/add-resolver-platform.d.ts.map +1 -0
- package/dist/add-resolver-platform.js +112 -0
- package/dist/add-resolver-platform.js.map +1 -0
- package/dist/add-resolver-resources.d.ts +4 -0
- package/dist/add-resolver-resources.d.ts.map +1 -0
- package/dist/add-resolver-resources.js +150 -0
- package/dist/add-resolver-resources.js.map +1 -0
- package/dist/add-resolver.d.ts +14 -0
- package/dist/add-resolver.d.ts.map +1 -0
- package/dist/add-resolver.js +41 -0
- package/dist/add-resolver.js.map +1 -0
- package/dist/add-transaction-files.d.ts +12 -0
- package/dist/add-transaction-files.d.ts.map +1 -0
- package/dist/add-transaction-files.js +103 -0
- package/dist/add-transaction-files.js.map +1 -0
- package/dist/add-transaction.d.ts +17 -0
- package/dist/add-transaction.d.ts.map +1 -0
- package/dist/add-transaction.js +115 -0
- package/dist/add-transaction.js.map +1 -0
- package/dist/add-types.d.ts +136 -0
- package/dist/add-types.d.ts.map +1 -0
- package/dist/add-types.js +41 -0
- package/dist/add-types.js.map +1 -0
- package/dist/bucket-profiles.d.ts +4 -0
- package/dist/bucket-profiles.d.ts.map +1 -0
- package/dist/bucket-profiles.js +18 -0
- package/dist/bucket-profiles.js.map +1 -0
- package/dist/create-additions.d.ts +7 -0
- package/dist/create-additions.d.ts.map +1 -0
- package/dist/create-additions.js +27 -0
- package/dist/create-additions.js.map +1 -0
- package/dist/create-preview.d.ts +12 -0
- package/dist/create-preview.d.ts.map +1 -0
- package/dist/create-preview.js +50 -0
- package/dist/create-preview.js.map +1 -0
- package/dist/create-resolver.d.ts +14 -0
- package/dist/create-resolver.d.ts.map +1 -0
- package/dist/create-resolver.js +96 -0
- package/dist/create-resolver.js.map +1 -0
- package/dist/domain-planning.d.ts +24 -0
- package/dist/domain-planning.d.ts.map +1 -0
- package/dist/domain-planning.js +94 -0
- package/dist/domain-planning.js.map +1 -0
- package/dist/generate-files-utilities.d.ts +18 -0
- package/dist/generate-files-utilities.d.ts.map +1 -0
- package/dist/generate-files-utilities.js +87 -0
- package/dist/generate-files-utilities.js.map +1 -0
- package/dist/generate-files.d.ts +1 -12
- package/dist/generate-files.d.ts.map +1 -1
- package/dist/generate-files.js +38 -89
- package/dist/generate-files.js.map +1 -1
- package/dist/generate-output.d.ts +2 -1
- package/dist/generate-output.d.ts.map +1 -1
- package/dist/generate-output.js +9 -0
- package/dist/generate-output.js.map +1 -1
- package/dist/generate-process.d.ts +1 -1
- package/dist/generate-process.d.ts.map +1 -1
- package/dist/generate-process.js +7 -3
- package/dist/generate-process.js.map +1 -1
- package/dist/generate-types.d.ts +46 -0
- package/dist/generate-types.d.ts.map +1 -0
- package/dist/generate-types.js +20 -0
- package/dist/generate-types.js.map +1 -0
- package/dist/generate.d.ts +1 -38
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +34 -39
- package/dist/generate.js.map +1 -1
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +79 -9
- package/dist/index.js.map +1 -1
- package/dist/options.d.ts +5 -1
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +10 -1
- package/dist/options.js.map +1 -1
- package/dist/plan-builder.d.ts +33 -0
- package/dist/plan-builder.d.ts.map +1 -0
- package/dist/plan-builder.js +139 -0
- package/dist/plan-builder.js.map +1 -0
- package/dist/plan-manifest.d.ts +6 -0
- package/dist/plan-manifest.d.ts.map +1 -0
- package/dist/plan-manifest.js +40 -0
- package/dist/plan-manifest.js.map +1 -0
- package/dist/project-discovery-app.d.ts +7 -0
- package/dist/project-discovery-app.d.ts.map +1 -0
- package/dist/project-discovery-app.js +122 -0
- package/dist/project-discovery-app.js.map +1 -0
- package/dist/project-discovery-database.d.ts +11 -0
- package/dist/project-discovery-database.d.ts.map +1 -0
- package/dist/project-discovery-database.js +46 -0
- package/dist/project-discovery-database.js.map +1 -0
- package/dist/project-discovery-types.d.ts +45 -0
- package/dist/project-discovery-types.d.ts.map +1 -0
- package/dist/project-discovery-types.js +2 -0
- package/dist/project-discovery-types.js.map +1 -0
- package/dist/project-discovery.d.ts +4 -0
- package/dist/project-discovery.d.ts.map +1 -0
- package/dist/project-discovery.js +152 -0
- package/dist/project-discovery.js.map +1 -0
- package/dist/prompt-driver.d.ts +32 -0
- package/dist/prompt-driver.d.ts.map +1 -0
- package/dist/prompt-driver.js +42 -0
- package/dist/prompt-driver.js.map +1 -0
- package/dist/provider-planning-definitions.d.ts +35 -0
- package/dist/provider-planning-definitions.d.ts.map +1 -0
- package/dist/provider-planning-definitions.js +109 -0
- package/dist/provider-planning-definitions.js.map +1 -0
- package/dist/provider-planning.d.ts +11 -0
- package/dist/provider-planning.d.ts.map +1 -0
- package/dist/provider-planning.js +131 -0
- package/dist/provider-planning.js.map +1 -0
- package/dist/render-ai-sources.d.ts +18 -0
- package/dist/render-ai-sources.d.ts.map +1 -0
- package/dist/render-ai-sources.js +49 -0
- package/dist/render-ai-sources.js.map +1 -0
- package/dist/render-ai.d.ts +11 -0
- package/dist/render-ai.d.ts.map +1 -0
- package/dist/render-ai.js +61 -0
- package/dist/render-ai.js.map +1 -0
- package/dist/render-auth-schema.d.ts +3 -0
- package/dist/render-auth-schema.d.ts.map +1 -0
- package/dist/render-auth-schema.js +85 -0
- package/dist/render-auth-schema.js.map +1 -0
- package/dist/render-auth-sources.d.ts +3 -0
- package/dist/render-auth-sources.d.ts.map +1 -0
- package/dist/render-auth-sources.js +17 -0
- package/dist/render-auth-sources.js.map +1 -0
- package/dist/render-auth.d.ts +6 -0
- package/dist/render-auth.d.ts.map +1 -0
- package/dist/render-auth.js +84 -0
- package/dist/render-auth.js.map +1 -0
- package/dist/render-database-sources.d.ts +5 -0
- package/dist/render-database-sources.d.ts.map +1 -0
- package/dist/render-database-sources.js +65 -0
- package/dist/render-database-sources.js.map +1 -0
- package/dist/render-database.d.ts +13 -0
- package/dist/render-database.d.ts.map +1 -0
- package/dist/render-database.js +40 -0
- package/dist/render-database.js.map +1 -0
- package/dist/render-domain-register.d.ts +4 -0
- package/dist/render-domain-register.d.ts.map +1 -0
- package/dist/render-domain-register.js +11 -0
- package/dist/render-domain-register.js.map +1 -0
- package/dist/render-domain-sources.d.ts +19 -0
- package/dist/render-domain-sources.d.ts.map +1 -0
- package/dist/render-domain-sources.js +132 -0
- package/dist/render-domain-sources.js.map +1 -0
- package/dist/render-domain.d.ts +26 -0
- package/dist/render-domain.d.ts.map +1 -0
- package/dist/render-domain.js +98 -0
- package/dist/render-domain.js.map +1 -0
- package/dist/render-resource-sources.d.ts +4 -0
- package/dist/render-resource-sources.d.ts.map +1 -0
- package/dist/render-resource-sources.js +31 -0
- package/dist/render-resource-sources.js.map +1 -0
- package/dist/render-resources.d.ts +11 -0
- package/dist/render-resources.d.ts.map +1 -0
- package/dist/render-resources.js +53 -0
- package/dist/render-resources.js.map +1 -0
- package/dist/render-route-sources.d.ts +6 -0
- package/dist/render-route-sources.d.ts.map +1 -0
- package/dist/render-route-sources.js +35 -0
- package/dist/render-route-sources.js.map +1 -0
- package/dist/render-routes.d.ts +13 -0
- package/dist/render-routes.d.ts.map +1 -0
- package/dist/render-routes.js +48 -0
- package/dist/render-routes.js.map +1 -0
- package/dist/render-service.d.ts +6 -0
- package/dist/render-service.d.ts.map +1 -0
- package/dist/render-service.js +124 -0
- package/dist/render-service.js.map +1 -0
- package/dist/scaffold-catalog.d.ts +75 -0
- package/dist/scaffold-catalog.d.ts.map +1 -0
- package/dist/scaffold-catalog.js +24 -0
- package/dist/scaffold-catalog.js.map +1 -0
- package/dist/source-edit.d.ts +10 -0
- package/dist/source-edit.d.ts.map +1 -0
- package/dist/source-edit.js +136 -0
- package/dist/source-edit.js.map +1 -0
- package/dist/source-import-edit.d.ts +3 -0
- package/dist/source-import-edit.d.ts.map +1 -0
- package/dist/source-import-edit.js +52 -0
- package/dist/source-import-edit.js.map +1 -0
- package/dist/template-root.d.ts +5 -0
- package/dist/template-root.d.ts.map +1 -0
- package/dist/template-root.js +15 -0
- package/dist/template-root.js.map +1 -0
- package/dist/templates/default/README.md +1 -1
- package/dist/templates/default/v1/agent/.env.example +0 -2
- package/dist/templates/default/v1/agent/README.md +7 -8
- package/dist/templates/default/v1/agent/package.json +6 -4
- package/dist/templates/default/v1/agent/relkit.config.ts +5 -15
- package/dist/templates/default/v1/agent/src/hello/agents/assistant.agent.ts +37 -4
- package/dist/templates/default/v1/agent/src/hello/agents/review.agent.ts +43 -0
- package/dist/templates/default/v1/agent/src/platform/env.ts +0 -2
- package/dist/templates/default/v1/agent/tests/integration/hello.route.test.ts +17 -6
- package/dist/templates/default/v1/agent/tests/unit/assistant.agent.test.ts +14 -36
- package/dist/templates/default/v1/agent/tests/unit/review.agent.test.ts +19 -0
- package/dist/templates/default/v1/api/package.json +3 -3
- package/dist/templates/default/v1/fullstack/.env.example +1 -0
- package/dist/templates/default/v1/fullstack/README.md +15 -0
- package/dist/templates/default/v1/fullstack/gitignore +4 -0
- package/dist/templates/default/v1/fullstack/package.json +35 -0
- package/dist/templates/default/v1/fullstack/relkit.config.ts +15 -0
- package/dist/templates/default/v1/fullstack/src/hello/agents/assistant.agent.ts +46 -0
- package/dist/templates/default/v1/fullstack/src/hello/agents/review.agent.ts +43 -0
- package/dist/templates/default/v1/fullstack/src/hello/functions/hello.function.ts +10 -0
- package/dist/templates/default/v1/fullstack/src/hello/service.ts +4 -0
- package/dist/templates/default/v1/fullstack/src/hello/tools/lookup.tool.ts +9 -0
- package/dist/templates/default/v1/fullstack/src/platform/env.ts +5 -0
- package/dist/templates/default/v1/fullstack/src/routes/hello/route.ts +4 -0
- package/dist/templates/default/v1/fullstack/tests/integration/hello.route.test.ts +29 -0
- package/dist/templates/default/v1/fullstack/tests/unit/assistant.agent.test.ts +18 -0
- package/dist/templates/default/v1/fullstack/tests/unit/hello.function.test.ts +7 -0
- package/dist/templates/default/v1/fullstack/tests/unit/review.agent.test.ts +19 -0
- package/dist/templates/default/v1/fullstack/tsconfig.json +21 -0
- package/dist/templates/default/v1/fullstack/web/app/agent-config.ts +7 -0
- package/dist/templates/default/v1/fullstack/web/app/layout.tsx +12 -0
- package/dist/templates/default/v1/fullstack/web/app/page.tsx +85 -0
- package/dist/templates/default/v1/fullstack/web/app/providers.tsx +29 -0
- package/dist/templates/default/v1/fullstack/web/next-env.d.ts +2 -0
- package/dist/templates/default/v1/fullstack/web/next.config.ts +5 -0
- package/dist/templates/default/v1/fullstack/web/tsconfig.json +10 -0
- package/dist/templates/default/v1/minimal/package.json +3 -3
- package/dist/templates/default/v1/tasks/.env.example +2 -0
- package/dist/templates/default/v1/tasks/README.md +15 -0
- package/dist/templates/default/v1/tasks/examples/export-orders.json +1 -0
- package/dist/templates/default/v1/tasks/gitignore +10 -0
- package/dist/templates/default/v1/tasks/package.json +24 -0
- package/dist/templates/default/v1/tasks/relkit.config.ts +11 -0
- package/dist/templates/default/v1/tasks/src/orders/functions/health.function.ts +9 -0
- package/dist/templates/default/v1/tasks/src/orders/jobs/export-orders.job.ts +15 -0
- package/dist/templates/default/v1/tasks/src/orders/service.ts +10 -0
- package/dist/templates/default/v1/tasks/src/orders/tasks/export-orders.task.ts +19 -0
- package/dist/templates/default/v1/tasks/src/platform/env.ts +3 -0
- package/dist/templates/default/v1/tasks/src/routes/health/route.ts +4 -0
- package/dist/templates/default/v1/tasks/tests/unit/export-orders.task.test.ts +7 -0
- package/dist/templates/default/v1/tasks/tsconfig.json +14 -0
- package/package.json +6 -1
- package/dist/templates/default/v1/agent/src/hello/functions/ask-assistant.function.ts +0 -16
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-resolution-discovery.js","sourceRoot":"","sources":["../src/add-resolution-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAOtE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAU;IACrC,UAAU;IACV,OAAO;IACP,OAAO;IACP,gBAAgB;IAChB,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAyB,EACzB,SAA2B;IAE3B,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa;QAAE,OAAO;IAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;IAC1F,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACvB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;QACtD,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QACH,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE;KACjD,CAAC,CAAC;IACH,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,IAAI;YAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,QAAQ;QAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAyB,EACzB,SAA2B;IAE3B,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,MAAM,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAyB,EACzB,SAA2B;IAE3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,MAAM,CAAC,aAAa;QAAE,OAAO,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;IACtF,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IAClE,OAAO,CACL,SAAS,CAAC,QAAQ,CAAC,IAAI,CACrB,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,UAAU,KAAK,SAAS;QAChC,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CACzF,EAAE,MAAM,IAAI,UAAU,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,SAA2B,EAC3B,MAA0B,EAC1B,IAAgC;IAEhC,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,CAC/B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,CACxF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAqC;IACnE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/B,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO;QACtC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,IAAI;KACpB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,SAA2B,EAC3B,UAA2C;IAE3C,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACnF,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ParsedAddArguments } from "./add-options-parser.js";
|
|
2
|
+
import type { PromptDriver, PromptOption } from "./prompt-driver.js";
|
|
3
|
+
export declare class AddResolutionState {
|
|
4
|
+
readonly cwd: string | undefined;
|
|
5
|
+
readonly interactive: boolean;
|
|
6
|
+
readonly prompt: PromptDriver | undefined;
|
|
7
|
+
readonly args: string[];
|
|
8
|
+
prompted: boolean;
|
|
9
|
+
constructor(args: readonly string[], cwd: string | undefined, interactive: boolean, prompt: PromptDriver | undefined);
|
|
10
|
+
get parsed(): ParsedAddArguments;
|
|
11
|
+
has(name: string): boolean;
|
|
12
|
+
option(name: string, value: string): void;
|
|
13
|
+
repeated(name: string, values: readonly string[]): void;
|
|
14
|
+
flag(name: string): void;
|
|
15
|
+
positional(value: string): void;
|
|
16
|
+
text(message: string, initialValue?: string, artifact?: boolean): Promise<string | undefined>;
|
|
17
|
+
select<Value extends string>(message: string, options: readonly PromptOption<Value>[], initialValue?: Value): Promise<Value | undefined>;
|
|
18
|
+
multiselect<Value extends string>(message: string, options: readonly PromptOption<Value>[], required?: boolean): Promise<readonly Value[] | undefined>;
|
|
19
|
+
confirm(message: string, initialValue?: boolean): Promise<boolean | undefined>;
|
|
20
|
+
}
|
|
21
|
+
export declare function choices<const Value extends string>(values: readonly Value[]): PromptOption<Value>[];
|
|
22
|
+
export declare function label(value: string): string;
|
|
23
|
+
//# sourceMappingURL=add-resolution-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-resolution-state.d.ts","sourceRoot":"","sources":["../src/add-resolution-state.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAErE,qBAAa,kBAAkB;IAM3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS;IAP3C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,UAAS;gBAGf,IAAI,EAAE,SAAS,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,YAAY,GAAG,SAAS;IAK3C,IAAI,MAAM,IAAI,kBAAkB,CAE/B;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAIvD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzB,IAAI,CACR,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,UAAQ,GACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAmBxB,MAAM,CAAC,KAAK,SAAS,MAAM,EAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,YAAY,CAAC,KAAK,CAAC,EAAE,EACvC,YAAY,CAAC,EAAE,KAAK,GACnB,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAUvB,WAAW,CAAC,KAAK,SAAS,MAAM,EACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,YAAY,CAAC,KAAK,CAAC,EAAE,EACvC,QAAQ,UAAQ,GACf,OAAO,CAAC,SAAS,KAAK,EAAE,GAAG,SAAS,CAAC;IAMlC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;CAKlF;AAED,wBAAgB,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,EAChD,MAAM,EAAE,SAAS,KAAK,EAAE,GACvB,YAAY,CAAC,KAAK,CAAC,EAAE,CAEvB;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3C"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { normalizeArtifactName } from "./add-name.js";
|
|
2
|
+
import { parseAddArguments } from "./add-options-parser.js";
|
|
3
|
+
export class AddResolutionState {
|
|
4
|
+
cwd;
|
|
5
|
+
interactive;
|
|
6
|
+
prompt;
|
|
7
|
+
args;
|
|
8
|
+
prompted = false;
|
|
9
|
+
constructor(args, cwd, interactive, prompt) {
|
|
10
|
+
this.cwd = cwd;
|
|
11
|
+
this.interactive = interactive;
|
|
12
|
+
this.prompt = prompt;
|
|
13
|
+
this.args = [...args];
|
|
14
|
+
}
|
|
15
|
+
get parsed() {
|
|
16
|
+
return parseAddArguments(this.args, this.cwd);
|
|
17
|
+
}
|
|
18
|
+
has(name) {
|
|
19
|
+
return this.parsed.values.has(name) || this.parsed.flags.has(name);
|
|
20
|
+
}
|
|
21
|
+
option(name, value) {
|
|
22
|
+
if (!this.has(name))
|
|
23
|
+
this.args.push(`--${name}`, value);
|
|
24
|
+
}
|
|
25
|
+
repeated(name, values) {
|
|
26
|
+
if (!this.has(name))
|
|
27
|
+
for (const value of values)
|
|
28
|
+
this.args.push(`--${name}`, value);
|
|
29
|
+
}
|
|
30
|
+
flag(name) {
|
|
31
|
+
if (!this.has(name))
|
|
32
|
+
this.args.push(`--${name}`);
|
|
33
|
+
}
|
|
34
|
+
positional(value) {
|
|
35
|
+
if (!this.parsed.positional)
|
|
36
|
+
this.args.push(value);
|
|
37
|
+
}
|
|
38
|
+
async text(message, initialValue, artifact = false) {
|
|
39
|
+
if (!this.interactive || !this.prompt)
|
|
40
|
+
return undefined;
|
|
41
|
+
this.prompted = true;
|
|
42
|
+
return this.prompt.text({
|
|
43
|
+
message,
|
|
44
|
+
...(initialValue === undefined ? {} : { initialValue }),
|
|
45
|
+
validate: (value) => {
|
|
46
|
+
if (!value?.trim())
|
|
47
|
+
return "A value is required.";
|
|
48
|
+
if (!artifact)
|
|
49
|
+
return undefined;
|
|
50
|
+
try {
|
|
51
|
+
normalizeArtifactName(value);
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
return error instanceof Error ? error.message : String(error);
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
async select(message, options, initialValue) {
|
|
61
|
+
if (!this.interactive || !this.prompt)
|
|
62
|
+
return undefined;
|
|
63
|
+
this.prompted = true;
|
|
64
|
+
return this.prompt.select({
|
|
65
|
+
message,
|
|
66
|
+
options,
|
|
67
|
+
...(initialValue === undefined ? {} : { initialValue }),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
async multiselect(message, options, required = false) {
|
|
71
|
+
if (!this.interactive || !this.prompt)
|
|
72
|
+
return undefined;
|
|
73
|
+
this.prompted = true;
|
|
74
|
+
return this.prompt.multiselect({ message, options, required });
|
|
75
|
+
}
|
|
76
|
+
async confirm(message, initialValue = true) {
|
|
77
|
+
if (!this.interactive || !this.prompt)
|
|
78
|
+
return undefined;
|
|
79
|
+
this.prompted = true;
|
|
80
|
+
return this.prompt.confirm({ message, initialValue });
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
export function choices(values) {
|
|
84
|
+
return values.map((value) => ({ value, label: label(value) }));
|
|
85
|
+
}
|
|
86
|
+
export function label(value) {
|
|
87
|
+
return value.replaceAll("-", " ").replace(/^./, (character) => character.toUpperCase());
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=add-resolution-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-resolution-state.js","sourceRoot":"","sources":["../src/add-resolution-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AddResolutionState } from "./add-resolution-state.js";
|
|
2
|
+
import type { ProjectDiscovery } from "./project-discovery-types.js";
|
|
3
|
+
export declare function resolveDomainOptions(state: AddResolutionState, discovery: ProjectDiscovery): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=add-resolver-domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-resolver-domain.d.ts","sourceRoot":"","sources":["../src/add-resolver-domain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAW,MAAM,2BAA2B,CAAC;AAOxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAkBrE,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAgBf"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { AddResolutionState, choices } from "./add-resolution-state.js";
|
|
2
|
+
import { artifactOptions, artifacts, profiles, selectedDomain, } from "./add-resolution-discovery.js";
|
|
3
|
+
const INCLUDES = [
|
|
4
|
+
"function",
|
|
5
|
+
"error",
|
|
6
|
+
"event",
|
|
7
|
+
"event-function",
|
|
8
|
+
"task",
|
|
9
|
+
"job",
|
|
10
|
+
"cache",
|
|
11
|
+
"bucket",
|
|
12
|
+
"tool",
|
|
13
|
+
"prompt",
|
|
14
|
+
"agent",
|
|
15
|
+
"constants",
|
|
16
|
+
"route",
|
|
17
|
+
];
|
|
18
|
+
export async function resolveDomainOptions(state, discovery) {
|
|
19
|
+
const kind = state.parsed.kind;
|
|
20
|
+
if (kind !== "database" && kind !== "auth" && kind !== "route") {
|
|
21
|
+
await ensureName(state);
|
|
22
|
+
}
|
|
23
|
+
if (kind === "service")
|
|
24
|
+
await serviceOptions(state);
|
|
25
|
+
else if (kind === "function")
|
|
26
|
+
await visibility(state);
|
|
27
|
+
else if (kind === "event") {
|
|
28
|
+
await visibility(state);
|
|
29
|
+
await providerProfile(state, discovery, "event");
|
|
30
|
+
}
|
|
31
|
+
else if (kind === "event-function") {
|
|
32
|
+
await eventFunctionOptions(state, discovery);
|
|
33
|
+
}
|
|
34
|
+
else if (kind === "task") {
|
|
35
|
+
await taskOptions(state);
|
|
36
|
+
}
|
|
37
|
+
else if (kind === "job")
|
|
38
|
+
await jobOptions(state, discovery);
|
|
39
|
+
else if (kind === "prompt" && !state.has("text"))
|
|
40
|
+
await promptText(state);
|
|
41
|
+
}
|
|
42
|
+
async function promptText(state) {
|
|
43
|
+
const values = [];
|
|
44
|
+
do {
|
|
45
|
+
const value = await state.text(values.length ? "Additional prompt text" : "Prompt text");
|
|
46
|
+
if (value)
|
|
47
|
+
values.push(value);
|
|
48
|
+
} while (values.length > 0 && (await state.confirm("Add another prompt segment?", false)));
|
|
49
|
+
state.repeated("text", values);
|
|
50
|
+
}
|
|
51
|
+
async function ensureName(state) {
|
|
52
|
+
if (state.parsed.positional)
|
|
53
|
+
return;
|
|
54
|
+
const name = await state.text(`${state.parsed.kind.replaceAll("-", " ")} name`, undefined, true);
|
|
55
|
+
if (name)
|
|
56
|
+
state.positional(name);
|
|
57
|
+
}
|
|
58
|
+
async function serviceOptions(state) {
|
|
59
|
+
if (state.has("full") || state.has("include"))
|
|
60
|
+
return;
|
|
61
|
+
const mode = await state.select("Service contents", [
|
|
62
|
+
{ value: "simple", label: "Simple", hint: "service.ts and one public function" },
|
|
63
|
+
{ value: "custom", label: "Custom", hint: "choose domain artifacts" },
|
|
64
|
+
{ value: "full", label: "Full", hint: "complete coherent domain example" },
|
|
65
|
+
], "simple");
|
|
66
|
+
if (mode === "full")
|
|
67
|
+
state.flag("full");
|
|
68
|
+
if (mode === "custom") {
|
|
69
|
+
const selected = await state.multiselect("Select service artifacts", choices(INCLUDES), true);
|
|
70
|
+
if (selected)
|
|
71
|
+
state.repeated("include", selected);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
async function visibility(state) {
|
|
75
|
+
if (state.has("internal"))
|
|
76
|
+
return;
|
|
77
|
+
const exposed = await state.confirm("Expose this artifact through the service?", true);
|
|
78
|
+
if (exposed === false)
|
|
79
|
+
state.flag("internal");
|
|
80
|
+
}
|
|
81
|
+
async function eventFunctionOptions(state, discovery) {
|
|
82
|
+
if (!state.has("event")) {
|
|
83
|
+
const values = artifacts(discovery, selectedDomain(state, discovery), "event");
|
|
84
|
+
if (!state.interactive && values.length === 1)
|
|
85
|
+
state.option("event", values[0].id ?? values[0].binding);
|
|
86
|
+
else if (state.parsed.createService) {
|
|
87
|
+
const value = await state.text("Event name to create", "Example", true);
|
|
88
|
+
if (value)
|
|
89
|
+
state.option("event", value);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
const value = await state.select("Event to consume", artifactOptions(values));
|
|
93
|
+
if (value)
|
|
94
|
+
state.option("event", value);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (!state.has("delivery")) {
|
|
98
|
+
const delivery = await state.select("Delivery mode", choices(["durable", "transient"]), "durable");
|
|
99
|
+
if (delivery)
|
|
100
|
+
state.option("delivery", delivery);
|
|
101
|
+
}
|
|
102
|
+
await providerProfile(state, discovery, "event");
|
|
103
|
+
}
|
|
104
|
+
async function taskOptions(state) {
|
|
105
|
+
if (!state.has("version"))
|
|
106
|
+
state.option("version", "1");
|
|
107
|
+
if (!state.has("execution") && state.interactive) {
|
|
108
|
+
const execution = await state.select("Task execution", choices(["durable", "retryable"]), "durable");
|
|
109
|
+
if (execution)
|
|
110
|
+
state.option("execution", execution);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async function jobOptions(state, discovery) {
|
|
114
|
+
if (!state.has("target")) {
|
|
115
|
+
const taskValues = artifacts(discovery, selectedDomain(state, discovery), "task");
|
|
116
|
+
const values = taskValues.length > 0
|
|
117
|
+
? taskValues
|
|
118
|
+
: artifacts(discovery, selectedDomain(state, discovery), "function");
|
|
119
|
+
if (!state.interactive && values.length === 1)
|
|
120
|
+
state.option("target", values[0].id ?? values[0].binding);
|
|
121
|
+
else if (state.parsed.createService) {
|
|
122
|
+
const value = await state.text("Callable function name to create", "Example", true);
|
|
123
|
+
if (value)
|
|
124
|
+
state.option("target", value);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
const value = await state.select("Callable function target", artifactOptions(values));
|
|
128
|
+
if (value)
|
|
129
|
+
state.option("target", value);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
await providerProfile(state, discovery, "job");
|
|
133
|
+
}
|
|
134
|
+
async function providerProfile(state, discovery, capability) {
|
|
135
|
+
if (state.has("profile") || !state.interactive)
|
|
136
|
+
return;
|
|
137
|
+
const existing = profiles(discovery, capability);
|
|
138
|
+
const local = "__local__";
|
|
139
|
+
const value = await state.select(`${capability} profile`, [
|
|
140
|
+
...existing.map((profile) => ({
|
|
141
|
+
value: profile.name,
|
|
142
|
+
label: profile.name,
|
|
143
|
+
...(profile.isDefault ? { hint: "configured default" } : {}),
|
|
144
|
+
})),
|
|
145
|
+
{ value: local, label: "File-backed local", hint: "add @relkit/local" },
|
|
146
|
+
]);
|
|
147
|
+
if (value)
|
|
148
|
+
state.option("profile", value === local ? "local" : value);
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=add-resolver-domain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-resolver-domain.js","sourceRoot":"","sources":["../src/add-resolver-domain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EACL,eAAe,EACf,SAAS,EACT,QAAQ,EACR,cAAc,GACf,MAAM,+BAA+B,CAAC;AAGvC,MAAM,QAAQ,GAA8B;IAC1C,UAAU;IACV,OAAO;IACP,OAAO;IACP,gBAAgB;IAChB,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,WAAW;IACX,OAAO;CACR,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAyB,EACzB,SAA2B;IAE3B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/B,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/D,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;SAC/C,IAAI,IAAI,KAAK,UAAU;QAAE,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;SACjD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,MAAM,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;SAAM,IAAI,IAAI,KAAK,KAAK;QAAE,MAAM,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SACzD,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAyB;IACjD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,GAAG,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACzF,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC,EAAE;IAC3F,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAyB;IACjD,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU;QAAE,OAAO;IACpC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACjG,IAAI,IAAI;QAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,KAAyB;IACrD,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO;IACtD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAC7B,kBAAkB,EAClB;QACE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,oCAAoC,EAAE;QAChF,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE;QACrE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,EAAE;KAC3E,EACD,QAAQ,CACT,CAAC;IACF,IAAI,IAAI,KAAK,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9F,IAAI,QAAQ;YAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAyB;IACjD,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO;IAClC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,2CAA2C,EAAE,IAAI,CAAC,CAAC;IACvF,IAAI,OAAO,KAAK,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,KAAyB,EACzB,SAA2B;IAE3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAC3C,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC;aACxD,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACxE,IAAI,KAAK;gBAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9E,IAAI,KAAK;gBAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CACjC,eAAe,EACf,OAAO,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,EACjC,SAAS,CACV,CAAC;QACF,IAAI,QAAQ;YAAE,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,KAAyB;IAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAClC,gBAAgB,EAChB,OAAO,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,EACjC,SAAS,CACV,CAAC;QACF,IAAI,SAAS;YAAE,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAyB,EAAE,SAA2B;IAC9E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QAClF,MAAM,MAAM,GACV,UAAU,CAAC,MAAM,GAAG,CAAC;YACnB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAC3C,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC;aACzD,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,kCAAkC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACpF,IAAI,KAAK;gBAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,0BAA0B,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YACtF,IAAI,KAAK;gBAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,KAAyB,EACzB,SAA2B,EAC3B,UAA2B;IAE3B,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,OAAO;IACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,WAAW,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,UAAU,UAAU,EAAE;QACxD,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,OAAO,CAAC,IAAI;YACnB,KAAK,EAAE,OAAO,CAAC,IAAI;YACnB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC,CAAC;QACH,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE;KACxE,CAAC,CAAC;IACH,IAAI,KAAK;QAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AddResolutionState } from "./add-resolution-state.js";
|
|
2
|
+
import type { ProjectDiscovery } from "./project-discovery-types.js";
|
|
3
|
+
export declare function resolvePlatformOptions(state: AddResolutionState, discovery: ProjectDiscovery): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=add-resolver-platform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-resolver-platform.d.ts","sourceRoot":"","sources":["../src/add-resolver-platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAYrE,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
|
|
2
|
+
import { resolveService, selectedDomain } from "./add-resolution-discovery.js";
|
|
3
|
+
import { AddResolutionState, choices, label } from "./add-resolution-state.js";
|
|
4
|
+
const METHODS = [
|
|
5
|
+
"GET",
|
|
6
|
+
"POST",
|
|
7
|
+
"PUT",
|
|
8
|
+
"PATCH",
|
|
9
|
+
"DELETE",
|
|
10
|
+
"HEAD",
|
|
11
|
+
"OPTIONS",
|
|
12
|
+
];
|
|
13
|
+
export async function resolvePlatformOptions(state, discovery) {
|
|
14
|
+
const kind = state.parsed.kind;
|
|
15
|
+
if (kind === "route")
|
|
16
|
+
await routeOptions(state, discovery);
|
|
17
|
+
else if (kind === "middleware" && !state.has("path")) {
|
|
18
|
+
const path = await state.text("Middleware route scope", "*");
|
|
19
|
+
if (path)
|
|
20
|
+
state.option("path", path);
|
|
21
|
+
}
|
|
22
|
+
else if (kind === "database")
|
|
23
|
+
await databaseOptions(state);
|
|
24
|
+
else if (kind === "auth")
|
|
25
|
+
await authOptions(state, discovery);
|
|
26
|
+
}
|
|
27
|
+
async function routeOptions(state, discovery) {
|
|
28
|
+
if (!state.parsed.positional) {
|
|
29
|
+
const path = await state.text("Route path", "/");
|
|
30
|
+
if (path)
|
|
31
|
+
state.positional(path);
|
|
32
|
+
}
|
|
33
|
+
if (!state.has("mode")) {
|
|
34
|
+
const mode = await state.select("Route type", [
|
|
35
|
+
{ value: "route", label: "Route", hint: "standalone GET handler" },
|
|
36
|
+
{ value: "service-route", label: "Service route", hint: "map methods to public members" },
|
|
37
|
+
], "route");
|
|
38
|
+
if (mode)
|
|
39
|
+
state.option("mode", mode);
|
|
40
|
+
}
|
|
41
|
+
if (state.parsed.values.get("mode")?.[0] !== "service-route")
|
|
42
|
+
return;
|
|
43
|
+
await resolveService(state, discovery);
|
|
44
|
+
if (state.has("map") || !state.interactive)
|
|
45
|
+
return;
|
|
46
|
+
const methods = await state.multiselect("HTTP methods", choices(METHODS), true);
|
|
47
|
+
if (!methods)
|
|
48
|
+
return;
|
|
49
|
+
const domain = selectedDomain(state, discovery);
|
|
50
|
+
const service = discovery.services.find((item) => item.capability === "generic" && item.domain === domain);
|
|
51
|
+
for (const method of methods) {
|
|
52
|
+
if (service?.members.length) {
|
|
53
|
+
const member = await state.select(`${method} public member`, service.members.map((item) => ({
|
|
54
|
+
value: item.name,
|
|
55
|
+
label: label(item.name),
|
|
56
|
+
})));
|
|
57
|
+
if (member)
|
|
58
|
+
state.args.push("--map", `${method}=${member}`);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
const member = await state.text(`${method} function to create`, "Example", true);
|
|
62
|
+
if (member)
|
|
63
|
+
state.args.push("--map", `${method}=${member}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async function databaseOptions(state) {
|
|
68
|
+
if (!state.has("orm")) {
|
|
69
|
+
const accepted = await state.confirm("Use Drizzle ORM?", true);
|
|
70
|
+
if (accepted === false)
|
|
71
|
+
cancelled("Database scaffolding requires Drizzle ORM.");
|
|
72
|
+
if (accepted)
|
|
73
|
+
state.option("orm", "drizzle");
|
|
74
|
+
}
|
|
75
|
+
if (!state.has("dialect")) {
|
|
76
|
+
const dialect = await state.select("Database dialect", choices(["sqlite", "postgresql", "mysql"]), "sqlite");
|
|
77
|
+
if (dialect)
|
|
78
|
+
state.option("dialect", dialect);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async function authOptions(state, discovery) {
|
|
82
|
+
if (!state.has("adapter")) {
|
|
83
|
+
const accepted = await state.confirm("Use Better Auth?", true);
|
|
84
|
+
if (accepted === false)
|
|
85
|
+
cancelled("Auth scaffolding requires Better Auth.");
|
|
86
|
+
if (accepted)
|
|
87
|
+
state.option("adapter", "better-auth");
|
|
88
|
+
}
|
|
89
|
+
const databases = discovery.services.filter((service) => service.capability === "database");
|
|
90
|
+
if (!state.has("database-dialect") && databases.length === 1 && databases[0].dialect) {
|
|
91
|
+
state.option("database-dialect", databases[0].dialect);
|
|
92
|
+
}
|
|
93
|
+
else if (!state.has("database-dialect") && state.interactive) {
|
|
94
|
+
if (databases.length === 0) {
|
|
95
|
+
const accepted = await state.confirm("No database exists. Create a Drizzle database first?", true);
|
|
96
|
+
if (accepted === false)
|
|
97
|
+
cancelled("Auth requires a database service.");
|
|
98
|
+
}
|
|
99
|
+
const dialect = await state.select("Database dialect", choices(["sqlite", "postgresql", "mysql"]), "sqlite");
|
|
100
|
+
if (dialect)
|
|
101
|
+
state.option("database-dialect", dialect);
|
|
102
|
+
}
|
|
103
|
+
if (!state.has("base-path")) {
|
|
104
|
+
const path = await state.text("Auth base path", "/api/auth");
|
|
105
|
+
if (path)
|
|
106
|
+
state.option("base-path", path);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function cancelled(message) {
|
|
110
|
+
throw new AddScaffoldError(ADD_FAILURE_CODES.cancellation, message);
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=add-resolver-platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-resolver-platform.js","sourceRoot":"","sources":["../src/add-resolver-platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AddResolutionState } from "./add-resolution-state.js";
|
|
2
|
+
import type { ProjectDiscovery } from "./project-discovery-types.js";
|
|
3
|
+
export declare function resolveResourceOptions(state: AddResolutionState, discovery: ProjectDiscovery): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=add-resolver-resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-resolver-resources.d.ts","sourceRoot":"","sources":["../src/add-resolver-resources.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAW,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { usage } from "./add-options-parser.js";
|
|
2
|
+
import { bucketProfileOwners } from "./bucket-profiles.js";
|
|
3
|
+
import { artifactOptions, artifacts, profiles, selectedDomain, } from "./add-resolution-discovery.js";
|
|
4
|
+
import { AddResolutionState, choices } from "./add-resolution-state.js";
|
|
5
|
+
export async function resolveResourceOptions(state, discovery) {
|
|
6
|
+
const kind = state.parsed.kind;
|
|
7
|
+
if (kind === "cache" || kind === "bucket")
|
|
8
|
+
await providerSource(state, discovery, kind);
|
|
9
|
+
else if (kind === "tool")
|
|
10
|
+
await toolOptions(state, discovery);
|
|
11
|
+
else if (kind === "agent")
|
|
12
|
+
await agentOptions(state, discovery);
|
|
13
|
+
}
|
|
14
|
+
async function providerSource(state, discovery, capability) {
|
|
15
|
+
if (state.has("profile") || state.has("provider") || state.has("source"))
|
|
16
|
+
return;
|
|
17
|
+
const owners = capability === "bucket" ? await bucketProfileOwners(discovery) : new Map();
|
|
18
|
+
const existing = profiles(discovery, capability).filter((profile) => !owners.has(profile.name));
|
|
19
|
+
const local = capability === "cache" ? "redis:docker" : "s3:docker";
|
|
20
|
+
const connected = capability === "cache" ? "redis:connected" : "s3:connected";
|
|
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) {
|
|
66
|
+
if (!state.has("target") && !state.has("create-function")) {
|
|
67
|
+
const values = artifacts(discovery, selectedDomain(state, discovery), "function");
|
|
68
|
+
if (!state.interactive && values.length === 1)
|
|
69
|
+
state.option("target", values[0].id ?? values[0].binding);
|
|
70
|
+
else if (state.interactive) {
|
|
71
|
+
const create = "__create_function__";
|
|
72
|
+
const value = values.length === 0
|
|
73
|
+
? create
|
|
74
|
+
: await state.select("Callable function target", [
|
|
75
|
+
...artifactOptions(values),
|
|
76
|
+
{ value: create, label: "Create a new function" },
|
|
77
|
+
]);
|
|
78
|
+
if (value === create) {
|
|
79
|
+
const name = await state.text("Callable function name to create", state.parsed.positional, true);
|
|
80
|
+
if (name)
|
|
81
|
+
state.option("create-function", name);
|
|
82
|
+
}
|
|
83
|
+
else if (value)
|
|
84
|
+
state.option("target", value);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (!state.has("side-effect")) {
|
|
88
|
+
const value = await state.select("Side effect", choices(["none", "read", "write", "external"]), "read");
|
|
89
|
+
if (value)
|
|
90
|
+
state.option("side-effect", value);
|
|
91
|
+
}
|
|
92
|
+
if (!state.has("approval")) {
|
|
93
|
+
const value = await state.select("Approval policy", choices(["never", "on-write", "always"]), "never");
|
|
94
|
+
if (value)
|
|
95
|
+
state.option("approval", value);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async function agentOptions(state, discovery) {
|
|
99
|
+
const domain = selectedDomain(state, discovery);
|
|
100
|
+
if (!state.has("model")) {
|
|
101
|
+
const models = profiles(discovery, "model");
|
|
102
|
+
const preferred = models.find((profile) => profile.isDefault) ?? (models.length === 1 ? models[0] : undefined);
|
|
103
|
+
if (!state.interactive && preferred)
|
|
104
|
+
state.option("model", modelValue(preferred));
|
|
105
|
+
else if (state.interactive)
|
|
106
|
+
await selectModel(state, models);
|
|
107
|
+
}
|
|
108
|
+
if (!state.has("tool")) {
|
|
109
|
+
const tools = artifacts(discovery, domain, "tool");
|
|
110
|
+
if (tools.length > 0) {
|
|
111
|
+
const values = await state.multiselect("Tools to include", artifactOptions(tools));
|
|
112
|
+
if (values)
|
|
113
|
+
state.repeated("tool", values);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (state.has("prompt") || state.has("instructions"))
|
|
117
|
+
return;
|
|
118
|
+
const promptValues = artifacts(discovery, domain, "prompt");
|
|
119
|
+
if (!state.interactive && promptValues.length === 1) {
|
|
120
|
+
state.option("prompt", promptValues[0].id ?? promptValues[0].binding);
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (!state.interactive)
|
|
124
|
+
return;
|
|
125
|
+
const inline = "__inline__";
|
|
126
|
+
const selected = await state.select("Agent instructions", [...artifactOptions(promptValues), { value: inline, label: "Inline instructions" }], inline);
|
|
127
|
+
if (selected === inline) {
|
|
128
|
+
const text = await state.text("Instructions");
|
|
129
|
+
if (text)
|
|
130
|
+
state.option("instructions", text);
|
|
131
|
+
}
|
|
132
|
+
else if (selected)
|
|
133
|
+
state.option("prompt", selected);
|
|
134
|
+
}
|
|
135
|
+
async function selectModel(state, models) {
|
|
136
|
+
const preferred = models.find((profile) => profile.isDefault) ?? models[0];
|
|
137
|
+
if (!preferred)
|
|
138
|
+
return;
|
|
139
|
+
const selected = await state.select("Model", models.map((profile) => ({
|
|
140
|
+
value: modelValue(profile),
|
|
141
|
+
label: modelValue(profile),
|
|
142
|
+
...(profile.isDefault ? { hint: "configured default" } : {}),
|
|
143
|
+
})), modelValue(preferred));
|
|
144
|
+
if (selected)
|
|
145
|
+
state.option("model", selected);
|
|
146
|
+
}
|
|
147
|
+
function modelValue(profile) {
|
|
148
|
+
return profile.modelId ? `${profile.name}:${profile.modelId}` : profile.name;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=add-resolver-resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-resolver-resources.js","sourceRoot":"","sources":["../src/add-resolver-resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type AddRequest } from "./add-types.js";
|
|
2
|
+
import { type PromptDriver } from "./prompt-driver.js";
|
|
3
|
+
export interface ResolveAddContext {
|
|
4
|
+
readonly cwd?: string;
|
|
5
|
+
readonly interactive?: boolean;
|
|
6
|
+
readonly promptDriver?: PromptDriver;
|
|
7
|
+
}
|
|
8
|
+
export interface ResolvedAddRequest {
|
|
9
|
+
readonly request: AddRequest;
|
|
10
|
+
readonly prompted: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function resolveAddRequest(args: readonly string[], context?: ResolveAddContext): Promise<AddRequest>;
|
|
13
|
+
export declare function resolveAddRequestDetails(args: readonly string[], context?: ResolveAddContext): Promise<ResolvedAddRequest>;
|
|
14
|
+
//# sourceMappingURL=add-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-resolver.d.ts","sourceRoot":"","sources":["../src/add-resolver.ts"],"names":[],"mappings":"AAOA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,UAAU,CAAC,CAErB;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CAyB7B"}
|