@visorcraft/idlehands 4.0.18 → 4.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/{accounts-upx5iuke.js → accounts-BDVs8LTu.js} +1 -1
  3. package/dist/{accounts-yD5yI-jP.js → accounts-CIvVRRHb.js} +1 -1
  4. package/dist/{accounts-CRDMZUcg.js → accounts-Dk8mJIrQ.js} +6 -6
  5. package/dist/{acp-cli-COix-boa.js → acp-cli-B3uwVAGD.js} +2 -2
  6. package/dist/{acp-cli-B-7CXaeS.js → acp-cli-BEpWQbqb.js} +2 -2
  7. package/dist/{agent-scope-BVeQuh5x.js → agent-scope-DyP_tr7s.js} +4 -4
  8. package/dist/{agent-via-gateway-Cl2YwlXJ.js → agent-via-gateway-B03q92bw.js} +2 -2
  9. package/dist/{agent-via-gateway-pMCfUzW-.js → agent-via-gateway-B2Z_k_od.js} +60 -60
  10. package/dist/{agent-via-gateway-ClQrLbgo.js → agent-via-gateway-CUQG6kii.js} +2 -2
  11. package/dist/{agent-via-gateway-CC37LlPd.js → agent-via-gateway-Cn3iNSod.js} +7 -7
  12. package/dist/{agents-DrnGQroU.js → agents-DdTECKDf.js} +5 -5
  13. package/dist/{agents.config-BZPnYIMF.js → agents.config-CHtoYxr6.js} +1 -1
  14. package/dist/{agents.config-DfWZrbXn.js → agents.config-D2EbQiOx.js} +1 -1
  15. package/dist/{anton-BfrX2FMd.js → anton-D4vpCj_q.js} +32 -6
  16. package/dist/{anton-B-I7rEtn.js → anton-DsmttQbC.js} +36 -10
  17. package/dist/{anton-BrY-bWgq.js → anton-hH1PyE2C.js} +32 -6
  18. package/dist/{anton-BgKjig3B.js → anton-x7f6kIFP.js} +32 -6
  19. package/dist/{audio-preflight-aBtF0cRI.js → audio-preflight-BSlR2jEq.js} +35 -35
  20. package/dist/{audio-preflight-CSSlgO89.js → audio-preflight-vD3mDc6w.js} +4 -4
  21. package/dist/{audit-Bkd4fvVb.js → audit-C9PrbHng.js} +2 -2
  22. package/dist/{audit-BmaVRZSd.js → audit-CKeZnjft.js} +2 -2
  23. package/dist/{auth-choice-_C22dz9o.js → auth-choice-DRR52LJT.js} +2 -2
  24. package/dist/{auth-choice-DtvI4epn.js → auth-choice-DVoPuwEs.js} +2 -2
  25. package/dist/{auth-store-DQAd4LSE.js → auth-store-DXT-l7fO.js} +12 -12
  26. package/dist/{banner-B-UYZG8d.js → banner-CFKoGAzN.js} +1 -1
  27. package/dist/{bindings-B9L4cqmm.js → bindings-D3b5Fmc9.js} +2 -2
  28. package/dist/{browser-cli-Ddh5zEZN.js → browser-cli-Brb82I5e.js} +3 -3
  29. package/dist/{browser-cli-Ny1nHwqv.js → browser-cli-Ci6DpTnS.js} +3 -3
  30. package/dist/build-info.json +3 -3
  31. package/dist/bundled/boot-md/handler.js +60 -60
  32. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  33. package/dist/bundled/command-logger/handler.js +3 -3
  34. package/dist/bundled/session-memory/handler.js +60 -60
  35. package/dist/{call-BRL23UCk.js → call-BpWhjuOg.js} +1 -1
  36. package/dist/{call-DuNslqj2.js → call-C82rD2Wn.js} +1 -1
  37. package/dist/{channel-activity-DOLX-uK1.js → channel-activity-D_TMOGQ0.js} +3 -3
  38. package/dist/{channel-options-C0iwLcfC.js → channel-options-B4oF7_V2.js} +1 -1
  39. package/dist/{channel-options-BbwNg4q_.js → channel-options-BU0E7BdU.js} +1 -1
  40. package/dist/{channel-web-BLxKeCXF.js → channel-web-0icuasR6.js} +2 -2
  41. package/dist/{channel-web-q6Ugfiks.js → channel-web-BDytDCrG.js} +2 -2
  42. package/dist/{channels-cli-DaRR8vAs.js → channels-cli-B2w32z11.js} +10 -10
  43. package/dist/{channels-cli-BtL1XuuK.js → channels-cli-DWaQsKP8.js} +10 -10
  44. package/dist/{chrome-Do5potHV.js → chrome-DEnkfZ9p.js} +9 -9
  45. package/dist/{chrome-D_SXDetO.js → chrome-_2tzVjVl.js} +17 -17
  46. package/dist/{chunk-BgScV6uo.js → chunk-CMpX7Jaz.js} +1 -1
  47. package/dist/cli/daemon-cli.js +1 -1
  48. package/dist/{cli-BjhrdeVd.js → cli-BVw2ja-q.js} +5 -5
  49. package/dist/{cli-CrUoGRuS.js → cli-Hplv9sD1.js} +5 -5
  50. package/dist/{client-DxH9hwLn.js → client-DtnD-ee9.js} +1 -0
  51. package/dist/{client-Brv1GCwX.js → client-udFMSDes.js} +1 -0
  52. package/dist/{command-registry-BZNlvfaM.js → command-registry-CWDCVzZv.js} +11 -11
  53. package/dist/{commands-registry-CK7aj_ri.js → commands-registry-j4vAzcF2.js} +5 -5
  54. package/dist/{completion-cli-p9W-g1Pe.js → completion-cli-CjERsZ27.js} +2 -2
  55. package/dist/{completion-cli-BIabgt7h.js → completion-cli-f5M3WVf8.js} +1 -1
  56. package/dist/{config-cli-B4nNEjK9.js → config-cli-B2gc8CV1.js} +1 -1
  57. package/dist/{config-cli-u4zbdm-e.js → config-cli-Bt7n6ZJS.js} +1 -1
  58. package/dist/{configure-BbDbMd5G.js → configure-BXsptBk3.js} +6 -6
  59. package/dist/{configure-Dj1JdeEI.js → configure-CKspMrI1.js} +6 -6
  60. package/dist/{cron-cli-Xml0Uww8.js → cron-cli-DQsnGQKs.js} +3 -3
  61. package/dist/{cron-cli-D4DXiD1C.js → cron-cli-DXZzPHDQ.js} +3 -3
  62. package/dist/{daemon-cli-yC6gq-yv.js → daemon-cli-DOG5Mivy.js} +2 -2
  63. package/dist/{daemon-cli-B1Ti51bt.js → daemon-cli-DUg-s4LG.js} +2 -2
  64. package/dist/daemon-cli.js +1 -0
  65. package/dist/{deliver-whAbSPLk.js → deliver-5FLCa6tB.js} +1 -1
  66. package/dist/{deliver-CJaM2zRY.js → deliver-CVTXl0Cv.js} +20 -20
  67. package/dist/{deps-CQzDLqTz.js → deps-BAMUVAdU.js} +6 -6
  68. package/dist/{deps-BMWq0kjy.js → deps-BbipxGPW.js} +1 -1
  69. package/dist/{deps-BuRud-p8.js → deps-CjWcQwlX.js} +1 -1
  70. package/dist/{deps-Dr9GpASq.js → deps-CwPrf7RC.js} +1 -1
  71. package/dist/{devices-cli-BNkO0Fey.js → devices-cli-DKK65S9Z.js} +2 -2
  72. package/dist/{devices-cli-Ck6s9sQQ.js → devices-cli-aiEJxYcN.js} +2 -2
  73. package/dist/{diagnostic-lz5wKsEe.js → diagnostic-4owMk4vH.js} +1 -1
  74. package/dist/{dock-6MgvdSqu.js → dock-BgOmHcbh.js} +6 -6
  75. package/dist/{doctor-completion-BLRGmusD.js → doctor-completion-C2-SDBd6.js} +1 -1
  76. package/dist/{doctor-completion-BeZMlZPb.js → doctor-completion-DB151YdP.js} +1 -1
  77. package/dist/emergency-stop-BldYLJq7.js +113 -0
  78. package/dist/{emergency-stop-CSSPAKHr.js → emergency-stop-CDozqde9.js} +5 -5
  79. package/dist/{emergency-stop-BEsjWvQL.js → emergency-stop-DpNGtfb4.js} +5 -5
  80. package/dist/{emergency-stop-BU-Vbk3V.js → emergency-stop-Lj33jqJJ.js} +7 -7
  81. package/dist/entry.js +1 -1
  82. package/dist/{env-B7b7MKfk.js → env-B5G1qwGc.js} +1 -1
  83. package/dist/{errors--Eb33_ji.js → errors-C_0nm4TJ.js} +1 -1
  84. package/dist/{exec-approvals-cli-CyjTnYfk.js → exec-approvals-cli-D6XUzs4j.js} +4 -4
  85. package/dist/{exec-approvals-cli-CNWOtvwX.js → exec-approvals-cli-DRoaRYPn.js} +4 -4
  86. package/dist/extensionAPI.js +7 -7
  87. package/dist/{fetch-guard-OZ_PCUyr.js → fetch-guard-iuQsIjqN.js} +1 -1
  88. package/dist/{frontmatter-p8nPDprK.js → frontmatter-BOudmHMS.js} +2 -2
  89. package/dist/{fs-safe-BEl8T_Vc.js → fs-safe-CYUaAFO9.js} +2 -2
  90. package/dist/{gateway-cli-BCHdAJHS.js → gateway-cli-Ccd1ukWq.js} +17 -14
  91. package/dist/{gateway-cli-Dumy2IVU.js → gateway-cli-lNUOd2_i.js} +17 -14
  92. package/dist/{gateway-rpc-CdfF0Zt5.js → gateway-rpc-5PTvwEfj.js} +1 -1
  93. package/dist/{gateway-rpc-Du-ZpDjh.js → gateway-rpc-BBFG1T-M.js} +1 -1
  94. package/dist/{gemini-auth-CA0K3QXj.js → gemini-auth-CIyaa44H.js} +2 -2
  95. package/dist/{github-copilot-token-DCg9Q9Ll.js → github-copilot-token-Dgt6cnsM.js} +7 -7
  96. package/dist/{health-CqdQAURH.js → health--GQAFTBr.js} +2 -2
  97. package/dist/{health-B3kk7l82.js → health-HEN6Wk9G.js} +2 -2
  98. package/dist/{hooks-cli-jMG5GST1.js → hooks-cli-DFrttZGb.js} +6 -6
  99. package/dist/{hooks-cli-Ba4woLl0.js → hooks-cli-Di8qrzIB.js} +6 -6
  100. package/dist/{image-BQ3RQWD8.js → image-COw__ACq.js} +6 -6
  101. package/dist/{image-BAsQlUqT.js → image-C_aN5P6-.js} +1 -1
  102. package/dist/{image-ops-ZNtLhD4c.js → image-ops-D1KtygWz.js} +1 -1
  103. package/dist/index.js +10 -10
  104. package/dist/{ir-DnyYtX4H.js → ir-B7IBoKLy.js} +5 -5
  105. package/dist/llm-slug-generator.js +60 -60
  106. package/dist/{local-roots-C9CA2f0R.js → local-roots-KN4Hp1yZ.js} +5 -5
  107. package/dist/{login-Cn1vc1bn.js → login-CFr5vJmR.js} +6 -6
  108. package/dist/{login-qr-Dj0NmRdg.js → login-qr-CFFFOjOl.js} +11 -11
  109. package/dist/{logs-cli-CH4mFhUt.js → logs-cli-4VQ9Iwiw.js} +3 -3
  110. package/dist/{logs-cli-BN5TN6bg.js → logs-cli-u0WmYxx7.js} +3 -3
  111. package/dist/{manager-DBd_2F6j.js → manager-BE_76jWB.js} +15 -15
  112. package/dist/{markdown-tables-CsrsXS80.js → markdown-tables-CzsockiZ.js} +1 -1
  113. package/dist/{message-channel-Cg9KtLfy.js → message-channel-C8QtrwEU.js} +1 -1
  114. package/dist/{model-selection-Vtu6d5Um.js → model-selection-1MMYqY6M.js} +41 -41
  115. package/dist/{models-cli-iLP9BnPA.js → models-cli-CMwszgSD.js} +6 -6
  116. package/dist/{models-cli-BaR1RccY.js → models-cli-DVAyIZ63.js} +7 -7
  117. package/dist/{models-C6GypzZ1.js → models-tZYpgts_.js} +3 -3
  118. package/dist/{node-cli-Ch7K7WtL.js → node-cli-BYzjxmUY.js} +1 -1
  119. package/dist/{node-cli-BiQaHamJ.js → node-cli-CgeiQGbv.js} +1 -1
  120. package/dist/{nodes-cli-tVCIBdL1.js → nodes-cli-DaE0WsOH.js} +3 -3
  121. package/dist/{nodes-cli-D_hUCPNt.js → nodes-cli-kNOtp0U0.js} +3 -3
  122. package/dist/{npm-resolution-DYUWHUe5.js → npm-resolution-By6bZkA-.js} +1 -1
  123. package/dist/{npm-resolution-CWxaTTrT.js → npm-resolution-DLSA4PTO.js} +1 -1
  124. package/dist/{onboard-DdBsJgzg.js → onboard-B6eOxpDM.js} +3 -3
  125. package/dist/{onboard-CinZ4CuY.js → onboard-CbXlbAx2.js} +3 -3
  126. package/dist/{onboard-channels-Bnwwq6TK.js → onboard-channels-BISq46-i.js} +2 -2
  127. package/dist/{onboard-channels-9XAEsgO-.js → onboard-channels-JPltbNGL.js} +2 -2
  128. package/dist/{onboard-helpers-Dp6wXNs7.js → onboard-helpers-DWivfzcc.js} +1 -1
  129. package/dist/{onboard-helpers-BQmbMJxJ.js → onboard-helpers-mzy38DiC.js} +1 -1
  130. package/dist/{onboard-remote-1ZZd5lcX.js → onboard-remote-BMo2C9Ae.js} +1 -1
  131. package/dist/{onboard-remote-CIjhaP2W.js → onboard-remote-LCBHijVE.js} +1 -1
  132. package/dist/{onboard-skills-BD_AS1Iy.js → onboard-skills-BrqATIYg.js} +1 -1
  133. package/dist/{onboard-skills-BsaUIuq6.js → onboard-skills-jFY9gaOu.js} +1 -1
  134. package/dist/{onboarding-C4oujn63.js → onboarding-Da3n7Rvs.js} +7 -7
  135. package/dist/{onboarding-DFvHWFqL.js → onboarding-DikyMlYG.js} +7 -7
  136. package/dist/{onboarding.finalize-BDWHPpyn.js → onboarding.finalize-Bp2ufMd0.js} +10 -10
  137. package/dist/{onboarding.finalize-DMhdDTvo.js → onboarding.finalize-CwYx5n3Z.js} +11 -11
  138. package/dist/{onboarding.gateway-config-CEQMyj8l.js → onboarding.gateway-config-Btu2gzgr.js} +3 -3
  139. package/dist/{onboarding.gateway-config-Czn7jKsq.js → onboarding.gateway-config-w3C9Yj3B.js} +3 -3
  140. package/dist/{outbound-BYm4JJli.js → outbound-BNh6PpQb.js} +6 -6
  141. package/dist/{outbound-attachment-DwaqvYNG.js → outbound-attachment-3I6GzwDe.js} +2 -2
  142. package/dist/{path-alias-guards-BnjbJzIQ.js → path-alias-guards-Cu1nXNMM.js} +1 -1
  143. package/dist/{paths-CkTEyLTV.js → paths-BYNVLNi_.js} +5 -5
  144. package/dist/{paths-0fcEvxu4.js → paths-D_qUel1T.js} +3 -3
  145. package/dist/{pi-embedded-Dap1HAGA.js → pi-embedded-Bc4KWuTe.js} +28 -27
  146. package/dist/{pi-embedded-BDp9JsrM.js → pi-embedded-BeyOxL6U.js} +177 -176
  147. package/dist/{pi-embedded-helpers-Ct2rwp-P.js → pi-embedded-helpers-C2j0LfJC.js} +4 -4
  148. package/dist/{pi-embedded-helpers-B1CKQ81Y.js → pi-embedded-helpers-CyTpDKo5.js} +24 -24
  149. package/dist/{pi-model-discovery-DBHbwKOo.js → pi-model-discovery-Bb__OY-j.js} +7 -7
  150. package/dist/{plugin-registry-CGFy1ugt.js → plugin-registry-BY85d-vE.js} +1 -1
  151. package/dist/{plugin-registry-LYzfPk35.js → plugin-registry-DROWinG6.js} +1 -1
  152. package/dist/plugin-sdk/{agent-via-gateway-De4e2_-W.js → agent-via-gateway-CXtWg-qx.js} +2 -2
  153. package/dist/plugin-sdk/{anton-BO16dWNw.js → anton-CGYTy9vy.js} +32 -6
  154. package/dist/plugin-sdk/{channel-web-Cd-eamYe.js → channel-web-EFRSObCG.js} +2 -2
  155. package/dist/plugin-sdk/commands/agent/types.d.ts +1 -0
  156. package/dist/plugin-sdk/{deps-D6VWIdk7.js → deps-qZxPlSgp.js} +1 -1
  157. package/dist/plugin-sdk/{emergency-stop-w-HD2bz4.js → emergency-stop-CxcBz-aQ.js} +2 -2
  158. package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +1 -0
  159. package/dist/plugin-sdk/index.js +3 -3
  160. package/dist/plugin-sdk/{reply-BqAPyIsz.js → reply-nUO1aM3T.js} +13 -12
  161. package/dist/plugin-sdk/{web-Dj_tThNQ.js → web-CEtAvhaI.js} +3 -3
  162. package/dist/{plugins-Bb6_uisJ.js → plugins-CRB60mCJ.js} +10 -10
  163. package/dist/{plugins-cli-BQKfJ9aF.js → plugins-cli-RFXGkaxP.js} +6 -6
  164. package/dist/{plugins-cli-BCAcCeRZ.js → plugins-cli-b_o3IL7x.js} +6 -6
  165. package/dist/{program-context-DBOEyhi4.js → program-context-D6irLwPo.js} +31 -31
  166. package/dist/{program-Df-zk5RB.js → program-vH6RTUOw.js} +11 -11
  167. package/dist/{prompt-select-styled-DJVZSK4X.js → prompt-select-styled-CDoDFWo7.js} +6 -6
  168. package/dist/{prompt-select-styled-B0FsbRWb.js → prompt-select-styled-DFVvU0TH.js} +6 -6
  169. package/dist/{provider-auth-helpers-D0cQmJkF.js → provider-auth-helpers-BCc5UtUa.js} +1 -1
  170. package/dist/{provider-auth-helpers-Aojd4jNn.js → provider-auth-helpers-CNRz0SFC.js} +1 -1
  171. package/dist/{push-apns-BtI9tV7C.js → push-apns-CHmvuoMu.js} +1 -1
  172. package/dist/{push-apns-qzriU6TC.js → push-apns-e2xmxGGE.js} +1 -1
  173. package/dist/{pw-ai-BKPa5DlF.js → pw-ai-CowTfhOG.js} +13 -13
  174. package/dist/{pw-ai-yrIWfcWX.js → pw-ai-DjmrIQle.js} +1 -1
  175. package/dist/{qmd-manager-DEJVRLvM.js → qmd-manager-B_GgyQQ0.js} +8 -8
  176. package/dist/{query-expansion-CW7PqIXL.js → query-expansion-DEq020GG.js} +5 -5
  177. package/dist/{redact-D1Ebz_iR.js → redact-Bvpf-ATQ.js} +1 -1
  178. package/dist/{register.agent-ButiRGeg.js → register.agent-Dx7ULz49.js} +12 -12
  179. package/dist/{register.agent-Xdy9Gu3H.js → register.agent-HWcFMr6h.js} +11 -11
  180. package/dist/{register.configure-f4xr9iKB.js → register.configure-BctHAiWh.js} +13 -13
  181. package/dist/{register.configure-m5qhbCOO.js → register.configure-k8gocsJw.js} +13 -13
  182. package/dist/{register.maintenance-N55abUee.js → register.maintenance-BYiX9iOa.js} +12 -12
  183. package/dist/{register.maintenance-BA4e0HDc.js → register.maintenance-C6o2WuQx.js} +11 -11
  184. package/dist/{register.message-DaVB6EYW.js → register.message-BLScF2fV.js} +6 -6
  185. package/dist/{register.message-Zta0bYh0.js → register.message-BewFLd-k.js} +6 -6
  186. package/dist/{register.onboard-BHKf5Emm.js → register.onboard-BVm-2XAx.js} +5 -5
  187. package/dist/{register.onboard-BikBO9Gs.js → register.onboard-a0kqiCTa.js} +5 -5
  188. package/dist/{register.orchestrator-anton-DtPFOV9F.js → register.orchestrator-anton-BYyjV8R-.js} +5 -4
  189. package/dist/{register.orchestrator-anton-x3yGok7b.js → register.orchestrator-anton-Tn_RaMLq.js} +5 -4
  190. package/dist/{register.setup-BeRMjZaz.js → register.setup-BJ0WBUpt.js} +5 -5
  191. package/dist/{register.setup-DCIPrpG0.js → register.setup-BwPJaqpH.js} +5 -5
  192. package/dist/{register.status-health-sessions-I0YSjY_V.js → register.status-health-sessions-Clzt8hbv.js} +8 -8
  193. package/dist/{register.status-health-sessions-CA5wMwpi.js → register.status-health-sessions-wbopjGL-.js} +8 -8
  194. package/dist/{register.subclis-DZkq_g35.js → register.subclis-CrcOefJY.js} +21 -21
  195. package/dist/{replies-CXcxPRWk.js → replies-6_GxvQYe.js} +3 -3
  196. package/dist/{reply-DlS9HBVo.js → reply-D5gCiiGr.js} +15 -15
  197. package/dist/{reply-prefix-49q2WQ2B.js → reply-prefix-BUgeSN2R.js} +1 -1
  198. package/dist/{resolve-route-Dr-fqH39.js → resolve-route-DuttYY7A.js} +4 -4
  199. package/dist/{retry-DWN-e4ja.js → retry-BeB9WenR.js} +1 -1
  200. package/dist/{rpc-CCimHATv.js → rpc-Cf9OK5Yk.js} +1 -1
  201. package/dist/{rpc-CasD0keJ.js → rpc-DVTovtI3.js} +1 -1
  202. package/dist/{run-main-B75ak_hb.js → run-main-BCX3UZMR.js} +18 -18
  203. package/dist/{runner-DO528Ump.js → runner-BzNdfqDz.js} +11 -11
  204. package/dist/{runner-Bv_BA3vd.js → runner-CZW_eyf2.js} +1 -1
  205. package/dist/{secrets-cli-Bx9bIigZ.js → secrets-cli-C4UBK_LV.js} +3 -3
  206. package/dist/{secrets-cli-Bgp_H_bH.js → secrets-cli-CR3h2TBy.js} +3 -3
  207. package/dist/{security-cli-MQ__Ca6v.js → security-cli-B9_LV2po.js} +3 -3
  208. package/dist/{security-cli-e1WjvhRm.js → security-cli-an5u-5Jb.js} +3 -3
  209. package/dist/{send-BspIjWIY.js → send-BeIZJuy4.js} +7 -7
  210. package/dist/{send-szC_vYk_.js → send-C1hvd3bt.js} +6 -6
  211. package/dist/{send-CRnMBrJ2.js → send-D4bMycQu.js} +7 -7
  212. package/dist/{send-De8xTUIV.js → send-Dfa3sn6r.js} +24 -24
  213. package/dist/{send-BypmtKl1.js → send-DmLC7aEF.js} +10 -10
  214. package/dist/{server-node-events-CufCnFp4.js → server-node-events-CbVkqOtV.js} +6 -6
  215. package/dist/{server-node-events-B1RPoseF.js → server-node-events-DvStFPGi.js} +6 -6
  216. package/dist/{session-CKiIT4OY.js → session-F_YDS_1V.js} +7 -7
  217. package/dist/{sessions-BgxmLQuf.js → sessions-3ioSeOA1.js} +41 -41
  218. package/dist/{skill-commands-BOUMR5De.js → skill-commands-Ck3flWX7.js} +9 -9
  219. package/dist/{skills-OsjsCf_S.js → skills-CnAPWfca.js} +22 -22
  220. package/dist/{status-hXjECVBh.js → status-CWnPokQF.js} +5 -5
  221. package/dist/{status-ERmEJYw1.js → status-ClMOrHdT.js} +5 -5
  222. package/dist/{store-B4rHJvSg.js → store-CvMgrKWx.js} +2 -2
  223. package/dist/{subagent-registry-CcxZYIwL.js → subagent-registry-BH5O1rxK.js} +15 -15
  224. package/dist/{subsystem-B98oWbbO.js → subsystem-tzu-rIAJ.js} +1 -1
  225. package/dist/{system-cli-CHiaS_zS.js → system-cli-Dd-gBN0t.js} +3 -3
  226. package/dist/{system-cli-3T-OTIKv.js → system-cli-DyVZ5udc.js} +3 -3
  227. package/dist/{tables-DuOExt0S.js → tables-5k-zOZ-s.js} +1 -1
  228. package/dist/{target-errors-CWZr3RMI.js → target-errors-BPfQrPim.js} +2 -2
  229. package/dist/{tokens-B9ArFCMX.js → tokens-BRLyURxW.js} +1 -1
  230. package/dist/{tool-images-DLiBUCZb.js → tool-images-CcGZpzmq.js} +2 -2
  231. package/dist/{tool-loop-detection-j48jLTrr.js → tool-loop-detection-BNGetx3Z.js} +3 -3
  232. package/dist/{tui-BPgLehyv.js → tui-2u2ZDhHV.js} +2 -2
  233. package/dist/{tui-lalhRHve.js → tui-Bne3YNiw.js} +2 -2
  234. package/dist/{tui-cli-9z2Sm8Qg.js → tui-cli-BWnIeq57.js} +3 -3
  235. package/dist/{tui-cli-BVKWJ9X7.js → tui-cli-D0Z-rcUe.js} +3 -3
  236. package/dist/{update-cli-Rnv68OR6.js → update-cli-BTNcddEX.js} +12 -12
  237. package/dist/{update-cli-DROtjWg7.js → update-cli-CxZD0ekr.js} +13 -13
  238. package/dist/{update-runner-BWxBVG9j.js → update-runner-CN7Dm9tg.js} +1 -1
  239. package/dist/{update-runner-CqeNDbPD.js → update-runner-tu2Aiphu.js} +1 -1
  240. package/dist/{utils-ChNzRVsg.js → utils-CTFLl_ji.js} +18 -18
  241. package/dist/{web-BMSzFWiF.js → web-BV-BEZj6.js} +6 -6
  242. package/dist/{web-5ddwA0bs.js → web-Csmkqx1W.js} +66 -66
  243. package/dist/{web-BQLIquZA.js → web-DiqHxfw7.js} +8 -8
  244. package/dist/{web-CnzKMZK0.js → web-aRaB-CvF.js} +6 -6
  245. package/dist/{whatsapp-actions-CYraflBZ.js → whatsapp-actions-DbPcN6JQ.js} +25 -25
  246. package/dist/{workspace-AM44PzIs.js → workspace-DBFSzT6O.js} +18 -18
  247. package/extensions/acpx/package.json +1 -1
  248. package/extensions/bluebubbles/package.json +1 -1
  249. package/extensions/copilot-proxy/package.json +1 -1
  250. package/extensions/diagnostics-otel/package.json +1 -1
  251. package/extensions/discord/package.json +1 -1
  252. package/extensions/feishu/package.json +1 -1
  253. package/extensions/google-gemini-cli-auth/package.json +1 -1
  254. package/extensions/googlechat/package.json +1 -1
  255. package/extensions/hand/package.json +1 -1
  256. package/extensions/imessage/package.json +1 -1
  257. package/extensions/irc/package.json +1 -1
  258. package/extensions/line/package.json +1 -1
  259. package/extensions/llm-task/package.json +1 -1
  260. package/extensions/matrix/CHANGELOG.md +6 -0
  261. package/extensions/matrix/package.json +1 -1
  262. package/extensions/mattermost/package.json +1 -1
  263. package/extensions/memory-core/package.json +1 -1
  264. package/extensions/memory-lancedb/package.json +1 -1
  265. package/extensions/minimax-portal-auth/package.json +1 -1
  266. package/extensions/msteams/CHANGELOG.md +6 -0
  267. package/extensions/msteams/package.json +1 -1
  268. package/extensions/nextcloud-talk/package.json +1 -1
  269. package/extensions/nostr/CHANGELOG.md +6 -0
  270. package/extensions/nostr/package.json +1 -1
  271. package/extensions/open-prose/package.json +1 -1
  272. package/extensions/signal/package.json +1 -1
  273. package/extensions/slack/package.json +1 -1
  274. package/extensions/synology-chat/package.json +1 -1
  275. package/extensions/telegram/package.json +1 -1
  276. package/extensions/tlon/package.json +1 -1
  277. package/extensions/twitch/CHANGELOG.md +6 -0
  278. package/extensions/twitch/package.json +1 -1
  279. package/extensions/voice-call/CHANGELOG.md +6 -0
  280. package/extensions/voice-call/package.json +1 -1
  281. package/extensions/whatsapp/package.json +1 -1
  282. package/extensions/zalo/CHANGELOG.md +6 -0
  283. package/extensions/zalo/package.json +1 -1
  284. package/extensions/zalouser/CHANGELOG.md +6 -0
  285. package/extensions/zalouser/package.json +1 -1
  286. package/package.json +1 -1
  287. package/dist/emergency-stop-JXB5jZyK.js +0 -113
