@e2edev/e2e 0.10.0 → 0.12.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 (269) hide show
  1. package/README.md +14 -8
  2. package/dist/agent/act-validation.d.ts +2 -0
  3. package/dist/agent/act-validation.d.ts.map +1 -1
  4. package/dist/agent/act-validation.js +1 -1
  5. package/dist/agent/act-validation.js.map +1 -1
  6. package/dist/agent/act.d.ts +30 -2
  7. package/dist/agent/act.d.ts.map +1 -1
  8. package/dist/agent/act.js +18 -4
  9. package/dist/agent/act.js.map +1 -1
  10. package/dist/agent/ai-sdk.d.ts +2 -2
  11. package/dist/agent/ai-sdk.d.ts.map +1 -1
  12. package/dist/agent/ai-sdk.js +3 -4
  13. package/dist/agent/ai-sdk.js.map +1 -1
  14. package/dist/agent/default-agent.d.ts +33 -9
  15. package/dist/agent/default-agent.d.ts.map +1 -1
  16. package/dist/agent/default-agent.js +46 -31
  17. package/dist/agent/default-agent.js.map +1 -1
  18. package/dist/agent/error.d.ts.map +1 -1
  19. package/dist/agent/error.js +1 -0
  20. package/dist/agent/error.js.map +1 -1
  21. package/dist/agent/executor.d.ts +13 -0
  22. package/dist/agent/executor.d.ts.map +1 -1
  23. package/dist/agent/executor.js.map +1 -1
  24. package/dist/agent/interactive-step.d.ts +38 -0
  25. package/dist/agent/interactive-step.d.ts.map +1 -0
  26. package/dist/agent/interactive-step.js +131 -0
  27. package/dist/agent/interactive-step.js.map +1 -0
  28. package/dist/agent/model/adapter.d.ts +3 -0
  29. package/dist/agent/model/adapter.d.ts.map +1 -1
  30. package/dist/agent/model/adapter.js.map +1 -1
  31. package/dist/agent/model/overflow.d.ts +20 -0
  32. package/dist/agent/model/overflow.d.ts.map +1 -0
  33. package/dist/agent/model/overflow.js +82 -0
  34. package/dist/agent/model/overflow.js.map +1 -0
  35. package/dist/agent/model/prompt-cache.d.ts +47 -0
  36. package/dist/agent/model/prompt-cache.d.ts.map +1 -0
  37. package/dist/agent/model/prompt-cache.js +78 -0
  38. package/dist/agent/model/prompt-cache.js.map +1 -0
  39. package/dist/agent/model/sdk.d.ts +41 -24
  40. package/dist/agent/model/sdk.d.ts.map +1 -1
  41. package/dist/agent/model/sdk.js +64 -91
  42. package/dist/agent/model/sdk.js.map +1 -1
  43. package/dist/agent/model/tool-choice.d.ts +21 -0
  44. package/dist/agent/model/tool-choice.d.ts.map +1 -0
  45. package/dist/agent/model/tool-choice.js +49 -0
  46. package/dist/agent/model/tool-choice.js.map +1 -0
  47. package/dist/agent/primitives.d.ts.map +1 -1
  48. package/dist/agent/primitives.js +2 -1
  49. package/dist/agent/primitives.js.map +1 -1
  50. package/dist/agent/public.d.ts +1 -1
  51. package/dist/agent/public.d.ts.map +1 -1
  52. package/dist/agent/public.js.map +1 -1
  53. package/dist/agent/screen-update.d.ts +8 -3
  54. package/dist/agent/screen-update.d.ts.map +1 -1
  55. package/dist/agent/screen-update.js +18 -5
  56. package/dist/agent/screen-update.js.map +1 -1
  57. package/dist/agent/tool-loop.d.ts +4 -4
  58. package/dist/agent/tool-loop.d.ts.map +1 -1
  59. package/dist/agent/tool-loop.js +241 -48
  60. package/dist/agent/tool-loop.js.map +1 -1
  61. package/dist/agent/tool-output.d.ts +31 -0
  62. package/dist/agent/tool-output.d.ts.map +1 -0
  63. package/dist/agent/tool-output.js +60 -0
  64. package/dist/agent/tool-output.js.map +1 -0
  65. package/dist/agent/tool.d.ts +9 -3
  66. package/dist/agent/tool.d.ts.map +1 -1
  67. package/dist/agent/tool.js +2 -2
  68. package/dist/agent/tool.js.map +1 -1
  69. package/dist/agent/usage.d.ts +7 -0
  70. package/dist/agent/usage.d.ts.map +1 -1
  71. package/dist/agent/usage.js +11 -0
  72. package/dist/agent/usage.js.map +1 -1
  73. package/dist/cli/docs-url.d.ts +1 -1
  74. package/dist/cli/docs-url.d.ts.map +1 -1
  75. package/dist/cli/docs-url.js +1 -1
  76. package/dist/cli/docs-url.js.map +1 -1
  77. package/dist/cli/index.d.ts.map +1 -1
  78. package/dist/cli/index.js +139 -35
  79. package/dist/cli/index.js.map +1 -1
  80. package/dist/cli/init/engine-versions.json +1 -1
  81. package/dist/cli/init/engines.d.ts +17 -16
  82. package/dist/cli/init/engines.d.ts.map +1 -1
  83. package/dist/cli/init/engines.js +26 -26
  84. package/dist/cli/init/engines.js.map +1 -1
  85. package/dist/cli/init/gateways.d.ts +22 -0
  86. package/dist/cli/init/gateways.d.ts.map +1 -0
  87. package/dist/cli/init/gateways.js +50 -0
  88. package/dist/cli/init/gateways.js.map +1 -0
  89. package/dist/cli/init/mcp-config.d.ts +31 -0
  90. package/dist/cli/init/mcp-config.d.ts.map +1 -0
  91. package/dist/cli/init/mcp-config.js +72 -0
  92. package/dist/cli/init/mcp-config.js.map +1 -0
  93. package/dist/cli/init/scaffold.d.ts +8 -2
  94. package/dist/cli/init/scaffold.d.ts.map +1 -1
  95. package/dist/cli/init/scaffold.js +22 -11
  96. package/dist/cli/init/scaffold.js.map +1 -1
  97. package/dist/cli/init.d.ts.map +1 -1
  98. package/dist/cli/init.js +109 -29
  99. package/dist/cli/init.js.map +1 -1
  100. package/dist/cli/mcp.d.ts +15 -0
  101. package/dist/cli/mcp.d.ts.map +1 -0
  102. package/dist/cli/mcp.js +63 -0
  103. package/dist/cli/mcp.js.map +1 -0
  104. package/dist/collect/collect.d.ts +7 -0
  105. package/dist/collect/collect.d.ts.map +1 -1
  106. package/dist/collect/collect.js +16 -0
  107. package/dist/collect/collect.js.map +1 -1
  108. package/dist/collect/registry.d.ts.map +1 -1
  109. package/dist/collect/registry.js +33 -6
  110. package/dist/collect/registry.js.map +1 -1
  111. package/dist/collect/select.d.ts +9 -2
  112. package/dist/collect/select.d.ts.map +1 -1
  113. package/dist/collect/select.js +57 -11
  114. package/dist/collect/select.js.map +1 -1
  115. package/dist/config/agent.d.ts +13 -32
  116. package/dist/config/agent.d.ts.map +1 -1
  117. package/dist/config/agent.js +32 -123
  118. package/dist/config/agent.js.map +1 -1
  119. package/dist/config/resolve.d.ts +8 -5
  120. package/dist/config/resolve.d.ts.map +1 -1
  121. package/dist/config/resolve.js +11 -9
  122. package/dist/config/resolve.js.map +1 -1
  123. package/dist/credentials.d.ts +6 -0
  124. package/dist/credentials.d.ts.map +1 -1
  125. package/dist/credentials.js +9 -0
  126. package/dist/credentials.js.map +1 -1
  127. package/dist/explore/body.d.ts +36 -0
  128. package/dist/explore/body.d.ts.map +1 -0
  129. package/dist/explore/body.js +168 -0
  130. package/dist/explore/body.js.map +1 -0
  131. package/dist/explore/executor.d.ts +25 -0
  132. package/dist/explore/executor.d.ts.map +1 -0
  133. package/dist/explore/executor.js +86 -0
  134. package/dist/explore/executor.js.map +1 -0
  135. package/dist/explore/index.d.ts +64 -0
  136. package/dist/explore/index.d.ts.map +1 -0
  137. package/dist/explore/index.js +185 -0
  138. package/dist/explore/index.js.map +1 -0
  139. package/dist/explore/plan.d.ts +74 -0
  140. package/dist/explore/plan.d.ts.map +1 -0
  141. package/dist/explore/plan.js +149 -0
  142. package/dist/explore/plan.js.map +1 -0
  143. package/dist/explore/reporter.d.ts +11 -0
  144. package/dist/explore/reporter.d.ts.map +1 -0
  145. package/dist/explore/reporter.js +54 -0
  146. package/dist/explore/reporter.js.map +1 -0
  147. package/dist/explore/state.d.ts +58 -0
  148. package/dist/explore/state.d.ts.map +1 -0
  149. package/dist/explore/state.js +147 -0
  150. package/dist/explore/state.js.map +1 -0
  151. package/dist/internal/ai-trace.d.ts +2 -0
  152. package/dist/internal/ai-trace.d.ts.map +1 -1
  153. package/dist/internal/ai-trace.js +3 -0
  154. package/dist/internal/ai-trace.js.map +1 -1
  155. package/dist/internal/ids.d.ts +2 -2
  156. package/dist/internal/ids.d.ts.map +1 -1
  157. package/dist/internal/ids.js +3 -3
  158. package/dist/internal/ids.js.map +1 -1
  159. package/dist/internal/package-manager.d.ts +4 -0
  160. package/dist/internal/package-manager.d.ts.map +1 -1
  161. package/dist/internal/package-manager.js +26 -0
  162. package/dist/internal/package-manager.js.map +1 -1
  163. package/dist/mcp/catalog.d.ts +50 -0
  164. package/dist/mcp/catalog.d.ts.map +1 -0
  165. package/dist/mcp/catalog.js +172 -0
  166. package/dist/mcp/catalog.js.map +1 -0
  167. package/dist/mcp/config.d.ts +11 -0
  168. package/dist/mcp/config.d.ts.map +1 -0
  169. package/dist/mcp/config.js +16 -0
  170. package/dist/mcp/config.js.map +1 -0
  171. package/dist/mcp/server.d.ts +29 -0
  172. package/dist/mcp/server.d.ts.map +1 -0
  173. package/dist/mcp/server.js +86 -0
  174. package/dist/mcp/server.js.map +1 -0
  175. package/dist/mcp/session.d.ts +68 -0
  176. package/dist/mcp/session.d.ts.map +1 -0
  177. package/dist/mcp/session.js +317 -0
  178. package/dist/mcp/session.js.map +1 -0
  179. package/dist/mcp/tools.d.ts +77 -0
  180. package/dist/mcp/tools.d.ts.map +1 -0
  181. package/dist/mcp/tools.js +179 -0
  182. package/dist/mcp/tools.js.map +1 -0
  183. package/dist/report/build.d.ts +61 -0
  184. package/dist/report/build.d.ts.map +1 -1
  185. package/dist/report/build.js +13 -2
  186. package/dist/report/build.js.map +1 -1
  187. package/dist/report/debug-steps.d.ts.map +1 -1
  188. package/dist/report/debug-steps.js +15 -0
  189. package/dist/report/debug-steps.js.map +1 -1
  190. package/dist/report/format.d.ts +30 -1
  191. package/dist/report/format.d.ts.map +1 -1
  192. package/dist/report/format.js +57 -3
  193. package/dist/report/format.js.map +1 -1
  194. package/dist/report/junit.d.ts.map +1 -1
  195. package/dist/report/junit.js +4 -1
  196. package/dist/report/junit.js.map +1 -1
  197. package/dist/report/list.d.ts +10 -1
  198. package/dist/report/list.d.ts.map +1 -1
  199. package/dist/report/list.js +35 -13
  200. package/dist/report/list.js.map +1 -1
  201. package/dist/run/events.d.ts +13 -4
  202. package/dist/run/events.d.ts.map +1 -1
  203. package/dist/run/events.js.map +1 -1
  204. package/dist/run/execute.d.ts +2 -2
  205. package/dist/run/execute.d.ts.map +1 -1
  206. package/dist/run/execute.js +19 -14
  207. package/dist/run/execute.js.map +1 -1
  208. package/dist/run/fixtures.d.ts +10 -4
  209. package/dist/run/fixtures.d.ts.map +1 -1
  210. package/dist/run/fixtures.js +23 -23
  211. package/dist/run/fixtures.js.map +1 -1
  212. package/dist/run/in-process.d.ts +8 -0
  213. package/dist/run/in-process.d.ts.map +1 -1
  214. package/dist/run/in-process.js +7 -6
  215. package/dist/run/in-process.js.map +1 -1
  216. package/dist/run/provision.d.ts +51 -0
  217. package/dist/run/provision.d.ts.map +1 -0
  218. package/dist/run/provision.js +94 -0
  219. package/dist/run/provision.js.map +1 -0
  220. package/dist/run/records.d.ts +4 -0
  221. package/dist/run/records.d.ts.map +1 -1
  222. package/dist/run/runner.d.ts +25 -3
  223. package/dist/run/runner.d.ts.map +1 -1
  224. package/dist/run/runner.js +38 -81
  225. package/dist/run/runner.js.map +1 -1
  226. package/dist/run/scheduler.d.ts +5 -2
  227. package/dist/run/scheduler.d.ts.map +1 -1
  228. package/dist/run/scheduler.js +13 -10
  229. package/dist/run/scheduler.js.map +1 -1
  230. package/dist/run/serial.d.ts +1 -1
  231. package/dist/run/serial.d.ts.map +1 -1
  232. package/dist/run/serial.js +7 -2
  233. package/dist/run/serial.js.map +1 -1
  234. package/dist/run/standalone.d.ts +63 -0
  235. package/dist/run/standalone.d.ts.map +1 -0
  236. package/dist/run/standalone.js +152 -0
  237. package/dist/run/standalone.js.map +1 -0
  238. package/dist/run/steps.d.ts +7 -0
  239. package/dist/run/steps.d.ts.map +1 -1
  240. package/dist/run/steps.js.map +1 -1
  241. package/dist/run/units.d.ts +6 -3
  242. package/dist/run/units.d.ts.map +1 -1
  243. package/dist/run/units.js +0 -0
  244. package/dist/run/units.js.map +1 -1
  245. package/dist/run/worker/entry.js +2 -2
  246. package/dist/run/worker/entry.js.map +1 -1
  247. package/dist/run/worker/protocol.d.ts +5 -0
  248. package/dist/run/worker/protocol.d.ts.map +1 -1
  249. package/dist/run/worker/protocol.js.map +1 -1
  250. package/dist/run/worker/session.d.ts +3 -4
  251. package/dist/run/worker/session.d.ts.map +1 -1
  252. package/dist/run/worker/session.js +5 -4
  253. package/dist/run/worker/session.js.map +1 -1
  254. package/dist/run/worker-models.d.ts +4 -4
  255. package/dist/run/worker-models.js +6 -13
  256. package/dist/run/worker-models.js.map +1 -1
  257. package/dist/telemetry/events.d.ts.map +1 -1
  258. package/dist/telemetry/events.js +17 -2
  259. package/dist/telemetry/events.js.map +1 -1
  260. package/dist/types.d.ts +20 -20
  261. package/dist/types.d.ts.map +1 -1
  262. package/package.json +9 -6
  263. package/skills/e2e/SKILL.md +16 -6
  264. package/skills/e2e/references/agent.md +21 -16
  265. package/skills/e2e/references/debugging.md +2 -1
  266. package/skills/e2e/references/explore.md +83 -0
  267. package/skills/e2e/references/mcp.md +88 -0
  268. package/skills/e2e/references/running.md +7 -5
  269. package/skills/e2e/references/setup.md +17 -13
