@promptwheel/cli 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/README.md +215 -0
  2. package/dist/bin/promptwheel.d.ts +17 -0
  3. package/dist/bin/promptwheel.d.ts.map +1 -0
  4. package/dist/bin/promptwheel.js +90 -0
  5. package/dist/bin/promptwheel.js.map +1 -0
  6. package/dist/commands/auto-auth.d.ts +26 -0
  7. package/dist/commands/auto-auth.d.ts.map +1 -0
  8. package/dist/commands/auto-auth.js +216 -0
  9. package/dist/commands/auto-auth.js.map +1 -0
  10. package/dist/commands/auto-ci-mode.d.ts +9 -0
  11. package/dist/commands/auto-ci-mode.d.ts.map +1 -0
  12. package/dist/commands/auto-ci-mode.js +176 -0
  13. package/dist/commands/auto-ci-mode.js.map +1 -0
  14. package/dist/commands/solo-analytics.d.ts +6 -0
  15. package/dist/commands/solo-analytics.d.ts.map +1 -0
  16. package/dist/commands/solo-analytics.js +267 -0
  17. package/dist/commands/solo-analytics.js.map +1 -0
  18. package/dist/commands/solo-auto.d.ts +6 -0
  19. package/dist/commands/solo-auto.d.ts.map +1 -0
  20. package/dist/commands/solo-auto.js +135 -0
  21. package/dist/commands/solo-auto.js.map +1 -0
  22. package/dist/commands/solo-daemon.d.ts +12 -0
  23. package/dist/commands/solo-daemon.d.ts.map +1 -0
  24. package/dist/commands/solo-daemon.js +177 -0
  25. package/dist/commands/solo-daemon.js.map +1 -0
  26. package/dist/commands/solo-exec.d.ts +6 -0
  27. package/dist/commands/solo-exec.d.ts.map +1 -0
  28. package/dist/commands/solo-exec.js +656 -0
  29. package/dist/commands/solo-exec.js.map +1 -0
  30. package/dist/commands/solo-inspect.d.ts +6 -0
  31. package/dist/commands/solo-inspect.d.ts.map +1 -0
  32. package/dist/commands/solo-inspect.js +765 -0
  33. package/dist/commands/solo-inspect.js.map +1 -0
  34. package/dist/commands/solo-lifecycle.d.ts +6 -0
  35. package/dist/commands/solo-lifecycle.d.ts.map +1 -0
  36. package/dist/commands/solo-lifecycle.js +226 -0
  37. package/dist/commands/solo-lifecycle.js.map +1 -0
  38. package/dist/commands/solo-nudge.d.ts +6 -0
  39. package/dist/commands/solo-nudge.d.ts.map +1 -0
  40. package/dist/commands/solo-nudge.js +49 -0
  41. package/dist/commands/solo-nudge.js.map +1 -0
  42. package/dist/commands/solo-qa.d.ts +6 -0
  43. package/dist/commands/solo-qa.d.ts.map +1 -0
  44. package/dist/commands/solo-qa.js +253 -0
  45. package/dist/commands/solo-qa.js.map +1 -0
  46. package/dist/commands/solo-trajectory.d.ts +6 -0
  47. package/dist/commands/solo-trajectory.d.ts.map +1 -0
  48. package/dist/commands/solo-trajectory.js +268 -0
  49. package/dist/commands/solo-trajectory.js.map +1 -0
  50. package/dist/commands/solo.d.ts +11 -0
  51. package/dist/commands/solo.d.ts.map +1 -0
  52. package/dist/commands/solo.js +52 -0
  53. package/dist/commands/solo.js.map +1 -0
  54. package/dist/index.d.ts +18 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +18 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/lib/artifacts.d.ts +136 -0
  59. package/dist/lib/artifacts.d.ts.map +1 -0
  60. package/dist/lib/artifacts.js +147 -0
  61. package/dist/lib/artifacts.js.map +1 -0
  62. package/dist/lib/codebase-index.d.ts +5 -0
  63. package/dist/lib/codebase-index.d.ts.map +1 -0
  64. package/dist/lib/codebase-index.js +5 -0
  65. package/dist/lib/codebase-index.js.map +1 -0
  66. package/dist/lib/cycle-context.d.ts +62 -0
  67. package/dist/lib/cycle-context.d.ts.map +1 -0
  68. package/dist/lib/cycle-context.js +141 -0
  69. package/dist/lib/cycle-context.js.map +1 -0
  70. package/dist/lib/daemon-fork.d.ts +39 -0
  71. package/dist/lib/daemon-fork.d.ts.map +1 -0
  72. package/dist/lib/daemon-fork.js +164 -0
  73. package/dist/lib/daemon-fork.js.map +1 -0
  74. package/dist/lib/daemon-notifier.d.ts +29 -0
  75. package/dist/lib/daemon-notifier.d.ts.map +1 -0
  76. package/dist/lib/daemon-notifier.js +147 -0
  77. package/dist/lib/daemon-notifier.js.map +1 -0
  78. package/dist/lib/daemon.d.ts +75 -0
  79. package/dist/lib/daemon.d.ts.map +1 -0
  80. package/dist/lib/daemon.js +265 -0
  81. package/dist/lib/daemon.js.map +1 -0
  82. package/dist/lib/dedup-memory.d.ts +46 -0
  83. package/dist/lib/dedup-memory.d.ts.map +1 -0
  84. package/dist/lib/dedup-memory.js +190 -0
  85. package/dist/lib/dedup-memory.js.map +1 -0
  86. package/dist/lib/dedup.d.ts +37 -0
  87. package/dist/lib/dedup.d.ts.map +1 -0
  88. package/dist/lib/dedup.js +85 -0
  89. package/dist/lib/dedup.js.map +1 -0
  90. package/dist/lib/display-adapter-log.d.ts +26 -0
  91. package/dist/lib/display-adapter-log.d.ts.map +1 -0
  92. package/dist/lib/display-adapter-log.js +63 -0
  93. package/dist/lib/display-adapter-log.js.map +1 -0
  94. package/dist/lib/display-adapter-spinner.d.ts +28 -0
  95. package/dist/lib/display-adapter-spinner.d.ts.map +1 -0
  96. package/dist/lib/display-adapter-spinner.js +93 -0
  97. package/dist/lib/display-adapter-spinner.js.map +1 -0
  98. package/dist/lib/display-adapter-tui.d.ts +32 -0
  99. package/dist/lib/display-adapter-tui.d.ts.map +1 -0
  100. package/dist/lib/display-adapter-tui.js +77 -0
  101. package/dist/lib/display-adapter-tui.js.map +1 -0
  102. package/dist/lib/display-adapter.d.ts +40 -0
  103. package/dist/lib/display-adapter.d.ts.map +1 -0
  104. package/dist/lib/display-adapter.js +9 -0
  105. package/dist/lib/display-adapter.js.map +1 -0
  106. package/dist/lib/doctor.d.ts +45 -0
  107. package/dist/lib/doctor.d.ts.map +1 -0
  108. package/dist/lib/doctor.js +382 -0
  109. package/dist/lib/doctor.js.map +1 -0
  110. package/dist/lib/exclusion-index.d.ts +50 -0
  111. package/dist/lib/exclusion-index.d.ts.map +1 -0
  112. package/dist/lib/exclusion-index.js +249 -0
  113. package/dist/lib/exclusion-index.js.map +1 -0
  114. package/dist/lib/exec.d.ts +24 -0
  115. package/dist/lib/exec.d.ts.map +1 -0
  116. package/dist/lib/exec.js +295 -0
  117. package/dist/lib/exec.js.map +1 -0
  118. package/dist/lib/execution-backends/claude.d.ts +27 -0
  119. package/dist/lib/execution-backends/claude.d.ts.map +1 -0
  120. package/dist/lib/execution-backends/claude.js +161 -0
  121. package/dist/lib/execution-backends/claude.js.map +1 -0
  122. package/dist/lib/execution-backends/codex.d.ts +28 -0
  123. package/dist/lib/execution-backends/codex.d.ts.map +1 -0
  124. package/dist/lib/execution-backends/codex.js +216 -0
  125. package/dist/lib/execution-backends/codex.js.map +1 -0
  126. package/dist/lib/execution-backends/index.d.ts +10 -0
  127. package/dist/lib/execution-backends/index.d.ts.map +1 -0
  128. package/dist/lib/execution-backends/index.js +9 -0
  129. package/dist/lib/execution-backends/index.js.map +1 -0
  130. package/dist/lib/execution-backends/kimi.d.ts +25 -0
  131. package/dist/lib/execution-backends/kimi.d.ts.map +1 -0
  132. package/dist/lib/execution-backends/kimi.js +76 -0
  133. package/dist/lib/execution-backends/kimi.js.map +1 -0
  134. package/dist/lib/execution-backends/types.d.ts +38 -0
  135. package/dist/lib/execution-backends/types.d.ts.map +1 -0
  136. package/dist/lib/execution-backends/types.js +5 -0
  137. package/dist/lib/execution-backends/types.js.map +1 -0
  138. package/dist/lib/failure-classifier.d.ts +11 -0
  139. package/dist/lib/failure-classifier.d.ts.map +1 -0
  140. package/dist/lib/failure-classifier.js +24 -0
  141. package/dist/lib/failure-classifier.js.map +1 -0
  142. package/dist/lib/file-cooldown.d.ts +9 -0
  143. package/dist/lib/file-cooldown.d.ts.map +1 -0
  144. package/dist/lib/file-cooldown.js +75 -0
  145. package/dist/lib/file-cooldown.js.map +1 -0
  146. package/dist/lib/formulas.d.ts +52 -0
  147. package/dist/lib/formulas.d.ts.map +1 -0
  148. package/dist/lib/formulas.js +123 -0
  149. package/dist/lib/formulas.js.map +1 -0
  150. package/dist/lib/git.d.ts +9 -0
  151. package/dist/lib/git.d.ts.map +1 -0
  152. package/dist/lib/git.js +60 -0
  153. package/dist/lib/git.js.map +1 -0
  154. package/dist/lib/goals.d.ts +59 -0
  155. package/dist/lib/goals.d.ts.map +1 -0
  156. package/dist/lib/goals.js +216 -0
  157. package/dist/lib/goals.js.map +1 -0
  158. package/dist/lib/guidelines.d.ts +32 -0
  159. package/dist/lib/guidelines.d.ts.map +1 -0
  160. package/dist/lib/guidelines.js +102 -0
  161. package/dist/lib/guidelines.js.map +1 -0
  162. package/dist/lib/learnings.d.ts +65 -0
  163. package/dist/lib/learnings.d.ts.map +1 -0
  164. package/dist/lib/learnings.js +193 -0
  165. package/dist/lib/learnings.js.map +1 -0
  166. package/dist/lib/logger.d.ts +17 -0
  167. package/dist/lib/logger.d.ts.map +1 -0
  168. package/dist/lib/logger.js +42 -0
  169. package/dist/lib/logger.js.map +1 -0
  170. package/dist/lib/meta-learnings.d.ts +27 -0
  171. package/dist/lib/meta-learnings.d.ts.map +1 -0
  172. package/dist/lib/meta-learnings.js +270 -0
  173. package/dist/lib/meta-learnings.js.map +1 -0
  174. package/dist/lib/metrics.d.ts +48 -0
  175. package/dist/lib/metrics.d.ts.map +1 -0
  176. package/dist/lib/metrics.js +107 -0
  177. package/dist/lib/metrics.js.map +1 -0
  178. package/dist/lib/openai-local-execution.d.ts +29 -0
  179. package/dist/lib/openai-local-execution.d.ts.map +1 -0
  180. package/dist/lib/openai-local-execution.js +282 -0
  181. package/dist/lib/openai-local-execution.js.map +1 -0
  182. package/dist/lib/project-metadata/csharp.d.ts +6 -0
  183. package/dist/lib/project-metadata/csharp.d.ts.map +1 -0
  184. package/dist/lib/project-metadata/csharp.js +19 -0
  185. package/dist/lib/project-metadata/csharp.js.map +1 -0
  186. package/dist/lib/project-metadata/elixir.d.ts +6 -0
  187. package/dist/lib/project-metadata/elixir.d.ts.map +1 -0
  188. package/dist/lib/project-metadata/elixir.js +23 -0
  189. package/dist/lib/project-metadata/elixir.js.map +1 -0
  190. package/dist/lib/project-metadata/go.d.ts +6 -0
  191. package/dist/lib/project-metadata/go.d.ts.map +1 -0
  192. package/dist/lib/project-metadata/go.js +30 -0
  193. package/dist/lib/project-metadata/go.js.map +1 -0
  194. package/dist/lib/project-metadata/index.d.ts +13 -0
  195. package/dist/lib/project-metadata/index.d.ts.map +1 -0
  196. package/dist/lib/project-metadata/index.js +111 -0
  197. package/dist/lib/project-metadata/index.js.map +1 -0
  198. package/dist/lib/project-metadata/java.d.ts +6 -0
  199. package/dist/lib/project-metadata/java.d.ts.map +1 -0
  200. package/dist/lib/project-metadata/java.js +37 -0
  201. package/dist/lib/project-metadata/java.js.map +1 -0
  202. package/dist/lib/project-metadata/node.d.ts +6 -0
  203. package/dist/lib/project-metadata/node.d.ts.map +1 -0
  204. package/dist/lib/project-metadata/node.js +135 -0
  205. package/dist/lib/project-metadata/node.js.map +1 -0
  206. package/dist/lib/project-metadata/php.d.ts +6 -0
  207. package/dist/lib/project-metadata/php.d.ts.map +1 -0
  208. package/dist/lib/project-metadata/php.js +29 -0
  209. package/dist/lib/project-metadata/php.js.map +1 -0
  210. package/dist/lib/project-metadata/python.d.ts +6 -0
  211. package/dist/lib/project-metadata/python.d.ts.map +1 -0
  212. package/dist/lib/project-metadata/python.js +79 -0
  213. package/dist/lib/project-metadata/python.js.map +1 -0
  214. package/dist/lib/project-metadata/ruby.d.ts +6 -0
  215. package/dist/lib/project-metadata/ruby.d.ts.map +1 -0
  216. package/dist/lib/project-metadata/ruby.js +38 -0
  217. package/dist/lib/project-metadata/ruby.js.map +1 -0
  218. package/dist/lib/project-metadata/rust.d.ts +6 -0
  219. package/dist/lib/project-metadata/rust.d.ts.map +1 -0
  220. package/dist/lib/project-metadata/rust.js +33 -0
  221. package/dist/lib/project-metadata/rust.js.map +1 -0
  222. package/dist/lib/project-metadata/swift.d.ts +6 -0
  223. package/dist/lib/project-metadata/swift.d.ts.map +1 -0
  224. package/dist/lib/project-metadata/swift.js +19 -0
  225. package/dist/lib/project-metadata/swift.js.map +1 -0
  226. package/dist/lib/project-metadata/types.d.ts +37 -0
  227. package/dist/lib/project-metadata/types.d.ts.map +1 -0
  228. package/dist/lib/project-metadata/types.js +5 -0
  229. package/dist/lib/project-metadata/types.js.map +1 -0
  230. package/dist/lib/proposal-review.d.ts +9 -0
  231. package/dist/lib/proposal-review.d.ts.map +1 -0
  232. package/dist/lib/proposal-review.js +9 -0
  233. package/dist/lib/proposal-review.js.map +1 -0
  234. package/dist/lib/providers/claude.d.ts +6 -0
  235. package/dist/lib/providers/claude.d.ts.map +1 -0
  236. package/dist/lib/providers/claude.js +21 -0
  237. package/dist/lib/providers/claude.js.map +1 -0
  238. package/dist/lib/providers/codex.d.ts +6 -0
  239. package/dist/lib/providers/codex.d.ts.map +1 -0
  240. package/dist/lib/providers/codex.js +26 -0
  241. package/dist/lib/providers/codex.js.map +1 -0
  242. package/dist/lib/providers/index.d.ts +22 -0
  243. package/dist/lib/providers/index.d.ts.map +1 -0
  244. package/dist/lib/providers/index.js +39 -0
  245. package/dist/lib/providers/index.js.map +1 -0
  246. package/dist/lib/providers/kimi.d.ts +6 -0
  247. package/dist/lib/providers/kimi.d.ts.map +1 -0
  248. package/dist/lib/providers/kimi.js +22 -0
  249. package/dist/lib/providers/kimi.js.map +1 -0
  250. package/dist/lib/providers/openai-local.d.ts +8 -0
  251. package/dist/lib/providers/openai-local.d.ts.map +1 -0
  252. package/dist/lib/providers/openai-local.js +30 -0
  253. package/dist/lib/providers/openai-local.js.map +1 -0
  254. package/dist/lib/providers/types.d.ts +37 -0
  255. package/dist/lib/providers/types.d.ts.map +1 -0
  256. package/dist/lib/providers/types.js +5 -0
  257. package/dist/lib/providers/types.js.map +1 -0
  258. package/dist/lib/qa-stats.d.ts +113 -0
  259. package/dist/lib/qa-stats.d.ts.map +1 -0
  260. package/dist/lib/qa-stats.js +311 -0
  261. package/dist/lib/qa-stats.js.map +1 -0
  262. package/dist/lib/retention.d.ts +125 -0
  263. package/dist/lib/retention.d.ts.map +1 -0
  264. package/dist/lib/retention.js +767 -0
  265. package/dist/lib/retention.js.map +1 -0
  266. package/dist/lib/run-history.d.ts +52 -0
  267. package/dist/lib/run-history.d.ts.map +1 -0
  268. package/dist/lib/run-history.js +116 -0
  269. package/dist/lib/run-history.js.map +1 -0
  270. package/dist/lib/run-state.d.ts +129 -0
  271. package/dist/lib/run-state.d.ts.map +1 -0
  272. package/dist/lib/run-state.js +312 -0
  273. package/dist/lib/run-state.js.map +1 -0
  274. package/dist/lib/scope.d.ts +8 -0
  275. package/dist/lib/scope.d.ts.map +1 -0
  276. package/dist/lib/scope.js +8 -0
  277. package/dist/lib/scope.js.map +1 -0
  278. package/dist/lib/scout-prompt-builder.d.ts +22 -0
  279. package/dist/lib/scout-prompt-builder.d.ts.map +1 -0
  280. package/dist/lib/scout-prompt-builder.js +97 -0
  281. package/dist/lib/scout-prompt-builder.js.map +1 -0
  282. package/dist/lib/sectors.d.ts +21 -0
  283. package/dist/lib/sectors.d.ts.map +1 -0
  284. package/dist/lib/sectors.js +96 -0
  285. package/dist/lib/sectors.js.map +1 -0
  286. package/dist/lib/selection.d.ts +35 -0
  287. package/dist/lib/selection.d.ts.map +1 -0
  288. package/dist/lib/selection.js +110 -0
  289. package/dist/lib/selection.js.map +1 -0
  290. package/dist/lib/session-report.d.ts +26 -0
  291. package/dist/lib/session-report.d.ts.map +1 -0
  292. package/dist/lib/session-report.js +143 -0
  293. package/dist/lib/session-report.js.map +1 -0
  294. package/dist/lib/solo-auto-between-cycles.d.ts +10 -0
  295. package/dist/lib/solo-auto-between-cycles.d.ts.map +1 -0
  296. package/dist/lib/solo-auto-between-cycles.js +577 -0
  297. package/dist/lib/solo-auto-between-cycles.js.map +1 -0
  298. package/dist/lib/solo-auto-execute.d.ts +22 -0
  299. package/dist/lib/solo-auto-execute.d.ts.map +1 -0
  300. package/dist/lib/solo-auto-execute.js +530 -0
  301. package/dist/lib/solo-auto-execute.js.map +1 -0
  302. package/dist/lib/solo-auto-filter.d.ts +14 -0
  303. package/dist/lib/solo-auto-filter.d.ts.map +1 -0
  304. package/dist/lib/solo-auto-filter.js +311 -0
  305. package/dist/lib/solo-auto-filter.js.map +1 -0
  306. package/dist/lib/solo-auto-finalize.d.ts +6 -0
  307. package/dist/lib/solo-auto-finalize.d.ts.map +1 -0
  308. package/dist/lib/solo-auto-finalize.js +242 -0
  309. package/dist/lib/solo-auto-finalize.js.map +1 -0
  310. package/dist/lib/solo-auto-init-qa.d.ts +23 -0
  311. package/dist/lib/solo-auto-init-qa.d.ts.map +1 -0
  312. package/dist/lib/solo-auto-init-qa.js +183 -0
  313. package/dist/lib/solo-auto-init-qa.js.map +1 -0
  314. package/dist/lib/solo-auto-planning.d.ts +40 -0
  315. package/dist/lib/solo-auto-planning.d.ts.map +1 -0
  316. package/dist/lib/solo-auto-planning.js +171 -0
  317. package/dist/lib/solo-auto-planning.js.map +1 -0
  318. package/dist/lib/solo-auto-scout.d.ts +18 -0
  319. package/dist/lib/solo-auto-scout.d.ts.map +1 -0
  320. package/dist/lib/solo-auto-scout.js +269 -0
  321. package/dist/lib/solo-auto-scout.js.map +1 -0
  322. package/dist/lib/solo-auto-state.d.ts +20 -0
  323. package/dist/lib/solo-auto-state.d.ts.map +1 -0
  324. package/dist/lib/solo-auto-state.js +859 -0
  325. package/dist/lib/solo-auto-state.js.map +1 -0
  326. package/dist/lib/solo-auto-types.d.ts +197 -0
  327. package/dist/lib/solo-auto-types.d.ts.map +1 -0
  328. package/dist/lib/solo-auto-types.js +11 -0
  329. package/dist/lib/solo-auto-types.js.map +1 -0
  330. package/dist/lib/solo-auto-utils.d.ts +23 -0
  331. package/dist/lib/solo-auto-utils.d.ts.map +1 -0
  332. package/dist/lib/solo-auto-utils.js +53 -0
  333. package/dist/lib/solo-auto-utils.js.map +1 -0
  334. package/dist/lib/solo-auto.d.ts +25 -0
  335. package/dist/lib/solo-auto.d.ts.map +1 -0
  336. package/dist/lib/solo-auto.js +345 -0
  337. package/dist/lib/solo-auto.js.map +1 -0
  338. package/dist/lib/solo-ci.d.ts +84 -0
  339. package/dist/lib/solo-ci.d.ts.map +1 -0
  340. package/dist/lib/solo-ci.js +306 -0
  341. package/dist/lib/solo-ci.js.map +1 -0
  342. package/dist/lib/solo-config.d.ts +242 -0
  343. package/dist/lib/solo-config.d.ts.map +1 -0
  344. package/dist/lib/solo-config.js +354 -0
  345. package/dist/lib/solo-config.js.map +1 -0
  346. package/dist/lib/solo-cycle-formula.d.ts +36 -0
  347. package/dist/lib/solo-cycle-formula.d.ts.map +1 -0
  348. package/dist/lib/solo-cycle-formula.js +90 -0
  349. package/dist/lib/solo-cycle-formula.js.map +1 -0
  350. package/dist/lib/solo-git.d.ts +87 -0
  351. package/dist/lib/solo-git.d.ts.map +1 -0
  352. package/dist/lib/solo-git.js +365 -0
  353. package/dist/lib/solo-git.js.map +1 -0
  354. package/dist/lib/solo-hints.d.ts +32 -0
  355. package/dist/lib/solo-hints.d.ts.map +1 -0
  356. package/dist/lib/solo-hints.js +98 -0
  357. package/dist/lib/solo-hints.js.map +1 -0
  358. package/dist/lib/solo-prompt-builder.d.ts +12 -0
  359. package/dist/lib/solo-prompt-builder.d.ts.map +1 -0
  360. package/dist/lib/solo-prompt-builder.js +53 -0
  361. package/dist/lib/solo-prompt-builder.js.map +1 -0
  362. package/dist/lib/solo-qa-retry.d.ts +43 -0
  363. package/dist/lib/solo-qa-retry.d.ts.map +1 -0
  364. package/dist/lib/solo-qa-retry.js +125 -0
  365. package/dist/lib/solo-qa-retry.js.map +1 -0
  366. package/dist/lib/solo-remote.d.ts +14 -0
  367. package/dist/lib/solo-remote.d.ts.map +1 -0
  368. package/dist/lib/solo-remote.js +48 -0
  369. package/dist/lib/solo-remote.js.map +1 -0
  370. package/dist/lib/solo-session-summary.d.ts +52 -0
  371. package/dist/lib/solo-session-summary.d.ts.map +1 -0
  372. package/dist/lib/solo-session-summary.js +188 -0
  373. package/dist/lib/solo-session-summary.js.map +1 -0
  374. package/dist/lib/solo-stdin.d.ts +33 -0
  375. package/dist/lib/solo-stdin.d.ts.map +1 -0
  376. package/dist/lib/solo-stdin.js +299 -0
  377. package/dist/lib/solo-stdin.js.map +1 -0
  378. package/dist/lib/solo-ticket-qa.d.ts +19 -0
  379. package/dist/lib/solo-ticket-qa.d.ts.map +1 -0
  380. package/dist/lib/solo-ticket-qa.js +68 -0
  381. package/dist/lib/solo-ticket-qa.js.map +1 -0
  382. package/dist/lib/solo-ticket-types.d.ts +146 -0
  383. package/dist/lib/solo-ticket-types.d.ts.map +1 -0
  384. package/dist/lib/solo-ticket-types.js +26 -0
  385. package/dist/lib/solo-ticket-types.js.map +1 -0
  386. package/dist/lib/solo-ticket.d.ts +12 -0
  387. package/dist/lib/solo-ticket.d.ts.map +1 -0
  388. package/dist/lib/solo-ticket.js +192 -0
  389. package/dist/lib/solo-ticket.js.map +1 -0
  390. package/dist/lib/solo-utils.d.ts +130 -0
  391. package/dist/lib/solo-utils.d.ts.map +1 -0
  392. package/dist/lib/solo-utils.js +277 -0
  393. package/dist/lib/solo-utils.js.map +1 -0
  394. package/dist/lib/spindle/failure-patterns.d.ts +15 -0
  395. package/dist/lib/spindle/failure-patterns.d.ts.map +1 -0
  396. package/dist/lib/spindle/failure-patterns.js +22 -0
  397. package/dist/lib/spindle/failure-patterns.js.map +1 -0
  398. package/dist/lib/spindle/format.d.ts +9 -0
  399. package/dist/lib/spindle/format.d.ts.map +1 -0
  400. package/dist/lib/spindle/format.js +37 -0
  401. package/dist/lib/spindle/format.js.map +1 -0
  402. package/dist/lib/spindle/index.d.ts +33 -0
  403. package/dist/lib/spindle/index.d.ts.map +1 -0
  404. package/dist/lib/spindle/index.js +231 -0
  405. package/dist/lib/spindle/index.js.map +1 -0
  406. package/dist/lib/spindle/oscillation.d.ts +17 -0
  407. package/dist/lib/spindle/oscillation.d.ts.map +1 -0
  408. package/dist/lib/spindle/oscillation.js +96 -0
  409. package/dist/lib/spindle/oscillation.js.map +1 -0
  410. package/dist/lib/spindle/repetition.d.ts +16 -0
  411. package/dist/lib/spindle/repetition.d.ts.map +1 -0
  412. package/dist/lib/spindle/repetition.js +52 -0
  413. package/dist/lib/spindle/repetition.js.map +1 -0
  414. package/dist/lib/spindle/similarity.d.ts +14 -0
  415. package/dist/lib/spindle/similarity.d.ts.map +1 -0
  416. package/dist/lib/spindle/similarity.js +58 -0
  417. package/dist/lib/spindle/similarity.js.map +1 -0
  418. package/dist/lib/spindle/types.d.ts +97 -0
  419. package/dist/lib/spindle/types.d.ts.map +1 -0
  420. package/dist/lib/spindle/types.js +46 -0
  421. package/dist/lib/spindle/types.js.map +1 -0
  422. package/dist/lib/spinner.d.ts +41 -0
  423. package/dist/lib/spinner.d.ts.map +1 -0
  424. package/dist/lib/spinner.js +186 -0
  425. package/dist/lib/spinner.js.map +1 -0
  426. package/dist/lib/taste-profile.d.ts +26 -0
  427. package/dist/lib/taste-profile.d.ts.map +1 -0
  428. package/dist/lib/taste-profile.js +121 -0
  429. package/dist/lib/taste-profile.js.map +1 -0
  430. package/dist/lib/ticket-steps/index.d.ts +14 -0
  431. package/dist/lib/ticket-steps/index.d.ts.map +1 -0
  432. package/dist/lib/ticket-steps/index.js +13 -0
  433. package/dist/lib/ticket-steps/index.js.map +1 -0
  434. package/dist/lib/ticket-steps/step-agent.d.ts +6 -0
  435. package/dist/lib/ticket-steps/step-agent.d.ts.map +1 -0
  436. package/dist/lib/ticket-steps/step-agent.js +122 -0
  437. package/dist/lib/ticket-steps/step-agent.js.map +1 -0
  438. package/dist/lib/ticket-steps/step-cleanup.d.ts +6 -0
  439. package/dist/lib/ticket-steps/step-cleanup.d.ts.map +1 -0
  440. package/dist/lib/ticket-steps/step-cleanup.js +11 -0
  441. package/dist/lib/ticket-steps/step-cleanup.js.map +1 -0
  442. package/dist/lib/ticket-steps/step-commit.d.ts +6 -0
  443. package/dist/lib/ticket-steps/step-commit.d.ts.map +1 -0
  444. package/dist/lib/ticket-steps/step-commit.js +31 -0
  445. package/dist/lib/ticket-steps/step-commit.js.map +1 -0
  446. package/dist/lib/ticket-steps/step-pr.d.ts +6 -0
  447. package/dist/lib/ticket-steps/step-pr.d.ts.map +1 -0
  448. package/dist/lib/ticket-steps/step-pr.js +38 -0
  449. package/dist/lib/ticket-steps/step-pr.js.map +1 -0
  450. package/dist/lib/ticket-steps/step-push.d.ts +6 -0
  451. package/dist/lib/ticket-steps/step-push.d.ts.map +1 -0
  452. package/dist/lib/ticket-steps/step-push.js +35 -0
  453. package/dist/lib/ticket-steps/step-push.js.map +1 -0
  454. package/dist/lib/ticket-steps/step-qa.d.ts +6 -0
  455. package/dist/lib/ticket-steps/step-qa.d.ts.map +1 -0
  456. package/dist/lib/ticket-steps/step-qa.js +300 -0
  457. package/dist/lib/ticket-steps/step-qa.js.map +1 -0
  458. package/dist/lib/ticket-steps/step-scope.d.ts +6 -0
  459. package/dist/lib/ticket-steps/step-scope.d.ts.map +1 -0
  460. package/dist/lib/ticket-steps/step-scope.js +121 -0
  461. package/dist/lib/ticket-steps/step-scope.js.map +1 -0
  462. package/dist/lib/ticket-steps/step-spindle.d.ts +9 -0
  463. package/dist/lib/ticket-steps/step-spindle.d.ts.map +1 -0
  464. package/dist/lib/ticket-steps/step-spindle.js +160 -0
  465. package/dist/lib/ticket-steps/step-spindle.js.map +1 -0
  466. package/dist/lib/ticket-steps/step-worktree.d.ts +6 -0
  467. package/dist/lib/ticket-steps/step-worktree.d.ts.map +1 -0
  468. package/dist/lib/ticket-steps/step-worktree.js +157 -0
  469. package/dist/lib/ticket-steps/step-worktree.js.map +1 -0
  470. package/dist/lib/ticket-steps/types.d.ts +70 -0
  471. package/dist/lib/ticket-steps/types.d.ts.map +1 -0
  472. package/dist/lib/ticket-steps/types.js +8 -0
  473. package/dist/lib/ticket-steps/types.js.map +1 -0
  474. package/dist/lib/tool-command-map.d.ts +11 -0
  475. package/dist/lib/tool-command-map.d.ts.map +1 -0
  476. package/dist/lib/tool-command-map.js +24 -0
  477. package/dist/lib/tool-command-map.js.map +1 -0
  478. package/dist/lib/trajectory-generate.d.ts +24 -0
  479. package/dist/lib/trajectory-generate.d.ts.map +1 -0
  480. package/dist/lib/trajectory-generate.js +163 -0
  481. package/dist/lib/trajectory-generate.js.map +1 -0
  482. package/dist/lib/trajectory.d.ts +20 -0
  483. package/dist/lib/trajectory.d.ts.map +1 -0
  484. package/dist/lib/trajectory.js +104 -0
  485. package/dist/lib/trajectory.js.map +1 -0
  486. package/dist/lib/trigger-config.d.ts +12 -0
  487. package/dist/lib/trigger-config.d.ts.map +1 -0
  488. package/dist/lib/trigger-config.js +37 -0
  489. package/dist/lib/trigger-config.js.map +1 -0
  490. package/dist/lib/update-check.d.ts +28 -0
  491. package/dist/lib/update-check.d.ts.map +1 -0
  492. package/dist/lib/update-check.js +178 -0
  493. package/dist/lib/update-check.js.map +1 -0
  494. package/dist/lib/wave-scheduling.d.ts +18 -0
  495. package/dist/lib/wave-scheduling.d.ts.map +1 -0
  496. package/dist/lib/wave-scheduling.js +29 -0
  497. package/dist/lib/wave-scheduling.js.map +1 -0
  498. package/dist/tui/app.d.ts +17 -0
  499. package/dist/tui/app.d.ts.map +1 -0
  500. package/dist/tui/app.js +139 -0
  501. package/dist/tui/app.js.map +1 -0
  502. package/dist/tui/index.d.ts +10 -0
  503. package/dist/tui/index.d.ts.map +1 -0
  504. package/dist/tui/index.js +9 -0
  505. package/dist/tui/index.js.map +1 -0
  506. package/dist/tui/poller.d.ts +42 -0
  507. package/dist/tui/poller.d.ts.map +1 -0
  508. package/dist/tui/poller.js +62 -0
  509. package/dist/tui/poller.js.map +1 -0
  510. package/dist/tui/screens/auto.d.ts +85 -0
  511. package/dist/tui/screens/auto.d.ts.map +1 -0
  512. package/dist/tui/screens/auto.js +440 -0
  513. package/dist/tui/screens/auto.js.map +1 -0
  514. package/dist/tui/screens/overview.d.ts +9 -0
  515. package/dist/tui/screens/overview.d.ts.map +1 -0
  516. package/dist/tui/screens/overview.js +189 -0
  517. package/dist/tui/screens/overview.js.map +1 -0
  518. package/dist/tui/state.d.ts +93 -0
  519. package/dist/tui/state.d.ts.map +1 -0
  520. package/dist/tui/state.js +169 -0
  521. package/dist/tui/state.js.map +1 -0
  522. package/dist/tui/ticket-output-buffer.d.ts +23 -0
  523. package/dist/tui/ticket-output-buffer.d.ts.map +1 -0
  524. package/dist/tui/ticket-output-buffer.js +60 -0
  525. package/dist/tui/ticket-output-buffer.js.map +1 -0
  526. package/dist/tui/types.d.ts +18 -0
  527. package/dist/tui/types.d.ts.map +1 -0
  528. package/dist/tui/types.js +5 -0
  529. package/dist/tui/types.js.map +1 -0
  530. package/package.json +70 -0
