@e2edev/e2e 0.11.0 → 0.13.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 (344) hide show
  1. package/README.md +7 -7
  2. package/dist/agent/act.d.ts +43 -9
  3. package/dist/agent/act.d.ts.map +1 -1
  4. package/dist/agent/act.js +126 -734
  5. package/dist/agent/act.js.map +1 -1
  6. package/dist/agent/action-dispatcher.d.ts +98 -0
  7. package/dist/agent/action-dispatcher.d.ts.map +1 -0
  8. package/dist/agent/action-dispatcher.js +319 -0
  9. package/dist/agent/action-dispatcher.js.map +1 -0
  10. package/dist/agent/actions.d.ts +16 -1
  11. package/dist/agent/actions.d.ts.map +1 -1
  12. package/dist/agent/actions.js +5 -1
  13. package/dist/agent/actions.js.map +1 -1
  14. package/dist/agent/default-agent.d.ts +17 -8
  15. package/dist/agent/default-agent.d.ts.map +1 -1
  16. package/dist/agent/default-agent.js +65 -43
  17. package/dist/agent/default-agent.js.map +1 -1
  18. package/dist/agent/executor.d.ts +30 -2
  19. package/dist/agent/executor.d.ts.map +1 -1
  20. package/dist/agent/executor.js.map +1 -1
  21. package/dist/agent/index.js +1 -1
  22. package/dist/agent/index.js.map +1 -1
  23. package/dist/agent/interactive-step.d.ts +38 -0
  24. package/dist/agent/interactive-step.d.ts.map +1 -0
  25. package/dist/agent/interactive-step.js +131 -0
  26. package/dist/agent/interactive-step.js.map +1 -0
  27. package/dist/agent/invocation.d.ts +4 -9
  28. package/dist/agent/invocation.d.ts.map +1 -1
  29. package/dist/agent/invocation.js +1 -6
  30. package/dist/agent/invocation.js.map +1 -1
  31. package/dist/agent/model/sdk.d.ts +1 -1
  32. package/dist/agent/model/sdk.js +1 -1
  33. package/dist/agent/model/tool-choice.d.ts +21 -0
  34. package/dist/agent/model/tool-choice.d.ts.map +1 -0
  35. package/dist/agent/model/tool-choice.js +49 -0
  36. package/dist/agent/model/tool-choice.js.map +1 -0
  37. package/dist/agent/observation-feed.d.ts +123 -0
  38. package/dist/agent/observation-feed.d.ts.map +1 -0
  39. package/dist/agent/observation-feed.js +281 -0
  40. package/dist/agent/observation-feed.js.map +1 -0
  41. package/dist/agent/observation.d.ts +14 -1
  42. package/dist/agent/observation.d.ts.map +1 -1
  43. package/dist/agent/observation.js +58 -2
  44. package/dist/agent/observation.js.map +1 -1
  45. package/dist/agent/operation-queue.d.ts +21 -0
  46. package/dist/agent/operation-queue.d.ts.map +1 -0
  47. package/dist/agent/operation-queue.js +27 -0
  48. package/dist/agent/operation-queue.js.map +1 -0
  49. package/dist/agent/pixels.d.ts +21 -0
  50. package/dist/agent/pixels.d.ts.map +1 -0
  51. package/dist/agent/pixels.js +85 -0
  52. package/dist/agent/pixels.js.map +1 -0
  53. package/dist/agent/point-tap.d.ts +52 -0
  54. package/dist/agent/point-tap.d.ts.map +1 -0
  55. package/dist/agent/point-tap.js +88 -0
  56. package/dist/agent/point-tap.js.map +1 -0
  57. package/dist/agent/primitives.d.ts +7 -1
  58. package/dist/agent/primitives.d.ts.map +1 -1
  59. package/dist/agent/primitives.js +96 -25
  60. package/dist/agent/primitives.js.map +1 -1
  61. package/dist/agent/replay.d.ts +8 -3
  62. package/dist/agent/replay.d.ts.map +1 -1
  63. package/dist/agent/replay.js +44 -15
  64. package/dist/agent/replay.js.map +1 -1
  65. package/dist/agent/screen-update.d.ts +50 -18
  66. package/dist/agent/screen-update.d.ts.map +1 -1
  67. package/dist/agent/screen-update.js +76 -94
  68. package/dist/agent/screen-update.js.map +1 -1
  69. package/dist/agent/step-accounting.d.ts +95 -0
  70. package/dist/agent/step-accounting.d.ts.map +1 -0
  71. package/dist/agent/step-accounting.js +201 -0
  72. package/dist/agent/step-accounting.js.map +1 -0
  73. package/dist/agent/step-cache.d.ts.map +1 -1
  74. package/dist/agent/step-cache.js +2 -2
  75. package/dist/agent/step-cache.js.map +1 -1
  76. package/dist/agent/tool-loop.d.ts +4 -4
  77. package/dist/agent/tool-loop.d.ts.map +1 -1
  78. package/dist/agent/tool-loop.js +109 -25
  79. package/dist/agent/tool-loop.js.map +1 -1
  80. package/dist/agent/transcript-compaction.d.ts +38 -0
  81. package/dist/agent/transcript-compaction.d.ts.map +1 -0
  82. package/dist/agent/transcript-compaction.js +165 -0
  83. package/dist/agent/transcript-compaction.js.map +1 -0
  84. package/dist/cache/recorder.d.ts.map +1 -1
  85. package/dist/cache/recorder.js +20 -0
  86. package/dist/cache/recorder.js.map +1 -1
  87. package/dist/cache/trace.d.ts +28 -1
  88. package/dist/cache/trace.d.ts.map +1 -1
  89. package/dist/cache/trace.js +44 -0
  90. package/dist/cache/trace.js.map +1 -1
  91. package/dist/cli/docs-url.d.ts +1 -1
  92. package/dist/cli/docs-url.d.ts.map +1 -1
  93. package/dist/cli/docs-url.js +1 -1
  94. package/dist/cli/docs-url.js.map +1 -1
  95. package/dist/cli/index.d.ts.map +1 -1
  96. package/dist/cli/index.js +71 -26
  97. package/dist/cli/index.js.map +1 -1
  98. package/dist/cli/init/engine-versions.json +1 -1
  99. package/dist/cli/init/engines.d.ts +26 -16
  100. package/dist/cli/init/engines.d.ts.map +1 -1
  101. package/dist/cli/init/engines.js +33 -24
  102. package/dist/cli/init/engines.js.map +1 -1
  103. package/dist/cli/init/gateways.js +3 -3
  104. package/dist/cli/init/mcp-config.d.ts +31 -0
  105. package/dist/cli/init/mcp-config.d.ts.map +1 -0
  106. package/dist/cli/init/mcp-config.js +72 -0
  107. package/dist/cli/init/mcp-config.js.map +1 -0
  108. package/dist/cli/init/scaffold.d.ts +1 -1
  109. package/dist/cli/init/scaffold.js +2 -2
  110. package/dist/cli/init/scaffold.js.map +1 -1
  111. package/dist/cli/init.d.ts.map +1 -1
  112. package/dist/cli/init.js +65 -29
  113. package/dist/cli/init.js.map +1 -1
  114. package/dist/cli/mcp.d.ts +15 -0
  115. package/dist/cli/mcp.d.ts.map +1 -0
  116. package/dist/cli/mcp.js +63 -0
  117. package/dist/cli/mcp.js.map +1 -0
  118. package/dist/collect/collect.d.ts +8 -3
  119. package/dist/collect/collect.d.ts.map +1 -1
  120. package/dist/collect/collect.js +29 -5
  121. package/dist/collect/collect.js.map +1 -1
  122. package/dist/collect/registry.d.ts +20 -5
  123. package/dist/collect/registry.d.ts.map +1 -1
  124. package/dist/collect/registry.js +162 -56
  125. package/dist/collect/registry.js.map +1 -1
  126. package/dist/collect/select.d.ts +9 -2
  127. package/dist/collect/select.d.ts.map +1 -1
  128. package/dist/collect/select.js +60 -12
  129. package/dist/collect/select.js.map +1 -1
  130. package/dist/config/agent.d.ts +1 -7
  131. package/dist/config/agent.d.ts.map +1 -1
  132. package/dist/config/agent.js +5 -8
  133. package/dist/config/agent.js.map +1 -1
  134. package/dist/config/app.d.ts +24 -2
  135. package/dist/config/app.d.ts.map +1 -1
  136. package/dist/config/app.js +82 -15
  137. package/dist/config/app.js.map +1 -1
  138. package/dist/config/resolve.d.ts +23 -6
  139. package/dist/config/resolve.d.ts.map +1 -1
  140. package/dist/config/resolve.js +34 -14
  141. package/dist/config/resolve.js.map +1 -1
  142. package/dist/credentials.d.ts +6 -0
  143. package/dist/credentials.d.ts.map +1 -1
  144. package/dist/credentials.js +9 -0
  145. package/dist/credentials.js.map +1 -1
  146. package/dist/engine/contract.d.ts +9 -2
  147. package/dist/engine/contract.d.ts.map +1 -1
  148. package/dist/engine/contract.js.map +1 -1
  149. package/dist/engine/index.d.ts +18 -4
  150. package/dist/engine/index.d.ts.map +1 -1
  151. package/dist/engine/index.js +8 -0
  152. package/dist/engine/index.js.map +1 -1
  153. package/dist/engine/session.d.ts.map +1 -1
  154. package/dist/engine/session.js +3 -0
  155. package/dist/engine/session.js.map +1 -1
  156. package/dist/engine/surface.d.ts +6 -2
  157. package/dist/engine/surface.d.ts.map +1 -1
  158. package/dist/engine/surface.js.map +1 -1
  159. package/dist/expect/attempt.d.ts +15 -0
  160. package/dist/expect/attempt.d.ts.map +1 -0
  161. package/dist/expect/attempt.js +33 -0
  162. package/dist/expect/attempt.js.map +1 -0
  163. package/dist/expect/index.d.ts +7 -5
  164. package/dist/expect/index.d.ts.map +1 -1
  165. package/dist/expect/index.js +8 -1
  166. package/dist/expect/index.js.map +1 -1
  167. package/dist/expect/poll.d.ts +5 -0
  168. package/dist/expect/poll.d.ts.map +1 -0
  169. package/dist/expect/poll.js +118 -0
  170. package/dist/expect/poll.js.map +1 -0
  171. package/dist/expect/values.d.ts.map +1 -1
  172. package/dist/expect/values.js +6 -1
  173. package/dist/expect/values.js.map +1 -1
  174. package/dist/explore/body.d.ts.map +1 -1
  175. package/dist/explore/body.js +2 -0
  176. package/dist/explore/body.js.map +1 -1
  177. package/dist/explore/executor.js +16 -11
  178. package/dist/explore/executor.js.map +1 -1
  179. package/dist/explore/index.d.ts +3 -2
  180. package/dist/explore/index.d.ts.map +1 -1
  181. package/dist/explore/index.js +11 -9
  182. package/dist/explore/index.js.map +1 -1
  183. package/dist/explore/plan.d.ts.map +1 -1
  184. package/dist/explore/plan.js +16 -5
  185. package/dist/explore/plan.js.map +1 -1
  186. package/dist/explore/progress.d.ts +43 -0
  187. package/dist/explore/progress.d.ts.map +1 -0
  188. package/dist/explore/progress.js +9 -0
  189. package/dist/explore/progress.js.map +1 -0
  190. package/dist/explore/state.d.ts +13 -12
  191. package/dist/explore/state.d.ts.map +1 -1
  192. package/dist/explore/state.js +28 -11
  193. package/dist/explore/state.js.map +1 -1
  194. package/dist/internal/ai-trace.d.ts +2 -0
  195. package/dist/internal/ai-trace.d.ts.map +1 -1
  196. package/dist/internal/ai-trace.js +3 -0
  197. package/dist/internal/ai-trace.js.map +1 -1
  198. package/dist/internal/brands.d.ts +2 -0
  199. package/dist/internal/brands.d.ts.map +1 -1
  200. package/dist/internal/brands.js +2 -0
  201. package/dist/internal/brands.js.map +1 -1
  202. package/dist/internal/geometry.d.ts +13 -0
  203. package/dist/internal/geometry.d.ts.map +1 -0
  204. package/dist/internal/geometry.js +16 -0
  205. package/dist/internal/geometry.js.map +1 -0
  206. package/dist/internal/ids.d.ts +2 -2
  207. package/dist/internal/ids.d.ts.map +1 -1
  208. package/dist/internal/ids.js +3 -3
  209. package/dist/internal/ids.js.map +1 -1
  210. package/dist/internal/package-manager.d.ts +4 -0
  211. package/dist/internal/package-manager.d.ts.map +1 -1
  212. package/dist/internal/package-manager.js +26 -0
  213. package/dist/internal/package-manager.js.map +1 -1
  214. package/dist/internal/urls.d.ts +6 -0
  215. package/dist/internal/urls.d.ts.map +1 -1
  216. package/dist/internal/urls.js +28 -0
  217. package/dist/internal/urls.js.map +1 -1
  218. package/dist/mcp/catalog.d.ts +51 -0
  219. package/dist/mcp/catalog.d.ts.map +1 -0
  220. package/dist/mcp/catalog.js +141 -0
  221. package/dist/mcp/catalog.js.map +1 -0
  222. package/dist/mcp/config.d.ts +11 -0
  223. package/dist/mcp/config.d.ts.map +1 -0
  224. package/dist/mcp/config.js +16 -0
  225. package/dist/mcp/config.js.map +1 -0
  226. package/dist/mcp/server.d.ts +29 -0
  227. package/dist/mcp/server.d.ts.map +1 -0
  228. package/dist/mcp/server.js +86 -0
  229. package/dist/mcp/server.js.map +1 -0
  230. package/dist/mcp/session.d.ts +68 -0
  231. package/dist/mcp/session.d.ts.map +1 -0
  232. package/dist/mcp/session.js +319 -0
  233. package/dist/mcp/session.js.map +1 -0
  234. package/dist/mcp/tools.d.ts +77 -0
  235. package/dist/mcp/tools.d.ts.map +1 -0
  236. package/dist/mcp/tools.js +179 -0
  237. package/dist/mcp/tools.js.map +1 -0
  238. package/dist/report/build.d.ts +8 -0
  239. package/dist/report/build.d.ts.map +1 -1
  240. package/dist/report/build.js +3 -1
  241. package/dist/report/build.js.map +1 -1
  242. package/dist/report/format.d.ts +19 -0
  243. package/dist/report/format.d.ts.map +1 -1
  244. package/dist/report/format.js +42 -0
  245. package/dist/report/format.js.map +1 -1
  246. package/dist/report/junit.d.ts.map +1 -1
  247. package/dist/report/junit.js +4 -1
  248. package/dist/report/junit.js.map +1 -1
  249. package/dist/report/list-explore.d.ts +109 -0
  250. package/dist/report/list-explore.d.ts.map +1 -0
  251. package/dist/report/list-explore.js +388 -0
  252. package/dist/report/list-explore.js.map +1 -0
  253. package/dist/report/list.d.ts +31 -1
  254. package/dist/report/list.d.ts.map +1 -1
  255. package/dist/report/list.js +114 -16
  256. package/dist/report/list.js.map +1 -1
  257. package/dist/report/running-tree.d.ts +7 -7
  258. package/dist/report/running-tree.d.ts.map +1 -1
  259. package/dist/report/running-tree.js +12 -13
  260. package/dist/report/running-tree.js.map +1 -1
  261. package/dist/run/app-ports.d.ts +17 -0
  262. package/dist/run/app-ports.d.ts.map +1 -0
  263. package/dist/run/app-ports.js +74 -0
  264. package/dist/run/app-ports.js.map +1 -0
  265. package/dist/run/events.d.ts +21 -7
  266. package/dist/run/events.d.ts.map +1 -1
  267. package/dist/run/events.js.map +1 -1
  268. package/dist/run/execute.d.ts +2 -2
  269. package/dist/run/execute.d.ts.map +1 -1
  270. package/dist/run/execute.js +42 -20
  271. package/dist/run/execute.js.map +1 -1
  272. package/dist/run/extended-fixtures.d.ts +33 -0
  273. package/dist/run/extended-fixtures.d.ts.map +1 -0
  274. package/dist/run/extended-fixtures.js +91 -0
  275. package/dist/run/extended-fixtures.js.map +1 -0
  276. package/dist/run/fixtures.d.ts +10 -4
  277. package/dist/run/fixtures.d.ts.map +1 -1
  278. package/dist/run/fixtures.js +40 -27
  279. package/dist/run/fixtures.js.map +1 -1
  280. package/dist/run/in-process.d.ts.map +1 -1
  281. package/dist/run/in-process.js +4 -3
  282. package/dist/run/in-process.js.map +1 -1
  283. package/dist/run/managed-process.d.ts +18 -0
  284. package/dist/run/managed-process.d.ts.map +1 -1
  285. package/dist/run/managed-process.js +101 -6
  286. package/dist/run/managed-process.js.map +1 -1
  287. package/dist/run/provision.d.ts +51 -0
  288. package/dist/run/provision.d.ts.map +1 -0
  289. package/dist/run/provision.js +94 -0
  290. package/dist/run/provision.js.map +1 -0
  291. package/dist/run/realm.d.ts +5 -4
  292. package/dist/run/realm.d.ts.map +1 -1
  293. package/dist/run/realm.js +8 -7
  294. package/dist/run/realm.js.map +1 -1
  295. package/dist/run/records.d.ts +4 -0
  296. package/dist/run/records.d.ts.map +1 -1
  297. package/dist/run/runner.d.ts +14 -5
  298. package/dist/run/runner.d.ts.map +1 -1
  299. package/dist/run/runner.js +28 -71
  300. package/dist/run/runner.js.map +1 -1
  301. package/dist/run/scheduler.d.ts +5 -2
  302. package/dist/run/scheduler.d.ts.map +1 -1
  303. package/dist/run/scheduler.js +13 -10
  304. package/dist/run/scheduler.js.map +1 -1
  305. package/dist/run/serial.d.ts +1 -1
  306. package/dist/run/serial.d.ts.map +1 -1
  307. package/dist/run/serial.js +7 -2
  308. package/dist/run/serial.js.map +1 -1
  309. package/dist/run/standalone.d.ts +63 -0
  310. package/dist/run/standalone.d.ts.map +1 -0
  311. package/dist/run/standalone.js +152 -0
  312. package/dist/run/standalone.js.map +1 -0
  313. package/dist/run/units.d.ts +6 -3
  314. package/dist/run/units.d.ts.map +1 -1
  315. package/dist/run/units.js +0 -0
  316. package/dist/run/units.js.map +1 -1
  317. package/dist/run/worker/entry.js +4 -3
  318. package/dist/run/worker/entry.js.map +1 -1
  319. package/dist/run/worker/protocol.d.ts +12 -1
  320. package/dist/run/worker/protocol.d.ts.map +1 -1
  321. package/dist/run/worker/protocol.js.map +1 -1
  322. package/dist/run/worker/session.d.ts +3 -4
  323. package/dist/run/worker/session.d.ts.map +1 -1
  324. package/dist/run/worker/session.js +5 -4
  325. package/dist/run/worker/session.js.map +1 -1
  326. package/dist/types.d.ts +77 -17
  327. package/dist/types.d.ts.map +1 -1
  328. package/package.json +11 -7
  329. package/skills/e2e/SKILL.md +9 -7
  330. package/skills/e2e/references/agent.md +27 -12
  331. package/skills/e2e/references/debugging.md +5 -5
  332. package/skills/e2e/references/explore.md +15 -9
  333. package/skills/e2e/references/mcp.md +88 -0
  334. package/skills/e2e/references/running.md +23 -18
  335. package/skills/e2e/references/setup.md +32 -18
  336. package/skills/e2e/references/writing-tests.md +12 -5
  337. package/dist/agent/model/router.d.ts +0 -36
  338. package/dist/agent/model/router.d.ts.map +0 -1
  339. package/dist/agent/model/router.js +0 -45
  340. package/dist/agent/model/router.js.map +0 -1
  341. package/dist/explore/reporter.d.ts +0 -11
  342. package/dist/explore/reporter.d.ts.map +0 -1
  343. package/dist/explore/reporter.js +0 -54
  344. package/dist/explore/reporter.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/agent/replay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/agent/replay.ts"],"names":[],"mappings":"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"}
