@visorcraft/idlehands 4.0.21 → 4.1.0

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 (284) hide show
  1. package/dist/{accounts-DLTODa_Z.js → accounts-D-hQsUw-.js} +1 -1
  2. package/dist/{accounts-DgbTKQoW.js → accounts-D87a1Y_K.js} +1 -1
  3. package/dist/{accounts-3HS_UAhJ.js → accounts-DsVN0UNw.js} +1 -1
  4. package/dist/{acp-cli-BEpWQbqb.js → acp-cli-BEHYc8ty.js} +7 -7
  5. package/dist/{agent-scope-RA0zXRpu.js → agent-scope-Bn39ugK4.js} +18 -18
  6. package/dist/{agent-via-gateway-DHn8V6v4.js → agent-via-gateway-CM7X6sKJ.js} +7 -7
  7. package/dist/{agent-via-gateway-CUQG6kii.js → agent-via-gateway-bS6seBwg.js} +4 -4
  8. package/dist/{agent-via-gateway-Cn3iNSod.js → agent-via-gateway-igDg7ko6.js} +7 -7
  9. package/dist/{agents.config-CHtoYxr6.js → agents.config-CPUPtcKt.js} +2 -2
  10. package/dist/{anton-Dyz3neEN.js → anton-C7-Qxyij.js} +1 -1
  11. package/dist/{anton-x7f6kIFP.js → anton-D9tZAGaj.js} +20 -20
  12. package/dist/{anton-hH1PyE2C.js → anton-ONYQUE8F.js} +1 -1
  13. package/dist/{api-key-rotation-B-FTJm5p.js → api-key-rotation-nXQVJErE.js} +1 -1
  14. package/dist/{audio-preflight-vD3mDc6w.js → audio-preflight-CSSlgO89.js} +4 -4
  15. package/dist/{audio-preflight-Dl1TO10w.js → audio-preflight-DzjXupNO.js} +31 -31
  16. package/dist/{audio-preflight-B8qbJcB1.js → audio-preflight-qkU2lsDn.js} +4 -4
  17. package/dist/{audit-CKeZnjft.js → audit-C5VPFgbJ.js} +22 -22
  18. package/dist/{auth-choice-D12Wsf7w.js → auth-choice-BDndThZZ.js} +12 -12
  19. package/dist/{auth-choice-DRR52LJT.js → auth-choice-CQqV1VIf.js} +10 -10
  20. package/dist/{auth-choice.apply-helpers-CGcniL1T.js → auth-choice.apply-helpers-pTqMTYmi.js} +1 -1
  21. package/dist/{auth-store-DDzIMy8_.js → auth-store-CMyrmmSF.js} +7 -7
  22. package/dist/{auth-token-BJq87X3o.js → auth-token-fKt_cHOj.js} +1 -1
  23. package/dist/{bindings-B59Q7nsk.js → bindings-DZjkLUU_.js} +1 -1
  24. package/dist/{browser-cli-Ci6DpTnS.js → browser-cli-qU0I-Gla.js} +11 -11
  25. package/dist/build-info.json +3 -3
  26. package/dist/bundled/boot-md/handler.js +7 -7
  27. package/dist/bundled/session-memory/handler.js +7 -7
  28. package/dist/{call-BpWhjuOg.js → call-Du-oBD99.js} +9 -9
  29. package/dist/{channel-account-context-CDbY5AIr.js → channel-account-context-B4nJPU2N.js} +5 -5
  30. package/dist/{channel-options-B4oF7_V2.js → channel-options-B1cfZ5uQ.js} +3 -3
  31. package/dist/{channel-selection-ZxRkxpuF.js → channel-selection-3jUl-PyW.js} +1 -1
  32. package/dist/{channel-web-0icuasR6.js → channel-web-CzrJ-6X4.js} +22 -22
  33. package/dist/{channels-cli-B2w32z11.js → channels-cli-B4o-qohk.js} +88 -88
  34. package/dist/{channels-status-issues-CDpWjdI3.js → channels-status-issues-hgASw9UA.js} +1 -1
  35. package/dist/{chrome-xahUzIaT.js → chrome-CT_a9OgI.js} +9 -9
  36. package/dist/{chrome-DEnkfZ9p.js → chrome-Do5potHV.js} +9 -9
  37. package/dist/{chrome-VBsQfIrt.js → chrome-YguTEaLx.js} +2 -2
  38. package/dist/{clawbot-cli-uFgYrysW.js → clawbot-cli-C5cDal-5.js} +5 -5
  39. package/dist/{cli-BVw2ja-q.js → cli-DXyOlvH2.js} +70 -70
  40. package/dist/{client-DtnD-ee9.js → client-Dl5EAvfO.js} +1 -1
  41. package/dist/{command-registry-CWDCVzZv.js → command-registry-esizscE2.js} +5 -5
  42. package/dist/{commands-Dj5LalLo.js → commands-D3BU_t7G.js} +1 -1
  43. package/dist/{commands-registry-CURlRZQJ.js → commands-registry-Cj4D_1tw.js} +3 -3
  44. package/dist/{completion-cli-f5M3WVf8.js → completion-cli-CXDILt8-.js} +12 -12
  45. package/dist/{completion-cli-CjERsZ27.js → completion-cli-c4blaZPQ.js} +2 -2
  46. package/dist/{config-cli-Bt7n6ZJS.js → config-cli-98ASrAou.js} +1 -1
  47. package/dist/{config-cli-B2gc8CV1.js → config-cli-D_mH5-FH.js} +6 -6
  48. package/dist/{config-guard-BdsOumqh.js → config-guard-DnAyuF6T.js} +17 -17
  49. package/dist/{config-validation-BvKX6fPw.js → config-validation-DIomLMwH.js} +2 -2
  50. package/dist/{configure-BXsptBk3.js → configure-PKG58EzI.js} +16 -16
  51. package/dist/{control-ui-assets-C7ZpN9hN.js → control-ui-assets-CiaCDBvZ.js} +1 -1
  52. package/dist/{cron-cli-DQsnGQKs.js → cron-cli-BIfVPc5K.js} +12 -12
  53. package/dist/{daemon-cli-DUg-s4LG.js → daemon-cli-DpyQu0Dp.js} +11 -11
  54. package/dist/{daemon-install-CYPo4M1M.js → daemon-install-DeqQiAad.js} +4 -4
  55. package/dist/{daemon-install-helpers-BZY9-jNW.js → daemon-install-helpers-Bug_GYuy.js} +9 -9
  56. package/dist/{deliver-CIFO6sel.js → deliver-Db2xqgLg.js} +1 -1
  57. package/dist/{deliver-5FLCa6tB.js → deliver-whAbSPLk.js} +1 -1
  58. package/dist/{deliver--kttnrER.js → deliver-yTpXc5sv.js} +7 -7
  59. package/dist/{deps-CwPrf7RC.js → deps-BotXja4Z.js} +6 -6
  60. package/dist/{deps-DwTILPLD.js → deps-CC5E5LXB.js} +1 -1
  61. package/dist/{deps-BbipxGPW.js → deps-DR1eh_L_.js} +1 -1
  62. package/dist/{devices-cli-DKK65S9Z.js → devices-cli-B7fkQKei.js} +7 -7
  63. package/dist/{diagnostics-DmZbQ8Nc.js → diagnostics-CdUgLS0N.js} +5 -5
  64. package/dist/{directory-cli-Dz9iXeut.js → directory-cli-BAMS8f9U.js} +9 -9
  65. package/dist/{dns-cli-DD6hWsdc.js → dns-cli-BdxBk-k_.js} +4 -4
  66. package/dist/{dock-Y96MzKuM.js → dock-CzF5XYGd.js} +4 -4
  67. package/dist/{docs-cli-cHkrTB2e.js → docs-cli-SF7es4Zs.js} +4 -4
  68. package/dist/{doctor-completion-C2-SDBd6.js → doctor-completion-Co_xszXC.js} +2 -2
  69. package/dist/{doctor-completion-DB151YdP.js → doctor-completion-DFr8_h-z.js} +1 -1
  70. package/dist/{doctor-config-flow-Ck4oCjfl.js → doctor-config-flow-8qXzBx09.js} +14 -14
  71. package/dist/{emergency-stop-Lj33jqJJ.js → emergency-stop-ChBe32HN.js} +7 -7
  72. package/dist/{emergency-stop-DpNGtfb4.js → emergency-stop-DtVFxCO1.js} +70 -70
  73. package/dist/{emergency-stop-C2sJ4lsk.js → emergency-stop-DyQna_P0.js} +7 -7
  74. package/dist/{enable-o_s6PBsC.js → enable-DaA_orGN.js} +1 -1
  75. package/dist/entry.js +1 -1
  76. package/dist/{exec-approvals-allowlist-Co2tJSEo.js → exec-approvals-allowlist-8AkOwwIr.js} +1 -1
  77. package/dist/{exec-approvals-cli-D6XUzs4j.js → exec-approvals-cli-CbcJzCt0.js} +15 -15
  78. package/dist/{exec-safe-bin-runtime-policy-DaoU9-ni.js → exec-safe-bin-runtime-policy-DYXuBKqH.js} +2 -2
  79. package/dist/extensionAPI.js +7 -7
  80. package/dist/{fs-safe-_JQUGpZf.js → fs-safe-DNFrxDS-.js} +15 -15
  81. package/dist/{gateway-cli-Ccd1ukWq.js → gateway-cli-DjCBMnUT.js} +2 -2
  82. package/dist/{gateway-cli-lNUOd2_i.js → gateway-cli-poVGdgAz.js} +148 -148
  83. package/dist/{gateway-rpc-BBFG1T-M.js → gateway-rpc-IpZymG6F.js} +1 -1
  84. package/dist/{health--GQAFTBr.js → health-lZsCLX6p.js} +13 -13
  85. package/dist/{hooks-cli-Di8qrzIB.js → hooks-cli-EbzkZ1Xh.js} +84 -84
  86. package/dist/{hooks-status-DNGo2G8Q.js → hooks-status-CPIWc_bx.js} +1 -1
  87. package/dist/{idlehands-root-B8cUs-5M.js → idlehands-root-DFL2GrNW.js} +8 -8
  88. package/dist/{image-C_aN5P6-.js → image-BAsQlUqT.js} +1 -1
  89. package/dist/{image-DSDEbSiO.js → image-C2JZiK-6.js} +5 -5
  90. package/dist/{image-D9D-lzCw.js → image-Dlu13Ebx.js} +1 -1
  91. package/dist/{image-ops-BU-VdLZu.js → image-ops-BkoEFRYH.js} +10 -10
  92. package/dist/index.js +80 -80
  93. package/dist/{inspect-ISQZuNM5.js → inspect-Dg16DMLn.js} +4 -4
  94. package/dist/{install-safe-path-ChNR9pl6.js → install-safe-path-CNNMzJl9.js} +19 -19
  95. package/dist/{installs-CNubze2L.js → installs-ST3UaUVJ.js} +9 -9
  96. package/dist/{ir-VncGpwA1.js → ir-DV0Hszc8.js} +6 -6
  97. package/dist/{lifecycle-core-B6UoqYTJ.js → lifecycle-core-DOScNyOv.js} +5 -5
  98. package/dist/llm-slug-generator.js +7 -7
  99. package/dist/{local-roots-q0xbefkf.js → local-roots-Cco87A2_.js} +2 -2
  100. package/dist/{login-CfUhrgWT.js → login-Dl_lsEHS.js} +4 -4
  101. package/dist/{login-qr-DBMsUxgL.js → login-qr-B68cBRH0.js} +7 -7
  102. package/dist/{logs-cli-4VQ9Iwiw.js → logs-cli-DHCG25JA.js} +8 -8
  103. package/dist/{manager-BMAFgXyU.js → manager-BBeTPO2h.js} +13 -13
  104. package/dist/{manifest-registry-Bak1x76G.js → manifest-registry-RfRn8HJx.js} +1 -1
  105. package/dist/{markdown-tables-DZClqsNo.js → markdown-tables-C5hTDqNm.js} +1 -1
  106. package/dist/{memory-cli-CUGwnVIY.js → memory-cli-4wfelGdK.js} +12 -12
  107. package/dist/{model-C-icShH2.js → model-Bd-05WpB.js} +2 -2
  108. package/dist/{model-catalog-D9no0CH2.js → model-catalog-BCsDrrvq.js} +3 -3
  109. package/dist/{model-picker-BkXoTOiA.js → model-picker-D3U0wJCO.js} +4 -4
  110. package/dist/{model-selection-0dGxYGp8.js → model-selection-CSn9tUuH.js} +16 -16
  111. package/dist/{models-cli-CMwszgSD.js → models-cli-umEUn4Xu.js} +79 -79
  112. package/dist/{models-config-C5A1wDWh.js → models-config-lQpqp472.js} +6 -6
  113. package/dist/{node-cli-BYzjxmUY.js → node-cli-7gQ7xfOh.js} +32 -32
  114. package/dist/{node-service-C3vyxHLA.js → node-service-GpI0jzKr.js} +1 -1
  115. package/dist/{nodes-cli-kNOtp0U0.js → nodes-cli-CDXLGCox.js} +14 -14
  116. package/dist/{nodes-screen-CcpPaFxa.js → nodes-screen-CIAn0wXq.js} +4 -4
  117. package/dist/{npm-registry-spec-BCbbfIhX.js → npm-registry-spec-BfeHLbIQ.js} +16 -16
  118. package/dist/{npm-resolution-DLSA4PTO.js → npm-resolution-By6en78P.js} +3 -3
  119. package/dist/{onboard-CbXlbAx2.js → onboard-BmDmDXYf.js} +6 -6
  120. package/dist/{onboard-B6eOxpDM.js → onboard-Dw-URWpt.js} +1 -1
  121. package/dist/{onboard-channels-BISq46-i.js → onboard-channels-DCDhpz9s.js} +20 -20
  122. package/dist/{onboard-custom-DUbzMMu7.js → onboard-custom-D2sCP3_S.js} +4 -4
  123. package/dist/{onboard-helpers-mzy38DiC.js → onboard-helpers-CdzbIhrm.js} +8 -8
  124. package/dist/{onboard-hooks-D9teGxfH.js → onboard-hooks-_1Jgimeu.js} +4 -4
  125. package/dist/{onboard-remote-LCBHijVE.js → onboard-remote-pCRaL_Ey.js} +1 -1
  126. package/dist/{onboard-skills-jFY9gaOu.js → onboard-skills-DvwRvBvj.js} +4 -4
  127. package/dist/{onboarding-Da3n7Rvs.js → onboarding-Cf3JxJxY.js} +13 -13
  128. package/dist/{onboarding-DikyMlYG.js → onboarding-DIorhVOJ.js} +1 -1
  129. package/dist/{onboarding.finalize-CwYx5n3Z.js → onboarding.finalize-BCmAqhLV.js} +4 -4
  130. package/dist/{onboarding.finalize-Bp2ufMd0.js → onboarding.finalize-BH4WHo75.js} +82 -82
  131. package/dist/{onboarding.gateway-config-Btu2gzgr.js → onboarding.gateway-config-Sj7zQKsE.js} +16 -16
  132. package/dist/{openai-model-default-7J6cw1rA.js → openai-model-default-OPCCNNS0.js} +2 -2
  133. package/dist/{outbound-DPTxwchq.js → outbound-CG19kl0w.js} +4 -4
  134. package/dist/{outbound-attachment-Bot3bRnK.js → outbound-attachment-jYdMgCml.js} +2 -2
  135. package/dist/{pairing-cli-jwx6hMsM.js → pairing-cli-QJYYDcIK.js} +10 -10
  136. package/dist/{pairing-labels-ChQJzbS9.js → pairing-labels-DuZ7ih-T.js} +1 -1
  137. package/dist/{pairing-store-CPpEEQJO.js → pairing-store-qvpPoWL_.js} +2 -2
  138. package/dist/{pairing-token-lKXTMQ_M.js → pairing-token-3hoCgQqp.js} +7 -7
  139. package/dist/{path-alias-guards-FXBVVTLw.js → path-alias-guards-BCskHdfJ.js} +3 -3
  140. package/dist/{path-safety-DwibX65n.js → path-safety-C1Y004P_.js} +1 -1
  141. package/dist/{paths-B-CLQ5RT.js → paths-Bt0fZexW.js} +9 -9
  142. package/dist/{pi-embedded-Bc4KWuTe.js → pi-embedded-DMx6rHVL.js} +26 -26
  143. package/dist/{pi-embedded-helpers-CUoUoEEN.js → pi-embedded-helpers-B3ceCcxm.js} +4 -4
  144. package/dist/{pi-embedded-helpers-BCsfqpDt.js → pi-embedded-helpers-BkzrQ5bZ.js} +6 -6
  145. package/dist/{pi-embedded-helpers-C2j0LfJC.js → pi-embedded-helpers-Ct2rwp-P.js} +4 -4
  146. package/dist/{pi-embedded-k2mZJOsr.js → pi-embedded-mKozULng.js} +26 -26
  147. package/dist/{pi-model-discovery-BIP3RjXl.js → pi-model-discovery-Bt79ifyi.js} +1 -1
  148. package/dist/{pi-tools.policy-DfITIKZj.js → pi-tools.policy-B_ME3yF6.js} +5 -5
  149. package/dist/{plugin-auto-enable-7DUxMy6A.js → plugin-auto-enable-BMuSi4aV.js} +3 -3
  150. package/dist/{plugin-registry-DROWinG6.js → plugin-registry-BIoGoN5y.js} +3 -3
  151. package/dist/{plugins-D46VZh7u.js → plugins-B4hASNc2.js} +2 -2
  152. package/dist/{plugins-cli-b_o3IL7x.js → plugins-cli-Dlb8QO-K.js} +80 -80
  153. package/dist/{ports-B2o0FSFD.js → ports-B07M55Gr.js} +1 -1
  154. package/dist/{ports-SQy1d-RL.js → ports-DWJO5S52.js} +2 -2
  155. package/dist/{program-vH6RTUOw.js → program-Do2-I4y3.js} +2 -2
  156. package/dist/{program-context-D6irLwPo.js → program-context-B_byBfwR.js} +43 -43
  157. package/dist/{prompt-select-styled-CDoDFWo7.js → prompt-select-styled-CBF_I30O.js} +37 -37
  158. package/dist/{prompt-select-styled-DFVvU0TH.js → prompt-select-styled-VWGHu3e1.js} +1 -1
  159. package/dist/{provider-auth-helpers-CNRz0SFC.js → provider-auth-helpers-BGGSUXOH.js} +5 -5
  160. package/dist/{push-apns-e2xmxGGE.js → push-apns-CuwLAoXk.js} +5 -5
  161. package/dist/{pw-ai-7i9eGnLh.js → pw-ai-BGALvhDi.js} +11 -11
  162. package/dist/{pw-ai-CnvVtt_s.js → pw-ai-DIV4PcIo.js} +1 -1
  163. package/dist/{pw-ai-DjmrIQle.js → pw-ai-yrIWfcWX.js} +1 -1
  164. package/dist/{qmd-manager-B-qeywfQ.js → qmd-manager-CVcPfkhL.js} +19 -19
  165. package/dist/{qr-cli-CSt5ihwG.js → qr-cli-D2Oh8f0U.js} +1 -1
  166. package/dist/{query-expansion-Clts_AGz.js → query-expansion-i5I3yavb.js} +12 -12
  167. package/dist/{redact-snapshot-Cc8Brktr.js → redact-snapshot-K5EFkIbD.js} +14 -0
  168. package/dist/{redact-snapshot-BBNDQZIe.js → redact-snapshot-KMo22a85.js} +15 -1
  169. package/dist/{register.agent-HWcFMr6h.js → register.agent-CDcuj79y.js} +95 -95
  170. package/dist/register.configure-CxwdWRSG.js +168 -0
  171. package/dist/{register.maintenance-BYiX9iOa.js → register.maintenance-BcFR1fGQ.js} +5 -5
  172. package/dist/{register.maintenance-C6o2WuQx.js → register.maintenance-wv8PzmVy.js} +90 -90
  173. package/dist/{register.message-BewFLd-k.js → register.message-DUAiI9J7.js} +71 -71
  174. package/dist/{register.onboard-BVm-2XAx.js → register.onboard-BMNBXD29.js} +2 -2
  175. package/dist/{register.onboard-a0kqiCTa.js → register.onboard-F09brfSb.js} +18 -18
  176. package/dist/{register.orchestrator-anton-BYyjV8R-.js → register.orchestrator-anton-CGhKIDjJ.js} +14 -14
  177. package/dist/{register.setup-BJ0WBUpt.js → register.setup-DqbGSLoJ.js} +2 -2
  178. package/dist/{register.setup-BwPJaqpH.js → register.setup-jzek547p.js} +21 -21
  179. package/dist/{register.status-health-sessions-Clzt8hbv.js → register.status-health-sessions-ByfydR_f.js} +82 -82
  180. package/dist/{register.subclis-CrcOefJY.js → register.subclis-CuNL7Zgu.js} +3 -3
  181. package/dist/{replies-hSFVxL4h.js → replies-Czp4hvpS.js} +1 -1
  182. package/dist/{reply-D5gCiiGr.js → reply-CdFdL9nL.js} +153 -153
  183. package/dist/{reply-prefix-C3y4zpTl.js → reply-prefix-BMEdvSpA.js} +1 -1
  184. package/dist/{resolve-route-D_AbcmD6.js → resolve-route-Ef_Yt2Dw.js} +2 -2
  185. package/dist/{rpc-Cf9OK5Yk.js → rpc-CNqnw2FL.js} +1 -1
  186. package/dist/{run-main-BCX3UZMR.js → run-main-9A7FdIR1.js} +5 -5
  187. package/dist/{runner-DzszLzI4.js → runner-BFG54hnb.js} +20 -20
  188. package/dist/{runner-DjDddZhb.js → runner-BkCU-kqs.js} +1 -1
  189. package/dist/{runner-CZW_eyf2.js → runner-Bv_BA3vd.js} +1 -1
  190. package/dist/{runtime-XmXLaHNk.js → runtime-DEmy759r.js} +2 -2
  191. package/dist/{sandbox-DcUw5h3p.js → sandbox-CfPbhDY_.js} +20 -20
  192. package/dist/{sandbox-cli-DGvJ7Eeq.js → sandbox-cli-B4wLJr21.js} +22 -22
  193. package/dist/{secrets-cli-CR3h2TBy.js → secrets-cli-DP718vNZ.js} +9 -9
  194. package/dist/{security-cli-B9_LV2po.js → security-cli-CG2_SV7b.js} +39 -39
  195. package/dist/{send-C4v0Leny.js → send-BCPkAE2k.js} +6 -6
  196. package/dist/{send-DuwdEkLw.js → send-BPwTl4-K.js} +4 -4
  197. package/dist/{send-DQiw_nGD.js → send-CEavqqEz.js} +6 -6
  198. package/dist/{send-DwdHiC7_.js → send-CVIXqubC.js} +13 -13
  199. package/dist/{send--lzpNy4f.js → send-DDMaLJAQ.js} +7 -7
  200. package/dist/{server-D6MltJIF.js → server-BpSbZAwg.js} +14 -14
  201. package/dist/{server-context-DI0W_H7R.js → server-context-BxNSTpH6.js} +10 -10
  202. package/dist/{server-lifecycle-B5PlrlbG.js → server-lifecycle-CGKrGrhM.js} +2 -2
  203. package/dist/{server-node-events-DvStFPGi.js → server-node-events-BSPxvn7O.js} +71 -71
  204. package/dist/{service-C8NMS3m_.js → service-Bj2oSfpw.js} +15 -15
  205. package/dist/{session-CdnrRhb4.js → session-BKVySI8q.js} +1 -1
  206. package/dist/{sessions-BtPXimXQ.js → sessions-BqWocozB.js} +14 -14
  207. package/dist/{shared-CpDPo3hJ.js → shared-DnQ4iyXk.js} +2 -2
  208. package/dist/{shared-DpLSpJIl.js → shared-Jzrx8DfN.js} +1 -1
  209. package/dist/{skill-commands-BFzmZAfo.js → skill-commands-BwIRWSCI.js} +5 -5
  210. package/dist/{skill-scanner-D7mzXRXd.js → skill-scanner-B4Ftsbd2.js} +5 -5
  211. package/dist/{skills-DlvDyK8L.js → skills-TIyQDZx7.js} +3 -3
  212. package/dist/{skills-cli-BhKGhjbO.js → skills-cli-5lbXi4Lh.js} +5 -5
  213. package/dist/{skills-install-tr6wRWZj.js → skills-install-D0JHP5uM.js} +4 -4
  214. package/dist/{skills-status-qjQ8XP0h.js → skills-status-Q9skQExW.js} +1 -1
  215. package/dist/{status-CWnPokQF.js → status-YWasgjym.js} +24 -24
  216. package/dist/{status.update-CTi6vuWj.js → status.update-C3uRz7W6.js} +2 -2
  217. package/dist/{store-kH9wHHbO.js → store-CLNuI8-G.js} +5 -5
  218. package/dist/{system-cli-DyVZ5udc.js → system-cli-BfjZ6QvH.js} +8 -8
  219. package/dist/{system-run-approval-context-CISBXlNw.js → system-run-approval-context-xZVoE4nS.js} +1 -1
  220. package/dist/{system-run-command-qJdgzxLp.js → system-run-command-BIhrK3OI.js} +1 -1
  221. package/dist/{systemd-CaCR5CyM.js → systemd-DyrVLTI0.js} +9 -9
  222. package/dist/{systemd-hints-DHu-HVFx.js → systemd-hints-BoKKzRI_.js} +6 -6
  223. package/dist/{systemd-linger-B7XlUHk_.js → systemd-linger-DrhGd61G.js} +1 -1
  224. package/dist/{tables-g9xkflht.js → tables-CZSD889r.js} +1 -1
  225. package/dist/{target-errors-bLIVFsbF.js → target-errors-BYuWhuLU.js} +4 -4
  226. package/dist/{tool-images-CHqepyF_.js → tool-images-DZHrc4pq.js} +1 -1
  227. package/dist/{tui-Bne3YNiw.js → tui-B2bAseIB.js} +6 -6
  228. package/dist/{tui-cli-D0Z-rcUe.js → tui-cli-cewAjqAk.js} +30 -30
  229. package/dist/{update-cli-CxZD0ekr.js → update-cli-Cxp_mYOH.js} +5 -5
  230. package/dist/{update-cli-BTNcddEX.js → update-cli-D7gDHoEE.js} +99 -99
  231. package/dist/{update-D79ppbMQ.js → update-la2AdLf3.js} +3 -3
  232. package/dist/{update-runner-CN7Dm9tg.js → update-runner-DRglQgXe.js} +15 -15
  233. package/dist/{upgrade-command-909a7QUc.js → upgrade-command-28wRHZZ2.js} +3 -3
  234. package/dist/{web-t3fXJTeB.js → web-BuIXrrsp.js} +8 -8
  235. package/dist/{web-DiqHxfw7.js → web-BxegDO-S.js} +8 -8
  236. package/dist/web-DESq0zCM.js +123 -0
  237. package/dist/{webhooks-cli-2N03q0iY.js → webhooks-cli-BnmVPYkU.js} +6 -6
  238. package/dist/{whatsapp-actions-Cms8wQM1.js → whatsapp-actions-D2mBFzmK.js} +18 -18
  239. package/dist/{with-timeout-DEdycYxq.js → with-timeout-BodPmGCY.js} +3 -3
  240. package/dist/{workspace-D3pARwoB.js → workspace-CDw87aZG.js} +1 -1
  241. package/dist/{workspace-dirs-SsExQ3Bz.js → workspace-dirs-D3bousoX.js} +1 -1
  242. package/dist/{wsl-BJW8nTyL.js → wsl-CgXDjE09.js} +2 -2
  243. package/extensions/acpx/package.json +1 -1
  244. package/extensions/bluebubbles/package.json +1 -1
  245. package/extensions/copilot-proxy/package.json +1 -1
  246. package/extensions/diagnostics-otel/package.json +1 -1
  247. package/extensions/discord/package.json +1 -1
  248. package/extensions/feishu/package.json +1 -1
  249. package/extensions/google-gemini-cli-auth/package.json +1 -1
  250. package/extensions/googlechat/package.json +1 -1
  251. package/extensions/hand/package.json +1 -1
  252. package/extensions/imessage/package.json +1 -1
  253. package/extensions/irc/package.json +1 -1
  254. package/extensions/line/package.json +1 -1
  255. package/extensions/llm-task/package.json +1 -1
  256. package/extensions/matrix/CHANGELOG.md +6 -0
  257. package/extensions/matrix/package.json +1 -1
  258. package/extensions/mattermost/package.json +1 -1
  259. package/extensions/memory-core/package.json +1 -1
  260. package/extensions/memory-lancedb/package.json +1 -1
  261. package/extensions/minimax-portal-auth/package.json +1 -1
  262. package/extensions/msteams/CHANGELOG.md +6 -0
  263. package/extensions/msteams/package.json +1 -1
  264. package/extensions/nextcloud-talk/package.json +1 -1
  265. package/extensions/nostr/CHANGELOG.md +6 -0
  266. package/extensions/nostr/package.json +1 -1
  267. package/extensions/open-prose/package.json +1 -1
  268. package/extensions/signal/package.json +1 -1
  269. package/extensions/slack/package.json +1 -1
  270. package/extensions/synology-chat/package.json +1 -1
  271. package/extensions/telegram/package.json +1 -1
  272. package/extensions/tlon/package.json +1 -1
  273. package/extensions/twitch/CHANGELOG.md +6 -0
  274. package/extensions/twitch/package.json +1 -1
  275. package/extensions/voice-call/CHANGELOG.md +6 -0
  276. package/extensions/voice-call/package.json +1 -1
  277. package/extensions/whatsapp/package.json +1 -1
  278. package/extensions/zalo/CHANGELOG.md +6 -0
  279. package/extensions/zalo/package.json +1 -1
  280. package/extensions/zalouser/CHANGELOG.md +6 -0
  281. package/extensions/zalouser/package.json +1 -1
  282. package/package.json +1 -1
  283. package/dist/register.configure-k8gocsJw.js +0 -168
  284. package/dist/web-BV-BEZj6.js +0 -123
