@danielfgray/pg-sourcerer 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/bin/pgsourcerer +2 -0
  2. package/dist/__tests__/fixtures/index.d.ts +15 -0
  3. package/dist/__tests__/fixtures/index.d.ts.map +1 -0
  4. package/dist/__tests__/fixtures/index.js +19 -0
  5. package/dist/__tests__/fixtures/index.js.map +1 -0
  6. package/dist/__tests__/fixtures/introspection.json +40522 -0
  7. package/dist/cli.d.ts +0 -1
  8. package/dist/cli.js +7 -46
  9. package/dist/cli.js.map +1 -1
  10. package/dist/config.d.ts +38 -5
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +13 -2
  13. package/dist/config.js.map +1 -1
  14. package/dist/{lib/conjure.d.ts → conjure/index.d.ts} +62 -3
  15. package/dist/conjure/index.d.ts.map +1 -0
  16. package/dist/{lib/conjure.js → conjure/index.js} +124 -3
  17. package/dist/conjure/index.js.map +1 -0
  18. package/dist/conjure/signature.d.ts +85 -0
  19. package/dist/conjure/signature.d.ts.map +1 -0
  20. package/dist/conjure/signature.js +130 -0
  21. package/dist/conjure/signature.js.map +1 -0
  22. package/dist/conjure/types.d.ts +97 -0
  23. package/dist/conjure/types.d.ts.map +1 -0
  24. package/dist/conjure/types.js +206 -0
  25. package/dist/conjure/types.js.map +1 -0
  26. package/dist/errors.d.ts +114 -139
  27. package/dist/errors.d.ts.map +1 -1
  28. package/dist/errors.js +82 -36
  29. package/dist/errors.js.map +1 -1
  30. package/dist/generate.d.ts +45 -46
  31. package/dist/generate.d.ts.map +1 -1
  32. package/dist/generate.js +86 -59
  33. package/dist/generate.js.map +1 -1
  34. package/dist/hex/builder.d.ts +12 -0
  35. package/dist/hex/builder.d.ts.map +1 -0
  36. package/dist/hex/builder.js +64 -0
  37. package/dist/hex/builder.js.map +1 -0
  38. package/dist/hex/ddl.d.ts +53 -0
  39. package/dist/hex/ddl.d.ts.map +1 -0
  40. package/dist/hex/ddl.js +306 -0
  41. package/dist/hex/ddl.js.map +1 -0
  42. package/dist/hex/index.d.ts +105 -0
  43. package/dist/hex/index.d.ts.map +1 -0
  44. package/dist/hex/index.js +81 -0
  45. package/dist/hex/index.js.map +1 -0
  46. package/dist/hex/primitives.d.ts +23 -0
  47. package/dist/hex/primitives.d.ts.map +1 -0
  48. package/dist/hex/primitives.js +38 -0
  49. package/dist/hex/primitives.js.map +1 -0
  50. package/dist/hex/query.d.ts +116 -0
  51. package/dist/hex/query.d.ts.map +1 -0
  52. package/dist/hex/query.js +219 -0
  53. package/dist/hex/query.js.map +1 -0
  54. package/dist/hex/types.d.ts +287 -0
  55. package/dist/hex/types.d.ts.map +1 -0
  56. package/dist/hex/types.js +431 -0
  57. package/dist/hex/types.js.map +1 -0
  58. package/dist/index.d.ts +17 -25
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +33 -44
  61. package/dist/index.js.map +1 -1
  62. package/dist/init.d.ts.map +1 -1
  63. package/dist/init.js +76 -140
  64. package/dist/init.js.map +1 -1
  65. package/dist/ir/extensions/queries.d.ts +6 -6
  66. package/dist/ir/extensions/queries.d.ts.map +1 -1
  67. package/dist/ir/extensions/queries.js +6 -4
  68. package/dist/ir/extensions/queries.js.map +1 -1
  69. package/dist/ir/extensions/schema-builder.d.ts.map +1 -1
  70. package/dist/ir/extensions/schema-builder.js.map +1 -1
  71. package/dist/ir/index.d.ts.map +1 -1
  72. package/dist/ir/index.js.map +1 -1
  73. package/dist/ir/relation-graph.d.ts.map +1 -1
  74. package/dist/ir/relation-graph.js +8 -8
  75. package/dist/ir/relation-graph.js.map +1 -1
  76. package/dist/ir/semantic-ir.d.ts +38 -0
  77. package/dist/ir/semantic-ir.d.ts.map +1 -1
  78. package/dist/ir/semantic-ir.js +50 -2
  79. package/dist/ir/semantic-ir.js.map +1 -1
  80. package/dist/ir/smart-tags.d.ts.map +1 -1
  81. package/dist/ir/smart-tags.js.map +1 -1
  82. package/dist/lib/field-utils.d.ts.map +1 -1
  83. package/dist/lib/field-utils.js +7 -7
  84. package/dist/lib/field-utils.js.map +1 -1
  85. package/dist/lib/join-graph.d.ts +95 -0
  86. package/dist/lib/join-graph.d.ts.map +1 -0
  87. package/dist/lib/join-graph.js +305 -0
  88. package/dist/lib/join-graph.js.map +1 -0
  89. package/dist/lib/picker.d.ts +60 -0
  90. package/dist/lib/picker.d.ts.map +1 -0
  91. package/dist/lib/picker.js +325 -0
  92. package/dist/lib/picker.js.map +1 -0
  93. package/dist/plugins/arktype.d.ts +20 -24
  94. package/dist/plugins/arktype.d.ts.map +1 -1
  95. package/dist/plugins/arktype.js +462 -386
  96. package/dist/plugins/arktype.js.map +1 -1
  97. package/dist/plugins/effect/http.d.ts +7 -0
  98. package/dist/plugins/effect/http.d.ts.map +1 -0
  99. package/dist/plugins/effect/http.js +460 -0
  100. package/dist/plugins/effect/http.js.map +1 -0
  101. package/dist/plugins/effect/index.d.ts +22 -0
  102. package/dist/plugins/effect/index.d.ts.map +1 -0
  103. package/dist/plugins/effect/index.js +65 -0
  104. package/dist/plugins/effect/index.js.map +1 -0
  105. package/dist/plugins/effect/models.d.ts +6 -0
  106. package/dist/plugins/effect/models.d.ts.map +1 -0
  107. package/dist/plugins/effect/models.js +116 -0
  108. package/dist/plugins/effect/models.js.map +1 -0
  109. package/dist/plugins/effect/repos.d.ts +21 -0
  110. package/dist/plugins/effect/repos.d.ts.map +1 -0
  111. package/dist/plugins/effect/repos.js +131 -0
  112. package/dist/plugins/effect/repos.js.map +1 -0
  113. package/dist/plugins/effect/schemas.d.ts +7 -0
  114. package/dist/plugins/effect/schemas.d.ts.map +1 -0
  115. package/dist/plugins/effect/schemas.js +75 -0
  116. package/dist/plugins/effect/schemas.js.map +1 -0
  117. package/dist/plugins/effect/shared.d.ts +116 -0
  118. package/dist/plugins/effect/shared.d.ts.map +1 -0
  119. package/dist/plugins/effect/shared.js +164 -0
  120. package/dist/plugins/effect/shared.js.map +1 -0
  121. package/dist/plugins/http-elysia.d.ts +20 -27
  122. package/dist/plugins/http-elysia.d.ts.map +1 -1
  123. package/dist/plugins/http-elysia.js +350 -475
  124. package/dist/plugins/http-elysia.js.map +1 -1
  125. package/dist/plugins/http-express.d.ts +20 -31
  126. package/dist/plugins/http-express.d.ts.map +1 -1
  127. package/dist/plugins/http-express.js +281 -268
  128. package/dist/plugins/http-express.js.map +1 -1
  129. package/dist/plugins/http-hono.d.ts +17 -33
  130. package/dist/plugins/http-hono.d.ts.map +1 -1
  131. package/dist/plugins/http-hono.js +317 -341
  132. package/dist/plugins/http-hono.js.map +1 -1
  133. package/dist/plugins/http-orpc.d.ts +34 -33
  134. package/dist/plugins/http-orpc.d.ts.map +1 -1
  135. package/dist/plugins/http-orpc.js +345 -257
  136. package/dist/plugins/http-orpc.js.map +1 -1
  137. package/dist/plugins/http-trpc.d.ts +33 -35
  138. package/dist/plugins/http-trpc.d.ts.map +1 -1
  139. package/dist/plugins/http-trpc.js +337 -241
  140. package/dist/plugins/http-trpc.js.map +1 -1
  141. package/dist/plugins/kysely.d.ts +54 -59
  142. package/dist/plugins/kysely.d.ts.map +1 -1
  143. package/dist/plugins/kysely.js +826 -687
  144. package/dist/plugins/kysely.js.map +1 -1
  145. package/dist/plugins/sql-queries.d.ts +38 -44
  146. package/dist/plugins/sql-queries.d.ts.map +1 -1
  147. package/dist/plugins/sql-queries.js +497 -897
  148. package/dist/plugins/sql-queries.js.map +1 -1
  149. package/dist/plugins/types.d.ts +12 -20
  150. package/dist/plugins/types.d.ts.map +1 -1
  151. package/dist/plugins/types.js +84 -227
  152. package/dist/plugins/types.js.map +1 -1
  153. package/dist/plugins/valibot.d.ts +7 -44
  154. package/dist/plugins/valibot.d.ts.map +1 -1
  155. package/dist/plugins/valibot.js +376 -382
  156. package/dist/plugins/valibot.js.map +1 -1
  157. package/dist/plugins/zod.d.ts +20 -24
  158. package/dist/plugins/zod.d.ts.map +1 -1
  159. package/dist/plugins/zod.js +370 -367
  160. package/dist/plugins/zod.js.map +1 -1
  161. package/dist/runtime/emit.d.ts +64 -0
  162. package/dist/runtime/emit.d.ts.map +1 -0
  163. package/dist/runtime/emit.js +445 -0
  164. package/dist/runtime/emit.js.map +1 -0
  165. package/dist/runtime/errors.d.ts +36 -0
  166. package/dist/runtime/errors.d.ts.map +1 -0
  167. package/dist/runtime/errors.js +29 -0
  168. package/dist/runtime/errors.js.map +1 -0
  169. package/dist/runtime/file-assignment.d.ts +161 -0
  170. package/dist/runtime/file-assignment.d.ts.map +1 -0
  171. package/dist/runtime/file-assignment.js +195 -0
  172. package/dist/runtime/file-assignment.js.map +1 -0
  173. package/dist/runtime/orchestrator.d.ts +62 -0
  174. package/dist/runtime/orchestrator.d.ts.map +1 -0
  175. package/dist/runtime/orchestrator.js +99 -0
  176. package/dist/runtime/orchestrator.js.map +1 -0
  177. package/dist/runtime/registry.d.ts +268 -0
  178. package/dist/runtime/registry.d.ts.map +1 -0
  179. package/dist/runtime/registry.js +436 -0
  180. package/dist/runtime/registry.js.map +1 -0
  181. package/dist/runtime/types.d.ts +182 -0
  182. package/dist/runtime/types.d.ts.map +1 -0
  183. package/dist/runtime/types.js +2 -0
  184. package/dist/runtime/types.js.map +1 -0
  185. package/dist/runtime/validation.d.ts +41 -0
  186. package/dist/runtime/validation.d.ts.map +1 -0
  187. package/dist/runtime/validation.js +70 -0
  188. package/dist/runtime/validation.js.map +1 -0
  189. package/dist/services/config-loader.d.ts.map +1 -1
  190. package/dist/services/config-loader.js +15 -6
  191. package/dist/services/config-loader.js.map +1 -1
  192. package/dist/services/config.d.ts +55 -25
  193. package/dist/services/config.d.ts.map +1 -1
  194. package/dist/services/config.js +60 -34
  195. package/dist/services/config.js.map +1 -1
  196. package/dist/services/file-writer.d.ts +3 -3
  197. package/dist/services/file-writer.d.ts.map +1 -1
  198. package/dist/services/file-writer.js +6 -8
  199. package/dist/services/file-writer.js.map +1 -1
  200. package/dist/services/inflection.d.ts +126 -27
  201. package/dist/services/inflection.d.ts.map +1 -1
  202. package/dist/services/inflection.js +300 -72
  203. package/dist/services/inflection.js.map +1 -1
  204. package/dist/services/introspection.d.ts.map +1 -1
  205. package/dist/services/introspection.js +6 -6
  206. package/dist/services/introspection.js.map +1 -1
  207. package/dist/services/ir-builder.d.ts.map +1 -1
  208. package/dist/services/ir-builder.js +73 -77
  209. package/dist/services/ir-builder.js.map +1 -1
  210. package/dist/services/ir.d.ts.map +1 -1
  211. package/dist/services/ir.js.map +1 -1
  212. package/dist/services/pg-types.d.ts.map +1 -1
  213. package/dist/services/pg-types.js +3 -3
  214. package/dist/services/pg-types.js.map +1 -1
  215. package/dist/services/smart-tags-parser.d.ts.map +1 -1
  216. package/dist/services/smart-tags-parser.js +4 -4
  217. package/dist/services/smart-tags-parser.js.map +1 -1
  218. package/dist/services/type-hints.d.ts.map +1 -1
  219. package/dist/services/type-hints.js +1 -1
  220. package/dist/services/type-hints.js.map +1 -1
  221. package/dist/services/user-module-parser.d.ts +46 -0
  222. package/dist/services/user-module-parser.d.ts.map +1 -0
  223. package/dist/services/user-module-parser.js +181 -0
  224. package/dist/services/user-module-parser.js.map +1 -0
  225. package/dist/shared/converters.d.ts +60 -0
  226. package/dist/shared/converters.d.ts.map +1 -0
  227. package/dist/shared/converters.js +168 -0
  228. package/dist/shared/converters.js.map +1 -0
  229. package/dist/shared/query-types.d.ts +95 -0
  230. package/dist/shared/query-types.d.ts.map +1 -0
  231. package/dist/shared/query-types.js +9 -0
  232. package/dist/shared/query-types.js.map +1 -0
  233. package/dist/testing.d.ts +125 -37
  234. package/dist/testing.d.ts.map +1 -1
  235. package/dist/testing.js +134 -42
  236. package/dist/testing.js.map +1 -1
  237. package/dist/user-module.d.ts +86 -0
  238. package/dist/user-module.d.ts.map +1 -0
  239. package/dist/user-module.js +55 -0
  240. package/dist/user-module.js.map +1 -0
  241. package/package.json +10 -6
  242. package/dist/lib/conjure.d.ts.map +0 -1
  243. package/dist/lib/conjure.js.map +0 -1
  244. package/dist/lib/hex.d.ts +0 -119
  245. package/dist/lib/hex.d.ts.map +0 -1
  246. package/dist/lib/hex.js +0 -188
  247. package/dist/lib/hex.js.map +0 -1
  248. package/dist/plugins/effect.d.ts +0 -53
  249. package/dist/plugins/effect.d.ts.map +0 -1
  250. package/dist/plugins/effect.js +0 -1074
  251. package/dist/plugins/effect.js.map +0 -1
  252. package/dist/plugins/kysely/queries.d.ts +0 -92
  253. package/dist/plugins/kysely/queries.d.ts.map +0 -1
  254. package/dist/plugins/kysely/queries.js +0 -1169
  255. package/dist/plugins/kysely/queries.js.map +0 -1
  256. package/dist/plugins/kysely/shared.d.ts +0 -59
  257. package/dist/plugins/kysely/shared.d.ts.map +0 -1
  258. package/dist/plugins/kysely/shared.js +0 -247
  259. package/dist/plugins/kysely/shared.js.map +0 -1
  260. package/dist/plugins/kysely/types.d.ts +0 -22
  261. package/dist/plugins/kysely/types.d.ts.map +0 -1
  262. package/dist/plugins/kysely/types.js +0 -428
  263. package/dist/plugins/kysely/types.js.map +0 -1
  264. package/dist/services/artifact-store.d.ts +0 -65
  265. package/dist/services/artifact-store.d.ts.map +0 -1
  266. package/dist/services/artifact-store.js +0 -57
  267. package/dist/services/artifact-store.js.map +0 -1
  268. package/dist/services/core-providers.d.ts +0 -15
  269. package/dist/services/core-providers.d.ts.map +0 -1
  270. package/dist/services/core-providers.js +0 -23
  271. package/dist/services/core-providers.js.map +0 -1
  272. package/dist/services/emissions.d.ts +0 -103
  273. package/dist/services/emissions.d.ts.map +0 -1
  274. package/dist/services/emissions.js +0 -241
  275. package/dist/services/emissions.js.map +0 -1
  276. package/dist/services/execution.d.ts +0 -35
  277. package/dist/services/execution.d.ts.map +0 -1
  278. package/dist/services/execution.js +0 -86
  279. package/dist/services/execution.js.map +0 -1
  280. package/dist/services/file-builder.d.ts +0 -85
  281. package/dist/services/file-builder.d.ts.map +0 -1
  282. package/dist/services/file-builder.js +0 -112
  283. package/dist/services/file-builder.js.map +0 -1
  284. package/dist/services/plugin-meta.d.ts +0 -33
  285. package/dist/services/plugin-meta.d.ts.map +0 -1
  286. package/dist/services/plugin-meta.js +0 -24
  287. package/dist/services/plugin-meta.js.map +0 -1
  288. package/dist/services/plugin-runner.d.ts +0 -42
  289. package/dist/services/plugin-runner.d.ts.map +0 -1
  290. package/dist/services/plugin-runner.js +0 -84
  291. package/dist/services/plugin-runner.js.map +0 -1
  292. package/dist/services/plugin.d.ts +0 -421
  293. package/dist/services/plugin.d.ts.map +0 -1
  294. package/dist/services/plugin.js +0 -197
  295. package/dist/services/plugin.js.map +0 -1
  296. package/dist/services/resolution.d.ts +0 -38
  297. package/dist/services/resolution.d.ts.map +0 -1
  298. package/dist/services/resolution.js +0 -242
  299. package/dist/services/resolution.js.map +0 -1
  300. package/dist/services/service-registry.d.ts +0 -74
  301. package/dist/services/service-registry.d.ts.map +0 -1
  302. package/dist/services/service-registry.js +0 -61
  303. package/dist/services/service-registry.js.map +0 -1
  304. package/dist/services/symbols.d.ts +0 -144
  305. package/dist/services/symbols.d.ts.map +0 -1
  306. package/dist/services/symbols.js +0 -144
  307. package/dist/services/symbols.js.map +0 -1
