@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,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DuckDuckGoSearchProvider = void 0;
4
+ const search_provider_js_1 = require("./search-provider.js");
5
+ class DuckDuckGoSearchProvider {
6
+ name = "duckduckgo";
7
+ requiresApiKey = false;
8
+ priority = 6;
9
+ isAvailable() {
10
+ // DuckDuckGo is always available (no API key required)
11
+ return true;
12
+ }
13
+ async search(query, options) {
14
+ const limit = options?.limit ?? 5;
15
+ // DuckDuckGo HTML search endpoint (we'll parse the HTML response)
16
+ // The Instant Answer API doesn't provide web search results, only factoids
17
+ const url = new URL("https://html.duckduckgo.com/html/");
18
+ url.searchParams.set("q", query);
19
+ const { signal, cleanup } = (0, search_provider_js_1.createProviderAbortSignal)(30_000, options?.signal);
20
+ try {
21
+ const response = await fetch(url.toString(), {
22
+ method: "GET",
23
+ signal,
24
+ headers: {
25
+ "User-Agent": "Mozilla/5.0 (compatible; ARIA/1.0)",
26
+ },
27
+ });
28
+ if (!response.ok) {
29
+ throw new Error(`DuckDuckGo Search error: ${response.status} ${response.statusText}`);
30
+ }
31
+ const html = await response.text();
32
+ // Parse HTML to extract search results
33
+ // DuckDuckGo HTML results have result__a (title/url) and result__snippet (description)
34
+ const results = [];
35
+ // First pass: extract all result__a links (title + url)
36
+ const linkMap = new Map();
37
+ const linkRegex = /<a(?=[^>]*\bclass=(["'])[^"']*\bresult__a\b[^"']*\1)(?=[^>]*\bhref=(["'])(.*?)\2)[^>]*>([\s\S]*?)<\/a>/gi;
38
+ let match;
39
+ let resultAnchorCount = 0;
40
+ while ((match = linkRegex.exec(html)) !== null) {
41
+ const rawHref = match[3];
42
+ const rawTitle = match[4];
43
+ if (!rawHref || !rawTitle) {
44
+ continue;
45
+ }
46
+ resultAnchorCount++;
47
+ const url = this.resolveDuckDuckGoResultUrl(rawHref);
48
+ if (!url) {
49
+ continue;
50
+ }
51
+ const title = this.stripHtmlTags(rawTitle);
52
+ if (!title) {
53
+ continue;
54
+ }
55
+ linkMap.set(url, { title, url });
56
+ }
57
+ // If DDG returned result anchors but we extracted zero usable URLs, parsing is stale.
58
+ // Throw to allow router fallback rather than silently returning empty results.
59
+ if (resultAnchorCount > 0 && linkMap.size === 0) {
60
+ throw new Error("Could not resolve any result URLs from DuckDuckGo response");
61
+ }
62
+ // Second pass: extract snippets
63
+ const snippetRegex = /<(?:a|div|span)(?=[^>]*\bclass=(["'])[^"']*\bresult__snippet\b[^"']*\1)[^>]*>([\s\S]*?)<\/(?:a|div|span)>/gi;
64
+ const snippets = [];
65
+ while ((match = snippetRegex.exec(html)) !== null) {
66
+ const rawSnippet = match[2];
67
+ snippets.push(this.stripHtmlTags(rawSnippet ?? ""));
68
+ }
69
+ // Combine results (matching by order, which should align)
70
+ const linkEntries = Array.from(linkMap.values());
71
+ for (let i = 0; i < Math.min(linkEntries.length, limit); i++) {
72
+ const link = linkEntries[i];
73
+ if (!link) {
74
+ continue;
75
+ }
76
+ const snippet = snippets[i] || link.title;
77
+ results.push({
78
+ title: link.title,
79
+ url: link.url,
80
+ content: snippet,
81
+ });
82
+ }
83
+ return results;
84
+ }
85
+ finally {
86
+ cleanup();
87
+ }
88
+ }
89
+ /**
90
+ * Strip HTML tags from a string
91
+ */
92
+ stripHtmlTags(html) {
93
+ return html
94
+ .replace(/<[^>]*>/g, "")
95
+ .replace(/&nbsp;/g, " ")
96
+ .replace(/&amp;/g, "&")
97
+ .replace(/&lt;/g, "<")
98
+ .replace(/&gt;/g, ">")
99
+ .replace(/&quot;/g, '"')
100
+ .replace(/&#39;/g, "'")
101
+ .trim();
102
+ }
103
+ /**
104
+ * Decode HTML entities in URLs
105
+ */
106
+ decodeHtmlEntities(text) {
107
+ return text
108
+ .replace(/&amp;/g, "&")
109
+ .replace(/&lt;/g, "<")
110
+ .replace(/&gt;/g, ">")
111
+ .replace(/&quot;/g, '"')
112
+ .replace(/&#39;/g, "'");
113
+ }
114
+ resolveDuckDuckGoResultUrl(rawHref) {
115
+ const decodedHref = this.decodeHtmlEntities(rawHref).trim();
116
+ if (!decodedHref) {
117
+ return null;
118
+ }
119
+ let absoluteHref = decodedHref;
120
+ if (absoluteHref.startsWith("//")) {
121
+ absoluteHref = `https:${absoluteHref}`;
122
+ }
123
+ else if (absoluteHref.startsWith("/")) {
124
+ absoluteHref = `https://duckduckgo.com${absoluteHref}`;
125
+ }
126
+ let parsed;
127
+ try {
128
+ parsed = new URL(absoluteHref);
129
+ }
130
+ catch {
131
+ return null;
132
+ }
133
+ const hostname = parsed.hostname.toLowerCase();
134
+ if (hostname === "duckduckgo.com" || hostname.endsWith(".duckduckgo.com")) {
135
+ const redirected = parsed.searchParams.get("uddg");
136
+ if (!redirected) {
137
+ return null;
138
+ }
139
+ return this.normalizeResultUrl(redirected);
140
+ }
141
+ return this.normalizeResultUrl(absoluteHref);
142
+ }
143
+ normalizeResultUrl(candidate) {
144
+ let value = candidate.trim();
145
+ if (!value) {
146
+ return null;
147
+ }
148
+ if (value.startsWith("//")) {
149
+ value = `https:${value}`;
150
+ }
151
+ // Some uddg values are encoded multiple times; decode at most twice.
152
+ for (let i = 0; i < 2; i++) {
153
+ try {
154
+ const decoded = decodeURIComponent(value);
155
+ if (decoded === value) {
156
+ break;
157
+ }
158
+ value = decoded;
159
+ }
160
+ catch {
161
+ break;
162
+ }
163
+ }
164
+ try {
165
+ const parsed = new URL(value);
166
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
167
+ return null;
168
+ }
169
+ const hostname = parsed.hostname.toLowerCase();
170
+ if (hostname === "duckduckgo.com" || hostname.endsWith(".duckduckgo.com")) {
171
+ return null;
172
+ }
173
+ return parsed.toString();
174
+ }
175
+ catch {
176
+ return null;
177
+ }
178
+ }
179
+ }
180
+ exports.DuckDuckGoSearchProvider = DuckDuckGoSearchProvider;
181
+ //# sourceMappingURL=duckduckgo.js.map
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExaSearchProvider = void 0;
4
+ const search_provider_js_1 = require("./search-provider.js");
5
+ class ExaSearchProvider {
6
+ env;
7
+ name = "exa";
8
+ requiresApiKey = true;
9
+ priority = 3;
10
+ constructor(env = process.env) {
11
+ this.env = env;
12
+ }
13
+ isAvailable() {
14
+ const apiKey = (0, search_provider_js_1.resolveSearchProviderEnv)(this.env).EXA_API_KEY;
15
+ return Boolean(apiKey && apiKey.trim().length > 0);
16
+ }
17
+ async search(query, options) {
18
+ const apiKey = (0, search_provider_js_1.resolveSearchProviderEnv)(this.env).EXA_API_KEY;
19
+ if (!apiKey) {
20
+ throw new Error("EXA_API_KEY environment variable is not set");
21
+ }
22
+ const limit = options?.limit ?? 5;
23
+ const body = {
24
+ query,
25
+ numResults: limit,
26
+ useAutoprompt: true,
27
+ contents: {
28
+ text: true,
29
+ },
30
+ };
31
+ // Domain filtering
32
+ if (options?.domains) {
33
+ body.includeDomains = options.domains;
34
+ }
35
+ if (options?.excludeDomains) {
36
+ body.excludeDomains = options.excludeDomains;
37
+ }
38
+ const { signal, cleanup } = (0, search_provider_js_1.createProviderAbortSignal)(30_000, options?.signal);
39
+ try {
40
+ const response = await fetch("https://api.exa.ai/search", {
41
+ method: "POST",
42
+ headers: {
43
+ "Content-Type": "application/json",
44
+ "x-api-key": apiKey,
45
+ },
46
+ body: JSON.stringify(body),
47
+ signal,
48
+ });
49
+ if (!response.ok) {
50
+ throw new Error(`Exa Search API error: ${response.status} ${response.statusText}`);
51
+ }
52
+ const json = await response.json();
53
+ const results = (json.results || []);
54
+ return results.map((r) => ({
55
+ title: r.title,
56
+ url: r.url,
57
+ content: r.text || "",
58
+ score: r.score,
59
+ publishedDate: r.publishedDate,
60
+ }));
61
+ }
62
+ finally {
63
+ cleanup();
64
+ }
65
+ }
66
+ }
67
+ exports.ExaSearchProvider = ExaSearchProvider;
68
+ //# sourceMappingURL=exa.js.map
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirecrawlSearchProvider = void 0;
4
+ const search_provider_js_1 = require("./search-provider.js");
5
+ class FirecrawlSearchProvider {
6
+ env;
7
+ name = "firecrawl";
8
+ requiresApiKey = true;
9
+ priority = 2;
10
+ constructor(env = process.env) {
11
+ this.env = env;
12
+ }
13
+ isAvailable() {
14
+ const apiKey = (0, search_provider_js_1.resolveSearchProviderEnv)(this.env).FIRECRAWL_API_KEY;
15
+ return Boolean(apiKey && apiKey.trim().length > 0);
16
+ }
17
+ async search(query, options) {
18
+ const apiKey = (0, search_provider_js_1.resolveSearchProviderEnv)(this.env).FIRECRAWL_API_KEY;
19
+ if (!apiKey) {
20
+ throw new Error("FIRECRAWL_API_KEY environment variable is not set");
21
+ }
22
+ const limit = options?.limit ?? 5;
23
+ const body = {
24
+ query,
25
+ limit,
26
+ };
27
+ const { signal, cleanup } = (0, search_provider_js_1.createProviderAbortSignal)(30_000, options?.signal);
28
+ try {
29
+ const response = await fetch("https://api.firecrawl.dev/v1/search", {
30
+ method: "POST",
31
+ headers: {
32
+ "Content-Type": "application/json",
33
+ Authorization: `Bearer ${apiKey}`,
34
+ },
35
+ body: JSON.stringify(body),
36
+ signal,
37
+ });
38
+ if (!response.ok) {
39
+ throw new Error(`Firecrawl Search API error: ${response.status} ${response.statusText}`);
40
+ }
41
+ const json = await response.json();
42
+ // Firecrawl can return 200 with success: false
43
+ if (json.success === false) {
44
+ throw new Error(`Firecrawl API error: ${json.error || "Unknown error"}`);
45
+ }
46
+ const results = (json.data || []);
47
+ return results.map((r) => ({
48
+ title: r.title,
49
+ url: r.url,
50
+ content: r.markdown || "",
51
+ score: r.score,
52
+ }));
53
+ }
54
+ finally {
55
+ cleanup();
56
+ }
57
+ }
58
+ }
59
+ exports.FirecrawlSearchProvider = FirecrawlSearchProvider;
60
+ //# sourceMappingURL=firecrawl.js.map
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SearchProviderRouter = exports.FirecrawlSearchProvider = exports.ExaSearchProvider = exports.BraveSearchProvider = exports.TavilySearchProvider = exports.DuckDuckGoSearchProvider = exports.JinaSearchProvider = void 0;
4
+ var jina_js_1 = require("./jina.js");
5
+ Object.defineProperty(exports, "JinaSearchProvider", { enumerable: true, get: function () { return jina_js_1.JinaSearchProvider; } });
6
+ var duckduckgo_js_1 = require("./duckduckgo.js");
7
+ Object.defineProperty(exports, "DuckDuckGoSearchProvider", { enumerable: true, get: function () { return duckduckgo_js_1.DuckDuckGoSearchProvider; } });
8
+ var tavily_js_1 = require("./tavily.js");
9
+ Object.defineProperty(exports, "TavilySearchProvider", { enumerable: true, get: function () { return tavily_js_1.TavilySearchProvider; } });
10
+ var brave_js_1 = require("./brave.js");
11
+ Object.defineProperty(exports, "BraveSearchProvider", { enumerable: true, get: function () { return brave_js_1.BraveSearchProvider; } });
12
+ var exa_js_1 = require("./exa.js");
13
+ Object.defineProperty(exports, "ExaSearchProvider", { enumerable: true, get: function () { return exa_js_1.ExaSearchProvider; } });
14
+ var firecrawl_js_1 = require("./firecrawl.js");
15
+ Object.defineProperty(exports, "FirecrawlSearchProvider", { enumerable: true, get: function () { return firecrawl_js_1.FirecrawlSearchProvider; } });
16
+ var router_js_1 = require("./router.js");
17
+ Object.defineProperty(exports, "SearchProviderRouter", { enumerable: true, get: function () { return router_js_1.SearchProviderRouter; } });
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JinaSearchProvider = void 0;
4
+ const search_provider_js_1 = require("./search-provider.js");
5
+ class JinaSearchProvider {
6
+ env;
7
+ name = "jina";
8
+ requiresApiKey = false;
9
+ priority = 5;
10
+ constructor(env = process.env) {
11
+ this.env = env;
12
+ }
13
+ isAvailable() {
14
+ // Jina works without an API key (20 req/min), or with a key (200 req/min)
15
+ return true;
16
+ }
17
+ async search(query, options) {
18
+ const apiKey = (0, search_provider_js_1.resolveSearchProviderEnv)(this.env).JINA_API_KEY;
19
+ const limit = options?.limit ?? 5;
20
+ const url = new URL("https://s.jina.ai/");
21
+ url.searchParams.set("q", query);
22
+ const headers = {
23
+ Accept: "application/json",
24
+ };
25
+ if (apiKey) {
26
+ headers.Authorization = `Bearer ${apiKey}`;
27
+ }
28
+ const { signal, cleanup } = (0, search_provider_js_1.createProviderAbortSignal)(30_000, options?.signal);
29
+ try {
30
+ const response = await fetch(url.toString(), {
31
+ method: "GET",
32
+ headers,
33
+ signal,
34
+ });
35
+ if (!response.ok) {
36
+ throw new Error(`Jina Search API error: ${response.status} ${response.statusText}`);
37
+ }
38
+ const json = await response.json();
39
+ const results = (json.data || []);
40
+ // Apply limit client-side
41
+ return results.slice(0, limit).map((r) => ({
42
+ title: r.title,
43
+ url: r.url,
44
+ content: r.content,
45
+ score: r.score,
46
+ }));
47
+ }
48
+ finally {
49
+ cleanup();
50
+ }
51
+ }
52
+ }
53
+ exports.JinaSearchProvider = JinaSearchProvider;
54
+ //# sourceMappingURL=jina.js.map
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SearchProviderRouter = void 0;
4
+ const types_1 = require("@aria-cli/types");
5
+ const search_provider_js_1 = require("./search-provider.js");
6
+ class SearchProviderRouter {
7
+ _providers;
8
+ env;
9
+ constructor(_providers, env = process.env) {
10
+ this._providers = _providers;
11
+ this.env = env;
12
+ }
13
+ /**
14
+ * Resolves the best available search provider.
15
+ * Priority:
16
+ * 1. Explicit override via ARIA_SEARCH_PROVIDER env var
17
+ * 2. Highest-priority available provider (lowest priority number)
18
+ * @throws {Error} if no providers are available or override is invalid
19
+ */
20
+ resolve() {
21
+ const env = (0, search_provider_js_1.resolveSearchProviderEnv)(this.env);
22
+ // 1. Check for explicit override
23
+ const override = env.ARIA_SEARCH_PROVIDER;
24
+ if (override) {
25
+ const provider = this._providers.find((p) => p.name === override);
26
+ if (!provider) {
27
+ throw new Error(`ARIA_SEARCH_PROVIDER override '${override}' not found in provider registry`);
28
+ }
29
+ // Verify the overridden provider is actually available (e.g., has API key)
30
+ if (!provider.isAvailable()) {
31
+ // Fall through to default priority-based routing
32
+ types_1.log.debug(`[SearchProviderRouter] ARIA_SEARCH_PROVIDER override '${override}' is not available, falling back to priority routing`);
33
+ }
34
+ else {
35
+ return provider;
36
+ }
37
+ }
38
+ // 2. Select first available provider by priority (lower number = higher priority)
39
+ const sorted = [...this._providers].sort((a, b) => a.priority - b.priority);
40
+ const available = sorted.find((p) => p.isAvailable());
41
+ if (!available) {
42
+ throw new Error("No search providers available. Set at least one API key (BRAVE_API_KEY, TAVILY_API_KEY, etc.)");
43
+ }
44
+ return available;
45
+ }
46
+ /**
47
+ * Performs a search with automatic fallback.
48
+ * Tries providers in priority order (resolved provider first, then others).
49
+ * Circuit breaker: stops at first successful response.
50
+ * @throws {AggregateError} if all providers fail
51
+ */
52
+ async search(query, options) {
53
+ if (options?.signal?.aborted) {
54
+ throw new Error("Search aborted");
55
+ }
56
+ const env = (0, search_provider_js_1.resolveSearchProviderEnv)(this.env);
57
+ // Get all available providers sorted by priority
58
+ const availableProviders = [...this._providers]
59
+ .filter((p) => p.isAvailable())
60
+ .sort((a, b) => a.priority - b.priority);
61
+ if (availableProviders.length === 0) {
62
+ throw new Error("No search providers available");
63
+ }
64
+ // Honor ARIA_SEARCH_PROVIDER override: try the override provider first
65
+ const override = env.ARIA_SEARCH_PROVIDER;
66
+ if (override) {
67
+ const overrideProvider = availableProviders.find((p) => p.name === override);
68
+ if (overrideProvider) {
69
+ // Move override provider to front of the list
70
+ const reordered = [
71
+ overrideProvider,
72
+ ...availableProviders.filter((p) => p.name !== override),
73
+ ];
74
+ availableProviders.length = 0;
75
+ availableProviders.push(...reordered);
76
+ }
77
+ }
78
+ const errors = [];
79
+ // Try each provider in order
80
+ for (const provider of availableProviders) {
81
+ if (options?.signal?.aborted) {
82
+ throw new Error("Search aborted");
83
+ }
84
+ try {
85
+ const results = await provider.search(query, options);
86
+ return results; // Circuit breaker: return on first success
87
+ }
88
+ catch (error) {
89
+ if (options?.signal?.aborted) {
90
+ throw error instanceof Error ? error : new Error("Search aborted");
91
+ }
92
+ errors.push(error instanceof Error ? error : new Error(`Unknown error from ${provider.name}`));
93
+ // Continue to next provider
94
+ }
95
+ }
96
+ // All providers failed
97
+ throw new AggregateError(errors, `All search providers failed (tried ${availableProviders.length} providers)`);
98
+ }
99
+ }
100
+ exports.SearchProviderRouter = SearchProviderRouter;
101
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveSearchProviderEnv = resolveSearchProviderEnv;
4
+ exports.createProviderAbortSignal = createProviderAbortSignal;
5
+ function resolveSearchProviderEnv(env = process.env) {
6
+ return {
7
+ ARIA_SEARCH_PROVIDER: env.ARIA_SEARCH_PROVIDER,
8
+ BRAVE_API_KEY: env.BRAVE_API_KEY,
9
+ FIRECRAWL_API_KEY: env.FIRECRAWL_API_KEY,
10
+ EXA_API_KEY: env.EXA_API_KEY,
11
+ TAVILY_API_KEY: env.TAVILY_API_KEY,
12
+ JINA_API_KEY: env.JINA_API_KEY,
13
+ };
14
+ }
15
+ function createProviderAbortSignal(timeoutMs, callerSignal) {
16
+ const controller = new AbortController();
17
+ const onCallerAbort = () => controller.abort();
18
+ if (callerSignal) {
19
+ if (callerSignal.aborted) {
20
+ controller.abort();
21
+ }
22
+ else {
23
+ callerSignal.addEventListener("abort", onCallerAbort, { once: true });
24
+ }
25
+ }
26
+ const timeout = setTimeout(() => controller.abort(), timeoutMs);
27
+ return {
28
+ signal: controller.signal,
29
+ cleanup: () => {
30
+ clearTimeout(timeout);
31
+ if (callerSignal) {
32
+ callerSignal.removeEventListener("abort", onCallerAbort);
33
+ }
34
+ },
35
+ };
36
+ }
37
+ //# sourceMappingURL=search-provider.js.map
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TavilySearchProvider = void 0;
4
+ const search_provider_js_1 = require("./search-provider.js");
5
+ class TavilySearchProvider {
6
+ env;
7
+ name = "tavily";
8
+ requiresApiKey = true;
9
+ priority = 4;
10
+ constructor(env = process.env) {
11
+ this.env = env;
12
+ }
13
+ isAvailable() {
14
+ const apiKey = (0, search_provider_js_1.resolveSearchProviderEnv)(this.env).TAVILY_API_KEY;
15
+ return Boolean(apiKey && apiKey.trim().length > 0);
16
+ }
17
+ async search(query, options) {
18
+ const apiKey = (0, search_provider_js_1.resolveSearchProviderEnv)(this.env).TAVILY_API_KEY;
19
+ if (!apiKey) {
20
+ throw new Error("TAVILY_API_KEY environment variable is not set");
21
+ }
22
+ const limit = options?.limit ?? 5;
23
+ const body = {
24
+ api_key: apiKey,
25
+ query,
26
+ max_results: limit,
27
+ ...(options?.topic && { topic: options.topic }),
28
+ ...(options?.domains && { include_domains: options.domains }),
29
+ ...(options?.excludeDomains && { exclude_domains: options.excludeDomains }),
30
+ };
31
+ const { signal, cleanup } = (0, search_provider_js_1.createProviderAbortSignal)(30_000, options?.signal);
32
+ try {
33
+ const response = await fetch("https://api.tavily.com/search", {
34
+ method: "POST",
35
+ headers: {
36
+ "Content-Type": "application/json",
37
+ },
38
+ body: JSON.stringify(body),
39
+ signal,
40
+ });
41
+ if (!response.ok) {
42
+ throw new Error(`Tavily Search API error: ${response.status} ${response.statusText}`);
43
+ }
44
+ const json = await response.json();
45
+ const results = (json.results || []);
46
+ return results.map((r) => ({
47
+ title: r.title,
48
+ url: r.url,
49
+ content: r.content,
50
+ score: r.score,
51
+ }));
52
+ }
53
+ finally {
54
+ cleanup();
55
+ }
56
+ }
57
+ }
58
+ exports.TavilySearchProvider = TavilySearchProvider;
59
+ //# sourceMappingURL=tavily.js.map