@danielfgray/pg-sourcerer 0.2.0 → 0.2.2

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.
Files changed (173) hide show
  1. package/dist/cli.js +25 -19
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config.d.ts +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +1 -1
  6. package/dist/config.js.map +1 -1
  7. package/dist/errors.d.ts +14 -1
  8. package/dist/errors.d.ts.map +1 -1
  9. package/dist/errors.js +2 -0
  10. package/dist/errors.js.map +1 -1
  11. package/dist/generate.d.ts +31 -21
  12. package/dist/generate.d.ts.map +1 -1
  13. package/dist/generate.js +53 -43
  14. package/dist/generate.js.map +1 -1
  15. package/dist/index.d.ts +20 -12
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +27 -13
  18. package/dist/index.js.map +1 -1
  19. package/dist/init.d.ts +0 -1
  20. package/dist/init.d.ts.map +1 -1
  21. package/dist/init.js +90 -35
  22. package/dist/init.js.map +1 -1
  23. package/dist/ir/extensions/queries.d.ts +264 -0
  24. package/dist/ir/extensions/queries.d.ts.map +1 -0
  25. package/dist/ir/extensions/queries.js +153 -0
  26. package/dist/ir/extensions/queries.js.map +1 -0
  27. package/dist/ir/extensions/schema-builder.d.ts +61 -0
  28. package/dist/ir/extensions/schema-builder.d.ts.map +1 -0
  29. package/dist/ir/extensions/schema-builder.js +5 -0
  30. package/dist/ir/extensions/schema-builder.js.map +1 -0
  31. package/dist/lib/conjure.d.ts +101 -0
  32. package/dist/lib/conjure.d.ts.map +1 -1
  33. package/dist/lib/conjure.js +204 -26
  34. package/dist/lib/conjure.js.map +1 -1
  35. package/dist/lib/hex.d.ts +10 -8
  36. package/dist/lib/hex.d.ts.map +1 -1
  37. package/dist/lib/hex.js +18 -15
  38. package/dist/lib/hex.js.map +1 -1
  39. package/dist/plugins/arktype.d.ts +27 -14
  40. package/dist/plugins/arktype.d.ts.map +1 -1
  41. package/dist/plugins/arktype.js +166 -130
  42. package/dist/plugins/arktype.js.map +1 -1
  43. package/dist/plugins/effect.d.ts +53 -0
  44. package/dist/plugins/effect.d.ts.map +1 -0
  45. package/dist/plugins/effect.js +1074 -0
  46. package/dist/plugins/effect.js.map +1 -0
  47. package/dist/plugins/http-elysia.d.ts +32 -0
  48. package/dist/plugins/http-elysia.d.ts.map +1 -0
  49. package/dist/plugins/http-elysia.js +613 -0
  50. package/dist/plugins/http-elysia.js.map +1 -0
  51. package/dist/plugins/http-express.d.ts +36 -0
  52. package/dist/plugins/http-express.d.ts.map +1 -0
  53. package/dist/plugins/http-express.js +388 -0
  54. package/dist/plugins/http-express.js.map +1 -0
  55. package/dist/plugins/http-hono.d.ts +36 -0
  56. package/dist/plugins/http-hono.d.ts.map +1 -0
  57. package/dist/plugins/http-hono.js +453 -0
  58. package/dist/plugins/http-hono.js.map +1 -0
  59. package/dist/plugins/http-orpc.d.ts +55 -0
  60. package/dist/plugins/http-orpc.d.ts.map +1 -0
  61. package/dist/plugins/http-orpc.js +370 -0
  62. package/dist/plugins/http-orpc.js.map +1 -0
  63. package/dist/plugins/http-trpc.d.ts +59 -0
  64. package/dist/plugins/http-trpc.d.ts.map +1 -0
  65. package/dist/plugins/http-trpc.js +392 -0
  66. package/dist/plugins/http-trpc.js.map +1 -0
  67. package/dist/plugins/kysely/queries.d.ts +92 -0
  68. package/dist/plugins/kysely/queries.d.ts.map +1 -0
  69. package/dist/plugins/kysely/queries.js +1169 -0
  70. package/dist/plugins/kysely/queries.js.map +1 -0
  71. package/dist/plugins/kysely/shared.d.ts +59 -0
  72. package/dist/plugins/kysely/shared.d.ts.map +1 -0
  73. package/dist/plugins/kysely/shared.js +247 -0
  74. package/dist/plugins/kysely/shared.js.map +1 -0
  75. package/dist/plugins/kysely/types.d.ts +22 -0
  76. package/dist/plugins/kysely/types.d.ts.map +1 -0
  77. package/dist/plugins/kysely/types.js +428 -0
  78. package/dist/plugins/kysely/types.js.map +1 -0
  79. package/dist/plugins/kysely.d.ts +72 -0
  80. package/dist/plugins/kysely.d.ts.map +1 -0
  81. package/dist/plugins/kysely.js +906 -0
  82. package/dist/plugins/kysely.js.map +1 -0
  83. package/dist/plugins/sql-queries.d.ts +55 -7
  84. package/dist/plugins/sql-queries.d.ts.map +1 -1
  85. package/dist/plugins/sql-queries.js +747 -121
  86. package/dist/plugins/sql-queries.js.map +1 -1
  87. package/dist/plugins/types.d.ts +20 -14
  88. package/dist/plugins/types.d.ts.map +1 -1
  89. package/dist/plugins/types.js +90 -112
  90. package/dist/plugins/types.js.map +1 -1
  91. package/dist/plugins/valibot.d.ts +45 -0
  92. package/dist/plugins/valibot.d.ts.map +1 -0
  93. package/dist/plugins/valibot.js +422 -0
  94. package/dist/plugins/valibot.js.map +1 -0
  95. package/dist/plugins/zod.d.ts +27 -14
  96. package/dist/plugins/zod.d.ts.map +1 -1
  97. package/dist/plugins/zod.js +231 -166
  98. package/dist/plugins/zod.js.map +1 -1
  99. package/dist/services/artifact-store.d.ts +11 -1
  100. package/dist/services/artifact-store.d.ts.map +1 -1
  101. package/dist/services/artifact-store.js +9 -0
  102. package/dist/services/artifact-store.js.map +1 -1
  103. package/dist/services/config-loader.d.ts +4 -0
  104. package/dist/services/config-loader.d.ts.map +1 -1
  105. package/dist/services/config-loader.js +1 -1
  106. package/dist/services/config-loader.js.map +1 -1
  107. package/dist/services/config.d.ts +57 -0
  108. package/dist/services/config.d.ts.map +1 -0
  109. package/dist/services/config.js +66 -0
  110. package/dist/services/config.js.map +1 -0
  111. package/dist/services/core-providers.d.ts +15 -0
  112. package/dist/services/core-providers.d.ts.map +1 -0
  113. package/dist/services/core-providers.js +23 -0
  114. package/dist/services/core-providers.js.map +1 -0
  115. package/dist/services/emissions.d.ts +14 -0
  116. package/dist/services/emissions.d.ts.map +1 -1
  117. package/dist/services/emissions.js +86 -47
  118. package/dist/services/emissions.js.map +1 -1
  119. package/dist/services/execution.d.ts +35 -0
  120. package/dist/services/execution.d.ts.map +1 -0
  121. package/dist/services/execution.js +86 -0
  122. package/dist/services/execution.js.map +1 -0
  123. package/dist/services/file-builder.d.ts +4 -0
  124. package/dist/services/file-builder.d.ts.map +1 -1
  125. package/dist/services/file-builder.js.map +1 -1
  126. package/dist/services/inflection.d.ts +2 -2
  127. package/dist/services/inflection.d.ts.map +1 -1
  128. package/dist/services/inflection.js +4 -4
  129. package/dist/services/inflection.js.map +1 -1
  130. package/dist/services/ir-builder.d.ts.map +1 -1
  131. package/dist/services/ir-builder.js +10 -3
  132. package/dist/services/ir-builder.js.map +1 -1
  133. package/dist/services/pg-types.d.ts +31 -0
  134. package/dist/services/pg-types.d.ts.map +1 -1
  135. package/dist/services/pg-types.js +24 -0
  136. package/dist/services/pg-types.js.map +1 -1
  137. package/dist/services/plugin-runner.d.ts +27 -37
  138. package/dist/services/plugin-runner.d.ts.map +1 -1
  139. package/dist/services/plugin-runner.js +73 -171
  140. package/dist/services/plugin-runner.js.map +1 -1
  141. package/dist/services/plugin.d.ts +350 -215
  142. package/dist/services/plugin.d.ts.map +1 -1
  143. package/dist/services/plugin.js +182 -130
  144. package/dist/services/plugin.js.map +1 -1
  145. package/dist/services/resolution.d.ts +38 -0
  146. package/dist/services/resolution.d.ts.map +1 -0
  147. package/dist/services/resolution.js +242 -0
  148. package/dist/services/resolution.js.map +1 -0
  149. package/dist/services/service-registry.d.ts +74 -0
  150. package/dist/services/service-registry.d.ts.map +1 -0
  151. package/dist/services/service-registry.js +61 -0
  152. package/dist/services/service-registry.js.map +1 -0
  153. package/dist/services/symbols.d.ts +59 -0
  154. package/dist/services/symbols.d.ts.map +1 -1
  155. package/dist/services/symbols.js +16 -0
  156. package/dist/services/symbols.js.map +1 -1
  157. package/dist/testing.d.ts +4 -25
  158. package/dist/testing.d.ts.map +1 -1
  159. package/dist/testing.js +2 -23
  160. package/dist/testing.js.map +1 -1
  161. package/package.json +1 -1
  162. package/dist/plugins/effect-model.d.ts +0 -17
  163. package/dist/plugins/effect-model.d.ts.map +0 -1
  164. package/dist/plugins/effect-model.js +0 -409
  165. package/dist/plugins/effect-model.js.map +0 -1
  166. package/dist/plugins/kysely-queries.d.ts +0 -66
  167. package/dist/plugins/kysely-queries.d.ts.map +0 -1
  168. package/dist/plugins/kysely-queries.js +0 -960
  169. package/dist/plugins/kysely-queries.js.map +0 -1
  170. package/dist/plugins/kysely-types.d.ts +0 -35
  171. package/dist/plugins/kysely-types.d.ts.map +0 -1
  172. package/dist/plugins/kysely-types.js +0 -601
  173. package/dist/plugins/kysely-types.js.map +0 -1
