prose-qa 0.1.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 (427) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +570 -0
  3. package/dist/agent/bash.d.ts +52 -0
  4. package/dist/agent/bash.d.ts.map +1 -0
  5. package/dist/agent/bash.js +186 -0
  6. package/dist/agent/bash.js.map +1 -0
  7. package/dist/agent/bash.test.d.ts +2 -0
  8. package/dist/agent/bash.test.d.ts.map +1 -0
  9. package/dist/agent/bash.test.js +70 -0
  10. package/dist/agent/bash.test.js.map +1 -0
  11. package/dist/agent/llm-model.d.ts +5 -0
  12. package/dist/agent/llm-model.d.ts.map +1 -0
  13. package/dist/agent/llm-model.js +29 -0
  14. package/dist/agent/llm-model.js.map +1 -0
  15. package/dist/agent/llm-model.test.d.ts +2 -0
  16. package/dist/agent/llm-model.test.d.ts.map +1 -0
  17. package/dist/agent/llm-model.test.js +28 -0
  18. package/dist/agent/llm-model.test.js.map +1 -0
  19. package/dist/agent/prompt.d.ts +17 -0
  20. package/dist/agent/prompt.d.ts.map +1 -0
  21. package/dist/agent/prompt.js +97 -0
  22. package/dist/agent/prompt.js.map +1 -0
  23. package/dist/agent/prompt.test.d.ts +2 -0
  24. package/dist/agent/prompt.test.d.ts.map +1 -0
  25. package/dist/agent/prompt.test.js +124 -0
  26. package/dist/agent/prompt.test.js.map +1 -0
  27. package/dist/agent/provider-options.d.ts +8 -0
  28. package/dist/agent/provider-options.d.ts.map +1 -0
  29. package/dist/agent/provider-options.js +115 -0
  30. package/dist/agent/provider-options.js.map +1 -0
  31. package/dist/agent/provider-options.test.d.ts +2 -0
  32. package/dist/agent/provider-options.test.d.ts.map +1 -0
  33. package/dist/agent/provider-options.test.js +114 -0
  34. package/dist/agent/provider-options.test.js.map +1 -0
  35. package/dist/agent/runner.d.ts +27 -0
  36. package/dist/agent/runner.d.ts.map +1 -0
  37. package/dist/agent/runner.js +291 -0
  38. package/dist/agent/runner.js.map +1 -0
  39. package/dist/agent/verdict-retry-prompt.d.ts +3 -0
  40. package/dist/agent/verdict-retry-prompt.d.ts.map +1 -0
  41. package/dist/agent/verdict-retry-prompt.js +18 -0
  42. package/dist/agent/verdict-retry-prompt.js.map +1 -0
  43. package/dist/agent/verdict-retry-prompt.test.d.ts +2 -0
  44. package/dist/agent/verdict-retry-prompt.test.d.ts.map +1 -0
  45. package/dist/agent/verdict-retry-prompt.test.js +25 -0
  46. package/dist/agent/verdict-retry-prompt.test.js.map +1 -0
  47. package/dist/agent/verdict.d.ts +31 -0
  48. package/dist/agent/verdict.d.ts.map +1 -0
  49. package/dist/agent/verdict.js +123 -0
  50. package/dist/agent/verdict.js.map +1 -0
  51. package/dist/agent/verdict.test.d.ts +2 -0
  52. package/dist/agent/verdict.test.d.ts.map +1 -0
  53. package/dist/agent/verdict.test.js +156 -0
  54. package/dist/agent/verdict.test.js.map +1 -0
  55. package/dist/analyze/build-context.d.ts +58 -0
  56. package/dist/analyze/build-context.d.ts.map +1 -0
  57. package/dist/analyze/build-context.js +141 -0
  58. package/dist/analyze/build-context.js.map +1 -0
  59. package/dist/analyze/build-context.test.d.ts +2 -0
  60. package/dist/analyze/build-context.test.d.ts.map +1 -0
  61. package/dist/analyze/build-context.test.js +118 -0
  62. package/dist/analyze/build-context.test.js.map +1 -0
  63. package/dist/analyze/compare-runs.d.ts +49 -0
  64. package/dist/analyze/compare-runs.d.ts.map +1 -0
  65. package/dist/analyze/compare-runs.js +214 -0
  66. package/dist/analyze/compare-runs.js.map +1 -0
  67. package/dist/analyze/compare-runs.test.d.ts +2 -0
  68. package/dist/analyze/compare-runs.test.d.ts.map +1 -0
  69. package/dist/analyze/compare-runs.test.js +139 -0
  70. package/dist/analyze/compare-runs.test.js.map +1 -0
  71. package/dist/analyze/diff-hunks.d.ts +16 -0
  72. package/dist/analyze/diff-hunks.d.ts.map +1 -0
  73. package/dist/analyze/diff-hunks.js +287 -0
  74. package/dist/analyze/diff-hunks.js.map +1 -0
  75. package/dist/analyze/diff-hunks.test.d.ts +2 -0
  76. package/dist/analyze/diff-hunks.test.d.ts.map +1 -0
  77. package/dist/analyze/diff-hunks.test.js +54 -0
  78. package/dist/analyze/diff-hunks.test.js.map +1 -0
  79. package/dist/analyze/hunk-editor.d.ts +8 -0
  80. package/dist/analyze/hunk-editor.d.ts.map +1 -0
  81. package/dist/analyze/hunk-editor.js +129 -0
  82. package/dist/analyze/hunk-editor.js.map +1 -0
  83. package/dist/analyze/hunk-editor.test.d.ts +2 -0
  84. package/dist/analyze/hunk-editor.test.d.ts.map +1 -0
  85. package/dist/analyze/hunk-editor.test.js +48 -0
  86. package/dist/analyze/hunk-editor.test.js.map +1 -0
  87. package/dist/analyze/index.d.ts +23 -0
  88. package/dist/analyze/index.d.ts.map +1 -0
  89. package/dist/analyze/index.js +122 -0
  90. package/dist/analyze/index.js.map +1 -0
  91. package/dist/analyze/llm-fix.d.ts +11 -0
  92. package/dist/analyze/llm-fix.d.ts.map +1 -0
  93. package/dist/analyze/llm-fix.js +76 -0
  94. package/dist/analyze/llm-fix.js.map +1 -0
  95. package/dist/analyze/parse-proposal.d.ts +41 -0
  96. package/dist/analyze/parse-proposal.d.ts.map +1 -0
  97. package/dist/analyze/parse-proposal.js +53 -0
  98. package/dist/analyze/parse-proposal.js.map +1 -0
  99. package/dist/analyze/parse-proposal.test.d.ts +2 -0
  100. package/dist/analyze/parse-proposal.test.d.ts.map +1 -0
  101. package/dist/analyze/parse-proposal.test.js +40 -0
  102. package/dist/analyze/parse-proposal.test.js.map +1 -0
  103. package/dist/analyze/repl.d.ts +28 -0
  104. package/dist/analyze/repl.d.ts.map +1 -0
  105. package/dist/analyze/repl.js +284 -0
  106. package/dist/analyze/repl.js.map +1 -0
  107. package/dist/analyze/repl.test.d.ts +2 -0
  108. package/dist/analyze/repl.test.d.ts.map +1 -0
  109. package/dist/analyze/repl.test.js +101 -0
  110. package/dist/analyze/repl.test.js.map +1 -0
  111. package/dist/analyze/suggest.d.ts +5 -0
  112. package/dist/analyze/suggest.d.ts.map +1 -0
  113. package/dist/analyze/suggest.js +75 -0
  114. package/dist/analyze/suggest.js.map +1 -0
  115. package/dist/analyze/suggest.test.d.ts +2 -0
  116. package/dist/analyze/suggest.test.d.ts.map +1 -0
  117. package/dist/analyze/suggest.test.js +53 -0
  118. package/dist/analyze/suggest.test.js.map +1 -0
  119. package/dist/analyze/validate-markdown.d.ts +3 -0
  120. package/dist/analyze/validate-markdown.d.ts.map +1 -0
  121. package/dist/analyze/validate-markdown.js +25 -0
  122. package/dist/analyze/validate-markdown.js.map +1 -0
  123. package/dist/artifacts/policy.d.ts +9 -0
  124. package/dist/artifacts/policy.d.ts.map +1 -0
  125. package/dist/artifacts/policy.js +46 -0
  126. package/dist/artifacts/policy.js.map +1 -0
  127. package/dist/artifacts/policy.test.d.ts +2 -0
  128. package/dist/artifacts/policy.test.d.ts.map +1 -0
  129. package/dist/artifacts/policy.test.js +73 -0
  130. package/dist/artifacts/policy.test.js.map +1 -0
  131. package/dist/auth/resolve.d.ts +22 -0
  132. package/dist/auth/resolve.d.ts.map +1 -0
  133. package/dist/auth/resolve.js +148 -0
  134. package/dist/auth/resolve.js.map +1 -0
  135. package/dist/auth/store.d.ts +23 -0
  136. package/dist/auth/store.d.ts.map +1 -0
  137. package/dist/auth/store.js +103 -0
  138. package/dist/auth/store.js.map +1 -0
  139. package/dist/cache/generate.d.ts +8 -0
  140. package/dist/cache/generate.d.ts.map +1 -0
  141. package/dist/cache/generate.js +61 -0
  142. package/dist/cache/generate.js.map +1 -0
  143. package/dist/cache/hash.d.ts +5 -0
  144. package/dist/cache/hash.d.ts.map +1 -0
  145. package/dist/cache/hash.js +21 -0
  146. package/dist/cache/hash.js.map +1 -0
  147. package/dist/cache/hash.test.d.ts +2 -0
  148. package/dist/cache/hash.test.d.ts.map +1 -0
  149. package/dist/cache/hash.test.js +42 -0
  150. package/dist/cache/hash.test.js.map +1 -0
  151. package/dist/cache/resolve.d.ts +5 -0
  152. package/dist/cache/resolve.d.ts.map +1 -0
  153. package/dist/cache/resolve.js +8 -0
  154. package/dist/cache/resolve.js.map +1 -0
  155. package/dist/cache/store.d.ts +20 -0
  156. package/dist/cache/store.d.ts.map +1 -0
  157. package/dist/cache/store.js +90 -0
  158. package/dist/cache/store.js.map +1 -0
  159. package/dist/cache/store.test.d.ts +2 -0
  160. package/dist/cache/store.test.d.ts.map +1 -0
  161. package/dist/cache/store.test.js +101 -0
  162. package/dist/cache/store.test.js.map +1 -0
  163. package/dist/cli/analyze.d.ts +21 -0
  164. package/dist/cli/analyze.d.ts.map +1 -0
  165. package/dist/cli/analyze.js +148 -0
  166. package/dist/cli/analyze.js.map +1 -0
  167. package/dist/cli/concurrency.d.ts +17 -0
  168. package/dist/cli/concurrency.d.ts.map +1 -0
  169. package/dist/cli/concurrency.js +56 -0
  170. package/dist/cli/concurrency.js.map +1 -0
  171. package/dist/cli/concurrency.test.d.ts +2 -0
  172. package/dist/cli/concurrency.test.d.ts.map +1 -0
  173. package/dist/cli/concurrency.test.js +74 -0
  174. package/dist/cli/concurrency.test.js.map +1 -0
  175. package/dist/cli/config.d.ts +2 -0
  176. package/dist/cli/config.d.ts.map +1 -0
  177. package/dist/cli/config.js +14 -0
  178. package/dist/cli/config.js.map +1 -0
  179. package/dist/cli/help.d.ts +23 -0
  180. package/dist/cli/help.d.ts.map +1 -0
  181. package/dist/cli/help.js +458 -0
  182. package/dist/cli/help.js.map +1 -0
  183. package/dist/cli/help.test.d.ts +2 -0
  184. package/dist/cli/help.test.d.ts.map +1 -0
  185. package/dist/cli/help.test.js +41 -0
  186. package/dist/cli/help.test.js.map +1 -0
  187. package/dist/cli/index.d.ts +3 -0
  188. package/dist/cli/index.d.ts.map +1 -0
  189. package/dist/cli/index.js +300 -0
  190. package/dist/cli/index.js.map +1 -0
  191. package/dist/cli/mcp.d.ts +6 -0
  192. package/dist/cli/mcp.d.ts.map +1 -0
  193. package/dist/cli/mcp.js +17 -0
  194. package/dist/cli/mcp.js.map +1 -0
  195. package/dist/cli/record.d.ts +27 -0
  196. package/dist/cli/record.d.ts.map +1 -0
  197. package/dist/cli/record.js +244 -0
  198. package/dist/cli/record.js.map +1 -0
  199. package/dist/cli/run.d.ts +11 -0
  200. package/dist/cli/run.d.ts.map +1 -0
  201. package/dist/cli/run.js +676 -0
  202. package/dist/cli/run.js.map +1 -0
  203. package/dist/cli/subprocess.d.ts +19 -0
  204. package/dist/cli/subprocess.d.ts.map +1 -0
  205. package/dist/cli/subprocess.js +142 -0
  206. package/dist/cli/subprocess.js.map +1 -0
  207. package/dist/cli/subprocess.test.d.ts +2 -0
  208. package/dist/cli/subprocess.test.d.ts.map +1 -0
  209. package/dist/cli/subprocess.test.js +76 -0
  210. package/dist/cli/subprocess.test.js.map +1 -0
  211. package/dist/cli/tags.d.ts +5 -0
  212. package/dist/cli/tags.d.ts.map +1 -0
  213. package/dist/cli/tags.js +33 -0
  214. package/dist/cli/tags.js.map +1 -0
  215. package/dist/cli/tags.test.d.ts +2 -0
  216. package/dist/cli/tags.test.d.ts.map +1 -0
  217. package/dist/cli/tags.test.js +31 -0
  218. package/dist/cli/tags.test.js.map +1 -0
  219. package/dist/config/env-vars.d.ts +2 -0
  220. package/dist/config/env-vars.d.ts.map +1 -0
  221. package/dist/config/env-vars.js +14 -0
  222. package/dist/config/env-vars.js.map +1 -0
  223. package/dist/config/env.d.ts +2 -0
  224. package/dist/config/env.d.ts.map +1 -0
  225. package/dist/config/env.js +9 -0
  226. package/dist/config/env.js.map +1 -0
  227. package/dist/config/lightpanda.d.ts +6 -0
  228. package/dist/config/lightpanda.d.ts.map +1 -0
  229. package/dist/config/lightpanda.js +38 -0
  230. package/dist/config/lightpanda.js.map +1 -0
  231. package/dist/config/lightpanda.test.d.ts +2 -0
  232. package/dist/config/lightpanda.test.d.ts.map +1 -0
  233. package/dist/config/lightpanda.test.js +46 -0
  234. package/dist/config/lightpanda.test.js.map +1 -0
  235. package/dist/config/load.d.ts +22 -0
  236. package/dist/config/load.d.ts.map +1 -0
  237. package/dist/config/load.js +242 -0
  238. package/dist/config/load.js.map +1 -0
  239. package/dist/config/load.test.d.ts +2 -0
  240. package/dist/config/load.test.d.ts.map +1 -0
  241. package/dist/config/load.test.js +86 -0
  242. package/dist/config/load.test.js.map +1 -0
  243. package/dist/config/set.d.ts +8 -0
  244. package/dist/config/set.d.ts.map +1 -0
  245. package/dist/config/set.js +93 -0
  246. package/dist/config/set.js.map +1 -0
  247. package/dist/config/set.test.d.ts +2 -0
  248. package/dist/config/set.test.d.ts.map +1 -0
  249. package/dist/config/set.test.js +98 -0
  250. package/dist/config/set.test.js.map +1 -0
  251. package/dist/healing/classify.d.ts +15 -0
  252. package/dist/healing/classify.d.ts.map +1 -0
  253. package/dist/healing/classify.js +209 -0
  254. package/dist/healing/classify.js.map +1 -0
  255. package/dist/healing/classify.test.d.ts +2 -0
  256. package/dist/healing/classify.test.d.ts.map +1 -0
  257. package/dist/healing/classify.test.js +167 -0
  258. package/dist/healing/classify.test.js.map +1 -0
  259. package/dist/healing/recovery-prompt.d.ts +3 -0
  260. package/dist/healing/recovery-prompt.d.ts.map +1 -0
  261. package/dist/healing/recovery-prompt.js +22 -0
  262. package/dist/healing/recovery-prompt.js.map +1 -0
  263. package/dist/mcp/inline-scenario.d.ts +13 -0
  264. package/dist/mcp/inline-scenario.d.ts.map +1 -0
  265. package/dist/mcp/inline-scenario.js +23 -0
  266. package/dist/mcp/inline-scenario.js.map +1 -0
  267. package/dist/mcp/server.d.ts +4 -0
  268. package/dist/mcp/server.d.ts.map +1 -0
  269. package/dist/mcp/server.js +186 -0
  270. package/dist/mcp/server.js.map +1 -0
  271. package/dist/mcp/skill.d.ts +5 -0
  272. package/dist/mcp/skill.d.ts.map +1 -0
  273. package/dist/mcp/skill.js +38 -0
  274. package/dist/mcp/skill.js.map +1 -0
  275. package/dist/mcp/skill.test.d.ts +2 -0
  276. package/dist/mcp/skill.test.d.ts.map +1 -0
  277. package/dist/mcp/skill.test.js +18 -0
  278. package/dist/mcp/skill.test.js.map +1 -0
  279. package/dist/paths.d.ts +12 -0
  280. package/dist/paths.d.ts.map +1 -0
  281. package/dist/paths.js +61 -0
  282. package/dist/paths.js.map +1 -0
  283. package/dist/prompt/load.d.ts +4 -0
  284. package/dist/prompt/load.d.ts.map +1 -0
  285. package/dist/prompt/load.js +19 -0
  286. package/dist/prompt/load.js.map +1 -0
  287. package/dist/recorder/bridge-process.d.ts +14 -0
  288. package/dist/recorder/bridge-process.d.ts.map +1 -0
  289. package/dist/recorder/bridge-process.js +133 -0
  290. package/dist/recorder/bridge-process.js.map +1 -0
  291. package/dist/recorder/bridge-process.test.d.ts +2 -0
  292. package/dist/recorder/bridge-process.test.d.ts.map +1 -0
  293. package/dist/recorder/bridge-process.test.js +36 -0
  294. package/dist/recorder/bridge-process.test.js.map +1 -0
  295. package/dist/recorder/bridge-worker.d.ts +2 -0
  296. package/dist/recorder/bridge-worker.d.ts.map +1 -0
  297. package/dist/recorder/bridge-worker.js +76 -0
  298. package/dist/recorder/bridge-worker.js.map +1 -0
  299. package/dist/recorder/bridge.d.ts +12 -0
  300. package/dist/recorder/bridge.d.ts.map +1 -0
  301. package/dist/recorder/bridge.js +61 -0
  302. package/dist/recorder/bridge.js.map +1 -0
  303. package/dist/recorder/bridge.test.d.ts +2 -0
  304. package/dist/recorder/bridge.test.d.ts.map +1 -0
  305. package/dist/recorder/bridge.test.js +21 -0
  306. package/dist/recorder/bridge.test.js.map +1 -0
  307. package/dist/recorder/enrich-event.d.ts +31 -0
  308. package/dist/recorder/enrich-event.d.ts.map +1 -0
  309. package/dist/recorder/enrich-event.js +91 -0
  310. package/dist/recorder/enrich-event.js.map +1 -0
  311. package/dist/recorder/events.d.ts +11 -0
  312. package/dist/recorder/events.d.ts.map +1 -0
  313. package/dist/recorder/events.js +42 -0
  314. package/dist/recorder/events.js.map +1 -0
  315. package/dist/recorder/events.test.d.ts +2 -0
  316. package/dist/recorder/events.test.d.ts.map +1 -0
  317. package/dist/recorder/events.test.js +40 -0
  318. package/dist/recorder/events.test.js.map +1 -0
  319. package/dist/recorder/generate-scenario.d.ts +16 -0
  320. package/dist/recorder/generate-scenario.d.ts.map +1 -0
  321. package/dist/recorder/generate-scenario.js +78 -0
  322. package/dist/recorder/generate-scenario.js.map +1 -0
  323. package/dist/recorder/in-page-helpers.d.ts +6 -0
  324. package/dist/recorder/in-page-helpers.d.ts.map +1 -0
  325. package/dist/recorder/in-page-helpers.js +238 -0
  326. package/dist/recorder/in-page-helpers.js.map +1 -0
  327. package/dist/recorder/in-page-helpers.test.d.ts +2 -0
  328. package/dist/recorder/in-page-helpers.test.d.ts.map +1 -0
  329. package/dist/recorder/in-page-helpers.test.js +186 -0
  330. package/dist/recorder/in-page-helpers.test.js.map +1 -0
  331. package/dist/recorder/page-script.d.ts +7 -0
  332. package/dist/recorder/page-script.d.ts.map +1 -0
  333. package/dist/recorder/page-script.js +132 -0
  334. package/dist/recorder/page-script.js.map +1 -0
  335. package/dist/recorder/redact.d.ts +8 -0
  336. package/dist/recorder/redact.d.ts.map +1 -0
  337. package/dist/recorder/redact.js +26 -0
  338. package/dist/recorder/redact.js.map +1 -0
  339. package/dist/recorder/redact.test.d.ts +2 -0
  340. package/dist/recorder/redact.test.d.ts.map +1 -0
  341. package/dist/recorder/redact.test.js +27 -0
  342. package/dist/recorder/redact.test.js.map +1 -0
  343. package/dist/recorder/session.d.ts +8 -0
  344. package/dist/recorder/session.d.ts.map +1 -0
  345. package/dist/recorder/session.js +28 -0
  346. package/dist/recorder/session.js.map +1 -0
  347. package/dist/recorder/snapshot-match.d.ts +22 -0
  348. package/dist/recorder/snapshot-match.d.ts.map +1 -0
  349. package/dist/recorder/snapshot-match.js +102 -0
  350. package/dist/recorder/snapshot-match.js.map +1 -0
  351. package/dist/recorder/snapshot-match.test.d.ts +2 -0
  352. package/dist/recorder/snapshot-match.test.d.ts.map +1 -0
  353. package/dist/recorder/snapshot-match.test.js +34 -0
  354. package/dist/recorder/snapshot-match.test.js.map +1 -0
  355. package/dist/redact/env-secrets.d.ts +14 -0
  356. package/dist/redact/env-secrets.d.ts.map +1 -0
  357. package/dist/redact/env-secrets.js +86 -0
  358. package/dist/redact/env-secrets.js.map +1 -0
  359. package/dist/redact/env-secrets.test.d.ts +2 -0
  360. package/dist/redact/env-secrets.test.d.ts.map +1 -0
  361. package/dist/redact/env-secrets.test.js +103 -0
  362. package/dist/redact/env-secrets.test.js.map +1 -0
  363. package/dist/reporter/export.d.ts +14 -0
  364. package/dist/reporter/export.d.ts.map +1 -0
  365. package/dist/reporter/export.js +53 -0
  366. package/dist/reporter/export.js.map +1 -0
  367. package/dist/reporter/export.test.d.ts +2 -0
  368. package/dist/reporter/export.test.d.ts.map +1 -0
  369. package/dist/reporter/export.test.js +100 -0
  370. package/dist/reporter/export.test.js.map +1 -0
  371. package/dist/reporter/index.d.ts +11 -0
  372. package/dist/reporter/index.d.ts.map +1 -0
  373. package/dist/reporter/index.js +161 -0
  374. package/dist/reporter/index.js.map +1 -0
  375. package/dist/reporter/index.test.d.ts +2 -0
  376. package/dist/reporter/index.test.d.ts.map +1 -0
  377. package/dist/reporter/index.test.js +61 -0
  378. package/dist/reporter/index.test.js.map +1 -0
  379. package/dist/scenarios/globs.d.ts +15 -0
  380. package/dist/scenarios/globs.d.ts.map +1 -0
  381. package/dist/scenarios/globs.js +48 -0
  382. package/dist/scenarios/globs.js.map +1 -0
  383. package/dist/scenarios/globs.test.d.ts +2 -0
  384. package/dist/scenarios/globs.test.d.ts.map +1 -0
  385. package/dist/scenarios/globs.test.js +53 -0
  386. package/dist/scenarios/globs.test.js.map +1 -0
  387. package/dist/scenarios/parser.d.ts +15 -0
  388. package/dist/scenarios/parser.d.ts.map +1 -0
  389. package/dist/scenarios/parser.js +278 -0
  390. package/dist/scenarios/parser.js.map +1 -0
  391. package/dist/scenarios/parser.test.d.ts +2 -0
  392. package/dist/scenarios/parser.test.d.ts.map +1 -0
  393. package/dist/scenarios/parser.test.js +373 -0
  394. package/dist/scenarios/parser.test.js.map +1 -0
  395. package/dist/skills/loader.d.ts +10 -0
  396. package/dist/skills/loader.d.ts.map +1 -0
  397. package/dist/skills/loader.js +98 -0
  398. package/dist/skills/loader.js.map +1 -0
  399. package/dist/types/config.d.ts +131 -0
  400. package/dist/types/config.d.ts.map +1 -0
  401. package/dist/types/config.js +2 -0
  402. package/dist/types/config.js.map +1 -0
  403. package/dist/types/recorder.d.ts +71 -0
  404. package/dist/types/recorder.d.ts.map +1 -0
  405. package/dist/types/recorder.js +2 -0
  406. package/dist/types/recorder.js.map +1 -0
  407. package/dist/types/scenario.d.ts +41 -0
  408. package/dist/types/scenario.d.ts.map +1 -0
  409. package/dist/types/scenario.js +2 -0
  410. package/dist/types/scenario.js.map +1 -0
  411. package/dist/types/skill.d.ts +20 -0
  412. package/dist/types/skill.d.ts.map +1 -0
  413. package/dist/types/skill.js +13 -0
  414. package/dist/types/skill.js.map +1 -0
  415. package/dist/types/verdict.d.ts +82 -0
  416. package/dist/types/verdict.d.ts.map +1 -0
  417. package/dist/types/verdict.js +13 -0
  418. package/dist/types/verdict.js.map +1 -0
  419. package/package.json +75 -0
  420. package/pqa.config.ts +82 -0
  421. package/prompt/ANALYZE-FLAKY.md +62 -0
  422. package/prompt/ANALYZE.md +110 -0
  423. package/prompt/CACHE-HINTS.md +49 -0
  424. package/prompt/RECORD.md +114 -0
  425. package/prompt/SYSTEM.md +118 -0
  426. package/skills/agent-browser/SKILL.md +2438 -0
  427. package/skills/create-pqa-scenario/SKILL.md +273 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.test.js","sourceRoot":"","sources":["../../src/cli/concurrency.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function executeConfig(key: string, value: string): Promise<number>;
