@aria-cli/tools 1.0.0

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 (974) hide show
  1. package/dist/.aria-build-stamp.json +4 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/ask-user-interaction.d.ts +11 -0
  4. package/dist/ask-user-interaction.d.ts.map +1 -0
  5. package/dist/ask-user-interaction.js +23 -0
  6. package/dist/ask-user-interaction.js.map +1 -0
  7. package/dist/cache/web-cache.d.ts +53 -0
  8. package/dist/cache/web-cache.d.ts.map +1 -0
  9. package/dist/cache/web-cache.js +67 -0
  10. package/dist/cache/web-cache.js.map +1 -0
  11. package/dist/definitions/arion.d.ts +9 -0
  12. package/dist/definitions/arion.d.ts.map +1 -0
  13. package/dist/definitions/arion.js +105 -0
  14. package/dist/definitions/arion.js.map +1 -0
  15. package/dist/definitions/browser/browser.d.ts +3 -0
  16. package/dist/definitions/browser/browser.d.ts.map +1 -0
  17. package/dist/definitions/browser/browser.js +419 -0
  18. package/dist/definitions/browser/browser.js.map +1 -0
  19. package/dist/definitions/browser/index.d.ts +2 -0
  20. package/dist/definitions/browser/index.d.ts.map +1 -0
  21. package/dist/definitions/browser/index.js +5 -0
  22. package/dist/definitions/browser/index.js.map +1 -0
  23. package/dist/definitions/browser/pw-downloads.d.ts +14 -0
  24. package/dist/definitions/browser/pw-downloads.d.ts.map +1 -0
  25. package/dist/definitions/browser/pw-downloads.js +115 -0
  26. package/dist/definitions/browser/pw-downloads.js.map +1 -0
  27. package/dist/definitions/browser/pw-interactions.d.ts +79 -0
  28. package/dist/definitions/browser/pw-interactions.d.ts.map +1 -0
  29. package/dist/definitions/browser/pw-interactions.js +200 -0
  30. package/dist/definitions/browser/pw-interactions.js.map +1 -0
  31. package/dist/definitions/browser/pw-responses.d.ts +29 -0
  32. package/dist/definitions/browser/pw-responses.d.ts.map +1 -0
  33. package/dist/definitions/browser/pw-responses.js +77 -0
  34. package/dist/definitions/browser/pw-responses.js.map +1 -0
  35. package/dist/definitions/browser/pw-session.d.ts +66 -0
  36. package/dist/definitions/browser/pw-session.d.ts.map +1 -0
  37. package/dist/definitions/browser/pw-session.js +311 -0
  38. package/dist/definitions/browser/pw-session.js.map +1 -0
  39. package/dist/definitions/browser/pw-shared.d.ts +23 -0
  40. package/dist/definitions/browser/pw-shared.d.ts.map +1 -0
  41. package/dist/definitions/browser/pw-shared.js +67 -0
  42. package/dist/definitions/browser/pw-shared.js.map +1 -0
  43. package/dist/definitions/browser/pw-snapshot.d.ts +35 -0
  44. package/dist/definitions/browser/pw-snapshot.d.ts.map +1 -0
  45. package/dist/definitions/browser/pw-snapshot.js +302 -0
  46. package/dist/definitions/browser/pw-snapshot.js.map +1 -0
  47. package/dist/definitions/browser/pw-state.d.ts +23 -0
  48. package/dist/definitions/browser/pw-state.d.ts.map +1 -0
  49. package/dist/definitions/browser/pw-state.js +63 -0
  50. package/dist/definitions/browser/pw-state.js.map +1 -0
  51. package/dist/definitions/browser/types.d.ts +278 -0
  52. package/dist/definitions/browser/types.d.ts.map +1 -0
  53. package/dist/definitions/browser/types.js +5 -0
  54. package/dist/definitions/browser/types.js.map +1 -0
  55. package/dist/definitions/core.d.ts +45 -0
  56. package/dist/definitions/core.d.ts.map +1 -0
  57. package/dist/definitions/core.js +98 -0
  58. package/dist/definitions/core.js.map +1 -0
  59. package/dist/definitions/delegation.d.ts +12 -0
  60. package/dist/definitions/delegation.d.ts.map +1 -0
  61. package/dist/definitions/delegation.js +513 -0
  62. package/dist/definitions/delegation.js.map +1 -0
  63. package/dist/definitions/deploy.d.ts +16 -0
  64. package/dist/definitions/deploy.d.ts.map +1 -0
  65. package/dist/definitions/deploy.js +66 -0
  66. package/dist/definitions/deploy.js.map +1 -0
  67. package/dist/definitions/filesystem.d.ts +9 -0
  68. package/dist/definitions/filesystem.d.ts.map +1 -0
  69. package/dist/definitions/filesystem.js +231 -0
  70. package/dist/definitions/filesystem.js.map +1 -0
  71. package/dist/definitions/index.d.ts +17 -0
  72. package/dist/definitions/index.d.ts.map +1 -0
  73. package/dist/definitions/index.js +18 -0
  74. package/dist/definitions/index.js.map +1 -0
  75. package/dist/definitions/memory.d.ts +9 -0
  76. package/dist/definitions/memory.d.ts.map +1 -0
  77. package/dist/definitions/memory.js +124 -0
  78. package/dist/definitions/memory.js.map +1 -0
  79. package/dist/definitions/messaging.d.ts +12 -0
  80. package/dist/definitions/messaging.d.ts.map +1 -0
  81. package/dist/definitions/messaging.js +626 -0
  82. package/dist/definitions/messaging.js.map +1 -0
  83. package/dist/definitions/meta.d.ts +12 -0
  84. package/dist/definitions/meta.d.ts.map +1 -0
  85. package/dist/definitions/meta.js +350 -0
  86. package/dist/definitions/meta.js.map +1 -0
  87. package/dist/definitions/network.d.ts +12 -0
  88. package/dist/definitions/network.d.ts.map +1 -0
  89. package/dist/definitions/network.js +160 -0
  90. package/dist/definitions/network.js.map +1 -0
  91. package/dist/definitions/outlook.d.ts +3 -0
  92. package/dist/definitions/outlook.d.ts.map +1 -0
  93. package/dist/definitions/outlook.js +278 -0
  94. package/dist/definitions/outlook.js.map +1 -0
  95. package/dist/definitions/patch/apply-patch.d.ts +12 -0
  96. package/dist/definitions/patch/apply-patch.d.ts.map +1 -0
  97. package/dist/definitions/patch/apply-patch.js +185 -0
  98. package/dist/definitions/patch/apply-patch.js.map +1 -0
  99. package/dist/definitions/patch/fuzzy-match.d.ts +11 -0
  100. package/dist/definitions/patch/fuzzy-match.d.ts.map +1 -0
  101. package/dist/definitions/patch/fuzzy-match.js +167 -0
  102. package/dist/definitions/patch/fuzzy-match.js.map +1 -0
  103. package/dist/definitions/patch/index.d.ts +2 -0
  104. package/dist/definitions/patch/index.d.ts.map +1 -0
  105. package/dist/definitions/patch/index.js +2 -0
  106. package/dist/definitions/patch/index.js.map +1 -0
  107. package/dist/definitions/patch/patch-parser.d.ts +51 -0
  108. package/dist/definitions/patch/patch-parser.d.ts.map +1 -0
  109. package/dist/definitions/patch/patch-parser.js +208 -0
  110. package/dist/definitions/patch/patch-parser.js.map +1 -0
  111. package/dist/definitions/patch/sandbox-paths.d.ts +19 -0
  112. package/dist/definitions/patch/sandbox-paths.d.ts.map +1 -0
  113. package/dist/definitions/patch/sandbox-paths.js +106 -0
  114. package/dist/definitions/patch/sandbox-paths.js.map +1 -0
  115. package/dist/definitions/process/index.d.ts +2 -0
  116. package/dist/definitions/process/index.d.ts.map +1 -0
  117. package/dist/definitions/process/index.js +5 -0
  118. package/dist/definitions/process/index.js.map +1 -0
  119. package/dist/definitions/process/process-registry.d.ts +68 -0
  120. package/dist/definitions/process/process-registry.d.ts.map +1 -0
  121. package/dist/definitions/process/process-registry.js +214 -0
  122. package/dist/definitions/process/process-registry.js.map +1 -0
  123. package/dist/definitions/process/process.d.ts +10 -0
  124. package/dist/definitions/process/process.d.ts.map +1 -0
  125. package/dist/definitions/process/process.js +387 -0
  126. package/dist/definitions/process/process.js.map +1 -0
  127. package/dist/definitions/process/pty-keys.d.ts +14 -0
  128. package/dist/definitions/process/pty-keys.d.ts.map +1 -0
  129. package/dist/definitions/process/pty-keys.js +255 -0
  130. package/dist/definitions/process/pty-keys.js.map +1 -0
  131. package/dist/definitions/process/session-slug.d.ts +2 -0
  132. package/dist/definitions/process/session-slug.d.ts.map +1 -0
  133. package/dist/definitions/process/session-slug.js +143 -0
  134. package/dist/definitions/process/session-slug.js.map +1 -0
  135. package/dist/definitions/quip.d.ts +3 -0
  136. package/dist/definitions/quip.d.ts.map +1 -0
  137. package/dist/definitions/quip.js +196 -0
  138. package/dist/definitions/quip.js.map +1 -0
  139. package/dist/definitions/session-history.d.ts +12 -0
  140. package/dist/definitions/session-history.d.ts.map +1 -0
  141. package/dist/definitions/session-history.js +70 -0
  142. package/dist/definitions/session-history.js.map +1 -0
  143. package/dist/definitions/shell.d.ts +9 -0
  144. package/dist/definitions/shell.d.ts.map +1 -0
  145. package/dist/definitions/shell.js +182 -0
  146. package/dist/definitions/shell.js.map +1 -0
  147. package/dist/definitions/slack.d.ts +3 -0
  148. package/dist/definitions/slack.d.ts.map +1 -0
  149. package/dist/definitions/slack.js +181 -0
  150. package/dist/definitions/slack.js.map +1 -0
  151. package/dist/definitions/web.d.ts +9 -0
  152. package/dist/definitions/web.d.ts.map +1 -0
  153. package/dist/definitions/web.js +110 -0
  154. package/dist/definitions/web.js.map +1 -0
  155. package/dist/executors/apply-patch.d.ts +52 -0
  156. package/dist/executors/apply-patch.d.ts.map +1 -0
  157. package/dist/executors/apply-patch.js +884 -0
  158. package/dist/executors/apply-patch.js.map +1 -0
  159. package/dist/executors/arion.d.ts +51 -0
  160. package/dist/executors/arion.d.ts.map +1 -0
  161. package/dist/executors/arion.js +120 -0
  162. package/dist/executors/arion.js.map +1 -0
  163. package/dist/executors/deploy.d.ts +170 -0
  164. package/dist/executors/deploy.d.ts.map +1 -0
  165. package/dist/executors/deploy.js +849 -0
  166. package/dist/executors/deploy.js.map +1 -0
  167. package/dist/executors/filesystem.d.ts +151 -0
  168. package/dist/executors/filesystem.d.ts.map +1 -0
  169. package/dist/executors/filesystem.js +1117 -0
  170. package/dist/executors/filesystem.js.map +1 -0
  171. package/dist/executors/index.d.ts +39 -0
  172. package/dist/executors/index.d.ts.map +1 -0
  173. package/dist/executors/index.js +42 -0
  174. package/dist/executors/index.js.map +1 -0
  175. package/dist/executors/learning-meta.d.ts +88 -0
  176. package/dist/executors/learning-meta.d.ts.map +1 -0
  177. package/dist/executors/learning-meta.js +1147 -0
  178. package/dist/executors/learning-meta.js.map +1 -0
  179. package/dist/executors/memory.d.ts +204 -0
  180. package/dist/executors/memory.d.ts.map +1 -0
  181. package/dist/executors/memory.js +751 -0
  182. package/dist/executors/memory.js.map +1 -0
  183. package/dist/executors/meta.d.ts +74 -0
  184. package/dist/executors/meta.d.ts.map +1 -0
  185. package/dist/executors/meta.js +221 -0
  186. package/dist/executors/meta.js.map +1 -0
  187. package/dist/executors/process-registry.d.ts +99 -0
  188. package/dist/executors/process-registry.d.ts.map +1 -0
  189. package/dist/executors/process-registry.js +466 -0
  190. package/dist/executors/process-registry.js.map +1 -0
  191. package/dist/executors/pty-session-store.d.ts +15 -0
  192. package/dist/executors/pty-session-store.d.ts.map +1 -0
  193. package/dist/executors/pty-session-store.js +31 -0
  194. package/dist/executors/pty-session-store.js.map +1 -0
  195. package/dist/executors/pty.d.ts +134 -0
  196. package/dist/executors/pty.d.ts.map +1 -0
  197. package/dist/executors/pty.js +272 -0
  198. package/dist/executors/pty.js.map +1 -0
  199. package/dist/executors/restart.d.ts +19 -0
  200. package/dist/executors/restart.d.ts.map +1 -0
  201. package/dist/executors/restart.js +151 -0
  202. package/dist/executors/restart.js.map +1 -0
  203. package/dist/executors/search-types.d.ts +53 -0
  204. package/dist/executors/search-types.d.ts.map +1 -0
  205. package/dist/executors/search-types.js +53 -0
  206. package/dist/executors/search-types.js.map +1 -0
  207. package/dist/executors/self-diagnose.d.ts +90 -0
  208. package/dist/executors/self-diagnose.d.ts.map +1 -0
  209. package/dist/executors/self-diagnose.js +399 -0
  210. package/dist/executors/self-diagnose.js.map +1 -0
  211. package/dist/executors/session-history.d.ts +76 -0
  212. package/dist/executors/session-history.d.ts.map +1 -0
  213. package/dist/executors/session-history.js +284 -0
  214. package/dist/executors/session-history.js.map +1 -0
  215. package/dist/executors/shell-safety.d.ts +28 -0
  216. package/dist/executors/shell-safety.d.ts.map +1 -0
  217. package/dist/executors/shell-safety.js +474 -0
  218. package/dist/executors/shell-safety.js.map +1 -0
  219. package/dist/executors/shell.d.ts +169 -0
  220. package/dist/executors/shell.d.ts.map +1 -0
  221. package/dist/executors/shell.js +955 -0
  222. package/dist/executors/shell.js.map +1 -0
  223. package/dist/executors/utils.d.ts +21 -0
  224. package/dist/executors/utils.d.ts.map +1 -0
  225. package/dist/executors/utils.js +34 -0
  226. package/dist/executors/utils.js.map +1 -0
  227. package/dist/executors/web.d.ts +90 -0
  228. package/dist/executors/web.d.ts.map +1 -0
  229. package/dist/executors/web.js +543 -0
  230. package/dist/executors/web.js.map +1 -0
  231. package/dist/extraction/content-extraction.d.ts +49 -0
  232. package/dist/extraction/content-extraction.d.ts.map +1 -0
  233. package/dist/extraction/content-extraction.js +236 -0
  234. package/dist/extraction/content-extraction.js.map +1 -0
  235. package/dist/extraction/index.d.ts +5 -0
  236. package/dist/extraction/index.d.ts.map +1 -0
  237. package/dist/extraction/index.js +5 -0
  238. package/dist/extraction/index.js.map +1 -0
  239. package/dist/headless-control-contract.d.ts +3171 -0
  240. package/dist/headless-control-contract.d.ts.map +1 -0
  241. package/dist/headless-control-contract.js +968 -0
  242. package/dist/headless-control-contract.js.map +1 -0
  243. package/dist/index.d.ts +63 -0
  244. package/dist/index.d.ts.map +1 -0
  245. package/dist/index.js +73 -0
  246. package/dist/index.js.map +1 -0
  247. package/dist/local-control-http-auth.d.ts +3 -0
  248. package/dist/local-control-http-auth.d.ts.map +1 -0
  249. package/dist/local-control-http-auth.js +3 -0
  250. package/dist/local-control-http-auth.js.map +1 -0
  251. package/dist/mcp/client.d.ts +69 -0
  252. package/dist/mcp/client.d.ts.map +1 -0
  253. package/dist/mcp/client.js +182 -0
  254. package/dist/mcp/client.js.map +1 -0
  255. package/dist/mcp/connection.d.ts +55 -0
  256. package/dist/mcp/connection.d.ts.map +1 -0
  257. package/dist/mcp/connection.js +481 -0
  258. package/dist/mcp/connection.js.map +1 -0
  259. package/dist/mcp/index.d.ts +11 -0
  260. package/dist/mcp/index.d.ts.map +1 -0
  261. package/dist/mcp/index.js +11 -0
  262. package/dist/mcp/index.js.map +1 -0
  263. package/dist/mcp/jsonrpc.d.ts +37 -0
  264. package/dist/mcp/jsonrpc.d.ts.map +1 -0
  265. package/dist/mcp/jsonrpc.js +145 -0
  266. package/dist/mcp/jsonrpc.js.map +1 -0
  267. package/dist/mcp/types.d.ts +179 -0
  268. package/dist/mcp/types.d.ts.map +1 -0
  269. package/dist/mcp/types.js +8 -0
  270. package/dist/mcp/types.js.map +1 -0
  271. package/dist/network-control-adapter.d.ts +5 -0
  272. package/dist/network-control-adapter.d.ts.map +1 -0
  273. package/dist/network-control-adapter.js +73 -0
  274. package/dist/network-control-adapter.js.map +1 -0
  275. package/dist/network-runtime/address-types.d.ts +202 -0
  276. package/dist/network-runtime/address-types.d.ts.map +1 -0
  277. package/dist/network-runtime/address-types.js +166 -0
  278. package/dist/network-runtime/address-types.js.map +1 -0
  279. package/dist/network-runtime/db-owner-fencing.d.ts +44 -0
  280. package/dist/network-runtime/db-owner-fencing.d.ts.map +1 -0
  281. package/dist/network-runtime/db-owner-fencing.js +70 -0
  282. package/dist/network-runtime/db-owner-fencing.js.map +1 -0
  283. package/dist/network-runtime/delivery-receipts.d.ts +118 -0
  284. package/dist/network-runtime/delivery-receipts.d.ts.map +1 -0
  285. package/dist/network-runtime/delivery-receipts.js +268 -0
  286. package/dist/network-runtime/delivery-receipts.js.map +1 -0
  287. package/dist/network-runtime/direct-endpoint-authority.d.ts +9 -0
  288. package/dist/network-runtime/direct-endpoint-authority.d.ts.map +1 -0
  289. package/dist/network-runtime/direct-endpoint-authority.js +26 -0
  290. package/dist/network-runtime/direct-endpoint-authority.js.map +1 -0
  291. package/dist/network-runtime/index.d.ts +25 -0
  292. package/dist/network-runtime/index.d.ts.map +1 -0
  293. package/dist/network-runtime/index.js +13 -0
  294. package/dist/network-runtime/index.js.map +1 -0
  295. package/dist/network-runtime/local-control-contract.d.ts +753 -0
  296. package/dist/network-runtime/local-control-contract.d.ts.map +1 -0
  297. package/dist/network-runtime/local-control-contract.js +622 -0
  298. package/dist/network-runtime/local-control-contract.js.map +1 -0
  299. package/dist/network-runtime/node-store-contract.d.ts +50 -0
  300. package/dist/network-runtime/node-store-contract.d.ts.map +1 -0
  301. package/dist/network-runtime/node-store-contract.js +35 -0
  302. package/dist/network-runtime/node-store-contract.js.map +1 -0
  303. package/dist/network-runtime/pair-route-contract.d.ts +101 -0
  304. package/dist/network-runtime/pair-route-contract.d.ts.map +1 -0
  305. package/dist/network-runtime/pair-route-contract.js +78 -0
  306. package/dist/network-runtime/pair-route-contract.js.map +1 -0
  307. package/dist/network-runtime/peer-capabilities.d.ts +11 -0
  308. package/dist/network-runtime/peer-capabilities.d.ts.map +1 -0
  309. package/dist/network-runtime/peer-capabilities.js +29 -0
  310. package/dist/network-runtime/peer-capabilities.js.map +1 -0
  311. package/dist/network-runtime/peer-principal-ref.d.ts +10 -0
  312. package/dist/network-runtime/peer-principal-ref.d.ts.map +1 -0
  313. package/dist/network-runtime/peer-principal-ref.js +13 -0
  314. package/dist/network-runtime/peer-principal-ref.js.map +1 -0
  315. package/dist/network-runtime/peer-state-machine.d.ts +71 -0
  316. package/dist/network-runtime/peer-state-machine.d.ts.map +1 -0
  317. package/dist/network-runtime/peer-state-machine.js +122 -0
  318. package/dist/network-runtime/peer-state-machine.js.map +1 -0
  319. package/dist/network-runtime/protocol-schemas.d.ts +329 -0
  320. package/dist/network-runtime/protocol-schemas.d.ts.map +1 -0
  321. package/dist/network-runtime/protocol-schemas.js +206 -0
  322. package/dist/network-runtime/protocol-schemas.js.map +1 -0
  323. package/dist/network-runtime/runtime-bootstrap-contract.d.ts +82 -0
  324. package/dist/network-runtime/runtime-bootstrap-contract.d.ts.map +1 -0
  325. package/dist/network-runtime/runtime-bootstrap-contract.js +61 -0
  326. package/dist/network-runtime/runtime-bootstrap-contract.js.map +1 -0
  327. package/dist/outlook/desktop-session.d.ts +69 -0
  328. package/dist/outlook/desktop-session.d.ts.map +1 -0
  329. package/dist/outlook/desktop-session.js +280 -0
  330. package/dist/outlook/desktop-session.js.map +1 -0
  331. package/dist/policy.d.ts +44 -0
  332. package/dist/policy.d.ts.map +1 -0
  333. package/dist/policy.js +150 -0
  334. package/dist/policy.js.map +1 -0
  335. package/dist/providers/brave.d.ts +11 -0
  336. package/dist/providers/brave.d.ts.map +1 -0
  337. package/dist/providers/brave.js +63 -0
  338. package/dist/providers/brave.js.map +1 -0
  339. package/dist/providers/duckduckgo.d.ts +19 -0
  340. package/dist/providers/duckduckgo.d.ts.map +1 -0
  341. package/dist/providers/duckduckgo.js +177 -0
  342. package/dist/providers/duckduckgo.js.map +1 -0
  343. package/dist/providers/exa.d.ts +11 -0
  344. package/dist/providers/exa.d.ts.map +1 -0
  345. package/dist/providers/exa.js +64 -0
  346. package/dist/providers/exa.js.map +1 -0
  347. package/dist/providers/firecrawl.d.ts +11 -0
  348. package/dist/providers/firecrawl.d.ts.map +1 -0
  349. package/dist/providers/firecrawl.js +56 -0
  350. package/dist/providers/firecrawl.js.map +1 -0
  351. package/dist/providers/index.d.ts +9 -0
  352. package/dist/providers/index.d.ts.map +1 -0
  353. package/dist/providers/index.js +8 -0
  354. package/dist/providers/index.js.map +1 -0
  355. package/dist/providers/jina.d.ts +11 -0
  356. package/dist/providers/jina.d.ts.map +1 -0
  357. package/dist/providers/jina.js +50 -0
  358. package/dist/providers/jina.js.map +1 -0
  359. package/dist/providers/router.d.ts +22 -0
  360. package/dist/providers/router.d.ts.map +1 -0
  361. package/dist/providers/router.js +97 -0
  362. package/dist/providers/router.js.map +1 -0
  363. package/dist/providers/search-provider.d.ts +36 -0
  364. package/dist/providers/search-provider.d.ts.map +1 -0
  365. package/dist/providers/search-provider.js +33 -0
  366. package/dist/providers/search-provider.js.map +1 -0
  367. package/dist/providers/tavily.d.ts +11 -0
  368. package/dist/providers/tavily.d.ts.map +1 -0
  369. package/dist/providers/tavily.js +55 -0
  370. package/dist/providers/tavily.js.map +1 -0
  371. package/dist/quip/desktop-session.d.ts +70 -0
  372. package/dist/quip/desktop-session.d.ts.map +1 -0
  373. package/dist/quip/desktop-session.js +318 -0
  374. package/dist/quip/desktop-session.js.map +1 -0
  375. package/dist/registry/index.d.ts +2 -0
  376. package/dist/registry/index.d.ts.map +1 -0
  377. package/dist/registry/index.js +2 -0
  378. package/dist/registry/index.js.map +1 -0
  379. package/dist/registry/registry.d.ts +157 -0
  380. package/dist/registry/registry.d.ts.map +1 -0
  381. package/dist/registry/registry.js +757 -0
  382. package/dist/registry/registry.js.map +1 -0
  383. package/dist/runtime-socket-local-control-client.d.ts +11 -0
  384. package/dist/runtime-socket-local-control-client.d.ts.map +1 -0
  385. package/dist/runtime-socket-local-control-client.js +331 -0
  386. package/dist/runtime-socket-local-control-client.js.map +1 -0
  387. package/dist/security/dns-normalization.d.ts +7 -0
  388. package/dist/security/dns-normalization.d.ts.map +1 -0
  389. package/dist/security/dns-normalization.js +20 -0
  390. package/dist/security/dns-normalization.js.map +1 -0
  391. package/dist/security/dns-pinning.d.ts +28 -0
  392. package/dist/security/dns-pinning.d.ts.map +1 -0
  393. package/dist/security/dns-pinning.js +124 -0
  394. package/dist/security/dns-pinning.js.map +1 -0
  395. package/dist/security/external-content.d.ts +41 -0
  396. package/dist/security/external-content.d.ts.map +1 -0
  397. package/dist/security/external-content.js +92 -0
  398. package/dist/security/external-content.js.map +1 -0
  399. package/dist/security/ssrf.d.ts +41 -0
  400. package/dist/security/ssrf.d.ts.map +1 -0
  401. package/dist/security/ssrf.js +182 -0
  402. package/dist/security/ssrf.js.map +1 -0
  403. package/dist/slack/desktop-session.d.ts +70 -0
  404. package/dist/slack/desktop-session.d.ts.map +1 -0
  405. package/dist/slack/desktop-session.js +325 -0
  406. package/dist/slack/desktop-session.js.map +1 -0
  407. package/dist/tool-factory.d.ts +47 -0
  408. package/dist/tool-factory.d.ts.map +1 -0
  409. package/dist/tool-factory.js +48 -0
  410. package/dist/tool-factory.js.map +1 -0
  411. package/dist/types.d.ts +1189 -0
  412. package/dist/types.d.ts.map +1 -0
  413. package/dist/types.js +8 -0
  414. package/dist/types.js.map +1 -0
  415. package/dist/utils/retry.d.ts +12 -0
  416. package/dist/utils/retry.d.ts.map +1 -0
  417. package/dist/utils/retry.js +133 -0
  418. package/dist/utils/retry.js.map +1 -0
  419. package/dist/utils/safe-parse-json.d.ts +27 -0
  420. package/dist/utils/safe-parse-json.d.ts.map +1 -0
  421. package/dist/utils/safe-parse-json.js +161 -0
  422. package/dist/utils/safe-parse-json.js.map +1 -0
  423. package/dist/utils/url.d.ts +11 -0
  424. package/dist/utils/url.d.ts.map +1 -0
  425. package/dist/utils/url.js +20 -0
  426. package/dist/utils/url.js.map +1 -0
  427. package/dist-cjs/.tsbuildinfo +1 -0
  428. package/dist-cjs/ask-user-interaction.d.ts +10 -0
  429. package/dist-cjs/ask-user-interaction.js +28 -0
  430. package/dist-cjs/ask-user-interaction.js.map +1 -0
  431. package/dist-cjs/cache/web-cache.d.ts +52 -0
  432. package/dist-cjs/cache/web-cache.js +71 -0
  433. package/dist-cjs/cache/web-cache.js.map +1 -0
  434. package/dist-cjs/definitions/arion.d.ts +8 -0
  435. package/dist-cjs/definitions/arion.js +108 -0
  436. package/dist-cjs/definitions/arion.js.map +1 -0
  437. package/dist-cjs/definitions/browser/browser.d.ts +2 -0
  438. package/dist-cjs/definitions/browser/browser.js +422 -0
  439. package/dist-cjs/definitions/browser/browser.js.map +1 -0
  440. package/dist-cjs/definitions/browser/index.d.ts +1 -0
  441. package/dist-cjs/definitions/browser/index.js +9 -0
  442. package/dist-cjs/definitions/browser/index.js.map +1 -0
  443. package/dist-cjs/definitions/browser/pw-downloads.d.ts +13 -0
  444. package/dist-cjs/definitions/browser/pw-downloads.js +118 -0
  445. package/dist-cjs/definitions/browser/pw-downloads.js.map +1 -0
  446. package/dist-cjs/definitions/browser/pw-interactions.d.ts +78 -0
  447. package/dist-cjs/definitions/browser/pw-interactions.js +214 -0
  448. package/dist-cjs/definitions/browser/pw-interactions.js.map +1 -0
  449. package/dist-cjs/definitions/browser/pw-responses.d.ts +28 -0
  450. package/dist-cjs/definitions/browser/pw-responses.js +85 -0
  451. package/dist-cjs/definitions/browser/pw-responses.js.map +1 -0
  452. package/dist-cjs/definitions/browser/pw-session.d.ts +65 -0
  453. package/dist-cjs/definitions/browser/pw-session.js +327 -0
  454. package/dist-cjs/definitions/browser/pw-session.js.map +1 -0
  455. package/dist-cjs/definitions/browser/pw-shared.d.ts +22 -0
  456. package/dist-cjs/definitions/browser/pw-shared.js +73 -0
  457. package/dist-cjs/definitions/browser/pw-shared.js.map +1 -0
  458. package/dist-cjs/definitions/browser/pw-snapshot.d.ts +34 -0
  459. package/dist-cjs/definitions/browser/pw-snapshot.js +308 -0
  460. package/dist-cjs/definitions/browser/pw-snapshot.js.map +1 -0
  461. package/dist-cjs/definitions/browser/pw-state.d.ts +22 -0
  462. package/dist-cjs/definitions/browser/pw-state.js +71 -0
  463. package/dist-cjs/definitions/browser/pw-state.js.map +1 -0
  464. package/dist-cjs/definitions/browser/types.d.ts +277 -0
  465. package/dist-cjs/definitions/browser/types.js +6 -0
  466. package/dist-cjs/definitions/browser/types.js.map +1 -0
  467. package/dist-cjs/definitions/core.d.ts +44 -0
  468. package/dist-cjs/definitions/core.js +119 -0
  469. package/dist-cjs/definitions/core.js.map +1 -0
  470. package/dist-cjs/definitions/delegation.d.ts +11 -0
  471. package/dist-cjs/definitions/delegation.js +516 -0
  472. package/dist-cjs/definitions/delegation.js.map +1 -0
  473. package/dist-cjs/definitions/deploy.d.ts +15 -0
  474. package/dist-cjs/definitions/deploy.js +69 -0
  475. package/dist-cjs/definitions/deploy.js.map +1 -0
  476. package/dist-cjs/definitions/filesystem.d.ts +8 -0
  477. package/dist-cjs/definitions/filesystem.js +234 -0
  478. package/dist-cjs/definitions/filesystem.js.map +1 -0
  479. package/dist-cjs/definitions/index.d.ts +16 -0
  480. package/dist-cjs/definitions/index.js +38 -0
  481. package/dist-cjs/definitions/index.js.map +1 -0
  482. package/dist-cjs/definitions/memory.d.ts +8 -0
  483. package/dist-cjs/definitions/memory.js +127 -0
  484. package/dist-cjs/definitions/memory.js.map +1 -0
  485. package/dist-cjs/definitions/messaging.d.ts +11 -0
  486. package/dist-cjs/definitions/messaging.js +632 -0
  487. package/dist-cjs/definitions/messaging.js.map +1 -0
  488. package/dist-cjs/definitions/meta.d.ts +11 -0
  489. package/dist-cjs/definitions/meta.js +353 -0
  490. package/dist-cjs/definitions/meta.js.map +1 -0
  491. package/dist-cjs/definitions/network.d.ts +11 -0
  492. package/dist-cjs/definitions/network.js +163 -0
  493. package/dist-cjs/definitions/network.js.map +1 -0
  494. package/dist-cjs/definitions/outlook.d.ts +2 -0
  495. package/dist-cjs/definitions/outlook.js +281 -0
  496. package/dist-cjs/definitions/outlook.js.map +1 -0
  497. package/dist-cjs/definitions/patch/apply-patch.d.ts +11 -0
  498. package/dist-cjs/definitions/patch/apply-patch.js +192 -0
  499. package/dist-cjs/definitions/patch/apply-patch.js.map +1 -0
  500. package/dist-cjs/definitions/patch/fuzzy-match.d.ts +10 -0
  501. package/dist-cjs/definitions/patch/fuzzy-match.js +173 -0
  502. package/dist-cjs/definitions/patch/fuzzy-match.js.map +1 -0
  503. package/dist-cjs/definitions/patch/index.d.ts +1 -0
  504. package/dist-cjs/definitions/patch/index.js +6 -0
  505. package/dist-cjs/definitions/patch/index.js.map +1 -0
  506. package/dist-cjs/definitions/patch/patch-parser.d.ts +50 -0
  507. package/dist-cjs/definitions/patch/patch-parser.js +216 -0
  508. package/dist-cjs/definitions/patch/patch-parser.js.map +1 -0
  509. package/dist-cjs/definitions/patch/sandbox-paths.d.ts +18 -0
  510. package/dist-cjs/definitions/patch/sandbox-paths.js +114 -0
  511. package/dist-cjs/definitions/patch/sandbox-paths.js.map +1 -0
  512. package/dist-cjs/definitions/process/index.d.ts +1 -0
  513. package/dist-cjs/definitions/process/index.js +9 -0
  514. package/dist-cjs/definitions/process/index.js.map +1 -0
  515. package/dist-cjs/definitions/process/process-registry.d.ts +67 -0
  516. package/dist-cjs/definitions/process/process-registry.js +232 -0
  517. package/dist-cjs/definitions/process/process-registry.js.map +1 -0
  518. package/dist-cjs/definitions/process/process.d.ts +9 -0
  519. package/dist-cjs/definitions/process/process.js +390 -0
  520. package/dist-cjs/definitions/process/process.js.map +1 -0
  521. package/dist-cjs/definitions/process/pty-keys.d.ts +13 -0
  522. package/dist-cjs/definitions/process/pty-keys.js +260 -0
  523. package/dist-cjs/definitions/process/pty-keys.js.map +1 -0
  524. package/dist-cjs/definitions/process/session-slug.d.ts +1 -0
  525. package/dist-cjs/definitions/process/session-slug.js +146 -0
  526. package/dist-cjs/definitions/process/session-slug.js.map +1 -0
  527. package/dist-cjs/definitions/quip.d.ts +2 -0
  528. package/dist-cjs/definitions/quip.js +199 -0
  529. package/dist-cjs/definitions/quip.js.map +1 -0
  530. package/dist-cjs/definitions/session-history.d.ts +11 -0
  531. package/dist-cjs/definitions/session-history.js +73 -0
  532. package/dist-cjs/definitions/session-history.js.map +1 -0
  533. package/dist-cjs/definitions/shell.d.ts +8 -0
  534. package/dist-cjs/definitions/shell.js +185 -0
  535. package/dist-cjs/definitions/shell.js.map +1 -0
  536. package/dist-cjs/definitions/slack.d.ts +2 -0
  537. package/dist-cjs/definitions/slack.js +184 -0
  538. package/dist-cjs/definitions/slack.js.map +1 -0
  539. package/dist-cjs/definitions/web.d.ts +8 -0
  540. package/dist-cjs/definitions/web.js +113 -0
  541. package/dist-cjs/definitions/web.js.map +1 -0
  542. package/dist-cjs/executors/apply-patch.d.ts +51 -0
  543. package/dist-cjs/executors/apply-patch.js +921 -0
  544. package/dist-cjs/executors/apply-patch.js.map +1 -0
  545. package/dist-cjs/executors/arion.d.ts +50 -0
  546. package/dist-cjs/executors/arion.js +126 -0
  547. package/dist-cjs/executors/arion.js.map +1 -0
  548. package/dist-cjs/executors/deploy.d.ts +169 -0
  549. package/dist-cjs/executors/deploy.js +870 -0
  550. package/dist-cjs/executors/deploy.js.map +1 -0
  551. package/dist-cjs/executors/filesystem.d.ts +150 -0
  552. package/dist-cjs/executors/filesystem.js +1159 -0
  553. package/dist-cjs/executors/filesystem.js.map +1 -0
  554. package/dist-cjs/executors/index.d.ts +38 -0
  555. package/dist-cjs/executors/index.js +112 -0
  556. package/dist-cjs/executors/index.js.map +1 -0
  557. package/dist-cjs/executors/learning-meta.d.ts +87 -0
  558. package/dist-cjs/executors/learning-meta.js +1166 -0
  559. package/dist-cjs/executors/learning-meta.js.map +1 -0
  560. package/dist-cjs/executors/memory.d.ts +203 -0
  561. package/dist-cjs/executors/memory.js +797 -0
  562. package/dist-cjs/executors/memory.js.map +1 -0
  563. package/dist-cjs/executors/meta.d.ts +73 -0
  564. package/dist-cjs/executors/meta.js +227 -0
  565. package/dist-cjs/executors/meta.js.map +1 -0
  566. package/dist-cjs/executors/process-registry.d.ts +98 -0
  567. package/dist-cjs/executors/process-registry.js +470 -0
  568. package/dist-cjs/executors/process-registry.js.map +1 -0
  569. package/dist-cjs/executors/pty-session-store.d.ts +14 -0
  570. package/dist-cjs/executors/pty-session-store.js +35 -0
  571. package/dist-cjs/executors/pty-session-store.js.map +1 -0
  572. package/dist-cjs/executors/pty.d.ts +133 -0
  573. package/dist-cjs/executors/pty.js +313 -0
  574. package/dist-cjs/executors/pty.js.map +1 -0
  575. package/dist-cjs/executors/restart.d.ts +18 -0
  576. package/dist-cjs/executors/restart.js +187 -0
  577. package/dist-cjs/executors/restart.js.map +1 -0
  578. package/dist-cjs/executors/search-types.d.ts +52 -0
  579. package/dist-cjs/executors/search-types.js +57 -0
  580. package/dist-cjs/executors/search-types.js.map +1 -0
  581. package/dist-cjs/executors/self-diagnose.d.ts +89 -0
  582. package/dist-cjs/executors/self-diagnose.js +435 -0
  583. package/dist-cjs/executors/self-diagnose.js.map +1 -0
  584. package/dist-cjs/executors/session-history.d.ts +75 -0
  585. package/dist-cjs/executors/session-history.js +321 -0
  586. package/dist-cjs/executors/session-history.js.map +1 -0
  587. package/dist-cjs/executors/shell-safety.d.ts +27 -0
  588. package/dist-cjs/executors/shell-safety.js +479 -0
  589. package/dist-cjs/executors/shell-safety.js.map +1 -0
  590. package/dist-cjs/executors/shell.d.ts +168 -0
  591. package/dist-cjs/executors/shell.js +1002 -0
  592. package/dist-cjs/executors/shell.js.map +1 -0
  593. package/dist-cjs/executors/utils.d.ts +20 -0
  594. package/dist-cjs/executors/utils.js +74 -0
  595. package/dist-cjs/executors/utils.js.map +1 -0
  596. package/dist-cjs/executors/web.d.ts +89 -0
  597. package/dist-cjs/executors/web.js +548 -0
  598. package/dist-cjs/executors/web.js.map +1 -0
  599. package/dist-cjs/extraction/content-extraction.d.ts +48 -0
  600. package/dist-cjs/extraction/content-extraction.js +244 -0
  601. package/dist-cjs/extraction/content-extraction.js.map +1 -0
  602. package/dist-cjs/extraction/index.d.ts +4 -0
  603. package/dist-cjs/extraction/index.js +9 -0
  604. package/dist-cjs/extraction/index.js.map +1 -0
  605. package/dist-cjs/headless-control-contract.d.ts +3170 -0
  606. package/dist-cjs/headless-control-contract.js +973 -0
  607. package/dist-cjs/headless-control-contract.js.map +1 -0
  608. package/dist-cjs/index.d.ts +62 -0
  609. package/dist-cjs/index.js +418 -0
  610. package/dist-cjs/index.js.map +1 -0
  611. package/dist-cjs/local-control-http-auth.d.ts +2 -0
  612. package/dist-cjs/local-control-http-auth.js +6 -0
  613. package/dist-cjs/local-control-http-auth.js.map +1 -0
  614. package/dist-cjs/mcp/client.d.ts +68 -0
  615. package/dist-cjs/mcp/client.js +186 -0
  616. package/dist-cjs/mcp/client.js.map +1 -0
  617. package/dist-cjs/mcp/connection.d.ts +54 -0
  618. package/dist-cjs/mcp/connection.js +485 -0
  619. package/dist-cjs/mcp/connection.js.map +1 -0
  620. package/dist-cjs/mcp/index.d.ts +10 -0
  621. package/dist-cjs/mcp/index.js +31 -0
  622. package/dist-cjs/mcp/index.js.map +1 -0
  623. package/dist-cjs/mcp/jsonrpc.d.ts +36 -0
  624. package/dist-cjs/mcp/jsonrpc.js +149 -0
  625. package/dist-cjs/mcp/jsonrpc.js.map +1 -0
  626. package/dist-cjs/mcp/types.d.ts +178 -0
  627. package/dist-cjs/mcp/types.js +9 -0
  628. package/dist-cjs/mcp/types.js.map +1 -0
  629. package/dist-cjs/network-control-adapter.d.ts +4 -0
  630. package/dist-cjs/network-control-adapter.js +78 -0
  631. package/dist-cjs/network-control-adapter.js.map +1 -0
  632. package/dist-cjs/network-runtime/address-types.d.ts +201 -0
  633. package/dist-cjs/network-runtime/address-types.js +169 -0
  634. package/dist-cjs/network-runtime/address-types.js.map +1 -0
  635. package/dist-cjs/network-runtime/db-owner-fencing.d.ts +43 -0
  636. package/dist-cjs/network-runtime/db-owner-fencing.js +77 -0
  637. package/dist-cjs/network-runtime/db-owner-fencing.js.map +1 -0
  638. package/dist-cjs/network-runtime/delivery-receipts.d.ts +117 -0
  639. package/dist-cjs/network-runtime/delivery-receipts.js +277 -0
  640. package/dist-cjs/network-runtime/delivery-receipts.js.map +1 -0
  641. package/dist-cjs/network-runtime/direct-endpoint-authority.d.ts +8 -0
  642. package/dist-cjs/network-runtime/direct-endpoint-authority.js +30 -0
  643. package/dist-cjs/network-runtime/direct-endpoint-authority.js.map +1 -0
  644. package/dist-cjs/network-runtime/index.d.ts +24 -0
  645. package/dist-cjs/network-runtime/index.js +173 -0
  646. package/dist-cjs/network-runtime/index.js.map +1 -0
  647. package/dist-cjs/network-runtime/local-control-contract.d.ts +752 -0
  648. package/dist-cjs/network-runtime/local-control-contract.js +628 -0
  649. package/dist-cjs/network-runtime/local-control-contract.js.map +1 -0
  650. package/dist-cjs/network-runtime/node-store-contract.d.ts +49 -0
  651. package/dist-cjs/network-runtime/node-store-contract.js +39 -0
  652. package/dist-cjs/network-runtime/node-store-contract.js.map +1 -0
  653. package/dist-cjs/network-runtime/pair-route-contract.d.ts +100 -0
  654. package/dist-cjs/network-runtime/pair-route-contract.js +81 -0
  655. package/dist-cjs/network-runtime/pair-route-contract.js.map +1 -0
  656. package/dist-cjs/network-runtime/peer-capabilities.d.ts +10 -0
  657. package/dist-cjs/network-runtime/peer-capabilities.js +38 -0
  658. package/dist-cjs/network-runtime/peer-capabilities.js.map +1 -0
  659. package/dist-cjs/network-runtime/peer-principal-ref.d.ts +9 -0
  660. package/dist-cjs/network-runtime/peer-principal-ref.js +16 -0
  661. package/dist-cjs/network-runtime/peer-principal-ref.js.map +1 -0
  662. package/dist-cjs/network-runtime/peer-state-machine.d.ts +70 -0
  663. package/dist-cjs/network-runtime/peer-state-machine.js +130 -0
  664. package/dist-cjs/network-runtime/peer-state-machine.js.map +1 -0
  665. package/dist-cjs/network-runtime/protocol-schemas.d.ts +328 -0
  666. package/dist-cjs/network-runtime/protocol-schemas.js +213 -0
  667. package/dist-cjs/network-runtime/protocol-schemas.js.map +1 -0
  668. package/dist-cjs/network-runtime/runtime-bootstrap-contract.d.ts +81 -0
  669. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +64 -0
  670. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js.map +1 -0
  671. package/dist-cjs/outlook/desktop-session.d.ts +68 -0
  672. package/dist-cjs/outlook/desktop-session.js +319 -0
  673. package/dist-cjs/outlook/desktop-session.js.map +1 -0
  674. package/dist-cjs/package.json +3 -0
  675. package/dist-cjs/policy.d.ts +43 -0
  676. package/dist-cjs/policy.js +156 -0
  677. package/dist-cjs/policy.js.map +1 -0
  678. package/dist-cjs/providers/brave.d.ts +10 -0
  679. package/dist-cjs/providers/brave.js +67 -0
  680. package/dist-cjs/providers/brave.js.map +1 -0
  681. package/dist-cjs/providers/duckduckgo.d.ts +18 -0
  682. package/dist-cjs/providers/duckduckgo.js +181 -0
  683. package/dist-cjs/providers/duckduckgo.js.map +1 -0
  684. package/dist-cjs/providers/exa.d.ts +10 -0
  685. package/dist-cjs/providers/exa.js +68 -0
  686. package/dist-cjs/providers/exa.js.map +1 -0
  687. package/dist-cjs/providers/firecrawl.d.ts +10 -0
  688. package/dist-cjs/providers/firecrawl.js +60 -0
  689. package/dist-cjs/providers/firecrawl.js.map +1 -0
  690. package/dist-cjs/providers/index.d.ts +8 -0
  691. package/dist-cjs/providers/index.js +18 -0
  692. package/dist-cjs/providers/index.js.map +1 -0
  693. package/dist-cjs/providers/jina.d.ts +10 -0
  694. package/dist-cjs/providers/jina.js +54 -0
  695. package/dist-cjs/providers/jina.js.map +1 -0
  696. package/dist-cjs/providers/router.d.ts +21 -0
  697. package/dist-cjs/providers/router.js +101 -0
  698. package/dist-cjs/providers/router.js.map +1 -0
  699. package/dist-cjs/providers/search-provider.d.ts +35 -0
  700. package/dist-cjs/providers/search-provider.js +37 -0
  701. package/dist-cjs/providers/search-provider.js.map +1 -0
  702. package/dist-cjs/providers/tavily.d.ts +10 -0
  703. package/dist-cjs/providers/tavily.js +59 -0
  704. package/dist-cjs/providers/tavily.js.map +1 -0
  705. package/dist-cjs/quip/desktop-session.d.ts +69 -0
  706. package/dist-cjs/quip/desktop-session.js +354 -0
  707. package/dist-cjs/quip/desktop-session.js.map +1 -0
  708. package/dist-cjs/registry/index.d.ts +1 -0
  709. package/dist-cjs/registry/index.js +7 -0
  710. package/dist-cjs/registry/index.js.map +1 -0
  711. package/dist-cjs/registry/registry.d.ts +156 -0
  712. package/dist-cjs/registry/registry.js +762 -0
  713. package/dist-cjs/registry/registry.js.map +1 -0
  714. package/dist-cjs/runtime-socket-local-control-client.d.ts +10 -0
  715. package/dist-cjs/runtime-socket-local-control-client.js +368 -0
  716. package/dist-cjs/runtime-socket-local-control-client.js.map +1 -0
  717. package/dist-cjs/security/dns-normalization.d.ts +6 -0
  718. package/dist-cjs/security/dns-normalization.js +23 -0
  719. package/dist-cjs/security/dns-normalization.js.map +1 -0
  720. package/dist-cjs/security/dns-pinning.d.ts +27 -0
  721. package/dist-cjs/security/dns-pinning.js +161 -0
  722. package/dist-cjs/security/dns-pinning.js.map +1 -0
  723. package/dist-cjs/security/external-content.d.ts +40 -0
  724. package/dist-cjs/security/external-content.js +96 -0
  725. package/dist-cjs/security/external-content.js.map +1 -0
  726. package/dist-cjs/security/ssrf.d.ts +40 -0
  727. package/dist-cjs/security/ssrf.js +222 -0
  728. package/dist-cjs/security/ssrf.js.map +1 -0
  729. package/dist-cjs/slack/desktop-session.d.ts +69 -0
  730. package/dist-cjs/slack/desktop-session.js +367 -0
  731. package/dist-cjs/slack/desktop-session.js.map +1 -0
  732. package/dist-cjs/tool-factory.d.ts +46 -0
  733. package/dist-cjs/tool-factory.js +51 -0
  734. package/dist-cjs/tool-factory.js.map +1 -0
  735. package/dist-cjs/types.d.ts +1188 -0
  736. package/dist-cjs/types.js +9 -0
  737. package/dist-cjs/types.js.map +1 -0
  738. package/dist-cjs/utils/retry.d.ts +11 -0
  739. package/dist-cjs/utils/retry.js +170 -0
  740. package/dist-cjs/utils/retry.js.map +1 -0
  741. package/dist-cjs/utils/safe-parse-json.d.ts +26 -0
  742. package/dist-cjs/utils/safe-parse-json.js +165 -0
  743. package/dist-cjs/utils/safe-parse-json.js.map +1 -0
  744. package/dist-cjs/utils/url.d.ts +10 -0
  745. package/dist-cjs/utils/url.js +24 -0
  746. package/dist-cjs/utils/url.js.map +1 -0
  747. package/package.json +55 -0
  748. package/src/__tests__/web-fetch-download.test.ts +433 -0
  749. package/src/__tests__/web-tools.test.ts +619 -0
  750. package/src/ask-user-interaction.ts +33 -0
  751. package/src/cache/web-cache.ts +110 -0
  752. package/src/definitions/arion.ts +118 -0
  753. package/src/definitions/browser/browser.ts +502 -0
  754. package/src/definitions/browser/index.ts +5 -0
  755. package/src/definitions/browser/pw-downloads.ts +142 -0
  756. package/src/definitions/browser/pw-interactions.ts +282 -0
  757. package/src/definitions/browser/pw-responses.ts +98 -0
  758. package/src/definitions/browser/pw-session.ts +405 -0
  759. package/src/definitions/browser/pw-shared.ts +85 -0
  760. package/src/definitions/browser/pw-snapshot.ts +383 -0
  761. package/src/definitions/browser/pw-state.ts +101 -0
  762. package/src/definitions/browser/types.ts +203 -0
  763. package/src/definitions/core.ts +106 -0
  764. package/src/definitions/delegation.ts +567 -0
  765. package/src/definitions/deploy.ts +73 -0
  766. package/src/definitions/filesystem.ts +253 -0
  767. package/src/definitions/index.ts +25 -0
  768. package/src/definitions/memory.ts +150 -0
  769. package/src/definitions/messaging.ts +734 -0
  770. package/src/definitions/meta.ts +392 -0
  771. package/src/definitions/network.ts +179 -0
  772. package/src/definitions/outlook.ts +318 -0
  773. package/src/definitions/patch/apply-patch.ts +235 -0
  774. package/src/definitions/patch/fuzzy-match.ts +217 -0
  775. package/src/definitions/patch/index.ts +1 -0
  776. package/src/definitions/patch/patch-parser.ts +297 -0
  777. package/src/definitions/patch/sandbox-paths.ts +129 -0
  778. package/src/definitions/process/index.ts +5 -0
  779. package/src/definitions/process/process-registry.ts +303 -0
  780. package/src/definitions/process/process.ts +456 -0
  781. package/src/definitions/process/pty-keys.ts +298 -0
  782. package/src/definitions/process/session-slug.ts +147 -0
  783. package/src/definitions/quip.ts +225 -0
  784. package/src/definitions/session-history.ts +79 -0
  785. package/src/definitions/shell.ts +202 -0
  786. package/src/definitions/slack.ts +211 -0
  787. package/src/definitions/web.ts +119 -0
  788. package/src/executors/apply-patch.ts +1015 -0
  789. package/src/executors/arion.ts +199 -0
  790. package/src/executors/deploy.ts +1066 -0
  791. package/src/executors/filesystem.ts +1421 -0
  792. package/src/executors/index.ts +222 -0
  793. package/src/executors/learning-meta.ts +1367 -0
  794. package/src/executors/memory.ts +978 -0
  795. package/src/executors/meta.ts +293 -0
  796. package/src/executors/process-registry.ts +570 -0
  797. package/src/executors/pty-session-store.ts +43 -0
  798. package/src/executors/pty.ts +342 -0
  799. package/src/executors/restart.ts +168 -0
  800. package/src/executors/search-types.ts +98 -0
  801. package/src/executors/self-diagnose.ts +552 -0
  802. package/src/executors/session-history.ts +435 -0
  803. package/src/executors/shell-safety.ts +519 -0
  804. package/src/executors/shell.ts +1243 -0
  805. package/src/executors/utils.ts +40 -0
  806. package/src/executors/web.ts +786 -0
  807. package/src/extraction/content-extraction.ts +281 -0
  808. package/src/extraction/index.ts +5 -0
  809. package/src/headless-control-contract.ts +1149 -0
  810. package/src/index.ts +763 -0
  811. package/src/local-control-http-auth.ts +2 -0
  812. package/src/mcp/client.ts +218 -0
  813. package/src/mcp/connection.ts +568 -0
  814. package/src/mcp/index.ts +11 -0
  815. package/src/mcp/jsonrpc.ts +195 -0
  816. package/src/mcp/types.ts +199 -0
  817. package/src/network-control-adapter.ts +88 -0
  818. package/src/network-runtime/address-types.ts +218 -0
  819. package/src/network-runtime/db-owner-fencing.ts +91 -0
  820. package/src/network-runtime/delivery-receipts.ts +372 -0
  821. package/src/network-runtime/direct-endpoint-authority.ts +35 -0
  822. package/src/network-runtime/index.ts +316 -0
  823. package/src/network-runtime/local-control-contract.ts +778 -0
  824. package/src/network-runtime/node-store-contract.ts +46 -0
  825. package/src/network-runtime/pair-route-contract.ts +97 -0
  826. package/src/network-runtime/peer-capabilities.ts +48 -0
  827. package/src/network-runtime/peer-principal-ref.ts +20 -0
  828. package/src/network-runtime/peer-state-machine.ts +160 -0
  829. package/src/network-runtime/protocol-schemas.ts +265 -0
  830. package/src/network-runtime/runtime-bootstrap-contract.ts +83 -0
  831. package/src/outlook/desktop-session.ts +409 -0
  832. package/src/policy.ts +171 -0
  833. package/src/providers/brave.ts +80 -0
  834. package/src/providers/duckduckgo.ts +199 -0
  835. package/src/providers/exa.ts +85 -0
  836. package/src/providers/firecrawl.ts +77 -0
  837. package/src/providers/index.ts +8 -0
  838. package/src/providers/jina.ts +70 -0
  839. package/src/providers/router.ts +121 -0
  840. package/src/providers/search-provider.ts +74 -0
  841. package/src/providers/tavily.ts +74 -0
  842. package/src/quip/desktop-session.ts +435 -0
  843. package/src/registry/index.ts +1 -0
  844. package/src/registry/registry.ts +905 -0
  845. package/src/runtime-socket-local-control-client.ts +632 -0
  846. package/src/security/dns-normalization.ts +34 -0
  847. package/src/security/dns-pinning.ts +138 -0
  848. package/src/security/external-content.ts +129 -0
  849. package/src/security/ssrf.ts +207 -0
  850. package/src/slack/desktop-session.ts +493 -0
  851. package/src/tool-factory.ts +91 -0
  852. package/src/types.ts +1337 -0
  853. package/src/utils/retry.ts +163 -0
  854. package/src/utils/safe-parse-json.ts +176 -0
  855. package/src/utils/url.ts +20 -0
  856. package/tests/benchmarks/registry.bench.ts +57 -0
  857. package/tests/cache/web-cache.test.ts +147 -0
  858. package/tests/critical-integration.test.ts +1465 -0
  859. package/tests/definitions/apply-patch.test.ts +586 -0
  860. package/tests/definitions/browser.test.ts +495 -0
  861. package/tests/definitions/delegation-pause-resume.test.ts +758 -0
  862. package/tests/definitions/execution.test.ts +671 -0
  863. package/tests/definitions/messaging-inbox-scope.test.ts +229 -0
  864. package/tests/definitions/messaging.test.ts +1468 -0
  865. package/tests/definitions/outlook.test.ts +30 -0
  866. package/tests/definitions/process.test.ts +469 -0
  867. package/tests/definitions/slack.test.ts +28 -0
  868. package/tests/definitions/tool-inventory.test.ts +207 -0
  869. package/tests/e2e/delegation-quest-orchestration.e2e.test.ts +433 -0
  870. package/tests/e2e/memory-tool-discovery-contract.e2e.test.ts +81 -0
  871. package/tests/executors/apply-patch.test.ts +538 -0
  872. package/tests/executors/arion.test.ts +309 -0
  873. package/tests/executors/conversation-primitives.test.ts +250 -0
  874. package/tests/executors/deploy.test.ts +746 -0
  875. package/tests/executors/filesystem-tools.test.ts +357 -0
  876. package/tests/executors/filesystem.test.ts +959 -0
  877. package/tests/executors/memory-bugfixes.test.ts +257 -0
  878. package/tests/executors/memory-real-memoria.integration.test.ts +316 -0
  879. package/tests/executors/memory.test.ts +853 -0
  880. package/tests/executors/meta-tools.test.ts +411 -0
  881. package/tests/executors/meta.test.ts +683 -0
  882. package/tests/executors/path-containment.test.ts +51 -0
  883. package/tests/executors/process-registry.test.ts +505 -0
  884. package/tests/executors/pty.test.ts +664 -0
  885. package/tests/executors/quest-security.test.ts +249 -0
  886. package/tests/executors/read-file-media.test.ts +230 -0
  887. package/tests/executors/recall-knowledge-schema.test.ts +209 -0
  888. package/tests/executors/recall-tags.test.ts +278 -0
  889. package/tests/executors/remember-null-safety.contract.test.ts +41 -0
  890. package/tests/executors/restart.test.ts +67 -0
  891. package/tests/executors/search-unified.test.ts +381 -0
  892. package/tests/executors/session-history.test.ts +340 -0
  893. package/tests/executors/session-transcript.test.ts +561 -0
  894. package/tests/executors/shell-abort.test.ts +416 -0
  895. package/tests/executors/shell-env-blocklist.test.ts +648 -0
  896. package/tests/executors/shell-env-process.test.ts +245 -0
  897. package/tests/executors/shell-process-registry.test.ts +334 -0
  898. package/tests/executors/shell-tools.test.ts +393 -0
  899. package/tests/executors/shell.test.ts +690 -0
  900. package/tests/executors/web-abort-vs-timeout.test.ts +213 -0
  901. package/tests/executors/web-integration.test.ts +633 -0
  902. package/tests/executors/web-symlink.test.ts +18 -0
  903. package/tests/executors/web.test.ts +1400 -0
  904. package/tests/executors/write-stdin.test.ts +145 -0
  905. package/tests/extraction/content-extraction.test.ts +153 -0
  906. package/tests/guards/tools-default-test-lane.integration.test.ts +21 -0
  907. package/tests/guards/tools-package-test-commands.e2e.test.ts +43 -0
  908. package/tests/guards/tools-test-lane-manifest.contract.test.ts +76 -0
  909. package/tests/guards/tools-vitest-workspace-alias.contract.test.ts +63 -0
  910. package/tests/helpers/async-waits.ts +53 -0
  911. package/tests/integration/headless-control-contract.integration.test.ts +151 -0
  912. package/tests/integration/memory-tool-schema-parity.integration.test.ts +67 -0
  913. package/tests/integration/meta-tools-round-trip.integration.test.ts +506 -0
  914. package/tests/integration/quest-round-trip.test.ts +303 -0
  915. package/tests/integration/registry-executor-flow.test.ts +85 -0
  916. package/tests/integration.test.ts +177 -0
  917. package/tests/loading-tier.test.ts +126 -0
  918. package/tests/mcp/client-reconnect.test.ts +267 -0
  919. package/tests/mcp/connection.test.ts +846 -0
  920. package/tests/mcp/injectable-logger.test.ts +83 -0
  921. package/tests/mcp/jsonrpc.test.ts +109 -0
  922. package/tests/mcp/lifecycle.test.ts +879 -0
  923. package/tests/network-runtime/address-types.contract.test.ts +143 -0
  924. package/tests/network-runtime/continuity-bind-schema.contract.test.ts +203 -0
  925. package/tests/network-runtime/local-control-contract.test.ts +869 -0
  926. package/tests/network-runtime/local-control-invite-token.contract.test.ts +146 -0
  927. package/tests/network-runtime/node-store-contract.test.ts +11 -0
  928. package/tests/network-runtime/pair-protocol-nodeid.contract.test.ts +15 -0
  929. package/tests/network-runtime/peer-state-machine.contract.test.ts +148 -0
  930. package/tests/network-runtime/protocol-schemas.contract.test.ts +512 -0
  931. package/tests/network-runtime/relay-pending-nodeid.contract.test.ts +62 -0
  932. package/tests/network-runtime/runtime-bootstrap-contract.test.ts +227 -0
  933. package/tests/network-runtime/runtime-socket-local-control-client.test.ts +621 -0
  934. package/tests/network-runtime/wait-for-message-script.test.ts +288 -0
  935. package/tests/parallel.test.ts +71 -0
  936. package/tests/policy.test.ts +184 -0
  937. package/tests/print-default-test-lane.ts +14 -0
  938. package/tests/print-test-lane-manifest.ts +22 -0
  939. package/tests/providers/brave.test.ts +159 -0
  940. package/tests/providers/duckduckgo.test.ts +207 -0
  941. package/tests/providers/exa.test.ts +175 -0
  942. package/tests/providers/firecrawl.test.ts +168 -0
  943. package/tests/providers/jina.test.ts +144 -0
  944. package/tests/providers/router.test.ts +328 -0
  945. package/tests/providers/tavily.test.ts +165 -0
  946. package/tests/registry/discovery.test.ts +154 -0
  947. package/tests/registry/injectable-logger.test.ts +230 -0
  948. package/tests/registry/input-validation.test.ts +361 -0
  949. package/tests/registry/interface-completeness.test.ts +85 -0
  950. package/tests/registry/mcp-integration.test.ts +103 -0
  951. package/tests/registry/mcp-read-only-hint.test.ts +60 -0
  952. package/tests/registry/memoria-discovery.test.ts +390 -0
  953. package/tests/registry/nested-validation.test.ts +283 -0
  954. package/tests/registry/pseudo-tool-filtering.test.ts +258 -0
  955. package/tests/registry/registration-lifecycle.test.ts +133 -0
  956. package/tests/registry-validation.test.ts +424 -0
  957. package/tests/registry.test.ts +460 -0
  958. package/tests/security/dns-pinning.test.ts +162 -0
  959. package/tests/security/external-content.test.ts +144 -0
  960. package/tests/security/ssrf.test.ts +118 -0
  961. package/tests/shell-safety-integration.test.ts +32 -0
  962. package/tests/shell-safety.test.ts +365 -0
  963. package/tests/slack/desktop-session.test.ts +50 -0
  964. package/tests/test-lane-manifest.ts +436 -0
  965. package/tests/test-utils.ts +27 -0
  966. package/tests/tool-factory.test.ts +188 -0
  967. package/tests/utils/retry.test.ts +231 -0
  968. package/tests/utils/url.test.ts +63 -0
  969. package/tsconfig.cjs.json +16 -0
  970. package/tsconfig.json +12 -0
  971. package/vitest.config.ts +55 -0
  972. package/vitest.e2e.config.ts +24 -0
  973. package/vitest.integration.config.ts +24 -0
  974. package/vitest.native.config.ts +24 -0