package/dist/index.js CHANGED
@@ -7,6 +7,8 @@
7
7
  export { Config, TypeHint, TypeHintMatch } from "./config.js";
8
8
  // Config Loader Service
9
9
  export { ConfigLoaderService, ConfigLoaderLive, createConfigLoader, defineConfig, } from "./services/config-loader.js";
10
+ // Config Service (Effect DI)
11
+ export { ConfigService, ConfigFromFile, ConfigWithInit, ConfigTest, getConfigSearchPaths, } from "./services/config.js";
10
12
  // Errors
11
13
  export * from "./errors.js";
12
14
  // IR
@@ -16,26 +18,30 @@ isTableEntity, isEnumEntity, isDomainEntity, isCompositeEntity, isFunctionEntity
16
18
  // Helpers
17
19
  getTableEntities, getEnumEntities, getDomainEntities, getCompositeEntities, getFunctionEntities, getReverseRelations, getAllRelations, } from "./ir/index.js";
18
20
  export { SmartTags, ShapeKind } from "./ir/index.js";
21
+ // IR Extensions - Contracts between providers
22
+ export { EntityQueriesExtension as EntityQueriesExtensionSchema, FunctionsExtension as FunctionsExtensionSchema, } from "./ir/extensions/queries.js";
19
23
  // Services - IR
