@post-print/agent-test 0.3.4 → 0.3.6

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 (102) hide show
  1. package/README.md +17 -61
  2. package/dist/check.d.ts +38 -0
  3. package/dist/check.d.ts.map +1 -0
  4. package/dist/check.js +169 -0
  5. package/dist/check.js.map +1 -0
  6. package/dist/cli.d.ts +11 -7
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +327 -318
  9. package/dist/cli.js.map +1 -1
  10. package/dist/compare-scenario.d.ts +41 -0
  11. package/dist/compare-scenario.d.ts.map +1 -0
  12. package/dist/compare-scenario.js +194 -0
  13. package/dist/compare-scenario.js.map +1 -0
  14. package/dist/debug-bundle.d.ts +2 -1
  15. package/dist/debug-bundle.d.ts.map +1 -1
  16. package/dist/debug-bundle.js +12 -5
  17. package/dist/debug-bundle.js.map +1 -1
  18. package/dist/doctor.d.ts +6 -1
  19. package/dist/doctor.d.ts.map +1 -1
  20. package/dist/doctor.js +133 -11
  21. package/dist/doctor.js.map +1 -1
  22. package/dist/expect.d.ts +6 -5
  23. package/dist/expect.d.ts.map +1 -1
  24. package/dist/expect.js +67 -57
  25. package/dist/expect.js.map +1 -1
  26. package/dist/host-log.d.ts +17 -0
  27. package/dist/host-log.d.ts.map +1 -0
  28. package/dist/host-log.js +154 -0
  29. package/dist/host-log.js.map +1 -0
  30. package/dist/hosts.d.ts +22 -0
  31. package/dist/hosts.d.ts.map +1 -0
  32. package/dist/hosts.js +84 -0
  33. package/dist/hosts.js.map +1 -0
  34. package/dist/html-report.d.ts +0 -13
  35. package/dist/html-report.d.ts.map +1 -1
  36. package/dist/html-report.js +504 -323
  37. package/dist/html-report.js.map +1 -1
  38. package/dist/index.d.ts +14 -7
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +12 -6
  41. package/dist/index.js.map +1 -1
  42. package/dist/live-isolation.d.ts +11 -4
  43. package/dist/live-isolation.d.ts.map +1 -1
  44. package/dist/live-isolation.js +31 -10
  45. package/dist/live-isolation.js.map +1 -1
  46. package/dist/load-adapters.d.ts +13 -0
  47. package/dist/load-adapters.d.ts.map +1 -0
  48. package/dist/load-adapters.js +76 -0
  49. package/dist/load-adapters.js.map +1 -0
  50. package/dist/load-suite.d.ts.map +1 -1
  51. package/dist/load-suite.js +6 -2
  52. package/dist/load-suite.js.map +1 -1
  53. package/dist/mcp-config.d.ts +8 -0
  54. package/dist/mcp-config.d.ts.map +1 -1
  55. package/dist/mcp-config.js +46 -0
  56. package/dist/mcp-config.js.map +1 -1
  57. package/dist/progress.d.ts +7 -0
  58. package/dist/progress.d.ts.map +1 -1
  59. package/dist/progress.js +39 -9
  60. package/dist/progress.js.map +1 -1
  61. package/dist/record-trace.d.ts +9 -7
  62. package/dist/record-trace.d.ts.map +1 -1
  63. package/dist/record-trace.js +5 -16
  64. package/dist/record-trace.js.map +1 -1
  65. package/dist/report-preview-server.d.ts +2 -0
  66. package/dist/report-preview-server.d.ts.map +1 -0
  67. package/dist/report-preview-server.js +24 -0
  68. package/dist/report-preview-server.js.map +1 -0
  69. package/dist/report-preview.d.ts +11 -0
  70. package/dist/report-preview.d.ts.map +1 -0
  71. package/dist/report-preview.js +161 -0
  72. package/dist/report-preview.js.map +1 -0
  73. package/dist/run-suite.d.ts +34 -1
  74. package/dist/run-suite.d.ts.map +1 -1
  75. package/dist/run-suite.js +588 -82
  76. package/dist/run-suite.js.map +1 -1
  77. package/dist/scenario-story.d.ts +43 -0
  78. package/dist/scenario-story.d.ts.map +1 -0
  79. package/dist/scenario-story.js +215 -0
  80. package/dist/scenario-story.js.map +1 -0
  81. package/dist/suite-summary.d.ts +2 -0
  82. package/dist/suite-summary.d.ts.map +1 -1
  83. package/dist/suite-summary.js +70 -22
  84. package/dist/suite-summary.js.map +1 -1
  85. package/dist/theme.d.ts +30 -5
  86. package/dist/theme.d.ts.map +1 -1
  87. package/dist/theme.js +207 -45
  88. package/dist/theme.js.map +1 -1
  89. package/dist/types.d.ts +105 -11
  90. package/dist/types.d.ts.map +1 -1
  91. package/dist/validate-seeds.d.ts.map +1 -1
  92. package/dist/validate-seeds.js +21 -6
  93. package/dist/validate-seeds.js.map +1 -1
  94. package/dist/validate-suite.d.ts +3 -1
  95. package/dist/validate-suite.d.ts.map +1 -1
  96. package/dist/validate-suite.js +268 -23
  97. package/dist/validate-suite.js.map +1 -1
  98. package/package.json +4 -4
  99. package/dist/compare.d.ts +0 -79
  100. package/dist/compare.d.ts.map +0 -1
  101. package/dist/compare.js +0 -232
  102. package/dist/compare.js.map +0 -1
