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,14 +1,28 @@
1
1
  import * as ts from "typescript";
2
- import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
3
2
  export { addSourceImport } from "./source-import-edit.js";
4
- /** Appends one export declaration after validating the source syntax. */
3
+ /**
4
+ * Appends one export declaration after validating the source syntax.
5
+ * @param source - Authored source text inspected or transformed without execution.
6
+ * @param fileName - Source path used for declaration diagnostics.
7
+ * @param declaration - Complete export declaration source.
8
+ * @returns Original source when present, otherwise source with the validated export appended.
9
+ */
5
10
  export function addSourceExport(source, fileName, declaration) {
6
11
  if (source.includes(declaration))
7
12
  return source;
8
13
  parse(fileName, source);
9
14
  return `${source.trimEnd()}\n${declaration}\n`;
10
15
  }
11
- /** Inserts one property into a canonical factory object or one nested object property. */
16
+ /**
17
+ * Inserts one property into a canonical factory object or one nested object property.
18
+ * @param source - Authored source text inspected or transformed without execution.
19
+ * @param fileName - Source path used for declaration diagnostics.
20
+ * @param factories - Supported final segments of factory call names.
21
+ * @param path - Nested static property names containing the target member.
22
+ * @param memberName - Static object member name being inserted.
23
+ * @param memberSource - Source of the object member to insert.
24
+ * @returns Source with the member inserted, or unchanged when an identical member already exists.
25
+ */
12
26
  export function addFactoryObjectMember(source, fileName, factories, path, memberName, memberSource) {
13
27
  const file = parse(fileName, source);
14
28
  const root = factoryObject(file, factories);
@@ -24,9 +38,25 @@ export function addFactoryObjectMember(source, fileName, factories, path, member
24
38
  const insertion = target.created ? `${target.name}: { ${memberSource} }` : memberSource;
25
39
  return insertMember(source, target.parent ?? target.object, insertion);
26
40
  }
41
+ /**
42
+ * Parses the one supported factory object before editing its declarations.
43
+ * @param source - Authored source text inspected or transformed without execution.
44
+ * @param fileName - Source path used for declaration diagnostics.
45
+ * @param factories - Supported final segments of factory call names.
46
+ * @returns The uniquely matched factory's object-literal argument.
47
+ */
27
48
  export function readFactoryObject(source, fileName, factories) {
28
49
  return factoryObject(parse(fileName, source), factories);
29
50
  }
51
+ /**
52
+ * Reads one literal string property from a supported factory call.
53
+ * @param source - Authored source text inspected or transformed without execution.
54
+ * @param fileName - Source path used for declaration diagnostics.
55
+ * @param factory - Supported factory call name.
56
+ * @param name - Authored name or declaration key.
57
+ * @param argumentIndex - Zero-based factory argument containing the static options object.
58
+ * @returns The literal string property, or undefined when absent or nonliteral.
59
+ */
30
60
  export function readFactoryStringProperty(source, fileName, factory, name, argumentIndex = 0) {
31
61
  const object = factoryObject(parse(fileName, source), [factory], argumentIndex);
32
62
  const item = property(object, name);
@@ -34,6 +64,11 @@ export function readFactoryStringProperty(source, fileName, factory, name, argum
34
64
  ? item.initializer.text
35
65
  : undefined;
36
66
  }
67
+ /**
68
+ * Reads statically known property names without evaluating computed expressions.
69
+ * @param node - Optional property-name AST inspected for a static value.
70
+ * @returns The static identifier/string/number property text, or undefined for computed names.
71
+ */
37
72
  export function staticPropertyName(node) {
38
73
  if (node === undefined)
39
74
  return undefined;
@@ -42,95 +77,5 @@ export function staticPropertyName(node) {
42
77
  }
43
78
  return undefined;
44
79
  }
45
- function factoryObject(file, factories, argumentIndex = 0) {
46
- const matches = [];
47
- const visit = (node) => {
48
- if (ts.isCallExpression(node) && factories.includes(lastSegment(node.expression))) {
49
- const argument = unwrap(node.arguments[argumentIndex]);
50
- if (!argument || !ts.isObjectLiteralExpression(argument))
51
- unsupported(file.fileName);
52
- matches.push(argument);
53
- }
54
- ts.forEachChild(node, visit);
55
- };
56
- visit(file);
57
- if (matches.length !== 1)
58
- unsupported(file.fileName);
59
- return matches[0];
60
- }
61
- function descend(root, path, source, memberSource) {
62
- let object = root;
63
- for (const [index, name] of path.entries()) {
64
- assertObject(object, source);
65
- const found = property(object, name);
66
- if (found === undefined) {
67
- if (index !== path.length - 1)
68
- unsupported("nested object");
69
- return { object, parent: object, name, created: true };
70
- }
71
- if (!ts.isPropertyAssignment(found))
72
- unsupported(name);
73
- const value = unwrap(found.initializer);
74
- if (!value || !ts.isObjectLiteralExpression(value))
75
- unsupported(name);
76
- object = value;
77
- }
78
- return { object, name: path.at(-1) ?? memberSource, created: false };
79
- }
80
- function insertMember(source, object, member) {
81
- const close = object.getEnd() - 1;
82
- const body = source.slice(object.getStart() + 1, close);
83
- if (object.properties.length === 0) {
84
- return `${source.slice(0, object.getStart() + 1)} ${member} ${source.slice(close)}`;
85
- }
86
- if (!body.includes("\n")) {
87
- const last = object.properties.at(-1);
88
- return `${source.slice(0, last.getEnd())}, ${member}${source.slice(last.getEnd())}`;
89
- }
90
- const last = object.properties.at(-1);
91
- const between = source.slice(last.getEnd(), close);
92
- const comma = between.trimStart().startsWith(",") ? "" : ",";
93
- const lineStart = source.lastIndexOf("\n", close - 1) + 1;
94
- const closeIndent = source.slice(lineStart, close);
95
- return `${source.slice(0, last.getEnd())}${comma}${source.slice(last.getEnd(), close)}${closeIndent} ${member},\n${closeIndent}${source.slice(close)}`;
96
- }
97
- function assertObject(object, source) {
98
- for (const item of object.properties) {
99
- if (ts.isSpreadAssignment(item) || staticPropertyName(item.name) === undefined) {
100
- unsupported(source.slice(item.getStart(), item.getEnd()));
101
- }
102
- }
103
- }
104
- function property(object, name) {
105
- return object.properties.find((item) => staticPropertyName(item.name) === name);
106
- }
107
- function parse(fileName, source) {
108
- const file = ts.createSourceFile(fileName, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
109
- const diagnostics = file.parseDiagnostics;
110
- if (diagnostics?.length)
111
- unsupported(fileName);
112
- return file;
113
- }
114
- function unwrap(value) {
115
- let current = value;
116
- while (current &&
117
- (ts.isParenthesizedExpression(current) ||
118
- ts.isAsExpression(current) ||
119
- ts.isSatisfiesExpression(current)))
120
- current = current.expression;
121
- return current;
122
- }
123
- function lastSegment(expression) {
124
- return ts.isIdentifier(expression)
125
- ? expression.text
126
- : ts.isPropertyAccessExpression(expression)
127
- ? expression.name.text
128
- : "";
129
- }
130
- function collision(fileName, path) {
131
- throw new AddScaffoldError(ADD_FAILURE_CODES.collision, `${fileName} already declares ${path.join(".")}.`);
132
- }
133
- function unsupported(label) {
134
- throw new AddScaffoldError(ADD_FAILURE_CODES.unsupportedSourceShape, `Cannot safely edit canonical object in ${label}.`);
135
- }
80
+ import { factoryObject, descend, insertMember, assertObject, property, parse, collision, } from "./source-factory-edit.js";
136
81
  //# sourceMappingURL=source-edit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-edit.js","sourceRoot":"","sources":["../src/source-edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-edit.js","sourceRoot":"","sources":["../src/source-edit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import * as ts from "typescript";
2
+ /**
3
+ * Requires exactly one factory call with a static object argument.
4
+ * @param file - TypeScript SourceFile AST.
5
+ * @param factories - Supported final segments of factory call names.
6
+ * @param argumentIndex - Zero-based factory argument containing its options object.
7
+ * @returns The unique object literal; ambiguous/nonliteral source raises the unsupported-source error.
8
+ */
9
+ export declare function factoryObject(file: ts.SourceFile, factories: readonly string[], argumentIndex?: number): ts.ObjectLiteralExpression;
10
+ /**
11
+ * Finds a nested literal object or plans its missing final member container.
12
+ * @param root - Root object-literal AST.
13
+ * @param path - Nested static property names to traverse.
14
+ * @param source - Authored source text inspected or transformed without execution.
15
+ * @param memberSource - Source of the object member to insert.
16
+ * @returns The existing target object or missing final-container projection needed for insertion.
17
+ */
18
+ export declare function descend(root: ts.ObjectLiteralExpression, path: readonly string[], source: string, memberSource: string): {
19
+ readonly object: ts.ObjectLiteralExpression;
20
+ readonly parent?: ts.ObjectLiteralExpression;
21
+ readonly name: string;
22
+ readonly created: boolean;
23
+ };
24
+ /**
25
+ * Inserts a static object member without reprinting the source file.
26
+ * @param source - Authored source text inspected or transformed without execution.
27
+ * @param object - Object-literal AST whose properties are inspected.
28
+ * @param member - Source of the object member to insert.
29
+ * @returns Source with one member inserted while preserving surrounding formatting.
30
+ */
31
+ export declare function insertMember(source: string, object: ts.ObjectLiteralExpression, member: string): string;
32
+ /**
33
+ * Rejects object spreads and dynamic member names before source editing.
34
+ * @param object - Object-literal AST whose properties are inspected.
35
+ * @param source - Authored source text inspected or transformed without execution.
36
+ * @returns Completion after the existing contract has been applied.
37
+ */
38
+ export declare function assertObject(object: ts.ObjectLiteralExpression, source: string): void;
39
+ /**
40
+ * Finds one statically named property in an object literal.
41
+ * @param object - Object-literal AST whose direct properties are inspected.
42
+ * @param name - Static property name to match.
43
+ * @returns The matching property, or undefined when absent.
44
+ */
45
+ export declare function property(object: ts.ObjectLiteralExpression, name: string): ts.ObjectLiteralElementLike | undefined;
46
+ /**
47
+ * Parses TypeScript for source inspection without executing the application.
48
+ * @param fileName - Source path used in parser diagnostics.
49
+ * @param source - Authored TypeScript source text.
50
+ * @returns The SourceFile AST; parse errors raise the canonical unsupported-source error.
51
+ */
52
+ export declare function parse(fileName: string, source: string): ts.SourceFile;
53
+ /**
54
+ * Removes parentheses and TypeScript assertions from a source expression.
55
+ * @param value - AST expression whose static wrapper nodes are ignored.
56
+ * @returns The underlying expression, or undefined when no expression was supplied.
57
+ */
58
+ export declare function unwrap(value: ts.Expression | undefined): ts.Expression | undefined;
59
+ /**
60
+ * Reads the statically named final segment of a factory expression.
61
+ * @param expression - Factory expression whose final identifier is inspected.
62
+ * @returns The identifier or final property segment, otherwise an empty string.
63
+ */
64
+ export declare function lastSegment(expression: ts.Expression): string;
65
+ /**
66
+ * Rejects an object member that conflicts with the requested source insertion.
67
+ * @param fileName - Source path used for declaration diagnostics.
68
+ * @param path - Nested static property names identifying the conflicting member.
69
+ * @returns No value; throws AddScaffoldError with RELKIT_ADD_COLLISION.
70
+ */
71
+ export declare function collision(fileName: string, path: readonly string[]): never;
72
+ /**
73
+ * Rejects a canonical object that cannot be edited safely.
74
+ * @param label - Human-readable location included in validation diagnostics.
75
+ * @returns No value; the unchanged canonical public validation error is thrown.
76
+ */
77
+ export declare function unsupported(label: string): never;
78
+ //# sourceMappingURL=source-factory-edit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-factory-edit.d.ts","sourceRoot":"","sources":["../src/source-factory-edit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,EAAE,CAAC,UAAU,EACnB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,aAAa,SAAI,GAChB,EAAE,CAAC,uBAAuB,CAa5B;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,EAAE,CAAC,uBAAuB,EAChC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB;IACD,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAeA;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,EAAE,CAAC,uBAAuB,EAClC,MAAM,EAAE,MAAM,GACb,MAAM,CAgBR;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,uBAAuB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAMrF;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,EAAE,CAAC,uBAAuB,EAClC,IAAI,EAAE,MAAM,GACX,EAAE,CAAC,wBAAwB,GAAG,SAAS,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAarE;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,GAAG,SAAS,GAAG,EAAE,CAAC,UAAU,GAAG,SAAS,CAUlF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAK1E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAKhD"}
@@ -0,0 +1,156 @@
1
+ import * as ts from "typescript";
2
+ import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
3
+ /**
4
+ * Requires exactly one factory call with a static object argument.
5
+ * @param file - TypeScript SourceFile AST.
6
+ * @param factories - Supported final segments of factory call names.
7
+ * @param argumentIndex - Zero-based factory argument containing its options object.
8
+ * @returns The unique object literal; ambiguous/nonliteral source raises the unsupported-source error.
9
+ */
10
+ export function factoryObject(file, factories, argumentIndex = 0) {
11
+ const matches = [];
12
+ const visit = (node) => {
13
+ if (ts.isCallExpression(node) && factories.includes(lastSegment(node.expression))) {
14
+ const argument = unwrap(node.arguments[argumentIndex]);
15
+ if (!argument || !ts.isObjectLiteralExpression(argument))
16
+ unsupported(file.fileName);
17
+ matches.push(argument);
18
+ }
19
+ ts.forEachChild(node, visit);
20
+ };
21
+ visit(file);
22
+ if (matches.length !== 1)
23
+ unsupported(file.fileName);
24
+ return matches[0];
25
+ }
26
+ /**
27
+ * Finds a nested literal object or plans its missing final member container.
28
+ * @param root - Root object-literal AST.
29
+ * @param path - Nested static property names to traverse.
30
+ * @param source - Authored source text inspected or transformed without execution.
31
+ * @param memberSource - Source of the object member to insert.
32
+ * @returns The existing target object or missing final-container projection needed for insertion.
33
+ */
34
+ export function descend(root, path, source, memberSource) {
35
+ let object = root;
36
+ for (const [index, name] of path.entries()) {
37
+ assertObject(object, source);
38
+ const found = property(object, name);
39
+ if (found === undefined) {
40
+ if (index !== path.length - 1)
41
+ unsupported("nested object");
42
+ return { object, parent: object, name, created: true };
43
+ }
44
+ if (!ts.isPropertyAssignment(found))
45
+ unsupported(name);
46
+ const value = unwrap(found.initializer);
47
+ if (!value || !ts.isObjectLiteralExpression(value))
48
+ unsupported(name);
49
+ object = value;
50
+ }
51
+ return { object, name: path.at(-1) ?? memberSource, created: false };
52
+ }
53
+ /**
54
+ * Inserts a static object member without reprinting the source file.
55
+ * @param source - Authored source text inspected or transformed without execution.
56
+ * @param object - Object-literal AST whose properties are inspected.
57
+ * @param member - Source of the object member to insert.
58
+ * @returns Source with one member inserted while preserving surrounding formatting.
59
+ */
60
+ export function insertMember(source, object, member) {
61
+ const close = object.getEnd() - 1;
62
+ const body = source.slice(object.getStart() + 1, close);
63
+ if (object.properties.length === 0) {
64
+ return `${source.slice(0, object.getStart() + 1)} ${member} ${source.slice(close)}`;
65
+ }
66
+ if (!body.includes("\n")) {
67
+ const last = object.properties.at(-1);
68
+ return `${source.slice(0, last.getEnd())}, ${member}${source.slice(last.getEnd())}`;
69
+ }
70
+ const last = object.properties.at(-1);
71
+ const between = source.slice(last.getEnd(), close);
72
+ const comma = between.trimStart().startsWith(",") ? "" : ",";
73
+ const lineStart = source.lastIndexOf("\n", close - 1) + 1;
74
+ const closeIndent = source.slice(lineStart, close);
75
+ return `${source.slice(0, last.getEnd())}${comma}${source.slice(last.getEnd(), close)}${closeIndent} ${member},\n${closeIndent}${source.slice(close)}`;
76
+ }
77
+ /**
78
+ * Rejects object spreads and dynamic member names before source editing.
79
+ * @param object - Object-literal AST whose properties are inspected.
80
+ * @param source - Authored source text inspected or transformed without execution.
81
+ * @returns Completion after the existing contract has been applied.
82
+ */
83
+ export function assertObject(object, source) {
84
+ for (const item of object.properties) {
85
+ if (ts.isSpreadAssignment(item) || staticPropertyName(item.name) === undefined) {
86
+ unsupported(source.slice(item.getStart(), item.getEnd()));
87
+ }
88
+ }
89
+ }
90
+ /**
91
+ * Finds one statically named property in an object literal.
92
+ * @param object - Object-literal AST whose direct properties are inspected.
93
+ * @param name - Static property name to match.
94
+ * @returns The matching property, or undefined when absent.
95
+ */
96
+ export function property(object, name) {
97
+ return object.properties.find((item) => staticPropertyName(item.name) === name);
98
+ }
99
+ /**
100
+ * Parses TypeScript for source inspection without executing the application.
101
+ * @param fileName - Source path used in parser diagnostics.
102
+ * @param source - Authored TypeScript source text.
103
+ * @returns The SourceFile AST; parse errors raise the canonical unsupported-source error.
104
+ */
105
+ export function parse(fileName, source) {
106
+ const file = ts.createSourceFile(fileName, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
107
+ const diagnostics = file.parseDiagnostics;
108
+ if (diagnostics?.length)
109
+ unsupported(fileName);
110
+ return file;
111
+ }
112
+ /**
113
+ * Removes parentheses and TypeScript assertions from a source expression.
114
+ * @param value - AST expression whose static wrapper nodes are ignored.
115
+ * @returns The underlying expression, or undefined when no expression was supplied.
116
+ */
117
+ export function unwrap(value) {
118
+ let current = value;
119
+ while (current &&
120
+ (ts.isParenthesizedExpression(current) ||
121
+ ts.isAsExpression(current) ||
122
+ ts.isSatisfiesExpression(current)))
123
+ current = current.expression;
124
+ return current;
125
+ }
126
+ /**
127
+ * Reads the statically named final segment of a factory expression.
128
+ * @param expression - Factory expression whose final identifier is inspected.
129
+ * @returns The identifier or final property segment, otherwise an empty string.
130
+ */
131
+ export function lastSegment(expression) {
132
+ return ts.isIdentifier(expression)
133
+ ? expression.text
134
+ : ts.isPropertyAccessExpression(expression)
135
+ ? expression.name.text
136
+ : "";
137
+ }
138
+ /**
139
+ * Rejects an object member that conflicts with the requested source insertion.
140
+ * @param fileName - Source path used for declaration diagnostics.
141
+ * @param path - Nested static property names identifying the conflicting member.
142
+ * @returns No value; throws AddScaffoldError with RELKIT_ADD_COLLISION.
143
+ */
144
+ export function collision(fileName, path) {
145
+ throw new AddScaffoldError(ADD_FAILURE_CODES.collision, `${fileName} already declares ${path.join(".")}.`);
146
+ }
147
+ /**
148
+ * Rejects a canonical object that cannot be edited safely.
149
+ * @param label - Human-readable location included in validation diagnostics.
150
+ * @returns No value; the unchanged canonical public validation error is thrown.
151
+ */
152
+ export function unsupported(label) {
153
+ throw new AddScaffoldError(ADD_FAILURE_CODES.unsupportedSourceShape, `Cannot safely edit canonical object in ${label}.`);
154
+ }
155
+ import { staticPropertyName } from "./source-edit.js";
156
+ //# sourceMappingURL=source-factory-edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-factory-edit.js","sourceRoot":"","sources":["../src/source-factory-edit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACrE;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAmB,EACnB,SAA4B,EAC5B,aAAa,GAAG,CAAC;IAEjB,MAAM,OAAO,GAAiC,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QACpC,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CACrB,IAAgC,EAChC,IAAuB,EACvB,MAAc,EACd,YAAoB;IAOpB,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,WAAW,CAAC,eAAe,CAAC,CAAC;YAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACvE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,MAAkC,EAClC,MAAc;IAEd,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;QACvC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;IACtF,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,GAAG,WAAW,KAAK,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1J,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAkC,EAAE,MAAc;IAC7E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/E,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,MAAkC,EAClC,IAAY;IAEZ,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AAClF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,QAAgB,EAAE,MAAc;IACpD,MAAM,IAAI,GAAG,EAAE,CAAC,gBAAgB,CAC9B,QAAQ,EACR,MAAM,EACN,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,EACJ,EAAE,CAAC,UAAU,CAAC,EAAE,CACjB,CAAC;IACF,MAAM,WAAW,GACf,IACD,CAAC,gBAAgB,CAAC;IACnB,IAAI,WAAW,EAAE,MAAM;QAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,KAAgC;IACrD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OACE,OAAO;QACP,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC;YACpC,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;YAC1B,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEpC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,UAAyB;IACnD,OAAO,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,UAAU,CAAC,IAAI;QACjB,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,UAAU,CAAC;YACzC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI;YACtB,CAAC,CAAC,EAAE,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAuB;IACjE,MAAM,IAAI,gBAAgB,CACxB,iBAAiB,CAAC,SAAS,EAC3B,GAAG,QAAQ,qBAAqB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAClD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,MAAM,IAAI,gBAAgB,CACxB,iBAAiB,CAAC,sBAAsB,EACxC,0CAA0C,KAAK,GAAG,CACnD,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,3 +1,9 @@
1
- /** Adds or merges one import declaration without reprinting the source file. */
1
+ /**
2
+ * Adds or merges one import declaration without reprinting the source file.
3
+ * @param source - Authored source text inspected or transformed without execution.
4
+ * @param fileName - Source path used for declaration diagnostics.
5
+ * @param declaration - Complete import declaration source.
6
+ * @returns Source with the requested import added or merged into its compatible existing declaration.
7
+ */
2
8
  export declare function addSourceImport(source: string, fileName: string, declaration: string): string;
3
9
  //# sourceMappingURL=source-import-edit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-import-edit.d.ts","sourceRoot":"","sources":["../src/source-import-edit.ts"],"names":[],"mappings":"AAGA,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAmC7F"}
1
+ {"version":3,"file":"source-import-edit.d.ts","sourceRoot":"","sources":["../src/source-import-edit.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAmC7F"}
@@ -1,6 +1,12 @@
1
1
  import * as ts from "typescript";
2
2
  import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
3
- /** Adds or merges one import declaration without reprinting the source file. */
3
+ /**
4
+ * Adds or merges one import declaration without reprinting the source file.
5
+ * @param source - Authored source text inspected or transformed without execution.
6
+ * @param fileName - Source path used for declaration diagnostics.
7
+ * @param declaration - Complete import declaration source.
8
+ * @returns Source with the requested import added or merged into its compatible existing declaration.
9
+ */
4
10
  export function addSourceImport(source, fileName, declaration) {
5
11
  if (source.includes(declaration))
6
12
  return source;
@@ -34,6 +40,12 @@ export function addSourceImport(source, fileName, declaration) {
34
40
  }
35
41
  return append(source, file, declaration);
36
42
  }
43
+ /**
44
+ * Parses TypeScript for source inspection without executing the application.
45
+ * @param fileName - Source path used in parser diagnostics.
46
+ * @param source - Authored TypeScript source text.
47
+ * @returns The SourceFile AST; parse errors raise the canonical unsupported-source error.
48
+ */
37
49
  function parse(fileName, source) {
38
50
  const file = ts.createSourceFile(fileName, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
39
51
  const diagnostics = file.parseDiagnostics;
@@ -42,6 +54,13 @@ function parse(fileName, source) {
42
54
  }
43
55
  return file;
44
56
  }
57
+ /**
58
+ * Appends a new import after existing import declarations.
59
+ * @param source - Authored source text inspected or transformed without execution.
60
+ * @param file - TypeScript SourceFile AST whose imports are inspected.
61
+ * @param declaration - Complete import declaration source.
62
+ * @returns Source with the import inserted after existing imports or before the first statement.
63
+ */
45
64
  function append(source, file, declaration) {
46
65
  const imports = file.statements.filter(ts.isImportDeclaration);
47
66
  const offset = imports.at(-1)?.getEnd() ?? 0;
@@ -1 +1 @@
1
- {"version":3,"file":"source-import-edit.js","sourceRoot":"","sources":["../src/source-import-edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-import-edit.js","sourceRoot":"","sources":["../src/source-import-edit.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,16 @@
1
- export declare function resolveTemplateRoot(context: {
2
- readonly cwd?: string;
3
- readonly templateRoot?: string;
4
- }): string;
1
+ import { Effect } from "effect";
2
+ import { GeneratorPaths } from "./generator-paths.js";
3
+ import type { GenerateProjectContext } from "./generate-types.js";
4
+ /**
5
+ * Finds explicit, packed or source-owned templates through read-only path authority.
6
+ * @param context - Caller-owned settings and cancellation.
7
+ * @returns The supported explicit, bundled or source-owned template root path.
8
+ */
9
+ export declare const resolveTemplateRootEffect: (context: Pick<GenerateProjectContext, "cwd" | "templateRoot">) => Effect.Effect<string, import("./generator-errors.js").GeneratorIoError, GeneratorPaths>;
10
+ /**
11
+ * Preserves synchronous template-root resolution without a hidden filesystem dependency.
12
+ * @param context - Caller-owned settings and cancellation.
13
+ * @returns The supported source or bundled template root path.
14
+ */
15
+ export declare function resolveTemplateRoot(context: Pick<GenerateProjectContext, "cwd" | "templateRoot">): string;
5
16
  //# sourceMappingURL=template-root.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-root.d.ts","sourceRoot":"","sources":["../src/template-root.ts"],"names":[],"mappings":"AAIA,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC,GAAG,MAAM,CAOT"}
1
+ {"version":3,"file":"template-root.d.ts","sourceRoot":"","sources":["../src/template-root.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,4JAWrC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,GAAG,cAAc,CAAC,GAC5D,MAAM,CAER"}
@@ -1,15 +1,32 @@
1
- import { existsSync } from "node:fs";
1
+ import { observeExecution } from "@relkit/contracts/operation";
2
2
  import { resolve } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
- export function resolveTemplateRoot(context) {
4
+ import { Effect } from "effect";
5
+ import { GeneratorPaths } from "./generator-paths.js";
6
+ import { runGeneratorSync } from "./generator-runtime.js";
7
+ /**
8
+ * Finds explicit, packed or source-owned templates through read-only path authority.
9
+ * @param context - Caller-owned settings and cancellation.
10
+ * @returns The supported explicit, bundled or source-owned template root path.
11
+ */
12
+ export const resolveTemplateRootEffect = Effect.fn("TemplateCatalog.root")(function* (context) {
5
13
  if (context.templateRoot !== undefined)
6
14
  return resolve(context.templateRoot);
15
+ const paths = yield* GeneratorPaths;
7
16
  const packaged = fileURLToPath(new URL("./templates/default/v1", import.meta.url));
8
- if (existsSync(packaged))
17
+ if ((yield* paths.metadata(packaged)) !== undefined)
9
18
  return resolve(packaged);
10
19
  const source = fileURLToPath(new URL("../../../templates/default/v1", import.meta.url));
11
- if (existsSync(source))
20
+ if ((yield* paths.metadata(source)) !== undefined)
12
21
  return resolve(source);
13
- return resolve(context.cwd ?? process.cwd(), "templates/default/v1");
22
+ return resolve(context.cwd ?? (yield* paths.cwd()), "templates/default/v1");
23
+ }, (effect) => observeExecution("generator", "TemplateCatalog.root", effect));
24
+ /**
25
+ * Preserves synchronous template-root resolution without a hidden filesystem dependency.
26
+ * @param context - Caller-owned settings and cancellation.
27
+ * @returns The supported source or bundled template root path.
28
+ */
29
+ export function resolveTemplateRoot(context) {
30
+ return runGeneratorSync(resolveTemplateRootEffect(context));
14
31
  }
15
32
  //# sourceMappingURL=template-root.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-root.js","sourceRoot":"","sources":["../src/template-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,mBAAmB,CAAC,OAGnC;IACC,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxF,IAAI,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,sBAAsB,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"template-root.js","sourceRoot":"","sources":["../src/template-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,CACxE,QAAQ,CAAC,EAAE,OAA6D;IACtE,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;IACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxF,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,sBAAsB,CAAC,CAAC;AAC9E,CAAC,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,sBAAsB,EAAE,MAAM,CAAC,CAC1E,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA6D;IAE7D,OAAO,gBAAgB,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC"}
@@ -8,6 +8,6 @@ scaffolder:
8
8
  - `agent` — the minimal example plus a read-only tool and agent descriptor.
9
9
 
10
10
  Each variant is self-contained and can be copied as a project root. It uses
11
- the current checked-in RelKit package version (`0.6.0`), Bun `1.3.10`, and
11
+ the current checked-in RelKit package version (`0.7.0`), Bun `1.3.10`, and
12
12
  TypeScript `5.9.3`. The generator owns project-name substitution and later
13
13
  installation/Git behavior.
@@ -16,14 +16,14 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "@langchain/langgraph": "1.4.14",
19
- "@relkit/app": "0.6.0",
20
- "@relkit/local": "0.6.0",
19
+ "@relkit/app": "0.7.0",
20
+ "@relkit/local": "0.7.0",
21
21
  "langchain": "1.5.10"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/bun": "1.3.10",
25
- "@relkit/cli": "0.6.0",
26
- "@relkit/testing": "0.6.0",
25
+ "@relkit/cli": "0.7.0",
26
+ "@relkit/testing": "0.7.0",
27
27
  "typescript": "5.9.3"
28
28
  }
29
29
  }
@@ -15,12 +15,12 @@
15
15
  "graph": "relkit graph print"
16
16
  },
17
17
  "dependencies": {
18
- "@relkit/app": "0.6.0"
18
+ "@relkit/app": "0.7.0"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/bun": "1.3.10",
22
- "@relkit/cli": "0.6.0",
23
- "@relkit/testing": "0.6.0",
22
+ "@relkit/cli": "0.7.0",
23
+ "@relkit/testing": "0.7.0",
24
24
  "typescript": "5.9.3"
25
25
  }
26
26
  }