20
24
  export { IR } from "./services/ir.js";
21
25
  // Services - Artifact Store
22
26
  export { ArtifactStore, createArtifactStore, ArtifactStoreLive } from "./services/artifact-store.js";
23
27
  // Services - Plugin Meta
24
28
  export { PluginMeta } from "./services/plugin-meta.js";
25
- // Services - Plugin Types (Effect-native plugin interface)
26
- export { definePlugin, } from "./services/plugin.js";
29
+ // Services - Plugin Types (new plugin API)
30
+ export { PluginNotFound, PluginCycle, PluginExecutionFailed, ResourceNotResolved, Plugins, PluginsLive, definePlugin, createPluginRegistry, } from "./services/plugin.js";
27
31
  // Services - Inflection
28
32
  export { Inflection, inflect, defaultInflection, defaultTransforms, createInflection, makeInflectionLayer, composeInflectionConfigs, composeInflection, InflectionLive, } from "./services/inflection.js";
29
33
  // Services - Type Hints
30
34
  export { TypeHints, createTypeHintRegistry, emptyTypeHintRegistry, TypeHintsLive, } from "./services/type-hints.js";
31
35
  // Services - PostgreSQL Type Mapping
32
- export { PgTypeOid, TsType, ExtensionTypeMap, defaultPgToTs, getExtensionTypeMapping, composeMappers, wrapArrayType, wrapNullable, findEnumByPgName, } from "./services/pg-types.js";
36
+ export { PgTypeOid, TsType, ExtensionTypeMap, defaultPgToTs, getExtensionTypeMapping, composeMappers, wrapArrayType, wrapNullable, findEnumByPgName, findCompositeByPgName, } from "./services/pg-types.js";
33
37
  // Services - Symbols
34
38
  export { Symbols, createSymbolRegistry, SymbolsLive, } from "./services/symbols.js";
39
+ // Services - Service Registry (plugin-to-plugin communication)
40
+ export { Services, createServiceRegistry, ServicesLive, } from "./services/service-registry.js";
35
41
  // Services - Emissions
36
42
  export { Emissions, createEmissionBuffer, EmissionsLive, } from "./services/emissions.js";
37
43
  // Services - Plugin Runner
38
- export { PluginRunner } from "./services/plugin-runner.js";
44
+ export { runPlugins, } from "./services/plugin-runner.js";
39
45
  // Services - File Writer
40
46
  export { FileWriterSvc, createFileWriter, FileWriterLive, } from "./services/file-writer.js";
41
47
  // Services - Smart Tags Parser
@@ -47,15 +53,23 @@ export { PluginTestLayers, createPluginTestLayer, } from "./testing.js";
47
53
  // Conjure - AST builder DSL
48
54
  export { conjure, cast, } from "./lib/conjure.js";
49
55
  // Hex - SQL query building primitives
50
- export { hex, buildTemplateLiteral, buildAwaitSqlTag, buildAwaitSqlString, buildQuery, buildFirstRowDecl, buildAllRowsDecl, buildReturnQuery, asyncFn, exportFn, } from "./lib/hex.js";
51
- // Plugins
52
- export { typesPlugin } from "./plugins/types.js";
53
- export { zodPlugin } from "./plugins/zod.js";
54
- export { arktypePlugin } from "./plugins/arktype.js";
55
- export { effectModelPlugin } from "./plugins/effect-model.js";
56
- export { sqlQueriesPlugin } from "./plugins/sql-queries.js";
57
- export { kyselyQueriesPlugin } from "./plugins/kysely-queries.js";
58
- export { kyselyTypesPlugin } from "./plugins/kysely-types.js";
56
+ export { hex, buildTemplateLiteral, buildAwaitSqlTag, buildAwaitSqlString, buildQuery, buildFirstRowDecl, buildAllRowsDecl, buildReturnQuery, } from "./lib/hex.js";
57
+ // Plugins (new API)
58
+ export { typesPlugin, types } from "./plugins/types.js";
59
+ export { zod } from "./plugins/zod.js";
60
+ export { arktype } from "./plugins/arktype.js";
61
+ export { valibot } from "./plugins/valibot.js";
62
+ export { sqlQueries, sqlQueries as sqlQueriesPlugin } from "./plugins/sql-queries.js";
63
+ // Effect plugin (unified model + repository + http)
64
+ export { effect, effectPlugin } from "./plugins/effect.js";
65
+ // Kysely plugin
66
+ export { kysely } from "./plugins/kysely.js";
67
+ // HTTP plugins (new API)
68
+ export { httpElysia } from "./plugins/http-elysia.js";
69
+ export { httpExpress } from "./plugins/http-express.js";
70
+ export { httpHono } from "./plugins/http-hono.js";
71
+ export { httpTrpc } from "./plugins/http-trpc.js";
72
+ export { httpOrpc } from "./plugins/http-orpc.js";
59
73
  // Generate orchestration
60
74
  export { generate, runGenerate, GenerateLive, } from "./generate.js";
61
75
  // Database introspection
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/init.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { FileSystem, Terminal } from "@effect/platform";
2
2
  import { Effect } from "effect";
