@danielfgray/pg-sourcerer 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/cli.d.ts +3 -0
  2. package/dist/cli.d.ts.map +1 -0
  3. package/dist/cli.js +104 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/config.d.ts +133 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +47 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/errors.d.ts +129 -0
  10. package/dist/errors.d.ts.map +1 -0
  11. package/dist/errors.js +41 -0
  12. package/dist/errors.js.map +1 -0
  13. package/dist/generate.d.ts +75 -0
  14. package/dist/generate.d.ts.map +1 -0
  15. package/dist/generate.js +183 -0
  16. package/dist/generate.js.map +1 -0
  17. package/dist/index.d.ts +35 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +62 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/init.d.ts +4 -0
  22. package/dist/init.d.ts.map +1 -0
  23. package/dist/init.js +229 -0
  24. package/dist/init.js.map +1 -0
  25. package/dist/ir/index.d.ts +7 -0
  26. package/dist/ir/index.d.ts.map +1 -0
  27. package/dist/ir/index.js +7 -0
  28. package/dist/ir/index.js.map +1 -0
  29. package/dist/ir/relation-graph.d.ts +113 -0
  30. package/dist/ir/relation-graph.d.ts.map +1 -0
  31. package/dist/ir/relation-graph.js +232 -0
  32. package/dist/ir/relation-graph.js.map +1 -0
  33. package/dist/ir/semantic-ir.d.ts +448 -0
  34. package/dist/ir/semantic-ir.d.ts.map +1 -0
  35. package/dist/ir/semantic-ir.js +138 -0
  36. package/dist/ir/semantic-ir.js.map +1 -0
  37. package/dist/ir/smart-tags.d.ts +24 -0
  38. package/dist/ir/smart-tags.d.ts.map +1 -0
  39. package/dist/ir/smart-tags.js +30 -0
  40. package/dist/ir/smart-tags.js.map +1 -0
  41. package/dist/lib/conjure.d.ts +431 -0
  42. package/dist/lib/conjure.d.ts.map +1 -0
  43. package/dist/lib/conjure.js +697 -0
  44. package/dist/lib/conjure.js.map +1 -0
  45. package/dist/lib/field-utils.d.ts +61 -0
  46. package/dist/lib/field-utils.d.ts.map +1 -0
  47. package/dist/lib/field-utils.js +132 -0
  48. package/dist/lib/field-utils.js.map +1 -0
  49. package/dist/lib/hex.d.ts +117 -0
  50. package/dist/lib/hex.d.ts.map +1 -0
  51. package/dist/lib/hex.js +185 -0
  52. package/dist/lib/hex.js.map +1 -0
  53. package/dist/plugins/arktype.d.ts +11 -0
  54. package/dist/plugins/arktype.d.ts.map +1 -0
  55. package/dist/plugins/arktype.js +207 -0
  56. package/dist/plugins/arktype.js.map +1 -0
  57. package/dist/plugins/effect-model.d.ts +10 -0
  58. package/dist/plugins/effect-model.d.ts.map +1 -0
  59. package/dist/plugins/effect-model.js +261 -0
  60. package/dist/plugins/effect-model.js.map +1 -0
  61. package/dist/plugins/kysely-queries.d.ts +7 -0
  62. package/dist/plugins/kysely-queries.d.ts.map +1 -0
  63. package/dist/plugins/kysely-queries.js +380 -0
  64. package/dist/plugins/kysely-queries.js.map +1 -0
  65. package/dist/plugins/sql-queries.d.ts +6 -0
  66. package/dist/plugins/sql-queries.d.ts.map +1 -0
  67. package/dist/plugins/sql-queries.js +249 -0
  68. package/dist/plugins/sql-queries.js.map +1 -0
  69. package/dist/plugins/types.d.ts +18 -0
  70. package/dist/plugins/types.d.ts.map +1 -0
  71. package/dist/plugins/types.js +263 -0
  72. package/dist/plugins/types.js.map +1 -0
  73. package/dist/plugins/zod.d.ts +11 -0
  74. package/dist/plugins/zod.d.ts.map +1 -0
  75. package/dist/plugins/zod.js +180 -0
  76. package/dist/plugins/zod.js.map +1 -0
  77. package/dist/services/artifact-store.d.ts +55 -0
  78. package/dist/services/artifact-store.d.ts.map +1 -0
  79. package/dist/services/artifact-store.js +51 -0
  80. package/dist/services/artifact-store.js.map +1 -0
  81. package/dist/services/config-loader.d.ts +45 -0
  82. package/dist/services/config-loader.d.ts.map +1 -0
  83. package/dist/services/config-loader.js +113 -0
  84. package/dist/services/config-loader.js.map +1 -0
  85. package/dist/services/emissions.d.ts +89 -0
  86. package/dist/services/emissions.d.ts.map +1 -0
  87. package/dist/services/emissions.js +194 -0
  88. package/dist/services/emissions.js.map +1 -0
  89. package/dist/services/file-builder.d.ts +81 -0
  90. package/dist/services/file-builder.d.ts.map +1 -0
  91. package/dist/services/file-builder.js +112 -0
  92. package/dist/services/file-builder.js.map +1 -0
  93. package/dist/services/file-writer.d.ts +57 -0
  94. package/dist/services/file-writer.d.ts.map +1 -0
  95. package/dist/services/file-writer.js +76 -0
  96. package/dist/services/file-writer.js.map +1 -0
  97. package/dist/services/inflection.d.ts +227 -0
  98. package/dist/services/inflection.d.ts.map +1 -0
  99. package/dist/services/inflection.js +350 -0
  100. package/dist/services/inflection.js.map +1 -0
  101. package/dist/services/introspection.d.ts +46 -0
  102. package/dist/services/introspection.d.ts.map +1 -0
  103. package/dist/services/introspection.js +99 -0
  104. package/dist/services/introspection.js.map +1 -0
  105. package/dist/services/ir-builder.d.ts +46 -0
  106. package/dist/services/ir-builder.d.ts.map +1 -0
  107. package/dist/services/ir-builder.js +923 -0
  108. package/dist/services/ir-builder.js.map +1 -0
  109. package/dist/services/ir.d.ts +28 -0
  110. package/dist/services/ir.d.ts.map +1 -0
  111. package/dist/services/ir.js +25 -0
  112. package/dist/services/ir.js.map +1 -0
  113. package/dist/services/pg-types.d.ts +197 -0
  114. package/dist/services/pg-types.d.ts.map +1 -0
  115. package/dist/services/pg-types.js +274 -0
  116. package/dist/services/pg-types.js.map +1 -0
  117. package/dist/services/plugin-meta.d.ts +33 -0
  118. package/dist/services/plugin-meta.d.ts.map +1 -0
  119. package/dist/services/plugin-meta.js +24 -0
  120. package/dist/services/plugin-meta.js.map +1 -0
  121. package/dist/services/plugin-runner.d.ts +52 -0
  122. package/dist/services/plugin-runner.d.ts.map +1 -0
  123. package/dist/services/plugin-runner.js +182 -0
  124. package/dist/services/plugin-runner.js.map +1 -0
  125. package/dist/services/plugin.d.ts +286 -0
  126. package/dist/services/plugin.d.ts.map +1 -0
  127. package/dist/services/plugin.js +132 -0
  128. package/dist/services/plugin.js.map +1 -0
  129. package/dist/services/smart-tags-parser.d.ts +37 -0
  130. package/dist/services/smart-tags-parser.d.ts.map +1 -0
  131. package/dist/services/smart-tags-parser.js +79 -0
  132. package/dist/services/smart-tags-parser.js.map +1 -0
  133. package/dist/services/symbols.d.ts +85 -0
  134. package/dist/services/symbols.d.ts.map +1 -0
  135. package/dist/services/symbols.js +128 -0
  136. package/dist/services/symbols.js.map +1 -0
  137. package/dist/services/type-hints.d.ts +62 -0
  138. package/dist/services/type-hints.d.ts.map +1 -0
  139. package/dist/services/type-hints.js +117 -0
  140. package/dist/services/type-hints.js.map +1 -0
  141. package/dist/testing.d.ts +77 -0
  142. package/dist/testing.d.ts.map +1 -0
  143. package/dist/testing.js +84 -0
  144. package/dist/testing.js.map +1 -0
  145. package/package.json +74 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ir-builder.js","sourceRoot":"","sources":["../../src/services/ir-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * IR Service
