@aria-cli/tools 1.0.10 → 1.0.11

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 (348) hide show
  1. package/dist-cjs/.tsbuildinfo +1 -0
  2. package/dist-cjs/ask-user-interaction.d.ts +10 -0
  3. package/dist-cjs/ask-user-interaction.js +28 -0
  4. package/dist-cjs/ask-user-interaction.js.map +1 -0
  5. package/dist-cjs/cache/web-cache.d.ts +52 -0
  6. package/dist-cjs/cache/web-cache.js +71 -0
  7. package/dist-cjs/cache/web-cache.js.map +1 -0
  8. package/dist-cjs/definitions/arion.d.ts +8 -0
  9. package/dist-cjs/definitions/arion.js +108 -0
  10. package/dist-cjs/definitions/arion.js.map +1 -0
  11. package/dist-cjs/definitions/browser/browser.d.ts +2 -0
  12. package/dist-cjs/definitions/browser/browser.js +422 -0
  13. package/dist-cjs/definitions/browser/browser.js.map +1 -0
  14. package/dist-cjs/definitions/browser/index.d.ts +1 -0
  15. package/dist-cjs/definitions/browser/index.js +9 -0
  16. package/dist-cjs/definitions/browser/index.js.map +1 -0
  17. package/dist-cjs/definitions/browser/pw-downloads.d.ts +13 -0
  18. package/dist-cjs/definitions/browser/pw-downloads.js +118 -0
  19. package/dist-cjs/definitions/browser/pw-downloads.js.map +1 -0
  20. package/dist-cjs/definitions/browser/pw-interactions.d.ts +78 -0
  21. package/dist-cjs/definitions/browser/pw-interactions.js +214 -0
  22. package/dist-cjs/definitions/browser/pw-interactions.js.map +1 -0
  23. package/dist-cjs/definitions/browser/pw-responses.d.ts +28 -0
  24. package/dist-cjs/definitions/browser/pw-responses.js +85 -0
  25. package/dist-cjs/definitions/browser/pw-responses.js.map +1 -0
  26. package/dist-cjs/definitions/browser/pw-session.d.ts +65 -0
  27. package/dist-cjs/definitions/browser/pw-session.js +327 -0
  28. package/dist-cjs/definitions/browser/pw-session.js.map +1 -0
  29. package/dist-cjs/definitions/browser/pw-shared.d.ts +22 -0
  30. package/dist-cjs/definitions/browser/pw-shared.js +73 -0
  31. package/dist-cjs/definitions/browser/pw-shared.js.map +1 -0
  32. package/dist-cjs/definitions/browser/pw-snapshot.d.ts +34 -0
  33. package/dist-cjs/definitions/browser/pw-snapshot.js +308 -0
  34. package/dist-cjs/definitions/browser/pw-snapshot.js.map +1 -0
  35. package/dist-cjs/definitions/browser/pw-state.d.ts +22 -0
  36. package/dist-cjs/definitions/browser/pw-state.js +71 -0
  37. package/dist-cjs/definitions/browser/pw-state.js.map +1 -0
  38. package/dist-cjs/definitions/browser/types.d.ts +277 -0
  39. package/dist-cjs/definitions/browser/types.js +6 -0
  40. package/dist-cjs/definitions/browser/types.js.map +1 -0
  41. package/dist-cjs/definitions/code-intelligence.d.ts +8 -0
  42. package/dist-cjs/definitions/code-intelligence.js +474 -0
  43. package/dist-cjs/definitions/code-intelligence.js.map +1 -0
  44. package/dist-cjs/definitions/core.d.ts +47 -0
  45. package/dist-cjs/definitions/core.js +134 -0
  46. package/dist-cjs/definitions/core.js.map +1 -0
  47. package/dist-cjs/definitions/delegation.d.ts +11 -0
  48. package/dist-cjs/definitions/delegation.js +516 -0
  49. package/dist-cjs/definitions/delegation.js.map +1 -0
  50. package/dist-cjs/definitions/deploy.d.ts +15 -0
  51. package/dist-cjs/definitions/deploy.js +69 -0
  52. package/dist-cjs/definitions/deploy.js.map +1 -0
  53. package/dist-cjs/definitions/filesystem.d.ts +9 -0
  54. package/dist-cjs/definitions/filesystem.js +200 -0
  55. package/dist-cjs/definitions/filesystem.js.map +1 -0
  56. package/dist-cjs/definitions/frg.d.ts +3 -0
  57. package/dist-cjs/definitions/frg.js +67 -0
  58. package/dist-cjs/definitions/frg.js.map +1 -0
  59. package/dist-cjs/definitions/index.d.ts +19 -0
  60. package/dist-cjs/definitions/index.js +44 -0
  61. package/dist-cjs/definitions/index.js.map +1 -0
  62. package/dist-cjs/definitions/memory.d.ts +8 -0
  63. package/dist-cjs/definitions/memory.js +127 -0
  64. package/dist-cjs/definitions/memory.js.map +1 -0
  65. package/dist-cjs/definitions/messaging.d.ts +11 -0
  66. package/dist-cjs/definitions/messaging.js +632 -0
  67. package/dist-cjs/definitions/messaging.js.map +1 -0
  68. package/dist-cjs/definitions/meta.d.ts +11 -0
  69. package/dist-cjs/definitions/meta.js +353 -0
  70. package/dist-cjs/definitions/meta.js.map +1 -0
  71. package/dist-cjs/definitions/network.d.ts +11 -0
  72. package/dist-cjs/definitions/network.js +163 -0
  73. package/dist-cjs/definitions/network.js.map +1 -0
  74. package/dist-cjs/definitions/outlook.d.ts +2 -0
  75. package/dist-cjs/definitions/outlook.js +281 -0
  76. package/dist-cjs/definitions/outlook.js.map +1 -0
  77. package/dist-cjs/definitions/patch/apply-patch.d.ts +11 -0
  78. package/dist-cjs/definitions/patch/apply-patch.js +192 -0
  79. package/dist-cjs/definitions/patch/apply-patch.js.map +1 -0
  80. package/dist-cjs/definitions/patch/fuzzy-match.d.ts +10 -0
  81. package/dist-cjs/definitions/patch/fuzzy-match.js +173 -0
  82. package/dist-cjs/definitions/patch/fuzzy-match.js.map +1 -0
  83. package/dist-cjs/definitions/patch/index.d.ts +1 -0
  84. package/dist-cjs/definitions/patch/index.js +6 -0
  85. package/dist-cjs/definitions/patch/index.js.map +1 -0
  86. package/dist-cjs/definitions/patch/patch-parser.d.ts +50 -0
  87. package/dist-cjs/definitions/patch/patch-parser.js +216 -0
  88. package/dist-cjs/definitions/patch/patch-parser.js.map +1 -0
  89. package/dist-cjs/definitions/patch/sandbox-paths.d.ts +18 -0
  90. package/dist-cjs/definitions/patch/sandbox-paths.js +114 -0
  91. package/dist-cjs/definitions/patch/sandbox-paths.js.map +1 -0
  92. package/dist-cjs/definitions/process/index.d.ts +1 -0
  93. package/dist-cjs/definitions/process/index.js +9 -0
  94. package/dist-cjs/definitions/process/index.js.map +1 -0
  95. package/dist-cjs/definitions/process/process-registry.d.ts +67 -0
  96. package/dist-cjs/definitions/process/process-registry.js +232 -0
  97. package/dist-cjs/definitions/process/process-registry.js.map +1 -0
  98. package/dist-cjs/definitions/process/process.d.ts +9 -0
  99. package/dist-cjs/definitions/process/process.js +390 -0
  100. package/dist-cjs/definitions/process/process.js.map +1 -0
  101. package/dist-cjs/definitions/process/pty-keys.d.ts +13 -0
  102. package/dist-cjs/definitions/process/pty-keys.js +260 -0
  103. package/dist-cjs/definitions/process/pty-keys.js.map +1 -0
  104. package/dist-cjs/definitions/process/session-slug.d.ts +1 -0
  105. package/dist-cjs/definitions/process/session-slug.js +146 -0
  106. package/dist-cjs/definitions/process/session-slug.js.map +1 -0
  107. package/dist-cjs/definitions/quip.d.ts +2 -0
  108. package/dist-cjs/definitions/quip.js +199 -0
  109. package/dist-cjs/definitions/quip.js.map +1 -0
  110. package/dist-cjs/definitions/search.d.ts +9 -0
  111. package/dist-cjs/definitions/search.js +64 -0
  112. package/dist-cjs/definitions/search.js.map +1 -0
  113. package/dist-cjs/definitions/session-history.d.ts +11 -0
  114. package/dist-cjs/definitions/session-history.js +73 -0
  115. package/dist-cjs/definitions/session-history.js.map +1 -0
  116. package/dist-cjs/definitions/shell.d.ts +8 -0
  117. package/dist-cjs/definitions/shell.js +185 -0
  118. package/dist-cjs/definitions/shell.js.map +1 -0
  119. package/dist-cjs/definitions/slack.d.ts +2 -0
  120. package/dist-cjs/definitions/slack.js +184 -0
  121. package/dist-cjs/definitions/slack.js.map +1 -0
  122. package/dist-cjs/definitions/web.d.ts +8 -0
  123. package/dist-cjs/definitions/web.js +113 -0
  124. package/dist-cjs/definitions/web.js.map +1 -0
  125. package/dist-cjs/executors/apply-patch.d.ts +51 -0
  126. package/dist-cjs/executors/apply-patch.js +939 -0
  127. package/dist-cjs/executors/apply-patch.js.map +1 -0
  128. package/dist-cjs/executors/arion.d.ts +50 -0
  129. package/dist-cjs/executors/arion.js +126 -0
  130. package/dist-cjs/executors/arion.js.map +1 -0
  131. package/dist-cjs/executors/code-intelligence.d.ts +138 -0
  132. package/dist-cjs/executors/code-intelligence.js +926 -0
  133. package/dist-cjs/executors/code-intelligence.js.map +1 -0
  134. package/dist-cjs/executors/deploy.d.ts +169 -0
  135. package/dist-cjs/executors/deploy.js +870 -0
  136. package/dist-cjs/executors/deploy.js.map +1 -0
  137. package/dist-cjs/executors/filesystem.d.ts +150 -0
  138. package/dist-cjs/executors/filesystem.js +1168 -0
  139. package/dist-cjs/executors/filesystem.js.map +1 -0
  140. package/dist-cjs/executors/frg-freshness.d.ts +93 -0
  141. package/dist-cjs/executors/frg-freshness.js +628 -0
  142. package/dist-cjs/executors/frg-freshness.js.map +1 -0
  143. package/dist-cjs/executors/frg.d.ts +27 -0
  144. package/dist-cjs/executors/frg.js +335 -0
  145. package/dist-cjs/executors/frg.js.map +1 -0
  146. package/dist-cjs/executors/index.d.ts +44 -0
  147. package/dist-cjs/executors/index.js +144 -0
  148. package/dist-cjs/executors/index.js.map +1 -0
  149. package/dist-cjs/executors/learning-meta.d.ts +87 -0
  150. package/dist-cjs/executors/learning-meta.js +1166 -0
  151. package/dist-cjs/executors/learning-meta.js.map +1 -0
  152. package/dist-cjs/executors/lsp-client.d.ts +38 -0
  153. package/dist-cjs/executors/lsp-client.js +311 -0
  154. package/dist-cjs/executors/lsp-client.js.map +1 -0
  155. package/dist-cjs/executors/memory.d.ts +203 -0
  156. package/dist-cjs/executors/memory.js +797 -0
  157. package/dist-cjs/executors/memory.js.map +1 -0
  158. package/dist-cjs/executors/meta.d.ts +73 -0
  159. package/dist-cjs/executors/meta.js +227 -0
  160. package/dist-cjs/executors/meta.js.map +1 -0
  161. package/dist-cjs/executors/process-registry.d.ts +98 -0
  162. package/dist-cjs/executors/process-registry.js +470 -0
  163. package/dist-cjs/executors/process-registry.js.map +1 -0
  164. package/dist-cjs/executors/pty-session-store.d.ts +14 -0
  165. package/dist-cjs/executors/pty-session-store.js +35 -0
  166. package/dist-cjs/executors/pty-session-store.js.map +1 -0
  167. package/dist-cjs/executors/pty.d.ts +133 -0
  168. package/dist-cjs/executors/pty.js +313 -0
  169. package/dist-cjs/executors/pty.js.map +1 -0
  170. package/dist-cjs/executors/restart.d.ts +13 -0
  171. package/dist-cjs/executors/restart.js +156 -0
  172. package/dist-cjs/executors/restart.js.map +1 -0
  173. package/dist-cjs/executors/search-freshness.d.ts +50 -0
  174. package/dist-cjs/executors/search-freshness.js +235 -0
  175. package/dist-cjs/executors/search-freshness.js.map +1 -0
  176. package/dist-cjs/executors/search-types.d.ts +52 -0
  177. package/dist-cjs/executors/search-types.js +57 -0
  178. package/dist-cjs/executors/search-types.js.map +1 -0
  179. package/dist-cjs/executors/search.d.ts +11 -0
  180. package/dist-cjs/executors/search.js +103 -0
  181. package/dist-cjs/executors/search.js.map +1 -0
  182. package/dist-cjs/executors/self-diagnose.d.ts +89 -0
  183. package/dist-cjs/executors/self-diagnose.js +435 -0
  184. package/dist-cjs/executors/self-diagnose.js.map +1 -0
  185. package/dist-cjs/executors/session-history.d.ts +75 -0
  186. package/dist-cjs/executors/session-history.js +321 -0
  187. package/dist-cjs/executors/session-history.js.map +1 -0
  188. package/dist-cjs/executors/shell-safety.d.ts +27 -0
  189. package/dist-cjs/executors/shell-safety.js +479 -0
  190. package/dist-cjs/executors/shell-safety.js.map +1 -0
  191. package/dist-cjs/executors/shell.d.ts +168 -0
  192. package/dist-cjs/executors/shell.js +1002 -0
  193. package/dist-cjs/executors/shell.js.map +1 -0
  194. package/dist-cjs/executors/utils.d.ts +20 -0
  195. package/dist-cjs/executors/utils.js +74 -0
  196. package/dist-cjs/executors/utils.js.map +1 -0
  197. package/dist-cjs/executors/web.d.ts +89 -0
  198. package/dist-cjs/executors/web.js +548 -0
  199. package/dist-cjs/executors/web.js.map +1 -0
  200. package/dist-cjs/extraction/content-extraction.d.ts +48 -0
  201. package/dist-cjs/extraction/content-extraction.js +244 -0
  202. package/dist-cjs/extraction/content-extraction.js.map +1 -0
  203. package/dist-cjs/extraction/index.d.ts +4 -0
  204. package/dist-cjs/extraction/index.js +9 -0
  205. package/dist-cjs/extraction/index.js.map +1 -0
  206. package/dist-cjs/headless-control-contract.d.ts +3182 -0
  207. package/dist-cjs/headless-control-contract.js +973 -0
  208. package/dist-cjs/headless-control-contract.js.map +1 -0
  209. package/dist-cjs/index.d.ts +62 -0
  210. package/dist-cjs/index.js +438 -0
  211. package/dist-cjs/index.js.map +1 -0
  212. package/dist-cjs/local-control-http-auth.d.ts +2 -0
  213. package/dist-cjs/local-control-http-auth.js +6 -0
  214. package/dist-cjs/local-control-http-auth.js.map +1 -0
  215. package/dist-cjs/mcp/client.d.ts +68 -0
  216. package/dist-cjs/mcp/client.js +186 -0
  217. package/dist-cjs/mcp/client.js.map +1 -0
  218. package/dist-cjs/mcp/connection.d.ts +54 -0
  219. package/dist-cjs/mcp/connection.js +485 -0
  220. package/dist-cjs/mcp/connection.js.map +1 -0
  221. package/dist-cjs/mcp/index.d.ts +10 -0
  222. package/dist-cjs/mcp/index.js +31 -0
  223. package/dist-cjs/mcp/index.js.map +1 -0
  224. package/dist-cjs/mcp/jsonrpc.d.ts +36 -0
  225. package/dist-cjs/mcp/jsonrpc.js +149 -0
  226. package/dist-cjs/mcp/jsonrpc.js.map +1 -0
  227. package/dist-cjs/mcp/types.d.ts +178 -0
  228. package/dist-cjs/mcp/types.js +9 -0
  229. package/dist-cjs/mcp/types.js.map +1 -0
  230. package/dist-cjs/network-control-adapter.d.ts +4 -0
  231. package/dist-cjs/network-control-adapter.js +78 -0
  232. package/dist-cjs/network-control-adapter.js.map +1 -0
  233. package/dist-cjs/network-runtime/address-types.d.ts +201 -0
  234. package/dist-cjs/network-runtime/address-types.js +169 -0
  235. package/dist-cjs/network-runtime/address-types.js.map +1 -0
  236. package/dist-cjs/network-runtime/db-owner-fencing.d.ts +43 -0
  237. package/dist-cjs/network-runtime/db-owner-fencing.js +77 -0
  238. package/dist-cjs/network-runtime/db-owner-fencing.js.map +1 -0
  239. package/dist-cjs/network-runtime/delivery-receipts.d.ts +117 -0
  240. package/dist-cjs/network-runtime/delivery-receipts.js +277 -0
  241. package/dist-cjs/network-runtime/delivery-receipts.js.map +1 -0
  242. package/dist-cjs/network-runtime/direct-endpoint-authority.d.ts +8 -0
  243. package/dist-cjs/network-runtime/direct-endpoint-authority.js +30 -0
  244. package/dist-cjs/network-runtime/direct-endpoint-authority.js.map +1 -0
  245. package/dist-cjs/network-runtime/index.d.ts +24 -0
  246. package/dist-cjs/network-runtime/index.js +173 -0
  247. package/dist-cjs/network-runtime/index.js.map +1 -0
  248. package/dist-cjs/network-runtime/local-control-contract.d.ts +758 -0
  249. package/dist-cjs/network-runtime/local-control-contract.js +634 -0
  250. package/dist-cjs/network-runtime/local-control-contract.js.map +1 -0
  251. package/dist-cjs/network-runtime/node-store-contract.d.ts +49 -0
  252. package/dist-cjs/network-runtime/node-store-contract.js +39 -0
  253. package/dist-cjs/network-runtime/node-store-contract.js.map +1 -0
  254. package/dist-cjs/network-runtime/pair-route-contract.d.ts +100 -0
  255. package/dist-cjs/network-runtime/pair-route-contract.js +81 -0
  256. package/dist-cjs/network-runtime/pair-route-contract.js.map +1 -0
  257. package/dist-cjs/network-runtime/peer-capabilities.d.ts +10 -0
  258. package/dist-cjs/network-runtime/peer-capabilities.js +38 -0
  259. package/dist-cjs/network-runtime/peer-capabilities.js.map +1 -0
  260. package/dist-cjs/network-runtime/peer-principal-ref.d.ts +9 -0
  261. package/dist-cjs/network-runtime/peer-principal-ref.js +16 -0
  262. package/dist-cjs/network-runtime/peer-principal-ref.js.map +1 -0
  263. package/dist-cjs/network-runtime/peer-state-machine.d.ts +70 -0
  264. package/dist-cjs/network-runtime/peer-state-machine.js +130 -0
  265. package/dist-cjs/network-runtime/peer-state-machine.js.map +1 -0
  266. package/dist-cjs/network-runtime/protocol-schemas.d.ts +328 -0
  267. package/dist-cjs/network-runtime/protocol-schemas.js +213 -0
  268. package/dist-cjs/network-runtime/protocol-schemas.js.map +1 -0
  269. package/dist-cjs/network-runtime/runtime-bootstrap-contract.d.ts +81 -0
  270. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +64 -0
  271. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js.map +1 -0
  272. package/dist-cjs/outlook/desktop-session.d.ts +68 -0
  273. package/dist-cjs/outlook/desktop-session.js +319 -0
  274. package/dist-cjs/outlook/desktop-session.js.map +1 -0
  275. package/dist-cjs/package.json +3 -0
  276. package/dist-cjs/policy.d.ts +43 -0
  277. package/dist-cjs/policy.js +156 -0
  278. package/dist-cjs/policy.js.map +1 -0
  279. package/dist-cjs/providers/brave.d.ts +10 -0
  280. package/dist-cjs/providers/brave.js +67 -0
  281. package/dist-cjs/providers/brave.js.map +1 -0
  282. package/dist-cjs/providers/duckduckgo.d.ts +18 -0
  283. package/dist-cjs/providers/duckduckgo.js +181 -0
  284. package/dist-cjs/providers/duckduckgo.js.map +1 -0
  285. package/dist-cjs/providers/exa.d.ts +10 -0
  286. package/dist-cjs/providers/exa.js +68 -0
  287. package/dist-cjs/providers/exa.js.map +1 -0
  288. package/dist-cjs/providers/firecrawl.d.ts +10 -0
  289. package/dist-cjs/providers/firecrawl.js +60 -0
  290. package/dist-cjs/providers/firecrawl.js.map +1 -0
  291. package/dist-cjs/providers/index.d.ts +8 -0
  292. package/dist-cjs/providers/index.js +18 -0
  293. package/dist-cjs/providers/index.js.map +1 -0
  294. package/dist-cjs/providers/jina.d.ts +10 -0
  295. package/dist-cjs/providers/jina.js +54 -0
  296. package/dist-cjs/providers/jina.js.map +1 -0
  297. package/dist-cjs/providers/router.d.ts +21 -0
  298. package/dist-cjs/providers/router.js +101 -0
  299. package/dist-cjs/providers/router.js.map +1 -0
  300. package/dist-cjs/providers/search-provider.d.ts +35 -0
  301. package/dist-cjs/providers/search-provider.js +37 -0
  302. package/dist-cjs/providers/search-provider.js.map +1 -0
  303. package/dist-cjs/providers/tavily.d.ts +10 -0
  304. package/dist-cjs/providers/tavily.js +59 -0
  305. package/dist-cjs/providers/tavily.js.map +1 -0
  306. package/dist-cjs/quip/desktop-session.d.ts +69 -0
  307. package/dist-cjs/quip/desktop-session.js +354 -0
  308. package/dist-cjs/quip/desktop-session.js.map +1 -0
  309. package/dist-cjs/registry/index.d.ts +1 -0
  310. package/dist-cjs/registry/index.js +7 -0
  311. package/dist-cjs/registry/index.js.map +1 -0
  312. package/dist-cjs/registry/registry.d.ts +156 -0
  313. package/dist-cjs/registry/registry.js +762 -0
  314. package/dist-cjs/registry/registry.js.map +1 -0
  315. package/dist-cjs/runtime-socket-local-control-client.d.ts +10 -0
  316. package/dist-cjs/runtime-socket-local-control-client.js +368 -0
  317. package/dist-cjs/runtime-socket-local-control-client.js.map +1 -0
  318. package/dist-cjs/security/dns-normalization.d.ts +6 -0
  319. package/dist-cjs/security/dns-normalization.js +23 -0
  320. package/dist-cjs/security/dns-normalization.js.map +1 -0
  321. package/dist-cjs/security/dns-pinning.d.ts +27 -0
  322. package/dist-cjs/security/dns-pinning.js +161 -0
  323. package/dist-cjs/security/dns-pinning.js.map +1 -0
  324. package/dist-cjs/security/external-content.d.ts +40 -0
  325. package/dist-cjs/security/external-content.js +96 -0
  326. package/dist-cjs/security/external-content.js.map +1 -0
  327. package/dist-cjs/security/ssrf.d.ts +40 -0
  328. package/dist-cjs/security/ssrf.js +222 -0
  329. package/dist-cjs/security/ssrf.js.map +1 -0
  330. package/dist-cjs/slack/desktop-session.d.ts +69 -0
  331. package/dist-cjs/slack/desktop-session.js +367 -0
  332. package/dist-cjs/slack/desktop-session.js.map +1 -0
  333. package/dist-cjs/tool-factory.d.ts +46 -0
  334. package/dist-cjs/tool-factory.js +51 -0
  335. package/dist-cjs/tool-factory.js.map +1 -0
  336. package/dist-cjs/types.d.ts +1192 -0
  337. package/dist-cjs/types.js +9 -0
  338. package/dist-cjs/types.js.map +1 -0
  339. package/dist-cjs/utils/retry.d.ts +11 -0
  340. package/dist-cjs/utils/retry.js +170 -0
  341. package/dist-cjs/utils/retry.js.map +1 -0
  342. package/dist-cjs/utils/safe-parse-json.d.ts +26 -0
  343. package/dist-cjs/utils/safe-parse-json.js +165 -0
  344. package/dist-cjs/utils/safe-parse-json.js.map +1 -0
  345. package/dist-cjs/utils/url.d.ts +10 -0
  346. package/dist-cjs/utils/url.js +24 -0
  347. package/dist-cjs/utils/url.js.map +1 -0
  348. package/package.json +7 -6