@@ -3,23 +3,146 @@
3
3
  *
4
4
  * Provides configurable naming conventions for entities, fields, enums, etc.
5
5
  * Users configure with simple string→string functions that compose naturally.
6
+ *
7
+ * ## Inflection Registry
8
+ *
9
+ * The registry tracks the provenance of inflected names, allowing the file
10
+ * assignment system to determine which base entity a derived name belongs to.
11
+ *
12
+ * Example: `UserInsert` → base entity `User`, variant `insert`
13
+ *
14
+ * This solves the problem where schemas for `UserInsert` would incorrectly
15
+ * go to `generated/userinsert/` instead of `generated/user/`.
6
16
  */
7
17
  import { Context, Layer, String as Str } from "effect";
8
18
  import pluralize from "pluralize-esm";
19
+ /**
20
+ * Create a new InflectionRegistry instance.
21
+ */
22
+ export function createInflectionRegistry() {
23
+ const byName = new Map();
24
+ const byBaseEntity = new Map();
25
+ return {
26
+ register(info) {
27
+ // Check for conflicts (same name, different base entity)
28
+ const existing = byName.get(info.name);
29
+ if (existing && existing.baseEntity !== info.baseEntity) {
30
+ // Log warning but allow override - last registration wins
31
+ console.warn(`[InflectionRegistry] Name conflict: "${info.name}" registered for ` +
32
+ `"${existing.baseEntity}" (${existing.origin}) and "${info.baseEntity}" (${info.origin}). ` +
33
+ `Using "${info.baseEntity}".`);
34
+ }
35
+ byName.set(info.name, info);
36
+ // Index by base entity
37
+ const variants = byBaseEntity.get(info.baseEntity);
38
+ if (variants) {
39
+ // Replace existing variant of same kind, or add new
40
+ const idx = variants.findIndex((v) => v.variant === info.variant);
41
+ if (idx >= 0) {
42
+ variants[idx] = info;
43
+ }
44
+ else {
45
+ variants.push(info);
46
+ }
47
+ }
48
+ else {
49
+ byBaseEntity.set(info.baseEntity, [info]);
50
+ }
51
+ },
52
+ lookup(name) {
53
+ return byName.get(name);
54
+ },
55
+ getVariants(baseEntity) {
56
+ return byBaseEntity.get(baseEntity) ?? [];
57
+ },
58
+ hasConflict(name) {
59
+ return byName.has(name);
60
+ },
61
+ getAll() {
62
+ return byName;
63
+ },
64
+ };
65
+ }
9
66
  // ============================================================================
