remoteclaw 0.1.0-next.87fb2cd → 0.1.0-next.9da39bb

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 (422) hide show
  1. package/README.md +1 -1
  2. package/dist/{accounts-Dn9h7HHT.js → accounts-B5BNJ_lk.js} +2 -2
  3. package/dist/{accounts-Bexa80SB.js → accounts-BvXnQloJ.js} +1 -1
  4. package/dist/{accounts-Cl_cFv9X.js → accounts-DOwpPNpJ.js} +2 -2
  5. package/dist/{accounts-B1aJFYXr.js → accounts-Y6fBCsx_.js} +2 -2
  6. package/dist/{ack-reactions-B11TAC2D.js → ack-reactions-BFKo3Koo.js} +1 -1
  7. package/dist/{ack-reactions-CDUSdN8O.js → ack-reactions-Dwyidw3T.js} +2 -2
  8. package/dist/{acp-cli-CA1xMmVo.js → acp-cli-BCyjX4K5.js} +4 -8
  9. package/dist/{acp-cli-Dr83tqAg.js → acp-cli-aE-ffske.js} +15 -19
  10. package/dist/{active-listener-VzhWW8W6.js → active-listener-COHBjEry.js} +1 -1
  11. package/dist/{agent-D2RVoS5g.js → agent-AIzSM1vK.js} +27 -55
  12. package/dist/{agent-CFKgqSEH.js → agent-CgX8kUig.js} +35 -63
  13. package/dist/{agent-helpers-CTx5KKJu.js → agent-helpers-D83kfcF9.js} +1 -207
  14. package/dist/{agent-helpers-D_9mS2Ti.js → agent-helpers-Dv4rPlt_.js} +2 -208
  15. package/dist/{agent-scope-C50VuLKh.js → agent-scope-BDF8U7HM.js} +1 -21
  16. package/dist/{agent-scope-9WY5O-KK.js → agent-scope-Dzc3Pxwr.js} +3 -23
  17. package/dist/{agents-BBXCuDMp.js → agents-DVBdkX-G.js} +8 -8
  18. package/dist/{agents.config-p3V3b9u6.js → agents.config-BgeMZRrc.js} +1 -1
  19. package/dist/{agents.config-BPGQ3Qyn.js → agents.config-SHo6gmD5.js} +2 -2
  20. package/dist/{audio-preflight-Dj6hBcFR.js → audio-preflight-BcEEwEC8.js} +11 -11
  21. package/dist/{audio-preflight-BwmCYeuM.js → audio-preflight-zKteixjl.js} +3 -3
  22. package/dist/{audit-DhIKIeXD.js → audit-BmJMYEgJ.js} +30 -19
  23. package/dist/{audit-qgtCT3ik.js → audit-CRs3V3Gm.js} +24 -13
  24. package/dist/{auth-C6VDYgb7.js → auth-BZ9W_93P.js} +4 -4
  25. package/dist/{auth-profiles-CeDgZz_7.js → auth-profiles-DJsaxEsz.js} +2 -2
  26. package/dist/{banner-HCssFZcB.js → banner-W9C_U_lK.js} +1 -1
  27. package/dist/{binaries-X6FW-wD4.js → binaries-DdAb_BxQ.js} +2 -2
  28. package/dist/{bindings-B582pDIa.js → bindings-C6J0GYWO.js} +3 -3
  29. package/dist/{bindings-CRU_udk8.js → bindings-D0yqi_XP.js} +1 -1
  30. package/dist/{bonjour-discovery-BtPaR8vb.js → bonjour-discovery-STZGcDQV.js} +2 -2
  31. package/dist/boot/handler.js +30 -57
  32. package/dist/{browser-cli-TB-GNoZq.js → browser-cli-BvaV-ivh.js} +17 -17
  33. package/dist/{browser-cli-HH45lxP0.js → browser-cli-DE-ol_Wn.js} +4 -4
  34. package/dist/build-info.json +3 -3
  35. package/dist/{call-ByOzoLDI.js → call-DStm6xNU.js} +8 -10
  36. package/dist/{call-BbwtB9Y-.js → call-VMoa73XV.js} +1 -3
  37. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  38. package/dist/{catalog-BqO6yem_.js → catalog-BVgiPlVN.js} +1 -1
  39. package/dist/{catalog-BY7OPtnz.js → catalog-DhWKDMFJ.js} +1 -1
  40. package/dist/{channel-account-context-CjXyzMXE.js → channel-account-context-BlOGpmo5.js} +2 -2
  41. package/dist/{channel-activity-hPfValKp.js → channel-activity-BZtWpdKA.js} +2 -2
  42. package/dist/{channel-activity-BeRrcCd8.js → channel-activity-Bb_Sbkt-.js} +2 -2
  43. package/dist/{channel-options-BQ61blla.js → channel-options-GJjALKXu.js} +3 -3
  44. package/dist/{channel-options-BLdLu0xk.js → channel-options-OcjVSFmE.js} +5 -5
  45. package/dist/{channel-selection-CJXZTxae.js → channel-selection-B5SqfNeA.js} +2 -2
  46. package/dist/{channel-selection-NNPbxnyZ.js → channel-selection-FwTh5pB-.js} +1 -1
  47. package/dist/{channel-web-DmhVkWbP.js → channel-web-BAXPDOsk.js} +18 -18
  48. package/dist/{channel-web-D1_mlyPg.js → channel-web-BoPiMjGj.js} +26 -26
  49. package/dist/{channels-cli-DAu1TXTH.js → channels-cli-CIQlC5iz.js} +52 -52
  50. package/dist/{channels-cli-C4O8pp1S.js → channels-cli-MR1Snp4Y.js} +87 -87
  51. package/dist/{channels-status-issues-BDAHISWe.js → channels-status-issues-DRBiGjad.js} +1 -1
  52. package/dist/{channels-status-issues-DwRDzwrV.js → channels-status-issues-DxKE4Gv8.js} +1 -1
  53. package/dist/{chat-envelope-el7Uo-Fe.js → chat-envelope-CRqgofiw.js} +1 -1
  54. package/dist/{chrome-CNDtczoM.js → chrome-BPS0qqQn.js} +4 -4
  55. package/dist/{chrome-CdcwZN9t.js → chrome-DrFJnK8A.js} +1 -1
  56. package/dist/{chunk-DAjFKt2g.js → chunk-DtPQ4ACP.js} +2 -2
  57. package/dist/{clack-prompter-CabwzmG4.js → clack-prompter-gcnWKHgT.js} +3 -3
  58. package/dist/cli/daemon-cli.js +1 -1
  59. package/dist/cli-D-Bz1t1R.js +130 -0
  60. package/dist/{cli-Ci4DmAyk.js → cli-DxIYdlMx.js} +41 -41
  61. package/dist/{clipboard-B2j4qGIl.js → clipboard-DyO56X0d.js} +1 -1
  62. package/dist/command-logger/handler.js +1 -1
  63. package/dist/{command-registry-DxsFXB5t.js → command-registry-B-ZqoIvL.js} +11 -11
  64. package/dist/{commands-C2uNKRTf.js → commands-CX-o6Gzn.js} +1 -1
  65. package/dist/{commands-CDonBOrw.js → commands-ChY7s9hy.js} +1 -1
  66. package/dist/{commands-registry-CWJv6xe2.js → commands-registry-C-NFTH7P.js} +4 -5
  67. package/dist/{commands-registry-BvESmXoK.js → commands-registry-C_sd8Lmg.js} +5 -6
  68. package/dist/{common-Cp3rsBqx.js → common-XY1OwAbh.js} +1 -1
  69. package/dist/{completion-cli-DD3pVpPn.js → completion-cli-BFZAm27l.js} +2 -2
  70. package/dist/{completion-cli-B-X5nwdT.js → completion-cli-UVOmQ6zG.js} +2 -2
  71. package/dist/{config-BqY7k-L8.js → config-BXKZbG-n.js} +24 -69
  72. package/dist/{config-FHu9Bn4R.js → config-CtIjLqOj.js} +21 -66
  73. package/dist/{config-cli-CPH_PfVk.js → config-cli-BTQy5H3-.js} +4 -4
  74. package/dist/{config-cli-Czvt02PC.js → config-cli-CRplAGa2.js} +10 -10
  75. package/dist/{config-guard-cB5a_ANg.js → config-guard-B6oyGiZ9.js} +2 -2
  76. package/dist/{config-guard-5oI2BiSY.js → config-guard-C485TINq.js} +21 -21
  77. package/dist/{config-validation-J3cJ0OCa.js → config-validation-BAktOB-P.js} +1 -1
  78. package/dist/{config-validation-BPNyd9_3.js → config-validation-BvZBGQog.js} +1 -1
  79. package/dist/{configure-DiQaHI3s.js → configure-BF69cahc.js} +17 -17
  80. package/dist/{configure-Bi_9d94n.js → configure-BSIKQq18.js} +10 -10
  81. package/dist/{constants-BmRFoHl0.js → constants-DQTT0rbk.js} +7 -4
  82. package/dist/{constants-C9WPAluB.js → constants-QiF_zDC2.js} +7 -4
  83. package/dist/{control-auth-q4zZXaoS.js → control-auth-ByQ2UTJl.js} +3 -3
  84. package/dist/{control-auth-D0tpV3ts.js → control-auth-CSw3eEqF.js} +1 -1
  85. package/dist/control-ui/assets/{index-B4ZM1lW1.js → index-CuY3pfh1.js} +798 -820
  86. package/dist/control-ui/assets/index-CuY3pfh1.js.map +1 -0
  87. package/dist/control-ui/assets/{index-PED72sKF.css → index-D_fjkN3g.css} +1 -1
  88. package/dist/control-ui/index.html +2 -2
  89. package/dist/{control-ui-assets-D4yaD8jm.js → control-ui-assets-GJ4R_9nc.js} +2 -2
  90. package/dist/{cron-cli-Bfh7ftYz.js → cron-cli-CZqe2JG5.js} +18 -18
  91. package/dist/{cron-cli-C8j_uslU.js → cron-cli-bjoM1LJG.js} +6 -6
  92. package/dist/{daemon-cli-lTsfNeDm.js → daemon-cli-C6yedkyX.js} +17 -17
  93. package/dist/{daemon-cli-DQFZB1yM.js → daemon-cli-C7WWH6Ep.js} +9 -9
  94. package/dist/daemon-cli.js +29 -82
  95. package/dist/{daemon-install-CcohRvKV.js → daemon-install-D_TMhoqo.js} +4 -4
  96. package/dist/{daemon-install-DrTvAWhM.js → daemon-install-PDNZKHDV.js} +11 -11
  97. package/dist/{daemon-install-helpers-DIUzSFG1.js → daemon-install-helpers-B3iDmuw1.js} +1 -1
  98. package/dist/{daemon-install-helpers-CFGAfRlj.js → daemon-install-helpers-CWPt9X4V.js} +2 -2
  99. package/dist/{deliver-912khjLK.js → deliver-BQagyoLa.js} +6 -6
  100. package/dist/{deliver-D78pwuPC.js → deliver-DjOzd2jc.js} +9 -9
  101. package/dist/{devices-cli-CstkYXzr.js → devices-cli-DLrY-vXI.js} +15 -15
  102. package/dist/{devices-cli-0qDhTgZR.js → devices-cli-a0bPBWE-.js} +3 -3
  103. package/dist/{diagnostics-VC0cz7kX.js → diagnostics-CgSF6bdG.js} +1 -1
  104. package/dist/{diagnostics-HGkN467d.js → diagnostics-pnhexb9O.js} +1 -1
  105. package/dist/{directory-cli-duhBZl2c.js → directory-cli-XQdcVHdI.js} +14 -14
  106. package/dist/{directory-cli-5YXdoVdn.js → directory-cli-hp37Nspg.js} +5 -5
  107. package/dist/{dm-policy-shared-D8lgnmrC.js → dm-policy-shared-38ZSwYRy.js} +2 -2
  108. package/dist/{dm-policy-shared-BBfEyAN1.js → dm-policy-shared-BZRzLFhP.js} +2 -2
  109. package/dist/{dns-cli-11CtErVU.js → dns-cli-D4vlN3bm.js} +2 -2
  110. package/dist/{dns-cli-Sr6SB9ei.js → dns-cli-_FTDx5xD.js} +9 -9
  111. package/dist/{dock-BqNINg7k.js → dock-BtLbLczG.js} +1 -1
  112. package/dist/{dock-O8ArYwed.js → dock-_qq4sBie.js} +6 -6
  113. package/dist/{doctor-completion-B1UlvZFx.js → doctor-completion-NWQY57nZ.js} +1 -1
  114. package/dist/{doctor-completion-C0j7b_f8.js → doctor-completion-Pc12ptB2.js} +2 -2
  115. package/dist/{doctor-config-flow-BiShkCxs.js → doctor-config-flow-D3NAVY4u.js} +8 -8
  116. package/dist/{doctor-config-flow-BVkHcvoj.js → doctor-config-flow-xcnm1Sg5.js} +6 -6
  117. package/dist/{enable-DMIq6evt.js → enable-CJBIf5Q9.js} +1 -1
  118. package/dist/entry.js +1 -3
  119. package/dist/{env-Br2Bl6Ht.js → env-DUb5GiQe.js} +1 -1
  120. package/dist/{exec-C6ACg_Mn.js → exec-D6PvFXKb.js} +1 -1
  121. package/dist/export-html/template.css +0 -36
  122. package/dist/export-html/template.js +1 -32
  123. package/dist/extensionAPI.js +78 -88
  124. package/dist/{fetch-Bmv93nu9.js → fetch-1v6uP2tC.js} +1 -1
  125. package/dist/{gateway-cli-DuMjB8Ff.js → gateway-cli-DK60ibmy.js} +130 -149
  126. package/dist/{gateway-cli-D4cDhvZx.js → gateway-cli-xnU8Zeob.js} +184 -203
  127. package/dist/{gateway-rpc-Dq44SkOv.js → gateway-rpc-b8DDxKNk.js} +1 -1
  128. package/dist/{gateway-rpc-B4jTtupy.js → gateway-rpc-lloSJpSO.js} +3 -3
  129. package/dist/{gmail-setup-utils-BPmUIqso.js → gmail-setup-utils-DcvTRsFv.js} +1 -1
  130. package/dist/{health-SOuaKNRa.js → health-CBn9k6sb.js} +18 -25
  131. package/dist/{health-wr-JDHlc.js → health-DvHxqlAs.js} +26 -33
  132. package/dist/{heartbeat-visibility-ossI_l4t.js → heartbeat-visibility-BjRX-UuR.js} +1 -1
  133. package/dist/{heartbeat-visibility-BxkZjE5m.js → heartbeat-visibility-DZoDleYM.js} +1 -1
  134. package/dist/{helpers-kkeXif0Q.js → helpers-CN0aEvFf.js} +1 -1
  135. package/dist/{hook-runner-global-DJ14gXFP.js → hook-runner-global-DVQOzWKP.js} +4 -4
  136. package/dist/{hooks-cli-eqPYjw4l.js → hooks-cli-BhK-Q2mO.js} +71 -71
  137. package/dist/{hooks-cli-BUTtESiX.js → hooks-cli-DdFgfE3a.js} +43 -43
  138. package/dist/{image-ops-DRdKC0uO.js → image-ops-DBBLmYIV.js} +1 -1
  139. package/dist/{import-DQ6NI4Fz.js → import-B6Xn6yAg.js} +82 -2
  140. package/dist/{import-Be73VPF2.js → import-D2W4jaSE.js} +84 -4
  141. package/dist/{inbound-path-policy-C_Qo8rqg.js → inbound-path-policy-gHabNHWN.js} +1 -1
  142. package/dist/index.js +82 -82
  143. package/dist/{inspect-Dt8hogS3.js → inspect-BAPmGK9E.js} +6 -6
  144. package/dist/{inspect-B1Fq39RC.js → inspect-Cm2C9Ogh.js} +6 -6
  145. package/dist/{installs-pWdqG8HL.js → installs-BCAutccF.js} +1 -1
  146. package/dist/{installs-C8apg11p.js → installs-D1q4YUri.js} +2 -2
  147. package/dist/{ir-Ch9FC9Z_.js → ir-BpaWuxJC.js} +3 -3
  148. package/dist/{loader-u9FC6kYG.js → loader-D8Fp-_-g.js} +88 -309
  149. package/dist/{loader-Cuq-saEl.js → loader-DMtv1-eP.js} +70 -291
  150. package/dist/{local-roots-BrH0Q63K.js → local-roots-CWQNmgUt.js} +1 -1
  151. package/dist/{local-roots-z2u_s7jG.js → local-roots-DJo8GN9l.js} +2 -2
  152. package/dist/{logger-pznB_IdT.js → logger-BiVcvOhw.js} +2 -2
  153. package/dist/{login-DOmWDMeP.js → login-BLWuoXgk.js} +1 -1
  154. package/dist/{login-CYq-visu.js → login-DcLXhiXp.js} +5 -5
  155. package/dist/{login-qr-D85vVatX.js → login-qr-B7xqVGLa.js} +10 -10
  156. package/dist/{login-qr-CXU0wC5K.js → login-qr-CHX7SBSI.js} +2 -2
  157. package/dist/{logs-cli-D7ayUvz_.js → logs-cli-Be_gsxmt.js} +4 -4
  158. package/dist/{logs-cli-Cu2S08Y3.js → logs-cli-DDXsLG4-.js} +14 -14
  159. package/dist/{markdown-tables-hhOWaw8L.js → markdown-tables-42YE9A_H.js} +2 -2
  160. package/dist/{markdown-tables-jrnSPvZ6.js → markdown-tables-Bry8gXRC.js} +1 -1
  161. package/dist/{media-DOQIalam.js → media-BeBx3iHu.js} +30 -78
  162. package/dist/{media-DN7yRfrH.js → media-DNm8s1nv.js} +1 -1
  163. package/dist/{message-action-names-EsOcuFpq.js → message-action-names-BiJJY8F4.js} +17 -17
  164. package/dist/{message-action-names-Dk9kxwRd.js → message-action-names-BxTBtpYU.js} +24 -24
  165. package/dist/{message-channel-BlYrtmIp.js → message-channel-DF4I2vOK.js} +1 -1
  166. package/dist/{net-D6D0wgcF.js → net-Dl7oQfqm.js} +1 -1
  167. package/dist/{node-cli-Q2-n3Fgv.js → node-cli-DploXEZI.js} +1 -1
  168. package/dist/{nodes-cli-C2SoKfCv.js → nodes-cli-Dn27q6Li.js} +3 -3
  169. package/dist/{nodes-cli-BDq-4dHm.js → nodes-cli-yCpAOWVc.js} +15 -15
  170. package/dist/{note-DR8A0G5H.js → note-xRSpyX5s.js} +1 -1
  171. package/dist/{npm-registry-spec-Cobb5KYR.js → npm-registry-spec-BQzh4vvV.js} +1 -1
  172. package/dist/{npm-resolution-BmgD7x45.js → npm-resolution-CV1VtDq6.js} +4 -4
  173. package/dist/{npm-resolution-DNYcV-Br.js → npm-resolution-DY50j4jB.js} +3 -3
  174. package/dist/{onboard-uvDMehqu.js → onboard-66sal4TH.js} +11 -11
  175. package/dist/{onboard-Dy0q82Mj.js → onboard-CRFWNh60.js} +7 -7
  176. package/dist/{onboard-channels-9QS_7iph.js → onboard-channels-C1lJpRWd.js} +20 -20
  177. package/dist/{onboard-channels-EH2wvu6Y.js → onboard-channels-Cv-p_MDh.js} +11 -11
  178. package/dist/{onboard-config-y-2cgT0V.js → onboard-config-CLLvYuqo.js} +17 -2
  179. package/dist/{onboard-config-BCTthQ7J.js → onboard-config-CM9pKGnR.js} +17 -2
  180. package/dist/{onboard-helpers-Jy3345Jk.js → onboard-helpers-CSiK1DGB.js} +4 -4
  181. package/dist/{onboard-helpers-ChPmr3lh.js → onboard-helpers-CfH4S4p-.js} +9 -9
  182. package/dist/{onboard-remote-CM6Yl1oL.js → onboard-remote-Gb6uG0-e.js} +3 -3
  183. package/dist/{onboard-remote-Id80PV28.js → onboard-remote-Umk9b-4Z.js} +1 -1
  184. package/dist/{onboarding-DlXBAIDc.js → onboarding-BCVNKXZi.js} +11 -11
  185. package/dist/{onboarding-BVtzeopT.js → onboarding-BYAmj_f_.js} +14 -14
  186. package/dist/{onboarding.finalize-GIK3ktiW.js → onboarding.finalize-B9Wj2G6v.js} +68 -68
  187. package/dist/{onboarding.finalize-Dve-3p-y.js → onboarding.finalize-XszRDMw9.js} +39 -39
  188. package/dist/{onboarding.gateway-config-DW-09FX5.js → onboarding.gateway-config--b_-yoA6.js} +8 -8
  189. package/dist/{onboarding.gateway-config-BCV5T35-.js → onboarding.gateway-config-D4H5Skqb.js} +25 -25
  190. package/dist/{outbound-CFfJC1j5.js → outbound-0OjyS1ay.js} +4 -4
  191. package/dist/{outbound-CjFRpudN.js → outbound-DVyzk1hn.js} +6 -6
  192. package/dist/{outbound-attachment-BxMSma9v.js → outbound-attachment-CvF-d7SO.js} +2 -2
  193. package/dist/{outbound-attachment-DIiKB_mP.js → outbound-attachment-H1yBQoS2.js} +1 -1
  194. package/dist/{outbound-attachment-o0seS0CP.js → outbound-attachment-rwH8tE_j.js} +1 -1
  195. package/dist/{pairing-cli-BeydfoF9.js → pairing-cli-CoJZ8dTg.js} +6 -6
  196. package/dist/{pairing-cli-GgwzEWJX.js → pairing-cli-Ldq1VdFE.js} +13 -13
  197. package/dist/{pairing-labels-B_53dY5L.js → pairing-labels-BEzEtY3m.js} +1 -1
  198. package/dist/{pairing-labels-BiSZLitI.js → pairing-labels-DNY1LXbl.js} +1 -1
  199. package/dist/{pairing-store-BgAv4uN8.js → pairing-store-DlhFf9Sd.js} +1 -1
  200. package/dist/{pairing-store-CTkD51uW.js → pairing-store-ePSWRBuX.js} +1 -1
  201. package/dist/{path-env-ErEKbxOI.js → path-env-DdE_hfAk.js} +1 -1
  202. package/dist/{plugin-auto-enable-DuPS9XiJ.js → plugin-auto-enable-7lj3ONi8.js} +2 -2
  203. package/dist/{plugin-auto-enable-CloCFyTz.js → plugin-auto-enable-Cd9WE5kB.js} +4 -4
  204. package/dist/{plugin-registry-DnO3azwy.js → plugin-registry-B9resZ4x.js} +4 -4
  205. package/dist/{plugin-registry-D5QsH-IS.js → plugin-registry-oufihHBl.js} +3 -3
  206. package/dist/plugin-sdk/agents/agent-helpers.d.ts +0 -1
  207. package/dist/plugin-sdk/agents/agent-types.d.ts +1 -6
  208. package/dist/plugin-sdk/agents/agent-utils.d.ts +0 -14
  209. package/dist/plugin-sdk/agents/provider-utils.d.ts +0 -1
  210. package/dist/plugin-sdk/agents/subagent-spawn.d.ts +0 -1
  211. package/dist/plugin-sdk/agents/tools/sessions-helpers.d.ts +0 -1
  212. package/dist/plugin-sdk/auto-reply/reply/agent-runner-execution.d.ts +0 -1
  213. package/dist/plugin-sdk/auto-reply/reply/agent-runner-utils.d.ts +0 -2
  214. package/dist/plugin-sdk/auto-reply/reply/commands-status.d.ts +1 -4
  215. package/dist/plugin-sdk/auto-reply/reply/commands-types.d.ts +1 -4
  216. package/dist/plugin-sdk/auto-reply/reply/directive-handling.levels.d.ts +1 -7
  217. package/dist/plugin-sdk/auto-reply/reply/directive-handling.params.d.ts +1 -4
  218. package/dist/plugin-sdk/auto-reply/reply/directive-handling.parse.d.ts +1 -7
  219. package/dist/plugin-sdk/auto-reply/reply/directive-handling.shared.d.ts +1 -4
  220. package/dist/plugin-sdk/auto-reply/reply/directives.d.ts +3 -15
  221. package/dist/plugin-sdk/auto-reply/reply/get-reply-directives.d.ts +1 -5
  222. package/dist/plugin-sdk/auto-reply/reply/get-reply-inline-actions.d.ts +1 -5
  223. package/dist/plugin-sdk/auto-reply/reply/get-reply-run.d.ts +1 -5
  224. package/dist/plugin-sdk/auto-reply/reply/queue/types.d.ts +1 -3
  225. package/dist/plugin-sdk/auto-reply/reply/response-prefix-template.d.ts +4 -6
  226. package/dist/plugin-sdk/auto-reply/reply/session-run-accounting.d.ts +0 -7
  227. package/dist/plugin-sdk/auto-reply/reply/session-updates.d.ts +0 -10
  228. package/dist/plugin-sdk/auto-reply/reply.d.ts +1 -1
  229. package/dist/plugin-sdk/auto-reply/status.d.ts +2 -6
  230. package/dist/plugin-sdk/auto-reply/thinking.d.ts +0 -11
  231. package/dist/plugin-sdk/auto-reply/types.d.ts +1 -2
  232. package/dist/plugin-sdk/commands/agent/session.d.ts +1 -2
  233. package/dist/plugin-sdk/config/defaults.d.ts +0 -1
  234. package/dist/plugin-sdk/config/sessions/types.d.ts +0 -8
  235. package/dist/plugin-sdk/config/types.agent-defaults.d.ts +21 -112
  236. package/dist/plugin-sdk/config/types.messages.d.ts +1 -2
  237. package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +8 -66
  238. package/dist/plugin-sdk/config/zod-schema.agent-runtime.d.ts +2 -13
  239. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +10 -76
  240. package/dist/plugin-sdk/config/zod-schema.d.ts +10 -76
  241. package/dist/plugin-sdk/daemon/constants.d.ts +2 -2
  242. package/dist/plugin-sdk/gateway/protocol/index.d.ts +1 -3
  243. package/dist/plugin-sdk/gateway/protocol/schema/sessions.d.ts +0 -2
  244. package/dist/plugin-sdk/gateway/session-utils.types.d.ts +0 -2
  245. package/dist/plugin-sdk/index.js +34 -95
  246. package/dist/plugin-sdk/middleware/channel-bridge.d.ts +4 -0
  247. package/dist/plugin-sdk/middleware/runtime-factory.d.ts +42 -0
  248. package/dist/plugin-sdk/middleware/types.d.ts +4 -0
  249. package/dist/{plugins-BflZz0sp.js → plugins-BtMu6L8i.js} +1 -1
  250. package/dist/{plugins-BXkDApVh.js → plugins-HyUNaoYP.js} +5 -5
  251. package/dist/{plugins-cli-Cf_RP_bn.js → plugins-cli-DiSLhdtP.js} +73 -73
  252. package/dist/{plugins-cli-DmbjYnO9.js → plugins-cli-ZwfTL788.js} +44 -44
  253. package/dist/{ports-DIYJq-SY.js → ports-DmM4pHmC.js} +3 -3
  254. package/dist/{ports-DPL-Pzfh.js → ports-nkccaDJy.js} +1 -1
  255. package/dist/{program-BaATq6CL.js → program-IV8xqENm.js} +49 -49
  256. package/dist/{program-context-C7b5MQbg.js → program-context-CCQfPhMi.js} +35 -35
  257. package/dist/{progress--dapuyZA.js → progress-C248R1Az.js} +1 -1
  258. package/dist/{prompt-select-styled-aqjxCbwP.js → prompt-select-styled-Dke0P6Lu.js} +19 -19
  259. package/dist/{prompt-select-styled-BAsxl6hj.js → prompt-select-styled-iKOStqrD.js} +31 -31
  260. package/dist/{provider-dispatcher-mAkRbPyH.js → provider-dispatcher-CN8WlGTX.js} +7 -7
  261. package/dist/{provider-dispatcher-B4QMe-I6.js → provider-dispatcher-DaNI6eMi.js} +6 -6
  262. package/dist/{push-apns-CLmNS5AZ.js → push-apns-CHI8oGCz.js} +4 -4
  263. package/dist/{pw-ai-ulOU3Ya1.js → pw-ai-BCATW7oj.js} +13 -13
  264. package/dist/{pw-ai-DuK87zsJ.js → pw-ai-DuWJR2bD.js} +3 -3
  265. package/dist/{qr-cli-hSLixZCe.js → qr-cli-BAbl97GR.js} +2 -2
  266. package/dist/{qr-cli-9WQBnauO.js → qr-cli-x6XLL1gs.js} +9 -9
  267. package/dist/{redact-snapshot-D2P_lRgf.js → redact-snapshot-CYzH7d_A.js} +2 -14
  268. package/dist/{redact-snapshot-BZYLIqe-.js → redact-snapshot-DsVGs4aN.js} +1 -13
  269. package/dist/{register.agent-DZL_fw2K.js → register.agent-CeceQfAP.js} +85 -85
  270. package/dist/{register.agent-CquY2yLI.js → register.agent-u1lNeFpV.js} +51 -51
  271. package/dist/{register.configure-C2HjaKO0.js → register.configure-AUH9J-JC.js} +55 -55
  272. package/dist/register.configure-nSogUhv7.js +130 -0
  273. package/dist/{register.import-CaJ0DS1t.js → register.import-BlsrD54G.js} +6 -6
  274. package/dist/{register.import-Bs-UkOs-.js → register.import-DdLGUSEK.js} +1 -1
  275. package/dist/{register.maintenance-CslelbHK.js → register.maintenance-CuLaszSR.js} +94 -94
  276. package/dist/{register.maintenance-Dd4fn6oX.js → register.maintenance-DTyGossb.js} +58 -58
  277. package/dist/{register.message-D2xmx0xB.js → register.message-BxezY8SV.js} +43 -43
  278. package/dist/{register.message-_Q8ehgQP.js → register.message-qrIalqDa.js} +71 -71
  279. package/dist/{register.onboard-CIupEYmX.js → register.onboard-CEAyr7D4.js} +11 -11
  280. package/dist/{register.onboard-BFSwh5g4.js → register.onboard-CO0NFyXJ.js} +30 -30
  281. package/dist/{register.setup-Bm1Jtx0c.js → register.setup-CMRdfoDN.js} +11 -11
  282. package/dist/{register.setup-7pk1r-54.js → register.setup-DWk6iVd_.js} +30 -30
  283. package/dist/{register.status-health-sessions-C-Pbi-qq.js → register.status-health-sessions-5pEWY3wf.js} +77 -82
  284. package/dist/{register.status-health-sessions-Cn4yWBWw.js → register.status-health-sessions-mMvRo8AQ.js} +40 -40
  285. package/dist/{register.subclis-DXmLofHX.js → register.subclis-9E3Ugk1T.js} +23 -23
  286. package/dist/{replies-BkXDql3c.js → replies-jKtjhQ-s.js} +2 -2
  287. package/dist/{replies-BKrzM0QI.js → replies-pwJGu9Jo.js} +1 -1
  288. package/dist/{reply-n8KWtBQB.js → reply-BbHyKA6K.js} +849 -1239
  289. package/dist/{reply-DSKC8kyS.js → reply-DUQyOCMK.js} +828 -1218
  290. package/dist/{reply-directives-CBeNSCHL.js → reply-directives-BdJZaTkb.js} +2 -2
  291. package/dist/{reply-directives-CD2WycBM.js → reply-directives-C6mKDSxU.js} +1 -1
  292. package/dist/{reply-payloads-CeL_cBnD.js → reply-payloads-B2kcd0dL.js} +6 -6
  293. package/dist/{reply-prefix-4zLS7A1Y.js → reply-prefix-BDI1sLXA.js} +1 -2
  294. package/dist/{reply-prefix-DBLCYiup.js → reply-prefix-SGmUA9cV.js} +1 -2
  295. package/dist/{resolve-route-CBVbY0xS.js → resolve-route-BNRMZ0km.js} +2 -2
  296. package/dist/{resolve-route-BDGdM-l3.js → resolve-route-CrSio4RY.js} +4 -4
  297. package/dist/{response-prefix-template-CSxp9HN5.js → response-prefix-template-C0XvOOPH.js} +4 -6
  298. package/dist/{response-prefix-template-up4REfuR.js → response-prefix-template-CA8pfT6v.js} +4 -6
  299. package/dist/{retry-C81p7BZU.js → retry-bFj4k6Ii.js} +1 -1
  300. package/dist/{run-main-CuA7VmAq.js → run-main-DPXDf7bs.js} +59 -77
  301. package/dist/{runner-z92MWZ3m.js → runner-B-FXPgK0.js} +1 -1
  302. package/dist/{runner-BbLPl1dz.js → runner-BvtNyNts.js} +4 -4
  303. package/dist/{runtime-guard-DZ_xuCc4.js → runtime-guard-CTl7OnCR.js} +1 -1
  304. package/dist/{secure-random-D2IOpBkk.js → secure-random-BJve6bb_.js} +1 -1
  305. package/dist/{security-cli-DP5QJpa5.js → security-cli-B_AEHvW8.js} +11 -11
  306. package/dist/{security-cli-BR3Y1FBJ.js → security-cli-h7bLwDzZ.js} +28 -28
  307. package/dist/{send-CBGSXjfD.js → send-1XO1XSXO.js} +6 -6
  308. package/dist/{send-BWSo3i3H.js → send-8yz2-_HH.js} +10 -10
  309. package/dist/{send-D_DUQJ6H.js → send-AlMsDde2.js} +4 -4
  310. package/dist/{send-DPttDPIR.js → send-B1iHZJdx.js} +6 -6
  311. package/dist/{send-dzS4fa9O.js → send-B2JN7CQJ.js} +5 -5
  312. package/dist/{send-DyftOlFD.js → send-BHlgcDpz.js} +3 -3
  313. package/dist/{send-CRS-OcnW.js → send-BNHQKlx7.js} +7 -7
  314. package/dist/{send-Lij9A7lk.js → send-CGHEEbNo.js} +6 -6
  315. package/dist/{send-0uEtKwU_.js → send-CGKCk8lN.js} +8 -8
  316. package/dist/{send-Bx9bUGav.js → send-CVf8xWQj.js} +4 -4
  317. package/dist/{send-xUPOqzUr.js → send-Cf2gNkoT.js} +4 -4
  318. package/dist/{send-YRVDWfSs.js → send-DJ0Zx-Ma.js} +4 -4
  319. package/dist/{send-B3O7bzYU.js → send-DkTW0Swe.js} +7 -7
  320. package/dist/{send-BkSUAGj6.js → send-KFCtT3Z5.js} +7 -7
  321. package/dist/send-mVVMFwmx.js +11 -0
  322. package/dist/{send-xnwty9cY.js → send-rnY4Ef4N.js} +6 -6
  323. package/dist/{server-LdLsvPPw.js → server-DUElvT3m.js} +6 -6
  324. package/dist/{server-BE5lybcS.js → server-GtJ6JX-O.js} +22 -22
  325. package/dist/{server-lifecycle-B3Rdmq7-.js → server-lifecycle-B4d1rFOm.js} +6 -6
  326. package/dist/{server-lifecycle-CFmE_Adm.js → server-lifecycle-t_S9_eG-.js} +9 -9
  327. package/dist/{server-node-events-d7eK4LBW.js → server-node-events-C5OhVZlR.js} +42 -46
  328. package/dist/{server-node-events-De4WZQQD.js → server-node-events-Cu-NnHZa.js} +20 -24
  329. package/dist/{service-Bjqii5nW.js → service-3Xcd2WIW.js} +2 -2
  330. package/dist/{service-BHos7oX8.js → service-BOIQUlgm.js} +2 -2
  331. package/dist/{session-aUptxSVD.js → session-DMl4z_Wj.js} +1 -1
  332. package/dist/{session-cost-usage-yYi525j3.js → session-cost-usage-DES0ywek.js} +4 -4
  333. package/dist/{session-dirs-BADAi9Iz.js → session-dirs-CHjQfl7x.js} +3 -3
  334. package/dist/{session-utils-CEtEq6bi.js → session-utils-CpZCzfZc.js} +12 -15
  335. package/dist/{session-utils-CiXbZkM2.js → session-utils-R7nW6YZu.js} +14 -17
  336. package/dist/{sessions-Bw4LRnSr.js → sessions-B4ejSv2C.js} +6 -11
  337. package/dist/{sessions--PykPynp.js → sessions-BxAqEHHy.js} +4 -29
  338. package/dist/{status-CrGLegI6.js → status-Dlp6uU5L.js} +17 -24
  339. package/dist/{status-D_3sszaS.js → status-lkm2lXHS.js} +28 -35
  340. package/dist/{status.update-CVnonGHu.js → status.update-DMfgnqeT.js} +1 -1
  341. package/dist/{store-C6w1sB5x.js → store-C_Dj8ASh.js} +2 -2
  342. package/dist/{store-DoOPG3rl.js → store-qGKdk2ZD.js} +10 -35
  343. package/dist/{subagent-registry-C-xI2uK4.js → subagent-registry-CpkkkUbU.js} +16 -21
  344. package/dist/{subagent-registry-Db4Ho_2Y.js → subagent-registry-DzPNxhIk.js} +10 -15
  345. package/dist/{subsystem-CrJCqjAh.js → subsystem-BgxIzx7w.js} +2 -4
  346. package/dist/{subsystem-CDhxwtDd.js → subsystem-rxNDBm7l.js} +2 -2
  347. package/dist/{system-cli-eAk5wVbP.js → system-cli-BZH8XgMa.js} +4 -4
  348. package/dist/{system-cli-CCKzF3uh.js → system-cli-B_HNwxrH.js} +14 -14
  349. package/dist/{systemd-B5lyaCc3.js → systemd-DCwD8aqg.js} +2 -2
  350. package/dist/{systemd-DSnlM3jX.js → systemd-eqdgvF51.js} +1 -1
  351. package/dist/{systemd-linger-_0_-RY4v.js → systemd-linger-CsQTTKKC.js} +1 -1
  352. package/dist/{systemd-linger-DRPSEQVw.js → systemd-linger-KG9RYSlH.js} +2 -2
  353. package/dist/{table-CpmqqcxJ.js → table-CGS1Ml9r.js} +1 -1
  354. package/dist/{tables-D_PTzthR.js → tables-6CkQRTJR.js} +1 -1
  355. package/dist/{tables-DI5LGEr1.js → tables-CamcS9gx.js} +1 -1
  356. package/dist/{tables-DcQUNIvB.js → tables-HN31BKCH.js} +1 -1
  357. package/dist/{tailscale-Dxyz13fn.js → tailscale-dtzyN0aT.js} +1 -1
  358. package/dist/{targets-Cm1X3IyA.js → targets-BEON1rlZ.js} +4 -4
  359. package/dist/{targets-B2vBpQdr.js → targets-BXHW0zVC.js} +97 -25
  360. package/dist/{targets-B54vK3wc.js → targets-BlVk-r3Q.js} +3 -3
  361. package/dist/{targets-DB4vBpIQ.js → targets-CYY3iBkV.js} +91 -19
  362. package/dist/{targets-D7OKVXMI.js → targets-Cvzqesmd.js} +1 -1
  363. package/dist/{targets-DyybKefq.js → targets-IkURIBGL.js} +1 -1
  364. package/dist/thinking-DeEBjYPc.js +88 -0
  365. package/dist/thinking-l-rrvZwu.js +88 -0
  366. package/dist/{tool-images-DVrUJEqc.js → tool-images-C6LHSeSs.js} +2 -2
  367. package/dist/{trash-DzrtBoP1.js → trash-7yJovaAx.js} +1 -1
  368. package/dist/{tui-CyHwc2uX.js → tui-DK5-19m7.js} +7 -80
  369. package/dist/{tui-cli-C9I18SfW.js → tui-cli-BuGYX7LC.js} +10 -10
  370. package/dist/{tui-cli-C7kQj9ef.js → tui-cli-u_3fCMg-.js} +26 -26
  371. package/dist/{tui-cHd20SZm.js → tui-gEa1FBSQ.js} +13 -86
  372. package/dist/{update-IX7vdqA8.js → update-COwDCdga.js} +2 -2
  373. package/dist/{update-DeQGoaIC.js → update-NMU1foyo.js} +2 -2
  374. package/dist/{update-cli-C52dmo3x.js → update-cli-B5gans2I.js} +62 -62
  375. package/dist/{update-cli-DY_iE1E5.js → update-cli-sW0u7h-c.js} +100 -100
  376. package/dist/{usage-B--dL37U.js → usage-CAM9Q3bX.js} +91 -122
  377. package/dist/{web-DMweaNnG.js → web-BnhT_Tfr.js} +14 -16
  378. package/dist/web-CcocPSQX.js +76 -0
  379. package/dist/{web-Dquzwqf4.js → web-D5JAxqw3.js} +32 -32
  380. package/dist/{webhooks-cli-CqFX8Ywl.js → webhooks-cli-C3H1XPNG.js} +10 -10
  381. package/dist/{webhooks-cli-BpZHQlVd.js → webhooks-cli-DqSPJMDG.js} +2 -2
  382. package/dist/{whatsapp-actions-C31Zdwez.js → whatsapp-actions-CDqFo3GP.js} +22 -22
  383. package/dist/{whatsapp-actions-DaA291Ya.js → whatsapp-actions-DNKQ1h0G.js} +9 -9
  384. package/dist/{workspace-B8qk__ff.js → workspace-C-QwN1zu.js} +3 -3
  385. package/dist/{workspace-B4ZvVYT9.js → workspace-CEBaVctV.js} +1 -1
  386. package/extensions/matrix/src/matrix/monitor/replies.ts +0 -24
  387. package/extensions/mattermost/src/mattermost/monitor-helpers.ts +0 -1
  388. package/package.json +3 -3
  389. package/dist/cli-BuMX-jRY.js +0 -130
  390. package/dist/control-ui/assets/index-B4ZM1lW1.js.map +0 -1
  391. package/dist/defaults-B5KStIBg.js +0 -7
  392. package/dist/defaults-xUAL2Z-F.js +0 -7
  393. package/dist/plugin-sdk/agents/agent-helpers/thinking.d.ts +0 -5
  394. package/dist/plugin-sdk/agents/defaults.d.ts +0 -3
  395. package/dist/plugin-sdk/auto-reply/model-runtime.d.ts +0 -17
  396. package/dist/plugin-sdk/config/model-input.d.ts +0 -9
  397. package/dist/plugin-sdk/config/zod-schema.agent-model.d.ts +0 -5
  398. package/dist/plugin-sdk/sessions/model-overrides.d.ts +0 -14
  399. package/dist/plugin-sdk/telegram/reasoning-lane-coordinator.d.ts +0 -18
  400. package/dist/register.configure-D7Di47Lb.js +0 -130
  401. package/dist/send-uchxcHYC.js +0 -11
  402. package/dist/session-key-5YLnn_qf.js +0 -235
  403. package/dist/web-CMxp78WA.js +0 -76
  404. /package/dist/{ansi-D04X81yq.js → ansi-aRwLYlzD.js} +0 -0
  405. /package/dist/{audio-DPOuhNq7.js → audio-B_mzy948.js} +0 -0
  406. /package/dist/{audio-VBcVDa08.js → audio-DDvXRwh-.js} +0 -0
  407. /package/dist/{client-DdpmATKq.js → client-CwnX0nXo.js} +0 -0
  408. /package/dist/{credentials-DFsi1_e8.js → credentials-C82aU5z-.js} +0 -0
  409. /package/dist/{fetch-C6XKGA11.js → fetch-Du9BJ20J.js} +0 -0
  410. /package/dist/{format-relative-79_Y1n2Y.js → format-relative-C6kUHuOj.js} +0 -0
  411. /package/dist/{inbound-context-DS_kpIYI.js → inbound-context-D94rw0Oq.js} +0 -0
  412. /package/dist/{input-provenance-Bn6thJNm.js → input-provenance-BDPOaXFk.js} +0 -0
  413. /package/dist/{json-files-CmpYSF4G.js → json-files-Ct2lDInr.js} +0 -0
  414. /package/dist/{lanes-ByWMUgrz.js → lanes-DKkroN9D.js} +0 -0
  415. /package/dist/{retry-CxXVRdes.js → retry-BbVJvOUo.js} +0 -0
  416. /package/dist/{runtime-DJNp29jv.js → runtime-Ds3E9SqF.js} +0 -0
  417. /package/dist/{secret-equal-BbHdTtqY.js → secret-equal-DgjJcvjv.js} +0 -0
  418. /package/dist/{strip-inbound-meta-jy3bkUab.js → strip-inbound-meta-B21Qdh8I.js} +0 -0
  419. /package/dist/{tailnet-PnMrjwGT.js → tailnet-wUV6epIk.js} +0 -0
  420. /package/dist/{targets-C-2xwh9f.js → targets-DfXObWaL.js} +0 -0
  421. /package/dist/{usage-format-DAaPzr_z.js → usage-format-C6Iz_Ws9.js} +0 -0
  422. /package/dist/{usage-BtQcAnf6.js → usage-sF5tij7A.js} +0 -0
