@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
@@ -0,0 +1,230 @@
1
+ import { lstat, mkdtemp, readFile, readlink, rm, writeFile } from "node:fs/promises";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { beforeEach, describe, expect, it, vi } from "vitest";
5
+ const providerDetectMock = vi.hoisted(() => vi.fn());
6
+ const gitStageAndCommitMock = vi.hoisted(() => vi.fn());
7
+ const gitPushMock = vi.hoisted(() => vi.fn());
8
+ const generateCommitMock = vi.hoisted(() => vi.fn());
9
+ const contextAskGithubRepoMock = vi.hoisted(() => vi.fn());
10
+ const contextApplyConfigMock = vi.hoisted(() => vi.fn());
11
+ const contextGitignoreEnsureMock = vi.hoisted(() => vi.fn());
12
+ const progressMultilineStartMock = vi.hoisted(() => vi.fn());
13
+ vi.mock("@/modules/providers/providerDetect.js", () => ({
14
+ providerDetect: providerDetectMock
15
+ }));
16
+ vi.mock("@/modules/git/gitStageAndCommit.js", () => ({
17
+ gitStageAndCommit: gitStageAndCommitMock
18
+ }));
19
+ vi.mock("@/modules/git/gitPush.js", () => ({
20
+ gitPush: gitPushMock
21
+ }));
22
+ vi.mock("@/_workflows/steps/generateCommit.js", () => ({
23
+ generateCommit: generateCommitMock
24
+ }));
25
+ vi.mock("@/_workflows/context/utils/contextAskGithubRepo.js", () => ({
26
+ contextAskGithubRepo: contextAskGithubRepoMock
27
+ }));
28
+ vi.mock("@/_workflows/context/utils/contextApplyConfig.js", () => ({
29
+ contextApplyConfig: contextApplyConfigMock
30
+ }));
31
+ vi.mock("@/_workflows/context/utils/contextGitignoreEnsure.js", () => ({
32
+ contextGitignoreEnsure: contextGitignoreEnsureMock
33
+ }));
34
+ vi.mock("@/_workflows/context/utils/progressMultilineStart.js", () => ({
35
+ progressMultilineStart: progressMultilineStartMock
36
+ }));
37
+ import { Context } from "@/_workflows/context/context.js";
38
+ describe("Context", () => {
39
+ beforeEach(() => {
40
+ providerDetectMock.mockReset();
41
+ gitStageAndCommitMock.mockReset();
42
+ gitPushMock.mockReset();
43
+ generateCommitMock.mockReset();
44
+ contextAskGithubRepoMock.mockReset();
45
+ contextApplyConfigMock.mockReset();
46
+ contextGitignoreEnsureMock.mockReset();
47
+ progressMultilineStartMock.mockReset();
48
+ });
49
+ it("creates context with folder and detected providers", async () => {
50
+ providerDetectMock.mockResolvedValue([{ id: "pi", available: true, command: "pi", priority: 1 }]);
51
+ const context = await Context.create("/tmp/test-project");
52
+ expect(context.projectPath).toBe("/tmp/test-project");
53
+ expect(context.providers).toEqual([{ id: "pi", available: true, command: "pi", priority: 1 }]);
54
+ });
55
+ it("checkpoints by generating commit message, staging, committing, and pushing", async () => {
56
+ providerDetectMock.mockResolvedValue([]);
57
+ generateCommitMock.mockResolvedValue({ text: "feat: generated message" });
58
+ gitStageAndCommitMock.mockResolvedValue(true);
59
+ const context = await Context.create("/tmp/test-project");
60
+ const result = await context.checkpoint("my hint", { remote: "origin", branch: "main" });
61
+ expect(result).toEqual({ committed: true });
62
+ expect(generateCommitMock).toHaveBeenCalledWith(context, expect.objectContaining({
63
+ hint: "my hint",
64
+ modelSelectionMode: "sonnet"
65
+ }));
66
+ expect(gitStageAndCommitMock).toHaveBeenCalledWith("feat: generated message", "/tmp/test-project");
67
+ expect(gitPushMock).toHaveBeenCalledWith("origin", "main", "/tmp/test-project");
68
+ });
69
+ it("delegates askGithubRepo, applyConfig, and gitignore helpers", async () => {
70
+ providerDetectMock.mockResolvedValue([]);
71
+ const repo = {
72
+ owner: "owner",
73
+ repo: "repo",
74
+ fullName: "owner/repo",
75
+ url: "https://github.com/owner/repo"
76
+ };
77
+ const settings = {
78
+ version: 1,
79
+ sourceRepo: repo,
80
+ updatedAt: Date.now()
81
+ };
82
+ contextAskGithubRepoMock.mockResolvedValue(repo);
83
+ contextApplyConfigMock.mockResolvedValue(settings);
84
+ const context = await Context.create("/tmp/test-project");
85
+ const asked = await context.askGithubRepo("Repo?");
86
+ await context.applyConfig(() => { });
87
+ await context.gitignore([".beer/local/"]);
88
+ expect(asked).toEqual(repo);
89
+ expect(context.settings).toEqual(settings);
90
+ expect(contextAskGithubRepoMock).toHaveBeenCalledWith("Repo?", undefined);
91
+ expect(contextApplyConfigMock).toHaveBeenCalledWith("/tmp/test-project", expect.objectContaining({ version: 1 }), expect.any(Function));
92
+ expect(contextGitignoreEnsureMock).toHaveBeenCalledWith("/tmp/test-project", [".beer/local/"]);
93
+ });
94
+ it("writes files and checks file/dir existence", async () => {
95
+ providerDetectMock.mockResolvedValue([]);
96
+ const tempDir = await mkdtemp(path.join(os.tmpdir(), "holdmybeer-context-"));
97
+ try {
98
+ const context = await Context.create(tempDir);
99
+ expect(await context.existDir("tmp")).toBe(false);
100
+ await context.makeDirs("tmp");
101
+ expect(await context.existDir("tmp")).toBe(true);
102
+ expect(await context.existFile("tmp/out.txt")).toBe(false);
103
+ await context.writeFile("tmp/out.txt", "hello");
104
+ expect(await context.existFile("tmp/out.txt")).toBe(true);
105
+ const text = await readFile(path.join(tempDir, "tmp/out.txt"), "utf-8");
106
+ expect(text).toBe("hello");
107
+ }
108
+ finally {
109
+ await rm(tempDir, { recursive: true, force: true });
110
+ }
111
+ });
112
+ it("locks internal I/O paths with project-aware normalization", async () => {
113
+ providerDetectMock.mockResolvedValue([]);
114
+ const context = await Context.create("/tmp/test-project");
115
+ const first = await context.lockIO(["tmp/out.txt"]);
116
+ expect(first.locked).toBe(true);
117
+ expect(first.release).not.toBeNull();
118
+ const second = await context.lockIO(["/tmp/test-project/tmp/out.txt"]);
119
+ expect(second).toEqual({
120
+ locked: false,
121
+ conflicts: ["/tmp/test-project/tmp/out.txt"],
122
+ release: null
123
+ });
124
+ await first.release?.();
125
+ const third = await context.lockIO(["tmp/out.txt"]);
126
+ expect(third.locked).toBe(true);
127
+ });
128
+ it("creates disk-backed path locks relative to the project", async () => {
129
+ providerDetectMock.mockResolvedValue([]);
130
+ const tempDir = await mkdtemp(path.join(os.tmpdir(), "holdmybeer-context-"));
131
+ try {
132
+ const context = await Context.create(tempDir);
133
+ const lock = await context.createPathLock(".beer/local/path-lock.json");
134
+ const result = await lock.lock(["src/main.ts"]);
135
+ expect(result.locked).toBe(true);
136
+ const diskState = JSON.parse(await readFile(path.join(tempDir, ".beer/local/path-lock.json"), "utf-8"));
137
+ expect(diskState.locked).toEqual(["src/main.ts"]);
138
+ }
139
+ finally {
140
+ await rm(tempDir, { recursive: true, force: true });
141
+ }
142
+ });
143
+ it("creates and refreshes symlinks", async () => {
144
+ providerDetectMock.mockResolvedValue([]);
145
+ const tempDir = await mkdtemp(path.join(os.tmpdir(), "holdmybeer-context-"));
146
+ try {
147
+ const context = await Context.create(tempDir);
148
+ await context.makeSymlink(".context", "ctx");
149
+ await context.makeSymlink(".context", "ctx");
150
+ const symlinkPath = path.join(tempDir, "ctx");
151
+ const symlinkStat = await lstat(symlinkPath);
152
+ expect(symlinkStat.isSymbolicLink()).toBe(true);
153
+ expect(await readlink(symlinkPath)).toBe(".context");
154
+ }
155
+ finally {
156
+ await rm(tempDir, { recursive: true, force: true });
157
+ }
158
+ });
159
+ it("fails makeSymlink when link path is not a symlink", async () => {
160
+ providerDetectMock.mockResolvedValue([]);
161
+ const tempDir = await mkdtemp(path.join(os.tmpdir(), "holdmybeer-context-"));
162
+ try {
163
+ const context = await Context.create(tempDir);
164
+ await writeFile(path.join(tempDir, "ctx"), "occupied", "utf-8");
165
+ await expect(context.makeSymlink(".context", "ctx")).rejects.toMatchObject({
166
+ code: "EEXIST"
167
+ });
168
+ }
169
+ finally {
170
+ await rm(tempDir, { recursive: true, force: true });
171
+ }
172
+ });
173
+ it("stacks progress lines across concurrent progress calls", async () => {
174
+ providerDetectMock.mockResolvedValue([]);
175
+ const lineA = {
176
+ update: vi.fn(),
177
+ done: vi.fn(),
178
+ fail: vi.fn()
179
+ };
180
+ const lineB = {
181
+ update: vi.fn(),
182
+ done: vi.fn(),
183
+ fail: vi.fn()
184
+ };
185
+ const addMock = vi.fn().mockReturnValueOnce(lineA).mockReturnValueOnce(lineB);
186
+ const stopMock = vi.fn();
187
+ progressMultilineStartMock.mockReturnValue({
188
+ add: addMock,
189
+ stop: stopMock
190
+ });
191
+ const context = await Context.create("/tmp/test-project");
192
+ const [first, second] = await Promise.all([
193
+ context.progress("task A", async () => "task A done"),
194
+ context.progress("task B", async () => "task B done")
195
+ ]);
196
+ expect(first).toBe("task A done");
197
+ expect(second).toBe("task B done");
198
+ expect(progressMultilineStartMock).toHaveBeenCalledTimes(1);
199
+ expect(addMock).toHaveBeenCalledWith("task A");
200
+ expect(addMock).toHaveBeenCalledWith("task B");
201
+ expect(lineA.done).toHaveBeenCalledWith("task A done");
202
+ expect(lineB.done).toHaveBeenCalledWith("task B done");
203
+ expect(lineA.fail).not.toHaveBeenCalled();
204
+ expect(lineB.fail).not.toHaveBeenCalled();
205
+ expect(stopMock).toHaveBeenCalledTimes(1);
206
+ });
207
+ it("uses thrown error message for failed progress lines", async () => {
208
+ providerDetectMock.mockResolvedValue([]);
209
+ const line = {
210
+ update: vi.fn(),
211
+ done: vi.fn(),
212
+ fail: vi.fn()
213
+ };
214
+ const addMock = vi.fn().mockReturnValue(line);
215
+ const stopMock = vi.fn();
216
+ progressMultilineStartMock.mockReturnValue({
217
+ add: addMock,
218
+ stop: stopMock
219
+ });
220
+ const context = await Context.create("/tmp/test-project");
221
+ await expect(context.progress("task A", async () => {
222
+ throw new Error("task failed");
223
+ })).rejects.toThrow("task failed");
224
+ expect(addMock).toHaveBeenCalledWith("task A");
225
+ expect(line.done).not.toHaveBeenCalled();
226
+ expect(line.fail).toHaveBeenCalledWith("task failed");
227
+ expect(stopMock).toHaveBeenCalledTimes(1);
228
+ });
229
+ });
230
+ //# sourceMappingURL=context.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.spec.js","sourceRoot":"","sources":["../../../sources/_workflows/context/context.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { BeerSettings } from "@/types";
2
+ /**
3
+ * Applies a mutation to current settings and persists the result to .beer/settings.json.
4
+ * Expects: projectPath is the repository root.
5
+ */
6
+ export declare function contextApplyConfig(projectPath: string, current: Readonly<BeerSettings>, apply: (settings: BeerSettings) => void | Promise<void>): Promise<BeerSettings>;
7
+ //# sourceMappingURL=contextApplyConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextApplyConfig.d.ts","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/contextApplyConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;GAGG;AACH,wBAAsB,kBAAkB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC/B,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACxD,OAAO,CAAC,YAAY,CAAC,CAOvB"}
@@ -0,0 +1,22 @@
1
+ import path from "node:path";
2
+ import { beerSettingsWrite } from "@/modules/beer/beerSettingsWrite.js";
3
+ /**
4
+ * Applies a mutation to current settings and persists the result to .beer/settings.json.
5
+ * Expects: projectPath is the repository root.
6
+ */
7
+ export async function contextApplyConfig(projectPath, current, apply) {
8
+ const settingsPath = path.join(projectPath, ".beer", "settings.json");
9
+ const next = contextSettingsClone(current);
10
+ await apply(next);
11
+ next.updatedAt = Date.now();
12
+ await beerSettingsWrite(settingsPath, next);
13
+ return next;
14
+ }
15
+ function contextSettingsClone(settings) {
16
+ return {
17
+ ...settings,
18
+ sourceRepo: settings.sourceRepo ? { ...settings.sourceRepo } : undefined,
19
+ publishRepo: settings.publishRepo ? { ...settings.publishRepo } : undefined
20
+ };
21
+ }
22
+ //# sourceMappingURL=contextApplyConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextApplyConfig.js","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/contextApplyConfig.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAGxE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,WAAmB,EACnB,OAA+B,EAC/B,KAAuD;IAEvD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,MAAM,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgC;IAC1D,OAAO;QACH,GAAG,QAAQ;QACX,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;QACxE,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;KAC9E,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contextApplyConfig.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextApplyConfig.spec.d.ts","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/contextApplyConfig.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ const beerSettingsWriteMock = vi.hoisted(() => vi.fn());
3
+ vi.mock("@/modules/beer/beerSettingsWrite.js", () => ({
4
+ beerSettingsWrite: beerSettingsWriteMock
5
+ }));
6
+ import { contextApplyConfig } from "@/_workflows/context/utils/contextApplyConfig.js";
7
+ describe("contextApplyConfig", () => {
8
+ it("applies update, persists with refreshed timestamp, and keeps input immutable", async () => {
9
+ const current = {
10
+ version: 1,
11
+ updatedAt: 1
12
+ };
13
+ const result = await contextApplyConfig("/tmp/project", current, (settings) => {
14
+ settings.sourceCommitHash = "abc123";
15
+ });
16
+ expect(result.sourceCommitHash).toBe("abc123");
17
+ expect(result.updatedAt).toBeGreaterThan(1);
18
+ expect(current.sourceCommitHash).toBeUndefined();
19
+ expect(beerSettingsWriteMock).toHaveBeenCalledWith("/tmp/project/.beer/settings.json", expect.objectContaining({
20
+ sourceCommitHash: "abc123"
21
+ }));
22
+ });
23
+ });
24
+ //# sourceMappingURL=contextApplyConfig.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextApplyConfig.spec.js","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/contextApplyConfig.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAGlD,MAAM,qBAAqB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAExD,EAAE,CAAC,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClD,iBAAiB,EAAE,qBAAqB;CAC3C,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAEtF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,OAAO,GAA2B;YACpC,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC;SACf,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC1E,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAC9C,kCAAkC,EAClC,MAAM,CAAC,gBAAgB,CAAC;YACpB,gBAAgB,EAAE,QAAQ;SAC7B,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { GitHubRepoRef } from "@/types";
2
+ /**
3
+ * Prompts until a valid and accessible GitHub repository is provided.
4
+ * Expects: question is a non-empty prompt text for the user.
5
+ */
6
+ export declare function contextAskGithubRepo(question: string, defaultValue?: string): Promise<GitHubRepoRef>;
7
+ //# sourceMappingURL=contextAskGithubRepo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextAskGithubRepo.d.ts","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/contextAskGithubRepo.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAgB1G"}
@@ -0,0 +1,23 @@
1
+ import { githubRepoExists } from "@/modules/github/githubRepoExists.js";
2
+ import { githubRepoParse } from "@/modules/github/githubRepoParse.js";
3
+ import { promptInput } from "@/modules/prompt/promptInput.js";
4
+ /**
5
+ * Prompts until a valid and accessible GitHub repository is provided.
6
+ * Expects: question is a non-empty prompt text for the user.
7
+ */
8
+ export async function contextAskGithubRepo(question, defaultValue) {
9
+ // eslint-disable-next-line no-constant-condition
10
+ while (true) {
11
+ const input = await promptInput(question, defaultValue);
12
+ const parsed = githubRepoParse(input);
13
+ if (!parsed) {
14
+ continue;
15
+ }
16
+ const exists = await githubRepoExists(parsed.fullName);
17
+ if (!exists) {
18
+ continue;
19
+ }
20
+ return parsed;
21
+ }
22
+ }
23
+ //# sourceMappingURL=contextAskGithubRepo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextAskGithubRepo.js","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/contextAskGithubRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAgB,EAAE,YAAqB;IAC9E,iDAAiD;IACjD,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,SAAS;QACb,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,SAAS;QACb,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contextAskGithubRepo.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextAskGithubRepo.spec.d.ts","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/contextAskGithubRepo.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+ const promptInputMock = vi.hoisted(() => vi.fn());
3
+ const githubRepoParseMock = vi.hoisted(() => vi.fn());
4
+ const githubRepoExistsMock = vi.hoisted(() => vi.fn());
5
+ vi.mock("@/modules/prompt/promptInput.js", () => ({
6
+ promptInput: promptInputMock
7
+ }));
8
+ vi.mock("@/modules/github/githubRepoParse.js", () => ({
9
+ githubRepoParse: githubRepoParseMock
10
+ }));
11
+ vi.mock("@/modules/github/githubRepoExists.js", () => ({
12
+ githubRepoExists: githubRepoExistsMock
13
+ }));
14
+ import { contextAskGithubRepo } from "@/_workflows/context/utils/contextAskGithubRepo.js";
15
+ describe("contextAskGithubRepo", () => {
16
+ beforeEach(() => {
17
+ promptInputMock.mockReset();
18
+ githubRepoParseMock.mockReset();
19
+ githubRepoExistsMock.mockReset();
20
+ });
21
+ it("re-prompts until a valid existing repository is provided", async () => {
22
+ promptInputMock.mockResolvedValueOnce("bad").mockResolvedValueOnce("owner/repo");
23
+ githubRepoParseMock.mockReturnValueOnce(null).mockReturnValueOnce({
24
+ owner: "owner",
25
+ repo: "repo",
26
+ fullName: "owner/repo",
27
+ url: "https://github.com/owner/repo"
28
+ });
29
+ githubRepoExistsMock.mockResolvedValueOnce(true);
30
+ const result = await contextAskGithubRepo("Repo?");
31
+ expect(result.fullName).toBe("owner/repo");
32
+ expect(promptInputMock).toHaveBeenCalledTimes(2);
33
+ expect(githubRepoExistsMock).toHaveBeenCalledWith("owner/repo");
34
+ });
35
+ });
36
+ //# sourceMappingURL=contextAskGithubRepo.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextAskGithubRepo.spec.js","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/contextAskGithubRepo.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9D,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAClD,MAAM,mBAAmB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACtD,MAAM,oBAAoB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAEvD,EAAE,CAAC,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,WAAW,EAAE,eAAe;CAC/B,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClD,eAAe,EAAE,mBAAmB;CACvC,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,gBAAgB,EAAE,oBAAoB;CACzC,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAE1F,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAClC,UAAU,CAAC,GAAG,EAAE;QACZ,eAAe,CAAC,SAAS,EAAE,CAAC;QAC5B,mBAAmB,CAAC,SAAS,EAAE,CAAC;QAChC,oBAAoB,CAAC,SAAS,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACtE,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACjF,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC;YAC9D,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,YAAY;YACtB,GAAG,EAAE,+BAA+B;SACvC,CAAC,CAAC;QACH,oBAAoB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEnD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Ensures .gitignore contains each requested pattern exactly once.
3
+ * Expects: projectPath is repository root and patterns are gitignore entries.
4
+ */
5
+ export declare function contextGitignoreEnsure(projectPath: string, patterns: readonly string[]): Promise<void>;
6
+ //# sourceMappingURL=contextGitignoreEnsure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextGitignoreEnsure.d.ts","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/contextGitignoreEnsure.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB5G"}
@@ -0,0 +1,60 @@
1
+ import { readFile, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ /**
4
+ * Ensures .gitignore contains each requested pattern exactly once.
5
+ * Expects: projectPath is repository root and patterns are gitignore entries.
6
+ */
7
+ export async function contextGitignoreEnsure(projectPath, patterns) {
8
+ const gitignorePath = path.join(projectPath, ".gitignore");
9
+ const normalizedPatterns = contextGitignorePatternsNormalize(patterns);
10
+ if (normalizedPatterns.length === 0) {
11
+ return;
12
+ }
13
+ const existing = await contextGitignoreRead(gitignorePath);
14
+ const normalized = existing.replace(/\r\n/g, "\n");
15
+ const missing = normalizedPatterns.filter((pattern) => !contextGitignoreHasEntry(normalized, pattern));
16
+ if (missing.length === 0) {
17
+ if (existing !== normalized) {
18
+ await writeFile(gitignorePath, normalized, "utf-8");
19
+ }
20
+ return;
21
+ }
22
+ const prefix = normalized.length === 0 ? "" : normalized.endsWith("\n") ? normalized : `${normalized}\n`;
23
+ await writeFile(gitignorePath, `${prefix}${missing.join("\n")}\n`, "utf-8");
24
+ }
25
+ async function contextGitignoreRead(gitignorePath) {
26
+ try {
27
+ return await readFile(gitignorePath, "utf-8");
28
+ }
29
+ catch (error) {
30
+ const code = error.code;
31
+ if (code === "ENOENT") {
32
+ return "";
33
+ }
34
+ throw error;
35
+ }
36
+ }
37
+ function contextGitignorePatternsNormalize(patterns) {
38
+ const out = [];
39
+ for (const pattern of patterns) {
40
+ const trimmed = pattern.trim();
41
+ if (!trimmed) {
42
+ continue;
43
+ }
44
+ if (out.some((existing) => contextGitignoreEntriesEqual(existing, trimmed))) {
45
+ continue;
46
+ }
47
+ out.push(trimmed);
48
+ }
49
+ return out;
50
+ }
51
+ function contextGitignoreHasEntry(content, entry) {
52
+ return content
53
+ .split("\n")
54
+ .map((line) => line.trim())
55
+ .some((line) => contextGitignoreEntriesEqual(line, entry));
56
+ }
57
+ function contextGitignoreEntriesEqual(left, right) {
58
+ return left === right || left === right.replace(/\/$/, "") || left.replace(/\/$/, "") === right;
59
+ }
60
+ //# sourceMappingURL=contextGitignoreEnsure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextGitignoreEnsure.js","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/contextGitignoreEnsure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contextGitignoreEnsure.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextGitignoreEnsure.spec.d.ts","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/contextGitignoreEnsure.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { afterEach, describe, expect, it } from "vitest";
5
+ import { contextGitignoreEnsure } from "@/_workflows/context/utils/contextGitignoreEnsure.js";
6
+ const tempDirs = [];
7
+ afterEach(async () => {
8
+ await Promise.all(tempDirs.splice(0).map((dir) => rm(dir, { recursive: true, force: true })));
9
+ });
10
+ describe("contextGitignoreEnsure", () => {
11
+ it("creates .gitignore with provided patterns when missing", async () => {
12
+ const projectPath = await mkdtemp(path.join(os.tmpdir(), "holdmybeer-context-gitignore-"));
13
+ tempDirs.push(projectPath);
14
+ await contextGitignoreEnsure(projectPath, [".beer/local/", ".cache/"]);
15
+ const content = await readFile(path.join(projectPath, ".gitignore"), "utf-8");
16
+ expect(content).toBe(".beer/local/\n.cache/\n");
17
+ });
18
+ it("appends only missing patterns and preserves existing entries", async () => {
19
+ const projectPath = await mkdtemp(path.join(os.tmpdir(), "holdmybeer-context-gitignore-"));
20
+ tempDirs.push(projectPath);
21
+ await writeFile(path.join(projectPath, ".gitignore"), "node_modules/\n", "utf-8");
22
+ await contextGitignoreEnsure(projectPath, [".beer/local/", "node_modules/"]);
23
+ const content = await readFile(path.join(projectPath, ".gitignore"), "utf-8");
24
+ expect(content).toBe("node_modules/\n.beer/local/\n");
25
+ });
26
+ it("does not duplicate entries when slash variants already exist", async () => {
27
+ const projectPath = await mkdtemp(path.join(os.tmpdir(), "holdmybeer-context-gitignore-"));
28
+ tempDirs.push(projectPath);
29
+ await writeFile(path.join(projectPath, ".gitignore"), ".beer/local\n", "utf-8");
30
+ await contextGitignoreEnsure(projectPath, [".beer/local/", ".beer/local/"]);
31
+ const content = await readFile(path.join(projectPath, ".gitignore"), "utf-8");
32
+ expect(content).toBe(".beer/local\n");
33
+ });
34
+ });
35
+ //# sourceMappingURL=contextGitignoreEnsure.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextGitignoreEnsure.spec.js","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/contextGitignoreEnsure.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAE9F,MAAM,QAAQ,GAAa,EAAE,CAAC;AAE9B,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC;QAC3F,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE3B,MAAM,sBAAsB,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC;QAC3F,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAElF,MAAM,sBAAsB,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;QAE7E,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC;QAC3F,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAEhF,MAAM,sBAAsB,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;QAE5E,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export interface ProgressLine {
2
+ update(message: string): void;
3
+ done(message?: string): void;
4
+ fail(message?: string): void;
5
+ }
6
+ export interface ProgressMultiline {
7
+ add(initialMessage: string): ProgressLine;
8
+ stop(): void;
9
+ }
10
+ /**
11
+ * Starts a multiline progress renderer where lines are added dynamically.
12
+ * Expects: add() receives non-empty user-facing messages.
13
+ */
14
+ export declare function progressMultilineStart(): ProgressMultiline;
15
+ //# sourceMappingURL=progressMultilineStart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progressMultilineStart.d.ts","sourceRoot":"","sources":["../../../../sources/_workflows/context/utils/progressMultilineStart.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAC9B,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,CAAC;IAC1C,IAAI,IAAI,IAAI,CAAC;CAChB;AAYD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,iBAAiB,CAuG1D"}