@@ -1,28 +1,28 @@
1
1
  import "./paths-Cn44w-EB.js";
2
2
  import { B as theme, R as colorize, z as isRich } from "./utils-CXzXXV2o.js";
3
- import "./agent-scope-RA0zXRpu.js";
3
+ import "./agent-scope-Bn39ugK4.js";
4
4
  import { c as formatLocalIsoWithOffset } from "./subsystem-CGZX2PBV.js";
5
5
  import { a as clearActiveProgressLine } from "./runtime-44j_X4Y6.js";
6
- import "./idlehands-root-B8cUs-5M.js";
6
+ import "./idlehands-root-DFL2GrNW.js";
7
7
  import "./exec-CKHMT0tZ.js";
8
- import "./model-selection-0dGxYGp8.js";
8
+ import "./model-selection-CSn9tUuH.js";
9
9
  import "./github-copilot-token-D7lpquOO.js";
10
10
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
11
11
  import "./boolean-BsqeuxE6.js";
12
12
  import "./env-Bx-F45X5.js";
13
13
  import "./host-env-security-DkAVVuaw.js";
14
14
  import "./env-vars-sTMVGyld.js";
15
- import "./manifest-registry-Bak1x76G.js";
15
+ import "./manifest-registry-RfRn8HJx.js";
16
16
  import "./message-channel-DVauVtrg.js";
