@post-print/agent-test 1.1.8 → 2.0.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 (238) hide show
  1. package/README.md +18 -66
  2. package/dist/cli.d.ts +2 -64
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +26 -691
  5. package/dist/cli.js.map +1 -1
  6. package/dist/compare-scenario.d.ts +1 -1
  7. package/dist/compare-scenario.d.ts.map +1 -1
  8. package/dist/compare-scenario.js +72 -75
  9. package/dist/compare-scenario.js.map +1 -1
  10. package/dist/failures.d.ts +5 -1
  11. package/dist/failures.d.ts.map +1 -1
  12. package/dist/failures.js +1 -1
  13. package/dist/failures.js.map +1 -1
  14. package/dist/host-login.d.ts +1 -26
  15. package/dist/host-login.d.ts.map +1 -1
  16. package/dist/host-login.js +1 -92
  17. package/dist/host-login.js.map +1 -1
  18. package/dist/index.d.ts +6 -28
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +4 -26
  21. package/dist/index.js.map +1 -1
  22. package/dist/scenario-story.d.ts.map +1 -1
  23. package/dist/scenario-story.js +57 -39
  24. package/dist/scenario-story.js.map +1 -1
  25. package/dist/sdk/cli.d.ts +3 -0
  26. package/dist/sdk/cli.d.ts.map +1 -0
  27. package/dist/sdk/cli.js +20 -0
  28. package/dist/sdk/cli.js.map +1 -0
  29. package/dist/sdk/definitions.d.ts +22 -0
  30. package/dist/sdk/definitions.d.ts.map +1 -0
  31. package/dist/sdk/definitions.js +58 -0
  32. package/dist/sdk/definitions.js.map +1 -0
  33. package/dist/sdk/expect.d.ts +31 -0
  34. package/dist/sdk/expect.d.ts.map +1 -0
  35. package/dist/sdk/expect.js +68 -0
  36. package/dist/sdk/expect.js.map +1 -0
  37. package/dist/sdk/judge.d.ts +16 -0
  38. package/dist/sdk/judge.d.ts.map +1 -0
  39. package/dist/sdk/judge.js +82 -0
  40. package/dist/sdk/judge.js.map +1 -0
  41. package/dist/sdk/metrics.d.ts +3 -0
  42. package/dist/sdk/metrics.d.ts.map +1 -0
  43. package/dist/sdk/metrics.js +24 -0
  44. package/dist/sdk/metrics.js.map +1 -0
  45. package/dist/sdk/reporter.d.ts +12 -0
  46. package/dist/sdk/reporter.d.ts.map +1 -0
  47. package/dist/sdk/reporter.js +58 -0
  48. package/dist/sdk/reporter.js.map +1 -0
  49. package/dist/sdk/runtime.d.ts +33 -0
  50. package/dist/sdk/runtime.d.ts.map +1 -0
  51. package/dist/sdk/runtime.js +188 -0
  52. package/dist/sdk/runtime.js.map +1 -0
  53. package/dist/sdk/test.d.ts +27 -0
  54. package/dist/sdk/test.d.ts.map +1 -0
  55. package/dist/sdk/test.js +92 -0
  56. package/dist/sdk/test.js.map +1 -0
  57. package/dist/sdk/types.d.ts +75 -0
  58. package/dist/sdk/types.d.ts.map +1 -0
  59. package/dist/sdk/types.js +2 -0
  60. package/dist/sdk/types.js.map +1 -0
  61. package/dist/sdk/usage.d.ts +10 -0
  62. package/dist/sdk/usage.d.ts.map +1 -0
  63. package/dist/sdk/usage.js +13 -0
  64. package/dist/sdk/usage.js.map +1 -0
  65. package/dist/sdk/viewer-results.d.ts +43 -0
  66. package/dist/sdk/viewer-results.d.ts.map +1 -0
  67. package/dist/sdk/viewer-results.js +126 -0
  68. package/dist/sdk/viewer-results.js.map +1 -0
  69. package/dist/sdk/viewer.d.ts +11 -0
  70. package/dist/sdk/viewer.d.ts.map +1 -0
  71. package/dist/sdk/viewer.js +160 -0
  72. package/dist/sdk/viewer.js.map +1 -0
  73. package/dist/sdk/workspace.d.ts +33 -0
  74. package/dist/sdk/workspace.d.ts.map +1 -0
  75. package/dist/sdk/workspace.js +100 -0
  76. package/dist/sdk/workspace.js.map +1 -0
  77. package/dist/types.d.ts +4 -40
  78. package/dist/types.d.ts.map +1 -1
  79. package/dist/viewer/catalog.d.ts +2 -8
  80. package/dist/viewer/catalog.d.ts.map +1 -1
  81. package/dist/viewer/catalog.js +23 -128
  82. package/dist/viewer/catalog.js.map +1 -1
  83. package/dist/viewer/client.d.ts.map +1 -1
  84. package/dist/viewer/client.js +12 -12
  85. package/dist/viewer/client.js.map +1 -1
  86. package/dist/viewer/run-controller.d.ts +4 -2
  87. package/dist/viewer/run-controller.d.ts.map +1 -1
  88. package/dist/viewer/run-controller.js +297 -248
  89. package/dist/viewer/run-controller.js.map +1 -1
  90. package/dist/viewer/server.d.ts +4 -3
  91. package/dist/viewer/server.d.ts.map +1 -1
  92. package/dist/viewer/server.js +149 -112
  93. package/dist/viewer/server.js.map +1 -1
  94. package/dist/viewer/styles.d.ts +2 -0
  95. package/dist/viewer/styles.d.ts.map +1 -0
  96. package/dist/viewer/styles.js +444 -0
  97. package/dist/viewer/styles.js.map +1 -0
  98. package/dist/worker-pool.d.ts +5 -1
  99. package/dist/worker-pool.d.ts.map +1 -1
  100. package/dist/worker-pool.js +1 -1
  101. package/dist/worker-pool.js.map +1 -1
  102. package/package.json +7 -7
  103. package/dist/check.d.ts +0 -38
  104. package/dist/check.d.ts.map +0 -1
  105. package/dist/check.js +0 -169
  106. package/dist/check.js.map +0 -1
  107. package/dist/command-allowlist.d.ts +0 -9
  108. package/dist/command-allowlist.d.ts.map +0 -1
  109. package/dist/command-allowlist.js +0 -29
  110. package/dist/command-allowlist.js.map +0 -1
  111. package/dist/debug-bundle.d.ts +0 -81
  112. package/dist/debug-bundle.d.ts.map +0 -1
  113. package/dist/debug-bundle.js +0 -392
  114. package/dist/debug-bundle.js.map +0 -1
  115. package/dist/discover-suites.d.ts +0 -2
  116. package/dist/discover-suites.d.ts.map +0 -1
  117. package/dist/discover-suites.js +0 -19
  118. package/dist/discover-suites.js.map +0 -1
  119. package/dist/doctor.d.ts +0 -24
  120. package/dist/doctor.d.ts.map +0 -1
  121. package/dist/doctor.js +0 -272
  122. package/dist/doctor.js.map +0 -1
  123. package/dist/expect.d.ts +0 -59
  124. package/dist/expect.d.ts.map +0 -1
  125. package/dist/expect.js +0 -518
  126. package/dist/expect.js.map +0 -1
  127. package/dist/host-log.d.ts +0 -17
  128. package/dist/host-log.d.ts.map +0 -1
  129. package/dist/host-log.js +0 -154
  130. package/dist/host-log.js.map +0 -1
  131. package/dist/hosts.d.ts +0 -22
  132. package/dist/hosts.d.ts.map +0 -1
  133. package/dist/hosts.js +0 -84
  134. package/dist/hosts.js.map +0 -1
  135. package/dist/html-report.d.ts +0 -18
  136. package/dist/html-report.d.ts.map +0 -1
  137. package/dist/html-report.js +0 -1276
  138. package/dist/html-report.js.map +0 -1
  139. package/dist/live-isolation.d.ts +0 -82
  140. package/dist/live-isolation.d.ts.map +0 -1
  141. package/dist/live-isolation.js +0 -399
  142. package/dist/live-isolation.js.map +0 -1
  143. package/dist/live-timeout.d.ts +0 -11
  144. package/dist/live-timeout.d.ts.map +0 -1
  145. package/dist/live-timeout.js +0 -29
  146. package/dist/live-timeout.js.map +0 -1
  147. package/dist/load-adapters.d.ts +0 -13
  148. package/dist/load-adapters.d.ts.map +0 -1
  149. package/dist/load-adapters.js +0 -76
  150. package/dist/load-adapters.js.map +0 -1
  151. package/dist/load-suite.d.ts +0 -22
  152. package/dist/load-suite.d.ts.map +0 -1
  153. package/dist/load-suite.js +0 -154
  154. package/dist/load-suite.js.map +0 -1
  155. package/dist/mcp-config.d.ts +0 -13
  156. package/dist/mcp-config.d.ts.map +0 -1
  157. package/dist/mcp-config.js +0 -121
  158. package/dist/mcp-config.js.map +0 -1
  159. package/dist/preflight.d.ts +0 -3
  160. package/dist/preflight.d.ts.map +0 -1
  161. package/dist/preflight.js +0 -17
  162. package/dist/preflight.js.map +0 -1
  163. package/dist/progress.d.ts +0 -24
  164. package/dist/progress.d.ts.map +0 -1
  165. package/dist/progress.js +0 -111
  166. package/dist/progress.js.map +0 -1
  167. package/dist/record-trace.d.ts +0 -64
  168. package/dist/record-trace.d.ts.map +0 -1
  169. package/dist/record-trace.js +0 -124
  170. package/dist/record-trace.js.map +0 -1
  171. package/dist/report-preview-server.d.ts +0 -2
  172. package/dist/report-preview-server.d.ts.map +0 -1
  173. package/dist/report-preview-server.js +0 -24
  174. package/dist/report-preview-server.js.map +0 -1
  175. package/dist/report-preview.d.ts +0 -35
  176. package/dist/report-preview.d.ts.map +0 -1
  177. package/dist/report-preview.js +0 -205
  178. package/dist/report-preview.js.map +0 -1
  179. package/dist/run-suite.d.ts +0 -139
  180. package/dist/run-suite.d.ts.map +0 -1
  181. package/dist/run-suite.js +0 -1669
  182. package/dist/run-suite.js.map +0 -1
  183. package/dist/scenario-finalizer.d.ts +0 -27
  184. package/dist/scenario-finalizer.d.ts.map +0 -1
  185. package/dist/scenario-finalizer.js +0 -39
  186. package/dist/scenario-finalizer.js.map +0 -1
  187. package/dist/scenario-retry.d.ts +0 -15
  188. package/dist/scenario-retry.d.ts.map +0 -1
  189. package/dist/scenario-retry.js +0 -52
  190. package/dist/scenario-retry.js.map +0 -1
  191. package/dist/scenario-seed.d.ts +0 -13
  192. package/dist/scenario-seed.d.ts.map +0 -1
  193. package/dist/scenario-seed.js +0 -72
  194. package/dist/scenario-seed.js.map +0 -1
  195. package/dist/suite-summary.d.ts +0 -16
  196. package/dist/suite-summary.d.ts.map +0 -1
  197. package/dist/suite-summary.js +0 -218
  198. package/dist/suite-summary.js.map +0 -1
  199. package/dist/theme.d.ts +0 -96
  200. package/dist/theme.d.ts.map +0 -1
  201. package/dist/theme.js +0 -446
  202. package/dist/theme.js.map +0 -1
  203. package/dist/validate-seeds.d.ts +0 -20
  204. package/dist/validate-seeds.d.ts.map +0 -1
  205. package/dist/validate-seeds.js +0 -72
  206. package/dist/validate-seeds.js.map +0 -1
  207. package/dist/validate-suite.d.ts +0 -24
  208. package/dist/validate-suite.d.ts.map +0 -1
  209. package/dist/validate-suite.js +0 -542
  210. package/dist/validate-suite.js.map +0 -1
  211. package/dist/viewer/cli.d.ts +0 -17
  212. package/dist/viewer/cli.d.ts.map +0 -1
  213. package/dist/viewer/cli.js +0 -38
  214. package/dist/viewer/cli.js.map +0 -1
  215. package/dist/viewer/compare-metrics.d.ts +0 -30
  216. package/dist/viewer/compare-metrics.d.ts.map +0 -1
  217. package/dist/viewer/compare-metrics.js +0 -101
  218. package/dist/viewer/compare-metrics.js.map +0 -1
  219. package/dist/viewer/context-files.d.ts +0 -8
  220. package/dist/viewer/context-files.d.ts.map +0 -1
  221. package/dist/viewer/context-files.js +0 -57
  222. package/dist/viewer/context-files.js.map +0 -1
  223. package/dist/viewer/emit.d.ts +0 -7
  224. package/dist/viewer/emit.d.ts.map +0 -1
  225. package/dist/viewer/emit.js +0 -25
  226. package/dist/viewer/emit.js.map +0 -1
  227. package/dist/viewer/live-runner.d.ts +0 -27
  228. package/dist/viewer/live-runner.d.ts.map +0 -1
  229. package/dist/viewer/live-runner.js +0 -166
  230. package/dist/viewer/live-runner.js.map +0 -1
  231. package/dist/viewer/session-server.d.ts +0 -2
  232. package/dist/viewer/session-server.d.ts.map +0 -1
  233. package/dist/viewer/session-server.js +0 -71
  234. package/dist/viewer/session-server.js.map +0 -1
  235. package/dist/warnings.d.ts +0 -3
  236. package/dist/warnings.d.ts.map +0 -1
  237. package/dist/warnings.js +0 -13
  238. package/dist/warnings.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,27 +1,5 @@