@@ -1,88 +1,88 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { c as resolveDefaultAgentId, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as toAgentModelListLike, h as resolveAgentModelPrimaryValue, i as resolveAgentDir, l as resolveEffectiveModelFallbacks, m as resolveAgentModelFallbackValues, n as listAgentIds, o as resolveAgentSkillsFilter, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, u as resolveRunModelFallbacksOverride } from "./agent-scope-BVeQuh5x.js";
3
- import { d as resolveStateDir, f as expandHomePrefix, i as resolveConfigPath, m as resolveRequiredHomeDir, n as STATE_DIR, s as resolveGatewayPort } from "./paths-CkTEyLTV.js";
4
- import { C as triggerInternalHook, _ as getPluginCommandSpecs, a as listChatChannels, b as createInternalHookEvent, c as normalizeChatChannelId, d as requireActivePluginRegistry, f as setActivePluginRegistry, g as executePluginCommand, h as clearPluginCommands, i as getChatChannelMeta, l as getActivePluginRegistry, m as normalizePluginHttpPath, o as normalizeAnyChannelId, p as createPluginRegistry, r as CHAT_CHANNEL_ORDER, s as normalizeChannelId$1, t as createSubsystemLogger, u as getActivePluginRegistryKey, v as listPluginCommands, y as matchPluginCommand } from "./subsystem-B98oWbbO.js";
5
- import { A as shouldLogVerbose, C as isPlainObject, D as logVerbose, F as theme, I as getChildLogger, K as resolvePreferredIdleHandsTmpDir, M as warn, N as colorize, P as isRich, S as truncateUtf16Safe, W as normalizeLogLevel, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, k as setVerbose, o as escapeRegExp, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, w as danger, y as sleep$1 } from "./utils-ChNzRVsg.js";
2
+ import { c as resolveDefaultAgentId, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as toAgentModelListLike, h as resolveAgentModelPrimaryValue, i as resolveAgentDir, l as resolveEffectiveModelFallbacks, m as resolveAgentModelFallbackValues, n as listAgentIds, o as resolveAgentSkillsFilter, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, u as resolveRunModelFallbacksOverride } from "./agent-scope-DyP_tr7s.js";
3
+ import { d as resolveStateDir, f as expandHomePrefix, i as resolveConfigPath, m as resolveRequiredHomeDir, n as STATE_DIR, s as resolveGatewayPort } from "./paths-BYNVLNi_.js";
4
+ import { C as triggerInternalHook, _ as getPluginCommandSpecs, a as listChatChannels, b as createInternalHookEvent, c as normalizeChatChannelId, d as requireActivePluginRegistry, f as setActivePluginRegistry, g as executePluginCommand, h as clearPluginCommands, i as getChatChannelMeta, l as getActivePluginRegistry, m as normalizePluginHttpPath, o as normalizeAnyChannelId, p as createPluginRegistry, r as CHAT_CHANNEL_ORDER, s as normalizeChannelId$1, t as createSubsystemLogger, u as getActivePluginRegistryKey, v as listPluginCommands, y as matchPluginCommand } from "./subsystem-tzu-rIAJ.js";
5
+ import { A as shouldLogVerbose, C as isPlainObject, D as logVerbose, F as theme, I as getChildLogger, K as resolvePreferredIdleHandsTmpDir, M as warn, N as colorize, P as isRich, S as truncateUtf16Safe, W as normalizeLogLevel, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, k as setVerbose, o as escapeRegExp, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, w as danger, y as sleep$1 } from "./utils-CTFLl_ji.js";
6
6
  import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as defaultRuntime, o as unregisterActiveProgressLine, t as createNonExitingRuntime } from "./runtime-8mi3mpYB.js";