package/README.md ADDED
@@ -0,0 +1,215 @@
1
+ # PromptWheel CLI
2
+
3
+ Zero-config continuous improvement tool. Works locally with any git repository.
4
+
5
+ ## Quick Start (5 minutes)
6
+
7
+ ```bash
8
+ # Install globally
9
+ npm install -g @promptwheel/cli
10
+
11
+ # Navigate to any git repo
12
+ cd your-project
13
+
14
+ # Check prerequisites
15
+ promptwheel solo doctor
16
+
17
+ # Initialize (auto-detects QA commands from package.json)
18
+ promptwheel solo init
19
+
20
+ # Scan for improvement opportunities
21
+ promptwheel solo scout .
22
+
23
+ # Approve proposals (e.g., 1-3)
24
+ promptwheel solo approve 1-3
25
+
26
+ # Execute a ticket with Claude
27
+ promptwheel solo run tkt_abc123
28
+
29
+ # Or execute and create a PR
30
+ promptwheel solo run tkt_abc123 --pr
31
+ ```
32
+
33
+ ## Prerequisites
34
+
35
+ Run `promptwheel solo doctor` to check all prerequisites:
36
+
37
+ | Requirement | Purpose | Install |
38
+ |-------------|---------|---------|
39
+ | Node.js 18+ | Runtime | [nodejs.org](https://nodejs.org/) |
40
+ | Git | Version control | [git-scm.com](https://git-scm.com/) |
41
+ | Claude CLI | Execute tickets | [claude.ai/code](https://claude.ai/code) |
42
+ | GitHub CLI | Create PRs (optional) | [cli.github.com](https://cli.github.com/) |
43
+
44
+ ## Commands
45
+
46
+ ### `solo init`
47
+ Initialize PromptWheel in your repository. Creates `.promptwheel/` directory with:
48
+ - `config.json` - Configuration (auto-detects QA commands)
49
+ - `state.sqlite` - Local database
50
+
51
+ ### `solo scout [path]`
52
+ Scan codebase for improvement opportunities:
53
+ - Code quality issues
54
+ - Security vulnerabilities
55
+ - Performance optimizations
56
+ - Test coverage gaps
57
+
58
+ ### `solo approve <selection>`
59
+ Convert proposals to tickets. Examples:
60
+ - `promptwheel solo approve 1` - Approve proposal #1
61
+ - `promptwheel solo approve 1-3` - Approve proposals 1, 2, and 3
62
+ - `promptwheel solo approve all` - Approve all proposals
63
+
64
+ ### `solo run <ticketId>`
65
+ Execute a ticket using Claude Code CLI:
66
+ - Creates a branch for changes
67
+ - Runs QA commands (if configured)
68
+ - Commits changes
69
+ - `--pr` flag creates a GitHub PR
70
+
71
+ ### `solo status`
72
+ Show current state:
73
+ - Active tickets
74
+ - Recent runs
75
+ - QA results
76
+
77
+ ### `solo doctor`
78
+ Check prerequisites and environment health:
79
+ - Git installation
80
+ - Claude CLI installation and auth
81
+ - GitHub CLI installation and auth
82
+ - Node.js version
83
+ - SQLite native module
84
+ - Directory permissions
85
+
86
+ ### `solo nudge [text...]`
87
+ Steer a running auto session with live hints:
88
+ - `promptwheel solo nudge "focus on auth"` — Add a hint
89
+ - `promptwheel solo nudge --list` — Show pending hints
90
+ - `promptwheel solo nudge --clear` — Clear all hints
91
+
92
+ Hints are consumed in the next scout cycle. In continuous mode, you can also type hints directly into stdin.
93
+
94
+ ### `solo qa`
95
+ Run QA commands manually:
96
+ - Uses commands from `.promptwheel/config.json`
97
+ - Records results in database
98
+
99
+ ## Configuration
100
+
101
+ Configuration lives in `.promptwheel/config.json`:
102
+
103
+ ```json
104
+ {
105
+ "version": 1,
106
+ "qa": {
107
+ "commands": [
108
+ { "name": "typecheck", "cmd": "npm run typecheck" },
109
+ { "name": "lint", "cmd": "npm run lint" },
110
+ { "name": "test", "cmd": "npm test" }
111
+ ],
112
+ "retry": {
113
+ "enabled": true,
114
+ "maxAttempts": 3
115
+ }
116
+ },
117
+ "spindle": {
118
+ "enabled": true,
119
+ "maxStallIterations": 5,
120
+ "tokenBudgetAbort": 140000
121
+ }
122
+ }
123
+ ```
124
+
125
+ ### QA Commands
126
+ Auto-detected from `package.json` during `solo init`:
127
+ - `typecheck` / `type-check` - TypeScript checking
128
+ - `lint` - Linting
129
+ - `test` - Testing
130
+ - `build` - Build verification
131
+
132
+ ### Project Guidelines Context
133
+
134
+ PromptWheel automatically loads your project guidelines and injects them into every scout and execution prompt so agents respect your conventions.
135
+
136
+ **File selection by backend:**
137
+
138
+ | Backend | Primary | Fallback |
139
+ |---------|---------|----------|
140
+ | Claude | `CLAUDE.md` | `AGENTS.md` |
141
+ | Codex | `AGENTS.md` | `CLAUDE.md` |
142
+
143
+ **Behavior:**
144
+
145
+ - **Auto-create:** If no guidelines file exists, a baseline is generated from your `package.json` (project name, TypeScript detection, test/lint/build commands, monorepo detection)
146
+ - **Truncation:** Content longer than 4000 characters is truncated with a `[truncated]` marker
147
+ - **Refresh:** During long runs, re-reads every N cycles (default 10, configurable)
148
+ - **Format:** Wrapped in `<project-guidelines>` XML tags in the prompt
149
+
150
+ Configure in `.promptwheel/config.json`:
151
+
152
+ ```json
153
+ {
154
+ "auto": {
155
+ "guidelinesRefreshCycles": 10,
156
+ "autoCreateGuidelines": true,
157
+ "guidelinesPath": null
158
+ }
159
+ }
160
+ ```
161
+
162
+ | Setting | Default | Description |
163
+ |---------|---------|-------------|
164
+ | `guidelinesRefreshCycles` | `10` | Re-read every N cycles (0 = disabled, still loaded once at start) |
165
+ | `autoCreateGuidelines` | `true` | Auto-create baseline file from `package.json` if none exists |
166
+ | `guidelinesPath` | `null` | Custom path relative to repo root (e.g. `"docs/CONVENTIONS.md"`). Set to `false` to disable guidelines entirely. `null` = default search. |
167
+
168
+ ### Spindle Loop Detection
169
+ Prevents runaway agent execution:
170
+ - **Oscillation**: Detects add→remove→add patterns
171
+ - **Stalling**: Stops after N iterations without changes
172
+ - **Repetition**: Catches repeated output patterns
173
+ - **Token Budget**: Enforces context limits
174
+
175
+ ## Push Safety
176
+
177
+ PromptWheel records your `origin` remote URL when you run `solo init`.
178
+ Every push and PR creation validates the current origin still matches.
179
+ SSH and HTTPS URLs for the same repo are treated as equivalent.
180
+
181
+ If your origin changes (e.g., you switch from HTTPS to SSH), re-initialize:
182
+
183
+ promptwheel solo init --force
184
+
185
+ Or edit `.promptwheel/config.json` directly:
186
+
187
+ { "allowedRemote": "git@github.com:you/your-repo.git" }
188
+
189
+ ## Exit Codes
190
+
191
+ | Code | Meaning |
192
+ |------|---------|
193
+ | 0 | Success |
194
+ | 1 | General failure |
195
+ | 2 | Spindle abort (agent loop detected) |
196
+ | 130 | Cancelled (Ctrl+C) |
197
+
198
+ ## Artifacts
199
+
200
+ Run artifacts are stored in `.promptwheel/artifacts/`:
201
+ - `runs/` - Run summaries
202
+ - `executions/` - Agent output logs
203
+ - `diffs/` - Git diff snapshots
204
+ - `violations/` - Scope violation details
205
+ - `spindle/` - Spindle abort diagnostics
206
+
207
+ View artifacts with:
208
+ ```bash
209
+ promptwheel solo artifacts
210
+ promptwheel solo artifacts --type runs
211
+ ```
212
+
213
+ ## License
214
+
215
+ Apache-2.0
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * PromptWheel CLI entry point
4
+ *
5
+ * `promptwheel` with no subcommand runs auto mode.
6
+ * All solo subcommands are available at the top level:
7
+ *
8
+ * promptwheel # auto mode (scout → fix → PR)
9
+ * promptwheel --codex # Full Codex (no Anthropic key)
10
+ * promptwheel ci # Fix CI failures
11
+ * promptwheel scout . # Scan for improvements
12
+ * promptwheel status # Show local state
13
+ * promptwheel update # Self-update to latest version
14
+ * promptwheel solo auto # Explicit (backwards compat)
15
+ */
16
+ export {};
17
+ //# sourceMappingURL=promptwheel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptwheel.d.ts","sourceRoot":"","sources":["../../src/bin/promptwheel.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG"}
@@ -0,0 +1,90 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * PromptWheel CLI entry point
4
+ *
5
+ * `promptwheel` with no subcommand runs auto mode.
6
+ * All solo subcommands are available at the top level:
7
+ *
8
+ * promptwheel # auto mode (scout → fix → PR)
9
+ * promptwheel --codex # Full Codex (no Anthropic key)
10
+ * promptwheel ci # Fix CI failures
11
+ * promptwheel scout . # Scan for improvements
12
+ * promptwheel status # Show local state
13
+ * promptwheel update # Self-update to latest version
14
+ * promptwheel solo auto # Explicit (backwards compat)
15
+ */
16
+ import { Command } from 'commander';
17
+ import { soloCommand } from '../commands/solo.js';
18
+ import { checkForUpdateInBackground, printUpdateNotification, runSelfUpdate, } from '../lib/update-check.js';
19
+ const CURRENT_VERSION = '0.6.0';
20
+ const program = new Command();
21
+ program
22
+ .name('promptwheel')
23
+ .description('Continuous codebase improvement tool')
24
+ .version(CURRENT_VERSION);
25
+ // `promptwheel update` — self-update command
26
+ program
27
+ .command('update')
28
+ .description('Update promptwheel to the latest version')
29
+ .action(async () => {
30
+ const success = await runSelfUpdate();
31
+ process.exit(success ? 0 : 1);
32
+ });
33
+ // `promptwheel solo <cmd>` — backwards compat
34
+ program.addCommand(soloCommand);
35
+ // Detect if argv[2] is a known solo subcommand name — if so, lift it.
36
+ // Otherwise, treat everything as flags for `auto`.
37
+ const knownSubs = new Set(soloCommand.commands.flatMap(c => [c.name(), ...c.aliases()]));
38
+ const firstArg = process.argv[2];
39
+ const isSubcommand = firstArg && knownSubs.has(firstArg) && firstArg !== 'solo';
40
+ // Skip update check in CI or when explicitly disabled
41
+ const skipUpdateCheck = process.env.CI === 'true' ||
42
+ process.env.PROMPTWHEEL_SKIP_UPDATE_CHECK === '1' ||
43
+ process.argv.includes('--skip-update-check');
44
+ // Check for updates in background (non-blocking)
45
+ const updateCheck = (!skipUpdateCheck && firstArg !== 'update' && firstArg !== '--version' && firstArg !== '-V')
46
+ ? checkForUpdateInBackground(CURRENT_VERSION)
47
+ : Promise.resolve(null);
48
+ async function main() {
49
+ if (isSubcommand) {
50
+ // `promptwheel scout .` → delegate to `solo scout .`
51
+ // Insert 'solo' so Commander routes correctly
52
+ process.argv.splice(2, 0, 'solo');
53
+ await program.parseAsync();
54
+ }
55
+ else if (firstArg === 'update') {
56
+ // Explicit update command
57
+ await program.parseAsync();
58
+ }
59
+ else if (firstArg === 'solo' || firstArg === '--help' || firstArg === '-h' || firstArg === '--version' || firstArg === '-V') {
60
+ // Explicit `promptwheel solo ...` or help/version
61
+ await program.parseAsync();
62
+ }
63
+ else {
64
+ // `promptwheel [flags...]` → `solo auto [flags...]`
65
+ // Insert 'solo auto' before the flags
66
+ process.argv.splice(2, 0, 'solo', 'auto');
67
+ await program.parseAsync();
68
+ }
69
+ // Show update notification after command completes (if available)
70
+ const latestVersion = await updateCheck;
71
+ if (latestVersion) {
72
+ printUpdateNotification(CURRENT_VERSION, latestVersion);
73
+ }
74
+ }
75
+ main().catch((err) => {
76
+ if (err instanceof Error) {
77
+ // User-friendly error: message only, no stack trace
78
+ const prefix = '\x1b[31m✗\x1b[0m';
79
+ console.error(`${prefix} ${err.message}`);
80
+ // Show stack in verbose/debug mode
81
+ if (process.env.DEBUG || process.argv.includes('--verbose') || process.argv.includes('-v')) {
82
+ console.error(err.stack);
83
+ }
84
+ }
85
+ else {
86
+ console.error(err);
87
+ }
88
+ process.exit(1);
89
+ });
90
+ //# sourceMappingURL=promptwheel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptwheel.js","sourceRoot":"","sources":["../../src/bin/promptwheel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Provider shorthand expansion, auth validation, and model selection for solo auto.
3
+ */
4
+ export interface AuthOptions {
5
+ codex?: boolean;
6
+ claude?: boolean;
7
+ kimi?: boolean;
8
+ local?: boolean;
9
+ localModel?: string;
10
+ localUrl?: string;
11
+ scoutBackend?: string;
12
+ executeBackend?: string;
13
+ codexModel?: string;
14
+ kimiModel?: string;
15
+ codexUnsafeFullAccess?: boolean;
16
+ }
17
+ /**
18
+ * Expand provider shorthands (--codex, --kimi, --local) and validate auth.
19
+ * Auto-detects backend from environment if no flags given.
20
+ * Returns resolved scout/execute backend names.
21
+ */
22
+ export declare function resolveBackends(options: AuthOptions): Promise<{
23
+ scoutBackendName: string;
24
+ executeBackendName: string;
25
+ }>;
26
+ //# sourceMappingURL=auto-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-auth.d.ts","sourceRoot":"","sources":["../../src/commands/auto-auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IACnE,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC,CA8ID"}
@@ -0,0 +1,216 @@
1
+ /**
2
+ * Provider shorthand expansion, auth validation, and model selection for solo auto.
3
+ */
4
+ import chalk from 'chalk';
5
+ import { createGitService } from '../lib/git.js';
6
+ import { loadConfig, saveConfig } from '../lib/solo-config.js';
7
+ /**
8
+ * Expand provider shorthands (--codex, --kimi, --local) and validate auth.
9
+ * Auto-detects backend from environment if no flags given.
10
+ * Returns resolved scout/execute backend names.
11
+ */
12
+ export async function resolveBackends(options) {
13
+ const { isValidProvider, getProviderNames, getProvider } = await import('../lib/providers/index.js');
14
+ // Expand shorthands
15
+ const shorthands = [options.codex && 'codex', options.claude && 'claude', options.kimi && 'kimi', options.local && 'local'].filter(Boolean);
16
+ if (shorthands.length > 1) {
17
+ console.error(chalk.red(`✗ Cannot combine ${shorthands.map(s => `--${s}`).join(' and ')}`));
18
+ process.exit(1);
19
+ }
20
+ // Auto-detect backend from environment if no explicit choice
21
+ // Default: Codex. Use --claude to opt into Claude.
22
+ if (!options.codex && !options.claude && !options.kimi && !options.local && !options.scoutBackend && !options.executeBackend) {
23
+ options.codex = true;
24
+ }
25
+ if (options.codex) {
26
+ options.scoutBackend = options.scoutBackend ?? 'codex';
27
+ options.executeBackend = options.executeBackend ?? 'codex';
28
+ }
29
+ if (options.kimi) {
30
+ options.scoutBackend = options.scoutBackend ?? 'kimi';
31
+ options.executeBackend = options.executeBackend ?? 'kimi';
32
+ }
33
+ if (options.local) {
34
+ if (!options.localModel) {
35
+ console.error(chalk.red('✗ --local-model is required when using --local'));
36
+ console.error(chalk.gray(' Example: promptwheel --local --local-model kimi-k2.5'));
37
+ process.exit(1);
38
+ }
39
+ options.scoutBackend = options.scoutBackend ?? 'openai-local';
40
+ options.executeBackend = options.executeBackend ?? 'openai-local';
41
+ console.log(chalk.yellow('⚠ Local provider has no sandbox — worktree isolation + QA gating provides safety'));
42
+ }
43
+ const scoutBackendName = options.scoutBackend ?? 'claude';
44
+ const executeBackendName = options.executeBackend ?? 'claude';
45
+ // Validate backend names
46
+ for (const [flag, value] of [['--scout-backend', scoutBackendName], ['--execute-backend', executeBackendName]]) {
47
+ if (!isValidProvider(value)) {
48
+ console.error(chalk.red(`✗ Invalid ${flag}: ${value}`));
49
+ console.error(chalk.gray(` Valid values: ${getProviderNames().join(', ')}`));
50
+ process.exit(1);
51
+ }
52
+ }
53
+ const needsClaude = scoutBackendName === 'claude' || executeBackendName === 'claude';
54
+ const needsCodex = scoutBackendName === 'codex' || executeBackendName === 'codex';
55
+ const needsKimi = scoutBackendName === 'kimi' || executeBackendName === 'kimi';
56
+ const insideClaudeCode = process.env.CLAUDECODE === '1';
57
+ // Detect running inside Claude Code session
58
+ if (insideClaudeCode) {
59
+ if (needsClaude) {
60
+ console.error(chalk.red('✗ Cannot run Claude backend inside Claude Code'));
61
+ console.error();
62
+ console.error(chalk.gray(' The CLI spawns Claude as subprocesses (requires ANTHROPIC_API_KEY).'));
63
+ console.error(chalk.gray(' Inside Claude Code, use the plugin instead:'));
64
+ console.error();
65
+ console.error(chalk.white(' /promptwheel:run'));
66
+ console.error();
67
+ console.error(chalk.gray(' Or run from a regular terminal:'));
68
+ console.error();
69
+ console.error(chalk.white(' promptwheel # Claude (needs ANTHROPIC_API_KEY)'));
70
+ console.error(chalk.white(' promptwheel --codex # Codex (needs OPENAI_API_KEY)'));
71
+ console.error();
72
+ process.exit(1);
73
+ }
74
+ else {
75
+ console.log(chalk.yellow('⚠ Running inside Claude Code session'));
76
+ console.log(chalk.yellow(' This works, but you\'re paying for an idle Claude Code session.'));
77
+ console.log(chalk.yellow(' Consider running from a regular terminal instead:'));
78
+ console.log(chalk.white(' promptwheel --codex'));
79
+ console.log();
80
+ }
81
+ }
82
+ // Auth: Claude lane
83
+ if (needsClaude && !process.env.ANTHROPIC_API_KEY) {
84
+ console.error(chalk.red('✗ ANTHROPIC_API_KEY not set'));
85
+ console.error(chalk.gray(' Required for Claude backend. Set the env var, or use:'));
86
+ console.error(chalk.gray(' promptwheel --codex (uses OPENAI_API_KEY or codex login)'));
87
+ console.error(chalk.gray(' /promptwheel:run (inside Claude Code, uses subscription)'));
88
+ process.exit(1);
89
+ }
90
+ // Auth: Codex lane
91
+ if (needsCodex) {
92
+ if (!process.env.OPENAI_API_KEY) {
93
+ const { spawnSync } = await import('node:child_process');
94
+ const loginCheck = spawnSync('codex', ['login', 'status'], { encoding: 'utf-8', timeout: 10000 });
95
+ if (loginCheck.status !== 0) {
96
+ console.error(chalk.red('✗ Codex not authenticated'));
97
+ console.error(chalk.gray(' Set OPENAI_API_KEY or run: codex login'));
98
+ process.exit(1);
99
+ }
100
+ }
101
+ }
102
+ // Auth: Kimi lane
103
+ if (needsKimi) {
104
+ if (!process.env.MOONSHOT_API_KEY) {
105
+ console.log(chalk.yellow('⚠ MOONSHOT_API_KEY not set — using kimi CLI stored credentials'));
106
+ console.log(chalk.gray(' If auth fails, set MOONSHOT_API_KEY or run: kimi → /login'));
107
+ }
108
+ }
109
+ // Model selection for Kimi
110
+ if (needsKimi && !options.kimiModel) {
111
+ options.kimiModel = 'kimi-k2.5';
112
+ }
113
+ // Model selection for Codex
114
+ if (needsCodex) {
115
+ await resolveCodexModel(options);
116
+ }
117
+ // Print auth summary
118
+ const describeAuth = (backendName) => {
119
+ const prov = getProvider(backendName);
120
+ if (prov.apiKeyEnvVar && process.env[prov.apiKeyEnvVar])
121
+ return `${prov.apiKeyEnvVar} (env)`;
122
+ if (prov.altAuth)
123
+ return prov.altAuth;
124
+ return prov.apiKeyEnvVar ? `${prov.apiKeyEnvVar} (env)` : 'none';
125
+ };
126
+ if (scoutBackendName === executeBackendName) {
127
+ console.log(chalk.gray(`Auth: ${describeAuth(scoutBackendName)}`));
128
+ }
129
+ else {
130
+ console.log(chalk.gray(`Auth (scout): ${describeAuth(scoutBackendName)}`));
131
+ console.log(chalk.gray(`Auth (execute): ${describeAuth(executeBackendName)}`));
132
+ }
133
+ // Warn about unsafe flag
134
+ if (options.codexUnsafeFullAccess) {
135
+ if (executeBackendName !== 'codex') {
136
+ console.error(chalk.red('✗ --codex-unsafe-full-access only applies with --execute-backend codex'));
137
+ process.exit(1);
138
+ }
139
+ console.log(chalk.yellow('⚠ --codex-unsafe-full-access: sandbox disabled for Codex execution'));
140
+ console.log(chalk.yellow(' Only use this inside an externally hardened/isolated runner'));
141
+ }
142
+ return { scoutBackendName, executeBackendName };
143
+ }
144
+ async function resolveCodexModel(options) {
145
+ const hasApiKey = !!process.env.OPENAI_API_KEY;
146
+ const CODEX_MODELS = [
147
+ { key: '1', name: 'gpt-5.3-codex', desc: 'Latest — strongest coding + reasoning (default)' },
148
+ { key: '2', name: 'gpt-5.2-codex', desc: 'Previous generation' },
149
+ { key: '3', name: 'gpt-5.1-codex-max', desc: 'Extended agentic tasks' },
150
+ ...(hasApiKey ? [
151
+ { key: '4', name: 'gpt-5.2-codex-high', desc: 'High reasoning (API key only)' },
152
+ { key: '5', name: 'gpt-5.2-codex-xhigh', desc: 'Max reasoning (API key only)' },
153
+ { key: '6', name: 'gpt-5.1-codex-mini', desc: 'Fast, cost-effective (API key only)' },
154
+ { key: '7', name: 'gpt-5.2', desc: 'General-purpose (API key only)' },
155
+ { key: '8', name: 'gpt-5.2-high', desc: 'General-purpose, high reasoning (API key only)' },
156
+ { key: '9', name: 'gpt-5.2-xhigh', desc: 'General-purpose, max reasoning (API key only)' },
157
+ ] : []),
158
+ ];
159
+ const LOGIN_SAFE_MODELS = ['gpt-5.3-codex', 'gpt-5.2-codex', 'gpt-5.1-codex-max'];
160
+ const ALL_MODEL_NAMES = CODEX_MODELS.map(m => m.name);
161
+ if (options.codexModel) {
162
+ // Explicit model — validate
163
+ if (!hasApiKey && !LOGIN_SAFE_MODELS.includes(options.codexModel)) {
164
+ console.log(chalk.yellow(`\nModel "${options.codexModel}" requires OPENAI_API_KEY (not available with codex login).`));
165
+ console.log(chalk.yellow(`Available models: ${LOGIN_SAFE_MODELS.join(', ')}`));
166
+ console.log(chalk.yellow('Set OPENAI_API_KEY or choose a compatible model.\n'));
167
+ process.exit(1);
168
+ }
169
+ const earlyGit = createGitService();
170
+ const earlyRoot = await earlyGit.findRepoRoot(process.cwd());
171
+ if (earlyRoot) {
172
+ saveConfig(earlyRoot, { codexModel: options.codexModel });
173
+ }
174
+ return;
175
+ }
176
+ // Check for saved model in config
177
+ const earlyGit = createGitService();
178
+ const earlyRoot = await earlyGit.findRepoRoot(process.cwd());
179
+ const savedConfig = earlyRoot ? loadConfig(earlyRoot) : null;
180
+ const savedModel = savedConfig?.codexModel;
181
+ if (savedModel && ALL_MODEL_NAMES.includes(savedModel)) {
182
+ if (!hasApiKey && !LOGIN_SAFE_MODELS.includes(savedModel)) {
183
+ console.log(chalk.yellow(`\nSaved model "${savedModel}" requires OPENAI_API_KEY.`));
184
+ console.log(chalk.yellow('Please select a compatible model:\n'));
185
+ }
186
+ else {
187
+ options.codexModel = savedModel;
188
+ console.log(chalk.gray(`\nModel: ${options.codexModel} (saved)`));
189
+ console.log(chalk.gray(' Change with: promptwheel --codex --codex-model <name>'));
190
+ console.log();
191
+ return;
192
+ }
193
+ }
194
+ else if (savedModel) {
195
+ console.log(chalk.yellow(`\nSaved model "${savedModel}" is no longer available.`));
196
+ console.log(chalk.yellow('Please select a model:\n'));
197
+ }
198
+ // Interactive model picker
199
+ console.log(chalk.white('\nSelect Codex model:'));
200
+ for (const m of CODEX_MODELS) {
201
+ console.log(chalk.gray(` ${m.key}) ${m.name} — ${m.desc}`));
202
+ }
203
+ const readline = await import('readline');
204
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
205
+ const answer = await new Promise((resolve) => {
206
+ rl.question(chalk.white('Choice [1]: '), (a) => { rl.close(); resolve(a.trim() || '1'); });
207
+ });
208
+ const picked = CODEX_MODELS.find(m => m.key === answer || m.name === answer);
209
+ options.codexModel = picked?.name ?? answer;
210
+ console.log(chalk.gray(`Model: ${options.codexModel}`));
211
+ console.log();
212
+ if (earlyRoot) {
213
+ saveConfig(earlyRoot, { codexModel: options.codexModel });
214
+ }
215
+ }
216
+ //# sourceMappingURL=auto-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-auth.js","sourceRoot":"","sources":["../../src/commands/auto-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * CI fix mode handler for solo auto.
3
+ */
4
+ export declare function handleCiMode(options: {
5
+ dryRun?: boolean;
6
+ verbose?: boolean;
7
+ branch?: string;
8
+ }): Promise<void>;
9
+ //# sourceMappingURL=auto-ci-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-ci-mode.d.ts","sourceRoot":"","sources":["../../src/commands/auto-ci-mode.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4LhB"}