17
17
  import "./ip-DJ5wsTQn.js";
18
18
  import "./tailnet-C9lH_YnG.js";
19
19
  import "./ws-XBTtYpJc.js";
20
- import "./client-DtnD-ee9.js";
21
- import { t as buildGatewayConnectionDetails } from "./call-BpWhjuOg.js";
22
- import "./pairing-token-lKXTMQ_M.js";
20
+ import "./client-Dl5EAvfO.js";
21
+ import { t as buildGatewayConnectionDetails } from "./call-Du-oBD99.js";
22
+ import "./pairing-token-3hoCgQqp.js";
23
23
  import { t as formatDocsLink } from "./links-15764jZB.js";
24
24
  import "./progress-BQLz1r3L.js";
25
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BBFG1T-M.js";
25
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-IpZymG6F.js";
26
26
  import { t as parseLogLine } from "./parse-log-line-Csn1jHbq.js";
27
27
  import { setTimeout } from "node:timers/promises";
28
28
 
@@ -1,21 +1,21 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { g as resolveStateDir } from "./paths-Cn44w-EB.js";
3
3
  import { E as truncateUtf16Safe, a as clampNumber, i as clampInt, y as resolveUserPath } from "./utils-CXzXXV2o.js";
4
- import { a as resolveAgentDir, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
4
+ import { a as resolveAgentDir, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
5
5
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
6
- import { J as requireApiKey, Y as resolveApiKeyForProvider } from "./model-selection-0dGxYGp8.js";
6
+ import { J as requireApiKey, Y as resolveApiKeyForProvider } from "./model-selection-CSn9tUuH.js";
7
7
  import { t as isTruthyEnvValue } from "./env-Bx-F45X5.js";
8
8
  import { n as formatErrorMessage } from "./errors-DZDuPc3M.js";
9
9
  import { l as resolveSessionTranscriptsDirForAgent } from "./paths-DRz46q00.js";
10
10
  import { n as onSessionTranscriptUpdate } from "./transcript-events-DvLx8VNH.js";
11
11
  import { t as fetchWithSsrFGuard } from "./fetch-guard-yUZu1Vzc.js";
12
- import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-B-FTJm5p.js";
12
+ import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-nXQVJErE.js";
13
13
  import { n as retryAsync } from "./retry-Db05aSB8.js";
14
- import { _ as isFileMissingError, a as sessionPathForFile, c as cosineSimilarity, d as isMemoryPath, f as listMemoryFiles, g as runWithConcurrency, h as remapChunkLines, i as listSessionFilesForAgent, l as ensureDir, m as parseEmbedding, n as requireNodeSqlite, o as buildFileEntry, p as normalizeExtraMemoryPaths, r as buildSessionEntry, s as chunkMarkdown, t as extractKeywords, u as hashText, v as statRegularFile } from "./query-expansion-Clts_AGz.js";
14
+ import { _ as isFileMissingError, a as sessionPathForFile, c as cosineSimilarity, d as isMemoryPath, f as listMemoryFiles, g as runWithConcurrency, h as remapChunkLines, i as listSessionFilesForAgent, l as ensureDir, m as parseEmbedding, n as requireNodeSqlite, o as buildFileEntry, p as normalizeExtraMemoryPaths, r as buildSessionEntry, s as chunkMarkdown, t as extractKeywords, u as hashText, v as statRegularFile } from "./query-expansion-i5I3yavb.js";
15
15
  import fs from "node:fs";
16
16
  import os from "node:os";
17
17
  import path from "node:path";
18
- import fs$1 from "node:fs/promises";
18
+ import fsPromises from "node:fs/promises";
19
19
  import { randomUUID } from "node:crypto";
20
20
  import { createInterface } from "node:readline";
21
21
  import { Readable } from "node:stream";
@@ -948,7 +948,7 @@ async function extractTimestamp(params) {
948
948
  if (!params.workspaceDir) return null;
949
949
  const absolutePath = path.isAbsolute(params.filePath) ? params.filePath : path.resolve(params.workspaceDir, params.filePath);
950
950
  try {
951
- const stat = await fs$1.stat(absolutePath);
951
+ const stat = await fsPromises.stat(absolutePath);
952
952
  if (!Number.isFinite(stat.mtimeMs)) return null;
953
953
  return new Date(stat.mtimeMs);
954
954
  } catch {
@@ -2100,7 +2100,7 @@ var MemoryManagerSyncOps = class {
2100
2100
  const source = `${sourceBase}${suffix}`;
2101
2101
  const target = `${targetBase}${suffix}`;
2102
2102
  try {
2103
- await fs$1.rename(source, target);
2103
+ await fsPromises.rename(source, target);
2104
2104
  } catch (err) {
2105
2105
  if (err.code !== "ENOENT") throw err;
2106
2106
  }
@@ -2111,7 +2111,7 @@ var MemoryManagerSyncOps = class {
2111
2111
  "",
2112
2112
  "-wal",
2113
2113
  "-shm"
2114
- ].map((suffix) => fs$1.rm(`${basePath}${suffix}`, { force: true })));
2114
+ ].map((suffix) => fsPromises.rm(`${basePath}${suffix}`, { force: true })));
2115
2115
  }
2116
2116
  ensureSchema() {
2117
2117
  const result = ensureMemoryIndexSchema({
@@ -2206,7 +2206,7 @@ var MemoryManagerSyncOps = class {
2206
2206
  if (!thresholds) return null;
2207
2207
  let stat;
2208
2208
  try {
2209
- stat = await fs$1.stat(sessionFile);
2209
+ stat = await fsPromises.stat(sessionFile);
2210
2210
  } catch {
2211
2211
  return null;
2212
2212
  }
@@ -2248,7 +2248,7 @@ var MemoryManagerSyncOps = class {
2248
2248
  if (end <= start) return 0;
2249
2249
  let handle;
2250
2250
  try {
2251
- handle = await fs$1.open(absPath, "r");
2251
+ handle = await fsPromises.open(absPath, "r");
2252
2252
  } catch (err) {
2253
2253
  if (isFileMissingError(err)) return 0;
2254
2254
  throw err;
@@ -3182,7 +3182,7 @@ var MemoryManagerEmbeddingOps = class extends MemoryManagerSyncOps {
3182
3182
  });
3183
3183
  return;
3184
3184
  }
3185
- const content = options.content ?? await fs$1.readFile(entry.absPath, "utf-8");
3185
+ const content = options.content ?? await fsPromises.readFile(entry.absPath, "utf-8");
3186
3186
  const chunks = enforceEmbeddingMaxInputTokens(this.provider, chunkMarkdown(content, this.settings.chunking).filter((chunk) => chunk.text.trim().length > 0), EMBEDDING_BATCH_MAX_TOKENS);
3187
3187
  if (options.source === "sessions" && "lineMap" in entry) remapChunkLines(chunks, entry.lineMap);
3188
3188
  const embeddings = this.batch.enabled ? await this.embedChunksWithBatch(chunks, entry, options.source) : await this.embedChunksInBatches(chunks);
@@ -3516,7 +3516,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
3516
3516
  if (!allowedWorkspace && this.settings.extraPaths.length > 0) {
3517
3517
  const additionalPaths = normalizeExtraMemoryPaths(this.workspaceDir, this.settings.extraPaths);
3518
3518
  for (const additionalPath of additionalPaths) try {
3519
- const stat = await fs$1.lstat(additionalPath);
3519
+ const stat = await fsPromises.lstat(additionalPath);
3520
3520
  if (stat.isSymbolicLink()) continue;
3521
3521
  if (stat.isDirectory()) {
3522
3522
  if (absPath === additionalPath || absPath.startsWith(`${additionalPath}${path.sep}`)) {
@@ -3541,7 +3541,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
3541
3541
  };
3542
3542
  let content;
3543
3543
  try {
3544
- content = await fs$1.readFile(absPath, "utf-8");
3544
+ content = await fsPromises.readFile(absPath, "utf-8");
3545
3545
  } catch (err) {
3546
3546
  if (isFileMissingError(err)) return {
3547
3547
  text: "",
@@ -1,6 +1,6 @@
1
1
  import { d as isRecord, g as resolveConfigDir, y as resolveUserPath } from "./utils-CXzXXV2o.js";
2
2
  import { y as normalizeChatChannelId } from "./subsystem-CGZX2PBV.js";
3
- import { a as openBoundaryFileSync, f as isPathInside$1 } from "./idlehands-root-B8cUs-5M.js";
3
+ import { a as openBoundaryFileSync, f as isPathInside$1 } from "./idlehands-root-DFL2GrNW.js";
4
4
  import { n as MANIFEST_KEY } from "./legacy-names-DB161qHh.js";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import fs from "node:fs";
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { h as normalizeAccountId } from "./session-key-Cuihcz_O.js";
3
3
  import { t as resolveAccountEntry } from "./account-lookup-BtMY6XyP.js";
4
- import { r as normalizeChannelId } from "./plugins-D46VZh7u.js";
4
+ import { r as normalizeChannelId } from "./plugins-B4hASNc2.js";
5
5
 
6
6
  //#region src/config/markdown-tables.ts
7
7
  var markdown_tables_exports = /* @__PURE__ */ __exportAll({ resolveMarkdownTableMode: () => resolveMarkdownTableMode });
@@ -1,13 +1,13 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { g as resolveStateDir } from "./paths-Cn44w-EB.js";
3
3
  import { B as theme, P as setVerbose, R as colorize, S as shortenHomePath, x as shortenHomeInString, y as resolveUserPath, z as isRich } from "./utils-CXzXXV2o.js";
4
- import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
4
+ import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
5
5
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
6
6
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
7
- import { It as loadConfig, Zn as splitShellArgs, cn as parseDurationMs } from "./model-selection-0dGxYGp8.js";
7
+ import { It as loadConfig, Zn as splitShellArgs, cn as parseDurationMs } from "./model-selection-CSn9tUuH.js";
8
8
  import { n as formatErrorMessage } from "./errors-DZDuPc3M.js";
9
9
  import { l as resolveSessionTranscriptsDirForAgent } from "./paths-DRz46q00.js";
10
- import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-Clts_AGz.js";
10
+ import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-i5I3yavb.js";
11
11
  import { t as formatDocsLink } from "./links-15764jZB.js";
12
12
  import { r as withManager } from "./cli-utils-CH2y4E2f.js";
13
13
  import { t as formatHelpExamples } from "./help-format-CMAqOikG.js";
@@ -15,7 +15,7 @@ import { n as withProgress, r as withProgressTotals } from "./progress-BQLz1r3L.
15
15
  import fs from "node:fs";
16
16
  import os from "node:os";
17
17
  import path from "node:path";
18
- import fs$1 from "node:fs/promises";
18
+ import fsPromises from "node:fs/promises";
19
19
 
20
20
  //#region src/memory/backend-config.ts
21
21
  const DEFAULT_BACKEND = "builtin";
@@ -227,7 +227,7 @@ async function getMemorySearchManager(params) {
227
227
  if (cached) return { manager: cached };
228
228
  }
229
229
  try {
230
- const { QmdMemoryManager } = await import("./qmd-manager-B-qeywfQ.js");
230
+ const { QmdMemoryManager } = await import("./qmd-manager-CVcPfkhL.js");
231
231
  const primary = await QmdMemoryManager.create({
232
232
  cfg: params.cfg,
233
233
  agentId: params.agentId,
@@ -239,7 +239,7 @@ async function getMemorySearchManager(params) {
239
239
  const wrapper = new FallbackMemoryManager({
240
240
  primary,
241
241
  fallbackFactory: async () => {
242
- const { MemoryIndexManager } = await import("./manager-BMAFgXyU.js").then((n) => n.t);
242
+ const { MemoryIndexManager } = await import("./manager-BBeTPO2h.js").then((n) => n.t);
243
243
  return await MemoryIndexManager.get(params);
244
244
  }
245
245
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -252,7 +252,7 @@ async function getMemorySearchManager(params) {
252
252
  }
253
253
  }
254
254
  try {
255
- const { MemoryIndexManager } = await import("./manager-BMAFgXyU.js").then((n) => n.t);
255
+ const { MemoryIndexManager } = await import("./manager-BBeTPO2h.js").then((n) => n.t);
256
256
  return { manager: await MemoryIndexManager.get(params) };
257
257
  } catch (err) {
258
258
  return {
@@ -434,7 +434,7 @@ async function withMemoryManagerForAgent(params) {
434
434
  }
435
435
  async function checkReadableFile(pathname) {
436
436
  try {
437
- await fs$1.access(pathname, fs.constants.R_OK);
437
+ await fsPromises.access(pathname, fs.constants.R_OK);
438
438
  return { exists: true };
439
439
  } catch (err) {
440
440
  const code = err.code;
@@ -451,7 +451,7 @@ async function scanSessionFiles(agentId) {
451
451
  try {
452
452
  return {
453
453
  source: "sessions",
454
- totalFiles: (await fs$1.readdir(sessionsDir, { withFileTypes: true })).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).length,
454
+ totalFiles: (await fsPromises.readdir(sessionsDir, { withFileTypes: true })).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).length,
455
455
  issues
456
456
  };
457
457
  } catch (err) {
@@ -483,7 +483,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
483
483
  if (alt.issue) issues.push(alt.issue);
484
484
  const resolvedExtraPaths = normalizeExtraMemoryPaths(workspaceDir, extraPaths);
485
485
  for (const extraPath of resolvedExtraPaths) try {
486
- if ((await fs$1.lstat(extraPath)).isSymbolicLink()) continue;
486
+ if ((await fsPromises.lstat(extraPath)).isSymbolicLink()) continue;
487
487
  const extraCheck = await checkReadableFile(extraPath);
488
488
  if (extraCheck.issue) issues.push(extraCheck.issue);
489
489
  } catch (err) {
@@ -493,7 +493,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
493
493
  }
494
494
  let dirReadable = null;
495
495
  try {
496
- await fs$1.access(memoryDir, fs.constants.R_OK);
496
+ await fsPromises.access(memoryDir, fs.constants.R_OK);
497
497
  dirReadable = true;
498
498
  } catch (err) {
499
499
  const code = err.code;
@@ -541,7 +541,7 @@ async function summarizeQmdIndexArtifact(manager) {
541
541
  if (!dbPath) return null;
542
542
  let stat;
543
543
  try {
544
- stat = await fs$1.stat(dbPath);
544
+ stat = await fsPromises.stat(dbPath);
545
545
  } catch (err) {
546
546
  const code = err.code;
547
547
  if (code === "ENOENT") throw new Error(`QMD index file not found: ${shortenHomePath(dbPath)}`, { cause: err });
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Ir as resolveIdleHandsAgentDir, Zr as DEFAULT_CONTEXT_TOKENS, u as normalizeProviderId } from "./model-selection-0dGxYGp8.js";
3
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BIP3RjXl.js";
2
+ import { Ir as resolveIdleHandsAgentDir, Zr as DEFAULT_CONTEXT_TOKENS, u as normalizeProviderId } from "./model-selection-CSn9tUuH.js";
3
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bt79ifyi.js";
4
4
 
5
5
  //#region src/agents/model-alias-lines.ts
6
6
  function buildModelAliasLines(cfg) {
@@ -1,12 +1,12 @@
1
1
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
2
- import { Ir as resolveIdleHandsAgentDir, It as loadConfig } from "./model-selection-0dGxYGp8.js";
3
- import { t as ensureIdleHandsModelsJson } from "./models-config-C5A1wDWh.js";
2
+ import { Ir as resolveIdleHandsAgentDir, It as loadConfig } from "./model-selection-CSn9tUuH.js";
3
+ import { t as ensureIdleHandsModelsJson } from "./models-config-lQpqp472.js";
4
4
 
5
5
  //#region src/agents/model-catalog.ts
6
6
  const log = createSubsystemLogger("model-catalog");
7
7
  let modelCatalogPromise = null;
8
8
  let hasLoggedModelCatalogError = false;
9
- const defaultImportPiSdk = () => import("./pi-model-discovery-BIP3RjXl.js").then((n) => n.r);
9
+ const defaultImportPiSdk = () => import("./pi-model-discovery-Bt79ifyi.js").then((n) => n.r);
10
10
  let importPiSdk = defaultImportPiSdk;
11
11
  const CODEX_PROVIDER = "openai-codex";
12
12
  const OPENAI_CODEX_GPT53_MODEL_ID = "gpt-5.3-codex";
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { N as resolveAgentModelPrimaryValue } from "./agent-scope-RA0zXRpu.js";
3
- import { $r as DEFAULT_PROVIDER, Cr as listProfilesForProvider, Dr as upsertAuthProfileWithLock, Qr as DEFAULT_MODEL, X as resolveEnvApiKey, c as modelKey, kr as ensureAuthProfileStore, m as resolveConfiguredModelRef, q as getCustomProviderApiKey, r as buildModelAliasIndex, t as buildAllowedModelSet, u as normalizeProviderId } from "./model-selection-0dGxYGp8.js";
4
- import { n as loadModelCatalog } from "./model-catalog-D9no0CH2.js";
5
- import { i as formatTokenK } from "./shared-CpDPo3hJ.js";
2
+ import { N as resolveAgentModelPrimaryValue } from "./agent-scope-Bn39ugK4.js";
3
+ import { $r as DEFAULT_PROVIDER, Cr as listProfilesForProvider, Dr as upsertAuthProfileWithLock, Qr as DEFAULT_MODEL, X as resolveEnvApiKey, c as modelKey, kr as ensureAuthProfileStore, m as resolveConfiguredModelRef, q as getCustomProviderApiKey, r as buildModelAliasIndex, t as buildAllowedModelSet, u as normalizeProviderId } from "./model-selection-CSn9tUuH.js";
4
+ import { n as loadModelCatalog } from "./model-catalog-BCsDrrvq.js";
5
+ import { i as formatTokenK } from "./shared-DnQ4iyXk.js";
6
6
 
7
7
  //#region src/commands/openai-codex-model-default.ts
8
8
  const OPENAI_CODEX_DEFAULT_MODEL = "openai-codex/gpt-5.3-codex";
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { _ as expandHomePrefix, a as resolveCanonicalConfigPath, c as resolveDefaultConfigCandidates, d as resolveIsNixMode, f as resolveLegacyStateDirs, g as resolveStateDir, h as resolveOAuthPath, i as isNixMode, l as resolveGatewayLockDir, m as resolveOAuthDir, n as DEFAULT_GATEWAY_PORT, o as resolveConfigPath, p as resolveNewStateDir, r as STATE_DIR, s as resolveConfigPathCandidate, t as CONFIG_PATH, u as resolveGatewayPort, y as resolveRequiredHomeDir } from "./paths-Cn44w-EB.js";
3
3
  import { D as isPlainObject$2, d as isRecord$3, g as resolveConfigDir, y as resolveUserPath } from "./utils-CXzXXV2o.js";
4
- import { N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, d as resolveDefaultAgentId, i as resolveAgentConfig, o as resolveAgentEffectiveModelPrimary, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
4
+ import { N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, d as resolveDefaultAgentId, i as resolveAgentConfig, o as resolveAgentEffectiveModelPrimary, u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
5
5
  import { d as CHANNEL_IDS, t as createSubsystemLogger, y as normalizeChatChannelId } from "./subsystem-CGZX2PBV.js";
6
6
  import { _ as isBlockedObjectKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-Cuihcz_O.js";
7
- import { a as openBoundaryFileSync, r as canUseBoundaryFileOpen } from "./idlehands-root-B8cUs-5M.js";
7
+ import { a as openBoundaryFileSync, r as canUseBoundaryFileOpen } from "./idlehands-root-DFL2GrNW.js";
8
8
  import { n as runExec } from "./exec-CKHMT0tZ.js";
9
9
  import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-D7lpquOO.js";
10
10
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
@@ -12,15 +12,15 @@ import { t as isTruthyEnvValue } from "./env-Bx-F45X5.js";
12
12
  import { i as sanitizeHostExecEnv } from "./host-env-security-DkAVVuaw.js";
13
13
  import { r as VERSION, t as applyConfigEnvVars } from "./env-vars-sTMVGyld.js";
14
14
  import { n as isPathInside } from "./scan-paths-DE00o1Lk.js";
15
- import { d as resolveEffectiveEnableState, f as resolveMemorySlotDecision, n as loadPluginManifestRegistry, u as normalizePluginsConfig } from "./manifest-registry-Bak1x76G.js";
16
- import { d as TOOLS_BY_SENDER_KEY_TYPES, f as parseToolsBySenderTypedKey } from "./dock-Y96MzKuM.js";
15
+ import { d as resolveEffectiveEnableState, f as resolveMemorySlotDecision, n as loadPluginManifestRegistry, u as normalizePluginsConfig } from "./manifest-registry-RfRn8HJx.js";
16
+ import { d as TOOLS_BY_SENDER_KEY_TYPES, f as parseToolsBySenderTypedKey } from "./dock-CzF5XYGd.js";
17
17
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-CLARJMM7.js";
18
18
  import fs from "node:fs";
19
19
  import os from "node:os";
20
20
  import path from "node:path";
21
21
  import JSON5 from "json5";
22
22
  import { isDeepStrictEqual } from "node:util";
23
- import fs$1 from "node:fs/promises";
23
+ import fsPromises from "node:fs/promises";
24
24
  import { execFileSync, execSync, spawn } from "node:child_process";
25
25
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
26
26
  import { createAssistantMessageEventStream, getEnvApiKey, getOAuthApiKey, getOAuthProviders } from "@mariozechner/pi-ai";
@@ -279,7 +279,7 @@ function computeDelayMs(retries, attempt) {
279
279
  }
280
280
  async function readLockPayload(lockPath) {
281
281
  try {
282
- const raw = await fs$1.readFile(lockPath, "utf8");
282
+ const raw = await fsPromises.readFile(lockPath, "utf8");
283
283
  const parsed = JSON.parse(raw);
284
284
  if (typeof parsed.pid !== "number" || typeof parsed.createdAt !== "string") return null;
285
285
  return {
@@ -293,9 +293,9 @@ async function readLockPayload(lockPath) {
293
293
  async function resolveNormalizedFilePath(filePath) {
294
294
  const resolved = path.resolve(filePath);
295
295
  const dir = path.dirname(resolved);
296
- await fs$1.mkdir(dir, { recursive: true });
296
+ await fsPromises.mkdir(dir, { recursive: true });
297
297
  try {
298
- const realDir = await fs$1.realpath(dir);
298
+ const realDir = await fsPromises.realpath(dir);
299
299
  return path.join(realDir, path.basename(resolved));
300
300
  } catch {
301
301
  return resolved;
@@ -309,7 +309,7 @@ async function isStaleLock(lockPath, staleMs) {
309
309
  if (!Number.isFinite(createdAt) || Date.now() - createdAt > staleMs) return true;
310
310
  }
311
311
  try {
312
- const stat = await fs$1.stat(lockPath);
312
+ const stat = await fsPromises.stat(lockPath);
313
313
  return Date.now() - stat.mtimeMs > staleMs;
314
314
  } catch {
315
315
  return true;
@@ -322,7 +322,7 @@ async function releaseHeldLock(normalizedFile) {
322
322
  if (current.count > 0) return;
323
323
  HELD_LOCKS.delete(normalizedFile);
324
324
  await current.handle.close().catch(() => void 0);
325
- await fs$1.rm(current.lockPath, { force: true }).catch(() => void 0);
325
+ await fsPromises.rm(current.lockPath, { force: true }).catch(() => void 0);
326
326
  }
327
327
  async function acquireFileLock(filePath, options) {
328
328
  const normalizedFile = await resolveNormalizedFilePath(filePath);
@@ -337,7 +337,7 @@ async function acquireFileLock(filePath, options) {
337
337
  }
338
338
  const attempts = Math.max(1, options.retries.retries + 1);
339
339
  for (let attempt = 0; attempt < attempts; attempt += 1) try {
340
- const handle = await fs$1.open(lockPath, "wx");
340
+ const handle = await fsPromises.open(lockPath, "wx");
341
341
  await handle.writeFile(JSON.stringify({
342
342
  pid: process.pid,
343
343
  createdAt: (/* @__PURE__ */ new Date()).toISOString()
@@ -354,7 +354,7 @@ async function acquireFileLock(filePath, options) {
354
354
  } catch (err) {
355
355
  if (err.code !== "EEXIST") throw err;
356
356
  if (await isStaleLock(lockPath, options.stale)) {
357
- await fs$1.rm(lockPath, { force: true }).catch(() => void 0);
357
+ await fsPromises.rm(lockPath, { force: true }).catch(() => void 0);
358
358
  continue;
359
359
  }
360
360
  if (attempt >= attempts - 1) break;
@@ -10682,7 +10682,7 @@ function createIcaclsResetCommand(targetPath, opts) {
10682
10682
  //#region src/security/audit-fs.ts
10683
10683
  async function safeStat(targetPath) {
10684
10684
  try {
10685
- const lst = await fs$1.lstat(targetPath);
10685
+ const lst = await fsPromises.lstat(targetPath);
10686
10686
  return {
10687
10687
  ok: true,
10688
10688
  isSymlink: lst.isSymbolicLink(),
@@ -10721,7 +10721,7 @@ async function inspectPathPermissions(targetPath, opts) {
10721
10721
  let effectiveMode = st.mode;
10722
10722
  let effectiveIsDir = st.isDir;
10723
10723
  if (st.isSymlink) try {
10724
- const target = await fs$1.stat(targetPath);
10724
+ const target = await fsPromises.stat(targetPath);
10725
10725
  effectiveMode = typeof target.mode === "number" ? target.mode : st.mode;
10726
10726
  effectiveIsDir = target.isDirectory();
10727
10727
  } catch {}
@@ -10920,7 +10920,7 @@ async function assertSecurePath(params) {
10920
10920
  if (stat.isSymlink) {
10921
10921
  if (!params.allowSymlinkPath) throw new Error(`${params.label} must not be a symlink: ${effectivePath}`);
10922
10922
  try {
10923
- effectivePath = await fs$1.realpath(effectivePath);
10923
+ effectivePath = await fsPromises.realpath(effectivePath);
10924
10924
  } catch {
10925
10925
  throw new Error(`${params.label} symlink target is not readable: ${params.targetPath}`);
10926
10926
  }
@@ -10968,7 +10968,7 @@ async function readFileProviderPayload(params) {
10968
10968
  }, timeoutMs);
10969
10969
  });
10970
10970
  try {
10971
- const payload = await Promise.race([fs$1.readFile(secureFilePath, { signal: abortController.signal }), timeoutPromise]);
10971
+ const payload = await Promise.race([fsPromises.readFile(secureFilePath, { signal: abortController.signal }), timeoutPromise]);
10972
10972
  if (payload.byteLength > maxBytes) throw new Error(`File provider "${params.providerName}" exceeded maxBytes (${maxBytes}).`);
10973
10973
  const text = payload.toString("utf8");
10974
10974
  if (params.providerConfig.mode === "singleValue") return text.replace(/\r?\n$/, "");