@xoxoai/checkmate 0.6.6 → 0.7.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 (382) hide show
  1. package/dist/checkmate.js +13375 -0
  2. package/package.json +14 -100
  3. package/plugin/.claude-plugin/plugin.json +10 -0
  4. package/plugin/bin/checkmate.ts +3 -0
  5. package/plugin/contracts/finding.schema.json +78 -0
  6. package/plugin/contracts/gap.schema.json +56 -0
  7. package/plugin/contracts/plan-candidate.schema.json +103 -0
  8. package/plugin/contracts/plan-delta.schema.json +63 -0
  9. package/plugin/contracts/plan-patch.schema.json +116 -0
  10. package/plugin/contracts/plan-request.schema.json +108 -0
  11. package/plugin/contracts/plan.schema.json +313 -0
  12. package/plugin/contracts/profile.schema.json +154 -0
  13. package/plugin/contracts/response.schema.json +25 -0
  14. package/plugin/contracts/result.schema.json +410 -0
  15. package/plugin/dist/checkmate.js +13012 -0
  16. package/plugin/package.json +4 -0
  17. package/plugin/references/browser.md +35 -0
  18. package/plugin/references/http.md +30 -0
  19. package/plugin/references/workflow.md +122 -0
  20. package/plugin/skills/execute/SKILL.md +92 -0
  21. package/plugin/skills/plan/SKILL.md +94 -0
  22. package/plugin/skills/report/SKILL.md +28 -0
  23. package/plugin/skills/revise/SKILL.md +43 -0
  24. package/plugin/skills/setup/SKILL.md +82 -0
  25. package/plugin/skills/status/SKILL.md +20 -0
  26. package/plugin/skills/ui/SKILL.md +26 -0
  27. package/plugin/src/actor.ts +21 -0
  28. package/plugin/src/cli.ts +1133 -0
  29. package/plugin/src/contracts.ts +342 -0
  30. package/plugin/src/index.ts +52 -0
  31. package/plugin/src/plans.ts +1028 -0
  32. package/plugin/src/render.ts +544 -0
  33. package/plugin/src/runs.ts +868 -0
  34. package/plugin/src/store.ts +384 -0
  35. package/plugin/src/targets.ts +205 -0
  36. package/plugin/src/types.ts +319 -0
  37. package/plugin/src/ui/assets/client.js +501 -0
  38. package/plugin/src/ui/assets/favicon.svg +1 -0
  39. package/plugin/src/ui/assets/fonts/inter-OFL.txt +93 -0
  40. package/plugin/src/ui/assets/fonts/inter.woff2 +0 -0
  41. package/plugin/src/ui/assets/fonts/jetbrains-mono-OFL.txt +93 -0
  42. package/plugin/src/ui/assets/fonts/jetbrains-mono.woff2 +0 -0
  43. package/plugin/src/ui/assets/fonts/space-grotesk-OFL.txt +93 -0
  44. package/plugin/src/ui/assets/fonts/space-grotesk.woff2 +0 -0
  45. package/plugin/src/ui/assets/style.css +1926 -0
  46. package/plugin/src/ui/edit.ts +305 -0
  47. package/plugin/src/ui/forms.ts +209 -0
  48. package/plugin/src/ui/html.ts +130 -0
  49. package/plugin/src/ui/layout.ts +198 -0
  50. package/plugin/src/ui/lists.ts +645 -0
  51. package/plugin/src/ui/plan.ts +577 -0
  52. package/plugin/src/ui/run.ts +489 -0
  53. package/plugin/src/ui/server.ts +684 -0
  54. package/plugin/src/validators.d.ts +13 -0
  55. package/plugin/src/validators.js +1 -0
  56. package/plugin/src/views.ts +839 -0
  57. package/LICENSE +0 -21
  58. package/README.md +0 -294
  59. package/bin/checkmate.js +0 -13
  60. package/dist/ai/client.d.ts +0 -64
  61. package/dist/ai/client.d.ts.map +0 -1
  62. package/dist/ai/client.js +0 -313
  63. package/dist/ai/client.js.map +0 -1
  64. package/dist/ai/message-handler.d.ts +0 -9
  65. package/dist/ai/message-handler.d.ts.map +0 -1
  66. package/dist/ai/message-handler.js +0 -50
  67. package/dist/ai/message-handler.js.map +0 -1
  68. package/dist/ai/message-history.d.ts +0 -17
  69. package/dist/ai/message-history.d.ts.map +0 -1
  70. package/dist/ai/message-history.js +0 -45
  71. package/dist/ai/message-history.js.map +0 -1
  72. package/dist/ai/prompts.d.ts +0 -4
  73. package/dist/ai/prompts.d.ts.map +0 -1
  74. package/dist/ai/prompts.js +0 -24
  75. package/dist/ai/prompts.js.map +0 -1
  76. package/dist/ai/rate-limit-policy.d.ts +0 -9
  77. package/dist/ai/rate-limit-policy.d.ts.map +0 -1
  78. package/dist/ai/rate-limit-policy.js +0 -34
  79. package/dist/ai/rate-limit-policy.js.map +0 -1
  80. package/dist/ai/tool-response-handler.d.ts +0 -16
  81. package/dist/ai/tool-response-handler.d.ts.map +0 -1
  82. package/dist/ai/tool-response-handler.js +0 -85
  83. package/dist/ai/tool-response-handler.js.map +0 -1
  84. package/dist/ai/turn-processor.d.ts +0 -34
  85. package/dist/ai/turn-processor.d.ts.map +0 -1
  86. package/dist/ai/turn-processor.js +0 -107
  87. package/dist/ai/turn-processor.js.map +0 -1
  88. package/dist/api/allocate-run-identity.d.ts +0 -8
  89. package/dist/api/allocate-run-identity.d.ts.map +0 -1
  90. package/dist/api/allocate-run-identity.js +0 -10
  91. package/dist/api/allocate-run-identity.js.map +0 -1
  92. package/dist/api/execute-prepared-run.d.ts +0 -22
  93. package/dist/api/execute-prepared-run.d.ts.map +0 -1
  94. package/dist/api/execute-prepared-run.js +0 -184
  95. package/dist/api/execute-prepared-run.js.map +0 -1
  96. package/dist/api/index.d.ts +0 -25
  97. package/dist/api/index.d.ts.map +0 -1
  98. package/dist/api/index.js +0 -69
  99. package/dist/api/index.js.map +0 -1
  100. package/dist/api/prepare-run.d.ts +0 -44
  101. package/dist/api/prepare-run.d.ts.map +0 -1
  102. package/dist/api/prepare-run.js +0 -261
  103. package/dist/api/prepare-run.js.map +0 -1
  104. package/dist/cli/diagnostic-relay.d.ts +0 -6
  105. package/dist/cli/diagnostic-relay.d.ts.map +0 -1
  106. package/dist/cli/diagnostic-relay.js +0 -6
  107. package/dist/cli/diagnostic-relay.js.map +0 -1
  108. package/dist/cli/main.d.ts +0 -21
  109. package/dist/cli/main.d.ts.map +0 -1
  110. package/dist/cli/main.js +0 -166
  111. package/dist/cli/main.js.map +0 -1
  112. package/dist/cli/protocol.d.ts +0 -57
  113. package/dist/cli/protocol.d.ts.map +0 -1
  114. package/dist/cli/protocol.js +0 -116
  115. package/dist/cli/protocol.js.map +0 -1
  116. package/dist/cli/reconcile-result.d.ts +0 -13
  117. package/dist/cli/reconcile-result.d.ts.map +0 -1
  118. package/dist/cli/reconcile-result.js +0 -300
  119. package/dist/cli/reconcile-result.js.map +0 -1
  120. package/dist/cli/run-parent.d.ts +0 -37
  121. package/dist/cli/run-parent.d.ts.map +0 -1
  122. package/dist/cli/run-parent.js +0 -491
  123. package/dist/cli/run-parent.js.map +0 -1
  124. package/dist/cli/signals.d.ts +0 -36
  125. package/dist/cli/signals.d.ts.map +0 -1
  126. package/dist/cli/signals.js +0 -85
  127. package/dist/cli/signals.js.map +0 -1
  128. package/dist/cli/static-commands.d.ts +0 -11
  129. package/dist/cli/static-commands.d.ts.map +0 -1
  130. package/dist/cli/static-commands.js +0 -83
  131. package/dist/cli/static-commands.js.map +0 -1
  132. package/dist/cli/worker-stream-guard.d.ts +0 -20
  133. package/dist/cli/worker-stream-guard.d.ts.map +0 -1
  134. package/dist/cli/worker-stream-guard.js +0 -41
  135. package/dist/cli/worker-stream-guard.js.map +0 -1
  136. package/dist/cli/worker.d.ts +0 -3
  137. package/dist/cli/worker.d.ts.map +0 -1
  138. package/dist/cli/worker.js +0 -111
  139. package/dist/cli/worker.js.map +0 -1
  140. package/dist/config/ingestion.d.ts +0 -58
  141. package/dist/config/ingestion.d.ts.map +0 -1
  142. package/dist/config/ingestion.js +0 -283
  143. package/dist/config/ingestion.js.map +0 -1
  144. package/dist/config/manifest.d.ts +0 -20
  145. package/dist/config/manifest.d.ts.map +0 -1
  146. package/dist/config/manifest.js +0 -91
  147. package/dist/config/manifest.js.map +0 -1
  148. package/dist/config/model-egress.d.ts +0 -10
  149. package/dist/config/model-egress.d.ts.map +0 -1
  150. package/dist/config/model-egress.js +0 -62
  151. package/dist/config/model-egress.js.map +0 -1
  152. package/dist/config/package-resolution.d.ts +0 -4
  153. package/dist/config/package-resolution.d.ts.map +0 -1
  154. package/dist/config/package-resolution.js +0 -24
  155. package/dist/config/package-resolution.js.map +0 -1
  156. package/dist/config/policy.d.ts +0 -44
  157. package/dist/config/policy.d.ts.map +0 -1
  158. package/dist/config/policy.js +0 -141
  159. package/dist/config/policy.js.map +0 -1
  160. package/dist/config/record.d.ts +0 -4
  161. package/dist/config/record.d.ts.map +0 -1
  162. package/dist/config/record.js +0 -10
  163. package/dist/config/record.js.map +0 -1
  164. package/dist/config/secrets.d.ts +0 -11
  165. package/dist/config/secrets.d.ts.map +0 -1
  166. package/dist/config/secrets.js +0 -42
  167. package/dist/config/secrets.js.map +0 -1
  168. package/dist/contracts/diagnostics.d.ts +0 -4
  169. package/dist/contracts/diagnostics.d.ts.map +0 -1
  170. package/dist/contracts/diagnostics.js +0 -31
  171. package/dist/contracts/diagnostics.js.map +0 -1
  172. package/dist/contracts/serialize.d.ts +0 -2
  173. package/dist/contracts/serialize.d.ts.map +0 -1
  174. package/dist/contracts/serialize.js +0 -90
  175. package/dist/contracts/serialize.js.map +0 -1
  176. package/dist/contracts/types.d.ts +0 -316
  177. package/dist/contracts/types.d.ts.map +0 -1
  178. package/dist/contracts/types.js +0 -74
  179. package/dist/contracts/types.js.map +0 -1
  180. package/dist/contracts/validator.d.ts +0 -8
  181. package/dist/contracts/validator.d.ts.map +0 -1
  182. package/dist/contracts/validator.js +0 -71
  183. package/dist/contracts/validator.js.map +0 -1
  184. package/dist/driver.d.ts +0 -97
  185. package/dist/driver.d.ts.map +0 -1
  186. package/dist/driver.js +0 -24
  187. package/dist/driver.js.map +0 -1
  188. package/dist/drivers/descriptor.d.ts +0 -15
  189. package/dist/drivers/descriptor.d.ts.map +0 -1
  190. package/dist/drivers/descriptor.js +0 -122
  191. package/dist/drivers/descriptor.js.map +0 -1
  192. package/dist/drivers/loader.d.ts +0 -18
  193. package/dist/drivers/loader.d.ts.map +0 -1
  194. package/dist/drivers/loader.js +0 -97
  195. package/dist/drivers/loader.js.map +0 -1
  196. package/dist/drivers/web/checkmate-driver.json +0 -47
  197. package/dist/drivers/web/index.d.ts +0 -6
  198. package/dist/drivers/web/index.d.ts.map +0 -1
  199. package/dist/drivers/web/index.js +0 -27
  200. package/dist/drivers/web/index.js.map +0 -1
  201. package/dist/drivers/web/session.d.ts +0 -25
  202. package/dist/drivers/web/session.d.ts.map +0 -1
  203. package/dist/drivers/web/session.js +0 -132
  204. package/dist/drivers/web/session.js.map +0 -1
  205. package/dist/drivers/web/tools/network-request-recorder.d.ts +0 -46
  206. package/dist/drivers/web/tools/network-request-recorder.d.ts.map +0 -1
  207. package/dist/drivers/web/tools/network-request-recorder.js +0 -164
  208. package/dist/drivers/web/tools/network-request-recorder.js.map +0 -1
  209. package/dist/drivers/web/tools/screenshot-service.d.ts +0 -10
  210. package/dist/drivers/web/tools/screenshot-service.d.ts.map +0 -1
  211. package/dist/drivers/web/tools/screenshot-service.js +0 -23
  212. package/dist/drivers/web/tools/screenshot-service.js.map +0 -1
  213. package/dist/drivers/web/tools/snapshot-filter/index.d.ts +0 -4
  214. package/dist/drivers/web/tools/snapshot-filter/index.d.ts.map +0 -1
  215. package/dist/drivers/web/tools/snapshot-filter/index.js +0 -4
  216. package/dist/drivers/web/tools/snapshot-filter/index.js.map +0 -1
  217. package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.d.ts +0 -15
  218. package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.d.ts.map +0 -1
  219. package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.js +0 -99
  220. package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.js.map +0 -1
  221. package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.d.ts +0 -5
  222. package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.d.ts.map +0 -1
  223. package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.js +0 -56
  224. package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.js.map +0 -1
  225. package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.d.ts +0 -3
  226. package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.d.ts.map +0 -1
  227. package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.js +0 -85
  228. package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.js.map +0 -1
  229. package/dist/drivers/web/tools/snapshot-service.d.ts +0 -31
  230. package/dist/drivers/web/tools/snapshot-service.d.ts.map +0 -1
  231. package/dist/drivers/web/tools/snapshot-service.js +0 -96
  232. package/dist/drivers/web/tools/snapshot-service.js.map +0 -1
  233. package/dist/drivers/web/tools/tool.d.ts +0 -76
  234. package/dist/drivers/web/tools/tool.d.ts.map +0 -1
  235. package/dist/drivers/web/tools/tool.js +0 -562
  236. package/dist/drivers/web/tools/tool.js.map +0 -1
  237. package/dist/drivers/web/tools/transient-state-tracker.d.ts +0 -26
  238. package/dist/drivers/web/tools/transient-state-tracker.d.ts.map +0 -1
  239. package/dist/drivers/web/tools/transient-state-tracker.js +0 -301
  240. package/dist/drivers/web/tools/transient-state-tracker.js.map +0 -1
  241. package/dist/drivers/web/tools/types.d.ts +0 -11
  242. package/dist/drivers/web/tools/types.d.ts.map +0 -1
  243. package/dist/drivers/web/tools/types.js +0 -2
  244. package/dist/drivers/web/tools/types.js.map +0 -1
  245. package/dist/evidence/atomic-file.d.ts +0 -23
  246. package/dist/evidence/atomic-file.d.ts.map +0 -1
  247. package/dist/evidence/atomic-file.js +0 -104
  248. package/dist/evidence/atomic-file.js.map +0 -1
  249. package/dist/evidence/layout.d.ts +0 -30
  250. package/dist/evidence/layout.d.ts.map +0 -1
  251. package/dist/evidence/layout.js +0 -152
  252. package/dist/evidence/layout.js.map +0 -1
  253. package/dist/evidence/retention.d.ts +0 -5
  254. package/dist/evidence/retention.d.ts.map +0 -1
  255. package/dist/evidence/retention.js +0 -10
  256. package/dist/evidence/retention.js.map +0 -1
  257. package/dist/evidence/store.d.ts +0 -101
  258. package/dist/evidence/store.d.ts.map +0 -1
  259. package/dist/evidence/store.js +0 -375
  260. package/dist/evidence/store.js.map +0 -1
  261. package/dist/evidence/terminal-finalizer.d.ts +0 -19
  262. package/dist/evidence/terminal-finalizer.d.ts.map +0 -1
  263. package/dist/evidence/terminal-finalizer.js +0 -56
  264. package/dist/evidence/terminal-finalizer.js.map +0 -1
  265. package/dist/index.d.ts +0 -9
  266. package/dist/index.d.ts.map +0 -1
  267. package/dist/index.js +0 -12
  268. package/dist/index.js.map +0 -1
  269. package/dist/logging/invocation-logger.d.ts +0 -4
  270. package/dist/logging/invocation-logger.d.ts.map +0 -1
  271. package/dist/logging/invocation-logger.js +0 -25
  272. package/dist/logging/invocation-logger.js.map +0 -1
  273. package/dist/logging/level-logger.d.ts +0 -11
  274. package/dist/logging/level-logger.d.ts.map +0 -1
  275. package/dist/logging/level-logger.js +0 -82
  276. package/dist/logging/level-logger.js.map +0 -1
  277. package/dist/logging/types.d.ts +0 -8
  278. package/dist/logging/types.d.ts.map +0 -1
  279. package/dist/logging/types.js +0 -7
  280. package/dist/logging/types.js.map +0 -1
  281. package/dist/redaction/diagnostic-sanitizer.d.ts +0 -7
  282. package/dist/redaction/diagnostic-sanitizer.d.ts.map +0 -1
  283. package/dist/redaction/diagnostic-sanitizer.js +0 -42
  284. package/dist/redaction/diagnostic-sanitizer.js.map +0 -1
  285. package/dist/redaction/redactor.d.ts +0 -40
  286. package/dist/redaction/redactor.d.ts.map +0 -1
  287. package/dist/redaction/redactor.js +0 -176
  288. package/dist/redaction/redactor.js.map +0 -1
  289. package/dist/redaction/scrub.d.ts +0 -29
  290. package/dist/redaction/scrub.d.ts.map +0 -1
  291. package/dist/redaction/scrub.js +0 -54
  292. package/dist/redaction/scrub.js.map +0 -1
  293. package/dist/runtime/config.d.ts +0 -16
  294. package/dist/runtime/config.d.ts.map +0 -1
  295. package/dist/runtime/config.js +0 -2
  296. package/dist/runtime/config.js.map +0 -1
  297. package/dist/runtime/driver-boundary.d.ts +0 -16
  298. package/dist/runtime/driver-boundary.d.ts.map +0 -1
  299. package/dist/runtime/driver-boundary.js +0 -71
  300. package/dist/runtime/driver-boundary.js.map +0 -1
  301. package/dist/runtime/driver-session.d.ts +0 -9
  302. package/dist/runtime/driver-session.d.ts.map +0 -1
  303. package/dist/runtime/driver-session.js +0 -64
  304. package/dist/runtime/driver-session.js.map +0 -1
  305. package/dist/runtime/internal-step-evidence.d.ts +0 -30
  306. package/dist/runtime/internal-step-evidence.d.ts.map +0 -1
  307. package/dist/runtime/internal-step-evidence.js +0 -82
  308. package/dist/runtime/internal-step-evidence.js.map +0 -1
  309. package/dist/runtime/result-adapter.d.ts +0 -9
  310. package/dist/runtime/result-adapter.d.ts.map +0 -1
  311. package/dist/runtime/result-adapter.js +0 -77
  312. package/dist/runtime/result-adapter.js.map +0 -1
  313. package/dist/runtime/runner.d.ts +0 -43
  314. package/dist/runtime/runner.d.ts.map +0 -1
  315. package/dist/runtime/runner.js +0 -72
  316. package/dist/runtime/runner.js.map +0 -1
  317. package/dist/runtime/scenario-control.d.ts +0 -40
  318. package/dist/runtime/scenario-control.d.ts.map +0 -1
  319. package/dist/runtime/scenario-control.js +0 -94
  320. package/dist/runtime/scenario-control.js.map +0 -1
  321. package/dist/runtime/scenario-runner.d.ts +0 -41
  322. package/dist/runtime/scenario-runner.d.ts.map +0 -1
  323. package/dist/runtime/scenario-runner.js +0 -274
  324. package/dist/runtime/scenario-runner.js.map +0 -1
  325. package/dist/runtime/scenario-state.d.ts +0 -55
  326. package/dist/runtime/scenario-state.d.ts.map +0 -1
  327. package/dist/runtime/scenario-state.js +0 -128
  328. package/dist/runtime/scenario-state.js.map +0 -1
  329. package/dist/runtime/step-execution.d.ts +0 -27
  330. package/dist/runtime/step-execution.d.ts.map +0 -1
  331. package/dist/runtime/step-execution.js +0 -143
  332. package/dist/runtime/step-execution.js.map +0 -1
  333. package/dist/runtime/text.d.ts +0 -10
  334. package/dist/runtime/text.d.ts.map +0 -1
  335. package/dist/runtime/text.js +0 -25
  336. package/dist/runtime/text.js.map +0 -1
  337. package/dist/runtime/types.d.ts +0 -53
  338. package/dist/runtime/types.d.ts.map +0 -1
  339. package/dist/runtime/types.js +0 -2
  340. package/dist/runtime/types.js.map +0 -1
  341. package/dist/runtime/usage-tracker.d.ts +0 -37
  342. package/dist/runtime/usage-tracker.d.ts.map +0 -1
  343. package/dist/runtime/usage-tracker.js +0 -110
  344. package/dist/runtime/usage-tracker.js.map +0 -1
  345. package/dist/tools/define-agent-tool.d.ts +0 -20
  346. package/dist/tools/define-agent-tool.d.ts.map +0 -1
  347. package/dist/tools/define-agent-tool.js +0 -30
  348. package/dist/tools/define-agent-tool.js.map +0 -1
  349. package/dist/tools/dispatcher.d.ts +0 -19
  350. package/dist/tools/dispatcher.d.ts.map +0 -1
  351. package/dist/tools/dispatcher.js +0 -91
  352. package/dist/tools/dispatcher.js.map +0 -1
  353. package/dist/tools/loop-detector.d.ts +0 -27
  354. package/dist/tools/loop-detector.d.ts.map +0 -1
  355. package/dist/tools/loop-detector.js +0 -76
  356. package/dist/tools/loop-detector.js.map +0 -1
  357. package/dist/tools/registry.d.ts +0 -19
  358. package/dist/tools/registry.d.ts.map +0 -1
  359. package/dist/tools/registry.js +0 -54
  360. package/dist/tools/registry.js.map +0 -1
  361. package/dist/tools/step/result-tool.d.ts +0 -7
  362. package/dist/tools/step/result-tool.d.ts.map +0 -1
  363. package/dist/tools/step/result-tool.js +0 -34
  364. package/dist/tools/step/result-tool.js.map +0 -1
  365. package/dist/tools/tool-contract.d.ts +0 -3
  366. package/dist/tools/tool-contract.d.ts.map +0 -1
  367. package/dist/tools/tool-contract.js +0 -2
  368. package/dist/tools/tool-contract.js.map +0 -1
  369. package/dist/tools/types.d.ts +0 -210
  370. package/dist/tools/types.d.ts.map +0 -1
  371. package/dist/tools/types.js +0 -4
  372. package/dist/tools/types.js.map +0 -1
  373. package/docs/CLI.md +0 -59
  374. package/docs/CONFIGURATION.md +0 -105
  375. package/docs/DRIVERS.md +0 -79
  376. package/docs/EVIDENCE.md +0 -64
  377. package/schemas/checkmate-config.v1.json +0 -176
  378. package/schemas/describe-result.v1.json +0 -414
  379. package/schemas/driver-descriptor.v1.json +0 -66
  380. package/schemas/run-request.v1.json +0 -67
  381. package/schemas/run-result.v1.json +0 -333
  382. package/schemas/validation-result.v1.json +0 -86
