@visorcraft/idlehands 4.0.17 → 4.0.19

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 (411) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{accounts-DsVN0UNw.js → accounts-3HS_UAhJ.js} +1 -1
  3. package/dist/{accounts-D-hQsUw-.js → accounts-DLTODa_Z.js} +1 -1
  4. package/dist/{accounts-D87a1Y_K.js → accounts-DgbTKQoW.js} +1 -1
  5. package/dist/{acp-cli-COix-boa.js → acp-cli-B3uwVAGD.js} +2 -2
  6. package/dist/{acp-cli-D52jj29o.js → acp-cli-BEpWQbqb.js} +7 -7
  7. package/dist/{agent-scope-Bn39ugK4.js → agent-scope-RA0zXRpu.js} +18 -18
  8. package/dist/{agent-via-gateway-BVY7w5-N.js → agent-via-gateway-B03q92bw.js} +3 -2
  9. package/dist/{agent-via-gateway-DSZK5iRF.js → agent-via-gateway-B2Z_k_od.js} +8 -7
  10. package/dist/{agent-via-gateway-BDWomN2t.js → agent-via-gateway-CUQG6kii.js} +5 -4
  11. package/dist/{agent-via-gateway-BlRwv6D6.js → agent-via-gateway-Cn3iNSod.js} +3 -2
  12. package/dist/{agents-BLa67Gdv.js → agents-DdTECKDf.js} +5 -5
  13. package/dist/{agents.config-CyEkgCQE.js → agents.config-CHtoYxr6.js} +2 -2
  14. package/dist/{agents.config-ADCeu0yD.js → agents.config-D2EbQiOx.js} +1 -1
  15. package/dist/{anton-CZ5moxh6.js → anton-D4vpCj_q.js} +47 -10
  16. package/dist/{anton-llLwn1lp.js → anton-DsmttQbC.js} +47 -10
  17. package/dist/{anton-D-0SP_5T.js → anton-hH1PyE2C.js} +47 -10
  18. package/dist/anton-x7f6kIFP.js +777 -0
  19. package/dist/{api-key-rotation-nXQVJErE.js → api-key-rotation-B-FTJm5p.js} +1 -1
  20. package/dist/{audio-preflight-CW8IH1lU.js → audio-preflight-BSlR2jEq.js} +4 -4
  21. package/dist/{audio-preflight-DzjXupNO.js → audio-preflight-Dl1TO10w.js} +31 -31
  22. package/dist/{audit-Bkd4fvVb.js → audit-C9PrbHng.js} +2 -2
  23. package/dist/{audit-D12wg2tV.js → audit-CKeZnjft.js} +22 -22
  24. package/dist/{auth-choice-BDndThZZ.js → auth-choice-D12Wsf7w.js} +12 -12
  25. package/dist/{auth-choice-CqbTnCYz.js → auth-choice-DRR52LJT.js} +10 -10
  26. package/dist/{auth-choice-01ELTnLA.js → auth-choice-DVoPuwEs.js} +2 -2
  27. package/dist/{auth-choice.apply-helpers-pTqMTYmi.js → auth-choice.apply-helpers-CGcniL1T.js} +1 -1
  28. package/dist/{auth-store-CMyrmmSF.js → auth-store-DDzIMy8_.js} +7 -7
  29. package/dist/{auth-token-fKt_cHOj.js → auth-token-BJq87X3o.js} +1 -1
  30. package/dist/{banner-Dv_eAAWw.js → banner-CFKoGAzN.js} +1 -1
  31. package/dist/{bindings-DZjkLUU_.js → bindings-B59Q7nsk.js} +1 -1
  32. package/dist/{browser-cli-Ddh5zEZN.js → browser-cli-Brb82I5e.js} +3 -3
  33. package/dist/{browser-cli-Da-0lyq2.js → browser-cli-Ci6DpTnS.js} +11 -11
  34. package/dist/build-info.json +3 -3
  35. package/dist/bundled/boot-md/handler.js +7 -7
  36. package/dist/bundled/session-memory/handler.js +7 -7
  37. package/dist/{call-DnTBT02D.js → call-BpWhjuOg.js} +9 -9
  38. package/dist/{call-DuNslqj2.js → call-C82rD2Wn.js} +1 -1
  39. package/dist/{channel-account-context-B4nJPU2N.js → channel-account-context-CDbY5AIr.js} +5 -5
  40. package/dist/{channel-options-BvOLgXCF.js → channel-options-B4oF7_V2.js} +3 -3
  41. package/dist/{channel-options-BilcK806.js → channel-options-BU0E7BdU.js} +1 -1
  42. package/dist/{channel-selection-3jUl-PyW.js → channel-selection-ZxRkxpuF.js} +1 -1
  43. package/dist/{channel-web-B1IazKKL.js → channel-web-0icuasR6.js} +22 -22
  44. package/dist/{channel-web-BptLTwvg.js → channel-web-BDytDCrG.js} +2 -2
  45. package/dist/{channels-cli-FssbSykQ.js → channels-cli-B2w32z11.js} +88 -88
  46. package/dist/{channels-cli-DejBZZ85.js → channels-cli-DWaQsKP8.js} +10 -10
  47. package/dist/{channels-status-issues-hgASw9UA.js → channels-status-issues-CDpWjdI3.js} +1 -1
  48. package/dist/{chrome-YguTEaLx.js → chrome-VBsQfIrt.js} +2 -2
  49. package/dist/{chrome-BcJB6PcM.js → chrome-_2tzVjVl.js} +9 -9
  50. package/dist/{clawbot-cli-C5cDal-5.js → clawbot-cli-uFgYrysW.js} +5 -5
  51. package/dist/cli/daemon-cli.js +1 -1
  52. package/dist/{cli-BrQZTuUX.js → cli-BVw2ja-q.js} +70 -70
  53. package/dist/{cli-j1A8WKSj.js → cli-Hplv9sD1.js} +5 -5
  54. package/dist/{client-DIckPnsi.js → client-DtnD-ee9.js} +2 -1
  55. package/dist/{client-Brv1GCwX.js → client-udFMSDes.js} +1 -0
  56. package/dist/{command-registry-DZZAmcbA.js → command-registry-CWDCVzZv.js} +11 -11
  57. package/dist/{commands-D3BU_t7G.js → commands-Dj5LalLo.js} +1 -1
  58. package/dist/{commands-registry-Cj4D_1tw.js → commands-registry-CURlRZQJ.js} +3 -3
  59. package/dist/{completion-cli-Cxvf8clb.js → completion-cli-CjERsZ27.js} +2 -2
  60. package/dist/{completion-cli-ktxbWAiG.js → completion-cli-f5M3WVf8.js} +12 -12
  61. package/dist/{config-cli-CogA71uD.js → config-cli-B2gc8CV1.js} +6 -6
  62. package/dist/{config-cli-Bq_MWzp9.js → config-cli-Bt7n6ZJS.js} +1 -1
  63. package/dist/{config-guard-DnAyuF6T.js → config-guard-BdsOumqh.js} +17 -17
  64. package/dist/{config-validation-DIomLMwH.js → config-validation-BvKX6fPw.js} +2 -2
  65. package/dist/{configure-CZUn--aN.js → configure-BXsptBk3.js} +16 -16
  66. package/dist/{configure-CPDGJFyt.js → configure-CKspMrI1.js} +6 -6
  67. package/dist/{control-ui-assets-CiaCDBvZ.js → control-ui-assets-C7ZpN9hN.js} +1 -1
  68. package/dist/{cron-cli-B8uqoogS.js → cron-cli-DQsnGQKs.js} +12 -12
  69. package/dist/{cron-cli-D4DXiD1C.js → cron-cli-DXZzPHDQ.js} +3 -3
  70. package/dist/{daemon-cli-yC6gq-yv.js → daemon-cli-DOG5Mivy.js} +2 -2
  71. package/dist/{daemon-cli-CMBNTpSS.js → daemon-cli-DUg-s4LG.js} +11 -11
  72. package/dist/daemon-cli.js +1 -0
  73. package/dist/{daemon-install-DeqQiAad.js → daemon-install-CYPo4M1M.js} +4 -4
  74. package/dist/{daemon-install-helpers-Bug_GYuy.js → daemon-install-helpers-BZY9-jNW.js} +9 -9
  75. package/dist/{deliver-yTpXc5sv.js → deliver--kttnrER.js} +7 -7
  76. package/dist/{deliver-BUiQ-9fE.js → deliver-CVTXl0Cv.js} +1 -1
  77. package/dist/{deps-B_5kPH1Q.js → deps-BAMUVAdU.js} +1 -1
  78. package/dist/{deps-PAzfFs3Q.js → deps-BbipxGPW.js} +1 -1
  79. package/dist/{deps-BUUwigzc.js → deps-CjWcQwlX.js} +1 -1
  80. package/dist/{deps-CH8f3TJK.js → deps-CwPrf7RC.js} +6 -6
  81. package/dist/{devices-cli-DVLF8Yvw.js → devices-cli-DKK65S9Z.js} +7 -7
  82. package/dist/{devices-cli-Ck6s9sQQ.js → devices-cli-aiEJxYcN.js} +2 -2
  83. package/dist/{diagnostics-CdUgLS0N.js → diagnostics-DmZbQ8Nc.js} +5 -5
  84. package/dist/{directory-cli-BAMS8f9U.js → directory-cli-Dz9iXeut.js} +9 -9
  85. package/dist/{dns-cli-BdxBk-k_.js → dns-cli-DD6hWsdc.js} +4 -4
  86. package/dist/{dock-CzF5XYGd.js → dock-Y96MzKuM.js} +4 -4
  87. package/dist/{docs-cli-SF7es4Zs.js → docs-cli-cHkrTB2e.js} +4 -4
  88. package/dist/{doctor-completion-iWmUY3B4.js → doctor-completion-C2-SDBd6.js} +2 -2
  89. package/dist/{doctor-completion-i04j1TGW.js → doctor-completion-DB151YdP.js} +1 -1
  90. package/dist/{doctor-config-flow-8qXzBx09.js → doctor-config-flow-Ck4oCjfl.js} +14 -14
  91. package/dist/{emergency-stop-tKLAiFAG.js → emergency-stop-BldYLJq7.js} +7 -7
  92. package/dist/{emergency-stop-DAmKucxm.js → emergency-stop-CDozqde9.js} +5 -5
  93. package/dist/{emergency-stop-CfKEsUr_.js → emergency-stop-DpNGtfb4.js} +70 -70
  94. package/dist/{emergency-stop-CzExWKhr.js → emergency-stop-Lj33jqJJ.js} +2 -2
  95. package/dist/{enable-DaA_orGN.js → enable-o_s6PBsC.js} +1 -1
  96. package/dist/entry.js +1 -1
  97. package/dist/{exec-approvals-allowlist-8AkOwwIr.js → exec-approvals-allowlist-Co2tJSEo.js} +1 -1
  98. package/dist/{exec-approvals-cli-CtoJW2K-.js → exec-approvals-cli-D6XUzs4j.js} +15 -15
  99. package/dist/{exec-approvals-cli-CNWOtvwX.js → exec-approvals-cli-DRoaRYPn.js} +4 -4
  100. package/dist/{exec-safe-bin-runtime-policy-DYXuBKqH.js → exec-safe-bin-runtime-policy-DaoU9-ni.js} +2 -2
  101. package/dist/extensionAPI.js +2 -2
  102. package/dist/{fs-safe-DNFrxDS-.js → fs-safe-_JQUGpZf.js} +15 -15
  103. package/dist/{gateway-cli-DSJcNJYR.js → gateway-cli-Ccd1ukWq.js} +17 -14
  104. package/dist/{gateway-cli-C8P5BVto.js → gateway-cli-lNUOd2_i.js} +151 -148
  105. package/dist/{gateway-rpc-CdfF0Zt5.js → gateway-rpc-5PTvwEfj.js} +1 -1
  106. package/dist/{gateway-rpc-6vnhO4v8.js → gateway-rpc-BBFG1T-M.js} +1 -1
  107. package/dist/{health-CNZK5D2k.js → health--GQAFTBr.js} +13 -13
  108. package/dist/{health-BN8WNyon.js → health-HEN6Wk9G.js} +2 -2
  109. package/dist/{hooks-cli-L32lBsp7.js → hooks-cli-DFrttZGb.js} +6 -6
  110. package/dist/{hooks-cli-t7tiLn8P.js → hooks-cli-Di8qrzIB.js} +84 -84
  111. package/dist/{hooks-status-CPIWc_bx.js → hooks-status-DNGo2G8Q.js} +1 -1
  112. package/dist/{idlehands-root-DFL2GrNW.js → idlehands-root-B8cUs-5M.js} +8 -8
  113. package/dist/{image-D8b_rlQC.js → image-COw__ACq.js} +1 -1
  114. package/dist/{image-C2JZiK-6.js → image-DSDEbSiO.js} +5 -5
  115. package/dist/{plugin-sdk/image-ops-BRYGGDwL.js → image-ops-BU-VdLZu.js} +2 -2
  116. package/dist/index.js +80 -80
  117. package/dist/{inspect-Dg16DMLn.js → inspect-ISQZuNM5.js} +4 -4
  118. package/dist/{install-safe-path-CNNMzJl9.js → install-safe-path-ChNR9pl6.js} +19 -19
  119. package/dist/{installs-ST3UaUVJ.js → installs-CNubze2L.js} +9 -9
  120. package/dist/{ir-DV0Hszc8.js → ir-VncGpwA1.js} +6 -6
  121. package/dist/{lifecycle-core-DOScNyOv.js → lifecycle-core-B6UoqYTJ.js} +5 -5
  122. package/dist/llm-slug-generator.js +7 -7
  123. package/dist/{local-roots-Cco87A2_.js → local-roots-q0xbefkf.js} +2 -2
  124. package/dist/{login-Dl_lsEHS.js → login-CfUhrgWT.js} +4 -4
  125. package/dist/{login-qr-B68cBRH0.js → login-qr-DBMsUxgL.js} +7 -7
  126. package/dist/{logs-cli-BluGGq03.js → logs-cli-4VQ9Iwiw.js} +8 -8
  127. package/dist/{logs-cli-BN5TN6bg.js → logs-cli-u0WmYxx7.js} +3 -3
  128. package/dist/{manager-BBeTPO2h.js → manager-BMAFgXyU.js} +13 -13
  129. package/dist/{manifest-registry-RfRn8HJx.js → manifest-registry-Bak1x76G.js} +1 -1
  130. package/dist/{markdown-tables-C5hTDqNm.js → markdown-tables-DZClqsNo.js} +1 -1
  131. package/dist/{memory-cli-4wfelGdK.js → memory-cli-CUGwnVIY.js} +12 -12
  132. package/dist/{model-Bd-05WpB.js → model-C-icShH2.js} +2 -2
  133. package/dist/{model-catalog-BCsDrrvq.js → model-catalog-D9no0CH2.js} +3 -3
  134. package/dist/{model-picker-D3U0wJCO.js → model-picker-BkXoTOiA.js} +4 -4
  135. package/dist/{model-selection-CSn9tUuH.js → model-selection-0dGxYGp8.js} +16 -16
  136. package/dist/{models-cli-ChStpcQY.js → models-cli-CMwszgSD.js} +79 -79
  137. package/dist/{models-cli-dd-wJvj0.js → models-cli-DVAyIZ63.js} +7 -7
  138. package/dist/{models-config-lQpqp472.js → models-config-C5A1wDWh.js} +6 -6
  139. package/dist/{models-mQeB9JXZ.js → models-tZYpgts_.js} +3 -3
  140. package/dist/{node-cli-DhD8-NHR.js → node-cli-BYzjxmUY.js} +32 -32
  141. package/dist/{node-cli-BiQaHamJ.js → node-cli-CgeiQGbv.js} +1 -1
  142. package/dist/{node-service-GpI0jzKr.js → node-service-C3vyxHLA.js} +1 -1
  143. package/dist/{nodes-cli-tVCIBdL1.js → nodes-cli-DaE0WsOH.js} +3 -3
  144. package/dist/{nodes-cli-DPzxQ0mY.js → nodes-cli-kNOtp0U0.js} +14 -14
  145. package/dist/{nodes-screen-CIAn0wXq.js → nodes-screen-CcpPaFxa.js} +4 -4
  146. package/dist/{npm-registry-spec-BfeHLbIQ.js → npm-registry-spec-BCbbfIhX.js} +16 -16
  147. package/dist/{npm-resolution-WKW4cIrd.js → npm-resolution-By6bZkA-.js} +1 -1
  148. package/dist/{npm-resolution-tT1BUac2.js → npm-resolution-DLSA4PTO.js} +3 -3
  149. package/dist/{onboard-D1wKkHHC.js → onboard-B6eOxpDM.js} +3 -3
  150. package/dist/{onboard-rze7pzoW.js → onboard-CbXlbAx2.js} +6 -6
  151. package/dist/{onboard-channels-CRHp5hA-.js → onboard-channels-BISq46-i.js} +20 -20
  152. package/dist/{onboard-channels-CG1R8Ozs.js → onboard-channels-JPltbNGL.js} +2 -2
  153. package/dist/{onboard-custom-D2sCP3_S.js → onboard-custom-DUbzMMu7.js} +4 -4
  154. package/dist/{onboard-helpers-Dp6wXNs7.js → onboard-helpers-DWivfzcc.js} +1 -1
  155. package/dist/{onboard-helpers-ByhJg2ST.js → onboard-helpers-mzy38DiC.js} +8 -8
  156. package/dist/{onboard-hooks-_1Jgimeu.js → onboard-hooks-D9teGxfH.js} +4 -4
  157. package/dist/{onboard-remote-1ZZd5lcX.js → onboard-remote-BMo2C9Ae.js} +1 -1
  158. package/dist/{onboard-remote-DuhWSiAO.js → onboard-remote-LCBHijVE.js} +1 -1
  159. package/dist/{onboard-skills-BD_AS1Iy.js → onboard-skills-BrqATIYg.js} +1 -1
  160. package/dist/{onboard-skills-vFwEasAg.js → onboard-skills-jFY9gaOu.js} +4 -4
  161. package/dist/{onboarding-BxvY_aEE.js → onboarding-Da3n7Rvs.js} +13 -13
  162. package/dist/{onboarding-BgHfZNln.js → onboarding-DikyMlYG.js} +7 -7
  163. package/dist/{onboarding.finalize-DnCFQEPR.js → onboarding.finalize-Bp2ufMd0.js} +82 -82
  164. package/dist/{onboarding.finalize-5_UCPMAw.js → onboarding.finalize-CwYx5n3Z.js} +11 -11
  165. package/dist/{onboarding.gateway-config-qVAY6x7I.js → onboarding.gateway-config-Btu2gzgr.js} +16 -16
  166. package/dist/{onboarding.gateway-config-Czn7jKsq.js → onboarding.gateway-config-w3C9Yj3B.js} +3 -3
  167. package/dist/{openai-model-default-OPCCNNS0.js → openai-model-default-7J6cw1rA.js} +2 -2
  168. package/dist/{outbound-CG19kl0w.js → outbound-DPTxwchq.js} +4 -4
  169. package/dist/{plugin-sdk/outbound-attachment-Bs7fNaqv.js → outbound-attachment-Bot3bRnK.js} +2 -2
  170. package/dist/{pairing-cli-QJYYDcIK.js → pairing-cli-jwx6hMsM.js} +10 -10
  171. package/dist/{pairing-labels-DuZ7ih-T.js → pairing-labels-ChQJzbS9.js} +1 -1
  172. package/dist/{pairing-store-qvpPoWL_.js → pairing-store-CPpEEQJO.js} +2 -2
  173. package/dist/{pairing-token-3hoCgQqp.js → pairing-token-lKXTMQ_M.js} +7 -7
  174. package/dist/{path-alias-guards-BCskHdfJ.js → path-alias-guards-FXBVVTLw.js} +3 -3
  175. package/dist/{path-safety-C1Y004P_.js → path-safety-DwibX65n.js} +1 -1
  176. package/dist/{paths-Bt0fZexW.js → paths-B-CLQ5RT.js} +9 -9
  177. package/dist/{pi-embedded-BcmA23Ak.js → pi-embedded-Bc4KWuTe.js} +13 -12
  178. package/dist/{pi-embedded-D_8x2ll-.js → pi-embedded-BeyOxL6U.js} +28 -27
  179. package/dist/{pi-embedded-helpers-BkzrQ5bZ.js → pi-embedded-helpers-BCsfqpDt.js} +6 -6
  180. package/dist/{pi-embedded-helpers-CghCLoPo.js → pi-embedded-helpers-CyTpDKo5.js} +4 -4
  181. package/dist/{pi-model-discovery-Bt79ifyi.js → pi-model-discovery-BIP3RjXl.js} +1 -1
  182. package/dist/{pi-tools.policy-B_ME3yF6.js → pi-tools.policy-DfITIKZj.js} +5 -5
  183. package/dist/{plugin-auto-enable-BMuSi4aV.js → plugin-auto-enable-7DUxMy6A.js} +3 -3
  184. package/dist/{plugin-registry-CncOKeD3.js → plugin-registry-BY85d-vE.js} +1 -1
  185. package/dist/{plugin-registry-C3IHwz9i.js → plugin-registry-DROWinG6.js} +3 -3
  186. package/dist/plugin-sdk/{accounts-Kt6ygPsC.js → accounts-BLYMokxV.js} +2 -2
  187. package/dist/plugin-sdk/{accounts-mjFAny5F.js → accounts-C5tHm1UI.js} +1 -1
  188. package/dist/plugin-sdk/{accounts-B9nfRzyn.js → accounts-CBVAw5_G.js} +1 -1
  189. package/dist/plugin-sdk/{agent-scope-CU41EMlR.js → agent-scope-jl80I5G9.js} +2 -2
  190. package/dist/plugin-sdk/{agent-via-gateway-CDKZ0Jk9.js → agent-via-gateway-CXtWg-qx.js} +56 -55
  191. package/dist/plugin-sdk/{anton-Bp5L7uaN.js → anton-CGYTy9vy.js} +50 -13
  192. package/dist/plugin-sdk/{api-key-rotation-CZhCWd61.js → api-key-rotation-D6nK54XH.js} +2 -2
  193. package/dist/plugin-sdk/{audio-preflight-CRgDehfO.js → audio-preflight-CKqqN8ty.js} +30 -30
  194. package/dist/plugin-sdk/{auth-store-DycBvVqL.js → auth-store-DaPWgQTx.js} +1 -1
  195. package/dist/plugin-sdk/{bindings-BDKKHGv-.js → bindings-xXgmJGxj.js} +2 -2
  196. package/dist/plugin-sdk/{channel-activity-TcS_VfJk.js → channel-activity-loOg1DRw.js} +3 -3
  197. package/dist/plugin-sdk/{channel-web-DcgShj6y.js → channel-web-EFRSObCG.js} +24 -24
  198. package/dist/plugin-sdk/{chrome-BCTizrZD.js → chrome-Cb9FgiCI.js} +6 -6
  199. package/dist/plugin-sdk/{chunk-DZr5xuqv.js → chunk-PW4MBmaN.js} +1 -1
  200. package/dist/plugin-sdk/commands/agent/types.d.ts +1 -0
  201. package/dist/plugin-sdk/commands/agent-via-gateway.d.ts +1 -0
  202. package/dist/plugin-sdk/{commands-registry-BqJLwZYh.js → commands-registry-B5m2EsHz.js} +5 -5
  203. package/dist/plugin-sdk/{config-BzPMtEKA.js → config-CEgzwk0J.js} +10 -10
  204. package/dist/plugin-sdk/{deliver-Cfc1UCre.js → deliver-BNfMF0Nb.js} +10 -10
  205. package/dist/plugin-sdk/{deps-B5eQTF_d.js → deps-qZxPlSgp.js} +6 -6
  206. package/dist/plugin-sdk/{diagnostic-B8VzcqLf.js → diagnostic-ByA6zvzu.js} +1 -1
  207. package/dist/plugin-sdk/{dock-CMURqoee.js → dock-DKQYtT6-.js} +6 -6
  208. package/dist/plugin-sdk/{emergency-stop-DQppo4RU.js → emergency-stop-CxcBz-aQ.js} +55 -55
  209. package/dist/plugin-sdk/{env-qurSiOO2.js → env-5XecRTLs.js} +1 -1
  210. package/dist/plugin-sdk/{errors-UqLewZJL.js → errors-CMcD8Lhh.js} +1 -1
  211. package/dist/plugin-sdk/{fetch-guard-C174s8ZV.js → fetch-guard-DwdUEdmT.js} +1 -1
  212. package/dist/plugin-sdk/{fs-safe-CCXTOK7j.js → fs-safe-qsx2_8-o.js} +2 -2
  213. package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +1 -0
  214. package/dist/plugin-sdk/{image-DDuK8tyO.js → image-C_1tftC8.js} +6 -6
  215. package/dist/{image-ops-BkoEFRYH.js → plugin-sdk/image-ops-CXSUo-AM.js} +12 -12
  216. package/dist/plugin-sdk/index.js +60 -60
  217. package/dist/plugin-sdk/{ir-Bv0Zbp2E.js → ir-kdDGpPMq.js} +5 -5
  218. package/dist/plugin-sdk/{local-roots-bHCsSVt_.js → local-roots-DjB6DYeI.js} +4 -4
  219. package/dist/plugin-sdk/{login-CkQrnY2G.js → login-DIwO5D5Y.js} +6 -6
  220. package/dist/plugin-sdk/{login-qr-DAeHibH_.js → login-qr-CpCAJuvT.js} +8 -8
  221. package/dist/plugin-sdk/{manager-CTC1S_c9.js → manager-Dox9r7og.js} +10 -10
  222. package/dist/plugin-sdk/{markdown-tables-DfUQHRZY.js → markdown-tables-Drtwd4J5.js} +1 -1
  223. package/dist/plugin-sdk/{message-channel-DiMXmQeQ.js → message-channel-CQ0qkGHj.js} +1 -1
  224. package/dist/plugin-sdk/{outbound-B1twcfz5.js → outbound-Dx_q6JAI.js} +6 -6
  225. package/dist/{outbound-attachment-jYdMgCml.js → plugin-sdk/outbound-attachment-BisU5Vji.js} +2 -2
  226. package/dist/plugin-sdk/{path-alias-guards-yyy61qHh.js → path-alias-guards-C_uBEYb4.js} +1 -1
  227. package/dist/plugin-sdk/{pi-embedded-helpers-BAm9cWol.js → pi-embedded-helpers-B68z4sHq.js} +16 -16
  228. package/dist/plugin-sdk/{pi-model-discovery-Bt6JtUFr.js → pi-model-discovery-Dt6899be.js} +1 -1
  229. package/dist/plugin-sdk/{plugins-DRPlVBr_.js → plugins-NTjIvHYk.js} +5 -5
  230. package/dist/plugin-sdk/{pw-ai-CY0evCZ2.js → pw-ai-Dk2PTZzq.js} +10 -10
  231. package/dist/plugin-sdk/{qmd-manager-BckPBwZX.js → qmd-manager-juzrnopq.js} +5 -5
  232. package/dist/plugin-sdk/{query-expansion-CPqK-tTR.js → query-expansion-xBXvzdkL.js} +2 -2
  233. package/dist/plugin-sdk/{redact-Ub8sMBBC.js → redact-B6VQH3UQ.js} +1 -1
  234. package/dist/plugin-sdk/{replies-DwTNZJgi.js → replies-ZovJp-3F.js} +3 -3
  235. package/dist/plugin-sdk/{reply-BtQHoQT3.js → reply-nUO1aM3T.js} +97 -96
  236. package/dist/plugin-sdk/{reply-prefix-BqV0o7_7.js → reply-prefix--mxmTL7A.js} +1 -1
  237. package/dist/plugin-sdk/{resolve-outbound-target-DAdNGEqG.js → resolve-outbound-target-CnUtsDch.js} +2 -2
  238. package/dist/plugin-sdk/{resolve-route-C5mAwY-o.js → resolve-route-BZABUE4J.js} +3 -3
  239. package/dist/plugin-sdk/{retry-2OVzZJMZ.js → retry-Bh7jveNm.js} +1 -1
  240. package/dist/plugin-sdk/{runner-Ck0w3rcz.js → runner-CZz1tOIR.js} +10 -10
  241. package/dist/plugin-sdk/{send-BBD-m-nM.js → send-0EVlThEG.js} +10 -10
  242. package/dist/plugin-sdk/{send-CaPoBwby.js → send-B26cNPqY.js} +6 -6
  243. package/dist/plugin-sdk/{send-CPeuqOlq.js → send-BCjVQhp3.js} +13 -13
  244. package/dist/plugin-sdk/{send-SsqudCMv.js → send-CHUGIZs9.js} +7 -7
  245. package/dist/plugin-sdk/{send-A4Lv5nrg.js → send-Cb5NIN8s.js} +7 -7
  246. package/dist/plugin-sdk/{session-DpL4uk1J.js → session-DdJj6_DW.js} +3 -3
  247. package/dist/plugin-sdk/{sessions-CQ5iD4Uq.js → sessions-DNx9c2O2.js} +6 -6
  248. package/dist/plugin-sdk/{skill-commands-C_O9I71g.js → skill-commands-DorIK8kn.js} +5 -5
  249. package/dist/plugin-sdk/{skills-DmiIiX4l.js → skills-Dh_Cf2PA.js} +8 -8
  250. package/dist/plugin-sdk/{store-BI3rLJdW.js → store-CCCXwngh.js} +2 -2
  251. package/dist/plugin-sdk/{subsystem-lJo9gqAK.js → subsystem-DWPzKeZ0.js} +1 -1
  252. package/dist/plugin-sdk/{tables-C4X_nAUQ.js → tables-CF9W23Rd.js} +1 -1
  253. package/dist/plugin-sdk/{target-errors-CXh6e9ZE.js → target-errors-DaH0qYtL.js} +2 -2
  254. package/dist/plugin-sdk/{tokens-CU9S3S7t.js → tokens-Y97UKh4C.js} +1 -1
  255. package/dist/plugin-sdk/{tool-images-Cf9aWlVu.js → tool-images-BMRkn_yk.js} +2 -2
  256. package/dist/plugin-sdk/{tool-loop-detection-DuwkSqZL.js → tool-loop-detection-Cv8wyfAi.js} +2 -2
  257. package/dist/plugin-sdk/{utils-dP-FpIgu.js → utils-Dyj2wV4e.js} +2 -2
  258. package/dist/plugin-sdk/web-CEtAvhaI.js +71 -0
  259. package/dist/plugin-sdk/{whatsapp-actions-Bcknq6EZ.js → whatsapp-actions-B5g-Rywy.js} +23 -23
  260. package/dist/{plugins-B4hASNc2.js → plugins-D46VZh7u.js} +2 -2
  261. package/dist/{plugins-cli-CMYlin6k.js → plugins-cli-RFXGkaxP.js} +6 -6
  262. package/dist/{plugins-cli-BMptU-1l.js → plugins-cli-b_o3IL7x.js} +80 -80
  263. package/dist/{ports-B07M55Gr.js → ports-B2o0FSFD.js} +1 -1
  264. package/dist/{ports-DWJO5S52.js → ports-SQy1d-RL.js} +2 -2
  265. package/dist/{program-context-BxflGz_G.js → program-context-D6irLwPo.js} +43 -43
  266. package/dist/{program-DyMaBEqF.js → program-vH6RTUOw.js} +11 -11
  267. package/dist/{prompt-select-styled-CI3hobey.js → prompt-select-styled-CDoDFWo7.js} +37 -37
  268. package/dist/{prompt-select-styled-es3PJxfH.js → prompt-select-styled-DFVvU0TH.js} +6 -6
  269. package/dist/{provider-auth-helpers-CrGScfnN.js → provider-auth-helpers-BCc5UtUa.js} +1 -1
  270. package/dist/{provider-auth-helpers-DYxaYmlq.js → provider-auth-helpers-CNRz0SFC.js} +5 -5
  271. package/dist/{push-apns-BNxgGXQy.js → push-apns-CHmvuoMu.js} +1 -1
  272. package/dist/{push-apns-CjAXPy2N.js → push-apns-e2xmxGGE.js} +5 -5
  273. package/dist/{pw-ai-BGALvhDi.js → pw-ai-7i9eGnLh.js} +11 -11
  274. package/dist/{pw-ai-CfYaR1K2.js → pw-ai-CowTfhOG.js} +1 -1
  275. package/dist/{qmd-manager-CVcPfkhL.js → qmd-manager-B-qeywfQ.js} +19 -19
  276. package/dist/{qr-cli-D2Oh8f0U.js → qr-cli-CSt5ihwG.js} +1 -1
  277. package/dist/{query-expansion-i5I3yavb.js → query-expansion-Clts_AGz.js} +12 -12
  278. package/dist/{redact-snapshot-CtIVs92s.js → redact-snapshot-BBNDQZIe.js} +1 -1
  279. package/dist/{register.agent-B9f0mtlc.js → register.agent-Dx7ULz49.js} +12 -12
  280. package/dist/{register.agent-DrVFgVpf.js → register.agent-HWcFMr6h.js} +95 -95
  281. package/dist/{register.configure-DAlBU97I.js → register.configure-BctHAiWh.js} +13 -13
  282. package/dist/register.configure-k8gocsJw.js +168 -0
  283. package/dist/{register.maintenance-BThQUyMI.js → register.maintenance-BYiX9iOa.js} +12 -12
  284. package/dist/{register.maintenance-G_dZOyQA.js → register.maintenance-C6o2WuQx.js} +90 -90
  285. package/dist/{register.message-DKaxesxx.js → register.message-BLScF2fV.js} +6 -6
  286. package/dist/{register.message-BVTuvjQA.js → register.message-BewFLd-k.js} +71 -71
  287. package/dist/{register.onboard-CwtL9YYR.js → register.onboard-BVm-2XAx.js} +5 -5
  288. package/dist/{register.onboard-CnoQ56yq.js → register.onboard-a0kqiCTa.js} +18 -18
  289. package/dist/{register.orchestrator-anton-2LtPHPXM.js → register.orchestrator-anton-BYyjV8R-.js} +17 -16
  290. package/dist/{register.orchestrator-anton-Ce55Lxt0.js → register.orchestrator-anton-Tn_RaMLq.js} +5 -4
  291. package/dist/{register.setup-Dg5LmRxd.js → register.setup-BJ0WBUpt.js} +5 -5
  292. package/dist/{register.setup-_s2CQaBF.js → register.setup-BwPJaqpH.js} +21 -21
  293. package/dist/{register.status-health-sessions-iSQzPXD0.js → register.status-health-sessions-Clzt8hbv.js} +82 -82
  294. package/dist/{register.status-health-sessions-DX2OgAeG.js → register.status-health-sessions-wbopjGL-.js} +8 -8
  295. package/dist/{register.subclis-YeKuHCRg.js → register.subclis-CrcOefJY.js} +21 -21
  296. package/dist/{replies-Czp4hvpS.js → replies-hSFVxL4h.js} +1 -1
  297. package/dist/{reply-DKIv9jez.js → reply-D5gCiiGr.js} +154 -154
  298. package/dist/{reply-prefix-BMEdvSpA.js → reply-prefix-C3y4zpTl.js} +1 -1
  299. package/dist/{resolve-route-Ef_Yt2Dw.js → resolve-route-D_AbcmD6.js} +2 -2
  300. package/dist/{rpc-DDTp_J6f.js → rpc-Cf9OK5Yk.js} +1 -1
  301. package/dist/{rpc-CasD0keJ.js → rpc-DVTovtI3.js} +1 -1
  302. package/dist/{run-main-BwWO5erE.js → run-main-BCX3UZMR.js} +18 -18
  303. package/dist/{runner-PgRFPYUj.js → runner-BzNdfqDz.js} +1 -1
  304. package/dist/{runner-BFG54hnb.js → runner-DzszLzI4.js} +20 -20
  305. package/dist/{runtime-DEmy759r.js → runtime-XmXLaHNk.js} +2 -2
  306. package/dist/{sandbox-CfPbhDY_.js → sandbox-DcUw5h3p.js} +20 -20
  307. package/dist/{sandbox-cli-B4wLJr21.js → sandbox-cli-DGvJ7Eeq.js} +22 -22
  308. package/dist/{secrets-cli-Bx9bIigZ.js → secrets-cli-C4UBK_LV.js} +3 -3
  309. package/dist/{secrets-cli-CidAOBfl.js → secrets-cli-CR3h2TBy.js} +9 -9
  310. package/dist/{security-cli-Ch7AhbhS.js → security-cli-B9_LV2po.js} +39 -39
  311. package/dist/{security-cli-e1WjvhRm.js → security-cli-an5u-5Jb.js} +3 -3
  312. package/dist/{send-DDMaLJAQ.js → send--lzpNy4f.js} +7 -7
  313. package/dist/{send-BCPkAE2k.js → send-C4v0Leny.js} +6 -6
  314. package/dist/{send-CEavqqEz.js → send-DQiw_nGD.js} +6 -6
  315. package/dist/{send-BPwTl4-K.js → send-DuwdEkLw.js} +4 -4
  316. package/dist/{send-CVIXqubC.js → send-DwdHiC7_.js} +13 -13
  317. package/dist/{server-BpSbZAwg.js → server-D6MltJIF.js} +14 -14
  318. package/dist/{server-context-BxNSTpH6.js → server-context-DI0W_H7R.js} +10 -10
  319. package/dist/{server-lifecycle-CGKrGrhM.js → server-lifecycle-B5PlrlbG.js} +2 -2
  320. package/dist/{server-node-events-lbb8M18B.js → server-node-events-CbVkqOtV.js} +6 -6
  321. package/dist/{server-node-events-CZ5OkouD.js → server-node-events-DvStFPGi.js} +71 -71
  322. package/dist/{service-Bj2oSfpw.js → service-C8NMS3m_.js} +15 -15
  323. package/dist/{session-BKVySI8q.js → session-CdnrRhb4.js} +1 -1
  324. package/dist/{sessions-BqWocozB.js → sessions-BtPXimXQ.js} +14 -14
  325. package/dist/{shared-DnQ4iyXk.js → shared-CpDPo3hJ.js} +2 -2
  326. package/dist/{shared-Jzrx8DfN.js → shared-DpLSpJIl.js} +1 -1
  327. package/dist/{skill-commands-BwIRWSCI.js → skill-commands-BFzmZAfo.js} +5 -5
  328. package/dist/{skill-scanner-B4Ftsbd2.js → skill-scanner-D7mzXRXd.js} +5 -5
  329. package/dist/{skills-TIyQDZx7.js → skills-DlvDyK8L.js} +3 -3
  330. package/dist/{skills-cli-5lbXi4Lh.js → skills-cli-BhKGhjbO.js} +5 -5
  331. package/dist/{skills-install-D0JHP5uM.js → skills-install-tr6wRWZj.js} +4 -4
  332. package/dist/{skills-status-Q9skQExW.js → skills-status-qjQ8XP0h.js} +1 -1
  333. package/dist/{status-Bd9NYE1U.js → status-CWnPokQF.js} +24 -24
  334. package/dist/{status-BE1Y0CKS.js → status-ClMOrHdT.js} +5 -5
  335. package/dist/{status.update-C3uRz7W6.js → status.update-CTi6vuWj.js} +2 -2
  336. package/dist/{store-CLNuI8-G.js → store-kH9wHHbO.js} +5 -5
  337. package/dist/{subagent-registry-CTZmDdGV.js → subagent-registry-BH5O1rxK.js} +15 -15
  338. package/dist/{system-cli-CHiaS_zS.js → system-cli-Dd-gBN0t.js} +3 -3
  339. package/dist/{system-cli-DBp9Zmvt.js → system-cli-DyVZ5udc.js} +8 -8
  340. package/dist/{system-run-approval-context-xZVoE4nS.js → system-run-approval-context-CISBXlNw.js} +1 -1
  341. package/dist/{system-run-command-BIhrK3OI.js → system-run-command-qJdgzxLp.js} +1 -1
  342. package/dist/{systemd-DyrVLTI0.js → systemd-CaCR5CyM.js} +9 -9
  343. package/dist/{systemd-hints-BoKKzRI_.js → systemd-hints-DHu-HVFx.js} +6 -6
  344. package/dist/{systemd-linger-DrhGd61G.js → systemd-linger-B7XlUHk_.js} +1 -1
  345. package/dist/{tables-CZSD889r.js → tables-g9xkflht.js} +1 -1
  346. package/dist/{target-errors-BYuWhuLU.js → target-errors-bLIVFsbF.js} +4 -4
  347. package/dist/{tool-images-DZHrc4pq.js → tool-images-CHqepyF_.js} +1 -1
  348. package/dist/{tui-BPgLehyv.js → tui-2u2ZDhHV.js} +2 -2
  349. package/dist/{tui-DWGHGeZ3.js → tui-Bne3YNiw.js} +6 -6
  350. package/dist/{tui-cli-9z2Sm8Qg.js → tui-cli-BWnIeq57.js} +3 -3
  351. package/dist/{tui-cli-DKyA5pZ2.js → tui-cli-D0Z-rcUe.js} +30 -30
  352. package/dist/{update-la2AdLf3.js → update-D79ppbMQ.js} +3 -3
  353. package/dist/{update-cli-DvUx2El6.js → update-cli-BTNcddEX.js} +99 -99
  354. package/dist/{update-cli-D-4_OhRR.js → update-cli-CxZD0ekr.js} +13 -13
  355. package/dist/{update-runner-n2snlf-4.js → update-runner-CN7Dm9tg.js} +15 -15
  356. package/dist/{update-runner-BvaywdEe.js → update-runner-tu2Aiphu.js} +1 -1
  357. package/dist/{upgrade-command-28wRHZZ2.js → upgrade-command-909a7QUc.js} +3 -3
  358. package/dist/web-BV-BEZj6.js +123 -0
  359. package/dist/{web-Dbrx58hF.js → web-Csmkqx1W.js} +8 -8
  360. package/dist/{web-BjP-D0Iz.js → web-DiqHxfw7.js} +3 -3
  361. package/dist/{web-BedV4zGE.js → web-aRaB-CvF.js} +6 -6
  362. package/dist/{webhooks-cli-BnmVPYkU.js → webhooks-cli-2N03q0iY.js} +6 -6
  363. package/dist/{whatsapp-actions-D2mBFzmK.js → whatsapp-actions-Cms8wQM1.js} +18 -18
  364. package/dist/{with-timeout-BodPmGCY.js → with-timeout-DEdycYxq.js} +3 -3
  365. package/dist/{workspace-CDw87aZG.js → workspace-D3pARwoB.js} +1 -1
  366. package/dist/{workspace-dirs-D3bousoX.js → workspace-dirs-SsExQ3Bz.js} +1 -1
  367. package/dist/{wsl-CgXDjE09.js → wsl-BJW8nTyL.js} +2 -2
  368. package/extensions/acpx/package.json +1 -1
  369. package/extensions/bluebubbles/package.json +1 -1
  370. package/extensions/copilot-proxy/package.json +1 -1
  371. package/extensions/diagnostics-otel/package.json +1 -1
  372. package/extensions/discord/package.json +1 -1
  373. package/extensions/feishu/package.json +1 -1
  374. package/extensions/google-gemini-cli-auth/package.json +1 -1
  375. package/extensions/googlechat/package.json +1 -1
  376. package/extensions/hand/package.json +1 -1
  377. package/extensions/imessage/package.json +1 -1
  378. package/extensions/irc/package.json +1 -1
  379. package/extensions/line/package.json +1 -1
  380. package/extensions/llm-task/package.json +1 -1
  381. package/extensions/matrix/CHANGELOG.md +12 -0
  382. package/extensions/matrix/package.json +1 -1
  383. package/extensions/mattermost/package.json +1 -1
  384. package/extensions/memory-core/package.json +1 -1
  385. package/extensions/memory-lancedb/package.json +1 -1
  386. package/extensions/minimax-portal-auth/package.json +1 -1
  387. package/extensions/msteams/CHANGELOG.md +12 -0
  388. package/extensions/msteams/package.json +1 -1
  389. package/extensions/nextcloud-talk/package.json +1 -1
  390. package/extensions/nostr/CHANGELOG.md +12 -0
  391. package/extensions/nostr/package.json +1 -1
  392. package/extensions/open-prose/package.json +1 -1
  393. package/extensions/signal/package.json +1 -1
  394. package/extensions/slack/package.json +1 -1
  395. package/extensions/synology-chat/package.json +1 -1
  396. package/extensions/telegram/package.json +1 -1
  397. package/extensions/tlon/package.json +1 -1
  398. package/extensions/twitch/CHANGELOG.md +12 -0
  399. package/extensions/twitch/package.json +1 -1
  400. package/extensions/voice-call/CHANGELOG.md +12 -0
  401. package/extensions/voice-call/package.json +1 -1
  402. package/extensions/whatsapp/package.json +1 -1
  403. package/extensions/zalo/CHANGELOG.md +12 -0
  404. package/extensions/zalo/package.json +1 -1
  405. package/extensions/zalouser/CHANGELOG.md +12 -0
  406. package/extensions/zalouser/package.json +1 -1
  407. package/package.json +1 -1
  408. package/dist/anton-DYEYyPJ1.js +0 -740
  409. package/dist/plugin-sdk/web-Cg6vlkku.js +0 -71
  410. package/dist/register.configure-BxZRBEJ9.js +0 -168
  411. package/dist/web-CDFWB79W.js +0 -123
