@post-print/agent-test 2.0.2 → 2.0.4

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.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @post-print/agent-test
2
2
 
3
3
  <!-- source-of-truth: named agent and judge factories for TypeScript tests -->
4
- <!-- doc-meta: owner=eng | last-reviewed=2026-09-16 -->
4
+ <!-- doc-meta: owner=eng | last-reviewed=2026-09-17 -->
5
5
  <!-- review-deps: paths=packages/test/src/*.ts,packages/test/src/**/*.ts,packages/test/package.json -->
6
6
 
7
7
  ```ts
@@ -22,7 +22,7 @@ test("answers correctly", async ({ coder, accuracy }) => {
22
22
  });
23
23
  ```
24
24
 
25
- Set default `agent`, `judge`, and `workspace` directly in `defineConfig`. Harness definitions select providers, models, and auth. Factories only declare resources; each test receives its own executable handles. Every run starts fresh; use `run.continue` for the same task. Compare with ordinary JavaScript and `expect`.
25
+ Set default `agent`, `judge`, and `workspace` directly in `defineConfig`. Harness definitions select providers, models, and auth. Factories only declare resources; each test receives its own executable handles. Every run starts fresh; use `run.continue` for the same task. Compare with ordinary JavaScript and `expect`. Use `expect(actual, "Readable criterion")` to give a derived viewer criterion a concise label, or declare explicit test criteria when they should override derived assertions.
26
26
 
27
27
  Judge input is explicitly selected JSON data. Output is schema-validated and typed. The runner records artifacts and usage, handles cancellation, and owns cleanup. Global skills default to false. No browser is required for CLI execution.
28
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../src/sdk/criteria.ts"],"names":[],"mappings":"AAIA,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAc9D"}
1
+ {"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../src/sdk/criteria.ts"],"names":[],"mappings":"AAIA,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAe9D"}
@@ -13,11 +13,80 @@ export function derivedExpectCriteria(source) {
13
13
  if (!isExpectCall(source, index))
14
14
  continue;
15
15
  const end = assertionEnd(source, index);
16
- criteria.push(normalizeAssertion(source.slice(index, end)));
16
+ const assertion = source.slice(index, end);
17
+ criteria.push(expectDescription(assertion) ?? normalizeAssertion(assertion));
17
18
  index = end - 1;
18
19
  }
19
20
  return criteria;
20
21
  }
22
+ function expectDescription(assertion) {
23
+ const open = assertion.indexOf("(", "expect".length);
24
+ if (open < 0)
25
+ return undefined;
26
+ const description = secondExpectArgument(assertion, open + 1);
27
+ return description === undefined ? undefined : staticString(description);
28
+ }
29
+ function secondExpectArgument(source, start) {
30
+ const depths = { parentheses: 0, brackets: 0, braces: 0 };
31
+ let descriptionStart;
32
+ for (let index = start; index < source.length; index++) {
33
+ const ignoredEnd = ignoredTokenEnd(source, index);
34
+ if (ignoredEnd > index) {
35
+ index = ignoredEnd - 1;
36
+ continue;
37
+ }
38
+ const character = source[index];
39
+ if (isTopLevelCharacter(character, ",", depths))
40
+ descriptionStart = index + 1;
41
+ if (isTopLevelCharacter(character, ")", depths))
42
+ return descriptionAtCallEnd(source, descriptionStart, index);
43
+ updateDepths(depths, character);
44
+ }
45
+ return undefined;
46
+ }
47
+ function isTopLevelCharacter(character, expected, depths) {
48
+ return character === expected && isTopLevel(depths);
49
+ }
50
+ function descriptionAtCallEnd(source, start, end) {
51
+ return start === undefined ? undefined : source.slice(start, end).trim();
52
+ }
53
+ function staticString(source) {
54
+ const quote = source[0];
55
+ if (!(quote === '"' || quote === "'" || quote === "`"))
56
+ return undefined;
57
+ if (source.at(-1) !== quote || (quote === "`" && source.includes("${")))
58
+ return undefined;
59
+ return decodeStringBody(source.slice(1, -1), quote);
60
+ }
61
+ function decodeStringBody(body, quote) {
62
+ let decoded = "";
63
+ for (let index = 0; index < body.length; index++) {
64
+ const character = body[index];
65
+ if (character !== "\\") {
66
+ decoded += character;
67
+ continue;
68
+ }
69
+ const escapedCharacter = body[++index];
70
+ if (escapedCharacter === undefined)
71
+ return undefined;
72
+ decoded += decodedEscape(escapedCharacter, quote);
73
+ }
74
+ return decoded;
75
+ }
76
+ function decodedEscape(escapedCharacter, quote) {
77
+ const escapes = {
78
+ b: "\b",
79
+ f: "\f",
80
+ n: "\n",
81
+ r: "\r",
82
+ t: "\t",
83
+ v: "\v",
84
+ "\\": "\\",
85
+ };
86
+ if (escapedCharacter === quote)
87
+ return quote;
88
+ return escapes[escapedCharacter] ?? escapedCharacter;
89
+ }
21
90
  function isExpectCall(source, index) {
22
91
  if (!source.startsWith("expect", index))
23
92
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../src/sdk/criteria.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../src/sdk/criteria.ts"],"names":[],"mappings":"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"}