@@ -18,6 +18,28 @@ const ENV_VAR_PREFIX_NEW = "REMOTECLAW_";
18
18
  const OPENCLAW_CONFIG_FILENAME = "openclaw.json";
19
19
  const REMOTECLAW_CONFIG_FILENAME = "remoteclaw.json";
20
20
  /**
21
+ * Default agent id used by OpenClaw when no explicit id is set.
22
+ */
23
+ const DEFAULT_AGENT_ID = "main";
24
+ /**
25
+ * Default workspace path for the default agent.
26
+ */
27
+ const DEFAULT_WORKSPACE = "~/.remoteclaw/workspace";
28
+ /**
29
+ * Keys whose presence indicates the config has substantive content
30
+ * (i.e. it's a real config, not an empty/skeleton file).
31
+ */
32
+ const SUBSTANTIVE_CONFIG_KEYS = new Set([
33
+ "channels",
34
+ "plugins",
35
+ "gateway",
36
+ "bindings",
37
+ "broadcast",
38
+ "cron",
39
+ "hooks",
40
+ "discovery"
41
+ ]);
42
+ /**
21
43
  * Transform config content by replacing OPENCLAW_* env var references
22
44
  * with REMOTECLAW_* equivalents.
23
45
  *
@@ -49,6 +71,63 @@ function transformConfigContent(content) {
49
71
  };
50
72
  }
51
73
  /**
74
+ * Materialize implicit OpenClaw workspace defaults into the main config JSON.
75
+ *
76
+ * OpenClaw had a three-tier workspace resolution chain that was removed in
77
+ * #278 and #298. After import, configs that relied on those implicit defaults
78
+ * fail validation. This function makes those defaults explicit:
79
+ *
80
+ * 1. For each agent in agents.list[] without workspace:
81
+ * - Use agents.defaults.workspace if set
82
+ * - Else default agent → ~/.remoteclaw/workspace
83
+ * - Else non-default → ~/.remoteclaw/workspace-{id}
84
+ * 2. If agents.list is empty/missing but config has substantive content,
85
+ * create a default agent entry.
86
+ * 3. Remove agents.defaults.workspace after consuming it.
87
+ */
88
+ function materializeWorkspaceDefaults(jsonContent) {
89
+ let config;
90
+ try {
91
+ config = JSON.parse(jsonContent);
92
+ } catch {
93
+ return jsonContent;
94
+ }
95
+ if (typeof config !== "object" || config === null || Array.isArray(config)) return jsonContent;
96
+ const agents = config.agents;
97
+ const agentsList = agents?.list ?? [];
98
+ const defaultsWorkspace = typeof (agents?.defaults)?.workspace === "string" ? agents.defaults.workspace : void 0;
99
+ const hasSubstantiveContent = Object.keys(config).some((key) => SUBSTANTIVE_CONFIG_KEYS.has(key));
100
+ let mutated = false;
101
+ if (agentsList.length === 0 && hasSubstantiveContent) {
102
+ const newAgents = agents ?? {};
103
+ newAgents.list = [{
104
+ id: DEFAULT_AGENT_ID,
105
+ workspace: DEFAULT_WORKSPACE
106
+ }];
107
+ config.agents = newAgents;
108
+ mutated = true;
109
+ } else for (const entry of agentsList) {
110
+ if (typeof entry.workspace === "string" && entry.workspace.trim()) continue;
111
+ if (defaultsWorkspace) entry.workspace = defaultsWorkspace;
112
+ else {
113
+ const id = typeof entry.id === "string" ? entry.id.trim() : "";
114
+ entry.workspace = entry.default === true || id === DEFAULT_AGENT_ID || agentsList.length === 1 ? DEFAULT_WORKSPACE : `~/.remoteclaw/workspace-${id || DEFAULT_AGENT_ID}`;
115
+ }
116
+ mutated = true;
117
+ }
118
+ if (defaultsWorkspace && config.agents) {
119
+ const defaults = config.agents.defaults;
120
+ if (defaults) {
121
+ delete defaults.workspace;
122
+ if (Object.keys(defaults).length === 0) delete config.agents.defaults;
123
+ mutated = true;
124
+ }
125
+ }
126
+ if (!mutated) return jsonContent;
127
+ const indent = jsonContent.match(/^(\s+)"/m)?.[1] ?? " ";
128
+ return JSON.stringify(config, null, indent) + "\n";
129
+ }
130
+ /**
52
131
  * Determine the target filename for a source file.
53
132
  * Renames openclaw.json -> remoteclaw.json at any directory level.
54
133
  */
@@ -81,11 +160,12 @@ async function copyDirectory(params) {
81
160
  });
