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,1222 @@
1
+ import { Ct as theme, H as CONFIG_DIR, _ as defaultRuntime, ot as shortenHomePath, rt as resolveUserPath } from "./entry.js";
2
+ import { D as LEGACY_MANIFEST_KEYS, K as isPathInside, O as MANIFEST_KEY, i as loadConfig, l as writeConfigFile, q as isPathInsideWithRealpath } from "./config-DfcqHTH-.js";
3
+ import "./host-env-security-axRnIi8d.js";
4
+ import "./shell-env-DBS5su07.js";
5
+ import "./version-3QUZW8EP.js";
6
+ import "./env-vars-CD2_baIP.js";
7
+ import "./zod-schema-C8gEV0uz.js";
8
+ import { c as resolveDefaultAgentId, o as resolveAgentWorkspaceDir } from "./agent-scope-CJW7vnF8.js";
9
+ import "./dock-CpNmmysM.js";
10
+ import "./message-channel-DOyKgFu8.js";
11
+ import "./sessions-DDIoP7Rl.js";
12
+ import "./plugins-DdMgSc_b.js";
13
+ import "./accounts-WYyfAiie.js";
14
+ import "./accounts-DAdUdbPk.js";
15
+ import "./accounts-Bpk-loA6.js";
16
+ import "./bindings-BpL4pISF.js";
17
+ import { t as formatCliCommand } from "./command-format-KkslAzwV.js";
18
+ import "./logging-DJFQvfGD.js";
19
+ import "./targets-Q-YGeAqu.js";
20
+ import "./loader-dEFvmwXu.js";
21
+ import "./chat-envelope-CY1yvCc-.js";
22
+ import "./strip-inbound-meta-DuDjnGjC.js";
23
+ import "./client-BZeatr3g.js";
24
+ import "./call-Ck7ysmEl.js";
25
+ import "./net-Cg8AQeke.js";
26
+ import "./logger-BWMPnILd.js";
27
+ import "./ip-D0zgNmBV.js";
28
+ import "./tailnet-CEudzG0i.js";
29
+ import "./lanes-cHJ5arWg.js";
30
+ import "./subagent-registry-Dhz6HC4Z.js";
31
+ import "./response-prefix-template-DDvbVpx6.js";
32
+ import "./agent-helpers-D83kfcF9.js";
33
+ import "./tool-images-kloBqxqK.js";
34
+ import "./exec-DkFE7lqU.js";
35
+ import "./image-ops-DWytvdh_.js";
36
+ import "./tokens-B-jmvNR9.js";
37
+ import "./reply-yGEQ0UW4.js";
38
+ import "./hook-runner-global-BztoD8lu.js";
39
+ import "./redact-Dx1Fue21.js";
40
+ import "./tool-display-Br6mwaJc.js";
41
+ import "./markdown-tables-DeFSK6aY.js";
42
+ import "./chunk-CrfQ_O--.js";
43
+ import "./media-BD2cZGXT.js";
44
+ import "./render-flG67HhW.js";
45
+ import "./tables-K3rOiGaJ.js";
46
+ import "./fs-safe-BcEpbVjc.js";
47
+ import "./mime-1E7nn9IU.js";
48
+ import "./ssrf-7I3FUHpm.js";
49
+ import "./fetch-CbGTzJ8L.js";
50
+ import "./common-6D7nhDP-.js";
51
+ import "./auth-C-XX0Tdt.js";
52
+ import "./file-lock-BHfqppLm.js";
53
+ import "./commands-kZtQfqDl.js";
54
+ import "./commands-registry-BrBtH2_B.js";
55
+ import "./provider-auth-CfdnLqh3.js";
56
+ import "./audio-B1lTyRqS.js";
57
+ import "./targets-CTNm3bJ8.js";
58
+ import "./pairing-store-Bu9pVlkO.js";
59
+ import "./fetch-B3EQXbTa.js";
60
+ import "./retry-CByUYDAZ.js";
61
+ import "./client-Fi2k2G9Z.js";
62
+ import "./errors-BfONuT95.js";
63
+ import "./channel-activity-DtRx3b0W.js";
64
+ import "./send-BvuxToC8.js";
65
+ import "./session-cost-usage-Dg3dzS0E.js";
66
+ import "./reply-directives-C0-hYyAt.js";
67
+ import "./provider-dispatcher-D4eY8LZW.js";
68
+ import { t as promptYesNo } from "./prompt-C31r0R5I.js";
69
+ import "./store-D_gpBpAW.js";
70
+ import "./reply-prefix-DDgh77yy.js";
71
+ import "./ack-reactions-BnG0DLMu.js";
72
+ import "./resolve-route-B73QhBIl.js";
73
+ import { t as formatDocsLink } from "./links-BFtUmGLH.js";
74
+ import "./preflight-6QRqxWh7.js";
75
+ import "./prompt-style-B1740PBl.js";
76
+ import { c as resolveInstallModeOptions, d as withExtractedArchiveRoot, f as resolveArchiveSourcePath, g as resolveArchiveKind, h as readJsonFile, i as resolveSafeInstallDir, l as resolveTimedInstallModeOptions, m as fileExists, n as finalizeNpmSpecArchiveInstall, o as unscopedPackageName, r as installFromNpmSpecArchiveWithInstaller, s as installPackageDir, t as validateRegistryNpmSpec, u as resolveExistingInstallPath } from "./npm-registry-spec-Dza35Ig4.js";
77
+ import "./send-oCN80Pl2.js";
78
+ import "./send-NcQk6UH1.js";
79
+ import "./send-DBFcxDPm.js";
80
+ import "./proxy-BdjLhNln.js";
81
+ import "./replies-BTC1z8j0.js";
82
+ import "./agent-WaE2mXI1.js";
83
+ import "./channel-selection-Xv5UFxOx.js";
84
+ import "./deliver-CqKw0wFi.js";
85
+ import "./outbound-attachment-DYa1asB5.js";
86
+ import "./delivery-queue-DMeQchpT.js";
87
+ import "./send-DUha0nIz.js";
88
+ import "./onboard-helpers-B-bBSsyR.js";
89
+ import "./pairing-labels-D_pD8Cag.js";
90
+ import { t as renderTable } from "./table-B9zSN_7D.js";
91
+ import { n as hasBinary } from "./config-eval-DU_v_3lY.js";
92
+ import { a as parseFrontmatter, n as isConfigPathTruthy, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-DRYGbrDM.js";
93
+ import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport, t as buildNpmInstallRecordFields } from "./npm-resolution-CUQGDty4.js";
94
+ import path from "node:path";
95
+ import fs from "node:fs";
96
+ import fsp from "node:fs/promises";
97
+
98
+ //#region src/shared/entry-metadata.ts
99
+ function resolveEmojiAndHomepage(params) {
100
+ const emoji = params.metadata?.emoji ?? params.frontmatter?.emoji;
101
+ const homepageRaw = params.metadata?.homepage ?? params.frontmatter?.homepage ?? params.frontmatter?.website ?? params.frontmatter?.url;
102
+ const homepage = homepageRaw?.trim() ? homepageRaw.trim() : void 0;
103
+ return {
104
+ ...emoji ? { emoji } : {},
105
+ ...homepage ? { homepage } : {}
106
+ };
107
+ }
108
+
109
+ //#endregion
110
+ //#region src/shared/requirements.ts
111
+ function resolveMissingBins(params) {
112
+ const remote = params.hasRemoteBin;
113
+ return params.required.filter((bin) => {
114
+ if (params.hasLocalBin(bin)) return false;
115
+ if (remote?.(bin)) return false;
116
+ return true;
117
+ });
118
+ }
119
+ function resolveMissingAnyBins(params) {
120
+ if (params.required.length === 0) return [];
121
+ if (params.required.some((bin) => params.hasLocalBin(bin))) return [];
122
+ if (params.hasRemoteAnyBin?.(params.required)) return [];
123
+ return params.required;
124
+ }
125
+ function resolveMissingOs(params) {
126
+ if (params.required.length === 0) return [];
127
+ if (params.required.includes(params.localPlatform)) return [];
128
+ if (params.remotePlatforms?.some((platform) => params.required.includes(platform))) return [];
129
+ return params.required;
130
+ }
131
+ function resolveMissingEnv(params) {
132
+ const missing = [];
133
+ for (const envName of params.required) {
134
+ if (params.isSatisfied(envName)) continue;
135
+ missing.push(envName);
136
+ }
137
+ return missing;
138
+ }
139
+ function buildConfigChecks(params) {
140
+ return params.required.map((pathStr) => {
141
+ return {
142
+ path: pathStr,
143
+ satisfied: params.isSatisfied(pathStr)
144
+ };
145
+ });
146
+ }
147
+ function evaluateRequirements(params) {
148
+ const missingBins = resolveMissingBins({
149
+ required: params.required.bins,
150
+ hasLocalBin: params.hasLocalBin,
151
+ hasRemoteBin: params.hasRemoteBin
152
+ });
153
+ const missingAnyBins = resolveMissingAnyBins({
154
+ required: params.required.anyBins,
155
+ hasLocalBin: params.hasLocalBin,
156
+ hasRemoteAnyBin: params.hasRemoteAnyBin
157
+ });
158
+ const missingOs = resolveMissingOs({
159
+ required: params.required.os,
160
+ localPlatform: params.localPlatform,
161
+ remotePlatforms: params.remotePlatforms
162
+ });
163
+ const missingEnv = resolveMissingEnv({
164
+ required: params.required.env,
165
+ isSatisfied: params.isEnvSatisfied
166
+ });
167
+ const configChecks = buildConfigChecks({
168
+ required: params.required.config,
169
+ isSatisfied: params.isConfigSatisfied
170
+ });
171
+ const missingConfig = configChecks.filter((check) => !check.satisfied).map((check) => check.path);
172
+ const missing = params.always ? {
173
+ bins: [],
174
+ anyBins: [],
175
+ env: [],
176
+ config: [],
177
+ os: []
178
+ } : {
179
+ bins: missingBins,
180
+ anyBins: missingAnyBins,
181
+ env: missingEnv,
182
+ config: missingConfig,
183
+ os: missingOs
184
+ };
185
+ return {
186
+ missing,
187
+ eligible: params.always || missing.bins.length === 0 && missing.anyBins.length === 0 && missing.env.length === 0 && missing.config.length === 0 && missing.os.length === 0,
188
+ configChecks
189
+ };
190
+ }
191
+ function evaluateRequirementsFromMetadata(params) {
192
+ const required = {
193
+ bins: params.metadata?.requires?.bins ?? [],
194
+ anyBins: params.metadata?.requires?.anyBins ?? [],
195
+ env: params.metadata?.requires?.env ?? [],
196
+ config: params.metadata?.requires?.config ?? [],
197
+ os: params.metadata?.os ?? []
198
+ };
199
+ return {
200
+ required,
201
+ ...evaluateRequirements({
202
+ always: params.always,
203
+ required,
204
+ hasLocalBin: params.hasLocalBin,
205
+ hasRemoteBin: params.hasRemoteBin,
206
+ hasRemoteAnyBin: params.hasRemoteAnyBin,
207
+ localPlatform: params.localPlatform,
208
+ remotePlatforms: params.remotePlatforms,
209
+ isEnvSatisfied: params.isEnvSatisfied,
210
+ isConfigSatisfied: params.isConfigSatisfied
211
+ })
212
+ };
213
+ }
214
+ function evaluateRequirementsFromMetadataWithRemote(params) {
215
+ return evaluateRequirementsFromMetadata({
216
+ always: params.always,
217
+ metadata: params.metadata,
218
+ hasLocalBin: params.hasLocalBin,
219
+ hasRemoteBin: params.remote?.hasBin,
220
+ hasRemoteAnyBin: params.remote?.hasAnyBin,
221
+ localPlatform: params.localPlatform,
222
+ remotePlatforms: params.remote?.platforms,
223
+ isEnvSatisfied: params.isEnvSatisfied,
224
+ isConfigSatisfied: params.isConfigSatisfied
225
+ });
226
+ }
227
+
228
+ //#endregion
229
+ //#region src/shared/entry-status.ts
230
+ function evaluateEntryMetadataRequirements(params) {
231
+ const { emoji, homepage } = resolveEmojiAndHomepage({
232
+ metadata: params.metadata,
233
+ frontmatter: params.frontmatter
234
+ });
235
+ const { required, missing, eligible, configChecks } = evaluateRequirementsFromMetadataWithRemote({
236
+ always: params.always,
237
+ metadata: params.metadata ?? void 0,
238
+ hasLocalBin: params.hasLocalBin,
239
+ localPlatform: params.localPlatform,
240
+ remote: params.remote,
241
+ isEnvSatisfied: params.isEnvSatisfied,
242
+ isConfigSatisfied: params.isConfigSatisfied
243
+ });
244
+ return {
245
+ ...emoji ? { emoji } : {},
246
+ ...homepage ? { homepage } : {},
247
+ required,
248
+ missing,
249
+ requirementsSatisfied: eligible,
250
+ configChecks
251
+ };
252
+ }
253
+ function evaluateEntryMetadataRequirementsForCurrentPlatform(params) {
254
+ return evaluateEntryMetadataRequirements({
255
+ ...params,
256
+ localPlatform: process.platform
257
+ });
258
+ }
259
+ function evaluateEntryRequirementsForCurrentPlatform(params) {
260
+ return evaluateEntryMetadataRequirementsForCurrentPlatform({
261
+ always: params.always,
262
+ metadata: params.entry.metadata,
263
+ frontmatter: params.entry.frontmatter,
264
+ hasLocalBin: params.hasLocalBin,
265
+ remote: params.remote,
266
+ isEnvSatisfied: params.isEnvSatisfied,
267
+ isConfigSatisfied: params.isConfigSatisfied
268
+ });
269
+ }
270
+
271
+ //#endregion
272
+ //#region src/hooks/hooks-status.ts
273
+ function resolveHookKey(entry) {
274
+ return entry.metadata?.hookKey ?? entry.hook.name;
275
+ }
276
+ function normalizeInstallOptions(entry) {
277
+ const install = entry.metadata?.install ?? [];
278
+ if (install.length === 0) return [];
279
+ return install.map((spec, index) => {
280
+ const id = (spec.id ?? `${spec.kind}-${index}`).trim();
281
+ const bins = spec.bins ?? [];
282
+ let label = (spec.label ?? "").trim();
283
+ if (!label) if (spec.kind === "bundled") label = "Bundled with RemoteClaw";
284
+ else if (spec.kind === "npm" && spec.package) label = `Install ${spec.package} (npm)`;
285
+ else if (spec.kind === "git" && spec.repository) label = `Install from ${spec.repository}`;
286
+ else label = "Run installer";
287
+ return {
288
+ id,
289
+ kind: spec.kind,
290
+ label,
291
+ bins
292
+ };
293
+ });
294
+ }
295
+ function buildHookStatus(entry, config, eligibility) {
296
+ const hookKey = resolveHookKey(entry);
297
+ const hookConfig = resolveHookConfig(config, hookKey);
298
+ const managedByPlugin = entry.hook.source === "remoteclaw-plugin";
299
+ const disabled = managedByPlugin ? false : hookConfig?.enabled === false;
300
+ const always = entry.metadata?.always === true;
301
+ const events = entry.metadata?.events ?? [];
302
+ const isEnvSatisfied = (envName) => Boolean(process.env[envName] || hookConfig?.env?.[envName]);
303
+ const isConfigSatisfied = (pathStr) => isConfigPathTruthy(config, pathStr);
304
+ const { emoji, homepage, required, missing, requirementsSatisfied, configChecks } = evaluateEntryRequirementsForCurrentPlatform({
305
+ always,
306
+ entry,
307
+ hasLocalBin: hasBinary,
308
+ remote: eligibility?.remote,
309
+ isEnvSatisfied,
310
+ isConfigSatisfied
311
+ });
312
+ const eligible = !disabled && requirementsSatisfied;
313
+ return {
314
+ name: entry.hook.name,
315
+ description: entry.hook.description,
316
+ source: entry.hook.source,
317
+ pluginId: entry.hook.pluginId,
318
+ filePath: entry.hook.filePath,
319
+ baseDir: entry.hook.baseDir,
320
+ handlerPath: entry.hook.handlerPath,
321
+ hookKey,
322
+ emoji,
323
+ homepage,
324
+ events,
325
+ always,
326
+ disabled,
327
+ eligible,
328
+ managedByPlugin,
329
+ requirements: required,
330
+ missing,
331
+ configChecks,
332
+ install: normalizeInstallOptions(entry)
333
+ };
334
+ }
335
+ function buildWorkspaceHookStatus(workspaceDir, opts) {
336
+ return {
337
+ workspaceDir,
338
+ managedHooksDir: opts?.managedHooksDir ?? path.join(CONFIG_DIR, "hooks"),
339
+ hooks: (opts?.entries ?? loadWorkspaceHookEntries(workspaceDir, opts)).map((entry) => buildHookStatus(entry, opts?.config, opts?.eligibility))
340
+ };
341
+ }
342
+
343
+ //#endregion
344
+ //#region src/hooks/install.ts
345
+ const defaultLogger = {};
346
+ function validateHookId(hookId) {
347
+ if (!hookId) return "invalid hook name: missing";
348
+ if (hookId === "." || hookId === "..") return "invalid hook name: reserved path segment";
349
+ if (hookId.includes("/") || hookId.includes("\\")) return "invalid hook name: path separators not allowed";
350
+ return null;
351
+ }
352
+ function resolveHookInstallDir(hookId, hooksDir) {
353
+ const hooksBase = hooksDir ? resolveUserPath(hooksDir) : path.join(CONFIG_DIR, "hooks");
354
+ const hookIdError = validateHookId(hookId);
355
+ if (hookIdError) throw new Error(hookIdError);
356
+ const targetDirResult = resolveSafeInstallDir({
357
+ baseDir: hooksBase,
358
+ id: hookId,
359
+ invalidNameMessage: "invalid hook name: path traversal detected"
360
+ });
361
+ if (!targetDirResult.ok) throw new Error(targetDirResult.error);
362
+ return targetDirResult.path;
363
+ }
364
+ async function ensureRemoteClawHooks(manifest) {
365
+ let hooks = manifest[MANIFEST_KEY]?.hooks;
366
+ if (!Array.isArray(hooks)) for (const key of LEGACY_MANIFEST_KEYS) {
367
+ const legacy = manifest[key]?.hooks;
368
+ if (Array.isArray(legacy)) {
369
+ hooks = legacy;
370
+ break;
371
+ }
372
+ }
373
+ if (!Array.isArray(hooks)) throw new Error("package.json missing remoteclaw.hooks");
374
+ const list = hooks.map((e) => typeof e === "string" ? e.trim() : "").filter(Boolean);
375
+ if (list.length === 0) throw new Error("package.json remoteclaw.hooks is empty");
376
+ return list;
377
+ }
378
+ async function resolveInstallTargetDir(id, hooksDir) {
379
+ const baseHooksDir = hooksDir ? resolveUserPath(hooksDir) : path.join(CONFIG_DIR, "hooks");
380
+ await fsp.mkdir(baseHooksDir, { recursive: true });
381
+ const targetDirResult = resolveSafeInstallDir({
382
+ baseDir: baseHooksDir,
383
+ id,
384
+ invalidNameMessage: "invalid hook name: path traversal detected"
385
+ });
386
+ if (!targetDirResult.ok) return {
387
+ ok: false,
388
+ error: targetDirResult.error
389
+ };
390
+ return {
391
+ ok: true,
392
+ targetDir: targetDirResult.path
393
+ };
394
+ }
395
+ async function resolveHookNameFromDir(hookDir) {
396
+ const hookMdPath = path.join(hookDir, "HOOK.md");
397
+ if (!await fileExists(hookMdPath)) throw new Error(`HOOK.md missing in ${hookDir}`);
398
+ return parseFrontmatter(await fsp.readFile(hookMdPath, "utf-8")).name || path.basename(hookDir);
399
+ }
400
+ async function validateHookDir(hookDir) {
401
+ if (!await fileExists(path.join(hookDir, "HOOK.md"))) throw new Error(`HOOK.md missing in ${hookDir}`);
402
+ if (!await Promise.all([
403
+ "handler.ts",
404
+ "handler.js",
405
+ "index.ts",
406
+ "index.js"
407
+ ].map(async (candidate) => fileExists(path.join(hookDir, candidate)))).then((results) => results.some(Boolean))) throw new Error(`handler.ts/handler.js/index.ts/index.js missing in ${hookDir}`);
408
+ }
409
+ async function installHookPackageFromDir(params) {
410
+ const { logger, timeoutMs, mode, dryRun } = resolveTimedInstallModeOptions(params, defaultLogger);
411
+ const manifestPath = path.join(params.packageDir, "package.json");
412
+ if (!await fileExists(manifestPath)) return {
413
+ ok: false,
414
+ error: "package.json missing"
415
+ };
416
+ let manifest;
417
+ try {
418
+ manifest = await readJsonFile(manifestPath);
419
+ } catch (err) {
420
+ return {
421
+ ok: false,
422
+ error: `invalid package.json: ${String(err)}`
423
+ };
424
+ }
425
+ let hookEntries;
426
+ try {
427
+ hookEntries = await ensureRemoteClawHooks(manifest);
428
+ } catch (err) {
429
+ return {
430
+ ok: false,
431
+ error: String(err)
432
+ };
433
+ }
434
+ const pkgName = typeof manifest.name === "string" ? manifest.name : "";
435
+ const hookPackId = pkgName ? unscopedPackageName(pkgName) : path.basename(params.packageDir);
436
+ const hookIdError = validateHookId(hookPackId);
437
+ if (hookIdError) return {
438
+ ok: false,
439
+ error: hookIdError
440
+ };
441
+ if (params.expectedHookPackId && params.expectedHookPackId !== hookPackId) return {
442
+ ok: false,
443
+ error: `hook pack id mismatch: expected ${params.expectedHookPackId}, got ${hookPackId}`
444
+ };
445
+ const targetDirResult = await resolveInstallTargetDir(hookPackId, params.hooksDir);
446
+ if (!targetDirResult.ok) return {
447
+ ok: false,
448
+ error: targetDirResult.error
449
+ };
450
+ const targetDir = targetDirResult.targetDir;
451
+ if (mode === "install" && await fileExists(targetDir)) return {
452
+ ok: false,
453
+ error: `hook pack already exists: ${targetDir} (delete it first)`
454
+ };
455
+ const resolvedHooks = [];
456
+ for (const entry of hookEntries) {
457
+ const hookDir = path.resolve(params.packageDir, entry);
458
+ if (!isPathInside(params.packageDir, hookDir)) return {
459
+ ok: false,
460
+ error: `remoteclaw.hooks entry escapes package directory: ${entry}`
461
+ };
462
+ await validateHookDir(hookDir);
463
+ if (!isPathInsideWithRealpath(params.packageDir, hookDir, { requireRealpath: true })) return {
464
+ ok: false,
465
+ error: `remoteclaw.hooks entry resolves outside package directory: ${entry}`
466
+ };
467
+ const hookName = await resolveHookNameFromDir(hookDir);
468
+ resolvedHooks.push(hookName);
469
+ }
470
+ if (dryRun) return {
471
+ ok: true,
472
+ hookPackId,
473
+ hooks: resolvedHooks,
474
+ targetDir,
475
+ version: typeof manifest.version === "string" ? manifest.version : void 0
476
+ };
477
+ const deps = manifest.dependencies ?? {};
478
+ const hasDeps = Object.keys(deps).length > 0;
479
+ const installRes = await installPackageDir({
480
+ sourceDir: params.packageDir,
481
+ targetDir,
482
+ mode,
483
+ timeoutMs,
484
+ logger,
485
+ copyErrorPrefix: "failed to copy hook pack",
486
+ hasDeps,
487
+ depsLogMessage: "Installing hook pack dependencies…"
488
+ });
489
+ if (!installRes.ok) return installRes;
490
+ return {
491
+ ok: true,
492
+ hookPackId,
493
+ hooks: resolvedHooks,
494
+ targetDir,
495
+ version: typeof manifest.version === "string" ? manifest.version : void 0
496
+ };
497
+ }
498
+ async function installHookFromDir(params) {
499
+ const { logger, mode, dryRun } = resolveInstallModeOptions(params, defaultLogger);
500
+ await validateHookDir(params.hookDir);
501
+ const hookName = await resolveHookNameFromDir(params.hookDir);
502
+ const hookIdError = validateHookId(hookName);
503
+ if (hookIdError) return {
504
+ ok: false,
505
+ error: hookIdError
506
+ };
507
+ if (params.expectedHookPackId && params.expectedHookPackId !== hookName) return {
508
+ ok: false,
509
+ error: `hook id mismatch: expected ${params.expectedHookPackId}, got ${hookName}`
510
+ };
511
+ const targetDirResult = await resolveInstallTargetDir(hookName, params.hooksDir);
512
+ if (!targetDirResult.ok) return {
513
+ ok: false,
514
+ error: targetDirResult.error
515
+ };
516
+ const targetDir = targetDirResult.targetDir;
517
+ if (mode === "install" && await fileExists(targetDir)) return {
518
+ ok: false,
519
+ error: `hook already exists: ${targetDir} (delete it first)`
520
+ };
521
+ if (dryRun) return {
522
+ ok: true,
523
+ hookPackId: hookName,
524
+ hooks: [hookName],
525
+ targetDir
526
+ };
527
+ logger.info?.(`Installing to ${targetDir}…`);
528
+ let backupDir = null;
529
+ if (mode === "update" && await fileExists(targetDir)) {
530
+ backupDir = `${targetDir}.backup-${Date.now()}`;
531
+ await fsp.rename(targetDir, backupDir);
532
+ }
533
+ try {
534
+ await fsp.cp(params.hookDir, targetDir, { recursive: true });
535
+ } catch (err) {
536
+ if (backupDir) {
537
+ await fsp.rm(targetDir, {
538
+ recursive: true,
539
+ force: true
540
+ }).catch(() => void 0);
541
+ await fsp.rename(backupDir, targetDir).catch(() => void 0);
542
+ }
543
+ return {
544
+ ok: false,
545
+ error: `failed to copy hook: ${String(err)}`
546
+ };
547
+ }
548
+ if (backupDir) await fsp.rm(backupDir, {
549
+ recursive: true,
550
+ force: true
551
+ }).catch(() => void 0);
552
+ return {
553
+ ok: true,
554
+ hookPackId: hookName,
555
+ hooks: [hookName],
556
+ targetDir
557
+ };
558
+ }
559
+ async function installHooksFromArchive(params) {
560
+ const logger = params.logger ?? defaultLogger;
561
+ const timeoutMs = params.timeoutMs ?? 12e4;
562
+ const archivePathResult = await resolveArchiveSourcePath(params.archivePath);
563
+ if (!archivePathResult.ok) return archivePathResult;
564
+ const archivePath = archivePathResult.path;
565
+ return await withExtractedArchiveRoot({
566
+ archivePath,
567
+ tempDirPrefix: "remoteclaw-hook-",
568
+ timeoutMs,
569
+ logger,
570
+ onExtracted: async (rootDir) => {
571
+ if (await fileExists(path.join(rootDir, "package.json"))) return await installHookPackageFromDir({
572
+ packageDir: rootDir,
573
+ hooksDir: params.hooksDir,
574
+ timeoutMs,
575
+ logger,
576
+ mode: params.mode,
577
+ dryRun: params.dryRun,
578
+ expectedHookPackId: params.expectedHookPackId
579
+ });
580
+ return await installHookFromDir({
581
+ hookDir: rootDir,
582
+ hooksDir: params.hooksDir,
583
+ logger,
584
+ mode: params.mode,
585
+ dryRun: params.dryRun,
586
+ expectedHookPackId: params.expectedHookPackId
587
+ });
588
+ }
589
+ });
590
+ }
591
+ async function installHooksFromNpmSpec(params) {
592
+ const { logger, timeoutMs, mode, dryRun } = resolveTimedInstallModeOptions(params, defaultLogger);
593
+ const expectedHookPackId = params.expectedHookPackId;
594
+ const spec = params.spec.trim();
595
+ const specError = validateRegistryNpmSpec(spec);
596
+ if (specError) return {
597
+ ok: false,
598
+ error: specError
599
+ };
600
+ logger.info?.(`Downloading ${spec}…`);
601
+ return finalizeNpmSpecArchiveInstall(await installFromNpmSpecArchiveWithInstaller({
602
+ tempDirPrefix: "remoteclaw-hook-pack-",
603
+ spec,
604
+ timeoutMs,
605
+ expectedIntegrity: params.expectedIntegrity,
606
+ onIntegrityDrift: params.onIntegrityDrift,
607
+ warn: (message) => {
608
+ logger.warn?.(message);
609
+ },
610
+ installFromArchive: installHooksFromArchive,
611
+ archiveInstallParams: {
612
+ hooksDir: params.hooksDir,
613
+ timeoutMs,
614
+ logger,
615
+ mode,
616
+ dryRun,
617
+ expectedHookPackId
618
+ }
619
+ }));
620
+ }
621
+ async function installHooksFromPath(params) {
622
+ const pathResult = await resolveExistingInstallPath(params.path);
623
+ if (!pathResult.ok) return pathResult;
624
+ const { resolvedPath: resolved, stat } = pathResult;
625
+ if (stat.isDirectory()) {
626
+ if (await fileExists(path.join(resolved, "package.json"))) return await installHookPackageFromDir({
627
+ packageDir: resolved,
628
+ hooksDir: params.hooksDir,
629
+ timeoutMs: params.timeoutMs,
630
+ logger: params.logger,
631
+ mode: params.mode,
632
+ dryRun: params.dryRun,
633
+ expectedHookPackId: params.expectedHookPackId
634
+ });
635
+ return await installHookFromDir({
636
+ hookDir: resolved,
637
+ hooksDir: params.hooksDir,
638
+ logger: params.logger,
639
+ mode: params.mode,
640
+ dryRun: params.dryRun,
641
+ expectedHookPackId: params.expectedHookPackId
642
+ });
643
+ }
644
+ if (!resolveArchiveKind(resolved)) return {
645
+ ok: false,
646
+ error: `unsupported hook file: ${resolved}`
647
+ };
648
+ return await installHooksFromArchive({
649
+ archivePath: resolved,
650
+ hooksDir: params.hooksDir,
651
+ timeoutMs: params.timeoutMs,
652
+ logger: params.logger,
653
+ mode: params.mode,
654
+ dryRun: params.dryRun,
655
+ expectedHookPackId: params.expectedHookPackId
656
+ });
657
+ }
658
+
659
+ //#endregion
660
+ //#region src/hooks/installs.ts
661
+ function recordHookInstall(cfg, update) {
662
+ const { hookId, ...record } = update;
663
+ const installs = {
664
+ ...cfg.hooks?.internal?.installs,
665
+ [hookId]: {
666
+ ...cfg.hooks?.internal?.installs?.[hookId],
667
+ ...record,
668
+ installedAt: record.installedAt ?? (/* @__PURE__ */ new Date()).toISOString()
669
+ }
670
+ };
671
+ return {
672
+ ...cfg,
673
+ hooks: {
674
+ ...cfg.hooks,
675
+ internal: {
676
+ ...cfg.hooks?.internal,
677
+ installs: {
678
+ ...installs,
679
+ [hookId]: installs[hookId]
680
+ }
681
+ }
682
+ }
683
+ };
684
+ }
685
+
686
+ //#endregion
687
+ //#region src/cli/hooks-cli.ts
688
+ function mergeHookEntries(pluginEntries, workspaceEntries) {
689
+ const merged = /* @__PURE__ */ new Map();
690
+ for (const entry of pluginEntries) merged.set(entry.hook.name, entry);
691
+ for (const entry of workspaceEntries) merged.set(entry.hook.name, entry);
692
+ return Array.from(merged.values());
693
+ }
694
+ function buildHooksReport(config) {
695
+ const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
696
+ const workspaceEntries = loadWorkspaceHookEntries(workspaceDir, { config });
697
+ return buildWorkspaceHookStatus(workspaceDir, {
698
+ config,
699
+ entries: mergeHookEntries(buildPluginStatusReport({
700
+ config,
701
+ workspaceDir
702
+ }).hooks.map((hook) => hook.entry), workspaceEntries)
703
+ });
704
+ }
705
+ function resolveHookForToggle(report, hookName, opts) {
706
+ const hook = report.hooks.find((h) => h.name === hookName);
707
+ if (!hook) throw new Error(`Hook "${hookName}" not found`);
708
+ if (hook.managedByPlugin) throw new Error(`Hook "${hookName}" is managed by plugin "${hook.pluginId ?? "unknown"}" and cannot be enabled/disabled.`);
709
+ if (opts?.requireEligible && !hook.eligible) throw new Error(`Hook "${hookName}" is not eligible (missing requirements)`);
710
+ return hook;
711
+ }
712
+ function buildConfigWithHookEnabled(params) {
713
+ const entries = { ...params.config.hooks?.internal?.entries };
714
+ entries[params.hookName] = {
715
+ ...entries[params.hookName],
716
+ enabled: params.enabled
717
+ };
718
+ const internal = {
719
+ ...params.config.hooks?.internal,
720
+ ...params.ensureHooksEnabled ? { enabled: true } : {},
721
+ entries
722
+ };
723
+ return {
724
+ ...params.config,
725
+ hooks: {
726
+ ...params.config.hooks,
727
+ internal
728
+ }
729
+ };
730
+ }
731
+ function formatHookStatus(hook) {
732
+ if (hook.eligible) return theme.success("✓ ready");
733
+ if (hook.disabled) return theme.warn("⏸ disabled");
734
+ return theme.error("✗ missing");
735
+ }
736
+ function formatHookName(hook) {
737
+ return `${hook.emoji ?? "🔗"} ${theme.command(hook.name)}`;
738
+ }
739
+ function formatHookSource(hook) {
740
+ if (!hook.managedByPlugin) return hook.source;
741
+ return `plugin:${hook.pluginId ?? "unknown"}`;
742
+ }
743
+ function formatHookMissingSummary(hook) {
744
+ const missing = [];
745
+ if (hook.missing.bins.length > 0) missing.push(`bins: ${hook.missing.bins.join(", ")}`);
746
+ if (hook.missing.anyBins.length > 0) missing.push(`anyBins: ${hook.missing.anyBins.join(", ")}`);
747
+ if (hook.missing.env.length > 0) missing.push(`env: ${hook.missing.env.join(", ")}`);
748
+ if (hook.missing.config.length > 0) missing.push(`config: ${hook.missing.config.join(", ")}`);
749
+ if (hook.missing.os.length > 0) missing.push(`os: ${hook.missing.os.join(", ")}`);
750
+ return missing.join("; ");
751
+ }
752
+ function exitHooksCliWithError(err) {
753
+ defaultRuntime.error(`${theme.error("Error:")} ${err instanceof Error ? err.message : String(err)}`);
754
+ process.exit(1);
755
+ }
756
+ async function runHooksCliAction(action) {
757
+ try {
758
+ await action();
759
+ } catch (err) {
760
+ exitHooksCliWithError(err);
761
+ }
762
+ }
763
+ function createInstallLogger() {
764
+ return {
765
+ info: (msg) => defaultRuntime.log(msg),
766
+ warn: (msg) => defaultRuntime.log(theme.warn(msg))
767
+ };
768
+ }
769
+ function logGatewayRestartHint() {
770
+ defaultRuntime.log("Restart the gateway to load hooks.");
771
+ }
772
+ function logIntegrityDriftWarning(hookId, drift) {
773
+ const specLabel = drift.resolution.resolvedSpec ?? drift.spec;
774
+ defaultRuntime.log(theme.warn(`Integrity drift detected for "${hookId}" (${specLabel})\nExpected: ${drift.expectedIntegrity}\nActual: ${drift.actualIntegrity}`));
775
+ }
776
+ async function readInstalledPackageVersion(dir) {
777
+ try {
778
+ const raw = await fsp.readFile(path.join(dir, "package.json"), "utf-8");
779
+ const parsed = JSON.parse(raw);
780
+ return typeof parsed.version === "string" ? parsed.version : void 0;
781
+ } catch {
782
+ return;
783
+ }
784
+ }
785
+ function enableInternalHookEntries(config, hookNames) {
786
+ const entries = { ...config.hooks?.internal?.entries };
787
+ for (const hookName of hookNames) entries[hookName] = {
788
+ ...entries[hookName],
789
+ enabled: true
790
+ };
791
+ return {
792
+ ...config,
793
+ hooks: {
794
+ ...config.hooks,
795
+ internal: {
796
+ ...config.hooks?.internal,
797
+ enabled: true,
798
+ entries
799
+ }
800
+ }
801
+ };
802
+ }
803
+ /**
804
+ * Format the hooks list output
805
+ */
806
+ function formatHooksList(report, opts) {
807
+ const hooks = opts.eligible ? report.hooks.filter((h) => h.eligible) : report.hooks;
808
+ if (opts.json) {
809
+ const jsonReport = {
810
+ workspaceDir: report.workspaceDir,
811
+ managedHooksDir: report.managedHooksDir,
812
+ hooks: hooks.map((h) => ({
813
+ name: h.name,
814
+ description: h.description,
815
+ emoji: h.emoji,
816
+ eligible: h.eligible,
817
+ disabled: h.disabled,
818
+ source: h.source,
819
+ pluginId: h.pluginId,
820
+ events: h.events,
821
+ homepage: h.homepage,
822
+ missing: h.missing,
823
+ managedByPlugin: h.managedByPlugin
824
+ }))
825
+ };
826
+ return JSON.stringify(jsonReport, null, 2);
827
+ }
828
+ if (hooks.length === 0) return opts.eligible ? `No eligible hooks found. Run \`${formatCliCommand("remoteclaw hooks list")}\` to see all hooks.` : "No hooks found.";
829
+ const eligible = hooks.filter((h) => h.eligible);
830
+ const tableWidth = Math.max(60, (process.stdout.columns ?? 120) - 1);
831
+ const rows = hooks.map((hook) => {
832
+ const missing = formatHookMissingSummary(hook);
833
+ return {
834
+ Status: formatHookStatus(hook),
835
+ Hook: formatHookName(hook),
836
+ Description: theme.muted(hook.description),
837
+ Source: formatHookSource(hook),
838
+ Missing: missing ? theme.warn(missing) : ""
839
+ };
840
+ });
841
+ const columns = [
842
+ {
843
+ key: "Status",
844
+ header: "Status",
845
+ minWidth: 10
846
+ },
847
+ {
848
+ key: "Hook",
849
+ header: "Hook",
850
+ minWidth: 18,
851
+ flex: true
852
+ },
853
+ {
854
+ key: "Description",
855
+ header: "Description",
856
+ minWidth: 24,
857
+ flex: true
858
+ },
859
+ {
860
+ key: "Source",
861
+ header: "Source",
862
+ minWidth: 12,
863
+ flex: true
864
+ }
865
+ ];
866
+ if (opts.verbose) columns.push({
867
+ key: "Missing",
868
+ header: "Missing",
869
+ minWidth: 18,
870
+ flex: true
871
+ });
872
+ const lines = [];
873
+ lines.push(`${theme.heading("Hooks")} ${theme.muted(`(${eligible.length}/${hooks.length} ready)`)}`);
874
+ lines.push(renderTable({
875
+ width: tableWidth,
876
+ columns,
877
+ rows
878
+ }).trimEnd());
879
+ return lines.join("\n");
880
+ }
881
+ /**
882
+ * Format detailed info for a single hook
883
+ */
884
+ function formatHookInfo(report, hookName, opts) {
885
+ const hook = report.hooks.find((h) => h.name === hookName || h.hookKey === hookName);
886
+ if (!hook) {
887
+ if (opts.json) return JSON.stringify({
888
+ error: "not found",
889
+ hook: hookName
890
+ }, null, 2);
891
+ return `Hook "${hookName}" not found. Run \`${formatCliCommand("remoteclaw hooks list")}\` to see available hooks.`;
892
+ }
893
+ if (opts.json) return JSON.stringify(hook, null, 2);
894
+ const lines = [];
895
+ const emoji = hook.emoji ?? "🔗";
896
+ const status = hook.eligible ? theme.success("✓ Ready") : hook.disabled ? theme.warn("⏸ Disabled") : theme.error("✗ Missing requirements");
897
+ lines.push(`${emoji} ${theme.heading(hook.name)} ${status}`);
898
+ lines.push("");
899
+ lines.push(hook.description);
900
+ lines.push("");
901
+ lines.push(theme.heading("Details:"));
902
+ if (hook.managedByPlugin) lines.push(`${theme.muted(" Source:")} ${hook.source} (${hook.pluginId ?? "unknown"})`);
903
+ else lines.push(`${theme.muted(" Source:")} ${hook.source}`);
904
+ lines.push(`${theme.muted(" Path:")} ${shortenHomePath(hook.filePath)}`);
905
+ lines.push(`${theme.muted(" Handler:")} ${shortenHomePath(hook.handlerPath)}`);
906
+ if (hook.homepage) lines.push(`${theme.muted(" Homepage:")} ${hook.homepage}`);
907
+ if (hook.events.length > 0) lines.push(`${theme.muted(" Events:")} ${hook.events.join(", ")}`);
908
+ if (hook.managedByPlugin) lines.push(theme.muted(" Managed by plugin; enable/disable via hooks CLI not available."));
909
+ if (hook.requirements.bins.length > 0 || hook.requirements.anyBins.length > 0 || hook.requirements.env.length > 0 || hook.requirements.config.length > 0 || hook.requirements.os.length > 0) {
910
+ lines.push("");
911
+ lines.push(theme.heading("Requirements:"));
912
+ if (hook.requirements.bins.length > 0) {
913
+ const binsStatus = hook.requirements.bins.map((bin) => {
914
+ return hook.missing.bins.includes(bin) ? theme.error(`✗ ${bin}`) : theme.success(`✓ ${bin}`);
915
+ });
916
+ lines.push(`${theme.muted(" Binaries:")} ${binsStatus.join(", ")}`);
917
+ }
918
+ if (hook.requirements.anyBins.length > 0) {
919
+ const anyBinsStatus = hook.missing.anyBins.length > 0 ? theme.error(`✗ (any of: ${hook.requirements.anyBins.join(", ")})`) : theme.success(`✓ (any of: ${hook.requirements.anyBins.join(", ")})`);
920
+ lines.push(`${theme.muted(" Any binary:")} ${anyBinsStatus}`);
921
+ }
922
+ if (hook.requirements.env.length > 0) {
923
+ const envStatus = hook.requirements.env.map((env) => {
924
+ return hook.missing.env.includes(env) ? theme.error(`✗ ${env}`) : theme.success(`✓ ${env}`);
925
+ });
926
+ lines.push(`${theme.muted(" Environment:")} ${envStatus.join(", ")}`);
927
+ }
928
+ if (hook.requirements.config.length > 0) {
929
+ const configStatus = hook.configChecks.map((check) => {
930
+ return check.satisfied ? theme.success(`✓ ${check.path}`) : theme.error(`✗ ${check.path}`);
931
+ });
932
+ lines.push(`${theme.muted(" Config:")} ${configStatus.join(", ")}`);
933
+ }
934
+ if (hook.requirements.os.length > 0) {
935
+ const osStatus = hook.missing.os.length > 0 ? theme.error(`✗ (${hook.requirements.os.join(", ")})`) : theme.success(`✓ (${hook.requirements.os.join(", ")})`);
936
+ lines.push(`${theme.muted(" OS:")} ${osStatus}`);
937
+ }
938
+ }
939
+ return lines.join("\n");
940
+ }
941
+ /**
942
+ * Format check output
943
+ */
944
+ function formatHooksCheck(report, opts) {
945
+ if (opts.json) {
946
+ const eligible = report.hooks.filter((h) => h.eligible);
947
+ const notEligible = report.hooks.filter((h) => !h.eligible);
948
+ return JSON.stringify({
949
+ total: report.hooks.length,
950
+ eligible: eligible.length,
951
+ notEligible: notEligible.length,
952
+ hooks: {
953
+ eligible: eligible.map((h) => h.name),
954
+ notEligible: notEligible.map((h) => ({
955
+ name: h.name,
956
+ missing: h.missing
957
+ }))
958
+ }
959
+ }, null, 2);
960
+ }
961
+ const eligible = report.hooks.filter((h) => h.eligible);
962
+ const notEligible = report.hooks.filter((h) => !h.eligible);
963
+ const lines = [];
964
+ lines.push(theme.heading("Hooks Status"));
965
+ lines.push("");
966
+ lines.push(`${theme.muted("Total hooks:")} ${report.hooks.length}`);
967
+ lines.push(`${theme.success("Ready:")} ${eligible.length}`);
968
+ lines.push(`${theme.warn("Not ready:")} ${notEligible.length}`);
969
+ if (notEligible.length > 0) {
970
+ lines.push("");
971
+ lines.push(theme.heading("Hooks not ready:"));
972
+ for (const hook of notEligible) {
973
+ const reasons = [];
974
+ if (hook.disabled) reasons.push("disabled");
975
+ if (hook.missing.bins.length > 0) reasons.push(`bins: ${hook.missing.bins.join(", ")}`);
976
+ if (hook.missing.anyBins.length > 0) reasons.push(`anyBins: ${hook.missing.anyBins.join(", ")}`);
977
+ if (hook.missing.env.length > 0) reasons.push(`env: ${hook.missing.env.join(", ")}`);
978
+ if (hook.missing.config.length > 0) reasons.push(`config: ${hook.missing.config.join(", ")}`);
979
+ if (hook.missing.os.length > 0) reasons.push(`os: ${hook.missing.os.join(", ")}`);
980
+ lines.push(` ${hook.emoji ?? "🔗"} ${hook.name} - ${reasons.join("; ")}`);
981
+ }
982
+ }
983
+ return lines.join("\n");
984
+ }
985
+ async function enableHook(hookName) {
986
+ const config = loadConfig();
987
+ const hook = resolveHookForToggle(buildHooksReport(config), hookName, { requireEligible: true });
988
+ await writeConfigFile(buildConfigWithHookEnabled({
989
+ config,
990
+ hookName,
991
+ enabled: true,
992
+ ensureHooksEnabled: true
993
+ }));
994
+ defaultRuntime.log(`${theme.success("✓")} Enabled hook: ${hook.emoji ?? "🔗"} ${theme.command(hookName)}`);
995
+ }
996
+ async function disableHook(hookName) {
997
+ const config = loadConfig();
998
+ const hook = resolveHookForToggle(buildHooksReport(config), hookName);
999
+ await writeConfigFile(buildConfigWithHookEnabled({
1000
+ config,
1001
+ hookName,
1002
+ enabled: false
1003
+ }));
1004
+ defaultRuntime.log(`${theme.warn("⏸")} Disabled hook: ${hook.emoji ?? "🔗"} ${theme.command(hookName)}`);
1005
+ }
1006
+ function registerHooksCli(program) {
1007
+ const hooks = program.command("hooks").description("Manage internal agent hooks").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/hooks", "docs.remoteclaw.org/cli/hooks")}\n`);
1008
+ hooks.command("list").description("List all hooks").option("--eligible", "Show only eligible hooks", false).option("--json", "Output as JSON", false).option("-v, --verbose", "Show more details including missing requirements", false).action(async (opts) => runHooksCliAction(async () => {
1009
+ const report = buildHooksReport(loadConfig());
1010
+ defaultRuntime.log(formatHooksList(report, opts));
1011
+ }));
1012
+ hooks.command("info <name>").description("Show detailed information about a hook").option("--json", "Output as JSON", false).action(async (name, opts) => runHooksCliAction(async () => {
1013
+ const report = buildHooksReport(loadConfig());
1014
+ defaultRuntime.log(formatHookInfo(report, name, opts));
1015
+ }));
1016
+ hooks.command("check").description("Check hooks eligibility status").option("--json", "Output as JSON", false).action(async (opts) => runHooksCliAction(async () => {
1017
+ const report = buildHooksReport(loadConfig());
1018
+ defaultRuntime.log(formatHooksCheck(report, opts));
1019
+ }));
1020
+ hooks.command("enable <name>").description("Enable a hook").action(async (name) => runHooksCliAction(async () => {
1021
+ await enableHook(name);
1022
+ }));
1023
+ hooks.command("disable <name>").description("Disable a hook").action(async (name) => runHooksCliAction(async () => {
1024
+ await disableHook(name);
1025
+ }));
1026
+ hooks.command("install").description("Install a hook pack (path, archive, or npm spec)").argument("<path-or-spec>", "Path to a hook pack or npm package spec").option("-l, --link", "Link a local path instead of copying", false).option("--pin", "Record npm installs as exact resolved <name>@<version>", false).action(async (raw, opts) => {
1027
+ const resolved = resolveUserPath(raw);
1028
+ const cfg = loadConfig();
1029
+ if (fs.existsSync(resolved)) {
1030
+ if (opts.link) {
1031
+ if (!fs.statSync(resolved).isDirectory()) {
1032
+ defaultRuntime.error("Linked hook paths must be directories.");
1033
+ process.exit(1);
1034
+ }
1035
+ const existing = cfg.hooks?.internal?.load?.extraDirs ?? [];
1036
+ const merged = Array.from(new Set([...existing, resolved]));
1037
+ const probe = await installHooksFromPath({
1038
+ path: resolved,
1039
+ dryRun: true
1040
+ });
1041
+ if (!probe.ok) {
1042
+ defaultRuntime.error(probe.error);
1043
+ process.exit(1);
1044
+ }
1045
+ let next = {
1046
+ ...cfg,
1047
+ hooks: {
1048
+ ...cfg.hooks,
1049
+ internal: {
1050
+ ...cfg.hooks?.internal,
1051
+ enabled: true,
1052
+ load: {
1053
+ ...cfg.hooks?.internal?.load,
1054
+ extraDirs: merged
1055
+ }
1056
+ }
1057
+ }
1058
+ };
1059
+ next = enableInternalHookEntries(next, probe.hooks);
1060
+ next = recordHookInstall(next, {
1061
+ hookId: probe.hookPackId,
1062
+ source: "path",
1063
+ sourcePath: resolved,
1064
+ installPath: resolved,
1065
+ version: probe.version,
1066
+ hooks: probe.hooks
1067
+ });
1068
+ await writeConfigFile(next);
1069
+ defaultRuntime.log(`Linked hook path: ${shortenHomePath(resolved)}`);
1070
+ logGatewayRestartHint();
1071
+ return;
1072
+ }
1073
+ const result = await installHooksFromPath({
1074
+ path: resolved,
1075
+ logger: createInstallLogger()
1076
+ });
1077
+ if (!result.ok) {
1078
+ defaultRuntime.error(result.error);
1079
+ process.exit(1);
1080
+ }
1081
+ let next = enableInternalHookEntries(cfg, result.hooks);
1082
+ const source = resolveArchiveKind(resolved) ? "archive" : "path";
1083
+ next = recordHookInstall(next, {
1084
+ hookId: result.hookPackId,
1085
+ source,
1086
+ sourcePath: resolved,
1087
+ installPath: result.targetDir,
1088
+ version: result.version,
1089
+ hooks: result.hooks
1090
+ });
1091
+ await writeConfigFile(next);
1092
+ defaultRuntime.log(`Installed hooks: ${result.hooks.join(", ")}`);
1093
+ logGatewayRestartHint();
1094
+ return;
1095
+ }
1096
+ if (opts.link) {
1097
+ defaultRuntime.error("`--link` requires a local path.");
1098
+ process.exit(1);
1099
+ }
1100
+ if (raw.startsWith(".") || raw.startsWith("~") || path.isAbsolute(raw) || raw.endsWith(".zip") || raw.endsWith(".tgz") || raw.endsWith(".tar.gz") || raw.endsWith(".tar")) {
1101
+ defaultRuntime.error(`Path not found: ${resolved}`);
1102
+ process.exit(1);
1103
+ }
1104
+ const result = await installHooksFromNpmSpec({
1105
+ spec: raw,
1106
+ logger: createInstallLogger()
1107
+ });
1108
+ if (!result.ok) {
1109
+ defaultRuntime.error(result.error);
1110
+ process.exit(1);
1111
+ }
1112
+ let next = enableInternalHookEntries(cfg, result.hooks);
1113
+ const installRecord = resolvePinnedNpmInstallRecordForCli(raw, Boolean(opts.pin), result.targetDir, result.version, result.npmResolution, defaultRuntime.log, theme.warn);
1114
+ next = recordHookInstall(next, {
1115
+ hookId: result.hookPackId,
1116
+ ...installRecord,
1117
+ hooks: result.hooks
1118
+ });
1119
+ await writeConfigFile(next);
1120
+ defaultRuntime.log(`Installed hooks: ${result.hooks.join(", ")}`);
1121
+ logGatewayRestartHint();
1122
+ });
1123
+ hooks.command("update").description("Update installed hooks (npm installs only)").argument("[id]", "Hook pack id (omit with --all)").option("--all", "Update all tracked hooks", false).option("--dry-run", "Show what would change without writing", false).action(async (id, opts) => {
1124
+ const cfg = loadConfig();
1125
+ const installs = cfg.hooks?.internal?.installs ?? {};
1126
+ const targets = opts.all ? Object.keys(installs) : id ? [id] : [];
1127
+ if (targets.length === 0) {
1128
+ defaultRuntime.error("Provide a hook id or use --all.");
1129
+ process.exit(1);
1130
+ }
1131
+ let nextCfg = cfg;
1132
+ let updatedCount = 0;
1133
+ for (const hookId of targets) {
1134
+ const record = installs[hookId];
1135
+ if (!record) {
1136
+ defaultRuntime.log(theme.warn(`No install record for "${hookId}".`));
1137
+ continue;
1138
+ }
1139
+ if (record.source !== "npm") {
1140
+ defaultRuntime.log(theme.warn(`Skipping "${hookId}" (source: ${record.source}).`));
1141
+ continue;
1142
+ }
1143
+ if (!record.spec) {
1144
+ defaultRuntime.log(theme.warn(`Skipping "${hookId}" (missing npm spec).`));
1145
+ continue;
1146
+ }
1147
+ let installPath;
1148
+ try {
1149
+ installPath = record.installPath ?? resolveHookInstallDir(hookId);
1150
+ } catch (err) {
1151
+ defaultRuntime.log(theme.error(`Invalid install path for "${hookId}": ${String(err)}`));
1152
+ continue;
1153
+ }
1154
+ const currentVersion = await readInstalledPackageVersion(installPath);
1155
+ if (opts.dryRun) {
1156
+ const probe = await installHooksFromNpmSpec({
1157
+ spec: record.spec,
1158
+ mode: "update",
1159
+ dryRun: true,
1160
+ expectedHookPackId: hookId,
1161
+ expectedIntegrity: record.integrity,
1162
+ onIntegrityDrift: async (drift) => {
1163
+ logIntegrityDriftWarning(hookId, drift);
1164
+ return true;
1165
+ },
1166
+ logger: createInstallLogger()
1167
+ });
1168
+ if (!probe.ok) {
1169
+ defaultRuntime.log(theme.error(`Failed to check ${hookId}: ${probe.error}`));
1170
+ continue;
1171
+ }
1172
+ const nextVersion = probe.version ?? "unknown";
1173
+ const currentLabel = currentVersion ?? "unknown";
1174
+ if (currentVersion && probe.version && currentVersion === probe.version) defaultRuntime.log(`${hookId} is up to date (${currentLabel}).`);
1175
+ else defaultRuntime.log(`Would update ${hookId}: ${currentLabel} → ${nextVersion}.`);
1176
+ continue;
1177
+ }
1178
+ const result = await installHooksFromNpmSpec({
1179
+ spec: record.spec,
1180
+ mode: "update",
1181
+ expectedHookPackId: hookId,
1182
+ expectedIntegrity: record.integrity,
1183
+ onIntegrityDrift: async (drift) => {
1184
+ logIntegrityDriftWarning(hookId, drift);
1185
+ return await promptYesNo(`Continue updating "${hookId}" with this artifact?`);
1186
+ },
1187
+ logger: createInstallLogger()
1188
+ });
1189
+ if (!result.ok) {
1190
+ defaultRuntime.log(theme.error(`Failed to update ${hookId}: ${result.error}`));
1191
+ continue;
1192
+ }
1193
+ const nextVersion = result.version ?? await readInstalledPackageVersion(result.targetDir);
1194
+ nextCfg = recordHookInstall(nextCfg, {
1195
+ hookId,
1196
+ ...buildNpmInstallRecordFields({
1197
+ spec: record.spec,
1198
+ installPath: result.targetDir,
1199
+ version: nextVersion,
1200
+ resolution: result.npmResolution
1201
+ }),
1202
+ hooks: result.hooks
1203
+ });
1204
+ updatedCount += 1;
1205
+ const currentLabel = currentVersion ?? "unknown";
1206
+ const nextLabel = nextVersion ?? "unknown";
1207
+ if (currentVersion && nextVersion && currentVersion === nextVersion) defaultRuntime.log(`${hookId} already at ${currentLabel}.`);
1208
+ else defaultRuntime.log(`Updated ${hookId}: ${currentLabel} → ${nextLabel}.`);
1209
+ }
1210
+ if (updatedCount > 0) {
1211
+ await writeConfigFile(nextCfg);
1212
+ logGatewayRestartHint();
1213
+ }
1214
+ });
1215
+ hooks.action(async () => runHooksCliAction(async () => {
1216
+ const report = buildHooksReport(loadConfig());
1217
+ defaultRuntime.log(formatHooksList(report, {}));
1218
+ }));
1219
+ }
1220
+
1221
+ //#endregion
1222
+ export { registerHooksCli };