@aria-cli/tools 1.0.19 → 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/dist/.aria-build-stamp.json +1 -1
  2. package/dist/ask-user-interaction.js +23 -0
  3. package/dist/cache/web-cache.js +67 -0
  4. package/dist/definitions/arion.js +105 -0
  5. package/dist/definitions/browser/browser.js +419 -0
  6. package/dist/definitions/browser/index.js +5 -0
  7. package/dist/definitions/browser/pw-downloads.js +115 -0
  8. package/dist/definitions/browser/pw-interactions.js +200 -0
  9. package/dist/definitions/browser/pw-responses.js +77 -0
  10. package/dist/definitions/browser/pw-session.js +311 -0
  11. package/dist/definitions/browser/pw-shared.js +67 -0
  12. package/dist/definitions/browser/pw-snapshot.js +302 -0
  13. package/dist/definitions/browser/pw-state.js +63 -0
  14. package/dist/definitions/browser/types.js +5 -0
  15. package/dist/definitions/code-intelligence.js +471 -0
  16. package/dist/definitions/core.js +110 -0
  17. package/dist/definitions/delegation.js +513 -0
  18. package/dist/definitions/deploy.js +66 -0
  19. package/dist/definitions/filesystem.js +197 -0
  20. package/dist/definitions/frg.js +64 -0
  21. package/{dist-cjs/definitions/index.d.ts → dist/definitions/index.js} +2 -0
  22. package/dist/definitions/memory.js +124 -0
  23. package/dist/definitions/messaging.js +626 -0
  24. package/dist/definitions/meta.js +350 -0
  25. package/dist/definitions/network.js +160 -0
  26. package/dist/definitions/outlook.js +278 -0
  27. package/dist/definitions/patch/apply-patch.js +185 -0
  28. package/dist/definitions/patch/fuzzy-match.js +167 -0
  29. package/{dist-cjs/definitions/patch/index.d.ts → dist/definitions/patch/index.js} +1 -0
  30. package/dist/definitions/patch/patch-parser.js +208 -0
  31. package/dist/definitions/patch/sandbox-paths.js +106 -0
  32. package/dist/definitions/process/index.js +5 -0
  33. package/dist/definitions/process/process-registry.js +214 -0
  34. package/dist/definitions/process/process.js +387 -0
  35. package/dist/definitions/process/pty-keys.js +255 -0
  36. package/dist/definitions/process/session-slug.js +143 -0
  37. package/dist/definitions/quip.js +196 -0
  38. package/dist/definitions/search.js +61 -0
  39. package/dist/definitions/session-history.js +70 -0
  40. package/dist/definitions/shell.js +182 -0
  41. package/dist/definitions/slack.js +181 -0
  42. package/dist/definitions/web.js +110 -0
  43. package/dist/executors/apply-patch.js +902 -0
  44. package/dist/executors/arion.js +120 -0
  45. package/dist/executors/code-intelligence.js +883 -0
  46. package/dist/executors/deploy.js +849 -0
  47. package/dist/executors/filesystem.js +1119 -0
  48. package/dist/executors/frg-freshness.js +577 -0
  49. package/dist/executors/frg.js +299 -0
  50. package/{dist-cjs/executors/index.d.ts → dist/executors/index.js} +22 -19
  51. package/dist/executors/learning-meta.js +1147 -0
  52. package/dist/executors/lsp-client.js +297 -0
  53. package/dist/executors/memory.js +751 -0
  54. package/dist/executors/meta.js +221 -0
  55. package/dist/executors/process-registry.js +466 -0
  56. package/dist/executors/pty-session-store.js +31 -0
  57. package/dist/executors/pty.js +281 -0
  58. package/dist/executors/restart.js +120 -0
  59. package/dist/executors/search-freshness.js +196 -0
  60. package/dist/executors/search-types.js +53 -0
  61. package/dist/executors/search.js +67 -0
  62. package/dist/executors/self-diagnose.js +399 -0
  63. package/dist/executors/session-history.js +284 -0
  64. package/dist/executors/shell-safety.js +474 -0
  65. package/dist/executors/shell.js +955 -0
  66. package/dist/executors/utils.js +34 -0
  67. package/dist/executors/web.js +543 -0
  68. package/dist/extraction/content-extraction.js +248 -0
  69. package/dist/extraction/index.js +5 -0
  70. package/dist/headless-control-contract.js +968 -0
  71. package/dist/{index-v49pd2a0.js → index-45qvfjbf.js} +2 -2
  72. package/dist/index.js +71 -372
  73. package/dist/local-control-http-auth.js +3 -0
  74. package/dist/mcp/client.js +182 -0
  75. package/dist/mcp/connection.js +484 -0
  76. package/dist/mcp/index.js +11 -0
  77. package/dist/mcp/jsonrpc.js +145 -0
  78. package/dist/mcp/types.js +8 -0
  79. package/dist/network-control-adapter.js +73 -0
  80. package/dist/network-runtime/address-types.js +166 -0
  81. package/dist/network-runtime/db-owner-fencing.js +70 -0
  82. package/dist/network-runtime/delivery-receipts.js +270 -0
  83. package/dist/network-runtime/direct-endpoint-authority.js +26 -0
  84. package/dist/network-runtime/index.js +13 -1
  85. package/dist/network-runtime/local-control-contract.js +628 -0
  86. package/dist/network-runtime/node-store-contract.js +35 -0
  87. package/dist/network-runtime/pair-route-contract.js +78 -0
  88. package/dist/network-runtime/peer-capabilities.js +29 -0
  89. package/dist/network-runtime/peer-principal-ref.js +13 -0
  90. package/dist/network-runtime/peer-state-machine.js +122 -0
  91. package/dist/network-runtime/protocol-schemas.js +206 -0
  92. package/dist/network-runtime/runtime-bootstrap-contract.js +61 -0
  93. package/dist/outlook/desktop-session.js +280 -0
  94. package/dist/policy.js +150 -0
  95. package/dist/providers/brave.js +63 -0
  96. package/dist/providers/duckduckgo.js +177 -0
  97. package/dist/providers/exa.js +64 -0
  98. package/dist/providers/firecrawl.js +56 -0
  99. package/{dist-cjs/providers/index.d.ts → dist/providers/index.js} +1 -1
  100. package/dist/providers/jina.js +50 -0
  101. package/dist/providers/router.js +97 -0
  102. package/dist/providers/search-provider.js +33 -0
  103. package/dist/providers/tavily.js +55 -0
  104. package/dist/pty-w5c9dv33.js +1 -0
  105. package/dist/quip/desktop-session.js +318 -0
  106. package/{dist-cjs/registry/index.d.ts → dist/registry/index.js} +1 -0
  107. package/dist/registry/registry.js +757 -0
  108. package/dist/runtime-socket-local-control-client.js +331 -0
  109. package/dist/security/dns-normalization.js +20 -0
  110. package/dist/security/dns-pinning.js +124 -0
  111. package/dist/security/external-content.js +92 -0
  112. package/dist/security/ssrf.js +182 -0
  113. package/dist/slack/desktop-session.js +325 -0
  114. package/dist/tool-factory.js +48 -0
  115. package/dist/types.js +8 -0
  116. package/dist/utils/retry.js +133 -0
  117. package/dist/utils/safe-parse-json.js +161 -0
  118. package/dist/utils/url.js +20 -0
  119. package/dist-cjs/ask-user-interaction.js +28 -0
  120. package/dist-cjs/cache/web-cache.js +71 -0
  121. package/dist-cjs/definitions/arion.js +108 -0
  122. package/dist-cjs/definitions/browser/browser.js +422 -0
  123. package/dist-cjs/definitions/browser/index.js +9 -0
  124. package/dist-cjs/definitions/browser/pw-downloads.js +118 -0
  125. package/dist-cjs/definitions/browser/pw-interactions.js +214 -0
  126. package/dist-cjs/definitions/browser/pw-responses.js +85 -0
  127. package/dist-cjs/definitions/browser/pw-session.js +327 -0
  128. package/dist-cjs/definitions/browser/pw-shared.js +73 -0
  129. package/dist-cjs/definitions/browser/pw-snapshot.js +308 -0
  130. package/dist-cjs/definitions/browser/pw-state.js +71 -0
  131. package/dist-cjs/definitions/browser/types.js +6 -0
  132. package/dist-cjs/definitions/code-intelligence.js +474 -0
  133. package/dist-cjs/definitions/core.js +134 -0
  134. package/dist-cjs/definitions/delegation.js +516 -0
  135. package/dist-cjs/definitions/deploy.js +69 -0
  136. package/dist-cjs/definitions/filesystem.js +200 -0
  137. package/dist-cjs/definitions/frg.js +67 -0
  138. package/dist-cjs/definitions/index.js +44 -0
  139. package/dist-cjs/definitions/memory.js +127 -0
  140. package/dist-cjs/definitions/messaging.js +632 -0
  141. package/dist-cjs/definitions/meta.js +353 -0
  142. package/dist-cjs/definitions/network.js +163 -0
  143. package/dist-cjs/definitions/outlook.js +281 -0
  144. package/dist-cjs/definitions/patch/apply-patch.js +192 -0
  145. package/dist-cjs/definitions/patch/fuzzy-match.js +173 -0
  146. package/dist-cjs/definitions/patch/index.js +6 -0
  147. package/dist-cjs/definitions/patch/patch-parser.js +216 -0
  148. package/dist-cjs/definitions/patch/sandbox-paths.js +114 -0
  149. package/dist-cjs/definitions/process/index.js +9 -0
  150. package/dist-cjs/definitions/process/process-registry.js +232 -0
  151. package/dist-cjs/definitions/process/process.js +390 -0
  152. package/dist-cjs/definitions/process/pty-keys.js +260 -0
  153. package/dist-cjs/definitions/process/session-slug.js +146 -0
  154. package/dist-cjs/definitions/quip.js +199 -0
  155. package/dist-cjs/definitions/search.js +64 -0
  156. package/dist-cjs/definitions/session-history.js +73 -0
  157. package/dist-cjs/definitions/shell.js +185 -0
  158. package/dist-cjs/definitions/slack.js +184 -0
  159. package/dist-cjs/definitions/web.js +113 -0
  160. package/dist-cjs/executors/apply-patch.js +939 -0
  161. package/dist-cjs/executors/arion.js +126 -0
  162. package/dist-cjs/executors/code-intelligence.js +926 -0
  163. package/dist-cjs/executors/deploy.js +870 -0
  164. package/dist-cjs/executors/filesystem.js +1164 -0
  165. package/dist-cjs/executors/frg-freshness.js +628 -0
  166. package/dist-cjs/executors/frg.js +335 -0
  167. package/dist-cjs/executors/index.js +144 -0
  168. package/dist-cjs/executors/learning-meta.js +1166 -0
  169. package/dist-cjs/executors/memory.js +797 -0
  170. package/dist-cjs/executors/meta.js +227 -0
  171. package/dist-cjs/executors/process-registry.js +470 -0
  172. package/dist-cjs/executors/pty-session-store.js +35 -0
  173. package/dist-cjs/executors/pty.js +289 -0
  174. package/dist-cjs/executors/restart.js +156 -0
  175. package/dist-cjs/executors/search-freshness.js +235 -0
  176. package/dist-cjs/executors/search-types.js +57 -0
  177. package/dist-cjs/executors/search.js +103 -0
  178. package/dist-cjs/executors/self-diagnose.js +435 -0
  179. package/dist-cjs/executors/session-history.js +321 -0
  180. package/dist-cjs/executors/shell-safety.js +479 -0
  181. package/dist-cjs/executors/shell.js +1002 -0
  182. package/dist-cjs/executors/utils.js +74 -0
  183. package/dist-cjs/executors/web.js +548 -0
  184. package/dist-cjs/extraction/content-extraction.js +289 -0
  185. package/dist-cjs/extraction/index.js +9 -0
  186. package/dist-cjs/headless-control-contract.js +973 -0
  187. package/dist-cjs/index.js +436 -385
  188. package/dist-cjs/local-control-http-auth.js +6 -0
  189. package/dist-cjs/mcp/client.js +186 -0
  190. package/dist-cjs/mcp/connection.js +488 -0
  191. package/dist-cjs/mcp/index.js +31 -0
  192. package/dist-cjs/mcp/jsonrpc.js +149 -0
  193. package/dist-cjs/mcp/types.js +9 -0
  194. package/dist-cjs/network-control-adapter.js +78 -0
  195. package/dist-cjs/network-runtime/address-types.js +169 -0
  196. package/dist-cjs/network-runtime/db-owner-fencing.js +77 -0
  197. package/dist-cjs/network-runtime/delivery-receipts.js +279 -0
  198. package/dist-cjs/network-runtime/direct-endpoint-authority.js +30 -0
  199. package/dist-cjs/network-runtime/index.js +173 -8
  200. package/dist-cjs/network-runtime/local-control-contract.js +634 -0
  201. package/dist-cjs/network-runtime/node-store-contract.js +39 -0
  202. package/dist-cjs/network-runtime/pair-route-contract.js +81 -0
  203. package/dist-cjs/network-runtime/peer-capabilities.js +38 -0
  204. package/dist-cjs/network-runtime/peer-principal-ref.js +16 -0
  205. package/dist-cjs/network-runtime/peer-state-machine.js +130 -0
  206. package/dist-cjs/network-runtime/protocol-schemas.js +213 -0
  207. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +64 -0
  208. package/dist-cjs/outlook/desktop-session.js +319 -0
  209. package/dist-cjs/policy.js +156 -0
  210. package/dist-cjs/providers/brave.js +67 -0
  211. package/dist-cjs/providers/duckduckgo.js +181 -0
  212. package/dist-cjs/providers/exa.js +68 -0
  213. package/dist-cjs/providers/firecrawl.js +60 -0
  214. package/dist-cjs/providers/index.js +18 -0
  215. package/dist-cjs/providers/jina.js +54 -0
  216. package/dist-cjs/providers/router.js +101 -0
  217. package/dist-cjs/providers/search-provider.js +37 -0
  218. package/dist-cjs/providers/tavily.js +59 -0
  219. package/dist-cjs/quip/desktop-session.js +354 -0
  220. package/dist-cjs/registry/index.js +7 -0
  221. package/dist-cjs/registry/registry.js +762 -0
  222. package/dist-cjs/runtime-socket-local-control-client.js +368 -0
  223. package/dist-cjs/security/dns-normalization.js +23 -0
  224. package/dist-cjs/security/dns-pinning.js +161 -0
  225. package/dist-cjs/security/external-content.js +96 -0
  226. package/dist-cjs/security/ssrf.js +222 -0
  227. package/dist-cjs/slack/desktop-session.js +367 -0
  228. package/dist-cjs/tool-factory.js +51 -0
  229. package/dist-cjs/types.js +9 -0
  230. package/dist-cjs/utils/retry.js +170 -0
  231. package/dist-cjs/utils/safe-parse-json.js +165 -0
  232. package/dist-cjs/utils/url.js +24 -0
  233. package/package.json +11 -10
  234. package/dist/ask-user-interaction.d.ts +0 -10
  235. package/dist/cache/web-cache.d.ts +0 -52
  236. package/dist/definitions/arion.d.ts +0 -8
  237. package/dist/definitions/browser/browser.d.ts +0 -2
  238. package/dist/definitions/browser/index.d.ts +0 -1
  239. package/dist/definitions/browser/pw-downloads.d.ts +0 -13
  240. package/dist/definitions/browser/pw-interactions.d.ts +0 -78
  241. package/dist/definitions/browser/pw-responses.d.ts +0 -28
  242. package/dist/definitions/browser/pw-session.d.ts +0 -65
  243. package/dist/definitions/browser/pw-shared.d.ts +0 -22
  244. package/dist/definitions/browser/pw-snapshot.d.ts +0 -34
  245. package/dist/definitions/browser/pw-state.d.ts +0 -22
  246. package/dist/definitions/browser/types.d.ts +0 -277
  247. package/dist/definitions/code-intelligence.d.ts +0 -8
  248. package/dist/definitions/core.d.ts +0 -47
  249. package/dist/definitions/delegation.d.ts +0 -11
  250. package/dist/definitions/deploy.d.ts +0 -15
  251. package/dist/definitions/filesystem.d.ts +0 -9
  252. package/dist/definitions/frg.d.ts +0 -3
  253. package/dist/definitions/index.d.ts +0 -19
  254. package/dist/definitions/memory.d.ts +0 -8
  255. package/dist/definitions/messaging.d.ts +0 -11
  256. package/dist/definitions/meta.d.ts +0 -11
  257. package/dist/definitions/network.d.ts +0 -11
  258. package/dist/definitions/outlook.d.ts +0 -2
  259. package/dist/definitions/patch/apply-patch.d.ts +0 -11
  260. package/dist/definitions/patch/fuzzy-match.d.ts +0 -10
  261. package/dist/definitions/patch/index.d.ts +0 -1
  262. package/dist/definitions/patch/patch-parser.d.ts +0 -50
  263. package/dist/definitions/patch/sandbox-paths.d.ts +0 -18
  264. package/dist/definitions/process/index.d.ts +0 -1
  265. package/dist/definitions/process/process-registry.d.ts +0 -67
  266. package/dist/definitions/process/process.d.ts +0 -9
  267. package/dist/definitions/process/pty-keys.d.ts +0 -13
  268. package/dist/definitions/process/session-slug.d.ts +0 -1
  269. package/dist/definitions/quip.d.ts +0 -2
  270. package/dist/definitions/search.d.ts +0 -9
  271. package/dist/definitions/session-history.d.ts +0 -11
  272. package/dist/definitions/shell.d.ts +0 -8
  273. package/dist/definitions/slack.d.ts +0 -2
  274. package/dist/definitions/web.d.ts +0 -8
  275. package/dist/executors/apply-patch.d.ts +0 -51
  276. package/dist/executors/arion.d.ts +0 -50
  277. package/dist/executors/code-intelligence.d.ts +0 -138
  278. package/dist/executors/deploy.d.ts +0 -169
  279. package/dist/executors/filesystem.d.ts +0 -150
  280. package/dist/executors/frg-freshness.d.ts +0 -93
  281. package/dist/executors/frg.d.ts +0 -27
  282. package/dist/executors/index.d.ts +0 -44
  283. package/dist/executors/learning-meta.d.ts +0 -87
  284. package/dist/executors/lsp-client.d.ts +0 -38
  285. package/dist/executors/memory.d.ts +0 -203
  286. package/dist/executors/meta.d.ts +0 -73
  287. package/dist/executors/process-registry.d.ts +0 -98
  288. package/dist/executors/pty-session-store.d.ts +0 -14
  289. package/dist/executors/pty.d.ts +0 -133
  290. package/dist/executors/restart.d.ts +0 -13
  291. package/dist/executors/search-freshness.d.ts +0 -50
  292. package/dist/executors/search-types.d.ts +0 -52
  293. package/dist/executors/search.d.ts +0 -11
  294. package/dist/executors/self-diagnose.d.ts +0 -89
  295. package/dist/executors/session-history.d.ts +0 -75
  296. package/dist/executors/shell-safety.d.ts +0 -27
  297. package/dist/executors/shell.d.ts +0 -168
  298. package/dist/executors/utils.d.ts +0 -20
  299. package/dist/executors/web.d.ts +0 -89
  300. package/dist/extraction/content-extraction.d.ts +0 -48
  301. package/dist/extraction/index.d.ts +0 -4
  302. package/dist/headless-control-contract.d.ts +0 -3182
  303. package/dist/index.d.ts +0 -62
  304. package/dist/local-control-http-auth.d.ts +0 -2
  305. package/dist/mcp/client.d.ts +0 -68
  306. package/dist/mcp/connection.d.ts +0 -54
  307. package/dist/mcp/index.d.ts +0 -10
  308. package/dist/mcp/jsonrpc.d.ts +0 -36
  309. package/dist/mcp/types.d.ts +0 -178
  310. package/dist/network-control-adapter.d.ts +0 -4
  311. package/dist/network-runtime/address-types.d.ts +0 -201
  312. package/dist/network-runtime/db-owner-fencing.d.ts +0 -43
  313. package/dist/network-runtime/delivery-receipts.d.ts +0 -117
  314. package/dist/network-runtime/direct-endpoint-authority.d.ts +0 -8
  315. package/dist/network-runtime/index.d.ts +0 -24
  316. package/dist/network-runtime/local-control-contract.d.ts +0 -758
  317. package/dist/network-runtime/node-store-contract.d.ts +0 -49
  318. package/dist/network-runtime/pair-route-contract.d.ts +0 -100
  319. package/dist/network-runtime/peer-capabilities.d.ts +0 -10
  320. package/dist/network-runtime/peer-principal-ref.d.ts +0 -9
  321. package/dist/network-runtime/peer-state-machine.d.ts +0 -70
  322. package/dist/network-runtime/protocol-schemas.d.ts +0 -328
  323. package/dist/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
  324. package/dist/outlook/desktop-session.d.ts +0 -68
  325. package/dist/policy.d.ts +0 -43
  326. package/dist/providers/brave.d.ts +0 -10
  327. package/dist/providers/duckduckgo.d.ts +0 -18
  328. package/dist/providers/exa.d.ts +0 -10
  329. package/dist/providers/firecrawl.d.ts +0 -10
  330. package/dist/providers/index.d.ts +0 -8
  331. package/dist/providers/jina.d.ts +0 -10
  332. package/dist/providers/router.d.ts +0 -21
  333. package/dist/providers/search-provider.d.ts +0 -35
  334. package/dist/providers/tavily.d.ts +0 -10
  335. package/dist/pty-cf6pmvx6.js +0 -1
  336. package/dist/quip/desktop-session.d.ts +0 -69
  337. package/dist/registry/index.d.ts +0 -1
  338. package/dist/registry/registry.d.ts +0 -156
  339. package/dist/runtime-socket-local-control-client.d.ts +0 -10
  340. package/dist/security/dns-normalization.d.ts +0 -6
  341. package/dist/security/dns-pinning.d.ts +0 -27
  342. package/dist/security/external-content.d.ts +0 -40
  343. package/dist/security/ssrf.d.ts +0 -40
  344. package/dist/slack/desktop-session.d.ts +0 -69
  345. package/dist/tool-factory.d.ts +0 -46
  346. package/dist/types.d.ts +0 -1192
  347. package/dist/utils/retry.d.ts +0 -11
  348. package/dist/utils/safe-parse-json.d.ts +0 -26
  349. package/dist/utils/url.d.ts +0 -10
  350. package/dist-cjs/ask-user-interaction.d.ts +0 -10
  351. package/dist-cjs/cache/web-cache.d.ts +0 -52
  352. package/dist-cjs/definitions/arion.d.ts +0 -8
  353. package/dist-cjs/definitions/browser/browser.d.ts +0 -2
  354. package/dist-cjs/definitions/browser/index.d.ts +0 -1
  355. package/dist-cjs/definitions/browser/pw-downloads.d.ts +0 -13
  356. package/dist-cjs/definitions/browser/pw-interactions.d.ts +0 -78
  357. package/dist-cjs/definitions/browser/pw-responses.d.ts +0 -28
  358. package/dist-cjs/definitions/browser/pw-session.d.ts +0 -65
  359. package/dist-cjs/definitions/browser/pw-shared.d.ts +0 -22
  360. package/dist-cjs/definitions/browser/pw-snapshot.d.ts +0 -34
  361. package/dist-cjs/definitions/browser/pw-state.d.ts +0 -22
  362. package/dist-cjs/definitions/browser/types.d.ts +0 -277
  363. package/dist-cjs/definitions/code-intelligence.d.ts +0 -8
  364. package/dist-cjs/definitions/core.d.ts +0 -47
  365. package/dist-cjs/definitions/delegation.d.ts +0 -11
  366. package/dist-cjs/definitions/deploy.d.ts +0 -15
  367. package/dist-cjs/definitions/filesystem.d.ts +0 -9
  368. package/dist-cjs/definitions/frg.d.ts +0 -3
  369. package/dist-cjs/definitions/memory.d.ts +0 -8
  370. package/dist-cjs/definitions/messaging.d.ts +0 -11
  371. package/dist-cjs/definitions/meta.d.ts +0 -11
  372. package/dist-cjs/definitions/network.d.ts +0 -11
  373. package/dist-cjs/definitions/outlook.d.ts +0 -2
  374. package/dist-cjs/definitions/patch/apply-patch.d.ts +0 -11
  375. package/dist-cjs/definitions/patch/fuzzy-match.d.ts +0 -10
  376. package/dist-cjs/definitions/patch/patch-parser.d.ts +0 -50
  377. package/dist-cjs/definitions/patch/sandbox-paths.d.ts +0 -18
  378. package/dist-cjs/definitions/process/index.d.ts +0 -1
  379. package/dist-cjs/definitions/process/process-registry.d.ts +0 -67
  380. package/dist-cjs/definitions/process/process.d.ts +0 -9
  381. package/dist-cjs/definitions/process/pty-keys.d.ts +0 -13
  382. package/dist-cjs/definitions/process/session-slug.d.ts +0 -1
  383. package/dist-cjs/definitions/quip.d.ts +0 -2
  384. package/dist-cjs/definitions/search.d.ts +0 -9
  385. package/dist-cjs/definitions/session-history.d.ts +0 -11
  386. package/dist-cjs/definitions/shell.d.ts +0 -8
  387. package/dist-cjs/definitions/slack.d.ts +0 -2
  388. package/dist-cjs/definitions/web.d.ts +0 -8
  389. package/dist-cjs/executors/apply-patch.d.ts +0 -51
  390. package/dist-cjs/executors/arion.d.ts +0 -50
  391. package/dist-cjs/executors/code-intelligence.d.ts +0 -138
  392. package/dist-cjs/executors/deploy.d.ts +0 -169
  393. package/dist-cjs/executors/filesystem.d.ts +0 -150
  394. package/dist-cjs/executors/frg-freshness.d.ts +0 -93
  395. package/dist-cjs/executors/frg.d.ts +0 -27
  396. package/dist-cjs/executors/learning-meta.d.ts +0 -87
  397. package/dist-cjs/executors/lsp-client.d.ts +0 -38
  398. package/dist-cjs/executors/memory.d.ts +0 -203
  399. package/dist-cjs/executors/meta.d.ts +0 -73
  400. package/dist-cjs/executors/process-registry.d.ts +0 -98
  401. package/dist-cjs/executors/pty-session-store.d.ts +0 -14
  402. package/dist-cjs/executors/pty.d.ts +0 -133
  403. package/dist-cjs/executors/restart.d.ts +0 -13
  404. package/dist-cjs/executors/search-freshness.d.ts +0 -50
  405. package/dist-cjs/executors/search-types.d.ts +0 -52
  406. package/dist-cjs/executors/search.d.ts +0 -11
  407. package/dist-cjs/executors/self-diagnose.d.ts +0 -89
  408. package/dist-cjs/executors/session-history.d.ts +0 -75
  409. package/dist-cjs/executors/shell-safety.d.ts +0 -27
  410. package/dist-cjs/executors/shell.d.ts +0 -168
  411. package/dist-cjs/executors/utils.d.ts +0 -20
  412. package/dist-cjs/executors/web.d.ts +0 -89
  413. package/dist-cjs/extraction/content-extraction.d.ts +0 -48
  414. package/dist-cjs/extraction/index.d.ts +0 -4
  415. package/dist-cjs/headless-control-contract.d.ts +0 -3182
  416. package/dist-cjs/index.d.ts +0 -62
  417. package/dist-cjs/local-control-http-auth.d.ts +0 -2
  418. package/dist-cjs/mcp/client.d.ts +0 -68
  419. package/dist-cjs/mcp/connection.d.ts +0 -54
  420. package/dist-cjs/mcp/index.d.ts +0 -10
  421. package/dist-cjs/mcp/jsonrpc.d.ts +0 -36
  422. package/dist-cjs/mcp/types.d.ts +0 -178
  423. package/dist-cjs/network-control-adapter.d.ts +0 -4
  424. package/dist-cjs/network-runtime/address-types.d.ts +0 -201
  425. package/dist-cjs/network-runtime/db-owner-fencing.d.ts +0 -43
  426. package/dist-cjs/network-runtime/delivery-receipts.d.ts +0 -117
  427. package/dist-cjs/network-runtime/direct-endpoint-authority.d.ts +0 -8
  428. package/dist-cjs/network-runtime/index.d.ts +0 -24
  429. package/dist-cjs/network-runtime/local-control-contract.d.ts +0 -758
  430. package/dist-cjs/network-runtime/node-store-contract.d.ts +0 -49
  431. package/dist-cjs/network-runtime/pair-route-contract.d.ts +0 -100
  432. package/dist-cjs/network-runtime/peer-capabilities.d.ts +0 -10
  433. package/dist-cjs/network-runtime/peer-principal-ref.d.ts +0 -9
  434. package/dist-cjs/network-runtime/peer-state-machine.d.ts +0 -70
  435. package/dist-cjs/network-runtime/protocol-schemas.d.ts +0 -328
  436. package/dist-cjs/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
  437. package/dist-cjs/outlook/desktop-session.d.ts +0 -68
  438. package/dist-cjs/policy.d.ts +0 -43
  439. package/dist-cjs/providers/brave.d.ts +0 -10
  440. package/dist-cjs/providers/duckduckgo.d.ts +0 -18
  441. package/dist-cjs/providers/exa.d.ts +0 -10
  442. package/dist-cjs/providers/firecrawl.d.ts +0 -10
  443. package/dist-cjs/providers/jina.d.ts +0 -10
  444. package/dist-cjs/providers/router.d.ts +0 -21
  445. package/dist-cjs/providers/search-provider.d.ts +0 -35
  446. package/dist-cjs/providers/tavily.d.ts +0 -10
  447. package/dist-cjs/quip/desktop-session.d.ts +0 -69
  448. package/dist-cjs/registry/registry.d.ts +0 -156
  449. package/dist-cjs/runtime-socket-local-control-client.d.ts +0 -10
  450. package/dist-cjs/security/dns-normalization.d.ts +0 -6
  451. package/dist-cjs/security/dns-pinning.d.ts +0 -27
  452. package/dist-cjs/security/external-content.d.ts +0 -40
  453. package/dist-cjs/security/ssrf.d.ts +0 -40
  454. package/dist-cjs/slack/desktop-session.d.ts +0 -69
  455. package/dist-cjs/tool-factory.d.ts +0 -46
  456. package/dist-cjs/types.d.ts +0 -1192
  457. package/dist-cjs/utils/retry.d.ts +0 -11
  458. package/dist-cjs/utils/safe-parse-json.d.ts +0 -26
  459. package/dist-cjs/utils/url.d.ts +0 -10