@@ -8,13 +8,17 @@
8
8
  * saw earlier still names the same element, and a diff is a complete update
9
9
  * rather than a hint. A screen that changed mostly goes out whole again.
10
10
  *
11
- * Every full screen the transcript carries is a candidate for elision once
12
- * newer full screens supersede it; diffs are small and stay. That keeps the
13
- * conversation prefix stable turn after turn, which is what lets a provider
14
- * serve the resent context from its prompt cache.
11
+ * A screen may carry its pixels too. The presenter is where a screenshot
12
+ * joins the text: it notes the image's size and coordinate space under the
13
+ * screen, remembers that the model now holds pixels (from then on the step is
14
+ * in pixel mode and an unchanged tree is not a failed action), and explains
15
+ * once why pixels the step asked for were withheld. The transcript-side
16
+ * elision of superseded screens and screenshots lives in
17
+ * `transcript-compaction.ts`.
15
18
  */
16
- import type { ModelMessage } from 'ai';
17
- import type { ExecutorObservation } from './executor.ts';
19
+ import type { ExecutorObservation, ExecutorPixels } from './executor.ts';
20
+ /** Every full screen is introduced by this phrase; the transcript elision looks for it. */
21
+ export declare const FULL_SCREEN_PATTERN: RegExp;
18
22
  /** How a screen update reads: the lead line names the action it follows. */
