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":"parser.test.js","sourceRoot":"","sources":["../../src/scenarios/parser.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type Skill, type SkillCatalogEntry } from "../types/skill.js";
2
+ export declare function discoverSkills(dirs: string[], cwd: string): Skill[];
3
+ export declare function catalog(skills: Skill[]): SkillCatalogEntry[];
4
+ export declare function getSkill(skills: Skill[], name: string): Skill | undefined;
5
+ export declare function requireSkills(skills: Skill[], names: string[]): Skill[];
6
+ export declare function mergeSkillNames(...groups: string[][]): string[];
7
+ export declare function resolveSkills(catalog: Skill[], ...nameGroups: string[][]): Skill[];
8
+ export declare function buildSkillPrompt(skills: Skill[]): string;
9
+ export declare function verifyBundledSkill(cwd: string): void;
10
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAyC3B,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAiBnE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,EAAE,CAE5D;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAEzE;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,KAAK,EAAE,EACf,KAAK,EAAE,MAAM,EAAE,GACd,KAAK,EAAE,CAQT;AAED,wBAAgB,eAAe,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,CAW/D;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,KAAK,EAAE,EAChB,GAAG,UAAU,EAAE,MAAM,EAAE,EAAE,GACxB,KAAK,EAAE,CAET;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAOxD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAWpD"}
@@ -0,0 +1,98 @@
1
+ import { readFileSync, readdirSync, statSync, existsSync } from "node:fs";
2
+ import path from "node:path";
3
+ import matter from "gray-matter";
4
+ import { SkillFrontmatterSchema, } from "../types/skill.js";
5
+ import { resolveBundledPath } from "../paths.js";
6
+ const SKILL_FILE = "SKILL.md";
7
+ function findSkillDirs(root) {
8
+ const results = [];
9
+ if (!existsSync(root))
10
+ return results;
11
+ const walk = (dir) => {
12
+ const entries = readdirSync(dir);
13
+ for (const entry of entries) {
14
+ const full = path.join(dir, entry);
15
+ const stat = statSync(full);
16
+ if (stat.isDirectory()) {
17
+ if (existsSync(path.join(full, SKILL_FILE))) {
18
+ results.push(full);
19
+ }
20
+ else {
21
+ walk(full);
22
+ }
23
+ }
24
+ }
25
+ };
26
+ walk(root);
27
+ return results;
28
+ }
29
+ function parseSkillDir(dir) {
30
+ const content = readFileSync(path.join(dir, SKILL_FILE), "utf-8");
31
+ const { data, content: body } = matter(content);
32
+ const frontmatter = SkillFrontmatterSchema.parse(data);
33
+ return {
34
+ name: frontmatter.name,
35
+ description: frontmatter.description,
36
+ dir,
37
+ frontmatter,
38
+ body: body.trim(),
39
+ };
40
+ }
41
+ export function discoverSkills(dirs, cwd) {
42
+ const seen = new Set();
43
+ const skills = [];
44
+ for (const dir of dirs) {
45
+ const resolved = path.isAbsolute(dir)
46
+ ? dir
47
+ : resolveBundledPath(cwd, dir);
48
+ for (const skillDir of findSkillDirs(resolved)) {
49
+ const skill = parseSkillDir(skillDir);
50
+ if (seen.has(skill.name))
51
+ continue;
52
+ seen.add(skill.name);
53
+ skills.push(skill);
54
+ }
55
+ }
56
+ return skills;
57
+ }
58
+ export function catalog(skills) {
59
+ return skills.map(({ body: _body, ...entry }) => entry);
60
+ }
61
+ export function getSkill(skills, name) {
62
+ return skills.find((s) => s.name === name);
63
+ }
64
+ export function requireSkills(skills, names) {
65
+ const missing = names.filter((n) => !getSkill(skills, n));
66
+ if (missing.length > 0) {
67
+ throw new Error(`Missing required skills: ${missing.join(", ")}. Run: npm ci (or npm install) in the prose-qa package.`);
68
+ }
69
+ return names.map((n) => getSkill(skills, n));
70
+ }
71
+ export function mergeSkillNames(...groups) {
72
+ const seen = new Set();
73
+ const merged = [];
74
+ for (const group of groups) {
75
+ for (const name of group) {
76
+ if (seen.has(name))
77
+ continue;
78
+ seen.add(name);
79
+ merged.push(name);
80
+ }
81
+ }
82
+ return merged;
83
+ }
84
+ export function resolveSkills(catalog, ...nameGroups) {
85
+ return requireSkills(catalog, mergeSkillNames(...nameGroups));
86
+ }
87
+ export function buildSkillPrompt(skills) {
88
+ return skills
89
+ .map((s) => `## Skill: ${s.name}\n\n${s.body}`)
90
+ .join("\n\n---\n\n");
91
+ }
92
+ export function verifyBundledSkill(cwd) {
93
+ const skillPath = path.join(resolveBundledPath(cwd, "skills"), "agent-browser", "SKILL.md");
94
+ if (!existsSync(skillPath)) {
95
+ throw new Error("skills/agent-browser/SKILL.md missing. Run: npm ci (or npm install) in the prose-qa package.");
96
+ }
97
+ }
98
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import type { ScenarioTagFilterExpression } from "./scenario.js";
2
+ export interface HealingConfig {
3
+ /** Master switch. Default: true */
4
+ enabled?: boolean;
5
+ /** Extra agent turns after a failed verdict (same session). Default: 2 */
6
+ maxRecoveryTurns?: number;
7
+ /** Regex strings matched against bash output + checkpoint reasons */
8
+ transientPatterns?: string[];
9
+ /** If true, allow recovery when class is unknown but bash looks transient. Default: false */
10
+ recoverOnUnknown?: boolean;
11
+ }
12
+ export interface RecorderConfig {
13
+ bridgePort?: number;
14
+ outputDir?: string;
15
+ defaultTags?: string[];
16
+ }
17
+ export interface CacheConfig {
18
+ /** Directory for per-scenario replay hints. Default: ".pqa/cache" */
19
+ dir?: string;
20
+ /** Master switch. Default: true */
21
+ enabled?: boolean;
22
+ }
23
+ export interface ReportConfig {
24
+ /**
25
+ * Directory or file path for the execution report.
26
+ * Trailing slash: create a runId-named folder or zip inside that directory.
27
+ * Otherwise: use the full path as the output directory or zip file name.
28
+ */
29
+ outputPath?: string;
30
+ /** Emit the report as a zip archive instead of a directory. Default: false */
31
+ zip?: boolean;
32
+ }
33
+ /** Local browser engine for agent-browser (AGENT_BROWSER_ENGINE). */
34
+ export type BrowserEngine = "chrome" | "lightpanda";
35
+ /** Options when browser.engine is lightpanda (AGENT_BROWSER_EXECUTABLE_PATH, telemetry). */
36
+ export interface LightpandaBrowserConfig {
37
+ /**
38
+ * Path to the lightpanda binary, or a directory containing it (e.g. ".bin").
39
+ * Relative paths resolve from the project cwd. Maps to AGENT_BROWSER_EXECUTABLE_PATH.
40
+ */
41
+ executablePath?: string;
42
+ /** When false, sets LIGHTPANDA_DISABLE_TELEMETRY=true. Default: Lightpanda sends telemetry. */
43
+ telemetry?: boolean;
44
+ }
45
+ /** Reasoning intensity; applied only on providers that support it (e.g. OpenAI, Anthropic, Google). */
46
+ export type LlmReasoningEffort = "none" | "minimal" | "low" | "medium" | "high" | "xhigh";
47
+ export interface PqaConfig {
48
+ /** Root directory for scenario markdown files. Default: scenarios (or pqa if present). */
49
+ scenariosDir?: string;
50
+ systemPromptPath?: string;
51
+ /** Env var names injected into the system prompt and expected at runtime */
52
+ envVars?: string[];
53
+ /** Env var names whose values are redacted from transcripts, verdicts, reports and verbose logs */
54
+ sensitiveEnvVars?: string[];
55
+ llm: {
56
+ provider: "anthropic" | "openai" | "fireworks" | "ollama" | "google" | "openrouter";
57
+ model: string;
58
+ /**
59
+ * Extended thinking / reasoning (opt-in).
60
+ * `budgetTokens`: Anthropic, Fireworks, Google & OpenRouter reasoning budget.
61
+ * `reasoningEffort`: OpenAI reasoning effort; Anthropic effort; Google thinking level (mapped); OpenRouter reasoning effort.
62
+ * Ollama: `think` only (other fields ignored).
63
+ */
64
+ thinking?: {
65
+ enabled: boolean;
66
+ budgetTokens?: number;
67
+ reasoningEffort?: LlmReasoningEffort;
68
+ };
69
+ };
70
+ browser: {
71
+ headed: boolean;
72
+ sessionName: string;
73
+ defaultTimeout: number;
74
+ /** agent-browser engine: chrome (default) or lightpanda */
75
+ engine: BrowserEngine;
76
+ lightpanda?: LightpandaBrowserConfig;
77
+ };
78
+ skills: {
79
+ dirs: string[];
80
+ preloads: string[];
81
+ };
82
+ agent: {
83
+ maxTurns: number;
84
+ bashTimeoutMs: number;
85
+ /**
86
+ * Max concurrent scenario subprocesses when --parallel is omitted.
87
+ * 0 = sequential (default). Positive n = limit; mirrors --parallel n.
88
+ * Use -1 for unlimited (same as --parallel with no n).
89
+ */
90
+ parallel?: number;
91
+ };
92
+ auth: Record<string, AuthProfileConfig>;
93
+ healing?: HealingConfig;
94
+ recorder?: RecorderConfig;
95
+ cache?: CacheConfig;
96
+ report?: ReportConfig;
97
+ }
98
+ export interface AuthProfileConfig {
99
+ /** frontmatter.name of the on-demand auth scenario */
100
+ scenario?: string;
101
+ /** agent-browser state file; defaults to .pqa/auth/<profile>.json */
102
+ statePath?: string;
103
+ }
104
+ export type ArtifactsMode = "on-failure" | "always" | "never";
105
+ export interface RunOptions {
106
+ configPath?: string;
107
+ tags?: ScenarioTagFilterExpression;
108
+ retries?: number;
109
+ artifacts: ArtifactsMode;
110
+ headed?: boolean;
111
+ verbose?: boolean;
112
+ pause?: boolean;
113
+ skillsDirs?: string[];
114
+ parallel?: number;
115
+ /** Stop remaining scenarios on first failure (default: false) */
116
+ failFast?: boolean;
117
+ authRefresh?: boolean;
118
+ /** Keep browser open after each scenario (debug only). Default: close after each scenario. */
119
+ keepBrowser?: boolean;
120
+ /** Disable in-run recovery and transient-only retry gating */
121
+ noHealing?: boolean;
122
+ /** When healing is enabled, retry only transient failures unless "always" */
123
+ retriesPolicy?: "transient" | "always";
124
+ /** Skip reading and writing scenario replay hints cache */
125
+ noCache?: boolean;
126
+ /** Override report.outputPath — directory or file path for the execution report */
127
+ reportOutputPath?: string;
128
+ /** Override report.zip — emit report as zip instead of a directory */
129
+ reportZip?: boolean;
130
+ }
131
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ export type RecordEventType = "navigate" | "click" | "fill" | "select" | "submit" | "comment" | "checkpoint_hint";
2
+ /** Target resolved from an agent-browser `snapshot -i` at event time. */
3
+ export interface SnapshotTarget {
4
+ ref: string;
5
+ role?: string;
6
+ name?: string;
7
+ description: string;
8
+ }
9
+ export interface RecordEventBase {
10
+ ts: number;
11
+ snapshot?: SnapshotTarget;
12
+ }
13
+ export interface NavigateEvent extends RecordEventBase {
14
+ type: "navigate";
15
+ url: string;
16
+ }
17
+ export interface ClickEvent extends RecordEventBase {
18
+ type: "click";
19
+ role?: string;
20
+ name?: string;
21
+ label?: string;
22
+ clientX?: number;
23
+ clientY?: number;
24
+ }
25
+ export interface FillEvent extends RecordEventBase {
26
+ type: "fill";
27
+ role?: string;
28
+ name?: string;
29
+ value: string;
30
+ redacted?: boolean;
31
+ clientX?: number;
32
+ clientY?: number;
33
+ }
34
+ export interface SelectEvent extends RecordEventBase {
35
+ type: "select";
36
+ name?: string;
37
+ value: string;
38
+ clientX?: number;
39
+ clientY?: number;
40
+ }
41
+ export interface SubmitEvent extends RecordEventBase {
42
+ type: "submit";
43
+ }
44
+ export interface CommentEvent extends RecordEventBase {
45
+ type: "comment";
46
+ text: string;
47
+ }
48
+ export interface CheckpointHintEvent extends RecordEventBase {
49
+ type: "checkpoint_hint";
50
+ text: string;
51
+ }
52
+ export type RecordEvent = NavigateEvent | ClickEvent | FillEvent | SelectEvent | SubmitEvent | CommentEvent | CheckpointHintEvent;
53
+ export interface RecordingMeta {
54
+ id: string;
55
+ startedAt: string;
56
+ endedAt?: string;
57
+ startUrl?: string;
58
+ sessionName: string;
59
+ bridgePort: number;
60
+ connectPort?: number;
61
+ }
62
+ export interface ActiveRecording {
63
+ id: string;
64
+ dir: string;
65
+ bridgePort: number;
66
+ sessionName: string;
67
+ bridgeUrl: string;
68
+ /** Detached bridge-worker PID (survives after `record start` exits). */
69
+ bridgePid: number;
70
+ }
71
+ //# sourceMappingURL=recorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/types/recorder.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,OAAO,GACP,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,iBAAiB,CAAC;AAEtB,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAW,SAAQ,eAAe;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAU,SAAQ,eAAe;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,UAAU,GACV,SAAS,GACT,WAAW,GACX,WAAW,GACX,YAAY,GACZ,mBAAmB,CAAC;AAExB,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=recorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../src/types/recorder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ export interface ScenarioFrontmatter {
2
+ name: string;
3
+ tags?: string[];
4
+ auth?: string;
5
+ url?: string;
6
+ /** Skill names to load into the agent prompt when this scenario runs. */
7
+ skills?: string[];
8
+ /** When true, scenario is only included via body links — never run directly. */
9
+ partial?: boolean;
10
+ }
11
+ /** Frontmatter-only view used to filter scenarios before full parse. */
12
+ export interface ScenarioSummary {
13
+ filePath: string;
14
+ frontmatter: ScenarioFrontmatter;
15
+ }
16
+ export interface Scenario {
17
+ filePath: string;
18
+ frontmatter: ScenarioFrontmatter;
19
+ /** Skill names from this scenario and any linked scenario includes. */
20
+ skills: string[];
21
+ goal: string;
22
+ steps: string;
23
+ then: string[];
24
+ rawCheckpoints: string[];
25
+ checkpoints: ParsedCheckpoint[];
26
+ }
27
+ /**
28
+ * Tag filters are stored as OR-of-AND groups.
29
+ * A leading ! marks a negative tag term.
30
+ *
31
+ * Example: [["p0", "!smoke"], ["auth"]] means
32
+ * (p0 AND NOT smoke) OR auth.
33
+ */
34
+ export type ScenarioTagFilterExpression = string[][];
35
+ export type CheckpointKind = "url_contains" | "page_shows" | "semantic" | "unknown";
36
+ export interface ParsedCheckpoint {
37
+ raw: string;
38
+ kind: CheckpointKind;
39
+ value?: string;
40
+ }
41
+ //# sourceMappingURL=scenario.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenario.d.ts","sourceRoot":"","sources":["../../src/types/scenario.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,mBAAmB,CAAC;IACjC,uEAAuE;IACvE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,2BAA2B,GAAG,MAAM,EAAE,EAAE,CAAC;AAErD,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,YAAY,GACZ,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scenario.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenario.js","sourceRoot":"","sources":["../../src/types/scenario.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ export declare const SkillFrontmatterSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ description: z.ZodString;
5
+ "allowed-tools": z.ZodOptional<z.ZodString>;
6
+ compatibility: z.ZodOptional<z.ZodString>;
7
+ license: z.ZodOptional<z.ZodString>;
8
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
9
+ }, z.core.$strip>;
10
+ export type SkillFrontmatter = z.infer<typeof SkillFrontmatterSchema>;
11
+ export interface SkillCatalogEntry {
12
+ name: string;
13
+ description: string;
14
+ dir: string;
15
+ frontmatter: SkillFrontmatter;
16
+ }
17
+ export interface Skill extends SkillCatalogEntry {
18
+ body: string;
19
+ }
20
+ //# sourceMappingURL=skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/types/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;;iBAUjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,gBAAgB,CAAC;CAC/B;AAED,MAAM,WAAW,KAAM,SAAQ,iBAAiB;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,13 @@
1
+ import { z } from "zod";
2
+ export const SkillFrontmatterSchema = z.object({
3
+ name: z
4
+ .string()
5
+ .max(64)
6
+ .regex(/^[a-z0-9-]+$/),
7
+ description: z.string().max(1024),
8
+ "allowed-tools": z.string().optional(),
9
+ compatibility: z.string().optional(),
10
+ license: z.string().optional(),
11
+ metadata: z.record(z.string(), z.string()).optional(),
12
+ });
13
+ //# sourceMappingURL=skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/types/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,EAAE,CAAC;SACP,KAAK,CAAC,cAAc,CAAC;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IACjC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { z } from "zod";
2
+ export declare const CheckpointResultSchema: z.ZodObject<{
3
+ assertion: z.ZodString;
4
+ pass: z.ZodBoolean;
5
+ reason: z.ZodString;
6
+ evidence: z.ZodOptional<z.ZodArray<z.ZodString>>;
7
+ }, z.core.$strip>;
8
+ export declare const VerdictSchema: z.ZodObject<{
9
+ status: z.ZodEnum<{
10
+ pass: "pass";
11
+ fail: "fail";
12
+ }>;
13
+ checkpoints: z.ZodArray<z.ZodObject<{
14
+ assertion: z.ZodString;
15
+ pass: z.ZodBoolean;
16
+ reason: z.ZodString;
17
+ evidence: z.ZodOptional<z.ZodArray<z.ZodString>>;
18
+ }, z.core.$strip>>;
19
+ summary: z.ZodString;
20
+ }, z.core.$strip>;
21
+ export type CheckpointResult = z.infer<typeof CheckpointResultSchema>;
22
+ export type Verdict = z.infer<typeof VerdictSchema>;
23
+ export type FailureKind = "transient" | "scenario_issue" | "product" | "unknown";
24
+ export interface HealingMeta {
25
+ used: boolean;
26
+ recoveryTurns: number;
27
+ scenarioRetries: number;
28
+ failureKind?: FailureKind;
29
+ signals?: string[];
30
+ }
31
+ export interface BashEntry {
32
+ command: string;
33
+ stdout: string;
34
+ stderr: string;
35
+ exitCode: number;
36
+ durationMs: number;
37
+ }
38
+ export interface TranscriptMessageEntry {
39
+ type: "message";
40
+ role: string;
41
+ /** Extended thinking / reasoning from the LLM, when available. */
42
+ thinking?: string;
43
+ content: string;
44
+ /** ISO-8601 timestamp when this entry was recorded. */
45
+ at: string;
46
+ /** Wall-clock duration of the LLM step (ms), for assistant messages only. */
47
+ durationMs?: number;
48
+ }
49
+ export interface TranscriptBashEntry extends BashEntry {
50
+ type: "bash";
51
+ /** ISO-8601 timestamp when this entry was recorded. */
52
+ at: string;
53
+ }
54
+ export type TranscriptEntry = TranscriptMessageEntry | TranscriptBashEntry;
55
+ export interface AgentTranscript {
56
+ entries: TranscriptEntry[];
57
+ }
58
+ export interface ScenarioResult {
59
+ scenario: string;
60
+ filePath: string;
61
+ status: "pass" | "fail" | "error" | "skipped";
62
+ durationMs: number;
63
+ verdict: Verdict | null;
64
+ transcript: AgentTranscript;
65
+ error?: string;
66
+ artifactDir?: string;
67
+ healing?: HealingMeta;
68
+ }
69
+ export interface RunReport {
70
+ runId: string;
71
+ startedAt: string;
72
+ finishedAt: string;
73
+ results: ScenarioResult[];
74
+ summary: {
75
+ total: number;
76
+ passed: number;
77
+ failed: number;
78
+ errors: number;
79
+ skipped: number;
80
+ };
81
+ }
82
+ //# sourceMappingURL=verdict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verdict.d.ts","sourceRoot":"","sources":["../../src/types/verdict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;iBAKjC,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;iBAIxB,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AAE3E,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
@@ -0,0 +1,13 @@
1
+ import { z } from "zod";
2
+ export const CheckpointResultSchema = z.object({
3
+ assertion: z.string(),
4
+ pass: z.boolean(),
5
+ reason: z.string(),
6
+ evidence: z.array(z.string()).optional(),
7
+ });
8
+ export const VerdictSchema = z.object({
9
+ status: z.enum(["pass", "fail"]),
10
+ checkpoints: z.array(CheckpointResultSchema),
11
+ summary: z.string(),
12
+ });
13
+ //# sourceMappingURL=verdict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verdict.js","sourceRoot":"","sources":["../../src/types/verdict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC"}