create-relkit 0.7.10 → 0.8.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 (501) hide show
  1. package/dist/add-transaction-files.d.ts +1 -0
  2. package/dist/add-transaction-files.d.ts.map +1 -1
  3. package/dist/add-transaction-files.js +3 -52
  4. package/dist/add-transaction-files.js.map +1 -1
  5. package/dist/add-types.d.ts +15 -45
  6. package/dist/add-types.d.ts.map +1 -1
  7. package/dist/add-types.js +3 -9
  8. package/dist/add-types.js.map +1 -1
  9. package/dist/bin.d.ts +2 -1
  10. package/dist/bin.d.ts.map +1 -1
  11. package/dist/bin.js +15 -80
  12. package/dist/bin.js.map +1 -1
  13. package/dist/cli.d.ts +10 -0
  14. package/dist/cli.d.ts.map +1 -0
  15. package/dist/cli.js +90 -0
  16. package/dist/cli.js.map +1 -0
  17. package/dist/create-capabilities.d.ts +5 -0
  18. package/dist/create-capabilities.d.ts.map +1 -1
  19. package/dist/create-capabilities.js +5 -5
  20. package/dist/create-capabilities.js.map +1 -1
  21. package/dist/create-capabilities.types.d.ts.map +1 -1
  22. package/dist/create-capabilities.types.js +1 -0
  23. package/dist/create-capabilities.types.js.map +1 -1
  24. package/dist/create-preview.d.ts +2 -1
  25. package/dist/create-preview.d.ts.map +1 -1
  26. package/dist/create-preview.js +2 -5
  27. package/dist/create-preview.js.map +1 -1
  28. package/dist/create-resolver.d.ts +1 -0
  29. package/dist/create-resolver.d.ts.map +1 -1
  30. package/dist/create-resolver.js +11 -7
  31. package/dist/create-resolver.js.map +1 -1
  32. package/dist/dependency-patches.d.ts +1 -0
  33. package/dist/dependency-patches.d.ts.map +1 -1
  34. package/dist/dependency-patches.js +5 -0
  35. package/dist/dependency-patches.js.map +1 -1
  36. package/dist/generate-deployment-manifest.d.ts +1 -0
  37. package/dist/generate-deployment-manifest.d.ts.map +1 -1
  38. package/dist/generate-deployment-manifest.js.map +1 -1
  39. package/dist/generate-deployment.d.ts +1 -0
  40. package/dist/generate-deployment.d.ts.map +1 -1
  41. package/dist/generate-deployment.js.map +1 -1
  42. package/dist/generate-examples.d.ts +1 -0
  43. package/dist/generate-examples.d.ts.map +1 -1
  44. package/dist/generate-examples.js.map +1 -1
  45. package/dist/generate-executable.d.ts +27 -0
  46. package/dist/generate-executable.d.ts.map +1 -0
  47. package/dist/generate-executable.js +48 -0
  48. package/dist/generate-executable.js.map +1 -0
  49. package/dist/generate-files-utilities.d.ts +1 -0
  50. package/dist/generate-files-utilities.d.ts.map +1 -1
  51. package/dist/generate-files-utilities.js.map +1 -1
  52. package/dist/generate-output.d.ts +6 -0
  53. package/dist/generate-output.d.ts.map +1 -1
  54. package/dist/generate-output.js +1 -2
  55. package/dist/generate-output.js.map +1 -1
  56. package/dist/generate-output.schemas.d.ts +1 -1
  57. package/dist/generate-output.schemas.d.ts.map +1 -1
  58. package/dist/generate-output.schemas.js +1 -1
  59. package/dist/generate-output.schemas.js.map +1 -1
  60. package/dist/generate-output.types.d.ts +2 -1
  61. package/dist/generate-output.types.d.ts.map +1 -1
  62. package/dist/generate-preparation.d.ts +6 -0
  63. package/dist/generate-preparation.d.ts.map +1 -1
  64. package/dist/generate-preparation.js.map +1 -1
  65. package/dist/generate-process.d.ts +3 -24
  66. package/dist/generate-process.d.ts.map +1 -1
  67. package/dist/generate-process.js +2 -43
  68. package/dist/generate-process.js.map +1 -1
  69. package/dist/generate-result.d.ts.map +1 -1
  70. package/dist/generate-result.js.map +1 -1
  71. package/dist/generate-stage.d.ts +6 -0
  72. package/dist/generate-stage.d.ts.map +1 -1
  73. package/dist/generate-stage.js.map +1 -1
  74. package/dist/generate-stage.types.d.ts.map +1 -1
  75. package/dist/generate-stage.types.js +4 -0
  76. package/dist/generate-stage.types.js.map +1 -1
  77. package/dist/generate-workflow.d.ts.map +1 -1
  78. package/dist/generate-workflow.js.map +1 -1
  79. package/dist/generator-file-writes.d.ts +27 -0
  80. package/dist/generator-file-writes.d.ts.map +1 -0
  81. package/dist/generator-file-writes.js +63 -0
  82. package/dist/generator-file-writes.js.map +1 -0
  83. package/dist/generator-filesystem.d.ts +1 -0
  84. package/dist/generator-filesystem.d.ts.map +1 -1
  85. package/dist/generator-filesystem.js +23 -15
  86. package/dist/generator-filesystem.js.map +1 -1
  87. package/dist/generator-process.d.ts +1 -0
  88. package/dist/generator-process.d.ts.map +1 -1
  89. package/dist/generator-process.js +14 -10
  90. package/dist/generator-process.js.map +1 -1
  91. package/dist/generator-prompt.d.ts +1 -0
  92. package/dist/generator-prompt.d.ts.map +1 -1
  93. package/dist/generator-prompt.js +14 -6
  94. package/dist/generator-prompt.js.map +1 -1
  95. package/dist/index.d.ts +1 -12
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +1 -12
  98. package/dist/index.js.map +1 -1
  99. package/dist/launcher.d.ts +9 -0
  100. package/dist/launcher.d.ts.map +1 -0
  101. package/dist/launcher.js +38 -0
  102. package/dist/launcher.js.map +1 -0
  103. package/dist/options-parser.d.ts +38 -0
  104. package/dist/options-parser.d.ts.map +1 -0
  105. package/dist/options-parser.js +67 -0
  106. package/dist/options-parser.js.map +1 -0
  107. package/dist/options.d.ts +13 -36
  108. package/dist/options.d.ts.map +1 -1
  109. package/dist/options.js +30 -99
  110. package/dist/options.js.map +1 -1
  111. package/dist/prompt-driver.d.ts +1 -0
  112. package/dist/prompt-driver.d.ts.map +1 -1
  113. package/dist/prompt-driver.js +18 -13
  114. package/dist/prompt-driver.js.map +1 -1
  115. package/dist/scaffold-catalog.d.ts +21 -0
  116. package/dist/scaffold-catalog.d.ts.map +1 -1
  117. package/dist/scaffold-catalog.js +18 -0
  118. package/dist/scaffold-catalog.js.map +1 -1
  119. package/dist/templates/default/README.md +1 -1
  120. package/dist/templates/default/v1/agent/.agents/skills/relkit/SKILL.md +10 -0
  121. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/agent-apis.md +10 -7
  122. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/cli.md +14 -13
  123. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/config-environments.md +9 -3
  124. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/data-apis.md +5 -1
  125. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/observability-apis.md +30 -3
  126. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/realtime-apis.md +3 -2
  127. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/testing-apis.md +2 -2
  128. package/dist/templates/default/v1/agent/package.json +9 -6
  129. package/dist/templates/default/v1/agent/relkit.config.ts +1 -1
  130. package/dist/templates/default/v1/agent/src/services/hello/agents/assistant.agent.ts +1 -1
  131. package/dist/templates/default/v1/agent/src/services/hello/agents/review.agent.ts +1 -1
  132. package/dist/templates/default/v1/agent/tests/unit/assistant.agent.test.ts +1 -1
  133. package/dist/templates/default/v1/agent/tests/unit/review.agent.test.ts +1 -1
  134. package/dist/templates/default/v1/api/.agents/skills/relkit/SKILL.md +10 -0
  135. package/dist/templates/default/v1/api/.agents/skills/relkit/references/agent-apis.md +10 -7
  136. package/dist/templates/default/v1/api/.agents/skills/relkit/references/cli.md +14 -13
  137. package/dist/templates/default/v1/api/.agents/skills/relkit/references/config-environments.md +9 -3
  138. package/dist/templates/default/v1/api/.agents/skills/relkit/references/data-apis.md +5 -1
  139. package/dist/templates/default/v1/api/.agents/skills/relkit/references/observability-apis.md +30 -3
  140. package/dist/templates/default/v1/api/.agents/skills/relkit/references/realtime-apis.md +3 -2
  141. package/dist/templates/default/v1/api/.agents/skills/relkit/references/testing-apis.md +2 -2
  142. package/dist/templates/default/v1/api/package.json +4 -4
  143. package/dist/templates/default/v1/api/relkit.config.ts +1 -1
  144. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/SKILL.md +10 -0
  145. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/agent-apis.md +10 -7
  146. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/cli.md +14 -13
  147. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/config-environments.md +9 -3
  148. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/data-apis.md +5 -1
  149. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/observability-apis.md +30 -3
  150. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/realtime-apis.md +3 -2
  151. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/testing-apis.md +2 -2
  152. package/dist/templates/default/v1/fullstack/README.md +6 -3
  153. package/dist/templates/default/v1/fullstack/package.json +11 -7
  154. package/dist/templates/default/v1/fullstack/relkit.config.ts +1 -1
  155. package/dist/templates/default/v1/fullstack/src/services/hello/agents/assistant.agent.ts +1 -1
  156. package/dist/templates/default/v1/fullstack/src/services/hello/agents/review.agent.ts +1 -1
  157. package/dist/templates/default/v1/fullstack/tests/unit/assistant.agent.test.ts +1 -1
  158. package/dist/templates/default/v1/fullstack/tests/unit/review.agent.test.ts +1 -1
  159. package/dist/templates/default/v1/minimal/.agents/skills/relkit/SKILL.md +10 -0
  160. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/agent-apis.md +10 -7
  161. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/cli.md +14 -13
  162. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/config-environments.md +9 -3
  163. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/data-apis.md +5 -1
  164. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/observability-apis.md +30 -3
  165. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/realtime-apis.md +3 -2
  166. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/testing-apis.md +2 -2
  167. package/dist/templates/default/v1/minimal/package.json +4 -4
  168. package/dist/templates/default/v1/minimal/relkit.config.ts +1 -1
  169. package/dist/templates/default/v1/tasks/.agents/skills/relkit/SKILL.md +10 -0
  170. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/agent-apis.md +10 -7
  171. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/cli.md +14 -13
  172. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/config-environments.md +9 -3
  173. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/data-apis.md +5 -1
  174. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/observability-apis.md +30 -3
  175. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/realtime-apis.md +3 -2
  176. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/testing-apis.md +2 -2
  177. package/dist/templates/default/v1/tasks/README.md +5 -2
  178. package/dist/templates/default/v1/tasks/package.json +4 -4
  179. package/dist/templates/default/v1/tasks/relkit.config.ts +1 -1
  180. package/dist/validate.d.ts +1 -1
  181. package/package.json +127 -21
  182. package/dist/add-name.d.ts +0 -16
  183. package/dist/add-name.d.ts.map +0 -1
  184. package/dist/add-name.js +0 -22
  185. package/dist/add-name.js.map +0 -1
  186. package/dist/add-options-parser.d.ts +0 -70
  187. package/dist/add-options-parser.d.ts.map +0 -1
  188. package/dist/add-options-parser.js +0 -155
  189. package/dist/add-options-parser.js.map +0 -1
  190. package/dist/add-options-resource.d.ts +0 -13
  191. package/dist/add-options-resource.d.ts.map +0 -1
  192. package/dist/add-options-resource.js +0 -26
  193. package/dist/add-options-resource.js.map +0 -1
  194. package/dist/add-options.d.ts +0 -11
  195. package/dist/add-options.d.ts.map +0 -1
  196. package/dist/add-options.js +0 -212
  197. package/dist/add-options.js.map +0 -1
  198. package/dist/add-output.d.ts +0 -14
  199. package/dist/add-output.d.ts.map +0 -1
  200. package/dist/add-output.js +0 -54
  201. package/dist/add-output.js.map +0 -1
  202. package/dist/add-plan.d.ts +0 -29
  203. package/dist/add-plan.d.ts.map +0 -1
  204. package/dist/add-plan.js +0 -96
  205. package/dist/add-plan.js.map +0 -1
  206. package/dist/add-plan.types.d.ts +0 -13
  207. package/dist/add-plan.types.d.ts.map +0 -1
  208. package/dist/add-plan.types.js +0 -2
  209. package/dist/add-plan.types.js.map +0 -1
  210. package/dist/add-resolution-discovery.d.ts +0 -67
  211. package/dist/add-resolution-discovery.d.ts.map +0 -1
  212. package/dist/add-resolution-discovery.js +0 -134
  213. package/dist/add-resolution-discovery.js.map +0 -1
  214. package/dist/add-resolution-prompt.d.ts +0 -46
  215. package/dist/add-resolution-prompt.d.ts.map +0 -1
  216. package/dist/add-resolution-prompt.js +0 -88
  217. package/dist/add-resolution-prompt.js.map +0 -1
  218. package/dist/add-resolution-state-base.d.ts +0 -112
  219. package/dist/add-resolution-state-base.d.ts.map +0 -1
  220. package/dist/add-resolution-state-base.js +0 -141
  221. package/dist/add-resolution-state-base.js.map +0 -1
  222. package/dist/add-resolution-state.d.ts +0 -78
  223. package/dist/add-resolution-state.d.ts.map +0 -1
  224. package/dist/add-resolution-state.js +0 -101
  225. package/dist/add-resolution-state.js.map +0 -1
  226. package/dist/add-resolution-state.types.d.ts +0 -6
  227. package/dist/add-resolution-state.types.d.ts.map +0 -1
  228. package/dist/add-resolution-state.types.js +0 -2
  229. package/dist/add-resolution-state.types.js.map +0 -1
  230. package/dist/add-resolver-domain-execution.d.ts +0 -35
  231. package/dist/add-resolver-domain-execution.d.ts.map +0 -1
  232. package/dist/add-resolver-domain-execution.js +0 -101
  233. package/dist/add-resolver-domain-execution.js.map +0 -1
  234. package/dist/add-resolver-domain-input.d.ts +0 -30
  235. package/dist/add-resolver-domain-input.d.ts.map +0 -1
  236. package/dist/add-resolver-domain-input.js +0 -83
  237. package/dist/add-resolver-domain-input.js.map +0 -1
  238. package/dist/add-resolver-domain.d.ts +0 -21
  239. package/dist/add-resolver-domain.d.ts.map +0 -1
  240. package/dist/add-resolver-domain.js +0 -50
  241. package/dist/add-resolver-domain.js.map +0 -1
  242. package/dist/add-resolver-platform.d.ts +0 -21
  243. package/dist/add-resolver-platform.d.ts.map +0 -1
  244. package/dist/add-resolver-platform.js +0 -159
  245. package/dist/add-resolver-platform.js.map +0 -1
  246. package/dist/add-resolver-provider.d.ts +0 -15
  247. package/dist/add-resolver-provider.d.ts.map +0 -1
  248. package/dist/add-resolver-provider.js +0 -67
  249. package/dist/add-resolver-provider.js.map +0 -1
  250. package/dist/add-resolver-resources.d.ts +0 -21
  251. package/dist/add-resolver-resources.d.ts.map +0 -1
  252. package/dist/add-resolver-resources.js +0 -144
  253. package/dist/add-resolver-resources.js.map +0 -1
  254. package/dist/add-resolver.d.ts +0 -38
  255. package/dist/add-resolver.d.ts.map +0 -1
  256. package/dist/add-resolver.js +0 -80
  257. package/dist/add-resolver.js.map +0 -1
  258. package/dist/add-resolver.types.d.ts +0 -27
  259. package/dist/add-resolver.types.d.ts.map +0 -1
  260. package/dist/add-resolver.types.js +0 -2
  261. package/dist/add-resolver.types.js.map +0 -1
  262. package/dist/add-transaction-process.d.ts +0 -37
  263. package/dist/add-transaction-process.d.ts.map +0 -1
  264. package/dist/add-transaction-process.js +0 -54
  265. package/dist/add-transaction-process.js.map +0 -1
  266. package/dist/add-transaction-workflow.d.ts +0 -23
  267. package/dist/add-transaction-workflow.d.ts.map +0 -1
  268. package/dist/add-transaction-workflow.js +0 -77
  269. package/dist/add-transaction-workflow.js.map +0 -1
  270. package/dist/add-transaction.d.ts +0 -30
  271. package/dist/add-transaction.d.ts.map +0 -1
  272. package/dist/add-transaction.js +0 -65
  273. package/dist/add-transaction.js.map +0 -1
  274. package/dist/add-transaction.types.d.ts +0 -32
  275. package/dist/add-transaction.types.d.ts.map +0 -1
  276. package/dist/add-transaction.types.js +0 -2
  277. package/dist/add-transaction.types.js.map +0 -1
  278. package/dist/bucket-profiles.d.ts +0 -18
  279. package/dist/bucket-profiles.d.ts.map +0 -1
  280. package/dist/bucket-profiles.js +0 -40
  281. package/dist/bucket-profiles.js.map +0 -1
  282. package/dist/bucket-profiles.types.d.ts +0 -9
  283. package/dist/bucket-profiles.types.d.ts.map +0 -1
  284. package/dist/bucket-profiles.types.js +0 -2
  285. package/dist/bucket-profiles.types.js.map +0 -1
  286. package/dist/domain-artifact.d.ts +0 -76
  287. package/dist/domain-artifact.d.ts.map +0 -1
  288. package/dist/domain-artifact.js +0 -123
  289. package/dist/domain-artifact.js.map +0 -1
  290. package/dist/domain-planning.d.ts +0 -45
  291. package/dist/domain-planning.d.ts.map +0 -1
  292. package/dist/domain-planning.js +0 -93
  293. package/dist/domain-planning.js.map +0 -1
  294. package/dist/domain-planning.types.d.ts +0 -21
  295. package/dist/domain-planning.types.d.ts.map +0 -1
  296. package/dist/domain-planning.types.js +0 -2
  297. package/dist/domain-planning.types.js.map +0 -1
  298. package/dist/plan-builder-effects.d.ts +0 -124
  299. package/dist/plan-builder-effects.d.ts.map +0 -1
  300. package/dist/plan-builder-effects.js +0 -172
  301. package/dist/plan-builder-effects.js.map +0 -1
  302. package/dist/plan-builder-files.d.ts +0 -12
  303. package/dist/plan-builder-files.d.ts.map +0 -1
  304. package/dist/plan-builder-files.js +0 -99
  305. package/dist/plan-builder-files.js.map +0 -1
  306. package/dist/plan-builder-files.types.d.ts +0 -49
  307. package/dist/plan-builder-files.types.d.ts.map +0 -1
  308. package/dist/plan-builder-files.types.js +0 -2
  309. package/dist/plan-builder-files.types.js.map +0 -1
  310. package/dist/plan-builder-manifest.d.ts +0 -11
  311. package/dist/plan-builder-manifest.d.ts.map +0 -1
  312. package/dist/plan-builder-manifest.js +0 -37
  313. package/dist/plan-builder-manifest.js.map +0 -1
  314. package/dist/plan-builder.d.ts +0 -93
  315. package/dist/plan-builder.d.ts.map +0 -1
  316. package/dist/plan-builder.js +0 -118
  317. package/dist/plan-builder.js.map +0 -1
  318. package/dist/plan-builder.types.d.ts +0 -22
  319. package/dist/plan-builder.types.d.ts.map +0 -1
  320. package/dist/plan-builder.types.js +0 -2
  321. package/dist/plan-builder.types.js.map +0 -1
  322. package/dist/plan-manifest.d.ts +0 -18
  323. package/dist/plan-manifest.d.ts.map +0 -1
  324. package/dist/plan-manifest.js +0 -100
  325. package/dist/plan-manifest.js.map +0 -1
  326. package/dist/plan-manifest.types.d.ts +0 -13
  327. package/dist/plan-manifest.types.d.ts.map +0 -1
  328. package/dist/plan-manifest.types.js +0 -2
  329. package/dist/plan-manifest.types.js.map +0 -1
  330. package/dist/project-catalog.d.ts +0 -17
  331. package/dist/project-catalog.d.ts.map +0 -1
  332. package/dist/project-catalog.js +0 -69
  333. package/dist/project-catalog.js.map +0 -1
  334. package/dist/project-discovery-app.d.ts +0 -14
  335. package/dist/project-discovery-app.d.ts.map +0 -1
  336. package/dist/project-discovery-app.js +0 -193
  337. package/dist/project-discovery-app.js.map +0 -1
  338. package/dist/project-discovery-artifacts.d.ts +0 -15
  339. package/dist/project-discovery-artifacts.d.ts.map +0 -1
  340. package/dist/project-discovery-artifacts.js +0 -107
  341. package/dist/project-discovery-artifacts.js.map +0 -1
  342. package/dist/project-discovery-artifacts.types.d.ts +0 -22
  343. package/dist/project-discovery-artifacts.types.d.ts.map +0 -1
  344. package/dist/project-discovery-artifacts.types.js +0 -2
  345. package/dist/project-discovery-artifacts.types.js.map +0 -1
  346. package/dist/project-discovery-database.d.ts +0 -21
  347. package/dist/project-discovery-database.d.ts.map +0 -1
  348. package/dist/project-discovery-database.js +0 -64
  349. package/dist/project-discovery-database.js.map +0 -1
  350. package/dist/project-discovery-facts.d.ts +0 -12
  351. package/dist/project-discovery-facts.d.ts.map +0 -1
  352. package/dist/project-discovery-facts.js +0 -64
  353. package/dist/project-discovery-facts.js.map +0 -1
  354. package/dist/project-discovery-members.d.ts +0 -16
  355. package/dist/project-discovery-members.d.ts.map +0 -1
  356. package/dist/project-discovery-members.js +0 -57
  357. package/dist/project-discovery-members.js.map +0 -1
  358. package/dist/project-discovery-types.d.ts +0 -68
  359. package/dist/project-discovery-types.d.ts.map +0 -1
  360. package/dist/project-discovery-types.js +0 -2
  361. package/dist/project-discovery-types.js.map +0 -1
  362. package/dist/project-discovery.d.ts +0 -34
  363. package/dist/project-discovery.d.ts.map +0 -1
  364. package/dist/project-discovery.js +0 -56
  365. package/dist/project-discovery.js.map +0 -1
  366. package/dist/project-discovery.service.types.d.ts +0 -13
  367. package/dist/project-discovery.service.types.d.ts.map +0 -1
  368. package/dist/project-discovery.service.types.js +0 -2
  369. package/dist/project-discovery.service.types.js.map +0 -1
  370. package/dist/provider-planning-definitions.d.ts +0 -78
  371. package/dist/provider-planning-definitions.d.ts.map +0 -1
  372. package/dist/provider-planning-definitions.js +0 -152
  373. package/dist/provider-planning-definitions.js.map +0 -1
  374. package/dist/provider-planning.d.ts +0 -41
  375. package/dist/provider-planning.d.ts.map +0 -1
  376. package/dist/provider-planning.js +0 -124
  377. package/dist/provider-planning.js.map +0 -1
  378. package/dist/provider-planning.types.d.ts +0 -14
  379. package/dist/provider-planning.types.d.ts.map +0 -1
  380. package/dist/provider-planning.types.js +0 -2
  381. package/dist/provider-planning.types.js.map +0 -1
  382. package/dist/provider-profile-definition.d.ts +0 -45
  383. package/dist/provider-profile-definition.d.ts.map +0 -1
  384. package/dist/provider-profile-definition.js +0 -93
  385. package/dist/provider-profile-definition.js.map +0 -1
  386. package/dist/render-ai-sources.d.ts +0 -38
  387. package/dist/render-ai-sources.d.ts.map +0 -1
  388. package/dist/render-ai-sources.js +0 -70
  389. package/dist/render-ai-sources.js.map +0 -1
  390. package/dist/render-ai.d.ts +0 -60
  391. package/dist/render-ai.d.ts.map +0 -1
  392. package/dist/render-ai.js +0 -111
  393. package/dist/render-ai.js.map +0 -1
  394. package/dist/render-auth-database.d.ts +0 -33
  395. package/dist/render-auth-database.d.ts.map +0 -1
  396. package/dist/render-auth-database.js +0 -69
  397. package/dist/render-auth-database.js.map +0 -1
  398. package/dist/render-auth-schema.d.ts +0 -8
  399. package/dist/render-auth-schema.d.ts.map +0 -1
  400. package/dist/render-auth-schema.js +0 -93
  401. package/dist/render-auth-schema.js.map +0 -1
  402. package/dist/render-auth-sources.d.ts +0 -17
  403. package/dist/render-auth-sources.d.ts.map +0 -1
  404. package/dist/render-auth-sources.js +0 -31
  405. package/dist/render-auth-sources.js.map +0 -1
  406. package/dist/render-auth.d.ts +0 -30
  407. package/dist/render-auth.d.ts.map +0 -1
  408. package/dist/render-auth.js +0 -79
  409. package/dist/render-auth.js.map +0 -1
  410. package/dist/render-database-sources.d.ts +0 -26
  411. package/dist/render-database-sources.d.ts.map +0 -1
  412. package/dist/render-database-sources.js +0 -82
  413. package/dist/render-database-sources.js.map +0 -1
  414. package/dist/render-database.d.ts +0 -34
  415. package/dist/render-database.d.ts.map +0 -1
  416. package/dist/render-database.js +0 -67
  417. package/dist/render-database.js.map +0 -1
  418. package/dist/render-database.types.d.ts +0 -15
  419. package/dist/render-database.types.d.ts.map +0 -1
  420. package/dist/render-database.types.js +0 -2
  421. package/dist/render-database.types.js.map +0 -1
  422. package/dist/render-domain-callables.d.ts +0 -67
  423. package/dist/render-domain-callables.d.ts.map +0 -1
  424. package/dist/render-domain-callables.js +0 -99
  425. package/dist/render-domain-callables.js.map +0 -1
  426. package/dist/render-domain-events.d.ts +0 -59
  427. package/dist/render-domain-events.d.ts.map +0 -1
  428. package/dist/render-domain-events.js +0 -92
  429. package/dist/render-domain-events.js.map +0 -1
  430. package/dist/render-domain-jobs.d.ts +0 -56
  431. package/dist/render-domain-jobs.d.ts.map +0 -1
  432. package/dist/render-domain-jobs.js +0 -84
  433. package/dist/render-domain-jobs.js.map +0 -1
  434. package/dist/render-domain-register.d.ts +0 -22
  435. package/dist/render-domain-register.d.ts.map +0 -1
  436. package/dist/render-domain-register.js +0 -31
  437. package/dist/render-domain-register.js.map +0 -1
  438. package/dist/render-domain-sources.d.ts +0 -82
  439. package/dist/render-domain-sources.d.ts.map +0 -1
  440. package/dist/render-domain-sources.js +0 -197
  441. package/dist/render-domain-sources.js.map +0 -1
  442. package/dist/render-domain.d.ts +0 -5
  443. package/dist/render-domain.d.ts.map +0 -1
  444. package/dist/render-domain.js +0 -4
  445. package/dist/render-domain.js.map +0 -1
  446. package/dist/render-domain.types.d.ts +0 -15
  447. package/dist/render-domain.types.d.ts.map +0 -1
  448. package/dist/render-domain.types.js +0 -2
  449. package/dist/render-domain.types.js.map +0 -1
  450. package/dist/render-resource-sources.d.ts +0 -16
  451. package/dist/render-resource-sources.d.ts.map +0 -1
  452. package/dist/render-resource-sources.js +0 -43
  453. package/dist/render-resource-sources.js.map +0 -1
  454. package/dist/render-resources.d.ts +0 -58
  455. package/dist/render-resources.d.ts.map +0 -1
  456. package/dist/render-resources.js +0 -100
  457. package/dist/render-resources.js.map +0 -1
  458. package/dist/render-route-sources.d.ts +0 -27
  459. package/dist/render-route-sources.d.ts.map +0 -1
  460. package/dist/render-route-sources.js +0 -56
  461. package/dist/render-route-sources.js.map +0 -1
  462. package/dist/render-routes.d.ts +0 -71
  463. package/dist/render-routes.d.ts.map +0 -1
  464. package/dist/render-routes.js +0 -111
  465. package/dist/render-routes.js.map +0 -1
  466. package/dist/render-service-members.d.ts +0 -32
  467. package/dist/render-service-members.d.ts.map +0 -1
  468. package/dist/render-service-members.js +0 -61
  469. package/dist/render-service-members.js.map +0 -1
  470. package/dist/render-service-requests.d.ts +0 -35
  471. package/dist/render-service-requests.d.ts.map +0 -1
  472. package/dist/render-service-requests.js +0 -62
  473. package/dist/render-service-requests.js.map +0 -1
  474. package/dist/render-service-support.d.ts +0 -37
  475. package/dist/render-service-support.d.ts.map +0 -1
  476. package/dist/render-service-support.js +0 -74
  477. package/dist/render-service-support.js.map +0 -1
  478. package/dist/render-service.d.ts +0 -31
  479. package/dist/render-service.d.ts.map +0 -1
  480. package/dist/render-service.js +0 -53
  481. package/dist/render-service.js.map +0 -1
  482. package/dist/render-service.types.d.ts +0 -13
  483. package/dist/render-service.types.d.ts.map +0 -1
  484. package/dist/render-service.types.js +0 -2
  485. package/dist/render-service.types.js.map +0 -1
  486. package/dist/scaffold-layout.d.ts +0 -10
  487. package/dist/scaffold-layout.d.ts.map +0 -1
  488. package/dist/scaffold-layout.js +0 -29
  489. package/dist/scaffold-layout.js.map +0 -1
  490. package/dist/source-edit.d.ts +0 -46
  491. package/dist/source-edit.d.ts.map +0 -1
  492. package/dist/source-edit.js +0 -81
  493. package/dist/source-edit.js.map +0 -1
  494. package/dist/source-factory-edit.d.ts +0 -78
  495. package/dist/source-factory-edit.d.ts.map +0 -1
  496. package/dist/source-factory-edit.js +0 -156
  497. package/dist/source-factory-edit.js.map +0 -1
  498. package/dist/source-import-edit.d.ts +0 -9
  499. package/dist/source-import-edit.d.ts.map +0 -1
  500. package/dist/source-import-edit.js +0 -71
  501. package/dist/source-import-edit.js.map +0 -1