@@ -0,0 +1,77 @@
1
+ /**
2
+ * The bridge from the agent's AI SDK tools to the MCP `call` tool. The
3
+ * testing agent's vocabulary (the grammar, the engine packs, the project's
4
+ * `defineTool` values) is a set of AI SDK tools: a description, a zod input
5
+ * schema, and an execute function. The server keeps its own tool list fixed
6
+ * and small, and serves that vocabulary as a catalog: `tools` renders it from
7
+ * the same descriptions and schemas the testing agent reads, and `call`
8
+ * validates the arguments against the schema, runs the tool, and renders its
9
+ * output in the MCP result envelope.
10
+ */
11
+ import { type JSONSchema7, type ToolSet } from 'ai';
12
+ import type { z } from 'zod';
13
+ /** One MCP content part this server emits. */
14
+ export type McpContent = {
15
+ readonly type: 'text';
16
+ readonly text: string;
17
+ } | {
18
+ readonly type: 'image';
19
+ readonly data: string;
20
+ readonly mimeType: string;
21
+ };
22
+ /** The MCP tool result envelope, as the SDK's `CallToolResult` spells it. */
23
+ export interface McpToolResult {
24
+ readonly content: McpContent[];
25
+ readonly isError?: boolean;
26
+ [key: string]: unknown;
27
+ }
28
+ /** What a tool body gets from the request. */
29
+ export interface McpToolCallExtra {
30
+ readonly signal: AbortSignal;
31
+ }
32
+ /** What the server registers: the contract and the body of one of its fixed tools. */
33
+ export interface McpToolSpec<Shape extends z.ZodRawShape = z.ZodRawShape> {
34
+ readonly name: string;
35
+ readonly description: string;
36
+ readonly inputSchema: z.ZodObject<Shape>;
37
+ /** Hint for clients: a tool that changes nothing on the app or disk. */
38
+ readonly readOnly: boolean;
39
+ /** Runs the tool on validated arguments; a thrown error becomes an error result. */
40
+ call(args: z.infer<z.ZodObject<Shape>>, extra: McpToolCallExtra): Promise<McpToolResult>;
41
+ }
42
+ /** Declares one fixed tool with `call` typed from its `inputSchema`. */
43
+ export declare function defineMcpTool<Shape extends z.ZodRawShape>(spec: McpToolSpec<Shape>): McpToolSpec<Shape>;
44
+ export declare function textResult(text: string): McpToolResult;
45
+ /**
46
+ * A failure as a tool result the agent can react to, never a protocol error:
47
+ * the code and message are what a test would have reported.
48
+ */
49
+ export declare function errorResult(cause: unknown): McpToolResult;
50
+ /**
51
+ * The JSON Schema of a tool's arguments, without the draft marker clients
52
+ * never need. A zod schema converts synchronously; a schema that only
53
+ * resolves lazily is shown as an open object rather than awaited, since the
54
+ * catalog is rendered inline.
55
+ */
56
+ export declare function toolJsonSchema(tool: ToolSet[string]): JSONSchema7;
57
+ /**
58
+ * One catalog line: the name, the argument names (`?` marks an optional
59
+ * one), the first sentence of the description, and the read-only mark.
60
+ * `- tap {target}: Tap or click one node.`
61
+ */
62
+ export declare function catalogLine(name: string, tool: ToolSet[string], readOnly: boolean): string;
63
+ /** The full contract of one tool: its description and the JSON Schema of its arguments. */
64
+ export declare function describeToolDetail(name: string, tool: ToolSet[string], readOnly: boolean): string;
65
+ /**
66
+ * Validates the arguments against the tool's own schema and runs it. The
67
+ * server's `call` tool takes any object, so this is where a wrong argument is
68
+ * caught, with the same message a model would get, before the tool runs.
69
+ */
70
+ export declare function invokeTool(name: string, tool: ToolSet[string], args: Record<string, unknown>, extra: McpToolCallExtra): Promise<McpToolResult>;
71
+ /**
72
+ * Renders a tool's output the way the tool renders it for a model: text as
73
+ * text, and a `toModelOutput` that yields file parts as images. Anything
74
+ * else is JSON, so a structured output is never lost.
75
+ */
76
+ export declare function resultFromOutput(tool: ToolSet[string], output: unknown, input?: unknown): Promise<McpToolResult>;
77
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAY,KAAK,WAAW,EAAwC,KAAK,OAAO,EAAE,MAAM,IAAI,CAAC;AACpG,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,8CAA8C;AAC9C,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,8CAA8C;AAC9C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,sFAAsF;AACtF,MAAM,WAAW,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,oFAAoF;IACpF,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC1F;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAEvG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAEtD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAGzD;AAKD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,WAAW,CAKjE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAM1F;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAQjG;AAmBD;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,aAAa,CAAC,CAYxB;AAgDD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,OAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAOjI"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * The bridge from the agent's AI SDK tools to the MCP `call` tool. The
3
+ * testing agent's vocabulary (the grammar, the engine packs, the project's
4
+ * `defineTool` values) is a set of AI SDK tools: a description, a zod input
5
+ * schema, and an execute function. The server keeps its own tool list fixed
6
+ * and small, and serves that vocabulary as a catalog: `tools` renders it from
7
+ * the same descriptions and schemas the testing agent reads, and `call`
8
+ * validates the arguments against the schema, runs the tool, and renders its
9
+ * output in the MCP result envelope.
10
+ */
11
+ import { asSchema } from 'ai';
12
+ import { ConfigurationError, errorMessage, E2EError, isForeignE2EError } from '../internal/errors.js';
13
+ /** Declares one fixed tool with `call` typed from its `inputSchema`. */
14
+ export function defineMcpTool(spec) {
15
+ return spec;
16
+ }
17
+ export function textResult(text) {
18
+ return { content: [{ type: 'text', text }] };
19
+ }
20
+ /**
21
+ * A failure as a tool result the agent can react to, never a protocol error:
22
+ * the code and message are what a test would have reported.
23
+ */
24
+ export function errorResult(cause) {
25
+ const code = cause instanceof E2EError || isForeignE2EError(cause) ? `${cause.code}: ` : '';
26
+ return { content: [{ type: 'text', text: `${code}${errorMessage(cause)}` }], isError: true };
27
+ }
28
+ /** How much of a description the catalog shows per tool: its first sentence, bounded. */
29
+ const CATALOG_SENTENCE_MAX = 160;
30
+ /**
31
+ * The JSON Schema of a tool's arguments, without the draft marker clients
32
+ * never need. A zod schema converts synchronously; a schema that only
33
+ * resolves lazily is shown as an open object rather than awaited, since the
34
+ * catalog is rendered inline.
35
+ */
36
+ export function toolJsonSchema(tool) {
37
+ const raw = asSchema(tool.inputSchema).jsonSchema;
38
+ if (typeof raw.then === 'function')
39
+ return { type: 'object' };
40
+ const { $schema: _draft, ...schema } = raw;
41
+ return schema;
42
+ }
43
+ /**
44
+ * One catalog line: the name, the argument names (`?` marks an optional
45
+ * one), the first sentence of the description, and the read-only mark.
46
+ * `- tap {target}: Tap or click one node.`
47
+ */
48
+ export function catalogLine(name, tool, readOnly) {
49
+ const schema = toolJsonSchema(tool);
50
+ const required = new Set(schema.required ?? []);
51
+ const args = Object.keys(schema.properties ?? {}).map((key) => (required.has(key) ? key : `${key}?`));
52
+ const signature = args.length === 0 ? name : `${name} {${args.join(', ')}}`;
53
+ return `- ${signature}: ${firstSentence(toolDescription(name, tool))}${readOnly ? ' [read-only]' : ''}`;
54
+ }
55
+ /** The full contract of one tool: its description and the JSON Schema of its arguments. */
56
+ export function describeToolDetail(name, tool, readOnly) {
57
+ return [
58
+ `${name}${readOnly ? ' [read-only]' : ''}`,
59
+ toolDescription(name, tool),
60
+ '',
61
+ 'Arguments (JSON Schema):',
62
+ JSON.stringify(toolJsonSchema(tool), null, 2),
63
+ ].join('\n');
64
+ }
65
+ function toolDescription(name, tool) {
66
+ return typeof tool.description === 'string' && tool.description !== '' ? tool.description : name;
67
+ }
68
+ /** Abbreviations whose period does not end a sentence. */
69
+ const ABBREVIATIONS = /\b(?:e\.g|i\.e|etc|vs)\./gi;
70
+ function firstSentence(text) {
71
+ const flat = text.replaceAll(/\s+/g, ' ').trim();
72
+ const guarded = flat.replaceAll(ABBREVIATIONS, (match) => match.replaceAll('.', '\u0000'));
73
+ const end = guarded.search(/[.!?](?:\s|$)/);
74
+ const sentence = (end === -1 ? guarded : guarded.slice(0, end + 1)).replaceAll('\u0000', '.');
75
+ if (sentence.length <= CATALOG_SENTENCE_MAX)
76
+ return sentence;
77
+ const cut = sentence.lastIndexOf(' ', CATALOG_SENTENCE_MAX - 1);
78
+ return `${sentence.slice(0, cut > 0 ? cut : CATALOG_SENTENCE_MAX - 1).replace(/[,;:]$/, '')}…`;
79
+ }
80
+ /**
81
+ * Validates the arguments against the tool's own schema and runs it. The
82
+ * server's `call` tool takes any object, so this is where a wrong argument is
83
+ * caught, with the same message a model would get, before the tool runs.
84
+ */
85
+ export async function invokeTool(name, tool, args, extra) {
86
+ if (tool.execute === undefined) {
87
+ throw new ConfigurationError('UNSUPPORTED_CAPABILITY', `tool "${name}" has no execute function`);
88
+ }
89
+ const input = await validateArgs(name, tool, args);
90
+ const options = {
91
+ toolCallId: `mcp-${Date.now().toString(36)}`,
92
+ messages: [],
93
+ abortSignal: extra.signal,
94
+ context: undefined,
95
+ };
96
+ return resultFromOutput(tool, await resolveOutput(await tool.execute(input, options)), input);
97
+ }
98
+ async function validateArgs(name, tool, args) {
99
+ const schema = asSchema(tool.inputSchema);
100
+ if (schema.validate === undefined)
101
+ return args;
102
+ const result = await schema.validate(args);
103
+ if (result.success)
104
+ return result.value;
105
+ throw new ConfigurationError('INVALID_ARGUMENT', `call ${name}: ${describeValidationError(result.error)}; tools {tool: ${JSON.stringify(name)}} shows its arguments`);
106
+ }
107
+ /**
108
+ * The issues a zod (or any standard schema) failure carries, one per line;
109
+ * else the message. The SDK types the failure as a plain `Error`, so the
110
+ * issues are probed on it and on its cause.
111
+ */
112
+ function describeValidationError(error) {
113
+ const issues = issuesOf(error) ?? issuesOf(error.cause);
114
+ if (issues === undefined || issues.length === 0)
115
+ return errorMessage(error);
116
+ return issues
117
+ .map((issue) => {
118
+ const path = Array.isArray(issue.path) && issue.path.length > 0 ? `${issue.path.map(String).join('.')}: ` : '';
119
+ return `${path}${typeof issue.message === 'string' ? issue.message : 'invalid'}`;
120
+ })
121
+ .join('; ');
122
+ }
123
+ function issuesOf(value) {
124
+ if (typeof value !== 'object' || value === null)
125
+ return undefined;
126
+ const issues = value.issues;
127
+ return Array.isArray(issues) ? issues : undefined;
128
+ }
129
+ /** An execute function may stream; the last value is the tool's output. */
130
+ async function resolveOutput(value) {
131
+ if (value !== null && typeof value === 'object' && Symbol.asyncIterator in value) {
132
+ let last;
133
+ for await (const part of value)
134
+ last = part;
135
+ return last;
136
+ }
137
+ return value;
138
+ }
139
+ /**
140
+ * Renders a tool's output the way the tool renders it for a model: text as
141
+ * text, and a `toModelOutput` that yields file parts as images. Anything
142
+ * else is JSON, so a structured output is never lost.
143
+ */
144
+ export async function resultFromOutput(tool, output, input = undefined) {
145
+ if (typeof output === 'string')
146
+ return textResult(output);
147
+ if (tool.toModelOutput !== undefined) {
148
+ const content = contentFromModelOutput(await tool.toModelOutput({ toolCallId: 'mcp', input, output }));
149
+ if (content !== undefined)
150
+ return { content };
151
+ }
152
+ return textResult(output === undefined ? 'Done.' : JSON.stringify(output, null, 2));
153
+ }
154
+ function contentFromModelOutput(output) {
155
+ switch (output.type) {
156
+ case 'text':
157
+ case 'error-text':
158
+ return [{ type: 'text', text: output.value }];
159
+ case 'json':
160
+ case 'error-json':
161
+ return [{ type: 'text', text: JSON.stringify(output.value, null, 2) }];
162
+ case 'content': {
163
+ const parts = [];
164
+ for (const part of output.value) {
165
+ if (part.type === 'text') {
166
+ parts.push({ type: 'text', text: part.text });
167
+ }
168
+ else if (part.type === 'file' && part.data.type === 'data') {
169
+ const data = typeof part.data.data === 'string' ? part.data.data : Buffer.from(new Uint8Array(part.data.data)).toString('base64');
170
+ parts.push({ type: 'image', data, mimeType: part.mediaType });
171
+ }
172
+ }
173
+ return parts.length === 0 ? undefined : parts;
174
+ }
175
+ default:
176
+ return undefined;
177
+ }
178
+ }
179
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,55 @@ export interface BuildReportOptions {
37
37
  serialGroups: readonly SerialGroupRecord[];
38
38
  runErrors: readonly RunError[];
39
39
  targetProvenance: ReadonlyMap<string, TargetProvenance>;
40
+ /** The exploration record of an `e2e explore` run; absent for a test run. */
41
+ explore?: ReportExplore | undefined;
42
+ }
43
+ /** One finding `e2e explore` recorded through its `report_finding` tool. */
44
+ export interface ReportExploreFinding {
45
+ id: string;
46
+ index: number;
47
+ /** One-based exploration step the finding was reported in; absent when reported between steps. */
48
+ step?: number | undefined;
49
+ /** An `issue` fails the run; a `warning` is recorded and does not. */
50
+ kind: 'issue' | 'warning';
51
+ /** 5 = a core journey is impossible or data is wrong, 1 = a polish item. */
52
+ severity: 1 | 2 | 3 | 4 | 5;
53
+ title: string;
54
+ expected: string;
55
+ actual: string;
56
+ reproduction: readonly string[];
57
+ /** Redacted location when the engine reports one. */
58
+ path?: string | undefined;
59
+ observationRevision?: string | undefined;
60
+ reportedAt: string;
61
+ /** The attempt's `screenshot` artifact holding the evidence, by id, when pixels were granted. */
62
+ artifactId?: string | undefined;
63
+ }
64
+ /** One exploration step: a charter the agent planned and then executed as an `agent.act` step. */
65
+ export interface ReportExploreStep {
66
+ index: number;
67
+ title: string;
68
+ instruction: string;
69
+ /** `exhausted`: the step ended at its action or time budget, which is not a failure. */
70
+ status: 'passed' | 'failed' | 'blocked' | 'exhausted';
71
+ summary?: string | undefined;
72
+ errorCode?: string | undefined;
73
+ startedAt: string;
74
+ durationMs: number;
75
+ }
76
+ /** The `run.explore` block: what `e2e explore` was asked, did, and found. */
77
+ export interface ReportExplore {
78
+ goal: string;
79
+ budgets: {
80
+ maxSteps: number;
81
+ timeoutMs: number;
82
+ };
83
+ /** Why exploration stopped. */
84
+ ended: 'finished' | 'step-limit' | 'time' | 'stuck' | 'aborted';
85
+ /** The agent's closing assessment, when it gave one. */
86
+ summary?: string | undefined;
87
+ steps: readonly ReportExploreStep[];
88
+ findings: readonly ReportExploreFinding[];
40
89
  }
