@danielfgray/pg-sourcerer 0.2.1 → 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 (164) hide show
  1. package/dist/cli.js +3 -4
  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 +5 -9
  12. package/dist/generate.d.ts.map +1 -1
  13. package/dist/generate.js +27 -29
  14. package/dist/generate.js.map +1 -1
  15. package/dist/index.d.ts +19 -12
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +25 -13
  18. package/dist/index.js.map +1 -1
  19. package/dist/init.d.ts.map +1 -1
  20. package/dist/init.js +39 -9
  21. package/dist/init.js.map +1 -1
  22. package/dist/ir/extensions/queries.d.ts +264 -0
  23. package/dist/ir/extensions/queries.d.ts.map +1 -0
  24. package/dist/ir/extensions/queries.js +153 -0
  25. package/dist/ir/extensions/queries.js.map +1 -0
  26. package/dist/ir/extensions/schema-builder.d.ts +61 -0
  27. package/dist/ir/extensions/schema-builder.d.ts.map +1 -0
  28. package/dist/ir/extensions/schema-builder.js +5 -0
  29. package/dist/ir/extensions/schema-builder.js.map +1 -0
  30. package/dist/lib/conjure.d.ts +66 -0
  31. package/dist/lib/conjure.d.ts.map +1 -1
  32. package/dist/lib/conjure.js +127 -29
  33. package/dist/lib/conjure.js.map +1 -1
  34. package/dist/lib/hex.d.ts +10 -3
  35. package/dist/lib/hex.d.ts.map +1 -1
  36. package/dist/lib/hex.js +18 -8
  37. package/dist/lib/hex.js.map +1 -1
  38. package/dist/plugins/arktype.d.ts +27 -14
  39. package/dist/plugins/arktype.d.ts.map +1 -1
  40. package/dist/plugins/arktype.js +166 -130
  41. package/dist/plugins/arktype.js.map +1 -1
  42. package/dist/plugins/effect.d.ts +53 -0
  43. package/dist/plugins/effect.d.ts.map +1 -0
  44. package/dist/plugins/effect.js +1074 -0
  45. package/dist/plugins/effect.js.map +1 -0
  46. package/dist/plugins/http-elysia.d.ts +32 -0
  47. package/dist/plugins/http-elysia.d.ts.map +1 -0
  48. package/dist/plugins/http-elysia.js +613 -0
  49. package/dist/plugins/http-elysia.js.map +1 -0
  50. package/dist/plugins/http-express.d.ts +36 -0
  51. package/dist/plugins/http-express.d.ts.map +1 -0
  52. package/dist/plugins/http-express.js +388 -0
  53. package/dist/plugins/http-express.js.map +1 -0
  54. package/dist/plugins/http-hono.d.ts +36 -0
  55. package/dist/plugins/http-hono.d.ts.map +1 -0
  56. package/dist/plugins/http-hono.js +453 -0
  57. package/dist/plugins/http-hono.js.map +1 -0
  58. package/dist/plugins/http-orpc.d.ts +55 -0
  59. package/dist/plugins/http-orpc.d.ts.map +1 -0
  60. package/dist/plugins/http-orpc.js +370 -0
  61. package/dist/plugins/http-orpc.js.map +1 -0
  62. package/dist/plugins/http-trpc.d.ts +59 -0
  63. package/dist/plugins/http-trpc.d.ts.map +1 -0
  64. package/dist/plugins/http-trpc.js +392 -0
  65. package/dist/plugins/http-trpc.js.map +1 -0
  66. package/dist/plugins/kysely/queries.d.ts +92 -0
  67. package/dist/plugins/kysely/queries.d.ts.map +1 -0
  68. package/dist/plugins/kysely/queries.js +1169 -0
  69. package/dist/plugins/kysely/queries.js.map +1 -0
  70. package/dist/plugins/kysely/shared.d.ts +59 -0
  71. package/dist/plugins/kysely/shared.d.ts.map +1 -0
  72. package/dist/plugins/kysely/shared.js +247 -0
  73. package/dist/plugins/kysely/shared.js.map +1 -0
  74. package/dist/plugins/kysely/types.d.ts +22 -0
  75. package/dist/plugins/kysely/types.d.ts.map +1 -0
  76. package/dist/plugins/kysely/types.js +428 -0
  77. package/dist/plugins/kysely/types.js.map +1 -0
  78. package/dist/plugins/kysely.d.ts +72 -0
  79. package/dist/plugins/kysely.d.ts.map +1 -0
  80. package/dist/plugins/kysely.js +906 -0
  81. package/dist/plugins/kysely.js.map +1 -0
  82. package/dist/plugins/sql-queries.d.ts +55 -11
  83. package/dist/plugins/sql-queries.d.ts.map +1 -1
  84. package/dist/plugins/sql-queries.js +467 -218
  85. package/dist/plugins/sql-queries.js.map +1 -1
  86. package/dist/plugins/types.d.ts +20 -14
  87. package/dist/plugins/types.d.ts.map +1 -1
  88. package/dist/plugins/types.js +90 -112
  89. package/dist/plugins/types.js.map +1 -1
  90. package/dist/plugins/valibot.d.ts +45 -0
  91. package/dist/plugins/valibot.d.ts.map +1 -0
  92. package/dist/plugins/valibot.js +422 -0
  93. package/dist/plugins/valibot.js.map +1 -0
  94. package/dist/plugins/zod.d.ts +27 -14
  95. package/dist/plugins/zod.d.ts.map +1 -1
  96. package/dist/plugins/zod.js +231 -166
  97. package/dist/plugins/zod.js.map +1 -1
  98. package/dist/services/artifact-store.d.ts +11 -1
  99. package/dist/services/artifact-store.d.ts.map +1 -1
  100. package/dist/services/artifact-store.js +9 -0
  101. package/dist/services/artifact-store.js.map +1 -1
  102. package/dist/services/core-providers.d.ts +15 -0
  103. package/dist/services/core-providers.d.ts.map +1 -0
  104. package/dist/services/core-providers.js +23 -0
  105. package/dist/services/core-providers.js.map +1 -0
  106. package/dist/services/emissions.d.ts +14 -0
  107. package/dist/services/emissions.d.ts.map +1 -1
  108. package/dist/services/emissions.js +86 -47
  109. package/dist/services/emissions.js.map +1 -1
  110. package/dist/services/execution.d.ts +35 -0
  111. package/dist/services/execution.d.ts.map +1 -0
  112. package/dist/services/execution.js +86 -0
  113. package/dist/services/execution.js.map +1 -0
  114. package/dist/services/file-builder.d.ts +4 -0
  115. package/dist/services/file-builder.d.ts.map +1 -1
  116. package/dist/services/file-builder.js.map +1 -1
  117. package/dist/services/inflection.d.ts +2 -2
  118. package/dist/services/inflection.d.ts.map +1 -1
  119. package/dist/services/inflection.js +4 -4
  120. package/dist/services/inflection.js.map +1 -1
  121. package/dist/services/ir-builder.d.ts.map +1 -1
  122. package/dist/services/ir-builder.js +10 -3
  123. package/dist/services/ir-builder.js.map +1 -1
  124. package/dist/services/pg-types.d.ts +31 -0
  125. package/dist/services/pg-types.d.ts.map +1 -1
  126. package/dist/services/pg-types.js +24 -0
  127. package/dist/services/pg-types.js.map +1 -1
  128. package/dist/services/plugin-runner.d.ts +27 -37
  129. package/dist/services/plugin-runner.d.ts.map +1 -1
  130. package/dist/services/plugin-runner.js +73 -171
  131. package/dist/services/plugin-runner.js.map +1 -1
  132. package/dist/services/plugin.d.ts +349 -217
  133. package/dist/services/plugin.d.ts.map +1 -1
  134. package/dist/services/plugin.js +182 -130
  135. package/dist/services/plugin.js.map +1 -1
  136. package/dist/services/resolution.d.ts +38 -0
  137. package/dist/services/resolution.d.ts.map +1 -0
  138. package/dist/services/resolution.js +242 -0
  139. package/dist/services/resolution.js.map +1 -0
  140. package/dist/services/service-registry.d.ts +74 -0
  141. package/dist/services/service-registry.d.ts.map +1 -0
  142. package/dist/services/service-registry.js +61 -0
  143. package/dist/services/service-registry.js.map +1 -0
  144. package/dist/services/symbols.d.ts +59 -0
  145. package/dist/services/symbols.d.ts.map +1 -1
  146. package/dist/services/symbols.js +16 -0
  147. package/dist/services/symbols.js.map +1 -1
  148. package/dist/testing.d.ts +4 -25
  149. package/dist/testing.d.ts.map +1 -1
  150. package/dist/testing.js +2 -23
  151. package/dist/testing.js.map +1 -1
  152. package/package.json +1 -1
  153. package/dist/plugins/effect-model.d.ts +0 -17
  154. package/dist/plugins/effect-model.d.ts.map +0 -1
  155. package/dist/plugins/effect-model.js +0 -409
  156. package/dist/plugins/effect-model.js.map +0 -1
  157. package/dist/plugins/kysely-queries.d.ts +0 -66
  158. package/dist/plugins/kysely-queries.d.ts.map +0 -1
  159. package/dist/plugins/kysely-queries.js +0 -951
  160. package/dist/plugins/kysely-queries.js.map +0 -1
  161. package/dist/plugins/kysely-types.d.ts +0 -35
  162. package/dist/plugins/kysely-types.d.ts.map +0 -1
  163. package/dist/plugins/kysely-types.js +0 -601
  164. package/dist/plugins/kysely-types.js.map +0 -1