@@ -1,118 +0,0 @@
1
- import { relative } from "node:path";
2
- import {} from "./add-types.js";
3
- import { runGeneratorPromise, runGeneratorSync } from "./generator-runtime.js";
4
- import { PlanBuilderEffects } from "./plan-builder-effects.js";
5
- /** Per-request Effect owner with synchronous and Promise compatibility edges. */
6
- export class PlanBuilder extends PlanBuilderEffects {
7
- /**
8
- * Reads source through the Promise compatibility edge.
9
- * @param path - Path inside the current project or owned resource.
10
- * @returns Planned text when present, otherwise the current project file text.
11
- */
12
- read(path) {
13
- return runGeneratorPromise(this.readEffect(path));
14
- }
15
- /**
16
- * Plans file creation through the Promise compatibility edge.
17
- * @param path - Path inside the current project or owned resource.
18
- * @param content - Complete bytes or text planned for the destination.
19
- * @param mode - Optional restored or generated permission mode.
20
- * @returns Completion after the existing contract has been applied.
21
- */
22
- create(path, content, mode) {
23
- return runGeneratorPromise(this.createEffect(path, content, mode));
24
- }
25
- /**
26
- * Plans a source update through the Promise compatibility edge.
27
- * @param path - Path inside the current project or owned resource.
28
- * @param transform - Pure transformation applied atomically to the latest planned source.
29
- * @returns Completion after the existing contract has been applied.
30
- */
31
- update(path, transform) {
32
- return runGeneratorPromise(this.updateEffect(path, transform));
33
- }
34
- /**
35
- * Preserves the existing synchronous dependency API.
36
- * @param name - Authored name or declaration key.
37
- * @returns Completion after the existing contract has been applied.
38
- */
39
- dependency(name) {
40
- runGeneratorSync(this.dependencyEffect(name));
41
- }
42
- /**
43
- * Preserves the existing synchronous artifact registration API.
44
- * @param kind - Authoritative artifact kind.
45
- * @param value - Artifact domain, source path, binding and optional identity/export form.
46
- * @returns Completion after the artifact is registered in this request.
47
- */
48
- registerArtifact(kind, value) {
49
- runGeneratorSync(this.registerArtifactEffect(kind, value));
50
- }
51
- /**
52
- * Preserves the existing synchronous profile registration API.
53
- * @param profile - Selected provider profile.
54
- * @returns Completion after the existing contract has been applied.
55
- */
56
- registerProfile(profile) {
57
- runGeneratorSync(this.registerProfileEffect(profile));
58
- }
59
- /**
60
- * Preserves the existing synchronous script API.
61
- * @param name - Authored name or declaration key.
62
- * @param command - Shell command stored under the package script name.
63
- * @returns Completion after the existing contract has been applied.
64
- */
65
- script(name, command) {
66
- runGeneratorSync(this.scriptEffect(name, command));
67
- }
68
- /**
69
- * Preserves the existing synchronous warning API.
70
- * @param code - Stable category code included in the resulting diagnostic.
71
- * @param message - Existing user-facing diagnostic.
72
- * @returns Completion after the existing contract has been applied.
73
- */
74
- warning(code, message) {
75
- runGeneratorSync(this.warningEffect(code, message));
76
- }
77
- /**
78
- * Preserves the existing synchronous next-step API.
79
- * @param command - Shell command shown as a follow-up instruction.
80
- * @returns Completion after the existing contract has been applied.
81
- */
82
- nextStep(command) {
83
- runGeneratorSync(this.nextStepEffect(command));
84
- }
85
- /**
86
- * Preserves the environment-example Promise API.
87
- * @param name - Environment variable name.
88
- * @param value - Example value used only for a new declaration.
89
- * @returns Completion after the example declaration is planned.
90
- */
91
- envExample(name, value = "") {
92
- return runGeneratorPromise(this.envExampleEffect(name, value));
93
- }
94
- /**
95
- * Preserves the gitignore Promise API.
96
- * @param pattern - Declaration-owned glob or ignore pattern.
97
- * @returns Completion after the existing contract has been applied.
98
- */
99
- gitignore(pattern) {
100
- return runGeneratorPromise(this.gitignoreEffect(pattern));
101
- }
102
- /**
103
- * Preserves the immutable plan Promise API.
104
- * @returns The frozen plan containing ordered operations, concrete dependencies and follow-up metadata.
105
- */
106
- finish() {
107
- return runGeneratorPromise(this.finishEffect());
108
- }
109
- /**
110
- * Converts a source path into its existing project-relative representation.
111
- * @param absolutePath - Absolute path converted relative to the discovered project root.
112
- * @returns The path relative to the discovered project root using forward slashes.
113
- */
114
- relative(absolutePath) {
115
- return relative(this.discovery.projectRoot, absolutePath).replaceAll("\\", "/");
116
- }
117
- }
118
- //# sourceMappingURL=plan-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-builder.js","sourceRoot":"","sources":["../src/plan-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAqB,MAAM,gBAAgB,CAAC;AAKnD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,iFAAiF;AACjF,MAAM,OAAO,WAAY,SAAQ,kBAAkB;IACjD;;;;OAIG;IACH,IAAI,CAAC,IAAY;QACf,OAAO,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAY,EAAE,OAAe,EAAE,IAAa;QACjD,OAAO,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAY,EAAE,SAAqC;QACxD,OAAO,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,IAA4B;QACrC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,IAAgC,EAAE,KAA2B;QAC5E,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,OAA0B;QACxC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAY,EAAE,OAAe;QAClC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,IAAY,EAAE,OAAe;QACnC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,OAAe;QACtB,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAY,EAAE,KAAK,GAAG,EAAE;QACjC,OAAO,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,OAAe;QACvB,OAAO,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,YAAoB;QAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClF,CAAC;CACF"}
@@ -1,22 +0,0 @@
1
- import type { ScaffoldFileOperation, ScaffoldWarning } from "./add-types.js";
2
- import type { DiscoveredArtifact, DiscoveredProfile } from "./project-discovery-types.js";
3
- import type { ScaffoldDependencyName } from "./scaffold-catalog.js";
4
- /** One request's authoritative immutable planning state, held only in its owning Ref. */
5
- export interface PlanBuilderState {
6
- readonly files: ReadonlyMap<string, ScaffoldFileOperation>;
7
- readonly dependencies: ReadonlySet<ScaffoldDependencyName>;
8
- readonly scripts: ReadonlyMap<string, string>;
9
- readonly warnings: ReadonlyMap<string, ScaffoldWarning>;
10
- readonly nextSteps: ReadonlySet<string>;
11
- readonly artifacts: readonly DiscoveredArtifact[];
12
- readonly profiles: readonly DiscoveredProfile[];
13
- }
14
- /** Artifact identity added to the current request's discovery view. */
15
- export interface PlannedArtifactInput {
16
- readonly domain: string;
17
- readonly path: string;
18
- readonly binding: string;
19
- readonly id: string;
20
- readonly exportKind?: "default" | "named";
21
- }
22
- //# sourceMappingURL=plan-builder.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-builder.types.d.ts","sourceRoot":"","sources":["../src/plan-builder.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,yFAAyF;AACzF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC3D,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACjD;AAED,uEAAuE;AACvE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC3C"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=plan-builder.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-builder.types.js","sourceRoot":"","sources":["../src/plan-builder.types.ts"],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- import { type ScaffoldDependencyName } from "./scaffold-catalog.js";
2
- import type { ScaffoldManifestMerge } from "./plan-manifest.types.js";
3
- /**
4
- * Merges supported dependencies and scripts while retaining compatible authored specifications.
5
- * @param source - Existing project manifest bytes.
6
- * @param dependencies - Supported dependency names needed by the scaffold.
7
- * @param plannedScripts - Script commands owned by the requested scaffold.
8
- * @param resolvedDependencies - Project-owned catalog values used only for compatibility checks.
9
- * @returns Sorted manifest bytes and concrete versions of newly introduced dependencies.
10
- */
11
- export declare function mergeScaffoldManifest(source: string, dependencies: ReadonlySet<ScaffoldDependencyName>, plannedScripts: ReadonlyMap<string, string>, resolvedDependencies?: Readonly<Record<string, string>>): ScaffoldManifestMerge;
12
- /**
13
- * Selects declarations using the same dependency-section precedence as scaffold merging.
14
- * @param source - Existing or already-planned project manifest bytes.
15
- * @returns Runtime declarations overriding duplicate development declarations.
16
- */
17
- export declare function scaffoldManifestDependencies(source: string): Readonly<Record<string, string>>;
18
- //# sourceMappingURL=plan-manifest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-manifest.d.ts","sourceRoot":"","sources":["../src/plan-manifest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAExF;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,WAAW,CAAC,sBAAsB,CAAC,EACjD,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3C,oBAAoB,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAC1D,qBAAqB,CAkCvB;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAG7F"}
@@ -1,100 +0,0 @@
1
- import { Schema } from "effect";
2
- import { JsonObject, ScaffoldManifestSchema } from "./project-manifest.schemas.js";
3
- import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
4
- import { SCAFFOLD_DEPENDENCIES } from "./scaffold-catalog.js";
5
- /**
6
- * Merges supported dependencies and scripts while retaining compatible authored specifications.
7
- * @param source - Existing project manifest bytes.
8
- * @param dependencies - Supported dependency names needed by the scaffold.
9
- * @param plannedScripts - Script commands owned by the requested scaffold.
10
- * @param resolvedDependencies - Project-owned catalog values used only for compatibility checks.
11
- * @returns Sorted manifest bytes and concrete versions of newly introduced dependencies.
12
- */
13
- export function mergeScaffoldManifest(source, dependencies, plannedScripts, resolvedDependencies = {}) {
14
- const manifest = parseManifest(source);
15
- const added = {};
16
- for (const name of [...dependencies].sort()) {
17
- const wanted = SCAFFOLD_DEPENDENCIES[name];
18
- const current = manifest.dependencies?.[name] ?? manifest.devDependencies?.[name];
19
- const compared = resolvedDependencies[name] ?? current;
20
- if (current !== undefined &&
21
- compared !== wanted.version &&
22
- current !== "workspace:*" &&
23
- current !== `link:${name}`) {
24
- collision(`package.json already declares ${name}@${current}.`);
25
- }
26
- if (current !== undefined)
27
- continue;
28
- const section = wanted.section === "dependencies"
29
- ? (manifest.dependencies ??= {})
30
- : (manifest.devDependencies ??= {});
31
- section[name] = wanted.version;
32
- added[name] = wanted.version;
33
- }
34
- const scripts = (manifest.scripts ??= {});
35
- for (const [name, command] of plannedScripts) {
36
- if (scripts[name] !== undefined && scripts[name] !== command) {
37
- collision(`package.json script ${name} already exists.`);
38
- }
39
- scripts[name] = command;
40
- }
41
- if (manifest.dependencies)
42
- manifest.dependencies = sort(manifest.dependencies);
43
- if (manifest.devDependencies)
44
- manifest.devDependencies = sort(manifest.devDependencies);
45
- manifest.scripts = sort(scripts);
46
- return { content: `${JSON.stringify(manifest, null, 2)}\n`, added };
47
- }
48
- /**
49
- * Selects declarations using the same dependency-section precedence as scaffold merging.
50
- * @param source - Existing or already-planned project manifest bytes.
51
- * @returns Runtime declarations overriding duplicate development declarations.
52
- */
53
- export function scaffoldManifestDependencies(source) {
54
- const manifest = parseManifest(source);
55
- return { ...manifest.devDependencies, ...manifest.dependencies };
56
- }
57
- /**
58
- * Validates mutable manifest sections before any scaffold plan is committed.
59
- * @param source - JSON manifest bytes supplied by project discovery or planning.
60
- * @returns A manifest preserving unrelated fields while exposing validated owned sections.
61
- */
62
- function parseManifest(source) {
63
- const value = JSON.parse(source);
64
- try {
65
- const original = Schema.decodeUnknownSync(JsonObject)(value);
66
- const manifest = Schema.decodeUnknownSync(ScaffoldManifestSchema)(original);
67
- return {
68
- ...original,
69
- ...(manifest.dependencies === undefined
70
- ? {}
71
- : { dependencies: { ...manifest.dependencies } }),
72
- ...(manifest.devDependencies === undefined
73
- ? {}
74
- : { devDependencies: { ...manifest.devDependencies } }),
75
- ...(manifest.scripts === undefined ? {} : { scripts: { ...manifest.scripts } }),
76
- };
77
- }
78
- catch (error) {
79
- if (!Schema.isSchemaError(error))
80
- throw error;
81
- throw new AddScaffoldError(ADD_FAILURE_CODES.invalidProject, "package.json dependencies and scripts must contain string values.");
82
- }
83
- }
84
- /**
85
- * Orders owned manifest string records by key.
86
- * @param value - Owned dependency or script record.
87
- * @returns A new record whose entries use deterministic sorted keys.
88
- */
89
- function sort(value) {
90
- return Object.fromEntries(Object.entries(value).sort());
91
- }
92
- /**
93
- * Rejects an existing declaration that conflicts with planned output.
94
- * @param message - Diagnostic explaining the conflicting declaration.
95
- * @returns No value; throws AddScaffoldError with RELKIT_ADD_COLLISION.
96
- */
97
- function collision(message) {
98
- throw new AddScaffoldError(ADD_FAILURE_CODES.collision, message);
99
- }
100
- //# sourceMappingURL=plan-manifest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-manifest.js","sourceRoot":"","sources":["../src/plan-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAA+B,MAAM,uBAAuB,CAAC;AAG3F;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,YAAiD,EACjD,cAA2C,EAC3C,uBAAyD,EAAE;IAE3D,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC;QACvD,IACE,OAAO,KAAK,SAAS;YACrB,QAAQ,KAAK,MAAM,CAAC,OAAO;YAC3B,OAAO,KAAK,aAAa;YACzB,OAAO,KAAK,QAAQ,IAAI,EAAE,EAC1B,CAAC;YACD,SAAS,CAAC,iCAAiC,IAAI,IAAI,OAAO,GAAG,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,MAAM,OAAO,GACX,MAAM,CAAC,OAAO,KAAK,cAAc;YAC/B,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,KAAK,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,cAAc,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAC7D,SAAS,CAAC,uBAAuB,IAAI,kBAAkB,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IAC1B,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY;QAAE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/E,IAAI,QAAQ,CAAC,eAAe;QAAE,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACxF,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAc;IACzD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,EAAE,GAAG,QAAQ,CAAC,eAAe,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5E,OAAO;YACL,GAAG,QAAQ;YACX,GAAG,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;YACnD,GAAG,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS;gBACxC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC;YACzD,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;SAChF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QAC9C,MAAM,IAAI,gBAAgB,CACxB,iBAAiB,CAAC,cAAc,EAChC,mEAAmE,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,IAAI,CAAC,KAA6B;IACzC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC"}
@@ -1,13 +0,0 @@
1
- /** Project manifest sections owned by scaffold dependency and script planning. */
2
- export interface ScaffoldManifest {
3
- dependencies?: Record<string, string>;
4
- devDependencies?: Record<string, string>;
5
- scripts?: Record<string, string>;
6
- readonly [key: string]: unknown;
7
- }
8
- /** Deterministic manifest bytes and newly introduced dependency identities. */
9
- export interface ScaffoldManifestMerge {
10
- readonly content: string;
11
- readonly added: Record<string, string>;
12
- }
13
- //# sourceMappingURL=plan-manifest.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-manifest.types.d.ts","sourceRoot":"","sources":["../src/plan-manifest.types.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=plan-manifest.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-manifest.types.js","sourceRoot":"","sources":["../src/plan-manifest.types.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- import { Effect } from "effect";
2
- import { GeneratorFileSystem } from "./generator-filesystem.js";
3
- /**
4
- * Resolves authored Bun aliases without replacing declarations or hiding filesystem authority.
5
- * @param projectRoot - Directory whose nearest catalog owns the aliases.
6
- * @param dependencies - Specifications to compare with supported concrete versions.
7
- * @returns Concrete values or a typed invalid-project failure.
8
- */
9
- export declare const resolveProjectDependenciesEffect: (projectRoot: string, dependencies: Readonly<Record<string, string>>) => Effect.Effect<Readonly<Record<string, string>>, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorDomainError, GeneratorFileSystem>;
10
- /**
11
- * Preserves the project catalog Promise API and authored alias ownership.
12
- * @param projectRoot - Project directory.
13
- * @param dependencies - Specifications to resolve.
14
- * @returns Concrete comparisons; specifications that do not use catalogs remain unchanged.
15
- */
16
- export declare function resolveProjectDependencies(projectRoot: string, dependencies: Readonly<Record<string, string>>): Promise<Readonly<Record<string, string>>>;
17
- //# sourceMappingURL=project-catalog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-catalog.d.ts","sourceRoot":"","sources":["../src/project-catalog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAGxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKhE;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,wPAiB5C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAE3C"}
@@ -1,69 +0,0 @@
1
- import { observeExecution } from "@relkit/contracts/operation";
2
- import { dirname, join, resolve } from "node:path";
3
- import { Effect, Schema } from "effect";
4
- import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
5
- import { resolveCatalogVersion } from "./catalog-resolution.js";
6
- import { GeneratorFileSystem } from "./generator-filesystem.js";
7
- import { domainError, domainTry, errorMessage, hasErrno } from "./generator-errors.js";
8
- import { runGeneratorPromise } from "./generator-runtime.js";
9
- import { JsonObject } from "./project-manifest.schemas.js";
10
- /**
11
- * Resolves authored Bun aliases without replacing declarations or hiding filesystem authority.
12
- * @param projectRoot - Directory whose nearest catalog owns the aliases.
13
- * @param dependencies - Specifications to compare with supported concrete versions.
14
- * @returns Concrete values or a typed invalid-project failure.
15
- */
16
- export const resolveProjectDependenciesEffect = Effect.fn("ProjectCatalog.resolve")(function* (projectRoot, dependencies) {
17
- if (!Object.values(dependencies).some((value) => value.startsWith("catalog:")))
18
- return dependencies;
19
- const manifest = yield* findCatalogRootEffect(projectRoot);
20
- return yield* Effect.try({
21
- try: () => Object.fromEntries(Object.entries(dependencies).map(([name, specification]) => [
22
- name,
23
- resolveCatalogVersion(manifest, name, specification),
24
- ])),
25
- catch: (error) => invalid(errorMessage(error)),
26
- });
27
- }, (effect) => observeExecution("generator", "planning.resolveProjectDependencies", effect));
28
- /**
29
- * Preserves the project catalog Promise API and authored alias ownership.
30
- * @param projectRoot - Project directory.
31
- * @param dependencies - Specifications to resolve.
32
- * @returns Concrete comparisons; specifications that do not use catalogs remain unchanged.
33
- */
34
- export function resolveProjectDependencies(projectRoot, dependencies) {
35
- return runGeneratorPromise(resolveProjectDependenciesEffect(projectRoot, dependencies));
36
- }
37
- /**
38
- * Finds the closest catalog-owning manifest through explicit filesystem authority.
39
- * @param projectRoot - Initial project directory.
40
- * @returns Decoded catalog owner; missing files are traversed, malformed files reject.
41
- */
42
- const findCatalogRootEffect = Effect.fn("ProjectCatalog.findOwner")(function* (projectRoot) {
43
- const fs = yield* GeneratorFileSystem;
44
- for (let current = resolve(projectRoot);; current = dirname(current)) {
45
- const contents = yield* fs.readText(join(current, "package.json")).pipe(Effect.catchIf((error) => hasErrno(error, "ENOENT"), () => Effect.succeed(undefined)));
46
- if (contents !== undefined) {
47
- const parsed = yield* domainTry(() => JSON.parse(contents));
48
- const manifest = yield* Schema.decodeUnknownEffect(JsonObject)(parsed).pipe(Effect.mapError(() => invalid("package.json must contain an object.")));
49
- const workspaces = yield* Schema.decodeUnknownEffect(JsonObject)(manifest.workspaces).pipe(Effect.catch(() => Effect.succeed({})));
50
- if (manifest.catalog !== undefined ||
51
- manifest.catalogs !== undefined ||
52
- workspaces.catalog !== undefined ||
53
- workspaces.catalogs !== undefined)
54
- return manifest;
55
- }
56
- if (dirname(current) === current)
57
- break;
58
- }
59
- return yield* Effect.fail(invalid(`No Bun catalog owns project ${projectRoot}.`));
60
- }, (effect) => observeExecution("generator", "planning.findCatalogRoot", effect));
61
- /**
62
- * Constructs the existing invalid-project error without losing constructor identity.
63
- * @param message - User-facing diagnostic or prompt text.
64
- * @returns A GeneratorDomainError retaining the canonical invalid-project AddScaffoldError.
65
- */
66
- function invalid(message) {
67
- return domainError(new AddScaffoldError(ADD_FAILURE_CODES.invalidProject, message));
68
- }
69
- //# sourceMappingURL=project-catalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-catalog.js","sourceRoot":"","sources":["../src/project-catalog.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import type { DiscoveredProfile } from "./project-discovery-types.js";
2
- /**
3
- * Reads the canonical app factory and its source-declared environment/providers.
4
- * @param source - Authored source text inspected or transformed without execution.
5
- * @param path - Path inside the current project or owned resource.
6
- * @param root - Absolute project or owned resource root.
7
- * @returns The recognized app factory, optional environment source path and provider profiles.
8
- */
9
- export declare function readAppDiscovery(source: string, path: string, root: string): {
10
- readonly factory: "defineApp" | "defineConfig";
11
- readonly envPath?: string;
12
- readonly profiles: readonly DiscoveredProfile[];
13
- };
14
- //# sourceMappingURL=project-discovery-app.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-discovery-app.d.ts","sourceRoot":"","sources":["../src/project-discovery-app.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAQtE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACjD,CAiBA"}
@@ -1,193 +0,0 @@
1
- import { dirname, join, resolve } from "node:path";
2
- import * as ts from "typescript";
3
- import { ADD_FAILURE_CODES, AddScaffoldError } from "./add-types.js";
4
- import { readFactoryObject, staticPropertyName } from "./source-edit.js";
5
- /**
6
- * Provider capabilities recognized in static app configuration.
7
- */
8
- const CAPABILITIES = ["bucket", "cache", "job", "event", "model"];
9
- /**
10
- * Reads the canonical app factory and its source-declared environment/providers.
11
- * @param source - Authored source text inspected or transformed without execution.
12
- * @param path - Path inside the current project or owned resource.
13
- * @param root - Absolute project or owned resource root.
14
- * @returns The recognized app factory, optional environment source path and provider profiles.
15
- */
16
- export function readAppDiscovery(source, path, root) {
17
- for (const factory of ["defineApp", "defineConfig"]) {
18
- try {
19
- const object = readFactoryObject(source, path, [factory]);
20
- return {
21
- factory,
22
- ...optional("envPath", importedEnvPath(source, object, path, root)),
23
- profiles: readProfiles(object),
24
- };
25
- }
26
- catch (error) {
27
- if (factory === "defineConfig")
28
- throw error;
29
- }
30
- }
31
- throw new AddScaffoldError(ADD_FAILURE_CODES.unsupportedSourceShape, `${path} has no canonical app.`);
32
- }
33
- /**
34
- * Reads provider profiles, aliases and default selections from app configuration.
35
- * @param object - App factory's object-literal argument.
36
- * @returns Source-discovered provider profile facts without importing the configuration.
37
- */
38
- function readProfiles(object) {
39
- const defaults = objectPropertyObject(object, "defaults");
40
- return CAPABILITIES.flatMap((capability) => {
41
- const item = profileProperty(object, capability);
42
- if (!item || !ts.isPropertyAssignment(item))
43
- return [];
44
- const value = unwrap(item.initializer);
45
- const profiles = value && ts.isObjectLiteralExpression(value) ? value.properties : [];
46
- const direct = value !== undefined && ts.isCallExpression(value);
47
- return (direct ? [undefined] : profiles).flatMap((entry) => {
48
- const name = entry === undefined ? "default" : staticPropertyName(entry.name);
49
- if (name === undefined)
50
- return [];
51
- const expression = entry && ts.isPropertyAssignment(entry) ? unwrap(entry.initializer) : value;
52
- return [
53
- {
54
- capability,
55
- name,
56
- ...optional("adapter", expression && ts.isCallExpression(expression) ? callName(expression) : undefined),
57
- ...optional("modelId", capability === "model" && expression && ts.isCallExpression(expression)
58
- ? callStringOption(expression, "defaultModel")
59
- : undefined),
60
- isDefault: defaultValue(defaults, capability === "job" ? "jobs" : capability) === name ||
61
- (capability === "job" && defaultValue(defaults, "job") === name) ||
62
- (direct && name === "default"),
63
- },
64
- ];
65
- });
66
- });
67
- }
68
- /**
69
- * Resolves the statically imported environment source for a shorthand env property.
70
- * @param source - Authored source text inspected or transformed without execution.
71
- * @param object - Object-literal AST whose properties are inspected.
72
- * @param appPath - App configuration source path used to resolve its imports.
73
- * @param root - Absolute project or owned resource root.
74
- * @returns The environment import's resolved TypeScript path, or undefined when not statically discoverable.
75
- */
76
- function importedEnvPath(source, object, appPath, root) {
77
- const env = objectProperty(object, "env");
78
- if (!env || !ts.isShorthandPropertyAssignment(env))
79
- return undefined;
80
- const file = ts.createSourceFile(appPath, source, ts.ScriptTarget.Latest, true);
81
- const declaration = file.statements
82
- .filter(ts.isImportDeclaration)
83
- .find((statement) => statement.importClause?.name?.text === env.name.text);
84
- if (!declaration || !ts.isStringLiteralLike(declaration.moduleSpecifier))
85
- return undefined;
86
- const specifier = declaration.moduleSpecifier.text;
87
- const imported = specifier.startsWith("@app/")
88
- ? join(root, "src", specifier.slice(5))
89
- : resolve(dirname(appPath), specifier);
90
- return imported.replace(/\.js$/, ".ts");
91
- }
92
- /**
93
- * Finds a statically named app configuration property.
94
- * @param object - App configuration object-literal AST.
95
- * @param name - Authored name or declaration key.
96
- * @returns The matching property, or undefined when absent.
97
- */
98
- function objectProperty(object, name) {
99
- return object.properties.find((item) => staticPropertyName(item.name) === name);
100
- }
101
- /**
102
- * Reads the capability property, including the jobs/job alias.
103
- * @param object - App configuration object-literal AST.
104
- * @param capability - Requested provider capability.
105
- * @returns The matching capability declaration, or undefined when absent.
106
- */
107
- function profileProperty(object, capability) {
108
- return capability === "job"
109
- ? (objectProperty(object, "jobs") ?? objectProperty(object, "job"))
110
- : objectProperty(object, capability);
111
- }
112
- /**
113
- * Reads a statically declared object-valued property.
114
- * @param object - Owning object-literal AST.
115
- * @param name - Authored name or declaration key.
116
- * @returns The unwrapped object literal, or undefined for absent/nonliteral values.
117
- */
118
- function objectPropertyObject(object, name) {
119
- const item = objectProperty(object, name);
120
- const value = item && ts.isPropertyAssignment(item) ? unwrap(item.initializer) : undefined;
121
- return value && ts.isObjectLiteralExpression(value) ? value : undefined;
122
- }
123
- /**
124
- * Reads one literal default selection from app configuration.
125
- * @param object - Object-literal AST whose properties are inspected.
126
- * @param name - Authored name or declaration key.
127
- * @returns The declared string default, or undefined for absent/nonliteral properties.
128
- */
129
- function defaultValue(object, name) {
130
- const item = object && objectProperty(object, name);
131
- return item && ts.isPropertyAssignment(item) && ts.isStringLiteralLike(item.initializer)
132
- ? item.initializer.text
133
- : undefined;
134
- }
135
- /**
136
- * Reads static constructor names, including nested adapter wrappers.
137
- * @param call - Call-expression AST inspected without evaluation.
138
- * @returns The static adapter name including nested constructor names, or undefined for dynamic calls.
139
- */
140
- function callName(call) {
141
- const name = ts.isIdentifier(call.expression)
142
- ? call.expression.text
143
- : ts.isPropertyAccessExpression(call.expression)
144
- ? call.expression.name.text
145
- : undefined;
146
- if (name === undefined)
147
- return undefined;
148
- const nested = call.arguments
149
- .map((argument) => unwrap(argument))
150
- .find((argument) => argument !== undefined && ts.isCallExpression(argument));
151
- const nestedName = nested === undefined ? undefined : callName(nested);
152
- return nestedName === undefined ? name : `${name}(${nestedName})`;
153
- }
154
- /**
155
- * Reads one literal option from a constructor's first object argument.
156
- * @param call - Call-expression AST inspected without evaluation.
157
- * @param name - Authored name or declaration key.
158
- * @returns The string option from the first object argument, or undefined when nonliteral or absent.
159
- */
160
- function callStringOption(call, name) {
161
- const value = unwrap(call.arguments[0]);
162
- if (!value || !ts.isObjectLiteralExpression(value))
163
- return undefined;
164
- const item = objectProperty(value, name);
165
- return item && ts.isPropertyAssignment(item) && ts.isStringLiteralLike(item.initializer)
166
- ? item.initializer.text
167
- : undefined;
168
- }
169
- /**
170
- * Removes parentheses and TypeScript assertions from a source expression.
171
- * @param value - AST expression whose static wrapper nodes are ignored.
172
- * @returns The underlying expression, or undefined when no expression was supplied.
173
- */
174
- function unwrap(value) {
175
- return value &&
176
- (ts.isAsExpression(value) ||
177
- ts.isSatisfiesExpression(value) ||
178
- ts.isParenthesizedExpression(value))
179
- ? unwrap(value.expression)
180
- : value;
181
- }
182
- /**
183
- * Omits absent fields when constructing a public result.
184
- * @typeParam Name - Literal property key retained in the mapped result.
185
- * @typeParam Value - Value type retained for the optional property.
186
- * @param name - Result property key.
187
- * @param value - Defined property value or undefined to omit it.
188
- * @returns An empty object for undefined, otherwise an object containing the named field.
189
- */
190
- function optional(name, value) {
191
- return value === undefined ? {} : { [name]: value };
192
- }
193
- //# sourceMappingURL=project-discovery-app.js.map