10
67
  // Reserved Words
11
68
  // ============================================================================
12
69
  const RESERVED_WORDS = new Set([
13
70
  // TypeScript/JavaScript reserved
14
- "break", "case", "catch", "class", "const", "continue", "debugger", "default",
15
- "delete", "do", "else", "enum", "export", "extends", "false", "finally", "for",
16
- "function", "if", "import", "in", "instanceof", "new", "null", "return", "super",
17
- "switch", "this", "throw", "true", "try", "typeof", "var", "void", "while", "with",
18
- "yield", "let", "static", "implements", "interface", "package", "private",
19
- "protected", "public", "abstract", "as", "async", "await", "constructor", "declare",
20
- "get", "is", "module", "namespace", "never", "readonly", "require", "number",
21
- "object", "set", "string", "symbol", "type", "undefined", "unique", "unknown",
22
- "from", "global", "keyof", "of", "infer", "any", "boolean", "bigint",
71
+ "break",
72
+ "case",
73
+ "catch",
74
+ "class",
75
+ "const",
76
+ "continue",
77
+ "debugger",
78
+ "default",
79
+ "delete",
80
+ "do",
81
+ "else",
82
+ "enum",
83
+ "export",
84
+ "extends",
85
+ "false",
86
+ "finally",
87
+ "for",
88
+ "function",
89
+ "if",
90
+ "import",
91
+ "in",
92
+ "instanceof",
93
+ "new",
94
+ "null",
95
+ "return",
96
+ "super",
97
+ "switch",
98
+ "this",
99
+ "throw",
100
+ "true",
101
+ "try",
102
+ "typeof",
103
+ "var",
104
+ "void",
105
+ "while",
106
+ "with",
107
+ "yield",
108
+ "let",
109
+ "static",
110
+ "implements",
111
+ "interface",
112
+ "package",
113
+ "private",
114
+ "protected",
115
+ "public",
116
+ "abstract",
117
+ "as",
118
+ "async",
119
+ "await",
120
+ "constructor",
121
+ "declare",
122
+ "get",
123
+ "is",
124
+ "module",
125
+ "namespace",
126
+ "never",
127
+ "readonly",
128
+ "require",
129
+ "number",
130
+ "object",
131
+ "set",
132
+ "string",
133
+ "symbol",
134
+ "type",
135
+ "undefined",
136
+ "unique",
137
+ "unknown",
138
+ "from",
139
+ "global",
140
+ "keyof",
141
+ "of",
142
+ "infer",
143
+ "any",
144
+ "boolean",
145
+ "bigint",
23
146
  ]);