3
+ *
4
+ * Provides read-only access to the SemanticIR for plugins.
5
+ * This is a simple value service - the IR is built once per run
6
+ * and provided to all plugins.
7
+ */
8
+ import { Context } from "effect";
9
+ import type { SemanticIR } from "../ir/semantic-ir.js";
10
+ declare const IR_base: Context.TagClass<IR, "IR", SemanticIR>;
11
+ /**
12
+ * IR service tag - provides SemanticIR to plugins
13
+ *
14
+ * Usage in plugins:
15
+ * ```typescript
16
+ * const ir = yield* IR
17
+ * for (const entity of ir.entities.values()) { ... }
18
+ * ```
19
+ *
20
+ * Layer is created per-run by PluginRunner:
21
+ * ```typescript
22
+ * const irLayer = Layer.succeed(IR, builtIR)
23
+ * ```
24
+ */
25
+ export declare class IR extends IR_base {
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=ir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../src/services/ir.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;;AAEtD;;;;;;;;;;;;;GAaG;AACH,qBAAa,EAAG,SAAQ,OAAmC;CAAG"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * IR Service
3
+ *
4
+ * Provides read-only access to the SemanticIR for plugins.
5
+ * This is a simple value service - the IR is built once per run
6
+ * and provided to all plugins.
7
+ */
8
+ import { Context } from "effect";
9
+ /**
10
+ * IR service tag - provides SemanticIR to plugins
11
+ *
12
+ * Usage in plugins:
13
+ * ```typescript
14
+ * const ir = yield* IR
15
+ * for (const entity of ir.entities.values()) { ... }
16
+ * ```
17
+ *
18
+ * Layer is created per-run by PluginRunner:
19
+ * ```typescript
20
+ * const irLayer = Layer.succeed(IR, builtIR)
21
+ * ```
22
+ */
23
+ export class IR extends Context.Tag("IR")() {
24
+ }
25
+ //# sourceMappingURL=ir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ir.js","sourceRoot":"","sources":["../../src/services/ir.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAGhC;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,EAAG,SAAQ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAkB;CAAG"}
@@ -0,0 +1,197 @@
1
+ /**
2
+ * PostgreSQL Type Mapping Utilities
3
+ *
4
+ * Provides well-known PostgreSQL type OIDs and a default mapping to TypeScript types.
5
+ * Plugins can use these as a starting point and override as needed.
6
+ */
7
+ import { Option } from "effect";
8
+ /**
9
+ * Well-known PostgreSQL built-in type OIDs.
10
+ * These are stable across PostgreSQL versions.
11
+ */
12
+ export declare const PgTypeOid: {
13
+ readonly Bool: 16;
14
+ readonly Int2: 21;
15
+ readonly Int4: 23;
16
+ readonly Int8: 20;
17
+ readonly Float4: 700;
18
+ readonly Float8: 701;
19
+ readonly Numeric: 1700;
20
+ readonly Char: 18;
21
+ readonly BpChar: 1042;
22
+ readonly VarChar: 1043;
23
+ readonly Text: 25;
24
+ readonly Name: 19;
25
+ readonly Bytea: 17;
26
+ readonly Date: 1082;
27
+ readonly Time: 1083;
28
+ readonly TimeTz: 1266;
29
+ readonly Timestamp: 1114;
30
+ readonly TimestampTz: 1184;
31
+ readonly Interval: 1186;
32
+ readonly Inet: 869;
33
+ readonly Cidr: 650;
34
+ readonly MacAddr: 829;
35
+ readonly MacAddr8: 774;
36
+ readonly Uuid: 2950;
37
+ readonly Json: 114;
38
+ readonly JsonB: 3802;
39
+ readonly JsonPath: 4072;
40
+ readonly Point: 600;
41
+ readonly Line: 628;
42
+ readonly LSeg: 601;
43
+ readonly Box: 603;
44
+ readonly Path: 602;
45
+ readonly Polygon: 604;
46
+ readonly Circle: 718;
47
+ readonly Int4Range: 3904;
48
+ readonly Int8Range: 3926;
49
+ readonly NumRange: 3906;
50
+ readonly TsRange: 3908;
51
+ readonly TsTzRange: 3910;
52
+ readonly DateRange: 3912;
53
+ readonly Oid: 26;
54
+ readonly Xml: 142;
55
+ readonly Money: 790;
56
+ readonly Bit: 1560;
57
+ readonly VarBit: 1562;
58
+ readonly TsVector: 3614;
59
+ readonly TsQuery: 3615;
60
+ };
61
+ export type PgTypeOid = (typeof PgTypeOid)[keyof typeof PgTypeOid];
62
+ /**
63
+ * TypeScript primitive types for code generation
64
+ */
65
+ export declare const TsType: {
66
+ readonly String: "string";
67
+ readonly Number: "number";
68
+ readonly Boolean: "boolean";
69
+ readonly BigInt: "bigint";
70
+ readonly Date: "Date";
71
+ readonly Buffer: "Buffer";
72
+ readonly Unknown: "unknown";
73
+ readonly Null: "null";
74
+ };
75
+ export type TsType = (typeof TsType)[keyof typeof TsType];
76
+ /**
77
+ * Result of resolving a PostgreSQL type to TypeScript
78
+ */
79
+ export interface TypeMappingResult {
80
+ /** The TypeScript type string */
81
+ readonly tsType: string;
82
+ /** Whether this is an enum type from the IR */
83
+ readonly isEnum: boolean;
84
+ /** If isEnum, the enum name from IR */
85
+ readonly enumName?: string;
86
+ /** Whether this is an array type */
87
+ readonly isArray: boolean;
88
+ }
89
+ /**
90
+ * Default mapping from PostgreSQL type OID to TypeScript type.
91
+ *
92
+ * Plugins can use this as a base and override specific mappings.
93
+ * Returns undefined for unmapped types (enums, domains, custom types).
94
+ */
95
+ export declare function defaultPgToTs(oid: number): Option.Option<TsType>;
96
+ /**
97
+ * Type mapper function signature.
98
+ * Takes an OID and returns an Option of TypeScript type string.
99
+ */
100
+ export type TypeMapper = (oid: number) => Option.Option<string>;
101
+ /**
102
+ * Compose multiple type mappers into one.
103
+ * Earlier mappers take precedence (first Some wins).
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * const kyselyMapper = composeMappers(
108
+ * // Override bigint handling
109
+ * (oid) => oid === PgTypeOid.Int8 ? Option.some("bigint") : Option.none(),
110
+ * // Fall back to defaults
111
+ * defaultPgToTs
112
+ * )
113
+ * ```
114
+ */
115
+ export declare function composeMappers(...mappers: TypeMapper[]): TypeMapper;
116
+ /**
117
+ * Wrap a type string as an array type if needed.
118
+ */
119
+ export declare function wrapArrayType(baseType: string, isArray: boolean): string;
120
+ /**
121
+ * Wrap a type string as nullable if needed.
122
+ */
123
+ export declare function wrapNullable(baseType: string, nullable: boolean, style?: "union" | "optional"): string;
124
+ /**
125
+ * Result of looking up an enum in the IR
126
+ */
127
+ export interface EnumLookupResult {
128
+ /** The inflected TypeScript enum name */
129
+ readonly name: string;
130
+ /** The original PostgreSQL enum name */
131
+ readonly pgName: string;
132
+ /** The enum values */
133
+ readonly values: readonly string[];
134
+ }
135
+ /**
136
+ * Minimal extension info needed for type mapping
137
+ */
138
+ export interface ExtensionInfo {
139
+ readonly name: string;
140
+ readonly namespaceOid: string;
141
+ }
142
+ /**
143
+ * Known PostgreSQL extension types and their TypeScript mappings.
144
+ * Key is extension name, value maps type names to TS types.
145
+ */
146
+ export declare const ExtensionTypeMap: Readonly<Record<string, Readonly<Record<string, TsType>>>>;
147
+ /**
148
+ * Look up a type's TypeScript mapping by checking if it belongs to a known extension.
149
+ *
150
+ * This handles extension types like citext where OIDs are dynamically assigned
151
+ * and not stable across PostgreSQL installations.
152
+ *
153
+ * @param typeName - The PostgreSQL type name (e.g., "citext")
154
+ * @param typeNamespaceOid - The namespace OID of the type
155
+ * @param extensions - Array of extension info from introspection
156
+ * @returns The TypeScript type if found, undefined otherwise
157
+ *
158
+ * @example
159
+ * ```typescript
160
+ * const pgType = field.pgAttribute.getType()
161
+ * if (pgType) {
162
+ * const tsType = getExtensionTypeMapping(
163
+ * pgType.typname,
164
+ * String(pgType.typnamespace),
165
+ * ir.extensions
166
+ * )
167
+ * if (tsType) {
168
+ * // Use tsType for code generation
169
+ * }
170
+ * }
171
+ * ```
172
+ */
173
+ export declare function getExtensionTypeMapping(typeName: string, typeNamespaceOid: string, extensions: readonly ExtensionInfo[]): Option.Option<TsType>;
174
+ /**
175
+ * Find an enum in the IR by its PostgreSQL type name.
176
+ *
177
+ * @param enums - Array of enum entities or iterable of enums
178
+ * @param pgTypeName - The PostgreSQL type name (e.g., "user_role")
179
+ * @returns The enum definition if found, undefined otherwise
180
+ *
181
+ * @example
182
+ * ```typescript
183
+ * const pgType = field.pgAttribute.getType()
184
+ * if (pgType?.typtype === 'e') {
185
+ * const enumDef = findEnumByPgName(getEnumEntities(ir), pgType.typname)
186
+ * if (enumDef) {
187
+ * return enumDef.name // Use inflected name like "UserRole"
188
+ * }
189
+ * }
190
+ * ```
191
+ */
192
+ export declare function findEnumByPgName(enums: Iterable<{
193
+ readonly pgName: string;
194
+ readonly name: string;
195
+ readonly values: readonly string[];
196
+ }>, pgTypeName: string): Option.Option<EnumLookupResult>;
197
+ //# sourceMappingURL=pg-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-types.d.ts","sourceRoot":"","sources":["../../src/services/pg-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAgB,MAAM,EAAQ,MAAM,QAAQ,CAAA;AAEnD;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEZ,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAA;AAElE;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;;CAST,CAAA;AAEV,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAA;AAEzD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CA+FhE;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAE/D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAOnE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAExE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EACjB,KAAK,GAAE,OAAO,GAAG,UAAoB,GACpC,MAAM,CAGR;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,sBAAsB;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CACnC;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAKvF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,SAAS,aAAa,EAAE,GACnC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAWvB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,EACvG,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAUjC"}
@@ -0,0 +1,274 @@
1
+ /**
2
+ * PostgreSQL Type Mapping Utilities
3
+ *
4
+ * Provides well-known PostgreSQL type OIDs and a default mapping to TypeScript types.
5
+ * Plugins can use these as a starting point and override as needed.
6
+ */
7
+ import { Array as Arr, Option, pipe } from "effect";
8
+ /**
9
+ * Well-known PostgreSQL built-in type OIDs.
10
+ * These are stable across PostgreSQL versions.
11
+ */
12
+ export const PgTypeOid = {
13
+ // Boolean
14
+ Bool: 16,
15
+ // Numeric
16
+ Int2: 21,
17
+ Int4: 23,
18
+ Int8: 20,
19
+ Float4: 700,
20
+ Float8: 701,
21
+ Numeric: 1700,
22
+ // Text
23
+ Char: 18,
24
+ BpChar: 1042, // blank-padded char
25
+ VarChar: 1043,
26
+ Text: 25,
27
+ Name: 19,
28
+ // Binary
29
+ Bytea: 17,
30
+ // Date/Time
31
+ Date: 1082,
32
+ Time: 1083,
33
+ TimeTz: 1266,
34
+ Timestamp: 1114,
35
+ TimestampTz: 1184,
36
+ Interval: 1186,
37
+ // Network
38
+ Inet: 869,
39
+ Cidr: 650,
40
+ MacAddr: 829,
41
+ MacAddr8: 774,
42
+ // UUID
43
+ Uuid: 2950,
44
+ // JSON
45
+ Json: 114,
46
+ JsonB: 3802,
47
+ JsonPath: 4072,
48
+ // Geometric
49
+ Point: 600,
50
+ Line: 628,
51
+ LSeg: 601,
52
+ Box: 603,
53
+ Path: 602,
54
+ Polygon: 604,
55
+ Circle: 718,
56
+ // Ranges
57
+ Int4Range: 3904,
58
+ Int8Range: 3926,
59
+ NumRange: 3906,
60
+ TsRange: 3908,
61
+ TsTzRange: 3910,
62
+ DateRange: 3912,
63
+ // Other
64
+ Oid: 26,
65
+ Xml: 142,
66
+ Money: 790,
67
+ Bit: 1560,
68
+ VarBit: 1562,
69
+ TsVector: 3614,
70
+ TsQuery: 3615,
71
+ };
72
+ /**
73
+ * TypeScript primitive types for code generation
74
+ */
75
+ export const TsType = {
76
+ String: "string",
77
+ Number: "number",
78
+ Boolean: "boolean",
79
+ BigInt: "bigint",
80
+ Date: "Date",
81
+ Buffer: "Buffer",
82
+ Unknown: "unknown",
83
+ Null: "null",
84
+ };
85
+ /**
86
+ * Default mapping from PostgreSQL type OID to TypeScript type.
87
+ *
88
+ * Plugins can use this as a base and override specific mappings.
89
+ * Returns undefined for unmapped types (enums, domains, custom types).
90
+ */
91
+ export function defaultPgToTs(oid) {
92
+ switch (oid) {
93
+ // Boolean
94
+ case PgTypeOid.Bool:
95
+ return Option.some(TsType.Boolean);
96
+ // Integer types → number
97
+ case PgTypeOid.Int2:
98
+ case PgTypeOid.Int4:
99
+ case PgTypeOid.Oid:
100
+ return Option.some(TsType.Number);
101
+ // Floating point → number
102
+ case PgTypeOid.Float4:
103
+ case PgTypeOid.Float8:
104
+ return Option.some(TsType.Number);
105
+ // Big integers → string (to avoid precision loss)
106
+ // Plugins like Kysely may override to bigint
107
+ case PgTypeOid.Int8:
108
+ case PgTypeOid.Numeric:
109
+ case PgTypeOid.Money:
110
+ return Option.some(TsType.String);
111
+ // Text types → string
112
+ case PgTypeOid.Char:
113
+ case PgTypeOid.BpChar:
114
+ case PgTypeOid.VarChar:
115
+ case PgTypeOid.Text:
116
+ case PgTypeOid.Name:
117
+ case PgTypeOid.Xml:
118
+ case PgTypeOid.Bit:
119
+ case PgTypeOid.VarBit:
120
+ return Option.some(TsType.String);
121
+ // UUID → string
122
+ case PgTypeOid.Uuid:
123
+ return Option.some(TsType.String);
124
+ // Network types → string
125
+ case PgTypeOid.Inet:
126
+ case PgTypeOid.Cidr:
127
+ case PgTypeOid.MacAddr:
128
+ case PgTypeOid.MacAddr8:
129
+ return Option.some(TsType.String);
130
+ // Date/Time with date component → Date
131
+ case PgTypeOid.Date:
132
+ case PgTypeOid.Timestamp:
133
+ case PgTypeOid.TimestampTz:
134
+ return Option.some(TsType.Date);
135
+ // Time without date → string
136
+ case PgTypeOid.Time:
137
+ case PgTypeOid.TimeTz:
138
+ case PgTypeOid.Interval:
139
+ return Option.some(TsType.String);
140
+ // JSON → unknown
141
+ case PgTypeOid.Json:
142
+ case PgTypeOid.JsonB:
143
+ case PgTypeOid.JsonPath:
144
+ return Option.some(TsType.Unknown);
145
+ // Binary → Buffer
146
+ case PgTypeOid.Bytea:
147
+ return Option.some(TsType.Buffer);
148
+ // Geometric types → string (typically serialized)
149
+ case PgTypeOid.Point:
150
+ case PgTypeOid.Line:
151
+ case PgTypeOid.LSeg:
152
+ case PgTypeOid.Box:
153
+ case PgTypeOid.Path:
154
+ case PgTypeOid.Polygon:
155
+ case PgTypeOid.Circle:
156
+ return Option.some(TsType.String);
157
+ // Range types → string
158
+ case PgTypeOid.Int4Range:
159
+ case PgTypeOid.Int8Range:
160
+ case PgTypeOid.NumRange:
161
+ case PgTypeOid.TsRange:
162
+ case PgTypeOid.TsTzRange:
163
+ case PgTypeOid.DateRange:
164
+ return Option.some(TsType.String);
165
+ // Full-text search → string
166
+ case PgTypeOid.TsVector:
167
+ case PgTypeOid.TsQuery:
168
+ return Option.some(TsType.String);
169
+ default:
170
+ return Option.none();
171
+ }
172
+ }
173
+ /**
174
+ * Compose multiple type mappers into one.
175
+ * Earlier mappers take precedence (first Some wins).
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * const kyselyMapper = composeMappers(
180
+ * // Override bigint handling
181
+ * (oid) => oid === PgTypeOid.Int8 ? Option.some("bigint") : Option.none(),
182
+ * // Fall back to defaults
183
+ * defaultPgToTs
184
+ * )
185
+ * ```
186
+ */
187
+ export function composeMappers(...mappers) {
188
+ return (oid) => pipe(mappers, Arr.findFirst((mapper) => Option.isSome(mapper(oid))), Option.flatMap((mapper) => mapper(oid)));
189
+ }
190
+ /**
191
+ * Wrap a type string as an array type if needed.
192
+ */
193
+ export function wrapArrayType(baseType, isArray) {
194
+ return isArray ? `${baseType}[]` : baseType;
195
+ }
196
+ /**
197
+ * Wrap a type string as nullable if needed.
198
+ */
199
+ export function wrapNullable(baseType, nullable, style = "union") {
200
+ if (!nullable)
201
+ return baseType;
202
+ return style === "union" ? `${baseType} | null` : `${baseType}?`;
203
+ }
204
+ /**
205
+ * Known PostgreSQL extension types and their TypeScript mappings.
206
+ * Key is extension name, value maps type names to TS types.
207
+ */
208
+ export const ExtensionTypeMap = {
209
+ citext: {
210
+ citext: TsType.String,
211
+ },
212
+ // Add more extensions as needed (hstore, ltree, postgis, etc.)
213
+ };
214
+ /**
215
+ * Look up a type's TypeScript mapping by checking if it belongs to a known extension.
216
+ *
217
+ * This handles extension types like citext where OIDs are dynamically assigned
218
+ * and not stable across PostgreSQL installations.
219
+ *
220
+ * @param typeName - The PostgreSQL type name (e.g., "citext")
221
+ * @param typeNamespaceOid - The namespace OID of the type
222
+ * @param extensions - Array of extension info from introspection
223
+ * @returns The TypeScript type if found, undefined otherwise
224
+ *
225
+ * @example
226
+ * ```typescript
227
+ * const pgType = field.pgAttribute.getType()
228
+ * if (pgType) {
229
+ * const tsType = getExtensionTypeMapping(
230
+ * pgType.typname,
231
+ * String(pgType.typnamespace),
232
+ * ir.extensions
233
+ * )
234
+ * if (tsType) {
235
+ * // Use tsType for code generation
236
+ * }
237
+ * }
238
+ * ```
239
+ */
240
+ export function getExtensionTypeMapping(typeName, typeNamespaceOid, extensions) {
241
+ return pipe(extensions, Arr.filter((ext) => ext.namespaceOid === typeNamespaceOid), Arr.findFirst((ext) => {
242
+ const extTypeMap = ExtensionTypeMap[ext.name];
243
+ return extTypeMap !== undefined && extTypeMap[typeName] !== undefined;
244
+ }), Option.flatMap((ext) => Option.fromNullable(ExtensionTypeMap[ext.name])), Option.flatMap((extTypeMap) => Option.fromNullable(extTypeMap[typeName])));
245
+ }
246
+ // ============================================================================
247
+ // Enum Lookup
248
+ // ============================================================================
249
+ /**
250
+ * Find an enum in the IR by its PostgreSQL type name.
251
+ *
252
+ * @param enums - Array of enum entities or iterable of enums
253
+ * @param pgTypeName - The PostgreSQL type name (e.g., "user_role")
254
+ * @returns The enum definition if found, undefined otherwise
255
+ *
256
+ * @example
257
+ * ```typescript
258
+ * const pgType = field.pgAttribute.getType()
259
+ * if (pgType?.typtype === 'e') {
260
+ * const enumDef = findEnumByPgName(getEnumEntities(ir), pgType.typname)
261
+ * if (enumDef) {
262
+ * return enumDef.name // Use inflected name like "UserRole"
263
+ * }
264
+ * }
265
+ * ```
266
+ */
267
+ export function findEnumByPgName(enums, pgTypeName) {
268
+ return pipe(Array.from(enums), Arr.findFirst(enumDef => enumDef.pgName === pgTypeName), Option.map(enumDef => ({
269
+ name: enumDef.name,
270
+ pgName: enumDef.pgName,
271
+ values: enumDef.values,
272
+ })));
273
+ }
274
+ //# sourceMappingURL=pg-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-types.js","sourceRoot":"","sources":["../../src/services/pg-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Plugin Meta Service
3
+ *
4
+ * Provides metadata about the currently executing plugin.
5
+ * This is a per-plugin value - a new layer is created for each plugin.
6
+ */
7
+ import { Context } from "effect";
8
+ /**
9
+ * Plugin metadata interface
10
+ */
11
+ export interface PluginMetaInfo {
12
+ /** The plugin's name */
13
+ readonly name: string;
14
+ }
15
+ declare const PluginMeta_base: Context.TagClass<PluginMeta, "PluginMeta", PluginMetaInfo>;
16
+ /**
17
+ * PluginMeta service tag
18
+ *
19
+ * Usage in plugins:
20
+ * ```typescript
21
+ * const meta = yield* PluginMeta
22
+ * console.log(`Running plugin: ${meta.name}`)
23
+ * ```
24
+ *
25
+ * Layer is created per-plugin by PluginRunner:
26
+ * ```typescript
27
+ * const metaLayer = Layer.succeed(PluginMeta, { name: plugin.name })
28
+ * ```
29
+ */
30
+ export declare class PluginMeta extends PluginMeta_base {
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=plugin-meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-meta.d.ts","sourceRoot":"","sources":["../../src/services/plugin-meta.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,UAAW,SAAQ,eAAuD;CAAG"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Plugin Meta Service
3
+ *
4
+ * Provides metadata about the currently executing plugin.
5
+ * This is a per-plugin value - a new layer is created for each plugin.
6
+ */
7
+ import { Context } from "effect";
8
+ /**
9
+ * PluginMeta service tag
10
+ *
11
+ * Usage in plugins:
12
+ * ```typescript
13
+ * const meta = yield* PluginMeta
14
+ * console.log(`Running plugin: ${meta.name}`)
15
+ * ```
16
+ *
17
+ * Layer is created per-plugin by PluginRunner:
18
+ * ```typescript
19
+ * const metaLayer = Layer.succeed(PluginMeta, { name: plugin.name })
20
+ * ```
21
+ */
22
+ export class PluginMeta extends Context.Tag("PluginMeta")() {
23
+ }
24
+ //# sourceMappingURL=plugin-meta.js.map