7
7
  import { S as resolveThreadParentSessionKey, _ as getSubagentDepth, b as isSubagentSessionKey, c as normalizeMainKey, d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, g as deriveSessionChatType, h as isBlockedObjectKey, l as resolveAgentIdFromSessionKey, m as normalizeOptionalAccountId, o as classifySessionKeyShape, p as normalizeAccountId$2, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as parseAgentSessionKey, y as isCronSessionKey } from "./session-key-CuLPSMu_.js";
8
- import { S as logWarn, T as openBoundaryFileSync, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, l as ensureAgentWorkspace, m as resolveIdleHandsPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, w as openBoundaryFile, x as logInfo, y as logDebug } from "./workspace-AM44PzIs.js";
9
- import { $t as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, A as getSoonestCooldownExpiry, At as buildEnforcedShellCommand, Bt as unwrapKnownDispatchWrapperInvocation, C as getCustomProviderApiKey, Ct as unsetConfigValueAtPath, D as resolveModelAuthMode, Dt as normalizeTrustedSafeBinDirs, E as resolveEnvApiKey, Et as listWritableExplicitTrustedSafeBinDirs, F as resolveApiKeyForProfile, Ft as resolveAllowlistCandidatePath, G as normalizeTelegramCommandName, Gt as resolveSafeBinProfiles, H as writeConfigFile, Ht as splitShellArgs, It as resolveCommandResolutionFromArgv, J as isInboundPathAllowed, Jt as mapStreamingModeToSlackLegacyDraftStreamMode, K as resolveTelegramCustomCommands, Kt as applyMergePatch, Lt as extractShellWrapperInlineCommand, M as markAuthProfileFailure, Mt as splitCommandChain, N as markAuthProfileUsed, Nt as DEFAULT_SAFE_BINS, Ot as validateSafeBinArgv, P as resolveProfilesUnavailableReason, Pt as matchAllowlist, Q as normalizeScpRemoteHost, R as loadConfig, Rt as isDispatchWrapperExecutable, S as getApiKeyForModel, St as setConfigValueAtPath, T as resolveApiKeyForProvider, Tt as isTrustedSafeBinPath, U as validateConfigObjectWithPlugins, Ut as SAFE_BIN_PROFILES, V as resolveConfigSnapshotHash, Vt as unwrapKnownShellMultiplexerInvocation, W as TELEGRAM_COMMAND_NAME_PATTERN, Wt as normalizeSafeBinProfileFixtures, X as resolveIMessageAttachmentRoots, Xt as resolveSlackNativeStreaming, Yt as resolveDiscordPreviewStreamMode, Z as resolveIMessageRemoteAttachmentRoots, Zt as resolveSlackStreamingMode, _n as splitTrailingAuthProfile, _t as resetConfigOverrides, a as isCliProvider, an as resolveOwnerDisplaySetting, at as isPathWithinRoot, b as OLLAMA_NATIVE_BASE_URL, bn as DEFAULT_PROVIDER, bt as getConfigValueAtPath, c as normalizeProviderId, cn as markAuthProfileGood, ct as loadPluginManifestRegistry, d as resolveDefaultModelForAgent, dn as resolveIdleHandsAgentDir, dt as safeStatSync, en as resolveAgentMaxConcurrent, et as parseDurationMs, f as resolveModelRefFromString, fn as withFileLock, ft as applyTestPluginDefaults, gn as normalizeSecretInput, gt as getConfigOverrides, h as resolveThinkingDefault, hn as resolveAuthProfileDisplayLabel, ht as resolveMemorySlotDecision, i as findNormalizedProviderValue, in as isDangerousHostEnvVarName, it as isAvatarHttpUrl, j as isProfileInCooldown, jt as isWindowsPlatform, k as resolveAuthProfileOrder, kt as analyzeShellCommand, ln as ensureAuthProfileStore, lt as discoverIdleHandsPlugins, m as resolveSubagentSpawnModelSelection, mt as resolveEffectiveEnableState, n as buildConfiguredAllowlistKeys, nn as getShellPathFromLoginShell, nt as AVATAR_MAX_BYTES, o as modelKey, on as dedupeProfileIds, ot as isSupportedLocalAvatarExtension, p as resolveReasoningDefault, pt as normalizePluginsConfig, qt as isSafeExecutableValue, r as buildModelAliasIndex, rn as resolveShellEnvFallbackTimeoutMs, rt as isAvatarDataUrl, s as normalizeModelRef$2, sn as listProfilesForProvider, st as validateJsonSchemaValue, t as buildAllowedModelSet, tn as VERSION, u as resolveConfiguredModelRef, un as resolveAuthStorePathForDisplay, ut as isPathInside, vn as DEFAULT_CONTEXT_TOKENS, vt as setConfigOverride, w as requireApiKey, wt as getTrustedSafeBinDirs, x as createOllamaStreamFn, xt as parseConfigPath, yn as DEFAULT_MODEL, yt as unsetConfigOverride, z as readConfigFileSnapshot, zt as isShellWrapperExecutable } from "./model-selection-Vtu6d5Um.js";
10
- import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DCg9Q9Ll.js";
8
+ import { S as logWarn, T as openBoundaryFileSync, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, l as ensureAgentWorkspace, m as resolveIdleHandsPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, w as openBoundaryFile, x as logInfo, y as logDebug } from "./workspace-DBFSzT6O.js";
9
+ import { $t as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, A as getSoonestCooldownExpiry, At as buildEnforcedShellCommand, Bt as unwrapKnownDispatchWrapperInvocation, C as getCustomProviderApiKey, Ct as unsetConfigValueAtPath, D as resolveModelAuthMode, Dt as normalizeTrustedSafeBinDirs, E as resolveEnvApiKey, Et as listWritableExplicitTrustedSafeBinDirs, F as resolveApiKeyForProfile, Ft as resolveAllowlistCandidatePath, G as normalizeTelegramCommandName, Gt as resolveSafeBinProfiles, H as writeConfigFile, Ht as splitShellArgs, It as resolveCommandResolutionFromArgv, J as isInboundPathAllowed, Jt as mapStreamingModeToSlackLegacyDraftStreamMode, K as resolveTelegramCustomCommands, Kt as applyMergePatch, Lt as extractShellWrapperInlineCommand, M as markAuthProfileFailure, Mt as splitCommandChain, N as markAuthProfileUsed, Nt as DEFAULT_SAFE_BINS, Ot as validateSafeBinArgv, P as resolveProfilesUnavailableReason, Pt as matchAllowlist, Q as normalizeScpRemoteHost, R as loadConfig, Rt as isDispatchWrapperExecutable, S as getApiKeyForModel, St as setConfigValueAtPath, T as resolveApiKeyForProvider, Tt as isTrustedSafeBinPath, U as validateConfigObjectWithPlugins, Ut as SAFE_BIN_PROFILES, V as resolveConfigSnapshotHash, Vt as unwrapKnownShellMultiplexerInvocation, W as TELEGRAM_COMMAND_NAME_PATTERN, Wt as normalizeSafeBinProfileFixtures, X as resolveIMessageAttachmentRoots, Xt as resolveSlackNativeStreaming, Yt as resolveDiscordPreviewStreamMode, Z as resolveIMessageRemoteAttachmentRoots, Zt as resolveSlackStreamingMode, _n as splitTrailingAuthProfile, _t as resetConfigOverrides, a as isCliProvider, an as resolveOwnerDisplaySetting, at as isPathWithinRoot, b as OLLAMA_NATIVE_BASE_URL, bn as DEFAULT_PROVIDER, bt as getConfigValueAtPath, c as normalizeProviderId, cn as markAuthProfileGood, ct as loadPluginManifestRegistry, d as resolveDefaultModelForAgent, dn as resolveIdleHandsAgentDir, dt as safeStatSync, en as resolveAgentMaxConcurrent, et as parseDurationMs, f as resolveModelRefFromString, fn as withFileLock, ft as applyTestPluginDefaults, gn as normalizeSecretInput, gt as getConfigOverrides, h as resolveThinkingDefault, hn as resolveAuthProfileDisplayLabel, ht as resolveMemorySlotDecision, i as findNormalizedProviderValue, in as isDangerousHostEnvVarName, it as isAvatarHttpUrl, j as isProfileInCooldown, jt as isWindowsPlatform, k as resolveAuthProfileOrder, kt as analyzeShellCommand, ln as ensureAuthProfileStore, lt as discoverIdleHandsPlugins, m as resolveSubagentSpawnModelSelection, mt as resolveEffectiveEnableState, n as buildConfiguredAllowlistKeys, nn as getShellPathFromLoginShell, nt as AVATAR_MAX_BYTES, o as modelKey, on as dedupeProfileIds, ot as isSupportedLocalAvatarExtension, p as resolveReasoningDefault, pt as normalizePluginsConfig, qt as isSafeExecutableValue, r as buildModelAliasIndex, rn as resolveShellEnvFallbackTimeoutMs, rt as isAvatarDataUrl, s as normalizeModelRef$2, sn as listProfilesForProvider, st as validateJsonSchemaValue, t as buildAllowedModelSet, tn as VERSION, u as resolveConfiguredModelRef, un as resolveAuthStorePathForDisplay, ut as isPathInside, vn as DEFAULT_CONTEXT_TOKENS, vt as setConfigOverride, w as requireApiKey, wt as getTrustedSafeBinDirs, x as createOllamaStreamFn, xt as parseConfigPath, yn as DEFAULT_MODEL, yt as unsetConfigOverride, z as readConfigFileSnapshot, zt as isShellWrapperExecutable } from "./model-selection-1MMYqY6M.js";
10
+ import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-Dgt6cnsM.js";
11
11
  import { n as resolveCliName, t as formatCliCommand } from "./command-format-BAxx4PW5.js";