2
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAEA,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU/E"}
@@ -0,0 +1,14 @@
1
+ import { setConfigValue } from "../config/set.js";
2
+ export async function executeConfig(key, value) {
3
+ try {
4
+ await setConfigValue(key, value);
5
+ console.log(`Set ${key} = ${value}`);
6
+ return 0;
7
+ }
8
+ catch (err) {
9
+ const message = err instanceof Error ? err.message : String(err);
10
+ console.error(message);
11
+ return 2;
12
+ }
13
+ }
14
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,KAAa;IAC5D,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ export interface CliArgument {
2
+ name: string;
3
+ description: string;
4
+ defaultValue?: string;
5
+ }
6
+ export interface CliOption {
7
+ flags: string;
8
+ description: string;
9
+ defaultValue?: string;
10
+ }
11
+ export interface CliCommandHelp {
12
+ name: string;
13
+ summary: string;
14
+ usage: string;
15
+ description: string;
16
+ arguments?: CliArgument[];
17
+ options?: CliOption[];
18
+ subcommands?: CliCommandHelp[];
19
+ }
20
+ export declare const CLI_REFERENCE: CliCommandHelp[];
21
+ export declare function printTopLevelHelp(): void;
22
+ export declare function executeHelp(args: string[]): number;
23
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,aAAa,EAAE,cAAc,EA2YzC,CAAC;AAwEF,wBAAgB,iBAAiB,IAAI,IAAI,CAexC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAgBlD"}
@@ -0,0 +1,458 @@
1
+ export const CLI_REFERENCE = [
2
+ {
3
+ name: "run",
4
+ summary: "Run E2E scenarios (CI mode)",
5
+ usage: "pqa run [patterns...] [options]",
6
+ description: "Execute scenario files against your app. Headless by default; suited for CI.",
7
+ arguments: [
8
+ {
9
+ name: "patterns",
10
+ description: "Glob patterns for scenario markdown files",
11
+ defaultValue: "<scenariosDir>/**/*.md from pqa.config when omitted",
12
+ },
13
+ ],
14
+ options: [
15
+ {
16
+ flags: "-c, --config <path>",
17
+ description: "Path to pqa.config.json (or .mjs / .ts / .js)",
18
+ },
19
+ {
20
+ flags: "--tags <tags>",
21
+ description: "Comma-separated tags matched with AND; repeat for OR; prefix ! to exclude",
22
+ },
23
+ {
24
+ flags: "--tag <tag>",
25
+ description: "Single tag matched with OR; repeat for OR; prefix ! to match absence",
26
+ },
27
+ {
28
+ flags: "--skills-dir <dirs>",
29
+ description: "Extra skill directories, comma-separated",
30
+ },
31
+ {
32
+ flags: "--retries <n>",
33
+ description: "Retry count per failed scenario",
34
+ defaultValue: "0",
35
+ },
36
+ {
37
+ flags: "--retries-policy <policy>",
38
+ description: "When healing is enabled: retry only transient failures (transient) or any failure (always)",
39
+ defaultValue: "transient",
40
+ },
41
+ {
42
+ flags: "--no-healing",
43
+ description: "Disable in-run recovery and transient-only retry gating (retries apply to all failures)",
44
+ },
45
+ {
46
+ flags: "--no-cache",
47
+ description: "Do not load or write scenario replay hints cache",
48
+ },
49
+ {
50
+ flags: "--artifacts <mode>",
51
+ description: "When to keep artifacts: on-failure, always, or never",
52
+ defaultValue: "on-failure",
53
+ },
54
+ { flags: "--headed", description: "Run the browser in headed (visible) mode" },
55
+ {
56
+ flags: "--keep-browser",
57
+ description: "Leave the browser open after each scenario for inspection",
58
+ },
59
+ {
60
+ flags: "--auth-refresh",
61
+ description: "Re-run auth scenarios and refresh the auth store",
62
+ },
63
+ {
64
+ flags: "--parallel [n]",
65
+ description: "Run scenarios in parallel subprocesses; optional max concurrency (omit n for unlimited). Keeps up to n scenarios running and starts the next as soon as a slot frees.",
66
+ },
67
+ {
68
+ flags: "--fail-fast",
69
+ description: "Stop on first failure instead of running all scenarios",
70
+ },
71
+ {
72
+ flags: "--report-output <path>",
73
+ description: "Report output path; trailing / creates a runId-named folder or zip inside, otherwise uses the full path",
74
+ },
75
+ {
76
+ flags: "--report-zip",
77
+ description: "Emit the report as a zip archive instead of a directory",
78
+ },
79
+ ],
80
+ },
81
+ {
82
+ name: "debug",
83
+ summary: "Run scenarios with verbose output (local debug)",
84
+ usage: "pqa debug [patterns...] [options]",
85
+ description: "Same as run, but verbose logging and headed browser by default. Use for local troubleshooting.",
86
+ arguments: [
87
+ {
88
+ name: "patterns",
89
+ description: "Glob patterns for scenario markdown files",
90
+ defaultValue: "<scenariosDir>/**/*.md from pqa.config when omitted",
91
+ },
92
+ ],
93
+ options: [
94
+ {
95
+ flags: "-c, --config <path>",
96
+ description: "Path to pqa.config.json (or .mjs / .ts / .js)",
97
+ },
98
+ {
99
+ flags: "--tags <tags>",
100
+ description: "Comma-separated tags matched with AND; repeat for OR; prefix ! to exclude",
101
+ },
102
+ {
103
+ flags: "--tag <tag>",
104
+ description: "Single tag matched with OR; repeat for OR; prefix ! to match absence",
105
+ },
106
+ {
107
+ flags: "--skills-dir <dirs>",
108
+ description: "Extra skill directories, comma-separated",
109
+ },
110
+ {
111
+ flags: "--pause",
112
+ description: "Pause between agent turns (press Enter to continue)",
113
+ },
114
+ {
115
+ flags: "--keep-browser",
116
+ description: "Leave the browser open after each scenario for inspection",
117
+ },
118
+ {
119
+ flags: "--auth-refresh",
120
+ description: "Re-run auth scenarios and refresh the auth store",
121
+ },
122
+ {
123
+ flags: "--retries <n>",
124
+ description: "Retry count per failed scenario",
125
+ defaultValue: "0",
126
+ },
127
+ {
128
+ flags: "--retries-policy <policy>",
129
+ description: "When healing is enabled: retry only transient failures (transient) or any failure (always)",
130
+ defaultValue: "transient",
131
+ },
132
+ { flags: "--no-healing", description: "Disable in-run recovery and transient-only retries" },
133
+ {
134
+ flags: "--no-cache",
135
+ description: "Do not load or write scenario replay hints cache",
136
+ },
137
+ {
138
+ flags: "--parallel [n]",
139
+ description: "Run scenarios in parallel subprocesses; optional max concurrency (omit n for unlimited). Keeps up to n scenarios running and starts the next as soon as a slot frees.",
140
+ },
141
+ {
142
+ flags: "--fail-fast",
143
+ description: "Stop on first failure instead of running all scenarios",
144
+ },
145
+ {
146
+ flags: "--no-headed",
147
+ description: "Run the browser headless instead of the debug default (headed)",
148
+ },
149
+ {
150
+ flags: "--report-output <path>",
151
+ description: "Report output path; trailing / creates a runId-named folder or zip inside, otherwise uses the full path",
152
+ },
153
+ {
154
+ flags: "--report-zip",
155
+ description: "Emit the report as a zip archive instead of a directory",
156
+ },
157
+ ],
158
+ },
159
+ {
160
+ name: "clear-cache",
161
+ summary: "Clear scenario replay hints cache",
162
+ usage: "pqa clear-cache [scenario] [options]",
163
+ description: "Remove cached replay hints for one scenario (by frontmatter name) or all scenarios.",
164
+ arguments: [
165
+ {
166
+ name: "scenario",
167
+ description: "Scenario name to clear; omit to clear all caches",
168
+ },
169
+ ],
170
+ options: [
171
+ {
172
+ flags: "-c, --config <path>",
173
+ description: "Path to pqa.config.json (or .mjs / .ts / .js)",
174
+ },
175
+ ],
176
+ },
177
+ {
178
+ name: "config",
179
+ summary: "Set a value in pqa.config.json",
180
+ usage: "pqa config <key> <value>",
181
+ description: "Write a configuration override to pqa.config.json in the current directory. Creates an empty file when missing. Use dot notation for nested keys (e.g. browser.headed true). Keys must exist in the bundled reference config.",
182
+ arguments: [
183
+ {
184
+ name: "key",
185
+ description: "Config key, dot-separated for nested properties (e.g. browser.headed)",
186
+ },
187
+ {
188
+ name: "value",
189
+ description: "Value to set (booleans, numbers, JSON arrays/objects, or strings)",
190
+ },
191
+ ],
192
+ },
193
+ {
194
+ name: "analyze",
195
+ summary: "Analyze run(s) and review scenario fixes interactively",
196
+ usage: "pqa analyze [runPathOrId...] [options]",
197
+ description: "Single run: heuristic classification and LLM analysis on failed scenarios, then interactive patch review ([y/n/e/s/q/?]). Multiple runs or --last N: detect flaky scenarios with inconsistent verdicts, compare pass vs fail transcripts, and propose stabilizing edits.",
198
+ arguments: [
199
+ {
200
+ name: "runPathOrId...",
201
+ description: "One or more run directories or ids under .pqa/runs/ (default: latest run; 2+ ids or --last N enables multi-run flaky analysis)",
202
+ },
203
+ ],
204
+ options: [
205
+ { flags: "--config <path>", description: "Path to pqa.config file" },
206
+ {
207
+ flags: "--last <n>",
208
+ description: "Compare the N most recent runs for flaky scenarios (requires n ≥ 2)",
209
+ },
210
+ ],
211
+ },
212
+ {
213
+ name: "record",
214
+ summary: "Record browser sessions and generate scenarios",
215
+ usage: "pqa record <subcommand>",
216
+ description: "Capture user actions in a headed browser (or Chrome via --connect), then generate scenario markdown with the configured LLM.",
217
+ subcommands: [
218
+ {
219
+ name: "start",
220
+ summary: "Start recording",
221
+ usage: "pqa record start [options]",
222
+ description: "Open a headed browser with the recorder script and local event bridge.",
223
+ options: [
224
+ { flags: "-c, --config <path>", description: "Config file path" },
225
+ { flags: "--url <url>", description: "URL to open when recording starts" },
226
+ { flags: "--no-headed", description: "Run headless (not recommended)" },
227
+ { flags: "--session <name>", description: "agent-browser session name" },
228
+ {
229
+ flags: "--connect <port>",
230
+ description: "Connect to Chrome CDP port instead of launching",
231
+ },
232
+ ],
233
+ },
234
+ {
235
+ name: "note",
236
+ summary: "Add a comment to the active recording",
237
+ usage: "pqa record note <text>",
238
+ description: "Append a free-form note for scenario generation.",
239
+ arguments: [{ name: "text", description: "Comment text" }],
240
+ },
241
+ {
242
+ name: "checkpoint",
243
+ summary: "Add a Then-section hint",
244
+ usage: "pqa record checkpoint <text>",
245
+ description: "Append a checkpoint hint for the generated Then section.",
246
+ arguments: [{ name: "text", description: "Checkpoint hint" }],
247
+ },
248
+ {
249
+ name: "stop",
250
+ summary: "Stop recording and generate scenario",
251
+ usage: "pqa record stop [options]",
252
+ description: "Close the browser and generate scenarios/recorded/<name>.md.",
253
+ options: [
254
+ { flags: "--name <name>", description: "Scenario name (kebab-case)" },
255
+ { flags: "--out <path>", description: "Output markdown path" },
256
+ { flags: "--no-generate", description: "Save events only, skip LLM" },
257
+ ],
258
+ },
259
+ {
260
+ name: "generate",
261
+ summary: "Generate scenario from a saved recording",
262
+ usage: "pqa record generate <recordingDir>",
263
+ description: "Regenerate scenario markdown from .pqa/recordings/<id>/.",
264
+ arguments: [
265
+ {
266
+ name: "recordingDir",
267
+ description: "Path to a recording directory",
268
+ },
269
+ ],
270
+ options: [
271
+ { flags: "--name <name>", description: "Scenario name" },
272
+ { flags: "--out <path>", description: "Output markdown path" },
273
+ ],
274
+ },
275
+ ],
276
+ },
277
+ {
278
+ name: "skills",
279
+ summary: "Manage agent skills",
280
+ usage: "pqa skills <subcommand>",
281
+ description: "Inspect and sync Anthropic-compatible SKILL.md files.",
282
+ subcommands: [
283
+ {
284
+ name: "list",
285
+ summary: "List discovered skills",
286
+ usage: "pqa skills list [options]",
287
+ description: "Print skill names, descriptions, and source directories.",
288
+ options: [
289
+ {
290
+ flags: "--skills-dir <dirs>",
291
+ description: "Skill directories to scan (comma-separated)",
292
+ defaultValue: "skills, .agents/skills",
293
+ },
294
+ ],
295
+ },
296
+ {
297
+ name: "show",
298
+ summary: "Show full skill content",
299
+ usage: "pqa skills show <name> [options]",
300
+ description: "Print the full body of a skill by name.",
301
+ arguments: [{ name: "name", description: "Skill name to display" }],
302
+ options: [
303
+ {
304
+ flags: "--skills-dir <dirs>",
305
+ description: "Skill directories to scan (comma-separated)",
306
+ defaultValue: "skills, .agents/skills",
307
+ },
308
+ ],
309
+ },
310
+ {
311
+ name: "sync",
312
+ summary: "Sync agent-browser skill from pinned npm version",
313
+ usage: "pqa skills sync",
314
+ description: "Re-vendor the agent-browser skill into skills/agent-browser/ (dev repo workflow).",
315
+ },
316
+ ],
317
+ },
318
+ {
319
+ name: "auth",
320
+ summary: "Authentication helpers",
321
+ usage: "pqa auth <subcommand>",
322
+ description: "Manage cached browser auth state for scenario profiles.",
323
+ subcommands: [
324
+ {
325
+ name: "list",
326
+ summary: "List cached auth profiles",
327
+ usage: "pqa auth list",
328
+ description: "Show profiles stored in the auth store with paths and timestamps.",
329
+ },
330
+ {
331
+ name: "clear",
332
+ summary: "Clear cached auth state",
333
+ usage: "pqa auth clear [profile]",
334
+ description: "Remove one profile or all profiles from the auth store.",
335
+ arguments: [
336
+ {
337
+ name: "profile",
338
+ description: "Profile name to clear; omit to clear all",
339
+ },
340
+ ],
341
+ },
342
+ {
343
+ name: "save",
344
+ summary: "Run auth scenario and save state",
345
+ usage: "pqa auth save <name> [options]",
346
+ description: "Execute the configured auth scenario for a profile and persist browser state.",
347
+ arguments: [{ name: "name", description: "Auth profile name from config" }],
348
+ options: [
349
+ {
350
+ flags: "-c, --config <path>",
351
+ description: "Path to pqa.config.json (or .mjs / .ts / .js)",
352
+ },
353
+ { flags: "-v, --verbose", description: "Enable verbose agent output" },
354
+ ],
355
+ },
356
+ ],
357
+ },
358
+ {
359
+ name: "mcp",
360
+ summary: "Start MCP server (stdio)",
361
+ usage: "pqa mcp",
362
+ description: "Expose the create-pqa-scenario skill and tools to validate or run inline scenario markdown for Cursor and other MCP clients. Uses stdio transport; configure the client to spawn this command in your project directory (where pqa.config and env vars live).",
363
+ },
364
+ {
365
+ name: "help",
366
+ summary: "Show help for commands and options",
367
+ usage: "pqa help [command]",
368
+ description: "List all commands or show detailed help for one command.",
369
+ arguments: [
370
+ {
371
+ name: "command",
372
+ description: "Command name (e.g. run, debug, skills, auth)",
373
+ },
374
+ ],
375
+ },
376
+ ];
377
+ const GLOBAL_OPTIONS = [
378
+ { flags: "-V, --version", description: "Print the CLI version" },
379
+ { flags: "-h, --help", description: "Show help for a command" },
380
+ ];
381
+ function findCommand(path) {
382
+ if (path.length === 0)
383
+ return undefined;
384
+ const [head, ...rest] = path;
385
+ const top = CLI_REFERENCE.find((c) => c.name === head);
386
+ if (!top)
387
+ return undefined;
388
+ if (rest.length === 0)
389
+ return top;
390
+ const sub = top.subcommands?.find((c) => c.name === rest[0]);
391
+ if (!sub)
392
+ return undefined;
393
+ if (rest.length === 1)
394
+ return sub;
395
+ return undefined;
396
+ }
397
+ function formatDefault(value) {
398
+ return ` (default: ${value})`;
399
+ }
400
+ function printSection(title, lines) {
401
+ if (lines.length === 0)
402
+ return;
403
+ console.log(`\n${title}:`);
404
+ for (const line of lines) {
405
+ console.log(` ${line}`);
406
+ }
407
+ }
408
+ function printCommandHelp(cmd) {
409
+ console.log(`\n${cmd.usage}\n`);
410
+ console.log(cmd.description);
411
+ if (cmd.arguments?.length) {
412
+ printSection("Arguments", cmd.arguments.map((arg) => {
413
+ const suffix = arg.defaultValue
414
+ ? formatDefault(arg.defaultValue)
415
+ : "";
416
+ return `${arg.name.padEnd(14)} ${arg.description}${suffix}`;
417
+ }));
418
+ }
419
+ if (cmd.options?.length) {
420
+ printSection("Options", cmd.options.map((opt) => {
421
+ const suffix = opt.defaultValue
422
+ ? formatDefault(opt.defaultValue)
423
+ : "";
424
+ return `${opt.flags.padEnd(22)} ${opt.description}${suffix}`;
425
+ }));
426
+ }
427
+ if (cmd.subcommands?.length) {
428
+ printSection("Subcommands", cmd.subcommands.map((sub) => `${sub.name.padEnd(14)} ${sub.summary}`));
429
+ console.log("\nRun `pqa help <command> <subcommand>` for subcommand options.");
430
+ }
431
+ }
432
+ export function printTopLevelHelp() {
433
+ console.log("ProseQA — agent harness for NL E2E regression testing\n");
434
+ console.log("Usage: pqa <command> [options]\n");
435
+ console.log("Commands:");
436
+ for (const cmd of CLI_REFERENCE) {
437
+ console.log(` ${cmd.name.padEnd(14)} ${cmd.summary}`);
438
+ }
439
+ printSection("Global options", GLOBAL_OPTIONS.map((opt) => `${opt.flags.padEnd(22)} ${opt.description}`));
440
+ console.log("\nRun `pqa help <command>` for command-specific options.");
441
+ console.log("Exit codes: 0 pass · 1 failure · 2 config/harness error");
442
+ }
443
+ export function executeHelp(args) {
444
+ const path = args.filter(Boolean);
445
+ if (path.length === 0) {
446
+ printTopLevelHelp();
447
+ return 0;
448
+ }
449
+ const cmd = findCommand(path);
450
+ if (!cmd) {
451
+ console.error(`Unknown command: ${path.join(" ")}`);
452
+ console.error("Run `pqa help` for a list of commands.");
453
+ return 2;
454
+ }
455
+ printCommandHelp(cmd);
456
+ return 0;
457
+ }
458
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,6BAA6B;QACtC,KAAK,EAAE,iCAAiC;QACxC,WAAW,EACT,8EAA8E;QAChF,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,2CAA2C;gBACxD,YAAY,EAAE,qDAAqD;aACpE;SACF;QACD,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,WAAW,EAAE,+CAA+C;aAC7D;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,WAAW,EACT,2EAA2E;aAC9E;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,sEAAsE;aACpF;YACD;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,WAAW,EAAE,0CAA0C;aACxD;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,iCAAiC;gBAC9C,YAAY,EAAE,GAAG;aAClB;YACD;gBACE,KAAK,EAAE,2BAA2B;gBAClC,WAAW,EACT,4FAA4F;gBAC9F,YAAY,EAAE,WAAW;aAC1B;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,WAAW,EACT,yFAAyF;aAC5F;YACD;gBACE,KAAK,EAAE,YAAY;gBACnB,WAAW,EAAE,kDAAkD;aAChE;YACD;gBACE,KAAK,EAAE,oBAAoB;gBAC3B,WAAW,EAAE,sDAAsD;gBACnE,YAAY,EAAE,YAAY;aAC3B;YACD,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,0CAA0C,EAAE;YAC9E;gBACE,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,2DAA2D;aACzE;YACD;gBACE,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,kDAAkD;aAChE;YACD;gBACE,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EACT,uKAAuK;aAC1K;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,wDAAwD;aACtE;YACD;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EACT,yGAAyG;aAC5G;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,yDAAyD;aACvE;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,iDAAiD;QAC1D,KAAK,EAAE,mCAAmC;QAC1C,WAAW,EACT,gGAAgG;QAClG,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,2CAA2C;gBACxD,YAAY,EAAE,qDAAqD;aACpE;SACF;QACD,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,WAAW,EAAE,+CAA+C;aAC7D;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,WAAW,EACT,2EAA2E;aAC9E;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,sEAAsE;aACpF;YACD;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,WAAW,EAAE,0CAA0C;aACxD;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,qDAAqD;aACnE;YACD;gBACE,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,2DAA2D;aACzE;YACD;gBACE,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,kDAAkD;aAChE;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,iCAAiC;gBAC9C,YAAY,EAAE,GAAG;aAClB;YACD;gBACE,KAAK,EAAE,2BAA2B;gBAClC,WAAW,EACT,4FAA4F;gBAC9F,YAAY,EAAE,WAAW;aAC1B;YACD,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,oDAAoD,EAAE;YAC5F;gBACE,KAAK,EAAE,YAAY;gBACnB,WAAW,EAAE,kDAAkD;aAChE;YACD;gBACE,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EACT,uKAAuK;aAC1K;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,wDAAwD;aACtE;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,gEAAgE;aAC9E;YACD;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EACT,yGAAyG;aAC5G;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,yDAAyD;aACvE;SACF;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,mCAAmC;QAC5C,KAAK,EAAE,sCAAsC;QAC7C,WAAW,EACT,qFAAqF;QACvF,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,kDAAkD;aAChE;SACF;QACD,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,WAAW,EAAE,+CAA+C;aAC7D;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gCAAgC;QACzC,KAAK,EAAE,0BAA0B;QACjC,WAAW,EACT,+NAA+N;QACjO,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,uEAAuE;aACrF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,mEAAmE;aACjF;SACF;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,wDAAwD;QACjE,KAAK,EAAE,wCAAwC;QAC/C,WAAW,EACT,0QAA0Q;QAC5Q,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EACT,gIAAgI;aACnI;SACF;QACD,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,yBAAyB,EAAE;YACpE;gBACE,KAAK,EAAE,YAAY;gBACnB,WAAW,EACT,qEAAqE;aACxE;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gDAAgD;QACzD,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,8HAA8H;QAChI,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,iBAAiB;gBAC1B,KAAK,EAAE,4BAA4B;gBACnC,WAAW,EAAE,wEAAwE;gBACrF,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,kBAAkB,EAAE;oBACjE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,mCAAmC,EAAE;oBAC1E,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,gCAAgC,EAAE;oBACvE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,4BAA4B,EAAE;oBACxE;wBACE,KAAK,EAAE,kBAAkB;wBACzB,WAAW,EAAE,iDAAiD;qBAC/D;iBACF;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,uCAAuC;gBAChD,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EAAE,kDAAkD;gBAC/D,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;aAC3D;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,yBAAyB;gBAClC,KAAK,EAAE,8BAA8B;gBACrC,WAAW,EAAE,0DAA0D;gBACvE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;aAC9D;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,sCAAsC;gBAC/C,KAAK,EAAE,2BAA2B;gBAClC,WAAW,EAAE,8DAA8D;gBAC3E,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,4BAA4B,EAAE;oBACrE,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,sBAAsB,EAAE;oBAC9D,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,4BAA4B,EAAE;iBACtE;aACF;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,0CAA0C;gBACnD,KAAK,EAAE,oCAAoC;gBAC3C,WAAW,EAAE,0DAA0D;gBACvE,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,cAAc;wBACpB,WAAW,EAAE,+BAA+B;qBAC7C;iBACF;gBACD,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE;oBACxD,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,sBAAsB,EAAE;iBAC/D;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,qBAAqB;QAC9B,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,wBAAwB;gBACjC,KAAK,EAAE,2BAA2B;gBAClC,WAAW,EAAE,0DAA0D;gBACvE,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,qBAAqB;wBAC5B,WAAW,EAAE,6CAA6C;wBAC1D,YAAY,EAAE,wBAAwB;qBACvC;iBACF;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,yBAAyB;gBAClC,KAAK,EAAE,kCAAkC;gBACzC,WAAW,EAAE,yCAAyC;gBACtD,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;gBACnE,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,qBAAqB;wBAC5B,WAAW,EAAE,6CAA6C;wBAC1D,YAAY,EAAE,wBAAwB;qBACvC;iBACF;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,kDAAkD;gBAC3D,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EACT,mFAAmF;aACtF;SACF;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,wBAAwB;QACjC,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,yDAAyD;QACtE,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,2BAA2B;gBACpC,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,mEAAmE;aACjF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,yBAAyB;gBAClC,KAAK,EAAE,0BAA0B;gBACjC,WAAW,EAAE,yDAAyD;gBACtE,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,0CAA0C;qBACxD;iBACF;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,kCAAkC;gBAC3C,KAAK,EAAE,gCAAgC;gBACvC,WAAW,EACT,+EAA+E;gBACjF,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;gBAC3E,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,qBAAqB;wBAC5B,WAAW,EAAE,+CAA+C;qBAC7D;oBACD,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,6BAA6B,EAAE;iBACvE;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,0BAA0B;QACnC,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,+PAA+P;KAClQ;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,oCAAoC;QAC7C,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,0DAA0D;QACvE,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,8CAA8C;aAC5D;SACF;KACF;CACF,CAAC;AAEF,MAAM,cAAc,GAAgB;IAClC,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,uBAAuB,EAAE;IAChE,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,EAAE;CAChE,CAAC;AAEF,SAAS,WAAW,CAAC,IAAc;IACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAExC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAElC,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAClC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,cAAc,KAAK,GAAG,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,KAAe;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAmB;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7B,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAC1B,YAAY,CACV,WAAW,EACX,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY;gBAC7B,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;gBACjC,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,GAAG,MAAM,EAAE,CAAC;QAC9D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACxB,YAAY,CACV,SAAS,EACT,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY;gBAC7B,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;gBACjC,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,GAAG,MAAM,EAAE,CAAC;QAC/D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC5B,YAAY,CACV,aAAa,EACb,GAAG,CAAC,WAAW,CAAC,GAAG,CACjB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CACjD,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,YAAY,CACV,gBAAgB,EAChB,cAAc,CAAC,GAAG,CAChB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CACtD,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAc;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,iBAAiB,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=help.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.test.d.ts","sourceRoot":"","sources":["../../src/cli/help.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import assert from "node:assert/strict";
2
+ import { describe, it } from "node:test";
3
+ import { executeHelp, printTopLevelHelp } from "./help.js";
4
+ describe("executeHelp", () => {
5
+ it("returns 0 for top-level help", () => {
6
+ assert.equal(executeHelp([]), 0);
7
+ });
8
+ it("returns 0 for known command", () => {
9
+ assert.equal(executeHelp(["run"]), 0);
10
+ assert.equal(executeHelp(["skills", "list"]), 0);
11
+ });
12
+ it("returns 2 for unknown command", () => {
13
+ assert.equal(executeHelp(["nope"]), 2);
14
+ assert.equal(executeHelp(["skills", "nope"]), 2);
15
+ });
16
+ });
17
+ describe("printTopLevelHelp", () => {
18
+ it("lists every command", () => {
19
+ const lines = [];
20
+ const log = console.log;
21
+ console.log = (...args) => {
22
+ lines.push(args.map(String).join(" "));
23
+ };
24
+ try {
25
+ printTopLevelHelp();
26
+ }
27
+ finally {
28
+ console.log = log;
29
+ }
30
+ const text = lines.join("\n");
31
+ assert.match(text, /run/);
32
+ assert.match(text, /debug/);
33
+ assert.match(text, /skills/);
34
+ assert.match(text, /auth/);
35
+ assert.match(text, /config/);
36
+ assert.match(text, /mcp/);
37
+ assert.match(text, /help/);
38
+ assert.match(text, /--version/);
39
+ });
40
+ });
41
+ //# sourceMappingURL=help.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.test.js","sourceRoot":"","sources":["../../src/cli/help.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE3D,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC;QACF,IAAI,CAAC;YACH,iBAAiB,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;QACpB,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}