41
90
  /** SerializedError minus the stack, which never enters the report. */
42
91
  export interface ReportError {
@@ -114,6 +163,8 @@ export interface ReportSerialGroup {
114
163
  titlePath: readonly string[];
115
164
  targetId: string;
116
165
  platform: string;
166
+ /** The configured agent this variant of the group ran as. */
167
+ agent: string;
117
168
  memberTestIds: readonly string[];
118
169
  status: SerialGroupRecord['status'];
119
170
  skip?: SkipInfo | undefined;
@@ -129,6 +180,12 @@ export interface ReportResult {
129
180
  source: ReportSource;
130
181
  targetId: string;
131
182
  platform: string;
183
+ /**
184
+ * The configured agent the test ran as. A test pinned to several agents,
185
+ * or a run with several `--agent` names, yields one result per agent, each
186
+ * with its own `id`.
187
+ */
188
+ agent: string;
132
189
  serialGroupId?: string | undefined;
133
190
  status: ResultRecord['status'];
134
191
  skip?: SkipInfo | undefined;
@@ -165,6 +222,8 @@ export interface ReportUsage {
165
222
  downloads: number;
166
223
  events: number;
167
224
  modelTokens: number;
225
+ /** Input tokens served from provider prompt caches; present once any step reports the split. */
226
+ modelCachedTokens?: number;
168
227
  maxModelCallsInStep: number;
169
228
  maxActionStepsInStep: number;
170
229
  estimatedCostUsd?: number;
@@ -209,6 +268,8 @@ export interface Report1Document {
209
268
  summary: ReportSummary;
210
269
  limits: ReportLimits;
211
270
  usage: ReportUsage;
271
+ /** Present on an `e2e explore` run only. */
272
+ explore?: ReportExplore | undefined;
212
273
  };
213
274
  }
214
275
  /** Builds the complete report-1 document. */
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/report/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/report/build.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAGtC,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGlF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EAAkB,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAmB,MAAM,uBAAuB,CAAC;AAIxF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,QAAQ,EAER,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,aAAa,EACb,UAAU,EACV,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,gBAAgB,CAAA;KAAE,CAAC;IACxE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,EAAE,sBAAsB,EAAE,CAAC;IAC/C,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,gBAAgB,CAkBvE;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;IACtD,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAClC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IACjC,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC3C,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxD,6EAA6E;IAC7E,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACrC;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,kGAAkG;IAClG,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,sEAAsE;IACtE,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,4EAA4E;IAC5E,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,kGAAkG;AAClG,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,+BAA+B;IAC/B,KAAK,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAChE,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACpC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC3C;AAMD,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,cAAc,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC/C,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACxE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAClC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAClC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B;AAED,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;IACrC,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,eAAe,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,eAAe,EAAE,SAAS,WAAW,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,gBAAgB,CAAA;KAAE,CAAC;IACxE,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,gGAAgG;IAChG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,UAAU,CAAC;IAC1B,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,KAAK,CAAC;QACnB,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;QACjD,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACzC,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9C,WAAW,EAAE;YACX,EAAE,EAAE,OAAO,CAAC;YACZ,gBAAgB,EAAE,OAAO,CAAC;YAC1B,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;QACjC,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;QAC3C,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;QACjC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;QAC/B,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,EAAE,YAAY,CAAC;QACrB,KAAK,EAAE,WAAW,CAAC;QACnB,4CAA4C;QAC5C,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;KACrC,CAAC;CACH;AAsSD,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,eAAe,CA4DxE"}
@@ -103,6 +103,7 @@ function serializeSerialGroup(group) {
103
103
  titlePath: group.titlePath,
104
104
  targetId: group.targetId,
105
105
  platform: group.platform,
106
+ agent: group.agent,
106
107
  memberTestIds: group.memberTestIds,
107
108
  status: group.status,
108
109
  skip: group.status === 'skipped' ? group.skip : undefined,
@@ -111,7 +112,7 @@ function serializeSerialGroup(group) {
111
112
  }
112
113
  function serializeResult(config, result) {
113
114
  return {
114
- id: resultId(result.test.id, result.target.name),
115
+ id: resultId(result.test.id, result.target.name, result.agent),
115
116
  testId: result.test.id,
116
117
  kind: result.test.kind,
117
118
  declarationIndex: result.test.declarationIndex,
@@ -120,6 +121,7 @@ function serializeResult(config, result) {
120
121
  source: relativeSource(config, result.test.source, result.test.file),
121
122
  targetId: result.target.name,
122
123
  platform: result.target.platform,
124
+ agent: result.agent,
123
125
  serialGroupId: result.serialGroupId,
124
126
  status: result.status,
125
127
  skip: result.status === 'skipped' ? result.skip : undefined,
@@ -237,6 +239,7 @@ function computeUsage(options) {
237
239
  };
238
240
  let cost = 0;
239
241
  let costSeen = false;
242
+ let cachedTokens;
240
243
  const countStep = (step) => {
241
244
  usage.events += step.events.length;
242
245
  const metrics = step.metrics;
@@ -250,6 +253,9 @@ function computeUsage(options) {
250
253
  const model = step.model;
251
254
  if (model !== undefined) {
252
255
  usage.modelTokens = Math.min(Number.MAX_SAFE_INTEGER, usage.modelTokens + model.inputTokens + model.outputTokens);
256
+ if (model.cacheReadTokens !== undefined) {
257
+ cachedTokens = Math.min(Number.MAX_SAFE_INTEGER, (cachedTokens ?? 0) + model.cacheReadTokens);
258
+ }
253
259
  if (model.estimatedCostUsd !== undefined) {
254
260
  cost += model.estimatedCostUsd;
255
261
  costSeen = true;
@@ -279,7 +285,11 @@ function computeUsage(options) {
279
285
  }
280
286
  }
281
287
  }
282
- return costSeen && Number.isFinite(cost) ? { ...usage, estimatedCostUsd: cost } : usage;
288
+ return {
289
+ ...usage,
290
+ ...(cachedTokens === undefined ? {} : { modelCachedTokens: cachedTokens }),
291
+ ...(costSeen && Number.isFinite(cost) ? { estimatedCostUsd: cost } : {}),
292
+ };
283
293
  }
284
294
  /** Builds the complete report-1 document. */
285
295
  export function buildReport(options) {
@@ -333,6 +343,7 @@ export function buildReport(options) {
333
343
  serialGroups: options.serialGroups,
334
344
  discovered: summary.discovered,
335
345
  }),
346
+ ...(options.explore === undefined ? {} : { explore: options.explore }),
336
347
  },
337
348
  };
338
349
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/report/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/report/build.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug-steps.d.ts","sourceRoot":"","sources":["../../src/report/debug-steps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGzE;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,YAAY,EAAE,SAAS,iBAAiB,EAAE,GACzC,MAAM,CAoDR"}
1
+ {"version":3,"file":"debug-steps.d.ts","sourceRoot":"","sources":["../../src/report/debug-steps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGzE;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,YAAY,EAAE,SAAS,iBAAiB,EAAE,GACzC,MAAM,CAsDR"}
@@ -29,6 +29,7 @@ export function agentStepTable(results, serialGroups) {
29
29
  formatMs(eventMs(step, 'engine')),
30
30
  String(step.model?.calls ?? 0),
31
31
  `${String(step.model?.inputTokens ?? 0)}/${String(step.model?.outputTokens ?? 0)}`,
32
+ cachedShare(step),
32
33
  step.model?.estimatedCostUsd === undefined ? '-' : formatUsd(step.model.estimatedCostUsd),
33
34
  ]);
34
35
  const knownCosts = steps
@@ -47,6 +48,7 @@ export function agentStepTable(results, serialGroups) {
47
48
  'action',
48
49
  'calls',
49
50
  'tokens in/out',
51
+ 'cached',
50
52
  'cost',
51
53
  ], rows, '(no agent steps recorded)');
52
54
  }
@@ -72,6 +74,19 @@ function eventMs(step, kind) {
72
74
  .filter((event) => event.kind === kind)
73
75
  .reduce((total, event) => total + event.durationMs, 0);
74
76
  }
77
+ /**
78
+ * The share of the step's input the provider served from its prompt cache,
79
+ * `38% (5700)`; `-` when the provider reports no cache split.
80
+ */
81
+ function cachedShare(step) {
82
+ const model = step.model;
83
+ if (model?.cacheReadTokens === undefined)
84
+ return '-';
85
+ if (model.inputTokens === 0)
86
+ return '0%';
87
+ const share = Math.round((model.cacheReadTokens / model.inputTokens) * 100);
88
+ return `${String(share)}% (${String(model.cacheReadTokens)})`;
89
+ }
75
90
  function truncate(value, maxLength) {
76
91
  if (value.length <= maxLength)
77
92
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"debug-steps.js","sourceRoot":"","sources":["../../src/report/debug-steps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIvD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAgC,EAChC,YAA0C;IAE1C,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,KAAK;SACF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;SACpG,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAC3D,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAEpC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QACxF,GAAG,CAAC,WAAW;YACb,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjF,CAAC,CAAC,EAAE,CAAC;QACP,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACtC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC;QAC9B,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC,EAAE;QAClF,IAAI,CAAC,KAAK,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;KAC1F,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,KAAK;SACrB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC;SAC3C,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACxD,MAAM,KAAK,GACT,UAAU,CAAC,MAAM,KAAK,CAAC;QACrB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,WAAW,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,GACnE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAC3C,EAAE,CAAC;IACT,MAAM,WAAW,GAAG,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAE9F,OAAO,KAAK,CACV,2CAA2C,WAAW,GAAG,KAAK,GAAG,EACjE;QACE,MAAM;QACN,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO;QACP,OAAO;QACP,SAAS;QACT,QAAQ;QACR,OAAO;QACP,eAAe;QACf,MAAM;KACP,EACD,IAAI,EACJ,2BAA2B,CAC5B,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,SAAS,iBAAiB,CACxB,OAAgC,EAChC,YAA0C;IAE1C,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,IAAgB,EAAE,IAAwC;IACzE,OAAO,IAAI,CAAC,MAAM;SACf,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;SACtC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,SAAiB;IAChD,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,MAAM,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtF,OAAO,IAAI,OAAO,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"debug-steps.js","sourceRoot":"","sources":["../../src/report/debug-steps.ts"],"names":[],"mappings":"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"}
@@ -61,7 +61,12 @@ export declare function fileOutcome(counters: Counters): 'passed' | 'failed' | '
61
61
  export declare function stateString(pc: Colors, counters: Counters): string;
62
62
  export interface AiUsage {
63
63
  calls: number;
64
+ /** Input plus output tokens. */
64
65
  tokens: number;
66
+ /** Input tokens alone; the denominator of the cached share. */
67
+ inputTokens: number;
68
+ /** Input tokens the provider served from its prompt cache; part of `inputTokens`. */
69
+ cachedTokens: number;
65
70
  costUsd: number | undefined;
66
71
  }
67
72
  export declare function emptyUsage(): AiUsage;
@@ -72,8 +77,32 @@ export declare function stepsUsage(stepLists: readonly (readonly StepRecord[])[]
72
77
  export declare function sumUsage(items: readonly {
73
78
  readonly usage: AiUsage;
74
79
  }[]): AiUsage;
75
- /** Tokens and cost, `12.4k tokens · $0.01`, or undefined when no model was used. */
80
+ /**
81
+ * Tokens, cached share, and cost, `12.4k tokens · 38% cached · $0.01`, or
82
+ * undefined when no model was used. The cached share is the part of the input
83
+ * the provider served from its prompt cache, and appears only when that part
84
+ * is not empty.
85
+ */
76
86
  export declare function usageText(usage: AiUsage): string | undefined;
87
+ /**
88
+ * How the trace cache handled a run's agent steps, by step: replayed whole
89
+ * with no model turn, replayed in part before the model took over, or missed.
90
+ * A run with the cache off records no cache detail and tallies nothing.
91
+ */
92
+ export interface CacheTally {
93
+ replayed: number;
94
+ handedOff: number;
95
+ missed: number;
96
+ }
97
+ export declare function emptyCacheTally(): CacheTally;
98
+ export declare function addCacheTally(into: CacheTally, counts: CacheTally): void;
99
+ /** The trace cache's part in several step lists, by step. */
100
+ export declare function stepsCacheTally(stepLists: readonly (readonly StepRecord[])[]): CacheTally;
101
+ /**
102
+ * `9 replayed · 2 handed off · 4 missed`, zero counts left out, or undefined
103
+ * when no step went through the trace cache.
104
+ */
105
+ export declare function cacheText(pc: Colors, counts: CacheTally): string | undefined;
77
106
  /** `usageText` labeled `ai …` for lines where nothing else names it. */
78
107
  export declare function aiSegment(usage: AiUsage): string | undefined;
79
108
  /** Printed width of a line, ANSI sequences excluded. */