remoteclaw 0.1.0-next.da482d8 → 0.1.0-next.db8a792

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 (1020) hide show
  1. package/dist/accounts-BZ2kR_Ij.js +47 -0
  2. package/dist/accounts-Bi4rFQG5.js +272 -0
  3. package/dist/accounts-Bpk-loA6.js +47 -0
  4. package/dist/accounts-D1CBpsaa.js +32 -0
  5. package/dist/accounts-DAdUdbPk.js +36 -0
  6. package/dist/accounts-WYyfAiie.js +270 -0
  7. package/dist/accounts-zQKMwnvt.js +36 -0
  8. package/dist/ack-reactions-B1l-vKPr.js +621 -0
  9. package/dist/ack-reactions-BnG0DLMu.js +621 -0
  10. package/dist/acp-cli-Btx71t69.js +1319 -0
  11. package/dist/acp-cli-DVQMjl0p.js +1324 -0
  12. package/dist/active-listener-BfN4RKlA.js +37 -0
  13. package/dist/active-listener-Bq7ckjOV.js +37 -0
  14. package/dist/agent-D2IwuL6g.js +688 -0
  15. package/dist/agent-WaE2mXI1.js +687 -0
  16. package/dist/agent-helpers-BcaiJFiG.js +400 -0
  17. package/dist/agent-scope-DVvX_nkQ.js +116 -0
  18. package/dist/agents-BwnT7jca.js +760 -0
  19. package/dist/agents.config-Dorm30BQ.js +116 -0
  20. package/dist/audio-B1lTyRqS.js +43 -0
  21. package/dist/audio-e0dFnrn8.js +43 -0
  22. package/dist/audit-DZvqycbG.js +3150 -0
  23. package/dist/audit-Mit73dYD.js +3150 -0
  24. package/dist/auth-C-XX0Tdt.js +314 -0
  25. package/dist/auth-D8--b01l.js +315 -0
  26. package/dist/auth-DJ7XEBDO.js +448 -0
  27. package/dist/auth-otyjXf9l.js +448 -0
  28. package/dist/banner-DSE-i7gH.js +294 -0
  29. package/dist/binaries-BSjilwX-.js +13 -0
  30. package/dist/bindings-DFTxQj8x.js +69 -0
  31. package/dist/bonjour-discovery-BnxTMHRd.js +378 -0
  32. package/dist/bonjour-discovery-CVJYHT3g.js +378 -0
  33. package/dist/boot/handler.js +28 -44
  34. package/dist/browser-cli-BR2pZWTC.js +1694 -0
  35. package/dist/browser-cli-I0kfR7FV.js +1690 -0
  36. package/dist/build-info.json +3 -3
  37. package/dist/call-Ck7ysmEl.js +517 -0
  38. package/dist/call-MN6mCJEB.js +518 -0
  39. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  40. package/dist/catalog-Bt9EM4sK.js +185 -0
  41. package/dist/catalog-BtUvWKd9.js +185 -0
  42. package/dist/channel-account-context-BLQq9NKz.js +133 -0
  43. package/dist/channel-account-context-CaCzVa76.js +133 -0
  44. package/dist/channel-activity-BatlvP_U.js +292 -0
  45. package/dist/channel-activity-DHVMMb2x.js +94 -0
  46. package/dist/channel-activity-DtRx3b0W.js +94 -0
  47. package/dist/channel-options-C6kT3nXB.js +32 -0
  48. package/dist/channel-options-CbgR_vsp.js +33 -0
  49. package/dist/channel-selection-CzbrpDPd.js +51 -0
  50. package/dist/channel-selection-Xv5UFxOx.js +51 -0
  51. package/dist/channel-web-DfDokU69.js +2134 -0
  52. package/dist/channel-web-DtvksSuY.js +2132 -0
  53. package/dist/channels-cli-BmdCVX6O.js +1435 -0
  54. package/dist/channels-cli-CrAZpaiN.js +1439 -0
  55. package/dist/channels-status-issues-B77y-TLr.js +18 -0
  56. package/dist/channels-status-issues-COECL8nx.js +18 -0
  57. package/dist/chrome-Cr5wmMk8.js +1733 -0
  58. package/dist/chrome-YBrnJN-g.js +1732 -0
  59. package/dist/chunk-CrfQ_O--.js +341 -0
  60. package/dist/chunk-DFBUmlXU.js +341 -0
  61. package/dist/clack-prompter-CFNKgQXx.js +122 -0
  62. package/dist/clack-prompter-DDlR2e34.js +121 -0
  63. package/dist/cli/daemon-cli.js +1 -1
  64. package/dist/cli-BbOinSy6.js +130 -0
  65. package/dist/cli-DuvHXQ5h.js +134 -0
  66. package/dist/client-BZeatr3g.js +2316 -0
  67. package/dist/client-Bc9JFAwL.js +2316 -0
  68. package/dist/clipboard-Com-8GBg.js +31 -0
  69. package/dist/clipboard-J_9AABIu.js +31 -0
  70. package/dist/command-format-CMAQa4dB.js +32 -0
  71. package/dist/command-format-KkslAzwV.js +18 -0
  72. package/dist/command-logger/handler.js +1 -1
  73. package/dist/command-registry-BJnVtHo0.js +215 -0
  74. package/dist/commands-ijxtne0J.js +41 -0
  75. package/dist/commands-kZtQfqDl.js +41 -0
  76. package/dist/commands-registry-BrBtH2_B.js +891 -0
  77. package/dist/commands-registry-xZoSouba.js +892 -0
  78. package/dist/common-6D7nhDP-.js +156 -0
  79. package/dist/common-B4cjsvqP.js +156 -0
  80. package/dist/completion-cli-CpUq9QC3.js +452 -0
  81. package/dist/completion-cli-De4umD_N.js +452 -0
  82. package/dist/config-C_WcTz_O.js +4231 -0
  83. package/dist/config-DfcqHTH-.js +4229 -0
  84. package/dist/config-cli-C7rq2n_m.js +243 -0
  85. package/dist/config-cli-VToCKln2.js +247 -0
  86. package/dist/config-guard-BlAcGEao.js +75 -0
  87. package/dist/config-guard-C-h_KIeI.js +99 -0
  88. package/dist/config-validation-C0YXR2dY.js +18 -0
  89. package/dist/config-validation-DDYBTmxT.js +18 -0
  90. package/dist/configure-Bkre1zEB.js +891 -0
  91. package/dist/configure-ifuEamRQ.js +889 -0
  92. package/dist/control-auth-DK6cIBzl.js +397 -0
  93. package/dist/control-auth-DQ8bfDMk.js +397 -0
  94. package/dist/control-ui-assets-DLEWfed6.js +186 -0
  95. package/dist/control-ui-assets-DVhkAyhv.js +186 -0
  96. package/dist/conversation-label-HuHoShPF.js +36 -0
  97. package/dist/conversation-label-L0QTtKji.js +36 -0
  98. package/dist/cron-cli-DnxnTi83.js +498 -0
  99. package/dist/cron-cli-yqcBkqZT.js +494 -0
  100. package/dist/daemon-cli-CmQYq8uO.js +735 -0
  101. package/dist/daemon-cli-_OIRoswC.js +737 -0
  102. package/dist/daemon-cli.js +34 -69
  103. package/dist/daemon-install-BEgffqDj.js +56 -0
  104. package/dist/daemon-install-DAorzotp.js +60 -0
  105. package/dist/daemon-install-helpers-B82uvJjJ.js +504 -0
  106. package/dist/daemon-install-helpers-BhL2Gh4l.js +504 -0
  107. package/dist/deliver-CCvDBk5c.js +481 -0
  108. package/dist/deliver-CqKw0wFi.js +481 -0
  109. package/dist/delivery-queue-CK7VnUJf.js +244 -0
  110. package/dist/delivery-queue-DMeQchpT.js +244 -0
  111. package/dist/devices-cli-C6UAfRV_.js +323 -0
  112. package/dist/devices-cli-Le-isdZB.js +319 -0
  113. package/dist/diagnostics-BhFwk6F3.js +35 -0
  114. package/dist/diagnostics-BtaQtaVR.js +35 -0
  115. package/dist/directory-cli-BqMfX5og.js +220 -0
  116. package/dist/directory-cli-DD72TTD4.js +224 -0
  117. package/dist/dispatcher-BLC2WYZv.js +173 -0
  118. package/dist/dispatcher-Cm2FAG_D.js +174 -0
  119. package/dist/dm-policy-shared-DOzpxMHC.js +22 -0
  120. package/dist/dm-policy-shared-DZY0f1bR.js +22 -0
  121. package/dist/dns-cli-BgsNg-bn.js +203 -0
  122. package/dist/dns-cli-CdMU5yuG.js +199 -0
  123. package/dist/dock-ByrYnLiz.js +929 -0
  124. package/dist/dock-CpNmmysM.js +928 -0
  125. package/dist/doctor-completion-BPeaRbmd.js +92 -0
  126. package/dist/doctor-completion-CfOyGJd3.js +92 -0
  127. package/dist/doctor-config-flow-DMyTycn7.js +1935 -0
  128. package/dist/doctor-config-flow-DoMu-pTm.js +1934 -0
  129. package/dist/enable-D5KetMo7.js +59 -0
  130. package/dist/entry.js +61 -1
  131. package/dist/env-BJ36dSrx.js +60 -0
  132. package/dist/errors-BfONuT95.js +35 -0
  133. package/dist/errors-_DSePI1C.js +35 -0
  134. package/dist/exec-DkFE7lqU.js +164 -0
  135. package/dist/exec-mY96dhIg.js +164 -0
  136. package/dist/extensionAPI.js +112 -76
  137. package/dist/fetch-B3EQXbTa.js +67 -0
  138. package/dist/fetch-BPeSHPvr.js +281 -0
  139. package/dist/fetch-BQ7HvRwe.js +67 -0
  140. package/dist/fetch-CbGTzJ8L.js +281 -0
  141. package/dist/fetch-CfIaWynF.js +67 -0
  142. package/dist/file-lock-BHfqppLm.js +107 -0
  143. package/dist/file-lock-CCBpdPM_.js +107 -0
  144. package/dist/fs-safe-BcEpbVjc.js +88 -0
  145. package/dist/fs-safe-S3Zvbabd.js +98 -0
  146. package/dist/gateway-cli-BXipRcsU.js +24602 -0
  147. package/dist/gateway-cli-Bv2K3rXx.js +24606 -0
  148. package/dist/gateway-rpc-BHnd7P1q.js +28 -0
  149. package/dist/gateway-rpc-COEQDswS.js +28 -0
  150. package/dist/gmail-setup-utils-BpdKFe3P.js +423 -0
  151. package/dist/gmail-setup-utils-CqbWr0Kq.js +422 -0
  152. package/dist/health-1ero5j64.js +1414 -0
  153. package/dist/health-ioP2au7j.js +1417 -0
  154. package/dist/heartbeat-visibility-C88L-_f2.js +125 -0
  155. package/dist/heartbeat-visibility-Dk_Q02qX.js +125 -0
  156. package/dist/hook-runner-global-BztoD8lu.js +527 -0
  157. package/dist/hooks-cli-B8D9DzRR.js +1226 -0
  158. package/dist/hooks-cli-rZ3GOXag.js +1222 -0
  159. package/dist/image-ops-Cx1ym2Hi.js +354 -0
  160. package/dist/image-ops-DWytvdh_.js +354 -0
  161. package/dist/import-CTUBsy7D.js +604 -0
  162. package/dist/import-cBp4f62k.js +606 -0
  163. package/dist/inbound-context-COwswi8z.js +68 -0
  164. package/dist/inbound-context-ChcNR30g.js +68 -0
  165. package/dist/index.js +127 -102
  166. package/dist/inspect-BsS3_z-x.js +286 -0
  167. package/dist/inspect-drfsUSIW.js +286 -0
  168. package/dist/installs-BFmmM5Zd.js +325 -0
  169. package/dist/installs-DA7SG0Tx.js +325 -0
  170. package/dist/ipv4-BZGSwnH4.js +46 -0
  171. package/dist/ipv4-DsOgHE0B.js +46 -0
  172. package/dist/ir-R3Pk8Cv8.js +972 -0
  173. package/dist/lifecycle-core-BZMeOT7u.js +474 -0
  174. package/dist/lifecycle-core-C6-_Gts0.js +476 -0
  175. package/dist/loader-CJ2UHqV7.js +22414 -0
  176. package/dist/loader-dEFvmwXu.js +22411 -0
  177. package/dist/logger-9I2fg5mr.js +49 -0
  178. package/dist/login-D9uJTyEv.js +62 -0
  179. package/dist/login-DTh702_w.js +61 -0
  180. package/dist/login-qr-BKsmW6XI.js +325 -0
  181. package/dist/login-qr-SOXdIR58.js +329 -0
  182. package/dist/logs-cli-BshJBHZQ.js +236 -0
  183. package/dist/logs-cli-Ckh-BBTT.js +240 -0
  184. package/dist/markdown-tables-Cfz7zDXI.js +29 -0
  185. package/dist/markdown-tables-DeFSK6aY.js +29 -0
  186. package/dist/media-BD2cZGXT.js +971 -0
  187. package/dist/media-CjvpnJmQ.js +10388 -0
  188. package/dist/message-action-names-CZHrHMRE.js +2520 -0
  189. package/dist/message-action-names-CiZ-0Smk.js +2520 -0
  190. package/dist/message-channel-EMCYRaxk.js +91 -0
  191. package/dist/mime-1E7nn9IU.js +146 -0
  192. package/dist/mime-mSgQeDnC.js +146 -0
  193. package/dist/net-Cg8AQeke.js +225 -0
  194. package/dist/net-DMh1m8AZ.js +225 -0
  195. package/dist/node-cli-BJ5CCbqx.js +1462 -0
  196. package/dist/node-cli-wYYhAs8x.js +1458 -0
  197. package/dist/node-service-CkwVlcey.js +67 -0
  198. package/dist/node-service-DTVW9YJh.js +67 -0
  199. package/dist/nodes-cli-CMFYLD1o.js +1346 -0
  200. package/dist/nodes-cli-DC2zUx3f.js +1350 -0
  201. package/dist/nodes-screen-6pXv1lYa.js +250 -0
  202. package/dist/nodes-screen-CTIZKksn.js +250 -0
  203. package/dist/note-CMELkPJN.js +92 -0
  204. package/dist/npm-registry-spec-BiJI7Rkr.js +786 -0
  205. package/dist/npm-registry-spec-Dza35Ig4.js +786 -0
  206. package/dist/npm-resolution-CUQGDty4.js +86 -0
  207. package/dist/npm-resolution-CwbZK9AI.js +86 -0
  208. package/dist/onboard-8Qd9lU8x.js +649 -0
  209. package/dist/onboard-Q3cY65m8.js +647 -0
  210. package/dist/onboard-auth-BUzYDEqf.js +211 -0
  211. package/dist/onboard-auth-DcVXyd-Z.js +207 -0
  212. package/dist/onboard-channels-BFHuA-AU.js +2548 -0
  213. package/dist/onboard-channels-DVrPP_ie.js +2547 -0
  214. package/dist/onboard-helpers-B-bBSsyR.js +363 -0
  215. package/dist/onboard-helpers-YsCa-sAt.js +364 -0
  216. package/dist/onboard-remote-BWFcuEOD.js +127 -0
  217. package/dist/onboard-remote-C0THuDTK.js +127 -0
  218. package/dist/onboarding-B31lnOPp.js +586 -0
  219. package/dist/onboarding-DmN_qC8e.js +588 -0
  220. package/dist/onboarding.finalize-DGD0PA-D.js +402 -0
  221. package/dist/onboarding.finalize-DNIb3meE.js +404 -0
  222. package/dist/onboarding.gateway-config-BaeIuA62.js +195 -0
  223. package/dist/onboarding.gateway-config-DMV2Odzr.js +201 -0
  224. package/dist/outbound-BdxBHDax.js +220 -0
  225. package/dist/outbound-D-Y9rMgB.js +221 -0
  226. package/dist/outbound-attachment-CvZ04r5k.js +18 -0
  227. package/dist/outbound-attachment-DYa1asB5.js +18 -0
  228. package/dist/outbound-attachment-DgUpk7Uh.js +18 -0
  229. package/dist/pairing-cli-BxTv78V7.js +125 -0
  230. package/dist/pairing-cli-CxUCzNUc.js +129 -0
  231. package/dist/pairing-labels-DVO6NJr0.js +9 -0
  232. package/dist/pairing-labels-D_pD8Cag.js +9 -0
  233. package/dist/pairing-store-Bu9pVlkO.js +459 -0
  234. package/dist/pairing-store-CWaGbAGi.js +460 -0
  235. package/dist/path-env-RsuO6yO-.js +89 -0
  236. package/dist/path-env-_my-d_iR.js +89 -0
  237. package/dist/path-safety-CfiVyVz7.js +14 -0
  238. package/dist/path-safety-D-wLK4pV.js +14 -0
  239. package/dist/plugin-auto-enable-CW01H36W.js +301 -0
  240. package/dist/plugin-auto-enable-CeHhBLCU.js +302 -0
  241. package/dist/plugin-registry-CWL37HnB.js +33 -0
  242. package/dist/plugin-registry-ELliiumZ.js +33 -0
  243. package/dist/plugin-sdk/auth/provider-auth.d.ts +0 -6
  244. package/dist/plugin-sdk/auto-reply/reply/agent-runner-utils.d.ts +9 -29
  245. package/dist/plugin-sdk/auto-reply/reply/commands-status.d.ts +0 -2
  246. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/shared.d.ts +1 -1
  247. package/dist/plugin-sdk/auto-reply/reply/queue/types.d.ts +0 -2
  248. package/dist/plugin-sdk/auto-reply/status.d.ts +0 -4
  249. package/dist/plugin-sdk/auto-reply/templating.d.ts +0 -4
  250. package/dist/plugin-sdk/config/sessions/types.d.ts +0 -2
  251. package/dist/plugin-sdk/config/types.tools.d.ts +1 -59
  252. package/dist/plugin-sdk/config/types.tts.d.ts +2 -1
  253. package/dist/plugin-sdk/config/zod-schema.agent-runtime.d.ts +0 -177
  254. package/dist/plugin-sdk/config/zod-schema.core.d.ts +2 -230
  255. package/dist/plugin-sdk/config/zod-schema.d.ts +3 -192
  256. package/dist/plugin-sdk/config/zod-schema.providers-core.d.ts +3 -15
  257. package/dist/plugin-sdk/config/zod-schema.providers.d.ts +2 -10
  258. package/dist/plugin-sdk/config/zod-schema.session.d.ts +1 -5
  259. package/dist/plugin-sdk/gateway/protocol/index.d.ts +5 -5
  260. package/dist/plugin-sdk/index.js +72 -142
  261. package/dist/plugin-sdk/middleware/cli-runtime-base.d.ts +6 -0
  262. package/dist/plugin-sdk/middleware/runtimes/claude.d.ts +6 -0
  263. package/dist/plugin-sdk/middleware/runtimes/codex.d.ts +2 -2
  264. package/dist/plugin-sdk/plugin-sdk/index.d.ts +2 -0
  265. package/dist/plugin-sdk/plugins/manifest-registry.d.ts +2 -0
  266. package/dist/plugin-sdk/plugins/manifest.d.ts +2 -0
  267. package/dist/plugin-sdk/plugins/registry.d.ts +18 -0
  268. package/dist/plugin-sdk/plugins/types.d.ts +4 -0
  269. package/dist/plugin-sdk/stt/preflight.d.ts +2 -4
  270. package/dist/plugin-sdk/stt/providers/index.d.ts +1 -1
  271. package/dist/plugin-sdk/stt/providers/shared.d.ts +20 -1
  272. package/dist/plugin-sdk/tts/providers/edge.d.ts +2 -0
  273. package/dist/plugin-sdk/tts/providers/elevenlabs.d.ts +2 -0
  274. package/dist/plugin-sdk/tts/providers/index.d.ts +4 -0
  275. package/dist/plugin-sdk/tts/providers/openai.d.ts +2 -0
  276. package/dist/plugin-sdk/tts/tts.d.ts +13 -5
  277. package/dist/plugin-sdk/tts/types.d.ts +21 -0
  278. package/dist/plugins-DExsdlTp.js +455 -0
  279. package/dist/plugins-DdMgSc_b.js +453 -0
  280. package/dist/plugins-cli-DqBWiT_G.js +806 -0
  281. package/dist/plugins-cli-KQEzhU6P.js +802 -0
  282. package/dist/ports-CL0pXAXO.js +96 -0
  283. package/dist/ports-CRI-HSZx.js +370 -0
  284. package/dist/ports-DiQFcKUB.js +316 -0
  285. package/dist/ports-HRurfPIr.js +96 -0
  286. package/dist/preflight-6QRqxWh7.js +667 -0
  287. package/dist/preflight-DDZjr5KD.js +667 -0
  288. package/dist/program-DmhbOJj3.js +249 -0
  289. package/dist/program-context-PPMzZ6Gu.js +474 -0
  290. package/dist/prompt-select-styled-CmSWunD8.js +1669 -0
  291. package/dist/prompt-select-styled-PfxT9zl9.js +1672 -0
  292. package/dist/provider-auth-CfdnLqh3.js +187 -0
  293. package/dist/provider-auth-gpHOMUBP.js +187 -0
  294. package/dist/provider-dispatcher-D4eY8LZW.js +659 -0
  295. package/dist/provider-dispatcher-D5Q7M15D.js +660 -0
  296. package/dist/push-apns-BNwVMXX9.js +713 -0
  297. package/dist/push-apns-BszVkcZK.js +711 -0
  298. package/dist/pw-ai-Bdb3zrBM.js +1911 -0
  299. package/dist/pw-ai-BvcvEdGs.js +1908 -0
  300. package/dist/qr-cli-BBgk2ci1.js +349 -0
  301. package/dist/qr-cli-BLzVrhia.js +353 -0
  302. package/dist/redact-snapshot-CyBDcb_a.js +1966 -0
  303. package/dist/redact-snapshot-D9oPMqA-.js +1966 -0
  304. package/dist/register.agent-CAhKX3Ft.js +1019 -0
  305. package/dist/register.agent-RKHXtLLm.js +291 -0
  306. package/dist/register.configure-CW6XRGxV.js +129 -0
  307. package/dist/register.configure-dvrKc0j7.js +134 -0
  308. package/dist/register.import-CRLOolHv.js +31 -0
  309. package/dist/register.import-dhDEj7Om.js +29 -0
  310. package/dist/register.maintenance-EAhr1tJ9.js +500 -0
  311. package/dist/register.maintenance-lWz4v90u.js +502 -0
  312. package/dist/register.message-DyWkwUIU.js +690 -0
  313. package/dist/register.message-bl2Khz6c.js +686 -0
  314. package/dist/register.onboard-BAozmeei.js +97 -0
  315. package/dist/register.onboard-Da9hWQR1.js +93 -0
  316. package/dist/register.setup-DVrQWLoF.js +117 -0
  317. package/dist/register.setup-DbiLuuqg.js +113 -0
  318. package/dist/register.status-health-sessions-CA8ApUkH.js +668 -0
  319. package/dist/register.status-health-sessions-lGszs-NJ.js +428 -0
  320. package/dist/register.subclis-C-lqMygb.js +267 -0
  321. package/dist/replies-BTC1z8j0.js +136 -0
  322. package/dist/replies-BhlnuFp0.js +136 -0
  323. package/dist/reply-DZMooMoq.js +12880 -0
  324. package/dist/reply-directives-C0-hYyAt.js +182 -0
  325. package/dist/reply-directives-C_CGXLBJ.js +182 -0
  326. package/dist/reply-payloads-BospFSPI.js +527 -0
  327. package/dist/reply-prefix-DDgh77yy.js +37 -0
  328. package/dist/reply-prefix-DwKZPZyG.js +37 -0
  329. package/dist/reply-yGEQ0UW4.js +12877 -0
  330. package/dist/resolve-route-B73QhBIl.js +249 -0
  331. package/dist/resolve-route-DckdRbW8.js +249 -0
  332. package/dist/response-prefix-template-x5RBQnEy.js +134 -0
  333. package/dist/retry-CDrH81GP.js +77 -0
  334. package/dist/run-main-D869n5qf.js +307 -0
  335. package/dist/secure-random-CxzxAnMS.js +44 -0
  336. package/dist/security-cli-CfqosyUf.js +487 -0
  337. package/dist/security-cli-DMZun6gO.js +482 -0
  338. package/dist/send-3wvngctD.js +547 -0
  339. package/dist/send-AY7Fs5ky.js +374 -0
  340. package/dist/send-BSWD4Kr_.js +2245 -0
  341. package/dist/send-BT4HhTLm.js +349 -0
  342. package/dist/send-BvuxToC8.js +2245 -0
  343. package/dist/send-CaUxFvu0.js +492 -0
  344. package/dist/send-CiBRE4OY.js +1178 -0
  345. package/dist/send-Cidd4lQn.js +11 -0
  346. package/dist/send-Cq_Db9wG.js +1779 -0
  347. package/dist/send-DBFcxDPm.js +1776 -0
  348. package/dist/send-DUha0nIz.js +492 -0
  349. package/dist/send-DgYBI05s.js +332 -0
  350. package/dist/send-Dnf5bISH.js +426 -0
  351. package/dist/send-NcQk6UH1.js +547 -0
  352. package/dist/send-Og0-IMee.js +29 -0
  353. package/dist/send-oCN80Pl2.js +349 -0
  354. package/dist/server-DoGGLeP3.js +202 -0
  355. package/dist/server-V7G9FG2A.js +206 -0
  356. package/dist/server-lifecycle-CSWpSlvn.js +2437 -0
  357. package/dist/server-lifecycle-Cal8hBP1.js +2437 -0
  358. package/dist/server-node-events-DSee6jSG.js +394 -0
  359. package/dist/server-node-events-DbQWkU3M.js +390 -0
  360. package/dist/service-Duw0xMJX.js +670 -0
  361. package/dist/service-SRcnA1Am.js +670 -0
  362. package/dist/session-BLcfWX5_.js +170 -0
  363. package/dist/session-CQwkaAs-.js +170 -0
  364. package/dist/session-cost-usage-C-UcrvL4.js +627 -0
  365. package/dist/session-cost-usage-Dg3dzS0E.js +627 -0
  366. package/dist/session-dirs-D6mFEF90.js +318 -0
  367. package/dist/session-dirs-DVsG6e7L.js +318 -0
  368. package/dist/session-utils-C6522g3D.js +622 -0
  369. package/dist/session-utils-Dq2BJyVy.js +622 -0
  370. package/dist/sessions-CNkj4Eq8.js +247 -0
  371. package/dist/sessions-DDIoP7Rl.js +2569 -0
  372. package/dist/shell-env-D8nXPDbP.js +163 -0
  373. package/dist/ssrf-7I3FUHpm.js +183 -0
  374. package/dist/ssrf-DZi4qw5c.js +183 -0
  375. package/dist/status-CrAe8ZYt.js +1983 -0
  376. package/dist/status-DetRJxvZ.js +1979 -0
  377. package/dist/status.update-DquSK3p7.js +449 -0
  378. package/dist/status.update-iABAY3iW.js +449 -0
  379. package/dist/store-Bnm6zwaq.js +2571 -0
  380. package/dist/store-CVkGKjWm.js +64 -0
  381. package/dist/store-D_gpBpAW.js +64 -0
  382. package/dist/store-mxh63FBa.js +53 -0
  383. package/dist/subagent-registry-DNAz7Heu.js +4856 -0
  384. package/dist/subagent-registry-Dhz6HC4Z.js +4854 -0
  385. package/dist/subsystem-DGSHVL8I.js +1081 -0
  386. package/dist/subsystem-m7RSGQoR.js +1196 -0
  387. package/dist/system-cli-ByVDF6p8.js +77 -0
  388. package/dist/system-cli-CERb89Bl.js +73 -0
  389. package/dist/systemd-CSUtfsJx.js +547 -0
  390. package/dist/systemd-hints-BCxkQemJ.js +278 -0
  391. package/dist/systemd-hints-ef7m-7ZH.js +278 -0
  392. package/dist/systemd-linger-CWLgT0Wr.js +75 -0
  393. package/dist/systemd-linger-DT0E7YET.js +75 -0
  394. package/dist/systemd-tS61V4ao.js +547 -0
  395. package/dist/tables-DED01JNI.js +55 -0
  396. package/dist/tables-K3rOiGaJ.js +55 -0
  397. package/dist/tables-NcsXz3r_.js +55 -0
  398. package/dist/tailnet-CEudzG0i.js +40 -0
  399. package/dist/tailnet-D66Y5zC7.js +40 -0
  400. package/dist/tailscale-DjSRjPA-.js +230 -0
  401. package/dist/tailscale-DngZHD9L.js +230 -0
  402. package/dist/targets-BOpYPsGM.js +2545 -0
  403. package/dist/targets-BVsxzQh1.js +220 -0
  404. package/dist/targets-C99szk_e.js +114 -0
  405. package/dist/targets-CA4zx5G4.js +650 -0
  406. package/dist/targets-CTNm3bJ8.js +2544 -0
  407. package/dist/targets-DpmQjetK.js +53 -0
  408. package/dist/targets-Q-YGeAqu.js +650 -0
  409. package/dist/targets-rdWlC6Y-.js +53 -0
  410. package/dist/tool-display-Br6mwaJc.js +785 -0
  411. package/dist/tool-display-CLBf5cRa.js +785 -0
  412. package/dist/tool-images-DB4f57XK.js +263 -0
  413. package/dist/tool-images-kloBqxqK.js +263 -0
  414. package/dist/trash-B32LfX0l.js +125 -0
  415. package/dist/trash-SlUJxKO7.js +125 -0
  416. package/dist/tui-CHOtFK6k.js +3282 -0
  417. package/dist/tui-D4yiSpop.js +3282 -0
  418. package/dist/tui-cli-CzrjmAMZ.js +66 -0
  419. package/dist/tui-cli-Dpbs2QW_.js +62 -0
  420. package/dist/update-B5nYVxpc.js +349 -0
  421. package/dist/update-Bs3HhSnE.js +349 -0
  422. package/dist/update-cli-D_yz9Kyz.js +1147 -0
  423. package/dist/update-cli-DdfwNAsA.js +1149 -0
  424. package/dist/usage-BVyabt5E.js +5421 -0
  425. package/dist/voice-credentials-CI4VgB6u.js +46 -0
  426. package/dist/voice-credentials-l_d_gZiG.js +46 -0
  427. package/dist/web-B5xSAAH2.js +74 -0
  428. package/dist/web-Cc4tDVO9.js +3067 -0
  429. package/dist/web-Cdp9_IUk.js +79 -0
  430. package/dist/webhooks-cli-BDPcBkZL.js +330 -0
  431. package/dist/webhooks-cli-sRfsNesg.js +334 -0
  432. package/dist/whatsapp-actions-BGZXdWiP.js +125 -0
  433. package/dist/whatsapp-actions-HdmZu8oU.js +130 -0
  434. package/dist/workspace-D5LAl41l.js +449 -0
  435. package/dist/workspace-DRYGbrDM.js +447 -0
  436. package/dist/zod-schema-C8gEV0uz.js +2739 -0
  437. package/dist/zod-schema-CCUbW_Si.js +2739 -0
  438. package/package.json +1 -1
  439. package/dist/accounts-Aqbb2_Fn.js +0 -270
  440. package/dist/accounts-Bo2bX8jP.js +0 -272
  441. package/dist/accounts-D3fAPVzU.js +0 -36
  442. package/dist/accounts-DUEDngp6.js +0 -32
  443. package/dist/accounts-DZmv4bXS.js +0 -47
  444. package/dist/accounts-DmB4SVPK.js +0 -47
  445. package/dist/accounts-DtkyfvwR.js +0 -36
  446. package/dist/ack-reactions-Bvfy17SM.js +0 -446
  447. package/dist/ack-reactions-DYU8uhcz.js +0 -446
  448. package/dist/acp-cli-DVXhDMc6.js +0 -1324
  449. package/dist/acp-cli-QBL4_qcW.js +0 -1319
  450. package/dist/active-listener-CwxZ24bZ.js +0 -37
  451. package/dist/active-listener-v2sItamh.js +0 -37
  452. package/dist/agent-BisC5WZ6.js +0 -704
  453. package/dist/agent-Bqdrc0AK.js +0 -703
  454. package/dist/agent-helpers-BSGqeJr-.js +0 -400
  455. package/dist/agent-scope-_ND_-bJy.js +0 -116
  456. package/dist/agents-khSbraAA.js +0 -760
  457. package/dist/agents.config-D8gLHPWo.js +0 -116
  458. package/dist/audio-BIvUsncf.js +0 -43
  459. package/dist/audio-CQ8TfmVN.js +0 -43
  460. package/dist/audit-C0x7Cm6K.js +0 -3150
  461. package/dist/audit-CAY-uzWP.js +0 -3150
  462. package/dist/auth-DGqCLaQq.js +0 -448
  463. package/dist/auth-DLTRySEi.js +0 -314
  464. package/dist/auth-Drf91ntw.js +0 -315
  465. package/dist/auth-ku2khJyQ.js +0 -448
  466. package/dist/banner-txHC40UW.js +0 -294
  467. package/dist/binaries-BTvHIrCr.js +0 -13
  468. package/dist/bindings-DsWJQVKh.js +0 -69
  469. package/dist/bonjour-discovery-BElR62fH.js +0 -378
  470. package/dist/bonjour-discovery-C8XyVsjb.js +0 -378
  471. package/dist/browser-cli-DxJew43l.js +0 -1694
  472. package/dist/browser-cli-p0nakrjO.js +0 -1690
  473. package/dist/call-BrTmlOx3.js +0 -518
  474. package/dist/call-ChdUdwb4.js +0 -517
  475. package/dist/catalog-DTlcfTT9.js +0 -185
  476. package/dist/catalog-PixZqhZK.js +0 -185
  477. package/dist/channel-account-context-BO245Tcn.js +0 -133
  478. package/dist/channel-account-context-BgK0hm-I.js +0 -133
  479. package/dist/channel-activity-B0qlUR5e.js +0 -292
  480. package/dist/channel-activity-C-L6rDrQ.js +0 -94
  481. package/dist/channel-activity-DdgLBZ7M.js +0 -94
  482. package/dist/channel-options-CjlvAHSH.js +0 -32
  483. package/dist/channel-options-DpjP7qQf.js +0 -33
  484. package/dist/channel-selection-DW21dXB1.js +0 -51
  485. package/dist/channel-selection-wK_6S2Ku.js +0 -51
  486. package/dist/channel-web-COTkzJBt.js +0 -2136
  487. package/dist/channel-web-DUz5bn9h.js +0 -2134
  488. package/dist/channels-cli-D8RS8g2Q.js +0 -1438
  489. package/dist/channels-cli-X_8rENR6.js +0 -1434
  490. package/dist/channels-status-issues-B6I2l7Sm.js +0 -18
  491. package/dist/channels-status-issues-DhDH2fWp.js +0 -18
  492. package/dist/chrome-Dqtq7zCc.js +0 -1733
  493. package/dist/chrome-XeSY99Z_.js +0 -1732
  494. package/dist/chunk-CWD_zrz_.js +0 -341
  495. package/dist/chunk-LUabyS9k.js +0 -341
  496. package/dist/clack-prompter-fAgbvPW4.js +0 -122
  497. package/dist/clack-prompter-kf9qTN5p.js +0 -121
  498. package/dist/cli-BjPLpuZR.js +0 -133
  499. package/dist/cli-fFyOTtkD.js +0 -129
  500. package/dist/client-B9u3JdT_.js +0 -2316
  501. package/dist/client-DEEOhx0w.js +0 -2316
  502. package/dist/clipboard-B2nstLx7.js +0 -31
  503. package/dist/clipboard-C8QI9fes.js +0 -31
  504. package/dist/command-format-D0vKipG9.js +0 -32
  505. package/dist/command-format-LFmgWzKJ.js +0 -18
  506. package/dist/command-registry-BsPaMI53.js +0 -215
  507. package/dist/commands-BAYwlS3d.js +0 -41
  508. package/dist/commands-D842kCjj.js +0 -41
  509. package/dist/commands-registry-Cg2GTT2J.js +0 -892
  510. package/dist/commands-registry-Yz-uV5oG.js +0 -891
  511. package/dist/common-B67cBSew.js +0 -156
  512. package/dist/common-DEoiTqOr.js +0 -156
  513. package/dist/completion-cli-BO5mIPLa.js +0 -452
  514. package/dist/completion-cli-z9a6MVgr.js +0 -452
  515. package/dist/config-CAa0rZSx.js +0 -4225
  516. package/dist/config-W0w-gi2j.js +0 -4223
  517. package/dist/config-cli-DdRue35G.js +0 -243
  518. package/dist/config-cli-uOwxu5AC.js +0 -247
  519. package/dist/config-guard-BI85dxHR.js +0 -99
  520. package/dist/config-guard-DQqnigKh.js +0 -75
  521. package/dist/config-validation-D-h4LHyA.js +0 -18
  522. package/dist/config-validation-Df_kroIQ.js +0 -18
  523. package/dist/configure-B7ChPbXv.js +0 -891
  524. package/dist/configure-QspkIXME.js +0 -889
  525. package/dist/control-auth-BrBr2xb8.js +0 -397
  526. package/dist/control-auth-CehjYKnL.js +0 -397
  527. package/dist/control-ui-assets-D8F383Mo.js +0 -186
  528. package/dist/control-ui-assets-DYKtRIm0.js +0 -186
  529. package/dist/conversation-label-Bn5j3lUT.js +0 -36
  530. package/dist/conversation-label-CDH4rKMG.js +0 -36
  531. package/dist/cron-cli-DVzDHzAX.js +0 -494
  532. package/dist/cron-cli-gkH2qKM4.js +0 -498
  533. package/dist/daemon-cli-BTdNO1vH.js +0 -737
  534. package/dist/daemon-cli-DNNqI2LD.js +0 -735
  535. package/dist/daemon-install-CaEHG92p.js +0 -56
  536. package/dist/daemon-install-DbpDSDfW.js +0 -60
  537. package/dist/daemon-install-helpers-DjE_WnlY.js +0 -504
  538. package/dist/daemon-install-helpers-DocTUxqQ.js +0 -504
  539. package/dist/deliver-CDcL8ok6.js +0 -481
  540. package/dist/deliver-CS8JsevV.js +0 -481
  541. package/dist/delivery-queue-CTaYZQ_8.js +0 -244
  542. package/dist/delivery-queue-DMZ7mH8P.js +0 -244
  543. package/dist/devices-cli-BBJ4His-.js +0 -319
  544. package/dist/devices-cli-DHSJSFW1.js +0 -323
  545. package/dist/diagnostics-BSvCaLNs.js +0 -35
  546. package/dist/diagnostics-mWFAsFeo.js +0 -35
  547. package/dist/directory-cli-C-oHD_XE.js +0 -224
  548. package/dist/directory-cli-Cw99VGvr.js +0 -220
  549. package/dist/dispatcher-C8d1NNLZ.js +0 -174
  550. package/dist/dispatcher-DY6Ga60j.js +0 -173
  551. package/dist/dm-policy-shared-CRQ-Wr5g.js +0 -22
  552. package/dist/dm-policy-shared-CXXf2ltd.js +0 -22
  553. package/dist/dns-cli-BOqx9qo1.js +0 -199
  554. package/dist/dns-cli-WfqSC3JU.js +0 -203
  555. package/dist/dock-Big-J2VN.js +0 -929
  556. package/dist/dock-Cj4PKiUh.js +0 -928
  557. package/dist/doctor-completion-hYqcZ7IE.js +0 -92
  558. package/dist/doctor-completion-nxQQ5bEw.js +0 -92
  559. package/dist/doctor-config-flow-BUuADMDa.js +0 -1935
  560. package/dist/doctor-config-flow-yOUpQC2B.js +0 -1934
  561. package/dist/enable-DC9V0nTO.js +0 -59
  562. package/dist/env-B3zr72vQ.js +0 -60
  563. package/dist/errors-CdmXrBic.js +0 -35
  564. package/dist/errors-Cr_NbOb4.js +0 -35
  565. package/dist/exec-D_s-zAtY.js +0 -164
  566. package/dist/exec-Zz6eJ6YU.js +0 -164
  567. package/dist/fetch-BIZkXB5i.js +0 -67
  568. package/dist/fetch-DRVdxxEj.js +0 -67
  569. package/dist/fetch-DTR2MlOk.js +0 -67
  570. package/dist/file-lock-6NXMPZTT.js +0 -107
  571. package/dist/file-lock-C_KRlR7M.js +0 -107
  572. package/dist/fs-safe-DZHpH7TI.js +0 -98
  573. package/dist/fs-safe-vm3JMUkq.js +0 -88
  574. package/dist/gateway-cli-DEW-Ukmc.js +0 -24351
  575. package/dist/gateway-cli-DQYcZCOV.js +0 -24347
  576. package/dist/gateway-rpc-BCFkQPa2.js +0 -28
  577. package/dist/gateway-rpc-DOgYbsOG.js +0 -28
  578. package/dist/gmail-setup-utils-DMeA1UM1.js +0 -423
  579. package/dist/gmail-setup-utils-FHWSAur3.js +0 -422
  580. package/dist/health-BrLNGkZV.js +0 -1414
  581. package/dist/health-C8p9mnfl.js +0 -1417
  582. package/dist/heartbeat-visibility-CJVdaMZF.js +0 -125
  583. package/dist/heartbeat-visibility-DwK1UL0t.js +0 -125
  584. package/dist/hook-runner-global-C0DFQmQw.js +0 -527
  585. package/dist/hooks-cli-DEKi-tbA.js +0 -1221
  586. package/dist/hooks-cli-FndXPMD3.js +0 -1225
  587. package/dist/image-ops-B9ofmzSq.js +0 -354
  588. package/dist/image-ops-CMuvRsMY.js +0 -354
  589. package/dist/import-BH13F5mT.js +0 -606
  590. package/dist/import-D8HVcDqO.js +0 -604
  591. package/dist/inbound-context-BLy-G2Eq.js +0 -68
  592. package/dist/inbound-context-CmmmT8IP.js +0 -68
  593. package/dist/inbound-path-policy-BdmTOUka.js +0 -90
  594. package/dist/inbound-path-policy-BurOAu44.js +0 -90
  595. package/dist/inspect-nW8LAukU.js +0 -286
  596. package/dist/inspect-xy2EHy8G.js +0 -286
  597. package/dist/installs-CpfHmKY1.js +0 -325
  598. package/dist/installs-DebiMrGj.js +0 -325
  599. package/dist/ipv4-ysiNGssl.js +0 -46
  600. package/dist/ipv4-zc_Hfvbp.js +0 -46
  601. package/dist/ir-CaxTklDC.js +0 -940
  602. package/dist/lifecycle-core-Z5SScMlU.js +0 -476
  603. package/dist/lifecycle-core-pPwYSt7m.js +0 -474
  604. package/dist/loader-BapIdJyx.js +0 -22404
  605. package/dist/loader-BdAToyDH.js +0 -22401
  606. package/dist/local-roots-CrJ_Jv_G.js +0 -314
  607. package/dist/local-roots-n_Y4iYwb.js +0 -313
  608. package/dist/logger-B8yHnzPl.js +0 -49
  609. package/dist/login-C99fsB0N.js +0 -61
  610. package/dist/login-cLvGPjeO.js +0 -62
  611. package/dist/login-qr-CGqRFwgl.js +0 -329
  612. package/dist/login-qr-dnY5DC2C.js +0 -325
  613. package/dist/logs-cli-Bda7xY4N.js +0 -236
  614. package/dist/logs-cli-HzR-vnpD.js +0 -240
  615. package/dist/markdown-tables-58Hq__7K.js +0 -29
  616. package/dist/markdown-tables-GFEX0OR6.js +0 -29
  617. package/dist/media-CFsyXs3H.js +0 -940
  618. package/dist/media-Du5SHtnp.js +0 -10452
  619. package/dist/message-action-names-BfuEvR6j.js +0 -2521
  620. package/dist/message-action-names-CVBkpOLt.js +0 -2521
  621. package/dist/message-channel-FMNRI5Ax.js +0 -91
  622. package/dist/mime-AuIDUZPG.js +0 -149
  623. package/dist/mime-Cqg1jjia.js +0 -149
  624. package/dist/net-BEFkF-nI.js +0 -225
  625. package/dist/net-CNsUGiSw.js +0 -225
  626. package/dist/node-cli-Bu-InsO9.js +0 -1462
  627. package/dist/node-cli-DE7Pm7Fr.js +0 -1458
  628. package/dist/node-service-CumFZc9L.js +0 -67
  629. package/dist/node-service-DY1gG06I.js +0 -67
  630. package/dist/nodes-cli-B5aAExN0.js +0 -1350
  631. package/dist/nodes-cli-eKRqlKuO.js +0 -1346
  632. package/dist/nodes-screen-B3Sij1uT.js +0 -250
  633. package/dist/nodes-screen-DEvpoFmH.js +0 -250
  634. package/dist/note-CPFJCWJJ.js +0 -92
  635. package/dist/npm-registry-spec-BgMtTHvq.js +0 -786
  636. package/dist/npm-registry-spec-Dz3z1Zpd.js +0 -786
  637. package/dist/npm-resolution-Buio63BQ.js +0 -86
  638. package/dist/npm-resolution-gH1zHW2a.js +0 -86
  639. package/dist/onboard-BSf6qJWk.js +0 -647
  640. package/dist/onboard-V-SsZRk-.js +0 -649
  641. package/dist/onboard-auth-C_wHkop1.js +0 -207
  642. package/dist/onboard-auth-CkCBLvTg.js +0 -211
  643. package/dist/onboard-channels-DQTGPC18.js +0 -2548
  644. package/dist/onboard-channels-DSDQfR0u.js +0 -2547
  645. package/dist/onboard-helpers-Q7M6vdzh.js +0 -363
  646. package/dist/onboard-helpers-SCO3k5Y8.js +0 -364
  647. package/dist/onboard-remote-Co2hv1AD.js +0 -127
  648. package/dist/onboard-remote-Dl3BFSg2.js +0 -127
  649. package/dist/onboarding-B0bJfZ20.js +0 -588
  650. package/dist/onboarding-CeBR9OBi.js +0 -586
  651. package/dist/onboarding.finalize-BPgfWPB9.js +0 -404
  652. package/dist/onboarding.finalize-BmfLvNPJ.js +0 -402
  653. package/dist/onboarding.gateway-config-BL0Q7Wpg.js +0 -201
  654. package/dist/onboarding.gateway-config-D2QsXMYO.js +0 -195
  655. package/dist/outbound-CcaPcetn.js +0 -220
  656. package/dist/outbound-CeiW8z3a.js +0 -221
  657. package/dist/outbound-attachment-BIvFb3Is.js +0 -18
  658. package/dist/outbound-attachment-Bfm5-JYe.js +0 -18
  659. package/dist/outbound-attachment-CZ7zoYxB.js +0 -18
  660. package/dist/pairing-cli-CgX79ujL.js +0 -125
  661. package/dist/pairing-cli-DvbbXFgC.js +0 -129
  662. package/dist/pairing-labels-3wDxaApH.js +0 -9
  663. package/dist/pairing-labels-DCbWnbWk.js +0 -9
  664. package/dist/pairing-store-CdY7iRS0.js +0 -459
  665. package/dist/pairing-store-DykkYpQ7.js +0 -460
  666. package/dist/path-env-Cqo5LZmw.js +0 -89
  667. package/dist/path-env-GTM4HXCN.js +0 -89
  668. package/dist/path-safety-CXKAVpMp.js +0 -14
  669. package/dist/path-safety-DGB91qBk.js +0 -14
  670. package/dist/plugin-auto-enable-C6FPGg_-.js +0 -301
  671. package/dist/plugin-auto-enable-L8eOc8iC.js +0 -302
  672. package/dist/plugin-registry-CHlaWZD7.js +0 -33
  673. package/dist/plugin-registry-DQdMze4z.js +0 -33
  674. package/dist/plugin-sdk/auth/session-override.d.ts +0 -17
  675. package/dist/plugin-sdk/auto-reply/reply/directive-handling.auth.d.ts +0 -18
  676. package/dist/plugin-sdk/link-understanding/apply.d.ts +0 -10
  677. package/dist/plugin-sdk/link-understanding/defaults.d.ts +0 -2
  678. package/dist/plugin-sdk/link-understanding/detect.d.ts +0 -3
  679. package/dist/plugin-sdk/link-understanding/format.d.ts +0 -4
  680. package/dist/plugin-sdk/link-understanding/runner.d.ts +0 -11
  681. package/dist/plugin-sdk/media/input-files.d.ts +0 -95
  682. package/dist/plugin-sdk/media-understanding/apply.d.ts +0 -19
  683. package/dist/plugin-sdk/media-understanding/attachments.d.ts +0 -49
  684. package/dist/plugin-sdk/media-understanding/concurrency.d.ts +0 -1
  685. package/dist/plugin-sdk/media-understanding/defaults.d.ts +0 -11
  686. package/dist/plugin-sdk/media-understanding/errors.d.ts +0 -6
  687. package/dist/plugin-sdk/media-understanding/format.d.ts +0 -7
  688. package/dist/plugin-sdk/media-understanding/fs.d.ts +0 -1
  689. package/dist/plugin-sdk/media-understanding/output-extract.d.ts +0 -2
  690. package/dist/plugin-sdk/media-understanding/providers/anthropic/index.d.ts +0 -2
  691. package/dist/plugin-sdk/media-understanding/providers/deepgram/audio.d.ts +0 -1
  692. package/dist/plugin-sdk/media-understanding/providers/deepgram/index.d.ts +0 -2
  693. package/dist/plugin-sdk/media-understanding/providers/google/audio.d.ts +0 -1
  694. package/dist/plugin-sdk/media-understanding/providers/google/index.d.ts +0 -2
  695. package/dist/plugin-sdk/media-understanding/providers/google/video.d.ts +0 -3
  696. package/dist/plugin-sdk/media-understanding/providers/groq/index.d.ts +0 -2
  697. package/dist/plugin-sdk/media-understanding/providers/index.d.ts +0 -4
  698. package/dist/plugin-sdk/media-understanding/providers/minimax/index.d.ts +0 -2
  699. package/dist/plugin-sdk/media-understanding/providers/mistral/index.d.ts +0 -2
  700. package/dist/plugin-sdk/media-understanding/providers/moonshot/index.d.ts +0 -2
  701. package/dist/plugin-sdk/media-understanding/providers/moonshot/video.d.ts +0 -3
  702. package/dist/plugin-sdk/media-understanding/providers/openai/audio.d.ts +0 -1
  703. package/dist/plugin-sdk/media-understanding/providers/openai/index.d.ts +0 -2
  704. package/dist/plugin-sdk/media-understanding/providers/shared.d.ts +0 -20
  705. package/dist/plugin-sdk/media-understanding/providers/zai/index.d.ts +0 -2
  706. package/dist/plugin-sdk/media-understanding/resolve.d.ts +0 -44
  707. package/dist/plugin-sdk/media-understanding/runner.d.ts +0 -34
  708. package/dist/plugin-sdk/media-understanding/runner.entries.d.ts +0 -33
  709. package/dist/plugin-sdk/media-understanding/scope.d.ts +0 -9
  710. package/dist/plugin-sdk/media-understanding/types.d.ts +0 -59
  711. package/dist/plugin-sdk/media-understanding/video.d.ts +0 -2
  712. package/dist/plugin-sdk/utils/mask-api-key.d.ts +0 -1
  713. package/dist/plugin-sdk/utils/run-with-concurrency.d.ts +0 -11
  714. package/dist/plugins-7B167wIj.js +0 -453
  715. package/dist/plugins-BRHOfy1Z.js +0 -455
  716. package/dist/plugins-cli--I43zIaS.js +0 -797
  717. package/dist/plugins-cli-DIxMbY9I.js +0 -801
  718. package/dist/ports-BS8kQkd9.js +0 -96
  719. package/dist/ports-CAqyeQYZ.js +0 -316
  720. package/dist/ports-CTUgXF2d.js +0 -96
  721. package/dist/ports-DqfnVnCw.js +0 -370
  722. package/dist/preflight-CaRJtknt.js +0 -64
  723. package/dist/preflight-DeDRKMx4.js +0 -68
  724. package/dist/program-context-9dv7ClZz.js +0 -474
  725. package/dist/program-wVSvyiD-.js +0 -248
  726. package/dist/prompt-select-styled-BE_4W66Z.js +0 -1672
  727. package/dist/prompt-select-styled-BTPf06Os.js +0 -1669
  728. package/dist/provider-dispatcher-VZWITjmt.js +0 -660
  729. package/dist/provider-dispatcher-zYYGo00g.js +0 -659
  730. package/dist/push-apns-Cj0Ryn18.js +0 -713
  731. package/dist/push-apns-fFfYCqda.js +0 -711
  732. package/dist/pw-ai-CnN2sITD.js +0 -1908
  733. package/dist/pw-ai-fnX3cecw.js +0 -1911
  734. package/dist/qr-cli-CriPg41m.js +0 -349
  735. package/dist/qr-cli-DSURqD0D.js +0 -353
  736. package/dist/redact-snapshot-BecRL_h6.js +0 -2016
  737. package/dist/redact-snapshot-pTdzSrex.js +0 -2016
  738. package/dist/register.agent-B5_1XatO.js +0 -290
  739. package/dist/register.agent-Dba3CYyo.js +0 -1018
  740. package/dist/register.configure-DmwHGsPG.js +0 -128
  741. package/dist/register.configure-DrPlgBqB.js +0 -133
  742. package/dist/register.import-CPQqqdje.js +0 -31
  743. package/dist/register.import-D1UaH1QV.js +0 -29
  744. package/dist/register.maintenance-D76tiF4W.js +0 -501
  745. package/dist/register.maintenance-hUriFBfi.js +0 -499
  746. package/dist/register.message--VzmF3u4.js +0 -685
  747. package/dist/register.message-itNWUdvP.js +0 -689
  748. package/dist/register.onboard-Co8D908b.js +0 -93
  749. package/dist/register.onboard-q8JzWtuv.js +0 -97
  750. package/dist/register.setup-Djc6jZTc.js +0 -113
  751. package/dist/register.setup-hhPii4O7.js +0 -117
  752. package/dist/register.status-health-sessions-C1FhACQB.js +0 -668
  753. package/dist/register.status-health-sessions-DcUegHcH.js +0 -428
  754. package/dist/register.subclis-DAfihpBz.js +0 -267
  755. package/dist/replies-IpiCq1Ht.js +0 -136
  756. package/dist/replies-LSx_XhsP.js +0 -136
  757. package/dist/reply-D0CLqcBY.js +0 -13718
  758. package/dist/reply-Djq8ghfI.js +0 -13715
  759. package/dist/reply-directives-Cz7622Qx.js +0 -182
  760. package/dist/reply-directives-ssnaPNiU.js +0 -182
  761. package/dist/reply-payloads-CQMtrphw.js +0 -527
  762. package/dist/reply-prefix-CWcAZKhE.js +0 -37
  763. package/dist/reply-prefix-Drq7Pf3A.js +0 -37
  764. package/dist/resolve-route-B8uIc2H3.js +0 -249
  765. package/dist/resolve-route-C8ooNlI4.js +0 -249
  766. package/dist/response-prefix-template-DPOggmPO.js +0 -134
  767. package/dist/retry-BdhJlZQI.js +0 -77
  768. package/dist/run-main-B-Cb62fC.js +0 -306
  769. package/dist/runner-DUnmgjJ8.js +0 -2394
  770. package/dist/runner-EobZIrDt.js +0 -2394
  771. package/dist/secure-random-B5qmFc3N.js +0 -44
  772. package/dist/security-cli-05blEYyC.js +0 -482
  773. package/dist/security-cli-DYbt8duB.js +0 -487
  774. package/dist/send-7O3-bRtl.js +0 -547
  775. package/dist/send-9Huf62k3.js +0 -2245
  776. package/dist/send-B9mIJdUo.js +0 -547
  777. package/dist/send-Bj0RXr-a.js +0 -492
  778. package/dist/send-BzkAsn7K.js +0 -29
  779. package/dist/send-CXFhFLP9.js +0 -11
  780. package/dist/send-Ce_BDa8P.js +0 -349
  781. package/dist/send-ChvasRSh.js +0 -1779
  782. package/dist/send-Cl5BhbnF.js +0 -426
  783. package/dist/send-CpebTvM6.js +0 -374
  784. package/dist/send-DWf7BCPe.js +0 -492
  785. package/dist/send-DX8QSuSI.js +0 -1174
  786. package/dist/send-DZRn6PT2.js +0 -332
  787. package/dist/send-Dd2_MykI.js +0 -2245
  788. package/dist/send-IJaUAa8H.js +0 -1776
  789. package/dist/send-vvZXksNU.js +0 -349
  790. package/dist/server-BrzR9JmX.js +0 -206
  791. package/dist/server-_h27-uP_.js +0 -202
  792. package/dist/server-lifecycle-CUdA6Far.js +0 -2437
  793. package/dist/server-lifecycle-DQZWL8iP.js +0 -2437
  794. package/dist/server-node-events-DgB1z2Cx.js +0 -392
  795. package/dist/server-node-events-DtvPfM1I.js +0 -396
  796. package/dist/service-9le8AnC-.js +0 -670
  797. package/dist/service-Drb0kx6I.js +0 -670
  798. package/dist/session-BIAOl5QR.js +0 -170
  799. package/dist/session-Wu00pCn_.js +0 -170
  800. package/dist/session-cost-usage-7plmOKbs.js +0 -627
  801. package/dist/session-cost-usage-CPFxBFUg.js +0 -627
  802. package/dist/session-dirs-CfIrIJxG.js +0 -318
  803. package/dist/session-dirs-DlPpWt5Q.js +0 -318
  804. package/dist/session-utils-Sd9w4vc1.js +0 -622
  805. package/dist/session-utils-iL47hYmZ.js +0 -622
  806. package/dist/sessions-6pKQ3gN3.js +0 -247
  807. package/dist/sessions-ZRmCDdj1.js +0 -2569
  808. package/dist/shell-env-DYZq9PqC.js +0 -163
  809. package/dist/ssrf-B-rF_tZB.js +0 -183
  810. package/dist/ssrf-DJW14Wkh.js +0 -183
  811. package/dist/status-CTRQCXRj.js +0 -1979
  812. package/dist/status-Y67xsH93.js +0 -1983
  813. package/dist/status.update-DlBReI5-.js +0 -449
  814. package/dist/status.update-v7fEQ7R9.js +0 -449
  815. package/dist/store-B5989JkX.js +0 -64
  816. package/dist/store-BgtgYJoX.js +0 -53
  817. package/dist/store-DCrrxHyS.js +0 -2571
  818. package/dist/store-Ql6vAcsg.js +0 -64
  819. package/dist/subagent-registry-BGknZEUI.js +0 -4856
  820. package/dist/subagent-registry-CWeRBjfn.js +0 -4854
  821. package/dist/subsystem-Ct6qOOqZ.js +0 -1079
  822. package/dist/subsystem-PQ64_nsu.js +0 -1136
  823. package/dist/system-cli-CmO-4Rju.js +0 -77
  824. package/dist/system-cli-VBsa18K6.js +0 -73
  825. package/dist/systemd-CqFpK30Y.js +0 -547
  826. package/dist/systemd-fK9AV5bP.js +0 -547
  827. package/dist/systemd-hints-D3rr0j14.js +0 -278
  828. package/dist/systemd-hints-DNOSRaqA.js +0 -278
  829. package/dist/systemd-linger-B907NVVy.js +0 -75
  830. package/dist/systemd-linger-wYksBbM7.js +0 -75
  831. package/dist/tables-Boxa9MJH.js +0 -55
  832. package/dist/tables-CO_kxD0e.js +0 -55
  833. package/dist/tables-WZp8Vt9n.js +0 -55
  834. package/dist/tailnet-CfZhpSnt.js +0 -40
  835. package/dist/tailnet-D0NV0tRJ.js +0 -40
  836. package/dist/tailscale-B__xvMjA.js +0 -230
  837. package/dist/tailscale-q_ZrxUCc.js +0 -230
  838. package/dist/targets-B4rMyQFJ.js +0 -53
  839. package/dist/targets-BHYLCv06.js +0 -2534
  840. package/dist/targets-BjWhDMJM.js +0 -650
  841. package/dist/targets-BnpMZZC_.js +0 -120
  842. package/dist/targets-CHwGDIgO.js +0 -650
  843. package/dist/targets-DIDKlfKI.js +0 -220
  844. package/dist/targets-bqjVeCnF.js +0 -2535
  845. package/dist/targets-mqj9GNg1.js +0 -53
  846. package/dist/tool-display-C0hpLmkw.js +0 -785
  847. package/dist/tool-display-CQTRHo3Z.js +0 -785
  848. package/dist/tool-images-BYY11Gw3.js +0 -263
  849. package/dist/tool-images-CnJ0R8Fo.js +0 -263
  850. package/dist/trash-C0mjnHuW.js +0 -125
  851. package/dist/trash-Cgwc9mLD.js +0 -125
  852. package/dist/tui-9cJnR1dN.js +0 -3282
  853. package/dist/tui-BR3egaFJ.js +0 -3282
  854. package/dist/tui-cli-BYpkhE6J.js +0 -66
  855. package/dist/tui-cli-DndeZyup.js +0 -62
  856. package/dist/update-BJVdkzk7.js +0 -349
  857. package/dist/update-DjI6KTA5.js +0 -349
  858. package/dist/update-cli-B7Rl2Qr2.js +0 -1146
  859. package/dist/update-cli-CFk_jqUm.js +0 -1148
  860. package/dist/usage-CFv4a1Nf.js +0 -5448
  861. package/dist/voice-credentials-D59RcLbl.js +0 -45
  862. package/dist/voice-credentials-fjA7GShF.js +0 -45
  863. package/dist/web-Bs1td8Qw.js +0 -79
  864. package/dist/web-CSiw--Px.js +0 -3070
  865. package/dist/web-jRTtDiNf.js +0 -74
  866. package/dist/webhooks-cli-0yQha2yj.js +0 -334
  867. package/dist/webhooks-cli-ula0bTX-.js +0 -330
  868. package/dist/whatsapp-actions-3NdzsNg1.js +0 -130
  869. package/dist/whatsapp-actions-y_1vjkYY.js +0 -125
  870. package/dist/workspace-BT3X-qCZ.js +0 -449
  871. package/dist/workspace-D5hHXubL.js +0 -447
  872. package/dist/zod-schema-CbqZAIYy.js +0 -2696
  873. package/dist/zod-schema-YGQJEcnj.js +0 -2696
  874. /package/dist/{account-lookup-BOCzCnir.js → account-lookup-CIY_RKhi.js} +0 -0
  875. /package/dist/{account-lookup-C0ndrpt-.js → account-lookup-DGscKBsr.js} +0 -0
  876. /package/dist/{agent-helpers-eEHy5uX2.js → agent-helpers-D83kfcF9.js} +0 -0
  877. /package/dist/{agents.config-BgDBcY4h.js → agents.config-BPe_hkMn.js} +0 -0
  878. /package/dist/{api-Cd_7aESj.js → api-D8QQo5bc.js} +0 -0
  879. /package/dist/{api-DJ_oWYus.js → api-GywrnwRm.js} +0 -0
  880. /package/dist/{argv-BY8EVMTP.js → argv-DW4MYBdJ.js} +0 -0
  881. /package/dist/{bindings-Dr0bGRst.js → bindings-BpL4pISF.js} +0 -0
  882. /package/dist/{brew-CmTYeZk1.js → brew-CBsS-Vq1.js} +0 -0
  883. /package/dist/{brew-V4lMBeE3.js → brew-Clw9vXhE.js} +0 -0
  884. /package/dist/{chat-envelope-CrM0X4sl.js → chat-envelope-CY1yvCc-.js} +0 -0
  885. /package/dist/{chat-envelope-BIujl9Cj.js → chat-envelope-DUMcMMB2.js} +0 -0
  886. /package/dist/{chat-type-CH3W-zKy.js → chat-type-BKe459rw.js} +0 -0
  887. /package/dist/{chat-type-DyovJwCt.js → chat-type-CE6cJOyt.js} +0 -0
  888. /package/dist/{cleanup-utils-CNwlTKyR.js → cleanup-utils-365rf8YN.js} +0 -0
  889. /package/dist/{cleanup-utils-gNzIs9yk.js → cleanup-utils-rqUXvR3Z.js} +0 -0
  890. /package/dist/{cli-name-3MdfbvIR.js → cli-name-7Gb97Vyl.js} +0 -0
  891. /package/dist/{cli-name-CRLBidNP.js → cli-name-Yv30OygA.js} +0 -0
  892. /package/dist/{cli-utils-5ZIfXAfM.js → cli-utils-5W6ugvN5.js} +0 -0
  893. /package/dist/{cli-utils-BUOtyfnU.js → cli-utils-CZJacPS2.js} +0 -0
  894. /package/dist/{client-D5m46AuY.js → client-DQ-Nh-rV.js} +0 -0
  895. /package/dist/{client-DFyI5I0n.js → client-Fi2k2G9Z.js} +0 -0
  896. /package/dist/{command-options-Cn2fc1Of.js → command-options-CXHYeogR.js} +0 -0
  897. /package/dist/{command-options-D2nN4AXX.js → command-options-Cx6evn0x.js} +0 -0
  898. /package/dist/{config-eval-CU2G7a83.js → config-eval-DU_v_3lY.js} +0 -0
  899. /package/dist/{config-eval-BCKpAS_K.js → config-eval-V26Gl6eZ.js} +0 -0
  900. /package/dist/{constants-CRGAZ2ow.js → constants-C7gkSGRE.js} +0 -0
  901. /package/dist/{constants-BAZuhSRm.js → constants-DAiBiWlI.js} +0 -0
  902. /package/dist/{constants-DoYLsBmv.js → constants-DOnQraOP.js} +0 -0
  903. /package/dist/{constants-BBVTjb1j.js → constants-DQxqJVLu.js} +0 -0
  904. /package/dist/{credentials-DMAWNZdV.js → credentials-BHWUBHMd.js} +0 -0
  905. /package/dist/{credentials-Dmc3H-jd.js → credentials-DG0tD6-e.js} +0 -0
  906. /package/dist/{daemon-runtime-CzFI2dPw.js → daemon-runtime-B7Tmba31.js} +0 -0
  907. /package/dist/{daemon-runtime-aQhinwSL.js → daemon-runtime-KyXiP2ib.js} +0 -0
  908. /package/dist/{dangerous-name-matching-BlTBBZns.js → dangerous-name-matching-B4MRPcn-.js} +0 -0
  909. /package/dist/{dangerous-tools-BRmbBvRf.js → dangerous-tools-CIPZZJoN.js} +0 -0
  910. /package/dist/{dangerous-tools-E1i3IoxZ.js → dangerous-tools-D-GNbdpV.js} +0 -0
  911. /package/dist/{fetch-timeout-DBRRPNBi.js → fetch-timeout-CPe2rPLq.js} +0 -0
  912. /package/dist/{fetch-timeout-l_6RdoMw.js → fetch-timeout-DkT3EnRA.js} +0 -0
  913. /package/dist/{file-identity-BnGA6wyc.js → file-identity-C8MIb5lb.js} +0 -0
  914. /package/dist/{format-duration-B-Uv5nOi.js → format-duration-Cd7SCued.js} +0 -0
  915. /package/dist/{format-duration-D1M3Zxu6.js → format-duration-Oj8pTbYL.js} +0 -0
  916. /package/dist/{format-relative-Cywx6ldk.js → format-relative-8dpVUfzZ.js} +0 -0
  917. /package/dist/{format-relative-DcQZUAYl.js → format-relative-BMNeqaxW.js} +0 -0
  918. /package/dist/{health-format-CL2Xq92A.js → health-format-CwLlmYSK.js} +0 -0
  919. /package/dist/{health-format-CVgQD-z9.js → health-format-CycFH5Sj.js} +0 -0
  920. /package/dist/{heartbeat-wake-DLxQm6-U.js → heartbeat-wake-D6Lt5YUk.js} +0 -0
  921. /package/dist/{heartbeat-wake-DjsTDzF3.js → heartbeat-wake-uZkAP-tP.js} +0 -0
  922. /package/dist/{help-format-DM6-OBt-.js → help-format-B0YIbosn.js} +0 -0
  923. /package/dist/{help-format-CJQ7APRn.js → help-format-GeOPYD_A.js} +0 -0
  924. /package/dist/{helpers-BER76F_2.js → helpers-6_MYSJEW.js} +0 -0
  925. /package/dist/{helpers-DSMIGYx2.js → helpers-703bXVlF.js} +0 -0
  926. /package/dist/{helpers-D-r6yhnI.js → helpers-p_u0Gnj_.js} +0 -0
  927. /package/dist/{input-provenance-BgfeDgck.js → input-provenance-C4nlFv5Y.js} +0 -0
  928. /package/dist/{input-provenance-xUsSMOsz.js → input-provenance-duDehu0D.js} +0 -0
  929. /package/dist/{ip-BAhS4rY2.js → ip-BFJnbRh9.js} +0 -0
  930. /package/dist/{ip-BUhsZdJu.js → ip-D0zgNmBV.js} +0 -0
  931. /package/dist/{is-main-BmHYGRhd.js → is-main-BE1Jih91.js} +0 -0
  932. /package/dist/{json-file-B5WEJJye.js → json-file-CsV03dh-.js} +0 -0
  933. /package/dist/{json-file-Dbg7nZg1.js → json-file-CtQKYRLl.js} +0 -0
  934. /package/dist/{json-files-BFGbyEzL.js → json-files-B2yMsppu.js} +0 -0
  935. /package/dist/{json-files-CfhnuGaC.js → json-files-BYH8U7Mx.js} +0 -0
  936. /package/dist/{lanes-4FoQemog.js → lanes-BWL_LwXG.js} +0 -0
  937. /package/dist/{lanes-BhdzrAIa.js → lanes-cHJ5arWg.js} +0 -0
  938. /package/dist/{links-CwTlzaPe.js → links-BFtUmGLH.js} +0 -0
  939. /package/dist/{links-D5vtq30Q.js → links-BNjLUJ9U.js} +0 -0
  940. /package/dist/{location-50gaJF5Z.js → location-BC45kOxc.js} +0 -0
  941. /package/dist/{location-Qo8Ii1zo.js → location-BUhzov-a.js} +0 -0
  942. /package/dist/{logger-IA_Dr_BT.js → logger-1QWMF9Hc.js} +0 -0
  943. /package/dist/{logger-nEdVxm5D.js → logger-BWMPnILd.js} +0 -0
  944. /package/dist/{logger-O6JX52kK.js → logger-Liu31nEU.js} +0 -0
  945. /package/dist/{logging-FctZEleJ.js → logging-CtbzyUjs.js} +0 -0
  946. /package/dist/{logging-BiuZwq5D.js → logging-DJFQvfGD.js} +0 -0
  947. /package/dist/{logging-Bs1VqVFL.js → logging-JiRrQn2_.js} +0 -0
  948. /package/dist/{logging-JZEg5nDp.js → logging-kuFzZMsG.js} +0 -0
  949. /package/dist/{message-channel-tuc9CdEw.js → message-channel-DOyKgFu8.js} +0 -0
  950. /package/dist/{mutable-allowlist-detectors-CtKavajp.js → mutable-allowlist-detectors-4m-Kc8Kn.js} +0 -0
  951. /package/dist/{mutable-allowlist-detectors-TCG6mnbz.js → mutable-allowlist-detectors-BECxOoKX.js} +0 -0
  952. /package/dist/{onboard-config-BxfgUqk6.js → onboard-config-C9so5ggC.js} +0 -0
  953. /package/dist/{onboard-config-DNzlo8Cg.js → onboard-config-oXID97rS.js} +0 -0
  954. /package/dist/{parse-log-line-CT0H1-oQ.js → parse-log-line-BtFI563v.js} +0 -0
  955. /package/dist/{parse-log-line-pij_xhtE.js → parse-log-line-COptqka7.js} +0 -0
  956. /package/dist/{parse-timeout-CvODy9RC.js → parse-timeout-BpphuwYl.js} +0 -0
  957. /package/dist/{path-guards-DOpzcMXz.js → path-guards-DJteVA0d.js} +0 -0
  958. /package/dist/{path-guards-DipYoPVw.js → path-guards-DVRUJZVN.js} +0 -0
  959. /package/dist/plugin-sdk/{media-understanding → stt}/providers/google/inline-data.d.ts +0 -0
  960. /package/dist/{plugins-allowlist-Bcqe9Gd8.js → plugins-allowlist-Clt6dsY6.js} +0 -0
  961. /package/dist/{polls-DQrR-qT3.js → polls-C5xr-8pM.js} +0 -0
  962. /package/dist/{polls-ybwcqkWt.js → polls-DXd67TD8.js} +0 -0
  963. /package/dist/{ports-lsof-CDyv5GJd.js → ports-lsof-xWMTWvMQ.js} +0 -0
  964. /package/dist/{process-scoped-map-BwUkYFQV.js → process-scoped-map-C7KeadUK.js} +0 -0
  965. /package/dist/{process-scoped-map-_zxf_kLz.js → process-scoped-map-CQ1C5MbT.js} +0 -0
  966. /package/dist/{program-context-CG-t6Yp-.js → program-context-LuBAPt4y.js} +0 -0
  967. /package/dist/{progress-DRLmcFiG.js → progress-C-hTn2yV.js} +0 -0
  968. /package/dist/{progress-BOdRbOHD.js → progress-ChmZpgvt.js} +0 -0
  969. /package/dist/{prompt-WEkXwIMT.js → prompt-BXeXEH0o.js} +0 -0
  970. /package/dist/{prompt-BRGfic91.js → prompt-C31r0R5I.js} +0 -0
  971. /package/dist/{prompt-style-B4Cq4PyQ.js → prompt-style-BcM-VSMx.js} +0 -0
  972. /package/dist/{proxy-BMJL0Qog.js → proxy-dRhp8Ykw.js} +0 -0
  973. /package/dist/{pw-ai-state-CwXeO5d0.js → pw-ai-state-CjfcKQoO.js} +0 -0
  974. /package/dist/{pw-ai-state-DaISdsXY.js → pw-ai-state-DfjyEttO.js} +0 -0
  975. /package/dist/{redact-gXuh8MFk.js → redact-D975G-N6.js} +0 -0
  976. /package/dist/{redact-CqWx9rpK.js → redact-Dx1Fue21.js} +0 -0
  977. /package/dist/{redact-identifier-BJOQDEj0.js → redact-identifier-Bqj_YiPd.js} +0 -0
  978. /package/dist/{redact-identifier-DR54qsoT.js → redact-identifier-HyK89Sod.js} +0 -0
  979. /package/dist/{remoteclaw-root-CgNyrbxc.js → remoteclaw-root-B1iQBmbi.js} +0 -0
  980. /package/dist/{remoteclaw-root-u8dAeHID.js → remoteclaw-root-BmYwCzQN.js} +0 -0
  981. /package/dist/{render-CDCvpfhh.js → render-BvFSFJZW.js} +0 -0
  982. /package/dist/{render-CJl4GK1B.js → render-flG67HhW.js} +0 -0
  983. /package/dist/{response-prefix-template-D3ZcJP4E.js → response-prefix-template-DDvbVpx6.js} +0 -0
  984. /package/dist/{retry-cXXk2j6_.js → retry-CByUYDAZ.js} +0 -0
  985. /package/dist/{retry-B19gMxS7.js → retry-oNE3cBeG.js} +0 -0
  986. /package/dist/{runtime-guard-BS55uiSW.js → runtime-guard-CqNug-FG.js} +0 -0
  987. /package/dist/{runtime-guard-CK80eucm.js → runtime-guard-DAHXelsb.js} +0 -0
  988. /package/dist/{runtime-status-BhW7hP_U.js → runtime-status-CM4rzyfO.js} +0 -0
  989. /package/dist/{runtime-status-hFVEC3wO.js → runtime-status-DJYthOLz.js} +0 -0
  990. /package/dist/{secret-equal-CJzes24Z.js → secret-equal-1-dwi8DL.js} +0 -0
  991. /package/dist/{secret-equal-CQAmGfGc.js → secret-equal-CXJEZiWb.js} +0 -0
  992. /package/dist/{secure-random-B3f7Ri2X.js → secure-random-Ba4Y5xG5.js} +0 -0
  993. /package/dist/{secure-random-BkZFG9cd.js → secure-random-C6AVByhV.js} +0 -0
  994. /package/dist/{stagger-B-_Wnofy.js → stagger-CjeisVRF.js} +0 -0
  995. /package/dist/{stagger-B2ORDHsP.js → stagger-vkvpUmOz.js} +0 -0
  996. /package/dist/{status-C6YNwimj.js → status-DNLnVQZ4.js} +0 -0
  997. /package/dist/{status-yrDGXYZM.js → status-DZhl73dM.js} +0 -0
  998. /package/dist/{strip-inbound-meta-0cvL6itU.js → strip-inbound-meta-C3Cwe_ZO.js} +0 -0
  999. /package/dist/{strip-inbound-meta-DjKcSFaW.js → strip-inbound-meta-DuDjnGjC.js} +0 -0
  1000. /package/dist/{table-ByMyHTh_.js → table-B9zSN_7D.js} +0 -0
  1001. /package/dist/{table-C-dba-5-.js → table-j8Ayarot.js} +0 -0
  1002. /package/dist/{target-errors-DJVRKFcU.js → target-errors-ChjvOMuV.js} +0 -0
  1003. /package/dist/{target-errors-GZXDqlUu.js → target-errors-Dn4aykSV.js} +0 -0
  1004. /package/dist/{targets-B_d_1z3N.js → targets-BtGRUQMa.js} +0 -0
  1005. /package/dist/{targets-DOJXjN1U.js → targets-CE4AYRI9.js} +0 -0
  1006. /package/dist/{targets-D01MJGnh.js → targets-DlufWCmy.js} +0 -0
  1007. /package/dist/{targets-WSwPflb6.js → targets-akvAerZF.js} +0 -0
  1008. /package/dist/{text-format-DarxU3JH.js → text-format-VSogn9Yq.js} +0 -0
  1009. /package/dist/{text-format-mr5bZq0f.js → text-format-xeHt9ywT.js} +0 -0
  1010. /package/dist/{thinking-BqJmU6Zp.js → thinking-B171Rc3-.js} +0 -0
  1011. /package/dist/{tokens-C8yGxAcR.js → tokens-B-jmvNR9.js} +0 -0
  1012. /package/dist/{tokens-DAFBx5qr.js → tokens-kTLGxaAF.js} +0 -0
  1013. /package/dist/{usage-BXi79Rq6.js → usage-CRJFqYf8.js} +0 -0
  1014. /package/dist/{usage-C1lHaofV.js → usage-Txvb0Iq2.js} +0 -0
  1015. /package/dist/{usage-format-CD5jsZY1.js → usage-format-70DvrseE.js} +0 -0
  1016. /package/dist/{usage-format-CRVpDVj1.js → usage-format-Bs8DkQtr.js} +0 -0
  1017. /package/dist/{widearea-dns-C-0P7TRi.js → widearea-dns-BOgHvO4O.js} +0 -0
  1018. /package/dist/{widearea-dns-DFZMcfLf.js → widearea-dns-CGhfClCr.js} +0 -0
  1019. /package/dist/{workspace-BJCKO8Ns.js → workspace-DhUqtMK_.js} +0 -0
  1020. /package/dist/{wsl-kFaeW76c.js → wsl-Cs-gowFJ.js} +0 -0
