create-relkit 0.6.0 → 0.7.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 (500) hide show
  1. package/dist/add-name.d.ts +8 -1
  2. package/dist/add-name.d.ts.map +1 -1
  3. package/dist/add-name.js +5 -1
  4. package/dist/add-name.js.map +1 -1
  5. package/dist/add-options-parser.d.ts +49 -0
  6. package/dist/add-options-parser.d.ts.map +1 -1
  7. package/dist/add-options-parser.js +52 -0
  8. package/dist/add-options-parser.js.map +1 -1
  9. package/dist/add-options-resource.d.ts +8 -0
  10. package/dist/add-options-resource.d.ts.map +1 -1
  11. package/dist/add-options-resource.js +8 -0
  12. package/dist/add-options-resource.js.map +1 -1
  13. package/dist/add-options.d.ts +6 -1
  14. package/dist/add-options.d.ts.map +1 -1
  15. package/dist/add-options.js +48 -1
  16. package/dist/add-options.js.map +1 -1
  17. package/dist/add-output.d.ts +10 -0
  18. package/dist/add-output.d.ts.map +1 -1
  19. package/dist/add-output.js +21 -0
  20. package/dist/add-output.js.map +1 -1
  21. package/dist/add-plan.d.ts +25 -0
  22. package/dist/add-plan.d.ts.map +1 -1
  23. package/dist/add-plan.js +91 -57
  24. package/dist/add-plan.js.map +1 -1
  25. package/dist/add-plan.types.d.ts +13 -0
  26. package/dist/add-plan.types.d.ts.map +1 -0
  27. package/dist/add-plan.types.js +2 -0
  28. package/dist/add-plan.types.js.map +1 -0
  29. package/dist/add-resolution-discovery.d.ts +56 -2
  30. package/dist/add-resolution-discovery.d.ts.map +1 -1
  31. package/dist/add-resolution-discovery.js +74 -10
  32. package/dist/add-resolution-discovery.js.map +1 -1
  33. package/dist/add-resolution-prompt.d.ts +46 -0
  34. package/dist/add-resolution-prompt.d.ts.map +1 -0
  35. package/dist/add-resolution-prompt.js +88 -0
  36. package/dist/add-resolution-prompt.js.map +1 -0
  37. package/dist/add-resolution-state-base.d.ts +112 -0
  38. package/dist/add-resolution-state-base.d.ts.map +1 -0
  39. package/dist/add-resolution-state-base.js +141 -0
  40. package/dist/add-resolution-state-base.js.map +1 -0
  41. package/dist/add-resolution-state.d.ts +66 -11
  42. package/dist/add-resolution-state.d.ts.map +1 -1
  43. package/dist/add-resolution-state.js +81 -69
  44. package/dist/add-resolution-state.js.map +1 -1
  45. package/dist/add-resolution-state.types.d.ts +6 -0
  46. package/dist/add-resolution-state.types.d.ts.map +1 -0
  47. package/dist/add-resolution-state.types.js +2 -0
  48. package/dist/add-resolution-state.types.js.map +1 -0
  49. package/dist/add-resolver-domain-execution.d.ts +35 -0
  50. package/dist/add-resolver-domain-execution.d.ts.map +1 -0
  51. package/dist/add-resolver-domain-execution.js +101 -0
  52. package/dist/add-resolver-domain-execution.js.map +1 -0
  53. package/dist/add-resolver-domain-input.d.ts +30 -0
  54. package/dist/add-resolver-domain-input.d.ts.map +1 -0
  55. package/dist/add-resolver-domain-input.js +83 -0
  56. package/dist/add-resolver-domain-input.js.map +1 -0
  57. package/dist/add-resolver-domain.d.ts +17 -0
  58. package/dist/add-resolver-domain.d.ts.map +1 -1
  59. package/dist/add-resolver-domain.js +36 -136
  60. package/dist/add-resolver-domain.js.map +1 -1
  61. package/dist/add-resolver-platform.d.ts +17 -0
  62. package/dist/add-resolver-platform.d.ts.map +1 -1
  63. package/dist/add-resolver-platform.js +83 -36
  64. package/dist/add-resolver-platform.js.map +1 -1
  65. package/dist/add-resolver-provider.d.ts +15 -0
  66. package/dist/add-resolver-provider.d.ts.map +1 -0
  67. package/dist/add-resolver-provider.js +67 -0
  68. package/dist/add-resolver-provider.js.map +1 -0
  69. package/dist/add-resolver-resources.d.ts +17 -0
  70. package/dist/add-resolver-resources.d.ts.map +1 -1
  71. package/dist/add-resolver-resources.js +79 -85
  72. package/dist/add-resolver-resources.js.map +1 -1
  73. package/dist/add-resolver.d.ts +33 -9
  74. package/dist/add-resolver.d.ts.map +1 -1
  75. package/dist/add-resolver.js +70 -31
  76. package/dist/add-resolver.js.map +1 -1
  77. package/dist/add-resolver.types.d.ts +27 -0
  78. package/dist/add-resolver.types.d.ts.map +1 -0
  79. package/dist/add-resolver.types.js +2 -0
  80. package/dist/add-resolver.types.js.map +1 -0
  81. package/dist/add-transaction-files-compat.d.ts +33 -0
  82. package/dist/add-transaction-files-compat.d.ts.map +1 -0
  83. package/dist/add-transaction-files-compat.js +42 -0
  84. package/dist/add-transaction-files-compat.js.map +1 -0
  85. package/dist/add-transaction-files.d.ts +49 -9
  86. package/dist/add-transaction-files.d.ts.map +1 -1
  87. package/dist/add-transaction-files.js +122 -74
  88. package/dist/add-transaction-files.js.map +1 -1
  89. package/dist/add-transaction-files.types.d.ts +7 -0
  90. package/dist/add-transaction-files.types.d.ts.map +1 -0
  91. package/dist/add-transaction-files.types.js +2 -0
  92. package/dist/add-transaction-files.types.js.map +1 -0
  93. package/dist/add-transaction-process.d.ts +37 -0
  94. package/dist/add-transaction-process.d.ts.map +1 -0
  95. package/dist/add-transaction-process.js +54 -0
  96. package/dist/add-transaction-process.js.map +1 -0
  97. package/dist/add-transaction-workflow.d.ts +23 -0
  98. package/dist/add-transaction-workflow.d.ts.map +1 -0
  99. package/dist/add-transaction-workflow.js +77 -0
  100. package/dist/add-transaction-workflow.js.map +1 -0
  101. package/dist/add-transaction.d.ts +26 -13
  102. package/dist/add-transaction.d.ts.map +1 -1
  103. package/dist/add-transaction.js +55 -105
  104. package/dist/add-transaction.js.map +1 -1
  105. package/dist/add-transaction.types.d.ts +32 -0
  106. package/dist/add-transaction.types.d.ts.map +1 -0
  107. package/dist/add-transaction.types.js +2 -0
  108. package/dist/add-transaction.types.js.map +1 -0
  109. package/dist/add-types.d.ts +56 -0
  110. package/dist/add-types.d.ts.map +1 -1
  111. package/dist/add-types.js +15 -0
  112. package/dist/add-types.js.map +1 -1
  113. package/dist/bin.d.ts +3 -0
  114. package/dist/bin.d.ts.map +1 -0
  115. package/dist/bin.js +83 -0
  116. package/dist/bin.js.map +1 -0
  117. package/dist/bucket-profiles.d.ts +17 -3
  118. package/dist/bucket-profiles.d.ts.map +1 -1
  119. package/dist/bucket-profiles.js +27 -5
  120. package/dist/bucket-profiles.js.map +1 -1
  121. package/dist/bucket-profiles.types.d.ts +9 -0
  122. package/dist/bucket-profiles.types.d.ts.map +1 -0
  123. package/dist/bucket-profiles.types.js +2 -0
  124. package/dist/bucket-profiles.types.js.map +1 -0
  125. package/dist/build-catalog.d.ts +14 -0
  126. package/dist/build-catalog.d.ts.map +1 -0
  127. package/dist/build-catalog.js +70 -0
  128. package/dist/build-catalog.js.map +1 -0
  129. package/dist/catalog-resolution.d.ts +12 -0
  130. package/dist/catalog-resolution.d.ts.map +1 -0
  131. package/dist/catalog-resolution.js +43 -0
  132. package/dist/catalog-resolution.js.map +1 -0
  133. package/dist/catalog-resolution.types.d.ts +3 -0
  134. package/dist/catalog-resolution.types.d.ts.map +1 -0
  135. package/dist/catalog-resolution.types.js +2 -0
  136. package/dist/catalog-resolution.types.js.map +1 -0
  137. package/dist/create-preview.d.ts +30 -7
  138. package/dist/create-preview.d.ts.map +1 -1
  139. package/dist/create-preview.js +41 -11
  140. package/dist/create-preview.js.map +1 -1
  141. package/dist/create-preview.types.d.ts +9 -0
  142. package/dist/create-preview.types.d.ts.map +1 -0
  143. package/dist/create-preview.types.js +2 -0
  144. package/dist/create-preview.types.js.map +1 -0
  145. package/dist/create-resolver.d.ts +27 -10
  146. package/dist/create-resolver.d.ts.map +1 -1
  147. package/dist/create-resolver.js +105 -74
  148. package/dist/create-resolver.js.map +1 -1
  149. package/dist/create-resolver.types.d.ts +15 -0
  150. package/dist/create-resolver.types.d.ts.map +1 -0
  151. package/dist/create-resolver.types.js +2 -0
  152. package/dist/create-resolver.types.js.map +1 -0
  153. package/dist/dependency-patch-installation.d.ts +16 -0
  154. package/dist/dependency-patch-installation.d.ts.map +1 -0
  155. package/dist/dependency-patch-installation.js +59 -0
  156. package/dist/dependency-patch-installation.js.map +1 -0
  157. package/dist/dependency-patches.d.ts +57 -0
  158. package/dist/dependency-patches.d.ts.map +1 -0
  159. package/dist/dependency-patches.js +134 -0
  160. package/dist/dependency-patches.js.map +1 -0
  161. package/dist/dependency-patches.types.d.ts +21 -0
  162. package/dist/dependency-patches.types.d.ts.map +1 -0
  163. package/dist/dependency-patches.types.js +2 -0
  164. package/dist/dependency-patches.types.js.map +1 -0
  165. package/dist/domain-artifact.d.ts +76 -0
  166. package/dist/domain-artifact.d.ts.map +1 -0
  167. package/dist/domain-artifact.js +115 -0
  168. package/dist/domain-artifact.js.map +1 -0
  169. package/dist/domain-planning.d.ts +36 -20
  170. package/dist/domain-planning.d.ts.map +1 -1
  171. package/dist/domain-planning.js +45 -55
  172. package/dist/domain-planning.js.map +1 -1
  173. package/dist/domain-planning.types.d.ts +21 -0
  174. package/dist/domain-planning.types.d.ts.map +1 -0
  175. package/dist/domain-planning.types.js +2 -0
  176. package/dist/domain-planning.types.js.map +1 -0
  177. package/dist/generate-deployment.d.ts +18 -0
  178. package/dist/generate-deployment.d.ts.map +1 -0
  179. package/dist/generate-deployment.js +100 -0
  180. package/dist/generate-deployment.js.map +1 -0
  181. package/dist/generate-files-compat.d.ts +43 -0
  182. package/dist/generate-files-compat.d.ts.map +1 -0
  183. package/dist/generate-files-compat.js +56 -0
  184. package/dist/generate-files-compat.js.map +1 -0
  185. package/dist/generate-files-utilities.d.ts +63 -10
  186. package/dist/generate-files-utilities.d.ts.map +1 -1
  187. package/dist/generate-files-utilities.js +99 -48
  188. package/dist/generate-files-utilities.js.map +1 -1
  189. package/dist/generate-files-utilities.types.d.ts +6 -0
  190. package/dist/generate-files-utilities.types.d.ts.map +1 -0
  191. package/dist/generate-files-utilities.types.js +2 -0
  192. package/dist/generate-files-utilities.types.js.map +1 -0
  193. package/dist/generate-files.d.ts +30 -1
  194. package/dist/generate-files.d.ts.map +1 -1
  195. package/dist/generate-files.js +56 -85
  196. package/dist/generate-files.js.map +1 -1
  197. package/dist/generate-output.d.ts +14 -17
  198. package/dist/generate-output.d.ts.map +1 -1
  199. package/dist/generate-output.js +27 -0
  200. package/dist/generate-output.js.map +1 -1
  201. package/dist/generate-output.types.d.ts +21 -0
  202. package/dist/generate-output.types.d.ts.map +1 -0
  203. package/dist/generate-output.types.js +2 -0
  204. package/dist/generate-output.types.js.map +1 -0
  205. package/dist/generate-process.d.ts +60 -0
  206. package/dist/generate-process.d.ts.map +1 -1
  207. package/dist/generate-process.js +95 -31
  208. package/dist/generate-process.js.map +1 -1
  209. package/dist/generate-stage-cleanup.d.ts +17 -0
  210. package/dist/generate-stage-cleanup.d.ts.map +1 -0
  211. package/dist/generate-stage-cleanup.js +30 -0
  212. package/dist/generate-stage-cleanup.js.map +1 -0
  213. package/dist/generate-types.d.ts +36 -0
  214. package/dist/generate-types.d.ts.map +1 -1
  215. package/dist/generate-types.js +16 -0
  216. package/dist/generate-types.js.map +1 -1
  217. package/dist/generate-workflow.d.ts +31 -0
  218. package/dist/generate-workflow.d.ts.map +1 -0
  219. package/dist/generate-workflow.js +117 -0
  220. package/dist/generate-workflow.js.map +1 -0
  221. package/dist/generate.d.ts +29 -1
  222. package/dist/generate.d.ts.map +1 -1
  223. package/dist/generate.js +55 -97
  224. package/dist/generate.js.map +1 -1
  225. package/dist/generate.service.types.d.ts +15 -0
  226. package/dist/generate.service.types.d.ts.map +1 -0
  227. package/dist/generate.service.types.js +2 -0
  228. package/dist/generate.service.types.js.map +1 -0
  229. package/dist/generator-cleanup.d.ts +27 -0
  230. package/dist/generator-cleanup.d.ts.map +1 -0
  231. package/dist/generator-cleanup.js +64 -0
  232. package/dist/generator-cleanup.js.map +1 -0
  233. package/dist/generator-cleanup.types.d.ts +6 -0
  234. package/dist/generator-cleanup.types.d.ts.map +1 -0
  235. package/dist/generator-cleanup.types.js +2 -0
  236. package/dist/generator-cleanup.types.js.map +1 -0
  237. package/dist/generator-errors.d.ts +74 -0
  238. package/dist/generator-errors.d.ts.map +1 -0
  239. package/dist/generator-errors.js +89 -0
  240. package/dist/generator-errors.js.map +1 -0
  241. package/dist/generator-filesystem.d.ts +25 -0
  242. package/dist/generator-filesystem.d.ts.map +1 -0
  243. package/dist/generator-filesystem.js +68 -0
  244. package/dist/generator-filesystem.js.map +1 -0
  245. package/dist/generator-filesystem.types.d.ts +112 -0
  246. package/dist/generator-filesystem.types.d.ts.map +1 -0
  247. package/dist/generator-filesystem.types.js +2 -0
  248. package/dist/generator-filesystem.types.js.map +1 -0
  249. package/dist/generator-paths.d.ts +13 -0
  250. package/dist/generator-paths.d.ts.map +1 -0
  251. package/dist/generator-paths.js +45 -0
  252. package/dist/generator-paths.js.map +1 -0
  253. package/dist/generator-paths.types.d.ts +40 -0
  254. package/dist/generator-paths.types.d.ts.map +1 -0
  255. package/dist/generator-paths.types.js +2 -0
  256. package/dist/generator-paths.types.js.map +1 -0
  257. package/dist/generator-process.d.ts +25 -0
  258. package/dist/generator-process.d.ts.map +1 -0
  259. package/dist/generator-process.js +124 -0
  260. package/dist/generator-process.js.map +1 -0
  261. package/dist/generator-process.types.d.ts +27 -0
  262. package/dist/generator-process.types.d.ts.map +1 -0
  263. package/dist/generator-process.types.js +2 -0
  264. package/dist/generator-process.types.js.map +1 -0
  265. package/dist/generator-prompt.d.ts +22 -0
  266. package/dist/generator-prompt.d.ts.map +1 -0
  267. package/dist/generator-prompt.js +58 -0
  268. package/dist/generator-prompt.js.map +1 -0
  269. package/dist/generator-prompt.types.d.ts +38 -0
  270. package/dist/generator-prompt.types.d.ts.map +1 -0
  271. package/dist/generator-prompt.types.js +2 -0
  272. package/dist/generator-prompt.types.js.map +1 -0
  273. package/dist/generator-runtime.d.ts +22 -0
  274. package/dist/generator-runtime.d.ts.map +1 -0
  275. package/dist/generator-runtime.js +31 -0
  276. package/dist/generator-runtime.js.map +1 -0
  277. package/dist/index.d.ts +13 -1
  278. package/dist/index.d.ts.map +1 -1
  279. package/dist/index.js +12 -79
  280. package/dist/index.js.map +1 -1
  281. package/dist/options.d.ts +50 -1
  282. package/dist/options.d.ts.map +1 -1
  283. package/dist/options.js +48 -1
  284. package/dist/options.js.map +1 -1
  285. package/dist/patches/drizzle-orm.patch +692 -0
  286. package/dist/plan-builder-effects.d.ts +124 -0
  287. package/dist/plan-builder-effects.d.ts.map +1 -0
  288. package/dist/plan-builder-effects.js +172 -0
  289. package/dist/plan-builder-effects.js.map +1 -0
  290. package/dist/plan-builder-files.d.ts +12 -0
  291. package/dist/plan-builder-files.d.ts.map +1 -0
  292. package/dist/plan-builder-files.js +99 -0
  293. package/dist/plan-builder-files.js.map +1 -0
  294. package/dist/plan-builder-files.types.d.ts +49 -0
  295. package/dist/plan-builder-files.types.d.ts.map +1 -0
  296. package/dist/plan-builder-files.types.js +2 -0
  297. package/dist/plan-builder-files.types.js.map +1 -0
  298. package/dist/plan-builder-manifest.d.ts +11 -0
  299. package/dist/plan-builder-manifest.d.ts.map +1 -0
  300. package/dist/plan-builder-manifest.js +37 -0
  301. package/dist/plan-builder-manifest.js.map +1 -0
  302. package/dist/plan-builder.d.ts +78 -18
  303. package/dist/plan-builder.d.ts.map +1 -1
  304. package/dist/plan-builder.js +105 -126
  305. package/dist/plan-builder.js.map +1 -1
  306. package/dist/plan-builder.types.d.ts +22 -0
  307. package/dist/plan-builder.types.d.ts.map +1 -0
  308. package/dist/plan-builder.types.js +2 -0
  309. package/dist/plan-builder.types.js.map +1 -0
  310. package/dist/plan-manifest.d.ts +16 -4
  311. package/dist/plan-manifest.d.ts.map +1 -1
  312. package/dist/plan-manifest.js +60 -3
  313. package/dist/plan-manifest.js.map +1 -1
  314. package/dist/plan-manifest.types.d.ts +13 -0
  315. package/dist/plan-manifest.types.d.ts.map +1 -0
  316. package/dist/plan-manifest.types.js +2 -0
  317. package/dist/plan-manifest.types.js.map +1 -0
  318. package/dist/project-catalog.d.ts +17 -0
  319. package/dist/project-catalog.d.ts.map +1 -0
  320. package/dist/project-catalog.js +69 -0
  321. package/dist/project-catalog.js.map +1 -0
  322. package/dist/project-discovery-app.d.ts +7 -0
  323. package/dist/project-discovery-app.d.ts.map +1 -1
  324. package/dist/project-discovery-app.js +71 -0
  325. package/dist/project-discovery-app.js.map +1 -1
  326. package/dist/project-discovery-database.d.ts +10 -0
  327. package/dist/project-discovery-database.d.ts.map +1 -1
  328. package/dist/project-discovery-database.js +18 -0
  329. package/dist/project-discovery-database.js.map +1 -1
  330. package/dist/project-discovery-facts.d.ts +13 -0
  331. package/dist/project-discovery-facts.d.ts.map +1 -0
  332. package/dist/project-discovery-facts.js +170 -0
  333. package/dist/project-discovery-facts.js.map +1 -0
  334. package/dist/project-discovery-types.d.ts +15 -0
  335. package/dist/project-discovery-types.d.ts.map +1 -1
  336. package/dist/project-discovery.d.ts +31 -1
  337. package/dist/project-discovery.d.ts.map +1 -1
  338. package/dist/project-discovery.js +51 -147
  339. package/dist/project-discovery.js.map +1 -1
  340. package/dist/project-discovery.service.types.d.ts +13 -0
  341. package/dist/project-discovery.service.types.d.ts.map +1 -0
  342. package/dist/project-discovery.service.types.js +2 -0
  343. package/dist/project-discovery.service.types.js.map +1 -0
  344. package/dist/project-manifest.schemas.d.ts +22 -0
  345. package/dist/project-manifest.schemas.d.ts.map +1 -0
  346. package/dist/project-manifest.schemas.js +22 -0
  347. package/dist/project-manifest.schemas.js.map +1 -0
  348. package/dist/prompt-driver.d.ts +7 -30
  349. package/dist/prompt-driver.d.ts.map +1 -1
  350. package/dist/prompt-driver.js +25 -4
  351. package/dist/prompt-driver.js.map +1 -1
  352. package/dist/prompt-driver.types.d.ts +92 -0
  353. package/dist/prompt-driver.types.d.ts.map +1 -0
  354. package/dist/prompt-driver.types.js +2 -0
  355. package/dist/prompt-driver.types.js.map +1 -0
  356. package/dist/provider-planning-definitions.d.ts +43 -0
  357. package/dist/provider-planning-definitions.d.ts.map +1 -1
  358. package/dist/provider-planning-definitions.js +43 -0
  359. package/dist/provider-planning-definitions.js.map +1 -1
  360. package/dist/provider-planning.d.ts +37 -7
  361. package/dist/provider-planning.d.ts.map +1 -1
  362. package/dist/provider-planning.js +69 -76
  363. package/dist/provider-planning.js.map +1 -1
  364. package/dist/provider-planning.types.d.ts +14 -0
  365. package/dist/provider-planning.types.d.ts.map +1 -0
  366. package/dist/provider-planning.types.js +2 -0
  367. package/dist/provider-planning.types.js.map +1 -0
  368. package/dist/provider-profile-definition.d.ts +45 -0
  369. package/dist/provider-profile-definition.d.ts.map +1 -0
  370. package/dist/provider-profile-definition.js +93 -0
  371. package/dist/provider-profile-definition.js.map +1 -0
  372. package/dist/render-ai-sources.d.ts +20 -0
  373. package/dist/render-ai-sources.d.ts.map +1 -1
  374. package/dist/render-ai-sources.js +21 -0
  375. package/dist/render-ai-sources.js.map +1 -1
  376. package/dist/render-ai.d.ts +49 -0
  377. package/dist/render-ai.d.ts.map +1 -1
  378. package/dist/render-ai.js +62 -12
  379. package/dist/render-ai.js.map +1 -1
  380. package/dist/render-auth-schema.d.ts +5 -0
  381. package/dist/render-auth-schema.d.ts.map +1 -1
  382. package/dist/render-auth-schema.js +8 -0
  383. package/dist/render-auth-schema.js.map +1 -1
  384. package/dist/render-auth-sources.d.ts +8 -0
  385. package/dist/render-auth-sources.d.ts.map +1 -1
  386. package/dist/render-auth-sources.js +8 -0
  387. package/dist/render-auth-sources.js.map +1 -1
  388. package/dist/render-auth.d.ts +21 -0
  389. package/dist/render-auth.d.ts.map +1 -1
  390. package/dist/render-auth.js +86 -24
  391. package/dist/render-auth.js.map +1 -1
  392. package/dist/render-database-sources.d.ts +15 -0
  393. package/dist/render-database-sources.d.ts.map +1 -1
  394. package/dist/render-database-sources.js +15 -0
  395. package/dist/render-database-sources.js.map +1 -1
  396. package/dist/render-database.d.ts +24 -0
  397. package/dist/render-database.d.ts.map +1 -1
  398. package/dist/render-database.js +37 -17
  399. package/dist/render-database.js.map +1 -1
  400. package/dist/render-domain-callables.d.ts +67 -0
  401. package/dist/render-domain-callables.d.ts.map +1 -0
  402. package/dist/render-domain-callables.js +99 -0
  403. package/dist/render-domain-callables.js.map +1 -0
  404. package/dist/render-domain-events.d.ts +59 -0
  405. package/dist/render-domain-events.d.ts.map +1 -0
  406. package/dist/render-domain-events.js +92 -0
  407. package/dist/render-domain-events.js.map +1 -0
  408. package/dist/render-domain-jobs.d.ts +56 -0
  409. package/dist/render-domain-jobs.d.ts.map +1 -0
  410. package/dist/render-domain-jobs.js +84 -0
  411. package/dist/render-domain-jobs.js.map +1 -0
  412. package/dist/render-domain-register.d.ts +18 -0
  413. package/dist/render-domain-register.d.ts.map +1 -1
  414. package/dist/render-domain-register.js +27 -7
  415. package/dist/render-domain-register.js.map +1 -1
  416. package/dist/render-domain-sources.d.ts +63 -0
  417. package/dist/render-domain-sources.d.ts.map +1 -1
  418. package/dist/render-domain-sources.js +65 -0
  419. package/dist/render-domain-sources.js.map +1 -1
  420. package/dist/render-domain.d.ts +4 -25
  421. package/dist/render-domain.d.ts.map +1 -1
  422. package/dist/render-domain.js +3 -97
  423. package/dist/render-domain.js.map +1 -1
  424. package/dist/render-domain.types.d.ts +15 -0
  425. package/dist/render-domain.types.d.ts.map +1 -0
  426. package/dist/render-domain.types.js +2 -0
  427. package/dist/render-domain.types.js.map +1 -0
  428. package/dist/render-resource-sources.d.ts +12 -0
  429. package/dist/render-resource-sources.d.ts.map +1 -1
  430. package/dist/render-resource-sources.js +12 -0
  431. package/dist/render-resource-sources.js.map +1 -1
  432. package/dist/render-resources.d.ts +47 -0
  433. package/dist/render-resources.d.ts.map +1 -1
  434. package/dist/render-resources.js +62 -15
  435. package/dist/render-resources.js.map +1 -1
  436. package/dist/render-route-sources.d.ts +19 -0
  437. package/dist/render-route-sources.d.ts.map +1 -1
  438. package/dist/render-route-sources.js +19 -0
  439. package/dist/render-route-sources.js.map +1 -1
  440. package/dist/render-routes.d.ts +57 -0
  441. package/dist/render-routes.d.ts.map +1 -1
  442. package/dist/render-routes.js +72 -10
  443. package/dist/render-routes.js.map +1 -1
  444. package/dist/render-service.d.ts +23 -1
  445. package/dist/render-service.d.ts.map +1 -1
  446. package/dist/render-service.js +65 -20
  447. package/dist/render-service.js.map +1 -1
  448. package/dist/scaffold-catalog.d.ts +7 -6
  449. package/dist/scaffold-catalog.d.ts.map +1 -1
  450. package/dist/scaffold-catalog.js +11 -5
  451. package/dist/scaffold-catalog.js.map +1 -1
  452. package/dist/scaffold-catalog.types.d.ts +11 -0
  453. package/dist/scaffold-catalog.types.d.ts.map +1 -0
  454. package/dist/scaffold-catalog.types.js +2 -0
  455. package/dist/scaffold-catalog.types.js.map +1 -0
  456. package/dist/source-edit.d.ts +38 -2
  457. package/dist/source-edit.d.ts.map +1 -1
  458. package/dist/source-edit.js +39 -94
  459. package/dist/source-edit.js.map +1 -1
  460. package/dist/source-factory-edit.d.ts +78 -0
  461. package/dist/source-factory-edit.d.ts.map +1 -0
  462. package/dist/source-factory-edit.js +156 -0
  463. package/dist/source-factory-edit.js.map +1 -0
  464. package/dist/source-import-edit.d.ts +7 -1
  465. package/dist/source-import-edit.d.ts.map +1 -1
  466. package/dist/source-import-edit.js +20 -1
  467. package/dist/source-import-edit.js.map +1 -1
  468. package/dist/template-root.d.ts +15 -4
  469. package/dist/template-root.d.ts.map +1 -1
  470. package/dist/template-root.js +22 -5
  471. package/dist/template-root.js.map +1 -1
  472. package/dist/templates/default/README.md +1 -1
  473. package/dist/templates/default/v1/agent/package.json +4 -4
  474. package/dist/templates/default/v1/api/package.json +3 -3
  475. package/dist/templates/default/v1/fullstack/package.json +6 -6
  476. package/dist/templates/default/v1/minimal/package.json +3 -3
  477. package/dist/templates/default/v1/tasks/package.json +3 -3
  478. package/dist/validate-errors.d.ts +12 -0
  479. package/dist/validate-errors.d.ts.map +1 -0
  480. package/dist/validate-errors.js +16 -0
  481. package/dist/validate-errors.js.map +1 -0
  482. package/dist/validate-paths.d.ts +43 -0
  483. package/dist/validate-paths.d.ts.map +1 -0
  484. package/dist/validate-paths.js +105 -0
  485. package/dist/validate-paths.js.map +1 -0
  486. package/dist/validate.d.ts +56 -17
  487. package/dist/validate.d.ts.map +1 -1
  488. package/dist/validate.js +89 -130
  489. package/dist/validate.js.map +1 -1
  490. package/dist/validate.types.d.ts +19 -0
  491. package/dist/validate.types.d.ts.map +1 -0
  492. package/dist/validate.types.js +2 -0
  493. package/dist/validate.types.js.map +1 -0
  494. package/package.json +67 -5
  495. package/src/catalog-resolution.ts +55 -0
  496. package/src/catalog-resolution.types.ts +2 -0
  497. package/dist/create-additions.d.ts +0 -7
  498. package/dist/create-additions.d.ts.map +0 -1
  499. package/dist/create-additions.js +0 -27
  500. package/dist/create-additions.js.map +0 -1
