create-relkit 0.5.6 → 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 +1 @@
1
- {"version":3,"file":"add-transaction-files.js","sourceRoot":"","sources":["../src/add-transaction-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAA8B,MAAM,gBAAgB,CAAC;AAQjG,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,IAAY;IACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,gBAAgB,CACxB,iBAAiB,CAAC,SAAS,EAC3B,sCAAsC,IAAI,EAAE,CAC7C,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,UAA4C,EAC5C,WAAoB;IAEpB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAI,WAAW;QAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;aAChD,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAAE,SAAS,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;YACpE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAY,EACZ,UAA4C;IAE5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,yCAAyC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;QAC1F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,MAAM,MAAM,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS,CAAC;QACvD,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM;YAAE,SAAS,CAAC,GAAG,SAAS,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAC5F,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM;YAAE,SAAS,CAAC,GAAG,SAAS,CAAC,IAAI,kBAAkB,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,UAA4C,EAC5C,kBAA+B;IAE/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC5D,MAAM,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAAkC,EAClC,kBAAuC;IAEvC,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAChD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;YACxE,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7F,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAY,EACZ,OAA4B,EAC5B,IAAa;IAEb,MAAM,SAAS,GAAG,GAAG,IAAI,WAAW,UAAU,EAAE,MAAM,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,IAAY,EAAE,OAAoB;IAC1E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,OAAO,GAAG,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC5B,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;YACtE,CAAC;YACD,MAAM;QACR,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,KAAK,MAAM,SAAS,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACzE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"add-transaction-files.js","sourceRoot":"","sources":["../src/add-transaction-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** Bytes and mode owned by one transaction, or an absent path that rollback must remove. */
2
+ export interface FileSnapshot {
3
+ readonly path: string;
4
+ readonly content?: Uint8Array;
5
+ readonly mode?: number;
6
+ }
7
+ //# sourceMappingURL=add-transaction-files.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-transaction-files.types.d.ts","sourceRoot":"","sources":["../src/add-transaction-files.types.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=add-transaction-files.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-transaction-files.types.js","sourceRoot":"","sources":["../src/add-transaction-files.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import { Effect } from "effect";
2
+ import { AddScaffoldError, type ScaffoldPlan } from "./add-types.js";
3
+ import { GeneratorFileSystem } from "./generator-filesystem.js";
4
+ import { GeneratorProcess } from "./generator-process.js";
5
+ import type { ApplyScaffoldContext } from "./add-transaction.types.js";
6
+ /**
7
+ * Checks the mutated project before transaction ownership is committed.
8
+ * @param plan - Complete immutable operation plan.
9
+ * @param context - Caller-owned settings and cancellation.
10
+ * @returns The passed verification status and its stable public check-command description.
11
+ */
12
+ export declare const checkEffect: (plan: ScaffoldPlan, context: ApplyScaffoldContext) => Effect.Effect<{
13
+ status: "passed";
14
+ command: string;
15
+ }, import("./generator-errors.js").GeneratorProcessError | import("./generator-errors.js").GeneratorDomainError, GeneratorFileSystem | GeneratorProcess>;
16
+ /**
17
+ * Runs one install or check command with the transaction's scoped process authority.
18
+ * @param context - Caller-owned settings and cancellation.
19
+ * @param command - Literal executable and argument vector.
20
+ * @param code - Stable category code included in the resulting diagnostic.
21
+ * @param cwd - Working directory for the operation.
22
+ * @returns Completion after the command exits successfully; cancellation/nonzero exit retain public failure codes.
23
+ */
24
+ export declare const runEffect: (context: ApplyScaffoldContext, command: readonly string[], code: "RELKIT_ADD_INSTALLATION_FAILED" | "RELKIT_ADD_VALIDATION_FAILED", cwd: string) => Effect.Effect<undefined, import("./generator-errors.js").GeneratorProcessError | import("./generator-errors.js").GeneratorDomainError, GeneratorProcess>;
25
+ /**
26
+ * Checks independent package paths with bounded traversal instead of unowned Promise batches.
27
+ * @param root - Absolute project or owned resource root.
28
+ * @param packages - Package names whose installed paths are required.
29
+ * @returns Whether every requested package path is currently accessible.
30
+ */
31
+ export declare const packagesAvailableEffect: (root: string, packages: readonly string[]) => Effect.Effect<boolean, never, GeneratorFileSystem>;
32
+ /**
33
+ * Constructs the unchanged public cancellation error.
34
+ * @returns The canonical RELKIT_ADD_CANCELLED AddScaffoldError with exit code 130.
35
+ */
36
+ export declare function cancelled(): AddScaffoldError;
37
+ //# sourceMappingURL=add-transaction-process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-transaction-process.d.ts","sourceRoot":"","sources":["../src/add-transaction-process.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAqB,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;;wJAavB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,+SAoBrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,mGAenC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,IAAI,gBAAgB,CAE5C"}
@@ -0,0 +1,54 @@
1
+ import { join } from "node:path";
2
+ import { Effect } from "effect";
3
+ import { observeExecution } from "@relkit/contracts/operation";
4
+ import { resolveRelkitExecutableEffect } from "./generate-process.js";
5
+ import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
6
+ import { GeneratorFileSystem } from "./generator-filesystem.js";
7
+ import { GeneratorProcess } from "./generator-process.js";
8
+ import { domainError } from "./generator-errors.js";
9
+ /**
10
+ * Checks the mutated project before transaction ownership is committed.
11
+ * @param plan - Complete immutable operation plan.
12
+ * @param context - Caller-owned settings and cancellation.
13
+ * @returns The passed verification status and its stable public check-command description.
14
+ */
15
+ export const checkEffect = Effect.fn("ScaffoldTransaction.check")(function* (plan, context) {
16
+ context.onProgress?.("Checking project...");
17
+ const executable = yield* resolveRelkitExecutableEffect(context, plan.projectRoot);
18
+ yield* runEffect(context, [executable, "check", "--project-root", plan.projectRoot], ADD_FAILURE_CODES.validation, plan.projectRoot);
19
+ return { status: "passed", command: "bun run check" };
20
+ }, (effect) => observeExecution("generator", "ScaffoldTransaction.check", effect));
21
+ /**
22
+ * Runs one install or check command with the transaction's scoped process authority.
23
+ * @param context - Caller-owned settings and cancellation.
24
+ * @param command - Literal executable and argument vector.
25
+ * @param code - Stable category code included in the resulting diagnostic.
26
+ * @param cwd - Working directory for the operation.
27
+ * @returns Completion after the command exits successfully; cancellation/nonzero exit retain public failure codes.
28
+ */
29
+ export const runEffect = Effect.fn("ScaffoldTransaction.run")(function* (context, command, code, cwd) {
30
+ const result = yield* (yield* GeneratorProcess).run(command, cwd);
31
+ if (context.signal?.aborted)
32
+ return yield* Effect.fail(domainError(cancelled()));
33
+ if (result.exitCode !== 0)
34
+ return yield* Effect.fail(domainError(new AddScaffoldError(code, result.stderr?.trim() || result.stdout?.trim() || `${command[0]} failed.`)));
35
+ }, (effect) => observeExecution("generator", "ScaffoldTransaction.run", effect));
36
+ /**
37
+ * Checks independent package paths with bounded traversal instead of unowned Promise batches.
38
+ * @param root - Absolute project or owned resource root.
39
+ * @param packages - Package names whose installed paths are required.
40
+ * @returns Whether every requested package path is currently accessible.
41
+ */
42
+ export const packagesAvailableEffect = Effect.fn("ScaffoldTransaction.packagesAvailable")(function* (root, packages) {
43
+ const fs = yield* GeneratorFileSystem;
44
+ const results = yield* Effect.forEach(packages, (name) => fs.access(join(root, "node_modules", ...name.split("/"))).pipe(Effect.as(true), Effect.catch(() => Effect.succeed(false))), { concurrency: 4 });
45
+ return results.every(Boolean);
46
+ }, (effect) => observeExecution("generator", "ScaffoldTransaction.packagesAvailable", effect));
47
+ /**
48
+ * Constructs the unchanged public cancellation error.
49
+ * @returns The canonical RELKIT_ADD_CANCELLED AddScaffoldError with exit code 130.
50
+ */
51
+ export function cancelled() {
52
+ return new AddScaffoldError(ADD_FAILURE_CODES.cancellation, "Scaffolding was cancelled.");
53
+ }
54
+ //# sourceMappingURL=add-transaction-process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-transaction-process.js","sourceRoot":"","sources":["../src/add-transaction-process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { Effect } from "effect";
2
+ import { type ScaffoldPlan, type ScaffoldVerification } from "./add-types.js";
3
+ import { GeneratorFileSystem } from "./generator-filesystem.js";
4
+ import type { ApplyScaffoldContext } from "./add-transaction.types.js";
5
+ /**
6
+ * Acquires rollback ownership before the first mutation and keeps install/check within that scope.
7
+ * @param plan - Complete immutable operation plan.
8
+ * @param context - Caller-owned settings and cancellation.
9
+ * @returns The completed AddResult after commit or an original failure after owned rollback settles.
10
+ */
11
+ export declare const transactionEffect: (plan: ScaffoldPlan, context: ApplyScaffoldContext) => Effect.Effect<Readonly<{
12
+ ok: true;
13
+ command: "add";
14
+ kind: "function" | "service" | "error" | "event" | "event-function" | "task" | "job" | "cache" | "bucket" | "tool" | "prompt" | "agent" | "constants" | "route" | "middleware" | "transform" | "database" | "auth";
15
+ projectRoot: string;
16
+ createdFiles: readonly string[];
17
+ updatedFiles: readonly string[];
18
+ installedPackages: readonly string[];
19
+ warnings: readonly import("./add-types.js").ScaffoldWarning[];
20
+ verification: ScaffoldVerification;
21
+ nextSteps: readonly string[];
22
+ }>, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorProcessError | import("./generator-errors.js").GeneratorDomainError, GeneratorFileSystem | import("./generator-process.js").GeneratorProcess>;
23
+ //# sourceMappingURL=add-transaction-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-transaction-workflow.d.ts","sourceRoot":"","sources":["../src/add-transaction-workflow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,MAAM,EAAQ,MAAM,QAAQ,CAAC;AAI7C,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAOjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;6OA2G7B,CAAC"}
@@ -0,0 +1,77 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { join } from "node:path";
3
+ import { Cause, Effect, Exit } from "effect";
4
+ import { observeExecution } from "@relkit/contracts/operation";
5
+ import { dependencyPatchNeedsInstallEffect } from "./dependency-patch-installation.js";
6
+ import { ADD_FAILURE_CODES } from "./add-types.js";
7
+ import { applyFileOperationsEffect, restoreFilesEffect, snapshotFilesEffect, validateOperationActionsEffect, } from "./add-transaction-files.js";
8
+ import { GeneratorFileSystem } from "./generator-filesystem.js";
9
+ import { recordCleanupFailure } from "./generator-cleanup.js";
10
+ /**
11
+ * Acquires rollback ownership before the first mutation and keeps install/check within that scope.
12
+ * @param plan - Complete immutable operation plan.
13
+ * @param context - Caller-owned settings and cancellation.
14
+ * @returns The completed AddResult after commit or an original failure after owned rollback settles.
15
+ */
16
+ export const transactionEffect = Effect.fn("ScaffoldTransaction.execute")((plan, context) => Effect.scoped(Effect.gen(function* () {
17
+ const fs = yield* GeneratorFileSystem;
18
+ yield* validateOperationActionsEffect(plan.projectRoot, plan.operations);
19
+ const packages = Object.keys(plan.dependencies).sort();
20
+ const patchChanged = yield* dependencyPatchNeedsInstallEffect(plan);
21
+ const installRequired = packages.length > 0 || patchChanged;
22
+ const owned = yield* Effect.acquireRelease(Effect.gen(function* () {
23
+ const snapshots = yield* snapshotFilesEffect(plan.projectRoot, plan.operations, installRequired);
24
+ const marker = join(plan.projectRoot, `.relkit-scaffold-${globalThis.process.pid}-${randomUUID()}.tmp`);
25
+ yield* fs.write(marker, "", { flag: "wx" });
26
+ return { snapshots, marker, createdDirectories: new Set() };
27
+ }), (owned, exit) => Effect.gen(function* () {
28
+ if (Exit.isFailure(exit))
29
+ yield* restoreFilesEffect(owned.snapshots, owned.createdDirectories).pipe(Effect.catchCause((cause) => recordCleanupFailure(exit, "rollback", Cause.squash(cause), context.signal?.aborted ? context.signal : undefined)));
30
+ yield* fs
31
+ .remove(owned.marker, { force: true })
32
+ .pipe(Effect.catchCause((cause) => recordCleanupFailure(exit, "marker", Cause.squash(cause), context.signal?.aborted ? context.signal : undefined)));
33
+ }));
34
+ yield* applyFileOperationsEffect(plan.projectRoot, plan.operations, owned.createdDirectories);
35
+ let verification;
36
+ if (context.deferVerification)
37
+ verification = {
38
+ status: "skipped",
39
+ reason: "Validation is deferred until project creation finishes.",
40
+ command: "bun run check",
41
+ };
42
+ else if (installRequired && plan.request.install) {
43
+ context.onProgress?.("Installing dependencies...");
44
+ yield* runEffect(context, [context.bunExecutable ?? globalThis.process.execPath, "install"], ADD_FAILURE_CODES.installation, plan.projectRoot);
45
+ verification = yield* checkEffect(plan, context);
46
+ }
47
+ else if (patchChanged ||
48
+ (packages.length > 0 && !(yield* packagesAvailableEffect(plan.projectRoot, packages))))
49
+ verification = {
50
+ status: "skipped",
51
+ reason: patchChanged
52
+ ? "Dependency patches require bun install before checking the project."
53
+ : `New packages are not installed: ${packages.join(", ")}`,
54
+ command: "bun run check",
55
+ };
56
+ else
57
+ verification = yield* checkEffect(plan, context);
58
+ return Object.freeze({
59
+ ok: true,
60
+ command: "add",
61
+ kind: plan.request.kind,
62
+ projectRoot: plan.projectRoot,
63
+ createdFiles: Object.freeze(plan.operations.filter((item) => item.action === "create").map((item) => item.path)),
64
+ updatedFiles: Object.freeze(plan.operations.filter((item) => item.action === "update").map((item) => item.path)),
65
+ installedPackages: Object.freeze(plan.request.install ? packages : []),
66
+ warnings: plan.warnings,
67
+ verification,
68
+ nextSteps: Object.freeze([
69
+ ...plan.nextSteps,
70
+ ...(verification.status === "skipped" && !context.deferVerification
71
+ ? ["bun install", verification.command]
72
+ : []),
73
+ ]),
74
+ });
75
+ })), (effect) => observeExecution("generator", "ScaffoldTransaction.execute", effect));
76
+ import { checkEffect, runEffect, packagesAvailableEffect } from "./add-transaction-process.js";
77
+ //# sourceMappingURL=add-transaction-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-transaction-workflow.js","sourceRoot":"","sources":["../src/add-transaction-workflow.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,30 @@
1
+ import { Context, Effect, Layer } from "effect";
1
2
  import { type AddResult, type ScaffoldPlan } from "./add-types.js";
2
- export interface AddCommandResult {
3
- readonly exitCode: number;
4
- readonly stdout?: string;
5
- readonly stderr?: string;
3
+ import { GeneratorFileSystem } from "./generator-filesystem.js";
4
+ import { GeneratorProcess } from "./generator-process.js";
5
+ import type { ApplyScaffoldContext, ScaffoldTransactionService } from "./add-transaction.types.js";
6
+ export type { AddCommandResult, ApplyScaffoldContext } from "./add-transaction.types.js";
7
+ declare const ScaffoldTransaction_base: Context.ServiceClass<ScaffoldTransaction, "create-relkit/ScaffoldTransaction", ScaffoldTransactionService>;
8
+ /** Owns file mutation, install/check and rollback within one finite transaction scope. */
9
+ export declare class ScaffoldTransaction extends ScaffoldTransaction_base {
6
10
  }
7
- export interface ApplyScaffoldContext {
8
- readonly commandRunner?: (command: readonly string[], cwd: string, signal?: AbortSignal) => Promise<AddCommandResult>;
9
- readonly bunExecutable?: string;
10
- readonly relkitExecutable?: string;
11
- readonly signal?: AbortSignal;
12
- readonly onProgress?: (message: string) => void;
13
- readonly deferVerification?: boolean;
14
- }
15
- /** Applies a complete plan and restores every touched project path on failure. */
11
+ /**
12
+ * Transaction Layer captures explicit filesystem and process authority once.
13
+ * @returns A ScaffoldTransaction Layer requiring filesystem and process services.
14
+ */
15
+ export declare const scaffoldTransactionLive: Layer.Layer<ScaffoldTransaction, never, GeneratorFileSystem | GeneratorProcess>;
16
+ /**
17
+ * Applies a plan with a caller-supplied transaction service.
18
+ * @param plan - Complete immutable plan.
19
+ * @param context - Existing runner and verification settings.
20
+ * @returns A lazy transaction that awaits rollback and marker cleanup before settling.
21
+ */
22
+ export declare const applyScaffoldPlanEffect: (plan: ScaffoldPlan, context?: ApplyScaffoldContext | undefined) => Effect.Effect<AddResult, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorProcessError | import("./generator-errors.js").GeneratorDomainError, ScaffoldTransaction>;
23
+ /**
24
+ * Preserves the Promise transaction API and canonical public error constructors.
25
+ * @param plan - Complete plan.
26
+ * @param context - Existing runner, progress and cancellation settings.
27
+ * @returns The unchanged public result after commit, or after completed rollback.
28
+ */
16
29
  export declare function applyScaffoldPlan(plan: ScaffoldPlan, context?: ApplyScaffoldContext): Promise<AddResult>;
17
30
  //# sourceMappingURL=add-transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-transaction.d.ts","sourceRoot":"","sources":["../src/add-transaction.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,YAAY,EAElB,MAAM,gBAAgB,CAAC;AAQxB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,CACvB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,kFAAkF;AAClF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,SAAS,CAAC,CAmEpB"}
1
+ {"version":3,"file":"add-transaction.d.ts","sourceRoot":"","sources":["../src/add-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAIhD,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAyB,MAAM,wBAAwB,CAAC;AAMjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAInG,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;;AAEzF,0FAA0F;AAC1F,qBAAa,mBAAoB,SAAQ,wBAGD;CAAG;AAE3C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,iFAkCnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,oRAKnC,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,SAAS,CAAC,CAkBpB"}
@@ -1,115 +1,65 @@
1
- import { access, writeFile, rm } from "node:fs/promises";
2
- import { randomUUID } from "node:crypto";
3
- import { join } from "node:path";
4
- import { resolveRelkitExecutable } from "./generate-process.js";
1
+ import { Context, Effect, Layer } from "effect";
2
+ import { observeExecution } from "@relkit/contracts/operation";
5
3
  import { ADD_FAILURE_CODES, AddScaffoldError, } from "./add-types.js";
6
- import { applyFileOperations, restoreFiles, snapshotFiles, validateOperationActions, } from "./add-transaction-files.js";
7
- /** Applies a complete plan and restores every touched project path on failure. */
4
+ import { GeneratorFileSystem } from "./generator-filesystem.js";
5
+ import { GeneratorProcess, generatorProcessLayer } from "./generator-process.js";
6
+ import { domainError, errorMessage, publicFailure, scaffoldErrors } from "./generator-errors.js";
7
+ import { runGeneratorPromise } from "./generator-runtime.js";
8
+ import { transferCleanupFailures } from "./generator-cleanup.js";
9
+ /** Owns file mutation, install/check and rollback within one finite transaction scope. */
10
+ export class ScaffoldTransaction extends Context.Service()("create-relkit/ScaffoldTransaction") {
11
+ }
12
+ /**
13
+ * Transaction Layer captures explicit filesystem and process authority once.
14
+ * @returns A ScaffoldTransaction Layer requiring filesystem and process services.
15
+ */
16
+ export const scaffoldTransactionLive = Layer.effect(ScaffoldTransaction, Effect.gen(function* () {
17
+ const fs = yield* GeneratorFileSystem;
18
+ const process = yield* GeneratorProcess;
19
+ return ScaffoldTransaction.of({
20
+ apply: Effect.fn("ScaffoldTransaction.apply")((plan, context) => observeExecution("generator", "transaction.apply", transactionEffect(plan, context).pipe(scaffoldErrors, Effect.provideService(GeneratorFileSystem, fs), Effect.provideService(GeneratorProcess, process), Effect.mapError((error) => {
21
+ const original = publicFailure(error);
22
+ return original instanceof AddScaffoldError
23
+ ? domainError(original)
24
+ : domainError(transferCleanupFailures(original, new AddScaffoldError(ADD_FAILURE_CODES.validation, errorMessage(original))));
25
+ })), () => ({
26
+ files: plan.operations.length,
27
+ dependencies: Object.keys(plan.dependencies).length,
28
+ }))),
29
+ });
30
+ }));
31
+ /**
32
+ * Applies a plan with a caller-supplied transaction service.
33
+ * @param plan - Complete immutable plan.
34
+ * @param context - Existing runner and verification settings.
35
+ * @returns A lazy transaction that awaits rollback and marker cleanup before settling.
36
+ */
37
+ export const applyScaffoldPlanEffect = Effect.fn("ScaffoldTransaction.commit")(function* (plan, context = {}) {
38
+ return yield* (yield* ScaffoldTransaction).apply(plan, context);
39
+ }, (effect) => observeExecution("generator", "ScaffoldTransaction.commit", effect));
40
+ /**
41
+ * Preserves the Promise transaction API and canonical public error constructors.
42
+ * @param plan - Complete plan.
43
+ * @param context - Existing runner, progress and cancellation settings.
44
+ * @returns The unchanged public result after commit, or after completed rollback.
45
+ */
8
46
  export async function applyScaffoldPlan(plan, context = {}) {
9
- throwIfAborted(context.signal);
10
- await validateOperationActions(plan.projectRoot, plan.operations);
11
- const packages = Object.keys(plan.dependencies).sort();
12
- const snapshots = await snapshotFiles(plan.projectRoot, plan.operations, packages.length > 0);
13
- const createdDirectories = new Set();
14
- // Dev watches this process-scoped marker until installation/checking or rollback finishes.
15
- const marker = join(plan.projectRoot, `.relkit-scaffold-${process.pid}-${randomUUID()}.tmp`);
16
- await writeFile(marker, "", { flag: "wx" });
47
+ if (context.signal?.aborted)
48
+ throw cancelled();
49
+ let program = applyScaffoldPlanEffect(plan, context).pipe(Effect.provide(scaffoldTransactionLive));
50
+ if (context.commandRunner !== undefined)
51
+ program = program.pipe(Effect.provide(generatorProcessLayer(context.commandRunner)));
17
52
  try {
18
- await applyFileOperations(plan.projectRoot, plan.operations, createdDirectories);
19
- let verification;
20
- if (context.deferVerification) {
21
- verification = {
22
- status: "skipped",
23
- reason: "Validation is deferred until project creation finishes.",
24
- command: "bun run check",
25
- };
26
- }
27
- else if (packages.length > 0 && plan.request.install) {
28
- context.onProgress?.("Installing dependencies...");
29
- await run(context, [context.bunExecutable ?? process.execPath, "install"], ADD_FAILURE_CODES.installation, plan.projectRoot);
30
- verification = await check(plan, context);
31
- }
32
- else if (packages.length > 0 && !(await packagesAvailable(plan.projectRoot, packages))) {
33
- verification = {
34
- status: "skipped",
35
- reason: `New packages are not installed: ${packages.join(", ")}`,
36
- command: "bun run check",
37
- };
38
- }
39
- else {
40
- verification = await check(plan, context);
41
- }
42
- return Object.freeze({
43
- ok: true,
44
- command: "add",
45
- kind: plan.request.kind,
46
- projectRoot: plan.projectRoot,
47
- createdFiles: Object.freeze(plan.operations.filter((item) => item.action === "create").map((item) => item.path)),
48
- updatedFiles: Object.freeze(plan.operations.filter((item) => item.action === "update").map((item) => item.path)),
49
- installedPackages: Object.freeze(plan.request.install ? packages : []),
50
- warnings: plan.warnings,
51
- verification,
52
- nextSteps: Object.freeze([
53
- ...plan.nextSteps,
54
- ...(verification.status === "skipped" && !context.deferVerification
55
- ? ["bun install", verification.command]
56
- : []),
57
- ]),
58
- });
53
+ return await runGeneratorPromise(program, context.signal);
59
54
  }
60
55
  catch (error) {
61
- await restoreFiles(snapshots, createdDirectories);
62
- if (context.signal?.aborted) {
63
- throw new AddScaffoldError(ADD_FAILURE_CODES.cancellation, "Scaffolding was cancelled.");
64
- }
56
+ if (context.signal?.aborted)
57
+ throw transferCleanupFailures(context.signal, transferCleanupFailures(error, cancelled()));
65
58
  if (error instanceof AddScaffoldError)
66
59
  throw error;
67
- throw new AddScaffoldError(ADD_FAILURE_CODES.validation, message(error));
68
- }
69
- finally {
70
- await rm(marker, { force: true });
71
- }
72
- }
73
- async function check(plan, context) {
74
- context.onProgress?.("Checking project...");
75
- const executable = await resolveRelkitExecutable(context, plan.projectRoot);
76
- await run(context, [executable, "check", "--project-root", plan.projectRoot], ADD_FAILURE_CODES.validation, plan.projectRoot);
77
- return { status: "passed", command: "bun run check" };
78
- }
79
- async function run(context, command, code, cwd) {
80
- throwIfAborted(context.signal);
81
- const result = context.commandRunner
82
- ? await context.commandRunner(command, cwd, context.signal)
83
- : await defaultRunner(command, cwd, context.signal);
84
- if (result.exitCode !== 0) {
85
- throw new AddScaffoldError(code, result.stderr?.trim() || result.stdout?.trim() || `${command[0]} failed.`);
60
+ throw transferCleanupFailures(error, new AddScaffoldError(ADD_FAILURE_CODES.validation, errorMessage(error)));
86
61
  }
87
- throwIfAborted(context.signal);
88
- }
89
- async function defaultRunner(command, cwd, signal) {
90
- const process = Bun.spawn([...command], {
91
- cwd,
92
- stdout: "pipe",
93
- stderr: "pipe",
94
- ...(signal ? { signal } : {}),
95
- });
96
- const [exitCode, stdout, stderr] = await Promise.all([
97
- process.exited,
98
- new Response(process.stdout).text(),
99
- new Response(process.stderr).text(),
100
- ]);
101
- return { exitCode, stdout, stderr };
102
- }
103
- async function packagesAvailable(root, packages) {
104
- const results = await Promise.all(packages.map((name) => access(join(root, "node_modules", ...name.split("/"))).then(() => true, () => false)));
105
- return results.every(Boolean);
106
- }
107
- function throwIfAborted(signal) {
108
- if (signal?.aborted) {
109
- throw new AddScaffoldError(ADD_FAILURE_CODES.cancellation, "Scaffolding was cancelled.");
110
- }
111
- }
112
- function message(error) {
113
- return error instanceof Error ? error.message : String(error);
114
62
  }
63
+ import { transactionEffect } from "./add-transaction-workflow.js";
64
+ import { cancelled } from "./add-transaction-process.js";
115
65
  //# sourceMappingURL=add-transaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-transaction.js","sourceRoot":"","sources":["../src/add-transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-transaction.js","sourceRoot":"","sources":["../src/add-transaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { Effect } from "effect";
2
+ import type { AddResult, ScaffoldPlan } from "./add-types.js";
3
+ import type { GeneratorDomainError, GeneratorIoError, GeneratorProcessError } from "./generator-errors.js";
4
+ import type { GeneratorCommandResult, GeneratorCommandRunner } from "./generator-process.types.js";
5
+ /** Existing command-runner result compatibility surface. */
6
+ export interface AddCommandResult extends GeneratorCommandResult {
7
+ }
8
+ /** Existing scaffold transaction settings, preserving all caller injection points. */
9
+ export interface ApplyScaffoldContext {
10
+ readonly commandRunner?: GeneratorCommandRunner;
11
+ readonly bunExecutable?: string;
12
+ readonly relkitExecutable?: string;
13
+ readonly signal?: AbortSignal;
14
+ /**
15
+ * Reports the current step through the caller's progress sink.
16
+ * @param message - User-facing progress text for the current step.
17
+ * @returns Completion after the sink receives one progress message.
18
+ */
19
+ readonly onProgress?: (message: string) => void;
20
+ readonly deferVerification?: boolean;
21
+ }
22
+ /** Scoped add-transaction owner; infrastructure remains an explicit Layer dependency. */
23
+ export interface ScaffoldTransactionService {
24
+ /**
25
+ * Applies planned files, installs/checks when required and rolls back failure.
26
+ * @param plan - Immutable conflict-checked scaffold plan.
27
+ * @param context - Caller-owned settings and cancellation.
28
+ * @returns A scoped Effect returning the unchanged AddResult after all owned cleanup settles.
29
+ */
30
+ readonly apply: (plan: ScaffoldPlan, context: ApplyScaffoldContext) => Effect.Effect<AddResult, GeneratorDomainError | GeneratorIoError | GeneratorProcessError>;
31
+ }
32
+ //# sourceMappingURL=add-transaction.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-transaction.types.d.ts","sourceRoot":"","sources":["../src/add-transaction.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEnG,4DAA4D;AAC5D,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;CAAG;AAEnE,sFAAsF;AACtF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,yFAAyF;AACzF,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,CACd,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,oBAAoB,KAC1B,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,oBAAoB,GAAG,gBAAgB,GAAG,qBAAqB,CAAC,CAAC;CAChG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=add-transaction.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-transaction.types.js","sourceRoot":"","sources":["../src/add-transaction.types.ts"],"names":[],"mappings":""}