@@ -0,0 +1,1319 @@
1
+ import { Ct as theme, _ as defaultRuntime, ot as shortenHomePath, rt as resolveUserPath, t as isMainModule } from "./entry.js";
2
+ import { i as loadConfig } from "./config-DfcqHTH-.js";
3
+ import "./host-env-security-axRnIi8d.js";
4
+ import "./shell-env-DBS5su07.js";
5
+ import { t as VERSION } from "./version-3QUZW8EP.js";
6
+ import "./env-vars-CD2_baIP.js";
7
+ import "./zod-schema-C8gEV0uz.js";
8
+ import "./agent-scope-CJW7vnF8.js";
9
+ import { f as GATEWAY_CLIENT_MODES, p as GATEWAY_CLIENT_NAMES } from "./message-channel-DOyKgFu8.js";
10
+ import { t as GatewayClient } from "./client-BZeatr3g.js";
11
+ import { t as buildGatewayConnectionDetails } from "./call-Ck7ysmEl.js";
12
+ import "./net-Cg8AQeke.js";
13
+ import "./logger-BWMPnILd.js";
14
+ import "./ip-D0zgNmBV.js";
15
+ import "./tailnet-CEudzG0i.js";
16
+ import { t as resolveGatewayCredentialsFromConfig } from "./credentials-BHWUBHMd.js";
17
+ import { a as isKnownCoreToolId, t as DANGEROUS_ACP_TOOLS } from "./dangerous-tools-CIPZZJoN.js";
18
+ import { t as ensureRemoteClawCliOnPath } from "./path-env-RsuO6yO-.js";
19
+ import { t as formatDocsLink } from "./links-BFtUmGLH.js";
20
+ import { n as inheritOptionFromParent } from "./command-options-CXHYeogR.js";
21
+ import { spawn } from "node:child_process";
22
+ import { fileURLToPath } from "node:url";
23
+ import path from "node:path";
24
+ import fs from "node:fs";
25
+ import { randomUUID } from "node:crypto";
26
+ import * as readline$1 from "node:readline";
27
+ import { Readable, Writable } from "node:stream";
28
+ import { AgentSideConnection, ClientSideConnection, PROTOCOL_VERSION, ndJsonStream } from "@agentclientprotocol/sdk";
29
+
30
+ //#region src/acp/client.ts
31
+ const SAFE_AUTO_APPROVE_TOOL_IDS = new Set(["search"]);
32
+ const TRUSTED_SAFE_TOOL_ALIASES = new Set(["search"]);
33
+ const TOOL_NAME_MAX_LENGTH = 128;
34
+ const TOOL_NAME_PATTERN = /^[a-z0-9._-]+$/;
35
+ const TOOL_KIND_BY_ID = new Map([["search", "search"]]);
36
+ function asRecord(value) {
37
+ return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
38
+ }
39
+ function readFirstStringValue(source, keys) {
40
+ if (!source) return;
41
+ for (const key of keys) {
42
+ const value = source[key];
43
+ if (typeof value === "string" && value.trim()) return value.trim();
44
+ }
45
+ }
46
+ function normalizeToolName(value) {
47
+ const normalized = value.trim().toLowerCase();
48
+ if (!normalized || normalized.length > TOOL_NAME_MAX_LENGTH) return;
49
+ if (!TOOL_NAME_PATTERN.test(normalized)) return;
50
+ return normalized;
51
+ }
52
+ function parseToolNameFromTitle(title) {
53
+ if (!title) return;
54
+ const head = title.split(":", 1)[0]?.trim();
55
+ if (!head) return;
56
+ return normalizeToolName(head);
57
+ }
58
+ function resolveToolKindForPermission(toolName) {
59
+ if (!toolName) return;
60
+ return TOOL_KIND_BY_ID.get(toolName) ?? "other";
61
+ }
62
+ function resolveToolNameForPermission(params) {
63
+ const toolCall = params.toolCall;
64
+ const toolMeta = asRecord(toolCall?._meta);
65
+ const rawInput = asRecord(toolCall?.rawInput);
66
+ const fromMeta = readFirstStringValue(toolMeta, [
67
+ "toolName",
68
+ "tool_name",
69
+ "name"
70
+ ]);
71
+ const fromRawInput = readFirstStringValue(rawInput, [
72
+ "tool",
73
+ "toolName",
74
+ "tool_name",
75
+ "name"
76
+ ]);
77
+ const fromTitle = parseToolNameFromTitle(toolCall?.title);
78
+ return normalizeToolName(fromMeta ?? fromRawInput ?? fromTitle ?? "");
79
+ }
80
+ function shouldAutoApproveToolCall(toolName) {
81
+ const isTrustedToolId = typeof toolName === "string" && (isKnownCoreToolId(toolName) || TRUSTED_SAFE_TOOL_ALIASES.has(toolName));
82
+ if (!toolName || !isTrustedToolId || !SAFE_AUTO_APPROVE_TOOL_IDS.has(toolName)) return false;
83
+ return true;
84
+ }
85
+ function pickOption(options, kinds) {
86
+ for (const kind of kinds) {
87
+ const match = options.find((option) => option.kind === kind);
88
+ if (match) return match;
89
+ }
90
+ }
91
+ function selectedPermission(optionId) {
92
+ return { outcome: {
93
+ outcome: "selected",
94
+ optionId
95
+ } };
96
+ }
97
+ function cancelledPermission() {
98
+ return { outcome: { outcome: "cancelled" } };
99
+ }
100
+ function promptUserPermission(toolName, toolTitle) {
101
+ if (!process.stdin.isTTY || !process.stderr.isTTY) {
102
+ console.error(`[permission denied] ${toolName ?? "unknown"}: non-interactive terminal`);
103
+ return Promise.resolve(false);
104
+ }
105
+ return new Promise((resolve) => {
106
+ let settled = false;
107
+ const rl = readline$1.createInterface({
108
+ input: process.stdin,
109
+ output: process.stderr
110
+ });
111
+ const finish = (approved) => {
112
+ if (settled) return;
113
+ settled = true;
114
+ clearTimeout(timeout);
115
+ rl.close();
116
+ resolve(approved);
117
+ };
118
+ const timeout = setTimeout(() => {
119
+ console.error(`\n[permission timeout] denied: ${toolName ?? "unknown"}`);
120
+ finish(false);
121
+ }, 3e4);
122
+ const label = toolTitle ? toolName ? `${toolTitle} (${toolName})` : toolTitle : toolName ?? "unknown tool";
123
+ rl.question(`\n[permission] Allow "${label}"? (y/N) `, (answer) => {
124
+ const approved = answer.trim().toLowerCase() === "y";
125
+ console.error(`[permission ${approved ? "approved" : "denied"}] ${toolName ?? "unknown"}`);
126
+ finish(approved);
127
+ });
128
+ });
129
+ }
130
+ async function resolvePermissionRequest(params, deps = {}) {
131
+ const log = deps.log ?? ((line) => console.error(line));
132
+ const prompt = deps.prompt ?? promptUserPermission;
133
+ const options = params.options ?? [];
134
+ const toolTitle = params.toolCall?.title ?? "tool";
135
+ const toolName = resolveToolNameForPermission(params);
136
+ const toolKind = resolveToolKindForPermission(toolName);
137
+ if (options.length === 0) {
138
+ log(`[permission cancelled] ${toolName ?? "unknown"}: no options available`);
139
+ return cancelledPermission();
140
+ }
141
+ const allowOption = pickOption(options, ["allow_once", "allow_always"]);
142
+ const rejectOption = pickOption(options, ["reject_once", "reject_always"]);
143
+ const autoApproveAllowed = shouldAutoApproveToolCall(toolName);
144
+ if (!(!toolName || !autoApproveAllowed || DANGEROUS_ACP_TOOLS.has(toolName))) {
145
+ const option = allowOption ?? options[0];
146
+ if (!option) {
147
+ log(`[permission cancelled] ${toolName}: no selectable options`);
148
+ return cancelledPermission();
149
+ }
150
+ log(`[permission auto-approved] ${toolName} (${toolKind ?? "unknown"})`);
151
+ return selectedPermission(option.optionId);
152
+ }
153
+ log(`\n[permission requested] ${toolTitle}${toolName ? ` (${toolName})` : ""}${toolKind ? ` [${toolKind}]` : ""}`);
154
+ const approved = await prompt(toolName, toolTitle);
155
+ if (approved && allowOption) return selectedPermission(allowOption.optionId);
156
+ if (!approved && rejectOption) return selectedPermission(rejectOption.optionId);
157
+ log(`[permission cancelled] ${toolName ?? "unknown"}: missing ${approved ? "allow" : "reject"} option`);
158
+ return cancelledPermission();
159
+ }
160
+ function toArgs(value) {
161
+ if (!value) return [];
162
+ return Array.isArray(value) ? value : [value];
163
+ }
164
+ function buildServerArgs(opts) {
165
+ const args = ["acp", ...toArgs(opts.serverArgs)];
166
+ if (opts.serverVerbose && !args.includes("--verbose") && !args.includes("-v")) args.push("--verbose");
167
+ return args;
168
+ }
169
+ function resolveSelfEntryPath() {
170
+ try {
171
+ const here = fileURLToPath(import.meta.url);
172
+ const candidate = path.resolve(path.dirname(here), "..", "entry.js");
173
+ if (fs.existsSync(candidate)) return candidate;
174
+ } catch {}
175
+ const argv1 = process.argv[1]?.trim();
176
+ if (argv1) return path.isAbsolute(argv1) ? argv1 : path.resolve(process.cwd(), argv1);
177
+ return null;
178
+ }
179
+ function printSessionUpdate(notification) {
180
+ const update = notification.update;
181
+ if (!("sessionUpdate" in update)) return;
182
+ switch (update.sessionUpdate) {
183
+ case "agent_message_chunk":
184
+ if (update.content?.type === "text") process.stdout.write(update.content.text);
185
+ return;
186
+ case "tool_call":
187
+ console.log(`\n[tool] ${update.title} (${update.status})`);
188
+ return;
189
+ case "tool_call_update":
190
+ if (update.status) console.log(`[tool update] ${update.toolCallId}: ${update.status}`);
191
+ return;
192
+ case "available_commands_update": {
193
+ const names = update.availableCommands?.map((cmd) => `/${cmd.name}`).join(" ");
194
+ if (names) console.log(`\n[commands] ${names}`);
195
+ return;
196
+ }
197
+ default: return;
198
+ }
199
+ }
200
+ async function createAcpClient(opts = {}) {
201
+ const cwd = opts.cwd ?? process.cwd();
202
+ const log = Boolean(opts.verbose) ? (msg) => console.error(`[acp-client] ${msg}`) : () => {};
203
+ ensureRemoteClawCliOnPath();
204
+ const serverArgs = buildServerArgs(opts);
205
+ const entryPath = resolveSelfEntryPath();
206
+ const serverCommand = opts.serverCommand ?? (entryPath ? process.execPath : "remoteclaw");
207
+ const effectiveArgs = opts.serverCommand || !entryPath ? serverArgs : [entryPath, ...serverArgs];
208
+ log(`spawning: ${serverCommand} ${effectiveArgs.join(" ")}`);
209
+ const agent = spawn(serverCommand, effectiveArgs, {
210
+ stdio: [
211
+ "pipe",
212
+ "pipe",
213
+ "inherit"
214
+ ],
215
+ cwd
216
+ });
217
+ if (!agent.stdin || !agent.stdout) throw new Error("Failed to create ACP stdio pipes");
218
+ const client = new ClientSideConnection(() => ({
219
+ sessionUpdate: async (params) => {
220
+ printSessionUpdate(params);
221
+ },
222
+ requestPermission: async (params) => {
223
+ return resolvePermissionRequest(params, { cwd });
224
+ }
225
+ }), ndJsonStream(Writable.toWeb(agent.stdin), Readable.toWeb(agent.stdout)));
226
+ log("initializing");
227
+ await client.initialize({
228
+ protocolVersion: PROTOCOL_VERSION,
229
+ clientCapabilities: {
230
+ fs: {
231
+ readTextFile: true,
232
+ writeTextFile: true
233
+ },
234
+ terminal: true
235
+ },
236
+ clientInfo: {
237
+ name: "remoteclaw-acp-client",
238
+ version: "1.0.0"
239
+ }
240
+ });
241
+ log("creating session");
242
+ return {
243
+ client,
244
+ agent,
245
+ sessionId: (await client.newSession({
246
+ cwd,
247
+ mcpServers: []
248
+ })).sessionId
249
+ };
250
+ }
251
+ async function runAcpClientInteractive(opts = {}) {
252
+ const { client, agent, sessionId } = await createAcpClient(opts);
253
+ const rl = readline$1.createInterface({
254
+ input: process.stdin,
255
+ output: process.stdout
256
+ });
257
+ console.log("RemoteClaw ACP client");
258
+ console.log(`Session: ${sessionId}`);
259
+ console.log("Type a prompt, or \"exit\" to quit.\n");
260
+ const prompt = () => {
261
+ rl.question("> ", async (input) => {
262
+ const text = input.trim();
263
+ if (!text) {
264
+ prompt();
265
+ return;
266
+ }
267
+ if (text === "exit" || text === "quit") {
268
+ agent.kill();
269
+ rl.close();
270
+ process.exit(0);
271
+ }
272
+ try {
273
+ const response = await client.prompt({
274
+ sessionId,
275
+ prompt: [{
276
+ type: "text",
277
+ text
278
+ }]
279
+ });
280
+ console.log(`\n[${response.stopReason}]\n`);
281
+ } catch (err) {
282
+ console.error(`\n[error] ${String(err)}\n`);
283
+ }
284
+ prompt();
285
+ });
286
+ };
287
+ prompt();
288
+ agent.on("exit", (code) => {
289
+ console.log(`\nAgent exited with code ${code ?? 0}`);
290
+ rl.close();
291
+ process.exit(code ?? 0);
292
+ });
293
+ }
294
+
295
+ //#endregion
296
+ //#region src/acp/secret-file.ts
297
+ function readSecretFromFile(filePath, label) {
298
+ const resolvedPath = resolveUserPath(filePath.trim());
299
+ if (!resolvedPath) throw new Error(`${label} file path is empty.`);
300
+ let raw = "";
301
+ try {
302
+ raw = fs.readFileSync(resolvedPath, "utf8");
303
+ } catch (err) {
304
+ throw new Error(`Failed to read ${label} file at ${resolvedPath}: ${String(err)}`, { cause: err });
305
+ }
306
+ const secret = raw.trim();
307
+ if (!secret) throw new Error(`${label} file at ${resolvedPath} is empty.`);
308
+ return secret;
309
+ }
310
+
311
+ //#endregion
312
+ //#region src/infra/fixed-window-rate-limit.ts
313
+ function createFixedWindowRateLimiter(params) {
314
+ const maxRequests = Math.max(1, Math.floor(params.maxRequests));
315
+ const windowMs = Math.max(1, Math.floor(params.windowMs));
316
+ const now = params.now ?? Date.now;
317
+ let count = 0;
318
+ let windowStartMs = 0;
319
+ return {
320
+ consume() {
321
+ const nowMs = now();
322
+ if (nowMs - windowStartMs >= windowMs) {
323
+ windowStartMs = nowMs;
324
+ count = 0;
325
+ }
326
+ if (count >= maxRequests) return {
327
+ allowed: false,
328
+ retryAfterMs: Math.max(0, windowStartMs + windowMs - nowMs),
329
+ remaining: 0
330
+ };
331
+ count += 1;
332
+ return {
333
+ allowed: true,
334
+ retryAfterMs: 0,
335
+ remaining: Math.max(0, maxRequests - count)
336
+ };
337
+ },
338
+ reset() {
339
+ count = 0;
340
+ windowStartMs = 0;
341
+ }
342
+ };
343
+ }
344
+
345
+ //#endregion
346
+ //#region src/acp/commands.ts
347
+ function getAvailableCommands() {
348
+ return [
349
+ {
350
+ name: "help",
351
+ description: "Show help and common commands."
352
+ },
353
+ {
354
+ name: "commands",
355
+ description: "List available commands."
356
+ },
357
+ {
358
+ name: "status",
359
+ description: "Show current status."
360
+ },
361
+ {
362
+ name: "context",
363
+ description: "Explain context usage (list|detail|json).",
364
+ input: { hint: "list | detail | json" }
365
+ },
366
+ {
367
+ name: "whoami",
368
+ description: "Show sender id (alias: /id)."
369
+ },
370
+ {
371
+ name: "id",
372
+ description: "Alias for /whoami."
373
+ },
374
+ {
375
+ name: "subagents",
376
+ description: "List or manage sub-agents."
377
+ },
378
+ {
379
+ name: "config",
380
+ description: "Read or write config (owner-only)."
381
+ },
382
+ {
383
+ name: "debug",
384
+ description: "Set runtime-only overrides (owner-only)."
385
+ },
386
+ {
387
+ name: "usage",
388
+ description: "Toggle usage footer (off|tokens|full)."
389
+ },
390
+ {
391
+ name: "stop",
392
+ description: "Stop the current run."
393
+ },
394
+ {
395
+ name: "restart",
396
+ description: "Restart the gateway (if enabled)."
397
+ },
398
+ {
399
+ name: "dock-telegram",
400
+ description: "Route replies to Telegram."
401
+ },
402
+ {
403
+ name: "dock-discord",
404
+ description: "Route replies to Discord."
405
+ },
406
+ {
407
+ name: "dock-slack",
408
+ description: "Route replies to Slack."
409
+ },
410
+ {
411
+ name: "activation",
412
+ description: "Set group activation (mention|always)."
413
+ },
414
+ {
415
+ name: "send",
416
+ description: "Set send mode (on|off|inherit)."
417
+ },
418
+ {
419
+ name: "reset",
420
+ description: "Reset the session (/new)."
421
+ },
422
+ {
423
+ name: "new",
424
+ description: "Reset the session (/reset)."
425
+ },
426
+ {
427
+ name: "think",
428
+ description: "Set thinking level (off|minimal|low|medium|high|xhigh)."
429
+ },
430
+ {
431
+ name: "verbose",
432
+ description: "Set verbose mode (on|full|off)."
433
+ },
434
+ {
435
+ name: "reasoning",
436
+ description: "Toggle reasoning output (on|off|stream)."
437
+ },
438
+ {
439
+ name: "elevated",
440
+ description: "Toggle elevated mode (on|off)."
441
+ },
442
+ {
443
+ name: "model",
444
+ description: "Select a model (list|status|<name>)."
445
+ },
446
+ {
447
+ name: "queue",
448
+ description: "Adjust queue mode and options."
449
+ },
450
+ {
451
+ name: "bash",
452
+ description: "Run a host command (if enabled)."
453
+ },
454
+ {
455
+ name: "compact",
456
+ description: "Compact the session history."
457
+ }
458
+ ];
459
+ }
460
+
461
+ //#endregion
462
+ //#region src/acp/event-mapper.ts
463
+ const INLINE_CONTROL_ESCAPE_MAP = {
464
+ "\0": "\\0",
465
+ "\r": "\\r",
466
+ "\n": "\\n",
467
+ " ": "\\t",
468
+ "\v": "\\v",
469
+ "\f": "\\f",
470
+ "\u2028": "\\u2028",
471
+ "\u2029": "\\u2029"
472
+ };
473
+ function escapeInlineControlChars(value) {
474
+ let escaped = "";
475
+ for (const char of value) {
476
+ const codePoint = char.codePointAt(0);
477
+ if (codePoint === void 0) {
478
+ escaped += char;
479
+ continue;
480
+ }
481
+ if (!(codePoint <= 31 || codePoint >= 127 && codePoint <= 159 || codePoint === 8232 || codePoint === 8233)) {
482
+ escaped += char;
483
+ continue;
484
+ }
485
+ const mapped = INLINE_CONTROL_ESCAPE_MAP[char];
486
+ if (mapped) {
487
+ escaped += mapped;
488
+ continue;
489
+ }
490
+ escaped += codePoint <= 255 ? `\\x${codePoint.toString(16).padStart(2, "0")}` : `\\u${codePoint.toString(16).padStart(4, "0")}`;
491
+ }
492
+ return escaped;
493
+ }
494
+ function escapeResourceTitle(value) {
495
+ return escapeInlineControlChars(value).replace(/[()[\]]/g, (char) => `\\${char}`);
496
+ }
497
+ function extractTextFromPrompt(prompt, maxBytes) {
498
+ const parts = [];
499
+ let totalBytes = 0;
500
+ for (const block of prompt) {
501
+ let blockText;
502
+ if (block.type === "text") blockText = block.text;
503
+ else if (block.type === "resource") {
504
+ const resource = block.resource;
505
+ if (resource?.text) blockText = resource.text;
506
+ } else if (block.type === "resource_link") {
507
+ const title = block.title ? ` (${escapeResourceTitle(block.title)})` : "";
508
+ const uri = block.uri ? escapeInlineControlChars(block.uri) : "";
509
+ blockText = uri ? `[Resource link${title}] ${uri}` : `[Resource link${title}]`;
510
+ }
511
+ if (blockText !== void 0) {
512
+ if (maxBytes !== void 0) {
513
+ const separatorBytes = parts.length > 0 ? 1 : 0;
514
+ totalBytes += separatorBytes + Buffer.byteLength(blockText, "utf-8");
515
+ if (totalBytes > maxBytes) throw new Error(`Prompt exceeds maximum allowed size of ${maxBytes} bytes`);
516
+ }
517
+ parts.push(blockText);
518
+ }
519
+ }
520
+ return parts.join("\n");
521
+ }
522
+ function extractAttachmentsFromPrompt(prompt) {
523
+ const attachments = [];
524
+ for (const block of prompt) {
525
+ if (block.type !== "image") continue;
526
+ const image = block;
527
+ if (!image.data || !image.mimeType) continue;
528
+ attachments.push({
529
+ type: "image",
530
+ mimeType: image.mimeType,
531
+ content: image.data
532
+ });
533
+ }
534
+ return attachments;
535
+ }
536
+ function formatToolTitle(name, args) {
537
+ const base = name ?? "tool";
538
+ if (!args || Object.keys(args).length === 0) return base;
539
+ return `${base}: ${Object.entries(args).map(([key, value]) => {
540
+ const raw = typeof value === "string" ? value : JSON.stringify(value);
541
+ return `${key}: ${raw.length > 100 ? `${raw.slice(0, 100)}...` : raw}`;
542
+ }).join(", ")}`;
543
+ }
544
+ function inferToolKind(name) {
545
+ if (!name) return "other";
546
+ const normalized = name.toLowerCase();
547
+ if (normalized.includes("read")) return "read";
548
+ if (normalized.includes("edit")) return "edit";
549
+ if (normalized.includes("delete") || normalized.includes("remove")) return "delete";
550
+ if (normalized.includes("move") || normalized.includes("rename")) return "move";
551
+ if (normalized.includes("search") || normalized.includes("find")) return "search";
552
+ if (normalized.includes("run") || normalized.includes("bash")) return "execute";
553
+ if (normalized.includes("fetch") || normalized.includes("http")) return "fetch";
554
+ return "other";
555
+ }
556
+
557
+ //#endregion
558
+ //#region src/acp/meta.ts
559
+ function readString(meta, keys) {
560
+ if (!meta) return;
561
+ for (const key of keys) {
562
+ const value = meta[key];
563
+ if (typeof value === "string" && value.trim()) return value.trim();
564
+ }
565
+ }
566
+ function readBool(meta, keys) {
567
+ if (!meta) return;
568
+ for (const key of keys) {
569
+ const value = meta[key];
570
+ if (typeof value === "boolean") return value;
571
+ }
572
+ }
573
+ function readNumber(meta, keys) {
574
+ if (!meta) return;
575
+ for (const key of keys) {
576
+ const value = meta[key];
577
+ if (typeof value === "number" && Number.isFinite(value)) return value;
578
+ }
579
+ }
580
+
581
+ //#endregion
582
+ //#region src/acp/session-mapper.ts
583
+ function parseSessionMeta(meta) {
584
+ if (!meta || typeof meta !== "object") return {};
585
+ const record = meta;
586
+ return {
587
+ sessionKey: readString(record, [
588
+ "sessionKey",
589
+ "session",
590
+ "key"
591
+ ]),
592
+ sessionLabel: readString(record, ["sessionLabel", "label"]),
593
+ resetSession: readBool(record, ["resetSession", "reset"]),
594
+ requireExisting: readBool(record, ["requireExistingSession", "requireExisting"]),
595
+ prefixCwd: readBool(record, ["prefixCwd"])
596
+ };
597
+ }
598
+ async function resolveSessionKey(params) {
599
+ const requestedLabel = params.meta.sessionLabel ?? params.opts.defaultSessionLabel;
600
+ const requestedKey = params.meta.sessionKey ?? params.opts.defaultSessionKey;
601
+ const requireExisting = params.meta.requireExisting ?? params.opts.requireExistingSession ?? false;
602
+ if (params.meta.sessionLabel) {
603
+ const resolved = await params.gateway.request("sessions.resolve", { label: params.meta.sessionLabel });
604
+ if (!resolved?.key) throw new Error(`Unable to resolve session label: ${params.meta.sessionLabel}`);
605
+ return resolved.key;
606
+ }
607
+ if (params.meta.sessionKey) {
608
+ if (!requireExisting) return params.meta.sessionKey;
609
+ const resolved = await params.gateway.request("sessions.resolve", { key: params.meta.sessionKey });
610
+ if (!resolved?.key) throw new Error(`Session key not found: ${params.meta.sessionKey}`);
611
+ return resolved.key;
612
+ }
613
+ if (requestedLabel) {
614
+ const resolved = await params.gateway.request("sessions.resolve", { label: requestedLabel });
615
+ if (!resolved?.key) throw new Error(`Unable to resolve session label: ${requestedLabel}`);
616
+ return resolved.key;
617
+ }
618
+ if (requestedKey) {
619
+ if (!requireExisting) return requestedKey;
620
+ const resolved = await params.gateway.request("sessions.resolve", { key: requestedKey });
621
+ if (!resolved?.key) throw new Error(`Session key not found: ${requestedKey}`);
622
+ return resolved.key;
623
+ }
624
+ return params.fallbackKey;
625
+ }
626
+ async function resetSessionIfNeeded(params) {
627
+ if (!(params.meta.resetSession ?? params.opts.resetSession ?? false)) return;
628
+ await params.gateway.request("sessions.reset", { key: params.sessionKey });
629
+ }
630
+
631
+ //#endregion
632
+ //#region src/acp/session.ts
633
+ const DEFAULT_MAX_SESSIONS = 5e3;
634
+ const DEFAULT_IDLE_TTL_MS = 1440 * 60 * 1e3;
635
+ function createInMemorySessionStore(options = {}) {
636
+ const maxSessions = Math.max(1, options.maxSessions ?? DEFAULT_MAX_SESSIONS);
637
+ const idleTtlMs = Math.max(1e3, options.idleTtlMs ?? DEFAULT_IDLE_TTL_MS);
638
+ const now = options.now ?? Date.now;
639
+ const sessions = /* @__PURE__ */ new Map();
640
+ const runIdToSessionId = /* @__PURE__ */ new Map();
641
+ const touchSession = (session, nowMs) => {
642
+ session.lastTouchedAt = nowMs;
643
+ };
644
+ const removeSession = (sessionId) => {
645
+ const session = sessions.get(sessionId);
646
+ if (!session) return false;
647
+ if (session.activeRunId) runIdToSessionId.delete(session.activeRunId);
648
+ session.abortController?.abort();
649
+ sessions.delete(sessionId);
650
+ return true;
651
+ };
652
+ const reapIdleSessions = (nowMs) => {
653
+ const idleBefore = nowMs - idleTtlMs;
654
+ for (const [sessionId, session] of sessions.entries()) {
655
+ if (session.activeRunId || session.abortController) continue;
656
+ if (session.lastTouchedAt > idleBefore) continue;
657
+ removeSession(sessionId);
658
+ }
659
+ };
660
+ const evictOldestIdleSession = () => {
661
+ let oldestSessionId = null;
662
+ let oldestLastTouchedAt = Number.POSITIVE_INFINITY;
663
+ for (const [sessionId, session] of sessions.entries()) {
664
+ if (session.activeRunId || session.abortController) continue;
665
+ if (session.lastTouchedAt >= oldestLastTouchedAt) continue;
666
+ oldestLastTouchedAt = session.lastTouchedAt;
667
+ oldestSessionId = sessionId;
668
+ }
669
+ if (!oldestSessionId) return false;
670
+ return removeSession(oldestSessionId);
671
+ };
672
+ const createSession = (params) => {
673
+ const nowMs = now();
674
+ const sessionId = params.sessionId ?? randomUUID();
675
+ const existingSession = sessions.get(sessionId);
676
+ if (existingSession) {
677
+ existingSession.sessionKey = params.sessionKey;
678
+ existingSession.cwd = params.cwd;
679
+ touchSession(existingSession, nowMs);
680
+ return existingSession;
681
+ }
682
+ reapIdleSessions(nowMs);
683
+ if (sessions.size >= maxSessions && !evictOldestIdleSession()) throw new Error(`ACP session limit reached (max ${maxSessions}). Close idle ACP clients and retry.`);
684
+ const session = {
685
+ sessionId,
686
+ sessionKey: params.sessionKey,
687
+ cwd: params.cwd,
688
+ createdAt: nowMs,
689
+ lastTouchedAt: nowMs,
690
+ abortController: null,
691
+ activeRunId: null
692
+ };
693
+ sessions.set(sessionId, session);
694
+ return session;
695
+ };
696
+ const hasSession = (sessionId) => sessions.has(sessionId);
697
+ const getSession = (sessionId) => {
698
+ const session = sessions.get(sessionId);
699
+ if (session) touchSession(session, now());
700
+ return session;
701
+ };
702
+ const getSessionByRunId = (runId) => {
703
+ const sessionId = runIdToSessionId.get(runId);
704
+ if (!sessionId) return;
705
+ const session = sessions.get(sessionId);
706
+ if (session) touchSession(session, now());
707
+ return session;
708
+ };
709
+ const setActiveRun = (sessionId, runId, abortController) => {
710
+ const session = sessions.get(sessionId);
711
+ if (!session) return;
712
+ session.activeRunId = runId;
713
+ session.abortController = abortController;
714
+ runIdToSessionId.set(runId, sessionId);
715
+ touchSession(session, now());
716
+ };
717
+ const clearActiveRun = (sessionId) => {
718
+ const session = sessions.get(sessionId);
719
+ if (!session) return;
720
+ if (session.activeRunId) runIdToSessionId.delete(session.activeRunId);
721
+ session.activeRunId = null;
722
+ session.abortController = null;
723
+ touchSession(session, now());
724
+ };
725
+ const cancelActiveRun = (sessionId) => {
726
+ const session = sessions.get(sessionId);
727
+ if (!session?.abortController) return false;
728
+ session.abortController.abort();
729
+ if (session.activeRunId) runIdToSessionId.delete(session.activeRunId);
730
+ session.abortController = null;
731
+ session.activeRunId = null;
732
+ touchSession(session, now());
733
+ return true;
734
+ };
735
+ const clearAllSessionsForTest = () => {
736
+ for (const session of sessions.values()) session.abortController?.abort();
737
+ sessions.clear();
738
+ runIdToSessionId.clear();
739
+ };
740
+ return {
741
+ createSession,
742
+ hasSession,
743
+ getSession,
744
+ getSessionByRunId,
745
+ setActiveRun,
746
+ clearActiveRun,
747
+ cancelActiveRun,
748
+ clearAllSessionsForTest
749
+ };
750
+ }
751
+ const defaultAcpSessionStore = createInMemorySessionStore();
752
+
753
+ //#endregion
754
+ //#region src/acp/types.ts
755
+ const ACP_AGENT_INFO = {
756
+ name: "remoteclaw-acp",
757
+ title: "RemoteClaw ACP Gateway",
758
+ version: VERSION
759
+ };
760
+
761
+ //#endregion
762
+ //#region src/acp/translator.ts
763
+ const MAX_PROMPT_BYTES = 2 * 1024 * 1024;
764
+ const SESSION_CREATE_RATE_LIMIT_DEFAULT_MAX_REQUESTS = 120;
765
+ const SESSION_CREATE_RATE_LIMIT_DEFAULT_WINDOW_MS = 1e4;
766
+ var AcpGatewayAgent = class {
767
+ constructor(connection, gateway, opts = {}) {
768
+ this.pendingPrompts = /* @__PURE__ */ new Map();
769
+ this.connection = connection;
770
+ this.gateway = gateway;
771
+ this.opts = opts;
772
+ this.log = opts.verbose ? (msg) => process.stderr.write(`[acp] ${msg}\n`) : () => {};
773
+ this.sessionStore = opts.sessionStore ?? defaultAcpSessionStore;
774
+ this.sessionCreateRateLimiter = createFixedWindowRateLimiter({
775
+ maxRequests: Math.max(1, opts.sessionCreateRateLimit?.maxRequests ?? SESSION_CREATE_RATE_LIMIT_DEFAULT_MAX_REQUESTS),
776
+ windowMs: Math.max(1e3, opts.sessionCreateRateLimit?.windowMs ?? SESSION_CREATE_RATE_LIMIT_DEFAULT_WINDOW_MS)
777
+ });
778
+ }
779
+ start() {
780
+ this.log("ready");
781
+ }
782
+ handleGatewayReconnect() {
783
+ this.log("gateway reconnected");
784
+ }
785
+ handleGatewayDisconnect(reason) {
786
+ this.log(`gateway disconnected: ${reason}`);
787
+ for (const pending of this.pendingPrompts.values()) {
788
+ pending.reject(/* @__PURE__ */ new Error(`Gateway disconnected: ${reason}`));
789
+ this.sessionStore.clearActiveRun(pending.sessionId);
790
+ }
791
+ this.pendingPrompts.clear();
792
+ }
793
+ async handleGatewayEvent(evt) {
794
+ if (evt.event === "chat") {
795
+ await this.handleChatEvent(evt);
796
+ return;
797
+ }
798
+ if (evt.event === "agent") await this.handleAgentEvent(evt);
799
+ }
800
+ async initialize(_params) {
801
+ return {
802
+ protocolVersion: PROTOCOL_VERSION,
803
+ agentCapabilities: {
804
+ loadSession: true,
805
+ promptCapabilities: {
806
+ image: true,
807
+ audio: false,
808
+ embeddedContext: true
809
+ },
810
+ mcpCapabilities: {
811
+ http: false,
812
+ sse: false
813
+ },
814
+ sessionCapabilities: { list: {} }
815
+ },
816
+ agentInfo: ACP_AGENT_INFO,
817
+ authMethods: []
818
+ };
819
+ }
820
+ async newSession(params) {
821
+ if (params.mcpServers.length > 0) this.log(`ignoring ${params.mcpServers.length} MCP servers`);
822
+ this.enforceSessionCreateRateLimit("newSession");
823
+ const sessionId = randomUUID();
824
+ const meta = parseSessionMeta(params._meta);
825
+ const sessionKey = await resolveSessionKey({
826
+ meta,
827
+ fallbackKey: `acp:${sessionId}`,
828
+ gateway: this.gateway,
829
+ opts: this.opts
830
+ });
831
+ await resetSessionIfNeeded({
832
+ meta,
833
+ sessionKey,
834
+ gateway: this.gateway,
835
+ opts: this.opts
836
+ });
837
+ const session = this.sessionStore.createSession({
838
+ sessionId,
839
+ sessionKey,
840
+ cwd: params.cwd
841
+ });
842
+ this.log(`newSession: ${session.sessionId} -> ${session.sessionKey}`);
843
+ await this.sendAvailableCommands(session.sessionId);
844
+ return { sessionId: session.sessionId };
845
+ }
846
+ async loadSession(params) {
847
+ if (params.mcpServers.length > 0) this.log(`ignoring ${params.mcpServers.length} MCP servers`);
848
+ if (!this.sessionStore.hasSession(params.sessionId)) this.enforceSessionCreateRateLimit("loadSession");
849
+ const meta = parseSessionMeta(params._meta);
850
+ const sessionKey = await resolveSessionKey({
851
+ meta,
852
+ fallbackKey: params.sessionId,
853
+ gateway: this.gateway,
854
+ opts: this.opts
855
+ });
856
+ await resetSessionIfNeeded({
857
+ meta,
858
+ sessionKey,
859
+ gateway: this.gateway,
860
+ opts: this.opts
861
+ });
862
+ const session = this.sessionStore.createSession({
863
+ sessionId: params.sessionId,
864
+ sessionKey,
865
+ cwd: params.cwd
866
+ });
867
+ this.log(`loadSession: ${session.sessionId} -> ${session.sessionKey}`);
868
+ await this.sendAvailableCommands(session.sessionId);
869
+ return {};
870
+ }
871
+ async unstable_listSessions(params) {
872
+ const limit = readNumber(params._meta, ["limit"]) ?? 100;
873
+ const result = await this.gateway.request("sessions.list", { limit });
874
+ const cwd = params.cwd ?? process.cwd();
875
+ return {
876
+ sessions: result.sessions.map((session) => ({
877
+ sessionId: session.key,
878
+ cwd,
879
+ title: session.displayName ?? session.label ?? session.key,
880
+ updatedAt: session.updatedAt ? new Date(session.updatedAt).toISOString() : void 0,
881
+ _meta: {
882
+ sessionKey: session.key,
883
+ kind: session.kind,
884
+ channel: session.channel
885
+ }
886
+ })),
887
+ nextCursor: null
888
+ };
889
+ }
890
+ async authenticate(_params) {
891
+ return {};
892
+ }
893
+ async setSessionMode(params) {
894
+ const session = this.sessionStore.getSession(params.sessionId);
895
+ if (!session) throw new Error(`Session ${params.sessionId} not found`);
896
+ if (!params.modeId) return {};
897
+ try {
898
+ await this.gateway.request("sessions.patch", { key: session.sessionKey });
899
+ this.log(`setSessionMode: ${session.sessionId} -> ${params.modeId}`);
900
+ } catch (err) {
901
+ this.log(`setSessionMode error: ${String(err)}`);
902
+ }
903
+ return {};
904
+ }
905
+ async prompt(params) {
906
+ const session = this.sessionStore.getSession(params.sessionId);
907
+ if (!session) throw new Error(`Session ${params.sessionId} not found`);
908
+ if (session.abortController) this.sessionStore.cancelActiveRun(params.sessionId);
909
+ const meta = parseSessionMeta(params._meta);
910
+ const userText = extractTextFromPrompt(params.prompt, MAX_PROMPT_BYTES);
911
+ const attachments = extractAttachmentsFromPrompt(params.prompt);
912
+ const prefixCwd = meta.prefixCwd ?? this.opts.prefixCwd ?? true;
913
+ const displayCwd = shortenHomePath(session.cwd);
914
+ const message = prefixCwd ? `[Working directory: ${displayCwd}]\n\n${userText}` : userText;
915
+ if (Buffer.byteLength(message, "utf-8") > MAX_PROMPT_BYTES) throw new Error(`Prompt exceeds maximum allowed size of ${MAX_PROMPT_BYTES} bytes`);
916
+ const abortController = new AbortController();
917
+ const runId = randomUUID();
918
+ this.sessionStore.setActiveRun(params.sessionId, runId, abortController);
919
+ return new Promise((resolve, reject) => {
920
+ this.pendingPrompts.set(params.sessionId, {
921
+ sessionId: params.sessionId,
922
+ sessionKey: session.sessionKey,
923
+ idempotencyKey: runId,
924
+ resolve,
925
+ reject
926
+ });
927
+ this.gateway.request("chat.send", {
928
+ sessionKey: session.sessionKey,
929
+ message,
930
+ attachments: attachments.length > 0 ? attachments : void 0,
931
+ idempotencyKey: runId,
932
+ deliver: readBool(params._meta, ["deliver"]),
933
+ timeoutMs: readNumber(params._meta, ["timeoutMs"])
934
+ }, { expectFinal: true }).catch((err) => {
935
+ this.pendingPrompts.delete(params.sessionId);
936
+ this.sessionStore.clearActiveRun(params.sessionId);
937
+ reject(err instanceof Error ? err : new Error(String(err)));
938
+ });
939
+ });
940
+ }
941
+ async cancel(params) {
942
+ const session = this.sessionStore.getSession(params.sessionId);
943
+ if (!session) return;
944
+ this.sessionStore.cancelActiveRun(params.sessionId);
945
+ try {
946
+ await this.gateway.request("chat.abort", { sessionKey: session.sessionKey });
947
+ } catch (err) {
948
+ this.log(`cancel error: ${String(err)}`);
949
+ }
950
+ const pending = this.pendingPrompts.get(params.sessionId);
951
+ if (pending) {
952
+ this.pendingPrompts.delete(params.sessionId);
953
+ pending.resolve({ stopReason: "cancelled" });
954
+ }
955
+ }
956
+ async handleAgentEvent(evt) {
957
+ const payload = evt.payload;
958
+ if (!payload) return;
959
+ const stream = payload.stream;
960
+ const data = payload.data;
961
+ const sessionKey = payload.sessionKey;
962
+ if (!stream || !data || !sessionKey) return;
963
+ if (stream !== "tool") return;
964
+ const phase = data.phase;
965
+ const name = data.name;
966
+ const toolCallId = data.toolCallId;
967
+ if (!toolCallId) return;
968
+ const pending = this.findPendingBySessionKey(sessionKey);
969
+ if (!pending) return;
970
+ if (phase === "start") {
971
+ if (!pending.toolCalls) pending.toolCalls = /* @__PURE__ */ new Set();
972
+ if (pending.toolCalls.has(toolCallId)) return;
973
+ pending.toolCalls.add(toolCallId);
974
+ const args = data.args;
975
+ await this.connection.sessionUpdate({
976
+ sessionId: pending.sessionId,
977
+ update: {
978
+ sessionUpdate: "tool_call",
979
+ toolCallId,
980
+ title: formatToolTitle(name, args),
981
+ status: "in_progress",
982
+ rawInput: args,
983
+ kind: inferToolKind(name)
984
+ }
985
+ });
986
+ return;
987
+ }
988
+ if (phase === "result") {
989
+ const isError = Boolean(data.isError);
990
+ await this.connection.sessionUpdate({
991
+ sessionId: pending.sessionId,
992
+ update: {
993
+ sessionUpdate: "tool_call_update",
994
+ toolCallId,
995
+ status: isError ? "failed" : "completed",
996
+ rawOutput: data.result
997
+ }
998
+ });
999
+ }
1000
+ }
1001
+ async handleChatEvent(evt) {
1002
+ const payload = evt.payload;
1003
+ if (!payload) return;
1004
+ const sessionKey = payload.sessionKey;
1005
+ const state = payload.state;
1006
+ const runId = payload.runId;
1007
+ const messageData = payload.message;
1008
+ if (!sessionKey || !state) return;
1009
+ const pending = this.findPendingBySessionKey(sessionKey);
1010
+ if (!pending) return;
1011
+ if (runId && pending.idempotencyKey !== runId) return;
1012
+ if (state === "delta" && messageData) {
1013
+ await this.handleDeltaEvent(pending.sessionId, messageData);
1014
+ return;
1015
+ }
1016
+ if (state === "final") {
1017
+ this.finishPrompt(pending.sessionId, pending, "end_turn");
1018
+ return;
1019
+ }
1020
+ if (state === "aborted") {
1021
+ this.finishPrompt(pending.sessionId, pending, "cancelled");
1022
+ return;
1023
+ }
1024
+ if (state === "error") this.finishPrompt(pending.sessionId, pending, "refusal");
1025
+ }
1026
+ async handleDeltaEvent(sessionId, messageData) {
1027
+ const fullText = messageData.content?.find((c) => c.type === "text")?.text ?? "";
1028
+ const pending = this.pendingPrompts.get(sessionId);
1029
+ if (!pending) return;
1030
+ const sentSoFar = pending.sentTextLength ?? 0;
1031
+ if (fullText.length <= sentSoFar) return;
1032
+ const newText = fullText.slice(sentSoFar);
1033
+ pending.sentTextLength = fullText.length;
1034
+ pending.sentText = fullText;
1035
+ await this.connection.sessionUpdate({
1036
+ sessionId,
1037
+ update: {
1038
+ sessionUpdate: "agent_message_chunk",
1039
+ content: {
1040
+ type: "text",
1041
+ text: newText
1042
+ }
1043
+ }
1044
+ });
1045
+ }
1046
+ finishPrompt(sessionId, pending, stopReason) {
1047
+ this.pendingPrompts.delete(sessionId);
1048
+ this.sessionStore.clearActiveRun(sessionId);
1049
+ pending.resolve({ stopReason });
1050
+ }
1051
+ findPendingBySessionKey(sessionKey) {
1052
+ for (const pending of this.pendingPrompts.values()) if (pending.sessionKey === sessionKey) return pending;
1053
+ }
1054
+ async sendAvailableCommands(sessionId) {
1055
+ await this.connection.sessionUpdate({
1056
+ sessionId,
1057
+ update: {
1058
+ sessionUpdate: "available_commands_update",
1059
+ availableCommands: getAvailableCommands()
1060
+ }
1061
+ });
1062
+ }
1063
+ enforceSessionCreateRateLimit(method) {
1064
+ const budget = this.sessionCreateRateLimiter.consume();
1065
+ if (budget.allowed) return;
1066
+ throw new Error(`ACP session creation rate limit exceeded for ${method}; retry after ${Math.ceil(budget.retryAfterMs / 1e3)}s.`);
1067
+ }
1068
+ };
1069
+
1070
+ //#endregion
1071
+ //#region src/acp/server.ts
1072
+ async function serveAcpGateway(opts = {}) {
1073
+ const cfg = loadConfig();
1074
+ const connection = buildGatewayConnectionDetails({
1075
+ config: cfg,
1076
+ url: opts.gatewayUrl
1077
+ });
1078
+ const creds = resolveGatewayCredentialsFromConfig({
1079
+ cfg,
1080
+ env: process.env,
1081
+ explicitAuth: {
1082
+ token: opts.gatewayToken,
1083
+ password: opts.gatewayPassword
1084
+ }
1085
+ });
1086
+ let agent = null;
1087
+ let onClosed;
1088
+ const closed = new Promise((resolve) => {
1089
+ onClosed = resolve;
1090
+ });
1091
+ let stopped = false;
1092
+ let onGatewayReadyResolve;
1093
+ let onGatewayReadyReject;
1094
+ let gatewayReadySettled = false;
1095
+ const gatewayReady = new Promise((resolve, reject) => {
1096
+ onGatewayReadyResolve = resolve;
1097
+ onGatewayReadyReject = reject;
1098
+ });
1099
+ const resolveGatewayReady = () => {
1100
+ if (gatewayReadySettled) return;
1101
+ gatewayReadySettled = true;
1102
+ onGatewayReadyResolve();
1103
+ };
1104
+ const rejectGatewayReady = (err) => {
1105
+ if (gatewayReadySettled) return;
1106
+ gatewayReadySettled = true;
1107
+ onGatewayReadyReject(err instanceof Error ? err : new Error(String(err)));
1108
+ };
1109
+ const gateway = new GatewayClient({
1110
+ url: connection.url,
1111
+ token: creds.token,
1112
+ password: creds.password,
1113
+ clientName: GATEWAY_CLIENT_NAMES.CLI,
1114
+ clientDisplayName: "ACP",
1115
+ clientVersion: "acp",
1116
+ mode: GATEWAY_CLIENT_MODES.CLI,
1117
+ onEvent: (evt) => {
1118
+ agent?.handleGatewayEvent(evt);
1119
+ },
1120
+ onHelloOk: () => {
1121
+ resolveGatewayReady();
1122
+ agent?.handleGatewayReconnect();
1123
+ },
1124
+ onConnectError: (err) => {
1125
+ rejectGatewayReady(err);
1126
+ },
1127
+ onClose: (code, reason) => {
1128
+ if (!stopped) rejectGatewayReady(/* @__PURE__ */ new Error(`gateway closed before ready (${code}): ${reason}`));
1129
+ agent?.handleGatewayDisconnect(`${code}: ${reason}`);
1130
+ if (stopped) onClosed();
1131
+ }
1132
+ });
1133
+ const shutdown = () => {
1134
+ if (stopped) return;
1135
+ stopped = true;
1136
+ resolveGatewayReady();
1137
+ gateway.stop();
1138
+ onClosed();
1139
+ };
1140
+ process.once("SIGINT", shutdown);
1141
+ process.once("SIGTERM", shutdown);
1142
+ gateway.start();
1143
+ await gatewayReady.catch((err) => {
1144
+ shutdown();
1145
+ throw err;
1146
+ });
1147
+ if (stopped) return closed;
1148
+ new AgentSideConnection((conn) => {
1149
+ agent = new AcpGatewayAgent(conn, gateway, opts);
1150
+ agent.start();
1151
+ return agent;
1152
+ }, ndJsonStream(Writable.toWeb(process.stdout), Readable.toWeb(process.stdin)));
1153
+ return closed;
1154
+ }
1155
+ function parseArgs(args) {
1156
+ const opts = {};
1157
+ let tokenFile;
1158
+ let passwordFile;
1159
+ for (let i = 0; i < args.length; i += 1) {
1160
+ const arg = args[i];
1161
+ if (arg === "--url" || arg === "--gateway-url") {
1162
+ opts.gatewayUrl = args[i + 1];
1163
+ i += 1;
1164
+ continue;
1165
+ }
1166
+ if (arg === "--token" || arg === "--gateway-token") {
1167
+ opts.gatewayToken = args[i + 1];
1168
+ i += 1;
1169
+ continue;
1170
+ }
1171
+ if (arg === "--token-file" || arg === "--gateway-token-file") {
1172
+ tokenFile = args[i + 1];
1173
+ i += 1;
1174
+ continue;
1175
+ }
1176
+ if (arg === "--password" || arg === "--gateway-password") {
1177
+ opts.gatewayPassword = args[i + 1];
1178
+ i += 1;
1179
+ continue;
1180
+ }
1181
+ if (arg === "--password-file" || arg === "--gateway-password-file") {
1182
+ passwordFile = args[i + 1];
1183
+ i += 1;
1184
+ continue;
1185
+ }
1186
+ if (arg === "--session") {
1187
+ opts.defaultSessionKey = args[i + 1];
1188
+ i += 1;
1189
+ continue;
1190
+ }
1191
+ if (arg === "--session-label") {
1192
+ opts.defaultSessionLabel = args[i + 1];
1193
+ i += 1;
1194
+ continue;
1195
+ }
1196
+ if (arg === "--require-existing") {
1197
+ opts.requireExistingSession = true;
1198
+ continue;
1199
+ }
1200
+ if (arg === "--reset-session") {
1201
+ opts.resetSession = true;
1202
+ continue;
1203
+ }
1204
+ if (arg === "--no-prefix-cwd") {
1205
+ opts.prefixCwd = false;
1206
+ continue;
1207
+ }
1208
+ if (arg === "--verbose" || arg === "-v") {
1209
+ opts.verbose = true;
1210
+ continue;
1211
+ }
1212
+ if (arg === "--help" || arg === "-h") {
1213
+ printHelp();
1214
+ process.exit(0);
1215
+ }
1216
+ }
1217
+ if (opts.gatewayToken?.trim() && tokenFile?.trim()) throw new Error("Use either --token or --token-file.");
1218
+ if (opts.gatewayPassword?.trim() && passwordFile?.trim()) throw new Error("Use either --password or --password-file.");
1219
+ if (tokenFile?.trim()) opts.gatewayToken = readSecretFromFile(tokenFile, "Gateway token");
1220
+ if (passwordFile?.trim()) opts.gatewayPassword = readSecretFromFile(passwordFile, "Gateway password");
1221
+ return opts;
1222
+ }
1223
+ function printHelp() {
1224
+ console.log(`Usage: remoteclaw acp [options]
1225
+
1226
+ Gateway-backed ACP server for IDE integration.
1227
+
1228
+ Options:
1229
+ --url <url> Gateway WebSocket URL
1230
+ --token <token> Gateway auth token
1231
+ --token-file <path> Read gateway auth token from file
1232
+ --password <password> Gateway auth password
1233
+ --password-file <path> Read gateway auth password from file
1234
+ --session <key> Default session key (e.g. "agent:main:main")
1235
+ --session-label <label> Default session label to resolve
1236
+ --require-existing Fail if the session key/label does not exist
1237
+ --reset-session Reset the session key before first use
1238
+ --no-prefix-cwd Do not prefix prompts with the working directory
1239
+ --verbose, -v Verbose logging to stderr
1240
+ --help, -h Show this help message
1241
+ `);
1242
+ }
1243
+ if (isMainModule({ currentFile: fileURLToPath(import.meta.url) })) {
1244
+ const argv = process.argv.slice(2);
1245
+ if (argv.includes("--token") || argv.includes("--gateway-token")) console.error("Warning: --token can be exposed via process listings. Prefer --token-file or REMOTECLAW_GATEWAY_TOKEN.");
1246
+ if (argv.includes("--password") || argv.includes("--gateway-password")) console.error("Warning: --password can be exposed via process listings. Prefer --password-file or REMOTECLAW_GATEWAY_PASSWORD.");
1247
+ serveAcpGateway(parseArgs(argv)).catch((err) => {
1248
+ console.error(String(err));
1249
+ process.exit(1);
1250
+ });
1251
+ }
1252
+
1253
+ //#endregion
1254
+ //#region src/cli/acp-cli.ts
1255
+ function resolveSecretOption(params) {
1256
+ const direct = params.direct?.trim();
1257
+ const file = params.file?.trim();
1258
+ if (direct && file) throw new Error(`Use either ${params.directFlag} or ${params.fileFlag} for ${params.label}.`);
1259
+ if (file) return readSecretFromFile(file, params.label);
1260
+ return direct || void 0;
1261
+ }
1262
+ function warnSecretCliFlag(flag) {
1263
+ defaultRuntime.error(`Warning: ${flag} can be exposed via process listings. Prefer ${flag}-file or environment variables.`);
1264
+ }
1265
+ function registerAcpCli(program) {
1266
+ const acp = program.command("acp").description("Run an ACP bridge backed by the Gateway");
1267
+ acp.option("--url <url>", "Gateway WebSocket URL (defaults to gateway.remote.url when configured)").option("--token <token>", "Gateway token (if required)").option("--token-file <path>", "Read gateway token from file").option("--password <password>", "Gateway password (if required)").option("--password-file <path>", "Read gateway password from file").option("--session <key>", "Default session key (e.g. agent:main:main)").option("--session-label <label>", "Default session label to resolve").option("--require-existing", "Fail if the session key/label does not exist", false).option("--reset-session", "Reset the session key before first use", false).option("--no-prefix-cwd", "Do not prefix prompts with the working directory", false).option("-v, --verbose", "Verbose logging to stderr", false).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/acp", "docs.remoteclaw.org/cli/acp")}\n`).action(async (opts) => {
1268
+ try {
1269
+ const gatewayToken = resolveSecretOption({
1270
+ direct: opts.token,
1271
+ file: opts.tokenFile,
1272
+ directFlag: "--token",
1273
+ fileFlag: "--token-file",
1274
+ label: "Gateway token"
1275
+ });
1276
+ const gatewayPassword = resolveSecretOption({
1277
+ direct: opts.password,
1278
+ file: opts.passwordFile,
1279
+ directFlag: "--password",
1280
+ fileFlag: "--password-file",
1281
+ label: "Gateway password"
1282
+ });
1283
+ if (opts.token) warnSecretCliFlag("--token");
1284
+ if (opts.password) warnSecretCliFlag("--password");
1285
+ await serveAcpGateway({
1286
+ gatewayUrl: opts.url,
1287
+ gatewayToken,
1288
+ gatewayPassword,
1289
+ defaultSessionKey: opts.session,
1290
+ defaultSessionLabel: opts.sessionLabel,
1291
+ requireExistingSession: Boolean(opts.requireExisting),
1292
+ resetSession: Boolean(opts.resetSession),
1293
+ prefixCwd: !opts.noPrefixCwd,
1294
+ verbose: Boolean(opts.verbose)
1295
+ });
1296
+ } catch (err) {
1297
+ defaultRuntime.error(String(err));
1298
+ defaultRuntime.exit(1);
1299
+ }
1300
+ });
1301
+ acp.command("client").description("Run an interactive ACP client against the local ACP bridge").option("--cwd <dir>", "Working directory for the ACP session").option("--server <command>", "ACP server command (default: remoteclaw)").option("--server-args <args...>", "Extra arguments for the ACP server").option("--server-verbose", "Enable verbose logging on the ACP server", false).option("-v, --verbose", "Verbose client logging", false).action(async (opts, command) => {
1302
+ const inheritedVerbose = inheritOptionFromParent(command, "verbose");
1303
+ try {
1304
+ await runAcpClientInteractive({
1305
+ cwd: opts.cwd,
1306
+ serverCommand: opts.server,
1307
+ serverArgs: opts.serverArgs,
1308
+ serverVerbose: Boolean(opts.serverVerbose),
1309
+ verbose: Boolean(opts.verbose || inheritedVerbose)
1310
+ });
1311
+ } catch (err) {
1312
+ defaultRuntime.error(String(err));
1313
+ defaultRuntime.exit(1);
1314
+ }
1315
+ });
1316
+ }
1317
+
1318
+ //#endregion
1319
+ export { registerAcpCli };