@@ -0,0 +1,69 @@
1
+ import { observeExecution } from "@relkit/contracts/operation";
2
+ import { dirname, join, resolve } from "node:path";
3
+ import { Effect, Schema } from "effect";
4
+ import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
5
+ import { resolveCatalogVersion } from "./catalog-resolution.js";
6
+ import { GeneratorFileSystem } from "./generator-filesystem.js";
7
+ import { domainError, domainTry, errorMessage, hasErrno } from "./generator-errors.js";
8
+ import { runGeneratorPromise } from "./generator-runtime.js";
9
+ import { JsonObject } from "./project-manifest.schemas.js";
10
+ /**
11
+ * Resolves authored Bun aliases without replacing declarations or hiding filesystem authority.
12
+ * @param projectRoot - Directory whose nearest catalog owns the aliases.
13
+ * @param dependencies - Specifications to compare with supported concrete versions.
14
+ * @returns Concrete values or a typed invalid-project failure.
15
+ */
16
+ export const resolveProjectDependenciesEffect = Effect.fn("ProjectCatalog.resolve")(function* (projectRoot, dependencies) {
17
+ if (!Object.values(dependencies).some((value) => value.startsWith("catalog:")))
18
+ return dependencies;
19
+ const manifest = yield* findCatalogRootEffect(projectRoot);
20
+ return yield* Effect.try({
21
+ try: () => Object.fromEntries(Object.entries(dependencies).map(([name, specification]) => [
22
+ name,
23
+ resolveCatalogVersion(manifest, name, specification),
24
+ ])),
25
+ catch: (error) => invalid(errorMessage(error)),
26
+ });
27
+ }, (effect) => observeExecution("generator", "planning.resolveProjectDependencies", effect));
28
+ /**
29
+ * Preserves the project catalog Promise API and authored alias ownership.
30
+ * @param projectRoot - Project directory.
31
+ * @param dependencies - Specifications to resolve.
32
+ * @returns Concrete comparisons; specifications that do not use catalogs remain unchanged.
33
+ */
34
+ export function resolveProjectDependencies(projectRoot, dependencies) {
35
+ return runGeneratorPromise(resolveProjectDependenciesEffect(projectRoot, dependencies));
36
+ }
37
+ /**
38
+ * Finds the closest catalog-owning manifest through explicit filesystem authority.
39
+ * @param projectRoot - Initial project directory.
40
+ * @returns Decoded catalog owner; missing files are traversed, malformed files reject.
41
+ */
42
+ const findCatalogRootEffect = Effect.fn("ProjectCatalog.findOwner")(function* (projectRoot) {
43
+ const fs = yield* GeneratorFileSystem;
44
+ for (let current = resolve(projectRoot);; current = dirname(current)) {
45
+ const contents = yield* fs.readText(join(current, "package.json")).pipe(Effect.catchIf((error) => hasErrno(error, "ENOENT"), () => Effect.succeed(undefined)));
46
+ if (contents !== undefined) {
47
+ const parsed = yield* domainTry(() => JSON.parse(contents));
48
+ const manifest = yield* Schema.decodeUnknownEffect(JsonObject)(parsed).pipe(Effect.mapError(() => invalid("package.json must contain an object.")));
49
+ const workspaces = yield* Schema.decodeUnknownEffect(JsonObject)(manifest.workspaces).pipe(Effect.catch(() => Effect.succeed({})));
50
+ if (manifest.catalog !== undefined ||
51
+ manifest.catalogs !== undefined ||
52
+ workspaces.catalog !== undefined ||
53
+ workspaces.catalogs !== undefined)
54
+ return manifest;
55
+ }
56
+ if (dirname(current) === current)
57
+ break;
58
+ }
59
+ return yield* Effect.fail(invalid(`No Bun catalog owns project ${projectRoot}.`));
60
+ }, (effect) => observeExecution("generator", "planning.findCatalogRoot", effect));
61
+ /**
62
+ * Constructs the existing invalid-project error without losing constructor identity.
63
+ * @param message - User-facing diagnostic or prompt text.
64
+ * @returns A GeneratorDomainError retaining the canonical invalid-project AddScaffoldError.
65
+ */
66
+ function invalid(message) {
67
+ return domainError(new AddScaffoldError(ADD_FAILURE_CODES.invalidProject, message));
68
+ }
69
+ //# sourceMappingURL=project-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-catalog.js","sourceRoot":"","sources":["../src/project-catalog.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
1
  import type { DiscoveredProfile } from "./project-discovery-types.js";
