@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,17 +1,17 @@
1
1
  import { g as resolveStateDir } from "./paths-Cn44w-EB.js";
2
2
  import "./utils-CXzXXV2o.js";
3
- import { u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
3
+ import { u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
5
5
  import "./runtime-44j_X4Y6.js";
6
6
  import { w as parseAgentSessionKey } from "./session-key-Cuihcz_O.js";
7
- import "./idlehands-root-B8cUs-5M.js";
7
+ import "./idlehands-root-DFL2GrNW.js";
8
8
  import "./exec-CKHMT0tZ.js";
9
9
  import "./redact-B_4KNlXs.js";
10
10
  import "./paths-DRz46q00.js";
11
- import { _ as isFileMissingError, i as listSessionFilesForAgent, n as requireNodeSqlite, r as buildSessionEntry, t as extractKeywords, v as statRegularFile } from "./query-expansion-Clts_AGz.js";
11
+ import { _ as isFileMissingError, i as listSessionFilesForAgent, n as requireNodeSqlite, r as buildSessionEntry, t as extractKeywords, v as statRegularFile } from "./query-expansion-i5I3yavb.js";
12
12
  import os from "node:os";
13
13
  import path from "node:path";
14
- import fs from "node:fs/promises";
14
+ import fsPromises from "node:fs/promises";
15
15
  import { spawn } from "node:child_process";
16
16
  import readline from "node:readline";
17
17
 
@@ -276,10 +276,10 @@ var QmdMemoryManager = class QmdMemoryManager {
276
276
  async initialize(mode) {
277
277
  this.bootstrapCollections();
278
278
  if (mode === "status") return;
279
- await fs.mkdir(this.xdgConfigHome, { recursive: true });
280
- await fs.mkdir(this.xdgCacheHome, { recursive: true });
281
- await fs.mkdir(path.dirname(this.indexPath), { recursive: true });
282
- if (this.sessionExporter) await fs.mkdir(this.sessionExporter.dir, { recursive: true });
279
+ await fsPromises.mkdir(this.xdgConfigHome, { recursive: true });
280
+ await fsPromises.mkdir(this.xdgCacheHome, { recursive: true });
281
+ await fsPromises.mkdir(path.dirname(this.indexPath), { recursive: true });
282
+ if (this.sessionExporter) await fsPromises.mkdir(this.sessionExporter.dir, { recursive: true });
283
283
  await this.symlinkSharedModels();
284
284
  await this.ensureCollections();
285
285
  if (this.qmd.update.onBoot) {
@@ -372,7 +372,7 @@ var QmdMemoryManager = class QmdMemoryManager {
372
372
  }
373
373
  async ensureCollectionPath(collection) {
374
374
  if (!this.isDirectoryGlobPattern(collection.pattern)) return;
375
- await fs.mkdir(collection.path, { recursive: true });
375
+ await fsPromises.mkdir(collection.path, { recursive: true });
376
376
  }
377
377
  isDirectoryGlobPattern(pattern) {
378
378
  return pattern.includes("*") || pattern.includes("?") || pattern.includes("[");
@@ -807,19 +807,19 @@ var QmdMemoryManager = class QmdMemoryManager {
807
807
  const defaultModelsDir = path.join(defaultCacheHome, "qmd", "models");
808
808
  const targetModelsDir = path.join(this.xdgCacheHome, "qmd", "models");
809
809
  try {
810
- if (!(await fs.stat(defaultModelsDir).catch((err) => {
810
+ if (!(await fsPromises.stat(defaultModelsDir).catch((err) => {
811
811
  if (err.code === "ENOENT") return null;
812
812
  throw err;
813
813
  }))?.isDirectory()) return;
814
814
  try {
815
- await fs.lstat(targetModelsDir);
815
+ await fsPromises.lstat(targetModelsDir);
816
816
  return;
817
817
  } catch {}
818
818
  try {
819
- await fs.symlink(defaultModelsDir, targetModelsDir, "dir");
819
+ await fsPromises.symlink(defaultModelsDir, targetModelsDir, "dir");
820
820
  } catch (symlinkErr) {
821
821
  const code = symlinkErr.code;
822
- if (process.platform === "win32" && (code === "EPERM" || code === "ENOTSUP")) await fs.symlink(defaultModelsDir, targetModelsDir, "junction");
822
+ if (process.platform === "win32" && (code === "EPERM" || code === "ENOTSUP")) await fsPromises.symlink(defaultModelsDir, targetModelsDir, "junction");
823
823
  else throw symlinkErr;
824
824
  }
825
825
  log.debug(`symlinked qmd models: ${defaultModelsDir} → ${targetModelsDir}`);
@@ -977,7 +977,7 @@ var QmdMemoryManager = class QmdMemoryManager {
977
977
  const count = Math.max(1, lines ?? Number.POSITIVE_INFINITY);
978
978
  let handle;
979
979
  try {
980
- handle = await fs.open(absPath);
980
+ handle = await fsPromises.open(absPath);
981
981
  } catch (err) {
982
982
  if (isFileMissingError(err)) return { missing: true };
983
983
  throw err;
@@ -1009,7 +1009,7 @@ var QmdMemoryManager = class QmdMemoryManager {
1009
1009
  try {
1010
1010
  return {
1011
1011
  missing: false,
1012
- text: await fs.readFile(absPath, "utf-8")
1012
+ text: await fsPromises.readFile(absPath, "utf-8")
1013
1013
  };
1014
1014
  } catch (err) {
1015
1015
  if (isFileMissingError(err)) return { missing: true };
@@ -1026,7 +1026,7 @@ var QmdMemoryManager = class QmdMemoryManager {
1026
1026
  async exportSessions() {
1027
1027
  if (!this.sessionExporter) return;
1028
1028
  const exportDir = this.sessionExporter.dir;
1029
- await fs.mkdir(exportDir, { recursive: true });
1029
+ await fsPromises.mkdir(exportDir, { recursive: true });
1030
1030
  const files = await listSessionFilesForAgent(this.agentId);
1031
1031
  const keep = /* @__PURE__ */ new Set();
1032
1032
  const tracked = /* @__PURE__ */ new Set();
@@ -1038,7 +1038,7 @@ var QmdMemoryManager = class QmdMemoryManager {
1038
1038
  const target = path.join(exportDir, `${path.basename(sessionFile, ".jsonl")}.md`);
1039
1039
  tracked.add(sessionFile);
1040
1040
  const state = this.exportedSessionState.get(sessionFile);
1041
- if (!state || state.hash !== entry.hash || state.mtimeMs !== entry.mtimeMs) await fs.writeFile(target, this.renderSessionMarkdown(entry), "utf-8");
1041
+ if (!state || state.hash !== entry.hash || state.mtimeMs !== entry.mtimeMs) await fsPromises.writeFile(target, this.renderSessionMarkdown(entry), "utf-8");
1042
1042
  this.exportedSessionState.set(sessionFile, {
1043
1043
  hash: entry.hash,
1044
1044
  mtimeMs: entry.mtimeMs,
@@ -1046,11 +1046,11 @@ var QmdMemoryManager = class QmdMemoryManager {
1046
1046
  });
1047
1047
  keep.add(target);
1048
1048
  }
1049
- const exported = await fs.readdir(exportDir).catch(() => []);
1049
+ const exported = await fsPromises.readdir(exportDir).catch(() => []);
1050
1050
  for (const name of exported) {
1051
1051
  if (!name.endsWith(".md")) continue;
1052
1052
  const full = path.join(exportDir, name);
1053
- if (!keep.has(full)) await fs.rm(full, { force: true });
1053
+ if (!keep.has(full)) await fsPromises.rm(full, { force: true });
1054
1054
  }
1055
1055
  for (const [sessionFile, state] of this.exportedSessionState) if (!tracked.has(sessionFile) || !state.target.startsWith(exportDir + path.sep)) this.exportedSessionState.delete(sessionFile);
1056
1056
  }
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { B as theme } from "./utils-CXzXXV2o.js";
3
3
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
4
4
  import { t as runCommandWithTimeout } from "./exec-CKHMT0tZ.js";
5
- import { It as loadConfig } from "./model-selection-0dGxYGp8.js";
5
+ import { It as loadConfig } from "./model-selection-CSn9tUuH.js";
6
6
  import { a as isCarrierGradeNatIpv4Address, u as isRfc1918Ipv4Address } from "./ip-DJ5wsTQn.js";
7
7
  import { t as formatDocsLink } from "./links-15764jZB.js";
8
8
  import os from "node:os";
@@ -5,7 +5,7 @@ import { l as resolveSessionTranscriptsDirForAgent } from "./paths-DRz46q00.js";
5
5
  import { createRequire } from "node:module";
6
6
  import fs from "node:fs";
7
7
  import path from "node:path";
8
- import fs$1 from "node:fs/promises";
8
+ import fsPromises from "node:fs/promises";
9
9
  import crypto from "node:crypto";
10
10
 
11
11
  //#region src/memory/fs-utils.ts
@@ -15,7 +15,7 @@ function isFileMissingError(err) {
15
15
  async function statRegularFile(absPath) {
16
16
  let stat;
17
17
  try {
18
- stat = await fs$1.lstat(absPath);
18
+ stat = await fsPromises.lstat(absPath);
19
19
  } catch (err) {
20
20
  if (isFileMissingError(err)) return { missing: true };
21
21
  throw err;
@@ -50,7 +50,7 @@ function isMemoryPath(relPath) {
50
50
  return normalized.startsWith("memory/");
51
51
  }
52
52
  async function walkDir(dir, files) {
53
- const entries = await fs$1.readdir(dir, { withFileTypes: true });
53
+ const entries = await fsPromises.readdir(dir, { withFileTypes: true });
54
54
  for (const entry of entries) {
55
55
  const full = path.join(dir, entry.name);
56
56
  if (entry.isSymbolicLink()) continue;
@@ -70,7 +70,7 @@ async function listMemoryFiles(workspaceDir, extraPaths) {
70
70
  const memoryDir = path.join(workspaceDir, "memory");
71
71
  const addMarkdownFile = async (absPath) => {
72
72
  try {
73
- const stat = await fs$1.lstat(absPath);
73
+ const stat = await fsPromises.lstat(absPath);
74
74
  if (stat.isSymbolicLink() || !stat.isFile()) return;
75
75
  if (!absPath.endsWith(".md")) return;
76
76
  result.push(absPath);
@@ -79,12 +79,12 @@ async function listMemoryFiles(workspaceDir, extraPaths) {
79
79
  await addMarkdownFile(memoryFile);
80
80
  await addMarkdownFile(altMemoryFile);
81
81
  try {
82
- const dirStat = await fs$1.lstat(memoryDir);
82
+ const dirStat = await fsPromises.lstat(memoryDir);
83
83
  if (!dirStat.isSymbolicLink() && dirStat.isDirectory()) await walkDir(memoryDir, result);
84
84
  } catch {}
85
85
  const normalizedExtraPaths = normalizeExtraMemoryPaths(workspaceDir, extraPaths);
86
86
  if (normalizedExtraPaths.length > 0) for (const inputPath of normalizedExtraPaths) try {
87
- const stat = await fs$1.lstat(inputPath);
87
+ const stat = await fsPromises.lstat(inputPath);
88
88
  if (stat.isSymbolicLink()) continue;
89
89
  if (stat.isDirectory()) {
90
90
  await walkDir(inputPath, result);
@@ -98,7 +98,7 @@ async function listMemoryFiles(workspaceDir, extraPaths) {
98
98
  for (const entry of result) {
99
99
  let key = entry;
100
100
  try {
101
- key = await fs$1.realpath(entry);
101
+ key = await fsPromises.realpath(entry);
102
102
  } catch {}
103
103
  if (seen.has(key)) continue;
104
104
  seen.add(key);
@@ -112,14 +112,14 @@ function hashText(value) {
112
112
  async function buildFileEntry(absPath, workspaceDir) {
113
113
  let stat;
114
114
  try {
115
- stat = await fs$1.stat(absPath);
115
+ stat = await fsPromises.stat(absPath);
116
116
  } catch (err) {
117
117
  if (isFileMissingError(err)) return null;
118
118
  throw err;
119
119
  }
120
120
  let content;
121
121
  try {
122
- content = await fs$1.readFile(absPath, "utf-8");
122
+ content = await fsPromises.readFile(absPath, "utf-8");
123
123
  } catch (err) {
124
124
  if (isFileMissingError(err)) return null;
125
125
  throw err;
@@ -253,7 +253,7 @@ const log = createSubsystemLogger("memory");
253
253
  async function listSessionFilesForAgent(agentId) {
254
254
  const dir = resolveSessionTranscriptsDirForAgent(agentId);
255
255
  try {
256
- return (await fs$1.readdir(dir, { withFileTypes: true })).filter((entry) => entry.isFile()).map((entry) => entry.name).filter((name) => name.endsWith(".jsonl")).map((name) => path.join(dir, name));
256
+ return (await fsPromises.readdir(dir, { withFileTypes: true })).filter((entry) => entry.isFile()).map((entry) => entry.name).filter((name) => name.endsWith(".jsonl")).map((name) => path.join(dir, name));
257
257
  } catch {
258
258
  return [];
259
259
  }
@@ -283,8 +283,8 @@ function extractSessionText(content) {
283
283
  }
284
284
  async function buildSessionEntry(absPath) {
285
285
  try {
286
- const stat = await fs$1.stat(absPath);
287
- const lines = (await fs$1.readFile(absPath, "utf-8")).split("\n");
286
+ const stat = await fsPromises.stat(absPath);
287
+ const lines = (await fsPromises.readFile(absPath, "utf-8")).split("\n");
288
288
  const collected = [];
289
289
  const lineMap = [];
290
290
  for (let jsonlIdx = 0; jsonlIdx < lines.length; jsonlIdx++) {
@@ -374,6 +374,13 @@ const FIELD_HELP = {
374
374
  "models.providers.*.headers": "Static HTTP headers merged into provider requests for tenant routing, proxy auth, or custom gateway requirements. Use this sparingly and keep sensitive header values in secrets.",
375
375
  "models.providers.*.authHeader": "When true, credentials are sent via the HTTP Authorization header even if alternate auth is possible. Use this only when your provider or proxy explicitly requires Authorization forwarding.",
376
376
  "models.providers.*.models": "Declared model list for a provider including identifiers, metadata, and optional compatibility/cost hints. Keep IDs exact to provider catalog values so selection and fallback resolve correctly.",
377
+ "models.bedrockDiscovery": "Amazon Bedrock model discovery settings used to auto-sync available Bedrock models into the runtime catalog. Keep this disabled unless you need dynamic Bedrock inventory, because frequent discovery adds API calls and log noise.",
378
+ "models.bedrockDiscovery.enabled": "Enable periodic Bedrock model discovery. Turn on only when Bedrock inventory changes often and you want auto-refresh instead of static model definitions.",
379
+ "models.bedrockDiscovery.region": "AWS region used for Bedrock discovery calls (for example us-east-1). Set this to the region where your Bedrock models are provisioned.",
380
+ "models.bedrockDiscovery.providerFilter": "Optional provider filter list for discovered Bedrock models (for example anthropic, amazon, meta) to reduce noise from providers you do not use.",
381
+ "models.bedrockDiscovery.refreshInterval": "Refresh interval in seconds for Bedrock discovery polling. Use longer intervals to reduce API cost/noise, and shorter intervals only when rapid inventory updates are required.",
382
+ "models.bedrockDiscovery.defaultContextWindow": "Fallback context window used when Bedrock discovery metadata omits token limits for a model.",
383
+ "models.bedrockDiscovery.defaultMaxTokens": "Fallback max output tokens used when Bedrock discovery metadata does not provide output-token limits.",
377
384
  auth: "Authentication profile root used for multi-profile provider credentials and cooldown-based failover ordering. Keep profiles minimal and explicit so automatic failover behavior stays auditable.",
378
385
  "channels.slack.allowBots": "Allow bot-authored messages to trigger Slack replies (default: false).",
379
386
  "channels.slack.thread.historyScope": "Scope for Slack thread history context (\"thread\" isolates per thread; \"channel\" reuses channel history).",
@@ -1160,6 +1167,13 @@ const FIELD_LABELS = {
1160
1167
  "models.providers.*.headers": "Model Provider Headers",
1161
1168
  "models.providers.*.authHeader": "Model Provider Authorization Header",
1162
1169
  "models.providers.*.models": "Model Provider Model List",
1170
+ "models.bedrockDiscovery": "Bedrock Discovery",
1171
+ "models.bedrockDiscovery.enabled": "Bedrock Discovery Enabled",
1172
+ "models.bedrockDiscovery.region": "Bedrock Discovery Region",
1173
+ "models.bedrockDiscovery.providerFilter": "Bedrock Discovery Provider Filter",
1174
+ "models.bedrockDiscovery.refreshInterval": "Bedrock Discovery Refresh Interval",
1175
+ "models.bedrockDiscovery.defaultContextWindow": "Bedrock Discovery Default Context Window",
1176
+ "models.bedrockDiscovery.defaultMaxTokens": "Bedrock Discovery Default Max Tokens",
1163
1177
  "auth.cooldowns.billingBackoffHours": "Billing Backoff (hours)",
1164
1178
  "auth.cooldowns.billingBackoffHoursByProvider": "Billing Backoff Overrides",
1165
1179
  "auth.cooldowns.billingMaxHours": "Billing Backoff Cap (hours)",
@@ -1,5 +1,5 @@
1
1
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
2
- import { tn as sensitive } from "./model-selection-0dGxYGp8.js";
2
+ import { tn as sensitive } from "./model-selection-CSn9tUuH.js";
3
3
  import { z } from "zod";
4
4
 
5
5
  //#region src/config/schema.irc.ts
@@ -374,6 +374,13 @@ const FIELD_HELP = {
374
374
  "models.providers.*.headers": "Static HTTP headers merged into provider requests for tenant routing, proxy auth, or custom gateway requirements. Use this sparingly and keep sensitive header values in secrets.",
375
375
  "models.providers.*.authHeader": "When true, credentials are sent via the HTTP Authorization header even if alternate auth is possible. Use this only when your provider or proxy explicitly requires Authorization forwarding.",
376
376
  "models.providers.*.models": "Declared model list for a provider including identifiers, metadata, and optional compatibility/cost hints. Keep IDs exact to provider catalog values so selection and fallback resolve correctly.",
377
+ "models.bedrockDiscovery": "Amazon Bedrock model discovery settings used to auto-sync available Bedrock models into the runtime catalog. Keep this disabled unless you need dynamic Bedrock inventory, because frequent discovery adds API calls and log noise.",
378
+ "models.bedrockDiscovery.enabled": "Enable periodic Bedrock model discovery. Turn on only when Bedrock inventory changes often and you want auto-refresh instead of static model definitions.",
379
+ "models.bedrockDiscovery.region": "AWS region used for Bedrock discovery calls (for example us-east-1). Set this to the region where your Bedrock models are provisioned.",
380
+ "models.bedrockDiscovery.providerFilter": "Optional provider filter list for discovered Bedrock models (for example anthropic, amazon, meta) to reduce noise from providers you do not use.",
381
+ "models.bedrockDiscovery.refreshInterval": "Refresh interval in seconds for Bedrock discovery polling. Use longer intervals to reduce API cost/noise, and shorter intervals only when rapid inventory updates are required.",
382
+ "models.bedrockDiscovery.defaultContextWindow": "Fallback context window used when Bedrock discovery metadata omits token limits for a model.",
383
+ "models.bedrockDiscovery.defaultMaxTokens": "Fallback max output tokens used when Bedrock discovery metadata does not provide output-token limits.",
377
384
  auth: "Authentication profile root used for multi-profile provider credentials and cooldown-based failover ordering. Keep profiles minimal and explicit so automatic failover behavior stays auditable.",
378
385
  "channels.slack.allowBots": "Allow bot-authored messages to trigger Slack replies (default: false).",
379
386
  "channels.slack.thread.historyScope": "Scope for Slack thread history context (\"thread\" isolates per thread; \"channel\" reuses channel history).",
@@ -1160,6 +1167,13 @@ const FIELD_LABELS = {
1160
1167
  "models.providers.*.headers": "Model Provider Headers",
1161
1168
  "models.providers.*.authHeader": "Model Provider Authorization Header",
1162
1169
  "models.providers.*.models": "Model Provider Model List",
1170
+ "models.bedrockDiscovery": "Bedrock Discovery",
1171
+ "models.bedrockDiscovery.enabled": "Bedrock Discovery Enabled",
1172
+ "models.bedrockDiscovery.region": "Bedrock Discovery Region",
1173
+ "models.bedrockDiscovery.providerFilter": "Bedrock Discovery Provider Filter",
1174
+ "models.bedrockDiscovery.refreshInterval": "Bedrock Discovery Refresh Interval",
1175
+ "models.bedrockDiscovery.defaultContextWindow": "Bedrock Discovery Default Context Window",
1176
+ "models.bedrockDiscovery.defaultMaxTokens": "Bedrock Discovery Default Max Tokens",
1163
1177
  "auth.cooldowns.billingBackoffHours": "Billing Backoff (hours)",
1164
1178
  "auth.cooldowns.billingBackoffHoursByProvider": "Billing Backoff Overrides",
1165
1179
  "auth.cooldowns.billingMaxHours": "Billing Backoff Cap (hours)",
@@ -1,153 +1,153 @@
1
1
  import "./paths-Cn44w-EB.js";
2
2
  import { B as theme, P as setVerbose, S as shortenHomePath, y as resolveUserPath } from "./utils-CXzXXV2o.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { en as identityHasValues, nn as parseIdentityMarkdown } from "./reply-D5gCiiGr.js";
5
- import { a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, n as listAgentEntries, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
4
+ import { en as identityHasValues, nn as parseIdentityMarkdown } from "./reply-CdFdL9nL.js";
5
+ import { a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, n as listAgentEntries, u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
6
6
  import "./subsystem-CGZX2PBV.js";
7
7
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
8
8
  import { m as DEFAULT_ACCOUNT_ID, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-Cuihcz_O.js";
9
- import "./idlehands-root-B8cUs-5M.js";
9
+ import "./idlehands-root-DFL2GrNW.js";
10
10
  import "./exec-CKHMT0tZ.js";
11
- import { Ht as writeConfigFile, Pr as resolveAuthStorePath, kr as ensureAuthProfileStore } from "./model-selection-0dGxYGp8.js";
11
+ import { Ht as writeConfigFile, Pr as resolveAuthStorePath, kr as ensureAuthProfileStore } from "./model-selection-CSn9tUuH.js";
12
12
  import "./github-copilot-token-D7lpquOO.js";
13
13
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
14
14
  import "./boolean-BsqeuxE6.js";
15
15
  import "./env-Bx-F45X5.js";
16
16
  import "./host-env-security-DkAVVuaw.js";
17
17
  import "./env-vars-sTMVGyld.js";
18
- import "./manifest-registry-Bak1x76G.js";
19
- import "./dock-Y96MzKuM.js";
18
+ import "./manifest-registry-RfRn8HJx.js";
19
+ import "./dock-CzF5XYGd.js";
20
20
  import "./message-channel-DVauVtrg.js";
21
- import "./send-DwdHiC7_.js";
22
- import "./runner-DzszLzI4.js";
23
- import "./image-DSDEbSiO.js";
24
- import "./models-config-C5A1wDWh.js";
25
- import "./pi-model-discovery-BIP3RjXl.js";
26
- import "./pi-embedded-helpers-BCsfqpDt.js";
27
- import "./sandbox-DcUw5h3p.js";
21
+ import "./send-CVIXqubC.js";
22
+ import "./runner-BFG54hnb.js";
23
+ import "./image-C2JZiK-6.js";
24
+ import "./models-config-lQpqp472.js";
25
+ import "./pi-model-discovery-Bt79ifyi.js";
26
+ import "./pi-embedded-helpers-BkzrQ5bZ.js";
27
+ import "./sandbox-CfPbhDY_.js";
28
28
  import "./tool-catalog-4_Wxc542.js";
29
- import "./chrome-VBsQfIrt.js";
29
+ import "./chrome-YguTEaLx.js";
30
30
  import "./tailscale-B5Irc_Bi.js";
31
31
  import "./ip-DJ5wsTQn.js";
32
32
  import "./tailnet-C9lH_YnG.js";
33
33
  import "./ws-XBTtYpJc.js";
34
34
  import "./auth-heRVBxh2.js";
35
- import "./server-context-DI0W_H7R.js";
35
+ import "./server-context-BxNSTpH6.js";
36
36
  import "./frontmatter-D-sQ_Hqk.js";
37
- import "./skills-DlvDyK8L.js";
38
- import "./path-alias-guards-FXBVVTLw.js";
39
- import "./paths-B-CLQ5RT.js";
37
+ import "./skills-TIyQDZx7.js";
38
+ import "./path-alias-guards-BCskHdfJ.js";
39
+ import "./paths-Bt0fZexW.js";
40
40
  import "./redact-B_4KNlXs.js";
41
41
  import "./errors-DZDuPc3M.js";
42
- import "./fs-safe-_JQUGpZf.js";
42
+ import "./fs-safe-DNFrxDS-.js";
43
43
  import "./ssrf-Dw9zzKSM.js";
44
- import "./image-ops-BU-VdLZu.js";
45
- import "./store-kH9wHHbO.js";
46
- import "./ports-SQy1d-RL.js";
44
+ import "./image-ops-BkoEFRYH.js";
45
+ import "./store-CLNuI8-G.js";
46
+ import "./ports-DWJO5S52.js";
47
47
  import "./trash-CUFiyQN5.js";
48
48
  import "./server-middleware-BC21xYvr.js";
49
- import "./sessions-BtPXimXQ.js";
50
- import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-D46VZh7u.js";
51
- import "./accounts-DLTODa_Z.js";
52
- import "./accounts-3HS_UAhJ.js";
53
- import "./accounts-DgbTKQoW.js";
54
- import "./bindings-B59Q7nsk.js";
49
+ import "./sessions-BqWocozB.js";
50
+ import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-B4hASNc2.js";
51
+ import "./accounts-D-hQsUw-.js";
52
+ import "./accounts-DsVN0UNw.js";
53
+ import "./accounts-D87a1Y_K.js";
54
+ import "./bindings-DZjkLUU_.js";
55
55
  import "./logging-q4KyMmY-.js";
56
- import "./auth-store-DDzIMy8_.js";
57
- import "./send-DuwdEkLw.js";
56
+ import "./auth-store-CMyrmmSF.js";
57
+ import "./send-BPwTl4-K.js";
58
58
  import { l as resolveSessionTranscriptsDirForAgent } from "./paths-DRz46q00.js";
59
59
  import "./chat-envelope-Bebo3vwl.js";
60
- import "./tool-images-CHqepyF_.js";
60
+ import "./tool-images-DZHrc4pq.js";
61
61
  import "./tool-display-Dac7lHGW.js";
62
62
  import "./fetch-guard-yUZu1Vzc.js";
63
- import "./api-key-rotation-B-FTJm5p.js";
64
- import "./local-roots-q0xbefkf.js";
65
- import "./model-catalog-D9no0CH2.js";
63
+ import "./api-key-rotation-nXQVJErE.js";
64
+ import "./local-roots-Cco87A2_.js";
65
+ import "./model-catalog-BCsDrrvq.js";
66
66
  import "./tokens-Dg-QZ_pN.js";
67
- import "./deliver--kttnrER.js";
68
- import "./commands-Dj5LalLo.js";
69
- import "./commands-registry-CURlRZQJ.js";
70
- import "./client-DtnD-ee9.js";
71
- import "./call-BpWhjuOg.js";
72
- import "./pairing-token-lKXTMQ_M.js";
67
+ import "./deliver-yTpXc5sv.js";
68
+ import "./commands-D3BU_t7G.js";
69
+ import "./commands-registry-Cj4D_1tw.js";
70
+ import "./client-Dl5EAvfO.js";
71
+ import "./call-Du-oBD99.js";
72
+ import "./pairing-token-3hoCgQqp.js";
73
73
  import "./fetch-CYe1ekSh.js";
74
74
  import "./retry-Db05aSB8.js";
75
- import "./pairing-store-CPpEEQJO.js";
75
+ import "./pairing-store-qvpPoWL_.js";
76
76
  import "./exec-approvals-C2s2dPha.js";
77
- import "./exec-approvals-allowlist-Co2tJSEo.js";
78
- import "./exec-safe-bin-runtime-policy-DaoU9-ni.js";
79
- import "./nodes-screen-CcpPaFxa.js";
80
- import "./target-errors-bLIVFsbF.js";
77
+ import "./exec-approvals-allowlist-8AkOwwIr.js";
78
+ import "./exec-safe-bin-runtime-policy-DYXuBKqH.js";
79
+ import "./nodes-screen-CIAn0wXq.js";
80
+ import "./target-errors-BYuWhuLU.js";
81
81
  import "./diagnostic-session-state-CJHdRyOy.js";
82
- import "./with-timeout-DEdycYxq.js";
82
+ import "./with-timeout-BodPmGCY.js";
83
83
  import "./diagnostic-ByHpt6q8.js";
84
- import "./send--lzpNy4f.js";
85
- import "./model-C-icShH2.js";
86
- import "./reply-prefix-C3y4zpTl.js";
87
- import "./memory-cli-CUGwnVIY.js";
88
- import "./manager-BMAFgXyU.js";
89
- import "./query-expansion-Clts_AGz.js";
84
+ import "./send-DDMaLJAQ.js";
85
+ import "./model-Bd-05WpB.js";
86
+ import "./reply-prefix-BMEdvSpA.js";
87
+ import "./memory-cli-4wfelGdK.js";
88
+ import "./manager-BBeTPO2h.js";
89
+ import "./query-expansion-i5I3yavb.js";
90
90
  import "./chunk-ClMFHJu-.js";
91
- import "./markdown-tables-DZClqsNo.js";
92
- import "./ir-VncGpwA1.js";
91
+ import "./markdown-tables-C5hTDqNm.js";
92
+ import "./ir-DV0Hszc8.js";
93
93
  import "./render-DC4qnRqG.js";
94
- import "./pi-tools.policy-DfITIKZj.js";
94
+ import "./pi-tools.policy-B_ME3yF6.js";
95
95
  import "./channel-activity-DaCsrdWK.js";
96
- import "./tables-g9xkflht.js";
97
- import "./send-C4v0Leny.js";
96
+ import "./tables-CZSD889r.js";
97
+ import "./send-BCPkAE2k.js";
98
98
  import "./proxy-yk1Oqe9p.js";
99
99
  import { t as formatDocsLink } from "./links-15764jZB.js";
100
100
  import { n as runCommandWithRuntime } from "./cli-utils-CH2y4E2f.js";
101
101
  import { t as formatHelpExamples } from "./help-format-CMAqOikG.js";
102
102
  import "./progress-BQLz1r3L.js";
103
- import "./resolve-route-D_AbcmD6.js";
104
- import "./replies-hSFVxL4h.js";
105
- import "./skill-commands-BFzmZAfo.js";
106
- import "./workspace-dirs-SsExQ3Bz.js";
107
- import { t as createDefaultDeps } from "./deps-CwPrf7RC.js";
108
- import "./plugin-auto-enable-7DUxMy6A.js";
109
- import "./channel-selection-ZxRkxpuF.js";
110
- import "./outbound-attachment-Bot3bRnK.js";
103
+ import "./resolve-route-Ef_Yt2Dw.js";
104
+ import "./replies-Czp4hvpS.js";
105
+ import "./skill-commands-BwIRWSCI.js";
106
+ import "./workspace-dirs-D3bousoX.js";
107
+ import { t as createDefaultDeps } from "./deps-BotXja4Z.js";
108
+ import "./plugin-auto-enable-BMuSi4aV.js";
109
+ import "./channel-selection-3jUl-PyW.js";
110
+ import "./outbound-attachment-jYdMgCml.js";
111
111
  import "./delivery-queue-BvDRo8CK.js";
112
112
  import "./session-cost-usage-DS1rjzML.js";
113
- import "./send-DQiw_nGD.js";
114
- import { a as ensureWorkspaceAndSessions, l as moveToTrash } from "./onboard-helpers-mzy38DiC.js";
113
+ import "./send-CEavqqEz.js";
114
+ import { a as ensureWorkspaceAndSessions, l as moveToTrash } from "./onboard-helpers-CdzbIhrm.js";
115
115
  import "./prompt-style-kmKiCZnm.js";
116
- import "./pairing-labels-ChQJzbS9.js";
117
- import "./server-lifecycle-B5PlrlbG.js";
116
+ import "./pairing-labels-DuZ7ih-T.js";
117
+ import "./server-lifecycle-CGKrGrhM.js";
118
118
  import "./stagger-rQoQSWkz.js";
119
- import "./system-run-command-qJdgzxLp.js";
120
- import "./channel-web-0icuasR6.js";
121
- import "./outbound-DPTxwchq.js";
122
- import "./session-CdnrRhb4.js";
123
- import "./login-CfUhrgWT.js";
119
+ import "./system-run-command-BIhrK3OI.js";
120
+ import "./channel-web-CzrJ-6X4.js";
121
+ import "./outbound-CG19kl0w.js";
122
+ import "./session-BKVySI8q.js";
123
+ import "./login-Dl_lsEHS.js";
124
124
  import { t as collectOption } from "./helpers-Cj6f8SPZ.js";
125
125
  import { t as hasExplicitOptions } from "./command-options-D4MmqoOd.js";
126
126
  import "./note-69EfBEU-.js";
127
127
  import { t as WizardCancelledError } from "./prompts-9ZBCWbQB.js";
128
128
  import { t as createClackPrompter } from "./clack-prompter-CvbZsmjW.js";
129
129
  import { t as resolveChannelDefaultAccountId } from "./helpers-C6eW1WGZ.js";
130
- import { a as parseBindingSpecs, i as describeBinding, n as applyAgentBindings, o as removeAgentBindings, r as buildChannelBindings, t as requireValidConfigSnapshot } from "./config-validation-BvKX6fPw.js";
131
- import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-CHtoYxr6.js";
132
- import "./enable-o_s6PBsC.js";
133
- import "./install-safe-path-ChNR9pl6.js";
134
- import "./npm-registry-spec-BCbbfIhX.js";
135
- import "./skill-scanner-D7mzXRXd.js";
136
- import "./installs-CNubze2L.js";
137
- import { r as setupChannels } from "./onboard-channels-BISq46-i.js";
138
- import "./shared-CpDPo3hJ.js";
139
- import "./auth-token-BJq87X3o.js";
130
+ import { a as parseBindingSpecs, i as describeBinding, n as applyAgentBindings, o as removeAgentBindings, r as buildChannelBindings, t as requireValidConfigSnapshot } from "./config-validation-DIomLMwH.js";
131
+ import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-CPUPtcKt.js";
132
+ import "./enable-DaA_orGN.js";
133
+ import "./install-safe-path-CNNMzJl9.js";
134
+ import "./npm-registry-spec-BfeHLbIQ.js";
135
+ import "./skill-scanner-B4Ftsbd2.js";
136
+ import "./installs-ST3UaUVJ.js";
137
+ import { r as setupChannels } from "./onboard-channels-DCDhpz9s.js";
138
+ import "./shared-DnQ4iyXk.js";
139
+ import "./auth-token-fKt_cHOj.js";
140
140
  import { n as logConfigUpdated } from "./logging-B0-9lotb.js";
141
- import "./provider-auth-helpers-CNRz0SFC.js";
142
- import { t as agentCliCommand } from "./agent-via-gateway-CUQG6kii.js";
141
+ import "./provider-auth-helpers-BGGSUXOH.js";
142
+ import { t as agentCliCommand } from "./agent-via-gateway-bS6seBwg.js";
143
143
  import "./auth-choice-options-xcR7--c6.js";
144
144
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-CiRp6avH.js";
145
- import "./auth-choice.apply-helpers-CGcniL1T.js";
146
- import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-DRR52LJT.js";
147
- import "./openai-model-default-7J6cw1rA.js";
148
- import "./model-picker-BkXoTOiA.js";
145
+ import "./auth-choice.apply-helpers-pTqMTYmi.js";
146
+ import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-CQqV1VIf.js";
147
+ import "./openai-model-default-OPCCNNS0.js";
148
+ import "./model-picker-D3U0wJCO.js";
149
149
  import path from "node:path";
150
- import fs from "node:fs/promises";
150
+ import fsPromises from "node:fs/promises";
151
151
 
152
152
  //#region src/commands/agents.command-shared.ts
153
153
  function createQuietRuntime(runtime) {
@@ -365,7 +365,7 @@ async function agentsUnbindCommand(opts, runtime = defaultRuntime) {
365
365
  //#region src/commands/agents.commands.add.ts
366
366
  async function fileExists(pathname) {
367
367
  try {
368
- await fs.stat(pathname);
368
+ await fsPromises.stat(pathname);
369
369
  return true;
370
370
  } catch {
371
371
  return false;
@@ -507,8 +507,8 @@ async function agentsAddCommand(opts, runtime = defaultRuntime, params) {
507
507
  message: `Copy auth profiles from "${defaultAgentId}"?`,
508
508
  initialValue: false
509
509
  })) {
510
- await fs.mkdir(path.dirname(destAuthPath), { recursive: true });
511
- await fs.copyFile(sourceAuthPath, destAuthPath);
510
+ await fsPromises.mkdir(path.dirname(destAuthPath), { recursive: true });
511
+ await fsPromises.copyFile(sourceAuthPath, destAuthPath);
512
512
  await prompter.note(`Copied auth profiles from "${defaultAgentId}".`, "Auth profiles");
513
513
  }
514
514
  }
@@ -656,7 +656,7 @@ const coerceTrimmed = (value) => {
656
656
  };
657
657
  async function loadIdentityFromFile(filePath) {
658
658
  try {
659
- const parsed = parseIdentityMarkdown(await fs.readFile(filePath, "utf-8"));
659
+ const parsed = parseIdentityMarkdown(await fsPromises.readFile(filePath, "utf-8"));
660
660
  if (!identityHasValues(parsed)) return null;
661
661
  return parsed;
662
662
  } catch {