package/dist/doctor.js CHANGED
@@ -2,9 +2,8 @@ import { accessSync, constants } from "node:fs";
2
2
  import { createRequire } from "node:module";
3
3
  import { dirname, join } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
- import { CLAUDE_AUTH_MODE_ENV, getHealthStatus, HEALTH_CHECK_PATH, } from "@post-print/agent-harness";
6
- function claudeBinOnPath() {
7
- const override = process.env.CLAUDE_CODE_BIN?.trim();
5
+ import { CLAUDE_AUTH_MODE_ENV, CURSOR_AUTH_MODE_ENV, getHealthStatus, getRegisteredAdapter, HEALTH_CHECK_PATH, isBuiltinAgentHost, OPENAI_AUTH_MODE_ENV, parseClaudeAuthMode, resolveCursorAuthMode, resolveOpenaiAuthMode, } from "@post-print/agent-harness";
6
+ function binOnPath(override, names) {
8
7
  if (override) {
9
8
  try {
10
9
  accessSync(override, constants.X_OK);
@@ -22,7 +21,6 @@ function claudeBinOnPath() {
22
21
  }
23
22
  const pathEnv = process.env.PATH ?? "";
24
23
  const sep = process.platform === "win32" ? ";" : ":";
25
- const names = process.platform === "win32" ? ["claude.exe", "claude.cmd", "claude"] : ["claude"];
26
24
  for (const dir of pathEnv.split(sep)) {
27
25
  if (!dir) {
28
26
  continue;
@@ -45,6 +43,9 @@ function claudeBinOnPath() {
45
43
  }
46
44
  return false;
47
45
  }
46
+ function claudeBinOnPath() {
47
+ return binOnPath(process.env.CLAUDE_CODE_BIN?.trim(), process.platform === "win32" ? ["claude.exe", "claude.cmd", "claude"] : ["claude"]);
48
+ }
48
49
  /** Local diagnostics for agent-test install and live-run readiness. */
49
50
  export function runDoctor(options) {
50
51
  const messages = [];
@@ -57,13 +58,27 @@ export function runDoctor(options) {
57
58
  messages.push(`Node ${process.versions.node}: OK`);
58
59
  }
59
60
  const cliPath = options?.cliPath ?? join(dirname(fileURLToPath(import.meta.url)), "cli.js");
61
+ const cliCandidates = [cliPath];
62
+ if (cliPath.endsWith(".js")) {
63
+ cliCandidates.push(`${cliPath.slice(0, -3)}.ts`);
64
+ }
60
65
  let cliPresent = false;
61
- try {
62
- accessSync(cliPath, constants.R_OK);
63
- cliPresent = true;
64
- messages.push(`CLI entry: ${cliPath}`);
66
+ let resolvedCli = cliPath;
67
+ for (const candidate of cliCandidates) {
68
+ try {
69
+ accessSync(candidate, constants.R_OK);
70
+ cliPresent = true;
71
+ resolvedCli = candidate;
72
+ break;
73
+ }
74
+ catch {
75
+ // try next
76
+ }
65
77
  }
66
- catch {
78
+ if (cliPresent) {
79
+ messages.push(`CLI entry: ${resolvedCli}`);
80
+ }
81
+ else {
67
82
  messages.push(`CLI entry missing at ${cliPath} (run bun run build)`);
68
83
  }
69
84
  const require = createRequire(import.meta.url);
@@ -88,7 +103,20 @@ export function runDoctor(options) {
88
103
  messages.push("CURSOR_API_KEY: set");
89
104
  }
90
105
  else {
91
- messages.push("CURSOR_API_KEY unset (required for Cursor runs / judge)");
106
+ messages.push("CURSOR_API_KEY unset (required for CURSOR_AUTH_MODE=api-key)");
107
+ }
108
+ const cursorAuthMode = process.env[CURSOR_AUTH_MODE_ENV]?.trim();
109
+ if (cursorAuthMode === "api-key" || cursorAuthMode === "subscription") {
110
+ messages.push(`${CURSOR_AUTH_MODE_ENV}: ${cursorAuthMode}`);
111
+ }
112
+ else if (cursorAuthMode) {
113
+ messages.push(`${CURSOR_AUTH_MODE_ENV}="${cursorAuthMode}" invalid (api-key or subscription)`);
114
+ }
115
+ else if (cursorApiKeySet) {
116
+ messages.push(`${CURSOR_AUTH_MODE_ENV} unset (using CURSOR_API_KEY)`);
117
+ }
118
+ else {
119
+ messages.push(`${CURSOR_AUTH_MODE_ENV} unset (set CURSOR_API_KEY or ${CURSOR_AUTH_MODE_ENV}=subscription after Cursor.auth.login())`);
92
120
  }
93
121
  const anthropicApiKeySet = Boolean(process.env.ANTHROPIC_API_KEY?.trim());
94
122
  if (anthropicApiKeySet) {
@@ -116,10 +144,49 @@ export function runDoctor(options) {
116
144
  else {
117
145
  messages.push("Claude Code binary not found (install Claude Code CLI or set CLAUDE_CODE_BIN for --host claude)");
118
146
  }
147
+ const openaiApiKeySet = Boolean(process.env.OPENAI_API_KEY?.trim() || process.env.CODEX_API_KEY?.trim());
148
+ if (openaiApiKeySet) {
149
+ messages.push("OPENAI_API_KEY or CODEX_API_KEY: set");
150
+ }
151
+ else {
152
+ messages.push("OPENAI_API_KEY and CODEX_API_KEY unset (required for OPENAI_AUTH_MODE=api-key)");
153
+ }
154
+ const openaiAuthMode = process.env[OPENAI_AUTH_MODE_ENV]?.trim();
155
+ if (openaiAuthMode === "api-key" || openaiAuthMode === "subscription") {
156
+ messages.push(`${OPENAI_AUTH_MODE_ENV}: ${openaiAuthMode}`);
157
+ }
158
+ else if (openaiAuthMode) {
159
+ messages.push(`${OPENAI_AUTH_MODE_ENV}="${openaiAuthMode}" invalid (api-key or subscription)`);
160
+ }
161
+ else if (openaiApiKeySet) {
162
+ messages.push(`${OPENAI_AUTH_MODE_ENV} unset (using OPENAI_API_KEY or CODEX_API_KEY)`);
163
+ }
164
+ else {
165
+ messages.push(`${OPENAI_AUTH_MODE_ENV} unset (set a key or ${OPENAI_AUTH_MODE_ENV}=subscription after \`codex login\`)`);
166
+ }
167
+ const openaiBinPresent = binOnPath(process.env.CODEX_BIN?.trim(), process.platform === "win32" ? ["codex.exe", "codex.cmd", "codex"] : ["codex"]);
168
+ if (openaiBinPresent) {
169
+ messages.push(process.env.CODEX_BIN?.trim()
170
+ ? `OpenAI Codex binary: ${process.env.CODEX_BIN.trim()}`
171
+ : "OpenAI Codex binary: codex (on PATH)");
172
+ }
173
+ else {
174
+ messages.push("OpenAI Codex binary not found (install Codex CLI or set CODEX_BIN for --host openai)");
175
+ }
176
+ const cursorLiveReady = missingAgentAuth("cursor") === undefined;
177
+ const claudeLiveReady = missingAgentAuth("claude") === undefined;
178
+ const openaiLiveReady = missingAgentAuth("openai") === undefined;
179
+ const liveReady = cursorLiveReady || claudeLiveReady || openaiLiveReady;
119
180
  const health = getHealthStatus();
120
181
  const ok = nodeOk && cliPresent && health.ok;
121
182
  if (ok) {
122
- messages.push(`doctor ${HEALTH_CHECK_PATH}: ready`);
183
+ messages.push(`doctor ${HEALTH_CHECK_PATH}: package-ready`);
184
+ }
185
+ if (liveReady) {
186
+ messages.push("doctor host: ready for at least one host");
187
+ }
188
+ else {
189
+ messages.push("doctor host: not ready (no host credentials)");
123
190
  }
124
191
  return {
125
192
  ok,
@@ -130,8 +197,63 @@ export function runDoctor(options) {
130
197
  cursorSdkPresent,
131
198
  anthropicApiKeySet,
132
199
  claudeBinPresent,
200
+ openaiApiKeySet,
201
+ openaiBinPresent,
202
+ liveReady,
133
203
  health: HEALTH_CHECK_PATH,
134
204
  messages,
135
205
  };
136
206
  }
207
+ /** Missing credential or binary for a live host adapter. Undefined when that host can run. */
208
+ export function missingAgentAuth(host) {
209
+ if (!isBuiltinAgentHost(host)) {
210
+ const adapter = getRegisteredAdapter(host);
211
+ if (!adapter) {
212
+ return `Unknown host "${host}". Register it with registerHostAdapter() or --adapter.`;
213
+ }
214
+ return adapter.missingAuth?.();
215
+ }
216
+ if (host === "claude") {
217
+ const raw = process.env[CLAUDE_AUTH_MODE_ENV]?.trim();
218
+ try {
219
+ const authMode = parseClaudeAuthMode(raw);
220
+ if (authMode === "api-key" && !process.env.ANTHROPIC_API_KEY?.trim()) {
221
+ return `${CLAUDE_AUTH_MODE_ENV}=api-key requires ANTHROPIC_API_KEY`;
222
+ }
223
+ }
224
+ catch (error) {
225
+ return error instanceof Error ? error.message : String(error);
226
+ }
227
+ if (!claudeBinOnPath()) {
228
+ return "Claude Code binary not found (install Claude Code CLI or set CLAUDE_CODE_BIN for --host claude)";
229
+ }
230
+ return undefined;
231
+ }
232
+ if (host === "openai") {
233
+ try {
234
+ resolveOpenaiAuthMode();
235
+ }
236
+ catch (error) {
237
+ return error instanceof Error ? error.message : String(error);
238
+ }
239
+ if (!binOnPath(process.env.CODEX_BIN?.trim(), process.platform === "win32" ? ["codex.exe", "codex.cmd", "codex"] : ["codex"])) {
240
+ return "OpenAI Codex binary not found (install Codex CLI or set CODEX_BIN for --host openai)";
241
+ }
242
+ return undefined;
243
+ }
244
+ try {
245
+ resolveCursorAuthMode();
246
+ }
247
+ catch (error) {
248
+ return error instanceof Error ? error.message : String(error);
249
+ }
250
+ const require = createRequire(import.meta.url);
251
+ try {
252
+ require.resolve("@cursor/sdk");
253
+ }
254
+ catch {
255
+ return "@cursor/sdk not installed — required for Cursor runs (npm i -D @cursor/sdk)";
256
+ }
257
+ return undefined;
258
+ }
137
259
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,iBAAiB,GACjB,MAAM,2BAA2B,CAAC;AAenC,SAAS,eAAe;IACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC;YACJ,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,CAAC;gBACJ,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBACrC,OAAO,IAAI,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACjG,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,SAAS;QACV,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACJ,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO,IAAI,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACR,IAAI,CAAC;oBACJ,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC5C,OAAO,IAAI,CAAC;gBACb,CAAC;gBAAC,MAAM,CAAC;oBACR,WAAW;gBACZ,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,SAAS,CAAC,OAA8B;IACvD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,6BAA6B,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACP,QAAQ,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5F,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC;QACJ,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,UAAU,GAAG,IAAI,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACR,QAAQ,CAAC,IAAI,CAAC,wBAAwB,OAAO,sBAAsB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,CAAC;QACJ,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC7C,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACR,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAC;QACJ,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/B,gBAAgB,GAAG,IAAI,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACR,QAAQ,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,IAAI,eAAe,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACP,QAAQ,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,IAAI,kBAAkB,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACP,QAAQ,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,CAAC;IACjE,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;QACvE,QAAQ,CAAC,IAAI,CAAC,GAAG,oBAAoB,KAAK,cAAc,EAAE,CAAC,CAAC;IAC7D,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,GAAG,oBAAoB,KAAK,cAAc,qCAAqC,CAAC,CAAC;IAChG,CAAC;SAAM,CAAC;QACP,QAAQ,CAAC,IAAI,CACZ,GAAG,oBAAoB,8DAA8D,CACrF,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC;IAC3C,IAAI,gBAAgB,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CACZ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE;YAClC,CAAC,CAAC,uBAAuB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE;YAC7D,CAAC,CAAC,sCAAsC,CACzC,CAAC;IACH,CAAC;SAAM,CAAC;QACP,QAAQ,CAAC,IAAI,CACZ,iGAAiG,CACjG,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,EAAE,GAAG,MAAM,IAAI,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC;IAC7C,IAAI,EAAE,EAAE,CAAC;QACR,QAAQ,CAAC,IAAI,CAAC,UAAU,iBAAiB,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACN,EAAE;QACF,SAAS;QACT,MAAM;QACN,UAAU;QACV,eAAe;QACf,gBAAgB;QAChB,kBAAkB;QAClB,gBAAgB;QAChB,MAAM,EAAE,iBAAiB;QACzB,QAAQ;KACR,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
package/dist/expect.d.ts CHANGED
@@ -6,13 +6,14 @@ export interface RubricAssertOptions {
6
6
  }
7
7
  export declare class TraceAssertion {
8
8
  private readonly trace;
9
- private readonly options;
10
9
  private failures;
11
- constructor(trace: AgentTrace, options?: RubricAssertOptions);
10
+ constructor(trace: AgentTrace, _options?: RubricAssertOptions);
12
11
  get ok(): boolean;
13
12
  get errors(): AssertionFailure[];
14
13
  private messageText;
15
14
  private assertionHaystack;
15
+ /** mustNot ignores tool results so a required Read of a source file does not fail. */
16
+ private mustNotHaystack;
16
17
  private patternHaystack;
17
18
  private push;
18
19
  toHaveTier(tier: ScenarioRubric["tier"]): this;
@@ -21,12 +22,12 @@ export declare class TraceAssertion {
21
22
  toHaveReviewDepth(depth: ScenarioRubric["reviewDepth"]): this;
22
23
  toHaveRunCommand(fragment: string): this;
23
24
  /**
24
- * Assert a tool was called. Spec is a name substring, or `name:argFragment`
25
- * where argFragment must appear in JSON-serialized args.
25
+ * Assert a tool was called. Spec is a name substring, or `name:fragment`
26
+ * where fragment must appear in JSON args or the tool result.
26
27
  */
27
28
  toHaveCalledTool(spec: string): this;
28
29
  toHaveNotCalledTool(spec: string): this;
29
- /** Substring must appear in JSON args of a Read-family tool call. */
30
+ /** Substring must appear in Read-family args or a Shell/Bash path access. */
30
31
  toHaveReadPath(fragment: string): this;
31
32
  /**
32
33
  * Forbidden path fragment must not appear in a *successful* Read-family tool
@@ -1 +1 @@
1
- {"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../src/expect.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,UAAU,EAMf,KAAK,gBAAgB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IACnC,gFAAgF;IAChF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAqED,qBAAa,cAAc;IAIzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJzB,OAAO,CAAC,QAAQ,CAA0B;IAE1C,YACkB,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,mBAAwB,EAC/C;IAEJ,IAAI,EAAE,IAAI,OAAO,CAEhB;IAED,IAAI,MAAM,IAAI,gBAAgB,EAAE,CAE/B;IAED,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,IAAI;IAIZ,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAe7C;IAED,sFAAsF;IACtF,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAgBpD;IAED,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAe5D;IAED,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAiBvC;IAED;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKnC;IAED,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKtC;IAED,qEAAqE;IACrE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CASrC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CASxC;IAED,qBAAqB,IAAI,IAAI,CAe5B;IAED,uEAAuE;IACvE,6BAA6B,IAAI,IAAI,CASpC;IAED,2EAA2E;IAC3E,4BAA4B,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAY/D;IAED,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAa1C;IAED,OAAO,CAAC,eAAe;IAqCvB,kFAAkF;IAClF,OAAO,CAAC,cAAc;IAatB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAU7C;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAW9B;IAED,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAUjC;CACD;AA+GD,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,cAAc,CAE5F;AAED,wBAAgB,YAAY,CAC3B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,gBAAgB,EAAE,CA6CpB"}
1
+ {"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../src/expect.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,UAAU,EAMf,KAAK,gBAAgB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IACnC,gFAAgF;IAChF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAqDD,qBAAa,cAAc;IAIzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHvB,OAAO,CAAC,QAAQ,CAA0B;IAE1C,YACkB,KAAK,EAAE,UAAU,EAClC,QAAQ,GAAE,mBAAwB,EAC/B;IAEJ,IAAI,EAAE,IAAI,OAAO,CAEhB;IAED,IAAI,MAAM,IAAI,gBAAgB,EAAE,CAE/B;IAED,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,iBAAiB;IAezB,sFAAsF;IACtF,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,IAAI;IAIZ,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAe7C;IAED,sFAAsF;IACtF,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAgBpD;IAED,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAe5D;IAED,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAiBvC;IAED;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKnC;IAED,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKtC;IAED,6EAA6E;IAC7E,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAYrC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CASxC;IAED,qBAAqB,IAAI,IAAI,CAe5B;IAED,uEAAuE;IACvE,6BAA6B,IAAI,IAAI,CASpC;IAED,2EAA2E;IAC3E,4BAA4B,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAY/D;IAED,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAW1C;IAED,OAAO,CAAC,eAAe;IASvB,kFAAkF;IAClF,OAAO,CAAC,cAAc;IAatB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAU7C;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAW9B;IAED,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAUjC;CACD;AA0JD,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,cAAc,CAE5F;AAED,wBAAgB,YAAY,CAC3B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,gBAAgB,EAAE,CA6CpB"}
package/dist/expect.js CHANGED
@@ -6,22 +6,6 @@ const REVIEW_DEPTH_PATTERNS = {
6
6
  thorough: /\*\*Depth:\*\*\s*thorough\b|\bReview\s·\s*[^·]+\s·\s*Thorough\b/i,
7
7
  full: /\*\*Depth:\*\*\s*full\b|\bReview\s·\s*[^·]+\s·\s*Full\b/i,
8
8
  };
9
- const FULL_MODE_CODE_REVIEW_PATTERNS = [
10
- /\bReview\s·\s*[^·]+\s·\s*(?:Quick|Standard|Thorough|Full)\b/i,
11
- /## Review synthesis/i,
12
- ];
13
- const FULL_MODE_GRILL_PATTERNS = [
14
- /\bBranch\s+\d+\s*[—–-]/i,
15
- /\bgrill\b/i,
16
- /\bpressure-test(?:ing)?\b/i,
17
- ];
18
- const FULL_MODE_CRYSTALLIZE_PATTERNS = [
19
- /\bcrystalliz(?:e|ing|ation)\b/i,
20
- /\bhalf-formed\b/i,
21
- /\bfuzzy\s+intent\b/i,
22
- /\bmirror(?:ed|ing)?\s+(?:the\s+)?(?:fuzzy\s+)?intent\b/i,
23
- /\bmight be assuming\b/i,
24
- ];
25
9
  const ROUTING_HEADING_PATTERN = /(?:^|\n)#+\s*Routing\b/m;
26
10
  const ROUTING_BOLD_PATTERN = /\*\*Routing\*\*/;
27
11
  function snippet(text, max = 200) {
@@ -63,11 +47,9 @@ function beforeToolsSnippet(trace) {
63
47
  }
64
48
  export class TraceAssertion {
65
49
  trace;
66
- options;
67
50
  failures = [];
68
- constructor(trace, options = {}) {
51
+ constructor(trace, _options = {}) {
69
52
  this.trace = trace;
70
- this.options = options;
71
53
  }
72
54
  get ok() {
73
55
  return this.failures.length === 0;
@@ -85,6 +67,22 @@ export class TraceAssertion {
85
67
  this.trace.gitDiff ?? "",
86
68
  ...this.trace.shellCommands,
87
69
  ...Object.values(this.trace.artifacts),
70
+ ...this.trace.toolCalls.flatMap((call) => [
71
+ call.name,
72
+ JSON.stringify(call.args ?? {}),
73
+ call.result ?? "",
74
+ ]),
75
+ ].join("\n");
76
+ }
77
+ /** mustNot ignores tool results so a required Read of a source file does not fail. */
78
+ mustNotHaystack() {
79
+ return [
80
+ this.messageText(),
81
+ this.trace.prBody ?? "",
82
+ this.trace.gitDiff ?? "",
83
+ ...this.trace.shellCommands,
84
+ ...Object.values(this.trace.artifacts),
85
+ ...this.trace.toolCalls.flatMap((call) => [call.name, JSON.stringify(call.args ?? {})]),
88
86
  ].join("\n");
89
87
  }
90
88
  patternHaystack() {
@@ -145,8 +143,8 @@ export class TraceAssertion {
145
143
  return this;
146
144
  }
147
145
  /**
148
- * Assert a tool was called. Spec is a name substring, or `name:argFragment`
149
- * where argFragment must appear in JSON-serialized args.
146
+ * Assert a tool was called. Spec is a name substring, or `name:fragment`
147
+ * where fragment must appear in JSON args or the tool result.
150
148
  */
151
149
  toHaveCalledTool(spec) {
152
150
  if (!toolSpecMatches(this.trace.toolCalls, spec)) {
@@ -160,10 +158,11 @@ export class TraceAssertion {
160
158
  }
161
159
  return this;
162
160
  }
163
- /** Substring must appear in JSON args of a Read-family tool call. */
161
+ /** Substring must appear in Read-family args or a Shell/Bash path access. */
164
162
  toHaveReadPath(fragment) {
165
- if (!readToolArgsContain(this.trace.toolCalls, fragment)) {
166
- this.push("toHaveReadPath", `expected Read tool args containing "${fragment}"`, readToolArgsEvidence(this.trace.toolCalls));
163
+ if (!readToolArgsContain(this.trace.toolCalls, fragment) &&
164
+ !shellAccessedPath(this.trace, fragment)) {
165
+ this.push("toHaveReadPath", `expected Read or Shell access containing "${fragment}"`, readToolArgsEvidence(this.trace.toolCalls));
167
166
  }
168
167
  return this;
169
168
  }
@@ -210,9 +209,7 @@ export class TraceAssertion {
210
209
  return this;
211
210
  }
212
211
  const invoked = this.trace.skillsInvoked ?? [];
213
- this.push("toHaveInvokedSkill", this.options.skillsMode === "full"
214
- ? `expected agent to apply ${skillName} skill (read SKILL.md or follow skill session in transcript)`
215
- : `expected agent to read ${skillName} skill (SKILL.md)`, `skillsInvoked=[${invoked.join(", ")}]`);
212
+ this.push("toHaveInvokedSkill", `expected agent to read ${skillName} skill (SKILL.md); live judge scores whether it followed the skill`, `skillsInvoked=[${invoked.join(", ")}]`);
216
213
  return this;
217
214
  }
218
215
  skillWasInvoked(skillName) {
@@ -221,30 +218,7 @@ export class TraceAssertion {
221
218
  if (invoked.some((name) => name.toLowerCase() === normalized)) {
222
219
  return true;
223
220
  }
224
- const haystack = this.patternHaystack();
225
- if (haystack.toLowerCase().includes(`.claude/skills/${normalized}/skill.md`) ||
226
- haystack.toLowerCase().includes(`.claude/skills/${normalized}/references/`)) {
227
- return true;
228
- }
229
- if (this.options.skillsMode !== "full") {
230
- return false;
231
- }
232
- const fullModePatterns = [
233
- new RegExp(`\\b(?:invok(?:e|ing)|following|using|per|applied)\\s+(?:the\\s+)?${normalized}\\b`, "i"),
234
- new RegExp(`\\*\\*${normalized}\\*\\*`, "i"),
235
- new RegExp(`\\b${normalized}\\s+(?:skill|protocol|design tree)\\b`, "i"),
236
- new RegExp(`\\b${normalized}\\s+before implement\\b`, "i"),
237
- ];
238
- if (normalized === "code-review") {
239
- fullModePatterns.push(...FULL_MODE_CODE_REVIEW_PATTERNS);
240
- }
241
- if (normalized === "grill") {
242
- fullModePatterns.push(...FULL_MODE_GRILL_PATTERNS);
243
- }
244
- if (normalized === "crystallize") {
245
- fullModePatterns.push(...FULL_MODE_CRYSTALLIZE_PATTERNS);
246
- }
247
- return fullModePatterns.some((pattern) => pattern.test(haystack));
221
+ return skillPathMentioned(this.patternHaystack(), normalized);
248
222
  }
249
223
  /** Which full-mode fallback pattern matched (for mustNotInvokeSkill evidence). */
250
224
  skillMatchHint(skillName) {
@@ -254,7 +228,7 @@ export class TraceAssertion {
254
228
  return `skillsInvoked includes ${skillName}`;
255
229
  }
256
230
  const haystack = this.patternHaystack();
257
- if (haystack.toLowerCase().includes(`.claude/skills/${normalized}/skill.md`)) {
231
+ if (skillPathMentioned(haystack, normalized)) {
258
232
  return "matched SKILL.md path in transcript";
259
233
  }
260
234
  return `skillsInvoked=[${invoked.join(", ")}]`;
@@ -275,13 +249,19 @@ export class TraceAssertion {
275
249
  return this;
276
250
  }
277
251
  mustNotInclude(text) {
278
- const haystack = this.assertionHaystack();
252
+ const haystack = this.mustNotHaystack();
279
253
  if (containsForbiddenPhrase(haystack, text)) {
280
254
  this.push("mustNotInclude", `forbidden text present: "${text}"`, lineContaining(haystack, text));
281
255
  }
282
256
  return this;
283
257
  }
284
258
  }
259
+ function skillPathMentioned(haystack, skillName) {
260
+ const roots = [".agents", ".cursor", ".codex", ".claude"];
261
+ const lower = haystack.toLowerCase();
262
+ return roots.some((root) => lower.includes(`${root}/skills/${skillName}/skill.md`) ||
263
+ lower.includes(`${root}/skills/${skillName}/references/`));
264
+ }
285
265
  function containsForbiddenPhrase(haystack, phrase) {
286
266
  const lowerPhrase = phrase.toLowerCase();
287
267
  if (lowerPhrase.includes(" ")) {
@@ -301,23 +281,53 @@ function parseToolSpec(spec) {
301
281
  argFragment: spec.slice(separator + 1),
302
282
  };
303
283
  }
284
+ /** Hosts disagree on write-tool names (Cursor `edit` / `Write`). */
285
+ function toolNameNeedles(name) {
286
+ const lower = name.toLowerCase();
287
+ if (lower === "write" || lower === "edit") {
288
+ return ["write", "edit"];
289
+ }
290
+ return [lower];
291
+ }
304
292
  function toolSpecMatches(toolCalls, spec) {
305
293
  const { name, argFragment } = parseToolSpec(spec);
306
- const nameNeedle = name.toLowerCase();
294
+ const nameNeedles = toolNameNeedles(name);
307
295
  return toolCalls.some((call) => {
308
- if (!call.name.toLowerCase().includes(nameNeedle)) {
296
+ const callName = call.name.toLowerCase();
297
+ const argsText = JSON.stringify(call.args ?? {}).toLowerCase();
298
+ const resultText = String(call.result ?? "").toLowerCase();
299
+ const identity = `${callName} ${argsText}`;
300
+ if (!nameNeedles.some((needle) => identity.includes(needle))) {
309
301
  return false;
310
302
  }
311
303
  if (argFragment === undefined || argFragment.length === 0) {
312
304
  return true;
313
305
  }
314
- const argsText = JSON.stringify(call.args ?? {}).toLowerCase();
315
- return argsText.includes(argFragment.toLowerCase());
306
+ const needle = argFragment.toLowerCase();
307
+ return argsText.includes(needle) || resultText.includes(needle);
316
308
  });
317
309
  }
318
310
  function isReadToolName(name) {
319
311
  return name.toLowerCase().includes("read");
320
312
  }
313
+ function isShellToolName(name) {
314
+ const lower = name.toLowerCase();
315
+ return lower.includes("shell") || lower === "bash";
316
+ }
317
+ function shellAccessedPath(trace, fragment) {
318
+ const needle = fragment.toLowerCase();
319
+ if (trace.shellCommands.some((command) => command.toLowerCase().includes(needle))) {
320
+ return true;
321
+ }
322
+ return trace.toolCalls.some((call) => {
323
+ if (!isShellToolName(call.name)) {
324
+ return false;
325
+ }
326
+ return JSON.stringify(call.args ?? {})
327
+ .toLowerCase()
328
+ .includes(needle);
329
+ });
330
+ }
321
331
  function readToolCalls(toolCalls) {
322
332
  return toolCalls.filter((call) => isReadToolName(call.name));
323
333
  }
@@ -1 +1 @@
1
- {"version":3,"file":"expect.js","sourceRoot":"","sources":["../src/expect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expect.js","sourceRoot":"","sources":["../src/expect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export type HostLogLevel = "debug" | "info" | "warn" | "error";
2
+ export interface ParsedHostLog {
3
+ time?: string;
4
+ level: HostLogLevel;
5
+ service: string;
6
+ message: string;
7
+ meta: Record<string, string>;
8
+ }
9
+ /** Parse a Cursor/host SDK log line. Returns undefined for agent-test output. */
10
+ export declare function parseHostLogLine(line: string): ParsedHostLog | undefined;
11
+ export declare function hostLogsVerbose(): boolean;
12
+ /** INFO/DEBUG stay hidden unless debug/verbose. WARN/ERROR always print. */
13
+ export declare function shouldPrintHostLog(level: HostLogLevel): boolean;
14
+ export declare function formatHostLogLine(parsed: ParsedHostLog): string;
15
+ /** Rewrite or drop host SDK logs on stdout/stderr. Safe to call more than once. */
16
+ export declare function installHostLogFilter(): void;
17
+ //# sourceMappingURL=host-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-log.d.ts","sourceRoot":"","sources":["../src/host-log.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAiDD,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAiBxE;AAqCD,wBAAgB,eAAe,IAAI,OAAO,CAOzC;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAK/D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAE/D;AAgDD,mFAAmF;AACnF,wBAAgB,oBAAoB,IAAI,IAAI,CAO3C"}