2
+ /**
3
+ * Reads the canonical app factory and its source-declared environment/providers.
4
+ * @param source - Authored source text inspected or transformed without execution.
5
+ * @param path - Path inside the current project or owned resource.
6
+ * @param root - Absolute project or owned resource root.
7
+ * @returns The recognized app factory, optional environment source path and provider profiles.
8
+ */
2
9
  export declare function readAppDiscovery(source: string, path: string, root: string): {
3
10
  readonly factory: "defineApp" | "defineConfig";
4
11
  readonly envPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"project-discovery-app.d.ts","sourceRoot":"","sources":["../src/project-discovery-app.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAKtE,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACjD,CAiBA"}
1
+ {"version":3,"file":"project-discovery-app.d.ts","sourceRoot":"","sources":["../src/project-discovery-app.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAQtE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACjD,CAiBA"}
@@ -2,7 +2,17 @@ import { dirname, join, resolve } from "node:path";
2
2
  import * as ts from "typescript";
3
3
  import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
4
4
  import { readFactoryObject, staticPropertyName } from "./source-edit.js";
5
+ /**
6
+ * Provider capabilities recognized in static app configuration.
7
+ */
5
8
  const CAPABILITIES = ["bucket", "cache", "job", "event", "model"];
9
+ /**
10
+ * Reads the canonical app factory and its source-declared environment/providers.
11
+ * @param source - Authored source text inspected or transformed without execution.
12
+ * @param path - Path inside the current project or owned resource.
13
+ * @param root - Absolute project or owned resource root.
14
+ * @returns The recognized app factory, optional environment source path and provider profiles.
15
+ */
6
16
  export function readAppDiscovery(source, path, root) {
7
17
  for (const factory of ["defineApp", "defineConfig"]) {
8
18
  try {
@@ -20,6 +30,11 @@ export function readAppDiscovery(source, path, root) {
20
30
  }
21
31
  throw new AddScaffoldError(ADD_FAILURE_CODES.unsupportedSourceShape, `${path} has no canonical app.`);
22
32
  }
33
+ /**
34
+ * Reads provider profiles, aliases and default selections from app configuration.
35
+ * @param object - App factory's object-literal argument.
36
+ * @returns Source-discovered provider profile facts without importing the configuration.
37
+ */
23
38
  function readProfiles(object) {
24
39
  const defaults = objectPropertyObject(object, "defaults");
25
40
  return CAPABILITIES.flatMap((capability) => {
@@ -50,6 +65,14 @@ function readProfiles(object) {
50
65
  });
51
66
  });
52
67
  }
68
+ /**
69
+ * Resolves the statically imported environment source for a shorthand env property.
70
+ * @param source - Authored source text inspected or transformed without execution.
71
+ * @param object - Object-literal AST whose properties are inspected.
72
+ * @param appPath - App configuration source path used to resolve its imports.
73
+ * @param root - Absolute project or owned resource root.
74
+ * @returns The environment import's resolved TypeScript path, or undefined when not statically discoverable.
75
+ */
53
76
  function importedEnvPath(source, object, appPath, root) {
54
77
  const env = objectProperty(object, "env");
55
78
  if (!env || !ts.isShorthandPropertyAssignment(env))
@@ -66,25 +89,54 @@ function importedEnvPath(source, object, appPath, root) {
66
89
  : resolve(dirname(appPath), specifier);
67
90
  return imported.replace(/\.js$/, ".ts");
68
91
  }
92
+ /**
93
+ * Finds a statically named app configuration property.
94
+ * @param object - App configuration object-literal AST.
95
+ * @param name - Authored name or declaration key.
96
+ * @returns The matching property, or undefined when absent.
97
+ */
69
98
  function objectProperty(object, name) {
70
99
  return object.properties.find((item) => staticPropertyName(item.name) === name);
71
100
  }
101
+ /**
102
+ * Reads the capability property, including the jobs/job alias.
103
+ * @param object - App configuration object-literal AST.
104
+ * @param capability - Requested provider capability.
105
+ * @returns The matching capability declaration, or undefined when absent.
106
+ */
72
107
  function profileProperty(object, capability) {
73
108
  return capability === "job"
74
109
  ? (objectProperty(object, "jobs") ?? objectProperty(object, "job"))
75
110
  : objectProperty(object, capability);
76
111
  }
112
+ /**
113
+ * Reads a statically declared object-valued property.
114
+ * @param object - Owning object-literal AST.
115
+ * @param name - Authored name or declaration key.
116
+ * @returns The unwrapped object literal, or undefined for absent/nonliteral values.
117
+ */
77
118
  function objectPropertyObject(object, name) {
78
119
  const item = objectProperty(object, name);
79
120
  const value = item && ts.isPropertyAssignment(item) ? unwrap(item.initializer) : undefined;
80
121
  return value && ts.isObjectLiteralExpression(value) ? value : undefined;
81
122
  }
123
+ /**
124
+ * Reads one literal default selection from app configuration.
125
+ * @param object - Object-literal AST whose properties are inspected.
126
+ * @param name - Authored name or declaration key.
127
+ * @returns The declared string default, or undefined for absent/nonliteral properties.
128
+ */
82
129
  function defaultValue(object, name) {
83
130
  const item = object && objectProperty(object, name);
84
131
  return item && ts.isPropertyAssignment(item) && ts.isStringLiteralLike(item.initializer)
85
132
  ? item.initializer.text
86
133
  : undefined;
87
134
  }
135
+ /**
136
+ * Reads static constructor names, including nested adapter wrappers.
137
+ * @param call - Call-expression AST inspected without evaluation.
138
+ * @returns The static adapter name including nested constructor names, or undefined for dynamic calls.
139
+ */
88
140
  function callName(call) {
89
141
  const name = ts.isIdentifier(call.expression)
90
142
  ? call.expression.text
@@ -99,6 +151,12 @@ function callName(call) {
99
151
  const nestedName = nested === undefined ? undefined : callName(nested);
100
152
  return nestedName === undefined ? name : `${name}(${nestedName})`;
101
153
  }
154
+ /**
155
+ * Reads one literal option from a constructor's first object argument.
156
+ * @param call - Call-expression AST inspected without evaluation.
157
+ * @param name - Authored name or declaration key.
158
+ * @returns The string option from the first object argument, or undefined when nonliteral or absent.
159
+ */
102
160
  function callStringOption(call, name) {
103
161
  const value = unwrap(call.arguments[0]);
104
162
  if (!value || !ts.isObjectLiteralExpression(value))
@@ -108,6 +166,11 @@ function callStringOption(call, name) {
108
166
  ? item.initializer.text
109
167
  : undefined;
110
168
  }
169
+ /**
170
+ * Removes parentheses and TypeScript assertions from a source expression.
171
+ * @param value - AST expression whose static wrapper nodes are ignored.
172
+ * @returns The underlying expression, or undefined when no expression was supplied.
173
+ */
111
174
  function unwrap(value) {
112
175
  return value &&
113
176
  (ts.isAsExpression(value) ||
@@ -116,6 +179,14 @@ function unwrap(value) {
116
179
  ? unwrap(value.expression)
117
180
  : value;
118
181
  }
182
+ /**
183
+ * Omits absent fields when constructing a public result.
184
+ * @typeParam Name - Literal property key retained in the mapped result.
185
+ * @typeParam Value - Value type retained for the optional property.
186
+ * @param name - Result property key.
187
+ * @param value - Defined property value or undefined to omit it.
188
+ * @returns An empty object for undefined, otherwise an object containing the named field.
189
+ */
119
190
  function optional(name, value) {
120
191
  return value === undefined ? {} : { [name]: value };
121
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-discovery-app.js","sourceRoot":"","sources":["../src/project-discovery-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-discovery-app.js","sourceRoot":"","sources":["../src/project-discovery-app.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,18 @@
1
1
  import type { DatabaseDialect } from "./add-types.js";
2
+ /**
3
+ * Read-only source file name and text used for static database discovery.
4
+ */
2
5
  interface SourceModule {
3
6
  readonly fileName: string;
4
7
  readonly text: string;
5
8
  }
9
+ /**
10
+ * Infers database dialect and schema import facts from source modules.
11
+ * @param modules - Source modules available for static database discovery.
12
+ * @param servicePath - Project-relative database service source path.
13
+ * @param source - Authored source text inspected or transformed without execution.
14
+ * @returns The unambiguous inferred dialect and statically resolved schema path when discoverable.
15
+ */
6
16
  export declare function discoverDatabaseDetails(modules: readonly SourceModule[], servicePath: string, source: string): {
7
17
  readonly dialect?: DatabaseDialect;
8
18
  readonly schemaPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"project-discovery-database.d.ts","sourceRoot":"","sources":["../src/project-discovery-database.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,UAAU,YAAY;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAStE"}
1
+ {"version":3,"file":"project-discovery-database.d.ts","sourceRoot":"","sources":["../src/project-discovery-database.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD;;GAEG;AACH,UAAU,YAAY;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAStE"}
@@ -1,6 +1,13 @@
1
1
  import { posix } from "node:path";
2
2
  import * as ts from "typescript";
3
3
  import { readFactoryObject, staticPropertyName } from "./source-edit.js";
4
+ /**
5
+ * Infers database dialect and schema import facts from source modules.
6
+ * @param modules - Source modules available for static database discovery.
7
+ * @param servicePath - Project-relative database service source path.
8
+ * @param source - Authored source text inspected or transformed without execution.
9
+ * @returns The unambiguous inferred dialect and statically resolved schema path when discoverable.
10
+ */
4
11
  export function discoverDatabaseDetails(modules, servicePath, source) {
5
12
  const domain = servicePath.split("/").slice(0, -1).join("/");
6
13
  const relevant = modules.filter((module) => module.fileName.startsWith(`${domain}/`));
@@ -11,6 +18,12 @@ export function discoverDatabaseDetails(modules, servicePath, source) {
11
18
  ...(schemaPath === undefined ? {} : { schemaPath }),
12
19
  };
13
20
  }
21
+ /**
22
+ * Resolves the database service's static relative namespace schema import.
23
+ * @param source - Authored source text inspected or transformed without execution.
24
+ * @param servicePath - Project-relative database service source path.
25
+ * @returns The project-relative TypeScript schema import path, or undefined for unsupported imports.
26
+ */
14
27
  function importedSchemaPath(source, servicePath) {
15
28
  const object = readFactoryObject(source, servicePath, ["defineDrizzleService"]);
16
29
  const schema = object.properties.find((item) => staticPropertyName(item.name) === "schema");
@@ -34,6 +47,11 @@ function importedSchemaPath(source, servicePath) {
34
47
  return undefined;
35
48
  return posix.normalize(posix.join(posix.dirname(servicePath), value.replace(/\.js$/, ".ts")));
36
49
  }
50
+ /**
51
+ * Infers a database dialect from recognized static import and adapter markers.
52
+ * @param source - Authored source text inspected or transformed without execution.
53
+ * @returns The inferred dialect as a single-item array, or an empty array when unknown.
54
+ */
37
55
  function dialectOf(source) {
38
56
  if (source.includes("drizzle-orm/sqlite-core") || source.includes("drizzle-orm/bun-sqlite"))
39
57
  return ["sqlite"];
@@ -1 +1 @@
1
- {"version":3,"file":"project-discovery-database.js","sourceRoot":"","sources":["../src/project-discovery-database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAOzE,MAAM,UAAU,uBAAuB,CACrC,OAAgC,EAChC,WAAmB,EACnB,MAAc;IAEd,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3D,OAAO;QACL,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,WAAmB;IAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC5F,MAAM,OAAO,GACX,MAAM,IAAI,EAAE,CAAC,6BAA6B,CAAC,MAAM,CAAC;QAChD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;QAClB,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;YAChF,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI;YACzB,CAAC,CAAC,SAAS,CAAC;IAClB,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU;SAChC,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC;SAC9B,IAAI,CACH,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,YAAY,EAAE,aAAa;QAChC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CACxD,CAAC;IACJ,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,eAAe,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3F,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,SAAS,CAAC,MAAc;IAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACzF,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC/E,OAAO,CAAC,YAAY,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC/E,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"project-discovery-database.js","sourceRoot":"","sources":["../src/project-discovery-database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAUzE;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAgC,EAChC,WAAmB,EACnB,MAAc;IAEd,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3D,OAAO;QACL,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,MAAc,EAAE,WAAmB;IAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC5F,MAAM,OAAO,GACX,MAAM,IAAI,EAAE,CAAC,6BAA6B,CAAC,MAAM,CAAC;QAChD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;QAClB,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;YAChF,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI;YACzB,CAAC,CAAC,SAAS,CAAC;IAClB,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU;SAChC,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC;SAC9B,IAAI,CACH,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,YAAY,EAAE,aAAa;QAChC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CACxD,CAAC;IACJ,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,eAAe,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3F,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,MAAc;IAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACzF,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC/E,OAAO,CAAC,YAAY,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC/E,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { ProjectDiscovery } from "./project-discovery-types.js";
2
+ /**
3
+ * Converts immutable source facts into discovery data without importing application modules.
4
+ * @param root - Absolute project root.
5
+ * @param appSource - Configuration source bytes.
6
+ * @param modules - Sorted TypeScript source modules.
7
+ * @returns Canonical service, artifact, profile and deployment facts.
8
+ */
9
+ export declare function discoveryFacts(root: string, appSource: string, modules: readonly {
10
+ readonly fileName: string;
11
+ readonly text: string;
12
+ }[]): ProjectDiscovery;
13
+ //# sourceMappingURL=project-discovery-facts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-discovery-facts.d.ts","sourceRoot":"","sources":["../src/project-discovery-facts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAKtC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GACvE,gBAAgB,CAmFlB"}
@@ -0,0 +1,170 @@
1
+ import { join } from "node:path";
2
+ import { prefilterSources } from "@relkit/compiler";
3
+ import * as ts from "typescript";
4
+ import { readAppDiscovery } from "./project-discovery-app.js";
5
+ import { discoverDatabaseDetails } from "./project-discovery-database.js";
6
+ import { readFactoryObject, readFactoryStringProperty, staticPropertyName } from "./source-edit.js";
7
+ /**
8
+ * Converts immutable source facts into discovery data without importing application modules.
9
+ * @param root - Absolute project root.
10
+ * @param appSource - Configuration source bytes.
11
+ * @param modules - Sorted TypeScript source modules.
12
+ * @returns Canonical service, artifact, profile and deployment facts.
13
+ */
14
+ export function discoveryFacts(root, appSource, modules) {
15
+ const appPath = join(root, "relkit.config.ts");
16
+ const candidates = prefilterSources(modules, { projectRoot: root }).candidates;
17
+ const sourceByPath = new Map(modules.map((module) => [module.fileName, module.text]));
18
+ const services = [];
19
+ const artifacts = [];
20
+ for (const candidate of candidates) {
21
+ const domain = sourceDomain(candidate.fileName);
22
+ const source = sourceByPath.get(candidate.fileName);
23
+ // Compiler candidates are drawn only from the exact source module collection above.
24
+ if (source === undefined)
25
+ throw new Error("Compiler returned an unknown source module.");
26
+ for (const factory of candidate.facts.factoryBindings) {
27
+ const binding = factory.binding ?? fileBinding(candidate.fileName);
28
+ const exportedEntry = [...candidate.facts.exports.entries()].find(([, entry]) => entry.binding === factory.binding || entry.factory === factory);
29
+ const id = factory.id === "explicit"
30
+ ? readFactoryStringProperty(source, candidate.fileName, factory.factory, "id", factory.factory === "definePrompt" || factory.factory === "defineConstants" ? 1 : 0)
31
+ : undefined;
32
+ artifacts.push({
33
+ kind: factory.kind,
34
+ path: candidate.fileName,
35
+ binding,
36
+ ...(domain === undefined ? {} : { domain }),
37
+ ...(id === undefined ? {} : { id }),
38
+ factory: factory.factory,
39
+ exported: exportedEntry !== undefined,
40
+ ...(exportedEntry === undefined
41
+ ? {}
42
+ : {
43
+ exportKind: exportedEntry[0] === "default" ? "default" : "named",
44
+ }),
45
+ options: factory.options,
46
+ });
47
+ if (factory.kind !== "service" || domain === undefined)
48
+ continue;
49
+ const database = factory.factory === "defineDrizzleService"
50
+ ? discoverDatabaseDetails(modules, candidate.fileName, source)
51
+ : undefined;
52
+ services.push({
53
+ domain,
54
+ path: candidate.fileName,
55
+ binding,
56
+ capability: factory.factory === "defineDrizzleService"
57
+ ? "database"
58
+ : factory.factory === "defineBetterAuthService"
59
+ ? "auth"
60
+ : "generic",
61
+ ...(database ?? {}),
62
+ members: serviceMembers(candidate.facts.serviceMembers.filter((member) => member.service === factory.binding), source, candidate.fileName, factory.factory),
63
+ });
64
+ }
65
+ }
66
+ const app = readAppDiscovery(appSource, appPath, root);
67
+ return Object.freeze({
68
+ projectRoot: root,
69
+ packagePath: join(root, "package.json"),
70
+ appPath,
71
+ appFactory: app.factory,
72
+ ...(app.envPath === undefined ? {} : { envPath: app.envPath }),
73
+ services: Object.freeze([...new Map(services.map((service) => [service.path, service])).values()].sort(byPath)),
74
+ artifacts: Object.freeze(artifacts.sort(byPath)),
75
+ profiles: Object.freeze(app.profiles),
76
+ awsPulumiDeployment: importsPackage(appSource, appPath, "@relkit/aws") &&
77
+ importsPackage(appSource, appPath, "@relkit/pulumi"),
78
+ });
79
+ }
80
+ /**
81
+ * Reads public service members from compiler facts or the supported AST fallback.
82
+ * @param facts - Compiler member facts.
83
+ * @param source - Owning module source.
84
+ * @param path - Source module path.
85
+ * @param factory - Service factory identifier.
86
+ * @returns Declared public member bindings.
87
+ */
88
+ function serviceMembers(facts, source, path, factory) {
89
+ if (facts.length > 0)
90
+ return facts.map((member) => ({
91
+ name: member.member,
92
+ ...(member.targetBinding === undefined ? {} : { targetBinding: member.targetBinding }),
93
+ }));
94
+ const root = readFactoryObject(source, path, [factory]);
95
+ return ["functions", "events", "tasks", "jobs"].flatMap((category) => {
96
+ const item = root.properties.find((item) => staticPropertyName(item.name) === category);
97
+ if (!item || !ts.isPropertyAssignment(item))
98
+ return [];
99
+ const value = unwrap(item.initializer);
100
+ if (!value || !ts.isObjectLiteralExpression(value))
101
+ return [];
102
+ return value.properties.flatMap((member) => {
103
+ const name = staticPropertyName(member.name);
104
+ if (name === undefined)
105
+ return [];
106
+ const targetBinding = ts.isShorthandPropertyAssignment(member)
107
+ ? member.name.text
108
+ : ts.isPropertyAssignment(member) && ts.isIdentifier(member.initializer)
109
+ ? member.initializer.text
110
+ : undefined;
111
+ return [{ name, ...(targetBinding === undefined ? {} : { targetBinding }) }];
112
+ });
113
+ });
114
+ }
115
+ /**
116
+ * Removes parentheses and TypeScript assertions from a source expression.
117
+ * @param value - AST expression whose static wrapper nodes are ignored.
118
+ * @returns The underlying expression, or undefined when no expression was supplied.
119
+ */
120
+ function unwrap(value) {
121
+ return value &&
122
+ (ts.isAsExpression(value) ||
123
+ ts.isSatisfiesExpression(value) ||
124
+ ts.isParenthesizedExpression(value))
125
+ ? unwrap(value.expression)
126
+ : value;
127
+ }
128
+ /**
129
+ * Extracts a canonical domain from a source-relative path.
130
+ * @param path - Path inside the current project or owned resource.
131
+ * @returns The owning src domain, excluding routes/platform, or undefined outside a domain.
132
+ */
133
+ function sourceDomain(path) {
134
+ const [src, domain] = path.replaceAll("\\", "/").split("/");
135
+ return src === "src" && domain && domain !== "routes" && domain !== "platform"
136
+ ? domain
137
+ : undefined;
138
+ }
139
+ /**
140
+ * Checks declaration-only imports for deployment ownership.
141
+ * @param source - Authored source text inspected or transformed without execution.
142
+ * @param path - Path inside the current project or owned resource.
143
+ * @param packageName - Dependency name matched in static source imports.
144
+ * @returns Whether source contains a static import for the named package.
145
+ */
146
+ function importsPackage(source, path, packageName) {
147
+ return ts
148
+ .createSourceFile(path, source, ts.ScriptTarget.Latest, false, ts.ScriptKind.TS)
149
+ .statements.some((statement) => ts.isImportDeclaration(statement) &&
150
+ ts.isStringLiteral(statement.moduleSpecifier) &&
151
+ statement.moduleSpecifier.text === packageName);
152
+ }
153
+ /**
154
+ * Derives the existing fallback binding from a module filename.
155
+ * @param path - Path inside the current project or owned resource.
156
+ * @returns The camel-case source stem, with artifact as the missing-filename fallback.
157
+ */
158
+ function fileBinding(path) {
159
+ return (path.split("/").at(-1)?.split(".")[0] ?? "artifact").replace(/-([a-z0-9])/g, (_, value) => value.toUpperCase());
160
+ }
161
+ /**
162
+ * Orders pure discovery facts by canonical source path.
163
+ * @param left - First value in deterministic comparison.
164
+ * @param right - Second value in deterministic comparison.
165
+ * @returns Negative, zero or positive ordering of source paths.
166
+ */
167
+ function byPath(left, right) {
168
+ return left.path.localeCompare(right.path);
169
+ }
170
+ //# sourceMappingURL=project-discovery-facts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-discovery-facts.js","sourceRoot":"","sources":["../src/project-discovery-facts.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
1
  import type { SourceFactoryKind } from "@relkit/compiler";
2
2
  import type { DatabaseDialect } from "./add-types.js";
3
+ /**
4
+ * Statically discovered service member name and referenced binding.
5
+ */
3
6
  export interface DiscoveredServiceMember {
4
7
  readonly name: string;
5
8
  readonly targetBinding?: string;
6
9
  }
10
+ /**
11
+ * Source-declared service identity, capability, members and optional database facts.
12
+ */
7
13
  export interface DiscoveredService {
8
14
  readonly domain: string;
9
15
  readonly path: string;
@@ -13,6 +19,9 @@ export interface DiscoveredService {
13
19
  readonly schemaPath?: string;
14
20
  readonly members: readonly DiscoveredServiceMember[];
15
21
  }
22
+ /**
23
+ * Static descriptor kind, identity, export form and owning source path.
24
+ */
16
25
  export interface DiscoveredArtifact {
17
26
  readonly kind: SourceFactoryKind;
18
27
  readonly path: string;
@@ -24,6 +33,9 @@ export interface DiscoveredArtifact {
24
33
  readonly exportKind?: "default" | "named";
25
34
  readonly options: readonly string[];
26
35
  }
36
+ /**
37
+ * Static provider capability, name, adapter/model identity and default selection.
38
+ */
27
39
  export interface DiscoveredProfile {
28
40
  readonly capability: "bucket" | "cache" | "job" | "event" | "model";
29
41
  readonly name: string;
@@ -31,6 +43,9 @@ export interface DiscoveredProfile {
31
43
  readonly modelId?: string;
32
44
  readonly isDefault: boolean;
33
45
  }
46
+ /**
47
+ * Deterministic source-only app, provider, service and artifact facts for one project.
48
+ */
34
49
  export interface ProjectDiscovery {
35
50
  readonly projectRoot: string;
36
51
  readonly packagePath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"project-discovery-types.d.ts","sourceRoot":"","sources":["../src/project-discovery-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,cAAc,CAAC;IAClD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;CACvC"}
1
+ {"version":3,"file":"project-discovery-types.d.ts","sourceRoot":"","sources":["../src/project-discovery-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,cAAc,CAAC;IAClD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;CACvC"}
@@ -1,4 +1,34 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import { GeneratorFileSystem } from "./generator-filesystem.js";
3
+ import type { ProjectDiscoveryService } from "./project-discovery.service.types.js";
1
4
  import type { ProjectDiscovery } from "./project-discovery-types.js";
2
- /** Discovers canonical RELKIT source facts without importing application code. */
5
+ declare const ProjectDiscoveryServiceTag_base: Context.ServiceClass<ProjectDiscoveryServiceTag, "create-relkit/ProjectDiscovery", ProjectDiscoveryService>;
6
+ /** Declaration-only project discovery authority; never imports user application modules. */
7
+ export declare class ProjectDiscoveryServiceTag extends ProjectDiscoveryServiceTag_base {
8
+ }
9
+ /**
10
+ * Discovery implementation with bounded independent reads and deterministic source order.
11
+ * @returns A ProjectDiscovery Layer requiring only GeneratorFileSystem authority.
12
+ */
13
+ export declare const projectDiscoveryLive: Layer.Layer<ProjectDiscoveryServiceTag, never, GeneratorFileSystem>;
14
+ /**
15
+ * Discovers canonical RELKIT source facts using caller-provided filesystem authority.
16
+ * @param projectRoot - Project directory.
17
+ * @returns Lazy declaration-only discovery with its service visible in the type.
18
+ * @example
19
+ * ```ts
20
+ * import { Effect } from "effect";
21
+ * import { discoverProjectEffect, projectDiscoveryLive } from "create-relkit";
22
+ * const inspect = discoverProjectEffect("./my-app").pipe(Effect.provide(projectDiscoveryLive));
23
+ * // Supply GeneratorFileSystem at the application or test composition boundary.
24
+ * ```
25
+ */
26
+ export declare const discoverProjectEffect: (projectRoot: string) => Effect.Effect<ProjectDiscovery, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorDomainError, ProjectDiscoveryServiceTag>;
27
+ /**
28
+ * Preserves the existing Promise discovery API and original rejection constructors.
29
+ * @param projectRoot - Project directory.
30
+ * @returns Canonical services, artifacts and profiles.
31
+ */
3
32
  export declare function discoverProject(projectRoot: string): Promise<ProjectDiscovery>;
33
+ export {};
4
34
  //# sourceMappingURL=project-discovery.d.ts.map