create-relkit 0.6.0 → 0.7.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 (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
@@ -1,18 +1,44 @@
1
+ /**
2
+ * Supported artifact kinds accepted by relkit add.
3
+ */
1
4
  export declare const ADD_KINDS: readonly ["service", "function", "error", "event", "event-function", "task", "job", "cache", "bucket", "tool", "prompt", "agent", "constants", "route", "middleware", "transform", "database", "auth"];
5
+ /**
6
+ * Supported relkit add artifact discriminant.
7
+ */
2
8
  export type AddKind = (typeof ADD_KINDS)[number];
9
+ /**
10
+ * Artifact kinds that can be included in a generic service scaffold.
11
+ */
3
12
  export type ServiceInclude = Exclude<AddKind, "service" | "database" | "auth" | "middleware" | "transform">;
13
+ /**
14
+ * Supported HTTP method used by generated route mappings.
15
+ */
4
16
  export type RouteMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS";
17
+ /**
18
+ * Supported database dialect for Drizzle and authentication scaffolds.
19
+ */
5
20
  export type DatabaseDialect = "sqlite" | "postgresql" | "mysql";
21
+ /**
22
+ * Project, installation and optional service selection shared by all add requests.
23
+ */
6
24
  export interface AddRequestBase {
7
25
  readonly projectRoot: string;
8
26
  readonly service?: string;
9
27
  readonly createService?: string;
10
28
  readonly install: boolean;
11
29
  }
30
+ /**
31
+ * Shared named-artifact fields combined with kind-specific options.
32
+ * @typeParam Kind - Discriminant identifying the artifact kind.
33
+ * @typeParam Options - Additional fields required by that artifact kind.
34
+ */
12
35
  type NamedRequest<Kind extends AddKind, Options = object> = AddRequestBase & Readonly<{
13
36
  kind: Kind;
14
37
  name: string;
15
38
  }> & Readonly<Options>;
39
+ /**
40
+ * Validated discriminated union of supported artifact scaffold requests.
41
+ */
16
42
  export type AddRequest = NamedRequest<"service", {
17
43
  full: boolean;
18
44
  include: readonly ServiceInclude[];
@@ -69,16 +95,25 @@ export type AddRequest = NamedRequest<"service", {
69
95
  readonly databaseDialect: DatabaseDialect;
70
96
  readonly basePath: string;
71
97
  });
98
+ /**
99
+ * Stable warning category and user-facing message retained in plans and results.
100
+ */
72
101
  export interface ScaffoldWarning {
73
102
  readonly code: string;
74
103
  readonly message: string;
75
104
  }
105
+ /**
106
+ * One ordered project-relative create/update operation with complete content and optional mode.
107
+ */
76
108
  export interface ScaffoldFileOperation {
77
109
  readonly path: string;
78
110
  readonly action: "create" | "update";
79
111
  readonly content: string;
80
112
  readonly mode?: number;
81
113
  }
114
+ /**
115
+ * Complete conflict-checked request, ordered writes, concrete dependencies and follow-up details.
116
+ */
82
117
  export interface ScaffoldPlan {
83
118
  readonly request: AddRequest;
84
119
  readonly projectRoot: string;
@@ -97,6 +132,9 @@ export interface ScaffoldPlan {
97
132
  readonly warnings: readonly ScaffoldWarning[];
98
133
  readonly nextSteps: readonly string[];
99
134
  }
135
+ /**
136
+ * Public result of the requested post-mutation project check.
137
+ */
100
138
  export type ScaffoldVerification = {
101
139
  readonly status: "passed";
102
140
  readonly command: string;
@@ -105,6 +143,9 @@ export type ScaffoldVerification = {
105
143
  readonly reason: string;
106
144
  readonly command: string;
107
145
  };
146
+ /**
147
+ * Completed add transaction's files, packages, warnings, verification and next steps.
148
+ */
108
149
  export interface AddResult {
109
150
  readonly ok: true;
110
151
  readonly command: "add";
@@ -117,6 +158,9 @@ export interface AddResult {
117
158
  readonly verification: ScaffoldVerification;
118
159
  readonly nextSteps: readonly string[];
119
160
  }
161
+ /**
162
+ * Stable public diagnostic codes for scaffold failure categories.
163
+ */
120
164
  export declare const ADD_FAILURE_CODES: Readonly<{
121
165
  readonly usage: "RELKIT_ADD_USAGE";
122
166
  readonly invalidProject: "RELKIT_ADD_INVALID_PROJECT";
@@ -126,10 +170,22 @@ export declare const ADD_FAILURE_CODES: Readonly<{
126
170
  readonly validation: "RELKIT_ADD_VALIDATION_FAILED";
127
171
  readonly cancellation: "RELKIT_ADD_CANCELLED";
128
172
  }>;
173
+ /**
174
+ * Stable public diagnostic category of AddScaffoldError.
175
+ */
129
176
  export type AddFailureCode = (typeof ADD_FAILURE_CODES)[keyof typeof ADD_FAILURE_CODES];
177
+ /**
178
+ * Public scaffold failure retaining its stable code, name and category-specific exit status.
179
+ */
130
180
  export declare class AddScaffoldError extends Error {
131
181
  readonly code: AddFailureCode;
132
182
  readonly exitCode: 1 | 2 | 130;
183
+ /**
184
+ * Creates a canonical add failure with its category-specific exit code.
185
+ * @param code - Stable add failure category.
186
+ * @param message - User-facing failure diagnostic.
187
+ * @returns The canonical public error instance.
188
+ */
133
189
  constructor(code: AddFailureCode, message: string);
134
190
  }
135
191
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"add-types.d.ts","sourceRoot":"","sources":["../src/add-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,wMAmBZ,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AACjD,MAAM,MAAM,cAAc,GAAG,OAAO,CAClC,OAAO,EACP,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,CAC7D,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAC3F,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,KAAK,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,OAAO,GAAG,MAAM,IAAI,cAAc,GACxE,QAAQ,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACtC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAEpB,MAAM,MAAM,UAAU,GAClB,YAAY,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,CAAC,GAC9E,YAAY,CAAC,UAAU,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,GAC/C,YAAY,CAAC,OAAO,CAAC,GACrB,YAAY,CAAC,OAAO,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9D,YAAY,CACV,gBAAgB,EAChB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CACvE,GACD,YAAY,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,GAAG,WAAW,CAAA;CAAE,CAAC,GAC7E,YAAY,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACzD,YAAY,CACV,OAAO,EACP;IACE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IACrC,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;CACzC,CACF,GACD,YAAY,CACV,QAAQ,EACR;IACE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAClC,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;CACzC,CACF,GACD,YAAY,CACV,MAAM,EACN;IACE,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IACnD,QAAQ,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;CAC3C,CACF,GACD,YAAY,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,GACnD,YAAY,CACV,OAAO,EACP;IACE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CACF,GACD,YAAY,CAAC,WAAW,CAAC,GACzB,CAAC,cAAc,GAAG;IAChB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CAC/D,CAAC,GACF,YAAY,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5C,YAAY,CAAC,WAAW,CAAC,GACzB,CAAC,cAAc,GAAG;IAChB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC,GACF,CAAC,cAAc,GAAG;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC,CAAC;AAEP,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACtD,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,EAAE,CAAC;IACL,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAC7E,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,eAAO,MAAM,iBAAiB;;;;;;;;EAQnB,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAExF,qBAAa,gBAAiB,SAAQ,KAAK;IAIvC,QAAQ,CAAC,IAAI,EAAE,cAAc;IAH/B,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAGpB,IAAI,EAAE,cAAc,EAC7B,OAAO,EAAE,MAAM;CAOlB"}
1
+ {"version":3,"file":"add-types.d.ts","sourceRoot":"","sources":["../src/add-types.ts"],"names":[],"mappings":"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"}
package/dist/add-types.js CHANGED
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Supported artifact kinds accepted by relkit add.
3
+ */
1
4
  export const ADD_KINDS = [
2
5
  "service",
3
6
  "function",
@@ -18,6 +21,9 @@ export const ADD_KINDS = [
18
21
  "database",
19
22
  "auth",
20
23
  ];
24
+ /**
25
+ * Stable public diagnostic codes for scaffold failure categories.
26
+ */
21
27
  export const ADD_FAILURE_CODES = Object.freeze({
22
28
  usage: "RELKIT_ADD_USAGE",
23
29
  invalidProject: "RELKIT_ADD_INVALID_PROJECT",
@@ -27,9 +33,18 @@ export const ADD_FAILURE_CODES = Object.freeze({
27
33
  validation: "RELKIT_ADD_VALIDATION_FAILED",
28
34
  cancellation: "RELKIT_ADD_CANCELLED",
29
35
  });
36
+ /**
37
+ * Public scaffold failure retaining its stable code, name and category-specific exit status.
38
+ */
30
39
  export class AddScaffoldError extends Error {
31
40
  code;
32
41
  exitCode;
42
+ /**
43
+ * Creates a canonical add failure with its category-specific exit code.
44
+ * @param code - Stable add failure category.
45
+ * @param message - User-facing failure diagnostic.
46
+ * @returns The canonical public error instance.
47
+ */
33
48
  constructor(code, message) {
34
49
  super(message);
35
50
  this.code = code;
@@ -1 +1 @@
1
- {"version":3,"file":"add-types.js","sourceRoot":"","sources":["../src/add-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,gBAAgB;IAChB,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,WAAW;IACX,OAAO;IACP,YAAY;IACZ,WAAW;IACX,UAAU;IACV,MAAM;CACE,CAAC;AAsIX,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,kBAAkB;IACzB,cAAc,EAAE,4BAA4B;IAC5C,SAAS,EAAE,sBAAsB;IACjC,sBAAsB,EAAE,qCAAqC;IAC7D,YAAY,EAAE,gCAAgC;IAC9C,UAAU,EAAE,8BAA8B;IAC1C,YAAY,EAAE,sBAAsB;CAC5B,CAAC,CAAC;AAIZ,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAI9B;IAHF,QAAQ,CAAc;IAE/B,YACW,IAAoB,EAC7B,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAgB;QAI7B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,QAAQ;YACX,IAAI,KAAK,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;CACF"}
1
+ {"version":3,"file":"add-types.js","sourceRoot":"","sources":["../src/add-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,gBAAgB;IAChB,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,WAAW;IACX,OAAO;IACP,YAAY;IACZ,WAAW;IACX,UAAU;IACV,MAAM;CACE,CAAC;AA4KX;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,kBAAkB;IACzB,cAAc,EAAE,4BAA4B;IAC5C,SAAS,EAAE,sBAAsB;IACjC,sBAAsB,EAAE,qCAAqC;IAC7D,YAAY,EAAE,gCAAgC;IAC9C,UAAU,EAAE,8BAA8B;IAC1C,YAAY,EAAE,sBAAsB;CAC5B,CAAC,CAAC;AAOZ;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAU9B;IATF,QAAQ,CAAc;IAE/B;;;;;OAKG;IACH,YACW,IAAoB,EAC7B,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAgB;QAI7B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,QAAQ;YACX,IAAI,KAAK,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;CACF"}
package/dist/bin.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+ export {};
3
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
package/dist/bin.js ADDED
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env bun
2
+ import { spinner } from "@clack/prompts";
3
+ import { Effect, Logger, References } from "effect";
4
+ import { generateProjectEffect, projectGenerationLive } from "./generate.js";
5
+ import { formatGenerateResult } from "./generate-output.js";
6
+ import { resolveCreateOptionsDetailsEffect } from "./create-resolver.js";
7
+ import { createClackPromptDriver } from "./prompt-driver.js";
8
+ import { generatorPromptLayer } from "./generator-prompt.js";
9
+ import { runGeneratorPromise } from "./generator-runtime.js";
10
+ import { generationError } from "./generate-process.js";
11
+ import { GenerateProjectError } from "./generate-types.js";
12
+ import { stageCleanupFor } from "./generate-stage-cleanup.js";
13
+ import { transferCleanupFailures } from "./generator-cleanup.js";
14
+ /**
15
+ * Runs the executable presentation boundary with invocation-owned signal listeners.
16
+ * @param args - Literal command arguments, excluding the Bun and script paths.
17
+ * @returns Completion after generation scopes and presentation cleanup have settled.
18
+ * @remarks The library barrel has no executable side effects. Generation owns final consent.
19
+ */
20
+ async function main(args) {
21
+ const json = args.includes("--json");
22
+ const interactive = !json && !process.env.CI && process.stdin.isTTY === true;
23
+ const prompt = createClackPromptDriver("RELKIT_CREATE_CANCELLED");
24
+ const progress = interactive ? spinner() : undefined;
25
+ const controller = new AbortController();
26
+ let progressStarted = false;
27
+ const onProgress = (message) => {
28
+ if (progress === undefined || message.startsWith("Creating a new RELKIT app"))
29
+ return;
30
+ if (!progressStarted) {
31
+ progress.start(message);
32
+ progressStarted = true;
33
+ }
34
+ else
35
+ progress.message(message);
36
+ };
37
+ const logging = Logger.layer([
38
+ Logger.make(({ logLevel }) => {
39
+ if (logLevel === "Warn")
40
+ process.stderr.write("Generator resource cleanup failed; inspect cleanup diagnostics.\n");
41
+ }),
42
+ ]);
43
+ const program = Effect.scoped(Effect.gen(function* () {
44
+ yield* Effect.acquireRelease(Effect.sync(() => {
45
+ const interrupt = () => controller.abort(new GenerateProjectError("RELKIT_INTERRUPTED", "Generation was interrupted.", undefined, 130));
46
+ const terminate = () => controller.abort(new GenerateProjectError("RELKIT_INTERRUPTED", "Generation was terminated.", undefined, 143));
47
+ process.on("SIGINT", interrupt);
48
+ process.on("SIGTERM", terminate);
49
+ return { interrupt, terminate };
50
+ }), ({ interrupt, terminate }) => Effect.sync(() => {
51
+ process.off("SIGINT", interrupt);
52
+ process.off("SIGTERM", terminate);
53
+ }));
54
+ if (interactive)
55
+ prompt.intro("Create a RELKIT app");
56
+ const resolved = yield* resolveCreateOptionsDetailsEffect(args, { json, interactive });
57
+ return yield* generateProjectEffect(resolved.options, {
58
+ interactive,
59
+ signal: controller.signal,
60
+ onProgress,
61
+ });
62
+ })).pipe(Effect.provide(projectGenerationLive), Effect.provide(generatorPromptLayer(prompt)), Effect.provide(logging), Effect.provideService(References.MinimumLogLevel, "Warn"));
63
+ try {
64
+ const result = await runGeneratorPromise(program, controller.signal);
65
+ if (progressStarted)
66
+ progress?.stop("Project created.");
67
+ process.stdout.write(`${json ? JSON.stringify(result) : formatGenerateResult(result)}\n`);
68
+ }
69
+ catch (error) {
70
+ if (progressStarted)
71
+ progress?.error("Project creation failed.");
72
+ const owner = controller.signal.aborted ? controller.signal : error;
73
+ const failure = transferCleanupFailures(owner, generationError(controller.signal.aborted ? controller.signal.reason : error, "RELKIT_CREATE_FAILED", stageCleanupFor(owner)));
74
+ const output = json
75
+ ? JSON.stringify({ ok: false, error: { code: failure.code, message: failure.message } })
76
+ : `${failure.code}: ${failure.message}`;
77
+ (json ? process.stdout : process.stderr).write(`${output}\n`);
78
+ process.exitCode = failure.exitCode;
79
+ }
80
+ }
81
+ if (import.meta.main)
82
+ await main(process.argv.slice(2));
83
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,18 @@
1
- import type { ProjectDiscovery } from "./project-discovery-types.js";
2
- /** Bucket profiles identify physical buckets and cannot have two descriptor owners. */
3
- export declare function bucketProfileOwners(discovery: Pick<ProjectDiscovery, "projectRoot" | "artifacts" | "profiles">, read?: (path: string) => Promise<string>): Promise<ReadonlyMap<string, string>>;
1
+ import { Effect } from "effect";
2
+ import { GeneratorFileSystem } from "./generator-filesystem.js";
3
+ import type { BucketDiscovery, BucketSourceReader } from "./bucket-profiles.types.js";
4
+ /**
5
+ * Resolves physical bucket ownership using planned source before native project source.
6
+ * @param discovery - Current request's declaration facts.
7
+ * @param read - Optional typed planned-source reader.
8
+ * @returns Profile-to-descriptor ownership; ambiguous source fails before writes.
9
+ */
10
+ export declare const bucketProfileOwnersEffect: (discovery: BucketDiscovery, read?: BucketSourceReader | undefined) => Effect.Effect<Map<string, string>, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorDomainError, GeneratorFileSystem>;
11
+ /**
12
+ * Preserves the bucket-ownership Promise API and injected reader contract.
13
+ * @param discovery - Project facts.
14
+ * @param read - Optional existing Promise source reader.
15
+ * @returns Bucket-profile ownership before provider planning.
16
+ */
17
+ export declare function bucketProfileOwners(discovery: BucketDiscovery, read?: (path: string) => Promise<string>): Promise<ReadonlyMap<string, string>>;
4
18
  //# sourceMappingURL=bucket-profiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bucket-profiles.d.ts","sourceRoot":"","sources":["../src/bucket-profiles.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,uFAAuF;AACvF,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC,EAC3E,IAAI,IAAI,MAAM,MAAM,oBAAwD,GAC3E,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAsBtC"}
1
+ {"version":3,"file":"bucket-profiles.d.ts","sourceRoot":"","sources":["../src/bucket-profiles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEtF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,yOA8BrC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,eAAe,EAC1B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GACvC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAStC"}
@@ -1,18 +1,40 @@
1
- import { readFile } from "node:fs/promises";
1
+ import { observeExecution } from "@relkit/contracts/operation";
2
2
  import { join } from "node:path";
3
+ import { Effect } from "effect";
3
4
  import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
5
+ import { GeneratorFileSystem } from "./generator-filesystem.js";
6
+ import { domainError, domainTry } from "./generator-errors.js";
7
+ import { runGeneratorPromise } from "./generator-runtime.js";
4
8
  import { readFactoryStringProperty } from "./source-edit.js";
5
- /** Bucket profiles identify physical buckets and cannot have two descriptor owners. */
6
- export async function bucketProfileOwners(discovery, read = (path) => readFile(join(discovery.projectRoot, path), "utf8")) {
9
+ /**
10
+ * Resolves physical bucket ownership using planned source before native project source.
11
+ * @param discovery - Current request's declaration facts.
12
+ * @param read - Optional typed planned-source reader.
13
+ * @returns Profile-to-descriptor ownership; ambiguous source fails before writes.
14
+ */
15
+ export const bucketProfileOwnersEffect = Effect.fn("BucketProfiles.owners")(function* (discovery, read) {
7
16
  const fallback = discovery.profiles.find((item) => item.capability === "bucket" && item.isDefault)?.name ??
8
17
  "default";
18
+ const reader = read ?? (yield* GeneratorFileSystem).readText;
9
19
  const owners = new Map();
10
20
  for (const artifact of discovery.artifacts.filter((item) => item.kind === "bucket" && item.exported)) {
11
- const profile = readFactoryStringProperty(await read(artifact.path), artifact.path, "defineBucket", "profile");
21
+ const source = yield* reader(read === undefined ? join(discovery.projectRoot, artifact.path) : artifact.path);
22
+ const profile = yield* domainTry(() => readFactoryStringProperty(source, artifact.path, "defineBucket", "profile"));
12
23
  if (profile === undefined && artifact.options.includes("profile"))
13
- throw new AddScaffoldError(ADD_FAILURE_CODES.unsupportedSourceShape, `Cannot resolve bucket profile in ${artifact.path}.`);
24
+ return yield* Effect.fail(domainError(new AddScaffoldError(ADD_FAILURE_CODES.unsupportedSourceShape, `Cannot resolve bucket profile in ${artifact.path}.`)));
14
25
  owners.set(profile ?? fallback, artifact.id ?? artifact.path);
15
26
  }
16
27
  return owners;
28
+ }, (effect) => observeExecution("generator", "planning.bucketProfileOwners", effect));
29
+ /**
30
+ * Preserves the bucket-ownership Promise API and injected reader contract.
31
+ * @param discovery - Project facts.
32
+ * @param read - Optional existing Promise source reader.
33
+ * @returns Bucket-profile ownership before provider planning.
34
+ */
35
+ export function bucketProfileOwners(discovery, read) {
36
+ return runGeneratorPromise(bucketProfileOwnersEffect(discovery, read === undefined
37
+ ? undefined
38
+ : (path) => Effect.tryPromise({ try: () => read(path), catch: domainError })));
17
39
  }
18
40
  //# sourceMappingURL=bucket-profiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bucket-profiles.js","sourceRoot":"","sources":["../src/bucket-profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAA2E,EAC3E,OAAO,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAE5E,MAAM,QAAQ,GACZ,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI;QACvF,SAAS,CAAC;IACZ,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,CAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAClD,EAAE,CAAC;QACF,MAAM,OAAO,GAAG,yBAAyB,CACvC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EACzB,QAAQ,CAAC,IAAI,EACb,cAAc,EACd,SAAS,CACV,CAAC;QACF,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC/D,MAAM,IAAI,gBAAgB,CACxB,iBAAiB,CAAC,sBAAsB,EACxC,oCAAoC,QAAQ,CAAC,IAAI,GAAG,CACrD,CAAC;QACJ,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"bucket-profiles.js","sourceRoot":"","sources":["../src/bucket-profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAG7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,EAAE,CAAC,uBAAuB,CAAC,CACzE,QAAQ,CAAC,EAAE,SAA0B,EAAE,IAAyB;IAC9D,MAAM,QAAQ,GACZ,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI;QACvF,SAAS,CAAC;IACZ,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,CAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAClD,EAAE,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAC1B,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAChF,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CACpC,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAC5E,CAAC;QACF,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC/D,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,WAAW,CACT,IAAI,gBAAgB,CAClB,iBAAiB,CAAC,sBAAsB,EACxC,oCAAoC,QAAQ,CAAC,IAAI,GAAG,CACrD,CACF,CACF,CAAC;QACJ,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,8BAA8B,EAAE,MAAM,CAAC,CAClF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAA0B,EAC1B,IAAwC;IAExC,OAAO,mBAAmB,CACxB,yBAAyB,CACvB,SAAS,EACT,IAAI,KAAK,SAAS;QAChB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAC/E,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Effect } from "effect";
2
+ import type { ProjectDiscovery } from "./project-discovery-types.js";
3
+ import type { GeneratorDomainError, GeneratorIoError } from "./generator-errors.js";
4
+ import type { GeneratorFileSystem } from "./generator-filesystem.js";
5
+ /** Facts needed to establish physical bucket ownership. */
6
+ export type BucketDiscovery = Pick<ProjectDiscovery, "projectRoot" | "artifacts" | "profiles">;
7
+ /** Source authority supplied by the request planner or native filesystem adapter. */
8
+ export type BucketSourceReader = (path: string) => Effect.Effect<string, GeneratorDomainError | GeneratorIoError, GeneratorFileSystem>;
9
+ //# sourceMappingURL=bucket-profiles.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket-profiles.types.d.ts","sourceRoot":"","sources":["../src/bucket-profiles.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,2DAA2D;AAC3D,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC;AAE/F,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAAG,CAC/B,IAAI,EAAE,MAAM,KACT,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,gBAAgB,EAAE,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bucket-profiles.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket-profiles.types.js","sourceRoot":"","sources":["../src/bucket-profiles.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import type { DependencyPatchDescriptor } from "./dependency-patches.types.js";
2
+ /**
3
+ * Reads a concrete dependency version materialized into this package at build time.
4
+ * @param name - External package name declared in the central build catalog.
5
+ * @returns Its release-supported version without requiring the repository root at runtime.
6
+ */
7
+ export declare function buildCatalogDependency(name: string): string;
8
+ /**
9
+ * Validates the patch descriptor against its centrally materialized dependency version.
10
+ * @param name - Patched external package name.
11
+ * @returns The immutable version, Bun patch key, asset path, and content hash.
12
+ */
13
+ export declare function buildCatalogPatch(name: string): DependencyPatchDescriptor;
14
+ //# sourceMappingURL=build-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-catalog.d.ts","sourceRoot":"","sources":["../src/build-catalog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS3D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAmBzE"}
@@ -0,0 +1,70 @@
1
+ import manifest from "../package.json";
2
+ import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
3
+ /**
4
+ * Reads a concrete dependency version materialized into this package at build time.
5
+ * @param name - External package name declared in the central build catalog.
6
+ * @returns Its release-supported version without requiring the repository root at runtime.
7
+ */
8
+ export function buildCatalogDependency(name) {
9
+ const version = record(buildCatalog().dependencies)[name];
10
+ if (typeof version !== "string" ||
11
+ !/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u.test(version)) {
12
+ invalid(`The generator build catalog has no concrete version for ${name}.`);
13
+ }
14
+ return version;
15
+ }
16
+ /**
17
+ * Validates the patch descriptor against its centrally materialized dependency version.
18
+ * @param name - Patched external package name.
19
+ * @returns The immutable version, Bun patch key, asset path, and content hash.
20
+ */
21
+ export function buildCatalogPatch(name) {
22
+ const patch = record(record(buildCatalog().patches)[name]);
23
+ const version = buildCatalogDependency(name);
24
+ if (patch.version !== version ||
25
+ patch.key !== `${name}@${version}` ||
26
+ typeof patch.asset !== "string" ||
27
+ !/^patches\/[a-z0-9-]+\.patch$/u.test(patch.asset) ||
28
+ typeof patch.hash !== "string" ||
29
+ !/^[a-f0-9]{64}$/u.test(patch.hash)) {
30
+ invalid(`The generator build catalog has an invalid patch descriptor for ${name}.`);
31
+ }
32
+ return Object.freeze({
33
+ version,
34
+ key: `${name}@${version}`,
35
+ asset: patch.asset,
36
+ hash: patch.hash,
37
+ });
38
+ }
39
+ /**
40
+ * Reads portable build metadata while preserving unrelated package metadata.
41
+ * @returns The validated object boundary; individual consumers validate their required fields.
42
+ */
43
+ function buildCatalog() {
44
+ return record(record(record(manifest).relkit).buildCatalog);
45
+ }
46
+ /**
47
+ * Reads an object-valued metadata field with an empty fallback.
48
+ * @param value - Unknown metadata field.
49
+ * @returns The object, or an empty record when the field is not object-valued.
50
+ */
51
+ function record(value) {
52
+ return isRecord(value) ? value : {};
53
+ }
54
+ /**
55
+ * Narrows an unknown value to a non-null object excluding arrays.
56
+ * @param value - Unknown value at the object boundary.
57
+ * @returns Whether the value is a non-null, non-array object.
58
+ */
59
+ function isRecord(value) {
60
+ return typeof value === "object" && value !== null && !Array.isArray(value);
61
+ }
62
+ /**
63
+ * Rejects missing or inconsistent portable build metadata.
64
+ * @param message - User-facing diagnostic or prompt text.
65
+ * @returns No value; throws the canonical invalid-project AddScaffoldError.
66
+ */
67
+ function invalid(message) {
68
+ throw new AddScaffoldError(ADD_FAILURE_CODES.invalidProject, message);
69
+ }
70
+ //# sourceMappingURL=build-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-catalog.js","sourceRoot":"","sources":["../src/build-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGrE;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1D,IACE,OAAO,OAAO,KAAK,QAAQ;QAC3B,CAAC,2DAA2D,CAAC,IAAI,CAAC,OAAO,CAAC,EAC1E,CAAC;QACD,OAAO,CAAC,2DAA2D,IAAI,GAAG,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7C,IACE,KAAK,CAAC,OAAO,KAAK,OAAO;QACzB,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,OAAO,EAAE;QAClC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,CAAC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAClD,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EACnC,CAAC;QACD,OAAO,CAAC,mEAAmE,IAAI,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO;QACP,GAAG,EAAE,GAAG,IAAI,IAAI,OAAO,EAAE;QACzB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY;IACnB,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,SAAS,OAAO,CAAC,OAAe;IAC9B,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { CatalogManifest } from "./catalog-resolution.types.js";
2
+ export type { CatalogManifest } from "./catalog-resolution.types.js";
3
+ /**
4
+ * Resolves one dependency against its owning default or named Bun catalog.
5
+ * @param manifest - Workspace root manifest that declares the catalogs.
6
+ * @param name - Dependency name whose catalog entry is required.
7
+ * @param spec - Concrete version or catalog reference to resolve.
8
+ * @returns The concrete declaration, preserving supported peer ranges.
9
+ * @throws When the reference, catalog, or catalog entry is missing or recursive.
10
+ */
11
+ export declare function resolveCatalogVersion(manifest: CatalogManifest, name: string, spec: unknown): string;
12
+ //# sourceMappingURL=catalog-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-resolution.d.ts","sourceRoot":"","sources":["../src/catalog-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAerE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,eAAe,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GACZ,MAAM,CA0BR"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Narrows a required catalog object.
3
+ * @param value - Parsed package manifest field.
4
+ * @param label - Human-readable ownership description.
5
+ * @returns The catalog record.
6
+ * @throws When the field is absent, scalar, or an array.
7
+ */
8
+ function record(value, label) {
9
+ if (value === null || typeof value !== "object" || Array.isArray(value))
10
+ throw new Error(`${label} must be an object.`);
11
+ return value;
12
+ }
13
+ /**
14
+ * Resolves one dependency against its owning default or named Bun catalog.
15
+ * @param manifest - Workspace root manifest that declares the catalogs.
16
+ * @param name - Dependency name whose catalog entry is required.
17
+ * @param spec - Concrete version or catalog reference to resolve.
18
+ * @returns The concrete declaration, preserving supported peer ranges.
19
+ * @throws When the reference, catalog, or catalog entry is missing or recursive.
20
+ */
21
+ export function resolveCatalogVersion(manifest, name, spec) {
22
+ if (typeof spec !== "string" || spec.trim() === "")
23
+ throw new Error(`Invalid dependency version: ${name}@${String(spec)}`);
24
+ if (!spec.startsWith("catalog:"))
25
+ return spec;
26
+ const catalogName = spec.slice("catalog:".length).trim();
27
+ const workspaces = manifest.workspaces !== null &&
28
+ typeof manifest.workspaces === "object" &&
29
+ !Array.isArray(manifest.workspaces)
30
+ ? manifest.workspaces
31
+ : {};
32
+ const catalog = record(catalogName === ""
33
+ ? (manifest.catalog ?? workspaces.catalog)
34
+ : record(manifest.catalogs ?? workspaces.catalogs, "Named catalogs")[catalogName], catalogName === "" ? "Default catalog" : `Catalog ${catalogName}`);
35
+ const version = catalog[name];
36
+ if (typeof version !== "string" ||
37
+ version.trim() === "" ||
38
+ /^[A-Za-z][A-Za-z\d+.-]*:/.test(version) ||
39
+ /^(?:\.\.?\/|\/)/.test(version))
40
+ throw new Error(`Missing or invalid catalog entry: ${spec} -> ${name}`);
41
+ return version;
42
+ }
43
+ //# sourceMappingURL=catalog-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-resolution.js","sourceRoot":"","sources":["../src/catalog-resolution.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,SAAS,MAAM,CAAC,KAAc,EAAE,KAAa;IAC3C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC;IACjD,OAAO,KAAwB,CAAC;AAClC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAyB,EACzB,IAAY,EACZ,IAAa;IAEb,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,MAAM,UAAU,GACd,QAAQ,CAAC,UAAU,KAAK,IAAI;QAC5B,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;QACvC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjC,CAAC,CAAE,QAAQ,CAAC,UAA8B;QAC1C,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAG,MAAM,CACpB,WAAW,KAAK,EAAE;QAChB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,WAAW,CAAC,EACnF,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,WAAW,EAAE,CAClE,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,IACE,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;QACrB,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC;QACxC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QAE/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC;IAC1E,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** JSON package metadata accepted by the shared strict catalog resolver. */
2
+ export type CatalogManifest = Record<string, unknown>;
3
+ //# sourceMappingURL=catalog-resolution.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-resolution.types.d.ts","sourceRoot":"","sources":["../src/catalog-resolution.types.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=catalog-resolution.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-resolution.types.js","sourceRoot":"","sources":["../src/catalog-resolution.types.ts"],"names":[],"mappings":""}
@@ -1,12 +1,35 @@
1
+ import { Effect } from "effect";
2
+ import { GeneratorFileSystem } from "./generator-filesystem.js";
1
3
  import type { GenerateProjectContext } from "./generate-types.js";
2
4
  import type { CreateOptions } from "./options.js";
3
- export interface CreateScaffoldPlan {
4
- readonly destination: string;
5
- readonly files: readonly string[];
6
- readonly dependencies: Readonly<Record<string, string>>;
7
- readonly profiles: readonly string[];
8
- readonly warnings: readonly string[];
9
- }
5
+ import type { CreateScaffoldPlan } from "./create-preview.types.js";
6
+ export type { CreateScaffoldPlan } from "./create-preview.types.js";
7
+ /**
8
+ * Previews explicit creation flags without mutating project or staging paths.
9
+ * @param options - Normalized creation flags.
10
+ * @param context - Existing template and current-directory settings.
11
+ * @returns A lazy immutable file/dependency/profile preview.
12
+ */
13
+ export declare const planCreateEffect: (options: CreateOptions, context?: Pick<GenerateProjectContext, "cwd" | "templateRoot"> | undefined) => Effect.Effect<Readonly<{
14
+ destination: string;
15
+ files: readonly string[];
16
+ dependencies: Readonly<{
17
+ [k: string]: string;
18
+ }>;
19
+ profiles: readonly string[];
20
+ warnings: readonly never[];
21
+ }>, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorDomainError, GeneratorFileSystem | import("./generator-paths").GeneratorPaths>;
22
+ /**
23
+ * Preserves the existing preview Promise API.
24
+ * @param options - Normalized flags.
25
+ * @param context - Existing template settings.
26
+ * @returns Read-only creation details.
27
+ */
10
28
  export declare function planCreate(options: CreateOptions, context?: Pick<GenerateProjectContext, "cwd" | "templateRoot">): Promise<CreateScaffoldPlan>;
29
+ /**
30
+ * Formats an immutable preview as the existing human-readable terminal output.
31
+ * @param plan - Complete immutable operation plan.
32
+ * @returns Terminal text listing the destination, files, dependencies, profiles and warnings.
33
+ */
11
34
  export declare function formatCreatePlan(plan: CreateScaffoldPlan): string;
12
35
  //# sourceMappingURL=create-preview.d.ts.map