@pixelzx/genesis 2026.6.6-1 → 2026.6.7

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 (1890) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-FuQvBD6U.js +201 -0
  4. package/dist/abort-cutoff.runtime-DhhkmUom.js +20 -0
  5. package/dist/abort-cutoff.runtime.js +1 -1
  6. package/dist/abort.runtime-B3IgkoFt.js +2 -0
  7. package/dist/abort.runtime.js +1 -1
  8. package/dist/accounts-BPUJOLhQ.js +66 -0
  9. package/dist/accounts-CAneScu8.js +104 -0
  10. package/dist/accounts-CHR1oSF7.js +43 -0
  11. package/dist/accounts-CJ6NSXHe.js +2 -0
  12. package/dist/accounts-DIkEzenx.js +365 -0
  13. package/dist/accounts-DSBZWK21.js +107 -0
  14. package/dist/accounts.runtime-CbxAqfkd.js +2 -0
  15. package/dist/accounts.runtime.js +1 -1
  16. package/dist/acp-cli-ogRPWqZT.js +2217 -0
  17. package/dist/acp-spawn-8dy4yT3V.js +2 -0
  18. package/dist/acp-spawn-BjYzM6z-.js +1093 -0
  19. package/dist/acp-stateful-target-driver-BycE6-83.js +89 -0
  20. package/dist/action-agents-l7277wqt.js +67 -0
  21. package/dist/action-focus-Dl60p5pD.js +132 -0
  22. package/dist/action-help-DxLv4lVR.js +7 -0
  23. package/dist/action-info-DL9E3-WR.js +101 -0
  24. package/dist/action-kill-D9o9OmhF.js +33 -0
  25. package/dist/action-list-CHZdMgmX.js +21 -0
  26. package/dist/action-log-CU2gXtSM.js +30 -0
  27. package/dist/action-send-Bh6VyKBO.js +39 -0
  28. package/dist/action-spawn-CRh30i-w.js +47 -0
  29. package/dist/action-unfocus-DWfvqVUr.js +29 -0
  30. package/dist/actions.runtime-CSqrY29N.js +18 -0
  31. package/dist/actions.runtime-DfxS3edG.js +5 -0
  32. package/dist/actions.runtime.js +1 -1
  33. package/dist/agent-command-VhOY45sc.js +874 -0
  34. package/dist/agent-delivery-KWJUVuVh.js +76 -0
  35. package/dist/agent-harness-runtime-BMQd9IQM.js +144 -0
  36. package/dist/agent-rstdDGqC.js +2 -0
  37. package/dist/agent-runner-utils-B6emOCxL.js +239 -0
  38. package/dist/agent-runner.runtime-Dt9pfuFv.js +3455 -0
  39. package/dist/agent-runner.runtime.js +1 -1
  40. package/dist/agent-runtime-D5sio5gj.js +18 -0
  41. package/dist/agents-DETbymgH.js +5 -0
  42. package/dist/agents-JnpGV0Mg.js +954 -0
  43. package/dist/agents.command-shared-DP-GYkQM.js +40 -0
  44. package/dist/aliases-CjpePDVQ.js +96 -0
  45. package/dist/aliases-Doxg0x1v.js +2 -0
  46. package/dist/api-3RLMm-sv.js +48 -0
  47. package/dist/api-BFMX7Y4G.js +139 -0
  48. package/dist/api-DNZZlJ9_.js +3 -0
  49. package/dist/api-DT7zQn5K.js +5 -0
  50. package/dist/api-Dg7zYoZ_.js +3 -0
  51. package/dist/api-cghJ3F6o.js +4 -0
  52. package/dist/apply-DfMBIGyY.js +508 -0
  53. package/dist/apply.runtime-C0oOWIW8.js +2 -0
  54. package/dist/apply.runtime.js +1 -1
  55. package/dist/approval-client-helpers-D2LpKFDf.js +82 -0
  56. package/dist/approval-delivery-helpers-CmhRlLZJ.js +134 -0
  57. package/dist/approval-gateway-resolver-BjqCdv8k.js +29 -0
  58. package/dist/approval-gateway-runtime-vc_h56PW.js +2 -0
  59. package/dist/approval-handler-runtime-CLi8o4N6.js +439 -0
  60. package/dist/approval-native-helpers-BJTvZT00.js +33 -0
  61. package/dist/approval-native-runtime-BCglJkGQ.js +729 -0
  62. package/dist/approval-renderers-B2Vy1H8m.js +64 -0
  63. package/dist/attempt-execution.runtime-BJ2ggQLO.js +509 -0
  64. package/dist/attempt-execution.runtime.js +1 -1
  65. package/dist/attempt-execution.shared-drVqEuBX.js +22 -0
  66. package/dist/attempt.prompt-helpers-CPOKGBRq.js +221 -0
  67. package/dist/attempt.tool-run-context-b245l8XM.js +933 -0
  68. package/dist/audit-DTHRJzg2.js +939 -0
  69. package/dist/audit-membership-runtime-BJqpONbJ.js +550 -0
  70. package/dist/audit.runtime-CX2MkQvJ.js +7 -0
  71. package/dist/audit.runtime.js +1 -1
  72. package/dist/auth-4Bm-1bcd.js +177 -0
  73. package/dist/auth-BZdTw_F-.js +56 -0
  74. package/dist/auth-CuwCoyT1.js +550 -0
  75. package/dist/auth-DIgzPDDK.js +2 -0
  76. package/dist/auth-order-BY3KAiKC.js +2 -0
  77. package/dist/auth-order-Dg56giIe.js +139 -0
  78. package/dist/base-url-C558HJO5.js +15 -0
  79. package/dist/bash-tools-CfDemvWu.js +2824 -0
  80. package/dist/bash-tools-Dn5gcYvt.js +3 -0
  81. package/dist/bash-tools.exec-runtime-dke732lC.js +829 -0
  82. package/dist/best-effort-delivery-DljQXVME.js +22 -0
  83. package/dist/binding-routing-DR_67bg0.js +85 -0
  84. package/dist/binding-targets-DTa463kX.js +121 -0
  85. package/dist/block-streaming-CSQXIKzf.js +103 -0
  86. package/dist/bluebubbles-Ct06wUcN.js +77 -0
  87. package/dist/brave-web-search-provider-CXpJbGgI.js +111 -0
  88. package/dist/brave-web-search-provider.runtime-wY0sclse.js +229 -0
  89. package/dist/brave-web-search-provider.runtime.js +1 -1
  90. package/dist/brave-web-search-provider.shared-CRDSDuDf.js +174 -0
  91. package/dist/bridge-auth-registry-BorAQxuW.js +23 -0
  92. package/dist/bridge-server-BjsnFWH5.js +113 -0
  93. package/dist/browser-control-auth-K_ABcymZ.js +2 -0
  94. package/dist/browser-node-runtime-Djr0LEX4.js +12 -0
  95. package/dist/browser-profiles-D-JVGcFQ.js +2 -0
  96. package/dist/browser-runtime-Dtu4pSLX.js +387 -0
  97. package/dist/browser-setup-tools-DOMK1dxP.js +13 -0
  98. package/dist/build-DIqCC9wY.js +550 -0
  99. package/dist/build-info.json +3 -3
  100. package/dist/bundled/boot-md/handler.js +3 -3
  101. package/dist/bundled/session-memory/handler.js +1 -1
  102. package/dist/call-CBwbz0Y_.js +3 -0
  103. package/dist/call-CMzLsAeQ.js +331 -0
  104. package/dist/call-status-D_PRqurB.js +33 -0
  105. package/dist/call.runtime-TShzrwtE.js +2 -0
  106. package/dist/call.runtime.js +1 -1
  107. package/dist/capability-cli-eqSRFvPG.js +1401 -0
  108. package/dist/card-command-DgCNU0bS.js +241 -0
  109. package/dist/catalog-provider-BQCfbyPd.js +40 -0
  110. package/dist/catchup-B0RMVns9.js +300 -0
  111. package/dist/channel-35I4A3FQ.js +1802 -0
  112. package/dist/channel-B68Jn_67.js +491 -0
  113. package/dist/channel-BpHCHrCO.js +350 -0
  114. package/dist/channel-CLV2rd5J.js +1174 -0
  115. package/dist/channel-COt8yEeA.js +226 -0
  116. package/dist/channel-CQOr5HA2.js +595 -0
  117. package/dist/channel-CY88u47q.js +1100 -0
  118. package/dist/channel-Cz5FQxuV.js +1320 -0
  119. package/dist/channel-_FIMA_4n.js +840 -0
  120. package/dist/channel-core-DH_fXGdB.js +5 -0
  121. package/dist/channel-inbound-DsSKYRQk.js +31 -0
  122. package/dist/channel-kbFJLAok.js +453 -0
  123. package/dist/channel-plugin-runtime-1zw5fP7e.js +771 -0
  124. package/dist/channel-resolution-BQCJwoVA.js +39 -0
  125. package/dist/channel-runtime-DKTzKZrY.js +425 -0
  126. package/dist/channel-selection-CfVNh5Ma.js +126 -0
  127. package/dist/channel-selection.runtime-5JjJNFm5.js +2 -0
  128. package/dist/channel-selection.runtime.js +1 -1
  129. package/dist/channel-t7y5VhIk.js +297 -0
  130. package/dist/channel.runtime-BxFS1fqc.js +26 -0
  131. package/dist/channel.runtime-C4vTK1SO.js +576 -0
  132. package/dist/channel.runtime-Cb5xElcA.js +42398 -0
  133. package/dist/channel.runtime-Cg2IHutr.js +89 -0
  134. package/dist/channel.runtime-CuDcjlCH.js +4 -0
  135. package/dist/channel.runtime-DhuYxzU_.js +67 -0
  136. package/dist/channel.runtime-LtoAmHpA.js +2364 -0
  137. package/dist/channel.runtime-fe2tuhl7.js +430 -0
  138. package/dist/channel.runtime.js +1 -1
  139. package/dist/channel.setup-De742gXr.js +10 -0
  140. package/dist/channel2.runtime-D0-Q3OqX.js +109 -0
  141. package/dist/channel2.runtime.js +1 -1
  142. package/dist/channels-Dg381GJl.js +733 -0
  143. package/dist/channels-cli-C4Mv5lRD.js +268 -0
  144. package/dist/chat-DraQ_Vnc.js +2830 -0
  145. package/dist/chrome-NuBBXoKP.js +1430 -0
  146. package/dist/chrome-mcp-Bzn6x9ZE.js +2 -0
  147. package/dist/chrome-mcp-JcJrSyd_.js +600 -0
  148. package/dist/chrome.executables-B2fHBMhv.js +541 -0
  149. package/dist/chunk-nFZYBJd4.js +268 -0
  150. package/dist/clawbot-cli-BZ5Ho8RJ.js +9 -0
  151. package/dist/cli/daemon-cli.js +3 -3
  152. package/dist/cli-B8D7xwgW.js +2 -0
  153. package/dist/cli-BbCsXDcy.js +2 -0
  154. package/dist/cli-Ct2Cgbp8.js +154 -0
  155. package/dist/cli-D1e_2N91.js +3726 -0
  156. package/dist/cli-D8pyHyFi.js +72 -0
  157. package/dist/cli-eRz4BLSt.js +2 -0
  158. package/dist/cli-mD8ZWE4Y.js +219 -0
  159. package/dist/cli-runner-BVFPfETV.js +286 -0
  160. package/dist/cli-runner.runtime-CcxMMyO0.js +3 -0
  161. package/dist/cli-runner.runtime-MmlDBELB.js +4 -0
  162. package/dist/cli-runner.runtime.js +1 -1
  163. package/dist/cli-startup-metadata.json +2 -2
  164. package/dist/cli.runtime-CG9Epd6c.js +1261 -0
  165. package/dist/cli.runtime.js +1 -1
  166. package/dist/client-BtyYQE4I.js +713 -0
  167. package/dist/client-XqW1gKEi.js +138 -0
  168. package/dist/client-info-DeQMz3zN.js +52 -0
  169. package/dist/command-auth-C8YZ7xNT.js +409 -0
  170. package/dist/command-auth-CZjLC0A5.js +76 -0
  171. package/dist/command-config-resolution-C42_gG_b.js +2 -0
  172. package/dist/command-config-resolution-DGrpZjql.js +23 -0
  173. package/dist/command-config-resolution.runtime-D8PGJbcf.js +2 -0
  174. package/dist/command-config-resolution.runtime.js +1 -1
  175. package/dist/command-execution-startup-LCePq-pd.js +324 -0
  176. package/dist/command-gates-C1GpyUaI.js +47 -0
  177. package/dist/command-registry-Brd-fdF6.js +9 -0
  178. package/dist/command-registry-C9XhD-0z.js +4 -0
  179. package/dist/command-registry-core-BBFaOPyw.js +106 -0
  180. package/dist/command-secret-gateway-_i9GgsPE.js +528 -0
  181. package/dist/command-status.runtime-C-azOR6K.js +87 -0
  182. package/dist/command-status.runtime.js +1 -1
  183. package/dist/commands-acp-cpGZ404g.js +77 -0
  184. package/dist/commands-compact.runtime-CXWGv2V6.js +10 -0
  185. package/dist/commands-compact.runtime.js +1 -1
  186. package/dist/commands-context-DZzZWgOe.js +38 -0
  187. package/dist/commands-core.runtime-BqbYtFGd.js +2 -0
  188. package/dist/commands-core.runtime.js +1 -1
  189. package/dist/commands-handlers.runtime-BcIJeLbE.js +4599 -0
  190. package/dist/commands-handlers.runtime.js +1 -1
  191. package/dist/commands-models-BScPCL8E.js +327 -0
  192. package/dist/commands-reset-hooks-5uvV2mDE.js +135 -0
  193. package/dist/commands-status-CIyza-rp.js +16 -0
  194. package/dist/commands-status.runtime-CqMsNHJz.js +3 -0
  195. package/dist/commands-status.runtime.js +1 -1
  196. package/dist/commands-subagents-control.runtime-BVTHxVDG.js +2 -0
  197. package/dist/commands-subagents-control.runtime-DdiL_B5Y.js +3 -0
  198. package/dist/commands-subagents-control.runtime.js +1 -1
  199. package/dist/commands-system-prompt-DCmABzHv.js +158 -0
  200. package/dist/commands-system-prompt-DsWVuYqh.js +2 -0
  201. package/dist/commands.runtime-CBu1iNc5.js +167 -0
  202. package/dist/commands.runtime.js +1 -1
  203. package/dist/compact-OC23uUnx.js +1118 -0
  204. package/dist/compact.runtime-BnEUkxbT.js +12 -0
  205. package/dist/compact.runtime.js +1 -1
  206. package/dist/completion-cli-Dazyh2sJ.js +328 -0
  207. package/dist/config-BQkNdc69.js +252 -0
  208. package/dist/config-api-BKYSOnnY.js +2 -0
  209. package/dist/config-cli-DLlHp2db.js +1078 -0
  210. package/dist/config-compat-BIX-j6Si.js +130 -0
  211. package/dist/config-compat-BwlAvvWb.js +126 -0
  212. package/dist/config-guard-MokLrRXO.js +96 -0
  213. package/dist/config-runtime-EDLCUCSu.js +32 -0
  214. package/dist/configure-Bb8n7ry_.js +1252 -0
  215. package/dist/configure-_pHM_yQw.js +2 -0
  216. package/dist/connect-options-3xkNjdH1.js +699 -0
  217. package/dist/control-auth-BXNajQ4N.js +125 -0
  218. package/dist/control-service-89oBONRk.js +156 -0
  219. package/dist/control-ui/assets/agents-BQsvYsmp.js +1052 -0
  220. package/dist/control-ui/assets/canvas-D92UKk4C.js +269 -0
  221. package/dist/control-ui/assets/channels-B23D1XmP.js +463 -0
  222. package/dist/control-ui/assets/cron-CYzrBBv6.js +933 -0
  223. package/dist/control-ui/assets/debug-C8av-vpc.js +94 -0
  224. package/dist/control-ui/assets/index-ChL66WCS.js +6238 -0
  225. package/dist/control-ui/assets/index-Dq9zdUBj.css +1 -0
  226. package/dist/control-ui/assets/instances-qfDdYtE0.js +57 -0
  227. package/dist/control-ui/assets/mcp-CipBqkHK.js +373 -0
  228. package/dist/control-ui/assets/nodes-WP7e87Mm.js +618 -0
  229. package/dist/control-ui/assets/plugins-BZGJKpWs.js +273 -0
  230. package/dist/control-ui/assets/sessions-7NbJpVyg.js +306 -0
  231. package/dist/control-ui/assets/skills-hW_GTRp3.js +323 -0
  232. package/dist/control-ui/assets/wallet-Bga18qp4.js +285 -0
  233. package/dist/control-ui/index.html +2 -2
  234. package/dist/control-ui-nxEuCu7Y.js +1043 -0
  235. package/dist/conversation-id-BXdEWBuk.js +38 -0
  236. package/dist/conversation-id-HnQrCUJb.js +235 -0
  237. package/dist/conversation-runtime-DOPjHG-D.js +31 -0
  238. package/dist/core-BglliBki.js +275 -0
  239. package/dist/create-DcvM0ElD.js +80 -0
  240. package/dist/cron-cli-DbZllbTi.js +713 -0
  241. package/dist/daemon-cli-BCP6oYnN.js +12 -0
  242. package/dist/dashboard-74d-EIMB.js +81 -0
  243. package/dist/dashboard-C0aOhuxv.js +2 -0
  244. package/dist/ddg-client-DUe6RTVg.js +147 -0
  245. package/dist/ddg-search-provider-Bm0jAm4h.js +54 -0
  246. package/dist/delegate-0l_cL2en.js +64 -0
  247. package/dist/deliver-BbAfYPEn.js +3 -0
  248. package/dist/deliver-DmZnoo4L.js +747 -0
  249. package/dist/deliver-runtime-5H2EYniG.js +2 -0
  250. package/dist/delivery-context-DP5JLMHJ.js +40 -0
  251. package/dist/delivery-outbound.runtime-DQEeDEsu.js +6 -0
  252. package/dist/delivery-outbound.runtime.js +1 -1
  253. package/dist/delivery.runtime-Bi7HZGxD.js +253 -0
  254. package/dist/delivery.runtime.js +1 -1
  255. package/dist/detached-task-runtime-DlQ3fJk5.js +73 -0
  256. package/dist/devices-cli-BLCk402O.js +498 -0
  257. package/dist/diagnostics-Ccv6wIwn.js +154 -0
  258. package/dist/direct-dm-lEcFUgjs.js +64 -0
  259. package/dist/directive-handling.fast-lane-Cp4AUlKY.js +66 -0
  260. package/dist/directive-handling.impl-5h27Bn7L.js +703 -0
  261. package/dist/directive-handling.impl-XC63bDbc.js +2 -0
  262. package/dist/directive-handling.model-selection-D0aMABmk.js +114 -0
  263. package/dist/directive-handling.persist.runtime-DDNAkC4Z.js +215 -0
  264. package/dist/directive-handling.persist.runtime.js +1 -1
  265. package/dist/directive-handling.shared-DyVSHQBC.js +56 -0
  266. package/dist/directory-cli-CDvyD_lg.js +240 -0
  267. package/dist/dispatch-Dd327enz.js +1131 -0
  268. package/dist/dispatch-acp-6k3pJubU.js +981 -0
  269. package/dist/dispatch-acp-manager.runtime-B7qhOTmA.js +3 -0
  270. package/dist/dispatch-acp-manager.runtime.js +1 -1
  271. package/dist/dispatch-acp-media.runtime-Dh6QaiKm.js +4 -0
  272. package/dist/dispatch-acp-media.runtime.js +1 -1
  273. package/dist/dispatch-acp-session.runtime-DIcbAze4.js +2 -0
  274. package/dist/dispatch-acp-session.runtime.js +1 -1
  275. package/dist/dispatch-acp.runtime-25XWZDxg.js +19 -0
  276. package/dist/dispatch-acp.runtime.js +1 -1
  277. package/dist/doctor-config-flow-sE-lNSad.js +420 -0
  278. package/dist/doctor-config-preflight-VYCO67J4.js +63 -0
  279. package/dist/doctor-config-preflight-qSk2JNLg.js +2 -0
  280. package/dist/doctor-contract-BAsLLlR_.js +26 -0
  281. package/dist/doctor-device-pairing-BXDxtsmA.js +307 -0
  282. package/dist/doctor-gateway-daemon-flow-CHRWhGJG.js +250 -0
  283. package/dist/doctor-gateway-health-B04Kph1-.js +63 -0
  284. package/dist/doctor-health-contributions-Di1lbh4V.js +493 -0
  285. package/dist/doctor-health-vZ_aKkfh.js +59 -0
  286. package/dist/doctor-prompter-Cr1NyTHN.js +56 -0
  287. package/dist/doctor-sandbox-CrC9AbfL.js +194 -0
  288. package/dist/doctor-state-migrations-tkILPnwB.js +2 -0
  289. package/dist/doctor-workspace-status-CPUsFX3w.js +75 -0
  290. package/dist/dreaming-CeLuSaLi.js +1582 -0
  291. package/dist/dreaming-narrative-gKfNqC2s.js +596 -0
  292. package/dist/dreaming-shared-BLs-EJbE.js +21 -0
  293. package/dist/embedded-gateway-stub.runtime-8jv6iwO4.js +9 -0
  294. package/dist/embedded-gateway-stub.runtime.js +1 -1
  295. package/dist/embeddings-CSeRG-6f.js +215 -0
  296. package/dist/embeddings-http-9k11WSE6.js +205 -0
  297. package/dist/entry.js +2 -2
  298. package/dist/exa-web-search-provider-DeSQ1lkN.js +80 -0
  299. package/dist/exa-web-search-provider.runtime-BHWIPnmu.js +302 -0
  300. package/dist/exa-web-search-provider.runtime-C84CVfco.js +2 -0
  301. package/dist/exa-web-search-provider.runtime.js +1 -1
  302. package/dist/exec-approval-forwarder.runtime-BMw0YxXn.js +3 -0
  303. package/dist/exec-approval-forwarder.runtime.js +1 -1
  304. package/dist/exec-approval-reply-BTNXbvSi.js +2 -0
  305. package/dist/exec-approval-reply-BVINNdDT.js +296 -0
  306. package/dist/exec-approval-session-target-BclZJwRq.js +176 -0
  307. package/dist/exec-approvals-cli-BvRs9Hvl.js +498 -0
  308. package/dist/exec-defaults-BzfzJhdd.js +2 -0
  309. package/dist/exec-defaults-DJtYK-Wg.js +67 -0
  310. package/dist/execute.runtime-C-v-Cnhl.js +1363 -0
  311. package/dist/execute.runtime.js +1 -1
  312. package/dist/extensionAPI.js +3 -3
  313. package/dist/extensions/active-memory/index.js +3 -3
  314. package/dist/extensions/bluebubbles/api.js +3 -3
  315. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  316. package/dist/extensions/brave/index.js +1 -1
  317. package/dist/extensions/brave/test-api.js +1 -1
  318. package/dist/extensions/brave/web-search-provider.js +1 -1
  319. package/dist/extensions/browser/browser-bridge.js +1 -1
  320. package/dist/extensions/browser/browser-config.js +4 -4
  321. package/dist/extensions/browser/browser-control-auth.js +2 -2
  322. package/dist/extensions/browser/browser-doctor.js +5 -5
  323. package/dist/extensions/browser/browser-host-inspection.js +1 -1
  324. package/dist/extensions/browser/browser-maintenance.js +2 -2
  325. package/dist/extensions/browser/browser-profiles.js +2 -2
  326. package/dist/extensions/browser/browser-runtime-api.js +14 -14
  327. package/dist/extensions/browser/index.js +1 -1
  328. package/dist/extensions/browser/plugin-registration.js +1 -1
  329. package/dist/extensions/browser/register.runtime.js +3 -3
  330. package/dist/extensions/browser/runtime-api.js +15 -15
  331. package/dist/extensions/browser/setup-api.js +2 -2
  332. package/dist/extensions/browser/test-support.js +1 -1
  333. package/dist/extensions/byteplus/index.js +1 -1
  334. package/dist/extensions/byteplus/video-generation-provider.js +1 -1
  335. package/dist/extensions/chutes/api.js +3 -3
  336. package/dist/extensions/chutes/index.js +4 -4
  337. package/dist/extensions/chutes/models.js +1 -1
  338. package/dist/extensions/chutes/onboard.js +2 -2
  339. package/dist/extensions/chutes/provider-catalog.js +1 -1
  340. package/dist/extensions/cloudflare-ai-gateway/api.js +1 -1
  341. package/dist/extensions/cloudflare-ai-gateway/catalog-provider.js +1 -1
  342. package/dist/extensions/cloudflare-ai-gateway/index.js +2 -2
  343. package/dist/extensions/comfy/image-generation-provider.js +2 -2
  344. package/dist/extensions/comfy/index.js +3 -3
  345. package/dist/extensions/comfy/music-generation-provider.js +1 -1
  346. package/dist/extensions/comfy/video-generation-provider.js +2 -2
  347. package/dist/extensions/comfy/workflow-runtime.js +1 -1
  348. package/dist/extensions/deepgram/index.js +1 -1
  349. package/dist/extensions/deepgram/realtime-transcription-provider.js +1 -1
  350. package/dist/extensions/deepgram/test-api.js +1 -1
  351. package/dist/extensions/device-pair/api.js +2 -2
  352. package/dist/extensions/device-pair/index.js +5 -5
  353. package/dist/extensions/device-pair/notify.js +1 -1
  354. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  355. package/dist/extensions/device-pair/qr-image.js +2 -2
  356. package/dist/extensions/duckduckgo/index.js +1 -1
  357. package/dist/extensions/duckduckgo/web-search-provider.js +1 -1
  358. package/dist/extensions/elevenlabs/config-compat.js +1 -1
  359. package/dist/extensions/elevenlabs/contract-api.js +2 -2
  360. package/dist/extensions/elevenlabs/doctor-contract.js +2 -2
  361. package/dist/extensions/elevenlabs/index.js +2 -2
  362. package/dist/extensions/elevenlabs/realtime-transcription-provider.js +1 -1
  363. package/dist/extensions/elevenlabs/setup-api.js +1 -1
  364. package/dist/extensions/elevenlabs/speech-provider.js +1 -1
  365. package/dist/extensions/elevenlabs/test-api.js +2 -2
  366. package/dist/extensions/exa/index.js +1 -1
  367. package/dist/extensions/exa/test-api.js +1 -1
  368. package/dist/extensions/exa/web-search-provider.js +1 -1
  369. package/dist/extensions/fal/image-generation-provider.js +1 -1
  370. package/dist/extensions/fal/index.js +2 -2
  371. package/dist/extensions/fal/test-api.js +2 -2
  372. package/dist/extensions/fal/video-generation-provider.js +1 -1
  373. package/dist/extensions/firecrawl/api.js +1 -1
  374. package/dist/extensions/github-copilot/api.js +1 -1
  375. package/dist/extensions/github-copilot/auth.js +1 -1
  376. package/dist/extensions/github-copilot/embeddings.js +1 -1
  377. package/dist/extensions/github-copilot/index.js +6 -6
  378. package/dist/extensions/github-copilot/login.js +1 -1
  379. package/dist/extensions/github-copilot/models-defaults.js +1 -1
  380. package/dist/extensions/github-copilot/models.js +1 -1
  381. package/dist/extensions/github-copilot/register.runtime.js +1 -1
  382. package/dist/extensions/github-copilot/replay-policy.js +1 -1
  383. package/dist/extensions/google-meet/index.js +5 -5
  384. package/dist/extensions/huggingface/api.js +3 -3
  385. package/dist/extensions/huggingface/index.js +2 -2
  386. package/dist/extensions/huggingface/models.js +1 -1
  387. package/dist/extensions/huggingface/onboard.js +1 -1
  388. package/dist/extensions/huggingface/provider-catalog.js +2 -2
  389. package/dist/extensions/imessage/api.js +5 -5
  390. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  391. package/dist/extensions/imessage/contract-api.js +2 -2
  392. package/dist/extensions/imessage/media-contract-api.js +2 -2
  393. package/dist/extensions/imessage/runtime-api.js +5 -5
  394. package/dist/extensions/imessage/test-api.js +2 -2
  395. package/dist/extensions/irc/api.js +2 -2
  396. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  397. package/dist/extensions/kilocode/api.js +2 -2
  398. package/dist/extensions/kilocode/index.js +3 -3
  399. package/dist/extensions/kilocode/onboard.js +2 -2
  400. package/dist/extensions/kilocode/provider-catalog.js +1 -1
  401. package/dist/extensions/kilocode/provider-models.js +1 -1
  402. package/dist/extensions/kilocode/shared.js +1 -1
  403. package/dist/extensions/kimi-coding/index.js +2 -2
  404. package/dist/extensions/kimi-coding/stream.js +1 -1
  405. package/dist/extensions/line/api.js +2 -2
  406. package/dist/extensions/line/channel-plugin-api.js +1 -1
  407. package/dist/extensions/line/contract-api.js +1 -1
  408. package/dist/extensions/line/index.js +1 -1
  409. package/dist/extensions/line/runtime-api.js +7 -7
  410. package/dist/extensions/line/setup-api.js +1 -1
  411. package/dist/extensions/llm-task/index.js +1 -1
  412. package/dist/extensions/lmstudio/api.js +1 -1
  413. package/dist/extensions/lmstudio/index.js +2 -2
  414. package/dist/extensions/lmstudio/memory-embedding-adapter.js +1 -1
  415. package/dist/extensions/lmstudio/runtime-api.js +1 -1
  416. package/dist/extensions/lobster/runtime-api.js +1 -1
  417. package/dist/extensions/mattermost/api.js +1 -1
  418. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  419. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  420. package/dist/extensions/mattermost/policy-api.js +1 -1
  421. package/dist/extensions/mattermost/runtime-api.js +9 -9
  422. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  423. package/dist/extensions/memory-core/api.js +1 -1
  424. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  425. package/dist/extensions/memory-core/index.js +9 -9
  426. package/dist/extensions/memory-core/manager-runtime.js +1 -1
  427. package/dist/extensions/memory-core/runtime-api.js +4 -4
  428. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  429. package/dist/extensions/memory-lancedb/index.js +2 -2
  430. package/dist/extensions/memory-wiki/cli-metadata.js +1 -1
  431. package/dist/extensions/memory-wiki/index.js +1 -1
  432. package/dist/extensions/microsoft/index.js +1 -1
  433. package/dist/extensions/microsoft/speech-provider.js +1 -1
  434. package/dist/extensions/microsoft/test-api.js +1 -1
  435. package/dist/extensions/microsoft/tts.js +1 -1
  436. package/dist/extensions/microsoft-foundry/auth.js +1 -1
  437. package/dist/extensions/microsoft-foundry/cli.js +1 -1
  438. package/dist/extensions/microsoft-foundry/index.js +1 -1
  439. package/dist/extensions/microsoft-foundry/onboard.js +2 -2
  440. package/dist/extensions/microsoft-foundry/provider.js +1 -1
  441. package/dist/extensions/microsoft-foundry/runtime.js +1 -1
  442. package/dist/extensions/microsoft-foundry/shared-runtime.js +2 -2
  443. package/dist/extensions/microsoft-foundry/shared.js +1 -1
  444. package/dist/extensions/minimax/index.js +5 -5
  445. package/dist/extensions/minimax/music-generation-provider.js +1 -1
  446. package/dist/extensions/minimax/provider-registration.js +1 -1
  447. package/dist/extensions/minimax/speech-provider.js +1 -1
  448. package/dist/extensions/minimax/test-api.js +3 -3
  449. package/dist/extensions/minimax/video-generation-provider.js +1 -1
  450. package/dist/extensions/minimax/web-search-provider.js +1 -1
  451. package/dist/extensions/mistral/index.js +2 -2
  452. package/dist/extensions/mistral/provider-compat.js +1 -1
  453. package/dist/extensions/mistral/realtime-transcription-provider.js +1 -1
  454. package/dist/extensions/mistral/test-api.js +1 -1
  455. package/dist/extensions/moonshot/index.js +1 -1
  456. package/dist/extensions/moonshot/test-api.js +1 -1
  457. package/dist/extensions/moonshot/web-search-provider.js +1 -1
  458. package/dist/extensions/msteams/api.js +1 -1
  459. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  460. package/dist/extensions/msteams/runtime-api.js +4 -4
  461. package/dist/extensions/msteams/test-api.js +1 -1
  462. package/dist/extensions/nextcloud-talk/api.js +1 -1
  463. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  464. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  465. package/dist/extensions/ollama/api.js +3 -3
  466. package/dist/extensions/ollama/index.js +5 -5
  467. package/dist/extensions/ollama/runtime-api.js +1 -1
  468. package/dist/extensions/ollama/web-search-provider.js +1 -1
  469. package/dist/extensions/openai/api.js +4 -4
  470. package/dist/extensions/openai/base-url.js +1 -1
  471. package/dist/extensions/openai/image-generation-provider.js +1 -1
  472. package/dist/extensions/openai/index.js +8 -8
  473. package/dist/extensions/openai/native-web-search.js +1 -1
  474. package/dist/extensions/openai/openai-codex-auth-identity.js +1 -1
  475. package/dist/extensions/openai/openai-codex-device-code.js +1 -1
  476. package/dist/extensions/openai/openai-codex-provider.js +1 -1
  477. package/dist/extensions/openai/openai-codex-shared.js +1 -1
  478. package/dist/extensions/openai/openai-provider.js +1 -1
  479. package/dist/extensions/openai/realtime-provider-shared.js +1 -1
  480. package/dist/extensions/openai/realtime-transcription-provider.js +1 -1
  481. package/dist/extensions/openai/realtime-voice-provider.js +1 -1
  482. package/dist/extensions/openai/register.runtime.js +6 -6
  483. package/dist/extensions/openai/shared.js +1 -1
  484. package/dist/extensions/openai/speech-provider.js +1 -1
  485. package/dist/extensions/openai/test-api.js +5 -5
  486. package/dist/extensions/openai/transport-policy.js +1 -1
  487. package/dist/extensions/openai/video-generation-provider.js +1 -1
  488. package/dist/extensions/opencode/index.js +1 -1
  489. package/dist/extensions/openrouter/api.js +2 -2
  490. package/dist/extensions/openrouter/image-generation-provider.js +1 -1
  491. package/dist/extensions/openrouter/index.js +2 -2
  492. package/dist/extensions/openrouter/register.runtime.js +1 -1
  493. package/dist/extensions/openrouter/speech-provider.js +1 -1
  494. package/dist/extensions/openrouter/test-api.js +2 -2
  495. package/dist/extensions/openshell/index.js +4 -4
  496. package/dist/extensions/perplexity/index.js +1 -1
  497. package/dist/extensions/perplexity/test-api.js +1 -1
  498. package/dist/extensions/perplexity/web-search-provider.js +1 -1
  499. package/dist/extensions/phone-control/index.js +1 -1
  500. package/dist/extensions/runway/index.js +1 -1
  501. package/dist/extensions/runway/video-generation-provider.js +1 -1
  502. package/dist/extensions/signal/api.js +11 -11
  503. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  504. package/dist/extensions/signal/contract-api.js +2 -2
  505. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  506. package/dist/extensions/signal/runtime-api.js +14 -14
  507. package/dist/extensions/skill-workshop/api.js +1 -1
  508. package/dist/extensions/skill-workshop/index.js +2 -2
  509. package/dist/extensions/speech-core/runtime-api.js +2 -2
  510. package/dist/extensions/stepfun/index.js +1 -1
  511. package/dist/extensions/synology-chat/api.js +1 -1
  512. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  513. package/dist/extensions/talk-voice/index.js +2 -2
  514. package/dist/extensions/tavily/index.js +2 -2
  515. package/dist/extensions/tavily/web-search-provider.js +1 -1
  516. package/dist/extensions/thread-ownership/index.js +2 -2
  517. package/dist/extensions/tlon/api.js +2 -2
  518. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  519. package/dist/extensions/tlon/runtime-api.js +1 -1
  520. package/dist/extensions/tlon/setup-api.js +2 -2
  521. package/dist/extensions/tlon/test-api.js +1 -1
  522. package/dist/extensions/together/index.js +1 -1
  523. package/dist/extensions/together/video-generation-provider.js +1 -1
  524. package/dist/extensions/twitch/api.js +1 -1
  525. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  526. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  527. package/dist/extensions/venice/api.js +3 -3
  528. package/dist/extensions/venice/index.js +4 -4
  529. package/dist/extensions/venice/models.js +1 -1
  530. package/dist/extensions/venice/onboard.js +2 -2
  531. package/dist/extensions/venice/provider-catalog.js +1 -1
  532. package/dist/extensions/voice-call/index.js +3 -3
  533. package/dist/extensions/voice-call/runtime-entry.js +1 -1
  534. package/dist/extensions/voice-call/setup-api.js +2 -2
  535. package/dist/extensions/vydra/image-generation-provider.js +1 -1
  536. package/dist/extensions/vydra/index.js +3 -3
  537. package/dist/extensions/vydra/shared.js +1 -1
  538. package/dist/extensions/vydra/speech-provider.js +1 -1
  539. package/dist/extensions/vydra/video-generation-provider.js +1 -1
  540. package/dist/extensions/xai/api.js +6 -6
  541. package/dist/extensions/xai/code-execution.js +2 -2
  542. package/dist/extensions/xai/image-generation-provider.js +1 -1
  543. package/dist/extensions/xai/index.js +11 -11
  544. package/dist/extensions/xai/model-definitions.js +1 -1
  545. package/dist/extensions/xai/onboard.js +1 -1
  546. package/dist/extensions/xai/provider-catalog.js +1 -1
  547. package/dist/extensions/xai/provider-models.js +1 -1
  548. package/dist/extensions/xai/realtime-transcription-provider.js +1 -1
  549. package/dist/extensions/xai/setup-api.js +1 -1
  550. package/dist/extensions/xai/speech-provider.js +1 -1
  551. package/dist/extensions/xai/stt.js +1 -1
  552. package/dist/extensions/xai/test-api.js +1 -1
  553. package/dist/extensions/xai/tts.js +2 -2
  554. package/dist/extensions/xai/video-generation-provider.js +1 -1
  555. package/dist/extensions/xai/web-search.js +1 -1
  556. package/dist/extensions/xai/x-search.js +3 -3
  557. package/dist/extensions/zai/api.js +1 -1
  558. package/dist/extensions/zai/index.js +2 -2
  559. package/dist/extensions/zai/onboard.js +1 -1
  560. package/dist/extensions/zalo/api.js +3 -3
  561. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  562. package/dist/extensions/zalo/runtime-api.js +2 -2
  563. package/dist/extensions/zalo/setup-api.js +2 -2
  564. package/dist/extensions/zalouser/api.js +4 -4
  565. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  566. package/dist/extensions/zalouser/runtime-api.js +9 -9
  567. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  568. package/dist/extensions/zalouser/test-api.js +4 -4
  569. package/dist/fallbacks-B-hX8uqx.js +2 -0
  570. package/dist/fallbacks-C5ybxGTK.js +31 -0
  571. package/dist/fallbacks-shared-CH3k_pWW.js +111 -0
  572. package/dist/format-DUJSy56G.js +176 -0
  573. package/dist/gateway-BIOe8buh.js +115 -0
  574. package/dist/gateway-cli-DwcS5o3b.js +1283 -0
  575. package/dist/gateway-rpc-DE9eTnTH.js +14 -0
  576. package/dist/gateway-rpc.runtime-BYzSLXq5.js +23 -0
  577. package/dist/gateway-rpc.runtime.js +1 -1
  578. package/dist/gateway-runtime-DNBHtXEc.js +15 -0
  579. package/dist/gateway-status-DQ3SCRP6.js +584 -0
  580. package/dist/genesis-tools-B4E1Wx5r.js +9166 -0
  581. package/dist/genesis-tools.runtime-CvLAzIWm.js +2 -0
  582. package/dist/genesis-tools.runtime.js +1 -1
  583. package/dist/get-reply-D9iaq0Co.js +3897 -0
  584. package/dist/get-reply-from-config.runtime-BFrLyjaS.js +2 -0
  585. package/dist/get-reply-from-config.runtime.js +1 -1
  586. package/dist/graph-users-K6q63hQH.js +1337 -0
  587. package/dist/guarded-json-api-BSwHtzk5.js +594 -0
  588. package/dist/health-BLmYYjhC.js +3 -0
  589. package/dist/health-jQBhWAEn.js +469 -0
  590. package/dist/health-route-ByzzS8xk.js +2 -0
  591. package/dist/health-route-CE-2wbny.js +41 -0
  592. package/dist/heartbeat-runner-D4-13meQ.js +5 -0
  593. package/dist/heartbeat-runner-DIprw7jS.js +1292 -0
  594. package/dist/heartbeat-runner.runtime-B_nY5Qgm.js +4 -0
  595. package/dist/heartbeat-runner.runtime.js +1 -1
  596. package/dist/helpers-DEG_RuMc.js +320 -0
  597. package/dist/hooks-cli-DQay0wq5.js +433 -0
  598. package/dist/http-endpoint-helpers-Cj3QINzs.js +41 -0
  599. package/dist/http-headers-CxAw5CS4.js +11 -0
  600. package/dist/http-utils-BdoY-Nqt.js +924 -0
  601. package/dist/identity-DImc-ABG.js +140 -0
  602. package/dist/image-fallbacks-BPxIecDg.js +31 -0
  603. package/dist/image-fallbacks-C9f2oqy9.js +2 -0
  604. package/dist/image-generation-provider-D1MVlkMK.js +529 -0
  605. package/dist/image-generation-provider-D1xp4B37.js +228 -0
  606. package/dist/image-generation-provider-D78SYbpg.js +274 -0
  607. package/dist/image-generation-provider-KrI_cq7u.js +95 -0
  608. package/dist/image-generation-provider-eiDfurMp.js +157 -0
  609. package/dist/image-generation-provider-iM6hlpJY.js +63 -0
  610. package/dist/inbound-reply-dispatch-Cj041nYj.js +73 -0
  611. package/dist/inbound.runtime-BFDKTetv.js +3 -0
  612. package/dist/inbound.runtime-C9MPsVfj.js +4 -0
  613. package/dist/inbound.runtime.js +1 -1
  614. package/dist/index.js +2 -2
  615. package/dist/infra-runtime-D9uudHda.js +39 -0
  616. package/dist/init-BIbgrtP4.js +59 -0
  617. package/dist/install-signal-cli-DX67z7U-.js +202 -0
  618. package/dist/jobs-DWEXUnGc.js +734 -0
  619. package/dist/kimi-web-search-provider-B199pS24.js +80 -0
  620. package/dist/kimi-web-search-provider.runtime-DHuvlTlx.js +261 -0
  621. package/dist/kimi-web-search-provider.runtime-DPkmvLDS.js +2 -0
  622. package/dist/kimi-web-search-provider.runtime.js +1 -1
  623. package/dist/library-B5XEbilF.js +45 -0
  624. package/dist/lifecycle-Cf5XvG8O.js +229 -0
  625. package/dist/lifecycle-CnQRwenx.js +571 -0
  626. package/dist/lifecycle.runtime-CMl4KKk8.js +2 -0
  627. package/dist/lifecycle.runtime.js +1 -1
  628. package/dist/list-AHy8re_f.js +1212 -0
  629. package/dist/list-BTKCVZuV.js +2 -0
  630. package/dist/list-DGTx2Wqw.js +131 -0
  631. package/dist/list-YvfcGz15.js +2 -0
  632. package/dist/list.probe-DG5_xRHp.js +419 -0
  633. package/dist/live-model-switch-CuTctEKz.js +336 -0
  634. package/dist/llm-slug-generator-BruS9kif.js +79 -0
  635. package/dist/llm-slug-generator.js +1 -1
  636. package/dist/load-config-CM6Gosov.js +35 -0
  637. package/dist/local-dispatch.runtime-ZYo4KwzE.js +8 -0
  638. package/dist/local-dispatch.runtime.js +1 -1
  639. package/dist/login-3MD7cKlo.js +108 -0
  640. package/dist/logs-cli-OVNQM7ua.js +265 -0
  641. package/dist/logs-cli.runtime-BxiLcJ_M.js +2 -0
  642. package/dist/logs-cli.runtime.js +1 -1
  643. package/dist/main-session-restart-recovery-DPOV5jrb.js +206 -0
  644. package/dist/managed-image-attachments-6nAXGlI1.js +635 -0
  645. package/dist/managed-image-attachments-DilVoOYk.js +2 -0
  646. package/dist/manager-BtvzSKtj.js +2057 -0
  647. package/dist/manager-DyNLzWfD.js +2 -0
  648. package/dist/manager-Q2pBimx1.js +3114 -0
  649. package/dist/markdown-to-line-BXIakLn2.js +790 -0
  650. package/dist/mcp/plugin-tools-serve.js +1 -1
  651. package/dist/mcp-cli-lQKoKrr8.js +725 -0
  652. package/dist/mcp-http-Bkk3yw83.js +529 -0
  653. package/dist/media-contract-Bc8hq_Hg.js +49 -0
  654. package/dist/media-contract-api-U4NbSFNP.js +2 -0
  655. package/dist/media-runtime-BNkgBOI3.js +329 -0
  656. package/dist/memory-DwnILZlh.js +342 -0
  657. package/dist/memory-core-host-runtime-cli-C8dM34aV.js +9 -0
  658. package/dist/memory-embedding-adapter-B2PHR9-b.js +123 -0
  659. package/dist/message-action-runner-BKUGlEq0.js +2 -0
  660. package/dist/message-action-runner-CXfdJWof.js +1407 -0
  661. package/dist/message-actions-BPS9joyx.js +143 -0
  662. package/dist/message-channel-DGBKBihv.js +56 -0
  663. package/dist/message-gek1bdc3.js +232 -0
  664. package/dist/message-secret-scope-BmZJslJs.js +103 -0
  665. package/dist/message.gateway.runtime-B35cFF_N.js +2 -0
  666. package/dist/message.gateway.runtime.js +1 -1
  667. package/dist/method-scopes-BJj0ofY0.js +233 -0
  668. package/dist/minimax-web-search-provider-C79WAduN.js +53 -0
  669. package/dist/minimax-web-search-provider.runtime-D94jFB6v.js +2 -0
  670. package/dist/minimax-web-search-provider.runtime-ttvn1re5.js +140 -0
  671. package/dist/minimax-web-search-provider.runtime.js +1 -1
  672. package/dist/mock-C9dpEyJ8.js +136 -0
  673. package/dist/model-definitions-taVnM0qU.js +260 -0
  674. package/dist/model-overrides-Hnlrxnm3.js +104 -0
  675. package/dist/model-selection-C0kCM--d.js +213 -0
  676. package/dist/models-C6lJZiG_.js +569 -0
  677. package/dist/models-CQmyBH-d.js +760 -0
  678. package/dist/models-CzCQpmVW.js +157 -0
  679. package/dist/models-DJQoC4Xz.js +47 -0
  680. package/dist/models-auth-status-CUuto1-z.js +217 -0
  681. package/dist/models-cli-DFYsfHFi.js +271 -0
  682. package/dist/models-http-KluTqvju.js +92 -0
  683. package/dist/models.fetch-CUcQFhk9.js +518 -0
  684. package/dist/monitor-Amuhcll1.js +1237 -0
  685. package/dist/monitor-BHYjSOgh.js +671 -0
  686. package/dist/monitor-BNMwiGBd.js +1459 -0
  687. package/dist/monitor-C8QQd5Eg.js +295 -0
  688. package/dist/monitor-DHQTgUJC.js +1661 -0
  689. package/dist/monitor-DrTPiOoO.js +2 -0
  690. package/dist/monitor-Dupjc8yV.js +788 -0
  691. package/dist/monitor-auth-BGCRXS08.js +207 -0
  692. package/dist/monitor-processing-dLJEKLkr.js +1974 -0
  693. package/dist/monitor.runtime-CFCau0j2.js +2 -0
  694. package/dist/monitor.runtime.js +1 -1
  695. package/dist/monitor.webhook-rWET0HrG.js +180 -0
  696. package/dist/msteams-96MqCc3R.js +35 -0
  697. package/dist/music-generation-provider-Bilj-8Yj.js +63 -0
  698. package/dist/music-generation-provider-CHWj4bCX.js +170 -0
  699. package/dist/native-hook-relay-BFWKVZgm.js +519 -0
  700. package/dist/native-web-search-BVgO5cS-.js +64 -0
  701. package/dist/nextcloud-talk-D-FHP_4q.js +17 -0
  702. package/dist/node-cli-COaDl9Gb.js +2276 -0
  703. package/dist/nodes-cli-CdiC2uij.js +1046 -0
  704. package/dist/nodes-utils-Bz4wEuS8.js +84 -0
  705. package/dist/nodes.helpers-B4Yy3f8X.js +34 -0
  706. package/dist/notify-DnBLOswJ.js +315 -0
  707. package/dist/onboard-3Bl_PtFG.js +25 -0
  708. package/dist/onboard-CKxpPa1J.js +25 -0
  709. package/dist/onboard-CnHnAYQA.js +2 -0
  710. package/dist/onboard-DgcU4LaA.js +58 -0
  711. package/dist/onboard-Dgq86QR9.js +29 -0
  712. package/dist/onboard-NAMvzIMs2.js +49 -0
  713. package/dist/onboard-a4m7JstV.js +316 -0
  714. package/dist/onboard-fjFU-IEN.js +70 -0
  715. package/dist/onboard-helpers-CFVEw4kg.js +204 -0
  716. package/dist/onboard-helpers-R0vTUoOE.js +6 -0
  717. package/dist/onboard-interactive-D4Hr2vB6.js +24 -0
  718. package/dist/onboard-non-interactive-DjfjLqF7.js +635 -0
  719. package/dist/onboard-ppjrxdQn.js +25 -0
  720. package/dist/onboard-remote-0UXttO3s.js +2 -0
  721. package/dist/onboard-remote-BmUiJKba.js +193 -0
  722. package/dist/onboard-skills-855xT260.js +2 -0
  723. package/dist/onboard-skills-CF2ndciI.js +134 -0
  724. package/dist/openai-codex-auth-identity-Dxbuu2cd.js +45 -0
  725. package/dist/openai-codex-device-code-CEOVyUYq.js +164 -0
  726. package/dist/openai-codex-provider-B0mTbWAC.js +472 -0
  727. package/dist/openai-codex-shared-DO75K1fy.js +6 -0
  728. package/dist/openai-http-BU5AQc8x.js +500 -0
  729. package/dist/openai-provider-DUFOP6VM.js +313 -0
  730. package/dist/openresponses-http-D1GGTOop.js +1128 -0
  731. package/dist/operator-approvals-client-gp0A73Qi.js +68 -0
  732. package/dist/outbound-media-CYrmm6RY.js +57 -0
  733. package/dist/outbound-runtime-DM3TzNhA.js +5 -0
  734. package/dist/outbound.runtime-DHLRWzbo.js +2 -0
  735. package/dist/outbound.runtime.js +1 -1
  736. package/dist/pair-command-approve-LJICPdqB.js +44 -0
  737. package/dist/perplexity-web-search-provider-ONjsnI0T.js +92 -0
  738. package/dist/perplexity-web-search-provider.runtime-C9SpRyYz.js +324 -0
  739. package/dist/perplexity-web-search-provider.runtime-pVuMPAol.js +2 -0
  740. package/dist/perplexity-web-search-provider.runtime.js +1 -1
  741. package/dist/persistent-bindings.lifecycle-CEOa_phk.js +85 -0
  742. package/dist/persistent-bindings.lifecycle-DACYiSaR.js +2 -0
  743. package/dist/pi-embedded-BlOiwW3D.js +4 -0
  744. package/dist/pi-embedded-mC-TYW4O.js +2905 -0
  745. package/dist/pi-embedded-subscribe.handlers.compaction.runtime-CzPjo_JC.js +23 -0
  746. package/dist/pi-embedded-subscribe.handlers.compaction.runtime.js +1 -1
  747. package/dist/pi-embedded.runtime-DjmvqZCN.js +4 -0
  748. package/dist/pi-embedded.runtime.js +1 -1
  749. package/dist/pi-tool-definition-adapter-CwT_smG_.js +229 -0
  750. package/dist/pi-tools-10IsGyci.js +1057 -0
  751. package/dist/pi-tools.before-tool-call-CX2Ew8CP.js +433 -0
  752. package/dist/pi-tools.before-tool-call-V6qF1pL1.js +2 -0
  753. package/dist/plivo-CAlO-SXr.js +394 -0
  754. package/dist/plugin-DUiUdK8L.js +12195 -0
  755. package/dist/plugin-enabled-Md173mY1.js +140 -0
  756. package/dist/plugin-registration-BUZ1GI8e.js +23 -0
  757. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  758. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  759. package/dist/plugin-sdk/acp-runtime.js +3 -3
  760. package/dist/plugin-sdk/agent-harness-runtime.js +6 -6
  761. package/dist/plugin-sdk/agent-harness.js +7 -7
  762. package/dist/plugin-sdk/agent-runtime.js +2 -2
  763. package/dist/plugin-sdk/approval-client-runtime.js +2 -2
  764. package/dist/plugin-sdk/approval-delivery-runtime.js +1 -1
  765. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  766. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  767. package/dist/plugin-sdk/approval-native-runtime.js +2 -2
  768. package/dist/plugin-sdk/approval-reply-runtime.js +2 -2
  769. package/dist/plugin-sdk/approval-runtime.js +7 -7
  770. package/dist/plugin-sdk/bluebubbles.js +2 -2
  771. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  772. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  773. package/dist/plugin-sdk/browser-support.js +7 -7
  774. package/dist/plugin-sdk/channel-core.js +2 -2
  775. package/dist/plugin-sdk/channel-inbound.js +3 -3
  776. package/dist/plugin-sdk/command-auth-native.js +1 -1
  777. package/dist/plugin-sdk/command-auth.js +4 -4
  778. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  779. package/dist/plugin-sdk/compat.js +2 -2
  780. package/dist/plugin-sdk/config-runtime.js +5 -5
  781. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  782. package/dist/plugin-sdk/conversation-runtime.js +4 -4
  783. package/dist/plugin-sdk/core.js +2 -2
  784. package/dist/plugin-sdk/direct-dm.js +1 -1
  785. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  786. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  787. package/dist/plugin-sdk/index.js +1 -1
  788. package/dist/plugin-sdk/infra-runtime.js +4 -4
  789. package/dist/plugin-sdk/irc.js +2 -2
  790. package/dist/plugin-sdk/markdown-table-runtime.js +1 -1
  791. package/dist/plugin-sdk/matrix.js +1 -1
  792. package/dist/plugin-sdk/mattermost.js +3 -3
  793. package/dist/plugin-sdk/media-runtime.js +1 -1
  794. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  795. package/dist/plugin-sdk/memory-core.js +2 -2
  796. package/dist/plugin-sdk/models-provider-runtime.js +1 -1
  797. package/dist/plugin-sdk/msteams.js +3 -3
  798. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  799. package/dist/plugin-sdk/nostr.js +1 -1
  800. package/dist/plugin-sdk/outbound-runtime.js +2 -2
  801. package/dist/plugin-sdk/reply-chunking.js +2 -2
  802. package/dist/plugin-sdk/reply-dispatch-runtime.js +2 -2
  803. package/dist/plugin-sdk/reply-runtime.js +5 -5
  804. package/dist/plugin-sdk/routing.js +2 -2
  805. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  806. package/dist/plugin-sdk/runtime.js +2 -2
  807. package/dist/plugin-sdk/sandbox.js +1 -1
  808. package/dist/plugin-sdk/session-store-runtime.js +1 -1
  809. package/dist/plugin-sdk/session-visibility.js +1 -1
  810. package/dist/plugin-sdk/skill-commands-runtime.js +1 -1
  811. package/dist/plugin-sdk/src/gateway/protocol/client-info.d.ts +8 -0
  812. package/dist/plugin-sdk/src/gateway/protocol/schema/logs-chat.d.ts +2 -0
  813. package/dist/plugin-sdk/src/gateway/protocol/schema/protocol-schemas.d.ts +2 -0
  814. package/dist/plugin-sdk/src/gateway/server-broadcast-types.d.ts +11 -0
  815. package/dist/plugin-sdk/testing.js +4 -4
  816. package/dist/plugin-sdk/text-runtime.js +2 -2
  817. package/dist/plugin-sdk/tlon.js +1 -1
  818. package/dist/plugin-sdk/zalo.js +1 -1
  819. package/dist/plugin-sdk/zalouser.js +1 -1
  820. package/dist/plugin-service-ClKtlbqz.js +2893 -0
  821. package/dist/plugins/runtime/index.js +1 -1
  822. package/dist/policy-BxXVdy5R.js +328 -0
  823. package/dist/postinstall-inventory.json +732 -732
  824. package/dist/prepare.runtime-CgeJiFh8.js +815 -0
  825. package/dist/prepare.runtime.js +1 -1
  826. package/dist/probe--ur8kCb3.js +241 -0
  827. package/dist/probe-Afcq8e2r.js +2 -0
  828. package/dist/probe-Bh8UIug9.js +32 -0
  829. package/dist/probe-CY6MUE10.js +1443 -0
  830. package/dist/probe-Cfbju7hl.js +243 -0
  831. package/dist/probe-DHojHKeB.js +2 -0
  832. package/dist/probe-DZZtfovp.js +2205 -0
  833. package/dist/probe-KiWC2F6a.js +45 -0
  834. package/dist/probe-QqjmFXeC.js +74 -0
  835. package/dist/probe.runtime-BYxgJ6xl.js +2 -0
  836. package/dist/probe.runtime.js +1 -1
  837. package/dist/program-BjA_aj2i.js +111 -0
  838. package/dist/prompt-select-styled-D_Li5ANb.js +20 -0
  839. package/dist/protocol-D2Tvt0kQ.js +2479 -0
  840. package/dist/provider-MaVAUyxk.js +70 -0
  841. package/dist/provider-catalog-BATfNRJI.js +11 -0
  842. package/dist/provider-catalog-BqmZljQJ.js +11 -0
  843. package/dist/provider-catalog-DIiNG8du.js +12 -0
  844. package/dist/provider-catalog-aWreWBr_.js +24 -0
  845. package/dist/provider-catalog-k2xN6Dmi.js +26 -0
  846. package/dist/provider-compat-DEtCjlVO.js +37 -0
  847. package/dist/provider-dispatcher-BOzs2ZGG.js +2 -0
  848. package/dist/provider-dispatcher-CLzXvOtY.js +22 -0
  849. package/dist/provider-models-Dr7Yl3OU.js +119 -0
  850. package/dist/provider-models-LgIFG7w_.js +35 -0
  851. package/dist/provider-registration-Ce1hYnYT.js +218 -0
  852. package/dist/pw-ai-qc3NEEdy.js +2511 -0
  853. package/dist/pw-role-snapshot-BDIJ0VPo.js +380 -0
  854. package/dist/qmd-manager-B2ly9K3H.js +1921 -0
  855. package/dist/qr-cli-D2qc34ak.js +349 -0
  856. package/dist/qr-cli-r8cz7XBw.js +2 -0
  857. package/dist/qr-image-DNn2cBT5.js +2 -0
  858. package/dist/queue-BbE1ctBI.js +409 -0
  859. package/dist/reaction-runtime-api-DNwfR7k6.js +116 -0
  860. package/dist/reactions-B8Os6MyX.js +998 -0
  861. package/dist/read-capability-BcetMuEi.js +412 -0
  862. package/dist/realtime-provider-shared-RvhVjejL.js +37 -0
  863. package/dist/realtime-transcription-provider-BbBn8N0w.js +184 -0
  864. package/dist/realtime-transcription-provider-C08pMeeY.js +183 -0
  865. package/dist/realtime-transcription-provider-CB0qNn9C.js +184 -0
  866. package/dist/realtime-transcription-provider-DYOqgmgZ.js +120 -0
  867. package/dist/realtime-transcription-provider-ySxyV6W0.js +172 -0
  868. package/dist/realtime-voice-provider-ByH_v5-M.js +489 -0
  869. package/dist/record-shared-DVnkFx9W.js +10 -0
  870. package/dist/register-service-commands-BXfMmQsa.js +71 -0
  871. package/dist/register.agent-CUXMbAb4.js +248 -0
  872. package/dist/register.configure-B29Tv6Ec.js +15 -0
  873. package/dist/register.maintenance-ePgwbzKN.js +363 -0
  874. package/dist/register.message-BmgFYhw_.js +329 -0
  875. package/dist/register.onboard-BL8ZSfVl.js +88 -0
  876. package/dist/register.runtime-Z_9jSH_w.js +81 -0
  877. package/dist/register.runtime.js +1 -1
  878. package/dist/register.setup-BAQ-rre0.js +150 -0
  879. package/dist/register.status-health-sessions-D5CTwglK.js +1215 -0
  880. package/dist/register.subclis-BAzWCN2M.js +3 -0
  881. package/dist/register.subclis-CMhZ_wr2.js +29 -0
  882. package/dist/register.subclis-core-D_uA6Vtg.js +249 -0
  883. package/dist/replay-policy-Be3VAzMj.js +8 -0
  884. package/dist/reply-chunking-DsNT8-zW.js +3 -0
  885. package/dist/reply-dispatch-runtime-C8Tjbie9.js +13 -0
  886. package/dist/reply-media-paths.runtime-Sf21IJNk.js +146 -0
  887. package/dist/reply-media-paths.runtime-oSGMjdni.js +2 -0
  888. package/dist/reply-media-paths.runtime.js +1 -1
  889. package/dist/reply-payload-transform-DxOTphts.js +720 -0
  890. package/dist/reply-runtime-9GCZm66h.js +11 -0
  891. package/dist/reply.runtime-Ck_EqPGO.js +2 -0
  892. package/dist/reply.runtime.js +1 -1
  893. package/dist/reset-BMP05zhP.js +84 -0
  894. package/dist/reset-authorization-AdwO29Il.js +34 -0
  895. package/dist/response-generator-BKL4tpDF.js +175 -0
  896. package/dist/restart-health-C8OVhvQ6.js +2 -0
  897. package/dist/restart-health-DdG71XEk.js +202 -0
  898. package/dist/root-help-_8BuPuC8.js +44 -0
  899. package/dist/route-reply-C4YpHgPi.js +162 -0
  900. package/dist/route-reply.runtime-hioDUgsc.js +2 -0
  901. package/dist/route-reply.runtime.js +1 -1
  902. package/dist/routes-BbR9Kf9O.js +3341 -0
  903. package/dist/routes-DSDrrbg7.js +2 -0
  904. package/dist/routing-CMekdi78.js +5 -0
  905. package/dist/rpc-B32bpIT7.js +61 -0
  906. package/dist/rpc-context-88y3DNdl.js +17 -0
  907. package/dist/rpc.runtime-BWtvlfeD.js +21 -0
  908. package/dist/rpc.runtime.js +1 -1
  909. package/dist/run-auth-profile.runtime-x8Hbrp4n.js +2 -0
  910. package/dist/run-auth-profile.runtime.js +1 -1
  911. package/dist/run-delivery.runtime-BEhoJYec.js +530 -0
  912. package/dist/run-delivery.runtime.js +1 -1
  913. package/dist/run-embedded.runtime-DtE5YonB.js +4 -0
  914. package/dist/run-embedded.runtime.js +1 -1
  915. package/dist/run-execution-cli.runtime-B7TsaFkb.js +4 -0
  916. package/dist/run-execution-cli.runtime.js +1 -1
  917. package/dist/run-executor.runtime-C6GU_OdI.js +277 -0
  918. package/dist/run-executor.runtime.js +1 -1
  919. package/dist/run-main-DlCyw-yJ.js +567 -0
  920. package/dist/run-subagent-registry.runtime-N6lG2N8U.js +2 -0
  921. package/dist/run-subagent-registry.runtime.js +1 -1
  922. package/dist/run-wait-CT1ADSXM.js +135 -0
  923. package/dist/runtime-BMgYgoRw.js +973 -0
  924. package/dist/runtime-BZIHCyP6.js +9 -0
  925. package/dist/runtime-BfclzCOK.js +72 -0
  926. package/dist/runtime-C5HCPXpN.js +107 -0
  927. package/dist/runtime-api-BwnU0Us4.js +14 -0
  928. package/dist/runtime-api-CTCWdq7l.js +4 -0
  929. package/dist/runtime-api-DEKfCisk.js +9 -0
  930. package/dist/runtime-api-DuV0VsXW.js +9 -0
  931. package/dist/runtime-embedded-pi.runtime-BYOaO_Od.js +2 -0
  932. package/dist/runtime-embedded-pi.runtime.js +1 -1
  933. package/dist/runtime-entry-BIQCiau_.js +2769 -0
  934. package/dist/runtime-internal-CatNPRWm.js +2 -0
  935. package/dist/runtime-options-VPF2fIbl.js +275 -0
  936. package/dist/runtime-provider-CKxDlld3.js +21 -0
  937. package/dist/runtime-schema-C5kNPI-T.js +28588 -0
  938. package/dist/sandbox-24Qv41cI.js +3 -0
  939. package/dist/sandbox-Dl4VHMsp.js +1156 -0
  940. package/dist/sandbox-cli-DKdlzfGK.js +450 -0
  941. package/dist/scan-CsLHQzrX.js +2 -0
  942. package/dist/scan-Db3o5_vf.js +523 -0
  943. package/dist/secrets-cli-DRs2TyS0.js +2101 -0
  944. package/dist/security-cli-Ddj_11Zr.js +486 -0
  945. package/dist/selection-BTcDg98i.js +2 -0
  946. package/dist/selection-CDq8O7Fx.js +7764 -0
  947. package/dist/send-C3Q0rOZU.js +102 -0
  948. package/dist/send-CMRoV9D3.js +534 -0
  949. package/dist/send-DLyeTfOT.js +156 -0
  950. package/dist/send.runtime-11PTjSXY.js +2 -0
  951. package/dist/send.runtime.js +1 -1
  952. package/dist/server-DpmjtgBd.js +77 -0
  953. package/dist/server-context-BuRVihwJ.js +2 -0
  954. package/dist/server-context-Dxt5bPO1.js +847 -0
  955. package/dist/server-iR310jYD.js +13 -0
  956. package/dist/server-middleware-XZQHvHoT.js +120 -0
  957. package/dist/server-node-events-EECL-zPp.js +481 -0
  958. package/dist/server-plugin-bootstrap-BeyQQP6e.js +13176 -0
  959. package/dist/server-plugin-bootstrap-Du2JCynD.js +2 -0
  960. package/dist/server-restart-sentinel-D16NkJS9.js +697 -0
  961. package/dist/server.impl-jeGX0yfZ.js +12894 -0
  962. package/dist/session-DQJLw1_T.js +48 -0
  963. package/dist/session-envelope-BzLkljLE.js +18 -0
  964. package/dist/session-key-B9ng1tKQ.js +65 -0
  965. package/dist/session-kill-http-CrVogPTY.js +110 -0
  966. package/dist/session-meta-Cf_igX65.js +109 -0
  967. package/dist/session-override-tYPL0kPi.js +106 -0
  968. package/dist/session-reset-model.runtime-Bksk4sN9.js +133 -0
  969. package/dist/session-reset-model.runtime.js +1 -1
  970. package/dist/session-reset-service-Coa2y7Dc.js +497 -0
  971. package/dist/session-route-C__jEVZM.js +93 -0
  972. package/dist/session-status.runtime-DGvtIYsy.js +2 -0
  973. package/dist/session-status.runtime.js +1 -1
  974. package/dist/session-store-C7BvEOyw.js +126 -0
  975. package/dist/session-store.runtime-CTnaK0eA.js +2 -0
  976. package/dist/session-store.runtime.js +1 -1
  977. package/dist/session-subagent-reactivation.runtime-CpvLz2Zl.js +2 -0
  978. package/dist/session-subagent-reactivation.runtime.js +1 -1
  979. package/dist/session-tab-registry-9PAkEJgt.js +581 -0
  980. package/dist/session-updates-DFsCLKMJ.js +236 -0
  981. package/dist/session-updates.runtime-GJ8kEPly.js +2 -0
  982. package/dist/session-updates.runtime.js +1 -1
  983. package/dist/session-utils-B1COXii1.js +1009 -0
  984. package/dist/session-visibility-D3BOamfE.js +147 -0
  985. package/dist/sessions-BNIruiEi.js +48 -0
  986. package/dist/sessions-B_sLzSKh.js +281 -0
  987. package/dist/sessions-ChHWG6bX.js +16 -0
  988. package/dist/sessions-helpers-BhxVyCeC.js +305 -0
  989. package/dist/sessions-history-http-Cat6NIOM.js +383 -0
  990. package/dist/sessions-patch-C2VfpT6N.js +309 -0
  991. package/dist/sessions-resolve-CU-TrVC5.js +174 -0
  992. package/dist/sessions-u8wkO5OX.js +2 -0
  993. package/dist/sessions.runtime-B6j-Iope.js +2 -0
  994. package/dist/sessions.runtime.js +1 -1
  995. package/dist/setup-BUlom6Vi.js +421 -0
  996. package/dist/setup-CcVU94hA.js +636 -0
  997. package/dist/setup-api-B7VRJ8uG.js +29 -0
  998. package/dist/setup-core-BSgdsKqw.js +393 -0
  999. package/dist/setup-core-BlfMhY40.js +184 -0
  1000. package/dist/setup-core-ClqXCwnQ.js +176 -0
  1001. package/dist/setup-core-DnkRgrw-.js +171 -0
  1002. package/dist/setup-surface-5pyyPLuU.js +351 -0
  1003. package/dist/setup-surface-6kf03Wwh.js +72 -0
  1004. package/dist/setup-surface-C-CfXHbT.js +286 -0
  1005. package/dist/setup-surface-C2ZP0qfU.js +3 -0
  1006. package/dist/setup-surface-DKyYG10Q2.js +403 -0
  1007. package/dist/setup-surface-DbpW4B-_.js +219 -0
  1008. package/dist/setup.finalize-skT8Gm-r.js +547 -0
  1009. package/dist/setup.gateway-config-CeiELioQ.js +250 -0
  1010. package/dist/shared--LL8Q1-r.js +60 -0
  1011. package/dist/shared-B48XWnaj.js +121 -0
  1012. package/dist/shared-CTrgq8xV.js +217 -0
  1013. package/dist/shared-D7wq6pQ0.js +186 -0
  1014. package/dist/shared-DSeBkiR2.js +198 -0
  1015. package/dist/shared-DWDavHPp.js +76 -0
  1016. package/dist/shared-runtime-D-p9L46W.js +7 -0
  1017. package/dist/short-term-promotion-CkPsM3JU.js +1543 -0
  1018. package/dist/skill-commands-GmJ-uKh9.js +83 -0
  1019. package/dist/skill-commands.runtime-B2kGq_R_.js +2 -0
  1020. package/dist/skill-commands.runtime.js +1 -1
  1021. package/dist/skills-snapshot.runtime-niF0JCHr.js +7 -0
  1022. package/dist/skills-snapshot.runtime.js +1 -1
  1023. package/dist/slash-state-D0qRQzb9.js +1911 -0
  1024. package/dist/speech-provider-CZ0DIWHC.js +209 -0
  1025. package/dist/speech-provider-D01WzRM7.js +216 -0
  1026. package/dist/speech-provider-D4dWoX5q.js +395 -0
  1027. package/dist/speech-provider-DQjPn8BG.js +170 -0
  1028. package/dist/speech-provider-DTfG7isC.js +184 -0
  1029. package/dist/speech-provider-DVMPFaU6.js +103 -0
  1030. package/dist/speech-provider-Jnc9vcw3.js +209 -0
  1031. package/dist/src-DLW1D_bM.js +3974 -0
  1032. package/dist/stage-sandbox-media.runtime-DeLGFWqT.js +232 -0
  1033. package/dist/stage-sandbox-media.runtime.js +1 -1
  1034. package/dist/startup-context-DKWBYxjm.js +312 -0
  1035. package/dist/state-migrations-DdRavjjK.js +820 -0
  1036. package/dist/status-BGTYuDnT.js +397 -0
  1037. package/dist/status-BYp9Gu83.js +209 -0
  1038. package/dist/status-BqydDBcZ.js +3 -0
  1039. package/dist/status-Bx1yRRTV.js +190 -0
  1040. package/dist/status-C6gdYeLs.js +2 -0
  1041. package/dist/status-Cl8Otyr4.js +62 -0
  1042. package/dist/status-DWucT0mf.js +2 -0
  1043. package/dist/status-all-TjyzzieW.js +498 -0
  1044. package/dist/status-json-C6WIXSpl.js +14 -0
  1045. package/dist/status-json-command-CgXgvQow.js +84 -0
  1046. package/dist/status-message-D6O4-pti.js +466 -0
  1047. package/dist/status-message.runtime-CNShQeZy.js +6 -0
  1048. package/dist/status-message.runtime.js +1 -1
  1049. package/dist/status-queue.runtime-K8_F9zMn.js +2 -0
  1050. package/dist/status-queue.runtime.js +1 -1
  1051. package/dist/status-runtime-shared-Be7bmVcF.js +257 -0
  1052. package/dist/status-subagents.runtime-BRV0GKxR.js +18 -0
  1053. package/dist/status-subagents.runtime.js +1 -1
  1054. package/dist/status-text-BIGdXi_0.js +237 -0
  1055. package/dist/status.gateway-connection.runtime-C1Eg5lPs.js +2 -0
  1056. package/dist/status.gateway-connection.runtime.js +1 -1
  1057. package/dist/status.gather-C91OSvDe.js +292 -0
  1058. package/dist/status.gather-DOJX68XV.js +2 -0
  1059. package/dist/status.runtime-BM4ZMHfF.js +2 -0
  1060. package/dist/status.runtime-JhkaEpRc.js +2 -0
  1061. package/dist/status.runtime.js +1 -1
  1062. package/dist/status.scan-36oLz1Hh.js +65 -0
  1063. package/dist/status.scan-overview-CsDwq0xR.js +379 -0
  1064. package/dist/status.scan.fast-json-CS8ga0yM.js +132 -0
  1065. package/dist/status.scan.fast-json-DYvUCNqQ.js +2 -0
  1066. package/dist/status.summary-1hoR3rVk.js +214 -0
  1067. package/dist/status.summary-Bl1Fw7SD.js +2 -0
  1068. package/dist/store-3hbb4lSJ.js +4 -0
  1069. package/dist/store-CEFH-fGo.js +910 -0
  1070. package/dist/store.runtime-ugP7_1Zf.js +2 -0
  1071. package/dist/store.runtime.js +1 -1
  1072. package/dist/stream-CukCyjCc.js +664 -0
  1073. package/dist/stream-Dj22sbqm.js +134 -0
  1074. package/dist/stt-CRYwE4f3.js +66 -0
  1075. package/dist/subagent-announce-Dnuw09in.js +351 -0
  1076. package/dist/subagent-announce-delivery-cCFWE0et.js +726 -0
  1077. package/dist/subagent-announce-output-BtmzvU1a.js +364 -0
  1078. package/dist/subagent-capabilities-Btyd8tu0.js +251 -0
  1079. package/dist/subagent-control-Dlc3kJMb.js +506 -0
  1080. package/dist/subagent-control.runtime-g5fkwkOu.js +3 -0
  1081. package/dist/subagent-control.runtime.js +1 -1
  1082. package/dist/subagent-followup.runtime-CtU5LNEN.js +68 -0
  1083. package/dist/subagent-followup.runtime.js +1 -1
  1084. package/dist/subagent-orphan-recovery-kbEEIccA.js +305 -0
  1085. package/dist/subagent-registry-B5bQOpDI.js +3 -0
  1086. package/dist/subagent-registry-CBu4eX0s.js +1753 -0
  1087. package/dist/subagent-registry.runtime.js +1 -1
  1088. package/dist/subagent-spawn-DhjzC5gY.js +1005 -0
  1089. package/dist/system-cli-A9ux7HV2.js +59 -0
  1090. package/dist/system-prompt-DJq4MtoS.js +640 -0
  1091. package/dist/tables-BStv8EET.js +829 -0
  1092. package/dist/target-id-RoVbMf8U.js +107 -0
  1093. package/dist/targets-RMCdeJGZ.js +207 -0
  1094. package/dist/targets-cmfGv2Db.js +67 -0
  1095. package/dist/targets.runtime-DurrSDqM.js +2 -0
  1096. package/dist/targets.runtime.js +1 -1
  1097. package/dist/task-executor-CtdGnYvb.js +360 -0
  1098. package/dist/task-owner-access-C_gF3pGm.js +74 -0
  1099. package/dist/task-registry-CFNty_H1.js +2366 -0
  1100. package/dist/task-registry-delivery-runtime-C1c7pN3i.js +2 -0
  1101. package/dist/task-registry-delivery-runtime-F6HIzLFD.js +3 -0
  1102. package/dist/task-registry.maintenance-BSO3Pttk.js +2 -0
  1103. package/dist/task-registry.maintenance-Bzw1Ot4Y.js +416 -0
  1104. package/dist/tavily-client-DmRSbaLh.js +2 -0
  1105. package/dist/tavily-client-DyAtAOpD.js +193 -0
  1106. package/dist/tavily-search-provider-Bbgsl7mb.js +62 -0
  1107. package/dist/telegram/audit.js +2 -2
  1108. package/dist/telegram/token.js +2 -2
  1109. package/dist/telnyx-nMo1MXA1.js +260 -0
  1110. package/dist/testing-DLeFUMTf.js +575 -0
  1111. package/dist/text-report-Dr4OMS_k.js +587 -0
  1112. package/dist/text-runtime-Dd2bva2m.js +290 -0
  1113. package/dist/tool-config-shared-DlMaBB10.js +19 -0
  1114. package/dist/tool-policy-pipeline-0FWDoYYr.js +109 -0
  1115. package/dist/tool-resolution-DQTRVob0.js +90 -0
  1116. package/dist/tools-effective-inventory-GNGRMlm8.js +152 -0
  1117. package/dist/tools-invoke-http-IeTKKDtc.js +206 -0
  1118. package/dist/tools.runtime-DNLELnRr.js +4 -0
  1119. package/dist/tools.runtime.js +1 -1
  1120. package/dist/transcript-DWg4ZUcm.js +312 -0
  1121. package/dist/transcript-resolve.runtime-xACsMpzb.js +2 -0
  1122. package/dist/transcript-resolve.runtime.js +1 -1
  1123. package/dist/transcript.runtime-BEXMCmRi.js +2 -0
  1124. package/dist/transcript.runtime.js +1 -1
  1125. package/dist/transport-policy-BzTvyOmg.js +75 -0
  1126. package/dist/trash-EJIRdEEW.js +24 -0
  1127. package/dist/tts-AMFKvIil.js +64 -0
  1128. package/dist/tts-D7c_mBQr.js +183 -0
  1129. package/dist/tui-cli-CeXEjZVR.js +4595 -0
  1130. package/dist/twilio-Bq0EHjSs.js +609 -0
  1131. package/dist/typing-policy-D-cwir-6.js +12 -0
  1132. package/dist/update-cli-6cN0AU-H.js +1759 -0
  1133. package/dist/upgrade-E9pk_ETn.js +1226 -0
  1134. package/dist/video-generation-provider-B2ydEHoH.js +271 -0
  1135. package/dist/video-generation-provider-BIhzvg3t.js +78 -0
  1136. package/dist/video-generation-provider-BiGET6PL.js +187 -0
  1137. package/dist/video-generation-provider-BvIYYRHt.js +254 -0
  1138. package/dist/video-generation-provider-CDMIArvG.js +118 -0
  1139. package/dist/video-generation-provider-CZc8AIXp.js +221 -0
  1140. package/dist/video-generation-provider-DKQZcort.js +281 -0
  1141. package/dist/video-generation-provider-DdGhJ9-8.js +287 -0
  1142. package/dist/video-generation-provider-XpVuorb7.js +264 -0
  1143. package/dist/video-generation-task-status-D44fagYk.js +163 -0
  1144. package/dist/voice-mapping-Ltp5aeXQ.js +41 -0
  1145. package/dist/wait-for-idle-before-flush-B5QDOp0b.js +5986 -0
  1146. package/dist/web-search-gDoNQc1M.js +61 -0
  1147. package/dist/web-search-provider-DI1P7u12.js +163 -0
  1148. package/dist/web-search-provider.runtime-BLHcU_Q5.js +2 -0
  1149. package/dist/web-search-provider.runtime-CExn2tm8.js +185 -0
  1150. package/dist/web-search-provider.runtime.js +1 -1
  1151. package/dist/webhook-shared-1XHBMLp6.js +12 -0
  1152. package/dist/wizard-models-CLDwUX2-.js +334 -0
  1153. package/dist/workflow-runtime-BrBSvDJz.js +485 -0
  1154. package/dist/workspace-run-CQ9bvprq.js +70 -0
  1155. package/dist/x-search-config-COc9ynlq.js +36 -0
  1156. package/dist/x-search-shared-D-WVgH0q.js +75 -0
  1157. package/dist/zalo-js-kA38HR6N.js +1157 -0
  1158. package/package.json +1 -1
  1159. package/dist/abort-D7Eb5Pfs.js +0 -201
  1160. package/dist/abort-cutoff.runtime-W1jPHD1l.js +0 -20
  1161. package/dist/abort.runtime-Uk-fNOr0.js +0 -2
  1162. package/dist/accounts-B0U5s6Hn.js +0 -2
  1163. package/dist/accounts-BuQEZI1m.js +0 -365
  1164. package/dist/accounts-BxrhItqg.js +0 -107
  1165. package/dist/accounts-CJuvMKsE.js +0 -66
  1166. package/dist/accounts-DAo-x54e.js +0 -104
  1167. package/dist/accounts-DoMkWpQd.js +0 -43
  1168. package/dist/accounts.runtime-B4AMDwXM.js +0 -2
  1169. package/dist/acp-cli-Dj3nYrtM.js +0 -2193
  1170. package/dist/acp-spawn-DVm7VQrm.js +0 -1093
  1171. package/dist/acp-spawn-DfcG2y_Y.js +0 -2
  1172. package/dist/acp-stateful-target-driver-BYeTpciM.js +0 -89
  1173. package/dist/action-agents-B9hNk5lN.js +0 -67
  1174. package/dist/action-focus-B6pqXNJ2.js +0 -132
  1175. package/dist/action-help-CPcU40vC.js +0 -7
  1176. package/dist/action-info-D_yE--lC.js +0 -101
  1177. package/dist/action-kill-BJ0225YA.js +0 -33
  1178. package/dist/action-list-BLyN0cUw.js +0 -21
  1179. package/dist/action-log-_sI8lmxG.js +0 -30
  1180. package/dist/action-send-C2RZKCaN.js +0 -39
  1181. package/dist/action-spawn-DtZrqOf-.js +0 -47
  1182. package/dist/action-unfocus-D90uQGIM.js +0 -29
  1183. package/dist/actions.runtime-CwqOsby1.js +0 -5
  1184. package/dist/actions.runtime-DL7IkUaC.js +0 -18
  1185. package/dist/agent-command-ChguXtvw.js +0 -874
  1186. package/dist/agent-delivery-BwzZnRgC.js +0 -76
  1187. package/dist/agent-eujROEra.js +0 -2
  1188. package/dist/agent-harness-runtime-KWYqsYTk.js +0 -144
  1189. package/dist/agent-runner-utils-DyLXFJim.js +0 -239
  1190. package/dist/agent-runner.runtime-Tm2znb5I.js +0 -3455
  1191. package/dist/agent-runtime-DYyI3OTz.js +0 -18
  1192. package/dist/agents-CaKEB08m.js +0 -5
  1193. package/dist/agents-D0LjQ71R.js +0 -954
  1194. package/dist/agents.command-shared-DnntyPTT.js +0 -40
  1195. package/dist/aliases-C1J5Hl0k.js +0 -96
  1196. package/dist/aliases-DE2DzUaH.js +0 -2
  1197. package/dist/api-9ms9Td4v.js +0 -3
  1198. package/dist/api-BgtDxBwP.js +0 -5
  1199. package/dist/api-BpBoWeil.js +0 -3
  1200. package/dist/api-CKbGCnWb.js +0 -139
  1201. package/dist/api-D1axzMqP.js +0 -4
  1202. package/dist/api-j3Hir2UT.js +0 -48
  1203. package/dist/apply-CIz-od94.js +0 -508
  1204. package/dist/apply.runtime-CN-vA6G-.js +0 -2
  1205. package/dist/approval-client-helpers-Dp5QM59V.js +0 -82
  1206. package/dist/approval-delivery-helpers-BS-VOhZN.js +0 -134
  1207. package/dist/approval-gateway-resolver-DIPFgTnx.js +0 -29
  1208. package/dist/approval-gateway-runtime-i0yziXk2.js +0 -2
  1209. package/dist/approval-handler-runtime-7ttgBfc_.js +0 -439
  1210. package/dist/approval-native-helpers-DbgPq2Af.js +0 -33
  1211. package/dist/approval-native-runtime-DT2b3zaN.js +0 -729
  1212. package/dist/approval-renderers-CxKF90_M.js +0 -64
  1213. package/dist/attempt-execution.runtime-CzM8MDim.js +0 -509
  1214. package/dist/attempt-execution.shared-BeCuaCMe.js +0 -22
  1215. package/dist/attempt.prompt-helpers-DfcGwj0J.js +0 -221
  1216. package/dist/attempt.tool-run-context-4cCwC6FC.js +0 -933
  1217. package/dist/audit-EYwFJUbn.js +0 -939
  1218. package/dist/audit-membership-runtime-AIbmS8yN.js +0 -550
  1219. package/dist/audit.runtime-OucPhZPU.js +0 -7
  1220. package/dist/auth-BPy3ID3D.js +0 -2
  1221. package/dist/auth-CYd5Phr-.js +0 -56
  1222. package/dist/auth-D0kGHo1j.js +0 -177
  1223. package/dist/auth-DTPcbxn6.js +0 -550
  1224. package/dist/auth-order-8O0b16i_.js +0 -139
  1225. package/dist/auth-order-CW2AQyNL.js +0 -2
  1226. package/dist/base-url-h8Mhif7l.js +0 -15
  1227. package/dist/bash-tools-8bn5C7K0.js +0 -2824
  1228. package/dist/bash-tools-DZpkBFMY.js +0 -3
  1229. package/dist/bash-tools.exec-runtime-DQVwPD43.js +0 -829
  1230. package/dist/best-effort-delivery-B6BoLJdq.js +0 -22
  1231. package/dist/binding-routing-BMMSo2KY.js +0 -85
  1232. package/dist/binding-targets-Wm55iFsz.js +0 -121
  1233. package/dist/block-streaming-CcRmZONP.js +0 -103
  1234. package/dist/bluebubbles-Cm2jWoAr.js +0 -77
  1235. package/dist/brave-web-search-provider-DXyLEuRX.js +0 -111
  1236. package/dist/brave-web-search-provider.runtime-CH2Ro8gV.js +0 -229
  1237. package/dist/brave-web-search-provider.shared-2wgQI-qy.js +0 -174
  1238. package/dist/bridge-auth-registry-1QsmDpYF.js +0 -23
  1239. package/dist/bridge-server-D3Mo-BM6.js +0 -113
  1240. package/dist/browser-control-auth-BiuDMNP7.js +0 -2
  1241. package/dist/browser-node-runtime-CrigB5UH.js +0 -12
  1242. package/dist/browser-profiles-BJjsWlQ8.js +0 -2
  1243. package/dist/browser-runtime-Dc5sMewB.js +0 -387
  1244. package/dist/browser-setup-tools-CM1H6l0K.js +0 -13
  1245. package/dist/build-8Hzi5z0_.js +0 -550
  1246. package/dist/call-B3rCzXN7.js +0 -3
  1247. package/dist/call-Cmd-rlC2.js +0 -331
  1248. package/dist/call-status-tDrmri32.js +0 -33
  1249. package/dist/call.runtime-B3Hufiov.js +0 -2
  1250. package/dist/capability-cli-Ce3qNXsw.js +0 -1401
  1251. package/dist/card-command-CJdI6sGe.js +0 -241
  1252. package/dist/catalog-provider-DY1ugTDc.js +0 -40
  1253. package/dist/catchup-CPt_Xs3R.js +0 -300
  1254. package/dist/channel-9VLlWEI1.js +0 -350
  1255. package/dist/channel-B-414Az-.js +0 -1100
  1256. package/dist/channel-BEuRg3eQ.js +0 -297
  1257. package/dist/channel-BlN_kpiT.js +0 -840
  1258. package/dist/channel-Bz03tu1a.js +0 -1174
  1259. package/dist/channel-C5Tp1ocZ.js +0 -595
  1260. package/dist/channel-Cp6PItXu.js +0 -1320
  1261. package/dist/channel-CzXZ2Wlv.js +0 -226
  1262. package/dist/channel-DIkT4jcM.js +0 -491
  1263. package/dist/channel-DcywMc0l.js +0 -1802
  1264. package/dist/channel-Dt2V2WJc.js +0 -453
  1265. package/dist/channel-core-BqZwOpId.js +0 -5
  1266. package/dist/channel-inbound-B7Bv-zk9.js +0 -31
  1267. package/dist/channel-plugin-runtime-D2c6-qG7.js +0 -771
  1268. package/dist/channel-resolution-DE2qIsKy.js +0 -39
  1269. package/dist/channel-runtime-CL6Do8kd.js +0 -425
  1270. package/dist/channel-selection-BVycf9oD.js +0 -126
  1271. package/dist/channel-selection.runtime-6URJ5YTl.js +0 -2
  1272. package/dist/channel.runtime-BvuS-PzM.js +0 -2364
  1273. package/dist/channel.runtime-CCct0AmO.js +0 -89
  1274. package/dist/channel.runtime-CSr_Q-Ki.js +0 -26
  1275. package/dist/channel.runtime-DC7FilE-.js +0 -576
  1276. package/dist/channel.runtime-MbysJwT_.js +0 -42398
  1277. package/dist/channel.runtime-RfnLhIct.js +0 -430
  1278. package/dist/channel.runtime-klwS5eJC.js +0 -4
  1279. package/dist/channel.runtime-srmPwBlw.js +0 -67
  1280. package/dist/channel.setup-B2dTQgdm.js +0 -10
  1281. package/dist/channel2.runtime-DPjdUdWe.js +0 -109
  1282. package/dist/channels-Dv75fvTN.js +0 -733
  1283. package/dist/channels-cli-CdOO74YS.js +0 -268
  1284. package/dist/chat-RXBcjTu0.js +0 -2830
  1285. package/dist/chrome-BXAOdA_f.js +0 -1430
  1286. package/dist/chrome-mcp-BxYER6mx.js +0 -600
  1287. package/dist/chrome-mcp-DBAP4O7j.js +0 -2
  1288. package/dist/chrome.executables-DUG48PkZ.js +0 -541
  1289. package/dist/chunk-CW9jTwFk.js +0 -268
  1290. package/dist/clawbot-cli-CFMt_3zm.js +0 -9
  1291. package/dist/cli-BPiKrd4S.js +0 -219
  1292. package/dist/cli-BaH_mH3N.js +0 -154
  1293. package/dist/cli-Bnlo8CdT.js +0 -2
  1294. package/dist/cli-Bv1HNRJ5.js +0 -72
  1295. package/dist/cli-CJjDYqsm.js +0 -3726
  1296. package/dist/cli-D1HCyEF2.js +0 -2
  1297. package/dist/cli-LrPyoM0F.js +0 -2
  1298. package/dist/cli-runner-G69QIenA.js +0 -286
  1299. package/dist/cli-runner.runtime-BLh4ORZH.js +0 -3
  1300. package/dist/cli-runner.runtime-DboAnzrp.js +0 -4
  1301. package/dist/cli.runtime-GlOBpTyx.js +0 -1261
  1302. package/dist/client-ClJyHgmq.js +0 -713
  1303. package/dist/client-PBXIhvrx.js +0 -138
  1304. package/dist/client-info-DZtBR4jU.js +0 -49
  1305. package/dist/command-auth-9KsVrUS6.js +0 -409
  1306. package/dist/command-auth-D11sIoiZ.js +0 -76
  1307. package/dist/command-config-resolution-B9-W4ET0.js +0 -2
  1308. package/dist/command-config-resolution-Wl8868is.js +0 -23
  1309. package/dist/command-config-resolution.runtime-CwcIQOXb.js +0 -2
  1310. package/dist/command-execution-startup-BqLYlG3n.js +0 -324
  1311. package/dist/command-gates-BCh2pNFa.js +0 -47
  1312. package/dist/command-registry-B7IhcWl6.js +0 -4
  1313. package/dist/command-registry-DPR9uz9j.js +0 -9
  1314. package/dist/command-registry-core-B5gwwfVK.js +0 -106
  1315. package/dist/command-secret-gateway-D2Lx9Ky-.js +0 -528
  1316. package/dist/command-status.runtime-CDDbtrG8.js +0 -87
  1317. package/dist/commands-acp-Bt7M70te.js +0 -77
  1318. package/dist/commands-compact.runtime-D5D8CApN.js +0 -10
  1319. package/dist/commands-context-ojGcHTsc.js +0 -38
  1320. package/dist/commands-core.runtime-J-hrpY-n.js +0 -2
  1321. package/dist/commands-handlers.runtime-DQBNyeLG.js +0 -4599
  1322. package/dist/commands-models-83LvrT6B.js +0 -327
  1323. package/dist/commands-reset-hooks-BJ-tN_wz.js +0 -135
  1324. package/dist/commands-status-DWJdDC46.js +0 -16
  1325. package/dist/commands-status.runtime-BwwPceyy.js +0 -3
  1326. package/dist/commands-subagents-control.runtime-DJ396mVU.js +0 -3
  1327. package/dist/commands-subagents-control.runtime-u0Q05DrT.js +0 -2
  1328. package/dist/commands-system-prompt-B2QE_VCG.js +0 -2
  1329. package/dist/commands-system-prompt-amkj1mZm.js +0 -158
  1330. package/dist/commands.runtime-DtaJzRBS.js +0 -167
  1331. package/dist/compact-D0swO4Yn.js +0 -1118
  1332. package/dist/compact.runtime-DoEPFAkB.js +0 -12
  1333. package/dist/completion-cli-Y2gWpjun.js +0 -328
  1334. package/dist/config-Bt-fMiqG.js +0 -252
  1335. package/dist/config-api-DAsbCIov.js +0 -2
  1336. package/dist/config-cli-vQiFMkMf.js +0 -1078
  1337. package/dist/config-compat-B5zS8b4Z.js +0 -130
  1338. package/dist/config-compat-Bc51fcbM.js +0 -126
  1339. package/dist/config-guard-DkhDBkW2.js +0 -96
  1340. package/dist/config-runtime-o9UzLknt.js +0 -32
  1341. package/dist/configure-4GGf_X5o.js +0 -1252
  1342. package/dist/configure-DXNuDvJ5.js +0 -2
  1343. package/dist/connect-options-D4mbwxwf.js +0 -699
  1344. package/dist/control-auth-CW8eEClz.js +0 -125
  1345. package/dist/control-service-v2GS08H6.js +0 -156
  1346. package/dist/control-ui/assets/agents-BskHTW81.js +0 -1052
  1347. package/dist/control-ui/assets/canvas-C0aRpEGd.js +0 -269
  1348. package/dist/control-ui/assets/channels-Cou3VPB8.js +0 -463
  1349. package/dist/control-ui/assets/cron-BTOQWH3p.js +0 -933
  1350. package/dist/control-ui/assets/debug-DFlkgaJr.js +0 -94
  1351. package/dist/control-ui/assets/index-BSKZQZqm.css +0 -1
  1352. package/dist/control-ui/assets/index-yB7WOhLR.js +0 -6210
  1353. package/dist/control-ui/assets/instances-LZGly20d.js +0 -57
  1354. package/dist/control-ui/assets/mcp-D0PCi1zE.js +0 -373
  1355. package/dist/control-ui/assets/nodes-BGzTN7_8.js +0 -618
  1356. package/dist/control-ui/assets/plugins-kalk3SHa.js +0 -273
  1357. package/dist/control-ui/assets/sessions-3I2s2QvS.js +0 -306
  1358. package/dist/control-ui/assets/skills-CVXfvdtq.js +0 -323
  1359. package/dist/control-ui/assets/wallet-0oCbcesL.js +0 -285
  1360. package/dist/control-ui-969zq03L.js +0 -1043
  1361. package/dist/conversation-id-CRePZnKh.js +0 -235
  1362. package/dist/conversation-id-CYPpQ2b_.js +0 -38
  1363. package/dist/conversation-runtime-CsNLbytB.js +0 -31
  1364. package/dist/core-CE92oVKC.js +0 -275
  1365. package/dist/create-5gsvOUrW.js +0 -80
  1366. package/dist/cron-cli-iwMQSWts.js +0 -713
  1367. package/dist/daemon-cli-B2_mPKtr.js +0 -12
  1368. package/dist/dashboard-BgppT7jE.js +0 -2
  1369. package/dist/dashboard-BvirXUKT.js +0 -81
  1370. package/dist/ddg-client-C2_vfwll.js +0 -147
  1371. package/dist/ddg-search-provider-B5vfg-3L.js +0 -54
  1372. package/dist/delegate-CUa3SE1o.js +0 -64
  1373. package/dist/deliver-B8OtkCTN.js +0 -3
  1374. package/dist/deliver-EzzwtNdH.js +0 -747
  1375. package/dist/deliver-runtime-CSD1urwa.js +0 -2
  1376. package/dist/delivery-context-DWhGyo59.js +0 -40
  1377. package/dist/delivery-outbound.runtime-CuQHxHy1.js +0 -6
  1378. package/dist/delivery.runtime-2U6XvLON.js +0 -253
  1379. package/dist/detached-task-runtime-CLeXceLH.js +0 -73
  1380. package/dist/devices-cli-BhL3A8cJ.js +0 -498
  1381. package/dist/diagnostics-CYkTN8yr.js +0 -154
  1382. package/dist/direct-dm-B7BKDOTt.js +0 -64
  1383. package/dist/directive-handling.fast-lane-hTmCaN4B.js +0 -66
  1384. package/dist/directive-handling.impl-CLfhAB3s.js +0 -2
  1385. package/dist/directive-handling.impl-DQCYdyq3.js +0 -703
  1386. package/dist/directive-handling.model-selection-r1oi_Z5Q.js +0 -114
  1387. package/dist/directive-handling.persist.runtime-CKVn6kNl.js +0 -215
  1388. package/dist/directive-handling.shared-DLVXjKip.js +0 -56
  1389. package/dist/directory-cli-Cp5qe7Tb.js +0 -240
  1390. package/dist/dispatch-Dy7iNSXe.js +0 -1131
  1391. package/dist/dispatch-acp-TiM2Vzfh.js +0 -981
  1392. package/dist/dispatch-acp-manager.runtime-IOMdfbvN.js +0 -3
  1393. package/dist/dispatch-acp-media.runtime-D8ZRAL_i.js +0 -4
  1394. package/dist/dispatch-acp-session.runtime-BNf4E79J.js +0 -2
  1395. package/dist/dispatch-acp.runtime-D-O-_uwA.js +0 -19
  1396. package/dist/doctor-config-flow-REpgyGT1.js +0 -420
  1397. package/dist/doctor-config-preflight-DCEuxKBd.js +0 -2
  1398. package/dist/doctor-config-preflight-_gjxioW4.js +0 -63
  1399. package/dist/doctor-contract-U3opYPeO.js +0 -26
  1400. package/dist/doctor-device-pairing-NWw3fVhm.js +0 -307
  1401. package/dist/doctor-gateway-daemon-flow-ciZuB3_y.js +0 -250
  1402. package/dist/doctor-gateway-health-Clb9pKDM.js +0 -63
  1403. package/dist/doctor-health-Dz0Uo3ey.js +0 -59
  1404. package/dist/doctor-health-contributions-B36IgdyB.js +0 -493
  1405. package/dist/doctor-prompter-D6cxwaM6.js +0 -56
  1406. package/dist/doctor-sandbox-CnGh8PIF.js +0 -194
  1407. package/dist/doctor-state-migrations-DlFzkEz6.js +0 -2
  1408. package/dist/doctor-workspace-status-CBsmvySn.js +0 -75
  1409. package/dist/dreaming-CzDMTkOn.js +0 -1582
  1410. package/dist/dreaming-narrative-y806xcaM.js +0 -596
  1411. package/dist/dreaming-shared-C4dysoA0.js +0 -21
  1412. package/dist/embedded-gateway-stub.runtime-CHJcdIyH.js +0 -9
  1413. package/dist/embeddings-CWCkXHbh.js +0 -215
  1414. package/dist/embeddings-http-CdI7ktv7.js +0 -205
  1415. package/dist/exa-web-search-provider-Duy7AQi9.js +0 -80
  1416. package/dist/exa-web-search-provider.runtime-BFsoURiN.js +0 -302
  1417. package/dist/exa-web-search-provider.runtime-DL0X8Ct2.js +0 -2
  1418. package/dist/exec-approval-forwarder.runtime-DTz08HhE.js +0 -3
  1419. package/dist/exec-approval-reply-CKpq6yzn.js +0 -296
  1420. package/dist/exec-approval-reply-CuNQhfNe.js +0 -2
  1421. package/dist/exec-approval-session-target-VmakwuWi.js +0 -176
  1422. package/dist/exec-approvals-cli-D-xC3sec.js +0 -498
  1423. package/dist/exec-defaults-BwOKAzOq.js +0 -2
  1424. package/dist/exec-defaults-C58y025t.js +0 -67
  1425. package/dist/execute.runtime-DOUF94B3.js +0 -1363
  1426. package/dist/fallbacks-5pUORVnh.js +0 -31
  1427. package/dist/fallbacks-WXR5Obc4.js +0 -2
  1428. package/dist/fallbacks-shared-CLY3SckB.js +0 -111
  1429. package/dist/format-Z6ci0mN3.js +0 -176
  1430. package/dist/gateway-Bh4zysny.js +0 -115
  1431. package/dist/gateway-cli-Cn8UyxHT.js +0 -1283
  1432. package/dist/gateway-rpc-DWqAmWHZ.js +0 -14
  1433. package/dist/gateway-rpc.runtime-8RQQdisU.js +0 -23
  1434. package/dist/gateway-runtime-CqSQCYo0.js +0 -15
  1435. package/dist/gateway-status-CRk9P_mQ.js +0 -584
  1436. package/dist/genesis-tools-Bczkn4pa.js +0 -9166
  1437. package/dist/genesis-tools.runtime-DybZ3Sbd.js +0 -2
  1438. package/dist/get-reply-BFleeJ4f.js +0 -3897
  1439. package/dist/get-reply-from-config.runtime-D3inD3tz.js +0 -2
  1440. package/dist/graph-users-6xhmlyu_.js +0 -1337
  1441. package/dist/guarded-json-api-BzmpX7Bh.js +0 -594
  1442. package/dist/health-CMBrLjD5.js +0 -3
  1443. package/dist/health-CYhGu11X.js +0 -469
  1444. package/dist/health-route-C6jiKkgE.js +0 -41
  1445. package/dist/health-route-C6s6ENKx.js +0 -2
  1446. package/dist/heartbeat-runner-Dh9Xx9YU.js +0 -1292
  1447. package/dist/heartbeat-runner-zDpniJi_.js +0 -5
  1448. package/dist/heartbeat-runner.runtime-D4lSdsnQ.js +0 -4
  1449. package/dist/helpers-DZTamQ-L.js +0 -320
  1450. package/dist/hooks-cli-DWDRPcaF.js +0 -433
  1451. package/dist/http-endpoint-helpers-BYmpbInx.js +0 -41
  1452. package/dist/http-headers-BWJ-wWSB.js +0 -11
  1453. package/dist/http-utils-DFEeaWER.js +0 -924
  1454. package/dist/identity-JQch7avk.js +0 -140
  1455. package/dist/image-fallbacks-BdpPq4o8.js +0 -2
  1456. package/dist/image-fallbacks-GxUehr7F.js +0 -31
  1457. package/dist/image-generation-provider-Bs8dan-F.js +0 -95
  1458. package/dist/image-generation-provider-Ca75_MHL.js +0 -63
  1459. package/dist/image-generation-provider-Cumlkwcm.js +0 -228
  1460. package/dist/image-generation-provider-DAAncrN2.js +0 -529
  1461. package/dist/image-generation-provider-LZz_eWeh.js +0 -157
  1462. package/dist/image-generation-provider-xE4TSEUN.js +0 -274
  1463. package/dist/inbound-reply-dispatch-DRjQ7qlQ.js +0 -73
  1464. package/dist/inbound.runtime-B3E6TUQ-.js +0 -4
  1465. package/dist/inbound.runtime-BsJCJ9wE.js +0 -3
  1466. package/dist/infra-runtime-pY0nhq7P.js +0 -39
  1467. package/dist/init-BFVKFRp9.js +0 -59
  1468. package/dist/install-signal-cli-Aj1HHG57.js +0 -202
  1469. package/dist/jobs-CzIiEiXa.js +0 -734
  1470. package/dist/kimi-web-search-provider-g6k5oyqw.js +0 -80
  1471. package/dist/kimi-web-search-provider.runtime-B5Y_iP-w.js +0 -2
  1472. package/dist/kimi-web-search-provider.runtime-D9mGNz4w.js +0 -261
  1473. package/dist/library-BpP85Umq.js +0 -45
  1474. package/dist/lifecycle-C69VoOuS.js +0 -229
  1475. package/dist/lifecycle-zC5_kLvH.js +0 -571
  1476. package/dist/lifecycle.runtime-DN9n10Ar.js +0 -2
  1477. package/dist/list-CZePHMYk.js +0 -2
  1478. package/dist/list-D-39rkJG.js +0 -2
  1479. package/dist/list-D9R6bffC.js +0 -1212
  1480. package/dist/list-J_MIp9Cf.js +0 -131
  1481. package/dist/list.probe-BJI7RpM4.js +0 -419
  1482. package/dist/live-model-switch-1UTJZ5QI.js +0 -336
  1483. package/dist/llm-slug-generator-CB-9wD87.js +0 -79
  1484. package/dist/load-config-Cokd9aKd.js +0 -35
  1485. package/dist/local-dispatch.runtime-DfmGw3hN.js +0 -8
  1486. package/dist/login-Ca9f5om9.js +0 -108
  1487. package/dist/logs-cli-Dz0aORYp.js +0 -265
  1488. package/dist/logs-cli.runtime-DgpP6kgG.js +0 -2
  1489. package/dist/main-session-restart-recovery-BdWx2-Ig.js +0 -206
  1490. package/dist/managed-image-attachments-BTEZZFPC.js +0 -2
  1491. package/dist/managed-image-attachments-BXwFe_hB.js +0 -635
  1492. package/dist/manager-49WINgRB.js +0 -3114
  1493. package/dist/manager-CKWINDnN.js +0 -2
  1494. package/dist/manager-DXquZHPE.js +0 -2057
  1495. package/dist/markdown-to-line-DuPPNWHb.js +0 -790
  1496. package/dist/mcp-cli-BgjBxFLB.js +0 -725
  1497. package/dist/mcp-http-CXz6iTV9.js +0 -529
  1498. package/dist/media-contract-api-Dn7Z9fVR.js +0 -2
  1499. package/dist/media-contract-g0U7MSOk.js +0 -49
  1500. package/dist/media-runtime-DKL6xud8.js +0 -329
  1501. package/dist/memory-Cvmtd7SS.js +0 -342
  1502. package/dist/memory-core-host-runtime-cli-DZAsYda3.js +0 -9
  1503. package/dist/memory-embedding-adapter-D58z4Hjn.js +0 -123
  1504. package/dist/message-DqFmV6vo.js +0 -232
  1505. package/dist/message-action-runner-B-6rT67S.js +0 -1407
  1506. package/dist/message-action-runner-Ds9MNZPn.js +0 -2
  1507. package/dist/message-actions-Bvs23y8w.js +0 -143
  1508. package/dist/message-channel-bhWoqTRw.js +0 -56
  1509. package/dist/message-secret-scope-CEVGxySq.js +0 -103
  1510. package/dist/message.gateway.runtime-CT0DJ45B.js +0 -2
  1511. package/dist/method-scopes-DZxEwSC9.js +0 -228
  1512. package/dist/minimax-web-search-provider-4scwuRzS.js +0 -53
  1513. package/dist/minimax-web-search-provider.runtime-Bc1tLmEn.js +0 -140
  1514. package/dist/minimax-web-search-provider.runtime-DirtikTO.js +0 -2
  1515. package/dist/mock-DjlwRj77.js +0 -136
  1516. package/dist/model-definitions-DAfZ2fCD.js +0 -260
  1517. package/dist/model-overrides-C47kuXVC.js +0 -104
  1518. package/dist/model-selection-B0e0JNhN.js +0 -213
  1519. package/dist/models-CEyQw90_.js +0 -47
  1520. package/dist/models-CQV1b487.js +0 -760
  1521. package/dist/models-CXOS_VP1.js +0 -157
  1522. package/dist/models-CfTF8Fbp.js +0 -569
  1523. package/dist/models-auth-status-CtbfpiLe.js +0 -217
  1524. package/dist/models-cli-DKlGXayC.js +0 -271
  1525. package/dist/models-http-DWu9XkAU.js +0 -92
  1526. package/dist/models.fetch-BVY3QlcA.js +0 -518
  1527. package/dist/monitor-BrQZ38sV.js +0 -1661
  1528. package/dist/monitor-C2olcPaB.js +0 -1237
  1529. package/dist/monitor-C32pQJf0.js +0 -788
  1530. package/dist/monitor-DWDZx3af.js +0 -2
  1531. package/dist/monitor-DuB8d2_N.js +0 -671
  1532. package/dist/monitor-DwAHrb0v.js +0 -295
  1533. package/dist/monitor-auth-ym3-n10B.js +0 -207
  1534. package/dist/monitor-fV4pkrv-.js +0 -1459
  1535. package/dist/monitor-processing-Cnjt-86E.js +0 -1974
  1536. package/dist/monitor.runtime-m4hyBv5_.js +0 -2
  1537. package/dist/monitor.webhook-DpQqy92z.js +0 -180
  1538. package/dist/msteams-CEC38YQX.js +0 -35
  1539. package/dist/music-generation-provider-DR8TlAd7.js +0 -63
  1540. package/dist/music-generation-provider-UU2xosmd.js +0 -170
  1541. package/dist/native-hook-relay-ALDxVrJR.js +0 -519
  1542. package/dist/native-web-search-DE6wKTD7.js +0 -64
  1543. package/dist/nextcloud-talk-D6l_ncY6.js +0 -17
  1544. package/dist/node-cli-B4fFzsbt.js +0 -2276
  1545. package/dist/nodes-cli-DPOCIMd6.js +0 -1046
  1546. package/dist/nodes-utils-DXJ9uuER.js +0 -84
  1547. package/dist/nodes.helpers-DYpGCFer.js +0 -34
  1548. package/dist/notify-CDGsB-f1.js +0 -315
  1549. package/dist/onboard-BAKpU8Hh2.js +0 -49
  1550. package/dist/onboard-BPXard5r.js +0 -316
  1551. package/dist/onboard-BhyqJz5g.js +0 -2
  1552. package/dist/onboard-CYwvwcjK.js +0 -25
  1553. package/dist/onboard-DEkkXwRP.js +0 -58
  1554. package/dist/onboard-DcPiUfS6.js +0 -70
  1555. package/dist/onboard-UUvy9YwT.js +0 -29
  1556. package/dist/onboard-g4ijsx6R.js +0 -25
  1557. package/dist/onboard-helpers-DD5g-FbW.js +0 -204
  1558. package/dist/onboard-helpers-DRudISKo.js +0 -6
  1559. package/dist/onboard-iJRhJj4E.js +0 -25
  1560. package/dist/onboard-interactive-DxupaeWe.js +0 -24
  1561. package/dist/onboard-non-interactive-BCIl9AIV.js +0 -635
  1562. package/dist/onboard-remote-By9HP4eT.js +0 -193
  1563. package/dist/onboard-remote-r9H76BMI.js +0 -2
  1564. package/dist/onboard-skills-BbXkZVWi.js +0 -2
  1565. package/dist/onboard-skills-Bj6v5Fc2.js +0 -134
  1566. package/dist/openai-codex-auth-identity-DDVrnkGx.js +0 -45
  1567. package/dist/openai-codex-device-code-vaMr3ktu.js +0 -164
  1568. package/dist/openai-codex-provider-BgIrfq5f.js +0 -472
  1569. package/dist/openai-codex-shared-i8zMv9Wn.js +0 -6
  1570. package/dist/openai-http-3hSjTiC9.js +0 -500
  1571. package/dist/openai-provider-BRJBMcdJ.js +0 -313
  1572. package/dist/openresponses-http-DCEEmL6J.js +0 -1128
  1573. package/dist/operator-approvals-client-gaflvETF.js +0 -68
  1574. package/dist/outbound-media-Bh4sEXyv.js +0 -57
  1575. package/dist/outbound-runtime-CNL02KHG.js +0 -5
  1576. package/dist/outbound.runtime-DNeZz0qd.js +0 -2
  1577. package/dist/pair-command-approve-DVG9ZQOz.js +0 -44
  1578. package/dist/perplexity-web-search-provider-CIwymV16.js +0 -92
  1579. package/dist/perplexity-web-search-provider.runtime-CIrANP8t.js +0 -324
  1580. package/dist/perplexity-web-search-provider.runtime-GuZxipp7.js +0 -2
  1581. package/dist/persistent-bindings.lifecycle-DO0CXQku.js +0 -2
  1582. package/dist/persistent-bindings.lifecycle-yyMTI5wL.js +0 -85
  1583. package/dist/pi-embedded-G_7qiYrd.js +0 -2905
  1584. package/dist/pi-embedded-RNv_18Ql.js +0 -4
  1585. package/dist/pi-embedded-subscribe.handlers.compaction.runtime-B0obozHf.js +0 -23
  1586. package/dist/pi-embedded.runtime-DgLkukEn.js +0 -4
  1587. package/dist/pi-tool-definition-adapter-CAxVoliV.js +0 -229
  1588. package/dist/pi-tools-DLzCdu_A.js +0 -1057
  1589. package/dist/pi-tools.before-tool-call-CXqyPFQ7.js +0 -2
  1590. package/dist/pi-tools.before-tool-call-DgEuyrNS.js +0 -433
  1591. package/dist/plivo-B2yZjL-u.js +0 -394
  1592. package/dist/plugin--KkHkZKl.js +0 -12195
  1593. package/dist/plugin-enabled-DOVricci.js +0 -140
  1594. package/dist/plugin-registration-BsNMVImp.js +0 -23
  1595. package/dist/plugin-service-CAdEnLLQ.js +0 -2892
  1596. package/dist/policy-6PXLgKPZ.js +0 -328
  1597. package/dist/prepare.runtime-asu7nymR.js +0 -815
  1598. package/dist/probe-8nNaZ33e.js +0 -45
  1599. package/dist/probe-BOlTfbzG.js +0 -2
  1600. package/dist/probe-BicpMUHr.js +0 -74
  1601. package/dist/probe-BoAfs3v0.js +0 -243
  1602. package/dist/probe-C2UYvuU1.js +0 -1443
  1603. package/dist/probe-D3-S54s4.js +0 -2
  1604. package/dist/probe-D7gHyiZV.js +0 -241
  1605. package/dist/probe-Dauysr9a.js +0 -32
  1606. package/dist/probe-DqbaFZ8U.js +0 -2205
  1607. package/dist/probe.runtime-D1TENrHH.js +0 -2
  1608. package/dist/program-C_hsOWv5.js +0 -111
  1609. package/dist/prompt-select-styled-CuuJ3YZI.js +0 -20
  1610. package/dist/protocol-DxLbSF2J.js +0 -2477
  1611. package/dist/provider-3GpsNTSy.js +0 -70
  1612. package/dist/provider-catalog-BSXiLKUb.js +0 -24
  1613. package/dist/provider-catalog-BfrRkDb6.js +0 -26
  1614. package/dist/provider-catalog-CQOOAKUd.js +0 -11
  1615. package/dist/provider-catalog-DuplUDCj.js +0 -12
  1616. package/dist/provider-catalog-nmYuB55e.js +0 -11
  1617. package/dist/provider-compat-Cmc7Dpb2.js +0 -37
  1618. package/dist/provider-dispatcher-C98nuGtx.js +0 -2
  1619. package/dist/provider-dispatcher-U0bjp31x.js +0 -22
  1620. package/dist/provider-models-CQ8YMhIq.js +0 -35
  1621. package/dist/provider-models-xoUb7pnU.js +0 -119
  1622. package/dist/provider-registration-B5Xbkn85.js +0 -218
  1623. package/dist/pw-ai-B0xjo-Hb.js +0 -2511
  1624. package/dist/pw-role-snapshot-DfdV7JMN.js +0 -380
  1625. package/dist/qmd-manager-DtShFCys.js +0 -1921
  1626. package/dist/qr-cli-D38r9mtY.js +0 -2
  1627. package/dist/qr-cli-Wbrc0tcy.js +0 -349
  1628. package/dist/qr-image-BQhzr3CC.js +0 -2
  1629. package/dist/queue-DyWzQqJh.js +0 -409
  1630. package/dist/reaction-runtime-api-BZCWmrll.js +0 -116
  1631. package/dist/reactions-BmhlLeFI.js +0 -998
  1632. package/dist/read-capability-B0mVFrNe.js +0 -412
  1633. package/dist/realtime-provider-shared-CKounRGH.js +0 -37
  1634. package/dist/realtime-transcription-provider-BjwZyKME.js +0 -120
  1635. package/dist/realtime-transcription-provider-CSQuayAt.js +0 -183
  1636. package/dist/realtime-transcription-provider-Cr86v5pA.js +0 -184
  1637. package/dist/realtime-transcription-provider-DFdWvvWN.js +0 -184
  1638. package/dist/realtime-transcription-provider-Da6Yg9O_.js +0 -172
  1639. package/dist/realtime-voice-provider-DP4ad0L4.js +0 -489
  1640. package/dist/record-shared-B5MzAU-n.js +0 -10
  1641. package/dist/register-service-commands-B2Ky9P6l.js +0 -71
  1642. package/dist/register.agent-C9UIPMzI.js +0 -248
  1643. package/dist/register.configure-DlvVdJGK.js +0 -15
  1644. package/dist/register.maintenance-4q078BpS.js +0 -363
  1645. package/dist/register.message-Dyafa7wU.js +0 -329
  1646. package/dist/register.onboard-R4VgPeqI.js +0 -88
  1647. package/dist/register.runtime-Eju4Gltw.js +0 -81
  1648. package/dist/register.setup-DCnMQggx.js +0 -150
  1649. package/dist/register.status-health-sessions-DrZEX_C3.js +0 -1215
  1650. package/dist/register.subclis-C8MYnxZ0.js +0 -29
  1651. package/dist/register.subclis-DXRcUQY-.js +0 -3
  1652. package/dist/register.subclis-core-CKrFtMnT.js +0 -249
  1653. package/dist/replay-policy-BXxBsUQj.js +0 -8
  1654. package/dist/reply-chunking-CQ-Mda9f.js +0 -3
  1655. package/dist/reply-dispatch-runtime-DrCMM_h6.js +0 -13
  1656. package/dist/reply-media-paths.runtime-Dm7QsGx1.js +0 -146
  1657. package/dist/reply-media-paths.runtime-N1vQKI2t.js +0 -2
  1658. package/dist/reply-payload-transform-DXQFdUjX.js +0 -720
  1659. package/dist/reply-runtime-BEbR4D-L.js +0 -11
  1660. package/dist/reply.runtime-k1wfQvE8.js +0 -2
  1661. package/dist/reset-PRwf7E1a.js +0 -84
  1662. package/dist/reset-authorization-DnCXXdJm.js +0 -34
  1663. package/dist/response-generator-CfYnwr-R.js +0 -175
  1664. package/dist/restart-health-BjmfJCUM.js +0 -202
  1665. package/dist/restart-health-hw909zlD.js +0 -2
  1666. package/dist/root-help-DetBH1U3.js +0 -44
  1667. package/dist/route-reply-DCdEIaJm.js +0 -162
  1668. package/dist/route-reply.runtime-CCoWkbHJ.js +0 -2
  1669. package/dist/routes-CBHvnNAn.js +0 -3341
  1670. package/dist/routes-CM5XFUol.js +0 -2
  1671. package/dist/routing-DB6Hmk1m.js +0 -5
  1672. package/dist/rpc-DejtQFPW.js +0 -61
  1673. package/dist/rpc-context-C-K-u97k.js +0 -17
  1674. package/dist/rpc.runtime-CvFF6IfX.js +0 -21
  1675. package/dist/run-auth-profile.runtime-CBF7l6AJ.js +0 -2
  1676. package/dist/run-delivery.runtime-mrFGIUBn.js +0 -530
  1677. package/dist/run-embedded.runtime-Bi_aGXZl.js +0 -4
  1678. package/dist/run-execution-cli.runtime-CJ5bRUst.js +0 -4
  1679. package/dist/run-executor.runtime-C2nEQ7H5.js +0 -277
  1680. package/dist/run-main-C4eOl9O3.js +0 -567
  1681. package/dist/run-subagent-registry.runtime-Wv4vcMON.js +0 -2
  1682. package/dist/run-wait-J2xqMO0Y.js +0 -135
  1683. package/dist/runtime-BWI1Yc19.js +0 -9
  1684. package/dist/runtime-BvrYBFWw.js +0 -107
  1685. package/dist/runtime-YN3DqmXj.js +0 -72
  1686. package/dist/runtime-api-B7_47clB.js +0 -9
  1687. package/dist/runtime-api-CCSSXW6u.js +0 -4
  1688. package/dist/runtime-api-CHqMki_k.js +0 -9
  1689. package/dist/runtime-api-FyNFEQa6.js +0 -14
  1690. package/dist/runtime-embedded-pi.runtime-CKKAqNJ9.js +0 -2
  1691. package/dist/runtime-entry-T6UII6Wf.js +0 -2769
  1692. package/dist/runtime-internal-BsETZzZr.js +0 -2
  1693. package/dist/runtime-lZ_xBQn6.js +0 -973
  1694. package/dist/runtime-options-DYh6T1p4.js +0 -275
  1695. package/dist/runtime-provider-C0RXuzkp.js +0 -21
  1696. package/dist/runtime-schema-DjdB9Mgh.js +0 -28588
  1697. package/dist/sandbox-Ctv6fRri.js +0 -3
  1698. package/dist/sandbox-cli-DlgKqSYU.js +0 -450
  1699. package/dist/sandbox-xqJ6gg8T.js +0 -1156
  1700. package/dist/scan-C4AL0vV5.js +0 -2
  1701. package/dist/scan-CiyGLsBp.js +0 -523
  1702. package/dist/secrets-cli-BzZc1dlc.js +0 -2101
  1703. package/dist/security-cli-D7WSpDIp.js +0 -486
  1704. package/dist/selection-BTj1orBr.js +0 -2
  1705. package/dist/selection-Bj9s46tI.js +0 -7764
  1706. package/dist/send-D1BQp5zh.js +0 -102
  1707. package/dist/send-KwF2Hkrg.js +0 -534
  1708. package/dist/send-pMWIOnb1.js +0 -156
  1709. package/dist/send.runtime-BY-fpUGh.js +0 -2
  1710. package/dist/server-4wSXAqKZ.js +0 -77
  1711. package/dist/server-CM6IcXrJ.js +0 -13
  1712. package/dist/server-context-LGN_v6Pr.js +0 -847
  1713. package/dist/server-context-uC_sh4Qx.js +0 -2
  1714. package/dist/server-middleware-DlVw3WGo.js +0 -120
  1715. package/dist/server-node-events-DRqk_sSG.js +0 -481
  1716. package/dist/server-plugin-bootstrap-DT7hMrEB.js +0 -12989
  1717. package/dist/server-plugin-bootstrap-DbgT8s3b.js +0 -2
  1718. package/dist/server-restart-sentinel-DJg1jibz.js +0 -697
  1719. package/dist/server.impl-KfCHHYM3.js +0 -12869
  1720. package/dist/session-D4GawBOc.js +0 -48
  1721. package/dist/session-envelope-BuDz-uci.js +0 -18
  1722. package/dist/session-key-BDzsY9ry.js +0 -65
  1723. package/dist/session-kill-http-BtXfgdg5.js +0 -110
  1724. package/dist/session-meta-DSbdkLPg.js +0 -109
  1725. package/dist/session-override-DvpYNjEy.js +0 -106
  1726. package/dist/session-reset-model.runtime-TJuluskH.js +0 -133
  1727. package/dist/session-reset-service-hc2O1o2q.js +0 -497
  1728. package/dist/session-route-dSc-ZfJV.js +0 -93
  1729. package/dist/session-status.runtime-DBOWNGE0.js +0 -2
  1730. package/dist/session-store-CH0Ic73R.js +0 -126
  1731. package/dist/session-store.runtime-BLzP0kKb.js +0 -2
  1732. package/dist/session-subagent-reactivation.runtime-DLwmbVAj.js +0 -2
  1733. package/dist/session-tab-registry-C30tFUHP.js +0 -581
  1734. package/dist/session-updates-CNv8yQTZ.js +0 -236
  1735. package/dist/session-updates.runtime-BI1pPG-y.js +0 -2
  1736. package/dist/session-utils-BtcpsVXK.js +0 -1009
  1737. package/dist/session-visibility-mu61Cazj.js +0 -147
  1738. package/dist/sessions-BY-N1ODJ.js +0 -2
  1739. package/dist/sessions-BaBnI48b.js +0 -48
  1740. package/dist/sessions-DgCDR090.js +0 -16
  1741. package/dist/sessions-DwbTRE7z.js +0 -281
  1742. package/dist/sessions-helpers-Boau-Mgl.js +0 -305
  1743. package/dist/sessions-history-http-JaZfsaow.js +0 -383
  1744. package/dist/sessions-patch-CGza9U1J.js +0 -309
  1745. package/dist/sessions-resolve-CxsMxrnz.js +0 -174
  1746. package/dist/sessions.runtime-B-dhGJmG.js +0 -2
  1747. package/dist/setup-Dld60Kw0.js +0 -636
  1748. package/dist/setup-XAAowspF.js +0 -421
  1749. package/dist/setup-api-qytGcCw9.js +0 -29
  1750. package/dist/setup-core-4RX2I3E7.js +0 -176
  1751. package/dist/setup-core-BDZ0GEn7.js +0 -171
  1752. package/dist/setup-core-BagQlOhA.js +0 -184
  1753. package/dist/setup-core-DFDx-2sA.js +0 -393
  1754. package/dist/setup-surface-BFIZR2UD.js +0 -286
  1755. package/dist/setup-surface-BNFYOzmc.js +0 -3
  1756. package/dist/setup-surface-C5F8cr6e2.js +0 -403
  1757. package/dist/setup-surface-CArOZxWv.js +0 -72
  1758. package/dist/setup-surface-D5kQP_5C.js +0 -219
  1759. package/dist/setup-surface-uNLwReGA.js +0 -351
  1760. package/dist/setup.finalize-DanHcKdm.js +0 -547
  1761. package/dist/setup.gateway-config-BfYDHl2S.js +0 -250
  1762. package/dist/shared-CHz0sVK9.js +0 -186
  1763. package/dist/shared-CaYwmZh_.js +0 -76
  1764. package/dist/shared-DZLuHh9i.js +0 -121
  1765. package/dist/shared-Doh9gWDF.js +0 -198
  1766. package/dist/shared-IhxU1SqF.js +0 -60
  1767. package/dist/shared-Xx-lZLWj.js +0 -217
  1768. package/dist/shared-runtime-BtwYWnp-.js +0 -7
  1769. package/dist/short-term-promotion-B_3UbQd-.js +0 -1543
  1770. package/dist/skill-commands-X1-SuzeM.js +0 -83
  1771. package/dist/skill-commands.runtime-DtDW-HM9.js +0 -2
  1772. package/dist/skills-snapshot.runtime-CA04_tLs.js +0 -7
  1773. package/dist/slash-state-C5V_rwuh.js +0 -1911
  1774. package/dist/speech-provider-Bs22xK7f.js +0 -216
  1775. package/dist/speech-provider-DH35IJrp.js +0 -395
  1776. package/dist/speech-provider-DJhp-WGc.js +0 -170
  1777. package/dist/speech-provider-TuMZXjYA.js +0 -209
  1778. package/dist/speech-provider-bfFcbOuQ.js +0 -184
  1779. package/dist/speech-provider-eDdGrCL3.js +0 -209
  1780. package/dist/speech-provider-hFc3R_JS.js +0 -103
  1781. package/dist/src-CbvReXTF.js +0 -3974
  1782. package/dist/stage-sandbox-media.runtime-BBZVC4gy.js +0 -232
  1783. package/dist/startup-context-BhbpkDRe.js +0 -312
  1784. package/dist/state-migrations-BcK6CUBE.js +0 -820
  1785. package/dist/status-6TVRvc0X.js +0 -2
  1786. package/dist/status-BXUtOoXd.js +0 -190
  1787. package/dist/status-BYxVnJ4t.js +0 -62
  1788. package/dist/status-CASjTsed.js +0 -3
  1789. package/dist/status-CozhtuYB.js +0 -2
  1790. package/dist/status-DtWC4gU2.js +0 -397
  1791. package/dist/status-all-RMu-gp_i.js +0 -498
  1792. package/dist/status-json-C05vJFn8.js +0 -14
  1793. package/dist/status-json-command-CM9ioz3P.js +0 -84
  1794. package/dist/status-message-CqkaBWzr.js +0 -466
  1795. package/dist/status-message.runtime-qXxrcsiN.js +0 -6
  1796. package/dist/status-queue.runtime-C7PIZ71w.js +0 -2
  1797. package/dist/status-runtime-shared-CilAS_RU.js +0 -257
  1798. package/dist/status-subagents.runtime-_MQiX_ZF.js +0 -18
  1799. package/dist/status-text-Cbbo5gTy.js +0 -237
  1800. package/dist/status-xCBvRTwU.js +0 -209
  1801. package/dist/status.gateway-connection.runtime-CpCUmiCK.js +0 -2
  1802. package/dist/status.gather-B_e7gqcb.js +0 -2
  1803. package/dist/status.gather-DeoHK2V7.js +0 -292
  1804. package/dist/status.runtime-CCrtR3yP.js +0 -2
  1805. package/dist/status.runtime-IgA-WP26.js +0 -2
  1806. package/dist/status.scan-BywaTUGM.js +0 -65
  1807. package/dist/status.scan-overview-Bg0PxIss.js +0 -379
  1808. package/dist/status.scan.fast-json-Bf3f1o0d.js +0 -2
  1809. package/dist/status.scan.fast-json-D7_WMvuZ.js +0 -132
  1810. package/dist/status.summary-BoGDDE4X.js +0 -214
  1811. package/dist/status.summary-b0S78Iju.js +0 -2
  1812. package/dist/store-BXDBdpSq.js +0 -4
  1813. package/dist/store-DOwpgFxf.js +0 -910
  1814. package/dist/store.runtime-1QGWUWou.js +0 -2
  1815. package/dist/stream-BsnsNxOA.js +0 -664
  1816. package/dist/stream-DEH1-1Is.js +0 -134
  1817. package/dist/stt-CJtlkVDc.js +0 -66
  1818. package/dist/subagent-announce-delivery-DwS6sI24.js +0 -726
  1819. package/dist/subagent-announce-gxWOuvuY.js +0 -351
  1820. package/dist/subagent-announce-output-C5ButdYI.js +0 -364
  1821. package/dist/subagent-capabilities-DIIDgPnB.js +0 -251
  1822. package/dist/subagent-control-C-Am1OtB.js +0 -506
  1823. package/dist/subagent-control.runtime-BK2jtN2v.js +0 -3
  1824. package/dist/subagent-followup.runtime-DoLAbwOo.js +0 -68
  1825. package/dist/subagent-orphan-recovery-BzDS5O1i.js +0 -305
  1826. package/dist/subagent-registry-BIgNPHJQ.js +0 -1753
  1827. package/dist/subagent-registry-an_oHM4b.js +0 -3
  1828. package/dist/subagent-spawn-BKFMuv1y.js +0 -1005
  1829. package/dist/system-cli-IAtoOtwN.js +0 -59
  1830. package/dist/system-prompt-D-MqNnG1.js +0 -640
  1831. package/dist/tables-Bfl7YTbb.js +0 -829
  1832. package/dist/target-id-BbLPfw0-.js +0 -107
  1833. package/dist/targets-DWXe3mQm.js +0 -67
  1834. package/dist/targets-bhZeEbJG.js +0 -207
  1835. package/dist/targets.runtime-By8N_Qv0.js +0 -2
  1836. package/dist/task-executor-CL1pQUmi.js +0 -360
  1837. package/dist/task-owner-access-B2tFCiT1.js +0 -74
  1838. package/dist/task-registry-CGDnoG_A.js +0 -2366
  1839. package/dist/task-registry-delivery-runtime-DOHFM4em.js +0 -3
  1840. package/dist/task-registry-delivery-runtime-DSl-VyA2.js +0 -2
  1841. package/dist/task-registry.maintenance-BJzi71wn.js +0 -416
  1842. package/dist/task-registry.maintenance-BxKAIJuE.js +0 -2
  1843. package/dist/tavily-client-CJtIuNuZ.js +0 -193
  1844. package/dist/tavily-client-cnGyIHjo.js +0 -2
  1845. package/dist/tavily-search-provider-BGV8D2VZ.js +0 -62
  1846. package/dist/telnyx-fGTIDZqb.js +0 -260
  1847. package/dist/testing-CqUqcJNQ.js +0 -575
  1848. package/dist/text-report-Cky4UA35.js +0 -587
  1849. package/dist/text-runtime-BOpYwhuR.js +0 -290
  1850. package/dist/tool-config-shared-C0rslp8t.js +0 -19
  1851. package/dist/tool-policy-pipeline-qhEZzHB-.js +0 -109
  1852. package/dist/tool-resolution-CjbwGHcJ.js +0 -90
  1853. package/dist/tools-effective-inventory-C70Ug651.js +0 -152
  1854. package/dist/tools-invoke-http-DcRsw9EO.js +0 -206
  1855. package/dist/tools.runtime-B-fcXtvL.js +0 -4
  1856. package/dist/transcript-CTF8zJ2t.js +0 -312
  1857. package/dist/transcript-resolve.runtime-C41xgFnA.js +0 -2
  1858. package/dist/transcript.runtime-DNBFm0LS.js +0 -2
  1859. package/dist/transport-policy-Ivm5ArSd.js +0 -75
  1860. package/dist/trash-CVoAJSAx.js +0 -24
  1861. package/dist/tts-B5G7JHka.js +0 -64
  1862. package/dist/tts-CWykD0rc.js +0 -183
  1863. package/dist/tui-cli-CNanJyFI.js +0 -4575
  1864. package/dist/twilio-B-dBW4_4.js +0 -609
  1865. package/dist/typing-policy-CCK9_cHb.js +0 -12
  1866. package/dist/update-cli-D-uofyXb.js +0 -1759
  1867. package/dist/upgrade-gspO3C-l.js +0 -1226
  1868. package/dist/video-generation-provider-BoKNqi7G.js +0 -254
  1869. package/dist/video-generation-provider-C2PI4-Wg.js +0 -271
  1870. package/dist/video-generation-provider-CDTvRCSr.js +0 -287
  1871. package/dist/video-generation-provider-CDxxol9M.js +0 -281
  1872. package/dist/video-generation-provider-CgDT1u2M.js +0 -187
  1873. package/dist/video-generation-provider-CtC5lXew.js +0 -78
  1874. package/dist/video-generation-provider-DTD47wPw.js +0 -118
  1875. package/dist/video-generation-provider-DqaWr1z8.js +0 -264
  1876. package/dist/video-generation-provider-yuS2SQIL.js +0 -221
  1877. package/dist/video-generation-task-status-BFReBMsX.js +0 -163
  1878. package/dist/voice-mapping-D2aNmRet.js +0 -41
  1879. package/dist/wait-for-idle-before-flush-BFfZxSMK.js +0 -5986
  1880. package/dist/web-search-njsvDPGV.js +0 -61
  1881. package/dist/web-search-provider-Bb1jo3tv.js +0 -163
  1882. package/dist/web-search-provider.runtime-B8p_cAp6.js +0 -185
  1883. package/dist/web-search-provider.runtime-xlnZGUCc.js +0 -2
  1884. package/dist/webhook-shared-CZt-kRIg.js +0 -12
  1885. package/dist/wizard-models-YsngRy_Q.js +0 -334
  1886. package/dist/workflow-runtime-Be-w_Xn7.js +0 -485
  1887. package/dist/workspace-run-CHsJxomp.js +0 -70
  1888. package/dist/x-search-config-ikE_9hVQ.js +0 -36
  1889. package/dist/x-search-shared-Cl-mTkkU.js +0 -75
  1890. package/dist/zalo-js-D6IiDKzH.js +0 -1157