82
161
  else if (entry.isFile()) if (isConfigFile(entry.name)) {
83
162
  const { content: transformed, renames } = transformConfigContent(await fsp.readFile(sourcePath, "utf-8"));
84
- if (renames.length > 0) {
163
+ const final = entry.name === OPENCLAW_CONFIG_FILENAME ? materializeWorkspaceDefaults(transformed) : transformed;
164
+ if (renames.length > 0 || final !== transformed) {
85
165
  result.transformedFiles.push(targetPath);
86
166
  result.envVarRenames.push(...renames);
87
167
  }
88
- if (!dryRun) await fsp.writeFile(targetPath, transformed, "utf-8");
168
+ if (!dryRun) await fsp.writeFile(targetPath, final, "utf-8");
89
169
  result.copiedFiles.push(targetPath);
90
170
  } else {
91
171
  if (!dryRun) await fsp.copyFile(sourcePath, targetPath);
@@ -1,7 +1,7 @@
1
1
  import { p as resolveNewStateDir } from "./paths-BTaH3rLn.js";
2
2
  import { b as shortenHomePath } from "./utils-C5daYcFn.js";
3
- import { n as defaultRuntime } from "./runtime-DJNp29jv.js";
4
- import { t as createClackPrompter } from "./clack-prompter-CabwzmG4.js";
3
+ import { n as defaultRuntime } from "./runtime-Ds3E9SqF.js";
4
+ import { t as createClackPrompter } from "./clack-prompter-gcnWKHgT.js";
5
5
  import fs from "node:fs";
6
6
  import path from "node:path";
7
7
  import fs$1 from "node:fs/promises";
@@ -20,6 +20,28 @@ const ENV_VAR_PREFIX_NEW = "REMOTECLAW_";
20
20
  const OPENCLAW_CONFIG_FILENAME = "openclaw.json";
21
21
  const REMOTECLAW_CONFIG_FILENAME = "remoteclaw.json";
22
22
  /**
23
+ * Default agent id used by OpenClaw when no explicit id is set.
24
+ */
25
+ const DEFAULT_AGENT_ID = "main";
26
+ /**
27
+ * Default workspace path for the default agent.
28
+ */
29
+ const DEFAULT_WORKSPACE = "~/.remoteclaw/workspace";
30
+ /**
31
+ * Keys whose presence indicates the config has substantive content
32
+ * (i.e. it's a real config, not an empty/skeleton file).
33
+ */
34
+ const SUBSTANTIVE_CONFIG_KEYS = new Set([
35
+ "channels",
36
+ "plugins",
37
+ "gateway",
38
+ "bindings",
39
+ "broadcast",
40
+ "cron",
41
+ "hooks",
42
+ "discovery"
43
+ ]);
44
+ /**
23
45
  * Transform config content by replacing OPENCLAW_* env var references
24
46
  * with REMOTECLAW_* equivalents.
25
47
  *
@@ -51,6 +73,63 @@ function transformConfigContent(content) {
51
73
  };
52
74
  }
53
75
  /**
76
+ * Materialize implicit OpenClaw workspace defaults into the main config JSON.
77
+ *
78
+ * OpenClaw had a three-tier workspace resolution chain that was removed in
79
+ * #278 and #298. After import, configs that relied on those implicit defaults
80
+ * fail validation. This function makes those defaults explicit:
81
+ *
82
+ * 1. For each agent in agents.list[] without workspace:
83
+ * - Use agents.defaults.workspace if set
84
+ * - Else default agent → ~/.remoteclaw/workspace
85
+ * - Else non-default → ~/.remoteclaw/workspace-{id}
86
+ * 2. If agents.list is empty/missing but config has substantive content,
87
+ * create a default agent entry.
88
+ * 3. Remove agents.defaults.workspace after consuming it.
89
+ */
90
+ function materializeWorkspaceDefaults(jsonContent) {
91
+ let config;
92
+ try {
93
+ config = JSON.parse(jsonContent);
94
+ } catch {
95
+ return jsonContent;
96
+ }
97
+ if (typeof config !== "object" || config === null || Array.isArray(config)) return jsonContent;
98
+ const agents = config.agents;
99
+ const agentsList = agents?.list ?? [];
100
+ const defaultsWorkspace = typeof (agents?.defaults)?.workspace === "string" ? agents.defaults.workspace : void 0;
101
+ const hasSubstantiveContent = Object.keys(config).some((key) => SUBSTANTIVE_CONFIG_KEYS.has(key));
102
+ let mutated = false;
103
+ if (agentsList.length === 0 && hasSubstantiveContent) {
104
+ const newAgents = agents ?? {};
105
+ newAgents.list = [{
106
+ id: DEFAULT_AGENT_ID,
107
+ workspace: DEFAULT_WORKSPACE
108
+ }];
109
+ config.agents = newAgents;
110
+ mutated = true;
111
+ } else for (const entry of agentsList) {
112
+ if (typeof entry.workspace === "string" && entry.workspace.trim()) continue;
113
+ if (defaultsWorkspace) entry.workspace = defaultsWorkspace;
114
+ else {
115
+ const id = typeof entry.id === "string" ? entry.id.trim() : "";
116
+ entry.workspace = entry.default === true || id === DEFAULT_AGENT_ID || agentsList.length === 1 ? DEFAULT_WORKSPACE : `~/.remoteclaw/workspace-${id || DEFAULT_AGENT_ID}`;
117
+ }
118
+ mutated = true;
119
+ }
120
+ if (defaultsWorkspace && config.agents) {
121
+ const defaults = config.agents.defaults;
122
+ if (defaults) {
123
+ delete defaults.workspace;
124
+ if (Object.keys(defaults).length === 0) delete config.agents.defaults;
125
+ mutated = true;
126
+ }
127
+ }
128
+ if (!mutated) return jsonContent;
129
+ const indent = jsonContent.match(/^(\s+)"/m)?.[1] ?? " ";
130
+ return JSON.stringify(config, null, indent) + "\n";
131
+ }
132
+ /**
54
133
  * Determine the target filename for a source file.
55
134
  * Renames openclaw.json -> remoteclaw.json at any directory level.
56
135
  */
@@ -83,11 +162,12 @@ async function copyDirectory(params) {
83
162
  });
84
163
  else if (entry.isFile()) if (isConfigFile(entry.name)) {
85
164
  const { content: transformed, renames } = transformConfigContent(await fs$1.readFile(sourcePath, "utf-8"));
86
- if (renames.length > 0) {
165
+ const final = entry.name === OPENCLAW_CONFIG_FILENAME ? materializeWorkspaceDefaults(transformed) : transformed;
166
+ if (renames.length > 0 || final !== transformed) {
87
167
  result.transformedFiles.push(targetPath);
88
168
  result.envVarRenames.push(...renames);
89
169
  }
90
- if (!dryRun) await fs$1.writeFile(targetPath, transformed, "utf-8");
170
+ if (!dryRun) await fs$1.writeFile(targetPath, final, "utf-8");
91
171
  result.copiedFiles.push(targetPath);
92
172
  } else {
93
173
  if (!dryRun) await fs$1.copyFile(sourcePath, targetPath);
@@ -1,4 +1,4 @@
1
- import { t as isTruthyEnvValue } from "./env-Br2Bl6Ht.js";
1
+ import { t as isTruthyEnvValue } from "./env-DUb5GiQe.js";
2
2
  import { i as sanitizeHostExecEnv } from "./host-env-security-Bms2_EMV.js";
3
3
  import fs from "node:fs";
4
4
  import os from "node:os";
package/dist/index.js CHANGED
@@ -1,106 +1,106 @@
1
1
  #!/usr/bin/env node
2
2
  import "./paths-BTaH3rLn.js";
3
3
  import { I as isRich, K as ALLOWED_LOG_LEVELS, L as theme, S as toWhatsappJid, Y as tryParseLogLevel, f as normalizeE164, j as setVerbose, n as assertWebChannel, s as escapeRegExp } from "./utils-C5daYcFn.js";
4
- import "./agent-helpers-D_9mS2Ti.js";
5
- import { Ct as resolveCommitHash, t as getReplyFromConfig } from "./reply-n8KWtBQB.js";
6
- import "./agent-scope-9WY5O-KK.js";
7
- import { r as enableConsoleCapture } from "./subsystem-CrJCqjAh.js";
8
- import { n as defaultRuntime } from "./runtime-DJNp29jv.js";
9
- import { n as visibleWidth } from "./ansi-D04X81yq.js";
10
- import "./subagent-registry-C-xI2uK4.js";
11
- import "./message-channel-BlYrtmIp.js";
12
- import "./targets-Cm1X3IyA.js";
13
- import { ft as loadDotEnv, i as loadConfig } from "./config-BqY7k-L8.js";
14
- import { r as normalizeEnv, t as isTruthyEnvValue } from "./env-Br2Bl6Ht.js";
4
+ import { St as resolveCommitHash, t as getReplyFromConfig } from "./reply-BbHyKA6K.js";
5
+ import { r as enableConsoleCapture } from "./subsystem-BgxIzx7w.js";
6
+ import { n as defaultRuntime } from "./runtime-Ds3E9SqF.js";
7
+ import { n as visibleWidth } from "./ansi-aRwLYlzD.js";
8
+ import "./agent-scope-Dzc3Pxwr.js";
9
+ import "./subagent-registry-CpkkkUbU.js";
10
+ import "./message-channel-DF4I2vOK.js";
11
+ import "./targets-BEON1rlZ.js";
12
+ import { ft as loadDotEnv, i as loadConfig } from "./config-BXKZbG-n.js";
13
+ import { r as normalizeEnv, t as isTruthyEnvValue } from "./env-DUb5GiQe.js";
15
14
  import "./host-env-security-Bms2_EMV.js";
16
- import "./inbound-path-policy-C_Qo8rqg.js";
15
+ import "./inbound-path-policy-gHabNHWN.js";
17
16
  import { r as VERSION } from "./env-vars-CLGbxdpL.js";
18
- import "./dock-O8ArYwed.js";
19
- import { d as installUnhandledRejectionHandler, v as applyTemplate } from "./runner-BbLPl1dz.js";
20
- import "./logger-pznB_IdT.js";
17
+ import "./dock-_qq4sBie.js";
18
+ import { d as installUnhandledRejectionHandler, v as applyTemplate } from "./runner-BvtNyNts.js";
19
+ import "./logger-BiVcvOhw.js";
21
20
  import "./ip-C9q3Oq20.js";
22
21
  import "./ssrf-m7kFIobZ.js";
23
- import "./local-roots-z2u_s7jG.js";
24
- import { n as runExec, t as runCommandWithTimeout } from "./exec-C6ACg_Mn.js";
25
- import "./tool-images-DVrUJEqc.js";
22
+ import "./local-roots-DJo8GN9l.js";
23
+ import { n as runExec, t as runCommandWithTimeout } from "./exec-D6PvFXKb.js";
24
+ import "./tool-images-C6LHSeSs.js";
26
25
  import "./redact-BsoXOV1y.js";
27
26
  import { r as formatUncaughtError } from "./errors-BpAidYqH.js";
28
27
  import "./mime-BS3jhcZE.js";
29
28
  import { n as resolveCliName, t as replaceCliName } from "./cli-name-BicfmwQX.js";
30
- import "./auth-profiles-CeDgZz_7.js";
29
+ import "./auth-profiles-DJsaxEsz.js";
31
30
  import "./file-lock-CIvloidc.js";
32
- import "./plugins-BXkDApVh.js";
33
- import "./accounts-B1aJFYXr.js";
34
- import "./accounts-Dn9h7HHT.js";
35
- import "./accounts-Cl_cFv9X.js";
36
- import "./bindings-B582pDIa.js";
31
+ import "./plugins-HyUNaoYP.js";
32
+ import "./accounts-Y6fBCsx_.js";
33
+ import "./accounts-B5BNJ_lk.js";
34
+ import "./accounts-DOwpPNpJ.js";
35
+ import "./bindings-C6J0GYWO.js";
37
36
  import "./tokens-qLtFu3nT.js";
38
- import "./reply-payloads-CeL_cBnD.js";
39
- import "./targets-B2vBpQdr.js";
40
- import "./loader-u9FC6kYG.js";
41
- import "./commands-C2uNKRTf.js";
42
- import "./commands-registry-BvESmXoK.js";
43
- import "./pairing-store-BgAv4uN8.js";
44
- import "./fetch-C6XKGA11.js";
45
- import "./retry-CxXVRdes.js";
46
- import "./client-DdpmATKq.js";
47
- import { m as resolveStorePath } from "./chat-envelope-el7Uo-Fe.js";
48
- import { L as deriveSessionKey, R as resolveSessionKey, n as loadSessionStore, s as saveSessionStore } from "./store-DoOPG3rl.js";
49
- import "./strip-inbound-meta-jy3bkUab.js";
50
- import "./audio-DPOuhNq7.js";
51
- import "./call-ByOzoLDI.js";
52
- import "./net-D6D0wgcF.js";
53
- import "./tailnet-PnMrjwGT.js";
54
- import "./lanes-ByWMUgrz.js";
55
- import "./response-prefix-template-CSxp9HN5.js";
56
- import "./image-ops-DRdKC0uO.js";
37
+ import "./reply-payloads-B2kcd0dL.js";
38
+ import "./targets-BXHW0zVC.js";
39
+ import "./loader-D8Fp-_-g.js";
40
+ import "./commands-CX-o6Gzn.js";
41
+ import "./commands-registry-C_sd8Lmg.js";
42
+ import "./pairing-store-DlhFf9Sd.js";
43
+ import "./fetch-Du9BJ20J.js";
44
+ import "./retry-BbVJvOUo.js";
45
+ import "./client-CwnX0nXo.js";
46
+ import { m as resolveStorePath } from "./chat-envelope-CRqgofiw.js";
47
+ import { L as deriveSessionKey, R as resolveSessionKey, n as loadSessionStore, s as saveSessionStore } from "./store-qGKdk2ZD.js";
48
+ import "./strip-inbound-meta-B21Qdh8I.js";
49
+ import "./audio-B_mzy948.js";
50
+ import "./call-DStm6xNU.js";
51
+ import "./net-Dl7oQfqm.js";
52
+ import "./tailnet-wUV6epIk.js";
53
+ import "./lanes-DKkroN9D.js";
54
+ import "./response-prefix-template-C0XvOOPH.js";
55
+ import "./agent-helpers-Dv4rPlt_.js";
56
+ import "./image-ops-DBBLmYIV.js";
57
57
  import "./tool-display-B-nr7cSF.js";
58
- import "./channel-activity-BeRrcCd8.js";
59
- import "./send-0uEtKwU_.js";
58
+ import "./channel-activity-Bb_Sbkt-.js";
59
+ import "./send-CGKCk8lN.js";
60
60
  import "./fs-safe-DkBhNAc3.js";
61
- import "./ir-Ch9FC9Z_.js";
62
- import "./chunk-DAjFKt2g.js";
63
- import "./markdown-tables-hhOWaw8L.js";
61
+ import "./ir-BpaWuxJC.js";
62
+ import "./chunk-DtPQ4ACP.js";
63
+ import "./markdown-tables-42YE9A_H.js";
64
64
  import "./render-CCLsW6Lz.js";
65
- import "./tables-D_PTzthR.js";
66
- import "./session-cost-usage-yYi525j3.js";
67
- import "./common-Cp3rsBqx.js";
68
- import "./reply-directives-CBeNSCHL.js";
69
- import { r as waitForever, t as monitorWebChannel } from "./channel-web-D1_mlyPg.js";
70
- import "./outbound-CjFRpudN.js";
71
- import "./ack-reactions-CDUSdN8O.js";
72
- import "./session-aUptxSVD.js";
73
- import "./resolve-route-BDGdM-l3.js";
74
- import "./provider-dispatcher-mAkRbPyH.js";
65
+ import "./tables-6CkQRTJR.js";
66
+ import "./session-cost-usage-DES0ywek.js";
67
+ import "./common-XY1OwAbh.js";
68
+ import "./reply-directives-BdJZaTkb.js";
69
+ import { r as waitForever, t as monitorWebChannel } from "./channel-web-BoPiMjGj.js";
70
+ import "./outbound-DVyzk1hn.js";
71
+ import "./ack-reactions-Dwyidw3T.js";
72
+ import "./session-DMl4z_Wj.js";
73
+ import "./resolve-route-CrSio4RY.js";
74
+ import "./provider-dispatcher-CN8WlGTX.js";
75
75
  import "./store-BPZo49zT.js";
76
- import "./reply-prefix-4zLS7A1Y.js";
77
- import "./login-CYq-visu.js";
78
- import { o as createDefaultDeps } from "./agent-CFKgqSEH.js";
76
+ import "./reply-prefix-SGmUA9cV.js";
77
+ import "./login-DcLXhiXp.js";
78
+ import { o as createDefaultDeps } from "./agent-CgX8kUig.js";
79
79
  import { t as promptYesNo } from "./prompt-BVZVovoB.js";
80
- import { t as ensureBinary } from "./binaries-X6FW-wD4.js";
80
+ import { t as ensureBinary } from "./binaries-DdAb_BxQ.js";
81
81
  import { t as isMainModule } from "./is-main-DN8-sNR5.js";
82
- import { t as ensureRemoteClawCliOnPath } from "./path-env-ErEKbxOI.js";
83
- import { i as handlePortError, n as describePortOwner, r as ensurePortAvailable, t as PortInUseError } from "./ports-DIYJq-SY.js";
84
- import { t as assertSupportedRuntime } from "./runtime-guard-DZ_xuCc4.js";
85
- import "./ports-DPL-Pzfh.js";
82
+ import { t as ensureRemoteClawCliOnPath } from "./path-env-DdE_hfAk.js";
83
+ import { i as handlePortError, n as describePortOwner, r as ensurePortAvailable, t as PortInUseError } from "./ports-DmM4pHmC.js";
84
+ import { t as assertSupportedRuntime } from "./runtime-guard-CTl7OnCR.js";
85
+ import "./ports-nkccaDJy.js";
86
86
  import { a as hasFlag, i as getVerboseFlag, n as getCommandPath, o as hasHelpOrVersion, s as hasRootVersionAlias } from "./argv-Co-b9Zsc.js";
87
- import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-C7b5MQbg.js";
88
- import "./catalog-BY7OPtnz.js";
89
- import "./send-BkSUAGj6.js";
90
- import "./send-Lij9A7lk.js";
91
- import "./send-BWSo3i3H.js";
87
+ import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-CCQfPhMi.js";
88
+ import "./catalog-DhWKDMFJ.js";
89
+ import "./send-KFCtT3Z5.js";
90
+ import "./send-CGHEEbNo.js";
91
+ import "./send-8yz2-_HH.js";
92
92
  import "./proxy-DL3MD6-P.js";
93
- import "./replies-BkXDql3c.js";
94
- import "./channel-selection-CJXZTxae.js";
95
- import "./deliver-D78pwuPC.js";
96
- import "./outbound-attachment-DIiKB_mP.js";
93
+ import "./replies-jKtjhQ-s.js";
94
+ import "./channel-selection-B5SqfNeA.js";
95
+ import "./deliver-DjOzd2jc.js";
96
+ import "./outbound-attachment-H1yBQoS2.js";
97
97
  import "./delivery-queue-CxVRi4tw.js";
98
- import "./send-dzS4fa9O.js";
99
- import "./onboard-helpers-ChPmr3lh.js";
98
+ import "./send-B2JN7CQJ.js";
99
+ import "./onboard-helpers-CfH4S4p-.js";
100
100
  import "./prompt-style-D0LUnqXi.js";
101
- import "./pairing-labels-BiSZLitI.js";
102
- import "./plugin-registry-DnO3azwy.js";
103
- import { n as resolveCliChannelOptions } from "./channel-options-BLdLu0xk.js";
101
+ import "./pairing-labels-BEzEtY3m.js";
102
+ import "./plugin-registry-B9resZ4x.js";
103
+ import { n as resolveCliChannelOptions } from "./channel-options-OcjVSFmE.js";
104
104
  import { t as formatDocsLink } from "./links-Cm43Vcft.js";
105
105
  import process$1 from "node:process";
106
106
  import { fileURLToPath } from "node:url";
@@ -520,13 +520,13 @@ function registerPreActionHooks(program, programVersion) {
520
520
  if (cliLogLevel) process.env.REMOTECLAW_LOG_LEVEL = cliLogLevel;
521
521
  if (!verbose) process.env.NODE_NO_WARNINGS ??= "1";
522
522
  if (commandPath[0] === "doctor" || commandPath[0] === "completion") return;
523
- const { ensureConfigReady } = await import("./config-guard-5oI2BiSY.js");
523
+ const { ensureConfigReady } = await import("./config-guard-C485TINq.js");
524
524
  await ensureConfigReady({
525
525
  runtime: defaultRuntime,
526
526
  commandPath
527
527
  });
528
528
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
529
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-DnO3azwy.js").then((n) => n.n);
529
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-B9resZ4x.js").then((n) => n.n);
530
530
  ensurePluginRegistryLoaded();
531
531
  }
532
532
  });
@@ -1,9 +1,9 @@
1
1
  import { t as formatCliCommand } from "./command-format-CVfo8I5f.js";
2
- import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, n as GATEWAY_SERVICE_KIND, r as GATEWAY_SERVICE_MARKER } from "./constants-BmRFoHl0.js";
3
- import { a as isVersionManagedNodePath, c as resolveSystemNodePath, i as isSystemNodePath, l as isBunRuntime, r as getMinimalServicePathPartsFromEnv, u as isNodeRuntime } from "./daemon-install-helpers-DIUzSFG1.js";
4
- import { o as resolveSystemdUserUnitPath } from "./systemd-DSnlM3jX.js";
5
- import { c as resolveLaunchAgentPlistPath, n as execSchtasks } from "./service-Bjqii5nW.js";
6
- import { n as formatRuntimeStatusWithDetails } from "./diagnostics-VC0cz7kX.js";
2
+ import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, n as GATEWAY_SERVICE_KIND, r as GATEWAY_SERVICE_MARKER } from "./constants-QiF_zDC2.js";
3
+ import { a as isVersionManagedNodePath, c as resolveSystemNodePath, i as isSystemNodePath, l as isBunRuntime, r as getMinimalServicePathPartsFromEnv, u as isNodeRuntime } from "./daemon-install-helpers-B3iDmuw1.js";
4
+ import { o as resolveSystemdUserUnitPath } from "./systemd-eqdgvF51.js";
5
+ import { c as resolveLaunchAgentPlistPath, n as execSchtasks } from "./service-3Xcd2WIW.js";
6
+ import { n as formatRuntimeStatusWithDetails } from "./diagnostics-CgSF6bdG.js";
7
7
  import path from "node:path";