3
3
  export declare const runInit: Effect.Effect<{
4
- runGenerate: boolean;
5
4
  configPath: string;
6
5
  }, Error | import("@effect/platform/Error").PlatformError, FileSystem.FileSystem | Terminal.Terminal>;
7
6
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAkB,MAAM,EAAkC,MAAM,QAAQ,CAAC;AAmdhF,eAAO,MAAM,OAAO;;;qGAgElB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAkB,MAAM,EAAkC,MAAM,QAAQ,CAAC;AAghBhF,eAAO,MAAM,OAAO;;qGA0DlB,CAAC"}
package/dist/init.js CHANGED
@@ -8,17 +8,21 @@ import { Prompt } from "@effect/cli";
8
8
  import { FileSystem } from "@effect/platform";
9
9
  import { Array, Console, Effect, HashMap, HashSet, Option, pipe } from "effect";
10
10
  import postgres from "postgres";
11
- import { conjure, cast } from "./lib/conjure.js";
11
+ import { conjure } from "./lib/conjure.js";
12
12
  import recast from "recast";
13
13
  import { introspectDatabase } from "./services/introspection.js";
14
14
  /** Maps plugin value to import name for config generation */
15
15
  const pluginImportNames = {
16
- types: "typesPlugin",
17
- zod: "zodPlugin",
16
+ types: "types",
17
+ zod: "zod",
18
18
  arktype: "arktypePlugin",
19
- "effect-model": "effectModelPlugin",
20
- "sql-queries": "sqlQueriesPlugin",
19
+ effect: "effect",
20
+ "sql-queries": "sqlQueries",
21
+ "kysely-types": "kyselyTypesPlugin",
21
22
  "kysely-queries": "kyselyQueriesPlugin",
23
+ "http-elysia": "httpElysiaPlugin",
24
+ "http-trpc": "httpTrpcPlugin",
25
+ "http-orpc": "httpOrpcPlugin",
22
26
  };
23
27
  /** Get plugin info by value */
