@slopus/beer 0.1.1 → 0.1.2

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 (645) hide show
  1. package/README.md +10 -8
  2. package/dist/_workflows/_index.d.ts +14 -0
  3. package/dist/_workflows/_index.d.ts.map +1 -0
  4. package/dist/_workflows/_index.js +46 -0
  5. package/dist/_workflows/_index.js.map +1 -0
  6. package/dist/_workflows/bootstrap.d.ts +6 -0
  7. package/dist/_workflows/bootstrap.d.ts.map +1 -0
  8. package/dist/_workflows/bootstrap.js +109 -0
  9. package/dist/_workflows/bootstrap.js.map +1 -0
  10. package/dist/_workflows/checkpointWorkflow.d.ts +7 -0
  11. package/dist/_workflows/checkpointWorkflow.d.ts.map +1 -0
  12. package/dist/_workflows/checkpointWorkflow.js +11 -0
  13. package/dist/_workflows/checkpointWorkflow.js.map +1 -0
  14. package/dist/_workflows/context/context.d.ts +100 -0
  15. package/dist/_workflows/context/context.d.ts.map +1 -0
  16. package/dist/_workflows/context/context.js +246 -0
  17. package/dist/_workflows/context/context.js.map +1 -0
  18. package/dist/_workflows/context/context.spec.d.ts +2 -0
  19. package/dist/_workflows/context/context.spec.d.ts.map +1 -0
  20. package/dist/_workflows/context/context.spec.js +230 -0
  21. package/dist/_workflows/context/context.spec.js.map +1 -0
  22. package/dist/_workflows/context/utils/contextApplyConfig.d.ts +7 -0
  23. package/dist/_workflows/context/utils/contextApplyConfig.d.ts.map +1 -0
  24. package/dist/_workflows/context/utils/contextApplyConfig.js +22 -0
  25. package/dist/_workflows/context/utils/contextApplyConfig.js.map +1 -0
  26. package/dist/_workflows/context/utils/contextApplyConfig.spec.d.ts +2 -0
  27. package/dist/_workflows/context/utils/contextApplyConfig.spec.d.ts.map +1 -0
  28. package/dist/_workflows/context/utils/contextApplyConfig.spec.js +24 -0
  29. package/dist/_workflows/context/utils/contextApplyConfig.spec.js.map +1 -0
  30. package/dist/_workflows/context/utils/contextAskGithubRepo.d.ts +7 -0
  31. package/dist/_workflows/context/utils/contextAskGithubRepo.d.ts.map +1 -0
  32. package/dist/_workflows/context/utils/contextAskGithubRepo.js +23 -0
  33. package/dist/_workflows/context/utils/contextAskGithubRepo.js.map +1 -0
  34. package/dist/_workflows/context/utils/contextAskGithubRepo.spec.d.ts +2 -0
  35. package/dist/_workflows/context/utils/contextAskGithubRepo.spec.d.ts.map +1 -0
  36. package/dist/_workflows/context/utils/contextAskGithubRepo.spec.js +36 -0
  37. package/dist/_workflows/context/utils/contextAskGithubRepo.spec.js.map +1 -0
  38. package/dist/_workflows/context/utils/contextGitignoreEnsure.d.ts +6 -0
  39. package/dist/_workflows/context/utils/contextGitignoreEnsure.d.ts.map +1 -0
  40. package/dist/_workflows/context/utils/contextGitignoreEnsure.js +60 -0
  41. package/dist/_workflows/context/utils/contextGitignoreEnsure.js.map +1 -0
  42. package/dist/_workflows/context/utils/contextGitignoreEnsure.spec.d.ts +2 -0
  43. package/dist/_workflows/context/utils/contextGitignoreEnsure.spec.d.ts.map +1 -0
  44. package/dist/_workflows/context/utils/contextGitignoreEnsure.spec.js +35 -0
  45. package/dist/_workflows/context/utils/contextGitignoreEnsure.spec.js.map +1 -0
  46. package/dist/_workflows/context/utils/progressMultilineStart.d.ts +15 -0
  47. package/dist/_workflows/context/utils/progressMultilineStart.d.ts.map +1 -0
  48. package/dist/_workflows/context/utils/progressMultilineStart.js +115 -0
  49. package/dist/_workflows/context/utils/progressMultilineStart.js.map +1 -0
  50. package/dist/_workflows/context/utils/progressMultilineStart.spec.d.ts +2 -0
  51. package/dist/_workflows/context/utils/progressMultilineStart.spec.d.ts.map +1 -0
  52. package/dist/_workflows/context/utils/progressMultilineStart.spec.js +30 -0
  53. package/dist/_workflows/context/utils/progressMultilineStart.spec.js.map +1 -0
  54. package/dist/_workflows/context/utils/progressStart.d.ts +11 -0
  55. package/dist/_workflows/context/utils/progressStart.d.ts.map +1 -0
  56. package/dist/_workflows/context/utils/progressStart.js +73 -0
  57. package/dist/_workflows/context/utils/progressStart.js.map +1 -0
  58. package/dist/_workflows/planWorkflow.d.ts +7 -0
  59. package/dist/_workflows/planWorkflow.d.ts.map +1 -0
  60. package/dist/_workflows/planWorkflow.js +63 -0
  61. package/dist/_workflows/planWorkflow.js.map +1 -0
  62. package/dist/_workflows/ralphLoopWorkflow.d.ts +7 -0
  63. package/dist/_workflows/ralphLoopWorkflow.d.ts.map +1 -0
  64. package/dist/_workflows/ralphLoopWorkflow.js +21 -0
  65. package/dist/_workflows/ralphLoopWorkflow.js.map +1 -0
  66. package/dist/_workflows/ralphWorkflow.d.ts +7 -0
  67. package/dist/_workflows/ralphWorkflow.d.ts.map +1 -0
  68. package/dist/_workflows/ralphWorkflow.js +19 -0
  69. package/dist/_workflows/ralphWorkflow.js.map +1 -0
  70. package/dist/_workflows/researchWorkflow.d.ts +7 -0
  71. package/dist/_workflows/researchWorkflow.d.ts.map +1 -0
  72. package/dist/_workflows/researchWorkflow.js +312 -0
  73. package/dist/_workflows/researchWorkflow.js.map +1 -0
  74. package/dist/_workflows/steps/generate.d.ts +11 -0
  75. package/dist/_workflows/steps/generate.d.ts.map +1 -0
  76. package/dist/_workflows/steps/generate.js +42 -0
  77. package/dist/_workflows/steps/generate.js.map +1 -0
  78. package/dist/_workflows/steps/generateCommit.d.ts +16 -0
  79. package/dist/_workflows/steps/generateCommit.d.ts.map +1 -0
  80. package/dist/_workflows/steps/generateCommit.js +29 -0
  81. package/dist/_workflows/steps/generateCommit.js.map +1 -0
  82. package/dist/_workflows/steps/generateDocument.d.ts +26 -0
  83. package/dist/_workflows/steps/generateDocument.d.ts.map +1 -0
  84. package/dist/_workflows/steps/generateDocument.js +62 -0
  85. package/dist/_workflows/steps/generateDocument.js.map +1 -0
  86. package/dist/_workflows/steps/generateDocument.spec.d.ts +2 -0
  87. package/dist/_workflows/steps/generateDocument.spec.d.ts.map +1 -0
  88. package/dist/_workflows/steps/generateDocument.spec.js +56 -0
  89. package/dist/_workflows/steps/generateDocument.spec.js.map +1 -0
  90. package/dist/_workflows/steps/generateFrontmatter.d.ts +17 -0
  91. package/dist/_workflows/steps/generateFrontmatter.d.ts.map +1 -0
  92. package/dist/_workflows/steps/generateFrontmatter.js +51 -0
  93. package/dist/_workflows/steps/generateFrontmatter.js.map +1 -0
  94. package/dist/_workflows/steps/generateProgressMessageResolve.d.ts +10 -0
  95. package/dist/_workflows/steps/generateProgressMessageResolve.d.ts.map +1 -0
  96. package/dist/_workflows/steps/generateProgressMessageResolve.js +75 -0
  97. package/dist/_workflows/steps/generateProgressMessageResolve.js.map +1 -0
  98. package/dist/_workflows/steps/generateProgressMessageResolve.spec.d.ts +2 -0
  99. package/dist/_workflows/steps/generateProgressMessageResolve.spec.d.ts.map +1 -0
  100. package/dist/_workflows/steps/generateProgressMessageResolve.spec.js +53 -0
  101. package/dist/_workflows/steps/generateProgressMessageResolve.spec.js.map +1 -0
  102. package/dist/_workflows/steps/generateReadme.d.ts +21 -0
  103. package/dist/_workflows/steps/generateReadme.d.ts.map +1 -0
  104. package/dist/_workflows/steps/generateReadme.js +32 -0
  105. package/dist/_workflows/steps/generateReadme.js.map +1 -0
  106. package/dist/_workflows/steps/ralphExecute.d.ts +11 -0
  107. package/dist/_workflows/steps/ralphExecute.d.ts.map +1 -0
  108. package/dist/_workflows/steps/ralphExecute.js +39 -0
  109. package/dist/_workflows/steps/ralphExecute.js.map +1 -0
  110. package/dist/_workflows/steps/ralphLoopExecute.d.ts +11 -0
  111. package/dist/_workflows/steps/ralphLoopExecute.d.ts.map +1 -0
  112. package/dist/_workflows/steps/ralphLoopExecute.js +39 -0
  113. package/dist/_workflows/steps/ralphLoopExecute.js.map +1 -0
  114. package/dist/_workflows/steps/ralphLoopPlanGenerate.d.ts +15 -0
  115. package/dist/_workflows/steps/ralphLoopPlanGenerate.d.ts.map +1 -0
  116. package/dist/_workflows/steps/ralphLoopPlanGenerate.js +46 -0
  117. package/dist/_workflows/steps/ralphLoopPlanGenerate.js.map +1 -0
  118. package/dist/_workflows/steps/ralphLoopPlanPathResolve.d.ts +7 -0
  119. package/dist/_workflows/steps/ralphLoopPlanPathResolve.d.ts.map +1 -0
  120. package/dist/_workflows/steps/ralphLoopPlanPathResolve.js +21 -0
  121. package/dist/_workflows/steps/ralphLoopPlanPathResolve.js.map +1 -0
  122. package/dist/_workflows/steps/ralphLoopReviewRound.d.ts +11 -0
  123. package/dist/_workflows/steps/ralphLoopReviewRound.d.ts.map +1 -0
  124. package/dist/_workflows/steps/ralphLoopReviewRound.js +42 -0
  125. package/dist/_workflows/steps/ralphLoopReviewRound.js.map +1 -0
  126. package/dist/_workflows/steps/ralphPlan.d.ts +15 -0
  127. package/dist/_workflows/steps/ralphPlan.d.ts.map +1 -0
  128. package/dist/_workflows/steps/ralphPlan.js +100 -0
  129. package/dist/_workflows/steps/ralphPlan.js.map +1 -0
  130. package/dist/_workflows/steps/ralphPlanPathResolve.d.ts +7 -0
  131. package/dist/_workflows/steps/ralphPlanPathResolve.d.ts.map +1 -0
  132. package/dist/_workflows/steps/ralphPlanPathResolve.js +21 -0
  133. package/dist/_workflows/steps/ralphPlanPathResolve.js.map +1 -0
  134. package/dist/_workflows/steps/ralphPlanPathResolve.spec.d.ts +2 -0
  135. package/dist/_workflows/steps/ralphPlanPathResolve.spec.d.ts.map +1 -0
  136. package/dist/_workflows/steps/ralphPlanPathResolve.spec.js +19 -0
  137. package/dist/_workflows/steps/ralphPlanPathResolve.spec.js.map +1 -0
  138. package/dist/_workflows/steps/ralphPlanResponseParse.d.ts +10 -0
  139. package/dist/_workflows/steps/ralphPlanResponseParse.d.ts.map +1 -0
  140. package/dist/_workflows/steps/ralphPlanResponseParse.js +35 -0
  141. package/dist/_workflows/steps/ralphPlanResponseParse.js.map +1 -0
  142. package/dist/_workflows/steps/ralphPlanResponseParse.spec.d.ts +2 -0
  143. package/dist/_workflows/steps/ralphPlanResponseParse.spec.d.ts.map +1 -0
  144. package/dist/_workflows/steps/ralphPlanResponseParse.spec.js +46 -0
  145. package/dist/_workflows/steps/ralphPlanResponseParse.spec.js.map +1 -0
  146. package/dist/_workflows/steps/ralphReview.d.ts +12 -0
  147. package/dist/_workflows/steps/ralphReview.d.ts.map +1 -0
  148. package/dist/_workflows/steps/ralphReview.js +75 -0
  149. package/dist/_workflows/steps/ralphReview.js.map +1 -0
  150. package/dist/_workflows/steps/ralphReviewNoIssuesDetect.d.ts +6 -0
  151. package/dist/_workflows/steps/ralphReviewNoIssuesDetect.d.ts.map +1 -0
  152. package/dist/_workflows/steps/ralphReviewNoIssuesDetect.js +8 -0
  153. package/dist/_workflows/steps/ralphReviewNoIssuesDetect.js.map +1 -0
  154. package/dist/_workflows/steps/ralphReviewNoIssuesDetect.spec.d.ts +2 -0
  155. package/dist/_workflows/steps/ralphReviewNoIssuesDetect.spec.d.ts.map +1 -0
  156. package/dist/_workflows/steps/ralphReviewNoIssuesDetect.spec.js +14 -0
  157. package/dist/_workflows/steps/ralphReviewNoIssuesDetect.spec.js.map +1 -0
  158. package/dist/main.js +40 -9
  159. package/dist/main.js.map +1 -1
  160. package/dist/modules/ai/aiOutputExtract.js.map +1 -1
  161. package/dist/modules/ai/aiOutputExtract.spec.js.map +1 -1
  162. package/dist/modules/ai/generate.d.ts +14 -2
  163. package/dist/modules/ai/generate.d.ts.map +1 -1
  164. package/dist/modules/ai/generate.js +113 -25
  165. package/dist/modules/ai/generate.js.map +1 -1
  166. package/dist/modules/ai/generate.spec.js +1 -8
  167. package/dist/modules/ai/generate.spec.js.map +1 -1
  168. package/dist/modules/ai/generate.unit.spec.d.ts +2 -0
  169. package/dist/modules/ai/generate.unit.spec.d.ts.map +1 -0
  170. package/dist/modules/ai/generate.unit.spec.js +185 -0
  171. package/dist/modules/ai/generate.unit.spec.js.map +1 -0
  172. package/dist/modules/ai/generateEventTypes.d.ts +26 -0
  173. package/dist/modules/ai/generateEventTypes.d.ts.map +1 -0
  174. package/dist/modules/ai/generateEventTypes.js +2 -0
  175. package/dist/modules/ai/generateEventTypes.js.map +1 -0
  176. package/dist/modules/ai/generateFile.d.ts +6 -2
  177. package/dist/modules/ai/generateFile.d.ts.map +1 -1
  178. package/dist/modules/ai/generateFile.js +25 -12
  179. package/dist/modules/ai/generateFile.js.map +1 -1
  180. package/dist/modules/ai/generateFile.spec.js +108 -7
  181. package/dist/modules/ai/generateFile.spec.js.map +1 -1
  182. package/dist/modules/ai/generatePureSessionCreate.d.ts +19 -0
  183. package/dist/modules/ai/generatePureSessionCreate.d.ts.map +1 -0
  184. package/dist/modules/ai/generatePureSessionCreate.js +31 -0
  185. package/dist/modules/ai/generatePureSessionCreate.js.map +1 -0
  186. package/dist/modules/ai/generatePureSessionCreate.spec.d.ts +2 -0
  187. package/dist/modules/ai/generatePureSessionCreate.spec.d.ts.map +1 -0
  188. package/dist/modules/ai/generatePureSessionCreate.spec.js +38 -0
  189. package/dist/modules/ai/generatePureSessionCreate.spec.js.map +1 -0
  190. package/dist/modules/ai/generatePureText.d.ts +16 -0
  191. package/dist/modules/ai/generatePureText.d.ts.map +1 -0
  192. package/dist/modules/ai/generatePureText.js +151 -0
  193. package/dist/modules/ai/generatePureText.js.map +1 -0
  194. package/dist/modules/ai/generatePureText.spec.d.ts +2 -0
  195. package/dist/modules/ai/generatePureText.spec.d.ts.map +1 -0
  196. package/dist/modules/ai/generatePureText.spec.js +67 -0
  197. package/dist/modules/ai/generatePureText.spec.js.map +1 -0
  198. package/dist/modules/ai/generateSessionCreate.d.ts +18 -0
  199. package/dist/modules/ai/generateSessionCreate.d.ts.map +1 -0
  200. package/dist/modules/ai/generateSessionCreate.js +31 -0
  201. package/dist/modules/ai/generateSessionCreate.js.map +1 -0
  202. package/dist/modules/ai/generateSessionCreate.spec.d.ts +2 -0
  203. package/dist/modules/ai/generateSessionCreate.spec.d.ts.map +1 -0
  204. package/dist/modules/ai/generateSessionCreate.spec.js +38 -0
  205. package/dist/modules/ai/generateSessionCreate.spec.js.map +1 -0
  206. package/dist/modules/ai/generateText.d.ts +4 -2
  207. package/dist/modules/ai/generateText.d.ts.map +1 -1
  208. package/dist/modules/ai/generateText.js +4 -2
  209. package/dist/modules/ai/generateText.js.map +1 -1
  210. package/dist/modules/ai/generateText.spec.js +13 -2
  211. package/dist/modules/ai/generateText.spec.js.map +1 -1
  212. package/dist/modules/ai/generateVerify.spec.d.ts +2 -0
  213. package/dist/modules/ai/generateVerify.spec.d.ts.map +1 -0
  214. package/dist/modules/ai/generateVerify.spec.js +84 -0
  215. package/dist/modules/ai/generateVerify.spec.js.map +1 -0
  216. package/dist/modules/ai/providerEventTypes.d.ts +34 -0
  217. package/dist/modules/ai/providerEventTypes.d.ts.map +1 -0
  218. package/dist/modules/ai/providerEventTypes.js +2 -0
  219. package/dist/modules/ai/providerEventTypes.js.map +1 -0
  220. package/dist/modules/ai/providerGenerate.d.ts +11 -2
  221. package/dist/modules/ai/providerGenerate.d.ts.map +1 -1
  222. package/dist/modules/ai/providerGenerate.js +355 -92
  223. package/dist/modules/ai/providerGenerate.js.map +1 -1
  224. package/dist/modules/ai/providerGenerate.spec.js +93 -1
  225. package/dist/modules/ai/providerGenerate.spec.js.map +1 -1
  226. package/dist/modules/ai/providerGenerate.unit.spec.js +346 -12
  227. package/dist/modules/ai/providerGenerate.unit.spec.js.map +1 -1
  228. package/dist/modules/ai/providers/commandJSONL.d.ts +24 -0
  229. package/dist/modules/ai/providers/commandJSONL.d.ts.map +1 -0
  230. package/dist/modules/ai/providers/commandJSONL.js +158 -0
  231. package/dist/modules/ai/providers/commandJSONL.js.map +1 -0
  232. package/dist/modules/ai/providers/commandJSONL.spec.d.ts +2 -0
  233. package/dist/modules/ai/providers/commandJSONL.spec.d.ts.map +1 -0
  234. package/dist/modules/ai/providers/commandJSONL.spec.js +77 -0
  235. package/dist/modules/ai/providers/commandJSONL.spec.js.map +1 -0
  236. package/dist/modules/ai/providers/piProviderGenerate.d.ts +25 -0
  237. package/dist/modules/ai/providers/piProviderGenerate.d.ts.map +1 -0
  238. package/dist/modules/ai/providers/piProviderGenerate.js +72 -0
  239. package/dist/modules/ai/providers/piProviderGenerate.js.map +1 -0
  240. package/dist/modules/ai/providers/piProviderGenerate.spec.d.ts +2 -0
  241. package/dist/modules/ai/providers/piProviderGenerate.spec.d.ts.map +1 -0
  242. package/dist/modules/ai/providers/piProviderGenerate.spec.js +136 -0
  243. package/dist/modules/ai/providers/piProviderGenerate.spec.js.map +1 -0
  244. package/dist/modules/ai/providers/piProviderTypes.d.ts +77 -0
  245. package/dist/modules/ai/providers/piProviderTypes.d.ts.map +1 -0
  246. package/dist/modules/ai/providers/piProviderTypes.js +2 -0
  247. package/dist/modules/ai/providers/piProviderTypes.js.map +1 -0
  248. package/dist/modules/beer/beerOriginalPathResolve.d.ts +1 -1
  249. package/dist/modules/beer/beerOriginalPathResolve.js +2 -2
  250. package/dist/modules/beer/beerOriginalPathResolve.js.map +1 -1
  251. package/dist/modules/beer/beerOriginalPathResolve.spec.js +3 -3
  252. package/dist/modules/beer/beerOriginalPathResolve.spec.js.map +1 -1
  253. package/dist/modules/beer/beerSettingsRead.d.ts.map +1 -1
  254. package/dist/modules/beer/beerSettingsRead.js +3 -2
  255. package/dist/modules/beer/beerSettingsRead.js.map +1 -1
  256. package/dist/modules/beer/beerSettingsRead.spec.d.ts +2 -0
  257. package/dist/modules/beer/beerSettingsRead.spec.d.ts.map +1 -0
  258. package/dist/modules/beer/beerSettingsRead.spec.js +26 -0
  259. package/dist/modules/beer/beerSettingsRead.spec.js.map +1 -0
  260. package/dist/modules/beer/beerSettingsTypes.d.ts +3 -3
  261. package/dist/modules/beer/beerSettingsTypes.d.ts.map +1 -1
  262. package/dist/modules/beer/beerSettingsWrite.d.ts.map +1 -1
  263. package/dist/modules/beer/beerSettingsWrite.js.map +1 -1
  264. package/dist/modules/git/gitPush.js.map +1 -1
  265. package/dist/modules/git/gitRemoteEnsure.js.map +1 -1
  266. package/dist/modules/git/gitRepoCheckout.js.map +1 -1
  267. package/dist/modules/git/gitRepoCheckout.spec.js +1 -1
  268. package/dist/modules/git/gitRepoCheckout.spec.js.map +1 -1
  269. package/dist/modules/git/gitRepoEnsure.d.ts +6 -0
  270. package/dist/modules/git/gitRepoEnsure.d.ts.map +1 -0
  271. package/dist/modules/git/gitRepoEnsure.js +16 -0
  272. package/dist/modules/git/gitRepoEnsure.js.map +1 -0
  273. package/dist/modules/git/gitRepoEnsure.spec.d.ts +2 -0
  274. package/dist/modules/git/gitRepoEnsure.spec.d.ts.map +1 -0
  275. package/dist/modules/git/gitRepoEnsure.spec.js +45 -0
  276. package/dist/modules/git/gitRepoEnsure.spec.js.map +1 -0
  277. package/dist/modules/git/gitStageAndCommit.js.map +1 -1
  278. package/dist/modules/git/gitignoreEnsure.d.ts +6 -0
  279. package/dist/modules/git/gitignoreEnsure.d.ts.map +1 -0
  280. package/dist/modules/git/gitignoreEnsure.js +36 -0
  281. package/dist/modules/git/gitignoreEnsure.js.map +1 -0
  282. package/dist/modules/git/gitignoreEnsure.spec.d.ts +2 -0
  283. package/dist/modules/git/gitignoreEnsure.spec.d.ts.map +1 -0
  284. package/dist/modules/git/gitignoreEnsure.spec.js +35 -0
  285. package/dist/modules/git/gitignoreEnsure.spec.js.map +1 -0
  286. package/dist/modules/github/githubCliEnsure.js +2 -2
  287. package/dist/modules/github/githubCliEnsure.js.map +1 -1
  288. package/dist/modules/github/githubOwnerChoicesGet.js.map +1 -1
  289. package/dist/modules/github/githubRepoCreate.d.ts.map +1 -1
  290. package/dist/modules/github/githubRepoCreate.js.map +1 -1
  291. package/dist/modules/github/githubRepoExists.d.ts.map +1 -1
  292. package/dist/modules/github/githubRepoExists.js +3 -1
  293. package/dist/modules/github/githubRepoExists.js.map +1 -1
  294. package/dist/modules/github/githubRepoNameResolve.d.ts.map +1 -1
  295. package/dist/modules/github/githubRepoNameResolve.js +2 -2
  296. package/dist/modules/github/githubRepoNameResolve.js.map +1 -1
  297. package/dist/modules/github/githubRepoNameResolve.spec.js.map +1 -1
  298. package/dist/modules/github/githubRepoParse.d.ts.map +1 -1
  299. package/dist/modules/github/githubRepoParse.js +1 -3
  300. package/dist/modules/github/githubRepoParse.js.map +1 -1
  301. package/dist/modules/github/githubRepoParse.spec.js.map +1 -1
  302. package/dist/modules/github/githubRepoStatusGet.d.ts.map +1 -1
  303. package/dist/modules/github/githubRepoStatusGet.js +2 -2
  304. package/dist/modules/github/githubRepoStatusGet.js.map +1 -1
  305. package/dist/modules/github/githubRepoUrlBuild.js.map +1 -1
  306. package/dist/modules/github/githubTypes.d.ts.map +1 -1
  307. package/dist/modules/github/githubViewerGet.js +2 -2
  308. package/dist/modules/github/githubViewerGet.js.map +1 -1
  309. package/dist/modules/plan/planPromptChildren.d.ts +8 -0
  310. package/dist/modules/plan/planPromptChildren.d.ts.map +1 -0
  311. package/dist/modules/plan/planPromptChildren.js +29 -0
  312. package/dist/modules/plan/planPromptChildren.js.map +1 -0
  313. package/dist/modules/plan/planPromptChildren.spec.d.ts +2 -0
  314. package/dist/modules/plan/planPromptChildren.spec.d.ts.map +1 -0
  315. package/dist/modules/plan/planPromptChildren.spec.js +25 -0
  316. package/dist/modules/plan/planPromptChildren.spec.js.map +1 -0
  317. package/dist/modules/plan/planPromptDocument.d.ts +8 -0
  318. package/dist/modules/plan/planPromptDocument.d.ts.map +1 -0
  319. package/dist/modules/plan/planPromptDocument.js +36 -0
  320. package/dist/modules/plan/planPromptDocument.js.map +1 -0
  321. package/dist/modules/plan/planPromptDocument.spec.d.ts +2 -0
  322. package/dist/modules/plan/planPromptDocument.spec.d.ts.map +1 -0
  323. package/dist/modules/plan/planPromptDocument.spec.js +26 -0
  324. package/dist/modules/plan/planPromptDocument.spec.js.map +1 -0
  325. package/dist/modules/plan/planPromptPicker.d.ts +7 -0
  326. package/dist/modules/plan/planPromptPicker.d.ts.map +1 -0
  327. package/dist/modules/plan/planPromptPicker.js +28 -0
  328. package/dist/modules/plan/planPromptPicker.js.map +1 -0
  329. package/dist/modules/plan/planPromptPicker.spec.d.ts +2 -0
  330. package/dist/modules/plan/planPromptPicker.spec.d.ts.map +1 -0
  331. package/dist/modules/plan/planPromptPicker.spec.js +21 -0
  332. package/dist/modules/plan/planPromptPicker.spec.js.map +1 -0
  333. package/dist/modules/plan/planPromptRoot.d.ts +7 -0
  334. package/dist/modules/plan/planPromptRoot.d.ts.map +1 -0
  335. package/dist/modules/plan/planPromptRoot.js +27 -0
  336. package/dist/modules/plan/planPromptRoot.js.map +1 -0
  337. package/dist/modules/plan/planPromptRoot.spec.d.ts +2 -0
  338. package/dist/modules/plan/planPromptRoot.spec.d.ts.map +1 -0
  339. package/dist/modules/plan/planPromptRoot.spec.js +16 -0
  340. package/dist/modules/plan/planPromptRoot.spec.js.map +1 -0
  341. package/dist/modules/plan/planSourceDocumentTypes.d.ts +6 -0
  342. package/dist/modules/plan/planSourceDocumentTypes.d.ts.map +1 -0
  343. package/dist/modules/plan/planSourceDocumentTypes.js +2 -0
  344. package/dist/modules/plan/planSourceDocumentTypes.js.map +1 -0
  345. package/dist/modules/plan/planSourceDocumentsResolve.d.ts +7 -0
  346. package/dist/modules/plan/planSourceDocumentsResolve.d.ts.map +1 -0
  347. package/dist/modules/plan/planSourceDocumentsResolve.js +41 -0
  348. package/dist/modules/plan/planSourceDocumentsResolve.js.map +1 -0
  349. package/dist/modules/plan/planSourceDocumentsResolve.spec.d.ts +2 -0
  350. package/dist/modules/plan/planSourceDocumentsResolve.spec.d.ts.map +1 -0
  351. package/dist/modules/plan/planSourceDocumentsResolve.spec.js +21 -0
  352. package/dist/modules/plan/planSourceDocumentsResolve.spec.js.map +1 -0
  353. package/dist/modules/prompt/promptConfirm.d.ts.map +1 -1
  354. package/dist/modules/prompt/promptConfirm.js +1 -1
  355. package/dist/modules/prompt/promptConfirm.js.map +1 -1
  356. package/dist/modules/prompt/promptInput.d.ts.map +1 -1
  357. package/dist/modules/prompt/promptInput.js +1 -1
  358. package/dist/modules/prompt/promptInput.js.map +1 -1
  359. package/dist/modules/providers/providerDetect.d.ts.map +1 -1
  360. package/dist/modules/providers/providerDetect.js +1 -1
  361. package/dist/modules/providers/providerDetect.js.map +1 -1
  362. package/dist/modules/providers/providerDetect.spec.js +1 -1
  363. package/dist/modules/providers/providerDetect.spec.js.map +1 -1
  364. package/dist/modules/providers/providerModelSelect.d.ts.map +1 -1
  365. package/dist/modules/providers/providerModelSelect.js +99 -85
  366. package/dist/modules/providers/providerModelSelect.js.map +1 -1
  367. package/dist/modules/providers/providerModelSelect.spec.js +67 -27
  368. package/dist/modules/providers/providerModelSelect.spec.js.map +1 -1
  369. package/dist/modules/providers/providerModelsGet.d.ts.map +1 -1
  370. package/dist/modules/providers/providerModelsGet.js +3 -7
  371. package/dist/modules/providers/providerModelsGet.js.map +1 -1
  372. package/dist/modules/providers/providerModelsGet.spec.js +1 -1
  373. package/dist/modules/providers/providerModelsGet.spec.js.map +1 -1
  374. package/dist/modules/providers/providerPriorityList.d.ts.map +1 -1
  375. package/dist/modules/providers/providerPriorityList.js.map +1 -1
  376. package/dist/modules/providers/providerPriorityList.spec.js +2 -6
  377. package/dist/modules/providers/providerPriorityList.spec.js.map +1 -1
  378. package/dist/modules/providers/providerTypes.d.ts +1 -1
  379. package/dist/modules/providers/providerTypes.d.ts.map +1 -1
  380. package/dist/modules/sandbox/sandboxInferenceFilesystemPolicy.d.ts +1 -0
  381. package/dist/modules/sandbox/sandboxInferenceFilesystemPolicy.d.ts.map +1 -1
  382. package/dist/modules/sandbox/sandboxInferenceFilesystemPolicy.js +21 -17
  383. package/dist/modules/sandbox/sandboxInferenceFilesystemPolicy.js.map +1 -1
  384. package/dist/modules/sandbox/sandboxInferenceFilesystemPolicy.spec.js +28 -10
  385. package/dist/modules/sandbox/sandboxInferenceFilesystemPolicy.spec.js.map +1 -1
  386. package/dist/modules/sandbox/sandboxInferenceGet.d.ts +2 -1
  387. package/dist/modules/sandbox/sandboxInferenceGet.d.ts.map +1 -1
  388. package/dist/modules/sandbox/sandboxInferenceGet.js +8 -3
  389. package/dist/modules/sandbox/sandboxInferenceGet.js.map +1 -1
  390. package/dist/modules/sandbox/sandboxInferenceGet.spec.js +12 -0
  391. package/dist/modules/sandbox/sandboxInferenceGet.spec.js.map +1 -1
  392. package/dist/modules/sandbox/sandboxInferenceTypes.d.ts.map +1 -1
  393. package/dist/modules/sandbox/sandboxPassthrough.d.ts +7 -0
  394. package/dist/modules/sandbox/sandboxPassthrough.d.ts.map +1 -0
  395. package/dist/modules/sandbox/sandboxPassthrough.js +12 -0
  396. package/dist/modules/sandbox/sandboxPassthrough.js.map +1 -0
  397. package/dist/modules/sandbox/sandboxPassthrough.spec.d.ts +2 -0
  398. package/dist/modules/sandbox/sandboxPassthrough.spec.d.ts.map +1 -0
  399. package/dist/modules/sandbox/sandboxPassthrough.spec.js +9 -0
  400. package/dist/modules/sandbox/sandboxPassthrough.spec.js.map +1 -0
  401. package/dist/modules/sandbox/sandboxTypes.d.ts.map +1 -1
  402. package/dist/modules/tree/treeChildrenParse.d.ts +7 -0
  403. package/dist/modules/tree/treeChildrenParse.d.ts.map +1 -0
  404. package/dist/modules/tree/treeChildrenParse.js +23 -0
  405. package/dist/modules/tree/treeChildrenParse.js.map +1 -0
  406. package/dist/modules/tree/treeChildrenRead.d.ts +7 -0
  407. package/dist/modules/tree/treeChildrenRead.d.ts.map +1 -0
  408. package/dist/modules/tree/treeChildrenRead.js +44 -0
  409. package/dist/modules/tree/treeChildrenRead.js.map +1 -0
  410. package/dist/modules/tree/treeChildrenRead.spec.d.ts +2 -0
  411. package/dist/modules/tree/treeChildrenRead.spec.d.ts.map +1 -0
  412. package/dist/modules/tree/treeChildrenRead.spec.js +43 -0
  413. package/dist/modules/tree/treeChildrenRead.spec.js.map +1 -0
  414. package/dist/modules/tree/treeChildrenWrite.d.ts +7 -0
  415. package/dist/modules/tree/treeChildrenWrite.d.ts.map +1 -0
  416. package/dist/modules/tree/treeChildrenWrite.js +15 -0
  417. package/dist/modules/tree/treeChildrenWrite.js.map +1 -0
  418. package/dist/modules/tree/treeChildrenWrite.spec.d.ts +2 -0
  419. package/dist/modules/tree/treeChildrenWrite.spec.d.ts.map +1 -0
  420. package/dist/modules/tree/treeChildrenWrite.spec.js +34 -0
  421. package/dist/modules/tree/treeChildrenWrite.spec.js.map +1 -0
  422. package/dist/modules/tree/treeInferenceProgressRun.d.ts +7 -0
  423. package/dist/modules/tree/treeInferenceProgressRun.d.ts.map +1 -0
  424. package/dist/modules/tree/treeInferenceProgressRun.js +16 -0
  425. package/dist/modules/tree/treeInferenceProgressRun.js.map +1 -0
  426. package/dist/modules/tree/treeInferenceProgressRun.spec.d.ts +2 -0
  427. package/dist/modules/tree/treeInferenceProgressRun.spec.d.ts.map +1 -0
  428. package/dist/modules/tree/treeInferenceProgressRun.spec.js +35 -0
  429. package/dist/modules/tree/treeInferenceProgressRun.spec.js.map +1 -0
  430. package/dist/modules/tree/treeLeafPick.d.ts +7 -0
  431. package/dist/modules/tree/treeLeafPick.d.ts.map +1 -0
  432. package/dist/modules/tree/treeLeafPick.js +67 -0
  433. package/dist/modules/tree/treeLeafPick.js.map +1 -0
  434. package/dist/modules/tree/treeLeafPick.spec.d.ts +2 -0
  435. package/dist/modules/tree/treeLeafPick.spec.d.ts.map +1 -0
  436. package/dist/modules/tree/treeLeafPick.spec.js +119 -0
  437. package/dist/modules/tree/treeLeafPick.spec.js.map +1 -0
  438. package/dist/modules/tree/treeNodeExpand.d.ts +12 -0
  439. package/dist/modules/tree/treeNodeExpand.d.ts.map +1 -0
  440. package/dist/modules/tree/treeNodeExpand.js +128 -0
  441. package/dist/modules/tree/treeNodeExpand.js.map +1 -0
  442. package/dist/modules/tree/treeNodeExpand.spec.d.ts +2 -0
  443. package/dist/modules/tree/treeNodeExpand.spec.d.ts.map +1 -0
  444. package/dist/modules/tree/treeNodeExpand.spec.js +146 -0
  445. package/dist/modules/tree/treeNodeExpand.spec.js.map +1 -0
  446. package/dist/modules/tree/treeNodePathResolve.d.ts +7 -0
  447. package/dist/modules/tree/treeNodePathResolve.d.ts.map +1 -0
  448. package/dist/modules/tree/treeNodePathResolve.js +9 -0
  449. package/dist/modules/tree/treeNodePathResolve.js.map +1 -0
  450. package/dist/modules/tree/treeNodeRead.d.ts +7 -0
  451. package/dist/modules/tree/treeNodeRead.d.ts.map +1 -0
  452. package/dist/modules/tree/treeNodeRead.js +46 -0
  453. package/dist/modules/tree/treeNodeRead.js.map +1 -0
  454. package/dist/modules/tree/treeNodeRead.spec.d.ts +2 -0
  455. package/dist/modules/tree/treeNodeRead.spec.d.ts.map +1 -0
  456. package/dist/modules/tree/treeNodeRead.spec.js +42 -0
  457. package/dist/modules/tree/treeNodeRead.spec.js.map +1 -0
  458. package/dist/modules/tree/treeNodeSlug.d.ts +6 -0
  459. package/dist/modules/tree/treeNodeSlug.d.ts.map +1 -0
  460. package/dist/modules/tree/treeNodeSlug.js +20 -0
  461. package/dist/modules/tree/treeNodeSlug.js.map +1 -0
  462. package/dist/modules/tree/treeNodeSlug.spec.d.ts +2 -0
  463. package/dist/modules/tree/treeNodeSlug.spec.d.ts.map +1 -0
  464. package/dist/modules/tree/treeNodeSlug.spec.js +25 -0
  465. package/dist/modules/tree/treeNodeSlug.spec.js.map +1 -0
  466. package/dist/modules/tree/treeNodeWrite.d.ts +7 -0
  467. package/dist/modules/tree/treeNodeWrite.d.ts.map +1 -0
  468. package/dist/modules/tree/treeNodeWrite.js +15 -0
  469. package/dist/modules/tree/treeNodeWrite.js.map +1 -0
  470. package/dist/modules/tree/treeNodeWrite.spec.d.ts +2 -0
  471. package/dist/modules/tree/treeNodeWrite.spec.d.ts.map +1 -0
  472. package/dist/modules/tree/treeNodeWrite.spec.js +34 -0
  473. package/dist/modules/tree/treeNodeWrite.spec.js.map +1 -0
  474. package/dist/modules/tree/treeSearchRun.d.ts +7 -0
  475. package/dist/modules/tree/treeSearchRun.d.ts.map +1 -0
  476. package/dist/modules/tree/treeSearchRun.js +178 -0
  477. package/dist/modules/tree/treeSearchRun.js.map +1 -0
  478. package/dist/modules/tree/treeSearchRun.spec.d.ts +2 -0
  479. package/dist/modules/tree/treeSearchRun.spec.d.ts.map +1 -0
  480. package/dist/modules/tree/treeSearchRun.spec.js +203 -0
  481. package/dist/modules/tree/treeSearchRun.spec.js.map +1 -0
  482. package/dist/modules/tree/treeSearchTypes.d.ts +40 -0
  483. package/dist/modules/tree/treeSearchTypes.d.ts.map +1 -0
  484. package/dist/modules/tree/treeSearchTypes.js +2 -0
  485. package/dist/modules/tree/treeSearchTypes.js.map +1 -0
  486. package/dist/modules/tree/treeSearchTypes.spec.d.ts +2 -0
  487. package/dist/modules/tree/treeSearchTypes.spec.d.ts.map +1 -0
  488. package/dist/modules/tree/treeSearchTypes.spec.js +40 -0
  489. package/dist/modules/tree/treeSearchTypes.spec.js.map +1 -0
  490. package/dist/modules/tree/treeStateLeaves.d.ts +7 -0
  491. package/dist/modules/tree/treeStateLeaves.d.ts.map +1 -0
  492. package/dist/modules/tree/treeStateLeaves.js +20 -0
  493. package/dist/modules/tree/treeStateLeaves.js.map +1 -0
  494. package/dist/modules/tree/treeStateLeaves.spec.d.ts +2 -0
  495. package/dist/modules/tree/treeStateLeaves.spec.d.ts.map +1 -0
  496. package/dist/modules/tree/treeStateLeaves.spec.js +57 -0
  497. package/dist/modules/tree/treeStateLeaves.spec.js.map +1 -0
  498. package/dist/modules/tree/treeStateRead.d.ts +7 -0
  499. package/dist/modules/tree/treeStateRead.d.ts.map +1 -0
  500. package/dist/modules/tree/treeStateRead.js +39 -0
  501. package/dist/modules/tree/treeStateRead.js.map +1 -0
  502. package/dist/modules/tree/treeStateRead.spec.d.ts +2 -0
  503. package/dist/modules/tree/treeStateRead.spec.d.ts.map +1 -0
  504. package/dist/modules/tree/treeStateRead.spec.js +64 -0
  505. package/dist/modules/tree/treeStateRead.spec.js.map +1 -0
  506. package/dist/modules/tree/treeStateRender.d.ts +7 -0
  507. package/dist/modules/tree/treeStateRender.d.ts.map +1 -0
  508. package/dist/modules/tree/treeStateRender.js +19 -0
  509. package/dist/modules/tree/treeStateRender.js.map +1 -0
  510. package/dist/modules/tree/treeStateRender.spec.d.ts +2 -0
  511. package/dist/modules/tree/treeStateRender.spec.d.ts.map +1 -0
  512. package/dist/modules/tree/treeStateRender.spec.js +42 -0
  513. package/dist/modules/tree/treeStateRender.spec.js.map +1 -0
  514. package/dist/modules/util/asyncLock.d.ts +9 -0
  515. package/dist/modules/util/asyncLock.d.ts.map +1 -0
  516. package/dist/modules/util/asyncLock.js +22 -0
  517. package/dist/modules/util/asyncLock.js.map +1 -0
  518. package/dist/modules/util/asyncLock.spec.d.ts +2 -0
  519. package/dist/modules/util/asyncLock.spec.d.ts.map +1 -0
  520. package/dist/modules/util/asyncLock.spec.js +52 -0
  521. package/dist/modules/util/asyncLock.spec.js.map +1 -0
  522. package/dist/modules/util/commandRun.d.ts +1 -1
  523. package/dist/modules/util/commandRun.d.ts.map +1 -1
  524. package/dist/modules/util/commandRun.js +26 -21
  525. package/dist/modules/util/commandRun.js.map +1 -1
  526. package/dist/modules/util/commandRun.spec.js +10 -0
  527. package/dist/modules/util/commandRun.spec.js.map +1 -1
  528. package/dist/modules/util/pathLock.d.ts +21 -0
  529. package/dist/modules/util/pathLock.d.ts.map +1 -0
  530. package/dist/modules/util/pathLock.js +127 -0
  531. package/dist/modules/util/pathLock.js.map +1 -0
  532. package/dist/modules/util/pathLock.spec.d.ts +2 -0
  533. package/dist/modules/util/pathLock.spec.d.ts.map +1 -0
  534. package/dist/modules/util/pathLock.spec.js +98 -0
  535. package/dist/modules/util/pathLock.spec.js.map +1 -0
  536. package/dist/modules/util/pathLockOverlap.d.ts +11 -0
  537. package/dist/modules/util/pathLockOverlap.d.ts.map +1 -0
  538. package/dist/modules/util/pathLockOverlap.js +41 -0
  539. package/dist/modules/util/pathLockOverlap.js.map +1 -0
  540. package/dist/modules/util/pathLockOverlap.spec.d.ts +2 -0
  541. package/dist/modules/util/pathLockOverlap.spec.d.ts.map +1 -0
  542. package/dist/modules/util/pathLockOverlap.spec.js +34 -0
  543. package/dist/modules/util/pathLockOverlap.spec.js.map +1 -0
  544. package/dist/modules/util/pathResolveFromInitCwd.d.ts +1 -1
  545. package/dist/modules/util/pathResolveFromInitCwd.js +1 -1
  546. package/dist/modules/util/pathResolveFromInitCwd.js.map +1 -1
  547. package/dist/release/releaseRun.d.ts.map +1 -1
  548. package/dist/release/releaseRun.js +13 -26
  549. package/dist/release/releaseRun.js.map +1 -1
  550. package/dist/release/releaseVersionIncrement.d.ts.map +1 -1
  551. package/dist/release/releaseVersionIncrement.js.map +1 -1
  552. package/dist/release/releaseVersionIncrement.spec.js.map +1 -1
  553. package/dist/release/releaseVersionPrompt.d.ts.map +1 -1
  554. package/dist/release/releaseVersionPrompt.js +8 -9
  555. package/dist/release/releaseVersionPrompt.js.map +1 -1
  556. package/dist/text/all.txt +66 -1
  557. package/dist/text/text.d.ts +11 -5
  558. package/dist/text/text.d.ts.map +1 -1
  559. package/dist/text/text.gen.d.ts +378 -0
  560. package/dist/text/text.gen.d.ts.map +1 -0
  561. package/dist/text/text.gen.js +135 -0
  562. package/dist/text/text.gen.js.map +1 -0
  563. package/dist/text/text.js +31 -26
  564. package/dist/text/text.js.map +1 -1
  565. package/dist/text/text.spec.d.ts +2 -0
  566. package/dist/text/text.spec.d.ts.map +1 -0
  567. package/dist/text/text.spec.js +50 -0
  568. package/dist/text/text.spec.js.map +1 -0
  569. package/dist/text/textGenBuild.d.ts +6 -0
  570. package/dist/text/textGenBuild.d.ts.map +1 -0
  571. package/dist/text/textGenBuild.js +14 -0
  572. package/dist/text/textGenBuild.js.map +1 -0
  573. package/dist/text/textGenGenerate.d.ts +6 -0
  574. package/dist/text/textGenGenerate.d.ts.map +1 -0
  575. package/dist/text/textGenGenerate.js +74 -0
  576. package/dist/text/textGenGenerate.js.map +1 -0
  577. package/dist/text/textGenGenerate.spec.d.ts +2 -0
  578. package/dist/text/textGenGenerate.spec.d.ts.map +1 -0
  579. package/dist/text/textGenGenerate.spec.js +24 -0
  580. package/dist/text/textGenGenerate.spec.js.map +1 -0
  581. package/dist/types.d.ts +5 -1
  582. package/dist/types.d.ts.map +1 -1
  583. package/dist/types.js +1 -1
  584. package/dist/types.js.map +1 -1
  585. package/package.json +11 -6
  586. package/dist/apps/bootstrap.d.ts +0 -5
  587. package/dist/apps/bootstrap.d.ts.map +0 -1
  588. package/dist/apps/bootstrap.js +0 -170
  589. package/dist/apps/bootstrap.js.map +0 -1
  590. package/dist/commands/bootstrapCommand.d.ts +0 -6
  591. package/dist/commands/bootstrapCommand.d.ts.map +0 -1
  592. package/dist/commands/bootstrapCommand.js +0 -16
  593. package/dist/commands/bootstrapCommand.js.map +0 -1
  594. package/dist/modules/ai/aiReadmeGenerate.d.ts +0 -18
  595. package/dist/modules/ai/aiReadmeGenerate.d.ts.map +0 -1
  596. package/dist/modules/ai/aiReadmeGenerate.js +0 -23
  597. package/dist/modules/ai/aiReadmeGenerate.js.map +0 -1
  598. package/dist/modules/ai/aiReadmeGenerate.spec.d.ts +0 -2
  599. package/dist/modules/ai/aiReadmeGenerate.spec.d.ts.map +0 -1
  600. package/dist/modules/ai/aiReadmeGenerate.spec.js +0 -27
  601. package/dist/modules/ai/aiReadmeGenerate.spec.js.map +0 -1
  602. package/dist/modules/beer/beerDevFolderResolve.d.ts +0 -5
  603. package/dist/modules/beer/beerDevFolderResolve.d.ts.map +0 -1
  604. package/dist/modules/beer/beerDevFolderResolve.js +0 -9
  605. package/dist/modules/beer/beerDevFolderResolve.js.map +0 -1
  606. package/dist/modules/beer/beerDevFolderResolve.spec.d.ts +0 -2
  607. package/dist/modules/beer/beerDevFolderResolve.spec.d.ts.map +0 -1
  608. package/dist/modules/beer/beerDevFolderResolve.spec.js +0 -10
  609. package/dist/modules/beer/beerDevFolderResolve.spec.js.map +0 -1
  610. package/dist/modules/beer/beerSettingsPathResolve.d.ts +0 -5
  611. package/dist/modules/beer/beerSettingsPathResolve.d.ts.map +0 -1
  612. package/dist/modules/beer/beerSettingsPathResolve.js +0 -9
  613. package/dist/modules/beer/beerSettingsPathResolve.js.map +0 -1
  614. package/dist/modules/beer/beerSettingsPathResolve.spec.d.ts +0 -2
  615. package/dist/modules/beer/beerSettingsPathResolve.spec.d.ts.map +0 -1
  616. package/dist/modules/beer/beerSettingsPathResolve.spec.js +0 -10
  617. package/dist/modules/beer/beerSettingsPathResolve.spec.js.map +0 -1
  618. package/dist/modules/context/contextGet.d.ts +0 -7
  619. package/dist/modules/context/contextGet.d.ts.map +0 -1
  620. package/dist/modules/context/contextGet.js +0 -12
  621. package/dist/modules/context/contextGet.js.map +0 -1
  622. package/dist/modules/context/contextGetOrInitialize.d.ts +0 -7
  623. package/dist/modules/context/contextGetOrInitialize.d.ts.map +0 -1
  624. package/dist/modules/context/contextGetOrInitialize.js +0 -12
  625. package/dist/modules/context/contextGetOrInitialize.js.map +0 -1
  626. package/dist/modules/context/contextInitialize.d.ts +0 -7
  627. package/dist/modules/context/contextInitialize.d.ts.map +0 -1
  628. package/dist/modules/context/contextInitialize.js +0 -25
  629. package/dist/modules/context/contextInitialize.js.map +0 -1
  630. package/dist/modules/context/contextInitialize.spec.d.ts +0 -2
  631. package/dist/modules/context/contextInitialize.spec.d.ts.map +0 -1
  632. package/dist/modules/context/contextInitialize.spec.js +0 -77
  633. package/dist/modules/context/contextInitialize.spec.js.map +0 -1
  634. package/dist/modules/context/contextTypes.d.ts +0 -21
  635. package/dist/modules/context/contextTypes.d.ts.map +0 -1
  636. package/dist/modules/context/contextTypes.js +0 -2
  637. package/dist/modules/context/contextTypes.js.map +0 -1
  638. package/dist/workflows/steps/generateCommitMessage.d.ts +0 -13
  639. package/dist/workflows/steps/generateCommitMessage.d.ts.map +0 -1
  640. package/dist/workflows/steps/generateCommitMessage.js +0 -25
  641. package/dist/workflows/steps/generateCommitMessage.js.map +0 -1
  642. package/dist/workflows/steps/generateCommitMessage.spec.d.ts +0 -2
  643. package/dist/workflows/steps/generateCommitMessage.spec.d.ts.map +0 -1
  644. package/dist/workflows/steps/generateCommitMessage.spec.js +0 -28
  645. package/dist/workflows/steps/generateCommitMessage.spec.js.map +0 -1