8
8
  import fsp from "node:fs/promises";
9
9
 
@@ -321,7 +321,7 @@ function hasGatewayServiceMarker(content) {
321
321
  function isRemoteClawGatewayLaunchdService(label, contents) {
322
322
  if (hasGatewayServiceMarker(contents)) return true;
323
323
  if (!contents.toLowerCase().includes("gateway")) return false;
324
- return label.startsWith("ai.remoteclaw.");
324
+ return label.startsWith("org.remoteclaw.");
325
325
  }
326
326
  function isRemoteClawGatewaySystemdService(name, contents) {
327
327
  if (hasGatewayServiceMarker(contents)) return true;
@@ -1,9 +1,9 @@
1
1
  import { t as formatCliCommand } from "./command-format-DgXcqxBt.js";
2
- import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, n as GATEWAY_SERVICE_KIND, r as GATEWAY_SERVICE_MARKER } from "./constants-C9WPAluB.js";
3
- import { a as isVersionManagedNodePath, c as resolveSystemNodePath, i as isSystemNodePath, l as isBunRuntime, r as getMinimalServicePathPartsFromEnv, u as isNodeRuntime } from "./daemon-install-helpers-CFGAfRlj.js";
4
- import { o as resolveSystemdUserUnitPath } from "./systemd-B5lyaCc3.js";
5
- import { c as resolveLaunchAgentPlistPath, n as execSchtasks } from "./service-BHos7oX8.js";
6
- import { n as formatRuntimeStatusWithDetails } from "./diagnostics-HGkN467d.js";
2
+ import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, n as GATEWAY_SERVICE_KIND, r as GATEWAY_SERVICE_MARKER } from "./constants-DQTT0rbk.js";
3
+ import { a as isVersionManagedNodePath, c as resolveSystemNodePath, i as isSystemNodePath, l as isBunRuntime, r as getMinimalServicePathPartsFromEnv, u as isNodeRuntime } from "./daemon-install-helpers-CWPt9X4V.js";
4
+ import { o as resolveSystemdUserUnitPath } from "./systemd-DCwD8aqg.js";
5
+ import { c as resolveLaunchAgentPlistPath, n as execSchtasks } from "./service-BOIQUlgm.js";
6
+ import { n as formatRuntimeStatusWithDetails } from "./diagnostics-pnhexb9O.js";
7
7
  import path from "node:path";