@@ -1,8 +1,8 @@
1
- import { d as isNotFoundPathError, f as isPathInside, p as isSymlinkOpenError, s as sameFileIdentity } from "./idlehands-root-DFL2GrNW.js";
2
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-BCskHdfJ.js";
1
+ import { d as isNotFoundPathError, f as isPathInside, p as isSymlinkOpenError, s as sameFileIdentity } from "./idlehands-root-B8cUs-5M.js";
2
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-FXBVVTLw.js";
3
3
  import { constants } from "node:fs";
4
4
  import path from "node:path";
5
- import fsPromises from "node:fs/promises";
5
+ import fs$1 from "node:fs/promises";
6
6
 
7
7
  //#region src/infra/fs-safe.ts
8
8
  var SafeOpenError = class extends Error {
@@ -19,20 +19,20 @@ const ensureTrailingSep = (value) => value.endsWith(path.sep) ? value : value +
19
19
  async function openVerifiedLocalFile(filePath, options) {
20
20
  let handle;
21
21
  try {
22
- handle = await fsPromises.open(filePath, OPEN_READ_FLAGS);
22
+ handle = await fs$1.open(filePath, OPEN_READ_FLAGS);
23
23
  } catch (err) {
24
24
  if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "file not found");
25
25
  if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
26
26
  throw err;
27
27
  }
28
28
  try {
29
- const [stat, lstat] = await Promise.all([handle.stat(), fsPromises.lstat(filePath)]);
29
+ const [stat, lstat] = await Promise.all([handle.stat(), fs$1.lstat(filePath)]);
30
30
  if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
31
31
  if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
32
32
  if (options?.rejectHardlinks && stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
33
33
  if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during read");
34
- const realPath = await fsPromises.realpath(filePath);
35
- const realStat = await fsPromises.stat(realPath);
34
+ const realPath = await fs$1.realpath(filePath);
35
+ const realStat = await fs$1.stat(realPath);
36
36
  if (options?.rejectHardlinks && realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
37
37
  if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
38
38
  return {
@@ -50,7 +50,7 @@ async function openVerifiedLocalFile(filePath, options) {
50
50
  async function openFileWithinRoot(params) {
51
51
  let rootReal;
52
52
  try {
53
- rootReal = await fsPromises.realpath(params.rootDir);
53
+ rootReal = await fs$1.realpath(params.rootDir);
54
54
  } catch (err) {
55
55
  if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "root dir not found");
56
56
  throw err;
@@ -94,7 +94,7 @@ async function readLocalFileSafely(params) {
94
94
  async function writeFileWithinRoot(params) {
95
95
  let rootReal;
96
96
  try {
97
- rootReal = await fsPromises.realpath(params.rootDir);
97
+ rootReal = await fs$1.realpath(params.rootDir);
98
98
  } catch (err) {
99
99
  if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "root dir not found");
100
100
  throw err;
@@ -111,10 +111,10 @@ async function writeFileWithinRoot(params) {
111
111
  } catch (err) {
112
112
  throw new SafeOpenError("invalid-path", "path alias escape blocked", { cause: err });
113
113
  }
114
- if (params.mkdir !== false) await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
114
+ if (params.mkdir !== false) await fs$1.mkdir(path.dirname(resolved), { recursive: true });
115
115
  let ioPath = resolved;
116
116
  try {
117
- const resolvedRealPath = await fsPromises.realpath(resolved);
117
+ const resolvedRealPath = await fs$1.realpath(resolved);
118
118
  if (!isPathInside(rootWithSep, resolvedRealPath)) throw new SafeOpenError("invalid-path", "path escapes root");
119
119
  ioPath = resolvedRealPath;
120
120
  } catch (err) {
@@ -123,19 +123,19 @@ async function writeFileWithinRoot(params) {
123
123
  }
124
124
  let handle;
125
125
  try {
126
- handle = await fsPromises.open(ioPath, OPEN_WRITE_FLAGS, 384);
126
+ handle = await fs$1.open(ioPath, OPEN_WRITE_FLAGS, 384);
127
127
  } catch (err) {
128
128
  if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "file not found");
129
129
  if (isSymlinkOpenError(err)) throw new SafeOpenError("invalid-path", "symlink open blocked", { cause: err });
130
130
  throw err;
131
131
  }
132
132
  try {
133
- const [stat, lstat] = await Promise.all([handle.stat(), fsPromises.lstat(ioPath)]);
133
+ const [stat, lstat] = await Promise.all([handle.stat(), fs$1.lstat(ioPath)]);
134
134
  if (lstat.isSymbolicLink() || !stat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
135
135
  if (stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
136
136
  if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during write");
137
- const realPath = await fsPromises.realpath(ioPath);
138
- const realStat = await fsPromises.stat(realPath);
137
+ const realPath = await fs$1.realpath(ioPath);
138
+ const realStat = await fs$1.stat(realPath);
139
139
  if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
140
140
  if (realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
141
141
  if (!isPathInside(rootWithSep, realPath)) throw new SafeOpenError("invalid-path", "path escapes root");
@@ -28,12 +28,12 @@ import "./logging-Bgrm4o7g.js";
28
28
  import "./auth-store-D9BmR4S6.js";
29
29
  import "./send-m4lQkQcY.js";
30
30
  import "./send-CCiDIuX4.js";
31
- import { $n as stopSubagentsForRequester, A as createOutboundSendDeps, An as requestHeartbeatNow, Ar as clearAgentRunContext, At as normalizeHttpWebhookUrl, Bn as DEFAULT_INPUT_MAX_REDIRECTS, Bt as buildDeliveryFromLegacyPayload, C as computeBackoff, Cr as waitForActiveTasks, Ct as consumeRestartSentinel, Dn as isSystemEventContextChanged, Dt as summarizeRestartSentinel, E as agentCommand, En as enqueueSystemEvent, Fn as ACP_SESSION_IDENTITY_RENDERER_VERSION, Ft as normalizeOptionalSessionKey, Gn as resolveInputFileLimits, Gt as buildSafeExternalPrompt, Hn as extractFileContentFromSource, Ht as stripLegacyDeliveryFields, In as getAcpSessionManager, It as normalizeOptionalText, Jn as resolveSendPolicy, Jt as isExternalHookSession, Kn as resolveAgentTimeoutMs, Kt as detectSuspiciousPatterns, Ln as resolveAgentSessionDirs, Lt as normalizePayloadToSystemText, Mr as getAgentRunContext, Mt as normalizeCronJobPatch, Nr as onAgentEvent, Nt as inferLegacyName, O as resolveAgentDeliveryPlan, Pr as registerAgentRunContext, Pt as normalizeOptionalAgentId, Q as getTotalPendingReplies, Qn as isAbortRequestText, R as buildHistoryContextFromEntries, Rn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Rt as normalizeRequiredName, S as requestBodyErrorToText, Sr as setCommandLaneConcurrency, Tr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Tt as formatRestartSentinelMessage, Un as extractImageContentFromSource, Vn as DEFAULT_INPUT_TIMEOUT_MS, Vt as hasLegacyDeliveryHints, Wn as normalizeMimeList, X as dispatchInboundMessage, Xt as persistBrowserProxyFiles, Yt as applyBrowserProxyPaths, Z as createReplyDispatcher, Zt as resolveSessionAuthProfileOverride, _ as loadIdleHandsPlugins, _r as getActiveTaskCount, _t as resolveOutboundChannelPlugin, a as runSubagentAnnounceFlow, an as deferGatewayRestartUntilIdle, ar as isTtsEnabled, at as setCliSessionId, b as handleSlackHttpRequest, bn as buildOutboundSessionContext, br as markGatewayDraining, c as abortEmbeddedPiRun, cn as markGatewaySigusr1RestartHandled, cr as resolveTtsAutoMode, ct as readLatestAssistantReply, d as applyToolPolicyPipeline, dn as setPreRestartDeferralCheck, dr as resolveTtsProviderOrder, dt as ensureOutboundSessionEntry, f as buildDefaultToolPolicyPipelineSteps, fn as unbindThreadBindingsBySessionKey, fr as setTtsEnabled, ft as resolveOutboundSessionRoute, gr as OPENAI_TTS_VOICES, gt as resolveSessionDeliveryTarget, h as resolvePluginTools, hn as loadProviderUsageSummary, hr as OPENAI_TTS_MODELS, ht as resolveOutboundTarget, in as consumeGatewaySigusr1RestartAuthorization, ir as getTtsProvider, it as getCliSessionId, j as resolveAgentAvatar, jr as emitAgentEvent, jt as normalizeCronJobCreate, k as resolveAgentOutboundTarget, kr as stripHeartbeatToken, kt as writeRestartSentinel, l as getActiveEmbeddedRunCount, ln as scheduleGatewaySigusr1Restart, lr as resolveTtsConfig, lt as resolveAnnounceTargetFromKey, m as getPluginToolMeta, mr as textToSpeech, n as initSubagentRegistry, nn as applyVerboseOverride, nr as resolveUserTimezone, o as clearSessionQueues, on as emitGatewayRestart, or as isTtsProviderConfigured, ot as runCliAgent, pn as normalizeGroupActivation, pr as setTtsProvider, qn as normalizeSendPolicy, qt as getHookType, r as listDescendantRunsForRequester, rn as parseVerboseOverride, rr as clearBootstrapSnapshot, rt as resolveCronStyleNow, s as runEmbeddedPiAgent, sn as isGatewaySigusr1RestartExternallyAllowed, sr as resolveTtsApiKey, st as createIdleHandsTools, t as countActiveDescendantRuns, tn as applyModelOverrideToSessionEntry, tt as BARE_SESSION_RESET_PROMPT, u as waitForEmbeddedPiRunEnd, un as setGatewaySigusr1RestartPolicy, ur as resolveTtsPrefsPath, w as sleepWithAbort, wr as CommandLane, wt as formatDoctorNonInteractiveHint, x as readJsonBodyWithLimit, xn as formatZonedTimestamp, xr as resetAllLanes, xt as runWithModelFallback, yr as getTotalQueueSize, yt as resetDirectoryCache, zn as DEFAULT_INPUT_IMAGE_MIMES, zt as migrateLegacyCronPayload } from "./subagent-registry-CTZmDdGV.js";
31
+ import { $n as stopSubagentsForRequester, A as createOutboundSendDeps, An as requestHeartbeatNow, Ar as clearAgentRunContext, At as normalizeHttpWebhookUrl, Bn as DEFAULT_INPUT_MAX_REDIRECTS, Bt as buildDeliveryFromLegacyPayload, C as computeBackoff, Cr as waitForActiveTasks, Ct as consumeRestartSentinel, Dn as isSystemEventContextChanged, Dt as summarizeRestartSentinel, E as agentCommand, En as enqueueSystemEvent, Fn as ACP_SESSION_IDENTITY_RENDERER_VERSION, Ft as normalizeOptionalSessionKey, Gn as resolveInputFileLimits, Gt as buildSafeExternalPrompt, Hn as extractFileContentFromSource, Ht as stripLegacyDeliveryFields, In as getAcpSessionManager, It as normalizeOptionalText, Jn as resolveSendPolicy, Jt as isExternalHookSession, Kn as resolveAgentTimeoutMs, Kt as detectSuspiciousPatterns, Ln as resolveAgentSessionDirs, Lt as normalizePayloadToSystemText, Mr as getAgentRunContext, Mt as normalizeCronJobPatch, Nr as onAgentEvent, Nt as inferLegacyName, O as resolveAgentDeliveryPlan, Pr as registerAgentRunContext, Pt as normalizeOptionalAgentId, Q as getTotalPendingReplies, Qn as isAbortRequestText, R as buildHistoryContextFromEntries, Rn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Rt as normalizeRequiredName, S as requestBodyErrorToText, Sr as setCommandLaneConcurrency, Tr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Tt as formatRestartSentinelMessage, Un as extractImageContentFromSource, Vn as DEFAULT_INPUT_TIMEOUT_MS, Vt as hasLegacyDeliveryHints, Wn as normalizeMimeList, X as dispatchInboundMessage, Xt as persistBrowserProxyFiles, Yt as applyBrowserProxyPaths, Z as createReplyDispatcher, Zt as resolveSessionAuthProfileOverride, _ as loadIdleHandsPlugins, _r as getActiveTaskCount, _t as resolveOutboundChannelPlugin, a as runSubagentAnnounceFlow, an as deferGatewayRestartUntilIdle, ar as isTtsEnabled, at as setCliSessionId, b as handleSlackHttpRequest, bn as buildOutboundSessionContext, br as markGatewayDraining, c as abortEmbeddedPiRun, cn as markGatewaySigusr1RestartHandled, cr as resolveTtsAutoMode, ct as readLatestAssistantReply, d as applyToolPolicyPipeline, dn as setPreRestartDeferralCheck, dr as resolveTtsProviderOrder, dt as ensureOutboundSessionEntry, f as buildDefaultToolPolicyPipelineSteps, fn as unbindThreadBindingsBySessionKey, fr as setTtsEnabled, ft as resolveOutboundSessionRoute, gr as OPENAI_TTS_VOICES, gt as resolveSessionDeliveryTarget, h as resolvePluginTools, hn as loadProviderUsageSummary, hr as OPENAI_TTS_MODELS, ht as resolveOutboundTarget, in as consumeGatewaySigusr1RestartAuthorization, ir as getTtsProvider, it as getCliSessionId, j as resolveAgentAvatar, jr as emitAgentEvent, jt as normalizeCronJobCreate, k as resolveAgentOutboundTarget, kr as stripHeartbeatToken, kt as writeRestartSentinel, l as getActiveEmbeddedRunCount, ln as scheduleGatewaySigusr1Restart, lr as resolveTtsConfig, lt as resolveAnnounceTargetFromKey, m as getPluginToolMeta, mr as textToSpeech, n as initSubagentRegistry, nn as applyVerboseOverride, nr as resolveUserTimezone, o as clearSessionQueues, on as emitGatewayRestart, or as isTtsProviderConfigured, ot as runCliAgent, pn as normalizeGroupActivation, pr as setTtsProvider, qn as normalizeSendPolicy, qt as getHookType, r as listDescendantRunsForRequester, rn as parseVerboseOverride, rr as clearBootstrapSnapshot, rt as resolveCronStyleNow, s as runEmbeddedPiAgent, sn as isGatewaySigusr1RestartExternallyAllowed, sr as resolveTtsApiKey, st as createIdleHandsTools, t as countActiveDescendantRuns, tn as applyModelOverrideToSessionEntry, tt as BARE_SESSION_RESET_PROMPT, u as waitForEmbeddedPiRunEnd, un as setGatewaySigusr1RestartPolicy, ur as resolveTtsPrefsPath, w as sleepWithAbort, wr as CommandLane, wt as formatDoctorNonInteractiveHint, x as readJsonBodyWithLimit, xn as formatZonedTimestamp, xr as resetAllLanes, xt as runWithModelFallback, yr as getTotalQueueSize, yt as resetDirectoryCache, zn as DEFAULT_INPUT_IMAGE_MIMES, zt as migrateLegacyCronPayload } from "./subagent-registry-BH5O1rxK.js";
32
32
  import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, u as resolveStorePath } from "./paths-CC17i2eK.js";
33
33
  import { i as normalizeInputProvenance } from "./input-provenance-iBlnbS1d.js";
34
34
  import "./chat-envelope-Dedaetiq.js";
35
- import { $ as validateNodePairRejectParams, A as validateCronStatusParams, At as PROTOCOL_VERSION, B as validateExecApprovalsGetParams, Bt as getPairedDevice, C as validateConfigSetParams, Ct as validateWakeParams, D as validateCronRemoveParams, Dt as validateWizardNextParams, E as validateCronListParams, Et as validateWizardCancelParams, F as validateDevicePairRemoveParams, Ft as buildDeviceAuthPayload, G as validateModelsListParams, Gt as revokeDeviceToken, H as validateExecApprovalsNodeSetParams, Ht as rejectDevicePairing, I as validateDeviceTokenRevokeParams, It as buildDeviceAuthPayloadV3, J as validateNodeInvokeParams, Jt as updatePairedDeviceMetadata, K as validateNodeDescribeParams, Kt as rotateDeviceToken, L as validateDeviceTokenRotateParams, Lt as normalizeDeviceMetadataForAuth, M as validateDevicePairApproveParams, Mt as errorShape, N as validateDevicePairListParams, O as validateCronRunParams, Ot as validateWizardStartParams, P as validateDevicePairRejectParams, Pt as parseSessionLabel, Q as validateNodePairListParams, Qt as deriveDeviceIdFromPublicKey, R as validateExecApprovalRequestParams, Rt as approveDevicePairing, S as validateConfigSchemaParams, St as validateUpdateRunParams, T as validateCronAddParams, Tt as validateWebLoginWaitParams, U as validateExecApprovalsSetParams, Ut as removePairedDevice, V as validateExecApprovalsNodeGetParams, Vt as listDevicePairing, W as validateLogsTailParams, Wt as requestDevicePairing, X as validateNodeListParams, Xt as roleScopesAllow, Y as validateNodeInvokeResultParams, Yt as verifyDeviceToken, Z as validateNodePairApproveParams, _ as validateChatInjectParams, _t as validateSkillsStatusParams, a as validateAgentWaitParams, at as validateRequestFrame, b as validateConfigGetParams, bt as validateTalkModeParams, c as validateAgentsFilesGetParams, ct as validateSessionsDeleteParams, d as validateAgentsListParams, dt as validateSessionsPreviewParams, en as normalizeDevicePublicKeyBase64Url, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsResetParams, g as validateChatHistoryParams, gt as validateSkillsInstallParams, h as validateChatAbortParams, ht as validateSkillsBinsParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as ErrorCodes, k as validateCronRunsParams, kt as validateWizardStatusParams, l as validateAgentsFilesListParams, lt as validateSessionsListParams, m as validateChannelsStatusParams, mt as validateSessionsUsageParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsResolveParams, q as validateNodeEventParams, qt as summarizeDeviceTokens, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsCompactParams, tn as verifyDeviceSignature, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsPatchParams, v as validateChatSendParams, vt as validateSkillsUpdateParams, w as validateConnectParams, wt as validateWebLoginStartParams, x as validateConfigPatchParams, xt as validateToolsCatalogParams, y as validateConfigApplyParams, yt as validateTalkConfigParams, z as validateExecApprovalResolveParams, zt as ensureDeviceToken } from "./client-Brv1GCwX.js";
36
- import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-DuNslqj2.js";
35
+ import { $ as validateNodePairRejectParams, A as validateCronStatusParams, At as PROTOCOL_VERSION, B as validateExecApprovalsGetParams, Bt as getPairedDevice, C as validateConfigSetParams, Ct as validateWakeParams, D as validateCronRemoveParams, Dt as validateWizardNextParams, E as validateCronListParams, Et as validateWizardCancelParams, F as validateDevicePairRemoveParams, Ft as buildDeviceAuthPayload, G as validateModelsListParams, Gt as revokeDeviceToken, H as validateExecApprovalsNodeSetParams, Ht as rejectDevicePairing, I as validateDeviceTokenRevokeParams, It as buildDeviceAuthPayloadV3, J as validateNodeInvokeParams, Jt as updatePairedDeviceMetadata, K as validateNodeDescribeParams, Kt as rotateDeviceToken, L as validateDeviceTokenRotateParams, Lt as normalizeDeviceMetadataForAuth, M as validateDevicePairApproveParams, Mt as errorShape, N as validateDevicePairListParams, O as validateCronRunParams, Ot as validateWizardStartParams, P as validateDevicePairRejectParams, Pt as parseSessionLabel, Q as validateNodePairListParams, Qt as deriveDeviceIdFromPublicKey, R as validateExecApprovalRequestParams, Rt as approveDevicePairing, S as validateConfigSchemaParams, St as validateUpdateRunParams, T as validateCronAddParams, Tt as validateWebLoginWaitParams, U as validateExecApprovalsSetParams, Ut as removePairedDevice, V as validateExecApprovalsNodeGetParams, Vt as listDevicePairing, W as validateLogsTailParams, Wt as requestDevicePairing, X as validateNodeListParams, Xt as roleScopesAllow, Y as validateNodeInvokeResultParams, Yt as verifyDeviceToken, Z as validateNodePairApproveParams, _ as validateChatInjectParams, _t as validateSkillsStatusParams, a as validateAgentWaitParams, at as validateRequestFrame, b as validateConfigGetParams, bt as validateTalkModeParams, c as validateAgentsFilesGetParams, ct as validateSessionsDeleteParams, d as validateAgentsListParams, dt as validateSessionsPreviewParams, en as normalizeDevicePublicKeyBase64Url, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsResetParams, g as validateChatHistoryParams, gt as validateSkillsInstallParams, h as validateChatAbortParams, ht as validateSkillsBinsParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as ErrorCodes, k as validateCronRunsParams, kt as validateWizardStatusParams, l as validateAgentsFilesListParams, lt as validateSessionsListParams, m as validateChannelsStatusParams, mt as validateSessionsUsageParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsResolveParams, q as validateNodeEventParams, qt as summarizeDeviceTokens, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsCompactParams, tn as verifyDeviceSignature, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsPatchParams, v as validateChatSendParams, vt as validateSkillsUpdateParams, w as validateConnectParams, wt as validateWebLoginStartParams, x as validateConfigPatchParams, xt as validateToolsCatalogParams, y as validateConfigApplyParams, yt as validateTalkConfigParams, z as validateExecApprovalResolveParams, zt as ensureDeviceToken } from "./client-udFMSDes.js";
36
+ import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-C82rD2Wn.js";
37
37
  import { c as readJsonFile, l as writeJsonAtomic, s as createAsyncLock } from "./pairing-token-CnnKAS6M.js";
38
38
  import { t as safeEqualSecret } from "./secret-equal-D-d0uTPY.js";
39
39
  import { a as isTrustedProxyAddress, c as pickPrimaryLanIPv4, d as resolveGatewayListenHosts, f as resolveHostName, l as resolveClientIp, n as isLoopbackAddress, o as isValidIPv4, p as rawDataToString, r as isLoopbackHost, s as normalizeHostHeader, t as isLocalishHost, u as resolveGatewayBindHost } from "./net-CE_62H5R.js";
@@ -115,8 +115,8 @@ import { n as runCommandWithRuntime } from "./cli-utils-BfsDuRZS.js";
115
115
  import { t as formatHelpExamples } from "./help-format-CldHB7lS.js";
116
116
  import { n as withProgress } from "./progress-B76RkFx7.js";
117
117
  import "./replies-DSfpze17.js";
118
- import { n as createOutboundSendDeps$1, t as createDefaultDeps } from "./deps-BUUwigzc.js";
119
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-Dp6wXNs7.js";
118
+ import { n as createOutboundSendDeps$1, t as createDefaultDeps } from "./deps-CjWcQwlX.js";
119
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-DWivfzcc.js";
120
120
  import "./prompt-style-XmK49QYK.js";
121
121
  import "./pairing-labels-D7xcHkxi.js";
122
122
  import { i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-BucMb4Fx.js";
@@ -125,7 +125,7 @@ import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-B1XEiDxB.
125
125
  import { n as inheritOptionFromParent } from "./command-options-CK65DMbR.js";
126
126
  import { t as WizardCancelledError } from "./prompts-D3HHe1ZZ.js";
127
127
  import { t as resolveChannelDefaultAccountId } from "./helpers-CIyuenBU.js";
128
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-ADCeu0yD.js";
128
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-D2EbQiOx.js";
129
129
  import { t as isWithinDir } from "./path-safety-O-JjyFjj.js";
130
130
  import "./install-safe-path-C7y57-yb.js";
131
131
  import "./skill-scanner-CdLElD51.js";
@@ -139,26 +139,26 @@ import "./service-BzgRt9im.js";
139
139
  import "./lifecycle-core-DxExA9d3.js";
140
140
  import "./systemd-hints-D7r4FWhK.js";
141
141
  import { t as parsePort$1 } from "./parse-port-a8kZfEbi.js";
142
- import { n as addGatewayServiceCommands } from "./daemon-cli-yC6gq-yv.js";
142
+ import { n as addGatewayServiceCommands } from "./daemon-cli-DOG5Mivy.js";
143
143
  import "./diagnostics-BzCL1AMI.js";
144
144
  import "./table-aJzHv5Oe.js";
145
145
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-CDpGHfpS.js";
146
146
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-KdaUmZfd.js";
147
- import { a as isNodeCommandAllowed, n as collectEnabledInsecureOrDangerousFlags, o as resolveNodeCommandAllowlist, s as probeGateway } from "./audit-Bkd4fvVb.js";
147
+ import { a as isNodeCommandAllowed, n as collectEnabledInsecureOrDangerousFlags, o as resolveNodeCommandAllowlist, s as probeGateway } from "./audit-C9PrbHng.js";
148
148
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-xjvAm8hU.js";
149
- import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-BE1Y0CKS.js";
150
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-BN8WNyon.js";
149
+ import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-ClMOrHdT.js";
150
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-HEN6Wk9G.js";
151
151
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B5haX6bT.js";
152
152
  import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-ofowt_yq.js";
153
153
  import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-BsH_IMcC.js";
154
- import { t as runOnboardingWizard } from "./onboarding-BgHfZNln.js";
155
- import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-BNxgGXQy.js";
154
+ import { t as runOnboardingWizard } from "./onboarding-DikyMlYG.js";
155
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-CHmvuoMu.js";
156
156
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-U10Ul2gc.js";
157
157
  import "./node-service-v7Nz7h4D.js";
158
158
  import "./status.update-BzUu2M5c.js";
159
159
  import { a as matchSystemRunApprovalBindingV1, i as buildSystemRunApprovalBindingV1, n as resolveSystemRunApprovalRequestContext, o as missingSystemRunApprovalBindingV1, r as resolveSystemRunApprovalRuntimeContext, s as toSystemRunApprovalMismatchError } from "./system-run-approval-context-DkX3cprL.js";
160
160
  import { t as installSkill } from "./skills-install-DkQ2ndc6.js";
161
- import { t as runGatewayUpdate } from "./update-runner-BvaywdEe.js";
161
+ import { t as runGatewayUpdate } from "./update-runner-tu2Aiphu.js";
162
162
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-Dj1dL0rI.js";
163
163
  import { n as forceFreePortAndWait } from "./ports-CIJavqzS.js";
164
164
  import { spawn, spawnSync } from "node:child_process";
@@ -8601,6 +8601,7 @@ const agentHandlers = {
8601
8601
  let resolvedGroupSpace = groupSpaceRaw || void 0;
8602
8602
  let spawnedByValue = typeof request.spawnedBy === "string" ? request.spawnedBy.trim() : void 0;
8603
8603
  const inputProvenance = normalizeInputProvenance(request.inputProvenance);
8604
+ const requestedWorkspaceDir = typeof request.workspaceDir === "string" && request.workspaceDir.trim() ? request.workspaceDir.trim() : void 0;
8604
8605
  const cached = context.dedupe.get(`agent:${idem}`);
8605
8606
  if (cached) {
8606
8607
  respond(cached.ok, cached.payload, cached.error, { cached: true });
@@ -8725,6 +8726,7 @@ const agentHandlers = {
8725
8726
  label: labelValue,
8726
8727
  spawnedBy: spawnedByValue,
8727
8728
  spawnDepth: entry?.spawnDepth,
8729
+ workspaceDir: requestedWorkspaceDir ?? entry?.workspaceDir,
8728
8730
  channel: entry?.channel ?? request.channel?.trim(),
8729
8731
  groupId: resolvedGroupId ?? entry?.groupId,
8730
8732
  groupChannel: resolvedGroupChannel ?? entry?.groupChannel,
@@ -8878,6 +8880,7 @@ const agentHandlers = {
8878
8880
  runId,
8879
8881
  lane: request.lane,
8880
8882
  extraSystemPrompt: request.extraSystemPrompt,
8883
+ workspaceDir: requestedWorkspaceDir,
8881
8884
  inputProvenance
8882
8885
  }, defaultRuntime, context.deps).then((result) => {
8883
8886
  const payload = {
@@ -12688,7 +12691,7 @@ const nodeHandlers = {
12688
12691
  const p = params;
12689
12692
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
12690
12693
  await respondUnavailableOnThrow(respond, async () => {
12691
- const { handleNodeEvent } = await import("./server-node-events-lbb8M18B.js");
12694
+ const { handleNodeEvent } = await import("./server-node-events-CbVkqOtV.js");
12692
12695
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
12693
12696
  await handleNodeEvent({
12694
12697
  deps: context.deps,