@@ -1,29 +0,0 @@
1
- /**
2
- * The single place that decides what counts as a secret.
3
- *
4
- * `StepEvidence` calls this where the loop *records* evidence, so a credential the model typed
5
- * into the page never reaches `StepReport` in the first place. The logging path (`ToolDispatcher`,
6
- * `ToolResponseHandler`) consumes the same function instead of keeping its own copy of the rules,
7
- * so there is exactly one definition of "looks like a secret" in the codebase.
8
- *
9
- * @example
10
- * ```ts
11
- * scrub('Authorization: Bearer sk-abc123') // 'Authorization: [secret omitted]'
12
- * ```
13
- */
14
- export declare function scrub(value: string): string;
15
- /**
16
- * Recursively applies {@link scrub} to every string value in an arbitrary JSON-like value,
17
- * preserving its shape.
18
- *
19
- * Tool call arguments are kept as a structured object rather than a serialized string, so
20
- * scrubbing them string-by-string is what keeps the report's `toolCalls` array both readable
21
- * and free of secrets.
22
- *
23
- * @example
24
- * ```ts
25
- * scrubValue({ ref: 'e17', text: 'sk-abc123' }) // { ref: 'e17', text: '[secret omitted]' }
26
- * ```
27
- */
28
- export declare function scrubValue<T>(value: T): T;
29
- //# sourceMappingURL=scrub.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scrub.d.ts","sourceRoot":"","sources":["../../src/redaction/scrub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ3C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAczC"}
@@ -1,54 +0,0 @@
1
- /**
2
- * The single place that decides what counts as a secret.
3
- *
4
- * `StepEvidence` calls this where the loop *records* evidence, so a credential the model typed
5
- * into the page never reaches `StepReport` in the first place. The logging path (`ToolDispatcher`,
6
- * `ToolResponseHandler`) consumes the same function instead of keeping its own copy of the rules,
7
- * so there is exactly one definition of "looks like a secret" in the codebase.
8
- *
9
- * @example
10
- * ```ts
11
- * scrub('Authorization: Bearer sk-abc123') // 'Authorization: [secret omitted]'
12
- * ```
13
- */
14
- export function scrub(value) {
15
- return scrubSecretFields(value)
16
- .replace(/data:image\/[a-zA-Z0-9.+-]+;base64,[A-Za-z0-9+/=]+/g, '[image omitted]')
17
- .replace(/[A-Za-z0-9+/]{200,}={0,2}/g, '[base64 omitted]')
18
- .replace(/sk-[A-Za-z0-9_-]+/g, '[secret omitted]')
19
- .replace(/Bearer\s+[A-Za-z0-9._~+/=-]+/gi, 'Bearer [secret omitted]')
20
- .replace(/Authorization\s*[:=]\s*[^\s,;}]+/gi, '[secret omitted]')
21
- .replace(/Cookie\s*[:=]\s*[^\n,;}]+/gi, '[secret omitted]');
22
- }
23
- /**
24
- * Recursively applies {@link scrub} to every string value in an arbitrary JSON-like value,
25
- * preserving its shape.
26
- *
27
- * Tool call arguments are kept as a structured object rather than a serialized string, so
28
- * scrubbing them string-by-string is what keeps the report's `toolCalls` array both readable
29
- * and free of secrets.
30
- *
31
- * @example
32
- * ```ts
33
- * scrubValue({ ref: 'e17', text: 'sk-abc123' }) // { ref: 'e17', text: '[secret omitted]' }
34
- * ```
35
- */
36
- export function scrubValue(value) {
37
- if (typeof value === 'string') {
38
- return scrub(value);
39
- }
40
- if (Array.isArray(value)) {
41
- return value.map((item) => scrubValue(item));
42
- }
43
- if (value && typeof value === 'object') {
44
- return Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, scrubValue(entry)]));
45
- }
46
- return value;
47
- }
48
- function scrubSecretFields(value) {
49
- const secretKey = String.raw `(?:CHECKMATE_OPENAI_API_KEY|OPENAI_API_KEY|api[_-]?key|apikey|authorization|cookie)`;
50
- return value
51
- .replace(new RegExp(String.raw `(["'])${secretKey}\1\s*:\s*(["'])(?:\\.|(?!\2).)*\2\s*,?`, 'gi'), '[secret omitted]')
52
- .replace(new RegExp(String.raw `\b${secretKey}\b\s*[:=]\s*(?:Bearer\s+[^\s,;}]+|"[^"]*"|'[^']*'|[^\s,;}]+)`, 'gi'), '[secret omitted]');
53
- }
54
- //# sourceMappingURL=scrub.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scrub.js","sourceRoot":"","sources":["../../src/redaction/scrub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa;IAClC,OAAO,iBAAiB,CAAC,KAAK,CAAC;SAC7B,OAAO,CAAC,qDAAqD,EAAE,iBAAiB,CAAC;SACjF,OAAO,CAAC,4BAA4B,EAAE,kBAAkB,CAAC;SACzD,OAAO,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;SACjD,OAAO,CAAC,gCAAgC,EAAE,yBAAyB,CAAC;SACpE,OAAO,CAAC,oCAAoC,EAAE,kBAAkB,CAAC;SACjE,OAAO,CAAC,6BAA6B,EAAE,kBAAkB,CAAC,CAAA;AAC7D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAI,KAAQ;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,KAAK,CAAM,CAAA;IACzB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAM,CAAA;IAClD,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAM,CAAA;IACtG,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACvC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAA,qFAAqF,CAAA;IACjH,OAAO,KAAK;SACV,OAAO,CACP,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,SAAS,SAAS,wCAAwC,EAAE,IAAI,CAAC,EACtF,kBAAkB,CAClB;SACA,OAAO,CACP,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,KAAK,SAAS,8DAA8D,EAAE,IAAI,CAAC,EACxG,kBAAkB,CAClB,CAAA;AACH,CAAC"}
@@ -1,16 +0,0 @@
1
- import type { LogLevel } from '../logging/level-logger.js';
2
- export type RuntimeConfig = Readonly<{
3
- model: string;
4
- baseUrl?: string;
5
- reasoningEffort?: 'low' | 'medium' | 'high';
6
- temperature: number;
7
- turnCap: number;
8
- requestTimeout: number;
9
- maxRetries: number;
10
- loopMaxRepetitions: number;
11
- redact: boolean;
12
- toolChoice: 'required' | 'auto';
13
- rateLimitDelay: number;
14
- logLevel: LogLevel;
15
- }>;
16
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAE1D,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC3C,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,EAAE,UAAU,GAAG,MAAM,CAAA;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,QAAQ,CAAA;CAClB,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import type { ControlExpirationReason, StepControl } from './scenario-control.js';
2
- export declare class DriverBoundaryError extends Error {
3
- readonly operation: string;
4
- readonly reason: ControlExpirationReason;
5
- constructor(operation: string, reason: ControlExpirationReason);
6
- }
7
- export declare function awaitDriverBoundary<T>(input: {
8
- operation: string;
9
- signal: AbortSignal;
10
- deadline: number;
11
- call: (signal: AbortSignal) => Promise<T> | T;
12
- now?: () => number;
13
- reason?: () => ControlExpirationReason;
14
- }): Promise<T>;
15
- export declare function awaitStepDriverBoundary<T>(operation: string, control: StepControl, call: (signal: AbortSignal) => Promise<T> | T): Promise<T>;
16
- //# sourceMappingURL=driver-boundary.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"driver-boundary.d.ts","sourceRoot":"","sources":["../../src/runtime/driver-boundary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEjF,qBAAa,mBAAoB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,MAAM,EAAE,uBAAuB;gBAD/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,uBAAuB;CAKzC;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC7C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,uBAAuB,CAAA;CACtC,GAAG,OAAO,CAAC,CAAC,CAAC,CAyCb;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC3C,OAAO,CAAC,CAAC,CAAC,CAYZ"}
@@ -1,71 +0,0 @@
1
- export class DriverBoundaryError extends Error {
2
- operation;
3
- reason;
4
- constructor(operation, reason) {
5
- super(`Driver boundary '${operation}' expired: ${reason}`);
6
- this.operation = operation;
7
- this.reason = reason;
8
- this.name = 'DriverBoundaryError';
9
- }
10
- }
11
- export async function awaitDriverBoundary(input) {
12
- const now = input.now ?? Date.now;
13
- if (input.signal.aborted || now() >= input.deadline) {
14
- throw new DriverBoundaryError(input.operation, input.reason?.() ?? signalReason(input.signal));
15
- }
16
- const controller = new AbortController();
17
- const reason = () => input.reason?.() ?? signalReason(input.signal);
18
- const timeout = Math.max(0, input.deadline - now());
19
- let timer;
20
- let onAbort;
21
- const boundaryPromise = new Promise((_, reject) => {
22
- onAbort = () => {
23
- const expiration = reason();
24
- controller.abort(expiration);
25
- reject(new DriverBoundaryError(input.operation, expiration));
26
- };
27
- if (input.signal.aborted)
28
- queueMicrotask(onAbort);
29
- else
30
- input.signal.addEventListener('abort', onAbort, { once: true });
31
- timer = setTimeout(onAbort, timeout);
32
- });
33
- let callPromise;
34
- try {
35
- callPromise = Promise.resolve(input.call(controller.signal));
36
- }
37
- catch (error) {
38
- callPromise = Promise.reject(error);
39
- }
40
- void callPromise.catch(() => undefined);
41
- try {
42
- const value = await Promise.race([callPromise, boundaryPromise]);
43
- if (input.signal.aborted || now() >= input.deadline) {
44
- const expiration = reason();
45
- controller.abort(expiration);
46
- throw new DriverBoundaryError(input.operation, expiration);
47
- }
48
- return value;
49
- }
50
- finally {
51
- clearTimeout(timer);
52
- input.signal.removeEventListener('abort', onAbort);
53
- }
54
- }
55
- export function awaitStepDriverBoundary(operation, control, call) {
56
- return awaitDriverBoundary({
57
- operation,
58
- signal: control.signal,
59
- deadline: control.deadline,
60
- now: control.now,
61
- reason: () => {
62
- const state = control.poll();
63
- return state.expired ? state.reason : 'step-timeout';
64
- },
65
- call,
66
- });
67
- }
68
- function signalReason(signal) {
69
- return signal.reason === 'interrupted' || signal.reason === 'scenario-timeout' ? signal.reason : 'step-timeout';
70
- }
71
- //# sourceMappingURL=driver-boundary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"driver-boundary.js","sourceRoot":"","sources":["../../src/runtime/driver-boundary.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import type { ChatCompletionMessageParam } from 'openai/resources/chat/completions';
2
- import type { DriverSession, DriverTool, StepIntent } from '../driver.js';
3
- import type { AgentTool, ToolExecution } from '../tools/types.js';
4
- import type { StepControl } from './scenario-control.js';
5
- export declare function adaptDriverTool(driverId: string, tool: DriverTool): AgentTool;
6
- export declare function buildInitialDriverContext(session: DriverSession, step: StepIntent, control: StepControl): Promise<ChatCompletionMessageParam[]>;
7
- export declare function buildPostToolDriverContext(session: DriverSession, step: StepIntent, turn: number, toolResponses: readonly ToolExecution[], control: StepControl): Promise<ChatCompletionMessageParam[]>;
8
- export declare function isEphemeralDriverMessage(message: ChatCompletionMessageParam): boolean;
9
- //# sourceMappingURL=driver-session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"driver-session.d.ts","sourceRoot":"","sources":["../../src/runtime/driver-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AACnF,OAAO,KAAK,EAAwB,aAAa,EAAE,UAAU,EAAuB,UAAU,EAAE,MAAM,cAAc,CAAA;AACpH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS,CAiB7E;AAED,wBAAsB,yBAAyB,CAC9C,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GAClB,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAKvC;AAED,wBAAsB,0BAA0B,CAC/C,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,SAAS,aAAa,EAAE,EACvC,OAAO,EAAE,WAAW,GAClB,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAUvC;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAErF"}
@@ -1,64 +0,0 @@
1
- import { awaitStepDriverBoundary } from './driver-boundary.js';
2
- export function adaptDriverTool(driverId, tool) {
3
- return {
4
- driverId,
5
- definition: { ...tool.definition, parameters: structuredClone(tool.definition.parameters) },
6
- execute: async (args, context) => {
7
- if (!context.control || context.turn === undefined || !context.signal) {
8
- throw new Error(`Driver tool '${tool.definition.name}' requires an active step control`);
9
- }
10
- return awaitStepDriverBoundary(`tool:${tool.definition.name}`, context.control, (signal) => tool.execute(args, {
11
- step: toStepIntent(context.step),
12
- turn: context.turn,
13
- signal,
14
- }));
15
- },
16
- };
17
- }
18
- export async function buildInitialDriverContext(session, step, control) {
19
- const context = await awaitStepDriverBoundary('build-initial-context', control, (signal) => session.buildInitialContext({ step, signal }));
20
- return context.map(toProviderMessage);
21
- }
22
- export async function buildPostToolDriverContext(session, step, turn, toolResponses, control) {
23
- const context = await awaitStepDriverBoundary('handle-tool-responses', control, (signal) => session.handleToolResponses({
24
- step,
25
- turn,
26
- toolResponses: toolResponses.map(toDriverToolExecution),
27
- signal,
28
- }));
29
- return context.map(toProviderMessage);
30
- }
31
- export function isEphemeralDriverMessage(message) {
32
- return Boolean(message.__checkmateEphemeral);
33
- }
34
- function toProviderMessage(context) {
35
- const content = typeof context.content === 'string'
36
- ? context.content
37
- : context.content.map((part) => part.type === 'text'
38
- ? { type: 'text', text: part.text }
39
- : {
40
- type: 'image_url',
41
- image_url: {
42
- url: `data:${part.mediaType};base64,${part.data}`,
43
- detail: 'high',
44
- },
45
- });
46
- const message = { role: 'user', content };
47
- if (context.ephemeral) {
48
- Object.defineProperty(message, '__checkmateEphemeral', { value: true, enumerable: false });
49
- }
50
- return message;
51
- }
52
- function toDriverToolExecution(execution) {
53
- return {
54
- toolCallId: execution.toolCallId,
55
- name: execution.toolCall.name,
56
- arguments: structuredClone(execution.toolCall.arguments ?? {}),
57
- response: execution.toolResponse.response,
58
- status: execution.toolResponse.status,
59
- };
60
- }
61
- function toStepIntent(step) {
62
- return { id: step.id ?? 'legacy-step', action: step.action, expect: step.expect };
63
- }
64
- //# sourceMappingURL=driver-session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"driver-session.js","sourceRoot":"","sources":["../../src/runtime/driver-session.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- import type { Diagnostic, Usage } from '../contracts/types.js';
2
- import type { StepIntent } from '../driver.js';
3
- import { DiagnosticSanitizer } from '../redaction/diagnostic-sanitizer.js';
4
- import type { ToolCall, ToolResponse } from '../tools/types.js';
5
- import type { InternalStepReport, InternalTerminationReason } from './types.js';
6
- export type InternalStepTermination = Readonly<{
7
- outcome: 'passed' | 'failed';
8
- reason: InternalTerminationReason;
9
- actual?: string;
10
- turns: number;
11
- }>;
12
- export declare class InternalStepEvidence {
13
- private readonly step;
14
- private readonly driverId;
15
- private readonly redact;
16
- private readonly diagnosticSanitizer;
17
- private readonly now;
18
- private readonly startedAt;
19
- private readonly toolCalls;
20
- private readonly transcript;
21
- private readonly diagnostics;
22
- constructor(step: StepIntent, driverId: string, redact: boolean, diagnosticSanitizer: DiagnosticSanitizer, now?: () => number);
23
- recordAssistantMessage(turn: number, content: string): void;
24
- recordToolCall(turn: number, toolCall: ToolCall, toolResponse: ToolResponse): void;
25
- recordDiagnostic(diagnostic: Diagnostic): void;
26
- buildReport(termination: InternalStepTermination, usage: Usage): InternalStepReport;
27
- private sanitize;
28
- private sanitizeArguments;
29
- }
30
- //# sourceMappingURL=internal-step-evidence.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal-step-evidence.d.ts","sourceRoot":"","sources":["../../src/runtime/internal-step-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAE1E,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,KAAK,EACX,kBAAkB,EAElB,yBAAyB,EAGzB,MAAM,YAAY,CAAA;AAkBnB,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC9C,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC5B,MAAM,EAAE,yBAAyB,CAAA;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACb,CAAC,CAAA;AAEF,qBAAa,oBAAoB;IAO/B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG;IAVrB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;gBAG7B,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,mBAAmB,EAAE,mBAAmB,EACxC,GAAG,GAAE,MAAM,MAAiB;IAK9C,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3D,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;IAelF,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAI9C,WAAW,CAAC,WAAW,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,GAAG,kBAAkB;IAgBnF,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,iBAAiB;CAGzB"}
@@ -1,82 +0,0 @@
1
- import { scrub, scrubValue } from '../redaction/scrub.js';
2
- const TRANSCRIPT_CONTENT_LIMIT = 2_000;
3
- const CATEGORY_BY_REASON = {
4
- 'met-expectation': 'app',
5
- 'failed-expectation': 'app',
6
- 'loop-detected': 'model',
7
- 'turn-cap-exceeded': 'model',
8
- 'step-timeout': 'model',
9
- 'scenario-timeout': 'infra',
10
- 'tool-error': 'infra',
11
- 'provider-error': 'infra',
12
- 'token-budget-exceeded': 'infra',
13
- interrupted: 'infra',
14
- 'internal-error': 'infra',
15
- };
16
- export class InternalStepEvidence {
17
- step;
18
- driverId;
19
- redact;
20
- diagnosticSanitizer;
21
- now;
22
- startedAt;
23
- toolCalls = [];
24
- transcript = [];
25
- diagnostics = [];
26
- constructor(step, driverId, redact, diagnosticSanitizer, now = Date.now) {
27
- this.step = step;
28
- this.driverId = driverId;
29
- this.redact = redact;
30
- this.diagnosticSanitizer = diagnosticSanitizer;
31
- this.now = now;
32
- this.startedAt = now();
33
- }
34
- recordAssistantMessage(turn, content) {
35
- this.transcript.push({ turn, role: 'assistant', content: truncate(this.sanitize(content)) });
36
- }
37
- recordToolCall(turn, toolCall, toolResponse) {
38
- this.toolCalls.push({
39
- turn,
40
- driverId: isHarnessTool(toolCall.name) ? 'harness' : this.driverId,
41
- name: toolCall.name,
42
- arguments: this.sanitizeArguments(toolCall.arguments ?? {}),
43
- status: toolResponse.status === 'error' ? 'error' : 'ok',
44
- });
45
- this.transcript.push({
46
- turn,
47
- role: 'tool',
48
- content: truncate(this.sanitize(`${toolCall.name} -> ${toolResponse.response}`)),
49
- });
50
- }
51
- recordDiagnostic(diagnostic) {
52
- this.diagnostics.push({ ...diagnostic, message: this.diagnosticSanitizer.text(diagnostic.message) });
53
- }
54
- buildReport(termination, usage) {
55
- return {
56
- step: { ...this.step },
57
- outcome: termination.outcome,
58
- category: CATEGORY_BY_REASON[termination.reason],
59
- reason: termination.reason,
60
- ...(termination.actual === undefined ? {} : { actual: this.sanitize(termination.actual) }),
61
- turns: termination.turns,
62
- durationMs: this.now() - this.startedAt,
63
- usage: { ...usage },
64
- toolCalls: this.toolCalls.map((call) => ({ ...call })),
65
- transcript: this.transcript.map((entry) => ({ ...entry })),
66
- diagnostics: this.diagnostics.map((diagnostic) => ({ ...diagnostic })),
67
- };
68
- }
69
- sanitize(value) {
70
- return this.redact ? scrub(value) : value;
71
- }
72
- sanitizeArguments(value) {
73
- return this.redact ? scrubValue(value) : structuredClone(value);
74
- }
75
- }
76
- function isHarnessTool(name) {
77
- return name === 'pass_test_step' || name === 'fail_test_step';
78
- }
79
- function truncate(value) {
80
- return value.length <= TRANSCRIPT_CONTENT_LIMIT ? value : `${value.slice(0, TRANSCRIPT_CONTENT_LIMIT - 3)}...`;
81
- }
82
- //# sourceMappingURL=internal-step-evidence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal-step-evidence.js","sourceRoot":"","sources":["../../src/runtime/internal-step-evidence.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAUzD,MAAM,wBAAwB,GAAG,KAAK,CAAA;AAEtC,MAAM,kBAAkB,GAAoD;IAC3E,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,KAAK;IAC3B,eAAe,EAAE,OAAO;IACxB,mBAAmB,EAAE,OAAO;IAC5B,cAAc,EAAE,OAAO;IACvB,kBAAkB,EAAE,OAAO;IAC3B,YAAY,EAAE,OAAO;IACrB,gBAAgB,EAAE,OAAO;IACzB,uBAAuB,EAAE,OAAO;IAChC,WAAW,EAAE,OAAO;IACpB,gBAAgB,EAAE,OAAO;CACzB,CAAA;AASD,MAAM,OAAO,oBAAoB;IAOd;IACA;IACA;IACA;IACA;IAVD,SAAS,CAAQ;IACjB,SAAS,GAA2B,EAAE,CAAA;IACtC,UAAU,GAAsB,EAAE,CAAA;IAClC,WAAW,GAAiB,EAAE,CAAA;IAE/C,YACkB,IAAgB,EAChB,QAAgB,EAChB,MAAe,EACf,mBAAwC,EACxC,MAAoB,IAAI,CAAC,GAAG;QAJ5B,SAAI,GAAJ,IAAI,CAAY;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAS;QACf,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,QAAG,GAAH,GAAG,CAAyB;QAE7C,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAA;IACvB,CAAC;IAED,sBAAsB,CAAC,IAAY,EAAE,OAAe;QACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAC7F,CAAC;IAED,cAAc,CAAC,IAAY,EAAE,QAAkB,EAAE,YAA0B;QAC1E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YACnB,IAAI;YACJ,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;YAClE,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;YAC3D,MAAM,EAAE,YAAY,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;SACxD,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACpB,IAAI;YACJ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,IAAI,OAAO,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;SAChF,CAAC,CAAA;IACH,CAAC;IAED,gBAAgB,CAAC,UAAsB;QACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACrG,CAAC;IAED,WAAW,CAAC,WAAoC,EAAE,KAAY;QAC7D,OAAO;YACN,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;YACtB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,QAAQ,EAAE,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC;YAChD,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1F,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;YACvC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;YACtD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;YAC1D,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;SACtE,CAAA;IACF,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC1C,CAAC;IAEO,iBAAiB,CAAC,KAAc;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAChE,CAAC;CACD;AAED,SAAS,aAAa,CAAC,IAAY;IAClC,OAAO,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,gBAAgB,CAAA;AAC9D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,MAAM,IAAI,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAA;AAC/G,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { ExecutedStepResult } from '../contracts/types.js';
2
- import type { HarnessEvidenceCandidate } from '../evidence/store.js';
3
- import type { InternalStepReport } from './types.js';
4
- export type AdaptedStepResult = Readonly<{
5
- result: ExecutedStepResult;
6
- evidence: readonly HarnessEvidenceCandidate[];
7
- }>;
8
- export declare function adaptStepResult(report: InternalStepReport): AdaptedStepResult;
9
- //# sourceMappingURL=result-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"result-adapter.d.ts","sourceRoot":"","sources":["../../src/runtime/result-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAyB,MAAM,uBAAuB,CAAA;AAEtF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAA2C,MAAM,YAAY,CAAA;AA8B7F,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACxC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,QAAQ,EAAE,SAAS,wBAAwB,EAAE,CAAA;CAC7C,CAAC,CAAA;AAEF,wBAAgB,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,iBAAiB,CAkC7E"}
@@ -1,77 +0,0 @@
1
- import { serializeJson } from '../contracts/serialize.js';
2
- const PUBLIC_REASON_BY_INTERNAL = {
3
- 'met-expectation': 'met-expectation',
4
- 'failed-expectation': 'failed-expectation',
5
- 'loop-detected': 'loop-detected',
6
- 'turn-cap-exceeded': 'turn-cap-exceeded',
7
- 'step-timeout': 'step-timeout',
8
- 'scenario-timeout': 'scenario-timeout',
9
- 'tool-error': 'tool-error',
10
- 'provider-error': 'provider-error',
11
- 'token-budget-exceeded': 'token-budget-exceeded',
12
- interrupted: 'interrupted',
13
- 'internal-error': 'internal-error',
14
- };
15
- const CATEGORY_BY_INTERNAL = {
16
- 'met-expectation': 'app',
17
- 'failed-expectation': 'app',
18
- 'loop-detected': 'model',
19
- 'turn-cap-exceeded': 'model',
20
- 'step-timeout': 'model',
21
- 'scenario-timeout': 'infra',
22
- 'tool-error': 'infra',
23
- 'provider-error': 'infra',
24
- 'token-budget-exceeded': 'infra',
25
- interrupted: 'infra',
26
- 'internal-error': 'infra',
27
- };
28
- export function adaptStepResult(report) {
29
- const reason = PUBLIC_REASON_BY_INTERNAL[report.reason];
30
- const status = report.reason === 'met-expectation' ? 'passed' : 'failed';
31
- if (report.outcome !== status) {
32
- throw new Error(`Internal step '${report.step.id}' has inconsistent outcome and reason`);
33
- }
34
- const result = {
35
- id: report.step.id,
36
- status,
37
- category: CATEGORY_BY_INTERNAL[report.reason],
38
- reason,
39
- ...(report.actual === undefined ? {} : { actual: report.actual }),
40
- turns: report.turns,
41
- durationMs: report.durationMs,
42
- usage: { ...report.usage },
43
- toolCalls: report.toolCalls.map((call) => ({
44
- turn: call.turn,
45
- driverId: call.driverId,
46
- name: call.name,
47
- arguments: copyJson(call.arguments),
48
- status: call.status,
49
- })),
50
- };
51
- const evidence = [];
52
- if (report.transcript.length > 0) {
53
- evidence.push({
54
- stepId: report.step.id,
55
- kind: 'transcript',
56
- mediaType: 'text/markdown',
57
- content: renderTranscript(report),
58
- });
59
- }
60
- return { result, evidence };
61
- }
62
- function copyJson(value) {
63
- serializeJson(value);
64
- return structuredClone(value);
65
- }
66
- function renderTranscript(report) {
67
- const lines = [
68
- `# ${report.step.action}`,
69
- '',
70
- `**Outcome:** ${report.outcome} - ${CATEGORY_BY_INTERNAL[report.reason]} / ${PUBLIC_REASON_BY_INTERNAL[report.reason]}`,
71
- '',
72
- ];
73
- for (const entry of report.transcript)
74
- lines.push(`### Turn ${entry.turn} - ${entry.role}`, '', entry.content, '');
75
- return lines.join('\n');
76
- }
77
- //# sourceMappingURL=result-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"result-adapter.js","sourceRoot":"","sources":["../../src/runtime/result-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- import type { DriverDescriptorV1, ModelEgressPolicyV1 } from '../contracts/types.js';
2
- import type { DriverSession, StepIntent } from '../driver.js';
3
- import type { StepControl } from './scenario-control.js';
4
- import type { InternalStepReport } from './types.js';
5
- import { AiClient } from '../ai/client.js';
6
- import { ScenarioUsageTracker } from './usage-tracker.js';
7
- import type { LogLevel } from '../logging/level-logger.js';
8
- import { type RuntimeLogger } from '../logging/types.js';
9
- export type DriverCheckmateRunnerOptions = {
10
- driverId: string;
11
- descriptor: DriverDescriptorV1;
12
- session: DriverSession;
13
- allowedTools: '*' | readonly string[];
14
- modelEgress: ModelEgressPolicyV1;
15
- limits: {
16
- turnsPerStep: number;
17
- stepTimeoutMs: number;
18
- requestTimeoutMs: number;
19
- maxRetries: number;
20
- loopMaxRepetitions: number;
21
- budgetTokens?: number;
22
- };
23
- apiKey: string;
24
- exactSecrets?: Iterable<string>;
25
- logger?: RuntimeLogger;
26
- logLevel?: LogLevel;
27
- usageTracker?: ScenarioUsageTracker;
28
- aiClient?: AiClient;
29
- };
30
- export declare class CheckmateRunner {
31
- private readonly options;
32
- private readonly config;
33
- private readonly toolRegistry;
34
- private readonly aiClient;
35
- private readonly usageTracker;
36
- private readonly diagnosticSanitizer;
37
- private readonly runtimeLogger;
38
- constructor(options: DriverCheckmateRunnerOptions);
39
- teardown(): Promise<void>;
40
- run(step: StepIntent, control: StepControl): Promise<InternalStepReport>;
41
- }
42
- export declare function createDriverRunner(options: DriverCheckmateRunnerOptions): CheckmateRunner;
43
- //# sourceMappingURL=runner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/runtime/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAIpD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAGzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGtE,MAAM,MAAM,4BAA4B,GAAG;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,kBAAkB,CAAA;IAC9B,OAAO,EAAE,aAAa,CAAA;IACtB,YAAY,EAAE,GAAG,GAAG,SAAS,MAAM,EAAE,CAAA;IACrC,WAAW,EAAE,mBAAmB,CAAA;IAChC,MAAM,EAAE;QACP,YAAY,EAAE,MAAM,CAAA;QACpB,aAAa,EAAE,MAAM,CAAA;QACrB,gBAAgB,EAAE,MAAM,CAAA;QACxB,UAAU,EAAE,MAAM,CAAA;QAClB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,YAAY,CAAC,EAAE,oBAAoB,CAAA;IACnC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACnB,CAAA;AAED,qBAAa,eAAe;IAQf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;gBAEhB,OAAO,EAAE,4BAA4B;IAmC5D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzB,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAa9E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,4BAA4B,GAAG,eAAe,CAEzF"}