@danielfgray/pg-sourcerer 0.2.0 → 0.2.1

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 (42) hide show
  1. package/dist/cli.js +23 -16
  2. package/dist/cli.js.map +1 -1
  3. package/dist/generate.d.ts +27 -13
  4. package/dist/generate.d.ts.map +1 -1
  5. package/dist/generate.js +27 -15
  6. package/dist/generate.js.map +1 -1
  7. package/dist/index.d.ts +2 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +3 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/init.d.ts +0 -1
  12. package/dist/init.d.ts.map +1 -1
  13. package/dist/init.js +55 -30
  14. package/dist/init.js.map +1 -1
  15. package/dist/lib/conjure.d.ts +35 -0
  16. package/dist/lib/conjure.d.ts.map +1 -1
  17. package/dist/lib/conjure.js +81 -1
  18. package/dist/lib/conjure.js.map +1 -1
  19. package/dist/lib/hex.d.ts +0 -5
  20. package/dist/lib/hex.d.ts.map +1 -1
  21. package/dist/lib/hex.js +0 -7
  22. package/dist/lib/hex.js.map +1 -1
  23. package/dist/plugins/kysely-queries.d.ts +4 -4
  24. package/dist/plugins/kysely-queries.d.ts.map +1 -1
  25. package/dist/plugins/kysely-queries.js +6 -15
  26. package/dist/plugins/kysely-queries.js.map +1 -1
  27. package/dist/plugins/sql-queries.d.ts +4 -0
  28. package/dist/plugins/sql-queries.d.ts.map +1 -1
  29. package/dist/plugins/sql-queries.js +388 -11
  30. package/dist/plugins/sql-queries.js.map +1 -1
  31. package/dist/services/config-loader.d.ts +4 -0
  32. package/dist/services/config-loader.d.ts.map +1 -1
  33. package/dist/services/config-loader.js +1 -1
  34. package/dist/services/config-loader.js.map +1 -1
  35. package/dist/services/config.d.ts +57 -0
  36. package/dist/services/config.d.ts.map +1 -0
  37. package/dist/services/config.js +66 -0
  38. package/dist/services/config.js.map +1 -0
  39. package/dist/services/plugin.d.ts +4 -1
  40. package/dist/services/plugin.d.ts.map +1 -1
  41. package/dist/services/plugin.js.map +1 -1
  42. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"kysely-queries.js","sourceRoot":"","sources":["../../src/plugins/kysely-queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kysely-queries.js","sourceRoot":"","sources":["../../src/plugins/kysely-queries.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  export declare const sqlQueriesPlugin: import("../index.js").PluginFactory<{
2
2
  readonly outputDir: string;
3
3
  readonly sqlStyle: "string" | "tag";
4
+ readonly generateFunctions: boolean;
5
+ readonly functionsFile: string;
4
6
  }, {
5
7
  readonly outputDir?: string | undefined;
6
8
  readonly sqlStyle?: "string" | "tag" | undefined;
9
+ readonly generateFunctions?: boolean | undefined;
10
+ readonly functionsFile?: string | undefined;
7
11
  }>;
8
12
  //# sourceMappingURL=sql-queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql-queries.d.ts","sourceRoot":"","sources":["../../src/plugins/sql-queries.ts"],"names":[],"mappings":"AA0VA,eAAO,MAAM,gBAAgB;;;;;;EA6D3B,CAAC"}
1
+ {"version":3,"file":"sql-queries.d.ts","sourceRoot":"","sources":["../../src/plugins/sql-queries.ts"],"names":[],"mappings":"AAysBA,eAAO,MAAM,gBAAgB;;;;;;;;;;EA2J3B,CAAC"}
@@ -3,8 +3,8 @@
3
3
  */
4
4
  import { Schema as S } from "effect";
5
5
  import { definePlugin } from "../services/plugin.js";
6
- import { getTableEntities, getEnumEntities } from "../ir/semantic-ir.js";
7
- import { conjure } from "../lib/conjure.js";
6
+ import { getTableEntities, getEnumEntities, getFunctionEntities, getCompositeEntities } from "../ir/semantic-ir.js";
7
+ import { conjure, cast } from "../lib/conjure.js";
8
8
  import { hex } from "../lib/hex.js";
9
9
  import { resolveFieldType, tsTypeToAst } from "../lib/field-utils.js";
10
10
  import { inflect } from "../services/inflection.js";
@@ -16,6 +16,10 @@ const SqlQueriesPluginConfig = S.Struct({
16
16
  outputDir: S.optionalWith(S.String, { default: () => "sql-queries" }),
17
17
  /** SQL query style. Defaults to "tag" (tagged template literals) */
18
18
  sqlStyle: S.optionalWith(S.Union(S.Literal("tag"), S.Literal("string")), { default: () => "tag" }),
19
+ /** Generate wrappers for PostgreSQL functions. Defaults to true. */
20
+ generateFunctions: S.optionalWith(S.Boolean, { default: () => true }),
21
+ /** Output file for scalar-returning functions. Defaults to "functions.ts". */
22
+ functionsFile: S.optionalWith(S.String, { default: () => "functions.ts" }),
19
23
  });
20
24
  /** Find a field in the row shape by column name */
21
25
  const findRowField = (entity, columnName) => entity.shapes.row.fields.find(f => f.columnName === columnName);
@@ -85,7 +89,7 @@ const generateFindById = (ctx) => {
85
89
  // Build query and extract first row
86
90
  const queryExpr = hex.query(sqlStyle, parts, ts.array(ts.ref(rowType)));
87
91
  const varDecl = hex.firstRowDecl(sqlStyle, "result", queryExpr);
88
- return hex.exportFn(hex.asyncFn(`find${entity.name}ById`, [param.pick([fieldName], rowType)], [
92
+ return conjure.export.fn(hex.asyncFn(`find${entity.name}ById`, [param.pick([fieldName], rowType)], [
89
93
  varDecl,
90
94
  b.returnStatement(b.identifier("result")),
91
95
  ]));
@@ -100,7 +104,7 @@ const generateFindMany = (ctx) => {
100
104
  templateParts: [`select * from ${entity.schemaName}.${entity.pgName} limit `, ` offset `, ""],
101
105
  params: [b.identifier("limit"), b.identifier("offset")],
102
106
  };
103
- return hex.exportFn(hex.asyncFn(`findMany${entity.name}s`, [
107
+ return conjure.export.fn(hex.asyncFn(`findMany${entity.name}s`, [
104
108
  param.destructured([
105
109
  { name: "limit", type: ts.number(), optional: true, defaultValue: b.numericLiteral(50) },
106
110
  { name: "offset", type: ts.number(), optional: true, defaultValue: b.numericLiteral(0) },
@@ -124,7 +128,7 @@ const generateDelete = (ctx) => {
124
128
  };
125
129
  // Delete returns void, no type parameter needed
126
130
  const queryExpr = hex.query(sqlStyle, parts);
127
- return hex.exportFn(hex.asyncFn(`delete${entity.name}`, [param.pick([fieldName], rowType)], [
131
+ return conjure.export.fn(hex.asyncFn(`delete${entity.name}`, [param.pick([fieldName], rowType)], [
128
132
  b.expressionStatement(queryExpr),
129
133
  ]));
130
134
  };
@@ -159,7 +163,7 @@ const generateInsert = (ctx) => {
159
163
  const varDecl = hex.firstRowDecl(sqlStyle, "result", queryExpr);
160
164
  // Simple typed parameter: data: InsertType
161
165
  const dataParam = param.typed("data", ts.ref(insertType));
162
- return hex.exportFn(hex.asyncFn(`insert${entity.name}`, [dataParam], [varDecl, b.returnStatement(b.identifier("result"))]));
166
+ return conjure.export.fn(hex.asyncFn(`insert${entity.name}`, [dataParam], [varDecl, b.returnStatement(b.identifier("result"))]));
163
167
  };
164
168
  /** Generate all CRUD functions for an entity */
165
169
  const generateCrudFunctions = (ctx) => [
@@ -226,13 +230,13 @@ const generateLookupFunction = (index, ctx) => {
226
230
  // Extract first row for unique lookups
227
231
  const queryExpr = hex.query(sqlStyle, parts, ts.array(ts.ref(rowType)));
228
232
  const varDecl = hex.firstRowDecl(sqlStyle, "result", queryExpr);
229
- return hex.exportFn(hex.asyncFn(fnName, [paramNode], [
233
+ return conjure.export.fn(hex.asyncFn(fnName, [paramNode], [
230
234
  varDecl,
231
235
  b.returnStatement(b.identifier("result")),
232
236
  ]));
233
237
  }
234
238
  // Non-unique: return all matching rows
235
- return hex.exportFn(hex.asyncFn(fnName, [paramNode], hex.returnQuery(sqlStyle, parts, ts.array(ts.ref(rowType)))));
239
+ return conjure.export.fn(hex.asyncFn(fnName, [paramNode], hex.returnQuery(sqlStyle, parts, ts.array(ts.ref(rowType)))));
236
240
  };
237
241
  /** Generate lookup functions for all eligible indexes, deduplicating by name */
238
242
  const generateLookupFunctions = (ctx) => {
@@ -251,6 +255,304 @@ const generateLookupFunctions = (ctx) => {
251
255
  .map(index => generateLookupFunction(index, ctx));
252
256
  };
253
257
  // ============================================================================
258
+ // Function Wrapper Generation
259
+ // ============================================================================
260
+ /**
261
+ * Map PostgreSQL type names to TypeScript types.
262
+ * Simplified version - covers common scalar types.
263
+ */
264
+ const pgTypeNameToTs = (typeName) => {
265
+ const typeMap = {
266
+ // Numeric
267
+ int2: "number",
268
+ int4: "number",
269
+ int8: "string", // bigint as string
270
+ float4: "number",
271
+ float8: "number",
272
+ numeric: "string",
273
+ decimal: "string",
274
+ // Text
275
+ text: "string",
276
+ varchar: "string",
277
+ char: "string",
278
+ citext: "string",
279
+ name: "string",
280
+ // Boolean
281
+ bool: "boolean",
282
+ // Date/time
283
+ date: "Date",
284
+ timestamp: "Date",
285
+ timestamptz: "Date",
286
+ time: "string",
287
+ timetz: "string",
288
+ interval: "string",
289
+ // UUID
290
+ uuid: "string",
291
+ // JSON
292
+ json: "unknown",
293
+ jsonb: "unknown",
294
+ // Binary
295
+ bytea: "Buffer",
296
+ // Other
297
+ void: "void",
298
+ };
299
+ return typeMap[typeName] ?? "unknown";
300
+ };
301
+ /**
302
+ * Check if a function argument has a row type (composite type matching a table).
303
+ * Functions with row-type arguments are computed fields, not standalone functions.
304
+ */
305
+ const hasRowTypeArg = (arg, ir) => {
306
+ const tables = getTableEntities(ir);
307
+ return tables.some(t => {
308
+ const qualifiedName = `${t.schemaName}.${t.pgName}`;
309
+ return arg.typeName === qualifiedName || arg.typeName === t.pgName;
310
+ });
311
+ };
312
+ /**
313
+ * Check if a function can be wrapped (not a trigger, computed field, etc.)
314
+ */
315
+ const isGeneratableFunction = (fn, ir) => {
316
+ if (!fn.canExecute)
317
+ return false;
318
+ if (fn.returnTypeName === "trigger")
319
+ return false;
320
+ if (fn.isFromExtension)
321
+ return false;
322
+ if (fn.tags.omit === true)
323
+ return false;
324
+ // Filter out computed field functions (have row-type args)
325
+ if (fn.args.some(arg => hasRowTypeArg(arg, ir)))
326
+ return false;
327
+ return true;
328
+ };
329
+ /**
330
+ * Categorize functions by volatility.
331
+ * Volatile functions go in mutations namespace, stable/immutable in queries.
332
+ */
333
+ const categorizeFunction = (fn) => fn.volatility === "volatile" ? "mutations" : "queries";
334
+ /**
335
+ * Get all generatable functions from the IR, categorized by volatility.
336
+ */
337
+ const getGeneratableFunctions = (ir) => {
338
+ const all = getFunctionEntities(ir).filter(fn => isGeneratableFunction(fn, ir));
339
+ return {
340
+ queries: all.filter(fn => categorizeFunction(fn) === "queries"),
341
+ mutations: all.filter(fn => categorizeFunction(fn) === "mutations"),
342
+ };
343
+ };
344
+ /**
345
+ * Resolve a function's return type to TypeScript type information.
346
+ */
347
+ const resolveReturnType = (fn, ir) => {
348
+ const returnTypeName = fn.returnTypeName;
349
+ const isArray = fn.returnsSet;
350
+ // 1. Check if it's a table return type
351
+ const tableEntities = getTableEntities(ir);
352
+ const tableMatch = tableEntities.find(entity => {
353
+ const qualifiedName = `${entity.schemaName}.${entity.pgName}`;
354
+ return returnTypeName === qualifiedName || returnTypeName === entity.pgName;
355
+ });
356
+ if (tableMatch) {
357
+ return {
358
+ tsType: tableMatch.name,
359
+ isArray,
360
+ isScalar: false,
361
+ needsImport: tableMatch.name,
362
+ returnEntity: tableMatch,
363
+ };
364
+ }
365
+ // 2. Check if it's a composite type return
366
+ const compositeEntities = getCompositeEntities(ir);
367
+ const compositeMatch = compositeEntities.find(entity => {
368
+ const qualifiedName = `${entity.schemaName}.${entity.pgName}`;
369
+ return returnTypeName === qualifiedName || returnTypeName === entity.pgName;
370
+ });
371
+ if (compositeMatch) {
372
+ return {
373
+ tsType: compositeMatch.name,
374
+ isArray,
375
+ isScalar: false,
376
+ needsImport: compositeMatch.name,
377
+ returnEntity: compositeMatch,
378
+ };
379
+ }
380
+ // 3. It's a scalar type - map via type name
381
+ const baseTypeName = returnTypeName.includes(".")
382
+ ? returnTypeName.split(".").pop()
383
+ : returnTypeName;
384
+ const tsType = pgTypeNameToTs(baseTypeName);
385
+ return {
386
+ tsType,
387
+ isArray,
388
+ isScalar: true,
389
+ };
390
+ };
391
+ /**
392
+ * Resolve a function argument to TypeScript type information.
393
+ */
394
+ const resolveArg = (arg, ir) => {
395
+ const typeName = arg.typeName;
396
+ // Check if it's an array type (ends with [])
397
+ const isArrayType = typeName.endsWith("[]");
398
+ const baseTypeName = isArrayType ? typeName.slice(0, -2) : typeName;
399
+ // Check enums
400
+ const enums = getEnumEntities(ir);
401
+ const enumMatch = enums.find(e => {
402
+ const qualifiedName = `${e.schemaName}.${e.pgName}`;
403
+ return baseTypeName === qualifiedName || baseTypeName === e.pgName;
404
+ });
405
+ if (enumMatch) {
406
+ const tsType = isArrayType ? `${enumMatch.name}[]` : enumMatch.name;
407
+ return {
408
+ name: arg.name || "arg",
409
+ tsType,
410
+ isOptional: arg.hasDefault,
411
+ needsImport: enumMatch.name,
412
+ };
413
+ }
414
+ // Check composites
415
+ const composites = getCompositeEntities(ir);
416
+ const compositeMatch = composites.find(e => {
417
+ const qualifiedName = `${e.schemaName}.${e.pgName}`;
418
+ return baseTypeName === qualifiedName || baseTypeName === e.pgName;
419
+ });
420
+ if (compositeMatch) {
421
+ const tsType = isArrayType ? `${compositeMatch.name}[]` : compositeMatch.name;
422
+ return {
423
+ name: arg.name || "arg",
424
+ tsType,
425
+ isOptional: arg.hasDefault,
426
+ needsImport: compositeMatch.name,
427
+ };
428
+ }
429
+ // Scalar type - map via type name
430
+ const scalarBase = baseTypeName.includes(".")
431
+ ? baseTypeName.split(".").pop()
432
+ : baseTypeName;
433
+ const scalarTs = pgTypeNameToTs(scalarBase);
434
+ const tsType = isArrayType ? `${scalarTs}[]` : scalarTs;
435
+ return {
436
+ name: arg.name || "arg",
437
+ tsType,
438
+ isOptional: arg.hasDefault,
439
+ };
440
+ };
441
+ /**
442
+ * Resolve all arguments for a function.
443
+ */
444
+ const resolveArgs = (fn, ir) => fn.args.map(arg => resolveArg(arg, ir));
445
+ /**
446
+ * Get the fully qualified function name for SQL.
447
+ */
448
+ const getFunctionQualifiedName = (fn) => `${fn.schemaName}.${fn.pgName}`;
449
+ /**
450
+ * Generate a function wrapper for a PostgreSQL function.
451
+ *
452
+ * Patterns:
453
+ * - SETOF/table return: select * from schema.fn(args)
454
+ * - Single row return: select * from schema.fn(args) (same SQL, single result)
455
+ * - Scalar return: select schema.fn(args)
456
+ */
457
+ const generateFunctionWrapper = (fn, ir, sqlStyle) => {
458
+ const resolvedReturn = resolveReturnType(fn, ir);
459
+ const resolvedArgs = resolveArgs(fn, ir);
460
+ const qualifiedName = getFunctionQualifiedName(fn);
461
+ // Build camelCase function name
462
+ const exportName = inflect.camelCase(fn.pgName);
463
+ // Helper to convert resolved type string to AST
464
+ const typeStrToAst = (typeStr) => {
465
+ if (typeStr.endsWith("[]")) {
466
+ const elemType = typeStr.slice(0, -2);
467
+ return ts.array(typeStrToAst(elemType));
468
+ }
469
+ switch (typeStr) {
470
+ case "string": return ts.string();
471
+ case "number": return ts.number();
472
+ case "boolean": return ts.boolean();
473
+ case "void": return ts.void();
474
+ case "unknown": return ts.unknown();
475
+ case "Date": return ts.ref("Date");
476
+ case "Buffer": return ts.ref("Buffer");
477
+ default: return ts.ref(typeStr);
478
+ }
479
+ };
480
+ // Build parameter list for the generated function
481
+ const params = resolvedArgs.map(arg => {
482
+ const p = b.identifier(arg.name);
483
+ p.typeAnnotation = b.tsTypeAnnotation(cast.toTSType(typeStrToAst(arg.tsType)));
484
+ if (arg.isOptional)
485
+ p.optional = true;
486
+ return p;
487
+ });
488
+ // Build SQL based on return type
489
+ let sql;
490
+ let resultType;
491
+ if (resolvedReturn.isScalar) {
492
+ // Scalar: select schema.fn(args)
493
+ const argPlaceholders = resolvedArgs.map((_, i) => `$${i + 1}`).join(", ");
494
+ sql = `select ${qualifiedName}(${argPlaceholders})`;
495
+ // Return type is a record with the function name as key
496
+ resultType = ts.array(ts.ref("Record", [ts.string(), typeStrToAst(resolvedReturn.tsType)]));
497
+ }
498
+ else {
499
+ // Table/composite: select * from schema.fn(args)
500
+ const argPlaceholders = resolvedArgs.map((_, i) => `$${i + 1}`).join(", ");
501
+ sql = `select * from ${qualifiedName}(${argPlaceholders})`;
502
+ resultType = ts.array(ts.ref(resolvedReturn.tsType));
503
+ }
504
+ const paramExprs = resolvedArgs.map(arg => b.identifier(arg.name));
505
+ // Build template parts by splitting on $N placeholders
506
+ let templateParts = sql.split(/\$\d+/);
507
+ // For zero-arg functions, template is just the SQL string
508
+ if (resolvedArgs.length === 0) {
509
+ templateParts = [sql];
510
+ }
511
+ const parts = {
512
+ templateParts,
513
+ params: paramExprs,
514
+ };
515
+ // Build the function body
516
+ let body;
517
+ if (resolvedReturn.isScalar) {
518
+ // Scalar: extract the result from the first row's first column
519
+ const queryExpr = hex.query(sqlStyle, parts, resultType);
520
+ const varDecl = hex.firstRowDecl(sqlStyle, "row", queryExpr);
521
+ // Use optional chaining: row?.[fn.pgName]
522
+ const optionalReturn = b.optionalMemberExpression(b.identifier("row"), b.identifier(fn.pgName), false, true);
523
+ body = [varDecl, b.returnStatement(optionalReturn)];
524
+ }
525
+ else if (resolvedReturn.isArray) {
526
+ // SETOF: return all rows
527
+ body = hex.returnQuery(sqlStyle, parts, resultType);
528
+ }
529
+ else {
530
+ // Single row: extract first row
531
+ const queryExpr = hex.query(sqlStyle, parts, resultType);
532
+ const varDecl = hex.firstRowDecl(sqlStyle, "result", queryExpr);
533
+ body = [varDecl, b.returnStatement(b.identifier("result"))];
534
+ }
535
+ return conjure.export.fn(hex.asyncFn(exportName, params, body));
536
+ };
537
+ /**
538
+ * Collect type imports needed for function wrappers.
539
+ */
540
+ const collectFunctionTypeImports = (functions, ir) => {
541
+ const imports = new Set();
542
+ for (const fn of functions) {
543
+ const resolvedReturn = resolveReturnType(fn, ir);
544
+ if (resolvedReturn.needsImport) {
545
+ imports.add(resolvedReturn.needsImport);
546
+ }
547
+ for (const arg of resolveArgs(fn, ir)) {
548
+ if (arg.needsImport) {
549
+ imports.add(arg.needsImport);
550
+ }
551
+ }
552
+ }
553
+ return imports;
554
+ };
555
+ // ============================================================================
254
556
  // Plugin Definition
255
557
  // ============================================================================
256
558
  export const sqlQueriesPlugin = definePlugin({
@@ -264,13 +566,34 @@ export const sqlQueriesPlugin = definePlugin({
264
566
  },
265
567
  run: (ctx, config) => {
266
568
  const enums = getEnumEntities(ctx.ir);
267
- const { sqlStyle } = config;
569
+ const { sqlStyle, generateFunctions } = config;
570
+ // Pre-compute function groupings by return entity name
571
+ // Functions returning entities go in that entity's file; scalars go in functions.ts
572
+ const functionsByEntity = new Map();
573
+ const scalarFunctions = [];
574
+ if (generateFunctions) {
575
+ const { queries, mutations } = getGeneratableFunctions(ctx.ir);
576
+ const allFunctions = [...queries, ...mutations];
577
+ for (const fn of allFunctions) {
578
+ const resolved = resolveReturnType(fn, ctx.ir);
579
+ if (resolved.returnEntity) {
580
+ const entityName = resolved.returnEntity.name;
581
+ const existing = functionsByEntity.get(entityName) ?? [];
582
+ functionsByEntity.set(entityName, [...existing, fn]);
583
+ }
584
+ else {
585
+ scalarFunctions.push(fn);
586
+ }
587
+ }
588
+ }
268
589
  getTableEntities(ctx.ir)
269
590
  .filter(entity => entity.tags.omit !== true)
270
591
  .forEach(entity => {
271
592
  const genCtx = { entity, enums, ir: ctx.ir, sqlStyle };
272
- const statements = [...generateCrudFunctions(genCtx), ...generateLookupFunctions(genCtx)];
273
- if (statements.length === 0)
593
+ const crudStatements = [...generateCrudFunctions(genCtx), ...generateLookupFunctions(genCtx)];
594
+ // Get functions that return this entity
595
+ const entityFunctions = functionsByEntity.get(entity.name) ?? [];
596
+ if (crudStatements.length === 0 && entityFunctions.length === 0)
274
597
  return;
275
598
  const entityName = ctx.inflection.entityName(entity.pgClass, entity.tags);
276
599
  const fileNameCtx = {
@@ -281,6 +604,12 @@ export const sqlQueriesPlugin = definePlugin({
281
604
  entity,
282
605
  };
283
606
  const filePath = `${config.outputDir}/${ctx.pluginInflection.outputFile(fileNameCtx)}`;
607
+ // All statements for the file: CRUD methods + function wrappers
608
+ const statements = [...crudStatements];
609
+ // Add function wrappers
610
+ for (const fn of entityFunctions) {
611
+ statements.push(generateFunctionWrapper(fn, ctx.ir, sqlStyle));
612
+ }
284
613
  const file = ctx.file(filePath);
285
614
  // Import the appropriate SQL client based on style
286
615
  if (sqlStyle === "tag") {
@@ -304,8 +633,56 @@ export const sqlQueriesPlugin = definePlugin({
304
633
  });
305
634
  }
306
635
  }
636
+ // Import types needed by function args (for functions grouped into this file)
637
+ if (entityFunctions.length > 0) {
638
+ const fnTypeImports = collectFunctionTypeImports(entityFunctions, ctx.ir);
639
+ // Remove the entity's own type (already in scope)
640
+ fnTypeImports.delete(entity.name);
641
+ // TODO: Import these types when symbol registry supports it
642
+ }
307
643
  file.ast(conjure.program(...statements)).emit();
308
644
  });
645
+ // Generate files for composite types that have functions returning them
646
+ if (generateFunctions) {
647
+ const composites = getCompositeEntities(ctx.ir);
648
+ for (const composite of composites) {
649
+ const compositeFunctions = functionsByEntity.get(composite.name) ?? [];
650
+ if (compositeFunctions.length === 0)
651
+ continue;
652
+ const filePath = `${config.outputDir}/${composite.name}.ts`;
653
+ const statements = compositeFunctions.map(fn => generateFunctionWrapper(fn, ctx.ir, sqlStyle));
654
+ const file = ctx.file(filePath);
655
+ // Import the appropriate SQL client based on style
656
+ if (sqlStyle === "tag") {
657
+ file.import({ kind: "relative", names: ["sql"], from: "../db" });
658
+ }
659
+ else {
660
+ file.import({ kind: "relative", names: ["pool"], from: "../db" });
661
+ }
662
+ // Import the composite type and any types needed by function args
663
+ const fnTypeImports = collectFunctionTypeImports(compositeFunctions, ctx.ir);
664
+ fnTypeImports.add(composite.name); // Always import the composite type
665
+ // TODO: Import these types when symbol registry supports it
666
+ file.ast(conjure.program(...statements)).emit();
667
+ }
668
+ }
669
+ // Generate functions.ts for scalar-returning functions only
670
+ if (generateFunctions && scalarFunctions.length > 0) {
671
+ const filePath = `${config.outputDir}/${config.functionsFile}`;
672
+ const statements = scalarFunctions.map(fn => generateFunctionWrapper(fn, ctx.ir, sqlStyle));
673
+ const file = ctx.file(filePath);
674
+ // Import the appropriate SQL client based on style
675
+ if (sqlStyle === "tag") {
676
+ file.import({ kind: "relative", names: ["sql"], from: "../db" });
677
+ }
678
+ else {
679
+ file.import({ kind: "relative", names: ["pool"], from: "../db" });
680
+ }
681
+ // Import types needed by function args
682
+ const fnTypeImports = collectFunctionTypeImports(scalarFunctions, ctx.ir);
683
+ // TODO: Import these types when symbol registry supports it
684
+ file.ast(conjure.program(...statements)).emit();
685
+ }
309
686
  },
310
687
  });
311
688
  //# sourceMappingURL=sql-queries.js.map