1
- export { registerHostAdapter, resolveAllowUserSkills } from "@post-print/agent-harness";
2
- export { collectSuiteHosts, formatCheckReport, formatCheckSummary, missingHostsAuth, runCheck, } from "./check.js";
3
- export { disallowedShellSegments, shellCommandAllowed, splitShellSegments, } from "./command-allowlist.js";
4
- export { applyCompareArm, applySidecarCompareDurations, assertCompareGates, attachCompareStoryResults, buildCompareResult, compareArmDescription, compareArmLabel, compareArmTokens, compareArmTools, compareArmTurns, compareMetricValue, compareResultArms, compareStoryFields, describeCompareOutcome, evaluateCompareGates, mergeArmRubric, parseCompareArmId, plainDescription, prefixCompareFailures, requireCompareArm, resolveCompareArms, } from "./compare-scenario.js";
5
- export { buildRerunCommand, collectDebugEnvironment, formatDebugSummaryMarkdown, formatDebugWhySection, formatTranscriptMarkdown, getDebugBundleDir, shellQuote, writeDebugBundle, } from "./debug-bundle.js";
6
- export { missingAgentAuth, runDoctor } from "./doctor.js";
7
- export { assertRubric, expectTrace, TraceAssertion } from "./expect.js";
8
- export { assertionFailure } from "./failures.js";
9
- export { parseHostList, resolveSuiteHosts, scenarioRunsOnHost, uniqueHosts, } from "./hosts.js";
10
- export { renderHtmlReport, renderScenarioResult, reportCss, writeHtmlReport, } from "./html-report.js";
11
- export { defineConfig, loadHostAdapters } from "./load-adapters.js";
12
- export { applyExternalRubrics, loadSuiteFile, parseRubricsFile, resolveRubricsPath, suiteNameFromSuitePath, } from "./load-suite.js";
13
- export { assertDirectAgentPreflight } from "./preflight.js";
14
- export { cleanupStagingSession, createLiveStagingSessionId, getLiveStagingRoot, getLiveStagingRootOverride, getLiveStagingSessionRoot, getStagingResultPath, loadStagingResult, recordTrace, resolveRecordingPath, scenarioArtifactSlug, setLiveStagingRootOverride, writeStagingResult, } from "./record-trace.js";
15
- export { collectCompareJudgeCriteria, collectJudgeCriteria, discoverSuites, judgeAuthRequired, runAgentTest, runAllSuites, runSuite, scenarioNeedsJudge, selectedRunNeedsJudge, } from "./run-suite.js";
16
- export { finalizeScenarioResult, } from "./scenario-finalizer.js";
17
- export { ANNOUNCE_STOP_MATCHERS, resolveScenarioRetryMaxAttempts, shouldRetryAnnounceStopFlake, } from "./scenario-retry.js";
18
- export { buildScenarioStory, describeOutcome, describeRubricChecks, describeTraceHappened, } from "./scenario-story.js";
19
- export { buildScenarioResultUsage, judgeUsageFromVerdicts, totalTokensFromScenarioUsage, } from "./scenario-usage.js";
20
- export { formatRunSummary, formatTokenCount, formatUsageStats, percentileNearestRank, shouldFailScenario, summarizeFailures, summarizeReportResults, summarizeReports, summarizeUsage, } from "./suite-summary.js";
21
- export { formatSeedValidationReport, validateSeedPatches, } from "./validate-seeds.js";
22
- export { formatValidationReport, resolveScenarioWorkspaceRel, validateSuiteFile, validateSuitePaths, } from "./validate-suite.js";
23
- export { expandViewerJobs, loadViewerCatalog, } from "./viewer/catalog.js";
24
- export { encodeViewerEvent, parseViewerEvent, } from "./viewer/events.js";
25
- export { listenViewer } from "./viewer/server.js";
26
- export { DEFAULT_CLI_WORKERS, DEFAULT_VIEWER_WORKERS, MAX_WORKERS, parseWorkerCount, runWorkerPool, } from "./worker-pool.js";
1
+ export { z } from "zod/v4";
2
+ export { expect } from "./sdk/expect.js";
3
+ export { statistics } from "./sdk/metrics.js";
4
+ export { defineConfig, describe } from "./sdk/test.js";
27
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAwB,YAAY,EAAE,QAAQ,EAAkB,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-story.d.ts","sourceRoot":"","sources":["../src/scenario-story.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAGN,KAAK,kBAAkB,EAGvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACX,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,aAAa,EAGb,MAAM,YAAY,CAAC;AAWpB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASjD;AAED,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAepD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAW1F;AAMD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AA6SF,4CAA4C;AAC5C,wBAAgB,oBAAoB,CACnC,MAAM,CAAC,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,iBAAiB,GACzB,MAAM,EAAE,CA+BV;AAED,mDAAmD;AACnD,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,CAyBlE;AAyBD,sCAAsC;AACtC,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACrC,GAAG,MAAM,EAAE,CAiBX;AA8CD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC3C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC5B,GAAG,aAAa,CAuChB"}
1
+ {"version":3,"file":"scenario-story.d.ts","sourceRoot":"","sources":["../src/scenario-story.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAGN,KAAK,kBAAkB,EAGvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACX,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,aAAa,EAGb,MAAM,YAAY,CAAC;AAgBpB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASjD;AAED,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAepD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAW1F;AAMD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AA2UF,4CAA4C;AAC5C,wBAAgB,oBAAoB,CACnC,MAAM,CAAC,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,iBAAiB,GACzB,MAAM,EAAE,CAcV;AAwBD,mDAAmD;AACnD,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,CAyBlE;AAyBD,sCAAsC;AACtC,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACrC,GAAG,MAAM,EAAE,CAiBX;AA2CD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC3C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC5B,GAAG,aAAa,CAuChB"}
@@ -1,4 +1,8 @@
1
1
  import { buildCompareResult, describeCompareGate, describeCompareOutcome, } from "./compare-scenario.js";
2
+ const FILE_PROTOCOL = /^file:\/\//;
3
+ const TRAILING_SLASH = /\/+$/;
4
+ const SEALED_WORKSPACE = /\/agent-harness-seal-[^/]+(?:\/(.*))?$/;
5
+ const AGENT_CONTEXT_PATH = /\/(?:\.agents|\.claude|\.codex|AGENTS\.md|CLAUDE\.md)(?:\/|$)/;
2
6
  const PATH_ARG_KEYS = ["path", "file_path", "filePath", "target_file", "uri", "cwd"];
3
7
  const EXCERPT_CHARS = 80;
4
8
  export function quoteExcerpt(text) {
@@ -13,12 +17,12 @@ export function quoteExcerpt(text) {
13
17
  }
14
18
  /** Short workspace path for chat cards and story lines. */
15
19
  export function displayToolPath(path) {
16
- const stripped = path.replace(/^file:\/\//, "").replace(/\/+$/, "");
17
- const workspace = stripped.match(/\/agent-harness-seal-[^/]+(?:\/(.*))?$/);
20
+ const stripped = path.replace(FILE_PROTOCOL, "").replace(TRAILING_SLASH, "");
21
+ const workspace = stripped.match(SEALED_WORKSPACE);
18
22
  if (workspace) {
19
23
  return workspace[1] ? workspace[1] : ".";
20
24
  }
21
- const sealed = stripped.match(/\/(?:\.agents|\.claude|\.codex|AGENTS\.md|CLAUDE\.md)(?:\/|$)/);
25
+ const sealed = stripped.match(AGENT_CONTEXT_PATH);
22
26
  if (sealed?.index !== undefined) {
23
27
  return stripped.slice(sealed.index + 1);
24
28
  }
@@ -101,6 +105,13 @@ function rubricCheckSpecs(rubric) {
101
105
  if (!rubric) {
102
106
  return [];
103
107
  }
108
+ return [
109
+ ...replyAndCommandSpecs(rubric),
110
+ ...toolAndFileSpecs(rubric),
111
+ ...skillAndRoutingSpecs(rubric),
112
+ ];
113
+ }
114
+ function replyAndCommandSpecs(rubric) {
104
115
  const specs = [];
105
116
  for (const text of rubric.must ?? []) {
106
117
  specs.push({
@@ -137,6 +148,10 @@ function rubricCheckSpecs(rubric) {
137
148
  needle: "allowlist",
138
149
  });
139
150
  }
151
+ return specs;
152
+ }
153
+ function toolAndFileSpecs(rubric) {
154
+ const specs = [];
140
155
  for (const tool of rubric.mustCallTool ?? []) {
141
156
  specs.push({ text: `call ${tool}`, matcher: "toHaveCalledTool", needle: tool });
142
157
  }
@@ -156,6 +171,10 @@ function rubricCheckSpecs(rubric) {
156
171
  for (const path of rubric.mustNotReadPath ?? []) {
157
172
  specs.push({ text: `no read of ${path}`, matcher: "toHaveNotReadPath", needle: path });
158
173
  }
174
+ return specs;
175
+ }
176
+ function skillAndRoutingSpecs(rubric) {
177
+ const specs = [];
159
178
  for (const skill of rubric.mustInvokeSkill ?? []) {
160
179
  specs.push({
161
180
  text: `invoke skill ${skill}`,
@@ -223,7 +242,7 @@ function scoreSpecs(specs, failures, armLabel) {
223
242
  status: specFailed(failures, spec, armLabel) ? "fail" : "pass",
224
243
  }));
225
244
  }
226
- function judgeChecks(rubric, failures, judgeVerdicts, armCount) {
245
+ function judgeChecks(rubric, { failures, judgeVerdicts, armCount, }) {
227
246
  if (!rubric?.judge || rubric.judge.length === 0) {
228
247
  return [];
229
248
  }
@@ -272,7 +291,10 @@ function buildStorySections(options) {
272
291
  if (!compare) {
273
292
  const checks = [
274
293
  ...scoreSpecs(rubricCheckSpecs(options.rubric), options.failures),
275
- ...judgeChecks(options.rubric, options.failures, options.judgeVerdicts),
294
+ ...judgeChecks(options.rubric, {
295
+ failures: options.failures,
296
+ judgeVerdicts: options.judgeVerdicts,
297
+ }),
276
298
  ];
277
299
  return [
278
300
  {
@@ -291,7 +313,11 @@ function buildStorySections(options) {
291
313
  notes: describeTraceHappened(arm.trace),
292
314
  };
293
315
  });
294
- const compareSection = buildCompareMetricSection(compare, options.failures, judgeChecks(options.rubric, options.failures, options.judgeVerdicts, compare.arms.length));
316
+ const compareSection = buildCompareMetricSection(compare, options.failures, judgeChecks(options.rubric, {
317
+ failures: options.failures,
318
+ judgeVerdicts: options.judgeVerdicts,
319
+ armCount: compare.arms.length,
320
+ }));
295
321
  if (compareSection) {
296
322
  sections.push(compareSection);
297
323
  }
@@ -303,24 +329,8 @@ export function describeRubricChecks(rubric, compare) {
303
329
  return ["no rubric recorded"];
304
330
  }
305
331
  const lines = rubricCheckSpecs(rubric).map((spec) => spec.text);
306
- if (compare) {
307
- const normalized = normalizeStoryCompare(compare);
308
- lines.push(compareHeading(normalized.arms.map((arm) => arm.label)));
309
- for (const arm of normalized.arms) {
310
- if (arm.description) {
311
- lines.push(`${arm.label}: ${arm.description}`);
312
- }
313
- }
314
- const labels = new Map(normalized.arms.map((arm) => [arm.id, arm.label]));
315
- for (const gate of normalized.gates ?? []) {
316
- lines.push(describeCompareGate(gate, (id) => labels.get(id) ?? id));
317
- }
318
- for (const arm of normalized.arms) {
319
- for (const spec of rubricCheckSpecs(arm.rubric)) {
320
- lines.push(`${arm.label}: ${spec.text}`);
321
- }
322
- }
323
- }
332
+ if (compare)
333
+ lines.push(...describeComparisonChecks(compare));
324
334
  if (rubric.judge && rubric.judge.length > 0) {
325
335
  lines.push(compare
326
336
  ? `judge answers ${countLabel(rubric.judge.length, "question", "questions")} on ${normalizeStoryCompare(compare).arms.length === 2 ? "both arms" : "every arm"}`
@@ -328,6 +338,26 @@ export function describeRubricChecks(rubric, compare) {
328
338
  }
329
339
  return lines.length > 0 ? lines : ["no rubric checks"];
330
340
  }
341
+ function describeComparisonChecks(compare) {
342
+ const lines = [];
343
+ const normalized = normalizeStoryCompare(compare);
344
+ lines.push(compareHeading(normalized.arms.map((arm) => arm.label)));
345
+ for (const arm of normalized.arms) {
346
+ if (arm.description) {
347
+ lines.push(`${arm.label}: ${arm.description}`);
348
+ }
349
+ }
350
+ const labels = new Map(normalized.arms.map((arm) => [arm.id, arm.label]));
351
+ for (const gate of normalized.gates ?? []) {
352
+ lines.push(describeCompareGate(gate, (id) => labels.get(id) ?? id));
353
+ }
354
+ for (const arm of normalized.arms) {
355
+ for (const spec of rubricCheckSpecs(arm.rubric)) {
356
+ lines.push(`${arm.label}: ${spec.text}`);
357
+ }
358
+ }
359
+ return lines;
360
+ }
331
361
  /** What the agent said and which tools it used. */
332
362
  export function describeTraceHappened(trace) {
333
363
  if (!trace) {
@@ -394,26 +424,14 @@ export function describeOutcome(options) {
394
424
  return options.failures.map(describeFailure);
395
425
  }
396
426
  function failureIsScored(failure, rubric, compare) {
397
- if (failure.category === "worktree_leak" ||
398
- failure.category === "agent_runtime" ||
399
- failure.category === "judge_infra" ||
400
- failure.category === "judge_parse" ||
401
- failure.category === "recording_error") {
427
+ if (["worktree_leak", "agent_runtime", "judge_infra", "judge_parse", "recording_error"].includes(failure.category))
402
428
  return false;
403
- }
404
429
  if (failure.matcher === "judge" || failure.matcher.startsWith("judge:")) {
405
430
  return true;
406
431
  }
407
432
  if (compare) {
408
- for (const arm of compare.arms) {
409
- const specs = [...rubricCheckSpecs(rubric), ...rubricCheckSpecs(arm.rubric)];
410
- if (specs.some((spec) => specFailed([failure], spec, arm.label))) {
411
- return true;
412
- }
413
- }
414
- if (failure.matcher.startsWith("compareGate:"))
415
- return true;
416
- return false;
433
+ return (failure.matcher.startsWith("compareGate:") ||
434
+ compare.arms.some((arm) => [...rubricCheckSpecs(rubric), ...rubricCheckSpecs(arm.rubric)].some((spec) => specFailed([failure], spec, arm.label))));
417
435
  }
418
436
  return rubricCheckSpecs(rubric).some((spec) => specFailed([failure], spec));
419
437
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-story.js","sourceRoot":"","sources":["../src/scenario-story.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenario-story.js","sourceRoot":"","sources":["../src/scenario-story.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function playwrightCli(): string;
2
+ export declare function runSdkCli(args: string[]): Promise<number>;
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/sdk/cli.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AACD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAe/D"}
@@ -0,0 +1,20 @@
1
+ import { spawn } from "node:child_process";
2
+ import { createRequire } from "node:module";
3
+ import { resolve } from "node:path";
4
+ const require = createRequire(import.meta.url);
5
+ export function playwrightCli() {
6
+ return require.resolve("@playwright/test/cli");
7
+ }
8
+ export async function runSdkCli(args) {
9
+ return new Promise((resolveCode, reject) => {
10
+ const child = spawn(process.execPath, [playwrightCli(), "test", "--config", resolve("agent-test.config.ts"), ...args], { stdio: "inherit" });
11
+ const cancel = () => child.kill("SIGTERM");
12
+ process.once("SIGINT", cancel);
13
+ child.once("error", reject);
14
+ child.once("close", (code) => {
15
+ process.removeListener("SIGINT", cancel);
16
+ resolveCode(code ?? 1);
17
+ });
18
+ });
19
+ }
20
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/sdk/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,UAAU,aAAa;IAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAChD,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAc;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,KAAK,CAClB,OAAO,CAAC,QAAQ,EAChB,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,GAAG,IAAI,CAAC,EAC/E,EAAE,KAAK,EAAE,SAAS,EAAE,CACpB,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5B,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACzC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { AgentDefinition } from "@post-print/agent-harness";
2
+ import type { z } from "zod/v4";
3
+ import type { AgentSettings, JudgeSettings, WorkspaceSetup } from "./types.js";
4
+ export interface AgentResource {
5
+ readonly kind: "agent";
6
+ readonly settings: AgentSettings;
7
+ readonly preparation: readonly WorkspaceSetup[];
8
+ setup(prepare: WorkspaceSetup): AgentResource;
9
+ }
10
+ export interface JudgeResource<S extends z.ZodType = z.ZodType> {
11
+ readonly kind: "judge";
12
+ readonly settings: JudgeSettings<S>;
13
+ }
14
+ export type Resource = AgentResource | JudgeResource;
15
+ export declare const factories: {
16
+ agent: (settings?: AgentSettings) => AgentResource;
17
+ judge: <S extends z.ZodType>(settings: JudgeSettings<S>) => JudgeResource<S>;
18
+ };
19
+ export declare function mergeSettings(base: AgentSettings, extra: AgentSettings): AgentSettings;
20
+ export declare function configuredAgent(defaultAgent: AgentDefinition | undefined, settings: AgentSettings): AgentDefinition;
21
+ export declare function validateSkills(skills: readonly string[], baseDir: string): void;
22
+ //# sourceMappingURL=definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/sdk/definitions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/E,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAAC;CAC9C;AACD,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;IAC7D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CACpC;AACD,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,aAAa,CAAC;AACrD,eAAO,MAAM,SAAS;IACrB,KAAK,cAAa,aAAa,KAAQ,aAAa;IACpD,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,YAAY,aAAa,CAAC,CAAC,CAAC,KAAG,aAAa,CAAC,CAAC,CAAC;CAO1E,CAAC;AAkBF,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,aAAa,CAWtF;AACD,wBAAgB,eAAe,CAC9B,YAAY,EAAE,eAAe,GAAG,SAAS,EACzC,QAAQ,EAAE,aAAa,GACrB,eAAe,CAQjB;AACD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,QASxE"}
@@ -0,0 +1,58 @@
1
+ import { basename, resolve } from "node:path";
2
+ export const factories = {
3
+ agent: (settings = {}) => agentResource(cloneSettings(settings)),
4
+ judge: (settings) => {
5
+ if (!settings.prompt.trim())
6
+ throw new Error("Judge prompt is required");
7
+ return {
8
+ kind: "judge",
9
+ settings: { ...cloneSettings(settings), prompt: settings.prompt, schema: settings.schema },
10
+ };
11
+ },
12
+ };
13
+ function agentResource(settings, preparation = []) {
14
+ return {
15
+ kind: "agent",
16
+ settings,
17
+ preparation,
18
+ setup: (prepare) => agentResource(settings, [...preparation, prepare]),
19
+ };
20
+ }
21
+ function cloneSettings(settings) {
22
+ const { agent, ...options } = settings;
23
+ // Schemas and setup functions stay in the test process; host options are copied separately.
24
+ const { schema: _schema, ...plain } = options;
25
+ return { ...structuredClone(plain), agent };
26
+ }
27
+ export function mergeSettings(base, extra) {
28
+ return {
29
+ ...base,
30
+ ...extra,
31
+ skills: [...new Set([...(base.skills ?? []), ...(extra.skills ?? [])])],
32
+ context: {
33
+ instructions: [...(base.context?.instructions ?? []), ...(extra.context?.instructions ?? [])],
34
+ files: [...new Set([...(base.context?.files ?? []), ...(extra.context?.files ?? [])])],
35
+ },
36
+ mcpServers: { ...base.mcpServers, ...extra.mcpServers },
37
+ };
38
+ }
39
+ export function configuredAgent(defaultAgent, settings) {
40
+ const selected = settings.agent ?? defaultAgent;
41
+ if (!selected)
42
+ throw new Error("Configure an agent definition for this resource");
43
+ const { agent: _agent, workspace: _workspace, ...options } = settings;
44
+ return {
45
+ ...selected,
46
+ options: mergeSettings(selected.options, options),
47
+ };
48
+ }
49
+ export function validateSkills(skills, baseDir) {
50
+ const names = new Map();
51
+ for (const skill of skills) {
52
+ const source = resolve(baseDir, skill), name = basename(source);
53
+ if (names.has(name) && names.get(name) !== source)
54
+ throw new Error(`Conflicting skill destination: ${name}`);
55
+ names.set(name, source);
56
+ }
57
+ }
58
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/sdk/definitions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { Run } from "./types.js";
2
+ export declare const expect: import("@playwright/test").Expect<{
3
+ toHaveExecutedCommand(run: Run, expected: {
4
+ command: string | RegExp;
5
+ exitCode?: number;
6
+ }): {
7
+ pass: boolean;
8
+ message: () => string;
9
+ };
10
+ toHaveCalledTool(run: Run, expected: string | RegExp): {
11
+ pass: boolean;
12
+ message: () => string;
13
+ };
14
+ toHaveCalledToolsInOrder(run: Run, expected: (string | RegExp)[]): {
15
+ pass: boolean;
16
+ message: () => string;
17
+ };
18
+ toHaveReadPath(run: Run, path: string): {
19
+ pass: boolean;
20
+ message: () => string;
21
+ };
22
+ toHaveAccessedPath(run: Run, path: string): {
23
+ pass: boolean;
24
+ message: () => string;
25
+ };
26
+ toHaveModifiedPath(run: Run, path: string): {
27
+ pass: boolean;
28
+ message: () => string;
29
+ };
30
+ }>;
31
+ //# sourceMappingURL=expect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../../src/sdk/expect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAsBtC,eAAO,MAAM,MAAM;+BACS,GAAG,YAAY;QAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;;;;0BAsBnE,GAAG,YAAY,MAAM,GAAG,MAAM;;;;kCAOtB,GAAG,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;;;;wBAU5C,GAAG,QAAQ,MAAM;;;;4BAmBb,GAAG,QAAQ,MAAM;;;;4BAejB,GAAG,QAAQ,MAAM;;;;EAMxC,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { resolve } from "node:path";
2
+ import { expect as base } from "@playwright/test";
3
+ const FILE_PROTOCOL = /^file:\/\//;
4
+ const COMMAND_TOOL = /shell|bash|terminal|exec|command/i;
5
+ const READ_TOOL = /read/i;
6
+ const SHELL_SEPARATORS = /[\s;|&"']+/;
7
+ const matches = (actual, expected) => typeof expected === "string"
8
+ ? actual === expected
9
+ : new RegExp(expected.source, expected.flags.replace("g", "").replace("y", "")).test(actual);
10
+ function samePath(run, actual, expected) {
11
+ return (resolve(run.workspace.root, actual.replace(FILE_PROTOCOL, "")) ===
12
+ resolve(run.workspace.root, expected));
13
+ }
14
+ function requireTools(run) {
15
+ if (!run.capabilities.toolCalls)
16
+ throw new Error("Tool-call observation unavailable for this adapter");
17
+ }
18
+ const outcome = (pass, description) => ({ pass, message: () => description });
19
+ export const expect = base.extend({
20
+ toHaveExecutedCommand(run, expected) {
21
+ requireTools(run);
22
+ if (expected.exitCode !== undefined && !run.capabilities.commandExitCodes)
23
+ throw new Error("Command exit-code evidence unavailable for this adapter");
24
+ const calls = run.toolCalls.filter((call) => COMMAND_TOOL.test(call.name));
25
+ const matching = calls.filter((call) => matches(String(call.args?.command ?? call.args?.cmd ?? ""), expected.command));
26
+ const found = matching.some((call) => expected.exitCode === undefined || call.exitCode === expected.exitCode);
27
+ if (!found &&
28
+ expected.exitCode !== undefined &&
29
+ matching.some((call) => call.exitCode === undefined))
30
+ throw new Error("Command exit-code evidence unavailable");
31
+ return outcome(found, `Expected command ${String(expected.command)}${expected.exitCode === undefined ? "" : ` with exit code ${expected.exitCode}`}\nObserved: ${JSON.stringify(calls)}`);
32
+ },
33
+ toHaveCalledTool(run, expected) {
34
+ requireTools(run);
35
+ return outcome(run.toolCalls.some((call) => matches(call.name, expected)), `Expected tool ${String(expected)}; observed ${run.toolCalls.map((call) => call.name).join(", ")}`);
36
+ },
37
+ toHaveCalledToolsInOrder(run, expected) {
38
+ requireTools(run);
39
+ let index = 0;
40
+ for (const call of run.toolCalls)
41
+ if (index < expected.length && matches(call.name, expected[index]))
42
+ index++;
43
+ return outcome(index === expected.length, `Expected tool sequence ${expected.map(String).join(" → ")}`);
44
+ },
45
+ toHaveReadPath(run, path) {
46
+ if (!run.capabilities.fileReads)
47
+ throw new Error("Successful file-read evidence unavailable for this adapter");
48
+ const calls = run.toolCalls.filter((call) => READ_TOOL.test(call.name) &&
49
+ Object.values(call.args ?? {}).some((value) => typeof value === "string" && samePath(run, value, path)));
50
+ const found = calls.some((call) => call.succeeded === true && call.result !== undefined);
51
+ if (!found &&
52
+ (calls.some((call) => call.result === undefined || call.succeeded === undefined) ||
53
+ run.toolCalls.some((call) => COMMAND_TOOL.test(call.name))))
54
+ throw new Error(`Successful file-read evidence unavailable: ${path}`);
55
+ return outcome(found, `Expected successful read of ${path}`);
56
+ },
57
+ toHaveAccessedPath(run, path) {
58
+ requireTools(run);
59
+ return outcome(run.toolCalls.some((call) => Object.values(call.args ?? {}).some((value) => typeof value === "string" &&
60
+ (samePath(run, value, path) ||
61
+ (COMMAND_TOOL.test(call.name) &&
62
+ value.split(SHELL_SEPARATORS).some((token) => samePath(run, token, path)))))), `Expected attempted access to ${path}`);
63
+ },
64
+ toHaveModifiedPath(run, path) {
65
+ return outcome(run.workspace.changedPaths.includes(path), `Expected resulting modification to ${path}; changed: ${run.workspace.changedPaths.join(", ")}`);
66
+ },
67
+ });
68
+ //# sourceMappingURL=expect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expect.js","sourceRoot":"","sources":["../../src/sdk/expect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type AgentDefinition } from "@post-print/agent-harness";
2
+ import { z } from "zod/v4";
3
+ import type { Evaluation, JsonValue, JudgeSettings } from "./types.js";
4
+ export declare function parseEvaluation<S extends z.ZodType>(text: string, schema: S): z.output<S>;
5
+ export declare function serializeInput(input: JsonValue): string;
6
+ export interface EvaluationRequest<S extends z.ZodType> {
7
+ name: string;
8
+ definition: AgentDefinition;
9
+ settings: JudgeSettings<S>;
10
+ input: JsonValue;
11
+ baseDir: string;
12
+ outputDir: string;
13
+ signal: AbortSignal;
14
+ }
15
+ export declare function evaluate<S extends z.ZodType>(request: EvaluationRequest<S>): Promise<Evaluation<z.output<S>>>;
16
+ //# sourceMappingURL=judge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"judge.d.ts","sourceRoot":"","sources":["../../src/sdk/judge.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,eAAe,EAGpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMvE,wBAAgB,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAEzF;AACD,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAevD;AACD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;CACpB;AAiBD,wBAAsB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EACjD,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAyClC"}