@aria-cli/tools 1.0.18 → 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 (466) 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/{dns-pinning-vc0r0vpx.js → dns-pinning-7szqhtmq.js} +1 -1
  44. package/dist/executors/apply-patch.js +902 -0
  45. package/dist/executors/arion.js +120 -0
  46. package/dist/executors/code-intelligence.js +883 -0
  47. package/dist/executors/deploy.js +849 -0
  48. package/dist/executors/filesystem.js +1119 -0
  49. package/dist/executors/frg-freshness.js +577 -0
  50. package/dist/executors/frg.js +299 -0
  51. package/{dist-cjs/executors/index.d.ts → dist/executors/index.js} +22 -19
  52. package/dist/executors/learning-meta.js +1147 -0
  53. package/dist/executors/lsp-client.js +297 -0
  54. package/dist/executors/memory.js +751 -0
  55. package/dist/executors/meta.js +221 -0
  56. package/dist/executors/process-registry.js +466 -0
  57. package/dist/executors/pty-session-store.js +31 -0
  58. package/dist/executors/pty.js +281 -0
  59. package/dist/executors/restart.js +120 -0
  60. package/dist/executors/search-freshness.js +196 -0
  61. package/dist/executors/search-types.js +53 -0
  62. package/dist/executors/search.js +67 -0
  63. package/dist/executors/self-diagnose.js +399 -0
  64. package/dist/executors/session-history.js +284 -0
  65. package/dist/executors/shell-safety.js +474 -0
  66. package/dist/executors/shell.js +955 -0
  67. package/dist/executors/utils.js +34 -0
  68. package/dist/executors/web.js +543 -0
  69. package/dist/extraction/content-extraction.js +248 -0
  70. package/dist/extraction/index.js +5 -0
  71. package/dist/headless-control-contract.js +968 -0
  72. package/dist/{index-x52t2mbj.js → index-45qvfjbf.js} +2 -2
  73. package/dist/{index-8xap0se3.js → index-b3sdwzh5.js} +1 -1
  74. package/dist/index-tvryzx00.js +2 -0
  75. package/dist/index.js +71 -372
  76. package/dist/local-control-http-auth.js +3 -0
  77. package/dist/{lsp-client-msnj763y.js → lsp-client-3qxptwyw.js} +1 -1
  78. package/dist/mcp/client.js +182 -0
  79. package/dist/mcp/connection.js +484 -0
  80. package/dist/mcp/index.js +11 -0
  81. package/dist/mcp/jsonrpc.js +145 -0
  82. package/dist/mcp/types.js +8 -0
  83. package/dist/network-control-adapter.js +73 -0
  84. package/dist/network-runtime/address-types.js +166 -0
  85. package/dist/network-runtime/db-owner-fencing.js +70 -0
  86. package/dist/network-runtime/delivery-receipts.js +270 -0
  87. package/dist/network-runtime/direct-endpoint-authority.js +26 -0
  88. package/dist/network-runtime/index.js +13 -1
  89. package/dist/network-runtime/local-control-contract.js +628 -0
  90. package/dist/network-runtime/node-store-contract.js +35 -0
  91. package/dist/network-runtime/pair-route-contract.js +78 -0
  92. package/dist/network-runtime/peer-capabilities.js +29 -0
  93. package/dist/network-runtime/peer-principal-ref.js +13 -0
  94. package/dist/network-runtime/peer-state-machine.js +122 -0
  95. package/dist/network-runtime/protocol-schemas.js +206 -0
  96. package/dist/network-runtime/runtime-bootstrap-contract.js +61 -0
  97. package/dist/outlook/desktop-session.js +280 -0
  98. package/dist/policy.js +150 -0
  99. package/dist/providers/brave.js +63 -0
  100. package/dist/providers/duckduckgo.js +177 -0
  101. package/dist/providers/exa.js +64 -0
  102. package/dist/providers/firecrawl.js +56 -0
  103. package/{dist-cjs/providers/index.d.ts → dist/providers/index.js} +1 -1
  104. package/dist/providers/jina.js +50 -0
  105. package/dist/providers/router.js +97 -0
  106. package/dist/providers/search-provider.js +33 -0
  107. package/dist/providers/tavily.js +55 -0
  108. package/dist/pty-w5c9dv33.js +1 -0
  109. package/dist/quip/desktop-session.js +318 -0
  110. package/{dist-cjs/registry/index.d.ts → dist/registry/index.js} +1 -0
  111. package/dist/registry/registry.js +757 -0
  112. package/dist/runtime-socket-local-control-client.js +331 -0
  113. package/dist/security/dns-normalization.js +20 -0
  114. package/dist/security/dns-pinning.js +124 -0
  115. package/dist/security/external-content.js +92 -0
  116. package/dist/security/ssrf.js +182 -0
  117. package/dist/session-history-gk75e3ta.js +1 -0
  118. package/dist/slack/desktop-session.js +325 -0
  119. package/dist/tool-factory.js +48 -0
  120. package/dist/types.js +8 -0
  121. package/dist/utils/retry.js +133 -0
  122. package/dist/utils/safe-parse-json.js +161 -0
  123. package/dist/utils/url.js +20 -0
  124. package/dist-cjs/ask-user-interaction.js +28 -0
  125. package/dist-cjs/cache/web-cache.js +71 -0
  126. package/dist-cjs/definitions/arion.js +108 -0
  127. package/dist-cjs/definitions/browser/browser.js +422 -0
  128. package/dist-cjs/definitions/browser/index.js +9 -0
  129. package/dist-cjs/definitions/browser/pw-downloads.js +118 -0
  130. package/dist-cjs/definitions/browser/pw-interactions.js +214 -0
  131. package/dist-cjs/definitions/browser/pw-responses.js +85 -0
  132. package/dist-cjs/definitions/browser/pw-session.js +327 -0
  133. package/dist-cjs/definitions/browser/pw-shared.js +73 -0
  134. package/dist-cjs/definitions/browser/pw-snapshot.js +308 -0
  135. package/dist-cjs/definitions/browser/pw-state.js +71 -0
  136. package/dist-cjs/definitions/browser/types.js +6 -0
  137. package/dist-cjs/definitions/code-intelligence.js +474 -0
  138. package/dist-cjs/definitions/core.js +134 -0
  139. package/dist-cjs/definitions/delegation.js +516 -0
  140. package/dist-cjs/definitions/deploy.js +69 -0
  141. package/dist-cjs/definitions/filesystem.js +200 -0
  142. package/dist-cjs/definitions/frg.js +67 -0
  143. package/dist-cjs/definitions/index.js +44 -0
  144. package/dist-cjs/definitions/memory.js +127 -0
  145. package/dist-cjs/definitions/messaging.js +632 -0
  146. package/dist-cjs/definitions/meta.js +353 -0
  147. package/dist-cjs/definitions/network.js +163 -0
  148. package/dist-cjs/definitions/outlook.js +281 -0
  149. package/dist-cjs/definitions/patch/apply-patch.js +192 -0
  150. package/dist-cjs/definitions/patch/fuzzy-match.js +173 -0
  151. package/dist-cjs/definitions/patch/index.js +6 -0
  152. package/dist-cjs/definitions/patch/patch-parser.js +216 -0
  153. package/dist-cjs/definitions/patch/sandbox-paths.js +114 -0
  154. package/dist-cjs/definitions/process/index.js +9 -0
  155. package/dist-cjs/definitions/process/process-registry.js +232 -0
  156. package/dist-cjs/definitions/process/process.js +390 -0
  157. package/dist-cjs/definitions/process/pty-keys.js +260 -0
  158. package/dist-cjs/definitions/process/session-slug.js +146 -0
  159. package/dist-cjs/definitions/quip.js +199 -0
  160. package/dist-cjs/definitions/search.js +64 -0
  161. package/dist-cjs/definitions/session-history.js +73 -0
  162. package/dist-cjs/definitions/shell.js +185 -0
  163. package/dist-cjs/definitions/slack.js +184 -0
  164. package/dist-cjs/definitions/web.js +113 -0
  165. package/dist-cjs/executors/apply-patch.js +939 -0
  166. package/dist-cjs/executors/arion.js +126 -0
  167. package/dist-cjs/executors/code-intelligence.js +926 -0
  168. package/dist-cjs/executors/deploy.js +870 -0
  169. package/dist-cjs/executors/filesystem.js +1164 -0
  170. package/dist-cjs/executors/frg-freshness.js +628 -0
  171. package/dist-cjs/executors/frg.js +335 -0
  172. package/dist-cjs/executors/index.js +144 -0
  173. package/dist-cjs/executors/learning-meta.js +1166 -0
  174. package/dist-cjs/executors/memory.js +797 -0
  175. package/dist-cjs/executors/meta.js +227 -0
  176. package/dist-cjs/executors/process-registry.js +470 -0
  177. package/dist-cjs/executors/pty-session-store.js +35 -0
  178. package/dist-cjs/executors/pty.js +289 -0
  179. package/dist-cjs/executors/restart.js +156 -0
  180. package/dist-cjs/executors/search-freshness.js +235 -0
  181. package/dist-cjs/executors/search-types.js +57 -0
  182. package/dist-cjs/executors/search.js +103 -0
  183. package/dist-cjs/executors/self-diagnose.js +435 -0
  184. package/dist-cjs/executors/session-history.js +321 -0
  185. package/dist-cjs/executors/shell-safety.js +479 -0
  186. package/dist-cjs/executors/shell.js +1002 -0
  187. package/dist-cjs/executors/utils.js +74 -0
  188. package/dist-cjs/executors/web.js +548 -0
  189. package/dist-cjs/extraction/content-extraction.js +289 -0
  190. package/dist-cjs/extraction/index.js +9 -0
  191. package/dist-cjs/headless-control-contract.js +973 -0
  192. package/dist-cjs/index.js +436 -385
  193. package/dist-cjs/local-control-http-auth.js +6 -0
  194. package/dist-cjs/mcp/client.js +186 -0
  195. package/dist-cjs/mcp/connection.js +488 -0
  196. package/dist-cjs/mcp/index.js +31 -0
  197. package/dist-cjs/mcp/jsonrpc.js +149 -0
  198. package/dist-cjs/mcp/types.js +9 -0
  199. package/dist-cjs/network-control-adapter.js +78 -0
  200. package/dist-cjs/network-runtime/address-types.js +169 -0
  201. package/dist-cjs/network-runtime/db-owner-fencing.js +77 -0
  202. package/dist-cjs/network-runtime/delivery-receipts.js +279 -0
  203. package/dist-cjs/network-runtime/direct-endpoint-authority.js +30 -0
  204. package/dist-cjs/network-runtime/index.js +173 -8
  205. package/dist-cjs/network-runtime/local-control-contract.js +634 -0
  206. package/dist-cjs/network-runtime/node-store-contract.js +39 -0
  207. package/dist-cjs/network-runtime/pair-route-contract.js +81 -0
  208. package/dist-cjs/network-runtime/peer-capabilities.js +38 -0
  209. package/dist-cjs/network-runtime/peer-principal-ref.js +16 -0
  210. package/dist-cjs/network-runtime/peer-state-machine.js +130 -0
  211. package/dist-cjs/network-runtime/protocol-schemas.js +213 -0
  212. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +64 -0
  213. package/dist-cjs/outlook/desktop-session.js +319 -0
  214. package/dist-cjs/policy.js +156 -0
  215. package/dist-cjs/providers/brave.js +67 -0
  216. package/dist-cjs/providers/duckduckgo.js +181 -0
  217. package/dist-cjs/providers/exa.js +68 -0
  218. package/dist-cjs/providers/firecrawl.js +60 -0
  219. package/dist-cjs/providers/index.js +18 -0
  220. package/dist-cjs/providers/jina.js +54 -0
  221. package/dist-cjs/providers/router.js +101 -0
  222. package/dist-cjs/providers/search-provider.js +37 -0
  223. package/dist-cjs/providers/tavily.js +59 -0
  224. package/dist-cjs/quip/desktop-session.js +354 -0
  225. package/dist-cjs/registry/index.js +7 -0
  226. package/dist-cjs/registry/registry.js +762 -0
  227. package/dist-cjs/runtime-socket-local-control-client.js +368 -0
  228. package/dist-cjs/security/dns-normalization.js +23 -0
  229. package/dist-cjs/security/dns-pinning.js +161 -0
  230. package/dist-cjs/security/external-content.js +96 -0
  231. package/dist-cjs/security/ssrf.js +222 -0
  232. package/dist-cjs/slack/desktop-session.js +367 -0
  233. package/dist-cjs/tool-factory.js +51 -0
  234. package/dist-cjs/types.js +9 -0
  235. package/dist-cjs/utils/retry.js +170 -0
  236. package/dist-cjs/utils/safe-parse-json.js +165 -0
  237. package/dist-cjs/utils/url.js +24 -0
  238. package/package.json +11 -10
  239. package/dist/ask-user-interaction.d.ts +0 -10
  240. package/dist/cache/web-cache.d.ts +0 -52
  241. package/dist/definitions/arion.d.ts +0 -8
  242. package/dist/definitions/browser/browser.d.ts +0 -2
  243. package/dist/definitions/browser/index.d.ts +0 -1
  244. package/dist/definitions/browser/pw-downloads.d.ts +0 -13
  245. package/dist/definitions/browser/pw-interactions.d.ts +0 -78
  246. package/dist/definitions/browser/pw-responses.d.ts +0 -28
  247. package/dist/definitions/browser/pw-session.d.ts +0 -65
  248. package/dist/definitions/browser/pw-shared.d.ts +0 -22
  249. package/dist/definitions/browser/pw-snapshot.d.ts +0 -34
  250. package/dist/definitions/browser/pw-state.d.ts +0 -22
  251. package/dist/definitions/browser/types.d.ts +0 -277
  252. package/dist/definitions/code-intelligence.d.ts +0 -8
  253. package/dist/definitions/core.d.ts +0 -47
  254. package/dist/definitions/delegation.d.ts +0 -11
  255. package/dist/definitions/deploy.d.ts +0 -15
  256. package/dist/definitions/filesystem.d.ts +0 -9
  257. package/dist/definitions/frg.d.ts +0 -3
  258. package/dist/definitions/index.d.ts +0 -19
  259. package/dist/definitions/memory.d.ts +0 -8
  260. package/dist/definitions/messaging.d.ts +0 -11
  261. package/dist/definitions/meta.d.ts +0 -11
  262. package/dist/definitions/network.d.ts +0 -11
  263. package/dist/definitions/outlook.d.ts +0 -2
  264. package/dist/definitions/patch/apply-patch.d.ts +0 -11
  265. package/dist/definitions/patch/fuzzy-match.d.ts +0 -10
  266. package/dist/definitions/patch/index.d.ts +0 -1
  267. package/dist/definitions/patch/patch-parser.d.ts +0 -50
  268. package/dist/definitions/patch/sandbox-paths.d.ts +0 -18
  269. package/dist/definitions/process/index.d.ts +0 -1
  270. package/dist/definitions/process/process-registry.d.ts +0 -67
  271. package/dist/definitions/process/process.d.ts +0 -9
  272. package/dist/definitions/process/pty-keys.d.ts +0 -13
  273. package/dist/definitions/process/session-slug.d.ts +0 -1
  274. package/dist/definitions/quip.d.ts +0 -2
  275. package/dist/definitions/search.d.ts +0 -9
  276. package/dist/definitions/session-history.d.ts +0 -11
  277. package/dist/definitions/shell.d.ts +0 -8
  278. package/dist/definitions/slack.d.ts +0 -2
  279. package/dist/definitions/web.d.ts +0 -8
  280. package/dist/executors/apply-patch.d.ts +0 -51
  281. package/dist/executors/arion.d.ts +0 -50
  282. package/dist/executors/code-intelligence.d.ts +0 -138
  283. package/dist/executors/deploy.d.ts +0 -169
  284. package/dist/executors/filesystem.d.ts +0 -150
  285. package/dist/executors/frg-freshness.d.ts +0 -93
  286. package/dist/executors/frg.d.ts +0 -27
  287. package/dist/executors/index.d.ts +0 -44
  288. package/dist/executors/learning-meta.d.ts +0 -87
  289. package/dist/executors/lsp-client.d.ts +0 -38
  290. package/dist/executors/memory.d.ts +0 -203
  291. package/dist/executors/meta.d.ts +0 -73
  292. package/dist/executors/process-registry.d.ts +0 -98
  293. package/dist/executors/pty-session-store.d.ts +0 -14
  294. package/dist/executors/pty.d.ts +0 -133
  295. package/dist/executors/restart.d.ts +0 -13
  296. package/dist/executors/search-freshness.d.ts +0 -50
  297. package/dist/executors/search-types.d.ts +0 -52
  298. package/dist/executors/search.d.ts +0 -11
  299. package/dist/executors/self-diagnose.d.ts +0 -89
  300. package/dist/executors/session-history.d.ts +0 -75
  301. package/dist/executors/shell-safety.d.ts +0 -27
  302. package/dist/executors/shell.d.ts +0 -168
  303. package/dist/executors/utils.d.ts +0 -20
  304. package/dist/executors/web.d.ts +0 -89
  305. package/dist/extraction/content-extraction.d.ts +0 -48
  306. package/dist/extraction/index.d.ts +0 -4
  307. package/dist/headless-control-contract.d.ts +0 -3182
  308. package/dist/index-a2fr1b3x.js +0 -2
  309. package/dist/index.d.ts +0 -62
  310. package/dist/local-control-http-auth.d.ts +0 -2
  311. package/dist/mcp/client.d.ts +0 -68
  312. package/dist/mcp/connection.d.ts +0 -54
  313. package/dist/mcp/index.d.ts +0 -10
  314. package/dist/mcp/jsonrpc.d.ts +0 -36
  315. package/dist/mcp/types.d.ts +0 -178
  316. package/dist/network-control-adapter.d.ts +0 -4
  317. package/dist/network-runtime/address-types.d.ts +0 -201
  318. package/dist/network-runtime/db-owner-fencing.d.ts +0 -43
  319. package/dist/network-runtime/delivery-receipts.d.ts +0 -117
  320. package/dist/network-runtime/direct-endpoint-authority.d.ts +0 -8
  321. package/dist/network-runtime/index.d.ts +0 -24
  322. package/dist/network-runtime/local-control-contract.d.ts +0 -758
  323. package/dist/network-runtime/node-store-contract.d.ts +0 -49
  324. package/dist/network-runtime/pair-route-contract.d.ts +0 -100
  325. package/dist/network-runtime/peer-capabilities.d.ts +0 -10
  326. package/dist/network-runtime/peer-principal-ref.d.ts +0 -9
  327. package/dist/network-runtime/peer-state-machine.d.ts +0 -70
  328. package/dist/network-runtime/protocol-schemas.d.ts +0 -328
  329. package/dist/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
  330. package/dist/outlook/desktop-session.d.ts +0 -68
  331. package/dist/policy.d.ts +0 -43
  332. package/dist/providers/brave.d.ts +0 -10
  333. package/dist/providers/duckduckgo.d.ts +0 -18
  334. package/dist/providers/exa.d.ts +0 -10
  335. package/dist/providers/firecrawl.d.ts +0 -10
  336. package/dist/providers/index.d.ts +0 -8
  337. package/dist/providers/jina.d.ts +0 -10
  338. package/dist/providers/router.d.ts +0 -21
  339. package/dist/providers/search-provider.d.ts +0 -35
  340. package/dist/providers/tavily.d.ts +0 -10
  341. package/dist/pty-ff59hy75.js +0 -1
  342. package/dist/quip/desktop-session.d.ts +0 -69
  343. package/dist/registry/index.d.ts +0 -1
  344. package/dist/registry/registry.d.ts +0 -156
  345. package/dist/runtime-socket-local-control-client.d.ts +0 -10
  346. package/dist/security/dns-normalization.d.ts +0 -6
  347. package/dist/security/dns-pinning.d.ts +0 -27
  348. package/dist/security/external-content.d.ts +0 -40
  349. package/dist/security/ssrf.d.ts +0 -40
  350. package/dist/session-history-6gn52xhp.js +0 -1
  351. package/dist/slack/desktop-session.d.ts +0 -69
  352. package/dist/tool-factory.d.ts +0 -46
  353. package/dist/types.d.ts +0 -1192
  354. package/dist/utils/retry.d.ts +0 -11
  355. package/dist/utils/safe-parse-json.d.ts +0 -26
  356. package/dist/utils/url.d.ts +0 -10
  357. package/dist-cjs/ask-user-interaction.d.ts +0 -10
  358. package/dist-cjs/cache/web-cache.d.ts +0 -52
  359. package/dist-cjs/definitions/arion.d.ts +0 -8
  360. package/dist-cjs/definitions/browser/browser.d.ts +0 -2
  361. package/dist-cjs/definitions/browser/index.d.ts +0 -1
  362. package/dist-cjs/definitions/browser/pw-downloads.d.ts +0 -13
  363. package/dist-cjs/definitions/browser/pw-interactions.d.ts +0 -78
  364. package/dist-cjs/definitions/browser/pw-responses.d.ts +0 -28
  365. package/dist-cjs/definitions/browser/pw-session.d.ts +0 -65
  366. package/dist-cjs/definitions/browser/pw-shared.d.ts +0 -22
  367. package/dist-cjs/definitions/browser/pw-snapshot.d.ts +0 -34
  368. package/dist-cjs/definitions/browser/pw-state.d.ts +0 -22
  369. package/dist-cjs/definitions/browser/types.d.ts +0 -277
  370. package/dist-cjs/definitions/code-intelligence.d.ts +0 -8
  371. package/dist-cjs/definitions/core.d.ts +0 -47
  372. package/dist-cjs/definitions/delegation.d.ts +0 -11
  373. package/dist-cjs/definitions/deploy.d.ts +0 -15
  374. package/dist-cjs/definitions/filesystem.d.ts +0 -9
  375. package/dist-cjs/definitions/frg.d.ts +0 -3
  376. package/dist-cjs/definitions/memory.d.ts +0 -8
  377. package/dist-cjs/definitions/messaging.d.ts +0 -11
  378. package/dist-cjs/definitions/meta.d.ts +0 -11
  379. package/dist-cjs/definitions/network.d.ts +0 -11
  380. package/dist-cjs/definitions/outlook.d.ts +0 -2
  381. package/dist-cjs/definitions/patch/apply-patch.d.ts +0 -11
  382. package/dist-cjs/definitions/patch/fuzzy-match.d.ts +0 -10
  383. package/dist-cjs/definitions/patch/patch-parser.d.ts +0 -50
  384. package/dist-cjs/definitions/patch/sandbox-paths.d.ts +0 -18
  385. package/dist-cjs/definitions/process/index.d.ts +0 -1
  386. package/dist-cjs/definitions/process/process-registry.d.ts +0 -67
  387. package/dist-cjs/definitions/process/process.d.ts +0 -9
  388. package/dist-cjs/definitions/process/pty-keys.d.ts +0 -13
  389. package/dist-cjs/definitions/process/session-slug.d.ts +0 -1
  390. package/dist-cjs/definitions/quip.d.ts +0 -2
  391. package/dist-cjs/definitions/search.d.ts +0 -9
  392. package/dist-cjs/definitions/session-history.d.ts +0 -11
  393. package/dist-cjs/definitions/shell.d.ts +0 -8
  394. package/dist-cjs/definitions/slack.d.ts +0 -2
  395. package/dist-cjs/definitions/web.d.ts +0 -8
  396. package/dist-cjs/executors/apply-patch.d.ts +0 -51
  397. package/dist-cjs/executors/arion.d.ts +0 -50
  398. package/dist-cjs/executors/code-intelligence.d.ts +0 -138
  399. package/dist-cjs/executors/deploy.d.ts +0 -169
  400. package/dist-cjs/executors/filesystem.d.ts +0 -150
  401. package/dist-cjs/executors/frg-freshness.d.ts +0 -93
  402. package/dist-cjs/executors/frg.d.ts +0 -27
  403. package/dist-cjs/executors/learning-meta.d.ts +0 -87
  404. package/dist-cjs/executors/lsp-client.d.ts +0 -38
  405. package/dist-cjs/executors/memory.d.ts +0 -203
  406. package/dist-cjs/executors/meta.d.ts +0 -73
  407. package/dist-cjs/executors/process-registry.d.ts +0 -98
  408. package/dist-cjs/executors/pty-session-store.d.ts +0 -14
  409. package/dist-cjs/executors/pty.d.ts +0 -133
  410. package/dist-cjs/executors/restart.d.ts +0 -13
  411. package/dist-cjs/executors/search-freshness.d.ts +0 -50
  412. package/dist-cjs/executors/search-types.d.ts +0 -52
  413. package/dist-cjs/executors/search.d.ts +0 -11
  414. package/dist-cjs/executors/self-diagnose.d.ts +0 -89
  415. package/dist-cjs/executors/session-history.d.ts +0 -75
  416. package/dist-cjs/executors/shell-safety.d.ts +0 -27
  417. package/dist-cjs/executors/shell.d.ts +0 -168
  418. package/dist-cjs/executors/utils.d.ts +0 -20
  419. package/dist-cjs/executors/web.d.ts +0 -89
  420. package/dist-cjs/extraction/content-extraction.d.ts +0 -48
  421. package/dist-cjs/extraction/index.d.ts +0 -4
  422. package/dist-cjs/headless-control-contract.d.ts +0 -3182
  423. package/dist-cjs/index.d.ts +0 -62
  424. package/dist-cjs/local-control-http-auth.d.ts +0 -2
  425. package/dist-cjs/mcp/client.d.ts +0 -68
  426. package/dist-cjs/mcp/connection.d.ts +0 -54
  427. package/dist-cjs/mcp/index.d.ts +0 -10
  428. package/dist-cjs/mcp/jsonrpc.d.ts +0 -36
  429. package/dist-cjs/mcp/types.d.ts +0 -178
  430. package/dist-cjs/network-control-adapter.d.ts +0 -4
  431. package/dist-cjs/network-runtime/address-types.d.ts +0 -201
  432. package/dist-cjs/network-runtime/db-owner-fencing.d.ts +0 -43
  433. package/dist-cjs/network-runtime/delivery-receipts.d.ts +0 -117
  434. package/dist-cjs/network-runtime/direct-endpoint-authority.d.ts +0 -8
  435. package/dist-cjs/network-runtime/index.d.ts +0 -24
  436. package/dist-cjs/network-runtime/local-control-contract.d.ts +0 -758
  437. package/dist-cjs/network-runtime/node-store-contract.d.ts +0 -49
  438. package/dist-cjs/network-runtime/pair-route-contract.d.ts +0 -100
  439. package/dist-cjs/network-runtime/peer-capabilities.d.ts +0 -10
  440. package/dist-cjs/network-runtime/peer-principal-ref.d.ts +0 -9
  441. package/dist-cjs/network-runtime/peer-state-machine.d.ts +0 -70
  442. package/dist-cjs/network-runtime/protocol-schemas.d.ts +0 -328
  443. package/dist-cjs/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
  444. package/dist-cjs/outlook/desktop-session.d.ts +0 -68
  445. package/dist-cjs/policy.d.ts +0 -43
  446. package/dist-cjs/providers/brave.d.ts +0 -10
  447. package/dist-cjs/providers/duckduckgo.d.ts +0 -18
  448. package/dist-cjs/providers/exa.d.ts +0 -10
  449. package/dist-cjs/providers/firecrawl.d.ts +0 -10
  450. package/dist-cjs/providers/jina.d.ts +0 -10
  451. package/dist-cjs/providers/router.d.ts +0 -21
  452. package/dist-cjs/providers/search-provider.d.ts +0 -35
  453. package/dist-cjs/providers/tavily.d.ts +0 -10
  454. package/dist-cjs/quip/desktop-session.d.ts +0 -69
  455. package/dist-cjs/registry/registry.d.ts +0 -156
  456. package/dist-cjs/runtime-socket-local-control-client.d.ts +0 -10
  457. package/dist-cjs/security/dns-normalization.d.ts +0 -6
  458. package/dist-cjs/security/dns-pinning.d.ts +0 -27
  459. package/dist-cjs/security/external-content.d.ts +0 -40
  460. package/dist-cjs/security/ssrf.d.ts +0 -40
  461. package/dist-cjs/slack/desktop-session.d.ts +0 -69
  462. package/dist-cjs/tool-factory.d.ts +0 -46
  463. package/dist-cjs/types.d.ts +0 -1192
  464. package/dist-cjs/utils/retry.d.ts +0 -11
  465. package/dist-cjs/utils/safe-parse-json.d.ts +0 -26
  466. 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