@@ -1,4 +1,4 @@
1
- import{pc as _,qc as X,sc as M}from"./index-6qew5tp1.js";import{tc as Wq}from"./index-tvryzx00.js";import*as a from"node-pty";import{spawn as m}from"node:child_process";import{constants as l}from"node:os";var r=new Set(["ls","cat","head","tail","wc","file","stat","grep","rg","find","which","whereis","echo","date","whoami","pwd","printenv","uname","hostname"]),n=["git stash list","git status","git log","git diff","git show","git blame","git branch","git remote","git tag","node --version","npm --version","pnpm --version","python --version","pnpm list","npm list"],s=[/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\/(?:\s|$)/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\/\*(?:\s|$)/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\.(?:\s|$)/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*~(?:[a-zA-Z]\w*)?(?:\/\*)?(?:\s|$)/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\$HOME\b/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\*(?:\s|$)/,/>\s*\/dev\/(?:sd[a-z]|nvme\d+|vd[a-z])\b/,/mkfs/,/dd\s+.*(?:if=|of=)/,/chmod\s+(?:-R\s+)?777\b/,/curl[\s\S]*\|\s*(ba)?sh/,/wget[\s\S]*\|\s*(ba)?sh/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*eval\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*shutdown\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*reboot\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*halt\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*init\s+0\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*systemctl\s+(?:poweroff|halt|reboot)\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*kill\s+(?:-\d+\s+|-[A-Z]+\s+)*\b1\b/,/:\(\)\{\s*:\|:&\s*\};:/,/\bsudo\b/,/git\s+push\s+.*--force(?!-with-lease)\b/,/git\s+push(?:\s+-[A-Za-z]*f[A-Za-z]*\b|\s+.*\s-[A-Za-z]*f[A-Za-z]*\b)/,/git\s+reset\s+--hard/];function y(q){let J=v(q),Z=i(J);return s.some(($)=>$.test(Z))}function v(q){let J=/<<-?\s*(?:'([^']+)'|"([^"]+)"|(\w+))/g,Z=q,$,U=[];while(($=J.exec(q))!==null){let W=$[1]??$[2]??$[3]??"";if(!W)continue;let Q=q.indexOf(`
1
+ import{pc as _,qc as X,sc as M}from"./index-6qew5tp1.js";import{tc as Wq}from"./index-tvryzx00.js";import*as a from"node-pty";import{spawn as m}from"node:child_process";import{constants as l}from"node:os";var r=new Set(["ls","cat","head","tail","wc","file","stat","grep","rg","find","which","whereis","echo","date","whoami","pwd","printenv","uname","hostname"]),n=["git stash list","git status","git log","git diff","git show","git blame","git branch","git remote","git tag","node --version","npm --version","bun --version","python --version","bun pm ls","npm list"],s=[/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\/(?:\s|$)/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\/\*(?:\s|$)/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\.(?:\s|$)/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*~(?:[a-zA-Z]\w*)?(?:\/\*)?(?:\s|$)/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\$HOME\b/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\*(?:\s|$)/,/>\s*\/dev\/(?:sd[a-z]|nvme\d+|vd[a-z])\b/,/mkfs/,/dd\s+.*(?:if=|of=)/,/chmod\s+(?:-R\s+)?777\b/,/curl[\s\S]*\|\s*(ba)?sh/,/wget[\s\S]*\|\s*(ba)?sh/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*eval\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*shutdown\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*reboot\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*halt\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*init\s+0\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*systemctl\s+(?:poweroff|halt|reboot)\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*kill\s+(?:-\d+\s+|-[A-Z]+\s+)*\b1\b/,/:\(\)\{\s*:\|:&\s*\};:/,/\bsudo\b/,/git\s+push\s+.*--force(?!-with-lease)\b/,/git\s+push(?:\s+-[A-Za-z]*f[A-Za-z]*\b|\s+.*\s-[A-Za-z]*f[A-Za-z]*\b)/,/git\s+reset\s+--hard/];function y(q){let J=v(q),Z=i(J);return s.some(($)=>$.test(Z))}function v(q){let J=/<<-?\s*(?:'([^']+)'|"([^"]+)"|(\w+))/g,Z=q,$,U=[];while(($=J.exec(q))!==null){let W=$[1]??$[2]??$[3]??"";if(!W)continue;let Q=q.indexOf(`
2
2
  `,$.index);if(Q===-1)continue;let F=Q+1,H=new RegExp(`^\\s*${W.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*$`,"m"),K=q.slice(F),j=H.exec(K);if(!j)continue;let L=F+j.index;U.push({delimiter:W,bodyStart:F,bodyEnd:L})}for(let W=U.length-1;W>=0;W--){let{bodyStart:Q,bodyEnd:F}=U[W],H=Z.slice(Q,F);Z=Z.slice(0,Q)+H.replace(/[^\n]/g," ")+Z.slice(F)}return Z}function i(q){let J="",Z=!1,$=!1,U=!1;for(let W=0;W<q.length;W++){let Q=q[W];if(Z){if(Q==="'")Z=!1,J+=" ";else J+=" ";continue}if($){if(U){U=!1,J+=" ";continue}if(Q==="\\"){U=!0,J+=" ";continue}if(Q==='"')$=!1,J+=" ";else J+=" ";continue}if(Q==="'"){Z=!0,J+=" ";continue}if(Q==='"'){$=!0,J+=" ";continue}J+=Q}return J}function x(q){let J=q.lastIndexOf("/");return J===-1?q:q.slice(J+1)}function t(q){let J=!1,Z=!1,$=!1;for(let U=0;U<q.length;U++){let W=q[U],Q=q[U+1];if(J){if(W==="'")J=!1;continue}if(Z){if($){$=!1;continue}if(W==="\\"){$=!0;continue}if(W==='"'){Z=!1;continue}if(W==="`"||W==="$"&&Q==="(")return!0;continue}if($){$=!1;continue}if(W==="\\"){$=!0;continue}if(W==="'"){J=!0;continue}if(W==='"'){Z=!0;continue}if(W==="`"||W==="$"&&Q==="(")return!0}return!1}function e(q){let J=[],Z="",$=!1,U=!1,W=!1;for(let Q=0;Q<q.length;Q++){let F=q[Q],H=q[Q+1];if($){if(Z+=F,F==="'")$=!1;continue}if(U){if(Z+=F,W){W=!1;continue}if(F==="\\"){W=!0;continue}if(F==='"')U=!1;continue}if(W){Z+=F,W=!1;continue}if(F==="\\"){Z+=F,W=!0;continue}if(F==="'"){Z+=F,$=!0;continue}if(F==='"'){Z+=F,U=!0;continue}if(F===";"||F===`
3
- `||F==="\r"||F==="&"&&H==="&"||F==="|"&&H==="|"){if(J.push(Z.trim()),Z="",(F==="&"||F==="|")&&H===F)Q+=1;continue}Z+=F}return J.push(Z.trim()),J}function qq(q){let J=[],Z="",$=!1,U=!1,W=!1;for(let Q=0;Q<q.length;Q++){let F=q[Q],H=q[Q+1],K=Q>0?q[Q-1]:"";if($){if(Z+=F,F==="'")$=!1;continue}if(U){if(Z+=F,W){W=!1;continue}if(F==="\\"){W=!0;continue}if(F==='"')U=!1;continue}if(W){Z+=F,W=!1;continue}if(F==="\\"){Z+=F,W=!0;continue}if(F==="'"){Z+=F,$=!0;continue}if(F==='"'){Z+=F,U=!0;continue}if(F==="|"&&H!=="|"&&K!=="|"){J.push(Z.trim()),Z="";continue}Z+=F}return J.push(Z.trim()),J}var Jq=/(?:>>|(?:^|[^2])>(?!&)|2>(?!&)|&>)/;function Zq(q){let J=q.trim();if(J==="")return!1;if(Jq.test(J))return!1;for(let $ of n)if(J===$||J.startsWith($+" "))return!0;let Z=J.split(/\s+/)[0]??"";return r.has(x(Z))}function C(q){let J=q.trim();if(J==="")return"moderate";let Z=v(J);if(y(Z))return"blocked";if(t(Z))return"moderate";let $=e(Z);for(let Q of $)if(y(Q))return"blocked";let U=[];for(let Q of $){let F=qq(Q);for(let H of F){if(y(H))return"blocked";U.push(H)}}if(/^[A-Za-z_]\w*=/.test(J))return"moderate";let W=U.filter((Q)=>Q.trim()!=="");if(W.length>0&&W.every(Zq))return"safe";return"moderate"}var $q=new Set(["sh","bash","zsh","ksh","dash","ash","fish"]);function S(q,J=[]){let Z=x(q).toLowerCase();if($q.has(Z)&&J[0]==="-c"&&typeof J[1]==="string")return C(J[1]);return C([q,...J].join(" "))}var u=new Set(["LD_PRELOAD","LD_LIBRARY_PATH","DYLD_INSERT_LIBRARIES","DYLD_FRAMEWORK_PATH","DYLD_LIBRARY_PATH","BASH_ENV","ENV","CDPATH","GLOBIGNORE","PROMPT_COMMAND","SHELLOPTS","BASHOPTS","GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_COMMON_DIR","GIT_PREFIX","GIT_INTERNAL_SUPER_PREFIX","GIT_CONFIG","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","GIT_CONFIG_COUNT","GIT_CEILING_DIRECTORIES"]),Fq=new Set(["GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_INDEX_VERSION","GIT_COMMON_DIR","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_CEILING_DIRECTORIES","GIT_DISCOVERY_ACROSS_FILESYSTEM","GIT_NAMESPACE","GIT_CONFIG","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","GIT_CONFIG_NOSYSTEM","GIT_CONFIG_COUNT","GIT_CONFIG_PARAMETERS"]),Qq=["GIT_CONFIG_KEY_","GIT_CONFIG_VALUE_","GIT_AUTHOR_","GIT_COMMITTER_"];function f(q){let J=q.toUpperCase();if(Fq.has(J))return!0;return Qq.some((Z)=>J.startsWith(Z))}function Cq(q=process.env){let J={};for(let[Z,$]of Object.entries(q)){if($===void 0)continue;if(f(Z))continue;J[Z]=$}return J}var Uq=new Set([...u,"PATH","NODE_OPTIONS","NODE_PATH","PYTHONPATH","IFS","HOME","SHELL","EDITOR","VISUAL","JAVA_TOOL_OPTIONS","_JAVA_OPTIONS","CLASSPATH","RUBYOPT","GEM_HOME","GEM_PATH","PERL5OPT","PERL5LIB","PYTHONSTARTUP"]);function d(q){return u.has(q.toUpperCase())||f(q)}function w(q){return Uq.has(q.toUpperCase())||f(q)}function R(q,J){let Z=J;if(J){Z={};for(let[W,Q]of Object.entries(J)){if(w(W))continue;Z[W]=Q}}let $=q.env;if(q.env){$={};for(let[W,Q]of Object.entries(q.env)){if(w(W))continue;$[W]=Q}}let U={};for(let[W,Q]of Object.entries(process.env)){if(Q===void 0)continue;if(d(W))continue;U[W]=Q}return{...U,...$,...Z}}function p(q){let J={};for(let[$,U]of Object.entries(process.env)){if(U===void 0)continue;if(d($))continue;J[$]=U}let Z;if(q){Z={};for(let[$,U]of Object.entries(q)){if(w($))continue;Z[$]=U}}return{...J,...Z}}async function Rq(q,J){if(C(q.command)==="blocked")return X(`Command blocked by shell safety policy: ${q.command}`);if(J.abortSignal?.aborted)return X("Command cancelled");let $=q.cwd??J.workingDir,U=R(J,q.env),W=q.timeout??120000;return Hq({program:"/bin/bash",args:["-lc",q.command],cwd:$,env:q.env,timeout:W},{...J,workingDir:$,env:U})}function G(q,J,Z){if(!q)return;if(Z)try{process.kill(-q,J);return}catch{}try{process.kill(q,J)}catch{}}function I(q,J){if(!q)return!1;if(J)try{return process.kill(-q,0),!0}catch{}try{return process.kill(q,0),!0}catch{return!1}}async function Xq(q,J,Z=1000){if(!q)return;let $=Date.now()+Z;while(Date.now()<$){if(!I(q,J))return;await new Promise((U)=>setTimeout(U,25))}}async function Hq(q,J){let Z=q.args??[],$=[q.program,...Z].join(" ");if(S(q.program,Z)==="blocked")return X(`Command blocked by shell safety policy: ${$}`,{stdout:"",stderr:"",exitCode:1});if(J.abortSignal?.aborted)return X("Command cancelled",{stdout:"",stderr:"",exitCode:1});let W=q.cwd??J.workingDir,Q=R(J,q.env),F=q.timeout??120000;return new Promise((H)=>{let K=process.platform!=="win32",j=m(q.program,Z,{cwd:W,env:Q,detached:K});if(j.pid&&J.processRegistry)J.processRegistry.add(j.pid,{command:q.program,args:Z,cwd:W,interactive:!1});let L="",z="",B=!1,Y=!1,h=!1,k,D,A=(O,V)=>{if(h)return;if(h=!0,k)clearTimeout(k);if(D)clearTimeout(D);if(J.abortSignal&&b)J.abortSignal.removeEventListener("abort",b);if(J.processRegistry?.recordExitMetadata?.(j.pid??0,V),j.pid&&J.processRegistry&&!(K&&I(j.pid,K)))J.processRegistry.remove(j.pid,V);H(O)},b;if(J.abortSignal)b=()=>{Y=!0,G(j.pid,"SIGTERM",K),D=setTimeout(()=>{G(j.pid,"SIGKILL",K)},1000)},J.abortSignal.addEventListener("abort",b,{once:!0});if(F)k=setTimeout(()=>{B=!0,G(j.pid,"SIGTERM",K),D=setTimeout(()=>{G(j.pid,"SIGKILL",K)},1000)},F);j.stdout?.on("data",(O)=>{L+=O.toString()}),j.stderr?.on("data",(O)=>{z+=O.toString()}),j.on("error",(O)=>{let V=typeof O==="object"&&O&&"code"in O&&O.code==="ENOENT"?127:1;A(X(M(O),{stdout:"",stderr:z,exitCode:V}))}),j.on("close",(O,V)=>{(async()=>{if(Y||B){if(D)clearTimeout(D),D=void 0;G(j.pid,"SIGKILL",K),await Xq(j.pid,K)}if(Y){A(X("Command cancelled",{stdout:L,stderr:z,exitCode:O??1}),{exitCode:O,signal:V});return}if(B){A(X("Command timed out",{stdout:L,stderr:z,exitCode:O??1}),{exitCode:O,signal:V});return}if(V){let c=l.signals[V]??1;A(X(`Command exited due to signal ${V}`,{stdout:L,stderr:z,exitCode:O??c}),{exitCode:O,signal:V});return}let N=O??0;if(N===0)A(_("Command executed successfully",{stdout:L,stderr:z,exitCode:N}),{exitCode:N,signal:V});else A(X(`Command exited with code ${N}`,{stdout:L,stderr:z,exitCode:N}),{exitCode:N,signal:V})})()})})}async function Tq(q,J){let Z=q.args??[],$=[q.program,...Z].join(" ");if(S(q.program,Z)==="blocked")return X(`Command blocked by shell safety policy: ${$}`);if(J.abortSignal?.aborted)return X("Command cancelled");if(q.interactive===!0){if(!J.ptySessionStore)return X("PTY session store not available — interactive mode requires runner wiring");let{createPTYSession:F}=await import("./pty-cf6pmvx6.js"),H=await F({command:q.program,args:q.args,cwd:q.cwd??J.workingDir,env:R(J,q.env)}),K=H.pid;if(!K)return H.close(),X("Failed to start interactive session: no PID");if(J.ptySessionStore.add(K,H),J.processRegistry)J.processRegistry.add(K,{command:q.program,args:q.args??[],cwd:q.cwd??J.workingDir,interactive:!0});let j=()=>{if(J.ptySessionStore?.remove(K),J.processRegistry?.has(K))J.processRegistry.remove(K,{exitCode:H.exitCode??null})};if(!H.isRunning)j();else{let L=setInterval(()=>{if(!H.isRunning)clearInterval(L),j()},50);if(L.unref?.(),J.abortSignal){let z=()=>{clearInterval(L),H.close(),j()};J.abortSignal.addEventListener("abort",z,{once:!0})}}return _(`Started interactive session with PID ${K}`,{pid:K})}let W=q.cwd??J.workingDir,Q=R(J,q.env);return new Promise((F)=>{let H=!1,K,j=(z)=>{if(H)return;if(H=!0,K)clearTimeout(K);F(z)},L;if(J.abortSignal)J.abortSignal.addEventListener("abort",()=>{if(L)try{process.kill(-L,"SIGTERM")}catch{try{process.kill(L,"SIGTERM")}catch{}}},{once:!0});try{let z=m(q.program,Z,{cwd:W,env:Q,detached:!0,stdio:"ignore"});if(z.on("error",(B)=>{j(X(M(B)))}),z.pid){if(L=z.pid,z.on("exit",(B,Y)=>{if(J.processRegistry?.recordExitMetadata?.(z.pid,{exitCode:B,signal:Y}),J.processRegistry&&!I(z.pid,!0))J.processRegistry.remove(z.pid,{exitCode:B,signal:Y})}),J.processRegistry)J.processRegistry.add(z.pid,{command:q.program,args:Z,cwd:W,interactive:!1});z.unref(),j(_(`Spawned process with PID ${z.pid}`,{pid:z.pid}))}else K=setTimeout(()=>{j(X("Failed to spawn process: no PID returned"))},100)}catch(z){j(X(M(z)))}})}async function Pq(q,J){let Z=q.signal??"SIGTERM";try{let $=zq(Z);if($===void 0)return X(`Invalid signal: ${Z}`);if(J.processRegistry?.has(q.pid))Oq(q.pid,$);else process.kill(q.pid,$);let U=J.processRegistry;if(U?.waitForExit&&Lq($))await U.waitForExit(q.pid,2000);let W=typeof $==="number"?Z:$;return _(`Sent ${W} to process ${q.pid}`,{pid:q.pid,signal:W})}catch($){if($ instanceof Error&&"code"in $){let U=$;if(U.code==="ESRCH")return X(`Process not found: ${q.pid}`);if(U.code==="EPERM")return X(`Permission denied to kill process: ${q.pid}`)}return X(M($))}}var Kq=["SIGHUP","SIGINT","SIGQUIT","SIGILL","SIGTRAP","SIGABRT","SIGBUS","SIGFPE","SIGKILL","SIGUSR1","SIGSEGV","SIGUSR2","SIGPIPE","SIGALRM","SIGTERM","SIGSTKFLT","SIGCHLD","SIGCONT","SIGSTOP","SIGTSTP","SIGTTIN","SIGTTOU","SIGURG","SIGXCPU","SIGXFSZ","SIGVTALRM","SIGPROF","SIGWINCH","SIGIO","SIGPWR","SIGSYS"],g=new Set(["SIGCHLD","SIGCONT","SIGSTOP","SIGTSTP","SIGTTIN","SIGTTOU","SIGURG","SIGWINCH"]);function jq(q){return Kq.includes(q.toUpperCase())}function zq(q){if(/^\d+$/.test(q)){let Z=parseInt(q,10);if(Z>=1&&Z<=31)return Z;return}let J=q.toUpperCase();if(jq(J))return J;return}function Lq(q){if(typeof q==="number"){let J=Vq(q);if(!J)return!1;return!g.has(J)}return!g.has(q)}function Oq(q,J){try{if(q>0){process.kill(-q,J);return}}catch{}process.kill(q,J)}function Vq(q){for(let[J,Z]of Object.entries(l.signals))if(Z===q)return J;return}function Bq(q){return typeof q.getAll==="function"}async function kq(q,J){let Z=o(q),$=typeof Z?.includeExited==="boolean"?Z.includeExited:!1;if(!J.processRegistry)return X("Process registry not available");let U=J.processRegistry,W=typeof U.listProcesses==="function"?U.listProcesses({includeExited:$}):Bq(U)?U.getAll().map((Q)=>({pid:Q,command:null,args:[],cwd:null,interactive:!1,startedAt:new Date().toISOString(),runtimeMs:0,status:"running",exitCode:null,signal:null,endedAt:null})):[];return _(`Found ${W.length} tracked process${W.length===1?"":"es"}`,{processes:W,count:W.length})}async function yq(q,J){let Z=o(q);if(!Z)return X("Invalid input: expected an object");let $=typeof Z.pid==="number"?Z.pid:NaN;if(!$||$<=0||!Number.isInteger($))return X("Invalid PID: must be a positive integer");if($===process.pid)return X("Cannot wait on own process");let U=Z.timeoutMs;if(U!==void 0&&(typeof U!=="number"||Number.isNaN(U)))return X("Invalid timeoutMs: must be a number");let W=Z.timeout;if(W!==void 0&&(typeof W!=="number"||Number.isNaN(W)))return X("Invalid timeout: must be a number");let Q=Math.min(Math.max(0,U??W??30000),300000);if(!J.processRegistry)return X("Process registry not available");if(typeof J.processRegistry.waitForExit!=="function")return X("Process registry does not support waiting");let F=Date.now(),H=await J.processRegistry.waitForExit($,Q),K=Math.max(0,Date.now()-F);if(H.status==="not_found"||!H.process)return X(`Process not tracked: ${$}`,{pid:$,exited:!1,status:"not_found",timedOut:!1,waitedMs:K});let j=Yq(H,K);if(H.status==="running"||H.timedOut)return X(`Timed out waiting for process ${$}`,j);return _(`Process ${$} exited`,j)}function Yq(q,J){let Z=q.process,$=q.status==="exited"?"exited":"running";return{pid:q.pid,status:$,exited:$==="exited",timedOut:q.timedOut,waitedMs:J,command:Z.command,args:Z.args,cwd:Z.cwd,interactive:Z.interactive,startedAt:Z.startedAt,endedAt:Z.endedAt,runtimeMs:Z.runtimeMs,exitCode:Z.exitCode,signal:Z.signal}}function o(q){if(!q||typeof q!=="object")return;return q}async function Sq(q,J){if(!q||typeof q!=="object")return X("Invalid input: expected an object");let Z=q,$=typeof Z.pid==="number"?Z.pid:NaN,U=typeof Z.input==="string"?Z.input:void 0,W=typeof Z.timeout==="number"?Z.timeout:void 0;if(!$||$<=0||!Number.isInteger($))return X("Invalid PID: must be a positive integer");if($===process.pid)return X("Cannot write to own process");if(U===void 0)return X("Input must be a string");if(!J.ptySessionStore)return X("PTY session store not available");if(!J.ptySessionStore.has($))return X(`No interactive session found for PID ${$}. Use spawn with interactive=true first.`);let Q=J.ptySessionStore.get($);if(!Q)return X(`No interactive session found for PID ${$}. Use spawn with interactive=true first.`);if(!Q.isRunning)return X(`Process ${$} has exited (code: ${Q.exitCode??"unknown"})`);try{let F=Q.output.length;if(Q.write(U),W&&W>0){let L=Math.min(W,30000),z=Date.now()+L,B=50;while(Date.now()<z){if(await new Promise((Y)=>setTimeout(Y,50)),Q.output.length>F)break;if(!Q.isRunning)break}}let K=Q.output.slice(F),j=K.length>1e4?K.slice(-1e4):K;return _(`Wrote ${U.length} bytes to PID ${$}`,{output:j})}catch(F){let H=F instanceof Error?F.message:String(F);return X(`Failed to write to PID ${$}: ${H}`)}}class E extends Error{output;constructor(q,J){super(q);this.output=J;this.name="PTYTimeoutError"}}class T extends Error{output;constructor(q,J){super(q);this.output=J;this.name="PTYError"}}class P{static MAX_OUTPUT=10485760;_output="";_isRunning=!0;_exitCode;_exitPromise;_exitResolve;_pty;_dataDisposable;_exitDisposable;constructor(q){this._pty=q,this._exitPromise=new Promise((J)=>{this._exitResolve=J}),this._dataDisposable=q.onData((J)=>{if(this._output+=J,this._output.length>P.MAX_OUTPUT)this._output=this._output.slice(-P.MAX_OUTPUT)}),this._exitDisposable=q.onExit(({exitCode:J})=>{this._isRunning=!1,this._exitCode=J,this._exitResolve(J)})}write(q){if(!this._isRunning)throw new T("Cannot write to a closed PTY session");this._pty.write(q)}resize(q,J){if(!this._isRunning)throw new T("Cannot resize a closed PTY session");this._pty.resize(q,J)}async waitFor(q,J=5000){let Z=Date.now(),$=typeof q==="string"?new RegExp(Dq(q)):q;if($.test(this._output))return this._output;return new Promise((U,W)=>{let Q,F,H=()=>{if(Q)clearInterval(Q);if(F)clearTimeout(F)},K=()=>{if($.test(this._output))return H(),U(this._output),!0;if(!this._isRunning)return H(),W(new T(`Process exited before pattern was found: ${q}`,this._output)),!0;return!1};if(K())return;Q=setInterval(()=>{K()},10),F=setTimeout(()=>{H();let j=Date.now()-Z;W(new E(`Timeout (${j}ms) waiting for pattern: ${q}`,this._output))},J)})}async waitForExit(q=30000){if(!this._isRunning)return this._output;return new Promise((J,Z)=>{let $;$=setTimeout(()=>{Z(new E(`Timeout (${q}ms) waiting for process to exit`,this._output))},q),this._exitPromise.then(()=>{if($)clearTimeout($);J(this._output)}).catch(Z)})}kill(q){if(!this._isRunning)return;try{this._pty.kill(q)}catch{}}close(){if(this._isRunning)this.kill("SIGKILL"),this._isRunning=!1,this._exitResolve(-1);this._dataDisposable.dispose(),this._exitDisposable.dispose()}get output(){return this._output}get isRunning(){return this._isRunning}get pid(){return this._pty.pid}get exitCode(){return this._exitCode}get cols(){return this._pty.cols}get rows(){return this._pty.rows}}async function _q(q){let $=a.spawn(q.command,q.args??[],{name:"xterm-256color",cols:q.cols??80,rows:q.rows??24,cwd:q.cwd??process.cwd(),env:{...p(q.env),TERM:"xterm-256color"}});return new P($)}async function Iq(q){let{timeoutMs:J=30000,...Z}=q,$=await _q(Z);try{return{output:await $.waitForExit(J),exitCode:$.exitCode??0}}finally{$.close()}}function Dq(q){return q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}
3
+ `||F==="\r"||F==="&"&&H==="&"||F==="|"&&H==="|"){if(J.push(Z.trim()),Z="",(F==="&"||F==="|")&&H===F)Q+=1;continue}Z+=F}return J.push(Z.trim()),J}function qq(q){let J=[],Z="",$=!1,U=!1,W=!1;for(let Q=0;Q<q.length;Q++){let F=q[Q],H=q[Q+1],K=Q>0?q[Q-1]:"";if($){if(Z+=F,F==="'")$=!1;continue}if(U){if(Z+=F,W){W=!1;continue}if(F==="\\"){W=!0;continue}if(F==='"')U=!1;continue}if(W){Z+=F,W=!1;continue}if(F==="\\"){Z+=F,W=!0;continue}if(F==="'"){Z+=F,$=!0;continue}if(F==='"'){Z+=F,U=!0;continue}if(F==="|"&&H!=="|"&&K!=="|"){J.push(Z.trim()),Z="";continue}Z+=F}return J.push(Z.trim()),J}var Jq=/(?:>>|(?:^|[^2])>(?!&)|2>(?!&)|&>)/;function Zq(q){let J=q.trim();if(J==="")return!1;if(Jq.test(J))return!1;for(let $ of n)if(J===$||J.startsWith($+" "))return!0;let Z=J.split(/\s+/)[0]??"";return r.has(x(Z))}function C(q){let J=q.trim();if(J==="")return"moderate";let Z=v(J);if(y(Z))return"blocked";if(t(Z))return"moderate";let $=e(Z);for(let Q of $)if(y(Q))return"blocked";let U=[];for(let Q of $){let F=qq(Q);for(let H of F){if(y(H))return"blocked";U.push(H)}}if(/^[A-Za-z_]\w*=/.test(J))return"moderate";let W=U.filter((Q)=>Q.trim()!=="");if(W.length>0&&W.every(Zq))return"safe";return"moderate"}var $q=new Set(["sh","bash","zsh","ksh","dash","ash","fish"]);function S(q,J=[]){let Z=x(q).toLowerCase();if($q.has(Z)&&J[0]==="-c"&&typeof J[1]==="string")return C(J[1]);return C([q,...J].join(" "))}var u=new Set(["LD_PRELOAD","LD_LIBRARY_PATH","DYLD_INSERT_LIBRARIES","DYLD_FRAMEWORK_PATH","DYLD_LIBRARY_PATH","BASH_ENV","ENV","CDPATH","GLOBIGNORE","PROMPT_COMMAND","SHELLOPTS","BASHOPTS","GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_COMMON_DIR","GIT_PREFIX","GIT_INTERNAL_SUPER_PREFIX","GIT_CONFIG","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","GIT_CONFIG_COUNT","GIT_CEILING_DIRECTORIES"]),Fq=new Set(["GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_INDEX_VERSION","GIT_COMMON_DIR","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_CEILING_DIRECTORIES","GIT_DISCOVERY_ACROSS_FILESYSTEM","GIT_NAMESPACE","GIT_CONFIG","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","GIT_CONFIG_NOSYSTEM","GIT_CONFIG_COUNT","GIT_CONFIG_PARAMETERS"]),Qq=["GIT_CONFIG_KEY_","GIT_CONFIG_VALUE_","GIT_AUTHOR_","GIT_COMMITTER_"];function f(q){let J=q.toUpperCase();if(Fq.has(J))return!0;return Qq.some((Z)=>J.startsWith(Z))}function Cq(q=process.env){let J={};for(let[Z,$]of Object.entries(q)){if($===void 0)continue;if(f(Z))continue;J[Z]=$}return J}var Uq=new Set([...u,"PATH","NODE_OPTIONS","NODE_PATH","PYTHONPATH","IFS","HOME","SHELL","EDITOR","VISUAL","JAVA_TOOL_OPTIONS","_JAVA_OPTIONS","CLASSPATH","RUBYOPT","GEM_HOME","GEM_PATH","PERL5OPT","PERL5LIB","PYTHONSTARTUP"]);function d(q){return u.has(q.toUpperCase())||f(q)}function w(q){return Uq.has(q.toUpperCase())||f(q)}function R(q,J){let Z=J;if(J){Z={};for(let[W,Q]of Object.entries(J)){if(w(W))continue;Z[W]=Q}}let $=q.env;if(q.env){$={};for(let[W,Q]of Object.entries(q.env)){if(w(W))continue;$[W]=Q}}let U={};for(let[W,Q]of Object.entries(process.env)){if(Q===void 0)continue;if(d(W))continue;U[W]=Q}return{...U,...$,...Z}}function p(q){let J={};for(let[$,U]of Object.entries(process.env)){if(U===void 0)continue;if(d($))continue;J[$]=U}let Z;if(q){Z={};for(let[$,U]of Object.entries(q)){if(w($))continue;Z[$]=U}}return{...J,...Z}}async function Rq(q,J){if(C(q.command)==="blocked")return X(`Command blocked by shell safety policy: ${q.command}`);if(J.abortSignal?.aborted)return X("Command cancelled");let $=q.cwd??J.workingDir,U=R(J,q.env),W=q.timeout??120000;return Hq({program:"/bin/bash",args:["-lc",q.command],cwd:$,env:q.env,timeout:W},{...J,workingDir:$,env:U})}function G(q,J,Z){if(!q)return;if(Z)try{process.kill(-q,J);return}catch{}try{process.kill(q,J)}catch{}}function I(q,J){if(!q)return!1;if(J)try{return process.kill(-q,0),!0}catch{}try{return process.kill(q,0),!0}catch{return!1}}async function Xq(q,J,Z=1000){if(!q)return;let $=Date.now()+Z;while(Date.now()<$){if(!I(q,J))return;await new Promise((U)=>setTimeout(U,25))}}async function Hq(q,J){let Z=q.args??[],$=[q.program,...Z].join(" ");if(S(q.program,Z)==="blocked")return X(`Command blocked by shell safety policy: ${$}`,{stdout:"",stderr:"",exitCode:1});if(J.abortSignal?.aborted)return X("Command cancelled",{stdout:"",stderr:"",exitCode:1});let W=q.cwd??J.workingDir,Q=R(J,q.env),F=q.timeout??120000;return new Promise((H)=>{let K=process.platform!=="win32",j=m(q.program,Z,{cwd:W,env:Q,detached:K});if(j.pid&&J.processRegistry)J.processRegistry.add(j.pid,{command:q.program,args:Z,cwd:W,interactive:!1});let L="",z="",B=!1,Y=!1,h=!1,k,D,A=(O,V)=>{if(h)return;if(h=!0,k)clearTimeout(k);if(D)clearTimeout(D);if(J.abortSignal&&b)J.abortSignal.removeEventListener("abort",b);if(J.processRegistry?.recordExitMetadata?.(j.pid??0,V),j.pid&&J.processRegistry&&!(K&&I(j.pid,K)))J.processRegistry.remove(j.pid,V);H(O)},b;if(J.abortSignal)b=()=>{Y=!0,G(j.pid,"SIGTERM",K),D=setTimeout(()=>{G(j.pid,"SIGKILL",K)},1000)},J.abortSignal.addEventListener("abort",b,{once:!0});if(F)k=setTimeout(()=>{B=!0,G(j.pid,"SIGTERM",K),D=setTimeout(()=>{G(j.pid,"SIGKILL",K)},1000)},F);j.stdout?.on("data",(O)=>{L+=O.toString()}),j.stderr?.on("data",(O)=>{z+=O.toString()}),j.on("error",(O)=>{let V=typeof O==="object"&&O&&"code"in O&&O.code==="ENOENT"?127:1;A(X(M(O),{stdout:"",stderr:z,exitCode:V}))}),j.on("close",(O,V)=>{(async()=>{if(Y||B){if(D)clearTimeout(D),D=void 0;G(j.pid,"SIGKILL",K),await Xq(j.pid,K)}if(Y){A(X("Command cancelled",{stdout:L,stderr:z,exitCode:O??1}),{exitCode:O,signal:V});return}if(B){A(X("Command timed out",{stdout:L,stderr:z,exitCode:O??1}),{exitCode:O,signal:V});return}if(V){let c=l.signals[V]??1;A(X(`Command exited due to signal ${V}`,{stdout:L,stderr:z,exitCode:O??c}),{exitCode:O,signal:V});return}let N=O??0;if(N===0)A(_("Command executed successfully",{stdout:L,stderr:z,exitCode:N}),{exitCode:N,signal:V});else A(X(`Command exited with code ${N}`,{stdout:L,stderr:z,exitCode:N}),{exitCode:N,signal:V})})()})})}async function Tq(q,J){let Z=q.args??[],$=[q.program,...Z].join(" ");if(S(q.program,Z)==="blocked")return X(`Command blocked by shell safety policy: ${$}`);if(J.abortSignal?.aborted)return X("Command cancelled");if(q.interactive===!0){if(!J.ptySessionStore)return X("PTY session store not available — interactive mode requires runner wiring");let{createPTYSession:F}=await import("./pty-w5c9dv33.js"),H=await F({command:q.program,args:q.args,cwd:q.cwd??J.workingDir,env:R(J,q.env)}),K=H.pid;if(!K)return H.close(),X("Failed to start interactive session: no PID");if(J.ptySessionStore.add(K,H),J.processRegistry)J.processRegistry.add(K,{command:q.program,args:q.args??[],cwd:q.cwd??J.workingDir,interactive:!0});let j=()=>{if(J.ptySessionStore?.remove(K),J.processRegistry?.has(K))J.processRegistry.remove(K,{exitCode:H.exitCode??null})};if(!H.isRunning)j();else{let L=setInterval(()=>{if(!H.isRunning)clearInterval(L),j()},50);if(L.unref?.(),J.abortSignal){let z=()=>{clearInterval(L),H.close(),j()};J.abortSignal.addEventListener("abort",z,{once:!0})}}return _(`Started interactive session with PID ${K}`,{pid:K})}let W=q.cwd??J.workingDir,Q=R(J,q.env);return new Promise((F)=>{let H=!1,K,j=(z)=>{if(H)return;if(H=!0,K)clearTimeout(K);F(z)},L;if(J.abortSignal)J.abortSignal.addEventListener("abort",()=>{if(L)try{process.kill(-L,"SIGTERM")}catch{try{process.kill(L,"SIGTERM")}catch{}}},{once:!0});try{let z=m(q.program,Z,{cwd:W,env:Q,detached:!0,stdio:"ignore"});if(z.on("error",(B)=>{j(X(M(B)))}),z.pid){if(L=z.pid,z.on("exit",(B,Y)=>{if(J.processRegistry?.recordExitMetadata?.(z.pid,{exitCode:B,signal:Y}),J.processRegistry&&!I(z.pid,!0))J.processRegistry.remove(z.pid,{exitCode:B,signal:Y})}),J.processRegistry)J.processRegistry.add(z.pid,{command:q.program,args:Z,cwd:W,interactive:!1});z.unref(),j(_(`Spawned process with PID ${z.pid}`,{pid:z.pid}))}else K=setTimeout(()=>{j(X("Failed to spawn process: no PID returned"))},100)}catch(z){j(X(M(z)))}})}async function Pq(q,J){let Z=q.signal??"SIGTERM";try{let $=zq(Z);if($===void 0)return X(`Invalid signal: ${Z}`);if(J.processRegistry?.has(q.pid))Oq(q.pid,$);else process.kill(q.pid,$);let U=J.processRegistry;if(U?.waitForExit&&Lq($))await U.waitForExit(q.pid,2000);let W=typeof $==="number"?Z:$;return _(`Sent ${W} to process ${q.pid}`,{pid:q.pid,signal:W})}catch($){if($ instanceof Error&&"code"in $){let U=$;if(U.code==="ESRCH")return X(`Process not found: ${q.pid}`);if(U.code==="EPERM")return X(`Permission denied to kill process: ${q.pid}`)}return X(M($))}}var Kq=["SIGHUP","SIGINT","SIGQUIT","SIGILL","SIGTRAP","SIGABRT","SIGBUS","SIGFPE","SIGKILL","SIGUSR1","SIGSEGV","SIGUSR2","SIGPIPE","SIGALRM","SIGTERM","SIGSTKFLT","SIGCHLD","SIGCONT","SIGSTOP","SIGTSTP","SIGTTIN","SIGTTOU","SIGURG","SIGXCPU","SIGXFSZ","SIGVTALRM","SIGPROF","SIGWINCH","SIGIO","SIGPWR","SIGSYS"],g=new Set(["SIGCHLD","SIGCONT","SIGSTOP","SIGTSTP","SIGTTIN","SIGTTOU","SIGURG","SIGWINCH"]);function jq(q){return Kq.includes(q.toUpperCase())}function zq(q){if(/^\d+$/.test(q)){let Z=parseInt(q,10);if(Z>=1&&Z<=31)return Z;return}let J=q.toUpperCase();if(jq(J))return J;return}function Lq(q){if(typeof q==="number"){let J=Vq(q);if(!J)return!1;return!g.has(J)}return!g.has(q)}function Oq(q,J){try{if(q>0){process.kill(-q,J);return}}catch{}process.kill(q,J)}function Vq(q){for(let[J,Z]of Object.entries(l.signals))if(Z===q)return J;return}function Bq(q){return typeof q.getAll==="function"}async function kq(q,J){let Z=o(q),$=typeof Z?.includeExited==="boolean"?Z.includeExited:!1;if(!J.processRegistry)return X("Process registry not available");let U=J.processRegistry,W=typeof U.listProcesses==="function"?U.listProcesses({includeExited:$}):Bq(U)?U.getAll().map((Q)=>({pid:Q,command:null,args:[],cwd:null,interactive:!1,startedAt:new Date().toISOString(),runtimeMs:0,status:"running",exitCode:null,signal:null,endedAt:null})):[];return _(`Found ${W.length} tracked process${W.length===1?"":"es"}`,{processes:W,count:W.length})}async function yq(q,J){let Z=o(q);if(!Z)return X("Invalid input: expected an object");let $=typeof Z.pid==="number"?Z.pid:NaN;if(!$||$<=0||!Number.isInteger($))return X("Invalid PID: must be a positive integer");if($===process.pid)return X("Cannot wait on own process");let U=Z.timeoutMs;if(U!==void 0&&(typeof U!=="number"||Number.isNaN(U)))return X("Invalid timeoutMs: must be a number");let W=Z.timeout;if(W!==void 0&&(typeof W!=="number"||Number.isNaN(W)))return X("Invalid timeout: must be a number");let Q=Math.min(Math.max(0,U??W??30000),300000);if(!J.processRegistry)return X("Process registry not available");if(typeof J.processRegistry.waitForExit!=="function")return X("Process registry does not support waiting");let F=Date.now(),H=await J.processRegistry.waitForExit($,Q),K=Math.max(0,Date.now()-F);if(H.status==="not_found"||!H.process)return X(`Process not tracked: ${$}`,{pid:$,exited:!1,status:"not_found",timedOut:!1,waitedMs:K});let j=Yq(H,K);if(H.status==="running"||H.timedOut)return X(`Timed out waiting for process ${$}`,j);return _(`Process ${$} exited`,j)}function Yq(q,J){let Z=q.process,$=q.status==="exited"?"exited":"running";return{pid:q.pid,status:$,exited:$==="exited",timedOut:q.timedOut,waitedMs:J,command:Z.command,args:Z.args,cwd:Z.cwd,interactive:Z.interactive,startedAt:Z.startedAt,endedAt:Z.endedAt,runtimeMs:Z.runtimeMs,exitCode:Z.exitCode,signal:Z.signal}}function o(q){if(!q||typeof q!=="object")return;return q}async function Sq(q,J){if(!q||typeof q!=="object")return X("Invalid input: expected an object");let Z=q,$=typeof Z.pid==="number"?Z.pid:NaN,U=typeof Z.input==="string"?Z.input:void 0,W=typeof Z.timeout==="number"?Z.timeout:void 0;if(!$||$<=0||!Number.isInteger($))return X("Invalid PID: must be a positive integer");if($===process.pid)return X("Cannot write to own process");if(U===void 0)return X("Input must be a string");if(!J.ptySessionStore)return X("PTY session store not available");if(!J.ptySessionStore.has($))return X(`No interactive session found for PID ${$}. Use spawn with interactive=true first.`);let Q=J.ptySessionStore.get($);if(!Q)return X(`No interactive session found for PID ${$}. Use spawn with interactive=true first.`);if(!Q.isRunning)return X(`Process ${$} has exited (code: ${Q.exitCode??"unknown"})`);try{let F=Q.output.length;if(Q.write(U),W&&W>0){let L=Math.min(W,30000),z=Date.now()+L,B=50;while(Date.now()<z){if(await new Promise((Y)=>setTimeout(Y,50)),Q.output.length>F)break;if(!Q.isRunning)break}}let K=Q.output.slice(F),j=K.length>1e4?K.slice(-1e4):K;return _(`Wrote ${U.length} bytes to PID ${$}`,{output:j})}catch(F){let H=F instanceof Error?F.message:String(F);return X(`Failed to write to PID ${$}: ${H}`)}}class E extends Error{output;constructor(q,J){super(q);this.output=J;this.name="PTYTimeoutError"}}class T extends Error{output;constructor(q,J){super(q);this.output=J;this.name="PTYError"}}class P{static MAX_OUTPUT=10485760;_output="";_isRunning=!0;_exitCode;_exitPromise;_exitResolve;_pty;_dataDisposable;_exitDisposable;constructor(q){this._pty=q,this._exitPromise=new Promise((J)=>{this._exitResolve=J}),this._dataDisposable=q.onData((J)=>{if(this._output+=J,this._output.length>P.MAX_OUTPUT)this._output=this._output.slice(-P.MAX_OUTPUT)}),this._exitDisposable=q.onExit(({exitCode:J})=>{this._isRunning=!1,this._exitCode=J,this._exitResolve(J)})}write(q){if(!this._isRunning)throw new T("Cannot write to a closed PTY session");this._pty.write(q)}resize(q,J){if(!this._isRunning)throw new T("Cannot resize a closed PTY session");this._pty.resize(q,J)}async waitFor(q,J=5000){let Z=Date.now(),$=typeof q==="string"?new RegExp(Dq(q)):q;if($.test(this._output))return this._output;return new Promise((U,W)=>{let Q,F,H=()=>{if(Q)clearInterval(Q);if(F)clearTimeout(F)},K=()=>{if($.test(this._output))return H(),U(this._output),!0;if(!this._isRunning)return H(),W(new T(`Process exited before pattern was found: ${q}`,this._output)),!0;return!1};if(K())return;Q=setInterval(()=>{K()},10),F=setTimeout(()=>{H();let j=Date.now()-Z;W(new E(`Timeout (${j}ms) waiting for pattern: ${q}`,this._output))},J)})}async waitForExit(q=30000){if(!this._isRunning)return this._output;return new Promise((J,Z)=>{let $;$=setTimeout(()=>{Z(new E(`Timeout (${q}ms) waiting for process to exit`,this._output))},q),this._exitPromise.then(()=>{if($)clearTimeout($);J(this._output)}).catch(Z)})}kill(q){if(!this._isRunning)return;try{this._pty.kill(q)}catch{}}close(){if(this._isRunning)this.kill("SIGKILL"),this._isRunning=!1,this._exitResolve(-1);this._dataDisposable.dispose(),this._exitDisposable.dispose()}get output(){return this._output}get isRunning(){return this._isRunning}get pid(){return this._pty.pid}get exitCode(){return this._exitCode}get cols(){return this._pty.cols}get rows(){return this._pty.rows}}async function _q(q){let $=a.spawn(q.command,q.args??[],{name:"xterm-256color",cols:q.cols??80,rows:q.rows??24,cwd:q.cwd??process.cwd(),env:{...p(q.env),TERM:"xterm-256color"}});return new P($)}async function Iq(q){let{timeoutMs:J=30000,...Z}=q,$=await _q(Z);try{return{output:await $.waitForExit(J),exitCode:$.exitCode??0}}finally{$.close()}}function Dq(q){return q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}
4
4
  export{s as Ub,C as Vb,E as Wb,T as Xb,P as Yb,_q as Zb,Iq as _b,Cq as $b,p as ac,Rq as bc,Hq as cc,Tq as dc,Pq as ec,kq as fc,yq as gc,Sq as hc};