12
12
  import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
13
- import { t as isTruthyEnvValue } from "./env-B7b7MKfk.js";
13
+ import { t as isTruthyEnvValue } from "./env-B5G1qwGc.js";
14
14
  import { n as MANIFEST_KEY } from "./legacy-names-B4ZvHEmO.js";
15
- import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, o as resolveChannelGroupToolsPolicy, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-6MgvdSqu.js";
15
+ import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, o as resolveChannelGroupToolsPolicy, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BgOmHcbh.js";
16
16
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-CEV6qf-x.js";
17
- import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-B9ArFCMX.js";
18
- import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-Bb6_uisJ.js";
19
- import { n as resolveWhatsAppAccount, t as hasAnyWhatsAppAuth } from "./accounts-CRDMZUcg.js";
17
+ import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-BRLyURxW.js";
18
+ import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-CRB60mCJ.js";
19
+ import { n as resolveWhatsAppAccount, t as hasAnyWhatsAppAuth } from "./accounts-Dk8mJIrQ.js";
20
20
  import { t as resolveAccountEntry } from "./account-lookup-DlMshWZ_.js";
21
21
  import { t as normalizeChatType } from "./chat-type-BPBtOjer.js";
22
- import { t as buildChannelAccountBindings } from "./bindings-B9L4cqmm.js";
23
- import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, n as getWebAuthAgeMs, p as webAuthExists } from "./auth-store-DQAd4LSE.js";
24
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-BspIjWIY.js";
25
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-BypmtKl1.js";
22
+ import { t as buildChannelAccountBindings } from "./bindings-D3b5Fmc9.js";
23
+ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, n as getWebAuthAgeMs, p as webAuthExists } from "./auth-store-DXT-l7fO.js";
24
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-BeIZJuy4.js";
25
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DmLC7aEF.js";
26
26
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-B1N_MXT_.js";
27
- import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-CJaM2zRY.js";
28
- import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-lz5wKsEe.js";
27
+ import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-CVTXl0Cv.js";
28
+ import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-4owMk4vH.js";
29
29
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-BGF2r-kt.js";
30
- import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-upx5iuke.js";
31
- import { $ as readJsonFileWithFallback, A as extractTelegramLocation, B as normalizeAllowFrom$2, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as mergeDmAllowFromSources, H as resolveSenderAllowMatch, I as resolveTelegramReplyId, J as toLocationContext, K as resolveGroupAllowFromSources, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as upsertChannelPairingRequest, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as firstDefined$1, V as normalizeDmAllowFromWithStore$1, W as isSenderIdAllowed, X as readChannelAllowFromStore, Y as addChannelAllowFromStoreEntry, Z as removeChannelAllowFromStoreEntry, _ as resolveTelegramFetch, a as reactMessageTelegram, at as resolveTelegramTargetChatType, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as writeJsonFileAtomically, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, it as parseTelegramTarget, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as listPairingChannels, o as sendMessageTelegram, p as markdownToTelegramChunks, q as formatLocationText, r as deleteMessageTelegram, rt as isVoiceCompatibleAudio, s as sendPollTelegram, t as buildInlineKeyboard, tt as getPairingAdapter, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-De8xTUIV.js";
32
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-ZNtLhD4c.js";
33
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DBHbwKOo.js";
34
- import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-Cg9KtLfy.js";
35
- import { $ as stripPluginOnlyAllowlist, A as isTimeoutErrorMessage, B as resolveBrowserConfig, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as ensureSandboxWorkspaceForSession, G as resolveGatewayCredentialsFromConfig, H as getBridgeAuthForPort, I as resolveSandboxContext, J as applyOwnerOnlyToolPolicy, K as trimToUndefined$1, L as resolveSandboxRuntimeStatus, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, Q as mergeAlsoAllowPolicy, R as createBrowserRouteContext, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, U as ensureBrowserControlAuth, V as resolveProfile, W as resolveBrowserControlAuth, X as collectExplicitAllowlist, Y as buildPluginToolGroups, Z as expandPolicyWithPluginGroups, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, at as buildBootstrapContextFiles, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, ct as resolveBootstrapTotalMaxChars, d as downgradeOpenAIReasoningBlocks, et as expandToolGroups, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, it as matchesAnyGlobPattern, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, lt as sanitizeGoogleTurnOrdering, m as classifyFailoverReason, n as validateGeminiTurns, nt as resolveToolProfilePolicy, o as normalizeTextForComparison, ot as ensureSessionHeader, p as BILLING_ERROR_USER_MESSAGE, q as resolveSandboxConfigForAgent, r as pickFallbackThinkingLevel, rt as compileGlobPatterns, s as sanitizeSessionMessagesImages, st as resolveBootstrapMaxChars, t as validateAnthropicTurns, tt as normalizeToolName, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as registerBrowserRoutes } from "./pi-embedded-helpers-B1CKQ81Y.js";
36
- import { C as ensureChromeExtensionRelayServer, F as isSecureWebSocketUrl, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as rawDataToString, k as resolveExistingPathsWithinRoot, s as resolveLsofCommandSync } from "./chrome-D_SXDetO.js";
30
+ import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BDVs8LTu.js";
31
+ import { $ as readJsonFileWithFallback, A as extractTelegramLocation, B as normalizeAllowFrom$2, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as mergeDmAllowFromSources, H as resolveSenderAllowMatch, I as resolveTelegramReplyId, J as toLocationContext, K as resolveGroupAllowFromSources, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as upsertChannelPairingRequest, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as firstDefined$1, V as normalizeDmAllowFromWithStore$1, W as isSenderIdAllowed, X as readChannelAllowFromStore, Y as addChannelAllowFromStoreEntry, Z as removeChannelAllowFromStoreEntry, _ as resolveTelegramFetch, a as reactMessageTelegram, at as resolveTelegramTargetChatType, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as writeJsonFileAtomically, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, it as parseTelegramTarget, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as listPairingChannels, o as sendMessageTelegram, p as markdownToTelegramChunks, q as formatLocationText, r as deleteMessageTelegram, rt as isVoiceCompatibleAudio, s as sendPollTelegram, t as buildInlineKeyboard, tt as getPairingAdapter, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-Dfa3sn6r.js";
32
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-D1KtygWz.js";
33
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bb__OY-j.js";
34
+ import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-C8QtrwEU.js";
35
+ import { $ as stripPluginOnlyAllowlist, A as isTimeoutErrorMessage, B as resolveBrowserConfig, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as ensureSandboxWorkspaceForSession, G as resolveGatewayCredentialsFromConfig, H as getBridgeAuthForPort, I as resolveSandboxContext, J as applyOwnerOnlyToolPolicy, K as trimToUndefined$1, L as resolveSandboxRuntimeStatus, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, Q as mergeAlsoAllowPolicy, R as createBrowserRouteContext, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, U as ensureBrowserControlAuth, V as resolveProfile, W as resolveBrowserControlAuth, X as collectExplicitAllowlist, Y as buildPluginToolGroups, Z as expandPolicyWithPluginGroups, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, at as buildBootstrapContextFiles, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, ct as resolveBootstrapTotalMaxChars, d as downgradeOpenAIReasoningBlocks, et as expandToolGroups, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, it as matchesAnyGlobPattern, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, lt as sanitizeGoogleTurnOrdering, m as classifyFailoverReason, n as validateGeminiTurns, nt as resolveToolProfilePolicy, o as normalizeTextForComparison, ot as ensureSessionHeader, p as BILLING_ERROR_USER_MESSAGE, q as resolveSandboxConfigForAgent, r as pickFallbackThinkingLevel, rt as compileGlobPatterns, s as sanitizeSessionMessagesImages, st as resolveBootstrapMaxChars, t as validateAnthropicTurns, tt as normalizeToolName, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as registerBrowserRoutes } from "./pi-embedded-helpers-CyTpDKo5.js";
36
+ import { C as ensureChromeExtensionRelayServer, F as isSecureWebSocketUrl, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as rawDataToString, k as resolveExistingPathsWithinRoot, s as resolveLsofCommandSync } from "./chrome-_2tzVjVl.js";
37
37
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CZeHDwVZ.js";
38
- import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-OsjsCf_S.js";
39
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-BnjbJzIQ.js";
40
- import { r as compileSafeRegex, t as redactSensitiveText } from "./redact-D1Ebz_iR.js";
41
- import { n as formatErrorMessage, r as formatUncaughtError } from "./errors--Eb33_ji.js";
42
- import { i as writeFileWithinRoot, n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-BEl8T_Vc.js";
43
- import { n as getMediaDir, r as saveMediaBuffer } from "./store-B4rHJvSg.js";
44
- import { A as normalizeInputProvenance, B as setSessionRuntimeModel, C as capArrayByJsonBytes, D as INPUT_PROVENANCE_KIND_VALUES, E as parseInlineDirectives$1, F as resolveSessionResetType, G as deriveSessionMetaPatch, I as resolveThreadFlag, J as resolveSessionLockMaxHoldFromTimeout, K as resolveGroupSessionKey, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, O as applyInputProvenanceToUserMessage, P as resolveSessionResetPolicy, R as mergeSessionEntry, S as archiveSessionTranscripts, T as extractToolCallNames, U as resolveExplicitAgentSessionKey, V as canonicalizeMainSessionAlias, W as resolveMainSessionKey, _ as deliveryContextKey, b as normalizeSessionDeliveryFields, c as readSessionUpdatedAt, d as updateLastRoute, f as updateSessionStore, g as deliveryContextFromSession, h as resolveCacheTtlMs$1, i as appendAssistantMessageToSessionTranscript, j as resolveSessionKey, k as hasInterSessionUserProvenance, l as recordSessionMetaFromInbound, m as isCacheEnabled, n as extractDeliveryInfo, o as resolveAndPersistSessionFile, p as updateSessionStoreEntry, q as acquireSessionWriteLock, r as parseSessionThreadInfo, s as loadSessionStore, v as mergeDeliveryContext, w as countToolResults, x as normalizeAccountId$3, y as normalizeDeliveryContext, z as resolveFreshSessionTotalTokens } from "./sessions-BgxmLQuf.js";
38
+ import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-CnAPWfca.js";
39
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Cu1nXNMM.js";
40
+ import { r as compileSafeRegex, t as redactSensitiveText } from "./redact-Bvpf-ATQ.js";
41
+ import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-C_0nm4TJ.js";
42
+ import { i as writeFileWithinRoot, n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-CYUaAFO9.js";
43
+ import { n as getMediaDir, r as saveMediaBuffer } from "./store-CvMgrKWx.js";
44
+ import { A as normalizeInputProvenance, B as setSessionRuntimeModel, C as capArrayByJsonBytes, D as INPUT_PROVENANCE_KIND_VALUES, E as parseInlineDirectives$1, F as resolveSessionResetType, G as deriveSessionMetaPatch, I as resolveThreadFlag, J as resolveSessionLockMaxHoldFromTimeout, K as resolveGroupSessionKey, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, O as applyInputProvenanceToUserMessage, P as resolveSessionResetPolicy, R as mergeSessionEntry, S as archiveSessionTranscripts, T as extractToolCallNames, U as resolveExplicitAgentSessionKey, V as canonicalizeMainSessionAlias, W as resolveMainSessionKey, _ as deliveryContextKey, b as normalizeSessionDeliveryFields, c as readSessionUpdatedAt, d as updateLastRoute, f as updateSessionStore, g as deliveryContextFromSession, h as resolveCacheTtlMs$1, i as appendAssistantMessageToSessionTranscript, j as resolveSessionKey, k as hasInterSessionUserProvenance, l as recordSessionMetaFromInbound, m as isCacheEnabled, n as extractDeliveryInfo, o as resolveAndPersistSessionFile, p as updateSessionStoreEntry, q as acquireSessionWriteLock, r as parseSessionThreadInfo, s as loadSessionStore, v as mergeDeliveryContext, w as countToolResults, x as normalizeAccountId$3, y as normalizeDeliveryContext, z as resolveFreshSessionTotalTokens } from "./sessions-3ioSeOA1.js";
45
45
  import { n as resolveConversationLabel } from "./conversation-label-1Wad2kXc.js";
46
- import { t as resolveIMessageAccount } from "./accounts-yD5yI-jP.js";
47
- import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, r as resolveDefaultSessionStorePath, u as resolveStorePath } from "./paths-0fcEvxu4.js";
46
+ import { t as resolveIMessageAccount } from "./accounts-CIvVRRHb.js";
47
+ import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, r as resolveDefaultSessionStorePath, u as resolveStorePath } from "./paths-D_qUel1T.js";
48
48
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-_OimdA_2.js";
49
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-DLiBUCZb.js";
49
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CcGZpzmq.js";
50
50
  import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-z4_linel.js";
51
- import { C as extractTextFromChatContent, S as isInsideCode, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, w as ensureIdleHandsModelsJson, x as findCodeRegions, y as resolveToolDisplay } from "./image-BQ3RQWD8.js";
52
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-49q2WQ2B.js";
53
- import { n as resolveMemorySearchConfig } from "./manager-DBd_2F6j.js";
51
+ import { C as extractTextFromChatContent, S as isInsideCode, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, w as ensureIdleHandsModelsJson, x as findCodeRegions, y as resolveToolDisplay } from "./image-COw__ACq.js";
52
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BUgeSN2R.js";
53
+ import { n as resolveMemorySearchConfig } from "./manager-BE_76jWB.js";
54
54
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-3YYM8QuM.js";
55
- import { t as fetchWithSsrFGuard } from "./fetch-guard-OZ_PCUyr.js";
56
- import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-CW7PqIXL.js";
57
- import { n as retryAsync } from "./retry-DWN-e4ja.js";
58
- import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-CWZr3RMI.js";
59
- import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BgScV6uo.js";
60
- import { n as resolveMarkdownTableMode } from "./markdown-tables-CsrsXS80.js";
61
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-C9CA2f0R.js";
62
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DnyYtX4H.js";
63
- import { _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, y as resolveNativeCommandsEnabled } from "./commands-registry-CK7aj_ri.js";
64
- import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-BOUMR5De.js";
55
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-iuQsIjqN.js";
56
+ import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-DEq020GG.js";
57
+ import { n as retryAsync } from "./retry-BeB9WenR.js";
58
+ import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-BPfQrPim.js";
59
+ import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-CMpX7Jaz.js";
60
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CzsockiZ.js";
61
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-KN4Hp1yZ.js";
62
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-B7IBoKLy.js";
63
+ import { _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, y as resolveNativeCommandsEnabled } from "./commands-registry-j4vAzcF2.js";
64
+ import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-Ck3flWX7.js";
65
65
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BYczzTII.js";
66
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$2, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-DO528Ump.js";
66
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$2, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-BzNdfqDz.js";
67
67
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CsfR_943.js";
68
68
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-D9g0X0i7.js";
69
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-DOLX-uK1.js";
69
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D_TMOGQ0.js";
70
70
  import { n as normalizePollInput } from "./polls-DhMjjIGW.js";
71
- import { t as convertMarkdownTables } from "./tables-DuOExt0S.js";
72
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-szC_vYk_.js";
73
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-CRnMBrJ2.js";
74
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-Dr-fqH39.js";
71
+ import { t as convertMarkdownTables } from "./tables-5k-zOZ-s.js";
72
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-C1hvd3bt.js";
73
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-D4bMycQu.js";
74
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DuttYY7A.js";
75
75
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-jilCMH1M.js";
76
76
  import { t as makeProxyFetch } from "./proxy-CRB9oCP5.js";
77
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CXcxPRWk.js";
78
- import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-CQzDLqTz.js";
77
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-6_GxvQYe.js";
78
+ import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-BAMUVAdU.js";
79
79
  import { createRequire } from "node:module";
80
80
  import * as fs$1 from "node:fs/promises";
81
81
  import fs from "node:fs/promises";
82
82
  import os, { homedir } from "node:os";
83
83
  import * as path$1 from "node:path";
84
84
  import path, { isAbsolute } from "node:path";
85
- import fsSync, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
85
+ import syncFs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
86
86
  import JSON5 from "json5";
87
87
  import { inspect, promisify } from "node:util";
88
88
  import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
@@ -3246,7 +3246,7 @@ async function resolveIdleHandsDocsPath(params) {
3246
3246
  const workspaceDir = params.workspaceDir?.trim();
3247
3247
  if (workspaceDir) {
3248
3248
  const workspaceDocs = path.join(workspaceDir, "docs");
3249
- if (fsSync.existsSync(workspaceDocs)) return workspaceDocs;
3249
+ if (syncFs.existsSync(workspaceDocs)) return workspaceDocs;
3250
3250
  }
3251
3251
  const packageRoot = await resolveIdleHandsPackageRoot({
3252
3252
  cwd: params.cwd,
@@ -3255,7 +3255,7 @@ async function resolveIdleHandsDocsPath(params) {
3255
3255
  });
3256
3256
  if (!packageRoot) return null;
3257
3257
  const packageDocs = path.join(packageRoot, "docs");
3258
- return fsSync.existsSync(packageDocs) ? packageDocs : null;
3258
+ return syncFs.existsSync(packageDocs) ? packageDocs : null;
3259
3259
  }
3260
3260
 
3261
3261
  //#endregion
@@ -3965,7 +3965,7 @@ async function getMemorySearchManager(params) {
3965
3965
  if (cached) return { manager: cached };
3966
3966
  }
3967
3967
  try {
3968
- const { QmdMemoryManager } = await import("./qmd-manager-DEJVRLvM.js");
3968
+ const { QmdMemoryManager } = await import("./qmd-manager-B_GgyQQ0.js");
3969
3969
  const primary = await QmdMemoryManager.create({
3970
3970
  cfg: params.cfg,
3971
3971
  agentId: params.agentId,
@@ -3977,7 +3977,7 @@ async function getMemorySearchManager(params) {
3977
3977
  const wrapper = new FallbackMemoryManager({
3978
3978
  primary,
3979
3979
  fallbackFactory: async () => {
3980
- const { MemoryIndexManager } = await import("./manager-DBd_2F6j.js").then((n) => n.t);
3980
+ const { MemoryIndexManager } = await import("./manager-BE_76jWB.js").then((n) => n.t);
3981
3981
  return await MemoryIndexManager.get(params);
3982
3982
  }
3983
3983
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3990,7 +3990,7 @@ async function getMemorySearchManager(params) {
3990
3990
  }
3991
3991
  }
3992
3992
  try {
3993
- const { MemoryIndexManager } = await import("./manager-DBd_2F6j.js").then((n) => n.t);
3993
+ const { MemoryIndexManager } = await import("./manager-BE_76jWB.js").then((n) => n.t);
3994
3994
  return { manager: await MemoryIndexManager.get(params) };
3995
3995
  } catch (err) {
3996
3996
  return {
@@ -4678,7 +4678,7 @@ function resolveDefaultIdentityPath() {
4678
4678
  return path.join(resolveStateDir(), "identity", "device.json");
4679
4679
  }
4680
4680
  function ensureDir$2(filePath) {
4681
- fsSync.mkdirSync(path.dirname(filePath), { recursive: true });
4681
+ syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
4682
4682
  }
4683
4683
  const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
4684
4684
  function base64UrlEncode(buf) {
@@ -4714,8 +4714,8 @@ function generateIdentity() {
4714
4714
  }
4715
4715
  function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
4716
4716
  try {
4717
- if (fsSync.existsSync(filePath)) {
4718
- const raw = fsSync.readFileSync(filePath, "utf8");
4717
+ if (syncFs.existsSync(filePath)) {
4718
+ const raw = syncFs.readFileSync(filePath, "utf8");
4719
4719
  const parsed = JSON.parse(raw);
4720
4720
  if (parsed?.version === 1 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.privateKeyPem === "string") {
4721
4721
  const derivedId = fingerprintPublicKey(parsed.publicKeyPem);
@@ -4724,9 +4724,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
4724
4724
  ...parsed,
4725
4725
  deviceId: derivedId
4726
4726
  };
4727
- fsSync.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
4727
+ syncFs.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
4728
4728
  try {
4729
- fsSync.chmodSync(filePath, 384);
4729
+ syncFs.chmodSync(filePath, 384);
4730
4730
  } catch {}
4731
4731
  return {
4732
4732
  deviceId: derivedId,
@@ -4751,9 +4751,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
4751
4751
  privateKeyPem: identity.privateKeyPem,
4752
4752
  createdAtMs: Date.now()
4753
4753
  };
4754
- fsSync.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
4754
+ syncFs.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
4755
4755
  try {
4756
- fsSync.chmodSync(filePath, 384);
4756
+ syncFs.chmodSync(filePath, 384);
4757
4757
  } catch {}
4758
4758
  return identity;
4759
4759
  }
@@ -4903,8 +4903,8 @@ function resolveDeviceAuthPath(env = process.env) {
4903
4903
  }
4904
4904
  function readStore(filePath) {
4905
4905
  try {
4906
- if (!fsSync.existsSync(filePath)) return null;
4907
- const raw = fsSync.readFileSync(filePath, "utf8");
4906
+ if (!syncFs.existsSync(filePath)) return null;
4907
+ const raw = syncFs.readFileSync(filePath, "utf8");
4908
4908
  const parsed = JSON.parse(raw);
4909
4909
  if (parsed?.version !== 1 || typeof parsed.deviceId !== "string") return null;
4910
4910
  if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
@@ -4914,10 +4914,10 @@ function readStore(filePath) {
4914
4914
  }
4915
4915
  }
4916
4916
  function writeStore(filePath, store) {
4917
- fsSync.mkdirSync(path.dirname(filePath), { recursive: true });
4918
- fsSync.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
4917
+ syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
4918
+ syncFs.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
4919
4919
  try {
4920
- fsSync.chmodSync(filePath, 384);
4920
+ syncFs.chmodSync(filePath, 384);
4921
4921
  } catch {}
4922
4922
  }
4923
4923
  function loadDeviceAuthToken(params) {
@@ -5107,6 +5107,7 @@ const AgentParamsSchema = Type.Object({
5107
5107
  bestEffortDeliver: Type.Optional(Type.Boolean()),
5108
5108
  lane: Type.Optional(Type.String()),
5109
5109
  extraSystemPrompt: Type.Optional(Type.String()),
5110
+ workspaceDir: Type.Optional(Type.String()),
5110
5111
  inputProvenance: Type.Optional(Type.Object({
5111
5112
  kind: Type.String({ enum: [...INPUT_PROVENANCE_KIND_VALUES] }),
5112
5113
  sourceSessionKey: Type.Optional(Type.String()),
@@ -7936,7 +7937,7 @@ async function routeReply(params) {
7936
7937
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7937
7938
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7938
7939
  try {
7939
- const { deliverOutboundPayloads } = await import("./deliver-CJaM2zRY.js").then((n) => n.n);
7940
+ const { deliverOutboundPayloads } = await import("./deliver-CVTXl0Cv.js").then((n) => n.n);
7940
7941
  const outboundSession = buildOutboundSessionContext({
7941
7942
  cfg,
7942
7943
  agentId: resolvedAgentId,
@@ -8456,7 +8457,7 @@ function normalizeSessionKey$1(value) {
8456
8457
  }
8457
8458
  function readSessionStore(storePath) {
8458
8459
  try {
8459
- const raw = fsSync.readFileSync(storePath, "utf-8");
8460
+ const raw = syncFs.readFileSync(storePath, "utf-8");
8460
8461
  const parsed = JSON5.parse(raw);
8461
8462
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
8462
8463
  } catch {}
@@ -17451,7 +17452,7 @@ function mergeLegacyAgent(current, legacy) {
17451
17452
  }
17452
17453
  function ensureDir$1(filePath) {
17453
17454
  const dir = path.dirname(filePath);
17454
- fsSync.mkdirSync(dir, { recursive: true });
17455
+ syncFs.mkdirSync(dir, { recursive: true });
17455
17456
  }
17456
17457
  function coerceAllowlistEntries(allowlist) {
17457
17458
  if (!Array.isArray(allowlist) || allowlist.length === 0) return Array.isArray(allowlist) ? allowlist : void 0;
@@ -17521,11 +17522,11 @@ function generateToken() {
17521
17522
  function loadExecApprovals() {
17522
17523
  const filePath = resolveExecApprovalsPath();
17523
17524
  try {
17524
- if (!fsSync.existsSync(filePath)) return normalizeExecApprovals({
17525
+ if (!syncFs.existsSync(filePath)) return normalizeExecApprovals({
17525
17526
  version: 1,
17526
17527
  agents: {}
17527
17528
  });
17528
- const raw = fsSync.readFileSync(filePath, "utf8");
17529
+ const raw = syncFs.readFileSync(filePath, "utf8");
17529
17530
  const parsed = JSON.parse(raw);
17530
17531
  if (parsed?.version !== 1) return normalizeExecApprovals({
17531
17532
  version: 1,
@@ -17542,9 +17543,9 @@ function loadExecApprovals() {
17542
17543
  function saveExecApprovals(file) {
17543
17544
  const filePath = resolveExecApprovalsPath();
17544
17545
  ensureDir$1(filePath);
17545
- fsSync.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
17546
+ syncFs.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
17546
17547
  try {
17547
- fsSync.chmodSync(filePath, 384);
17548
+ syncFs.chmodSync(filePath, 384);
17548
17549
  } catch {}
17549
17550
  }
17550
17551
  function ensureExecApprovals() {
@@ -18029,18 +18030,18 @@ function drainSystemEventEntries(sessionKey) {
18029
18030
  function resolvePowerShellPath() {
18030
18031
  const programFiles = process.env.ProgramFiles || process.env.PROGRAMFILES || "C:\\Program Files";
18031
18032
  const pwsh7 = path.join(programFiles, "PowerShell", "7", "pwsh.exe");
18032
- if (fsSync.existsSync(pwsh7)) return pwsh7;
18033
+ if (syncFs.existsSync(pwsh7)) return pwsh7;
18033
18034
  const programW6432 = process.env.ProgramW6432;
18034
18035
  if (programW6432 && programW6432 !== programFiles) {
18035
18036
  const pwsh7Alt = path.join(programW6432, "PowerShell", "7", "pwsh.exe");
18036
- if (fsSync.existsSync(pwsh7Alt)) return pwsh7Alt;
18037
+ if (syncFs.existsSync(pwsh7Alt)) return pwsh7Alt;
18037
18038
  }
18038
18039
  const pwshInPath = resolveShellFromPath("pwsh");
18039
18040
  if (pwshInPath) return pwshInPath;
18040
18041
  const systemRoot = process.env.SystemRoot || process.env.WINDIR;
18041
18042
  if (systemRoot) {
18042
18043
  const candidate = path.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
18043
- if (fsSync.existsSync(candidate)) return candidate;
18044
+ if (syncFs.existsSync(candidate)) return candidate;
18044
18045
  }
18045
18046
  return "powershell.exe";
18046
18047
  }
@@ -18078,7 +18079,7 @@ function resolveShellFromPath(name) {
18078
18079
  for (const entry of entries) {
18079
18080
  const candidate = path.join(entry, name);
18080
18081
  try {
18081
- fsSync.accessSync(candidate, fsSync.constants.X_OK);
18082
+ syncFs.accessSync(candidate, syncFs.constants.X_OK);
18082
18083
  return candidate;
18083
18084
  } catch {}
18084
18085
  }
@@ -21329,7 +21330,7 @@ const MODEL_CACHE = /* @__PURE__ */ new Map();
21329
21330
  await ensureIdleHandsModelsJson(cfg);
21330
21331
  } catch {}
21331
21332
  try {
21332
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-DBHbwKOo.js").then((n) => n.r);
21333
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-Bb__OY-j.js").then((n) => n.r);
21333
21334
  const agentDir = resolveIdleHandsAgentDir();
21334
21335
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
21335
21336
  applyDiscoveredContextWindows({
@@ -21481,7 +21482,7 @@ function walkUpFrom(startDir, opts, resolveAtDir) {
21481
21482
  function hasGitMarker(repoRoot) {
21482
21483
  const gitPath = path.join(repoRoot, ".git");
21483
21484
  try {
21484
- const stat = fsSync.statSync(gitPath);
21485
+ const stat = syncFs.statSync(gitPath);
21485
21486
  return stat.isDirectory() || stat.isFile();
21486
21487
  } catch {
21487
21488
  return false;
@@ -21493,10 +21494,10 @@ function findGitRoot(startDir, opts = {}) {
21493
21494
  function resolveGitDirFromMarker(repoRoot) {
21494
21495
  const gitPath = path.join(repoRoot, ".git");
21495
21496
  try {
21496
- const stat = fsSync.statSync(gitPath);
21497
+ const stat = syncFs.statSync(gitPath);
21497
21498
  if (stat.isDirectory()) return gitPath;
21498
21499
  if (!stat.isFile()) return null;
21499
- const match = fsSync.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
21500
+ const match = syncFs.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
21500
21501
  if (!match?.[1]) return null;
21501
21502
  return path.resolve(repoRoot, match[1].trim());
21502
21503
  } catch {
@@ -21563,7 +21564,7 @@ const resolveCommitHash = (options = {}) => {
21563
21564
  cachedCommit = null;
21564
21565
  return cachedCommit;
21565
21566
  }
21566
- const head = fsSync.readFileSync(headPath, "utf-8").trim();
21567
+ const head = syncFs.readFileSync(headPath, "utf-8").trim();
21567
21568
  if (!head) {
21568
21569
  cachedCommit = null;
21569
21570
  return cachedCommit;
@@ -21571,7 +21572,7 @@ const resolveCommitHash = (options = {}) => {
21571
21572
  if (head.startsWith("ref:")) {
21572
21573
  const ref = head.replace(/^ref:\s*/i, "").trim();
21573
21574
  const refPath = path.resolve(path.dirname(headPath), ref);
21574
- cachedCommit = formatCommit(fsSync.readFileSync(refPath, "utf-8").trim());
21575
+ cachedCommit = formatCommit(syncFs.readFileSync(refPath, "utf-8").trim());
21575
21576
  return cachedCommit;
21576
21577
  }
21577
21578
  cachedCommit = formatCommit(head);
@@ -21831,17 +21832,17 @@ const readUsageFromSessionLog = (sessionId, sessionEntry, agentId, sessionKey, s
21831
21832
  } catch {
21832
21833
  return;
21833
21834
  }
21834
- if (!fsSync.existsSync(logPath)) return;
21835
+ if (!syncFs.existsSync(logPath)) return;
21835
21836
  try {
21836
21837
  const TAIL_BYTES = 8192;
21837
- const stat = fsSync.statSync(logPath);
21838
+ const stat = syncFs.statSync(logPath);
21838
21839
  const offset = Math.max(0, stat.size - TAIL_BYTES);
21839
21840
  const buf = Buffer.alloc(Math.min(TAIL_BYTES, stat.size));
21840
- const fd = fsSync.openSync(logPath, "r");
21841
+ const fd = syncFs.openSync(logPath, "r");
21841
21842
  try {
21842
- fsSync.readSync(fd, buf, 0, buf.length, offset);
21843
+ syncFs.readSync(fd, buf, 0, buf.length, offset);
21843
21844
  } finally {
21844
- fsSync.closeSync(fd);
21845
+ syncFs.closeSync(fd);
21845
21846
  }
21846
21847
  const tail = buf.toString("utf-8");
21847
21848
  const lines = (offset > 0 ? tail.slice(tail.indexOf("\n") + 1) : tail).split(/\n+/);
@@ -23061,7 +23062,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23061
23062
  };
23062
23063
  const arg = body.slice(6).trim();
23063
23064
  if (arg === "status" || arg === "") {
23064
- const { antonStatus } = await import("./anton-B-I7rEtn.js");
23065
+ const { antonStatus } = await import("./anton-DsmttQbC.js");
23065
23066
  const lines = [];
23066
23067
  await antonStatus({
23067
23068
  log: (msg) => lines.push(msg),
@@ -23077,7 +23078,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23077
23078
  return { shouldContinue: false };
23078
23079
  }
23079
23080
  if (arg === "stop") {
23080
- const { antonStop } = await import("./anton-B-I7rEtn.js");
23081
+ const { antonStop } = await import("./anton-DsmttQbC.js");
23081
23082
  const lines = [];
23082
23083
  await antonStop({
23083
23084
  log: (msg) => lines.push(msg),
@@ -23115,8 +23116,8 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23115
23116
  await sendProgress(replyCtx, text);
23116
23117
  return { shouldContinue: false };
23117
23118
  }
23118
- const { runAnton, formatProgressMessage } = await import("./anton-B-I7rEtn.js");
23119
- const { createDefaultDeps } = await import("./deps-CQzDLqTz.js").then((n) => n.n);
23119
+ const { runAnton, formatProgressMessage } = await import("./anton-DsmttQbC.js");
23120
+ const { createDefaultDeps } = await import("./deps-BAMUVAdU.js").then((n) => n.n);
23120
23121
  const { createNonExitingRuntime } = await import("./runtime-8mi3mpYB.js").then((n) => n.r);
23121
23122
  const runtime = createNonExitingRuntime();
23122
23123
  const deps = createDefaultDeps();
@@ -23213,8 +23214,8 @@ const handleDirCommand = async (params, _allowTextCommands) => {
23213
23214
  }
23214
23215
  try {
23215
23216
  if (params.sessionKey) {
23216
- const { updateSessionStoreEntry } = await import("./sessions-BgxmLQuf.js").then((n) => n.u);
23217
- const { resolveDefaultSessionStorePath } = await import("./paths-0fcEvxu4.js").then((n) => n.n);
23217
+ const { updateSessionStoreEntry } = await import("./sessions-3ioSeOA1.js").then((n) => n.u);
23218
+ const { resolveDefaultSessionStorePath } = await import("./paths-D_qUel1T.js").then((n) => n.n);
23218
23219
  await updateSessionStoreEntry({
23219
23220
  storePath: params.storePath ?? resolveDefaultSessionStorePath(),
23220
23221
  sessionKey: params.sessionKey,
@@ -23403,7 +23404,7 @@ function resolveRepoRoot(params) {
23403
23404
  const configured = params.config?.agents?.defaults?.repoRoot?.trim();
23404
23405
  if (configured) try {
23405
23406
  const resolved = path.resolve(configured);
23406
- if (fsSync.statSync(resolved).isDirectory()) return resolved;
23407
+ if (syncFs.statSync(resolved).isDirectory()) return resolved;
23407
23408
  } catch {}
23408
23409
  const candidates = [params.workspaceDir, params.cwd].map((value) => value?.trim()).filter(Boolean);
23409
23410
  const seen = /* @__PURE__ */ new Set();
@@ -24175,7 +24176,7 @@ async function buildContextReply(params) {
24175
24176
  //#region src/auto-reply/reply/commands-export-session.ts
24176
24177
  const EXPORT_HTML_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), "export-html");
24177
24178
  function loadTemplate(fileName) {
24178
- return fsSync.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
24179
+ return syncFs.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
24179
24180
  }
24180
24181
  function generateHtml(sessionData) {
24181
24182
  const template = loadTemplate("template.html");
@@ -24249,7 +24250,7 @@ async function buildExportSessionReply(params) {
24249
24250
  } catch (err) {
24250
24251
  return { text: `❌ Failed to resolve session file: ${err instanceof Error ? err.message : String(err)}` };
24251
24252
  }
24252
- if (!fsSync.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
24253
+ if (!syncFs.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
24253
24254
  const sessionManager = SessionManager.open(sessionFile);
24254
24255
  const entries = sessionManager.getEntries();
24255
24256
  const header = sessionManager.getHeader();
@@ -24270,8 +24271,8 @@ async function buildExportSessionReply(params) {
24270
24271
  const defaultFileName = `idlehands-session-${entry.sessionId.slice(0, 8)}-${timestamp}.html`;
24271
24272
  const outputPath = args.outputPath ? path.resolve(args.outputPath.startsWith("~") ? args.outputPath.replace("~", process.env.HOME ?? "") : args.outputPath) : path.join(params.workspaceDir, defaultFileName);
24272
24273
  const outputDir = path.dirname(outputPath);
24273
- if (!fsSync.existsSync(outputDir)) fsSync.mkdirSync(outputDir, { recursive: true });
24274
- fsSync.writeFileSync(outputPath, html, "utf-8");
24274
+ if (!syncFs.existsSync(outputDir)) syncFs.mkdirSync(outputDir, { recursive: true });
24275
+ syncFs.writeFileSync(outputPath, html, "utf-8");
24275
24276
  const relativePath = path.relative(params.workspaceDir, outputPath);
24276
24277
  return { text: [
24277
24278
  "✅ Session exported!",
@@ -24446,8 +24447,8 @@ function resolveZaiApiKey() {
24446
24447
  }
24447
24448
  try {
24448
24449
  const authPath = path.join(resolveRequiredHomeDir(process.env, os.homedir), ".pi", "agent", "auth.json");
24449
- if (!fsSync.existsSync(authPath)) return;
24450
- const data = JSON.parse(fsSync.readFileSync(authPath, "utf-8"));
24450
+ if (!syncFs.existsSync(authPath)) return;
24451
+ const data = JSON.parse(syncFs.readFileSync(authPath, "utf-8"));
24451
24452
  return data["z-ai"]?.access || data.zai?.access;
24452
24453
  } catch {
24453
24454
  return;
@@ -26210,7 +26211,7 @@ function shouldPersistAnyBindingState() {
26210
26211
  }
26211
26212
  function shouldPersistBindingMutations() {
26212
26213
  if (shouldPersistAnyBindingState()) return true;
26213
- return fsSync.existsSync(resolveThreadBindingsPath());
26214
+ return syncFs.existsSync(resolveThreadBindingsPath());
26214
26215
  }
26215
26216
  function saveBindingsToDisk(params = {}) {
26216
26217
  if (!params.force && !shouldPersistAnyBindingState()) return;
@@ -27474,7 +27475,7 @@ const applyCostTotal = (totals, costTotal) => {
27474
27475
  totals.totalCost += costTotal;
27475
27476
  };
27476
27477
  async function* readJsonlRecords(filePath) {
27477
- const fileStream = fsSync.createReadStream(filePath, { encoding: "utf-8" });
27478
+ const fileStream = syncFs.createReadStream(filePath, { encoding: "utf-8" });
27478
27479
  const rl = readline.createInterface({
27479
27480
  input: fileStream,
27480
27481
  crlfDelay: Infinity
@@ -27546,10 +27547,10 @@ async function loadCostUsageSummary(params) {
27546
27547
  const dailyMap = /* @__PURE__ */ new Map();
27547
27548
  const totals = emptyTotals();
27548
27549
  const sessionsDir = resolveSessionTranscriptsDirForAgent(params?.agentId);
27549
- const entries = await fsSync.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
27550
+ const entries = await syncFs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
27550
27551
  const files = (await Promise.all(entries.filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map(async (entry) => {
27551
27552
  const filePath = path.join(sessionsDir, entry.name);
27552
- const stats = await fsSync.promises.stat(filePath).catch(() => null);
27553
+ const stats = await syncFs.promises.stat(filePath).catch(() => null);
27553
27554
  if (!stats) return null;
27554
27555
  if (stats.mtimeMs < sinceTime) return null;
27555
27556
  return filePath;
@@ -27582,7 +27583,7 @@ async function loadCostUsageSummary(params) {
27582
27583
  }
27583
27584
  async function loadSessionCostSummary(params) {
27584
27585
  const sessionFile = params.sessionFile ?? (params.sessionId ? resolveSessionFilePath(params.sessionId, params.sessionEntry, { agentId: params.agentId }) : void 0);
27585
- if (!sessionFile || !fsSync.existsSync(sessionFile)) return null;
27586
+ if (!sessionFile || !syncFs.existsSync(sessionFile)) return null;
27586
27587
  const totals = emptyTotals();
27587
27588
  let firstActivity;
27588
27589
  let lastActivity;
@@ -29899,7 +29900,7 @@ async function createModelSelectionState(params) {
29899
29900
  }
29900
29901
  }
29901
29902
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
29902
- const { ensureAuthProfileStore } = await import("./model-selection-Vtu6d5Um.js").then((n) => n.O);
29903
+ const { ensureAuthProfileStore } = await import("./model-selection-1MMYqY6M.js").then((n) => n.O);
29903
29904
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
29904
29905
  const providerKey = normalizeProviderId(provider);
29905
29906
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -33421,7 +33422,7 @@ function asBoolean(value) {
33421
33422
  }
33422
33423
  function resolveTempPathParts(opts) {
33423
33424
  const tmpDir = opts.tmpDir ?? resolvePreferredIdleHandsTmpDir();
33424
- if (!opts.tmpDir) fsSync.mkdirSync(tmpDir, {
33425
+ if (!opts.tmpDir) syncFs.mkdirSync(tmpDir, {
33425
33426
  recursive: true,
33426
33427
  mode: 448
33427
33428
  });
@@ -36361,9 +36362,9 @@ function loadExternalCatalogEntries(options) {
36361
36362
  const entries = [];
36362
36363
  for (const rawPath of paths) {
36363
36364
  const resolved = resolveUserPath(rawPath);
36364
- if (!fsSync.existsSync(resolved)) continue;
36365
+ if (!syncFs.existsSync(resolved)) continue;
36365
36366
  try {
36366
- const payload = JSON.parse(fsSync.readFileSync(resolved, "utf-8"));
36367
+ const payload = JSON.parse(syncFs.readFileSync(resolved, "utf-8"));
36367
36368
  entries.push(...parseCatalogEntries(payload));
36368
36369
  } catch {}
36369
36370
  }
@@ -39579,7 +39580,7 @@ function listExistingAgentIdsFromDisk() {
39579
39580
  const root = resolveStateDir();
39580
39581
  const agentsDir = path.join(root, "agents");
39581
39582
  try {
39582
- return fsSync.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
39583
+ return syncFs.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
39583
39584
  } catch {
39584
39585
  return [];
39585
39586
  }
@@ -45424,7 +45425,7 @@ async function runAgentTurnWithFallback(params) {
45424
45425
  if (corruptedSessionId) {
45425
45426
  const transcriptPath = resolveSessionTranscriptPath(corruptedSessionId);
45426
45427
  try {
45427
- fsSync.unlinkSync(transcriptPath);
45428
+ syncFs.unlinkSync(transcriptPath);
45428
45429
  } catch {}
45429
45430
  }
45430
45431
  delete params.activeSessionStore[sessionKey];
@@ -46159,9 +46160,9 @@ function auditPostCompactionReads(readFilePaths, workspaceDir, requiredReads = D
46159
46160
  * Returns messages from the last N lines (default 100).
46160
46161
  */
46161
46162
  function readSessionMessages(sessionFile, maxLines = 100) {
46162
- if (!fsSync.existsSync(sessionFile)) return [];
46163
+ if (!syncFs.existsSync(sessionFile)) return [];
46163
46164
  try {
46164
- const recentLines = fsSync.readFileSync(sessionFile, "utf-8").trim().split("\n").slice(-maxLines);
46165
+ const recentLines = syncFs.readFileSync(sessionFile, "utf-8").trim().split("\n").slice(-maxLines);
46165
46166
  const messages = [];
46166
46167
  for (const line of recentLines) try {
46167
46168
  const entry = JSON.parse(line);
@@ -46202,8 +46203,8 @@ const MAX_CONTEXT_CHARS = 3e3;
46202
46203
  async function readPostCompactionContext(workspaceDir) {
46203
46204
  const agentsPath = path.join(workspaceDir, "AGENTS.md");
46204
46205
  try {
46205
- if (!fsSync.existsSync(agentsPath)) return null;
46206
- const sections = extractSections(await fsSync.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
46206
+ if (!syncFs.existsSync(agentsPath)) return null;
46207
+ const sections = extractSections(await syncFs.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
46207
46208
  if (sections.length === 0) return null;
46208
46209
  const combined = sections.join("\n\n");
46209
46210
  return "[Post-compaction context refresh]\n\nSession was just compacted. The conversation summary above is a hint, NOT a substitute for your startup sequence. Execute your Session Startup sequence now — read the required files before responding to the user.\n\nCritical rules from AGENTS.md:\n\n" + (combined.length > MAX_CONTEXT_CHARS ? combined.slice(0, MAX_CONTEXT_CHARS) + "\n...[truncated]..." : combined);
@@ -46437,7 +46438,7 @@ async function runReplyAgent(params) {
46437
46438
  if (resolved) transcriptCandidates.add(resolved);
46438
46439
  transcriptCandidates.add(resolveSessionTranscriptPath(prevSessionId, agentId));
46439
46440
  for (const candidate of transcriptCandidates) try {
46440
- fsSync.unlinkSync(candidate);
46441
+ syncFs.unlinkSync(candidate);
46441
46442
  } catch {}
46442
46443
  }
46443
46444
  return true;
@@ -47428,7 +47429,7 @@ async function deliverSessionMaintenanceWarning(params) {
47428
47429
  return;
47429
47430
  }
47430
47431
  try {
47431
- const { deliverOutboundPayloads } = await import("./deliver-CJaM2zRY.js").then((n) => n.n);
47432
+ const { deliverOutboundPayloads } = await import("./deliver-CVTXl0Cv.js").then((n) => n.n);
47432
47433
  const outboundSession = buildOutboundSessionContext({
47433
47434
  cfg: params.cfg,
47434
47435
  sessionKey: params.sessionKey
@@ -47485,7 +47486,7 @@ function forkSessionFromParent(params) {
47485
47486
  agentId: params.agentId,
47486
47487
  sessionsDir: params.sessionsDir
47487
47488
  });
47488
- if (!parentSessionFile || !fsSync.existsSync(parentSessionFile)) return null;
47489
+ if (!parentSessionFile || !syncFs.existsSync(parentSessionFile)) return null;
47489
47490
  try {
47490
47491
  const manager = SessionManager.open(parentSessionFile);
47491
47492
  const leafId = manager.getLeafId();
@@ -47509,7 +47510,7 @@ function forkSessionFromParent(params) {
47509
47510
  cwd: manager.getCwd(),
47510
47511
  parentSession: parentSessionFile
47511
47512
  };
47512
- fsSync.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
47513
+ syncFs.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
47513
47514
  return {
47514
47515
  sessionId,
47515
47516
  sessionFile
@@ -51864,7 +51865,7 @@ async function describeStickerImage(params) {
51864
51865
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
51865
51866
  try {
51866
51867
  const buffer = await fs.readFile(imagePath);
51867
- const { describeImageWithModel } = await import("./image-BQ3RQWD8.js").then((n) => n.n);
51868
+ const { describeImageWithModel } = await import("./image-COw__ACq.js").then((n) => n.n);
51868
51869
  return (await describeImageWithModel({
51869
51870
  buffer,
51870
51871
  fileName: "sticker.webp",
@@ -52318,7 +52319,7 @@ function createWhatsAppLoginTool() {
52318
52319
  force: Type.Optional(Type.Boolean())
52319
52320
  }),
52320
52321
  execute: async (_toolCallId, args) => {
52321
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-Dj0NmRdg.js");
52322
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CFFFOjOl.js");
52322
52323
  if ((args?.action ?? "start") === "wait") {
52323
52324
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
52324
52325
  return {
@@ -52605,7 +52606,7 @@ async function withMemoryManagerForAgent(params) {
52605
52606
  }
52606
52607
  async function checkReadableFile(pathname) {
52607
52608
  try {
52608
- await fs.access(pathname, fsSync.constants.R_OK);
52609
+ await fs.access(pathname, syncFs.constants.R_OK);
52609
52610
  return { exists: true };
52610
52611
  } catch (err) {
52611
52612
  const code = err.code;
@@ -52664,7 +52665,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
52664
52665
  }
52665
52666
  let dirReadable = null;
52666
52667
  try {
52667
- await fs.access(memoryDir, fsSync.constants.R_OK);
52668
+ await fs.access(memoryDir, syncFs.constants.R_OK);
52668
52669
  dirReadable = true;
52669
52670
  } catch (err) {
52670
52671
  const code = err.code;
@@ -54792,7 +54793,7 @@ async function preflightDiscordMessage(params) {
54792
54793
  let preflightTranscript;
54793
54794
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
54794
54795
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
54795
- const { transcribeFirstAudio } = await import("./audio-preflight-aBtF0cRI.js");
54796
+ const { transcribeFirstAudio } = await import("./audio-preflight-BSlR2jEq.js");
54796
54797
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
54797
54798
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
54798
54799
  ctx: {
@@ -56374,7 +56375,7 @@ function identityHasValues(identity) {
56374
56375
  }
56375
56376
  function loadIdentityFromFile(identityPath) {
56376
56377
  try {
56377
- const parsed = parseIdentityMarkdown(fsSync.readFileSync(identityPath, "utf-8"));
56378
+ const parsed = parseIdentityMarkdown(syncFs.readFileSync(identityPath, "utf-8"));
56378
56379
  if (!identityHasValues(parsed)) return null;
56379
56380
  return parsed;
56380
56381
  } catch {
@@ -56398,7 +56399,7 @@ function resolveAvatarSource(cfg, agentId) {
56398
56399
  }
56399
56400
  function resolveExistingPath(value) {
56400
56401
  try {
56401
- return fsSync.realpathSync(value);
56402
+ return syncFs.realpathSync(value);
56402
56403
  } catch {
56403
56404
  return path.resolve(value);
56404
56405
  }
@@ -56416,7 +56417,7 @@ function resolveLocalAvatarPath(params) {
56416
56417
  reason: "unsupported_extension"
56417
56418
  };
56418
56419
  try {
56419
- const stat = fsSync.statSync(realPath);
56420
+ const stat = syncFs.statSync(realPath);
56420
56421
  if (!stat.isFile()) return {
56421
56422
  ok: false,
56422
56423
  reason: "missing"
@@ -57269,9 +57270,9 @@ function createDiscordMessageHandler(params) {
57269
57270
  try {
57270
57271
  const messageText = resolveDiscordMessageText(data.message)?.trim();
57271
57272
  if (messageText) {
57272
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-JXB5jZyK.js");
57273
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BldYLJq7.js");
57273
57274
  if (isAbortRequestText(messageText)) {
57274
- const { resolveAgentRoute } = await import("./resolve-route-Dr-fqH39.js").then((n) => n.r);
57275
+ const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
57275
57276
  const channelId = resolveDiscordMessageChannelId({
57276
57277
  message: data.message,
57277
57278
  eventChannelId: data.channel_id
@@ -59993,7 +59994,7 @@ async function agentCommand(opts, runtime = defaultRuntime, deps = createDefault
59993
59994
  agentId: sessionAgentId,
59994
59995
  sessionKey
59995
59996
  });
59996
- const workspaceDirRaw = resolvedSessionEntry?.workspaceDir?.trim() || resolveAgentWorkspaceDir(cfg, sessionAgentId);
59997
+ const workspaceDirRaw = opts.workspaceDir?.trim() || resolvedSessionEntry?.workspaceDir?.trim() || resolveAgentWorkspaceDir(cfg, sessionAgentId);
59997
59998
  const agentDir = resolveAgentDir(cfg, sessionAgentId);
59998
59999
  const workspaceDir = (await ensureAgentWorkspace({
59999
60000
  dir: workspaceDirRaw,
@@ -64767,9 +64768,9 @@ async function monitorIMessageProvider(opts = {}) {
64767
64768
  }
64768
64769
  const msgText = (message.text ?? "").trim();
64769
64770
  if (msgText) {
64770
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-JXB5jZyK.js");
64771
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BldYLJq7.js");
64771
64772
  if (isAbortRequestText(msgText)) {
64772
- const { resolveAgentRoute } = await import("./resolve-route-Dr-fqH39.js").then((n) => n.r);
64773
+ const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
64773
64774
  const route = resolveAgentRoute({
64774
64775
  cfg,
64775
64776
  channel: "imessage",
@@ -64850,7 +64851,7 @@ async function monitorIMessageProvider(opts = {}) {
64850
64851
  function readFileIfExists(filePath) {
64851
64852
  if (!filePath) return;
64852
64853
  try {
64853
- return fsSync.readFileSync(filePath, "utf-8").trim();
64854
+ return syncFs.readFileSync(filePath, "utf-8").trim();
64854
64855
  } catch {
64855
64856
  return;
64856
64857
  }
@@ -65426,7 +65427,7 @@ async function downloadLineMedia(messageId, channelAccessToken, maxBytes = 10 *
65426
65427
  prefix: "line-media",
65427
65428
  extension: getExtensionForContentType(contentType)
65428
65429
  });
65429
- await fsSync.promises.writeFile(filePath, buffer);
65430
+ await syncFs.promises.writeFile(filePath, buffer);
65430
65431
  logVerbose(`line: downloaded media ${messageId} to ${filePath} (${buffer.length} bytes)`);
65431
65432
  return {
65432
65433
  path: filePath,
@@ -67378,9 +67379,9 @@ function createSignalEventHandler(deps) {
67378
67379
  const senderName = envelope.sourceName ?? senderDisplay;
67379
67380
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
67380
67381
  if (bodyText) {
67381
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-JXB5jZyK.js");
67382
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BldYLJq7.js");
67382
67383
  if (isAbortRequestText(bodyText)) {
67383
- const { resolveAgentRoute } = await import("./resolve-route-Dr-fqH39.js").then((n) => n.r);
67384
+ const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
67384
67385
  const route = resolveAgentRoute({
67385
67386
  cfg: deps.cfg,
67386
67387
  channel: "signal",
@@ -70760,9 +70761,9 @@ function createSlackMessageHandler(params) {
70760
70761
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
70761
70762
  const rawText = (message.text ?? "").trim();
70762
70763
  if (rawText) {
70763
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-JXB5jZyK.js");
70764
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BldYLJq7.js");
70764
70765
  if (isAbortRequestText(rawText)) {
70765
- const { resolveAgentRoute } = await import("./resolve-route-Dr-fqH39.js").then((n) => n.r);
70766
+ const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
70766
70767
  const route = resolveAgentRoute({
70767
70768
  cfg: ctx.cfg,
70768
70769
  channel: "slack",
@@ -70882,7 +70883,7 @@ function readSlackExternalArgMenuToken(raw) {
70882
70883
  }
70883
70884
  let commandsRegistry;
70884
70885
  async function getCommandsRegistry() {
70885
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CK7aj_ri.js").then((n) => n.n);
70886
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-j4vAzcF2.js").then((n) => n.n);
70886
70887
  return commandsRegistry;
70887
70888
  }
70888
70889
  function encodeSlackCommandArgValue(parts) {
@@ -71206,14 +71207,14 @@ async function registerSlackMonitorSlashCommands(params) {
71206
71207
  const channelName = channelInfo?.name;
71207
71208
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
71208
71209
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
71209
- import("./resolve-route-Dr-fqH39.js").then((n) => n.r),
71210
+ import("./resolve-route-DuttYY7A.js").then((n) => n.r),
71210
71211
  import("./inbound-context-BYczzTII.js").then((n) => n.n),
71211
71212
  Promise.resolve().then(() => provider_dispatcher_exports)
71212
71213
  ]);
71213
71214
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
71214
71215
  import("./conversation-label-1Wad2kXc.js").then((n) => n.t),
71215
- import("./reply-prefix-49q2WQ2B.js").then((n) => n.n),
71216
- import("./sessions-BgxmLQuf.js").then((n) => n.t)
71216
+ import("./reply-prefix-BUgeSN2R.js").then((n) => n.n),
71217
+ import("./sessions-3ioSeOA1.js").then((n) => n.t)
71217
71218
  ]);
71218
71219
  const route = resolveAgentRoute({
71219
71220
  cfg,
@@ -71281,9 +71282,9 @@ async function registerSlackMonitorSlashCommands(params) {
71281
71282
  });
71282
71283
  const deliverSlashPayloads = async (replies) => {
71283
71284
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
71284
- import("./replies-CXcxPRWk.js").then((n) => n.r),
71285
- import("./chunk-BgScV6uo.js").then((n) => n.s),
71286
- import("./markdown-tables-CsrsXS80.js").then((n) => n.t)
71285
+ import("./replies-6_GxvQYe.js").then((n) => n.r),
71286
+ import("./chunk-CMpX7Jaz.js").then((n) => n.s),
71287
+ import("./markdown-tables-CzsockiZ.js").then((n) => n.t)
71287
71288
  ]);
71288
71289
  await deliverSlackSlashReplies({
71289
71290
  replies,
@@ -71336,7 +71337,7 @@ async function registerSlackMonitorSlashCommands(params) {
71336
71337
  let nativeCommands = [];
71337
71338
  if (nativeEnabled) {
71338
71339
  reg = await getCommandsRegistry();
71339
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BOUMR5De.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
71340
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Ck3flWX7.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
71340
71341
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
71341
71342
  skillCommands,
71342
71343
  provider: "slack"
@@ -72954,7 +72955,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
72954
72955
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
72955
72956
  const text = typeof msg.text === "string" ? msg.text : void 0;
72956
72957
  if (text) {
72957
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-JXB5jZyK.js");
72958
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BldYLJq7.js");
72958
72959
  if (isAbortRequestText(text)) {
72959
72960
  const senderId = msg.from?.id ? String(msg.from.id) : "";
72960
72961
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -73841,7 +73842,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
73841
73842
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
73842
73843
  let preflightTranscript;
73843
73844
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
73844
- const { transcribeFirstAudio } = await import("./audio-preflight-aBtF0cRI.js");
73845
+ const { transcribeFirstAudio } = await import("./audio-preflight-BSlR2jEq.js");
73845
73846
  preflightTranscript = await transcribeFirstAudio({
73846
73847
  ctx: {
73847
73848
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -76427,23 +76428,23 @@ let webLoginQrPromise = null;
76427
76428
  let webChannelPromise = null;
76428
76429
  let whatsappActionsPromise = null;
76429
76430
  function loadWebOutbound() {
76430
- webOutboundPromise ??= import("./outbound-BYm4JJli.js").then((n) => n.t);
76431
+ webOutboundPromise ??= import("./outbound-BNh6PpQb.js").then((n) => n.t);
76431
76432
  return webOutboundPromise;
76432
76433
  }
76433
76434
  function loadWebLogin() {
76434
- webLoginPromise ??= import("./login-Cn1vc1bn.js").then((n) => n.n);
76435
+ webLoginPromise ??= import("./login-CFr5vJmR.js").then((n) => n.n);
76435
76436
  return webLoginPromise;
76436
76437
  }
76437
76438
  function loadWebLoginQr() {
76438
- webLoginQrPromise ??= import("./login-qr-Dj0NmRdg.js");
76439
+ webLoginQrPromise ??= import("./login-qr-CFFFOjOl.js");
76439
76440
  return webLoginQrPromise;
76440
76441
  }
76441
76442
  function loadWebChannel() {
76442
- webChannelPromise ??= import("./web-5ddwA0bs.js");
76443
+ webChannelPromise ??= import("./web-Csmkqx1W.js");
76443
76444
  return webChannelPromise;
76444
76445
  }
76445
76446
  function loadWhatsAppActions() {
76446
- whatsappActionsPromise ??= import("./whatsapp-actions-CYraflBZ.js");
76447
+ whatsappActionsPromise ??= import("./whatsapp-actions-DbPcN6JQ.js");
76447
76448
  return whatsappActionsPromise;
76448
76449
  }
76449
76450
  function createPluginRuntime() {
@@ -76673,7 +76674,7 @@ const resolvePluginSdkAliasFile = (params) => {
76673
76674
  const srcCandidate = path.join(cursor, "src", "plugin-sdk", params.srcFile);
76674
76675
  const distCandidate = path.join(cursor, "dist", "plugin-sdk", params.distFile);
76675
76676
  const orderedCandidates = isDistRuntime ? [distCandidate, srcCandidate] : isTest ? [distCandidate, srcCandidate] : [distCandidate];
76676
- for (const candidate of orderedCandidates) if (fsSync.existsSync(candidate)) return candidate;
76677
+ for (const candidate of orderedCandidates) if (syncFs.existsSync(candidate)) return candidate;
76677
76678
  const parent = path.dirname(cursor);
76678
76679
  if (parent === cursor) break;
76679
76680
  cursor = parent;
@@ -77011,7 +77012,7 @@ function loadIdleHandsPlugins(options = {}) {
77011
77012
  continue;
77012
77013
  }
77013
77014
  const safeSource = opened.path;
77014
- fsSync.closeSync(opened.fd);
77015
+ syncFs.closeSync(opened.fd);
77015
77016
  let mod = null;
77016
77017
  try {
77017
77018
  mod = getJiti()(safeSource);
@@ -77148,7 +77149,7 @@ function loadIdleHandsPlugins(options = {}) {
77148
77149
  }
77149
77150
  function safeRealpathOrResolve(value) {
77150
77151
  try {
77151
- return fsSync.realpathSync(value);
77152
+ return syncFs.realpathSync(value);
77152
77153
  } catch {
77153
77154
  return path.resolve(value);
77154
77155
  }
@@ -77512,9 +77513,9 @@ function resolvePatchFileOps(options) {
77512
77513
  });
77513
77514
  assertBoundaryRead(opened, filePath);
77514
77515
  try {
77515
- return fsSync.readFileSync(opened.fd, "utf8");
77516
+ return syncFs.readFileSync(opened.fd, "utf8");
77516
77517
  } finally {
77517
- fsSync.closeSync(opened.fd);
77518
+ syncFs.closeSync(opened.fd);
77518
77519
  }
77519
77520
  },
77520
77521
  writeFile: async (filePath, content) => {
@@ -77816,7 +77817,7 @@ async function recordLoopOutcome(args) {
77816
77817
  if (!args.ctx?.sessionKey) return;
77817
77818
  try {
77818
77819
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BGF2r-kt.js").then((n) => n.n);
77819
- const { recordToolCallOutcome } = await import("./tool-loop-detection-j48jLTrr.js");
77820
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-BNGetx3Z.js");
77820
77821
  recordToolCallOutcome(getDiagnosticSessionState({
77821
77822
  sessionKey: args.ctx.sessionKey,
77822
77823
  sessionId: args.ctx?.agentId
@@ -77837,8 +77838,8 @@ async function runBeforeToolCallHook(args) {
77837
77838
  const params = args.params;
77838
77839
  if (args.ctx?.sessionKey) {
77839
77840
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BGF2r-kt.js").then((n) => n.n);
77840
- const { logToolLoopAction } = await import("./diagnostic-lz5wKsEe.js").then((n) => n.n);
77841
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-j48jLTrr.js");
77841
+ const { logToolLoopAction } = await import("./diagnostic-4owMk4vH.js").then((n) => n.n);
77842
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-BNGetx3Z.js");
77842
77843
  const sessionState = getDiagnosticSessionState({
77843
77844
  sessionKey: args.ctx.sessionKey,
77844
77845
  sessionId: args.ctx?.agentId
@@ -80604,8 +80605,8 @@ async function readWorkspaceContextForSummary() {
80604
80605
  const workspaceDir = process.cwd();
80605
80606
  const agentsPath = path.join(workspaceDir, "AGENTS.md");
80606
80607
  try {
80607
- if (!fsSync.existsSync(agentsPath)) return "";
80608
- const sections = extractSections(await fsSync.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
80608
+ if (!syncFs.existsSync(agentsPath)) return "";
80609
+ const sections = extractSections(await syncFs.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
80609
80610
  if (sections.length === 0) return "";
80610
80611
  const combined = sections.join("\n\n");
80611
80612
  return `\n\n<workspace-critical-rules>\n${combined.length > MAX_SUMMARY_CONTEXT_CHARS ? combined.slice(0, MAX_SUMMARY_CONTEXT_CHARS) + "\n...[truncated]..." : combined}\n</workspace-critical-rules>`;
@@ -81973,7 +81974,7 @@ async function compactEmbeddedPiSessionDirect(params) {
81973
81974
  if (!apiKeyInfo.apiKey) {
81974
81975
  if (apiKeyInfo.mode !== "aws-sdk") throw new Error(`No API key resolved for provider "${model.provider}" (auth mode: ${apiKeyInfo.mode}).`);
81975
81976
  } else if (model.provider === "github-copilot") {
81976
- const { resolveCopilotApiToken } = await import("./github-copilot-token-DCg9Q9Ll.js").then((n) => n.n);
81977
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-Dgt6cnsM.js").then((n) => n.n);
81977
81978
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
81978
81979
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
81979
81980
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
@@ -83393,11 +83394,11 @@ function appendRawStream(payload) {
83393
83394
  if (!rawStreamReady) {
83394
83395
  rawStreamReady = true;
83395
83396
  try {
83396
- fsSync.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
83397
+ syncFs.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
83397
83398
  } catch {}
83398
83399
  }
83399
83400
  try {
83400
- fsSync.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
83401
+ syncFs.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
83401
83402
  } catch {}
83402
83403
  }
83403
83404
 
@@ -87000,7 +87001,7 @@ async function runEmbeddedPiAgent(params) {
87000
87001
  return;
87001
87002
  }
87002
87003
  if (model.provider === "github-copilot") {
87003
- const { resolveCopilotApiToken } = await import("./github-copilot-token-DCg9Q9Ll.js").then((n) => n.n);
87004
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-Dgt6cnsM.js").then((n) => n.n);
87004
87005
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
87005
87006
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
87006
87007
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);