package/dist/init.js CHANGED
@@ -13,13 +13,16 @@ 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
21
  "kysely-types": "kyselyTypesPlugin",
22
22
  "kysely-queries": "kyselyQueriesPlugin",
23
+ "http-elysia": "httpElysiaPlugin",
24
+ "http-trpc": "httpTrpcPlugin",
25
+ "http-orpc": "httpOrpcPlugin",
23
26
  };
24
27
  /** Get plugin info by value */
25
28
  const getPluginInfo = (value) => {
@@ -195,10 +198,11 @@ const makeOutputDirPrompt = () => Prompt.text({
195
198
  * Plugin selection with Kysely-aware branching.
196
199
  *
197
200
  * Flow:
198
- * 1. Kysely? → yes: checkboxes for types + kysely-queries → exit
201
+ * 1. Kysely? → yes: checkboxes for types + kysely-queries → HTTP plugins → exit
199
202
  * 2. No Kysely → raw types or schema-driven?
200
- * 3. If schema-driven → select schema lib (zod/arktype/effect-model)
203
+ * 3. If schema-driven → select schema lib (zod/arktype/effect)
201
204
  * 4. Query plugins (optional multiselect, currently just sql-queries)
205
+ * 5. HTTP/RPC framework (optional)
202
206
  */
203
207
  const makePluginsPrompt = () => Effect.gen(function* () {
204
208
  // Step 1: Kysely gateway
@@ -208,13 +212,27 @@ const makePluginsPrompt = () => Effect.gen(function* () {
208
212
  });
209
213
  if (usesKysely) {
210
214
  // Kysely path: checkboxes, both pre-selected
211
- return yield* Prompt.multiSelect({
215
+ const kyselyPlugins = yield* Prompt.multiSelect({
212
216
  message: "Select Kysely plugins",
213
217
  choices: [
214
218
  { title: "kysely-types - Kysely-compatible types", value: "kysely-types", selected: true },
215
219
  { title: "kysely-queries - Query builders", value: "kysely-queries", selected: true },
216
220
  ],
217
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;
218
236
  }
219
237
  // Step 2: Raw vs schema-driven
220
238
  const typeApproach = yield* Prompt.select({
@@ -235,7 +253,7 @@ const makePluginsPrompt = () => Effect.gen(function* () {
235
253
  choices: [
236
254
  { title: "Zod", value: "zod" },
237
255
  { title: "ArkType", value: "arktype" },
238
- { title: "Effect Schema", value: "effect-model" },
256
+ { title: "Effect Schema (@effect/sql)", value: "effect" },
239
257
  ],
240
258
  });
241
259
  }
@@ -246,6 +264,18 @@ const makePluginsPrompt = () => Effect.gen(function* () {
246
264
  { title: "sql-queries - Raw SQL query functions", value: "sql-queries", selected: false },
247
265
  ],
248
266
  });
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
+ }
249
279
  return [typePlugin, ...queryPlugins];
250
280
  });
251
281
  const makeFormatterPrompt = () => Prompt.text({
@@ -313,7 +343,7 @@ const generateConfigContent = (answers) => {
313
343
  configObj = configObj.prop("formatter", conjure.str(answers.formatter.trim()));
314
344
  }
315
345
  // Plugins array - no config needed, all plugins have sensible defaults
316
- const pluginCalls = selectedPlugins.map(plugin => conjure.id(plugin.importName).call([]).build());
346
+ const pluginCalls = selectedPlugins.map(p => conjure.id(p.importName).call([]).build());
317
347
  const pluginsArr = conjure.arr(...pluginCalls);
318
348
  configObj = configObj.prop("plugins", pluginsArr.build());
319
349
  // Build the export default statement
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":"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"}
@@ -0,0 +1,153 @@
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
+ // Parameter Source
18
+ // ============================================================================
19
+ /**
20
+ * Where a parameter value comes from in the HTTP request.
21
+ * Used by HTTP providers to map query params to request parts.
22
+ */
23
+ export const ParamSource = S.Union(S.Literal("pk"), // Primary key - typically from URL path
24
+ S.Literal("fk"), // Foreign key - from URL path or query string
25
+ S.Literal("lookup"), // Lookup field - from query string
26
+ S.Literal("body"), // Request body (for create/update)
27
+ S.Literal("pagination"));
28
+ // ============================================================================
29
+ // Query Method
30
+ // ============================================================================
31
+ /**
32
+ * The kind of operation a query method performs.
33
+ * Used by HTTP providers to determine HTTP method and route structure.
34
+ */
35
+ export const QueryMethodKind = S.Union(S.Literal("read"), // GET single resource by ID
36
+ S.Literal("list"), // GET collection with pagination
37
+ S.Literal("create"), // POST to create new resource
38
+ S.Literal("update"), // PUT/PATCH to modify existing
39
+ S.Literal("delete"), // DELETE resource by ID
40
+ S.Literal("lookup"), // GET by non-PK field (unique or list)
41
+ S.Literal("function"));
42
+ /**
43
+ * A parameter to a query method.
44
+ */
45
+ export const QueryMethodParam = S.Struct({
46
+ /** Parameter name in the generated function */
47
+ name: S.String,
48
+ /** TypeScript type as string (e.g., "string", "number", "User") */
49
+ type: S.String,
50
+ /** Whether the parameter is required */
51
+ required: S.Boolean,
52
+ /** Original column name (if applicable) */
53
+ columnName: S.optional(S.String),
54
+ /** Where this param should come from in HTTP request */
55
+ source: S.optional(ParamSource),
56
+ });
57
+ /**
58
+ * Return type information for a query method.
59
+ */
60
+ export const QueryMethodReturn = S.Struct({
61
+ /** TypeScript type as string */
62
+ type: S.String,
63
+ /** Whether the result can be null/undefined */
64
+ nullable: S.Boolean,
65
+ /** Whether the result is an array */
66
+ isArray: S.Boolean,
67
+ });
68
+ /**
69
+ * How to call a query function.
70
+ * Used by HTTP providers to generate correct function invocations.
71
+ */
72
+ export const CallSignature = S.Struct({
73
+ /** "named" = fn({ a, b }), "positional" = fn(a, b) */
74
+ style: S.Union(S.Literal("named"), S.Literal("positional")),
75
+ /** For named + body: "property" = { data: body }, "spread" = { field1, field2 } */
76
+ bodyStyle: S.optional(S.Union(S.Literal("property"), S.Literal("spread"))),
77
+ });
78
+ /**
79
+ * A query method for an entity.
80
+ *
81
+ * This is the core abstraction that HTTP providers consume.
82
+ * It describes what the method does without revealing implementation.
83
+ */
84
+ export const QueryMethod = S.Struct({
85
+ /** Export name in the generated file (e.g., "findUserById") */
86
+ name: S.String,
87
+ /** What kind of operation this performs */
88
+ kind: QueryMethodKind,
89
+ /** Parameters the method accepts */
90
+ params: S.Array(QueryMethodParam),
91
+ /** Return type information */
92
+ returns: QueryMethodReturn,
93
+ /** For lookup methods: the field being looked up */
94
+ lookupField: S.optional(S.String),
95
+ /** For lookup methods: whether it returns a single result or array */
96
+ isUniqueLookup: S.optional(S.Boolean),
97
+ /** How to invoke this method */
98
+ callSignature: S.optional(CallSignature),
99
+ });
100
+ // ============================================================================
101
+ // Entity Queries Extension
102
+ // ============================================================================
103
+ /**
104
+ * Query extension data for an entity.
105
+ *
106
+ * This is the shape registered via ctx.symbols.registerEntityMethods().
107
+ * HTTP providers read via ctx.symbols.getEntityMethods(entityName).
108
+ */
109
+ export const EntityQueriesExtension = S.Struct({
110
+ /** Available query methods for this entity */
111
+ methods: S.Array(QueryMethod),
112
+ /** Import path for the generated query file (relative to output root) */
113
+ importPath: S.String,
114
+ /** Primary key type (for routing) */
115
+ pkType: S.optional(S.String),
116
+ /** Whether entity has composite primary key */
117
+ hasCompositePk: S.optional(S.Boolean),
118
+ });
119
+ // ============================================================================
120
+ // Standalone Functions Extension
121
+ // ============================================================================
122
+ /**
123
+ * A standalone database function (not tied to an entity).
124
+ */
125
+ export const StandaloneFunction = S.Struct({
126
+ /** PostgreSQL function name */
127
+ functionName: S.String,
128
+ /** Export name in generated code */
129
+ exportName: S.String,
130
+ /** Schema name */
131
+ schemaName: S.String,
132
+ /** Function volatility */
133
+ volatility: S.Union(S.Literal("immutable"), S.Literal("stable"), S.Literal("volatile")),
134
+ /** Parameters */
135
+ params: S.Array(QueryMethodParam),
136
+ /** Return type */
137
+ returns: QueryMethodReturn,
138
+ /** How to invoke */
139
+ callSignature: S.optional(CallSignature),
140
+ /** Import path */
141
+ importPath: S.String,
142
+ });
143
+ /**
144
+ * Global functions extension.
145
+ *
146
+ * For standalone database functions not tied to entities.
147
+ * Can be registered via ctx.symbols with a special entity key.
148
+ */
149
+ export const FunctionsExtension = S.Struct({
150
+ /** Standalone functions not tied to entities */
151
+ functions: S.Array(StandaloneFunction),
152
+ });
153
+ //# sourceMappingURL=queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/ir/extensions/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEpC,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAChC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAU,wCAAwC;AACjE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAU,8CAA8C;AACvE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAM,mCAAmC;AAC5D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAQ,mCAAmC;AAC5D,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CACxB,CAAA;AAGD,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CACpC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAK,4BAA4B;AAClD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAK,iCAAiC;AACvD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAG,8BAA8B;AACpD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAG,+BAA+B;AACrD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAG,wBAAwB;AAC9C,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAG,uCAAuC;AAC7D,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CACtB,CAAA;AAGD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,+CAA+C;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,mEAAmE;IACnE,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,wCAAwC;IACxC,QAAQ,EAAE,CAAC,CAAC,OAAO;IACnB,2CAA2C;IAC3C,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAChC,wDAAwD;IACxD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;CAChC,CAAC,CAAA;AAGF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,gCAAgC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,CAAC,OAAO;IACnB,qCAAqC;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO;CACnB,CAAC,CAAA;AAGF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,sDAAsD;IACtD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,mFAAmF;IACnF,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC3E,CAAC,CAAA;AAGF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,+DAA+D;IAC/D,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,2CAA2C;IAC3C,IAAI,EAAE,eAAe;IACrB,oCAAoC;IACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACjC,8BAA8B;IAC9B,OAAO,EAAE,iBAAiB;IAC1B,oDAAoD;IACpD,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACjC,sEAAsE;IACtE,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IACrC,gCAAgC;IAChC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;CACzC,CAAC,CAAA;AAGF,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,8CAA8C;IAC9C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IAC7B,yEAAyE;IACzE,UAAU,EAAE,CAAC,CAAC,MAAM;IACpB,qCAAqC;IACrC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5B,+CAA+C;IAC/C,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;CACtC,CAAC,CAAA;AAGF,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,+BAA+B;IAC/B,YAAY,EAAE,CAAC,CAAC,MAAM;IACtB,oCAAoC;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM;IACpB,kBAAkB;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM;IACpB,0BAA0B;IAC1B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvF,iBAAiB;IACjB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACjC,kBAAkB;IAClB,OAAO,EAAE,iBAAiB;IAC1B,oBAAoB;IACpB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IACxC,kBAAkB;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM;CACrB,CAAC,CAAA;AAGF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,gDAAgD;IAChD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;CACvC,CAAC,CAAA"}