@@ -0,0 +1,474 @@
1
+ /**
2
+ * @aria/tools - Shell command risk classifier
3
+ *
4
+ * Statically classifies shell commands into risk tiers to gate execution:
5
+ * - "safe" : read-only, execute immediately without approval
6
+ * - "moderate" : requires runtime policy handling (approval, allowlist, or autorun)
7
+ * - "blocked" : catastrophic, hard-denied — never execute
8
+ */
9
+ /** Read-only single-word commands that never modify state. */
10
+ const SAFE_SINGLE = new Set([
11
+ "ls",
12
+ "cat",
13
+ "head",
14
+ "tail",
15
+ "wc",
16
+ "file",
17
+ "stat",
18
+ "grep",
19
+ "rg",
20
+ "find",
21
+ "which",
22
+ "whereis",
23
+ "echo",
24
+ "date",
25
+ "whoami",
26
+ "pwd",
27
+ "printenv",
28
+ "uname",
29
+ "hostname",
30
+ ]);
31
+ /** Read-only multi-word command prefixes (order: longest match first). */
32
+ const SAFE_MULTI = [
33
+ "git stash list",
34
+ "git status",
35
+ "git log",
36
+ "git diff",
37
+ "git show",
38
+ "git blame",
39
+ "git branch",
40
+ "git remote",
41
+ "git tag",
42
+ "node --version",
43
+ "npm --version",
44
+ "pnpm --version",
45
+ "python --version",
46
+ "pnpm list",
47
+ "npm list",
48
+ ];
49
+ /** Patterns that are unconditionally blocked — catastrophic risk. */
50
+ export const BLOCKED_PATTERNS = [
51
+ /rm\s+(?:--?[A-Za-z0-9-]+\s+)*\/(?:\s|$)/, // rm targeting filesystem root (/)
52
+ /rm\s+(?:--?[A-Za-z0-9-]+\s+)*\/\*(?:\s|$)/, // rm targeting root wildcard (/*)
53
+ /rm\s+(?:--?[A-Za-z0-9-]+\s+)*\.(?:\s|$)/, // rm . (current dir wipe, not ./subdir)
54
+ /rm\s+(?:--?[A-Za-z0-9-]+\s+)*~(?:[a-zA-Z]\w*)?(?:\/\*)?(?:\s|$)/, // rm ~ (bare home), ~/* (home wildcard), ~user (other user home)
55
+ /rm\s+(?:--?[A-Za-z0-9-]+\s+)*\$HOME\b/, // rm with $HOME variable
56
+ /rm\s+(?:--?[A-Za-z0-9-]+\s+)*\*(?:\s|$)/, // rm with bare wildcard (rm -rf *)
57
+ />\s*\/dev\/(?:sd[a-z]|nvme\d+|vd[a-z])\b/, // write to block devices
58
+ /mkfs/, // format filesystems
59
+ /dd\s+.*(?:if=|of=)/, // raw disk reads/writes
60
+ /chmod\s+(?:-R\s+)?777\b/, // world-writable permissions
61
+ /curl[\s\S]*\|\s*(ba)?sh/, // pipe-to-shell (including newline-obfuscated variants)
62
+ /wget[\s\S]*\|\s*(ba)?sh/, // pipe-to-shell (including newline-obfuscated variants)
63
+ /(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*eval\b/, // shell eval injection
64
+ // Inline execution (sh -c, python -c, node -e, etc.) downgraded to moderate.
65
+ // These are legitimate developer operations — dangerous payloads are still
66
+ // caught by other blocked patterns (rm /, curl|sh, fork bombs, etc.).
67
+ /(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*shutdown\b/, // system shutdown
68
+ /(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*reboot\b/, // system reboot
69
+ /(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*halt\b/, // system halt
70
+ /(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*init\s+0\b/, // init runlevel poweroff
71
+ /(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*systemctl\s+(?:poweroff|halt|reboot)\b/, // systemctl power controls
72
+ // kill downgraded to moderate — legitimate process management (kill PID, kill -0)
73
+ // is a normal developer operation. Catastrophic kill (kill -9 1) is still caught
74
+ // by the PID-1 pattern below. See shell-safety.test.ts for coverage.
75
+ /(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*kill\s+(?:-\d+\s+|-[A-Z]+\s+)*\b1\b/, // kill PID 1 (init) — catastrophic
76
+ // ${...} parameter expansion downgraded to moderate — standard bash operations
77
+ // like ${VAR}, ${#VAR} (length), ${VAR:-default} are common developer patterns.
78
+ // Truly dangerous expansions (${VAR:=$(cmd)}) are caught by other patterns
79
+ // (eval, curl|sh, etc.) or by the subshell/backtick check in classifyCommand.
80
+ /:\(\)\{\s*:\|:&\s*\};:/, // fork bomb
81
+ /\bsudo\b/, // privilege escalation
82
+ /git\s+push\s+.*--force(?!-with-lease)\b/, // force push (allow --force-with-lease)
83
+ /git\s+push(?:\s+-[A-Za-z]*f[A-Za-z]*\b|\s+.*\s-[A-Za-z]*f[A-Za-z]*\b)/, // short force flags (-f, -uf, etc.)
84
+ /git\s+reset\s+--hard/, // hard reset
85
+ ];
86
+ /**
87
+ * Returns true if the raw command text matches any blocked pattern.
88
+ */
89
+ function isBlocked(raw) {
90
+ const withoutHeredocs = stripHeredocBodies(raw);
91
+ const withoutQuotedLiterals = stripSingleAndDoubleQuotedLiterals(withoutHeredocs);
92
+ return BLOCKED_PATTERNS.some((re) => re.test(withoutQuotedLiterals));
93
+ }
94
+ /**
95
+ * Strip heredoc bodies so that blocked-pattern checks don't fire on
96
+ * data content inside heredocs. Supports both quoted and unquoted
97
+ * delimiters: `<< 'EOF'`, `<< "EOF"`, `<< EOF`, `<<-EOF`.
98
+ *
99
+ * Only the body between the delimiter lines is replaced with spaces;
100
+ * the shell command on the `<<` line and the closing delimiter are
101
+ * preserved so other pattern checks still apply to the command itself.
102
+ */
103
+ function stripHeredocBodies(raw) {
104
+ // Match << (optional dash) then optional quotes around the delimiter word
105
+ const heredocRe = /<<-?\s*(?:'([^']+)'|"([^"]+)"|(\w+))/g;
106
+ let result = raw;
107
+ let match;
108
+ // Collect all heredoc markers first, then strip from the end backwards
109
+ // so index positions remain valid.
110
+ const markers = [];
111
+ while ((match = heredocRe.exec(raw)) !== null) {
112
+ const delimiter = match[1] ?? match[2] ?? match[3] ?? "";
113
+ if (!delimiter)
114
+ continue;
115
+ // Body starts after the next newline following the << marker
116
+ const afterMarker = raw.indexOf("\n", match.index);
117
+ if (afterMarker === -1)
118
+ continue;
119
+ const bodyStart = afterMarker + 1;
120
+ // Find the closing delimiter: must be on its own line (with optional
121
+ // leading whitespace for <<- heredocs).
122
+ const closingRe = new RegExp(`^\\s*${delimiter.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\s*$`, "m");
123
+ const bodySlice = raw.slice(bodyStart);
124
+ const closingMatch = closingRe.exec(bodySlice);
125
+ if (!closingMatch)
126
+ continue;
127
+ const bodyEnd = bodyStart + closingMatch.index;
128
+ markers.push({ delimiter, bodyStart, bodyEnd });
129
+ }
130
+ // Strip bodies from last to first to preserve indices
131
+ for (let i = markers.length - 1; i >= 0; i--) {
132
+ const { bodyStart, bodyEnd } = markers[i];
133
+ const body = result.slice(bodyStart, bodyEnd);
134
+ result = result.slice(0, bodyStart) + body.replace(/[^\n]/g, " ") + result.slice(bodyEnd);
135
+ }
136
+ return result;
137
+ }
138
+ /**
139
+ * Remove single-quoted and double-quoted literal text from a command so
140
+ * blocked-pattern checks don't fire on plain quoted prose like:
141
+ * echo "please do not run rm -rf /"
142
+ */
143
+ function stripSingleAndDoubleQuotedLiterals(raw) {
144
+ let result = "";
145
+ let inSingle = false;
146
+ let inDouble = false;
147
+ let escaped = false;
148
+ for (let i = 0; i < raw.length; i++) {
149
+ const ch = raw[i];
150
+ if (inSingle) {
151
+ if (ch === "'") {
152
+ inSingle = false;
153
+ result += " ";
154
+ }
155
+ else {
156
+ result += " ";
157
+ }
158
+ continue;
159
+ }
160
+ if (inDouble) {
161
+ if (escaped) {
162
+ escaped = false;
163
+ result += " ";
164
+ continue;
165
+ }
166
+ if (ch === "\\") {
167
+ escaped = true;
168
+ result += " ";
169
+ continue;
170
+ }
171
+ if (ch === '"') {
172
+ inDouble = false;
173
+ result += " ";
174
+ }
175
+ else {
176
+ result += " ";
177
+ }
178
+ continue;
179
+ }
180
+ if (ch === "'") {
181
+ inSingle = true;
182
+ result += " ";
183
+ continue;
184
+ }
185
+ if (ch === '"') {
186
+ inDouble = true;
187
+ result += " ";
188
+ continue;
189
+ }
190
+ result += ch;
191
+ }
192
+ return result;
193
+ }
194
+ /**
195
+ * Strip an optional absolute-path prefix from a token
196
+ * so `/usr/bin/rm` is treated the same as `rm`.
197
+ */
198
+ function stripPathPrefix(token) {
199
+ const i = token.lastIndexOf("/");
200
+ return i === -1 ? token : token.slice(i + 1);
201
+ }
202
+ function hasUnquotedSubshellOrBacktick(command) {
203
+ let inSingle = false;
204
+ let inDouble = false;
205
+ let escaped = false;
206
+ for (let i = 0; i < command.length; i++) {
207
+ const ch = command[i];
208
+ const next = command[i + 1];
209
+ if (inSingle) {
210
+ if (ch === "'")
211
+ inSingle = false;
212
+ continue;
213
+ }
214
+ if (inDouble) {
215
+ if (escaped) {
216
+ escaped = false;
217
+ continue;
218
+ }
219
+ if (ch === "\\") {
220
+ escaped = true;
221
+ continue;
222
+ }
223
+ if (ch === '"') {
224
+ inDouble = false;
225
+ continue;
226
+ }
227
+ if (ch === "`" || (ch === "$" && next === "(")) {
228
+ return true;
229
+ }
230
+ continue;
231
+ }
232
+ if (escaped) {
233
+ escaped = false;
234
+ continue;
235
+ }
236
+ if (ch === "\\") {
237
+ escaped = true;
238
+ continue;
239
+ }
240
+ if (ch === "'") {
241
+ inSingle = true;
242
+ continue;
243
+ }
244
+ if (ch === '"') {
245
+ inDouble = true;
246
+ continue;
247
+ }
248
+ if (ch === "`" || (ch === "$" && next === "(")) {
249
+ return true;
250
+ }
251
+ }
252
+ return false;
253
+ }
254
+ function splitTopLevelChain(command) {
255
+ const parts = [];
256
+ let current = "";
257
+ let inSingle = false;
258
+ let inDouble = false;
259
+ let escaped = false;
260
+ for (let i = 0; i < command.length; i++) {
261
+ const ch = command[i];
262
+ const next = command[i + 1];
263
+ if (inSingle) {
264
+ current += ch;
265
+ if (ch === "'")
266
+ inSingle = false;
267
+ continue;
268
+ }
269
+ if (inDouble) {
270
+ current += ch;
271
+ if (escaped) {
272
+ escaped = false;
273
+ continue;
274
+ }
275
+ if (ch === "\\") {
276
+ escaped = true;
277
+ continue;
278
+ }
279
+ if (ch === '"')
280
+ inDouble = false;
281
+ continue;
282
+ }
283
+ if (escaped) {
284
+ current += ch;
285
+ escaped = false;
286
+ continue;
287
+ }
288
+ if (ch === "\\") {
289
+ current += ch;
290
+ escaped = true;
291
+ continue;
292
+ }
293
+ if (ch === "'") {
294
+ current += ch;
295
+ inSingle = true;
296
+ continue;
297
+ }
298
+ if (ch === '"') {
299
+ current += ch;
300
+ inDouble = true;
301
+ continue;
302
+ }
303
+ const isSeparator = ch === ";" ||
304
+ ch === "\n" ||
305
+ ch === "\r" ||
306
+ (ch === "&" && next === "&") ||
307
+ (ch === "|" && next === "|");
308
+ if (isSeparator) {
309
+ parts.push(current.trim());
310
+ current = "";
311
+ if ((ch === "&" || ch === "|") && next === ch) {
312
+ i += 1;
313
+ }
314
+ continue;
315
+ }
316
+ current += ch;
317
+ }
318
+ parts.push(current.trim());
319
+ return parts;
320
+ }
321
+ function splitTopLevelPipes(command) {
322
+ const parts = [];
323
+ let current = "";
324
+ let inSingle = false;
325
+ let inDouble = false;
326
+ let escaped = false;
327
+ for (let i = 0; i < command.length; i++) {
328
+ const ch = command[i];
329
+ const next = command[i + 1];
330
+ const prev = i > 0 ? command[i - 1] : "";
331
+ if (inSingle) {
332
+ current += ch;
333
+ if (ch === "'")
334
+ inSingle = false;
335
+ continue;
336
+ }
337
+ if (inDouble) {
338
+ current += ch;
339
+ if (escaped) {
340
+ escaped = false;
341
+ continue;
342
+ }
343
+ if (ch === "\\") {
344
+ escaped = true;
345
+ continue;
346
+ }
347
+ if (ch === '"')
348
+ inDouble = false;
349
+ continue;
350
+ }
351
+ if (escaped) {
352
+ current += ch;
353
+ escaped = false;
354
+ continue;
355
+ }
356
+ if (ch === "\\") {
357
+ current += ch;
358
+ escaped = true;
359
+ continue;
360
+ }
361
+ if (ch === "'") {
362
+ current += ch;
363
+ inSingle = true;
364
+ continue;
365
+ }
366
+ if (ch === '"') {
367
+ current += ch;
368
+ inDouble = true;
369
+ continue;
370
+ }
371
+ if (ch === "|" && next !== "|" && prev !== "|") {
372
+ parts.push(current.trim());
373
+ current = "";
374
+ continue;
375
+ }
376
+ current += ch;
377
+ }
378
+ parts.push(current.trim());
379
+ return parts;
380
+ }
381
+ /**
382
+ * Matches shell output redirection operators that WRITE to the filesystem.
383
+ * Excludes 2>&1 (stderr-to-stdout merge) which is read-only.
384
+ *
385
+ * Matches: >, >>, 2> (not followed by &), &>
386
+ * Does NOT match: 2>&1, <, <<
387
+ */
388
+ const REDIRECTION_RE = /(?:>>|(?:^|[^2])>(?!&)|2>(?!&)|&>)/;
389
+ /**
390
+ * Determine whether a single simple command (no pipes/chains) is safe.
391
+ * Returns true only when the command prefix is in the safe lists
392
+ * AND the segment contains no output redirection.
393
+ */
394
+ function isSegmentSafe(segment) {
395
+ const trimmed = segment.trim();
396
+ if (trimmed === "")
397
+ return false;
398
+ // Output redirection makes any command non-safe
399
+ if (REDIRECTION_RE.test(trimmed))
400
+ return false;
401
+ // Multi-word safe match first (e.g. "git status")
402
+ for (const prefix of SAFE_MULTI) {
403
+ if (trimmed === prefix || trimmed.startsWith(prefix + " "))
404
+ return true;
405
+ }
406
+ // Single-word: first token, path-stripped
407
+ const firstToken = trimmed.split(/\s+/)[0] ?? "";
408
+ return SAFE_SINGLE.has(stripPathPrefix(firstToken));
409
+ }
410
+ /**
411
+ * Classify a shell command's risk level.
412
+ *
413
+ * - "safe" — skip approval, execute immediately
414
+ * - "moderate" — handle via runtime policy (approval, allowlist, or autorun)
415
+ * - "blocked" — never execute, return error immediately
416
+ */
417
+ export function classifyCommand(command) {
418
+ const trimmed = command.trim();
419
+ // Empty / whitespace-only — can't determine intent
420
+ if (trimmed === "")
421
+ return "moderate";
422
+ // 0. Strip heredoc bodies once, upfront, so every downstream check
423
+ // (whole-command, per-segment, per-pipe) operates on the sanitised text.
424
+ // This prevents heredoc *data* from triggering blocked patterns.
425
+ const stripped = stripHeredocBodies(trimmed);
426
+ // 1. Check blocked patterns on the entire raw command
427
+ if (isBlocked(stripped))
428
+ return "blocked";
429
+ // 2. Subshells / backticks — can't statically analyze safely.
430
+ // Check before splitting to avoid quote-unaware false positives.
431
+ if (hasUnquotedSubshellOrBacktick(stripped))
432
+ return "moderate";
433
+ // 3. Split on chain operators (&&, ||, ;, newline) outside quoted strings.
434
+ const chainSegments = splitTopLevelChain(stripped);
435
+ for (const seg of chainSegments) {
436
+ if (isBlocked(seg))
437
+ return "blocked";
438
+ }
439
+ // 4. Split each chain segment on top-level pipes and check.
440
+ const allSegments = [];
441
+ for (const seg of chainSegments) {
442
+ const piped = splitTopLevelPipes(seg);
443
+ for (const p of piped) {
444
+ if (isBlocked(p))
445
+ return "blocked";
446
+ allSegments.push(p);
447
+ }
448
+ }
449
+ // 5. Env-var assignment prefix (VAR=val command)
450
+ if (/^[A-Za-z_]\w*=/.test(trimmed))
451
+ return "moderate";
452
+ // 6. Check if ALL segments are safe (filter empty segments from chain splitting)
453
+ const nonEmpty = allSegments.filter((s) => s.trim() !== "");
454
+ if (nonEmpty.length > 0 && nonEmpty.every(isSegmentSafe))
455
+ return "safe";
456
+ // 7. Default — needs approval
457
+ return "moderate";
458
+ }
459
+ const EXPLICIT_SHELLS = new Set(["sh", "bash", "zsh", "ksh", "dash", "ash", "fish"]);
460
+ /**
461
+ * Classify argv-based process execution (spawn/exec) with shell-aware behavior.
462
+ *
463
+ * When callers explicitly invoke a shell interpreter with `-c`, classify the
464
+ * payload command text itself. This preserves catastrophic-command blocking
465
+ * while avoiding false positives that would block every `bash -c ...` call.
466
+ */
467
+ export function classifyExecInvocation(program, args = []) {
468
+ const shellName = stripPathPrefix(program).toLowerCase();
469
+ if (EXPLICIT_SHELLS.has(shellName) && args[0] === "-c" && typeof args[1] === "string") {
470
+ return classifyCommand(args[1]);
471
+ }
472
+ return classifyCommand([program, ...args].join(" "));
473
+ }
474
+ //# sourceMappingURL=shell-safety.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-safety.js","sourceRoot":"","sources":["../../src/executors/shell-safety.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * @aria/tools - Shell tool executors
3
+ *
4
+ * Implementation of shell operations for ARIA tool system.
5
+ */
6
+ import type { ProcessInfoRef, ToolContext, ToolResult } from "../types.js";
7
+ /**
8
+ * Environment variables that are dangerous in ALL contexts — including
9
+ * the host's own process.env. These enable code injection or library
10
+ * hijacking and should never reach child processes.
11
+ */
12
+ export declare const BLOCKED_ENV_VARS: Set<string>;
13
+ export declare function isBlockedGitEnvVar(key: string): boolean;
14
+ /**
15
+ * Strip git-context env keys from a source env object.
16
+ */
17
+ export declare function sanitizeGitEnv(env?: NodeJS.ProcessEnv | Record<string, string | undefined>): Record<string, string>;
18
+ /**
19
+ * Additional variables blocked from tool-injected input (inputEnv, ctx.env)
20
+ * but NOT from process.env. The host's PATH/HOME/SHELL are legitimate —
21
+ * only tool-provided overrides are dangerous (hijacking resolution paths).
22
+ */
23
+ export declare const BLOCKED_INPUT_ENV_VARS: Set<string>;
24
+ /**
25
+ * Merges environment variables from context and input.
26
+ *
27
+ * Three-tier filtering:
28
+ * - process.env: filtered through BLOCKED_ENV_VARS (injection-only vars like LD_PRELOAD)
29
+ * - ctx.env / inputEnv: filtered through BLOCKED_INPUT_ENV_VARS (also blocks PATH/HOME/SHELL hijacking)
30
+ */
31
+ export declare function mergeEnv(ctx: ToolContext, inputEnv?: Record<string, string>): Record<string, string>;
32
+ /**
33
+ * Sanitize environment for child processes without requiring a ToolContext.
34
+ *
35
+ * Applies the same two-tier filtering as mergeEnv:
36
+ * - process.env is filtered through BLOCKED_ENV_VARS
37
+ * - inputEnv (caller-supplied overrides) is filtered through BLOCKED_INPUT_ENV_VARS
38
+ *
39
+ * Intended for executors (e.g. PTY) that do not have a ToolContext.
40
+ */
41
+ export declare function sanitizeEnv(inputEnv?: Record<string, string>): Record<string, string>;
42
+ export interface BashInput {
43
+ /** Shell command to execute */
44
+ command: string;
45
+ /** Working directory override */
46
+ cwd?: string;
47
+ /** Additional environment variables */
48
+ env?: Record<string, string>;
49
+ /** Timeout in milliseconds */
50
+ timeout?: number;
51
+ }
52
+ export interface BashOutput {
53
+ stdout: string;
54
+ stderr: string;
55
+ exitCode: number;
56
+ }
57
+ /**
58
+ * Executes a command through bash shell.
59
+ * Supports shell features like pipes, redirection, and variable expansion.
60
+ */
61
+ export declare function executeBash(input: BashInput, ctx: ToolContext): Promise<ToolResult>;
62
+ export interface ExecInput {
63
+ /** Program to execute */
64
+ program: string;
65
+ /** Arguments to pass to the program */
66
+ args?: string[];
67
+ /** Working directory override */
68
+ cwd?: string;
69
+ /** Additional environment variables */
70
+ env?: Record<string, string>;
71
+ /** Timeout in milliseconds */
72
+ timeout?: number;
73
+ }
74
+ export interface ExecOutput {
75
+ stdout: string;
76
+ stderr: string;
77
+ exitCode: number;
78
+ }
79
+ /**
80
+ * Executes a program directly without shell interpretation.
81
+ * Safer than bash as it doesn't expand shell metacharacters.
82
+ */
83
+ export declare function executeExec(input: ExecInput, ctx: ToolContext): Promise<ToolResult>;
84
+ export interface SpawnInput {
85
+ /** Program to execute */
86
+ program: string;
87
+ /** Arguments to pass to the program */
88
+ args?: string[];
89
+ /** Working directory override */
90
+ cwd?: string;
91
+ /** Additional environment variables */
92
+ env?: Record<string, string>;
93
+ /** Start as interactive PTY session (enables write_stdin). Default: false */
94
+ interactive?: boolean;
95
+ }
96
+ export interface SpawnOutput {
97
+ pid: number;
98
+ }
99
+ /**
100
+ * Spawns a background process and returns immediately with its PID.
101
+ * The process is detached and will continue running after the parent exits.
102
+ */
103
+ export declare function executeSpawn(input: SpawnInput, ctx: ToolContext): Promise<ToolResult>;
104
+ export interface KillInput {
105
+ /** Process ID to kill */
106
+ pid: number;
107
+ /** Signal to send (default: SIGTERM) */
108
+ signal?: string;
109
+ }
110
+ export interface KillOutput {
111
+ pid: number;
112
+ signal: string;
113
+ }
114
+ /**
115
+ * Sends a signal to terminate a process by PID.
116
+ */
117
+ export declare function executeKill(input: KillInput, ctx: ToolContext): Promise<ToolResult>;
118
+ export interface ListProcessesInput {
119
+ /** Include exited process snapshots from recent registry history */
120
+ includeExited?: boolean;
121
+ }
122
+ export interface ListProcessesOutput {
123
+ processes: ProcessInfoRef[];
124
+ count: number;
125
+ }
126
+ export declare function executeListProcesses(rawInput: unknown, ctx: ToolContext): Promise<ToolResult>;
127
+ export interface WaitProcessInput {
128
+ /** PID to wait on */
129
+ pid: number;
130
+ /** Max wait duration in milliseconds (max 300000, default 30000) */
131
+ timeoutMs?: number;
132
+ /** Deprecated alias for timeoutMs */
133
+ timeout?: number;
134
+ }
135
+ export interface WaitProcessOutput {
136
+ pid: number;
137
+ status: "running" | "exited";
138
+ exited: boolean;
139
+ timedOut: boolean;
140
+ waitedMs: number;
141
+ command: string | null;
142
+ args: string[];
143
+ cwd: string | null;
144
+ interactive: boolean;
145
+ startedAt: string;
146
+ endedAt: string | null;
147
+ runtimeMs: number;
148
+ exitCode: number | null;
149
+ signal: string | null;
150
+ }
151
+ export declare function executeWaitProcess(rawInput: unknown, ctx: ToolContext): Promise<ToolResult>;
152
+ export interface WriteStdinInput {
153
+ /** PID of the interactive process to write to */
154
+ pid: number;
155
+ /** Input string to send to the process */
156
+ input: string;
157
+ /** Milliseconds to wait for output after writing (max 30000) */
158
+ timeout?: number;
159
+ }
160
+ export interface WriteStdinOutput {
161
+ /** Recent output from the session after writing */
162
+ output: string;
163
+ }
164
+ /**
165
+ * Sends input to an interactive PTY session by PID.
166
+ * Requires the process to have been spawned with interactive=true.
167
+ */
168
+ export declare function executeWriteStdin(rawInput: unknown, ctx: ToolContext): Promise<ToolResult>;
169
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/executors/shell.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,cAAc,EAEd,WAAW,EACX,UAAU,EAEX,MAAM,aAAa,CAAC;AAKrB;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,aA2B3B,CAAC;AAmCH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,GAAG,GAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACxE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxB;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,aA0BjC,CAAC;AAUH;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,WAAW,EAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoCxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2BrF;AAMD,MAAM,WAAW,SAAS;IACxB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA6BzF;AAMD,MAAM,WAAW,SAAS;IACxB,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAmED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAuMzF;AAMD,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkL3F;AAMD,MAAM,WAAW,SAAS;IACxB,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAyCzF;AAyHD,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAQD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,OAAO,EACjB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,CAkCrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAyDjG;AAkCD,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAiFhG"}