@@ -1,12 +1,17 @@
1
- import { providerPriorityList } from "@/modules/providers/providerPriorityList.js";
1
+ import { readFile } from "node:fs/promises";
2
+ import { beerLogLine } from "@text";
3
+ import { providerGenerate } from "@/modules/ai/providerGenerate.js";
2
4
  import { providerModelSelect } from "@/modules/providers/providerModelSelect.js";
5
+ import { providerPriorityList } from "@/modules/providers/providerPriorityList.js";
3
6
  import { sandboxInferenceGet } from "@/modules/sandbox/sandboxInferenceGet.js";
4
- import { providerGenerate } from "@/modules/ai/providerGenerate.js";
5
7
  function inferMessage(message, options) {
6
8
  options?.onMessage?.(`[beer][infer] ${message}`);
7
9
  }
10
+ function inferEvent(event, options) {
11
+ options?.onEvent?.(event);
12
+ }
8
13
  function inferOutputMessage(providerId, stream, chunk, options) {
9
- if (!options?.onMessage) {
14
+ if (!options?.onMessage && !options?.onEvent) {
10
15
  return;
11
16
  }
12
17
  const lines = chunk
@@ -14,15 +19,49 @@ function inferOutputMessage(providerId, stream, chunk, options) {
14
19
  .map((line) => line.trim())
15
20
  .filter((line) => line.length > 0);
16
21
  for (const line of lines) {
17
- options.onMessage(`[beer][infer] ${providerId}:${stream} ${line}`);
22
+ options.onMessage?.(`[beer][infer] ${providerId}:${stream} ${line}`);
23
+ if (stream === "stderr") {
24
+ inferEvent({
25
+ type: "provider_stderr",
26
+ providerId,
27
+ text: line
28
+ }, options);
29
+ }
30
+ }
31
+ }
32
+ function inferProviderEvent(providerId, event, options) {
33
+ inferEvent({ providerId, ...event }, options);
34
+ }
35
+ function inferProviderStatusEvent(event, options) {
36
+ const detailParts = [];
37
+ if (event.model) {
38
+ detailParts.push(`model=${event.model}`);
39
+ }
40
+ if (event.sessionId) {
41
+ detailParts.push(`session=${event.sessionId}`);
42
+ }
43
+ if (typeof event.exitCode === "number") {
44
+ detailParts.push(`exit=${event.exitCode}`);
45
+ }
46
+ if (event.tokens) {
47
+ detailParts.push(`tokens=${event.tokens.total}`);
18
48
  }
49
+ const details = detailParts.length > 0 ? ` ${detailParts.join(" ")}` : "";
50
+ inferMessage(`provider=${event.providerId} ${event.status}${details}`, options);
51
+ inferEvent({
52
+ type: "provider_status",
53
+ ...event
54
+ }, options);
55
+ }
56
+ function inferFailureForEvent(failure) {
57
+ return {
58
+ providerId: failure.providerId,
59
+ exitCode: failure.exitCode,
60
+ stderr: failure.stderr
61
+ };
19
62
  }
20
63
  function inferPromptResolve(prompt, writePolicy, expectedOutput) {
21
- return [
22
- inferSandboxPrompt(writePolicy),
23
- prompt,
24
- inferExpectedOutputPrompt(expectedOutput)
25
- ].join("\n\n");
64
+ return [inferSandboxPrompt(writePolicy), prompt, inferExpectedOutputPrompt(expectedOutput)].join("\n\n");
26
65
  }
27
66
  function inferSandboxPrompt(writePolicy) {
28
67
  if (writePolicy.mode === "read-only") {
@@ -34,12 +73,8 @@ function inferSandboxPrompt(writePolicy) {
34
73
  "- do not change files, run write operations, or apply edits"
35
74
  ].join("\n");
36
75
  }
37
- const writablePaths = writePolicy.writablePaths
38
- .map((entry) => entry.trim())
39
- .filter((entry) => entry.length > 0);
40
- const writableLine = writablePaths.length > 0
41
- ? `- writable paths: ${writablePaths.join(", ")}`
42
- : "- writable paths: none";
76
+ const writablePaths = writePolicy.writablePaths.map((entry) => entry.trim()).filter((entry) => entry.length > 0);
77
+ const writableLine = writablePaths.length > 0 ? `- writable paths: ${writablePaths.join(", ")}` : "- writable paths: none";
43
78
  return [
44
79
  "Current sandbox parameters:",
45
80
  "- filesystem mode: write-whitelist",
@@ -72,11 +107,17 @@ export async function generate(context, prompt, permissions = {}) {
72
107
  const writePolicy = permissions.writePolicy ?? { mode: "read-only" };
73
108
  const expectedOutput = permissions.expectedOutput ?? { type: "text" };
74
109
  const onMessage = permissions.showProgress
75
- ? (message) => { console.log(message); }
110
+ ? (message) => {
111
+ beerLogLine(message);
112
+ }
76
113
  : undefined;
77
- const options = { onMessage };
114
+ const options = {
115
+ onMessage,
116
+ onEvent: permissions.onEvent
117
+ };
78
118
  const sandbox = await sandboxInferenceGet({
79
119
  writePolicy,
120
+ projectPath: context.projectPath,
80
121
  enableWeakerNetworkIsolation: permissions.enableWeakerNetworkIsolation
81
122
  });
82
123
  const promptResolved = inferPromptResolve(prompt, writePolicy, expectedOutput);
@@ -87,40 +128,66 @@ export async function generate(context, prompt, permissions = {}) {
87
128
  if (!provider.command) {
88
129
  continue;
89
130
  }
90
- inferMessage(`provider=${provider.id} selected`, options);
91
- inferMessage(`provider=${provider.id} started`, options);
131
+ inferProviderStatusEvent({
132
+ providerId: provider.id,
133
+ status: "selected"
134
+ }, options);
92
135
  const model = providerModelSelect({
93
136
  provider,
94
137
  modelPriority: permissions.modelPriority,
95
138
  mode: permissions.modelSelectionMode
96
139
  });
97
- if (model) {
98
- inferMessage(`provider=${provider.id} model=${model}`, options);
99
- }
140
+ inferProviderStatusEvent({
141
+ providerId: provider.id,
142
+ status: "started",
143
+ model
144
+ }, options);
100
145
  const result = await providerGenerate({
101
146
  providerId: provider.id,
102
147
  command: provider.command,
103
148
  model,
104
149
  prompt: promptResolved,
150
+ sessionId: permissions.sessionId,
151
+ projectPath: context.projectPath,
105
152
  sandbox,
106
153
  writePolicy,
107
154
  requireOutputTags: expectedOutput.type === "text",
155
+ validateOutput: inferExpectedOutputVerifier(expectedOutput),
156
+ onEvent: (event) => inferProviderEvent(provider.id, event, options),
108
157
  onStdoutText: (chunk) => inferOutputMessage(provider.id, "stdout", chunk, options),
109
158
  onStderrText: (chunk) => inferOutputMessage(provider.id, "stderr", chunk, options)
110
159
  });
111
160
  if (result.output !== null) {
112
- inferMessage(`provider=${provider.id} completed`, options);
113
- return {
161
+ inferProviderStatusEvent({
162
+ providerId: provider.id,
163
+ status: "completed",
164
+ sessionId: result.sessionId,
165
+ tokens: result.tokenUsage
166
+ }, options);
167
+ const output = {
114
168
  provider: provider.id,
115
169
  text: result.output
116
170
  };
171
+ if (result.sessionId) {
172
+ output.sessionId = result.sessionId;
173
+ }
174
+ return output;
117
175
  }
118
176
  if (result.failure) {
119
- inferMessage(`provider=${provider.id} exit=${result.failure.exitCode}`, options);
177
+ inferProviderStatusEvent({
178
+ providerId: provider.id,
179
+ status: "failed",
180
+ exitCode: result.failure.exitCode,
181
+ tokens: result.tokenUsage
182
+ }, options);
120
183
  failures.push(result.failure);
121
184
  }
122
185
  }
123
186
  inferMessage("all providers failed", options);
187
+ inferEvent({
188
+ type: "all_providers_failed",
189
+ failures: failures.map((entry) => inferFailureForEvent(entry))
190
+ }, options);
124
191
  const details = failures
125
192
  .map((entry) => {
126
193
  const suffix = entry.stderr ? `, stderr=${entry.stderr}` : "";
@@ -129,4 +196,25 @@ export async function generate(context, prompt, permissions = {}) {
129
196
  .join("; ");
130
197
  throw new Error(`Inference failed for all providers${details ? `: ${details}` : "."}`);
131
198
  }
199
+ function inferExpectedOutputVerifier(expectedOutput) {
200
+ if (expectedOutput.type === "text") {
201
+ const verify = expectedOutput.verify;
202
+ if (!verify) {
203
+ return undefined;
204
+ }
205
+ return async (text) => verify({ text });
206
+ }
207
+ const verify = expectedOutput.verify;
208
+ if (!verify) {
209
+ return undefined;
210
+ }
211
+ return async (text) => {
212
+ const fileContent = await readFile(expectedOutput.filePath, "utf-8");
213
+ await verify({
214
+ text,
215
+ filePath: expectedOutput.filePath,
216
+ fileContent
217
+ });
218
+ };
219
+ }
132
220
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../sources/modules/ai/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../sources/modules/ai/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAgC,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AA6C/E,SAAS,YAAY,CAAC,OAAe,EAAE,OAAyB;IAC5D,OAAO,EAAE,SAAS,EAAE,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,UAAU,CAAC,KAAoB,EAAE,OAAyB;IAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,kBAAkB,CACvB,UAAsB,EACtB,MAA2B,EAC3B,KAAa,EACb,OAAyB;IAEzB,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QAC3C,OAAO;IACX,CAAC;IAED,MAAM,KAAK,GAAG,KAAK;SACd,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,SAAS,EAAE,CAAC,iBAAiB,UAAU,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QACrE,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtB,UAAU,CACN;gBACI,IAAI,EAAE,iBAAiB;gBACvB,UAAU;gBACV,IAAI,EAAE,IAAI;aACb,EACD,OAAO,CACV,CAAC;QACN,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAsB,EAAE,KAAoB,EAAE,OAAyB;IAC/F,UAAU,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,wBAAwB,CAC7B,KAOC,EACD,OAAyB;IAEzB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,WAAW,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,WAAW,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACrC,WAAW,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,WAAW,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,YAAY,CAAC,YAAY,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAChF,UAAU,CACN;QACI,IAAI,EAAE,iBAAiB;QACvB,GAAG,KAAK;KACX,EACD,OAAO,CACV,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgC;IAC1D,OAAO;QACH,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;KACzB,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CACvB,MAAc,EACd,WAAiC,EACjC,cAAsC;IAEtC,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,yBAAyB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7G,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAiC;IACzD,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO;YACH,6BAA6B;YAC7B,8BAA8B;YAC9B,wBAAwB;YACxB,yBAAyB;YACzB,6DAA6D;SAChE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjH,MAAM,YAAY,GACd,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAE1G,OAAO;QACH,6BAA6B;QAC7B,oCAAoC;QACpC,YAAY;QACZ,yBAAyB;QACzB,uCAAuC;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,cAAsC;IACrE,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO;YACH,kBAAkB;YAClB,iCAAiC,cAAc,CAAC,QAAQ,EAAE;YAC1D,mCAAmC;YACnC,8DAA8D;YAC9D,oDAAoD;SACvD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,OAAO;QACH,kBAAkB;QAClB,oBAAoB;QACpB,mEAAmE;KACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC1B,OAAgB,EAChB,MAAc,EACd,cAAmC,EAAE;IAErC,MAAM,WAAW,GAAyB,WAAW,CAAC,WAAW,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC3F,MAAM,cAAc,GAA2B,WAAW,CAAC,cAAc,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9F,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY;QACtC,CAAC,CAAC,CAAC,OAAe,EAAE,EAAE;YAChB,WAAW,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,OAAO,GAAoB;QAC7B,SAAS;QACT,OAAO,EAAE,WAAW,CAAC,OAAO;KAC/B,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;QACtC,WAAW;QACX,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,4BAA4B,EAAE,WAAW,CAAC,4BAA4B;KACzE,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACvF,MAAM,QAAQ,GAA8B,EAAE,CAAC;IAE/C,KAAK,MAAM,QAAQ,IAAI,oBAAoB,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpB,SAAS;QACb,CAAC;QAED,wBAAwB,CACpB;YACI,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,MAAM,EAAE,UAAU;SACrB,EACD,OAAO,CACV,CAAC;QACF,MAAM,KAAK,GAAG,mBAAmB,CAAC;YAC9B,QAAQ;YACR,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,IAAI,EAAE,WAAW,CAAC,kBAAkB;SACvC,CAAC,CAAC;QACH,wBAAwB,CACpB;YACI,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,MAAM,EAAE,SAAS;YACjB,KAAK;SACR,EACD,OAAO,CACV,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YAClC,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,KAAK;YACL,MAAM,EAAE,cAAc;YACtB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO;YACP,WAAW;YACX,iBAAiB,EAAE,cAAc,CAAC,IAAI,KAAK,MAAM;YACjD,cAAc,EAAE,2BAA2B,CAAC,cAAc,CAAC;YAC3D,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC;YACnE,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;YAClF,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;SACrF,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,wBAAwB,CACpB;gBACI,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,MAAM,CAAC,UAAU;aAC5B,EACD,OAAO,CACV,CAAC;YACF,MAAM,MAAM,GAAmB;gBAC3B,QAAQ,EAAE,QAAQ,CAAC,EAAE;gBACrB,IAAI,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;YACF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACxC,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,wBAAwB,CACpB;gBACI,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;gBACjC,MAAM,EAAE,MAAM,CAAC,UAAU;aAC5B,EACD,OAAO,CACV,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAC9C,UAAU,CACN;QACI,IAAI,EAAE,sBAAsB;QAC5B,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;KACjE,EACD,OAAO,CACV,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ;SACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACX,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO,GAAG,KAAK,CAAC,UAAU,SAAS,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC;IAClE,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,2BAA2B,CAChC,cAAsC;IAEtC,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QAClB,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,MAAM,CAAC;YACT,IAAI;YACJ,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,WAAW;SACd,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
@@ -17,14 +17,7 @@ function errorTextResolve(error) {
17
17
  function contextForProvider(providerId, command) {
18
18
  return {
19
19
  projectPath: "/tmp/test-project",
20
- providers: [{ id: providerId, available: true, command, priority: 1 }],
21
- inferText: (input) => generate(contextForProvider(providerId, command), input.prompt, {
22
- providerPriority: input.providerPriority,
23
- modelPriority: input.modelPriority,
24
- showProgress: input.showProgress,
25
- writePolicy: input.writePolicy
26
- }),
27
- stageAndCommit: async () => false
20
+ providers: [{ id: providerId, available: true, command, priority: 1 }]
28
21
  };
29
22
  }
30
23
  async function runRealProviderInference(providerId, command) {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.spec.js","sourceRoot":"","sources":["../../../sources/modules/ai/generate.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIpD,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,cAAc,OAAO,EAAE,CAAC,EAAE;QAChE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAsB,EAAE,OAAe;IACjE,OAAO;QACL,WAAW,EAAE,mBAAmB;QAChC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACtE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CACnB,QAAQ,CACN,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,EACvC,KAAK,CAAC,MAAM,EACZ;YACE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CACF;QACH,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;KAClC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,UAAsB,EAAE,OAAe;IAC7E,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,qCAAqC,EAAE;YAC5E,gBAAgB,EAAE,CAAC,UAAU,CAAC;SAC/B,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAExC,uEAAuE;QACvE,2CAA2C;QAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CACA,8DAA8D,EAC9D,KAAK,IAAI,EAAE;QACT,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC,EACD,eAAe,CAChB,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"generate.spec.js","sourceRoot":"","sources":["../../../sources/modules/ai/generate.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIpD,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,SAAS,aAAa,CAAC,OAAe;IAClC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,cAAc,OAAO,EAAE,CAAC,EAAE;QAC9D,QAAQ,EAAE,OAAO;KACpB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACpC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,OAAO,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAsB,EAAE,OAAe;IAC/D,OAAO;QACH,WAAW,EAAE,mBAAmB;QAChC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;KACnD,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,UAAsB,EAAE,OAAe;IAC3E,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,qCAAqC,EAAE;YAC1E,gBAAgB,EAAE,CAAC,UAAU,CAAC;SACjC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAExC,uEAAuE;QACvE,2CAA2C;QAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,EAAE,CACE,8DAA8D,EAC9D,KAAK,IAAI,EAAE;QACP,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC,EACD,eAAe,CAClB,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generate.unit.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.unit.spec.d.ts","sourceRoot":"","sources":["../../../sources/modules/ai/generate.unit.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,185 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+ const providerPriorityListMock = vi.hoisted(() => vi.fn());
3
+ const providerModelSelectMock = vi.hoisted(() => vi.fn());
4
+ const sandboxInferenceGetMock = vi.hoisted(() => vi.fn());
5
+ const providerGenerateMock = vi.hoisted(() => vi.fn());
6
+ vi.mock("@/modules/providers/providerPriorityList.js", () => ({
7
+ providerPriorityList: providerPriorityListMock
8
+ }));
9
+ vi.mock("@/modules/providers/providerModelSelect.js", () => ({
10
+ providerModelSelect: providerModelSelectMock
11
+ }));
12
+ vi.mock("@/modules/sandbox/sandboxInferenceGet.js", () => ({
13
+ sandboxInferenceGet: sandboxInferenceGetMock
14
+ }));
15
+ vi.mock("@/modules/ai/providerGenerate.js", () => ({
16
+ providerGenerate: providerGenerateMock
17
+ }));
18
+ import { generate } from "@/modules/ai/generate.js";
19
+ describe("generate event parsing", () => {
20
+ beforeEach(() => {
21
+ providerPriorityListMock.mockReset();
22
+ providerModelSelectMock.mockReset();
23
+ sandboxInferenceGetMock.mockReset();
24
+ providerGenerateMock.mockReset();
25
+ providerPriorityListMock.mockReturnValue([{ id: "pi", command: "pi" }]);
26
+ providerModelSelectMock.mockReturnValue(undefined);
27
+ sandboxInferenceGetMock.mockResolvedValue({ wrapCommand: async (command) => command });
28
+ });
29
+ it("forwards provider session_started event", async () => {
30
+ providerGenerateMock.mockImplementation(async (input) => {
31
+ input.onEvent?.({ type: "session_started", sessionId: "session-1" });
32
+ return { output: "ok" };
33
+ });
34
+ const onEvent = vi.fn();
35
+ const context = { projectPath: "/tmp/project", providers: [] };
36
+ await generate(context, "hello", { onEvent });
37
+ expect(onEvent).toHaveBeenCalledWith({
38
+ type: "session_started",
39
+ providerId: "pi",
40
+ sessionId: "session-1"
41
+ });
42
+ });
43
+ it("forwards provider full-state thinking events", async () => {
44
+ providerGenerateMock.mockImplementation(async (input) => {
45
+ input.onEvent?.({ type: "thinking", status: "started", text: "" });
46
+ input.onEvent?.({ type: "thinking", status: "updated", text: "analysis" });
47
+ input.onEvent?.({ type: "thinking", status: "stopped", text: "analysis done" });
48
+ return { output: "ok" };
49
+ });
50
+ const onEvent = vi.fn();
51
+ const context = { projectPath: "/tmp/project", providers: [] };
52
+ await generate(context, "hello", { onEvent });
53
+ expect(onEvent).toHaveBeenCalledWith({
54
+ type: "thinking",
55
+ providerId: "pi",
56
+ status: "started",
57
+ text: ""
58
+ });
59
+ expect(onEvent).toHaveBeenCalledWith({
60
+ type: "thinking",
61
+ providerId: "pi",
62
+ status: "updated",
63
+ text: "analysis"
64
+ });
65
+ expect(onEvent).toHaveBeenCalledWith({
66
+ type: "thinking",
67
+ providerId: "pi",
68
+ status: "stopped",
69
+ text: "analysis done"
70
+ });
71
+ });
72
+ it("forwards provider full-state tool call events", async () => {
73
+ providerGenerateMock.mockImplementation(async (input) => {
74
+ input.onEvent?.({
75
+ type: "tool_call",
76
+ status: "started",
77
+ toolName: "read",
78
+ partialJson: '{"path"'
79
+ });
80
+ input.onEvent?.({
81
+ type: "tool_call",
82
+ status: "stopped",
83
+ toolName: "read",
84
+ arguments: { path: "README.md" },
85
+ partialJson: '{"path":"README.md"}'
86
+ });
87
+ return { output: "ok" };
88
+ });
89
+ const onEvent = vi.fn();
90
+ const context = { projectPath: "/tmp/project", providers: [] };
91
+ await generate(context, "hello", { onEvent });
92
+ expect(onEvent).toHaveBeenCalledWith({
93
+ type: "tool_call",
94
+ providerId: "pi",
95
+ status: "started",
96
+ toolName: "read",
97
+ partialJson: '{"path"'
98
+ });
99
+ expect(onEvent).toHaveBeenCalledWith({
100
+ type: "tool_call",
101
+ providerId: "pi",
102
+ status: "stopped",
103
+ toolName: "read",
104
+ arguments: { path: "README.md" },
105
+ partialJson: '{"path":"README.md"}'
106
+ });
107
+ });
108
+ it("forwards provider full-state text events", async () => {
109
+ providerGenerateMock.mockImplementation(async (input) => {
110
+ input.onEvent?.({ type: "text", status: "started", text: "" });
111
+ input.onEvent?.({ type: "text", status: "updated", text: "hello" });
112
+ input.onEvent?.({ type: "text", status: "stopped", text: "hello world" });
113
+ return { output: "ok" };
114
+ });
115
+ const onEvent = vi.fn();
116
+ const context = { projectPath: "/tmp/project", providers: [] };
117
+ await generate(context, "hello", { onEvent });
118
+ expect(onEvent).toHaveBeenCalledWith({
119
+ type: "text",
120
+ providerId: "pi",
121
+ status: "started",
122
+ text: ""
123
+ });
124
+ expect(onEvent).toHaveBeenCalledWith({
125
+ type: "text",
126
+ providerId: "pi",
127
+ status: "updated",
128
+ text: "hello"
129
+ });
130
+ expect(onEvent).toHaveBeenCalledWith({
131
+ type: "text",
132
+ providerId: "pi",
133
+ status: "stopped",
134
+ text: "hello world"
135
+ });
136
+ });
137
+ it("forwards token usage events", async () => {
138
+ providerGenerateMock.mockImplementation(async (input) => {
139
+ input.onEvent?.({
140
+ type: "usage",
141
+ tokens: {
142
+ input: 10,
143
+ output: 5,
144
+ cacheRead: 2,
145
+ cacheWrite: 0,
146
+ total: 17
147
+ }
148
+ });
149
+ return { output: "ok", tokenUsage: { input: 10, output: 5, cacheRead: 2, cacheWrite: 0, total: 17 } };
150
+ });
151
+ const onEvent = vi.fn();
152
+ const context = { projectPath: "/tmp/project", providers: [] };
153
+ await generate(context, "hello", { onEvent });
154
+ expect(onEvent).toHaveBeenCalledWith({
155
+ type: "usage",
156
+ providerId: "pi",
157
+ tokens: {
158
+ input: 10,
159
+ output: 5,
160
+ cacheRead: 2,
161
+ cacheWrite: 0,
162
+ total: 17
163
+ }
164
+ });
165
+ });
166
+ it("returns sessionId from providerGenerate result", async () => {
167
+ providerGenerateMock.mockResolvedValue({ output: "ok", sessionId: "session-1" });
168
+ const context = { projectPath: "/tmp/project", providers: [] };
169
+ const result = await generate(context, "hello");
170
+ expect(result).toEqual({
171
+ provider: "pi",
172
+ sessionId: "session-1",
173
+ text: "ok"
174
+ });
175
+ });
176
+ it("passes requested sessionId into providerGenerate", async () => {
177
+ providerGenerateMock.mockResolvedValue({ output: "ok", sessionId: "session-2" });
178
+ const context = { projectPath: "/tmp/project", providers: [] };
179
+ await generate(context, "hello", { sessionId: "session-2" });
180
+ expect(providerGenerateMock).toHaveBeenCalledWith(expect.objectContaining({
181
+ sessionId: "session-2"
182
+ }));
183
+ });
184
+ });
185
+ //# sourceMappingURL=generate.unit.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.unit.spec.js","sourceRoot":"","sources":["../../../sources/modules/ai/generate.unit.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { ProviderEvent, ProviderTokenUsage } from "@/modules/ai/providerEventTypes.js";
2
+ import type { ProviderId } from "@/modules/providers/providerTypes.js";
3
+ export interface GenerateProviderFailure {
4
+ providerId: ProviderId;
5
+ exitCode: number;
6
+ stderr: string;
7
+ }
8
+ export type GenerateEvent = {
9
+ type: "provider_status";
10
+ providerId: ProviderId;
11
+ status: "selected" | "started" | "completed" | "failed";
12
+ model?: string;
13
+ sessionId?: string;
14
+ exitCode?: number;
15
+ tokens?: ProviderTokenUsage;
16
+ } | {
17
+ type: "provider_stderr";
18
+ providerId: ProviderId;
19
+ text: string;
20
+ } | ({
21
+ providerId: ProviderId;
22
+ } & ProviderEvent) | {
23
+ type: "all_providers_failed";
24
+ failures: readonly GenerateProviderFailure[];
25
+ };
26
+ //# sourceMappingURL=generateEventTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateEventTypes.d.ts","sourceRoot":"","sources":["../../../sources/modules/ai/generateEventTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAEvE,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,GACnB;IACI,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC/B,GACD;IACI,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CAChB,GACD,CAAC;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,GAAG,aAAa,CAAC,GAC5C;IACI,IAAI,EAAE,sBAAsB,CAAC;IAC7B,QAAQ,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAChD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generateEventTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateEventTypes.js","sourceRoot":"","sources":["../../../sources/modules/ai/generateEventTypes.ts"],"names":[],"mappings":""}
@@ -1,7 +1,10 @@
1
+ import { type GenerateExpectedFileOutputVerify, type GeneratePermissions } from "@/modules/ai/generate.js";
1
2
  import type { Context } from "@/types";
2
- import { type GeneratePermissions } from "@/modules/ai/generate.js";
3
- export interface GenerateFilePermissions extends GeneratePermissions {
3
+ export interface GenerateFilePermissions extends Omit<GeneratePermissions, "expectedOutput"> {
4
4
  retries?: number;
5
+ verify?: GenerateExpectedFileOutputVerify;
6
+ /** Extra template values to substitute in the prompt alongside the built-in ones. */
7
+ extraTemplateValues?: Record<string, string>;
5
8
  }
6
9
  /**
7
10
  * Generates content and asks the model to write it into a specific file path only.
@@ -9,6 +12,7 @@ export interface GenerateFilePermissions extends GeneratePermissions {
9
12
  */
10
13
  export declare function generateFile(context: Context, prompt: string, outputFilePath: string, permissions?: GenerateFilePermissions): Promise<{
11
14
  provider?: string;
15
+ sessionId?: string;
12
16
  text: string;
13
17
  }>;
14
18
  //# sourceMappingURL=generateFile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateFile.d.ts","sourceRoot":"","sources":["../../../sources/modules/ai/generateFile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,WAAW,GAAE,uBAA4B,GACxC,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmC9C"}
1
+ {"version":3,"file":"generateFile.d.ts","sourceRoot":"","sources":["../../../sources/modules/ai/generateFile.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gCAAgC,EAAE,KAAK,mBAAmB,EAAY,MAAM,0BAA0B,CAAC;AAErH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,gCAAgC,CAAC;IAC1C,qFAAqF;IACrF,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,WAAW,GAAE,uBAA4B,GAC1C,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA0ClE"}
@@ -1,24 +1,34 @@
1
- import { stat } from "node:fs/promises";
1
+ import { mkdir, stat } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { generate } from "@/modules/ai/generate.js";
4
+ import { beerOriginalPathResolve } from "@/modules/beer/beerOriginalPathResolve.js";
4
5
  /**
5
6
  * Generates content and asks the model to write it into a specific file path only.
6
7
  * Retries when inference succeeds but the target file does not appear on disk.
7
8
  */
8
9
  export async function generateFile(context, prompt, outputFilePath, permissions = {}) {
10
+ const { retries, verify, extraTemplateValues, ...permissionsBase } = permissions;
9
11
  const resolvedOutputPath = pathResolveInProject(context.projectPath, outputFilePath);
10
- const maxRetries = Math.max(0, permissions.retries ?? 1);
12
+ await mkdir(path.dirname(resolvedOutputPath), { recursive: true });
13
+ const promptTemplateValues = {
14
+ originalCheckoutPath: beerOriginalPathResolve(context.projectPath),
15
+ outputPath: resolvedOutputPath,
16
+ sourceFullName: context.settings.sourceRepo?.fullName,
17
+ productName: context.settings.productName,
18
+ ...extraTemplateValues
19
+ };
20
+ const maxRetries = Math.max(0, retries ?? 1);
11
21
  const basePrompt = [
12
- prompt,
22
+ promptFormat(prompt, promptTemplateValues),
13
23
  `Write the final result only to this file: ${resolvedOutputPath}.`,
14
24
  "Do not write to any other files."
15
25
  ].join("\n\n");
26
+ const expectedOutput = verify
27
+ ? { type: "file", filePath: resolvedOutputPath, verify }
28
+ : { type: "file", filePath: resolvedOutputPath };
16
29
  const permissionsResolved = {
17
- ...permissions,
18
- expectedOutput: {
19
- type: "file",
20
- filePath: resolvedOutputPath
21
- },
30
+ ...permissionsBase,
31
+ expectedOutput,
22
32
  writePolicy: {
23
33
  mode: "write-whitelist",
24
34
  writablePaths: [resolvedOutputPath]
@@ -27,10 +37,7 @@ export async function generateFile(context, prompt, outputFilePath, permissions
27
37
  for (let attempt = 0; attempt <= maxRetries; attempt += 1) {
28
38
  const promptResolved = attempt === 0
29
39
  ? basePrompt
30
- : [
31
- basePrompt,
32
- `Last time file did not appear at ${resolvedOutputPath} - create it now.`
33
- ].join("\n\n");
40
+ : [basePrompt, `Last time file did not appear at ${resolvedOutputPath} - create it now.`].join("\n\n");
34
41
  const result = await generate(context, promptResolved, permissionsResolved);
35
42
  if (await fileExists(resolvedOutputPath)) {
36
43
  return result;
@@ -53,4 +60,10 @@ async function fileExists(filePath) {
53
60
  return false;
54
61
  }
55
62
  }
63
+ function promptFormat(prompt, values) {
64
+ return prompt.replace(/\{(\w+)\}/g, (match, key) => {
65
+ const value = values[key];
66
+ return value === undefined ? match : value;
67
+ });
68
+ }
56
69
  //# sourceMappingURL=generateFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateFile.js","sourceRoot":"","sources":["../../../sources/modules/ai/generateFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAA4B,MAAM,0BAA0B,CAAC;AAM9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAgB,EAChB,MAAc,EACd,cAAsB,EACtB,cAAuC,EAAE;IAEzC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG;QACjB,MAAM;QACN,6CAA6C,kBAAkB,GAAG;QAClE,kCAAkC;KACnC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACf,MAAM,mBAAmB,GAAwB;QAC/C,GAAG,WAAW;QACd,cAAc,EAAE;YACd,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,kBAAkB;SAC7B;QACD,WAAW,EAAE;YACX,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,CAAC,kBAAkB,CAAC;SACpC;KACF,CAAC;IAEF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,cAAc,GAAG,OAAO,KAAK,CAAC;YAClC,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC;gBACE,UAAU;gBACV,oCAAoC,kBAAkB,mBAAmB;aAC1E,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAE5E,IAAI,MAAM,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,kBAAkB,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB,EAAE,cAAsB;IACvE,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"generateFile.js","sourceRoot":"","sources":["../../../sources/modules/ai/generateFile.ts"],"names":[],"mappings":"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"}