24
147
  // ============================================================================
25
148
  // Inflection Helper Functions
@@ -40,6 +163,14 @@ const RESERVED_WORDS = new Set([
40
163
  * }
41
164
  * ```
42
165
  */
166
+ /**
167
+ * Convert PascalCase or camelCase to kebab-case.
168
+ * UserProfile → user-profile, createdAt → created-at
169
+ */
170
+ const toKebabCase = (str) => str
171
+ .replace(/([a-z])([A-Z])/g, "$1-$2")
172
+ .replace(/_/g, "-")
173
+ .toLowerCase();
43
174
  export const inflect = {
44
175
  /** Convert snake_case to camelCase */
45
176
  camelCase: Str.snakeToCamel,
@@ -47,6 +178,8 @@ export const inflect = {
47
178
  pascalCase: Str.snakeToPascal,
48
179
  /** Convert camelCase to snake_case */
49
180
  snakeCase: Str.camelToSnake,
181
+ /** Convert PascalCase/camelCase to kebab-case */
182
+ kebabCase: toKebabCase,
50
183
  /** Singularize a word (users → user) */
51
184
  singularize: pluralize.singular,
52
185
  /** Pluralize a word (user → users) */
@@ -80,39 +213,25 @@ export class Inflection extends Context.Tag("Inflection")() {
80
213
  * fieldName in your config.
81
214
  */
82
215
  export const defaultTransforms = {
83
- entityName: (name) => inflect.pascalCase(inflect.singularize(name)),
216
+ entityName: name => inflect.pascalCase(inflect.singularize(name)),
84
217
  // fieldName: identity (default) - preserves snake_case from database
85
218
  enumName: inflect.pascalCase,
86
219
  shapeSuffix: inflect.capitalize,
87
220
  relationName: inflect.camelCase,
88
221
  functionName: inflect.camelCase,
89
- };
90
- /**
91
- * Default inflection implementation using standard JS/TS naming conventions.
92
- */
93
- export const defaultInflection = {
94
- // Primitive transforms (always available)
95
- camelCase: inflect.camelCase,
96
- pascalCase: inflect.pascalCase,
97
- pluralize: inflect.pluralize,
98
- singularize: inflect.singularize,
99
- safeIdentifier: (text) => (RESERVED_WORDS.has(text) ? text + "_" : text),
100
- // Configurable transforms (default to JS/TS conventions)
101
- entityName: (pgClass, tags) => tags.name ?? (defaultTransforms.entityName ?? identity)(pgClass.relname),
102
- shapeName: (entityName, kind) => kind === "row" ? entityName : entityName + (defaultTransforms.shapeSuffix ?? identity)(kind),
103
- fieldName: (pgAttribute, tags) => tags.name ?? (defaultTransforms.fieldName ?? identity)(pgAttribute.attname),
104
- enumName: (pgType, tags) => tags.name ?? (defaultTransforms.enumName ?? identity)(pgType.typname),
105
- enumValueName: (value) => (defaultTransforms.enumValue ?? identity)(value),
106
- relationName: (name) => (defaultTransforms.relationName ?? identity)(name),
107
- functionName: (pgProc, tags) => tags.name ?? (defaultTransforms.functionName ?? identity)(pgProc.proname),
222
+ folderName: inflect.uncapitalize,
108
223
  };
109
224
  // ============================================================================
110
225
  // Factory Functions
111
226
  // ============================================================================
112
227
  /** Identity function - returns input unchanged */
113
- const identity = (s) => s;
228
+ const identity = s => s;
114
229
  /**
115
- * Create a CoreInflection instance with optional configuration overrides.
230
+ * Create a CoreInflection instance with its own registry and optional config.
231
+ *
232
+ * Each instance gets a fresh InflectionRegistry that tracks name provenance
233
+ * for file assignment purposes. The registry is auto-populated when
234
+ * shapeName(), entityName(), enumName(), and functionName() are called.
116
235
  *
117
236
  * By default, applies standard JS/TS naming conventions (PascalCase entities,
118
237
  * camelCase relations, etc.). User config is merged on top of defaults.
@@ -130,49 +249,117 @@ const identity = (s) => s;
130
249
  * fieldName: inflect.camelCase, // Also camelCase fields
131
250
  * })
132
251
  *
133
- * // Use identity (raw DB names) for everything
134
- * const inflection = createInflection({
135
- * entityName: (name) => name,
136
- * fieldName: (name) => name,
137
- * enumName: (name) => name,
138
- * shapeSuffix: (name) => name,
139
- * relationName: (name) => name,
140
- * })
252
+ * // Look up provenance later
253
+ * const info = inflection.registry.lookup("UserInsert")
254
+ * // { name: "UserInsert", baseEntity: "User", variant: "insert", ... }
141
255
  * ```
142
256
  */
143
257
  export function createInflection(config) {
144
- if (!config)
145
- return defaultInflection;
258
+ // Each instance gets its own registry
259
+ const registry = createInflectionRegistry();
146
260
  // Primitive transforms (user can override singularize/pluralize)
147
- const singularizeFn = config.singularize ?? inflect.singularize;
148
- const pluralizeFn = config.pluralize ?? inflect.pluralize;
261
+ const singularizeFn = config?.singularize ?? inflect.singularize;
262
+ const pluralizeFn = config?.pluralize ?? inflect.pluralize;
149
263
  // Build entityName default using the configured singularize
150
264
  const defaultEntityName = (name) => inflect.pascalCase(singularizeFn(name));
151
265
  // Merge user config on top of defaults
152
- const entityFn = config.entityName ?? defaultEntityName;
153
- const fieldFn = config.fieldName ?? defaultTransforms.fieldName ?? identity;
154
- const enumNameFn = config.enumName ?? defaultTransforms.enumName ?? identity;
155
- const enumValueFn = config.enumValue ?? defaultTransforms.enumValue ?? identity;
156
- const shapeSuffixFn = config.shapeSuffix ?? defaultTransforms.shapeSuffix ?? identity;
157
- const relationFn = config.relationName ?? defaultTransforms.relationName ?? identity;
158
- const functionFn = config.functionName ?? defaultTransforms.functionName ?? identity;
266
+ const entityFn = config?.entityName ?? defaultEntityName;
267
+ const fieldFn = config?.fieldName ?? defaultTransforms.fieldName ?? identity;
268
+ const enumNameFn = config?.enumName ?? defaultTransforms.enumName ?? identity;
269
+ const enumValueFn = config?.enumValue ?? defaultTransforms.enumValue ?? identity;
270
+ const shapeSuffixFn = config?.shapeSuffix ?? defaultTransforms.shapeSuffix ?? identity;
271
+ const relationFn = config?.relationName ?? defaultTransforms.relationName ?? identity;
272
+ const functionFn = config?.functionName ?? defaultTransforms.functionName ?? identity;
273
+ const folderFn = config?.folderName ?? defaultTransforms.folderName ?? identity;
159
274
  return {
275
+ registry,
160
276
  // Primitive transforms (configurable)
161
- camelCase: defaultInflection.camelCase,
162
- pascalCase: defaultInflection.pascalCase,
277
+ camelCase: inflect.camelCase,
278
+ pascalCase: inflect.pascalCase,
163
279
  pluralize: pluralizeFn,
164
280
  singularize: singularizeFn,
165
- safeIdentifier: defaultInflection.safeIdentifier,
166
- // Configurable transforms (smart tags take precedence)
167
- entityName: (pgClass, tags) => tags.name ?? entityFn(pgClass.relname),
168
- shapeName: (entityName, kind) => kind === "row" ? entityName : entityName + shapeSuffixFn(kind),
281
+ safeIdentifier: (text) => (RESERVED_WORDS.has(text) ? text + "_" : text),
282
+ // Entity name - register with variant "entity"
283
+ entityName: (pgClass, tags) => {
284
+ const name = tags.name ?? entityFn(pgClass.relname);
285
+ registry.register({
286
+ name,
287
+ baseEntity: name, // Entity is its own base
288
+ variant: "entity",
289
+ origin: `entityName(${pgClass.relname})`,
290
+ });
291
+ return name;
292
+ },
293
+ // Shape name - register with the shape kind as variant
294
+ shapeName: (entityName, kind) => {
295
+ const name = kind === "row" ? entityName : entityName + shapeSuffixFn(kind);
296
+ registry.register({
297
+ name,
298
+ baseEntity: entityName,
299
+ variant: kind,
300
+ origin: `shapeName(${entityName}, ${kind})`,
301
+ });
302
+ return name;
303
+ },
169
304
  fieldName: (pgAttribute, tags) => tags.name ?? fieldFn(pgAttribute.attname),
170
- enumName: (pgType, tags) => tags.name ?? enumNameFn(pgType.typname),
171
- enumValueName: (value) => enumValueFn(value),
172
- relationName: (name) => relationFn(name),
173
- functionName: (pgProc, tags) => tags.name ?? functionFn(pgProc.proname),
305
+ // Enum name - register with variant "enum"
306
+ enumName: (pgType, tags) => {
307
+ const name = tags.name ?? enumNameFn(pgType.typname);
308
+ registry.register({
309
+ name,
310
+ baseEntity: name, // Enum is its own base
311
+ variant: "enum",
312
+ origin: `enumName(${pgType.typname})`,
313
+ });
314
+ return name;
315
+ },
316
+ enumValueName: value => enumValueFn(value),
317
+ relationName: name => relationFn(name),
318
+ // Function name - register with variant "function"
319
+ functionName: (pgProc, tags) => {
320
+ const name = tags.name ?? functionFn(pgProc.proname);
321
+ registry.register({
322
+ name,
323
+ baseEntity: name, // Function is its own base
324
+ variant: "function",
325
+ origin: `functionName(${pgProc.proname})`,
326
+ });
327
+ return name;
328
+ },
329
+ folderName: entityName => folderFn(entityName),
330
+ // -------------------------------------------------------------------------
331
+ // Semantic methods for plugins
332
+ // -------------------------------------------------------------------------
333
+ kebabCase: inflect.kebabCase,
334
+ variableName: (entityName, suffix) => inflect.uncapitalize(entityName) + suffix,
335
+ // Route paths
336
+ entityRoutePath: entityName => {
337
+ const kebab = inflect.kebabCase(entityName);
338
+ const plural = pluralizeFn(kebab);
339
+ return `/${plural}`;
340
+ },
341
+ cursorRoutePath: columnName => {
342
+ const kebab = inflect.kebabCase(inflect.pascalCase(columnName));
343
+ return `/by-${kebab}`;
344
+ },
345
+ lookupRoutePath: (columnName, paramName) => {
346
+ const kebab = inflect.kebabCase(inflect.pascalCase(columnName));
347
+ return `/by-${kebab}/:${paramName}`;
348
+ },
349
+ functionRoutePath: fnName => {
350
+ const kebab = inflect.kebabCase(fnName);
351
+ return `/${kebab}`;
352
+ },
174
353
  };
175
354
  }
355
+ /**
356
+ * Default inflection instance - creates a new instance with standard conventions.
357
+ *
358
+ * Note: This is a getter that returns a fresh instance each time to ensure
359
+ * each usage gets its own registry. For most cases, use createInflection()
360
+ * or makeInflectionLayer() directly.
361
+ */
362
+ export const defaultInflection = createInflection();
176
363
  /**
177
364
  * Create an Effect Layer that provides inflection with optional configuration overrides.
178
365
  *
@@ -212,7 +399,7 @@ const composeFns = (pluginFn, userFn) => {
212
399
  return userFn;
213
400
  if (!userFn)
214
401
  return pluginFn;
215
- return (name) => userFn(pluginFn(name));
402
+ return name => userFn(pluginFn(name));
216
403
  };
217
404
  /**
218
405
  * Compose plugin inflection defaults with user-configured inflection.
@@ -253,6 +440,7 @@ export function composeInflectionConfigs(pluginDefaults, userConfig) {
253
440
  shapeSuffix: composeFns(pluginDefaults.shapeSuffix, userConfig.shapeSuffix),
254
441
  relationName: composeFns(pluginDefaults.relationName, userConfig.relationName),
255
442
  functionName: composeFns(pluginDefaults.functionName, userConfig.functionName),
443
+ folderName: composeFns(pluginDefaults.folderName, userConfig.folderName),
256
444
  }).filter(([, v]) => v !== undefined));
257
445
  }
258
446
  /**
@@ -261,6 +449,9 @@ export function composeInflectionConfigs(pluginDefaults, userConfig) {
261
449
  * This is used by PluginRunner to merge plugin's inflectionDefaults
262
450
  * with the user's configured inflection.
263
451
  *
452
+ * The composed inflection shares the base inflection's registry, so all
453
+ * registrations go to the same place regardless of composition.
454
+ *
264
455
  * @param baseInflection - The user's CoreInflection instance
265
456
  * @param pluginDefaults - Plugin's default transforms to apply first
266
457
  * @returns New CoreInflection with composed behavior
@@ -277,8 +468,18 @@ export function composeInflection(baseInflection, pluginDefaults) {
277
468
  const shapeSuffixFn = pluginDefaults.shapeSuffix;
278
469
  const relationFn = pluginDefaults.relationName;
279
470
  const functionFn = pluginDefaults.functionName;
471
+ const folderFn = pluginDefaults.folderName;
280
472
  // If no transforms defined, return base unchanged
281
- if (!singularizeFn && !pluralizeFn && !entityFn && !fieldFn && !enumNameFn && !enumValueFn && !shapeSuffixFn && !relationFn && !functionFn) {
473
+ if (!singularizeFn &&
474
+ !pluralizeFn &&
475
+ !entityFn &&
476
+ !fieldFn &&
477
+ !enumNameFn &&
478
+ !enumValueFn &&
479
+ !shapeSuffixFn &&
480
+ !relationFn &&
481
+ !functionFn &&
482
+ !folderFn) {
282
483
  return baseInflection;
283
484
  }
284
485
  // Compose primitives: plugin first, then base
@@ -289,6 +490,8 @@ export function composeInflection(baseInflection, pluginDefaults) {
289
490
  ? (word) => baseInflection.pluralize(pluralizeFn(word))
290
491
  : baseInflection.pluralize;
291
492
  return {
493
+ // Share the base inflection's registry
494
+ registry: baseInflection.registry,
292
495
  // Primitive transforms (composed if plugin provides them)
293
496
  camelCase: baseInflection.camelCase,
294
497
  pascalCase: baseInflection.pascalCase,
@@ -296,21 +499,31 @@ export function composeInflection(baseInflection, pluginDefaults) {
296
499
  singularize: composedSingularize,
297
500
  safeIdentifier: baseInflection.safeIdentifier,
298
501
  // Compose: plugin transforms first, then base transforms
502
+ // Note: base transforms handle registration, so we delegate to them
299
503
  entityName: (pgClass, tags) => {
300
504
  if (tags.name)
301
505
  return tags.name;
302
506
  const afterPlugin = entityFn ? entityFn(pgClass.relname) : pgClass.relname;
303
- // Now apply base inflection's transform to the result
304
- // We simulate this by calling base with a fake pgClass that has the transformed name
507
+ // Delegate to base which handles registration
305
508
  return baseInflection.entityName({ ...pgClass, relname: afterPlugin }, {});
306
509
  },
307
510
  shapeName: (entityName, kind) => {
308
- if (kind === "row")
309
- return entityName;
310
- const afterPlugin = shapeSuffixFn ? shapeSuffixFn(kind) : kind;
311
- // Base's shapeName concatenates, so we need to handle carefully
312
- // Actually base just does: entityName + kind, so we transform kind first
313
- return entityName + afterPlugin;
511
+ // Delegate to base which handles registration
512
+ if (shapeSuffixFn && kind !== "row") {
513
+ // Plugin wants to transform the suffix, but we need base to register
514
+ // We call base shapeName and let it register, but the suffix will be different
515
+ // This is a limitation - plugin suffix transforms bypass registration
516
+ // For now, just return the composed name and register manually
517
+ const name = entityName + shapeSuffixFn(kind);
518
+ baseInflection.registry.register({
519
+ name,
520
+ baseEntity: entityName,
521
+ variant: kind,
522
+ origin: `composed.shapeName(${entityName}, ${kind})`,
523
+ });
524
+ return name;
525
+ }
526
+ return baseInflection.shapeName(entityName, kind);
314
527
  },
315
528
  fieldName: (pgAttribute, tags) => {
316
529
  if (tags.name)
@@ -322,13 +535,14 @@ export function composeInflection(baseInflection, pluginDefaults) {
322
535
  if (tags.name)
323
536
  return tags.name;
324
537
  const afterPlugin = enumNameFn ? enumNameFn(pgType.typname) : pgType.typname;
538
+ // Delegate to base which handles registration
325
539
  return baseInflection.enumName({ ...pgType, typname: afterPlugin }, {});
326
540
  },
327
- enumValueName: (value) => {
541
+ enumValueName: value => {
328
542
  const afterPlugin = enumValueFn ? enumValueFn(value) : value;
329
543
  return baseInflection.enumValueName(afterPlugin);
330
544
  },
331
- relationName: (name) => {
545
+ relationName: name => {
332
546
  const afterPlugin = relationFn ? relationFn(name) : name;
333
547
  return baseInflection.relationName(afterPlugin);
334
548
  },
@@ -336,8 +550,22 @@ export function composeInflection(baseInflection, pluginDefaults) {
336
550
  if (tags.name)
337
551
  return tags.name;
338
552
  const afterPlugin = functionFn ? functionFn(pgProc.proname) : pgProc.proname;
553
+ // Delegate to base which handles registration
339
554
  return baseInflection.functionName({ ...pgProc, proname: afterPlugin }, {});
340
555
  },
556
+ folderName: entityName => {
557
+ const afterPlugin = folderFn ? folderFn(entityName) : entityName;
558
+ return baseInflection.folderName(afterPlugin);
559
+ },
560
+ // -------------------------------------------------------------------------
561
+ // Semantic methods - delegate to base (these use the composed primitives)
562
+ // -------------------------------------------------------------------------
563
+ kebabCase: baseInflection.kebabCase,
564
+ variableName: baseInflection.variableName,
565
+ entityRoutePath: baseInflection.entityRoutePath,
566
+ cursorRoutePath: baseInflection.cursorRoutePath,
567
+ lookupRoutePath: baseInflection.lookupRoutePath,
568
+ functionRoutePath: baseInflection.functionRoutePath,
341
569
  };
342
570
  }
343
571
  //# sourceMappingURL=inflection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inflection.js","sourceRoot":"","sources":["../../src/services/inflection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inflection.js","sourceRoot":"","sources":["../../src/services/inflection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"introspection.d.ts","sourceRoot":"","sources":["../../src/services/introspection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAExC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEpE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,CACnB,OAAO,EAAE,iBAAiB,KACvB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,CAAA;CAC1E;;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,iCAEM;CAAG;AAE3D;;GAEG;AACH,eAAO,MAAM,yBAAyB,oDAErC,CAAA;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,qBAAqB,CAsFnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,iBAAiB,GACzB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,CAEtE"}
1
+ {"version":3,"file":"introspection.d.ts","sourceRoot":"","sources":["../../src/services/introspection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,CACnB,OAAO,EAAE,iBAAiB,KACvB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,CAAC;CAC3E;;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,iCAG/C;CAAG;AAEN;;GAEG;AACH,eAAO,MAAM,yBAAyB,oDAAmD,CAAC;AAE1F;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,qBAAqB,CAoFnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,iBAAiB,GACzB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,CAEtE"}
@@ -21,13 +21,13 @@ export const DatabaseIntrospectionLive = Effect.sync(() => createDatabaseIntrosp
21
21
  */
22
22
  export function createDatabaseIntrospection() {
23
23
  return {
24
- introspect: (options) => Effect.gen(function* () {
24
+ introspect: options => Effect.gen(function* () {
25
25
  const { connectionString, role } = options;
26
26
  // Create pool and connect
27
27
  const pool = new pg.Pool({ connectionString });
28
28
  const client = yield* Effect.tryPromise({
29
29
  try: () => pool.connect(),
30
- catch: (error) => new ConnectionFailed({
30
+ catch: error => new ConnectionFailed({
31
31
  message: `Failed to connect to database`,
32
32
  connectionString: connectionString.replace(/:[^:@]+@/, ":***@"), // Hide password
33
33
  cause: error,
@@ -37,7 +37,7 @@ export function createDatabaseIntrospection() {
37
37
  // Begin transaction
38
38
  yield* Effect.tryPromise({
39
39
  try: () => client.query("begin"),
40
- catch: (error) => new IntrospectionFailed({
40
+ catch: error => new IntrospectionFailed({
41
41
  message: "Failed to begin transaction",
42
42
  schema: "*",
43
43
  cause: error,
@@ -47,7 +47,7 @@ export function createDatabaseIntrospection() {
47
47
  if (role) {
48
48
  yield* Effect.tryPromise({
49
49
  try: () => client.query("select set_config('role', $1, false)", [role]),
50
- catch: (error) => new IntrospectionFailed({
50
+ catch: error => new IntrospectionFailed({
51
51
  message: `Failed to set role to '${role}'`,
52
52
  schema: "*",
53
53
  cause: error,
@@ -57,7 +57,7 @@ export function createDatabaseIntrospection() {
57
57
  // Run introspection query
58
58
  const result = yield* Effect.tryPromise({
59
59
  try: () => client.query(makeIntrospectionQuery()),
60
- catch: (error) => new IntrospectionFailed({
60
+ catch: error => new IntrospectionFailed({
61
61
  message: "Introspection query failed",
62
62
  schema: "*",
63
63
  cause: error,
@@ -74,7 +74,7 @@ export function createDatabaseIntrospection() {
74
74
  // Rollback (we only read)
75
75
  yield* Effect.tryPromise({
76
76
  try: () => client.query("rollback"),
77
- catch: (error) => new IntrospectionFailed({
77
+ catch: error => new IntrospectionFailed({
78
78
  message: "Failed to rollback transaction",
79
79
  schema: "*",
80
80
  cause: error,
@@ -1 +1 @@
1
- {"version":3,"file":"introspection.js","sourceRoot":"","sources":["../../src/services/introspection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"introspection.js","sourceRoot":"","sources":["../../src/services/introspection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ir-builder.d.ts","sourceRoot":"","sources":["../../src/services/ir-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAuC,MAAM,QAAQ,CAAA;AACpF,OAAO,KAAK,EACV,aAAa,EAOd,MAAM,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAcV,UAAU,EAKX,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAMjE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,kEAAkE;IAClE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IAC5C,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,CACd,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,gBAAgB,KACtB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,mBAAmB,GAAG,aAAa,EAAE,UAAU,CAAC,CAAA;CAChF;;AAED,kBAAkB;AAClB,qBAAa,YAAa,SAAQ,iBAAmD;CAAG;AA+pCxF;;;GAGG;AACH,eAAO,MAAM,aAAa,yCAAqD,CAAA;AAE/E;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,SAAS,CAElD"}
1
+ {"version":3,"file":"ir-builder.d.ts","sourceRoot":"","sources":["../../src/services/ir-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAuC,MAAM,QAAQ,CAAC;AACrF,OAAO,KAAK,EACV,aAAa,EAOd,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAeV,UAAU,EAKX,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAMlE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAC7C,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,CACd,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,gBAAgB,KACtB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,mBAAmB,GAAG,aAAa,EAAE,UAAU,CAAC,CAAC;CACjF;;AAED,kBAAkB;AAClB,qBAAa,YAAa,SAAQ,iBAAmD;CAAG;AAqpCxF;;;GAGG;AACH,eAAO,MAAM,aAAa,yCAAqD,CAAC;AAEhF;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,SAAS,CAElD"}