@@ -0,0 +1,485 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Server Connection
4
+ *
5
+ * Manages lifecycle and protocol methods for a single MCP server.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.MCPServerConnection = void 0;
9
+ const child_process_1 = require("child_process");
10
+ const events_1 = require("events");
11
+ const stream_1 = require("stream");
12
+ const jsonrpc_js_1 = require("./jsonrpc.js");
13
+ function sanitizeGitEnv(env = process.env) {
14
+ const sanitized = {};
15
+ for (const [key, value] of Object.entries(env)) {
16
+ if (value === undefined)
17
+ continue;
18
+ if (key.toUpperCase().startsWith("GIT_"))
19
+ continue;
20
+ sanitized[key] = value;
21
+ }
22
+ return sanitized;
23
+ }
24
+ class MCPServerConnection extends events_1.EventEmitter {
25
+ config;
26
+ process;
27
+ transport = "stdio";
28
+ rpc;
29
+ capabilities = {};
30
+ _initialized = false;
31
+ sseAbortController;
32
+ sseStreamPromise;
33
+ ssePostUrl;
34
+ sseSessionId;
35
+ sseOutput;
36
+ // Auto-reconnect state
37
+ _disconnecting = false;
38
+ _reconnecting = false;
39
+ _reconnectAttempts = 0;
40
+ static RECONNECT_BASE_DELAY_MS = 1000;
41
+ static RECONNECT_MAX_DELAY_MS = 30000;
42
+ static RECONNECT_MAX_ATTEMPTS = 5;
43
+ constructor(config) {
44
+ super();
45
+ this.config = config;
46
+ this.rpc = new jsonrpc_js_1.JSONRPCClient();
47
+ }
48
+ get name() {
49
+ return this.config.name;
50
+ }
51
+ get initialized() {
52
+ return this._initialized;
53
+ }
54
+ /**
55
+ * Initialize connection to MCP server
56
+ */
57
+ async initialize() {
58
+ // Reset disconnecting flag on fresh initialization so auto-reconnect is active.
59
+ // During reconnect, attemptReconnect() checks _disconnecting before each attempt.
60
+ if (!this._reconnecting) {
61
+ this._disconnecting = false;
62
+ this._reconnectAttempts = 0;
63
+ }
64
+ this.transport = this.config.transport ?? "stdio";
65
+ try {
66
+ if (this.transport === "stdio") {
67
+ await this.initializeStdioTransport();
68
+ }
69
+ else {
70
+ await this.initializeSSETransport();
71
+ }
72
+ // Forward notifications
73
+ this.rpc.on("notifications/tools/list_changed", () => this.emit("tools/list_changed"));
74
+ this.rpc.on("notifications/resources/list_changed", () => this.emit("resources/list_changed"));
75
+ this.rpc.on("notifications/prompts/list_changed", () => this.emit("prompts/list_changed"));
76
+ // MCP initialize handshake
77
+ const result = await this.rpc.request("initialize", {
78
+ protocolVersion: "2024-11-05",
79
+ capabilities: {
80
+ roots: { listChanged: true },
81
+ },
82
+ clientInfo: {
83
+ name: "aria-cli",
84
+ version: "1.0.0",
85
+ },
86
+ });
87
+ this.capabilities = result.capabilities || {};
88
+ this._initialized = true;
89
+ // Send initialized notification
90
+ this.rpc.notify("notifications/initialized", {});
91
+ return this.capabilities;
92
+ }
93
+ catch (error) {
94
+ await this.cleanupAfterInitializeFailure();
95
+ throw error;
96
+ }
97
+ }
98
+ /**
99
+ * Attempt to reconnect with exponential backoff.
100
+ * Called when the transport drops unexpectedly (not via explicit shutdown).
101
+ */
102
+ async attemptReconnect() {
103
+ if (this._disconnecting || this._reconnecting) {
104
+ return;
105
+ }
106
+ this._reconnecting = true;
107
+ while (this._reconnectAttempts < MCPServerConnection.RECONNECT_MAX_ATTEMPTS &&
108
+ !this._disconnecting) {
109
+ this._reconnectAttempts++;
110
+ const delay = Math.min(MCPServerConnection.RECONNECT_BASE_DELAY_MS * Math.pow(2, this._reconnectAttempts - 1), MCPServerConnection.RECONNECT_MAX_DELAY_MS);
111
+ this.emit("log", {
112
+ level: "info",
113
+ message: `Reconnect attempt ${this._reconnectAttempts}/${MCPServerConnection.RECONNECT_MAX_ATTEMPTS} in ${delay}ms`,
114
+ });
115
+ await new Promise((resolve) => setTimeout(resolve, delay));
116
+ if (this._disconnecting) {
117
+ break;
118
+ }
119
+ try {
120
+ // Clean up stale RPC state before reconnecting
121
+ this.rpc.close();
122
+ this.rpc = new jsonrpc_js_1.JSONRPCClient();
123
+ await this.initialize();
124
+ // Success — reset reconnect state
125
+ this._reconnectAttempts = 0;
126
+ this._reconnecting = false;
127
+ this.emit("reconnected");
128
+ return;
129
+ }
130
+ catch (error) {
131
+ this.emit("log", {
132
+ level: "error",
133
+ message: `Reconnect attempt ${this._reconnectAttempts} failed: ${error.message}`,
134
+ });
135
+ }
136
+ }
137
+ // All attempts exhausted or disconnecting flag was set
138
+ this._reconnecting = false;
139
+ if (!this._disconnecting) {
140
+ this._initialized = false;
141
+ this.emit("error", new Error(`Failed to reconnect after ${MCPServerConnection.RECONNECT_MAX_ATTEMPTS} attempts`));
142
+ }
143
+ }
144
+ async initializeStdioTransport() {
145
+ if (!this.config.command) {
146
+ throw new Error("Command required for stdio transport");
147
+ }
148
+ // Spawn server process
149
+ this.process = (0, child_process_1.spawn)(this.config.command, this.config.args || [], {
150
+ env: { ...sanitizeGitEnv(), ...sanitizeGitEnv(this.config.env ?? {}) },
151
+ stdio: ["pipe", "pipe", "pipe"],
152
+ });
153
+ if (!this.process.stdin || !this.process.stdout) {
154
+ throw new Error("Failed to create stdio streams");
155
+ }
156
+ this.rpc.connect(this.process.stdin, this.process.stdout);
157
+ // Handle stderr for logging
158
+ this.process.stderr?.on("data", (data) => {
159
+ this.emit("log", { level: "error", message: data.toString() });
160
+ });
161
+ this.process.on("exit", (code) => {
162
+ this._initialized = false;
163
+ this.rpc.close();
164
+ this.emit("exit", code);
165
+ // Attempt auto-reconnect on unexpected exit
166
+ if (!this._disconnecting) {
167
+ void this.attemptReconnect();
168
+ }
169
+ });
170
+ }
171
+ async initializeSSETransport() {
172
+ const url = this.config.url;
173
+ if (!url) {
174
+ throw new Error("URL required for sse transport");
175
+ }
176
+ const stdin = new stream_1.Writable({
177
+ write: (chunk, _encoding, callback) => {
178
+ const payload = chunk.toString();
179
+ this.postSSEMessages(payload)
180
+ .then(() => callback())
181
+ .catch((err) => callback(err));
182
+ },
183
+ });
184
+ const stdout = new stream_1.PassThrough();
185
+ this.sseOutput = stdout;
186
+ this.rpc.connect(stdin, stdout);
187
+ this.sseAbortController = new AbortController();
188
+ const response = await fetch(url, {
189
+ method: "GET",
190
+ headers: { Accept: "text/event-stream" },
191
+ signal: this.sseAbortController.signal,
192
+ });
193
+ if (!response.ok || !response.body) {
194
+ const errorText = await response.text();
195
+ throw new Error(`Failed to connect SSE transport: ${response.status} ${response.statusText} ${errorText}`);
196
+ }
197
+ this.sseSessionId = response.headers.get("mcp-session-id") ?? undefined;
198
+ this.ssePostUrl = url;
199
+ this.sseStreamPromise = this.consumeSSE(response.body, url);
200
+ }
201
+ async postSSEMessages(payload) {
202
+ const trimmed = payload.trim();
203
+ if (!trimmed) {
204
+ return;
205
+ }
206
+ const endpoint = this.ssePostUrl || this.config.url;
207
+ if (!endpoint) {
208
+ throw new Error("SSE transport endpoint is not configured");
209
+ }
210
+ const messages = trimmed
211
+ .split("\n")
212
+ .map((line) => line.trim())
213
+ .filter((line) => line.length > 0);
214
+ for (const message of messages) {
215
+ const response = await fetch(endpoint, {
216
+ method: "POST",
217
+ headers: {
218
+ "Content-Type": "application/json",
219
+ ...(this.sseSessionId ? { "mcp-session-id": this.sseSessionId } : {}),
220
+ },
221
+ body: message,
222
+ });
223
+ if (!response.ok) {
224
+ const errorText = await response.text();
225
+ throw new Error(`SSE transport POST failed: ${response.status} ${response.statusText} ${errorText}`);
226
+ }
227
+ const responseText = (await response.text()).trim();
228
+ if (!responseText || !this.sseOutput) {
229
+ continue;
230
+ }
231
+ // Some servers return direct JSON-RPC responses on POST while others
232
+ // publish responses only via SSE. Forward direct JSON replies into RPC.
233
+ for (const line of responseText.split("\n")) {
234
+ const jsonLine = line.trim();
235
+ if (!jsonLine) {
236
+ continue;
237
+ }
238
+ if (jsonLine.startsWith("{") && jsonLine.endsWith("}")) {
239
+ this.sseOutput.write(`${jsonLine}\n`);
240
+ }
241
+ }
242
+ }
243
+ }
244
+ async consumeSSE(body, baseUrl) {
245
+ const reader = body.getReader();
246
+ const decoder = new TextDecoder();
247
+ let buffer = "";
248
+ let eventType = "";
249
+ let dataLines = [];
250
+ const dispatch = () => {
251
+ if (dataLines.length === 0) {
252
+ eventType = "";
253
+ return;
254
+ }
255
+ const data = dataLines.join("\n").trim();
256
+ const event = eventType || "message";
257
+ eventType = "";
258
+ dataLines = [];
259
+ if (!data) {
260
+ return;
261
+ }
262
+ if (event === "endpoint") {
263
+ this.ssePostUrl = new URL(data, baseUrl).toString();
264
+ return;
265
+ }
266
+ if (!this.sseOutput) {
267
+ return;
268
+ }
269
+ if (data.startsWith("{") && data.endsWith("}")) {
270
+ this.sseOutput.write(`${data}\n`);
271
+ }
272
+ };
273
+ try {
274
+ while (true) {
275
+ const { done, value } = await reader.read();
276
+ if (done) {
277
+ dispatch();
278
+ break;
279
+ }
280
+ buffer += decoder.decode(value, { stream: true });
281
+ const lines = buffer.split(/\r?\n/);
282
+ buffer = lines.pop() || "";
283
+ for (const line of lines) {
284
+ if (line === "") {
285
+ dispatch();
286
+ continue;
287
+ }
288
+ if (line.startsWith("event:")) {
289
+ eventType = line.slice(6).trim();
290
+ continue;
291
+ }
292
+ if (line.startsWith("data:")) {
293
+ dataLines.push(line.slice(5).trim());
294
+ }
295
+ }
296
+ }
297
+ }
298
+ catch (error) {
299
+ // Ignore abort errors from normal shutdown.
300
+ if (!(error instanceof DOMException && error.name === "AbortError")) {
301
+ this.emit("log", {
302
+ level: "error",
303
+ message: `SSE stream error: ${error.message}`,
304
+ });
305
+ }
306
+ }
307
+ finally {
308
+ if (this._initialized) {
309
+ this._initialized = false;
310
+ this.rpc.close();
311
+ this.emit("exit", 0);
312
+ // Attempt auto-reconnect on unexpected SSE stream end
313
+ if (!this._disconnecting) {
314
+ void this.attemptReconnect();
315
+ }
316
+ }
317
+ }
318
+ }
319
+ async cleanupAfterInitializeFailure() {
320
+ if (this.transport === "stdio") {
321
+ if (this.process && !this.process.killed) {
322
+ try {
323
+ this.process.kill("SIGTERM");
324
+ }
325
+ catch {
326
+ // Ignore kill failures during cleanup.
327
+ }
328
+ }
329
+ this.process = undefined;
330
+ }
331
+ else {
332
+ this.sseAbortController?.abort();
333
+ try {
334
+ await this.sseStreamPromise;
335
+ }
336
+ catch {
337
+ // Ignore stream errors during cleanup.
338
+ }
339
+ this.sseOutput?.end();
340
+ this.sseOutput = undefined;
341
+ }
342
+ this.rpc.close();
343
+ }
344
+ /**
345
+ * Gracefully shutdown the connection
346
+ */
347
+ async shutdown() {
348
+ this._disconnecting = true;
349
+ if (!this._initialized)
350
+ return;
351
+ this._initialized = false;
352
+ if (this.transport === "sse") {
353
+ try {
354
+ await this.rpc.request("shutdown", {});
355
+ this.rpc.notify("notifications/exit", {});
356
+ }
357
+ catch {
358
+ // Best effort
359
+ }
360
+ this.sseAbortController?.abort();
361
+ try {
362
+ await this.sseStreamPromise;
363
+ }
364
+ catch {
365
+ // Ignore stream shutdown errors
366
+ }
367
+ this.sseOutput?.end();
368
+ this.sseOutput = undefined;
369
+ this.rpc.close();
370
+ return;
371
+ }
372
+ if (this.process) {
373
+ // Send MCP shutdown/exit protocol before killing
374
+ try {
375
+ await this.rpc.request("shutdown", {});
376
+ this.rpc.notify("notifications/exit", {});
377
+ // Give process a moment to clean up
378
+ await new Promise((resolve) => setTimeout(resolve, 500));
379
+ }
380
+ catch {
381
+ // Process may already be dead, proceed with kill
382
+ }
383
+ this.process.kill("SIGTERM");
384
+ // Await process exit before resolving
385
+ await new Promise((resolve) => {
386
+ // Escalate to SIGKILL if process doesn't exit within 5s
387
+ const killTimeout = setTimeout(() => {
388
+ try {
389
+ this.process?.kill("SIGKILL");
390
+ }
391
+ catch {
392
+ /* already dead */
393
+ }
394
+ }, 5000);
395
+ this.process.once("exit", () => {
396
+ clearTimeout(killTimeout);
397
+ this.rpc.close();
398
+ resolve();
399
+ });
400
+ });
401
+ }
402
+ else {
403
+ this.rpc.close();
404
+ }
405
+ }
406
+ // ========== Tools ==========
407
+ async listTools() {
408
+ const result = await this.rpc.request("tools/list", {});
409
+ return result.tools || [];
410
+ }
411
+ async callTool(name, args, abortSignal) {
412
+ // Early abort check before making the RPC call
413
+ if (abortSignal?.aborted) {
414
+ return { success: false, message: "Tool execution cancelled by user." };
415
+ }
416
+ try {
417
+ // Race the RPC call against the abort signal so user cancel
418
+ // doesn't block waiting for a slow MCP server response.
419
+ const rpcPromise = this.rpc.request("tools/call", {
420
+ name,
421
+ arguments: args,
422
+ });
423
+ let result;
424
+ if (abortSignal) {
425
+ result = await new Promise((resolve, reject) => {
426
+ const onAbort = () => reject(new DOMException("Aborted", "AbortError"));
427
+ abortSignal.addEventListener("abort", onAbort, { once: true });
428
+ rpcPromise.then((r) => {
429
+ abortSignal.removeEventListener("abort", onAbort);
430
+ resolve(r);
431
+ }, (e) => {
432
+ abortSignal.removeEventListener("abort", onAbort);
433
+ reject(e);
434
+ });
435
+ });
436
+ }
437
+ else {
438
+ result = await rpcPromise;
439
+ }
440
+ const text = result.content
441
+ ?.filter((c) => c.type === "text")
442
+ .map((c) => c.text)
443
+ .join("\n") || "";
444
+ return {
445
+ success: !result.isError,
446
+ message: text,
447
+ data: result.content,
448
+ };
449
+ }
450
+ catch (error) {
451
+ if (error instanceof DOMException && error.name === "AbortError") {
452
+ return { success: false, message: "Tool execution cancelled by user." };
453
+ }
454
+ return {
455
+ success: false,
456
+ message: error.message,
457
+ };
458
+ }
459
+ }
460
+ // ========== Resources ==========
461
+ async listResources() {
462
+ const result = await this.rpc.request("resources/list", {});
463
+ return result.resources || [];
464
+ }
465
+ async readResource(uri) {
466
+ const result = await this.rpc.request("resources/read", {
467
+ uri,
468
+ });
469
+ return result.contents || [];
470
+ }
471
+ // ========== Prompts ==========
472
+ async listPrompts() {
473
+ const result = await this.rpc.request("prompts/list", {});
474
+ return result.prompts || [];
475
+ }
476
+ async getPrompt(name, args) {
477
+ const result = await this.rpc.request("prompts/get", {
478
+ name,
479
+ arguments: args,
480
+ });
481
+ return result.messages || [];
482
+ }
483
+ }
484
+ exports.MCPServerConnection = MCPServerConnection;
485
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/mcp/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * MCP (Model Context Protocol) Module
3
+ *
4
+ * Provides client implementation for connecting to MCP servers
5
+ * and discovering tools, resources, and prompts dynamically.
6
+ */
7
+ export * from './types.js';
8
+ export { JSONRPCClient } from './jsonrpc.js';
9
+ export { MCPServerConnection } from './connection.js';
10
+ export { MCPClient } from './client.js';
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * MCP (Model Context Protocol) Module
4
+ *
5
+ * Provides client implementation for connecting to MCP servers
6
+ * and discovering tools, resources, and prompts dynamically.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.MCPClient = exports.MCPServerConnection = exports.JSONRPCClient = void 0;
24
+ __exportStar(require("./types.js"), exports);
25
+ var jsonrpc_js_1 = require("./jsonrpc.js");
26
+ Object.defineProperty(exports, "JSONRPCClient", { enumerable: true, get: function () { return jsonrpc_js_1.JSONRPCClient; } });
27
+ var connection_js_1 = require("./connection.js");
28
+ Object.defineProperty(exports, "MCPServerConnection", { enumerable: true, get: function () { return connection_js_1.MCPServerConnection; } });
29
+ var client_js_1 = require("./client.js");
30
+ Object.defineProperty(exports, "MCPClient", { enumerable: true, get: function () { return client_js_1.MCPClient; } });
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,2CAA6C;AAApC,2GAAA,aAAa,OAAA;AACtB,iDAAsD;AAA7C,oHAAA,mBAAmB,OAAA;AAC5B,yCAAwC;AAA/B,sGAAA,SAAS,OAAA"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * JSON-RPC 2.0 Client for MCP
3
+ *
4
+ * Handles newline-delimited JSON over stdio streams.
5
+ */
6
+ import { Readable, Writable } from "stream";
7
+ import { EventEmitter } from "events";
8
+ export declare class JSONRPCClient extends EventEmitter {
9
+ private stdin?;
10
+ private stdout?;
11
+ private pending;
12
+ private buffer;
13
+ private requestTimeout;
14
+ constructor(options?: {
15
+ timeout?: number;
16
+ });
17
+ /**
18
+ * Connect to a process via stdio streams
19
+ */
20
+ connect(stdin: Writable, stdout: Readable): void;
21
+ private processBuffer;
22
+ private handleMessage;
23
+ /**
24
+ * Send a request and wait for response
25
+ */
26
+ request<T = unknown>(method: string, params?: unknown): Promise<T>;
27
+ /**
28
+ * Send a notification (no response expected)
29
+ */
30
+ notify(method: string, params?: unknown): void;
31
+ private send;
32
+ /**
33
+ * Close and cleanup
34
+ */
35
+ close(): void;
36
+ }