19
23
  export interface ScreenUpdateOptions {
20
24
  /** Prose placed before the screen, such as `Tapped #n16.`. */
@@ -26,9 +30,31 @@ export interface ScreenUpdateOptions {
26
30
  */
27
31
  readonly expectChange?: boolean | undefined;
28
32
  }
33
+ /** The screenshot the model holds newest, and the viewport it was taken of. */
34
+ export interface ShownScreenshot {
35
+ readonly pixels: ExecutorPixels;
36
+ readonly viewport: ExecutorObservation['viewport'];
37
+ }
38
+ /**
39
+ * A rendered screen: text alone, or text with the screenshot the model
40
+ * receives alongside it. The image rides the tool result (or the opening
41
+ * prompt) itself, so the model sees what its action did rather than a
42
+ * description of it.
43
+ */
44
+ export type ScreenOutput = string | {
45
+ readonly text: string;
46
+ readonly pixels: ExecutorPixels;
47
+ };
48
+ /** True for a rendered screen that carries its screenshot. */
49
+ export declare function isScreenOutput(value: unknown): value is Exclude<ScreenOutput, string>;
29
50
  /** Renders one step's screens for the model and remembers what it has seen. */
30
51
  export declare class ScreenPresenter {
31
52
  private shown;
53
+ private screenshot;
54
+ /** True once a screenshot went to the model in this step. */
55
+ get showingPixels(): boolean;
56
+ /** The newest screenshot the model holds; the coordinate space of `tap_at`. */
57
+ get latestScreenshot(): ShownScreenshot | undefined;
32
58
  /** The step's first screen, whole. */
33
59
  initial(observation: ExecutorObservation): string;
34
60
  /**
@@ -36,17 +62,23 @@ export declare class ScreenPresenter {
36
62
  * the changed lines, or the whole screen when most of it changed.
37
63
  */
38
64
  update(observation: ExecutorObservation, options?: ScreenUpdateOptions): string;
65
+ /** The step's first screen, whole, with its screenshot when the observation carries one. */
66
+ open(observation: ExecutorObservation): ScreenOutput;
67
+ /**
68
+ * A later screen as the model reads it: the changes since the screen it
69
+ * holds and, once the step is showing pixels, the screenshot too. In pixel
70
+ * mode an unchanged tree is not a failed action: what the action did may be
71
+ * drawn, not listed, so the screenshot is the evidence and no action is
72
+ * blamed for leaving the tree alone.
73
+ */
74
+ present(observation: ExecutorObservation, options?: ScreenUpdateOptions): ScreenOutput;
75
+ /** Records that a screenshot is going to the model; from here on the step is in pixel mode. */
76
+ private attach;
77
+ /**
78
+ * The rendered screen with its screenshot and the coordinate note, or with
79
+ * the reason the pixels the step asked for did not come, or as is when no
80
+ * pixels were asked for.
81
+ */
82
+ private withScreenshot;
39
83
  }
40
- export interface CompactScreenHistoryOptions {
41
- /** Stale full-screen bytes tolerated before elision; defaults to the cache-friendly budget. */
42
- readonly keepStaleBytes?: number;
43
- }
44
- /**
45
- * Elides full screens the transcript no longer needs: every full screen but
46
- * the newest few is reduced to its lead and a notice, in the opening prompt
47
- * and in tool results alike, once the stale screens together outgrow the
48
- * budget. Diffs are never touched. Returns the input array unchanged when
49
- * nothing qualifies, so the caller can skip the override.
50
- */
51
- export declare function compactScreenHistory(messages: ModelMessage[], options?: CompactScreenHistoryOptions): ModelMessage[];
52
84
  //# sourceMappingURL=screen-update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screen-update.d.ts","sourceRoot":"","sources":["../../src/agent/screen-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AA6BzD,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C;AAED,+EAA+E;AAC/E,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAA0B;IAEvC,sCAAsC;IACtC,OAAO,CAAC,WAAW,EAAE,mBAAmB,GAAG,MAAM,CAGhD;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,mBAAmB,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAsBlF;CACF;AAuGD,MAAM,WAAW,2BAA2B;IAC1C,+FAA+F;IAC/F,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,GAAE,2BAAgC,GACxC,YAAY,EAAE,CAgChB"}
1
+ {"version":3,"file":"screen-update.d.ts","sourceRoot":"","sources":["../../src/agent/screen-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AASzE,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB,QAA+B,CAAC;AAahE,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C;AAED,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;CACpD;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAE/F,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAErF;AAED,+EAA+E;AAC/E,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,UAAU,CAA8B;IAEhD,6DAA6D;IAC7D,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,+EAA+E;IAC/E,IAAI,gBAAgB,IAAI,eAAe,GAAG,SAAS,CAElD;IAED,sCAAsC;IACtC,OAAO,CAAC,WAAW,EAAE,mBAAmB,GAAG,MAAM,CAGhD;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,mBAAmB,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAsBlF;IAED,4FAA4F;IAC5F,IAAI,CAAC,WAAW,EAAE,mBAAmB,GAAG,YAAY,CAGnD;IAED;;;;;;OAMG;IACH,OAAO,CAAC,WAAW,EAAE,mBAAmB,EAAE,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAOzF;IAED,+FAA+F;IAC/F,OAAO,CAAC,MAAM;IAKd;;;;OAIG;IACH,OAAO,CAAC,cAAc;CAMvB"}
@@ -8,26 +8,36 @@
8
8
  * saw earlier still names the same element, and a diff is a complete update
9
9
  * rather than a hint. A screen that changed mostly goes out whole again.
10
10
  *
11
- * Every full screen the transcript carries is a candidate for elision once
12
- * newer full screens supersede it; diffs are small and stay. That keeps the
13
- * conversation prefix stable turn after turn, which is what lets a provider
14
- * serve the resent context from its prompt cache.
11
+ * A screen may carry its pixels too. The presenter is where a screenshot
12
+ * joins the text: it notes the image's size and coordinate space under the
13
+ * screen, remembers that the model now holds pixels (from then on the step is
14
+ * in pixel mode and an unchanged tree is not a failed action), and explains
15
+ * once why pixels the step asked for were withheld. The transcript-side
16
+ * elision of superseded screens and screenshots lives in
17
+ * `transcript-compaction.ts`.
15
18
  */
16
- /**
17
- * How many of the newest full screens stay verbatim in the transcript. One:
18
- * a whole new screen means the page changed mostly, and the screen it
19
- * replaced is dead weight on every later turn. Change updates never elide.
20
- */
21
- const FULL_SCREEN_PRESERVE_COUNT = 1;
22
19
  /** A diff past this many lines goes out as the full screen instead. */
23
20
  const MAX_DIFF_LINES = 60;
24
21
  /** A diff touching more than this share of the new screen goes out whole. */
25
22
  const MAX_DIFF_SHARE = 0.5;
26
- /** Every full screen is introduced by this phrase; the elision looks for it. */
27
- const FULL_SCREEN_PATTERN = /Current screen \(revision /;
23
+ /** Every full screen is introduced by this phrase; the transcript elision looks for it. */
24
+ export const FULL_SCREEN_PATTERN = /Current screen \(revision /;
25
+ /** True for a rendered screen that carries its screenshot. */
26
+ export function isScreenOutput(value) {
27
+ return typeof value === 'object' && value !== null && 'text' in value && 'pixels' in value;
28
+ }
28
29
  /** Renders one step's screens for the model and remembers what it has seen. */
29
30
  export class ScreenPresenter {
30
31
  shown;
32
+ screenshot;
33
+ /** True once a screenshot went to the model in this step. */
34
+ get showingPixels() {
35
+ return this.screenshot !== undefined;
36
+ }
37
+ /** The newest screenshot the model holds; the coordinate space of `tap_at`. */
38
+ get latestScreenshot() {
39
+ return this.screenshot;
40
+ }
31
41
  /** The step's first screen, whole. */
32
42
  initial(observation) {
33
43
  this.shown = indexScreen(observation);
@@ -61,6 +71,60 @@ export class ScreenPresenter {
61
71
  ...diff,
62
72
  ].join('\n');
63
73
  }
74
+ /** The step's first screen, whole, with its screenshot when the observation carries one. */
75
+ open(observation) {
76
+ this.attach(observation);
77
+ return this.withScreenshot(observation, this.initial(observation));
78
+ }
79
+ /**
80
+ * A later screen as the model reads it: the changes since the screen it
81
+ * holds and, once the step is showing pixels, the screenshot too. In pixel
82
+ * mode an unchanged tree is not a failed action: what the action did may be
83
+ * drawn, not listed, so the screenshot is the evidence and no action is
84
+ * blamed for leaving the tree alone.
85
+ */
86
+ present(observation, options = {}) {
87
+ this.attach(observation);
88
+ const text = this.update(observation, {
89
+ lead: options.lead,
90
+ expectChange: this.showingPixels ? false : options.expectChange,
91
+ });
92
+ return this.withScreenshot(observation, text);
93
+ }
94
+ /** Records that a screenshot is going to the model; from here on the step is in pixel mode. */
95
+ attach(observation) {
96
+ if (observation.pixels === undefined)
97
+ return;
98
+ this.screenshot = { pixels: observation.pixels, viewport: observation.viewport };
99
+ }
100
+ /**
101
+ * The rendered screen with its screenshot and the coordinate note, or with
102
+ * the reason the pixels the step asked for did not come, or as is when no
103
+ * pixels were asked for.
104
+ */
105
+ withScreenshot(observation, text) {
106
+ const { pixels } = observation;
107
+ if (pixels !== undefined)
108
+ return { text: `${text}\n\n${screenshotNote(pixels)}`, pixels };
109
+ if (observation.pixelsWithheld === undefined)
110
+ return text;
111
+ return `${text}\n\nNo screenshot: ${withheldAdvice(observation.pixelsWithheld)}`;
112
+ }
113
+ }
114
+ /** The line under a screenshot: its pixel size and the coordinate space `tap_at` reads. */
115
+ function screenshotNote(pixels) {
116
+ return `Screenshot attached: ${String(pixels.width)} by ${String(pixels.height)} pixels${pixels.scale === 1 ? '' : ` (${String(pixels.scale)} per CSS pixel)`}. tap_at takes coordinates in this image: x from the left edge, y from the top edge.`;
117
+ }
118
+ /** Why pixels did not reach the model, and what to do instead. */
119
+ function withheldAdvice(code) {
120
+ switch (code) {
121
+ case 'PIXEL_TAINTED':
122
+ return 'a secret was filled in this attempt, so no pixels leave the runner until it ends (PIXEL_TAINTED). Work from the tree and tap listed nodes by id.';
123
+ case 'MASKING_UNPROVEN':
124
+ return 'the engine could not prove every secure field on screen masked (MASKING_UNPROVEN). Work from the tree and tap listed nodes by id.';
125
+ case 'UNSUPPORTED_CAPABILITY':
126
+ return 'this engine captures no pixels (UNSUPPORTED_CAPABILITY). Work from the tree and tap listed nodes by id.';
127
+ }
64
128
  }
65
129
  /** `2 added, 1 changed, 5 removed`, omitting the kinds that did not happen. */
66
130
  function describeCounts(diff) {
@@ -150,86 +214,4 @@ function diffScreens(previous, next) {
150
214
  }
151
215
  return lines;
152
216
  }
153
- /**
154
- * Bytes of superseded full screens a transcript carries before they are
155
- * elided. Rewriting an earlier message changes the request prefix, and the
156
- * provider's prompt cache serves only an unchanged prefix, so a stale screen
157
- * that still fits under this budget stays verbatim: re-reading it from the
158
- * cache costs a tenth of sending its replacement, and the elision is then
159
- * one batch rather than one rewrite per turn. A two-turn step never elides.
160
- */
161
- const KEEP_STALE_SCREEN_BYTES = 32 * 1024;
162
- /**
163
- * Elides full screens the transcript no longer needs: every full screen but
164
- * the newest few is reduced to its lead and a notice, in the opening prompt
165
- * and in tool results alike, once the stale screens together outgrow the
166
- * budget. Diffs are never touched. Returns the input array unchanged when
167
- * nothing qualifies, so the caller can skip the override.
168
- */
169
- export function compactScreenHistory(messages, options = {}) {
170
- const screens = messages.flatMap((message) => screenParts(message).filter((text) => text !== undefined));
171
- let stale = screens.length - FULL_SCREEN_PRESERVE_COUNT;
172
- if (stale <= 0)
173
- return messages;
174
- const staleBytes = screens.slice(0, stale).reduce((bytes, text) => bytes + Buffer.byteLength(text, 'utf8'), 0);
175
- if (staleBytes <= (options.keepStaleBytes ?? KEEP_STALE_SCREEN_BYTES))
176
- return messages;
177
- return messages.map((message) => {
178
- if (stale <= 0)
179
- return message;
180
- if (message.role === 'user') {
181
- if (typeof message.content === 'string') {
182
- if (!FULL_SCREEN_PATTERN.test(message.content))
183
- return message;
184
- stale -= 1;
185
- return { ...message, content: elideScreen(message.content) };
186
- }
187
- const content = message.content.map((part) => {
188
- if (stale <= 0 || part.type !== 'text' || !FULL_SCREEN_PATTERN.test(part.text))
189
- return part;
190
- stale -= 1;
191
- return { ...part, text: elideScreen(part.text) };
192
- });
193
- return { ...message, content };
194
- }
195
- if (message.role !== 'tool')
196
- return message;
197
- const texts = screenParts(message);
198
- if (!texts.some((text) => text !== undefined))
199
- return message;
200
- const content = message.content.map((part, index) => {
201
- const text = texts[index];
202
- if (text === undefined || stale <= 0)
203
- return part;
204
- stale -= 1;
205
- return { ...part, output: { type: 'text', value: elideScreen(text) } };
206
- });
207
- return { ...message, content };
208
- });
209
- }
210
- /** Everything before the screen, then the notice in place of the tree. */
211
- function elideScreen(text) {
212
- const at = text.search(FULL_SCREEN_PATTERN);
213
- const head = at <= 0 ? (text.split('\n', 1)[0] ?? '') : text.slice(0, at).trimEnd();
214
- return `${head}\n[earlier screen elided; the newest "Current screen" plus the changes after it describe the screen]`;
215
- }
216
- /** Per-part full-screen text of one message; undefined for parts without one. */
217
- function screenParts(message) {
218
- if (message.role === 'user') {
219
- if (typeof message.content === 'string') {
220
- return [FULL_SCREEN_PATTERN.test(message.content) ? message.content : undefined];
221
- }
222
- return message.content.map((part) => part.type === 'text' && FULL_SCREEN_PATTERN.test(part.text) ? part.text : undefined);
223
- }
224
- if (message.role !== 'tool')
225
- return [];
226
- return message.content.map((part) => {
227
- if (part.type !== 'tool-result')
228
- return undefined;
229
- const output = part.output;
230
- if (output.type !== 'text' || typeof output.value !== 'string')
231
- return undefined;
232
- return FULL_SCREEN_PATTERN.test(output.value) ? output.value : undefined;
233
- });
234
- }
235
217
  //# sourceMappingURL=screen-update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"screen-update.js","sourceRoot":"","sources":["../../src/agent/screen-update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screen-update.js","sourceRoot":"","sources":["../../src/agent/screen-update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * The clock, the budgets, and the books of one dispatched agent step.
3
+ *
4
+ * Everything the runtime enforces against an executor is enforced here and
5
+ * nowhere else: the deadline and the signal that ends the step, the action
6
+ * and model-call budgets, the metrics the report carries, and the first hard
7
+ * stop, which outranks whatever the executor says afterwards. The observation
8
+ * feed, the action dispatcher, and the pixel tier all borrow this object;
9
+ * none of them keeps a count of its own.
10
+ */
11
+ import type { OperationContext } from '../engine/surface.ts';
12
+ import type { Deadline } from '../internal/time.ts';
13
+ import type { StepMetrics, StepModelInfo } from '../run/steps.ts';
14
+ import type { AgentErrorCode } from '../types.ts';
15
+ import { AgentError } from './error.ts';
16
+ import type { ExecutorModelCall, StepExecutor } from './executor.ts';
17
+ import type { AgentContext } from './invocation.ts';
18
+ import { ModelUsage } from './usage.ts';
19
+ export interface StepAccountingOptions {
20
+ /** Public API name of the step, e.g. `agent.act`, for every message it raises. */
21
+ readonly api: string;
22
+ readonly timeoutMs: number;
23
+ readonly maxActions: number;
24
+ readonly maxModelCalls: number;
25
+ /** Bytes of trusted agent context every model turn resends; a fixed cost the metrics carry. */
26
+ readonly contextBytes: number;
27
+ }
28
+ export declare class StepAccounting {
29
+ private readonly runtime;
30
+ readonly api: string;
31
+ readonly timeoutMs: number;
32
+ readonly maxActions: number;
33
+ readonly maxModelCalls: number;
34
+ readonly deadline: Deadline;
35
+ /**
36
+ * The one signal everything inside the step aborts with: the attempt's
37
+ * cancellation or the step's own hard stop. Built once so the executor
38
+ * context, the replay host, and the settle clock can never disagree about
39
+ * what "the step's signal" means.
40
+ */
41
+ readonly signal: AbortSignal;
42
+ readonly metrics: StepMetrics;
43
+ readonly usage: ModelUsage;
44
+ /** Aborts the executor on any hard stop, so a step never outlives its clock. */
45
+ private readonly stepAbort;
46
+ /** First budget/timeout/cancel failure; runtime truth outranks the verdict. */
47
+ private firstHardStop;
48
+ /** Set by `close()`: late executor accounting must not land on the next step. */
49
+ private ended;
50
+ private modelProvider;
51
+ private modelId;
52
+ constructor(runtime: AgentContext, options: StepAccountingOptions);
53
+ get hardStop(): AgentError | undefined;
54
+ get closed(): boolean;
55
+ /** Closes the books; anything reported afterwards belongs to no step. */
56
+ close(): void;
57
+ remainingMs(): number;
58
+ /**
59
+ * Records the first hard stop. Timeout and cancellation also abort the step
60
+ * signal — there is nothing left for the executor to say. Budget exhaustion
61
+ * does not: the executor may still catch it and conclude with its own
62
+ * analysis (which the verdict mapping stamps with the runtime code), bounded
63
+ * by the deadline either way.
64
+ */
65
+ fatalize(error: AgentError): AgentError;
66
+ /** Fails when the step is cancelled or out of time; records the hard stop. */
67
+ checkpoint(cause?: unknown): void;
68
+ /** Claims a mutation slot before any side effect, for grammar actions and project tools alike. */
69
+ reserveAction(): void;
70
+ /**
71
+ * Counts and accounts one executor-made model call. The budget is enforced:
72
+ * the call past the limit records, then hard-stops the step.
73
+ */
74
+ recordModelCall(usage: ExecutorModelCall | undefined): void;
75
+ private countModelCall;
76
+ /** One engine operation: `actionTimeout`, capped by the step clock. */
77
+ operation(): OperationContext;
78
+ /** The operation context of one targeted action; see MAX_TARGETED_ACTION_MS. */
79
+ actionOperation(): OperationContext;
80
+ /**
81
+ * Whether the runtime's own accounting corroborates a runtime code. Codes
82
+ * are runtime-assigned: the recorded hard stop vouches directly, and the
83
+ * clock, the budgets, and the abort signal vouch for an executor that
84
+ * observed exhaustion before the context machinery did.
85
+ */
86
+ vouches(code: AgentErrorCode): boolean;
87
+ /**
88
+ * The step's model calls for the report, or undefined when there were
89
+ * none. The executor is the authority on which model answered; an executor
90
+ * that reports nothing is still identified, so a step's model calls are
91
+ * never attributed to the wrong tier.
92
+ */
93
+ modelInfo(executor: Pick<StepExecutor, 'name' | 'version'>): StepModelInfo | undefined;
94
+ }
95
+ //# sourceMappingURL=step-accounting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-accounting.d.ts","sourceRoot":"","sources":["../../src/agent/step-accounting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAe,MAAM,YAAY,CAAC;AAcrD,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,+FAA+F;IAC/F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,cAAc;IA+BvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA9B1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAM3B;IACF,QAAQ,CAAC,KAAK,aAAoB;IAClC,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,+EAA+E;IAC/E,OAAO,CAAC,aAAa,CAAyB;IAC9C,iFAAiF;IACjF,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,OAAO,CAAqB;IAEpC,YACmB,OAAO,EAAE,YAAY,EACtC,OAAO,EAAE,qBAAqB,EAS/B;IAED,IAAI,QAAQ,IAAI,UAAU,GAAG,SAAS,CAErC;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,yEAAyE;IACzE,KAAK,IAAI,IAAI,CAEZ;IAED,WAAW,IAAI,MAAM,CAEpB;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAMtC;IAED,8EAA8E;IAC9E,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAahC;IAED,kGAAkG;IAClG,aAAa,IAAI,IAAI,CAUpB;IAED;;;OAGG;IACH,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAkB1D;IAED,OAAO,CAAC,cAAc;IAYtB,uEAAuE;IACvE,SAAS,IAAI,gBAAgB,CAE5B;IAED,gFAAgF;IAChF,eAAe,IAAI,gBAAgB,CAMlC;IAED;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAYrC;IAED;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,aAAa,GAAG,SAAS,CAcrF;CACF"}