@aria-cli/tools 1.0.19 → 1.0.31

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 (459) hide show
  1. package/dist/.aria-build-stamp.json +1 -1
  2. package/dist/ask-user-interaction.js +23 -0
  3. package/dist/cache/web-cache.js +67 -0
  4. package/dist/definitions/arion.js +105 -0
  5. package/dist/definitions/browser/browser.js +419 -0
  6. package/dist/definitions/browser/index.js +5 -0
  7. package/dist/definitions/browser/pw-downloads.js +115 -0
  8. package/dist/definitions/browser/pw-interactions.js +200 -0
  9. package/dist/definitions/browser/pw-responses.js +77 -0
  10. package/dist/definitions/browser/pw-session.js +311 -0
  11. package/dist/definitions/browser/pw-shared.js +67 -0
  12. package/dist/definitions/browser/pw-snapshot.js +302 -0
  13. package/dist/definitions/browser/pw-state.js +63 -0
  14. package/dist/definitions/browser/types.js +5 -0
  15. package/dist/definitions/code-intelligence.js +471 -0
  16. package/dist/definitions/core.js +110 -0
  17. package/dist/definitions/delegation.js +513 -0
  18. package/dist/definitions/deploy.js +66 -0
  19. package/dist/definitions/filesystem.js +197 -0
  20. package/dist/definitions/frg.js +64 -0
  21. package/{dist-cjs/definitions/index.d.ts → dist/definitions/index.js} +2 -0
  22. package/dist/definitions/memory.js +124 -0
  23. package/dist/definitions/messaging.js +626 -0
  24. package/dist/definitions/meta.js +350 -0
  25. package/dist/definitions/network.js +160 -0
  26. package/dist/definitions/outlook.js +278 -0
  27. package/dist/definitions/patch/apply-patch.js +185 -0
  28. package/dist/definitions/patch/fuzzy-match.js +167 -0
  29. package/{dist-cjs/definitions/patch/index.d.ts → dist/definitions/patch/index.js} +1 -0
  30. package/dist/definitions/patch/patch-parser.js +208 -0
  31. package/dist/definitions/patch/sandbox-paths.js +106 -0
  32. package/dist/definitions/process/index.js +5 -0
  33. package/dist/definitions/process/process-registry.js +214 -0
  34. package/dist/definitions/process/process.js +387 -0
  35. package/dist/definitions/process/pty-keys.js +255 -0
  36. package/dist/definitions/process/session-slug.js +143 -0
  37. package/dist/definitions/quip.js +196 -0
  38. package/dist/definitions/search.js +61 -0
  39. package/dist/definitions/session-history.js +70 -0
  40. package/dist/definitions/shell.js +182 -0
  41. package/dist/definitions/slack.js +181 -0
  42. package/dist/definitions/web.js +110 -0
  43. package/dist/executors/apply-patch.js +902 -0
  44. package/dist/executors/arion.js +120 -0
  45. package/dist/executors/code-intelligence.js +883 -0
  46. package/dist/executors/deploy.js +849 -0
  47. package/dist/executors/filesystem.js +1119 -0
  48. package/dist/executors/frg-freshness.js +577 -0
  49. package/dist/executors/frg.js +299 -0
  50. package/{dist-cjs/executors/index.d.ts → dist/executors/index.js} +22 -19
  51. package/dist/executors/learning-meta.js +1147 -0
  52. package/dist/executors/lsp-client.js +297 -0
  53. package/dist/executors/memory.js +751 -0
  54. package/dist/executors/meta.js +221 -0
  55. package/dist/executors/process-registry.js +466 -0
  56. package/dist/executors/pty-session-store.js +31 -0
  57. package/dist/executors/pty.js +281 -0
  58. package/dist/executors/restart.js +120 -0
  59. package/dist/executors/search-freshness.js +196 -0
  60. package/dist/executors/search-types.js +53 -0
  61. package/dist/executors/search.js +67 -0
  62. package/dist/executors/self-diagnose.js +399 -0
  63. package/dist/executors/session-history.js +284 -0
  64. package/dist/executors/shell-safety.js +474 -0
  65. package/dist/executors/shell.js +955 -0
  66. package/dist/executors/utils.js +34 -0
  67. package/dist/executors/web.js +543 -0
  68. package/dist/extraction/content-extraction.js +248 -0
  69. package/dist/extraction/index.js +5 -0
  70. package/dist/headless-control-contract.js +968 -0
  71. package/dist/{index-v49pd2a0.js → index-45qvfjbf.js} +2 -2
  72. package/dist/index.js +71 -372
  73. package/dist/local-control-http-auth.js +3 -0
  74. package/dist/mcp/client.js +182 -0
  75. package/dist/mcp/connection.js +484 -0
  76. package/dist/mcp/index.js +11 -0
  77. package/dist/mcp/jsonrpc.js +145 -0
  78. package/dist/mcp/types.js +8 -0
  79. package/dist/network-control-adapter.js +73 -0
  80. package/dist/network-runtime/address-types.js +166 -0
  81. package/dist/network-runtime/db-owner-fencing.js +70 -0
  82. package/dist/network-runtime/delivery-receipts.js +270 -0
  83. package/dist/network-runtime/direct-endpoint-authority.js +26 -0
  84. package/dist/network-runtime/index.js +13 -1
  85. package/dist/network-runtime/local-control-contract.js +628 -0
  86. package/dist/network-runtime/node-store-contract.js +35 -0
  87. package/dist/network-runtime/pair-route-contract.js +78 -0
  88. package/dist/network-runtime/peer-capabilities.js +29 -0
  89. package/dist/network-runtime/peer-principal-ref.js +13 -0
  90. package/dist/network-runtime/peer-state-machine.js +122 -0
  91. package/dist/network-runtime/protocol-schemas.js +206 -0
  92. package/dist/network-runtime/runtime-bootstrap-contract.js +61 -0
  93. package/dist/outlook/desktop-session.js +280 -0
  94. package/dist/policy.js +150 -0
  95. package/dist/providers/brave.js +63 -0
  96. package/dist/providers/duckduckgo.js +177 -0
  97. package/dist/providers/exa.js +64 -0
  98. package/dist/providers/firecrawl.js +56 -0
  99. package/{dist-cjs/providers/index.d.ts → dist/providers/index.js} +1 -1
  100. package/dist/providers/jina.js +50 -0
  101. package/dist/providers/router.js +97 -0
  102. package/dist/providers/search-provider.js +33 -0
  103. package/dist/providers/tavily.js +55 -0
  104. package/dist/pty-w5c9dv33.js +1 -0
  105. package/dist/quip/desktop-session.js +318 -0
  106. package/{dist-cjs/registry/index.d.ts → dist/registry/index.js} +1 -0
  107. package/dist/registry/registry.js +757 -0
  108. package/dist/runtime-socket-local-control-client.js +331 -0
  109. package/dist/security/dns-normalization.js +20 -0
  110. package/dist/security/dns-pinning.js +124 -0
  111. package/dist/security/external-content.js +92 -0
  112. package/dist/security/ssrf.js +182 -0
  113. package/dist/slack/desktop-session.js +325 -0
  114. package/dist/tool-factory.js +48 -0
  115. package/dist/types.js +8 -0
  116. package/dist/utils/retry.js +133 -0
  117. package/dist/utils/safe-parse-json.js +161 -0
  118. package/dist/utils/url.js +20 -0
  119. package/dist-cjs/ask-user-interaction.js +28 -0
  120. package/dist-cjs/cache/web-cache.js +71 -0
  121. package/dist-cjs/definitions/arion.js +108 -0
  122. package/dist-cjs/definitions/browser/browser.js +422 -0
  123. package/dist-cjs/definitions/browser/index.js +9 -0
  124. package/dist-cjs/definitions/browser/pw-downloads.js +118 -0
  125. package/dist-cjs/definitions/browser/pw-interactions.js +214 -0
  126. package/dist-cjs/definitions/browser/pw-responses.js +85 -0
  127. package/dist-cjs/definitions/browser/pw-session.js +327 -0
  128. package/dist-cjs/definitions/browser/pw-shared.js +73 -0
  129. package/dist-cjs/definitions/browser/pw-snapshot.js +308 -0
  130. package/dist-cjs/definitions/browser/pw-state.js +71 -0
  131. package/dist-cjs/definitions/browser/types.js +6 -0
  132. package/dist-cjs/definitions/code-intelligence.js +474 -0
  133. package/dist-cjs/definitions/core.js +134 -0
  134. package/dist-cjs/definitions/delegation.js +516 -0
  135. package/dist-cjs/definitions/deploy.js +69 -0
  136. package/dist-cjs/definitions/filesystem.js +200 -0
  137. package/dist-cjs/definitions/frg.js +67 -0
  138. package/dist-cjs/definitions/index.js +44 -0
  139. package/dist-cjs/definitions/memory.js +127 -0
  140. package/dist-cjs/definitions/messaging.js +632 -0
  141. package/dist-cjs/definitions/meta.js +353 -0
  142. package/dist-cjs/definitions/network.js +163 -0
  143. package/dist-cjs/definitions/outlook.js +281 -0
  144. package/dist-cjs/definitions/patch/apply-patch.js +192 -0
  145. package/dist-cjs/definitions/patch/fuzzy-match.js +173 -0
  146. package/dist-cjs/definitions/patch/index.js +6 -0
  147. package/dist-cjs/definitions/patch/patch-parser.js +216 -0
  148. package/dist-cjs/definitions/patch/sandbox-paths.js +114 -0
  149. package/dist-cjs/definitions/process/index.js +9 -0
  150. package/dist-cjs/definitions/process/process-registry.js +232 -0
  151. package/dist-cjs/definitions/process/process.js +390 -0
  152. package/dist-cjs/definitions/process/pty-keys.js +260 -0
  153. package/dist-cjs/definitions/process/session-slug.js +146 -0
  154. package/dist-cjs/definitions/quip.js +199 -0
  155. package/dist-cjs/definitions/search.js +64 -0
  156. package/dist-cjs/definitions/session-history.js +73 -0
  157. package/dist-cjs/definitions/shell.js +185 -0
  158. package/dist-cjs/definitions/slack.js +184 -0
  159. package/dist-cjs/definitions/web.js +113 -0
  160. package/dist-cjs/executors/apply-patch.js +939 -0
  161. package/dist-cjs/executors/arion.js +126 -0
  162. package/dist-cjs/executors/code-intelligence.js +926 -0
  163. package/dist-cjs/executors/deploy.js +870 -0
  164. package/dist-cjs/executors/filesystem.js +1164 -0
  165. package/dist-cjs/executors/frg-freshness.js +628 -0
  166. package/dist-cjs/executors/frg.js +335 -0
  167. package/dist-cjs/executors/index.js +144 -0
  168. package/dist-cjs/executors/learning-meta.js +1166 -0
  169. package/dist-cjs/executors/memory.js +797 -0
  170. package/dist-cjs/executors/meta.js +227 -0
  171. package/dist-cjs/executors/process-registry.js +470 -0
  172. package/dist-cjs/executors/pty-session-store.js +35 -0
  173. package/dist-cjs/executors/pty.js +289 -0
  174. package/dist-cjs/executors/restart.js +156 -0
  175. package/dist-cjs/executors/search-freshness.js +235 -0
  176. package/dist-cjs/executors/search-types.js +57 -0
  177. package/dist-cjs/executors/search.js +103 -0
  178. package/dist-cjs/executors/self-diagnose.js +435 -0
  179. package/dist-cjs/executors/session-history.js +321 -0
  180. package/dist-cjs/executors/shell-safety.js +479 -0
  181. package/dist-cjs/executors/shell.js +1002 -0
  182. package/dist-cjs/executors/utils.js +74 -0
  183. package/dist-cjs/executors/web.js +548 -0
  184. package/dist-cjs/extraction/content-extraction.js +289 -0
  185. package/dist-cjs/extraction/index.js +9 -0
  186. package/dist-cjs/headless-control-contract.js +973 -0
  187. package/dist-cjs/index.js +436 -385
  188. package/dist-cjs/local-control-http-auth.js +6 -0
  189. package/dist-cjs/mcp/client.js +186 -0
  190. package/dist-cjs/mcp/connection.js +488 -0
  191. package/dist-cjs/mcp/index.js +31 -0
  192. package/dist-cjs/mcp/jsonrpc.js +149 -0
  193. package/dist-cjs/mcp/types.js +9 -0
  194. package/dist-cjs/network-control-adapter.js +78 -0
  195. package/dist-cjs/network-runtime/address-types.js +169 -0
  196. package/dist-cjs/network-runtime/db-owner-fencing.js +77 -0
  197. package/dist-cjs/network-runtime/delivery-receipts.js +279 -0
  198. package/dist-cjs/network-runtime/direct-endpoint-authority.js +30 -0
  199. package/dist-cjs/network-runtime/index.js +173 -8
  200. package/dist-cjs/network-runtime/local-control-contract.js +634 -0
  201. package/dist-cjs/network-runtime/node-store-contract.js +39 -0
  202. package/dist-cjs/network-runtime/pair-route-contract.js +81 -0
  203. package/dist-cjs/network-runtime/peer-capabilities.js +38 -0
  204. package/dist-cjs/network-runtime/peer-principal-ref.js +16 -0
  205. package/dist-cjs/network-runtime/peer-state-machine.js +130 -0
  206. package/dist-cjs/network-runtime/protocol-schemas.js +213 -0
  207. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +64 -0
  208. package/dist-cjs/outlook/desktop-session.js +319 -0
  209. package/dist-cjs/policy.js +156 -0
  210. package/dist-cjs/providers/brave.js +67 -0
  211. package/dist-cjs/providers/duckduckgo.js +181 -0
  212. package/dist-cjs/providers/exa.js +68 -0
  213. package/dist-cjs/providers/firecrawl.js +60 -0
  214. package/dist-cjs/providers/index.js +18 -0
  215. package/dist-cjs/providers/jina.js +54 -0
  216. package/dist-cjs/providers/router.js +101 -0
  217. package/dist-cjs/providers/search-provider.js +37 -0
  218. package/dist-cjs/providers/tavily.js +59 -0
  219. package/dist-cjs/quip/desktop-session.js +354 -0
  220. package/dist-cjs/registry/index.js +7 -0
  221. package/dist-cjs/registry/registry.js +762 -0
  222. package/dist-cjs/runtime-socket-local-control-client.js +368 -0
  223. package/dist-cjs/security/dns-normalization.js +23 -0
  224. package/dist-cjs/security/dns-pinning.js +161 -0
  225. package/dist-cjs/security/external-content.js +96 -0
  226. package/dist-cjs/security/ssrf.js +222 -0
  227. package/dist-cjs/slack/desktop-session.js +367 -0
  228. package/dist-cjs/tool-factory.js +51 -0
  229. package/dist-cjs/types.js +9 -0
  230. package/dist-cjs/utils/retry.js +170 -0
  231. package/dist-cjs/utils/safe-parse-json.js +165 -0
  232. package/dist-cjs/utils/url.js +24 -0
  233. package/package.json +11 -10
  234. package/dist/ask-user-interaction.d.ts +0 -10
  235. package/dist/cache/web-cache.d.ts +0 -52
  236. package/dist/definitions/arion.d.ts +0 -8
  237. package/dist/definitions/browser/browser.d.ts +0 -2
  238. package/dist/definitions/browser/index.d.ts +0 -1
  239. package/dist/definitions/browser/pw-downloads.d.ts +0 -13
  240. package/dist/definitions/browser/pw-interactions.d.ts +0 -78
  241. package/dist/definitions/browser/pw-responses.d.ts +0 -28
  242. package/dist/definitions/browser/pw-session.d.ts +0 -65
  243. package/dist/definitions/browser/pw-shared.d.ts +0 -22
  244. package/dist/definitions/browser/pw-snapshot.d.ts +0 -34
  245. package/dist/definitions/browser/pw-state.d.ts +0 -22
  246. package/dist/definitions/browser/types.d.ts +0 -277
  247. package/dist/definitions/code-intelligence.d.ts +0 -8
  248. package/dist/definitions/core.d.ts +0 -47
  249. package/dist/definitions/delegation.d.ts +0 -11
  250. package/dist/definitions/deploy.d.ts +0 -15
  251. package/dist/definitions/filesystem.d.ts +0 -9
  252. package/dist/definitions/frg.d.ts +0 -3
  253. package/dist/definitions/index.d.ts +0 -19
  254. package/dist/definitions/memory.d.ts +0 -8
  255. package/dist/definitions/messaging.d.ts +0 -11
  256. package/dist/definitions/meta.d.ts +0 -11
  257. package/dist/definitions/network.d.ts +0 -11
  258. package/dist/definitions/outlook.d.ts +0 -2
  259. package/dist/definitions/patch/apply-patch.d.ts +0 -11
  260. package/dist/definitions/patch/fuzzy-match.d.ts +0 -10
  261. package/dist/definitions/patch/index.d.ts +0 -1
  262. package/dist/definitions/patch/patch-parser.d.ts +0 -50
  263. package/dist/definitions/patch/sandbox-paths.d.ts +0 -18
  264. package/dist/definitions/process/index.d.ts +0 -1
  265. package/dist/definitions/process/process-registry.d.ts +0 -67
  266. package/dist/definitions/process/process.d.ts +0 -9
  267. package/dist/definitions/process/pty-keys.d.ts +0 -13
  268. package/dist/definitions/process/session-slug.d.ts +0 -1
  269. package/dist/definitions/quip.d.ts +0 -2
  270. package/dist/definitions/search.d.ts +0 -9
  271. package/dist/definitions/session-history.d.ts +0 -11
  272. package/dist/definitions/shell.d.ts +0 -8
  273. package/dist/definitions/slack.d.ts +0 -2
  274. package/dist/definitions/web.d.ts +0 -8
  275. package/dist/executors/apply-patch.d.ts +0 -51
  276. package/dist/executors/arion.d.ts +0 -50
  277. package/dist/executors/code-intelligence.d.ts +0 -138
  278. package/dist/executors/deploy.d.ts +0 -169
  279. package/dist/executors/filesystem.d.ts +0 -150
  280. package/dist/executors/frg-freshness.d.ts +0 -93
  281. package/dist/executors/frg.d.ts +0 -27
  282. package/dist/executors/index.d.ts +0 -44
  283. package/dist/executors/learning-meta.d.ts +0 -87
  284. package/dist/executors/lsp-client.d.ts +0 -38
  285. package/dist/executors/memory.d.ts +0 -203
  286. package/dist/executors/meta.d.ts +0 -73
  287. package/dist/executors/process-registry.d.ts +0 -98
  288. package/dist/executors/pty-session-store.d.ts +0 -14
  289. package/dist/executors/pty.d.ts +0 -133
  290. package/dist/executors/restart.d.ts +0 -13
  291. package/dist/executors/search-freshness.d.ts +0 -50
  292. package/dist/executors/search-types.d.ts +0 -52
  293. package/dist/executors/search.d.ts +0 -11
  294. package/dist/executors/self-diagnose.d.ts +0 -89
  295. package/dist/executors/session-history.d.ts +0 -75
  296. package/dist/executors/shell-safety.d.ts +0 -27
  297. package/dist/executors/shell.d.ts +0 -168
  298. package/dist/executors/utils.d.ts +0 -20
  299. package/dist/executors/web.d.ts +0 -89
  300. package/dist/extraction/content-extraction.d.ts +0 -48
  301. package/dist/extraction/index.d.ts +0 -4
  302. package/dist/headless-control-contract.d.ts +0 -3182
  303. package/dist/index.d.ts +0 -62
  304. package/dist/local-control-http-auth.d.ts +0 -2
  305. package/dist/mcp/client.d.ts +0 -68
  306. package/dist/mcp/connection.d.ts +0 -54
  307. package/dist/mcp/index.d.ts +0 -10
  308. package/dist/mcp/jsonrpc.d.ts +0 -36
  309. package/dist/mcp/types.d.ts +0 -178
  310. package/dist/network-control-adapter.d.ts +0 -4
  311. package/dist/network-runtime/address-types.d.ts +0 -201
  312. package/dist/network-runtime/db-owner-fencing.d.ts +0 -43
  313. package/dist/network-runtime/delivery-receipts.d.ts +0 -117
  314. package/dist/network-runtime/direct-endpoint-authority.d.ts +0 -8
  315. package/dist/network-runtime/index.d.ts +0 -24
  316. package/dist/network-runtime/local-control-contract.d.ts +0 -758
  317. package/dist/network-runtime/node-store-contract.d.ts +0 -49
  318. package/dist/network-runtime/pair-route-contract.d.ts +0 -100
  319. package/dist/network-runtime/peer-capabilities.d.ts +0 -10
  320. package/dist/network-runtime/peer-principal-ref.d.ts +0 -9
  321. package/dist/network-runtime/peer-state-machine.d.ts +0 -70
  322. package/dist/network-runtime/protocol-schemas.d.ts +0 -328
  323. package/dist/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
  324. package/dist/outlook/desktop-session.d.ts +0 -68
  325. package/dist/policy.d.ts +0 -43
  326. package/dist/providers/brave.d.ts +0 -10
  327. package/dist/providers/duckduckgo.d.ts +0 -18
  328. package/dist/providers/exa.d.ts +0 -10
  329. package/dist/providers/firecrawl.d.ts +0 -10
  330. package/dist/providers/index.d.ts +0 -8
  331. package/dist/providers/jina.d.ts +0 -10
  332. package/dist/providers/router.d.ts +0 -21
  333. package/dist/providers/search-provider.d.ts +0 -35
  334. package/dist/providers/tavily.d.ts +0 -10
  335. package/dist/pty-cf6pmvx6.js +0 -1
  336. package/dist/quip/desktop-session.d.ts +0 -69
  337. package/dist/registry/index.d.ts +0 -1
  338. package/dist/registry/registry.d.ts +0 -156
  339. package/dist/runtime-socket-local-control-client.d.ts +0 -10
  340. package/dist/security/dns-normalization.d.ts +0 -6
  341. package/dist/security/dns-pinning.d.ts +0 -27
  342. package/dist/security/external-content.d.ts +0 -40
  343. package/dist/security/ssrf.d.ts +0 -40
  344. package/dist/slack/desktop-session.d.ts +0 -69
  345. package/dist/tool-factory.d.ts +0 -46
  346. package/dist/types.d.ts +0 -1192
  347. package/dist/utils/retry.d.ts +0 -11
  348. package/dist/utils/safe-parse-json.d.ts +0 -26
  349. package/dist/utils/url.d.ts +0 -10
  350. package/dist-cjs/ask-user-interaction.d.ts +0 -10
  351. package/dist-cjs/cache/web-cache.d.ts +0 -52
  352. package/dist-cjs/definitions/arion.d.ts +0 -8
  353. package/dist-cjs/definitions/browser/browser.d.ts +0 -2
  354. package/dist-cjs/definitions/browser/index.d.ts +0 -1
  355. package/dist-cjs/definitions/browser/pw-downloads.d.ts +0 -13
  356. package/dist-cjs/definitions/browser/pw-interactions.d.ts +0 -78
  357. package/dist-cjs/definitions/browser/pw-responses.d.ts +0 -28
  358. package/dist-cjs/definitions/browser/pw-session.d.ts +0 -65
  359. package/dist-cjs/definitions/browser/pw-shared.d.ts +0 -22
  360. package/dist-cjs/definitions/browser/pw-snapshot.d.ts +0 -34
  361. package/dist-cjs/definitions/browser/pw-state.d.ts +0 -22
  362. package/dist-cjs/definitions/browser/types.d.ts +0 -277
  363. package/dist-cjs/definitions/code-intelligence.d.ts +0 -8
  364. package/dist-cjs/definitions/core.d.ts +0 -47
  365. package/dist-cjs/definitions/delegation.d.ts +0 -11
  366. package/dist-cjs/definitions/deploy.d.ts +0 -15
  367. package/dist-cjs/definitions/filesystem.d.ts +0 -9
  368. package/dist-cjs/definitions/frg.d.ts +0 -3
  369. package/dist-cjs/definitions/memory.d.ts +0 -8
  370. package/dist-cjs/definitions/messaging.d.ts +0 -11
  371. package/dist-cjs/definitions/meta.d.ts +0 -11
  372. package/dist-cjs/definitions/network.d.ts +0 -11
  373. package/dist-cjs/definitions/outlook.d.ts +0 -2
  374. package/dist-cjs/definitions/patch/apply-patch.d.ts +0 -11
  375. package/dist-cjs/definitions/patch/fuzzy-match.d.ts +0 -10
  376. package/dist-cjs/definitions/patch/patch-parser.d.ts +0 -50
  377. package/dist-cjs/definitions/patch/sandbox-paths.d.ts +0 -18
  378. package/dist-cjs/definitions/process/index.d.ts +0 -1
  379. package/dist-cjs/definitions/process/process-registry.d.ts +0 -67
  380. package/dist-cjs/definitions/process/process.d.ts +0 -9
  381. package/dist-cjs/definitions/process/pty-keys.d.ts +0 -13
  382. package/dist-cjs/definitions/process/session-slug.d.ts +0 -1
  383. package/dist-cjs/definitions/quip.d.ts +0 -2
  384. package/dist-cjs/definitions/search.d.ts +0 -9
  385. package/dist-cjs/definitions/session-history.d.ts +0 -11
  386. package/dist-cjs/definitions/shell.d.ts +0 -8
  387. package/dist-cjs/definitions/slack.d.ts +0 -2
  388. package/dist-cjs/definitions/web.d.ts +0 -8
  389. package/dist-cjs/executors/apply-patch.d.ts +0 -51
  390. package/dist-cjs/executors/arion.d.ts +0 -50
  391. package/dist-cjs/executors/code-intelligence.d.ts +0 -138
  392. package/dist-cjs/executors/deploy.d.ts +0 -169
  393. package/dist-cjs/executors/filesystem.d.ts +0 -150
  394. package/dist-cjs/executors/frg-freshness.d.ts +0 -93
  395. package/dist-cjs/executors/frg.d.ts +0 -27
  396. package/dist-cjs/executors/learning-meta.d.ts +0 -87
  397. package/dist-cjs/executors/lsp-client.d.ts +0 -38
  398. package/dist-cjs/executors/memory.d.ts +0 -203
  399. package/dist-cjs/executors/meta.d.ts +0 -73
  400. package/dist-cjs/executors/process-registry.d.ts +0 -98
  401. package/dist-cjs/executors/pty-session-store.d.ts +0 -14
  402. package/dist-cjs/executors/pty.d.ts +0 -133
  403. package/dist-cjs/executors/restart.d.ts +0 -13
  404. package/dist-cjs/executors/search-freshness.d.ts +0 -50
  405. package/dist-cjs/executors/search-types.d.ts +0 -52
  406. package/dist-cjs/executors/search.d.ts +0 -11
  407. package/dist-cjs/executors/self-diagnose.d.ts +0 -89
  408. package/dist-cjs/executors/session-history.d.ts +0 -75
  409. package/dist-cjs/executors/shell-safety.d.ts +0 -27
  410. package/dist-cjs/executors/shell.d.ts +0 -168
  411. package/dist-cjs/executors/utils.d.ts +0 -20
  412. package/dist-cjs/executors/web.d.ts +0 -89
  413. package/dist-cjs/extraction/content-extraction.d.ts +0 -48
  414. package/dist-cjs/extraction/index.d.ts +0 -4
  415. package/dist-cjs/headless-control-contract.d.ts +0 -3182
  416. package/dist-cjs/index.d.ts +0 -62
  417. package/dist-cjs/local-control-http-auth.d.ts +0 -2
  418. package/dist-cjs/mcp/client.d.ts +0 -68
  419. package/dist-cjs/mcp/connection.d.ts +0 -54
  420. package/dist-cjs/mcp/index.d.ts +0 -10
  421. package/dist-cjs/mcp/jsonrpc.d.ts +0 -36
  422. package/dist-cjs/mcp/types.d.ts +0 -178
  423. package/dist-cjs/network-control-adapter.d.ts +0 -4
  424. package/dist-cjs/network-runtime/address-types.d.ts +0 -201
  425. package/dist-cjs/network-runtime/db-owner-fencing.d.ts +0 -43
  426. package/dist-cjs/network-runtime/delivery-receipts.d.ts +0 -117
  427. package/dist-cjs/network-runtime/direct-endpoint-authority.d.ts +0 -8
  428. package/dist-cjs/network-runtime/index.d.ts +0 -24
  429. package/dist-cjs/network-runtime/local-control-contract.d.ts +0 -758
  430. package/dist-cjs/network-runtime/node-store-contract.d.ts +0 -49
  431. package/dist-cjs/network-runtime/pair-route-contract.d.ts +0 -100
  432. package/dist-cjs/network-runtime/peer-capabilities.d.ts +0 -10
  433. package/dist-cjs/network-runtime/peer-principal-ref.d.ts +0 -9
  434. package/dist-cjs/network-runtime/peer-state-machine.d.ts +0 -70
  435. package/dist-cjs/network-runtime/protocol-schemas.d.ts +0 -328
  436. package/dist-cjs/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
  437. package/dist-cjs/outlook/desktop-session.d.ts +0 -68
  438. package/dist-cjs/policy.d.ts +0 -43
  439. package/dist-cjs/providers/brave.d.ts +0 -10
  440. package/dist-cjs/providers/duckduckgo.d.ts +0 -18
  441. package/dist-cjs/providers/exa.d.ts +0 -10
  442. package/dist-cjs/providers/firecrawl.d.ts +0 -10
  443. package/dist-cjs/providers/jina.d.ts +0 -10
  444. package/dist-cjs/providers/router.d.ts +0 -21
  445. package/dist-cjs/providers/search-provider.d.ts +0 -35
  446. package/dist-cjs/providers/tavily.d.ts +0 -10
  447. package/dist-cjs/quip/desktop-session.d.ts +0 -69
  448. package/dist-cjs/registry/registry.d.ts +0 -156
  449. package/dist-cjs/runtime-socket-local-control-client.d.ts +0 -10
  450. package/dist-cjs/security/dns-normalization.d.ts +0 -6
  451. package/dist-cjs/security/dns-pinning.d.ts +0 -27
  452. package/dist-cjs/security/external-content.d.ts +0 -40
  453. package/dist-cjs/security/ssrf.d.ts +0 -40
  454. package/dist-cjs/slack/desktop-session.d.ts +0 -69
  455. package/dist-cjs/tool-factory.d.ts +0 -46
  456. package/dist-cjs/types.d.ts +0 -1192
  457. package/dist-cjs/utils/retry.d.ts +0 -11
  458. package/dist-cjs/utils/safe-parse-json.d.ts +0 -26
  459. package/dist-cjs/utils/url.d.ts +0 -10