24
28
  const getPluginInfo = (value) => {
@@ -191,34 +195,88 @@ const makeOutputDirPrompt = () => Prompt.text({
191
195
  default: "./generated",
192
196
  });
193
197
  /**
194
- * Staged plugin selection using radio groups per category.
195
- * Schema libs (zod/arktype/effect-model) each generate their own types,
196
- * so they conflict with the standalone types plugin.
198
+ * Plugin selection with Kysely-aware branching.
199
+ *
200
+ * Flow:
201
+ * 1. Kysely? → yes: checkboxes for types + kysely-queries → HTTP plugins → exit
202
+ * 2. No Kysely → raw types or schema-driven?
203
+ * 3. If schema-driven → select schema lib (zod/arktype/effect)
204
+ * 4. Query plugins (optional multiselect, currently just sql-queries)
205
+ * 5. HTTP/RPC framework (optional)
197
206
  */
198
207
  const makePluginsPrompt = () => Effect.gen(function* () {
199
- // Stage 1: Type/Schema generation (mutually exclusive)
200
- const typePlugin = yield* Prompt.select({
201
- message: "Type/Schema generation",
208
+ // Step 1: Kysely gateway
209
+ const usesKysely = yield* Prompt.confirm({
210
+ message: "Do you use Kysely?",
211
+ initial: false,
212
+ });
213
+ if (usesKysely) {
214
+ // Kysely path: checkboxes, both pre-selected
215
+ const kyselyPlugins = yield* Prompt.multiSelect({
216
+ message: "Select Kysely plugins",
217
+ choices: [
218
+ { title: "kysely-types - Kysely-compatible types", value: "kysely-types", selected: true },
219
+ { title: "kysely-queries - Query builders", value: "kysely-queries", selected: true },
220
+ ],
221
+ });
222
+ // Step 5: HTTP/RPC framework (only show if queries selected)
223
+ const hasQueries = kyselyPlugins.includes("kysely-queries");
224
+ if (hasQueries) {
225
+ const httpPlugins = yield* Prompt.multiSelect({
226
+ message: "HTTP/RPC framework (optional, requires query plugin)",
227
+ choices: [
228
+ { title: "Elysia routes", value: "http-elysia", selected: false },
229
+ { title: "tRPC routers", value: "http-trpc", selected: false },
230
+ { title: "oRPC routers", value: "http-orpc", selected: false },
231
+ ],
232
+ });
233
+ return [...kyselyPlugins, ...httpPlugins];
234
+ }
235
+ return kyselyPlugins;
236
+ }
237
+ // Step 2: Raw vs schema-driven
238
+ const typeApproach = yield* Prompt.select({
239
+ message: "How do you want your types generated?",
202
240
  choices: [
203
- { title: "types - Standalone TypeScript types", value: "types" },
204
- { title: "zod - Zod schemas (includes types)", value: "zod" },
205
- { title: "arktype - ArkType schemas (includes types)", value: "arktype" },
206
- { title: "effect-model - Effect Schema (includes types)", value: "effect-model" },
241
+ { title: "Raw TypeScript types", value: "raw" },
242
+ { title: "Schema-driven (with validation library)", value: "schema" },
207
243
  ],
208
244
  });
209
- // Stage 2: Query generation (optional, mutually exclusive)
210
- const queryPlugin = yield* Prompt.select({
211
- message: "Query generation",
245
+ let typePlugin;
246
+ if (typeApproach === "raw") {
247
+ typePlugin = "types";
248
+ }
249
+ else {
250
+ // Step 3: Schema library selection
251
+ typePlugin = yield* Prompt.select({
252
+ message: "Select schema library",
253
+ choices: [
254
+ { title: "Zod", value: "zod" },
255
+ { title: "ArkType", value: "arktype" },
256
+ { title: "Effect Schema (@effect/sql)", value: "effect" },
257
+ ],
258
+ });
259
+ }
260
+ // Step 4: Query plugins (optional multiselect, future-proof)
261
+ const queryPlugins = yield* Prompt.multiSelect({
262
+ message: "Query generation (optional)",
212
263
  choices: [
213
- { title: "None", value: "none" },
214
- { title: "sql-queries - Raw SQL query functions", value: "sql-queries" },
215
- { title: "kysely-queries - Kysely query builders", value: "kysely-queries" },
264
+ { title: "sql-queries - Raw SQL query functions", value: "sql-queries", selected: false },
216
265
  ],
217
266
  });
218
- const plugins = [typePlugin];
219
- if (queryPlugin !== "none")
220
- plugins.push(queryPlugin);
221
- return plugins;
267
+ // Step 5: HTTP/RPC framework (only show if queries selected)
268
+ if (queryPlugins.length > 0) {
269
+ const httpPlugins = yield* Prompt.multiSelect({
270
+ message: "HTTP/RPC framework (optional)",
271
+ choices: [
272
+ { title: "Elysia routes", value: "http-elysia", selected: false },
273
+ { title: "tRPC routers", value: "http-trpc", selected: false },
274
+ { title: "oRPC routers", value: "http-orpc", selected: false },
275
+ ],
276
+ });
277
+ return [typePlugin, ...queryPlugins, ...httpPlugins];
278
+ }
279
+ return [typePlugin, ...queryPlugins];
222
280
  });
223
281
  const makeFormatterPrompt = () => Prompt.text({
224
282
  message: "Formatter command (optional, leave empty to skip)",
@@ -257,10 +315,12 @@ const generateConfigContent = (answers) => {
257
315
  // Build the config object - handle env ref vs literal
258
316
  let configObj = conjure.obj();
259
317
  if (answers.isEnvRef) {
260
- // Generate: connectionString: process.env.DATABASE_URL
318
+ // Generate: connectionString: process.env.DATABASE_URL!
261
319
  const envKey = answers.connectionConfigValue.replace("process.env.", "");
262
320
  const envAccess = conjure.b.memberExpression(conjure.b.memberExpression(conjure.b.identifier("process"), conjure.b.identifier("env")), conjure.b.identifier(envKey));
263
- configObj = configObj.prop("connectionString", envAccess);
321
+ // Add non-null assertion (!)
322
+ const envAccessWithAssertion = conjure.b.tsNonNullExpression(envAccess);
323
+ configObj = configObj.prop("connectionString", envAccessWithAssertion);
264
324
  }
265
325
  else {
266
326
  configObj = configObj.prop("connectionString", conjure.str(answers.connectionConfigValue));
@@ -283,12 +343,12 @@ const generateConfigContent = (answers) => {
283
343
  configObj = configObj.prop("formatter", conjure.str(answers.formatter.trim()));
284
344
  }
285
345
  // Plugins array - no config needed, all plugins have sensible defaults
286
- const pluginCalls = selectedPlugins.map(plugin => conjure.id(plugin.importName).call([]).build());
346
+ const pluginCalls = selectedPlugins.map(p => conjure.id(p.importName).call([]).build());
287
347
  const pluginsArr = conjure.arr(...pluginCalls);
288
348
  configObj = configObj.prop("plugins", pluginsArr.build());
289
349
  // Build the export default statement
290
350
  const defineConfigCall = conjure.id("defineConfig").call([configObj.build()]).build();
291
- const exportDefault = conjure.b.exportDefaultDeclaration(cast.toExpr(defineConfigCall));
351
+ const exportDefault = conjure.export.default(defineConfigCall);
292
352
  // Build the program and print with 2-space indentation
293
353
  const program = conjure.program(importDecl, exportDefault);
294
354
  return recast.print(program, { tabWidth: 2 }).code + "\n";
@@ -340,11 +400,6 @@ export const runInit = Effect.gen(function* () {
340
400
  const configContent = generateConfigContent(answers);
341
401
  yield* fs.writeFileString(configPath, configContent);
342
402
  yield* Console.log(`\n✓ Created ${CONFIG_FILENAME}`);
343
- // Ask if user wants to run generate now
344
- const runGenerate = yield* Prompt.confirm({
345
- message: "Run generate now?",
346
- initial: true,
347
- });
348
- return { runGenerate, configPath };
403
+ return { configPath };
349
404
  });
350
405
  //# sourceMappingURL=init.js.map
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,264 @@
1
+ /**
2
+ * Query Extension Schema
3
+ *
4
+ * Defines the abstract contract between query providers and consumers.
5
+ * Core understands that "queries" exist as a concept without knowing
6
+ * how they're implemented (SQL tags, Kysely, Drizzle, etc.).
7
+ *
8
+ * Query providers (sql-queries, kysely-queries) register method symbols.
9
+ * HTTP providers (http-elysia, http-trpc) consume them to generate routes.
10
+ *
11
+ * Communication happens through the SymbolRegistry:
12
+ * - Query providers call ctx.symbols.registerEntityMethods(...)
13
+ * - HTTP providers call ctx.symbols.getEntityMethods(...)
14
+ */
15
+ import { Schema as S } from "effect";
16
+ /**
17
+ * Where a parameter value comes from in the HTTP request.
18
+ * Used by HTTP providers to map query params to request parts.
19
+ */
20
+ export declare const ParamSource: S.Union<[S.Literal<["pk"]>, S.Literal<["fk"]>, S.Literal<["lookup"]>, S.Literal<["body"]>, S.Literal<["pagination"]>]>;
21
+ export type ParamSource = S.Schema.Type<typeof ParamSource>;
22
+ /**
23
+ * The kind of operation a query method performs.
24
+ * Used by HTTP providers to determine HTTP method and route structure.
25
+ */
26
+ export declare const QueryMethodKind: S.Union<[S.Literal<["read"]>, S.Literal<["list"]>, S.Literal<["create"]>, S.Literal<["update"]>, S.Literal<["delete"]>, S.Literal<["lookup"]>, S.Literal<["function"]>]>;
27
+ export type QueryMethodKind = S.Schema.Type<typeof QueryMethodKind>;
28
+ /**
29
+ * A parameter to a query method.
30
+ */
31
+ export declare const QueryMethodParam: S.Struct<{
32
+ /** Parameter name in the generated function */
33
+ name: typeof S.String;
34
+ /** TypeScript type as string (e.g., "string", "number", "User") */
35
+ type: typeof S.String;
36
+ /** Whether the parameter is required */
37
+ required: typeof S.Boolean;
38
+ /** Original column name (if applicable) */
39
+ columnName: S.optional<typeof S.String>;
40
+ /** Where this param should come from in HTTP request */
41
+ source: S.optional<S.Union<[S.Literal<["pk"]>, S.Literal<["fk"]>, S.Literal<["lookup"]>, S.Literal<["body"]>, S.Literal<["pagination"]>]>>;
42
+ }>;
43
+ export type QueryMethodParam = S.Schema.Type<typeof QueryMethodParam>;
44
+ /**
45
+ * Return type information for a query method.
46
+ */
47
+ export declare const QueryMethodReturn: S.Struct<{
48
+ /** TypeScript type as string */
49
+ type: typeof S.String;
50
+ /** Whether the result can be null/undefined */
51
+ nullable: typeof S.Boolean;
52
+ /** Whether the result is an array */
53
+ isArray: typeof S.Boolean;
54
+ }>;
55
+ export type QueryMethodReturn = S.Schema.Type<typeof QueryMethodReturn>;
56
+ /**
57
+ * How to call a query function.
58
+ * Used by HTTP providers to generate correct function invocations.
59
+ */
60
+ export declare const CallSignature: S.Struct<{
61
+ /** "named" = fn({ a, b }), "positional" = fn(a, b) */
62
+ style: S.Union<[S.Literal<["named"]>, S.Literal<["positional"]>]>;
63
+ /** For named + body: "property" = { data: body }, "spread" = { field1, field2 } */
64
+ bodyStyle: S.optional<S.Union<[S.Literal<["property"]>, S.Literal<["spread"]>]>>;
65
+ }>;
66
+ export type CallSignature = S.Schema.Type<typeof CallSignature>;
67
+ /**
68
+ * A query method for an entity.
69
+ *
70
+ * This is the core abstraction that HTTP providers consume.
71
+ * It describes what the method does without revealing implementation.
72
+ */
73
+ export declare const QueryMethod: S.Struct<{
74
+ /** Export name in the generated file (e.g., "findUserById") */
75
+ name: typeof S.String;
76
+ /** What kind of operation this performs */
77
+ kind: S.Union<[S.Literal<["read"]>, S.Literal<["list"]>, S.Literal<["create"]>, S.Literal<["update"]>, S.Literal<["delete"]>, S.Literal<["lookup"]>, S.Literal<["function"]>]>;
78
+ /** Parameters the method accepts */
79
+ params: S.Array$<S.Struct<{
80
+ /** Parameter name in the generated function */
81
+ name: typeof S.String;
82
+ /** TypeScript type as string (e.g., "string", "number", "User") */
83
+ type: typeof S.String;
84
+ /** Whether the parameter is required */
85
+ required: typeof S.Boolean;
86
+ /** Original column name (if applicable) */
87
+ columnName: S.optional<typeof S.String>;
88
+ /** Where this param should come from in HTTP request */
89
+ source: S.optional<S.Union<[S.Literal<["pk"]>, S.Literal<["fk"]>, S.Literal<["lookup"]>, S.Literal<["body"]>, S.Literal<["pagination"]>]>>;
90
+ }>>;
91
+ /** Return type information */
92
+ returns: S.Struct<{
93
+ /** TypeScript type as string */
94
+ type: typeof S.String;
95
+ /** Whether the result can be null/undefined */
96
+ nullable: typeof S.Boolean;
97
+ /** Whether the result is an array */
98
+ isArray: typeof S.Boolean;
99
+ }>;
100
+ /** For lookup methods: the field being looked up */
101
+ lookupField: S.optional<typeof S.String>;
102
+ /** For lookup methods: whether it returns a single result or array */
103
+ isUniqueLookup: S.optional<typeof S.Boolean>;
104
+ /** How to invoke this method */
105
+ callSignature: S.optional<S.Struct<{
106
+ /** "named" = fn({ a, b }), "positional" = fn(a, b) */
107
+ style: S.Union<[S.Literal<["named"]>, S.Literal<["positional"]>]>;
108
+ /** For named + body: "property" = { data: body }, "spread" = { field1, field2 } */
109
+ bodyStyle: S.optional<S.Union<[S.Literal<["property"]>, S.Literal<["spread"]>]>>;
110
+ }>>;
111
+ }>;
112
+ export type QueryMethod = S.Schema.Type<typeof QueryMethod>;
113
+ /**
114
+ * Query extension data for an entity.
115
+ *
116
+ * This is the shape registered via ctx.symbols.registerEntityMethods().
117
+ * HTTP providers read via ctx.symbols.getEntityMethods(entityName).
118
+ */
119
+ export declare const EntityQueriesExtension: S.Struct<{
120
+ /** Available query methods for this entity */
121
+ methods: S.Array$<S.Struct<{
122
+ /** Export name in the generated file (e.g., "findUserById") */
123
+ name: typeof S.String;
124
+ /** What kind of operation this performs */
125
+ kind: S.Union<[S.Literal<["read"]>, S.Literal<["list"]>, S.Literal<["create"]>, S.Literal<["update"]>, S.Literal<["delete"]>, S.Literal<["lookup"]>, S.Literal<["function"]>]>;
126
+ /** Parameters the method accepts */
127
+ params: S.Array$<S.Struct<{
128
+ /** Parameter name in the generated function */
129
+ name: typeof S.String;
130
+ /** TypeScript type as string (e.g., "string", "number", "User") */
131
+ type: typeof S.String;
132
+ /** Whether the parameter is required */
133
+ required: typeof S.Boolean;
134
+ /** Original column name (if applicable) */
135
+ columnName: S.optional<typeof S.String>;
136
+ /** Where this param should come from in HTTP request */
137
+ source: S.optional<S.Union<[S.Literal<["pk"]>, S.Literal<["fk"]>, S.Literal<["lookup"]>, S.Literal<["body"]>, S.Literal<["pagination"]>]>>;
138
+ }>>;
139
+ /** Return type information */
140
+ returns: S.Struct<{
141
+ /** TypeScript type as string */
142
+ type: typeof S.String;
143
+ /** Whether the result can be null/undefined */
144
+ nullable: typeof S.Boolean;
145
+ /** Whether the result is an array */
146
+ isArray: typeof S.Boolean;
147
+ }>;
148
+ /** For lookup methods: the field being looked up */
149
+ lookupField: S.optional<typeof S.String>;
150
+ /** For lookup methods: whether it returns a single result or array */
151
+ isUniqueLookup: S.optional<typeof S.Boolean>;
152
+ /** How to invoke this method */
153
+ callSignature: S.optional<S.Struct<{
154
+ /** "named" = fn({ a, b }), "positional" = fn(a, b) */
155
+ style: S.Union<[S.Literal<["named"]>, S.Literal<["positional"]>]>;
156
+ /** For named + body: "property" = { data: body }, "spread" = { field1, field2 } */
157
+ bodyStyle: S.optional<S.Union<[S.Literal<["property"]>, S.Literal<["spread"]>]>>;
158
+ }>>;
159
+ }>>;
160
+ /** Import path for the generated query file (relative to output root) */
161
+ importPath: typeof S.String;
162
+ /** Primary key type (for routing) */
163
+ pkType: S.optional<typeof S.String>;
164
+ /** Whether entity has composite primary key */
165
+ hasCompositePk: S.optional<typeof S.Boolean>;
166
+ }>;
167
+ export type EntityQueriesExtension = S.Schema.Type<typeof EntityQueriesExtension>;
168
+ /**
169
+ * A standalone database function (not tied to an entity).
170
+ */
171
+ export declare const StandaloneFunction: S.Struct<{
172
+ /** PostgreSQL function name */
173
+ functionName: typeof S.String;
174
+ /** Export name in generated code */
175
+ exportName: typeof S.String;
176
+ /** Schema name */
177
+ schemaName: typeof S.String;
178
+ /** Function volatility */
179
+ volatility: S.Union<[S.Literal<["immutable"]>, S.Literal<["stable"]>, S.Literal<["volatile"]>]>;
180
+ /** Parameters */
181
+ params: S.Array$<S.Struct<{
182
+ /** Parameter name in the generated function */
183
+ name: typeof S.String;
184
+ /** TypeScript type as string (e.g., "string", "number", "User") */
185
+ type: typeof S.String;
186
+ /** Whether the parameter is required */
187
+ required: typeof S.Boolean;
188
+ /** Original column name (if applicable) */
189
+ columnName: S.optional<typeof S.String>;
190
+ /** Where this param should come from in HTTP request */
191
+ source: S.optional<S.Union<[S.Literal<["pk"]>, S.Literal<["fk"]>, S.Literal<["lookup"]>, S.Literal<["body"]>, S.Literal<["pagination"]>]>>;
192
+ }>>;
193
+ /** Return type */
194
+ returns: S.Struct<{
195
+ /** TypeScript type as string */
196
+ type: typeof S.String;
197
+ /** Whether the result can be null/undefined */
198
+ nullable: typeof S.Boolean;
199
+ /** Whether the result is an array */
200
+ isArray: typeof S.Boolean;
201
+ }>;
202
+ /** How to invoke */
203
+ callSignature: S.optional<S.Struct<{
204
+ /** "named" = fn({ a, b }), "positional" = fn(a, b) */
205
+ style: S.Union<[S.Literal<["named"]>, S.Literal<["positional"]>]>;
206
+ /** For named + body: "property" = { data: body }, "spread" = { field1, field2 } */
207
+ bodyStyle: S.optional<S.Union<[S.Literal<["property"]>, S.Literal<["spread"]>]>>;
208
+ }>>;
209
+ /** Import path */
210
+ importPath: typeof S.String;
211
+ }>;
212
+ export type StandaloneFunction = S.Schema.Type<typeof StandaloneFunction>;
213
+ /**
214
+ * Global functions extension.
215
+ *
216
+ * For standalone database functions not tied to entities.
217
+ * Can be registered via ctx.symbols with a special entity key.
218
+ */
219
+ export declare const FunctionsExtension: S.Struct<{
220
+ /** Standalone functions not tied to entities */
221
+ functions: S.Array$<S.Struct<{
222
+ /** PostgreSQL function name */
223
+ functionName: typeof S.String;
224
+ /** Export name in generated code */
225
+ exportName: typeof S.String;
226
+ /** Schema name */
227
+ schemaName: typeof S.String;
228
+ /** Function volatility */
229
+ volatility: S.Union<[S.Literal<["immutable"]>, S.Literal<["stable"]>, S.Literal<["volatile"]>]>;
230
+ /** Parameters */
231
+ params: S.Array$<S.Struct<{
232
+ /** Parameter name in the generated function */
233
+ name: typeof S.String;
234
+ /** TypeScript type as string (e.g., "string", "number", "User") */
235
+ type: typeof S.String;
236
+ /** Whether the parameter is required */
237
+ required: typeof S.Boolean;
238
+ /** Original column name (if applicable) */
239
+ columnName: S.optional<typeof S.String>;
240
+ /** Where this param should come from in HTTP request */
241
+ source: S.optional<S.Union<[S.Literal<["pk"]>, S.Literal<["fk"]>, S.Literal<["lookup"]>, S.Literal<["body"]>, S.Literal<["pagination"]>]>>;
242
+ }>>;
243
+ /** Return type */
244
+ returns: S.Struct<{
245
+ /** TypeScript type as string */
246
+ type: typeof S.String;
247
+ /** Whether the result can be null/undefined */
248
+ nullable: typeof S.Boolean;
249
+ /** Whether the result is an array */
250
+ isArray: typeof S.Boolean;
251
+ }>;
252
+ /** How to invoke */
253
+ callSignature: S.optional<S.Struct<{
254
+ /** "named" = fn({ a, b }), "positional" = fn(a, b) */
255
+ style: S.Union<[S.Literal<["named"]>, S.Literal<["positional"]>]>;
256
+ /** For named + body: "property" = { data: body }, "spread" = { field1, field2 } */
257
+ bodyStyle: S.optional<S.Union<[S.Literal<["property"]>, S.Literal<["spread"]>]>>;
258
+ }>>;
259
+ /** Import path */
260
+ importPath: typeof S.String;
261
+ }>>;
262
+ }>;
263
+ export type FunctionsExtension = S.Schema.Type<typeof FunctionsExtension>;
264
+ //# sourceMappingURL=queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/ir/extensions/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAMpC;;;GAGG;AACH,eAAO,MAAM,WAAW,wHAMvB,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAA;AAM3D;;;GAGG;AACH,eAAO,MAAM,eAAe,0KAQ3B,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B,+CAA+C;;IAE/C,mEAAmE;;IAEnE,wCAAwC;;IAExC,2CAA2C;;IAE3C,wDAAwD;;EAExD,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAErE;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,gCAAgC;;IAEhC,+CAA+C;;IAE/C,qCAAqC;;EAErC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEvE;;;GAGG;AACH,eAAO,MAAM,aAAa;IACxB,sDAAsD;;IAEtD,mFAAmF;;EAEnF,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,aAAa,CAAC,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,WAAW;IACtB,+DAA+D;;IAE/D,2CAA2C;;IAE3C,oCAAoC;;QAjDpC,+CAA+C;;QAE/C,mEAAmE;;QAEnE,wCAAwC;;QAExC,2CAA2C;;QAE3C,wDAAwD;;;IA2CxD,8BAA8B;;QAlC9B,gCAAgC;;QAEhC,+CAA+C;;QAE/C,qCAAqC;;;IAgCrC,oDAAoD;;IAEpD,sEAAsE;;IAEtE,gCAAgC;;QA1BhC,sDAAsD;;QAEtD,mFAAmF;;;EA0BnF,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAA;AAM3D;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;IACjC,8CAA8C;;QA5B9C,+DAA+D;;QAE/D,2CAA2C;;QAE3C,oCAAoC;;YAjDpC,+CAA+C;;YAE/C,mEAAmE;;YAEnE,wCAAwC;;YAExC,2CAA2C;;YAE3C,wDAAwD;;;QA2CxD,8BAA8B;;YAlC9B,gCAAgC;;YAEhC,+CAA+C;;YAE/C,qCAAqC;;;QAgCrC,oDAAoD;;QAEpD,sEAAsE;;QAEtE,gCAAgC;;YA1BhC,sDAAsD;;YAEtD,mFAAmF;;;;IA0CnF,yEAAyE;;IAEzE,qCAAqC;;IAErC,+CAA+C;;EAE/C,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAMjF;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B,+BAA+B;;IAE/B,oCAAoC;;IAEpC,kBAAkB;;IAElB,0BAA0B;;IAE1B,iBAAiB;;QApGjB,+CAA+C;;QAE/C,mEAAmE;;QAEnE,wCAAwC;;QAExC,2CAA2C;;QAE3C,wDAAwD;;;IA8FxD,kBAAkB;;QArFlB,gCAAgC;;QAEhC,+CAA+C;;QAE/C,qCAAqC;;;IAmFrC,oBAAoB;;QAzEpB,sDAAsD;;QAEtD,mFAAmF;;;IAyEnF,kBAAkB;;EAElB,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;IAC7B,gDAAgD;;QA1BhD,+BAA+B;;QAE/B,oCAAoC;;QAEpC,kBAAkB;;QAElB,0BAA0B;;QAE1B,iBAAiB;;YApGjB,+CAA+C;;YAE/C,mEAAmE;;YAEnE,wCAAwC;;YAExC,2CAA2C;;YAE3C,wDAAwD;;;QA8FxD,kBAAkB;;YArFlB,gCAAgC;;YAEhC,+CAA+C;;YAE/C,qCAAqC;;;QAmFrC,oBAAoB;;YAzEpB,sDAAsD;;YAEtD,mFAAmF;;;QAyEnF,kBAAkB;;;EAclB,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAA"}