@@ -1,2511 +0,0 @@
1
- import { i as formatErrorMessage } from "./errors-CufR9eHH.js";
2
- import { c as normalizeOptionalString$1, f as readStringValue } from "./string-coerce-DPP_aYVc.js";
3
- import { n as resolvePreferredGenesisTmpDir } from "./tmp-genesis-dir-h5HSqKoN.js";
4
- import { t as SsrFBlockedError } from "./ssrf-FLmnjVdI.js";
5
- import { h as writeFileFromPathWithinRoot } from "./fs-safe-2qh6MzsS.js";
6
- import "./text-runtime-BOpYwhuR.js";
7
- import { a as resolveStrictExistingPathsWithinRoot, n as DEFAULT_TRACE_DIR, r as DEFAULT_UPLOAD_DIR } from "./paths-CQ_G-HVX.js";
8
- import { T as withNoProxyForCdpUrl, i as fetchJson, l as normalizeCdpHttpBaseForJsonEndpoints, n as assertCdpEndpointAllowed, o as getHeadersWithAuth, p as withCdpSocket, t as appendCdpPath } from "./cdp.helpers-Ch0SX_4B.js";
9
- import { c as BrowserTabNotFoundError } from "./errors-NfqK-B_9.js";
10
- import { _ as assertBrowserNavigationAllowed, f as formatAriaSnapshot, g as InvalidBrowserNavigationUrlError, l as AX_REF_PATTERN, p as normalizeCdpWsUrl, t as getChromeWebSocketUrl, v as assertBrowserNavigationRedirectChainAllowed, x as withBrowserNavigationPolicy, y as assertBrowserNavigationResultAllowed } from "./chrome-BXAOdA_f.js";
11
- import { d as ACT_MAX_CLICK_DELAY_MS, f as ACT_MAX_WAIT_TIME_MS, g as matchBrowserUrlPattern, h as resolveActWaitTimeoutMs, i as parseRoleRef, m as resolveActInteractionTimeoutMs, n as buildRoleSnapshotFromAriaSnapshot, r as getRoleSnapshotStats, t as buildRoleSnapshotFromAiSnapshot } from "./pw-role-snapshot-DfdV7JMN.js";
12
- import { n as markPwAiLoaded } from "./pw-ai-state-D8dRsEBm.js";
13
- import path from "node:path";
14
- import fs from "node:fs/promises";
15
- import crypto from "node:crypto";
16
- import { chromium, devices } from "playwright-core";
17
- //#region extensions/browser/src/browser/pw-session.page-cdp.ts
18
- async function withPlaywrightPageCdpSession(page, fn) {
19
- const session = await page.context().newCDPSession(page);
20
- try {
21
- return await fn(session);
22
- } finally {
23
- await session.detach().catch(() => {});
24
- }
25
- }
26
- async function withPageScopedCdpClient(opts) {
27
- return await withPlaywrightPageCdpSession(opts.page, async (session) => {
28
- return await opts.fn((method, params) => session.send(method, params));
29
- });
30
- }
31
- //#endregion
32
- //#region extensions/browser/src/browser/pw-session.ts
33
- const pageStates = /* @__PURE__ */ new WeakMap();
34
- const contextStates = /* @__PURE__ */ new WeakMap();
35
- const observedContexts = /* @__PURE__ */ new WeakSet();
36
- const observedPages = /* @__PURE__ */ new WeakSet();
37
- const roleRefsByTarget = /* @__PURE__ */ new Map();
38
- const MAX_ROLE_REFS_CACHE = 50;
39
- const MAX_CONSOLE_MESSAGES = 500;
40
- const MAX_PAGE_ERRORS = 200;
41
- const MAX_NETWORK_REQUESTS = 500;
42
- const cachedByCdpUrl = /* @__PURE__ */ new Map();
43
- const connectingByCdpUrl = /* @__PURE__ */ new Map();
44
- const blockedTargetsByCdpUrl = /* @__PURE__ */ new Set();
45
- const blockedPageRefsByCdpUrl = /* @__PURE__ */ new Map();
46
- function normalizeCdpUrl(raw) {
47
- return raw.replace(/\/$/, "");
48
- }
49
- function hasCachedPlaywrightBrowserConnection(cdpUrl) {
50
- return cachedByCdpUrl.has(normalizeCdpUrl(cdpUrl));
51
- }
52
- function isRecoverableStalePageSelectionError(err, reusedCachedBrowser) {
53
- if (!reusedCachedBrowser) return false;
54
- if (err instanceof Error && err.message.includes("No pages available in the connected browser.")) return true;
55
- if (err instanceof BrowserTabNotFoundError) return true;
56
- return (err instanceof Error ? err.message : formatErrorMessage(err)).toLowerCase().includes("tab not found");
57
- }
58
- function findNetworkRequestById(state, id) {
59
- for (let i = state.requests.length - 1; i >= 0; i -= 1) {
60
- const candidate = state.requests[i];
61
- if (candidate && candidate.id === id) return candidate;
62
- }
63
- }
64
- function targetKey(cdpUrl, targetId) {
65
- return `${normalizeCdpUrl(cdpUrl)}::${targetId}`;
66
- }
67
- function roleRefsKey(cdpUrl, targetId) {
68
- return targetKey(cdpUrl, targetId);
69
- }
70
- function isBlockedTarget(cdpUrl, targetId) {
71
- const normalizedTargetId = normalizeOptionalString$1(targetId) ?? "";
72
- if (!normalizedTargetId) return false;
73
- return blockedTargetsByCdpUrl.has(targetKey(cdpUrl, normalizedTargetId));
74
- }
75
- function markTargetBlocked(cdpUrl, targetId) {
76
- const normalizedTargetId = normalizeOptionalString$1(targetId) ?? "";
77
- if (!normalizedTargetId) return;
78
- blockedTargetsByCdpUrl.add(targetKey(cdpUrl, normalizedTargetId));
79
- }
80
- function clearBlockedTarget(cdpUrl, targetId) {
81
- const normalizedTargetId = normalizeOptionalString$1(targetId) ?? "";
82
- if (!normalizedTargetId) return;
83
- blockedTargetsByCdpUrl.delete(targetKey(cdpUrl, normalizedTargetId));
84
- }
85
- function clearBlockedTargetsForCdpUrl(cdpUrl) {
86
- if (!cdpUrl) {
87
- blockedTargetsByCdpUrl.clear();
88
- return;
89
- }
90
- const prefix = `${normalizeCdpUrl(cdpUrl)}::`;
91
- for (const key of blockedTargetsByCdpUrl) if (key.startsWith(prefix)) blockedTargetsByCdpUrl.delete(key);
92
- }
93
- function blockedPageRefsForCdpUrl(cdpUrl) {
94
- const normalized = normalizeCdpUrl(cdpUrl);
95
- const existing = blockedPageRefsByCdpUrl.get(normalized);
96
- if (existing) return existing;
97
- const created = /* @__PURE__ */ new WeakSet();
98
- blockedPageRefsByCdpUrl.set(normalized, created);
99
- return created;
100
- }
101
- function isBlockedPageRef(cdpUrl, page) {
102
- return blockedPageRefsByCdpUrl.get(normalizeCdpUrl(cdpUrl))?.has(page) ?? false;
103
- }
104
- function markPageRefBlocked(cdpUrl, page) {
105
- blockedPageRefsForCdpUrl(cdpUrl).add(page);
106
- }
107
- function clearBlockedPageRefsForCdpUrl(cdpUrl) {
108
- if (!cdpUrl) {
109
- blockedPageRefsByCdpUrl.clear();
110
- return;
111
- }
112
- blockedPageRefsByCdpUrl.delete(normalizeCdpUrl(cdpUrl));
113
- }
114
- function clearBlockedPageRef(cdpUrl, page) {
115
- blockedPageRefsByCdpUrl.get(normalizeCdpUrl(cdpUrl))?.delete(page);
116
- }
117
- function hasBlockedTargetsForCdpUrl(cdpUrl) {
118
- const prefix = `${normalizeCdpUrl(cdpUrl)}::`;
119
- for (const key of blockedTargetsByCdpUrl) if (key.startsWith(prefix)) return true;
120
- return false;
121
- }
122
- var BlockedBrowserTargetError = class extends Error {
123
- constructor() {
124
- super("Browser target is unavailable after SSRF policy blocked its navigation.");
125
- this.name = "BlockedBrowserTargetError";
126
- }
127
- };
128
- function rememberRoleRefsForTarget(opts) {
129
- const targetId = normalizeOptionalString$1(opts.targetId) ?? "";
130
- if (!targetId) return;
131
- roleRefsByTarget.set(roleRefsKey(opts.cdpUrl, targetId), {
132
- refs: opts.refs,
133
- ...opts.frameSelector ? { frameSelector: opts.frameSelector } : {},
134
- ...opts.mode ? { mode: opts.mode } : {}
135
- });
136
- while (roleRefsByTarget.size > MAX_ROLE_REFS_CACHE) {
137
- const first = roleRefsByTarget.keys().next();
138
- if (first.done) break;
139
- roleRefsByTarget.delete(first.value);
140
- }
141
- }
142
- function storeRoleRefsForTarget(opts) {
143
- const state = ensurePageState(opts.page);
144
- state.roleRefs = opts.refs;
145
- state.roleRefsFrameSelector = opts.frameSelector;
146
- state.roleRefsMode = opts.mode;
147
- const targetId = normalizeOptionalString$1(opts.targetId);
148
- if (!targetId) return;
149
- rememberRoleRefsForTarget({
150
- cdpUrl: opts.cdpUrl,
151
- targetId,
152
- refs: opts.refs,
153
- frameSelector: opts.frameSelector,
154
- mode: opts.mode
155
- });
156
- }
157
- function restoreRoleRefsForTarget(opts) {
158
- const targetId = normalizeOptionalString$1(opts.targetId) ?? "";
159
- if (!targetId) return;
160
- const cached = roleRefsByTarget.get(roleRefsKey(opts.cdpUrl, targetId));
161
- if (!cached) return;
162
- const state = ensurePageState(opts.page);
163
- if (state.roleRefs) return;
164
- state.roleRefs = cached.refs;
165
- state.roleRefsFrameSelector = cached.frameSelector;
166
- state.roleRefsMode = cached.mode;
167
- }
168
- function ensurePageState(page) {
169
- const existing = pageStates.get(page);
170
- if (existing) return existing;
171
- const state = {
172
- console: [],
173
- errors: [],
174
- requests: [],
175
- requestIds: /* @__PURE__ */ new WeakMap(),
176
- nextRequestId: 0,
177
- armIdUpload: 0,
178
- armIdDialog: 0,
179
- armIdDownload: 0
180
- };
181
- pageStates.set(page, state);
182
- if (!observedPages.has(page)) {
183
- observedPages.add(page);
184
- page.on("console", (msg) => {
185
- const entry = {
186
- type: msg.type(),
187
- text: msg.text(),
188
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
189
- location: msg.location()
190
- };
191
- state.console.push(entry);
192
- if (state.console.length > MAX_CONSOLE_MESSAGES) state.console.shift();
193
- });
194
- page.on("pageerror", (err) => {
195
- state.errors.push({
196
- message: err.message || String(err),
197
- name: err.name || void 0,
198
- stack: err.stack || void 0,
199
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
200
- });
201
- if (state.errors.length > MAX_PAGE_ERRORS) state.errors.shift();
202
- });
203
- page.on("request", (req) => {
204
- state.nextRequestId += 1;
205
- const id = `r${state.nextRequestId}`;
206
- state.requestIds.set(req, id);
207
- state.requests.push({
208
- id,
209
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
210
- method: req.method(),
211
- url: req.url(),
212
- resourceType: req.resourceType()
213
- });
214
- if (state.requests.length > MAX_NETWORK_REQUESTS) state.requests.shift();
215
- });
216
- page.on("response", (resp) => {
217
- const req = resp.request();
218
- const id = state.requestIds.get(req);
219
- if (!id) return;
220
- const rec = findNetworkRequestById(state, id);
221
- if (!rec) return;
222
- rec.status = resp.status();
223
- rec.ok = resp.ok();
224
- });
225
- page.on("requestfailed", (req) => {
226
- const id = state.requestIds.get(req);
227
- if (!id) return;
228
- const rec = findNetworkRequestById(state, id);
229
- if (!rec) return;
230
- rec.failureText = req.failure()?.errorText;
231
- rec.ok = false;
232
- });
233
- page.on("close", () => {
234
- pageStates.delete(page);
235
- observedPages.delete(page);
236
- });
237
- }
238
- return state;
239
- }
240
- function observeContext(context) {
241
- if (observedContexts.has(context)) return;
242
- observedContexts.add(context);
243
- ensureContextState(context);
244
- for (const page of context.pages()) ensurePageState(page);
245
- context.on("page", (page) => ensurePageState(page));
246
- }
247
- function ensureContextState(context) {
248
- const existing = contextStates.get(context);
249
- if (existing) return existing;
250
- const state = { traceActive: false };
251
- contextStates.set(context, state);
252
- return state;
253
- }
254
- function observeBrowser(browser) {
255
- for (const context of browser.contexts()) observeContext(context);
256
- }
257
- async function connectBrowser(cdpUrl, ssrfPolicy) {
258
- const normalized = normalizeCdpUrl(cdpUrl);
259
- const cached = cachedByCdpUrl.get(normalized);
260
- if (cached) return cached;
261
- await assertCdpEndpointAllowed(normalized, ssrfPolicy);
262
- const connecting = connectingByCdpUrl.get(normalized);
263
- if (connecting) return await connecting;
264
- const connectWithRetry = async () => {
265
- let lastErr;
266
- for (let attempt = 0; attempt < 3; attempt += 1) try {
267
- const timeout = 5e3 + attempt * 2e3;
268
- const endpoint = await getChromeWebSocketUrl(normalized, timeout, ssrfPolicy).catch(() => null) ?? normalized;
269
- const headers = getHeadersWithAuth(endpoint);
270
- const browser = await withNoProxyForCdpUrl(endpoint, () => chromium.connectOverCDP(endpoint, {
271
- timeout,
272
- headers
273
- }));
274
- const onDisconnected = () => {
275
- if (cachedByCdpUrl.get(normalized)?.browser === browser) cachedByCdpUrl.delete(normalized);
276
- };
277
- const connected = {
278
- browser,
279
- cdpUrl: normalized,
280
- onDisconnected
281
- };
282
- cachedByCdpUrl.set(normalized, connected);
283
- browser.on("disconnected", onDisconnected);
284
- observeBrowser(browser);
285
- return connected;
286
- } catch (err) {
287
- lastErr = err;
288
- if (formatErrorMessage(err).includes("rate limit")) break;
289
- const delay = 250 + attempt * 250;
290
- await new Promise((r) => setTimeout(r, delay));
291
- }
292
- if (lastErr instanceof Error) throw lastErr;
293
- const message = lastErr ? formatErrorMessage(lastErr) : "CDP connect failed";
294
- throw new Error(message);
295
- };
296
- const pending = connectWithRetry().finally(() => {
297
- connectingByCdpUrl.delete(normalized);
298
- });
299
- connectingByCdpUrl.set(normalized, pending);
300
- return await pending;
301
- }
302
- async function getAllPages(browser) {
303
- return browser.contexts().flatMap((c) => c.pages());
304
- }
305
- async function partitionAccessiblePages(opts) {
306
- const accessible = [];
307
- let blockedCount = 0;
308
- for (const page of opts.pages) {
309
- if (isBlockedPageRef(opts.cdpUrl, page)) {
310
- blockedCount += 1;
311
- continue;
312
- }
313
- const targetId = await pageTargetId(page).catch(() => null);
314
- if (!targetId) {
315
- if (hasBlockedTargetsForCdpUrl(opts.cdpUrl)) {
316
- blockedCount += 1;
317
- continue;
318
- }
319
- accessible.push(page);
320
- continue;
321
- }
322
- if (isBlockedTarget(opts.cdpUrl, targetId)) {
323
- blockedCount += 1;
324
- continue;
325
- }
326
- accessible.push(page);
327
- }
328
- return {
329
- accessible,
330
- blockedCount
331
- };
332
- }
333
- async function pageTargetId(page) {
334
- const session = await page.context().newCDPSession(page);
335
- try {
336
- return (normalizeOptionalString$1((await session.send("Target.getTargetInfo"))?.targetInfo?.targetId) ?? "") || null;
337
- } finally {
338
- await session.detach().catch(() => {});
339
- }
340
- }
341
- function matchPageByTargetList(pages, targets, targetId) {
342
- const target = targets.find((entry) => entry.id === targetId);
343
- if (!target) return null;
344
- const urlMatch = pages.filter((page) => page.url() === target.url);
345
- if (urlMatch.length === 1) return urlMatch[0] ?? null;
346
- if (urlMatch.length > 1) {
347
- const sameUrlTargets = targets.filter((entry) => entry.url === target.url);
348
- if (sameUrlTargets.length === urlMatch.length) {
349
- const idx = sameUrlTargets.findIndex((entry) => entry.id === targetId);
350
- if (idx >= 0 && idx < urlMatch.length) return urlMatch[idx] ?? null;
351
- }
352
- }
353
- return null;
354
- }
355
- async function findPageByTargetIdViaTargetList(pages, targetId, cdpUrl, ssrfPolicy) {
356
- const cdpHttpBase = normalizeCdpHttpBaseForJsonEndpoints(cdpUrl);
357
- await assertCdpEndpointAllowed(cdpUrl, ssrfPolicy);
358
- return matchPageByTargetList(pages, await fetchJson(appendCdpPath(cdpHttpBase, "/json/list"), 2e3), targetId);
359
- }
360
- async function findPageByTargetId(browser, targetId, cdpUrl, ssrfPolicy) {
361
- const pages = await getAllPages(browser);
362
- let resolvedViaCdp = false;
363
- for (const page of pages) {
364
- let tid = null;
365
- try {
366
- tid = await pageTargetId(page);
367
- resolvedViaCdp = true;
368
- } catch {
369
- tid = null;
370
- }
371
- if (tid && tid === targetId) return page;
372
- }
373
- if (cdpUrl) try {
374
- return await findPageByTargetIdViaTargetList(pages, targetId, cdpUrl, ssrfPolicy);
375
- } catch {}
376
- if (!resolvedViaCdp && pages.length === 1) return pages[0] ?? null;
377
- return null;
378
- }
379
- async function resolvePageByTargetIdOrThrow(opts) {
380
- if (isBlockedTarget(opts.cdpUrl, opts.targetId)) throw new BlockedBrowserTargetError();
381
- const { browser } = await connectBrowser(opts.cdpUrl, opts.ssrfPolicy);
382
- const page = await findPageByTargetId(browser, opts.targetId, opts.cdpUrl, opts.ssrfPolicy);
383
- if (!page) throw new BrowserTabNotFoundError();
384
- return page;
385
- }
386
- async function getPageForTargetIdOnce(opts) {
387
- if (opts.targetId && isBlockedTarget(opts.cdpUrl, opts.targetId)) throw new BlockedBrowserTargetError();
388
- const { browser } = await connectBrowser(opts.cdpUrl, opts.ssrfPolicy);
389
- const pages = await getAllPages(browser);
390
- if (!pages.length) throw new Error("No pages available in the connected browser.");
391
- const { accessible, blockedCount } = await partitionAccessiblePages({
392
- cdpUrl: opts.cdpUrl,
393
- pages
394
- });
395
- if (!accessible.length) {
396
- if (blockedCount > 0) throw new BlockedBrowserTargetError();
397
- throw new Error("No pages available in the connected browser.");
398
- }
399
- const first = accessible[0];
400
- if (!opts.targetId) return first;
401
- const found = await findPageByTargetId(browser, opts.targetId, opts.cdpUrl, opts.ssrfPolicy);
402
- if (found) {
403
- if (isBlockedPageRef(opts.cdpUrl, found)) throw new BlockedBrowserTargetError();
404
- const foundTargetId = await pageTargetId(found).catch(() => null);
405
- if (foundTargetId && isBlockedTarget(opts.cdpUrl, foundTargetId)) throw new BlockedBrowserTargetError();
406
- return found;
407
- }
408
- if (pages.length === 1) return first;
409
- throw new BrowserTabNotFoundError();
410
- }
411
- async function getPageForTargetId(opts) {
412
- const reusedCachedBrowser = hasCachedPlaywrightBrowserConnection(opts.cdpUrl);
413
- try {
414
- return await getPageForTargetIdOnce(opts);
415
- } catch (err) {
416
- if (!isRecoverableStalePageSelectionError(err, reusedCachedBrowser)) throw err;
417
- await closePlaywrightBrowserConnection({ cdpUrl: opts.cdpUrl });
418
- return await getPageForTargetIdOnce(opts);
419
- }
420
- }
421
- function isTopLevelNavigationRequest(page, request) {
422
- let sameMainFrame = false;
423
- try {
424
- sameMainFrame = request.frame() === page.mainFrame();
425
- } catch {
426
- sameMainFrame = true;
427
- }
428
- if (!sameMainFrame) return false;
429
- try {
430
- if (request.isNavigationRequest()) return true;
431
- } catch {}
432
- try {
433
- return request.resourceType() === "document";
434
- } catch {
435
- return false;
436
- }
437
- }
438
- function isSubframeDocumentNavigationRequest(page, request) {
439
- let sameMainFrame = false;
440
- try {
441
- sameMainFrame = request.frame() === page.mainFrame();
442
- } catch {
443
- return true;
444
- }
445
- if (sameMainFrame) return false;
446
- try {
447
- if (request.isNavigationRequest()) return true;
448
- } catch {}
449
- try {
450
- return request.resourceType() === "document";
451
- } catch {
452
- return false;
453
- }
454
- }
455
- function isPolicyDenyNavigationError(err) {
456
- return err instanceof SsrFBlockedError || err instanceof InvalidBrowserNavigationUrlError;
457
- }
458
- async function closeBlockedNavigationTarget(opts) {
459
- markPageRefBlocked(opts.cdpUrl, opts.page);
460
- const resolvedTargetId = await pageTargetId(opts.page).catch(() => null);
461
- const fallbackTargetId = normalizeOptionalString$1(opts.targetId) ?? "";
462
- const targetIdToBlock = resolvedTargetId || fallbackTargetId;
463
- if (targetIdToBlock) markTargetBlocked(opts.cdpUrl, targetIdToBlock);
464
- await opts.page.close().catch(() => {});
465
- }
466
- async function assertPageNavigationCompletedSafely(opts) {
467
- const navigationPolicy = withBrowserNavigationPolicy(opts.ssrfPolicy, { browserProxyMode: opts.browserProxyMode });
468
- try {
469
- await assertBrowserNavigationRedirectChainAllowed({
470
- request: opts.response?.request(),
471
- ...navigationPolicy
472
- });
473
- await assertBrowserNavigationResultAllowed({
474
- url: opts.page.url(),
475
- ...navigationPolicy
476
- });
477
- } catch (err) {
478
- if (isPolicyDenyNavigationError(err)) await closeBlockedNavigationTarget({
479
- cdpUrl: opts.cdpUrl,
480
- page: opts.page,
481
- targetId: opts.targetId
482
- });
483
- throw err;
484
- }
485
- }
486
- async function gotoPageWithNavigationGuard(opts) {
487
- const navigationPolicy = withBrowserNavigationPolicy(opts.ssrfPolicy, { browserProxyMode: opts.browserProxyMode });
488
- let blockedError = null;
489
- const handler = async (route, request) => {
490
- if (blockedError) {
491
- await route.abort().catch(() => {});
492
- return;
493
- }
494
- const isTopLevel = isTopLevelNavigationRequest(opts.page, request);
495
- const isSubframeDocument = !isTopLevel && isSubframeDocumentNavigationRequest(opts.page, request);
496
- if (!isTopLevel && !isSubframeDocument) {
497
- await route.continue();
498
- return;
499
- }
500
- try {
501
- await assertBrowserNavigationAllowed({
502
- url: request.url(),
503
- ...navigationPolicy
504
- });
505
- } catch (err) {
506
- if (isPolicyDenyNavigationError(err)) {
507
- if (isTopLevel) blockedError = err;
508
- await route.abort().catch(() => {});
509
- return;
510
- }
511
- throw err;
512
- }
513
- await route.continue();
514
- };
515
- await opts.page.route("**", handler);
516
- try {
517
- const response = await opts.page.goto(opts.url, { timeout: opts.timeoutMs });
518
- if (blockedError) throw blockedError;
519
- return response;
520
- } catch (err) {
521
- if (blockedError) throw blockedError;
522
- throw err;
523
- } finally {
524
- await opts.page.unroute("**", handler).catch(() => {});
525
- if (blockedError) await closeBlockedNavigationTarget({
526
- cdpUrl: opts.cdpUrl,
527
- page: opts.page,
528
- targetId: opts.targetId
529
- });
530
- }
531
- }
532
- function refLocator(page, ref) {
533
- const normalized = ref.startsWith("@") ? ref.slice(1) : ref.startsWith("ref=") ? ref.slice(4) : ref;
534
- if (/^e\d+$/.test(normalized)) {
535
- const state = pageStates.get(page);
536
- if (state?.roleRefsMode === "aria") return (state.roleRefsFrameSelector ? page.frameLocator(state.roleRefsFrameSelector) : page).locator(`aria-ref=${normalized}`);
537
- const info = state?.roleRefs?.[normalized];
538
- if (!info) throw new Error(`Unknown ref "${normalized}". Run a new snapshot and use a ref from that snapshot.`);
539
- const locAny = state?.roleRefsFrameSelector ? page.frameLocator(state.roleRefsFrameSelector) : page;
540
- const locator = info.name ? locAny.getByRole(info.role, {
541
- name: info.name,
542
- exact: true
543
- }) : locAny.getByRole(info.role);
544
- return info.nth !== void 0 ? locator.nth(info.nth) : locator;
545
- }
546
- if (AX_REF_PATTERN.test(normalized)) throw new Error(`Ref "${normalized}" comes from a format=aria snapshot and cannot be used with act. Re-snapshot with format=ai and use the eN refs from that snapshot.`);
547
- return page.locator(`aria-ref=${normalized}`);
548
- }
549
- async function closePlaywrightBrowserConnection(opts) {
550
- const normalized = opts?.cdpUrl ? normalizeCdpUrl(opts.cdpUrl) : null;
551
- if (normalized) {
552
- clearBlockedTargetsForCdpUrl(normalized);
553
- clearBlockedPageRefsForCdpUrl(normalized);
554
- const cur = cachedByCdpUrl.get(normalized);
555
- cachedByCdpUrl.delete(normalized);
556
- connectingByCdpUrl.delete(normalized);
557
- if (!cur) return;
558
- if (cur.onDisconnected && typeof cur.browser.off === "function") cur.browser.off("disconnected", cur.onDisconnected);
559
- await cur.browser.close().catch(() => {});
560
- return;
561
- }
562
- const connections = Array.from(cachedByCdpUrl.values());
563
- clearBlockedTargetsForCdpUrl();
564
- clearBlockedPageRefsForCdpUrl();
565
- cachedByCdpUrl.clear();
566
- connectingByCdpUrl.clear();
567
- for (const cur of connections) {
568
- if (cur.onDisconnected && typeof cur.browser.off === "function") cur.browser.off("disconnected", cur.onDisconnected);
569
- await cur.browser.close().catch(() => {});
570
- }
571
- }
572
- function cdpSocketNeedsAttach(wsUrl) {
573
- try {
574
- const pathname = new URL(wsUrl).pathname;
575
- return pathname === "/cdp" || pathname.endsWith("/cdp") || pathname.includes("/devtools/browser/");
576
- } catch {
577
- return false;
578
- }
579
- }
580
- async function tryTerminateExecutionViaCdp(opts) {
581
- await assertCdpEndpointAllowed(opts.cdpUrl, opts.ssrfPolicy);
582
- const cdpHttpBase = normalizeCdpHttpBaseForJsonEndpoints(opts.cdpUrl);
583
- const pages = await fetchJson(appendCdpPath(cdpHttpBase, "/json/list"), 2e3).catch(() => null);
584
- if (!pages || pages.length === 0) return;
585
- const targetId = normalizeOptionalString$1(opts.targetId) ?? "";
586
- const wsUrlRaw = normalizeOptionalString$1(pages.find((p) => normalizeOptionalString$1(p.id) === targetId)?.webSocketDebuggerUrl) ?? "";
587
- if (!wsUrlRaw) return;
588
- const wsUrl = normalizeCdpWsUrl(wsUrlRaw, cdpHttpBase);
589
- const needsAttach = cdpSocketNeedsAttach(wsUrl);
590
- const runWithTimeout = async (work, ms) => {
591
- let timer;
592
- const timeoutPromise = new Promise((_, reject) => {
593
- timer = setTimeout(() => reject(/* @__PURE__ */ new Error("CDP command timed out")), ms);
594
- });
595
- try {
596
- return await Promise.race([work, timeoutPromise]);
597
- } finally {
598
- if (timer) clearTimeout(timer);
599
- }
600
- };
601
- await withCdpSocket(wsUrl, async (send) => {
602
- let sessionId;
603
- try {
604
- if (needsAttach) {
605
- const attachedSessionId = normalizeOptionalString$1((await runWithTimeout(send("Target.attachToTarget", {
606
- targetId: opts.targetId,
607
- flatten: true
608
- }), 1500))?.sessionId);
609
- if (attachedSessionId) sessionId = attachedSessionId;
610
- }
611
- await runWithTimeout(send("Runtime.terminateExecution", void 0, sessionId), 1500);
612
- if (sessionId) send("Target.detachFromTarget", { sessionId }).catch(() => {});
613
- } catch {}
614
- }, { handshakeTimeoutMs: 2e3 }).catch(() => {});
615
- }
616
- /**
617
- * Best-effort cancellation for stuck page operations.
618
- *
619
- * Playwright serializes CDP commands per page; a long-running or stuck operation (notably evaluate)
620
- * can block all subsequent commands. We cannot safely "cancel" an individual command, and we do
621
- * not want to close the actual Chromium tab. Instead, we disconnect Playwright's CDP connection
622
- * so in-flight commands fail fast and the next request reconnects transparently.
623
- *
624
- * IMPORTANT: We CANNOT call Connection.close() because Playwright shares a single Connection
625
- * across all objects (BrowserType, Browser, etc.). Closing it corrupts the entire Playwright
626
- * instance, preventing reconnection.
627
- *
628
- * Instead we:
629
- * 1. Null out `cached` so the next call triggers a fresh connectOverCDP
630
- * 2. Fire-and-forget browser.close() — it may hang but won't block us
631
- * 3. The next connectBrowser() creates a completely new CDP WebSocket connection
632
- *
633
- * The old browser.close() eventually resolves when the in-browser evaluate timeout fires,
634
- * or the old connection gets GC'd. Either way, it doesn't affect the fresh connection.
635
- */
636
- async function forceDisconnectPlaywrightForTarget(opts) {
637
- const normalized = normalizeCdpUrl(opts.cdpUrl);
638
- const cur = cachedByCdpUrl.get(normalized);
639
- if (!cur) return;
640
- cachedByCdpUrl.delete(normalized);
641
- connectingByCdpUrl.delete(normalized);
642
- if (cur.onDisconnected && typeof cur.browser.off === "function") cur.browser.off("disconnected", cur.onDisconnected);
643
- const targetId = normalizeOptionalString$1(opts.targetId) ?? "";
644
- if (targetId) await tryTerminateExecutionViaCdp({
645
- cdpUrl: normalized,
646
- targetId,
647
- ssrfPolicy: opts.ssrfPolicy
648
- }).catch(() => {});
649
- cur.browser.close().catch(() => {});
650
- }
651
- /**
652
- * List all pages/tabs from the persistent Playwright connection.
653
- * Used for remote profiles where HTTP-based /json/list is ephemeral.
654
- */
655
- async function listPagesViaPlaywright(opts) {
656
- const { browser } = await connectBrowser(opts.cdpUrl, opts.ssrfPolicy);
657
- const pages = await getAllPages(browser);
658
- const results = [];
659
- for (const page of pages) {
660
- if (isBlockedPageRef(opts.cdpUrl, page)) continue;
661
- const tid = await pageTargetId(page).catch(() => null);
662
- if (tid && !isBlockedTarget(opts.cdpUrl, tid)) results.push({
663
- targetId: tid,
664
- title: await page.title().catch(() => ""),
665
- url: page.url(),
666
- type: "page"
667
- });
668
- }
669
- return results;
670
- }
671
- /**
672
- * Create a new page/tab using the persistent Playwright connection.
673
- * Used for remote profiles where HTTP-based /json/new is ephemeral.
674
- * Returns the new page's targetId and metadata.
675
- */
676
- async function createPageViaPlaywright(opts) {
677
- const { browser } = await connectBrowser(opts.cdpUrl, opts.ssrfPolicy);
678
- const context = browser.contexts()[0] ?? await browser.newContext();
679
- ensureContextState(context);
680
- const page = await context.newPage();
681
- ensurePageState(page);
682
- clearBlockedPageRef(opts.cdpUrl, page);
683
- const createdTargetId = await pageTargetId(page).catch(() => null);
684
- clearBlockedTarget(opts.cdpUrl, createdTargetId ?? void 0);
685
- const targetUrl = opts.url.trim() || "about:blank";
686
- if (targetUrl !== "about:blank") {
687
- await assertBrowserNavigationAllowed({
688
- url: targetUrl,
689
- ...withBrowserNavigationPolicy(opts.ssrfPolicy, { browserProxyMode: opts.browserProxyMode })
690
- });
691
- let response = null;
692
- try {
693
- response = await gotoPageWithNavigationGuard({
694
- cdpUrl: opts.cdpUrl,
695
- page,
696
- url: targetUrl,
697
- timeoutMs: 3e4,
698
- ssrfPolicy: opts.ssrfPolicy,
699
- browserProxyMode: opts.browserProxyMode,
700
- targetId: createdTargetId ?? void 0
701
- });
702
- } catch (err) {
703
- if (isPolicyDenyNavigationError(err) || err instanceof BlockedBrowserTargetError) throw err;
704
- }
705
- await assertPageNavigationCompletedSafely({
706
- cdpUrl: opts.cdpUrl,
707
- page,
708
- response,
709
- ssrfPolicy: opts.ssrfPolicy,
710
- browserProxyMode: opts.browserProxyMode,
711
- targetId: createdTargetId ?? void 0
712
- });
713
- }
714
- const tid = createdTargetId || await pageTargetId(page).catch(() => null);
715
- if (!tid) throw new Error("Failed to get targetId for new page");
716
- return {
717
- targetId: tid,
718
- title: await page.title().catch(() => ""),
719
- url: page.url(),
720
- type: "page"
721
- };
722
- }
723
- /**
724
- * Close a page/tab by targetId using the persistent Playwright connection.
725
- * Used for remote profiles where HTTP-based /json/close is ephemeral.
726
- */
727
- async function closePageByTargetIdViaPlaywright(opts) {
728
- await (await resolvePageByTargetIdOrThrow(opts)).close();
729
- }
730
- /**
731
- * Focus a page/tab by targetId using the persistent Playwright connection.
732
- * Used for remote profiles where HTTP-based /json/activate can be ephemeral.
733
- */
734
- async function focusPageByTargetIdViaPlaywright(opts) {
735
- const page = await resolvePageByTargetIdOrThrow(opts);
736
- try {
737
- await page.bringToFront();
738
- } catch (err) {
739
- try {
740
- await withPageScopedCdpClient({
741
- cdpUrl: opts.cdpUrl,
742
- page,
743
- targetId: opts.targetId,
744
- fn: async (send) => {
745
- await send("Page.bringToFront");
746
- }
747
- });
748
- return;
749
- } catch {
750
- throw err;
751
- }
752
- }
753
- }
754
- //#endregion
755
- //#region extensions/browser/src/browser/pw-tools-core.activity.ts
756
- async function getPageErrorsViaPlaywright(opts) {
757
- const state = ensurePageState(await getPageForTargetId(opts));
758
- const errors = [...state.errors];
759
- if (opts.clear) state.errors = [];
760
- return { errors };
761
- }
762
- async function getNetworkRequestsViaPlaywright(opts) {
763
- const state = ensurePageState(await getPageForTargetId(opts));
764
- const raw = [...state.requests];
765
- const filter = typeof opts.filter === "string" ? opts.filter.trim() : "";
766
- const requests = filter ? raw.filter((r) => r.url.includes(filter)) : raw;
767
- if (opts.clear) {
768
- state.requests = [];
769
- state.requestIds = /* @__PURE__ */ new WeakMap();
770
- }
771
- return { requests };
772
- }
773
- function consolePriority(level) {
774
- switch (level) {
775
- case "error": return 3;
776
- case "warning": return 2;
777
- case "info":
778
- case "log": return 1;
779
- case "debug": return 0;
780
- default: return 1;
781
- }
782
- }
783
- async function getConsoleMessagesViaPlaywright(opts) {
784
- const state = ensurePageState(await getPageForTargetId(opts));
785
- if (!opts.level) return [...state.console];
786
- const min = consolePriority(opts.level);
787
- return state.console.filter((msg) => consolePriority(msg.type) >= min);
788
- }
789
- //#endregion
790
- //#region extensions/browser/src/browser/safe-filename.ts
791
- function sanitizeUntrustedFileName(fileName, fallbackName) {
792
- const trimmed = normalizeOptionalString$1(fileName) ?? "";
793
- if (!trimmed) return fallbackName;
794
- let base = path.posix.basename(trimmed);
795
- base = path.win32.basename(base);
796
- let cleaned = "";
797
- for (let i = 0; i < base.length; i++) {
798
- const code = base.charCodeAt(i);
799
- if (code < 32 || code === 127) continue;
800
- cleaned += base[i];
801
- }
802
- base = cleaned.trim();
803
- if (!base || base === "." || base === "..") return fallbackName;
804
- if (base.length > 200) base = base.slice(0, 200);
805
- return base;
806
- }
807
- //#endregion
808
- //#region extensions/browser/src/browser/output-atomic.ts
809
- function buildSiblingTempPath(targetPath) {
810
- const id = crypto.randomUUID();
811
- const safeTail = sanitizeUntrustedFileName(path.basename(targetPath), "output.bin");
812
- return path.join(path.dirname(targetPath), `.genesis-output-${id}-${safeTail}.part`);
813
- }
814
- async function writeViaSiblingTempPath(params) {
815
- const rootDir = await fs.realpath(path.resolve(params.rootDir)).catch(() => path.resolve(params.rootDir));
816
- const requestedTargetPath = path.resolve(params.targetPath);
817
- const targetPath = await fs.realpath(path.dirname(requestedTargetPath)).then((realDir) => path.join(realDir, path.basename(requestedTargetPath))).catch(() => requestedTargetPath);
818
- const relativeTargetPath = path.relative(rootDir, targetPath);
819
- if (!relativeTargetPath || relativeTargetPath === ".." || relativeTargetPath.startsWith(`..${path.sep}`) || path.isAbsolute(relativeTargetPath)) throw new Error("Target path is outside the allowed root");
820
- const tempPath = buildSiblingTempPath(targetPath);
821
- let renameSucceeded = false;
822
- try {
823
- await params.writeTemp(tempPath);
824
- await writeFileFromPathWithinRoot({
825
- rootDir,
826
- relativePath: relativeTargetPath,
827
- sourcePath: tempPath,
828
- mkdir: false
829
- });
830
- renameSucceeded = true;
831
- } finally {
832
- if (!renameSucceeded) await fs.rm(tempPath, { force: true }).catch(() => {});
833
- }
834
- }
835
- //#endregion
836
- //#region extensions/browser/src/browser/pw-tools-core.shared.ts
837
- let nextUploadArmId = 0;
838
- let nextDialogArmId = 0;
839
- let nextDownloadArmId = 0;
840
- function bumpUploadArmId() {
841
- nextUploadArmId += 1;
842
- return nextUploadArmId;
843
- }
844
- function bumpDialogArmId() {
845
- nextDialogArmId += 1;
846
- return nextDialogArmId;
847
- }
848
- function bumpDownloadArmId() {
849
- nextDownloadArmId += 1;
850
- return nextDownloadArmId;
851
- }
852
- function requireRef(value) {
853
- const raw = normalizeOptionalString$1(value) ?? "";
854
- const ref = (raw ? parseRoleRef(raw) : null) ?? (raw.startsWith("@") ? raw.slice(1) : raw);
855
- if (!ref) throw new Error("ref is required");
856
- return ref;
857
- }
858
- function requireRefOrSelector(ref, selector) {
859
- const trimmedRef = normalizeOptionalString$1(ref) ?? "";
860
- const trimmedSelector = normalizeOptionalString$1(selector) ?? "";
861
- if (!trimmedRef && !trimmedSelector) throw new Error("ref or selector is required");
862
- return {
863
- ref: trimmedRef || void 0,
864
- selector: trimmedSelector || void 0
865
- };
866
- }
867
- function normalizeTimeoutMs(timeoutMs, fallback) {
868
- return Math.max(500, Math.min(12e4, timeoutMs ?? fallback));
869
- }
870
- function toAIFriendlyError(error, selector) {
871
- const message = formatErrorMessage(error);
872
- if (message.includes("strict mode violation")) {
873
- const countMatch = message.match(/resolved to (\d+) elements/);
874
- const count = countMatch ? countMatch[1] : "multiple";
875
- return /* @__PURE__ */ new Error(`Selector "${selector}" matched ${count} elements. Run a new snapshot to get updated refs, or use a different ref.`);
876
- }
877
- if ((message.includes("Timeout") || message.includes("waiting for")) && (message.includes("to be visible") || message.includes("not visible") || message.includes("waiting for locator("))) return /* @__PURE__ */ new Error(`Element "${selector}" not found or not visible. Run a new snapshot to see current page elements.`);
878
- if (message.includes("intercepts pointer events") || message.includes("not visible") || message.includes("not receive pointer events")) return /* @__PURE__ */ new Error(`Element "${selector}" is not interactable (hidden or covered). Try scrolling it into view, closing overlays, or re-snapshotting.`);
879
- return error instanceof Error ? error : new Error(message);
880
- }
881
- //#endregion
882
- //#region extensions/browser/src/browser/pw-tools-core.downloads.ts
883
- function buildTempDownloadPath(fileName) {
884
- const id = crypto.randomUUID();
885
- const safeName = sanitizeUntrustedFileName(fileName, "download.bin");
886
- return path.join(resolvePreferredGenesisTmpDir(), "downloads", `${id}-${safeName}`);
887
- }
888
- function createPageDownloadWaiter(page, timeoutMs) {
889
- let done = false;
890
- let timer;
891
- let handler;
892
- const cleanup = () => {
893
- if (timer) clearTimeout(timer);
894
- timer = void 0;
895
- if (handler) {
896
- page.off("download", handler);
897
- handler = void 0;
898
- }
899
- };
900
- return {
901
- promise: new Promise((resolve, reject) => {
902
- handler = (download) => {
903
- if (done) return;
904
- done = true;
905
- cleanup();
906
- resolve(download);
907
- };
908
- page.on("download", handler);
909
- timer = setTimeout(() => {
910
- if (done) return;
911
- done = true;
912
- cleanup();
913
- reject(/* @__PURE__ */ new Error("Timeout waiting for download"));
914
- }, timeoutMs);
915
- }),
916
- cancel: () => {
917
- if (done) return;
918
- done = true;
919
- cleanup();
920
- }
921
- };
922
- }
923
- async function saveDownloadPayload(download, outPath) {
924
- const suggested = download.suggestedFilename?.() || "download.bin";
925
- const requestedPath = outPath?.trim();
926
- const resolvedOutPath = path.resolve(requestedPath || buildTempDownloadPath(suggested));
927
- await fs.mkdir(path.dirname(resolvedOutPath), { recursive: true });
928
- if (!requestedPath) await download.saveAs?.(resolvedOutPath);
929
- else await writeViaSiblingTempPath({
930
- rootDir: path.dirname(resolvedOutPath),
931
- targetPath: resolvedOutPath,
932
- writeTemp: async (tempPath) => {
933
- await download.saveAs?.(tempPath);
934
- }
935
- });
936
- return {
937
- url: download.url?.() || "",
938
- suggestedFilename: suggested,
939
- path: resolvedOutPath
940
- };
941
- }
942
- async function awaitDownloadPayload(params) {
943
- try {
944
- const download = await params.waiter.promise;
945
- if (params.state.armIdDownload !== params.armId) throw new Error("Download was superseded by another waiter");
946
- return await saveDownloadPayload(download, params.outPath ?? "");
947
- } catch (err) {
948
- params.waiter.cancel();
949
- throw err;
950
- }
951
- }
952
- async function armFileUploadViaPlaywright(opts) {
953
- const page = await getPageForTargetId(opts);
954
- const state = ensurePageState(page);
955
- const timeout = Math.max(500, Math.min(12e4, opts.timeoutMs ?? 12e4));
956
- state.armIdUpload = bumpUploadArmId();
957
- const armId = state.armIdUpload;
958
- page.waitForEvent("filechooser", { timeout }).then(async (fileChooser) => {
959
- if (state.armIdUpload !== armId) return;
960
- if (!opts.paths?.length) {
961
- try {
962
- await page.keyboard.press("Escape");
963
- } catch {}
964
- return;
965
- }
966
- const uploadPathsResult = await resolveStrictExistingPathsWithinRoot({
967
- rootDir: DEFAULT_UPLOAD_DIR,
968
- requestedPaths: opts.paths,
969
- scopeLabel: `uploads directory (${DEFAULT_UPLOAD_DIR})`
970
- });
971
- if (!uploadPathsResult.ok) {
972
- try {
973
- await page.keyboard.press("Escape");
974
- } catch {}
975
- return;
976
- }
977
- await fileChooser.setFiles(uploadPathsResult.paths);
978
- try {
979
- const input = typeof fileChooser.element === "function" ? await Promise.resolve(fileChooser.element()) : null;
980
- if (input) await input.evaluate((el) => {
981
- el.dispatchEvent(new Event("input", { bubbles: true }));
982
- el.dispatchEvent(new Event("change", { bubbles: true }));
983
- });
984
- } catch {}
985
- }).catch(() => {});
986
- }
987
- async function armDialogViaPlaywright(opts) {
988
- const page = await getPageForTargetId(opts);
989
- const state = ensurePageState(page);
990
- const timeout = normalizeTimeoutMs(opts.timeoutMs, 12e4);
991
- state.armIdDialog = bumpDialogArmId();
992
- const armId = state.armIdDialog;
993
- page.waitForEvent("dialog", { timeout }).then(async (dialog) => {
994
- if (state.armIdDialog !== armId) return;
995
- if (opts.accept) await dialog.accept(opts.promptText);
996
- else await dialog.dismiss();
997
- }).catch(() => {});
998
- }
999
- async function waitForDownloadViaPlaywright(opts) {
1000
- const page = await getPageForTargetId(opts);
1001
- const state = ensurePageState(page);
1002
- const timeout = normalizeTimeoutMs(opts.timeoutMs, 12e4);
1003
- state.armIdDownload = bumpDownloadArmId();
1004
- const armId = state.armIdDownload;
1005
- return await awaitDownloadPayload({
1006
- waiter: createPageDownloadWaiter(page, timeout),
1007
- state,
1008
- armId,
1009
- outPath: opts.path
1010
- });
1011
- }
1012
- async function downloadViaPlaywright(opts) {
1013
- const page = await getPageForTargetId(opts);
1014
- const state = ensurePageState(page);
1015
- restoreRoleRefsForTarget({
1016
- cdpUrl: opts.cdpUrl,
1017
- targetId: opts.targetId,
1018
- page
1019
- });
1020
- const timeout = normalizeTimeoutMs(opts.timeoutMs, 12e4);
1021
- const ref = requireRef(opts.ref);
1022
- const outPath = opts.path?.trim() ?? "";
1023
- if (!outPath) throw new Error("path is required");
1024
- state.armIdDownload = bumpDownloadArmId();
1025
- const armId = state.armIdDownload;
1026
- const waiter = createPageDownloadWaiter(page, timeout);
1027
- try {
1028
- const locator = refLocator(page, ref);
1029
- try {
1030
- await locator.click({ timeout });
1031
- } catch (err) {
1032
- throw toAIFriendlyError(err, ref);
1033
- }
1034
- return await awaitDownloadPayload({
1035
- waiter,
1036
- state,
1037
- armId,
1038
- outPath
1039
- });
1040
- } catch (err) {
1041
- waiter.cancel();
1042
- throw err;
1043
- }
1044
- }
1045
- //#endregion
1046
- //#region extensions/browser/src/browser/pw-tools-core.snapshot.ts
1047
- async function collectSnapshotUrls(page) {
1048
- const urls = await page.evaluate(() => {
1049
- const seen = /* @__PURE__ */ new Set();
1050
- const out = [];
1051
- for (const anchor of Array.from(document.querySelectorAll("a[href]"))) {
1052
- const href = anchor instanceof HTMLAnchorElement ? anchor.href : "";
1053
- if (!href || seen.has(href)) continue;
1054
- const text = (anchor.textContent || anchor.getAttribute("aria-label") || "").replace(/\s+/g, " ").trim().slice(0, 120) || href;
1055
- seen.add(href);
1056
- out.push({
1057
- text,
1058
- url: href
1059
- });
1060
- if (out.length >= 100) break;
1061
- }
1062
- return out;
1063
- }).catch(() => []);
1064
- return Array.isArray(urls) ? urls : [];
1065
- }
1066
- function appendSnapshotUrls(snapshot, urls) {
1067
- if (urls.length === 0) return snapshot;
1068
- return `${snapshot}\n\nLinks:\n${urls.map((entry, index) => `${index + 1}. ${entry.text} -> ${entry.url}`).join("\n")}`;
1069
- }
1070
- async function snapshotAriaViaPlaywright(opts) {
1071
- const limit = Math.max(1, Math.min(2e3, Math.floor(opts.limit ?? 500)));
1072
- const page = await getPageForTargetId({
1073
- cdpUrl: opts.cdpUrl,
1074
- targetId: opts.targetId
1075
- });
1076
- ensurePageState(page);
1077
- if (opts.ssrfPolicy) await assertPageNavigationCompletedSafely({
1078
- cdpUrl: opts.cdpUrl,
1079
- page,
1080
- response: null,
1081
- ssrfPolicy: opts.ssrfPolicy,
1082
- targetId: opts.targetId
1083
- });
1084
- const res = await withPageScopedCdpClient({
1085
- cdpUrl: opts.cdpUrl,
1086
- page,
1087
- targetId: opts.targetId,
1088
- fn: async (send) => {
1089
- await send("Accessibility.enable").catch(() => {});
1090
- return await send("Accessibility.getFullAXTree");
1091
- }
1092
- });
1093
- return { nodes: formatAriaSnapshot(Array.isArray(res?.nodes) ? res.nodes : [], limit) };
1094
- }
1095
- async function snapshotAiViaPlaywright(opts) {
1096
- const page = await getPageForTargetId({
1097
- cdpUrl: opts.cdpUrl,
1098
- targetId: opts.targetId
1099
- });
1100
- ensurePageState(page);
1101
- if (opts.ssrfPolicy) await assertPageNavigationCompletedSafely({
1102
- cdpUrl: opts.cdpUrl,
1103
- page,
1104
- response: null,
1105
- ssrfPolicy: opts.ssrfPolicy,
1106
- targetId: opts.targetId
1107
- });
1108
- let snapshot = await page.ariaSnapshot({
1109
- mode: "ai",
1110
- timeout: Math.max(500, Math.min(6e4, Math.floor(opts.timeoutMs ?? 5e3)))
1111
- });
1112
- if (opts.urls) snapshot = appendSnapshotUrls(snapshot, await collectSnapshotUrls(page));
1113
- const maxChars = opts.maxChars;
1114
- const limit = typeof maxChars === "number" && Number.isFinite(maxChars) && maxChars > 0 ? Math.floor(maxChars) : void 0;
1115
- let truncated = false;
1116
- if (limit && snapshot.length > limit) {
1117
- snapshot = `${snapshot.slice(0, limit)}\n\n[...TRUNCATED - page too large]`;
1118
- truncated = true;
1119
- }
1120
- const built = buildRoleSnapshotFromAiSnapshot(snapshot);
1121
- storeRoleRefsForTarget({
1122
- page,
1123
- cdpUrl: opts.cdpUrl,
1124
- targetId: opts.targetId,
1125
- refs: built.refs,
1126
- mode: "aria"
1127
- });
1128
- return truncated ? {
1129
- snapshot,
1130
- truncated,
1131
- refs: built.refs
1132
- } : {
1133
- snapshot,
1134
- refs: built.refs
1135
- };
1136
- }
1137
- async function snapshotRoleViaPlaywright(opts) {
1138
- const page = await getPageForTargetId({
1139
- cdpUrl: opts.cdpUrl,
1140
- targetId: opts.targetId
1141
- });
1142
- ensurePageState(page);
1143
- if (opts.ssrfPolicy) await assertPageNavigationCompletedSafely({
1144
- cdpUrl: opts.cdpUrl,
1145
- page,
1146
- response: null,
1147
- ssrfPolicy: opts.ssrfPolicy,
1148
- targetId: opts.targetId
1149
- });
1150
- if (opts.refsMode === "aria") {
1151
- if (normalizeOptionalString$1(opts.selector) || normalizeOptionalString$1(opts.frameSelector)) throw new Error("refs=aria does not support selector/frame snapshots yet.");
1152
- const built = buildRoleSnapshotFromAiSnapshot(await page.ariaSnapshot({
1153
- mode: "ai",
1154
- timeout: 5e3
1155
- }), opts.options);
1156
- const snapshotWithUrls = opts.urls ? appendSnapshotUrls(built.snapshot, await collectSnapshotUrls(page)) : built.snapshot;
1157
- storeRoleRefsForTarget({
1158
- page,
1159
- cdpUrl: opts.cdpUrl,
1160
- targetId: opts.targetId,
1161
- refs: built.refs,
1162
- mode: "aria"
1163
- });
1164
- return {
1165
- snapshot: snapshotWithUrls,
1166
- refs: built.refs,
1167
- stats: getRoleSnapshotStats(snapshotWithUrls, built.refs)
1168
- };
1169
- }
1170
- const frameSelector = normalizeOptionalString$1(opts.frameSelector) ?? "";
1171
- const selector = normalizeOptionalString$1(opts.selector) ?? "";
1172
- const built = buildRoleSnapshotFromAriaSnapshot(await (frameSelector ? selector ? page.frameLocator(frameSelector).locator(selector) : page.frameLocator(frameSelector).locator(":root") : selector ? page.locator(selector) : page.locator(":root")).ariaSnapshot() ?? "", opts.options);
1173
- const snapshotWithUrls = opts.urls ? appendSnapshotUrls(built.snapshot, await collectSnapshotUrls(page)) : built.snapshot;
1174
- storeRoleRefsForTarget({
1175
- page,
1176
- cdpUrl: opts.cdpUrl,
1177
- targetId: opts.targetId,
1178
- refs: built.refs,
1179
- frameSelector: frameSelector || void 0,
1180
- mode: "role"
1181
- });
1182
- return {
1183
- snapshot: snapshotWithUrls,
1184
- refs: built.refs,
1185
- stats: getRoleSnapshotStats(snapshotWithUrls, built.refs)
1186
- };
1187
- }
1188
- async function navigateViaPlaywright(opts) {
1189
- const isRetryableNavigateError = (err) => {
1190
- const msg = typeof err === "string" ? err.toLowerCase() : err instanceof Error ? err.message.toLowerCase() : "";
1191
- return msg.includes("frame has been detached") || msg.includes("target page, context or browser has been closed");
1192
- };
1193
- const url = normalizeOptionalString$1(opts.url) ?? "";
1194
- if (!url) throw new Error("url is required");
1195
- await assertBrowserNavigationAllowed({
1196
- url,
1197
- ...withBrowserNavigationPolicy(opts.ssrfPolicy, { browserProxyMode: opts.browserProxyMode })
1198
- });
1199
- const timeout = Math.max(1e3, Math.min(12e4, opts.timeoutMs ?? 2e4));
1200
- let page = await getPageForTargetId(opts);
1201
- ensurePageState(page);
1202
- const navigate = async () => await gotoPageWithNavigationGuard({
1203
- cdpUrl: opts.cdpUrl,
1204
- page,
1205
- url,
1206
- timeoutMs: timeout,
1207
- ssrfPolicy: opts.ssrfPolicy,
1208
- browserProxyMode: opts.browserProxyMode,
1209
- targetId: opts.targetId
1210
- });
1211
- let response;
1212
- try {
1213
- response = await navigate();
1214
- } catch (err) {
1215
- if (!isRetryableNavigateError(err)) throw err;
1216
- await forceDisconnectPlaywrightForTarget({
1217
- cdpUrl: opts.cdpUrl,
1218
- targetId: opts.targetId,
1219
- reason: "retry navigate after detached frame"
1220
- }).catch(() => {});
1221
- page = await getPageForTargetId(opts);
1222
- ensurePageState(page);
1223
- response = await navigate();
1224
- }
1225
- await assertPageNavigationCompletedSafely({
1226
- cdpUrl: opts.cdpUrl,
1227
- page,
1228
- response,
1229
- ssrfPolicy: opts.ssrfPolicy,
1230
- browserProxyMode: opts.browserProxyMode,
1231
- targetId: opts.targetId
1232
- });
1233
- return { url: page.url() };
1234
- }
1235
- async function resizeViewportViaPlaywright(opts) {
1236
- const page = await getPageForTargetId(opts);
1237
- ensurePageState(page);
1238
- await page.setViewportSize({
1239
- width: Math.max(1, Math.floor(opts.width)),
1240
- height: Math.max(1, Math.floor(opts.height))
1241
- });
1242
- }
1243
- async function closePageViaPlaywright(opts) {
1244
- const page = await getPageForTargetId(opts);
1245
- ensurePageState(page);
1246
- await page.close();
1247
- }
1248
- async function pdfViaPlaywright(opts) {
1249
- const page = await getPageForTargetId(opts);
1250
- ensurePageState(page);
1251
- return { buffer: await page.pdf({ printBackground: true }) };
1252
- }
1253
- //#endregion
1254
- //#region extensions/browser/src/browser/pw-tools-core.interactions.ts
1255
- const INTERACTION_NAVIGATION_GRACE_MS = 250;
1256
- const pendingInteractionNavigationGuardCleanup = /* @__PURE__ */ new WeakMap();
1257
- function resolveBoundedDelayMs(value, label, maxMs) {
1258
- const normalized = Math.floor(value ?? 0);
1259
- if (!Number.isFinite(normalized) || normalized < 0) throw new Error(`${label} must be >= 0`);
1260
- if (normalized > maxMs) throw new Error(`${label} exceeds maximum of ${maxMs}ms`);
1261
- return normalized;
1262
- }
1263
- async function getRestoredPageForTarget(opts) {
1264
- const page = await getPageForTargetId(opts);
1265
- ensurePageState(page);
1266
- restoreRoleRefsForTarget({
1267
- cdpUrl: opts.cdpUrl,
1268
- targetId: opts.targetId,
1269
- page
1270
- });
1271
- return page;
1272
- }
1273
- const resolveInteractionTimeoutMs = resolveActInteractionTimeoutMs;
1274
- function didCrossDocumentUrlChange(page, previousUrl) {
1275
- const currentUrl = page.url();
1276
- if (currentUrl === previousUrl) return false;
1277
- try {
1278
- const prev = new URL(previousUrl);
1279
- const curr = new URL(currentUrl);
1280
- if (prev.origin === curr.origin && prev.pathname === curr.pathname && prev.search === curr.search) return false;
1281
- } catch {}
1282
- return true;
1283
- }
1284
- function isHashOnlyNavigation(currentUrl, previousUrl) {
1285
- if (currentUrl === previousUrl) return false;
1286
- try {
1287
- const prev = new URL(previousUrl);
1288
- const curr = new URL(currentUrl);
1289
- return prev.origin === curr.origin && prev.pathname === curr.pathname && prev.search === curr.search;
1290
- } catch {
1291
- return false;
1292
- }
1293
- }
1294
- function isMainFrameNavigation(page, frame) {
1295
- if (typeof page.mainFrame !== "function") return true;
1296
- return frame === page.mainFrame();
1297
- }
1298
- async function assertSubframeNavigationAllowed(frameUrl, ssrfPolicy) {
1299
- if (!ssrfPolicy || !frameUrl.startsWith("http://") && !frameUrl.startsWith("https://")) return;
1300
- await assertBrowserNavigationResultAllowed({
1301
- url: frameUrl,
1302
- ...withBrowserNavigationPolicy(ssrfPolicy)
1303
- });
1304
- }
1305
- function snapshotNetworkFrameUrl(frame) {
1306
- try {
1307
- const frameUrl = frame.url();
1308
- return frameUrl.startsWith("http://") || frameUrl.startsWith("https://") ? frameUrl : null;
1309
- } catch {
1310
- return null;
1311
- }
1312
- }
1313
- async function assertObservedDelayedNavigations(opts) {
1314
- let subframeError;
1315
- try {
1316
- for (const frameUrl of opts.observed.subframes) await assertSubframeNavigationAllowed(frameUrl, opts.ssrfPolicy);
1317
- } catch (err) {
1318
- subframeError = err;
1319
- }
1320
- if (opts.observed.mainFrameNavigated) await assertPageNavigationCompletedSafely({
1321
- cdpUrl: opts.cdpUrl,
1322
- page: opts.page,
1323
- response: null,
1324
- ssrfPolicy: opts.ssrfPolicy,
1325
- targetId: opts.targetId
1326
- });
1327
- if (subframeError) throw subframeError;
1328
- }
1329
- function observeDelayedInteractionNavigation(page, previousUrl) {
1330
- if (didCrossDocumentUrlChange(page, previousUrl)) return Promise.resolve({
1331
- mainFrameNavigated: true,
1332
- subframes: []
1333
- });
1334
- if (typeof page.on !== "function" || typeof page.off !== "function") return Promise.resolve({
1335
- mainFrameNavigated: false,
1336
- subframes: []
1337
- });
1338
- return new Promise((resolve) => {
1339
- const subframes = [];
1340
- const onFrameNavigated = (frame) => {
1341
- if (!isMainFrameNavigation(page, frame)) {
1342
- const frameUrl = snapshotNetworkFrameUrl(frame);
1343
- if (frameUrl) subframes.push(frameUrl);
1344
- return;
1345
- }
1346
- if (isHashOnlyNavigation(page.url(), previousUrl)) return;
1347
- cleanup();
1348
- resolve({
1349
- mainFrameNavigated: true,
1350
- subframes
1351
- });
1352
- };
1353
- const timeout = setTimeout(() => {
1354
- cleanup();
1355
- resolve({
1356
- mainFrameNavigated: didCrossDocumentUrlChange(page, previousUrl),
1357
- subframes
1358
- });
1359
- }, INTERACTION_NAVIGATION_GRACE_MS);
1360
- const cleanup = () => {
1361
- clearTimeout(timeout);
1362
- page.off("framenavigated", onFrameNavigated);
1363
- };
1364
- page.on("framenavigated", onFrameNavigated);
1365
- });
1366
- }
1367
- function scheduleDelayedInteractionNavigationGuard(opts) {
1368
- if (!opts.ssrfPolicy) return Promise.resolve();
1369
- const page = opts.page;
1370
- if (didCrossDocumentUrlChange(page, opts.previousUrl)) return assertPageNavigationCompletedSafely({
1371
- cdpUrl: opts.cdpUrl,
1372
- page: opts.page,
1373
- response: null,
1374
- ssrfPolicy: opts.ssrfPolicy,
1375
- targetId: opts.targetId
1376
- });
1377
- if (typeof page.on !== "function" || typeof page.off !== "function") return Promise.resolve();
1378
- pendingInteractionNavigationGuardCleanup.get(opts.page)?.();
1379
- return new Promise((resolve, reject) => {
1380
- const settle = (err) => {
1381
- cleanup();
1382
- if (err) {
1383
- reject(err);
1384
- return;
1385
- }
1386
- resolve();
1387
- };
1388
- const subframes = [];
1389
- const onFrameNavigated = (frame) => {
1390
- if (!isMainFrameNavigation(page, frame)) {
1391
- const frameUrl = snapshotNetworkFrameUrl(frame);
1392
- if (frameUrl) subframes.push(frameUrl);
1393
- return;
1394
- }
1395
- if (isHashOnlyNavigation(page.url(), opts.previousUrl)) return;
1396
- cleanup();
1397
- assertObservedDelayedNavigations({
1398
- cdpUrl: opts.cdpUrl,
1399
- page: opts.page,
1400
- ssrfPolicy: opts.ssrfPolicy,
1401
- targetId: opts.targetId,
1402
- observed: {
1403
- mainFrameNavigated: true,
1404
- subframes
1405
- }
1406
- }).then(() => settle(), settle);
1407
- };
1408
- const timeout = setTimeout(() => {
1409
- cleanup();
1410
- assertObservedDelayedNavigations({
1411
- cdpUrl: opts.cdpUrl,
1412
- page: opts.page,
1413
- ssrfPolicy: opts.ssrfPolicy,
1414
- targetId: opts.targetId,
1415
- observed: {
1416
- mainFrameNavigated: didCrossDocumentUrlChange(page, opts.previousUrl),
1417
- subframes
1418
- }
1419
- }).then(() => settle(), settle);
1420
- }, INTERACTION_NAVIGATION_GRACE_MS);
1421
- const cleanup = () => {
1422
- clearTimeout(timeout);
1423
- page.off("framenavigated", onFrameNavigated);
1424
- if (pendingInteractionNavigationGuardCleanup.get(opts.page) === settle) pendingInteractionNavigationGuardCleanup.delete(opts.page);
1425
- };
1426
- pendingInteractionNavigationGuardCleanup.set(opts.page, settle);
1427
- page.on("framenavigated", onFrameNavigated);
1428
- });
1429
- }
1430
- async function assertInteractionNavigationCompletedSafely(opts) {
1431
- if (!opts.ssrfPolicy) return await opts.action();
1432
- const navPage = opts.page;
1433
- let navigatedDuringAction = false;
1434
- const subframeNavigationsDuringAction = [];
1435
- const onFrameNavigated = (frame) => {
1436
- if (!isMainFrameNavigation(navPage, frame)) {
1437
- const frameUrl = snapshotNetworkFrameUrl(frame);
1438
- if (frameUrl) subframeNavigationsDuringAction.push(frameUrl);
1439
- return;
1440
- }
1441
- if (!isHashOnlyNavigation(opts.page.url(), opts.previousUrl)) navigatedDuringAction = true;
1442
- };
1443
- if (typeof navPage.on === "function") navPage.on("framenavigated", onFrameNavigated);
1444
- let result;
1445
- let actionError = null;
1446
- try {
1447
- result = await opts.action();
1448
- } catch (err) {
1449
- actionError = err;
1450
- } finally {
1451
- if (typeof navPage.off === "function") navPage.off("framenavigated", onFrameNavigated);
1452
- }
1453
- const navigationObserved = navigatedDuringAction || didCrossDocumentUrlChange(opts.page, opts.previousUrl);
1454
- let subframeError;
1455
- try {
1456
- for (const frameUrl of subframeNavigationsDuringAction) await assertSubframeNavigationAllowed(frameUrl, opts.ssrfPolicy);
1457
- } catch (err) {
1458
- subframeError = err;
1459
- }
1460
- if (navigationObserved) await assertPageNavigationCompletedSafely({
1461
- cdpUrl: opts.cdpUrl,
1462
- page: opts.page,
1463
- response: null,
1464
- ssrfPolicy: opts.ssrfPolicy,
1465
- targetId: opts.targetId
1466
- });
1467
- else if (actionError) {
1468
- const observed = await observeDelayedInteractionNavigation(opts.page, opts.previousUrl);
1469
- if (observed.mainFrameNavigated || observed.subframes.length > 0) await assertObservedDelayedNavigations({
1470
- cdpUrl: opts.cdpUrl,
1471
- page: opts.page,
1472
- ssrfPolicy: opts.ssrfPolicy,
1473
- targetId: opts.targetId,
1474
- observed
1475
- });
1476
- } else await scheduleDelayedInteractionNavigationGuard({
1477
- cdpUrl: opts.cdpUrl,
1478
- page: opts.page,
1479
- previousUrl: opts.previousUrl,
1480
- ssrfPolicy: opts.ssrfPolicy,
1481
- targetId: opts.targetId
1482
- });
1483
- if (subframeError) throw subframeError;
1484
- if (actionError) throw actionError;
1485
- return result;
1486
- }
1487
- async function awaitActionWithAbort(actionPromise, abortPromise) {
1488
- if (!abortPromise) return await actionPromise;
1489
- try {
1490
- return await Promise.race([actionPromise, abortPromise]);
1491
- } catch (err) {
1492
- actionPromise.catch(() => {});
1493
- throw err;
1494
- }
1495
- }
1496
- function createAbortPromise(signal) {
1497
- return createAbortPromiseWithListener(signal);
1498
- }
1499
- function createAbortPromiseWithListener(signal, onAbort) {
1500
- if (!signal) return { cleanup: () => {} };
1501
- let abortListener;
1502
- const abortPromise = signal.aborted ? (() => {
1503
- onAbort?.();
1504
- return Promise.reject(signal.reason ?? /* @__PURE__ */ new Error("aborted"));
1505
- })() : new Promise((_, reject) => {
1506
- abortListener = () => {
1507
- onAbort?.();
1508
- reject(signal.reason ?? /* @__PURE__ */ new Error("aborted"));
1509
- };
1510
- signal.addEventListener("abort", abortListener, { once: true });
1511
- });
1512
- abortPromise.catch(() => {});
1513
- return {
1514
- abortPromise,
1515
- cleanup: () => {
1516
- if (abortListener) signal.removeEventListener("abort", abortListener);
1517
- }
1518
- };
1519
- }
1520
- async function highlightViaPlaywright(opts) {
1521
- const page = await getRestoredPageForTarget(opts);
1522
- const ref = requireRef(opts.ref);
1523
- try {
1524
- await refLocator(page, ref).highlight();
1525
- } catch (err) {
1526
- throw toAIFriendlyError(err, ref);
1527
- }
1528
- }
1529
- async function clickViaPlaywright(opts) {
1530
- const resolved = requireRefOrSelector(opts.ref, opts.selector);
1531
- const page = await getRestoredPageForTarget(opts);
1532
- const label = resolved.ref ?? resolved.selector;
1533
- const locator = resolved.ref ? refLocator(page, requireRef(resolved.ref)) : page.locator(resolved.selector);
1534
- const timeout = resolveInteractionTimeoutMs(opts.timeoutMs);
1535
- const previousUrl = page.url();
1536
- const signal = opts.signal;
1537
- let abortListener;
1538
- let abortReject;
1539
- let abortPromise;
1540
- if (signal) {
1541
- abortPromise = new Promise((_, reject) => {
1542
- abortReject = reject;
1543
- });
1544
- abortPromise.catch(() => {});
1545
- const disconnect = () => {
1546
- forceDisconnectPlaywrightForTarget({
1547
- cdpUrl: opts.cdpUrl,
1548
- targetId: opts.targetId,
1549
- reason: "click aborted"
1550
- }).catch(() => {});
1551
- };
1552
- if (signal.aborted) {
1553
- disconnect();
1554
- throw signal.reason ?? /* @__PURE__ */ new Error("aborted");
1555
- }
1556
- abortListener = () => {
1557
- disconnect();
1558
- abortReject?.(signal.reason ?? /* @__PURE__ */ new Error("aborted"));
1559
- };
1560
- signal.addEventListener("abort", abortListener, { once: true });
1561
- if (signal.aborted) {
1562
- abortListener();
1563
- throw signal.reason ?? /* @__PURE__ */ new Error("aborted");
1564
- }
1565
- }
1566
- try {
1567
- await assertInteractionNavigationCompletedSafely({
1568
- action: async () => {
1569
- const delayMs = resolveBoundedDelayMs(opts.delayMs, "click delayMs", ACT_MAX_CLICK_DELAY_MS);
1570
- if (delayMs > 0) {
1571
- await awaitActionWithAbort(locator.hover({ timeout }), abortPromise);
1572
- await new Promise((resolve) => setTimeout(resolve, delayMs));
1573
- }
1574
- if (opts.doubleClick) {
1575
- await awaitActionWithAbort(locator.dblclick({
1576
- timeout,
1577
- button: opts.button,
1578
- modifiers: opts.modifiers
1579
- }), abortPromise);
1580
- return;
1581
- }
1582
- await awaitActionWithAbort(locator.click({
1583
- timeout,
1584
- button: opts.button,
1585
- modifiers: opts.modifiers
1586
- }), abortPromise);
1587
- },
1588
- cdpUrl: opts.cdpUrl,
1589
- page,
1590
- previousUrl,
1591
- ssrfPolicy: opts.ssrfPolicy,
1592
- targetId: opts.targetId
1593
- });
1594
- } catch (err) {
1595
- throw toAIFriendlyError(err, label);
1596
- } finally {
1597
- if (signal && abortListener) signal.removeEventListener("abort", abortListener);
1598
- }
1599
- }
1600
- async function clickCoordsViaPlaywright(opts) {
1601
- const page = await getRestoredPageForTarget(opts);
1602
- const previousUrl = page.url();
1603
- await assertInteractionNavigationCompletedSafely({
1604
- action: async () => {
1605
- await page.mouse.click(opts.x, opts.y, {
1606
- button: opts.button,
1607
- clickCount: opts.doubleClick ? 2 : 1,
1608
- delay: resolveBoundedDelayMs(opts.delayMs, "clickCoords delayMs", ACT_MAX_CLICK_DELAY_MS)
1609
- });
1610
- },
1611
- cdpUrl: opts.cdpUrl,
1612
- page,
1613
- previousUrl,
1614
- ssrfPolicy: opts.ssrfPolicy,
1615
- targetId: opts.targetId
1616
- });
1617
- }
1618
- async function hoverViaPlaywright(opts) {
1619
- const resolved = requireRefOrSelector(opts.ref, opts.selector);
1620
- const page = await getRestoredPageForTarget(opts);
1621
- const label = resolved.ref ?? resolved.selector;
1622
- const locator = resolved.ref ? refLocator(page, requireRef(resolved.ref)) : page.locator(resolved.selector);
1623
- try {
1624
- await locator.hover({ timeout: resolveInteractionTimeoutMs(opts.timeoutMs) });
1625
- } catch (err) {
1626
- throw toAIFriendlyError(err, label);
1627
- }
1628
- }
1629
- async function dragViaPlaywright(opts) {
1630
- const resolvedStart = requireRefOrSelector(opts.startRef, opts.startSelector);
1631
- const resolvedEnd = requireRefOrSelector(opts.endRef, opts.endSelector);
1632
- const page = await getRestoredPageForTarget(opts);
1633
- const startLocator = resolvedStart.ref ? refLocator(page, requireRef(resolvedStart.ref)) : page.locator(resolvedStart.selector);
1634
- const endLocator = resolvedEnd.ref ? refLocator(page, requireRef(resolvedEnd.ref)) : page.locator(resolvedEnd.selector);
1635
- const startLabel = resolvedStart.ref ?? resolvedStart.selector;
1636
- const endLabel = resolvedEnd.ref ?? resolvedEnd.selector;
1637
- try {
1638
- await startLocator.dragTo(endLocator, { timeout: resolveInteractionTimeoutMs(opts.timeoutMs) });
1639
- } catch (err) {
1640
- throw toAIFriendlyError(err, `${startLabel} -> ${endLabel}`);
1641
- }
1642
- }
1643
- async function selectOptionViaPlaywright(opts) {
1644
- const resolved = requireRefOrSelector(opts.ref, opts.selector);
1645
- if (!opts.values?.length) throw new Error("values are required");
1646
- const page = await getRestoredPageForTarget(opts);
1647
- const label = resolved.ref ?? resolved.selector;
1648
- const locator = resolved.ref ? refLocator(page, requireRef(resolved.ref)) : page.locator(resolved.selector);
1649
- try {
1650
- await locator.selectOption(opts.values, { timeout: resolveInteractionTimeoutMs(opts.timeoutMs) });
1651
- } catch (err) {
1652
- throw toAIFriendlyError(err, label);
1653
- }
1654
- }
1655
- async function pressKeyViaPlaywright(opts) {
1656
- const key = normalizeOptionalString$1(opts.key) ?? "";
1657
- if (!key) throw new Error("key is required");
1658
- const page = await getPageForTargetId(opts);
1659
- ensurePageState(page);
1660
- const previousUrl = page.url();
1661
- await assertInteractionNavigationCompletedSafely({
1662
- action: async () => {
1663
- await page.keyboard.press(key, { delay: Math.max(0, Math.floor(opts.delayMs ?? 0)) });
1664
- },
1665
- cdpUrl: opts.cdpUrl,
1666
- page,
1667
- previousUrl,
1668
- ssrfPolicy: opts.ssrfPolicy,
1669
- targetId: opts.targetId
1670
- });
1671
- }
1672
- async function typeViaPlaywright(opts) {
1673
- const resolved = requireRefOrSelector(opts.ref, opts.selector);
1674
- const text = opts.text ?? "";
1675
- const page = await getRestoredPageForTarget(opts);
1676
- const label = resolved.ref ?? resolved.selector;
1677
- const locator = resolved.ref ? refLocator(page, requireRef(resolved.ref)) : page.locator(resolved.selector);
1678
- const timeout = resolveInteractionTimeoutMs(opts.timeoutMs);
1679
- try {
1680
- if (opts.slowly) {
1681
- await locator.click({ timeout });
1682
- await locator.type(text, {
1683
- timeout,
1684
- delay: 75
1685
- });
1686
- } else await locator.fill(text, { timeout });
1687
- if (opts.submit) {
1688
- const previousUrl = page.url();
1689
- await assertInteractionNavigationCompletedSafely({
1690
- action: async () => {
1691
- await locator.press("Enter", { timeout });
1692
- },
1693
- cdpUrl: opts.cdpUrl,
1694
- page,
1695
- previousUrl,
1696
- ssrfPolicy: opts.ssrfPolicy,
1697
- targetId: opts.targetId
1698
- });
1699
- }
1700
- } catch (err) {
1701
- throw toAIFriendlyError(err, label);
1702
- }
1703
- }
1704
- async function fillFormViaPlaywright(opts) {
1705
- const page = await getRestoredPageForTarget(opts);
1706
- const timeout = resolveInteractionTimeoutMs(opts.timeoutMs);
1707
- for (const field of opts.fields) {
1708
- const ref = field.ref.trim();
1709
- const type = (field.type || "text").trim() || "text";
1710
- const rawValue = field.value;
1711
- const value = typeof rawValue === "string" ? rawValue : typeof rawValue === "number" || typeof rawValue === "boolean" ? String(rawValue) : "";
1712
- if (!ref) continue;
1713
- const locator = refLocator(page, ref);
1714
- if (type === "checkbox" || type === "radio") {
1715
- const checked = rawValue === true || rawValue === 1 || rawValue === "1" || rawValue === "true";
1716
- try {
1717
- await locator.setChecked(checked, { timeout });
1718
- } catch (err) {
1719
- throw toAIFriendlyError(err, ref);
1720
- }
1721
- continue;
1722
- }
1723
- try {
1724
- await locator.fill(value, { timeout });
1725
- } catch (err) {
1726
- throw toAIFriendlyError(err, ref);
1727
- }
1728
- }
1729
- }
1730
- async function evaluateViaPlaywright(opts) {
1731
- const fnText = normalizeOptionalString$1(opts.fn) ?? "";
1732
- if (!fnText) throw new Error("function is required");
1733
- const page = await getRestoredPageForTarget(opts);
1734
- const outerTimeout = normalizeTimeoutMs(opts.timeoutMs, 2e4);
1735
- let evaluateTimeout = Math.max(1e3, Math.min(12e4, outerTimeout - 500));
1736
- evaluateTimeout = Math.min(evaluateTimeout, outerTimeout);
1737
- const signal = opts.signal;
1738
- const { abortPromise, cleanup } = createAbortPromiseWithListener(signal, () => {
1739
- forceDisconnectPlaywrightForTarget({
1740
- cdpUrl: opts.cdpUrl,
1741
- targetId: opts.targetId,
1742
- reason: "evaluate aborted"
1743
- }).catch(() => {});
1744
- });
1745
- if (signal?.aborted) throw signal.reason ?? /* @__PURE__ */ new Error("aborted");
1746
- try {
1747
- if (opts.ref) {
1748
- const locator = refLocator(page, opts.ref);
1749
- const previousUrl = page.url();
1750
- const elementEvaluator = new Function("el", "args", `
1751
- "use strict";
1752
- var fnBody = args.fnBody, timeoutMs = args.timeoutMs;
1753
- try {
1754
- var candidate = eval("(" + fnBody + ")");
1755
- var result = typeof candidate === "function" ? candidate(el) : candidate;
1756
- if (result && typeof result.then === "function") {
1757
- return Promise.race([
1758
- result,
1759
- new Promise(function(_, reject) {
1760
- setTimeout(function() { reject(new Error("evaluate timed out after " + timeoutMs + "ms")); }, timeoutMs);
1761
- })
1762
- ]);
1763
- }
1764
- return result;
1765
- } catch (err) {
1766
- throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
1767
- }
1768
- `);
1769
- const evalPromise = locator.evaluate(elementEvaluator, {
1770
- fnBody: fnText,
1771
- timeoutMs: evaluateTimeout
1772
- });
1773
- return await assertInteractionNavigationCompletedSafely({
1774
- action: () => awaitActionWithAbort(evalPromise, abortPromise),
1775
- cdpUrl: opts.cdpUrl,
1776
- page,
1777
- previousUrl,
1778
- ssrfPolicy: opts.ssrfPolicy,
1779
- targetId: opts.targetId
1780
- });
1781
- }
1782
- const previousUrl = page.url();
1783
- const browserEvaluator = new Function("args", `
1784
- "use strict";
1785
- var fnBody = args.fnBody, timeoutMs = args.timeoutMs;
1786
- try {
1787
- var candidate = eval("(" + fnBody + ")");
1788
- var result = typeof candidate === "function" ? candidate() : candidate;
1789
- if (result && typeof result.then === "function") {
1790
- return Promise.race([
1791
- result,
1792
- new Promise(function(_, reject) {
1793
- setTimeout(function() { reject(new Error("evaluate timed out after " + timeoutMs + "ms")); }, timeoutMs);
1794
- })
1795
- ]);
1796
- }
1797
- return result;
1798
- } catch (err) {
1799
- throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
1800
- }
1801
- `);
1802
- const evalPromise = page.evaluate(browserEvaluator, {
1803
- fnBody: fnText,
1804
- timeoutMs: evaluateTimeout
1805
- });
1806
- return await assertInteractionNavigationCompletedSafely({
1807
- action: () => awaitActionWithAbort(evalPromise, abortPromise),
1808
- cdpUrl: opts.cdpUrl,
1809
- page,
1810
- previousUrl,
1811
- ssrfPolicy: opts.ssrfPolicy,
1812
- targetId: opts.targetId
1813
- });
1814
- } finally {
1815
- cleanup();
1816
- }
1817
- }
1818
- async function scrollIntoViewViaPlaywright(opts) {
1819
- const resolved = requireRefOrSelector(opts.ref, opts.selector);
1820
- const page = await getRestoredPageForTarget(opts);
1821
- const timeout = normalizeTimeoutMs(opts.timeoutMs, 2e4);
1822
- const label = resolved.ref ?? resolved.selector;
1823
- const locator = resolved.ref ? refLocator(page, requireRef(resolved.ref)) : page.locator(resolved.selector);
1824
- try {
1825
- await locator.scrollIntoViewIfNeeded({ timeout });
1826
- } catch (err) {
1827
- throw toAIFriendlyError(err, label);
1828
- }
1829
- }
1830
- async function waitForViaPlaywright(opts) {
1831
- const page = await getPageForTargetId(opts);
1832
- ensurePageState(page);
1833
- const timeout = resolveActWaitTimeoutMs(opts.timeoutMs);
1834
- const { abortPromise, cleanup } = createAbortPromise(opts.signal);
1835
- const waitForStep = async (stepPromise) => {
1836
- await awaitActionWithAbort(stepPromise, abortPromise);
1837
- };
1838
- try {
1839
- if (typeof opts.timeMs === "number" && Number.isFinite(opts.timeMs)) await waitForStep(page.waitForTimeout(resolveBoundedDelayMs(opts.timeMs, "wait timeMs", ACT_MAX_WAIT_TIME_MS)));
1840
- if (opts.text) await waitForStep(page.getByText(opts.text).first().waitFor({
1841
- state: "visible",
1842
- timeout
1843
- }));
1844
- if (opts.textGone) await waitForStep(page.getByText(opts.textGone).first().waitFor({
1845
- state: "hidden",
1846
- timeout
1847
- }));
1848
- if (opts.selector) {
1849
- const selector = normalizeOptionalString$1(opts.selector) ?? "";
1850
- if (selector) await waitForStep(page.locator(selector).first().waitFor({
1851
- state: "visible",
1852
- timeout
1853
- }));
1854
- }
1855
- if (opts.url) {
1856
- const url = normalizeOptionalString$1(opts.url) ?? "";
1857
- if (url) await waitForStep(page.waitForURL(url, { timeout }));
1858
- }
1859
- if (opts.loadState) await waitForStep(page.waitForLoadState(opts.loadState, { timeout }));
1860
- if (opts.fn) {
1861
- const fn = normalizeOptionalString$1(opts.fn) ?? "";
1862
- if (fn) await waitForStep(page.waitForFunction(fn, { timeout }));
1863
- }
1864
- } finally {
1865
- cleanup();
1866
- }
1867
- }
1868
- async function takeScreenshotViaPlaywright(opts) {
1869
- const page = await getPageForTargetId(opts);
1870
- ensurePageState(page);
1871
- restoreRoleRefsForTarget({
1872
- cdpUrl: opts.cdpUrl,
1873
- targetId: opts.targetId,
1874
- page
1875
- });
1876
- const type = opts.type ?? "png";
1877
- if (opts.ref) {
1878
- if (opts.fullPage) throw new Error("fullPage is not supported for element screenshots");
1879
- return { buffer: await refLocator(page, opts.ref).screenshot({
1880
- type,
1881
- timeout: opts.timeoutMs
1882
- }) };
1883
- }
1884
- if (opts.element) {
1885
- if (opts.fullPage) throw new Error("fullPage is not supported for element screenshots");
1886
- return { buffer: await page.locator(opts.element).first().screenshot({
1887
- type,
1888
- timeout: opts.timeoutMs
1889
- }) };
1890
- }
1891
- return { buffer: await page.screenshot({
1892
- type,
1893
- fullPage: Boolean(opts.fullPage),
1894
- timeout: opts.timeoutMs
1895
- }) };
1896
- }
1897
- async function screenshotWithLabelsViaPlaywright(opts) {
1898
- const page = await getPageForTargetId(opts);
1899
- ensurePageState(page);
1900
- restoreRoleRefsForTarget({
1901
- cdpUrl: opts.cdpUrl,
1902
- targetId: opts.targetId,
1903
- page
1904
- });
1905
- const type = opts.type ?? "png";
1906
- const maxLabels = typeof opts.maxLabels === "number" && Number.isFinite(opts.maxLabels) ? Math.max(1, Math.floor(opts.maxLabels)) : 150;
1907
- const viewport = await page.evaluate(() => ({
1908
- scrollX: window.scrollX || 0,
1909
- scrollY: window.scrollY || 0,
1910
- width: window.innerWidth || 0,
1911
- height: window.innerHeight || 0
1912
- }));
1913
- const refs = Object.keys(opts.refs ?? {});
1914
- const boxes = [];
1915
- let skipped = 0;
1916
- for (const ref of refs) {
1917
- if (boxes.length >= maxLabels) {
1918
- skipped += 1;
1919
- continue;
1920
- }
1921
- try {
1922
- const box = await refLocator(page, ref).boundingBox();
1923
- if (!box) {
1924
- skipped += 1;
1925
- continue;
1926
- }
1927
- const x0 = box.x;
1928
- const y0 = box.y;
1929
- const x1 = box.x + box.width;
1930
- const y1 = box.y + box.height;
1931
- const vx0 = viewport.scrollX;
1932
- const vy0 = viewport.scrollY;
1933
- const vx1 = viewport.scrollX + viewport.width;
1934
- const vy1 = viewport.scrollY + viewport.height;
1935
- if (x1 < vx0 || x0 > vx1 || y1 < vy0 || y0 > vy1) {
1936
- skipped += 1;
1937
- continue;
1938
- }
1939
- boxes.push({
1940
- ref,
1941
- x: x0 - viewport.scrollX,
1942
- y: y0 - viewport.scrollY,
1943
- w: Math.max(1, box.width),
1944
- h: Math.max(1, box.height)
1945
- });
1946
- } catch {
1947
- skipped += 1;
1948
- }
1949
- }
1950
- try {
1951
- if (boxes.length > 0) await page.evaluate((labels) => {
1952
- document.querySelectorAll("[data-genesis-labels]").forEach((el) => el.remove());
1953
- const root = document.createElement("div");
1954
- root.setAttribute("data-genesis-labels", "1");
1955
- root.style.position = "fixed";
1956
- root.style.left = "0";
1957
- root.style.top = "0";
1958
- root.style.zIndex = "2147483647";
1959
- root.style.pointerEvents = "none";
1960
- root.style.fontFamily = "\"SF Mono\",\"SFMono-Regular\",Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace";
1961
- const clamp = (value, min, max) => Math.min(max, Math.max(min, value));
1962
- for (const label of labels) {
1963
- const box = document.createElement("div");
1964
- box.setAttribute("data-genesis-labels", "1");
1965
- box.style.position = "absolute";
1966
- box.style.left = `${label.x}px`;
1967
- box.style.top = `${label.y}px`;
1968
- box.style.width = `${label.w}px`;
1969
- box.style.height = `${label.h}px`;
1970
- box.style.border = "2px solid #ffb020";
1971
- box.style.boxSizing = "border-box";
1972
- const tag = document.createElement("div");
1973
- tag.setAttribute("data-genesis-labels", "1");
1974
- tag.textContent = label.ref;
1975
- tag.style.position = "absolute";
1976
- tag.style.left = `${label.x}px`;
1977
- tag.style.top = `${clamp(label.y - 18, 0, 2e4)}px`;
1978
- tag.style.background = "#ffb020";
1979
- tag.style.color = "#1a1a1a";
1980
- tag.style.fontSize = "12px";
1981
- tag.style.lineHeight = "14px";
1982
- tag.style.padding = "1px 4px";
1983
- tag.style.borderRadius = "3px";
1984
- tag.style.boxShadow = "0 1px 2px rgba(0,0,0,0.35)";
1985
- tag.style.whiteSpace = "nowrap";
1986
- root.appendChild(box);
1987
- root.appendChild(tag);
1988
- }
1989
- document.documentElement.appendChild(root);
1990
- }, boxes);
1991
- return {
1992
- buffer: await page.screenshot({
1993
- type,
1994
- timeout: opts.timeoutMs
1995
- }),
1996
- labels: boxes.length,
1997
- skipped
1998
- };
1999
- } finally {
2000
- await page.evaluate(() => {
2001
- document.querySelectorAll("[data-genesis-labels]").forEach((el) => el.remove());
2002
- }).catch(() => {});
2003
- }
2004
- }
2005
- async function setInputFilesViaPlaywright(opts) {
2006
- const page = await getPageForTargetId(opts);
2007
- ensurePageState(page);
2008
- restoreRoleRefsForTarget({
2009
- cdpUrl: opts.cdpUrl,
2010
- targetId: opts.targetId,
2011
- page
2012
- });
2013
- if (!opts.paths.length) throw new Error("paths are required");
2014
- const inputRef = normalizeOptionalString$1(opts.inputRef) ?? "";
2015
- const element = normalizeOptionalString$1(opts.element) ?? "";
2016
- if (inputRef && element) throw new Error("inputRef and element are mutually exclusive");
2017
- if (!inputRef && !element) throw new Error("inputRef or element is required");
2018
- const locator = inputRef ? refLocator(page, inputRef) : page.locator(element).first();
2019
- const uploadPathsResult = await resolveStrictExistingPathsWithinRoot({
2020
- rootDir: DEFAULT_UPLOAD_DIR,
2021
- requestedPaths: opts.paths,
2022
- scopeLabel: `uploads directory (${DEFAULT_UPLOAD_DIR})`
2023
- });
2024
- if (!uploadPathsResult.ok) throw new Error(uploadPathsResult.error);
2025
- const resolvedPaths = uploadPathsResult.paths;
2026
- try {
2027
- await locator.setInputFiles(resolvedPaths);
2028
- } catch (err) {
2029
- throw toAIFriendlyError(err, inputRef || element);
2030
- }
2031
- try {
2032
- const handle = await locator.elementHandle();
2033
- if (handle) await handle.evaluate((el) => {
2034
- el.dispatchEvent(new Event("input", { bubbles: true }));
2035
- el.dispatchEvent(new Event("change", { bubbles: true }));
2036
- });
2037
- } catch {}
2038
- }
2039
- async function executeSingleAction(action, cdpUrl, targetId, evaluateEnabled, ssrfPolicy, depth = 0, signal) {
2040
- if (depth > 5) throw new Error(`Batch nesting depth exceeds maximum of 5`);
2041
- const effectiveTargetId = action.targetId ?? targetId;
2042
- switch (action.kind) {
2043
- case "click":
2044
- await clickViaPlaywright({
2045
- cdpUrl,
2046
- targetId: effectiveTargetId,
2047
- ref: action.ref,
2048
- selector: action.selector,
2049
- doubleClick: action.doubleClick,
2050
- button: action.button,
2051
- modifiers: action.modifiers,
2052
- delayMs: action.delayMs,
2053
- timeoutMs: action.timeoutMs,
2054
- ssrfPolicy
2055
- });
2056
- break;
2057
- case "clickCoords":
2058
- await clickCoordsViaPlaywright({
2059
- cdpUrl,
2060
- targetId: effectiveTargetId,
2061
- x: action.x,
2062
- y: action.y,
2063
- doubleClick: action.doubleClick,
2064
- button: action.button,
2065
- delayMs: action.delayMs,
2066
- timeoutMs: action.timeoutMs,
2067
- ssrfPolicy
2068
- });
2069
- break;
2070
- case "type":
2071
- await typeViaPlaywright({
2072
- cdpUrl,
2073
- targetId: effectiveTargetId,
2074
- ref: action.ref,
2075
- selector: action.selector,
2076
- text: action.text,
2077
- submit: action.submit,
2078
- slowly: action.slowly,
2079
- timeoutMs: action.timeoutMs,
2080
- ssrfPolicy
2081
- });
2082
- break;
2083
- case "press":
2084
- await pressKeyViaPlaywright({
2085
- cdpUrl,
2086
- targetId: effectiveTargetId,
2087
- key: action.key,
2088
- delayMs: action.delayMs,
2089
- ssrfPolicy
2090
- });
2091
- break;
2092
- case "hover":
2093
- await hoverViaPlaywright({
2094
- cdpUrl,
2095
- targetId: effectiveTargetId,
2096
- ref: action.ref,
2097
- selector: action.selector,
2098
- timeoutMs: action.timeoutMs
2099
- });
2100
- break;
2101
- case "scrollIntoView":
2102
- await scrollIntoViewViaPlaywright({
2103
- cdpUrl,
2104
- targetId: effectiveTargetId,
2105
- ref: action.ref,
2106
- selector: action.selector,
2107
- timeoutMs: action.timeoutMs
2108
- });
2109
- break;
2110
- case "drag":
2111
- await dragViaPlaywright({
2112
- cdpUrl,
2113
- targetId: effectiveTargetId,
2114
- startRef: action.startRef,
2115
- startSelector: action.startSelector,
2116
- endRef: action.endRef,
2117
- endSelector: action.endSelector,
2118
- timeoutMs: action.timeoutMs
2119
- });
2120
- break;
2121
- case "select":
2122
- await selectOptionViaPlaywright({
2123
- cdpUrl,
2124
- targetId: effectiveTargetId,
2125
- ref: action.ref,
2126
- selector: action.selector,
2127
- values: action.values,
2128
- timeoutMs: action.timeoutMs
2129
- });
2130
- break;
2131
- case "fill":
2132
- await fillFormViaPlaywright({
2133
- cdpUrl,
2134
- targetId: effectiveTargetId,
2135
- fields: action.fields,
2136
- timeoutMs: action.timeoutMs
2137
- });
2138
- break;
2139
- case "resize":
2140
- await resizeViewportViaPlaywright({
2141
- cdpUrl,
2142
- targetId: effectiveTargetId,
2143
- width: action.width,
2144
- height: action.height
2145
- });
2146
- break;
2147
- case "wait":
2148
- if (action.fn && !evaluateEnabled) throw new Error("wait --fn is disabled by config (browser.evaluateEnabled=false)");
2149
- await waitForViaPlaywright({
2150
- cdpUrl,
2151
- targetId: effectiveTargetId,
2152
- timeMs: action.timeMs,
2153
- text: action.text,
2154
- textGone: action.textGone,
2155
- selector: action.selector,
2156
- url: action.url,
2157
- loadState: action.loadState,
2158
- fn: action.fn,
2159
- timeoutMs: action.timeoutMs,
2160
- signal
2161
- });
2162
- break;
2163
- case "evaluate":
2164
- if (!evaluateEnabled) throw new Error("act:evaluate is disabled by config (browser.evaluateEnabled=false)");
2165
- return await evaluateViaPlaywright({
2166
- cdpUrl,
2167
- targetId: effectiveTargetId,
2168
- ssrfPolicy,
2169
- fn: action.fn,
2170
- ref: action.ref,
2171
- timeoutMs: action.timeoutMs,
2172
- signal
2173
- });
2174
- case "close":
2175
- await closePageViaPlaywright({
2176
- cdpUrl,
2177
- targetId: effectiveTargetId
2178
- });
2179
- break;
2180
- case "batch":
2181
- await batchViaPlaywright({
2182
- cdpUrl,
2183
- targetId: effectiveTargetId,
2184
- ssrfPolicy,
2185
- actions: action.actions,
2186
- stopOnError: action.stopOnError,
2187
- evaluateEnabled,
2188
- depth: depth + 1,
2189
- signal
2190
- });
2191
- break;
2192
- default: throw new Error(`Unsupported batch action kind: ${action.kind}`);
2193
- }
2194
- }
2195
- async function executeActViaPlaywright(opts) {
2196
- if (opts.action.kind === "batch") return { results: (await batchViaPlaywright({
2197
- cdpUrl: opts.cdpUrl,
2198
- targetId: opts.targetId,
2199
- ssrfPolicy: opts.ssrfPolicy,
2200
- actions: opts.action.actions,
2201
- stopOnError: opts.action.stopOnError,
2202
- evaluateEnabled: opts.evaluateEnabled,
2203
- signal: opts.signal
2204
- })).results };
2205
- const result = await executeSingleAction(opts.action, opts.cdpUrl, opts.targetId, opts.evaluateEnabled, opts.ssrfPolicy, 0, opts.signal);
2206
- if (opts.action.kind === "evaluate") return { result };
2207
- return {};
2208
- }
2209
- async function batchViaPlaywright(opts) {
2210
- const depth = opts.depth ?? 0;
2211
- if (depth > 5) throw new Error(`Batch nesting depth exceeds maximum of 5`);
2212
- if (opts.actions.length > 100) throw new Error(`Batch exceeds maximum of 100 actions`);
2213
- const results = [];
2214
- for (const action of opts.actions) {
2215
- if (opts.signal?.aborted) throw opts.signal.reason ?? /* @__PURE__ */ new Error("aborted");
2216
- try {
2217
- await executeSingleAction(action, opts.cdpUrl, opts.targetId, opts.evaluateEnabled, opts.ssrfPolicy, depth, opts.signal);
2218
- results.push({ ok: true });
2219
- } catch (err) {
2220
- const message = formatErrorMessage(err);
2221
- results.push({
2222
- ok: false,
2223
- error: message
2224
- });
2225
- if (opts.stopOnError !== false) break;
2226
- }
2227
- }
2228
- return { results };
2229
- }
2230
- //#endregion
2231
- //#region extensions/browser/src/browser/pw-tools-core.responses.ts
2232
- function normalizeOptionalString(value) {
2233
- return typeof value === "string" ? value.trim() || void 0 : void 0;
2234
- }
2235
- async function responseBodyViaPlaywright(opts) {
2236
- const pattern = normalizeOptionalString(opts.url) ?? "";
2237
- if (!pattern) throw new Error("url is required");
2238
- const maxChars = typeof opts.maxChars === "number" && Number.isFinite(opts.maxChars) ? Math.max(1, Math.min(5e6, Math.floor(opts.maxChars))) : 2e5;
2239
- const timeout = normalizeTimeoutMs(opts.timeoutMs, 2e4);
2240
- const page = await getPageForTargetId(opts);
2241
- ensurePageState(page);
2242
- const resp = await new Promise((resolve, reject) => {
2243
- let done = false;
2244
- let timer;
2245
- let handler;
2246
- const cleanup = () => {
2247
- if (timer) clearTimeout(timer);
2248
- timer = void 0;
2249
- if (handler) page.off("response", handler);
2250
- };
2251
- handler = (resp) => {
2252
- if (done) return;
2253
- if (!matchBrowserUrlPattern(pattern, resp.url?.() || "")) return;
2254
- done = true;
2255
- cleanup();
2256
- resolve(resp);
2257
- };
2258
- page.on("response", handler);
2259
- timer = setTimeout(() => {
2260
- if (done) return;
2261
- done = true;
2262
- cleanup();
2263
- reject(/* @__PURE__ */ new Error(`Response not found for url pattern "${pattern}". Run 'genesis browser requests' to inspect recent network activity.`));
2264
- }, timeout);
2265
- });
2266
- const url = resp.url?.() || "";
2267
- const status = resp.status?.();
2268
- const headers = resp.headers?.();
2269
- let bodyText = "";
2270
- try {
2271
- if (typeof resp.text === "function") bodyText = await resp.text();
2272
- else if (typeof resp.body === "function") {
2273
- const buf = await resp.body();
2274
- bodyText = new TextDecoder("utf-8").decode(buf);
2275
- }
2276
- } catch (err) {
2277
- throw new Error(`Failed to read response body for "${url}": ${String(err)}`, { cause: err });
2278
- }
2279
- return {
2280
- url,
2281
- status,
2282
- headers,
2283
- body: bodyText.length > maxChars ? bodyText.slice(0, maxChars) : bodyText,
2284
- truncated: bodyText.length > maxChars ? true : void 0
2285
- };
2286
- }
2287
- //#endregion
2288
- //#region extensions/browser/src/browser/pw-tools-core.state.ts
2289
- async function setOfflineViaPlaywright(opts) {
2290
- const page = await getPageForTargetId(opts);
2291
- ensurePageState(page);
2292
- await page.context().setOffline(opts.offline);
2293
- }
2294
- async function setExtraHTTPHeadersViaPlaywright(opts) {
2295
- const page = await getPageForTargetId(opts);
2296
- ensurePageState(page);
2297
- await page.context().setExtraHTTPHeaders(opts.headers);
2298
- }
2299
- async function setHttpCredentialsViaPlaywright(opts) {
2300
- const page = await getPageForTargetId(opts);
2301
- ensurePageState(page);
2302
- if (opts.clear) {
2303
- await page.context().setHTTPCredentials(null);
2304
- return;
2305
- }
2306
- const username = opts.username ?? "";
2307
- const password = opts.password ?? "";
2308
- if (!username) throw new Error("username is required (or set clear=true)");
2309
- await page.context().setHTTPCredentials({
2310
- username,
2311
- password
2312
- });
2313
- }
2314
- async function setGeolocationViaPlaywright(opts) {
2315
- const page = await getPageForTargetId(opts);
2316
- ensurePageState(page);
2317
- const context = page.context();
2318
- if (opts.clear) {
2319
- await context.setGeolocation(null);
2320
- await context.clearPermissions().catch(() => {});
2321
- return;
2322
- }
2323
- if (typeof opts.latitude !== "number" || typeof opts.longitude !== "number") throw new Error("latitude and longitude are required (or set clear=true)");
2324
- await context.setGeolocation({
2325
- latitude: opts.latitude,
2326
- longitude: opts.longitude,
2327
- accuracy: typeof opts.accuracy === "number" ? opts.accuracy : void 0
2328
- });
2329
- const origin = normalizeOptionalString$1(opts.origin) || (() => {
2330
- try {
2331
- return new URL(page.url()).origin;
2332
- } catch {
2333
- return "";
2334
- }
2335
- })();
2336
- if (origin) await context.grantPermissions(["geolocation"], { origin }).catch(() => {});
2337
- }
2338
- async function emulateMediaViaPlaywright(opts) {
2339
- const page = await getPageForTargetId(opts);
2340
- ensurePageState(page);
2341
- await page.emulateMedia({ colorScheme: opts.colorScheme });
2342
- }
2343
- async function setLocaleViaPlaywright(opts) {
2344
- const page = await getPageForTargetId(opts);
2345
- ensurePageState(page);
2346
- const locale = normalizeOptionalString$1(opts.locale) ?? "";
2347
- if (!locale) throw new Error("locale is required");
2348
- await withPageScopedCdpClient({
2349
- cdpUrl: opts.cdpUrl,
2350
- page,
2351
- targetId: opts.targetId,
2352
- fn: async (send) => {
2353
- try {
2354
- await send("Emulation.setLocaleOverride", { locale });
2355
- } catch (err) {
2356
- if (String(err).includes("Another locale override is already in effect")) return;
2357
- throw err;
2358
- }
2359
- }
2360
- });
2361
- }
2362
- async function setTimezoneViaPlaywright(opts) {
2363
- const page = await getPageForTargetId(opts);
2364
- ensurePageState(page);
2365
- const timezoneId = normalizeOptionalString$1(opts.timezoneId) ?? "";
2366
- if (!timezoneId) throw new Error("timezoneId is required");
2367
- await withPageScopedCdpClient({
2368
- cdpUrl: opts.cdpUrl,
2369
- page,
2370
- targetId: opts.targetId,
2371
- fn: async (send) => {
2372
- try {
2373
- await send("Emulation.setTimezoneOverride", { timezoneId });
2374
- } catch (err) {
2375
- const msg = String(err);
2376
- if (msg.includes("Timezone override is already in effect")) return;
2377
- if (msg.includes("Invalid timezone")) throw new Error(`Invalid timezone ID: ${timezoneId}`, { cause: err });
2378
- throw err;
2379
- }
2380
- }
2381
- });
2382
- }
2383
- async function setDeviceViaPlaywright(opts) {
2384
- const page = await getPageForTargetId(opts);
2385
- ensurePageState(page);
2386
- const name = normalizeOptionalString$1(opts.name) ?? "";
2387
- if (!name) throw new Error("device name is required");
2388
- const descriptor = devices[name];
2389
- if (!descriptor) throw new Error(`Unknown device "${name}".`);
2390
- if (descriptor.viewport) await page.setViewportSize({
2391
- width: descriptor.viewport.width,
2392
- height: descriptor.viewport.height
2393
- });
2394
- await withPageScopedCdpClient({
2395
- cdpUrl: opts.cdpUrl,
2396
- page,
2397
- targetId: opts.targetId,
2398
- fn: async (send) => {
2399
- if (descriptor.userAgent || descriptor.locale) await send("Emulation.setUserAgentOverride", {
2400
- userAgent: descriptor.userAgent ?? "",
2401
- acceptLanguage: descriptor.locale ?? void 0
2402
- });
2403
- if (descriptor.viewport) await send("Emulation.setDeviceMetricsOverride", {
2404
- mobile: Boolean(descriptor.isMobile),
2405
- width: descriptor.viewport.width,
2406
- height: descriptor.viewport.height,
2407
- deviceScaleFactor: descriptor.deviceScaleFactor ?? 1,
2408
- screenWidth: descriptor.viewport.width,
2409
- screenHeight: descriptor.viewport.height
2410
- });
2411
- if (descriptor.hasTouch) await send("Emulation.setTouchEmulationEnabled", { enabled: true });
2412
- }
2413
- });
2414
- }
2415
- //#endregion
2416
- //#region extensions/browser/src/browser/pw-tools-core.storage.ts
2417
- async function cookiesGetViaPlaywright(opts) {
2418
- const page = await getPageForTargetId(opts);
2419
- ensurePageState(page);
2420
- return { cookies: await page.context().cookies() };
2421
- }
2422
- async function cookiesSetViaPlaywright(opts) {
2423
- const page = await getPageForTargetId(opts);
2424
- ensurePageState(page);
2425
- const cookie = opts.cookie;
2426
- if (!cookie.name || cookie.value === void 0) throw new Error("cookie name and value are required");
2427
- const hasUrl = typeof cookie.url === "string" && cookie.url.trim();
2428
- const hasDomainPath = typeof cookie.domain === "string" && cookie.domain.trim() && typeof cookie.path === "string" && cookie.path.trim();
2429
- if (!hasUrl && !hasDomainPath) throw new Error("cookie requires url, or domain+path");
2430
- await page.context().addCookies([cookie]);
2431
- }
2432
- async function cookiesClearViaPlaywright(opts) {
2433
- const page = await getPageForTargetId(opts);
2434
- ensurePageState(page);
2435
- await page.context().clearCookies();
2436
- }
2437
- async function storageGetViaPlaywright(opts) {
2438
- const page = await getPageForTargetId(opts);
2439
- ensurePageState(page);
2440
- const kind = opts.kind;
2441
- const key = readStringValue(opts.key);
2442
- return { values: await page.evaluate(({ kind: kind2, key: key2 }) => {
2443
- const store = kind2 === "session" ? window.sessionStorage : window.localStorage;
2444
- if (key2) {
2445
- const value = store.getItem(key2);
2446
- return value === null ? {} : { [key2]: value };
2447
- }
2448
- const out = {};
2449
- for (let i = 0; i < store.length; i += 1) {
2450
- const k = store.key(i);
2451
- if (!k) continue;
2452
- const v = store.getItem(k);
2453
- if (v !== null) out[k] = v;
2454
- }
2455
- return out;
2456
- }, {
2457
- kind,
2458
- key
2459
- }) ?? {} };
2460
- }
2461
- async function storageSetViaPlaywright(opts) {
2462
- const page = await getPageForTargetId(opts);
2463
- ensurePageState(page);
2464
- const key = opts.key;
2465
- if (!key) throw new Error("key is required");
2466
- await page.evaluate(({ kind, key: k, value }) => {
2467
- (kind === "session" ? window.sessionStorage : window.localStorage).setItem(k, value);
2468
- }, {
2469
- kind: opts.kind,
2470
- key,
2471
- value: opts.value
2472
- });
2473
- }
2474
- async function storageClearViaPlaywright(opts) {
2475
- const page = await getPageForTargetId(opts);
2476
- ensurePageState(page);
2477
- await page.evaluate(({ kind }) => {
2478
- (kind === "session" ? window.sessionStorage : window.localStorage).clear();
2479
- }, { kind: opts.kind });
2480
- }
2481
- //#endregion
2482
- //#region extensions/browser/src/browser/pw-tools-core.trace.ts
2483
- async function traceStartViaPlaywright(opts) {
2484
- const context = (await getPageForTargetId(opts)).context();
2485
- const ctxState = ensureContextState(context);
2486
- if (ctxState.traceActive) throw new Error("Trace already running. Stop the current trace before starting a new one.");
2487
- await context.tracing.start({
2488
- screenshots: opts.screenshots ?? true,
2489
- snapshots: opts.snapshots ?? true,
2490
- sources: opts.sources ?? false
2491
- });
2492
- ctxState.traceActive = true;
2493
- }
2494
- async function traceStopViaPlaywright(opts) {
2495
- const context = (await getPageForTargetId(opts)).context();
2496
- const ctxState = ensureContextState(context);
2497
- if (!ctxState.traceActive) throw new Error("No active trace. Start a trace before stopping it.");
2498
- await writeViaSiblingTempPath({
2499
- rootDir: DEFAULT_TRACE_DIR,
2500
- targetPath: opts.path,
2501
- writeTemp: async (tempPath) => {
2502
- await context.tracing.stop({ path: tempPath });
2503
- }
2504
- });
2505
- ctxState.traceActive = false;
2506
- }
2507
- //#endregion
2508
- //#region extensions/browser/src/browser/pw-ai.ts
2509
- markPwAiLoaded();
2510
- //#endregion
2511
- export { armDialogViaPlaywright, armFileUploadViaPlaywright, batchViaPlaywright, clickViaPlaywright, closePageByTargetIdViaPlaywright, closePageViaPlaywright, closePlaywrightBrowserConnection, cookiesClearViaPlaywright, cookiesGetViaPlaywright, cookiesSetViaPlaywright, createPageViaPlaywright, downloadViaPlaywright, dragViaPlaywright, emulateMediaViaPlaywright, ensurePageState, evaluateViaPlaywright, executeActViaPlaywright, fillFormViaPlaywright, focusPageByTargetIdViaPlaywright, forceDisconnectPlaywrightForTarget, getConsoleMessagesViaPlaywright, getNetworkRequestsViaPlaywright, getPageErrorsViaPlaywright, getPageForTargetId, highlightViaPlaywright, hoverViaPlaywright, listPagesViaPlaywright, navigateViaPlaywright, pdfViaPlaywright, pressKeyViaPlaywright, refLocator, resizeViewportViaPlaywright, responseBodyViaPlaywright, screenshotWithLabelsViaPlaywright, scrollIntoViewViaPlaywright, selectOptionViaPlaywright, setDeviceViaPlaywright, setExtraHTTPHeadersViaPlaywright, setGeolocationViaPlaywright, setHttpCredentialsViaPlaywright, setInputFilesViaPlaywright, setLocaleViaPlaywright, setOfflineViaPlaywright, setTimezoneViaPlaywright, snapshotAiViaPlaywright, snapshotAriaViaPlaywright, snapshotRoleViaPlaywright, storageClearViaPlaywright, storageGetViaPlaywright, storageSetViaPlaywright, takeScreenshotViaPlaywright, traceStartViaPlaywright, traceStopViaPlaywright, typeViaPlaywright, waitForDownloadViaPlaywright, waitForViaPlaywright };