@@ -0,0 +1,422 @@
1
+ "use strict";
2
+ // Originally from OpenClaw (MIT License, Copyright 2025 Peter Steinberger)
3
+ // https://github.com/openclaw/openclaw
4
+ // Modified for ARIA — stripped OpenClaw runtime, rewired to ARIA Tool interface
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.browserTool = void 0;
7
+ const pw_session_js_1 = require("./pw-session.js");
8
+ const pw_snapshot_js_1 = require("./pw-snapshot.js");
9
+ const pw_interactions_js_1 = require("./pw-interactions.js");
10
+ const pw_state_js_1 = require("./pw-state.js");
11
+ const pw_responses_js_1 = require("./pw-responses.js");
12
+ // ── JSON Schema for the action parameter ──────────────────────────────
13
+ const browserParameterSchema = {
14
+ type: "object",
15
+ properties: {
16
+ action: {
17
+ type: "string",
18
+ enum: [
19
+ "launch",
20
+ "close",
21
+ "navigate",
22
+ "snapshot",
23
+ "click",
24
+ "type",
25
+ "hover",
26
+ "drag",
27
+ "select_option",
28
+ "press_key",
29
+ "scroll",
30
+ "evaluate",
31
+ "screenshot",
32
+ "get_console",
33
+ "get_network",
34
+ "wait",
35
+ "tab_list",
36
+ "tab_new",
37
+ "tab_select",
38
+ "tab_close",
39
+ "cookies_get",
40
+ "cookies_set",
41
+ "cookies_clear",
42
+ "upload",
43
+ ],
44
+ description: "The browser action to perform. 'launch' is optional; actions auto-start a session when needed. Use 'snapshot' to read page content, refs like [e1] with 'click'/'type'.",
45
+ },
46
+ // launch
47
+ url: { type: "string", description: "URL to navigate to (for launch/navigate/tab_new)" },
48
+ headless: {
49
+ type: "boolean",
50
+ description: "Run browser without visible window (default: true)",
51
+ },
52
+ // snapshot
53
+ interactive: {
54
+ type: "boolean",
55
+ description: "Only show interactive elements in snapshot (buttons, links, inputs)",
56
+ },
57
+ // click/type/hover/drag/select_option/upload
58
+ ref: {
59
+ type: "string",
60
+ description: "Element ref from snapshot (e.g. 'e1', 'e5')",
61
+ },
62
+ text: { type: "string", description: "Text to type (for 'type' action)" },
63
+ submit: {
64
+ type: "boolean",
65
+ description: "Press Enter after typing (for 'type' action)",
66
+ },
67
+ slowly: {
68
+ type: "boolean",
69
+ description: "Type character by character instead of filling (for 'type' action)",
70
+ },
71
+ button: {
72
+ type: "string",
73
+ enum: ["left", "right", "middle"],
74
+ description: "Mouse button (for 'click' action)",
75
+ },
76
+ modifiers: {
77
+ type: "array",
78
+ items: { type: "string" },
79
+ description: "Keyboard modifiers (for 'click': Alt, Control, Meta, Shift)",
80
+ },
81
+ doubleClick: {
82
+ type: "boolean",
83
+ description: "Double-click instead of single click",
84
+ },
85
+ startRef: {
86
+ type: "string",
87
+ description: "Source element ref (for 'drag' action)",
88
+ },
89
+ endRef: {
90
+ type: "string",
91
+ description: "Target element ref (for 'drag' action)",
92
+ },
93
+ values: {
94
+ type: "array",
95
+ items: { type: "string" },
96
+ description: "Values to select (for 'select_option' action)",
97
+ },
98
+ // press_key
99
+ key: {
100
+ type: "string",
101
+ description: "Key to press (for 'press_key': Enter, Tab, Escape, ArrowDown, etc.)",
102
+ },
103
+ // scroll
104
+ direction: {
105
+ type: "string",
106
+ enum: ["up", "down"],
107
+ description: "Scroll direction",
108
+ },
109
+ amount: {
110
+ type: "number",
111
+ description: "Scroll amount in pixels (default: 500)",
112
+ },
113
+ // evaluate
114
+ script: {
115
+ type: "string",
116
+ description: "JavaScript to evaluate in browser context (for 'evaluate' action)",
117
+ },
118
+ // get_console
119
+ level: {
120
+ type: "string",
121
+ description: "Minimum console level filter (debug/info/warning/error)",
122
+ },
123
+ // get_network
124
+ filter: {
125
+ type: "string",
126
+ description: "URL substring filter for network requests",
127
+ },
128
+ // wait
129
+ selector: {
130
+ type: "string",
131
+ description: "CSS selector to wait for (for 'wait' action)",
132
+ },
133
+ timeout: {
134
+ type: "number",
135
+ description: "Timeout in milliseconds (for 'wait' action)",
136
+ },
137
+ // tab_select
138
+ index: {
139
+ type: "number",
140
+ description: "Tab index (for 'tab_select'/'tab_close')",
141
+ },
142
+ // cookies_set
143
+ cookies: {
144
+ type: "array",
145
+ items: {
146
+ type: "object",
147
+ properties: {
148
+ name: { type: "string" },
149
+ value: { type: "string" },
150
+ domain: { type: "string" },
151
+ path: { type: "string" },
152
+ },
153
+ required: ["name", "value", "domain"],
154
+ },
155
+ description: "Cookies to set (for 'cookies_set' action)",
156
+ },
157
+ // upload
158
+ paths: {
159
+ type: "array",
160
+ items: { type: "string" },
161
+ description: "File paths to upload (for 'upload' action)",
162
+ },
163
+ },
164
+ required: ["action"],
165
+ };
166
+ // ── Helpers ───────────────────────────────────────────────────────────
167
+ function ok(message, data) {
168
+ return { success: true, message, data };
169
+ }
170
+ function fail(message) {
171
+ return { success: false, message };
172
+ }
173
+ async function requireSession() {
174
+ const session = (0, pw_session_js_1.getSession)();
175
+ if (session) {
176
+ return session;
177
+ }
178
+ return (0, pw_session_js_1.launchBrowser)();
179
+ }
180
+ // ── Action dispatcher ─────────────────────────────────────────────────
181
+ async function executeBrowserAction(input) {
182
+ const action = input;
183
+ try {
184
+ switch (action.action) {
185
+ // ── Lifecycle ─────────────────────────────────────────────────
186
+ case "launch": {
187
+ const session = await (0, pw_session_js_1.launchBrowser)({
188
+ headless: action.headless,
189
+ url: action.url,
190
+ });
191
+ const url = session.page.url();
192
+ return ok(`Browser launched.${action.url ? ` Navigated to ${url}` : ""}\nUse 'snapshot' to see page content.`, { url });
193
+ }
194
+ case "close": {
195
+ await (0, pw_session_js_1.closeBrowser)();
196
+ return ok("Browser closed.");
197
+ }
198
+ // ── Navigation ────────────────────────────────────────────────
199
+ case "navigate": {
200
+ const session = await requireSession();
201
+ const result = await (0, pw_snapshot_js_1.navigatePage)(session.page, action.url);
202
+ (0, pw_session_js_1.setRefs)({}); // Refs are stale after navigation
203
+ return ok(`Navigated to ${result.url}. Use 'snapshot' to see page content.`, result);
204
+ }
205
+ // ── Snapshot ──────────────────────────────────────────────────
206
+ case "snapshot": {
207
+ const session = await requireSession();
208
+ const result = await (0, pw_snapshot_js_1.snapshotPage)(session.page, {
209
+ interactive: action.interactive,
210
+ });
211
+ (0, pw_session_js_1.setRefs)(result.refs);
212
+ const header = `Page: ${result.title}\nURL: ${result.url}\n` +
213
+ `Elements: ${result.stats.refs} total, ${result.stats.interactive} interactive\n\n`;
214
+ return ok(header + result.snapshot, {
215
+ url: result.url,
216
+ title: result.title,
217
+ stats: result.stats,
218
+ });
219
+ }
220
+ // ── Click ─────────────────────────────────────────────────────
221
+ case "click": {
222
+ const session = await requireSession();
223
+ await (0, pw_interactions_js_1.clickViaPlaywright)({
224
+ page: session.page,
225
+ refs: (0, pw_session_js_1.getRefs)(),
226
+ ref: action.ref,
227
+ doubleClick: action.doubleClick,
228
+ button: action.button,
229
+ modifiers: action.modifiers,
230
+ });
231
+ return ok(`Clicked ${action.ref}. Use 'snapshot' to see updated page.`);
232
+ }
233
+ // ── Type ──────────────────────────────────────────────────────
234
+ case "type": {
235
+ const session = await requireSession();
236
+ await (0, pw_interactions_js_1.typeViaPlaywright)({
237
+ page: session.page,
238
+ refs: (0, pw_session_js_1.getRefs)(),
239
+ ref: action.ref,
240
+ text: action.text,
241
+ submit: action.submit,
242
+ slowly: action.slowly,
243
+ });
244
+ return ok(`Typed "${action.text.length > 50 ? action.text.slice(0, 50) + "..." : action.text}" into ${action.ref}.${action.submit ? " Submitted with Enter." : ""}`);
245
+ }
246
+ // ── Hover ─────────────────────────────────────────────────────
247
+ case "hover": {
248
+ const session = await requireSession();
249
+ await (0, pw_interactions_js_1.hoverViaPlaywright)({
250
+ page: session.page,
251
+ refs: (0, pw_session_js_1.getRefs)(),
252
+ ref: action.ref,
253
+ });
254
+ return ok(`Hovered over ${action.ref}.`);
255
+ }
256
+ // ── Drag ──────────────────────────────────────────────────────
257
+ case "drag": {
258
+ const session = await requireSession();
259
+ await (0, pw_interactions_js_1.dragViaPlaywright)({
260
+ page: session.page,
261
+ refs: (0, pw_session_js_1.getRefs)(),
262
+ startRef: action.startRef,
263
+ endRef: action.endRef,
264
+ });
265
+ return ok(`Dragged ${action.startRef} to ${action.endRef}.`);
266
+ }
267
+ // ── Select option ─────────────────────────────────────────────
268
+ case "select_option": {
269
+ const session = await requireSession();
270
+ await (0, pw_interactions_js_1.selectOptionViaPlaywright)({
271
+ page: session.page,
272
+ refs: (0, pw_session_js_1.getRefs)(),
273
+ ref: action.ref,
274
+ values: action.values,
275
+ });
276
+ return ok(`Selected [${action.values.join(", ")}] in ${action.ref}.`);
277
+ }
278
+ // ── Key press ─────────────────────────────────────────────────
279
+ case "press_key": {
280
+ const session = await requireSession();
281
+ await (0, pw_interactions_js_1.pressKeyViaPlaywright)({
282
+ page: session.page,
283
+ key: action.key,
284
+ });
285
+ return ok(`Pressed key: ${action.key}`);
286
+ }
287
+ // ── Scroll ────────────────────────────────────────────────────
288
+ case "scroll": {
289
+ const session = await requireSession();
290
+ await (0, pw_interactions_js_1.scrollPage)({
291
+ page: session.page,
292
+ direction: action.direction,
293
+ amount: action.amount,
294
+ });
295
+ return ok(`Scrolled ${action.direction} ${action.amount ?? 500}px. Use 'snapshot' to see updated content.`);
296
+ }
297
+ // ── Evaluate ──────────────────────────────────────────────────
298
+ case "evaluate": {
299
+ const session = await requireSession();
300
+ const result = await (0, pw_interactions_js_1.evaluateViaPlaywright)({
301
+ page: session.page,
302
+ script: action.script,
303
+ });
304
+ const output = result === undefined
305
+ ? "undefined"
306
+ : typeof result === "string"
307
+ ? result
308
+ : JSON.stringify(result, null, 2);
309
+ return ok(output, { result });
310
+ }
311
+ // ── Screenshot ────────────────────────────────────────────────
312
+ case "screenshot": {
313
+ const session = await requireSession();
314
+ const buffer = await (0, pw_interactions_js_1.takeScreenshot)({ page: session.page });
315
+ const base64 = buffer.toString("base64");
316
+ return ok(`Screenshot taken (${buffer.length} bytes, base64-encoded).`, {
317
+ base64,
318
+ mimeType: "image/png",
319
+ });
320
+ }
321
+ // ── Console ───────────────────────────────────────────────────
322
+ case "get_console": {
323
+ await requireSession();
324
+ const messages = (0, pw_responses_js_1.filterConsoleMessages)((0, pw_session_js_1.getConsoleMessages)(), action.level);
325
+ return ok((0, pw_responses_js_1.formatConsoleMessages)(messages), { count: messages.length });
326
+ }
327
+ // ── Network ───────────────────────────────────────────────────
328
+ case "get_network": {
329
+ await requireSession();
330
+ const requests = (0, pw_responses_js_1.filterNetworkRequests)((0, pw_session_js_1.getNetworkRequests)(), action.filter);
331
+ return ok((0, pw_responses_js_1.formatNetworkRequests)(requests), { count: requests.length });
332
+ }
333
+ // ── Wait ──────────────────────────────────────────────────────
334
+ case "wait": {
335
+ const session = await requireSession();
336
+ await (0, pw_interactions_js_1.waitForCondition)({
337
+ page: session.page,
338
+ selector: action.selector,
339
+ text: action.text,
340
+ timeout: action.timeout,
341
+ });
342
+ return ok("Wait condition satisfied. Use 'snapshot' to see current page.");
343
+ }
344
+ // ── Tab management ────────────────────────────────────────────
345
+ case "tab_list": {
346
+ const tabs = (0, pw_session_js_1.listTabs)();
347
+ const desc = tabs
348
+ .map((t) => `[${t.index}]${t.active ? " (active)" : ""} ${t.url}`)
349
+ .join("\n");
350
+ return ok(desc || "No tabs open.", { tabs });
351
+ }
352
+ case "tab_new": {
353
+ const result = await (0, pw_session_js_1.newTab)(action.url);
354
+ return ok(`Opened new tab [${result.index}]: ${result.url}`, result);
355
+ }
356
+ case "tab_select": {
357
+ await requireSession();
358
+ const result = await (0, pw_session_js_1.selectTab)(action.index);
359
+ return ok(`Switched to tab ${action.index}: ${result.url}`, result);
360
+ }
361
+ case "tab_close": {
362
+ await (0, pw_session_js_1.closeTab)(action.index);
363
+ return ok(`Tab closed.${action.index !== undefined ? ` (index ${action.index})` : ""}`);
364
+ }
365
+ // ── Cookies ───────────────────────────────────────────────────
366
+ case "cookies_get": {
367
+ const session = await requireSession();
368
+ const result = await (0, pw_state_js_1.cookiesGet)(session.context);
369
+ const desc = result.cookies.length
370
+ ? result.cookies.map((c) => `${c.name}=${c.value} (${c.domain})`).join("\n")
371
+ : "No cookies.";
372
+ return ok(desc, result);
373
+ }
374
+ case "cookies_set": {
375
+ const session = await requireSession();
376
+ await (0, pw_state_js_1.cookiesSet)(session.context, action.cookies);
377
+ return ok(`Set ${action.cookies.length} cookie(s).`);
378
+ }
379
+ case "cookies_clear": {
380
+ const session = await requireSession();
381
+ await (0, pw_state_js_1.cookiesClear)(session.context);
382
+ return ok("All cookies cleared.");
383
+ }
384
+ // ── Upload ────────────────────────────────────────────────────
385
+ case "upload": {
386
+ const session = await requireSession();
387
+ await (0, pw_interactions_js_1.uploadFiles)({
388
+ page: session.page,
389
+ refs: (0, pw_session_js_1.getRefs)(),
390
+ ref: action.ref,
391
+ paths: action.paths,
392
+ });
393
+ return ok(`Uploaded ${action.paths.length} file(s) to ${action.ref}.`);
394
+ }
395
+ default: {
396
+ const exhaustive = action;
397
+ return fail(`Unknown browser action: ${exhaustive.action}`);
398
+ }
399
+ }
400
+ }
401
+ catch (err) {
402
+ const message = err instanceof Error ? err.message : String(err);
403
+ return fail(message);
404
+ }
405
+ }
406
+ // ── Tool definition ───────────────────────────────────────────────────
407
+ exports.browserTool = {
408
+ name: "browser",
409
+ description: "Control a web browser via Playwright. Supports navigation, clicking, typing, taking snapshots of page content, and more. " +
410
+ "Actions auto-start a browser session; use 'launch' only when you want explicit startup control. Use 'snapshot' to see the current page state as an accessibility tree with element refs like [e1], [e2]. " +
411
+ "Use those refs with 'click', 'type', 'hover', etc. to interact with elements. " +
412
+ "Use 'evaluate' to run JavaScript in the page context. Use 'screenshot' to capture the page visually.",
413
+ category: "web",
414
+ parameters: browserParameterSchema,
415
+ riskLevel: "moderate",
416
+ isReadOnly: false,
417
+ loadingTier: "always",
418
+ async execute(input, _context) {
419
+ return executeBrowserAction(input);
420
+ },
421
+ };
422
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ // Originally from OpenClaw (MIT License, Copyright 2025 Peter Steinberger)
3
+ // https://github.com/openclaw/openclaw
4
+ // Modified for ARIA — stripped OpenClaw runtime, rewired to ARIA Tool interface
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.browserTool = void 0;
7
+ var browser_js_1 = require("./browser.js");
8
+ Object.defineProperty(exports, "browserTool", { enumerable: true, get: function () { return browser_js_1.browserTool; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ // Originally from OpenClaw (MIT License, Copyright 2025 Peter Steinberger)
3
+ // https://github.com/openclaw/openclaw
4
+ // Modified for ARIA — stripped OpenClaw runtime, rewired to ARIA Tool interface
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.waitForDownload = waitForDownload;
7
+ /**
8
+ * File upload and download handling.
9
+ * Ported from OpenClaw's pw-tools-core.downloads.ts.
10
+ *
11
+ * Note: Upload is handled in pw-interactions.ts via setInputFiles.
12
+ * This module provides download capture via page "download" event.
13
+ */
14
+ const node_os_1 = require("node:os");
15
+ const node_path_1 = require("node:path");
16
+ const promises_1 = require("node:fs/promises");
17
+ const node_crypto_1 = require("node:crypto");
18
+ const pw_shared_js_1 = require("./pw-shared.js");
19
+ // ── Filename sanitization ─────────────────────────────────────────────
20
+ function sanitizeDownloadFileName(fileName) {
21
+ const trimmed = String(fileName ?? "").trim();
22
+ if (!trimmed) {
23
+ return "download.bin";
24
+ }
25
+ // Force a basename so path separators/traversal can't escape the downloads dir.
26
+ let base = (0, node_path_1.basename)(trimmed);
27
+ let cleaned = "";
28
+ for (let i = 0; i < base.length; i++) {
29
+ const code = base.charCodeAt(i);
30
+ if (code < 0x20 || code === 0x7f) {
31
+ continue;
32
+ }
33
+ cleaned += base[i];
34
+ }
35
+ base = cleaned.trim();
36
+ if (!base || base === "." || base === "..") {
37
+ return "download.bin";
38
+ }
39
+ if (base.length > 200) {
40
+ base = base.slice(0, 200);
41
+ }
42
+ return base;
43
+ }
44
+ function buildTempDownloadPath(fileName) {
45
+ const id = (0, node_crypto_1.randomUUID)();
46
+ const safeName = sanitizeDownloadFileName(fileName);
47
+ return (0, node_path_1.join)((0, node_os_1.tmpdir)(), "aria-downloads", `${id}-${safeName}`);
48
+ }
49
+ // ── Download waiter ───────────────────────────────────────────────────
50
+ function createPageDownloadWaiter(page, timeoutMs) {
51
+ let done = false;
52
+ let timer;
53
+ let handler;
54
+ const cleanup = () => {
55
+ if (timer) {
56
+ clearTimeout(timer);
57
+ }
58
+ timer = undefined;
59
+ if (handler) {
60
+ page.off("download", handler);
61
+ handler = undefined;
62
+ }
63
+ };
64
+ const promise = new Promise((resolveP, reject) => {
65
+ handler = (download) => {
66
+ if (done) {
67
+ return;
68
+ }
69
+ done = true;
70
+ cleanup();
71
+ resolveP(download);
72
+ };
73
+ page.on("download", handler);
74
+ timer = setTimeout(() => {
75
+ if (done) {
76
+ return;
77
+ }
78
+ done = true;
79
+ cleanup();
80
+ reject(new Error("Timeout waiting for download"));
81
+ }, timeoutMs);
82
+ });
83
+ return {
84
+ promise,
85
+ cancel: () => {
86
+ if (done) {
87
+ return;
88
+ }
89
+ done = true;
90
+ cleanup();
91
+ },
92
+ };
93
+ }
94
+ // ── Public API ────────────────────────────────────────────────────────
95
+ /**
96
+ * Wait for the next download event on the page and save the file.
97
+ */
98
+ async function waitForDownload(opts) {
99
+ const timeout = (0, pw_shared_js_1.normalizeTimeoutMs)(opts.timeoutMs, 120_000);
100
+ const waiter = createPageDownloadWaiter(opts.page, timeout);
101
+ try {
102
+ const download = (await waiter.promise);
103
+ const suggested = download.suggestedFilename?.() || "download.bin";
104
+ const outPath = opts.path?.trim() || buildTempDownloadPath(suggested);
105
+ await (0, promises_1.mkdir)((0, node_path_1.dirname)(outPath), { recursive: true });
106
+ await download.saveAs?.(outPath);
107
+ return {
108
+ url: download.url?.() || "",
109
+ suggestedFilename: suggested,
110
+ path: (0, node_path_1.resolve)(outPath),
111
+ };
112
+ }
113
+ catch (err) {
114
+ waiter.cancel();
115
+ throw err;
116
+ }
117
+ }
118
+ //# sourceMappingURL=pw-downloads.js.map