@e2edev/e2e 0.12.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 (251) hide show
  1. package/README.md +4 -4
  2. package/dist/agent/act.d.ts +13 -7
  3. package/dist/agent/act.d.ts.map +1 -1
  4. package/dist/agent/act.js +122 -730
  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 +1 -1
  15. package/dist/agent/default-agent.d.ts.map +1 -1
  16. package/dist/agent/default-agent.js +30 -9
  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/invocation.d.ts +4 -9
  24. package/dist/agent/invocation.d.ts.map +1 -1
  25. package/dist/agent/invocation.js +1 -6
  26. package/dist/agent/invocation.js.map +1 -1
  27. package/dist/agent/model/sdk.d.ts +1 -1
  28. package/dist/agent/model/sdk.js +1 -1
  29. package/dist/agent/observation-feed.d.ts +123 -0
  30. package/dist/agent/observation-feed.d.ts.map +1 -0
  31. package/dist/agent/observation-feed.js +281 -0
  32. package/dist/agent/observation-feed.js.map +1 -0
  33. package/dist/agent/observation.d.ts +14 -1
  34. package/dist/agent/observation.d.ts.map +1 -1
  35. package/dist/agent/observation.js +58 -2
  36. package/dist/agent/observation.js.map +1 -1
  37. package/dist/agent/operation-queue.d.ts +21 -0
  38. package/dist/agent/operation-queue.d.ts.map +1 -0
  39. package/dist/agent/operation-queue.js +27 -0
  40. package/dist/agent/operation-queue.js.map +1 -0
  41. package/dist/agent/pixels.d.ts +21 -0
  42. package/dist/agent/pixels.d.ts.map +1 -0
  43. package/dist/agent/pixels.js +85 -0
  44. package/dist/agent/pixels.js.map +1 -0
  45. package/dist/agent/point-tap.d.ts +52 -0
  46. package/dist/agent/point-tap.d.ts.map +1 -0
  47. package/dist/agent/point-tap.js +88 -0
  48. package/dist/agent/point-tap.js.map +1 -0
  49. package/dist/agent/primitives.d.ts +7 -1
  50. package/dist/agent/primitives.d.ts.map +1 -1
  51. package/dist/agent/primitives.js +96 -25
  52. package/dist/agent/primitives.js.map +1 -1
  53. package/dist/agent/replay.d.ts +8 -3
  54. package/dist/agent/replay.d.ts.map +1 -1
  55. package/dist/agent/replay.js +44 -15
  56. package/dist/agent/replay.js.map +1 -1
  57. package/dist/agent/screen-update.d.ts +50 -18
  58. package/dist/agent/screen-update.d.ts.map +1 -1
  59. package/dist/agent/screen-update.js +76 -94
  60. package/dist/agent/screen-update.js.map +1 -1
  61. package/dist/agent/step-accounting.d.ts +95 -0
  62. package/dist/agent/step-accounting.d.ts.map +1 -0
  63. package/dist/agent/step-accounting.js +201 -0
  64. package/dist/agent/step-accounting.js.map +1 -0
  65. package/dist/agent/step-cache.d.ts.map +1 -1
  66. package/dist/agent/step-cache.js +2 -2
  67. package/dist/agent/step-cache.js.map +1 -1
  68. package/dist/agent/tool-loop.d.ts.map +1 -1
  69. package/dist/agent/tool-loop.js +9 -2
  70. package/dist/agent/tool-loop.js.map +1 -1
  71. package/dist/agent/transcript-compaction.d.ts +38 -0
  72. package/dist/agent/transcript-compaction.d.ts.map +1 -0
  73. package/dist/agent/transcript-compaction.js +165 -0
  74. package/dist/agent/transcript-compaction.js.map +1 -0
  75. package/dist/cache/recorder.d.ts.map +1 -1
  76. package/dist/cache/recorder.js +20 -0
  77. package/dist/cache/recorder.js.map +1 -1
  78. package/dist/cache/trace.d.ts +28 -1
  79. package/dist/cache/trace.d.ts.map +1 -1
  80. package/dist/cache/trace.js +44 -0
  81. package/dist/cache/trace.js.map +1 -1
  82. package/dist/cli/index.d.ts.map +1 -1
  83. package/dist/cli/index.js +51 -25
  84. package/dist/cli/index.js.map +1 -1
  85. package/dist/cli/init/engine-versions.json +1 -1
  86. package/dist/cli/init/engines.d.ts +10 -1
  87. package/dist/cli/init/engines.d.ts.map +1 -1
  88. package/dist/cli/init/engines.js +10 -1
  89. package/dist/cli/init/engines.js.map +1 -1
  90. package/dist/cli/init/gateways.js +3 -3
  91. package/dist/cli/init/mcp-config.js +1 -1
  92. package/dist/cli/init/mcp-config.js.map +1 -1
  93. package/dist/cli/init/scaffold.js +1 -1
  94. package/dist/cli/init.js +2 -2
  95. package/dist/cli/init.js.map +1 -1
  96. package/dist/collect/collect.d.ts +8 -3
  97. package/dist/collect/collect.d.ts.map +1 -1
  98. package/dist/collect/collect.js +29 -5
  99. package/dist/collect/collect.js.map +1 -1
  100. package/dist/collect/registry.d.ts +20 -5
  101. package/dist/collect/registry.d.ts.map +1 -1
  102. package/dist/collect/registry.js +139 -54
  103. package/dist/collect/registry.js.map +1 -1
  104. package/dist/collect/select.js +3 -1
  105. package/dist/collect/select.js.map +1 -1
  106. package/dist/config/agent.d.ts +1 -7
  107. package/dist/config/agent.d.ts.map +1 -1
  108. package/dist/config/agent.js +5 -8
  109. package/dist/config/agent.js.map +1 -1
  110. package/dist/config/app.d.ts +24 -2
  111. package/dist/config/app.d.ts.map +1 -1
  112. package/dist/config/app.js +82 -15
  113. package/dist/config/app.js.map +1 -1
  114. package/dist/config/resolve.d.ts +15 -1
  115. package/dist/config/resolve.d.ts.map +1 -1
  116. package/dist/config/resolve.js +23 -5
  117. package/dist/config/resolve.js.map +1 -1
  118. package/dist/engine/contract.d.ts +9 -2
  119. package/dist/engine/contract.d.ts.map +1 -1
  120. package/dist/engine/contract.js.map +1 -1
  121. package/dist/engine/index.d.ts +18 -4
  122. package/dist/engine/index.d.ts.map +1 -1
  123. package/dist/engine/index.js +8 -0
  124. package/dist/engine/index.js.map +1 -1
  125. package/dist/engine/session.d.ts.map +1 -1
  126. package/dist/engine/session.js +3 -0
  127. package/dist/engine/session.js.map +1 -1
  128. package/dist/engine/surface.d.ts +6 -2
  129. package/dist/engine/surface.d.ts.map +1 -1
  130. package/dist/engine/surface.js.map +1 -1
  131. package/dist/expect/attempt.d.ts +15 -0
  132. package/dist/expect/attempt.d.ts.map +1 -0
  133. package/dist/expect/attempt.js +33 -0
  134. package/dist/expect/attempt.js.map +1 -0
  135. package/dist/expect/index.d.ts +7 -5
  136. package/dist/expect/index.d.ts.map +1 -1
  137. package/dist/expect/index.js +8 -1
  138. package/dist/expect/index.js.map +1 -1
  139. package/dist/expect/poll.d.ts +5 -0
  140. package/dist/expect/poll.d.ts.map +1 -0
  141. package/dist/expect/poll.js +118 -0
  142. package/dist/expect/poll.js.map +1 -0
  143. package/dist/expect/values.d.ts.map +1 -1
  144. package/dist/expect/values.js +6 -1
  145. package/dist/expect/values.js.map +1 -1
  146. package/dist/explore/body.d.ts.map +1 -1
  147. package/dist/explore/body.js +2 -0
  148. package/dist/explore/body.js.map +1 -1
  149. package/dist/explore/executor.js +16 -11
  150. package/dist/explore/executor.js.map +1 -1
  151. package/dist/explore/index.d.ts +3 -2
  152. package/dist/explore/index.d.ts.map +1 -1
  153. package/dist/explore/index.js +5 -5
  154. package/dist/explore/index.js.map +1 -1
  155. package/dist/explore/plan.d.ts.map +1 -1
  156. package/dist/explore/plan.js +16 -5
  157. package/dist/explore/plan.js.map +1 -1
  158. package/dist/explore/progress.d.ts +43 -0
  159. package/dist/explore/progress.d.ts.map +1 -0
  160. package/dist/explore/progress.js +9 -0
  161. package/dist/explore/progress.js.map +1 -0
  162. package/dist/explore/state.d.ts +13 -12
  163. package/dist/explore/state.d.ts.map +1 -1
  164. package/dist/explore/state.js +28 -11
  165. package/dist/explore/state.js.map +1 -1
  166. package/dist/internal/brands.d.ts +2 -0
  167. package/dist/internal/brands.d.ts.map +1 -1
  168. package/dist/internal/brands.js +2 -0
  169. package/dist/internal/brands.js.map +1 -1
  170. package/dist/internal/geometry.d.ts +13 -0
  171. package/dist/internal/geometry.d.ts.map +1 -0
  172. package/dist/internal/geometry.js +16 -0
  173. package/dist/internal/geometry.js.map +1 -0
  174. package/dist/internal/urls.d.ts +6 -0
  175. package/dist/internal/urls.d.ts.map +1 -1
  176. package/dist/internal/urls.js +28 -0
  177. package/dist/internal/urls.js.map +1 -1
  178. package/dist/mcp/catalog.d.ts +5 -4
  179. package/dist/mcp/catalog.d.ts.map +1 -1
  180. package/dist/mcp/catalog.js +5 -36
  181. package/dist/mcp/catalog.js.map +1 -1
  182. package/dist/mcp/server.js +1 -1
  183. package/dist/mcp/server.js.map +1 -1
  184. package/dist/mcp/session.d.ts.map +1 -1
  185. package/dist/mcp/session.js +4 -2
  186. package/dist/mcp/session.js.map +1 -1
  187. package/dist/report/list-explore.d.ts +109 -0
  188. package/dist/report/list-explore.d.ts.map +1 -0
  189. package/dist/report/list-explore.js +388 -0
  190. package/dist/report/list-explore.js.map +1 -0
  191. package/dist/report/list.d.ts +21 -0
  192. package/dist/report/list.d.ts.map +1 -1
  193. package/dist/report/list.js +79 -3
  194. package/dist/report/list.js.map +1 -1
  195. package/dist/report/running-tree.d.ts +7 -7
  196. package/dist/report/running-tree.d.ts.map +1 -1
  197. package/dist/report/running-tree.js +12 -13
  198. package/dist/report/running-tree.js.map +1 -1
  199. package/dist/run/app-ports.d.ts +17 -0
  200. package/dist/run/app-ports.d.ts.map +1 -0
  201. package/dist/run/app-ports.js +74 -0
  202. package/dist/run/app-ports.js.map +1 -0
  203. package/dist/run/events.d.ts +10 -5
  204. package/dist/run/events.d.ts.map +1 -1
  205. package/dist/run/events.js.map +1 -1
  206. package/dist/run/execute.d.ts.map +1 -1
  207. package/dist/run/execute.js +23 -6
  208. package/dist/run/execute.js.map +1 -1
  209. package/dist/run/extended-fixtures.d.ts +33 -0
  210. package/dist/run/extended-fixtures.d.ts.map +1 -0
  211. package/dist/run/extended-fixtures.js +91 -0
  212. package/dist/run/extended-fixtures.js.map +1 -0
  213. package/dist/run/fixtures.d.ts.map +1 -1
  214. package/dist/run/fixtures.js +17 -4
  215. package/dist/run/fixtures.js.map +1 -1
  216. package/dist/run/managed-process.d.ts +18 -0
  217. package/dist/run/managed-process.d.ts.map +1 -1
  218. package/dist/run/managed-process.js +101 -6
  219. package/dist/run/managed-process.js.map +1 -1
  220. package/dist/run/realm.d.ts +5 -4
  221. package/dist/run/realm.d.ts.map +1 -1
  222. package/dist/run/realm.js +8 -7
  223. package/dist/run/realm.js.map +1 -1
  224. package/dist/run/runner.d.ts +9 -3
  225. package/dist/run/runner.d.ts.map +1 -1
  226. package/dist/run/runner.js +10 -5
  227. package/dist/run/runner.js.map +1 -1
  228. package/dist/run/worker/entry.js +2 -1
  229. package/dist/run/worker/entry.js.map +1 -1
  230. package/dist/run/worker/protocol.d.ts +7 -1
  231. package/dist/run/worker/protocol.d.ts.map +1 -1
  232. package/dist/run/worker/protocol.js.map +1 -1
  233. package/dist/types.d.ts +69 -13
  234. package/dist/types.d.ts.map +1 -1
  235. package/package.json +6 -3
  236. package/skills/e2e/SKILL.md +4 -5
  237. package/skills/e2e/references/agent.md +25 -10
  238. package/skills/e2e/references/debugging.md +5 -5
  239. package/skills/e2e/references/explore.md +13 -7
  240. package/skills/e2e/references/mcp.md +3 -3
  241. package/skills/e2e/references/running.md +21 -17
  242. package/skills/e2e/references/setup.md +25 -12
  243. package/skills/e2e/references/writing-tests.md +12 -5
  244. package/dist/agent/model/router.d.ts +0 -36
  245. package/dist/agent/model/router.d.ts.map +0 -1
  246. package/dist/agent/model/router.js +0 -45
  247. package/dist/agent/model/router.js.map +0 -1
  248. package/dist/explore/reporter.d.ts +0 -11
  249. package/dist/explore/reporter.d.ts.map +0 -1
  250. package/dist/explore/reporter.js +0 -54
  251. package/dist/explore/reporter.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"act.js","sourceRoot":"","sources":["../../src/agent/act.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAY3D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,aAAa,GASd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,iBAAiB,GAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAyB,MAAM,cAAc,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAwC,MAAM,iBAAiB,CAAC;AAEzF;;;;;;;;;GASG;AACH,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC;;;;GAIG;AACH,MAAM,eAAe,GAAa,MAAM,CAAC;AAuBzC,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAqB,EACrB,WAAmB,EACnB,OAA+B,EAC/B,cAAc,GAAG,CAAC;IAElB,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACjE,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC5C,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,OAAO,iBAAiB,CAAC,OAAO,EAAE;QAChC,GAAG,EAAE,WAAW;QAChB,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,SAAS;QACjB,OAAO;QACP,kBAAkB,EAAE,eAAe;QACnC,OAAO,EAAE,OAAO,EAAE,OAAO;QACzB,QAAQ,EAAE,OAAO,EAAE,QAAQ;QAC3B,aAAa,EAAE,OAAO,EAAE,aAAa;QACrC,KAAK,EAAE,OAAO,EAAE,KAAK;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAqB,EACrB,SAAiB,EACjB,OAAiG;IAEjG,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,CAAC,IAAY,EAAS,EAAE;QAC1C,MAAM,IAAI,kBAAkB,CAC1B,wBAAwB,EACxB,gBAAgB,IAAI,0CAA0C,CAC/D,CAAC;IACJ,CAAC,CAAC;IACF,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS;QAAE,WAAW,CAAC,kCAAkC,CAAC,CAAC;IACnF,IAAI,OAAO,EAAE,UAAU,KAAK,SAAS;QAAE,WAAW,CAAC,0CAA0C,CAAC,CAAC;IAC/F,MAAM,iBAAiB,CAAC,OAAO,EAAE;QAC/B,GAAG,EAAE,cAAc;QACnB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,kBAAkB,EAAE,kBAAkB;QACtC,OAAO,EAAE,OAAO,EAAE,OAAO;QACzB,QAAQ,EAAE,SAAS;QACnB,aAAa,EAAE,SAAS;QACxB,KAAK,EAAE,OAAO,EAAE,KAAK;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAqB,EACrB,IAAkB;AAClB,2EAA2E;AAC3E,6DAA6D;AAC7D,KAAK,GAAkB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IAEjD,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,IAAI,OAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClC,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACpG,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,WAAW;IAqEI,OAAO;IACP,IAAI;IAEJ,KAAK;IAvEP,SAAS,CAAS;IAClB,QAAQ,CAAW;IACnB,UAAU,CAAS;IACnB,aAAa,CAAS;IACtB,OAAO,GAAgB;QACtC,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,gBAAgB,EAAE,CAAC;QACnB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;KACf,CAAC;IACM,MAAM,CAA+B;IAC7C,sFAAsF;IACrE,MAAM,GAAuB,EAAE,CAAC;IACzC,WAAW,CAAqB;IACxC,+EAA+E;IACvE,QAAQ,CAAyB;IACzC,gFAAgF;IAC/D,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IACnD;;;;;OAKG;IACc,UAAU,CAAc;IACzC;;;;;;;;;;;;OAYG;IACK,YAAY,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IACnD,QAAQ,CAA4B;IACpC,gBAAgB,GAAG,KAAK,CAAC;IACzB,UAAU,CAAqB;IACvC,kFAAkF;IAC1E,MAAM,GAAG,KAAK,CAAC;IACN,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;IAClC,aAAa,CAAqB;IAClC,OAAO,CAAqB;IACnB,MAAM,CAA2B;IAClD,kGAAkG;IACjF,SAAS,CAA+B;IACzD,mDAAmD;IAClC,SAAS,CAAS;IACnC,wFAAwF;IAChF,aAAa,CAAqB;IAC1C;;;;;;;OAOG;IACK,aAAa,CAAqB;IAC1C,iFAAiF;IACzE,mBAAmB,CAAqB;IAEhD,YACmB,OAAqB,EACrB,IAAkB;IACnC,qCAAqC;IACpB,KAAoB;uBAHpB,OAAO;oBACP,IAAI;qBAEJ,KAAK;QAEtB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,oBAAoB,CACpC,IAAI,CAAC,QAAQ,EACb,KAAK,CAAC,MAAM,CAAC,QAAQ,EACrB,UAAU,CACX,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,oBAAoB,CACvC,IAAI,CAAC,aAAa,EAClB,KAAK,CAAC,MAAM,CAAC,aAAa,EAC1B,eAAe,CAChB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;QAC1F,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,uEAAuE;QACvE,yEAAyE;QACzE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACjD,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC9F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,wEAAwE;QACxE,qEAAqE;QACrE,gEAAgE;QAChE,MAAM,KAAK,GACT,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,IAAI,CAAC,SAAS;YACZ,KAAK,KAAK,SAAS;gBACjB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;oBACrC,KAAK;oBACL,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ,EAAE;wBACR,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;wBACzB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;4BACtC,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;qBACzC;oBACD,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe;oBAC/C,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,SAAS;iBACV,CAAC,CAAC;IACX,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACL,mEAAmE;QACnE,oDAAoD;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,MAAM,MAAM,GAAG,eAAe,CAC5B,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAC1C,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC;QACtD,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBACpB,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;gBACxB,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACxD,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAAC;aACJ;YACD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;YAC3D,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,sEAAsE;YACtE,8DAA8D;YAC9D,IAAI,KAAK;gBACP,OAAO,QAAQ,CAAC,YAAY,EAAE,CAAC;YACjC,CAAC;YACD,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe;YAClD,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;YACrC,OAAO,EAAE;gBACP,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;gBAC3C,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC5C,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gBACvD,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;aAClD;YACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC3C,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,mEAAmE;gBACnE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;oBACpF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,gBAAgB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC;YACzE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;SAC7B,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,YAAY;QAClB,OAAO;YACL,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CACd,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAChD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;gBAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC;YACJ,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,MAAM,IAAI,SAAS,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;oBACxD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CACxB,IAAI,CAAC,GAAG,EACR,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EACzC,IAAI,CAAC,eAAe,EAAE,CACvB,CAAC;oBACF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACvC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;YAC3D,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;gBACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBACpE,MAAM,IAAI,SAAS,CAAC,kBAAkB,EAAE,4CAA4C,CAAC,CAAC;gBACxF,CAAC;gBACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;oBACzD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;oBACrF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;gBACtC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;oBAC9C,MAAM,IAAI,SAAS,CAAC,kBAAkB,EAAE,+CAA+C,CAAC,CAAC;gBAC3F,CAAC;gBACD,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;oBAChE,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;oBAC9F,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACzC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;YAC7D,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;SACtC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,QAAQ,CACX,IAAI,UAAU,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,iBAAiB,IAAI,CAAC,SAAS,aAAa,CAAC,CAC7F,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;gBACxB,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,MAAM,CAAC,MAAM,CAAC,MAAe,CAAC,CAAC;wBAC/B,OAAO;oBACT,CAAC;oBACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAe,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzF,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;QAC/C,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,wDAAwD;IAChD,SAAS;QACf,OAAO;YACL,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK;YACvD,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK;YAC/D,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;YAC5B,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC5C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe;YACpD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACvH,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,0EAA0E;IAClE,KAAK,CAAC,WAAW,CAAC,WAA8B;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QACpC,IAAI,WAAW,EAAE,GAAG,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACjF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,GAAG,IAAI,MAAM,UAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC7E,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,6FAA6F;IAC7F,KAAK,CAAC,QAAQ,CAAC,OAAoB;QACjC,MAAM,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,sFAAsF;IACtF,MAAM,CAAC,OAAoB;QACzB,IAAI,OAAO,GAAG,OAAO,CAAC;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW;gBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC;YAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,oEAAoE;gBACpE,qDAAqD;gBACrD,OAAO,GAAG;oBACR,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;oBAC9B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC;YACJ,CAAC;iBAAM,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC3C,kEAAkE;gBAClE,sEAAsE;gBACtE,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,IACE,OAAO,CAAC,SAAS,KAAK,SAAS;YAC/B,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;YACpC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAChC,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;QACnC,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;QACxC,MAAM,IAAI,GACR,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,gBAAgB;YACtE,CAAC,CAAC,OAAO,CAAC,SAAS;YACnB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACnC,MAAM,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,EAAE;YACnF,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS;SACtC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,KAAiB;QAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACjD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACK,OAAO,CAAC,IAAoB;QAClC,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9C,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5C,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,uBAAuB;gBAC1B,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU;oBAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,CAC9C,CAAC;YACJ;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,IAAoB,EAAE,KAAkB;QACvD,OAAO,IAAI,UAAU,CACnB,sBAAsB,EACtB,aAAa,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2BAA2B,IAAI,oCAAoC,EACxG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CACrC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,QAAQ,CAAC,KAAiB;QAChC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC;QACxB,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,KAAoC;QAC1D,0EAA0E;QAC1E,wEAAwE;QACxE,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC;QACvE,IAAI,KAAK,EAAE,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;YAC7B,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,SAAS,EAAE;YAC1C,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;YAC3D,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,MAAM;YACb,GAAG,WAAW,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,QAAQ,CACjB,IAAI,UAAU,CACZ,uBAAuB,EACvB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,uCAAuC,IAAI,CAAC,aAAa,EAAE,CAC5E,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yFAAyF;IACjF,aAAa;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,QAAQ,CACjB,IAAI,UAAU,CACZ,uBAAuB,EACvB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,mCAAmC,IAAI,CAAC,UAAU,EAAE,CACrE,CACF,CAAC;QACJ,CAAC;QACD,4EAA4E;QAC5E,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,4FAA4F;IACpF,OAAO,CAAI,IAAwC,EAAE,IAAsB;QACjF,MAAM,GAAG,GAAG,KAAK,IAAgB,EAAE;YACjC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;YACzE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,eAAe,CACjC,IAAI,CAAC,OAAO,EACZ,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAE,EACxF,IAAI,CACL,CAAC;YACF,oEAAoE;YACpE,gFAAgF;YAChF,IAAI,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACrD,CAAC;IAED,kEAAkE;IAClE,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YAC/B,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACzC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;SAClC,CAAC;IACJ,CAAC;IAED,mFAAmF;IACnF,MAAM;QACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC;YACpC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;YAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpF,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAAC,MAAsB,EAAE,KAAa;QAClE,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC;QAC7D,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,4EAA4E;IACpE,eAAe;QACrB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC;QACzD,MAAM,IAAI,GAAG,cAAc,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC;QACzE,IAAI,CAAC;YACH,oEAAoE;YACpE,qEAAqE;YACrE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5F,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAClF,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,SAAS;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,IAAI,GAAG,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACvB,QAAQ,EAAE,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI;YAC7C,KAAK,EAAE,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI;YACpC,QAAQ,EAAE,kBAAkB;YAC5B,cAAc,EAAE,YAAY,QAAQ,CAAC,IAAI,IAAI,eAAe,EAAE;YAC9D,aAAa,EAAE,GAAG,QAAQ,CAAC,IAAI,IAAI,eAAe,EAAE;SACrD,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IACrC,CAAC;IAEO,SAAS;QACf,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjG,CAAC;IAED,gFAAgF;IACxE,eAAe;QACrB,OAAO,gBAAgB,CACrB,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,EACnE,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED,kFAAkF;IAC1E,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YACxF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,8EAA8E;IACtE,UAAU,CAAC,KAAe;QAChC,IAAI,CAAC;YACH,cAAc,CAAC;gBACb,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;gBAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBAClB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,4EAA4E;IACpE,UAAU,CAAI,IAAsB;QAC1C,0EAA0E;QAC1E,kDAAkD;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAC1B,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,OAAO,CAAC,OAAO,GAA2B,EAAE;QACxD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,IAAI,SAAS,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC1D,oFAAoF;QACpF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACjD,OAAO;YACL,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,SAAS,CAAC,WAA6B;QAC7C,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,UAAU,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjG,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;IAEO,mBAAmB,CAAC,QAA8B,EAAE,IAAa;QACvE,MAAM,GAAG,GAAG,IAAI,IAAI,QAAQ,CAAC;QAC7B,IAAI,IAAI,CAAC,aAAa,KAAK,GAAG;YAAE,OAAO;QACvC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAEO,aAAa;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,cAAc,CAAC,MAAM,GAAG,KAAK;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,4EAA4E;IACpE,KAAK,CAAC,UAAU,CAAC,MAAe,EAAE,MAAe;QACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,0EAA0E;QAC1E,gEAAgE;QAChE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1D,yEAAyE;QACzE,0EAA0E;QAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACvC,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,eAAe,CACvC,IAAI,CAAC,OAAO,EACZ,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,EACnE,GAAG,EAAE,CACH,MAAM;YACJ,CAAC,CAAC,iBAAiB,CACf,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAC5C,gBAAgB,EAChB;gBACE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC5C,+DAA+D;gBAC/D,+DAA+D;gBAC/D,wBAAwB;gBACxB,MAAM,EAAE,IAAI,CAAC,UAAU;aACxB,EACD,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,yBAAyB,EAAE,CACvE;YACH,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAC5C,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CACtE,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3F,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,8EAA8E;IACtE,OAAO,CAAC,WAA6B;QAC3C,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,uBAAuB;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACK,SAAS,CAAC,MAAe;QAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACtC,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,qFAAqF;IAC7E,KAAK,CAAC,kBAAkB,CAAC,MAAe;QAC9C,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC;YAChC,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC;YACnE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE;YACjC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;YAClC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;SACnB,CAAC,CAAC;QACH,OAAO,kBAAkB,CAAC,GAAG,EAAE;YAC7B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;YAC5C,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe;SACrD,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,qBAAqB,CAAC,MAAe;QAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,OAAO,qBAAqB,CAC1B;YACE,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;YAC1D,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB;SAC3D,EACD,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CAAC,MAAsB;QAC1C,IAAI,OAAO,MAAM,EAAE,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,MAAM,IAAI,SAAS,CAAC,kBAAkB,EAAE,sCAAsC,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,UAAU,CAClB,mBAAmB,EACnB,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,UAAU,CAClB,mBAAmB,EACnB,SAAS,EAAE,8CAA8C,MAAM,CAAC,QAAQ,oCAAoC,CAC7G,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0GAA0G;IAClG,OAAO,CAAC,EAAU,EAAE,MAAwB;QAClD,IAAI,OAAiC,CAAC;QACtC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,OAAO,KAAK,SAAS,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACzF,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC7F,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC/C,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE;YAC7D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe;SACrD,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,CAAC;IAED;;;;;;OAMG;IACK,SAAS,CAAC,IAAY,EAAE,IAAqC;QACnE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,IAAqC;QAC5E,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,MAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,eAAe,CAC5B,IAAI,CAAC,OAAO,EACZ,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,EACnE,IAAI,EACJ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACd,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO;aAC5F,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,MAAM,KAAK,CAAC;QACd,CAAC;QACD,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,wCAAwC;QACxC,IAAI,IAAI,KAAK,YAAY;YAAE,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO;QACzC,yEAAyE;QACzE,wEAAwE;QACxE,mDAAmD;QACnD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CACpB,IAAY,EACZ,MAAsB,EACtB,OAA0D;QAE1D,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YACrC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACtC,6EAA6E;YAC7E,IAAI,WAAW,GAAG,IAAI,CAAC,MAAO,CAAC;YAC/B,KAAK,IAAI,WAAW,GAAG,CAAC,GAAI,WAAW,IAAI,CAAC,EAAE,CAAC;gBAC7C,mEAAmE;gBACnE,uEAAuE;gBACvE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9F,0EAA0E;gBAC1E,gFAAgF;gBAChF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE;oBACjE,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe;iBACrD,CAAC,CAAC;gBACH,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;oBACnC,OAAO;wBACL,GAAG,MAAM;wBACT,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;wBAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;qBAChD,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,YAAY;wBAAE,MAAM,KAAK,CAAC;oBAC7D,MAAM,SAAS,GAAG,WAAW,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnG,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC5B,MAAM,IAAI,UAAU,CAClB,mBAAmB,EACnB,8DAA8D,EAC9D,EAAE,KAAK,EAAE,CACV,CAAC;oBACJ,CAAC;oBACD,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;oBACtB,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,aAAa,CACzB,KAAmB;QAEnB,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC9F,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC3F,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,MAAM,eAAe,CACvC,IAAI,CAAC,OAAO,EACZ,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,EACrF,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EACpC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CACtE,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7E,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,SAAS,CAAC;QACjD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAChE,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,SAA0B,EAAE,MAAkC;QACjF,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,SAAS,CAAC,kBAAkB,EAAE,6BAA6B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACxC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;gBAC7E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;YACvC,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACzD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CACxB,IAAI,CAAC,GAAG,EACR,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,EACvD,IAAI,CAAC,eAAe,EAAE,CACvB,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,UAAU,CAAC,MAAsB,EAAE,IAAY;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,UAAU,CAClB,eAAe,EACf,WAAW,IAAI,+EAA+E,CAC/F,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC7D,MAAM,SAAS,GAAG,MAAM,mBAAmB,CACzC;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvC,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;aACpF,EACD,IAAI,CAAC,OAAO,EACZ,MAAM,EACN,IAAI,CACL,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CACxB,IAAI,CAAC,GAAG,EACR,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,EACnD,IAAI,CAAC,eAAe,EAAE,CACvB,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YAChC,uEAAuE;YACvE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,IAAY,EAAE,QAA8B,EAAE,IAAa;QAC9E,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,GAAW;QAChC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,SAAS,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,QAAQ,GAAG,oBAAoB,CACnC,GAAG,EACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAChC,CAAC,GAAG,CAAC;QACN,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACxD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"act.js","sourceRoot":"","sources":["../../src/agent/act.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * The action grammar of one step, policed and recorded.
3
+ *
4
+ * Every verb an executor can call bottoms out here in the same four moves:
5
+ * validate the argument, resolve the target against what the feed has seen,
6
+ * perform through the engine session under a bounded operation, and hand back
7
+ * the committed action for the event line and the trace cache. The verb table
8
+ * is `buildActions`; a new verb is one entry there and one small method, and
9
+ * nothing else in the step changes. Project tools run through the same budget
10
+ * and queue as `runTool`.
11
+ */
12
+ import type { ViewportPoint } from '../engine/surface.ts';
13
+ import type { JsonValue, Secret } from '../types.ts';
14
+ import type { ExecutorActions, ExecutorTarget, PointTapResult } from './executor.ts';
15
+ import type { AgentContext } from './invocation.ts';
16
+ import type { ObservationFeed } from './observation-feed.ts';
17
+ import type { OperationQueue } from './operation-queue.ts';
18
+ import type { StepAccounting } from './step-accounting.ts';
19
+ import type { StepTraceSession } from './step-cache.ts';
20
+ export interface ActionDispatcherOptions {
21
+ readonly instruction: string;
22
+ readonly params: Readonly<Record<string, JsonValue>> | undefined;
23
+ /** Secrets declared in the step's params, by stable name; the only ones `typeSecret` may fill. */
24
+ readonly secrets: ReadonlyMap<string, Secret>;
25
+ /** The step's trace-cache session, read at commit time; undefined when caching is off. */
26
+ readonly trace: () => StepTraceSession | undefined;
27
+ }
28
+ export declare class ActionDispatcher {
29
+ private readonly runtime;
30
+ private readonly accounting;
31
+ private readonly feed;
32
+ private readonly queue;
33
+ private readonly options;
34
+ /**
35
+ * The action grammar, shared verbatim by the executor context and the
36
+ * replay engine: a replayed action runs under exactly the same deadline,
37
+ * budget, policy, and recording as a live one. Committed actions are
38
+ * recorded into the step trace with the node they actually acted on —
39
+ * capture at commit time is what makes the descriptor durable evidence
40
+ * rather than a guess.
41
+ */
42
+ readonly actions: ExecutorActions;
43
+ constructor(runtime: AgentContext, accounting: StepAccounting, feed: ObservationFeed, queue: OperationQueue, options: ActionDispatcherOptions);
44
+ /** The tap verb: one committed tap on a resolved node. */
45
+ tap(target: ExecutorTarget): Promise<void>;
46
+ /**
47
+ * Taps one viewport point, routed onto the tree in queue order against the
48
+ * newest observation, like a targeted action's resolution. A listed,
49
+ * enabled control containing the point is tapped by its id, so policy,
50
+ * stale relocation, and the trace descriptor see an ordinary tap; a point
51
+ * on nothing listed goes to the engine as a bare point when it takes one.
52
+ * The point is clamped to the viewport first, so one placed off the edge
53
+ * lands on the edge rather than failing the engine.
54
+ */
55
+ tapAt(point: ViewportPoint): Promise<PointTapResult>;
56
+ /** Records project tools through the same budget and operation queue as grammar actions. */
57
+ runTool<T>(call: {
58
+ name: string;
59
+ mutates: boolean;
60
+ }, body: () => Promise<T>): Promise<T>;
61
+ private get session();
62
+ private get verbs();
63
+ private performTap;
64
+ private type;
65
+ private press;
66
+ private select;
67
+ private scroll;
68
+ private navigate;
69
+ /**
70
+ * Fills one declared secret. The name must come from the step's own params
71
+ * — an executor can never fill a credential the test did not hand it — and
72
+ * the fill itself runs the full secret authorization policy: registered
73
+ * credential, origin allowlists, and an editable sink whose purpose matches.
74
+ * Pixel evidence is tainted from here on.
75
+ */
76
+ private typeSecret;
77
+ /**
78
+ * Runs one grammar action against the action budget, recorded as an engine
79
+ * event. The body performs the engine call and returns the committed
80
+ * action's recordable descriptor — one value carries both concerns: the
81
+ * event's `detail` prose derives from it in a pure hook, and the dispatcher
82
+ * writes it to the trace cache after the phase settles.
83
+ */
84
+ private runAction;
85
+ private runActionNow;
86
+ /**
87
+ * One action against a resolved node. A node the engine reports stale is
88
+ * re-found by its descriptor against a fresh capture and the action retried
89
+ * (`MAX_STALE_RELOCATIONS` times): a list that remounts its rows between
90
+ * the observation and the action keeps the control on screen under a dead
91
+ * handle, and the control, not the handle, is what the model asked for. A
92
+ * descriptor that matches nothing or several nodes fails the action instead.
93
+ */
94
+ private commitTargeted;
95
+ /** The body of one targeted action: resolution, the relocation loop, and the placement the trace records. */
96
+ private targeted;
97
+ }
98
+ //# sourceMappingURL=action-dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-dispatcher.d.ts","sourceRoot":"","sources":["../../src/agent/action-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIxE,OAAO,KAAK,EAAE,SAAS,EAA6B,MAAM,EAAE,MAAM,aAAa,CAAC;AAKhF,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AA2BxD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IACjE,kGAAkG;IAClG,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAC;CACpD;AAED,qBAAa,gBAAgB;IAYzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAf1B;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAElC,YACmB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,uBAAuB,EAYlD;IAED,0DAA0D;IAC1D,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAoCnD;IAED,4FAA4F;IAC5F,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAmBvF;IAED,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,KAAK,KAAK,GAEhB;YAEa,UAAU;IAKxB,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,MAAM;YAUA,MAAM;YAqBN,QAAQ;IAatB;;;;;;OAMG;YACW,UAAU;IA8BxB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;YAIH,YAAY;IAiC1B;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAQtB,6GAA6G;IAC7G,OAAO,CAAC,QAAQ;CAoCjB"}
@@ -0,0 +1,319 @@
1
+ /**
2
+ * The action grammar of one step, policed and recorded.
3
+ *
4
+ * Every verb an executor can call bottoms out here in the same four moves:
5
+ * validate the argument, resolve the target against what the feed has seen,
6
+ * perform through the engine session under a bounded operation, and hand back
7
+ * the committed action for the event line and the trace cache. The verb table
8
+ * is `buildActions`; a new verb is one entry there and one small method, and
9
+ * nothing else in the step changes. Project tools run through the same budget
10
+ * and queue as `runTool`.
11
+ */
12
+ import { asEngineError, TestError } from '../internal/errors.js';
13
+ import { clampToViewport } from '../internal/geometry.js';
14
+ import { resolveNavigationUrl } from '../internal/urls.js';
15
+ import { containerKey, describeAction } from './actions.js';
16
+ import { describePosition } from '../cache/relocate.js';
17
+ import { isDerivedValue } from './derived.js';
18
+ import { AgentError } from './error.js';
19
+ import { instrumentPhase, recordPolicyEvent } from './phases.js';
20
+ import { describePointTap, hitTest } from './point-tap.js';
21
+ import { authorizeSecretFill } from './secrets.js';
22
+ /**
23
+ * How many times a targeted action re-finds its node after the engine reports
24
+ * it stale. One relocation covers a re-render between the observation and the
25
+ * action; the second covers a render tick landing between the fresh look and
26
+ * the action itself. A control that keeps vanishing faster than that is
27
+ * reported to the model as gone.
28
+ */
29
+ const MAX_STALE_RELOCATIONS = 2;
30
+ /**
31
+ * The change wait after a scroll or a mutating project tool. A scroll moves
32
+ * nothing the tree records and a tool usually changes state the screen shows
33
+ * only after a reload, so most of these change no shape at all and a long
34
+ * wait is pure cost; a windowed list rendering its next rows, or a tool the
35
+ * page reacts to, does so within a few hundred milliseconds.
36
+ */
37
+ const BRIEF_CHANGE_WAIT_MS = 500;
38
+ /**
39
+ * How far one grammar scroll moves. The engine's default flick is half the
40
+ * scrolled box; a deliberate scroll of three quarters keeps every row on
41
+ * screen at least once while covering a long feed in fewer actions.
42
+ */
43
+ const SCROLL_MOMENTUM = 'slow';
44
+ export class ActionDispatcher {
45
+ runtime;
46
+ accounting;
47
+ feed;
48
+ queue;
49
+ options;
50
+ /**
51
+ * The action grammar, shared verbatim by the executor context and the
52
+ * replay engine: a replayed action runs under exactly the same deadline,
53
+ * budget, policy, and recording as a live one. Committed actions are
54
+ * recorded into the step trace with the node they actually acted on —
55
+ * capture at commit time is what makes the descriptor durable evidence
56
+ * rather than a guess.
57
+ */
58
+ actions;
59
+ constructor(runtime, accounting, feed, queue, options) {
60
+ this.runtime = runtime;
61
+ this.accounting = accounting;
62
+ this.feed = feed;
63
+ this.queue = queue;
64
+ this.options = options;
65
+ this.actions = {
66
+ tap: (target) => this.tap(target),
67
+ type: (target, value) => this.type(target, value),
68
+ typeSecret: (target, name) => this.typeSecret(target, name),
69
+ press: (target, key) => this.press(target, key),
70
+ select: (target, value) => this.select(target, value),
71
+ scroll: (direction, target) => this.scroll(direction, target),
72
+ navigate: (url) => this.navigate(url),
73
+ tapAt: (point) => this.tapAt(point),
74
+ };
75
+ }
76
+ /** The tap verb: one committed tap on a resolved node. */
77
+ tap(target) {
78
+ return this.runAction('tap', this.targeted(target, (node) => this.performTap(node)));
79
+ }
80
+ /**
81
+ * Taps one viewport point, routed onto the tree in queue order against the
82
+ * newest observation, like a targeted action's resolution. A listed,
83
+ * enabled control containing the point is tapped by its id, so policy,
84
+ * stale relocation, and the trace descriptor see an ordinary tap; a point
85
+ * on nothing listed goes to the engine as a bare point when it takes one.
86
+ * The point is clamped to the viewport first, so one placed off the edge
87
+ * lands on the edge rather than failing the engine.
88
+ */
89
+ tapAt(point) {
90
+ if (!Number.isFinite(point?.x) || !Number.isFinite(point.y)) {
91
+ throw new TestError('INVALID_ARGUMENT', 'tapAt requires a point { x, y } of finite numbers');
92
+ }
93
+ return this.queue.run(async () => {
94
+ const observation = this.feed.requireLatest();
95
+ const clamped = clampToViewport(point, observation.viewport);
96
+ const hit = hitTest(observation, clamped);
97
+ // An engine without node taps gets the bare point even under a listed control.
98
+ const control = this.verbs.has('tap') ? hit.control : undefined;
99
+ const summary = describePointTap({ point: clamped, control, under: hit.under, observation });
100
+ if (control !== undefined) {
101
+ const target = { id: control.ref.id };
102
+ await this.runActionNow('tap', this.targeted(target, (node) => this.performTap(node)));
103
+ return { point: clamped, target, summary };
104
+ }
105
+ if (!this.verbs.has('tapAt')) {
106
+ throw new TestError('UNSUPPORTED_CAPABILITY', `the point (${String(clamped.x)}, ${String(clamped.y)}) is on nothing the screen lists and this engine taps listed nodes only; tap a node by id instead`);
107
+ }
108
+ // The node whose box contained the point is the trace's handle on it;
109
+ // the tree's root is the page itself and follows no layout shift.
110
+ const under = hit.under === undefined || hit.under.ref.id === observation.tree.ref.id ? undefined : hit.under;
111
+ await this.runActionNow('tapAt', async () => {
112
+ await this.session.tapAt(clamped, this.accounting.actionOperation());
113
+ return {
114
+ name: 'tapAt',
115
+ point: clamped,
116
+ viewport: { width: observation.viewport.width, height: observation.viewport.height },
117
+ ...(under === undefined ? {} : { under }),
118
+ };
119
+ });
120
+ return { point: clamped, summary };
121
+ });
122
+ }
123
+ /** Records project tools through the same budget and operation queue as grammar actions. */
124
+ runTool(call, body) {
125
+ const run = async () => {
126
+ this.accounting.checkpoint();
127
+ if (this.accounting.closed)
128
+ throw new AgentError('CANCELLED', 'the step has ended');
129
+ if (call.mutates) {
130
+ this.accounting.reserveAction();
131
+ this.options.trace()?.recordGap(call.name);
132
+ }
133
+ const value = await instrumentPhase(this.runtime, { api: this.accounting.api, kind: 'engine', phase: 'agent.action', name: `tool:${call.name}` }, body);
134
+ // A tool the page reacts to at once is read after the reaction; one
135
+ // whose effect shows only after a reload costs the brief wait, not two seconds.
136
+ if (call.mutates)
137
+ this.feed.armChange(BRIEF_CHANGE_WAIT_MS);
138
+ return value;
139
+ };
140
+ return call.mutates ? this.queue.run(run) : run();
141
+ }
142
+ get session() {
143
+ return this.runtime.engine.session;
144
+ }
145
+ get verbs() {
146
+ return this.runtime.target.verbs;
147
+ }
148
+ async performTap(node) {
149
+ await this.session.perform(node.ref, { kind: 'tap' }, this.accounting.actionOperation());
150
+ return { name: 'tap', node };
151
+ }
152
+ type(target, value) {
153
+ if (typeof value !== 'string') {
154
+ throw new TestError('INVALID_ARGUMENT', 'type value must be a string');
155
+ }
156
+ return this.commitTargeted('type', target, async (node) => {
157
+ await this.session.perform(node.ref, { kind: 'fill', value, sensitive: false }, this.accounting.actionOperation());
158
+ return { name: 'type', node, value };
159
+ });
160
+ }
161
+ press(target, key) {
162
+ if (typeof key !== 'string' || key.trim() === '' || key.length > 64) {
163
+ throw new TestError('INVALID_ARGUMENT', 'press key must be a short non-empty string');
164
+ }
165
+ return this.commitTargeted('press', target, async (node) => {
166
+ await this.session.perform(node.ref, { kind: 'press', key }, this.accounting.actionOperation());
167
+ return { name: 'press', node, key };
168
+ });
169
+ }
170
+ select(target, value) {
171
+ if (typeof value !== 'string' || value === '') {
172
+ throw new TestError('INVALID_ARGUMENT', 'select value must be a non-empty option label');
173
+ }
174
+ return this.commitTargeted('selectOption', target, async (node) => {
175
+ await this.session.perform(node.ref, { kind: 'selectOption', value }, this.accounting.actionOperation());
176
+ return { name: 'select', node, value };
177
+ });
178
+ }
179
+ async scroll(direction, target) {
180
+ if (!['up', 'down', 'left', 'right'].includes(direction)) {
181
+ throw new TestError('INVALID_ARGUMENT', `invalid scroll direction "${String(direction)}"`);
182
+ }
183
+ if (target === undefined) {
184
+ await this.runAction('scroll', async () => {
185
+ await this.session.swipe(direction, SCROLL_MOMENTUM, this.accounting.actionOperation());
186
+ return { name: 'scroll', direction };
187
+ });
188
+ return;
189
+ }
190
+ await this.commitTargeted('scroll', target, async (node) => {
191
+ await this.session.perform(node.ref, { kind: 'swipe', direction, momentum: SCROLL_MOMENTUM }, this.accounting.actionOperation());
192
+ return { name: 'scroll', direction, node };
193
+ });
194
+ }
195
+ async navigate(url) {
196
+ if (typeof url !== 'string' || url.trim() === '') {
197
+ throw new TestError('INVALID_ARGUMENT', 'navigate requires a URL');
198
+ }
199
+ const resolved = resolveNavigationUrl(url, this.runtime.app.base, this.runtime.app.allowedOrigins).url;
200
+ // The raw argument is recorded, not the resolved URL: replay re-resolves
201
+ // through the same base and origin policy this call just passed.
202
+ await this.runAction('navigate', async () => {
203
+ await this.session.app.open(resolved, this.accounting.operation());
204
+ return { name: 'navigate', url };
205
+ });
206
+ }
207
+ /**
208
+ * Fills one declared secret. The name must come from the step's own params
209
+ * — an executor can never fill a credential the test did not hand it — and
210
+ * the fill itself runs the full secret authorization policy: registered
211
+ * credential, origin allowlists, and an editable sink whose purpose matches.
212
+ * Pixel evidence is tainted from here on.
213
+ */
214
+ async typeSecret(target, name) {
215
+ const secret = this.options.secrets.get(name);
216
+ if (secret === undefined) {
217
+ throw new AgentError('POLICY_DENIED', `secret "${name}" was not declared in this step's params; only declared secrets can be filled`);
218
+ }
219
+ await this.commitTargeted('typeSecret', target, async (node) => {
220
+ const plaintext = await authorizeSecretFill({
221
+ session: this.session,
222
+ operation: () => this.accounting.actionOperation(),
223
+ recordPolicy: (policy, decision, code) => recordPolicyEvent(this.runtime.steps, policy, decision, code),
224
+ }, this.runtime, secret, node);
225
+ await this.session.perform(node.ref, { kind: 'fill', value: plaintext, sensitive: true }, this.accounting.actionOperation());
226
+ this.runtime.taint.value = true;
227
+ // Recorded by stable name only; replay re-runs the full authorization.
228
+ return { name: 'typeSecret', node, secret: name };
229
+ });
230
+ }
231
+ /**
232
+ * Runs one grammar action against the action budget, recorded as an engine
233
+ * event. The body performs the engine call and returns the committed
234
+ * action's recordable descriptor — one value carries both concerns: the
235
+ * event's `detail` prose derives from it in a pure hook, and the dispatcher
236
+ * writes it to the trace cache after the phase settles.
237
+ */
238
+ runAction(name, body) {
239
+ return this.queue.run(() => this.runActionNow(name, body));
240
+ }
241
+ async runActionNow(name, body) {
242
+ this.accounting.reserveAction();
243
+ const redact = this.runtime.redact;
244
+ const testIdAttribute = this.runtime.config.testIdAttribute;
245
+ let action;
246
+ try {
247
+ action = await instrumentPhase(this.runtime, { api: this.accounting.api, kind: 'engine', phase: 'agent.action', name }, body, (committed) => ({ detail: describeAction(committed, redact, testIdAttribute).summary }));
248
+ }
249
+ catch (cause) {
250
+ this.accounting.checkpoint(cause);
251
+ throw cause;
252
+ }
253
+ // The effect may still be arriving: the next settled observation waits for
254
+ // the screen to leave the shape this action was resolved against. A secret
255
+ // fill leaves no visible trace and arms nothing; a scroll waits briefly for
256
+ // rows a windowed or lazy list renders.
257
+ if (name !== 'typeSecret')
258
+ this.feed.armChange(name === 'scroll' ? BRIEF_CHANGE_WAIT_MS : undefined);
259
+ const trace = this.options.trace();
260
+ if (trace === undefined)
261
+ return;
262
+ // A typed value the step derived at run time is this run's data, not the
263
+ // flow's: it is recorded as a gap so replay hands over before it rather
264
+ // than typing a value the app may not issue again.
265
+ if (action.name === 'type' && isDerivedValue(action.value, this.options.instruction, this.options.params)) {
266
+ trace.recordGap('type (run-time value)');
267
+ return;
268
+ }
269
+ trace.record(action);
270
+ }
271
+ /**
272
+ * One action against a resolved node. A node the engine reports stale is
273
+ * re-found by its descriptor against a fresh capture and the action retried
274
+ * (`MAX_STALE_RELOCATIONS` times): a list that remounts its rows between
275
+ * the observation and the action keeps the control on screen under a dead
276
+ * handle, and the control, not the handle, is what the model asked for. A
277
+ * descriptor that matches nothing or several nodes fails the action instead.
278
+ */
279
+ commitTargeted(name, target, perform) {
280
+ return this.runAction(name, this.targeted(target, perform));
281
+ }
282
+ /** The body of one targeted action: resolution, the relocation loop, and the placement the trace records. */
283
+ targeted(target, perform) {
284
+ return async () => {
285
+ let { node, observation } = this.feed.resolve(target);
286
+ const redact = this.runtime.redact;
287
+ const testIdAttribute = this.runtime.config.testIdAttribute;
288
+ for (let relocations = 0;; relocations += 1) {
289
+ // The container the node sits in is captured with it: that is what
290
+ // tells this row's "Delete" from the next row's when the flow replays.
291
+ const within = containerKey(node.ref.id, observation.nodes, observation.parents, redact);
292
+ // When the description still matches several controls, the position among
293
+ // them is recorded too; a replay that finds the same number picks the same one.
294
+ const position = describePosition(node, within, observation.nodes, { redact, testIdAttribute });
295
+ try {
296
+ const action = await perform(node);
297
+ return {
298
+ ...action,
299
+ ...(within === undefined ? {} : { within }),
300
+ ...(position === undefined ? {} : { position }),
301
+ };
302
+ }
303
+ catch (cause) {
304
+ if (asEngineError(cause)?.code !== 'NODE_STALE')
305
+ throw cause;
306
+ const relocated = relocations < MAX_STALE_RELOCATIONS ? await this.feed.relocate(node) : undefined;
307
+ if (relocated === undefined) {
308
+ throw new AgentError('LOCATOR_NOT_FOUND', 'the target node left the screen before the action reached it', {
309
+ cause,
310
+ });
311
+ }
312
+ node = relocated.node;
313
+ observation = relocated.observation;
314
+ }
315
+ }
316
+ };
317
+ }
318
+ }
319
+ //# sourceMappingURL=action-dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-dispatcher.js","sourceRoot":"","sources":["../../src/agent/action-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * the same descriptor projection. One owner for all three, so a recorded
9
9
  * summary, a live event line, and a relocation candidate can never drift.
10
10
  */
11
- import type { SemanticNode } from '../engine/surface.ts';
11
+ import type { SemanticNode, ViewportPoint } from '../engine/surface.ts';
12
12
  import { type TraceTargetDescriptor, type TracePosition } from '../cache/trace.ts';
13
13
  import type { ScrollDirection } from '../types.ts';
14
14
  /** One committed grammar action, addressed by the node it actually ran against. */
@@ -38,6 +38,21 @@ export type RecordableAction = ({
38
38
  } & Placement) | {
39
39
  readonly name: 'navigate';
40
40
  readonly url: string;
41
+ }
42
+ /**
43
+ * A tap on a bare viewport point that no listed control contained, with
44
+ * the viewport it was placed in and, when one is listed, the node whose
45
+ * box contained it: the trace records the point's place inside that box
46
+ * so replay can follow the node when the layout shifts.
47
+ */
48
+ | {
49
+ readonly name: 'tapAt';
50
+ readonly point: ViewportPoint;
51
+ readonly viewport: {
52
+ readonly width: number;
53
+ readonly height: number;
54
+ };
55
+ readonly under?: SemanticNode;
41
56
  };
42
57
  /** Where the node sat when it was acted on: its container's key and its place among identical twins. */
43
58
  interface Placement {
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/agent/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,mFAAmF;AACnF,MAAM,MAAM,gBAAgB,GACxB,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG,SAAS,CAAC,GACnE,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,GAC5F,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,GACnG,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,GAC3F,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,GAC9F,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;CAAE,GAAG,SAAS,CAAC,GAC5G;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,wGAAwG;AACxG,UAAU,SAAS;IACjB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;CACnC;AAOD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EACxC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAC/B,MAAM,GAAG,SAAS,CAiBpB;AAED,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAM/F;AAiBD,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAC5B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAChC,eAAe,EAAE,MAAM,GACtB,eAAe,CAkCjB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAChC,eAAe,EAAE,MAAM,GACtB,qBAAqB,GAAG,SAAS,CAwBnC"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/agent/actions.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,7 @@ function squash(text) {
65
65
  }
66
66
  /** Describes one committed action for recording and for the live event. */
67
67
  export function describeAction(action, redact, testIdAttribute) {
68
- const node = 'node' in action ? action.node : undefined;
68
+ const node = 'node' in action ? action.node : action.name === 'tapAt' ? action.under : undefined;
69
69
  const within = 'within' in action ? action.within : undefined;
70
70
  const position = 'position' in action ? action.position : undefined;
71
71
  const described = node === undefined ? undefined : describeTarget(node, redact, testIdAttribute);
@@ -94,6 +94,10 @@ export function describeAction(action, redact, testIdAttribute) {
94
94
  return target === undefined ? `scroll ${action.direction}` : `scroll ${action.direction} on ${where}`;
95
95
  case 'navigate':
96
96
  return `navigate to ${safe(action.url)}`;
97
+ case 'tapAt': {
98
+ const at = `tap the point (${String(action.point.x)}, ${String(action.point.y)})`;
99
+ return target === undefined ? at : `${at} on ${where}`;
100
+ }
97
101
  }
98
102
  })();
99
103
  return { target, summary: bound(prose, MAX_TRACE_SUMMARY_CHARS) };