8
8
  import fs from "node:fs/promises";
9
9
 
@@ -321,7 +321,7 @@ function hasGatewayServiceMarker(content) {
321
321
  function isRemoteClawGatewayLaunchdService(label, contents) {
322
322
  if (hasGatewayServiceMarker(contents)) return true;
323
323
  if (!contents.toLowerCase().includes("gateway")) return false;
324
- return label.startsWith("ai.remoteclaw.");
324
+ return label.startsWith("org.remoteclaw.");
325
325
  }
326
326
  function isRemoteClawGatewaySystemdService(name, contents) {
327
327
  if (hasGatewayServiceMarker(contents)) return true;
@@ -1,5 +1,5 @@
1
1
  import { H as CONFIG_DIR, rt as resolveUserPath } from "./entry.js";
2
- import { F as LEGACY_MANIFEST_KEYS, I as MANIFEST_KEY, P as loadPluginManifest, at as extensionUsesSkippedScannerPath, ot as isPathInside } from "./config-FHu9Bn4R.js";
2
+ import { F as LEGACY_MANIFEST_KEYS, I as MANIFEST_KEY, P as loadPluginManifest, at as extensionUsesSkippedScannerPath, ot as isPathInside } from "./config-CtIjLqOj.js";
3
3
  import { a as safeDirName, 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-COvUzy5J.js";
4
4
  import path from "node:path";
5
5
  import fsp from "node:fs/promises";
@@ -1,6 +1,6 @@
1
1
  import { _ as resolveUserPath, t as CONFIG_DIR } from "./utils-C5daYcFn.js";
2
- import { F as LEGACY_MANIFEST_KEYS, I as MANIFEST_KEY, P as loadPluginManifest, at as extensionUsesSkippedScannerPath, ot as isPathInside } from "./config-BqY7k-L8.js";
3
- import { a as safeDirName, 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-Cobb5KYR.js";
2
+ import { F as LEGACY_MANIFEST_KEYS, I as MANIFEST_KEY, P as loadPluginManifest, at as extensionUsesSkippedScannerPath, ot as isPathInside } from "./config-BXKZbG-n.js";
3
+ import { a as safeDirName, 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-BQzh4vvV.js";
4
4
  import path from "node:path";
5
5
  import fs from "node:fs/promises";
6
6
 
@@ -1,9 +1,9 @@
1
1
  import { M as shouldLogVerbose, _ as resolveUserPath, k as logVerbose } from "./utils-C5daYcFn.js";
2
- import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-z2u_s7jG.js";
2
+ import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-DJo8GN9l.js";
3
3
  import { l as maxBytesForKind, n as extensionForMime, t as detectMime, u as mediaKindFromMime } from "./mime-BS3jhcZE.js";
4
- import { a as hasAlphaChannel, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-DRdKC0uO.js";
4
+ import { a as hasAlphaChannel, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-DBBLmYIV.js";
5
5
  import { r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-DkBhNAc3.js";
6
- import { a as chunkText } from "./chunk-DAjFKt2g.js";
6
+ import { a as chunkText } from "./chunk-DtPQ4ACP.js";
7
7
  import { fileURLToPath } from "node:url";
8
8
  import path from "node:path";
9
9
  import fs from "node:fs/promises";