@visorcraft/idlehands 4.4.1 → 4.4.2

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 (263) hide show
  1. package/dist/{accounts-BDVs8LTu.js → accounts-B8cGzkjD.js} +1 -1
  2. package/dist/{accounts-Dk8mJIrQ.js → accounts-BQC_GRUB.js} +6 -6
  3. package/dist/{accounts-CIvVRRHb.js → accounts-D5tB_lO0.js} +1 -1
  4. package/dist/{agent-scope-DyP_tr7s.js → agent-scope-Bxq1eWbA.js} +4 -4
  5. package/dist/{agent-via-gateway-B7VYaDwI.js → agent-via-gateway-B82avysM.js} +1 -1
  6. package/dist/{agent-via-gateway-6jGL9ZRb.js → agent-via-gateway-BLv_oSL5.js} +1 -1
  7. package/dist/{agent-via-gateway-D6SBbSiq.js → agent-via-gateway-BZBYIS74.js} +7 -7
  8. package/dist/{agent-via-gateway-hbF-h9TM.js → agent-via-gateway-spHKNacF.js} +60 -60
  9. package/dist/{agents-BVYgk2uc.js → agents-DFsifqti.js} +4 -4
  10. package/dist/{agents.config-CcZ8kSaj.js → agents.config-B-HneNqt.js} +1 -1
  11. package/dist/{agents.config-CKj37-g5.js → agents.config-LJG8mKGJ.js} +1 -1
  12. package/dist/{anton-B4KXAf54.js → anton-BHVfJEmp.js} +1 -1
  13. package/dist/{anton-BNzNY6Vh.js → anton-CH-O1fKX.js} +5 -5
  14. package/dist/{anton-DnEx8ryb.js → anton-DDY9C7_9.js} +1 -1
  15. package/dist/{anton-C8M2UhOH.js → anton-DYkdgFjS.js} +1 -1
  16. package/dist/{audio-preflight-DdYPJah_.js → audio-preflight-CwOVlM_o.js} +35 -35
  17. package/dist/{audio-preflight-CdQj55ox.js → audio-preflight-Dl_bdO0l.js} +4 -4
  18. package/dist/{auth-choice-BAioGgge.js → auth-choice-BwuBROMy.js} +1 -1
  19. package/dist/{auth-choice-CWa45O0-.js → auth-choice-tTRqUPHJ.js} +1 -1
  20. package/dist/{auth-store-DXT-l7fO.js → auth-store-Bb4aajHu.js} +12 -12
  21. package/dist/{banner-BxyoIRj1.js → banner-DUYqUnZh.js} +1 -1
  22. package/dist/{bindings-D3b5Fmc9.js → bindings-CLZIJ0Eo.js} +2 -2
  23. package/dist/build-info.json +3 -3
  24. package/dist/bundled/boot-md/handler.js +60 -60
  25. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  26. package/dist/bundled/command-logger/handler.js +3 -3
  27. package/dist/bundled/session-memory/handler.js +60 -60
  28. package/dist/{channel-activity-D_TMOGQ0.js → channel-activity-DdL3RAv_.js} +3 -3
  29. package/dist/{channel-options-Bo-oY1lo.js → channel-options-DgE4bKnZ.js} +1 -1
  30. package/dist/{channel-options-D4Abu9ss.js → channel-options-w859WR9f.js} +1 -1
  31. package/dist/{channel-web-aUJWpYzV.js → channel-web-6DakWPLw.js} +2 -2
  32. package/dist/{channel-web-CUcTJTDU.js → channel-web-DRFHkK-t.js} +2 -2
  33. package/dist/{channels-cli-B3mz1uK6.js → channels-cli-3a9CzVGj.js} +7 -7
  34. package/dist/{channels-cli-CxSH3i2W.js → channels-cli-DTM2c23f.js} +7 -7
  35. package/dist/{chrome-CfoCzQ7O.js → chrome-Bip_1c2e.js} +9 -9
  36. package/dist/{chrome-RZ6-DZcL.js → chrome-CrBtckYY.js} +17 -17
  37. package/dist/{chunk-CMpX7Jaz.js → chunk-Djk-9JeT.js} +1 -1
  38. package/dist/{cli-Lk-tSEzq.js → cli-BYiKVK4i.js} +2 -2
  39. package/dist/{cli-Bv7W1rAQ.js → cli-C7BI3Wn6.js} +2 -2
  40. package/dist/{command-registry-Ct2rGje_.js → command-registry-BtbFeRGU.js} +10 -10
  41. package/dist/{commands-registry-C_zNi-Ou.js → commands-registry-Cy_UQS_3.js} +5 -5
  42. package/dist/{completion-cli-D1Y9BqD8.js → completion-cli-BB2Y8nfx.js} +1 -1
  43. package/dist/{completion-cli-BVkper4z.js → completion-cli-BGz3hkuH.js} +2 -2
  44. package/dist/{config-cli-DhIGl8u2.js → config-cli-DOmnPiGC.js} +1 -1
  45. package/dist/{config-cli-Cunf6ZG_.js → config-cli-b1s6P-RG.js} +1 -1
  46. package/dist/{configure-BMuZGX8O.js → configure-BQsgmT59.js} +3 -3
  47. package/dist/{configure-CjZDdguE.js → configure-D4tLHdxZ.js} +3 -3
  48. package/dist/daemon-cli.js +6 -6
  49. package/dist/{deliver-Dsgo26ZO.js → deliver-CO1v69YA.js} +1 -1
  50. package/dist/{deliver-BQeDhZSa.js → deliver-DReSDWa4.js} +20 -20
  51. package/dist/{deps-B7PzlVAo.js → deps-1S6DoURA.js} +1 -1
  52. package/dist/{deps-BrSKLsz0.js → deps-BZOU70bs.js} +1 -1
  53. package/dist/{deps-DvFgwh2J.js → deps-D0XOoTym.js} +6 -6
  54. package/dist/{deps-Bq61L28a.js → deps-D3ku734-.js} +1 -1
  55. package/dist/{diagnostic-4owMk4vH.js → diagnostic-BvlZ0Sot.js} +1 -1
  56. package/dist/{dock-BgOmHcbh.js → dock-ejUetwTC.js} +6 -6
  57. package/dist/{doctor-completion-_mAeHEgR.js → doctor-completion-BfAWZyFl.js} +1 -1
  58. package/dist/{doctor-completion-CYeuHpzs.js → doctor-completion-DOFXmBLZ.js} +1 -1
  59. package/dist/{emergency-stop-CksdLPai.js → emergency-stop-3LJcS7w-.js} +7 -7
  60. package/dist/emergency-stop-BXmSbO38.js +113 -0
  61. package/dist/{emergency-stop-DkALIxNO.js → emergency-stop-DXwma2EI.js} +2 -2
  62. package/dist/{emergency-stop-Cl_1fWgA.js → emergency-stop-Dpdosd7y.js} +2 -2
  63. package/dist/entry.js +1 -1
  64. package/dist/{env-B5G1qwGc.js → env-q-PhWbb_.js} +1 -1
  65. package/dist/{plugin-sdk/errors-CMcD8Lhh.js → errors-C4SHjIZK.js} +1 -1
  66. package/dist/extensionAPI.js +7 -7
  67. package/dist/{fetch-guard-iuQsIjqN.js → fetch-guard-CcfDZXe9.js} +1 -1
  68. package/dist/{frontmatter-BOudmHMS.js → frontmatter-pTUG4Sx_.js} +2 -2
  69. package/dist/{fs-safe-CYUaAFO9.js → fs-safe-2l05hI1Y.js} +2 -2
  70. package/dist/{gateway-cli-C-tj9UP3.js → gateway-cli-B2CLa9rg.js} +9 -9
  71. package/dist/{gateway-cli-BACWzti6.js → gateway-cli-CzXEYocw.js} +9 -9
  72. package/dist/{gemini-auth-DwwgHLvI.js → gemini-auth-DnP8lfQK.js} +2 -2
  73. package/dist/{github-copilot-token-Dgt6cnsM.js → github-copilot-token-BjmEQcmi.js} +7 -7
  74. package/dist/{health-CErhWLEK.js → health-C2A5ilGU.js} +1 -1
  75. package/dist/{health-BV8l2AT8.js → health-Dn7CVhrN.js} +1 -1
  76. package/dist/{hooks-cli-BHve1IFH.js → hooks-cli-BxGuMBUi.js} +3 -3
  77. package/dist/{hooks-cli-CdUSadGW.js → hooks-cli-CT8pLj_8.js} +3 -3
  78. package/dist/{image-JsjsSvBI.js → image-Cu288YpA.js} +1 -1
  79. package/dist/{image-4HTajysw.js → image-DBhgEUm0.js} +6 -6
  80. package/dist/{image-ops-D1KtygWz.js → image-ops-J8P5zOFm.js} +1 -1
  81. package/dist/index.js +7 -7
  82. package/dist/{ir-B7IBoKLy.js → ir-BT5aAdU9.js} +5 -5
  83. package/dist/llm-slug-generator.js +60 -60
  84. package/dist/{local-roots-KN4Hp1yZ.js → local-roots-d4y0lvs2.js} +5 -5
  85. package/dist/{login-B8EuUm6R.js → login-CtL3gtbh.js} +6 -6
  86. package/dist/{login-qr-DS_9MrMo.js → login-qr-D090cMcd.js} +11 -11
  87. package/dist/{manager-CaFxh6F8.js → manager-1TS0xG0C.js} +15 -15
  88. package/dist/{markdown-tables-CzsockiZ.js → markdown-tables-R8VTpfE9.js} +1 -1
  89. package/dist/{message-channel-C8QtrwEU.js → message-channel-ZdI1-uUh.js} +1 -1
  90. package/dist/{model-selection-D5g8tXIY.js → model-selection-C5BhfuPa.js} +41 -41
  91. package/dist/{models-CbuRFugK.js → models-CGtrW3AC.js} +2 -2
  92. package/dist/{models-cli-DzuBGnWF.js → models-cli-0TPj_c8R.js} +4 -4
  93. package/dist/{models-cli-BXFbPL8U.js → models-cli-BvUKtS_w.js} +3 -3
  94. package/dist/{npm-resolution-BJWOQq_k.js → npm-resolution-Anabxb6_.js} +1 -1
  95. package/dist/{npm-resolution-BO02ImLM.js → npm-resolution-Ox7X74-Z.js} +1 -1
  96. package/dist/{onboard-DFxvWMZm.js → onboard-B3m0Seri.js} +2 -2
  97. package/dist/{onboard-BafFvA78.js → onboard-DsqTjPex.js} +2 -2
  98. package/dist/{onboard-channels-52aYyjLX.js → onboard-channels-14qYfbpr.js} +1 -1
  99. package/dist/{onboard-channels-Dy6UoU78.js → onboard-channels-DFXKCp3G.js} +1 -1
  100. package/dist/{onboarding-BK5EH5Rn.js → onboarding-BJYyNWSX.js} +3 -3
  101. package/dist/{onboarding-CqPkGVMr.js → onboarding-nIZFJ6yX.js} +3 -3
  102. package/dist/{onboarding.finalize-B58yHwhW.js → onboarding.finalize-B1qxBzUX.js} +6 -6
  103. package/dist/{onboarding.finalize-BMRt8s2a.js → onboarding.finalize-Bi1nDMyy.js} +7 -7
  104. package/dist/{outbound-Dq9yoBDJ.js → outbound-D3dHUVkO.js} +6 -6
  105. package/dist/{outbound-attachment-3I6GzwDe.js → outbound-attachment-IfeZJAKk.js} +2 -2
  106. package/dist/{path-alias-guards-Cu1nXNMM.js → path-alias-guards-BZmt6hFb.js} +1 -1
  107. package/dist/{paths-D_qUel1T.js → paths-D3p7ZvM6.js} +3 -3
  108. package/dist/{paths-BYNVLNi_.js → paths-DQpv9a3Q.js} +5 -5
  109. package/dist/{pi-embedded-DQpyqnA8.js → pi-embedded-D-vbVu50.js} +61 -46
  110. package/dist/{pi-embedded-helpers-DBkYJKhY.js → pi-embedded-helpers-BcRw0T_g.js} +24 -24
  111. package/dist/{pi-embedded-helpers-i5nHSWCq.js → pi-embedded-helpers-Ts8Hdurw.js} +4 -4
  112. package/dist/{pi-embedded-Dn4hfyZ7.js → pi-embedded-wUyn4Zjf.js} +214 -199
  113. package/dist/{pi-model-discovery-BMRRgVlz.js → pi-model-discovery-DMEzBdm5.js} +7 -7
  114. package/dist/{plugin-registry-C_B5M53b.js → plugin-registry-DHavGgu-.js} +1 -1
  115. package/dist/{plugin-registry-BIerZvsa.js → plugin-registry-ReGTT2Qn.js} +1 -1
  116. package/dist/plugin-sdk/{accounts-CBVAw5_G.js → accounts-B9nfRzyn.js} +1 -1
  117. package/dist/plugin-sdk/{accounts-BLYMokxV.js → accounts-Kt6ygPsC.js} +2 -2
  118. package/dist/plugin-sdk/{accounts-C5tHm1UI.js → accounts-mjFAny5F.js} +1 -1
  119. package/dist/plugin-sdk/{agent-scope-jl80I5G9.js → agent-scope-CU41EMlR.js} +2 -2
  120. package/dist/plugin-sdk/{agent-via-gateway-VUne26H_.js → agent-via-gateway-BaZViUVq.js} +55 -55
  121. package/dist/plugin-sdk/agents/tool-stubs.d.ts +2 -1
  122. package/dist/plugin-sdk/{anton-Dc7P4F4R.js → anton-y9DWQk_X.js} +4 -4
  123. package/dist/plugin-sdk/{api-key-rotation-BUIqfXnG.js → api-key-rotation-DPA6ftN7.js} +2 -2
  124. package/dist/plugin-sdk/{audio-preflight-URcQAxhH.js → audio-preflight-DL4zZ6SH.js} +30 -30
  125. package/dist/plugin-sdk/{auth-store-DaPWgQTx.js → auth-store-DycBvVqL.js} +1 -1
  126. package/dist/plugin-sdk/{bindings-xXgmJGxj.js → bindings-BDKKHGv-.js} +2 -2
  127. package/dist/plugin-sdk/{channel-activity-loOg1DRw.js → channel-activity-TcS_VfJk.js} +3 -3
  128. package/dist/plugin-sdk/{channel-web-ineTToqd.js → channel-web-CLQ55z3e.js} +24 -24
  129. package/dist/plugin-sdk/{chrome-CPVAOm0b.js → chrome-CaJve-Gp.js} +6 -6
  130. package/dist/plugin-sdk/{chunk-PW4MBmaN.js → chunk-DZr5xuqv.js} +1 -1
  131. package/dist/plugin-sdk/{commands-registry-DQCQbF8W.js → commands-registry-DWTMC5Bl.js} +5 -5
  132. package/dist/plugin-sdk/{config-04otsq-i.js → config-DXRuYZaI.js} +10 -10
  133. package/dist/plugin-sdk/{deliver-DfopPK17.js → deliver-DbtR2D87.js} +10 -10
  134. package/dist/plugin-sdk/{deps-D39VXTRX.js → deps-DNbYvt5g.js} +6 -6
  135. package/dist/plugin-sdk/{diagnostic-ByA6zvzu.js → diagnostic-B8VzcqLf.js} +1 -1
  136. package/dist/plugin-sdk/{dock-DKQYtT6-.js → dock-CMURqoee.js} +6 -6
  137. package/dist/plugin-sdk/{emergency-stop-CY_hnUVd.js → emergency-stop-DQXrdDYX.js} +55 -55
  138. package/dist/plugin-sdk/{env-5XecRTLs.js → env-qurSiOO2.js} +1 -1
  139. package/dist/{errors-C_0nm4TJ.js → plugin-sdk/errors-UqLewZJL.js} +1 -1
  140. package/dist/plugin-sdk/{fetch-guard-DwdUEdmT.js → fetch-guard-C174s8ZV.js} +1 -1
  141. package/dist/plugin-sdk/{fs-safe-qsx2_8-o.js → fs-safe-CCXTOK7j.js} +2 -2
  142. package/dist/plugin-sdk/{image-B-gM6mxU.js → image-D-9PH0zg.js} +6 -6
  143. package/dist/plugin-sdk/{image-ops-CXSUo-AM.js → image-ops-BRYGGDwL.js} +1 -1
  144. package/dist/plugin-sdk/index.js +60 -60
  145. package/dist/plugin-sdk/{ir-kdDGpPMq.js → ir-Bv0Zbp2E.js} +5 -5
  146. package/dist/plugin-sdk/{local-roots-DjB6DYeI.js → local-roots-bHCsSVt_.js} +4 -4
  147. package/dist/plugin-sdk/{login-Bpe2s20d.js → login-B8HpBurd.js} +6 -6
  148. package/dist/plugin-sdk/{login-qr-C9ndp3tg.js → login-qr-DQnS-xlm.js} +8 -8
  149. package/dist/plugin-sdk/{manager-CBBlTnh3.js → manager-CKed0ZZE.js} +10 -10
  150. package/dist/plugin-sdk/{markdown-tables-Drtwd4J5.js → markdown-tables-DfUQHRZY.js} +1 -1
  151. package/dist/plugin-sdk/{message-channel-CQ0qkGHj.js → message-channel-DiMXmQeQ.js} +1 -1
  152. package/dist/plugin-sdk/{outbound-D6g6crrp.js → outbound-DNK06gip.js} +6 -6
  153. package/dist/plugin-sdk/{outbound-attachment-BisU5Vji.js → outbound-attachment-Bs7fNaqv.js} +2 -2
  154. package/dist/plugin-sdk/{path-alias-guards-C_uBEYb4.js → path-alias-guards-yyy61qHh.js} +1 -1
  155. package/dist/plugin-sdk/{pi-embedded-helpers-D48bhP-9.js → pi-embedded-helpers-BoeRlyoL.js} +16 -16
  156. package/dist/plugin-sdk/{pi-model-discovery-DCBTaRzI.js → pi-model-discovery-BLPN0Tzs.js} +1 -1
  157. package/dist/plugin-sdk/{plugins-NTjIvHYk.js → plugins-DRPlVBr_.js} +5 -5
  158. package/dist/plugin-sdk/{pw-ai-YGZXROMl.js → pw-ai-V3n0xLn-.js} +10 -10
  159. package/dist/plugin-sdk/{qmd-manager-juzrnopq.js → qmd-manager-BckPBwZX.js} +5 -5
  160. package/dist/plugin-sdk/{query-expansion-xBXvzdkL.js → query-expansion-CPqK-tTR.js} +2 -2
  161. package/dist/plugin-sdk/{redact-B6VQH3UQ.js → redact-Ub8sMBBC.js} +1 -1
  162. package/dist/plugin-sdk/{replies-DXdzWcMN.js → replies-CzsaFa8u.js} +3 -3
  163. package/dist/plugin-sdk/{reply-RRDB8Hr7.js → reply-DWcAkFIT.js} +130 -115
  164. package/dist/plugin-sdk/{reply-prefix--mxmTL7A.js → reply-prefix-BqV0o7_7.js} +1 -1
  165. package/dist/plugin-sdk/{resolve-outbound-target-CnUtsDch.js → resolve-outbound-target-DAdNGEqG.js} +2 -2
  166. package/dist/plugin-sdk/{resolve-route-BZABUE4J.js → resolve-route-C5mAwY-o.js} +3 -3
  167. package/dist/{retry-BeB9WenR.js → plugin-sdk/retry-2OVzZJMZ.js} +1 -1
  168. package/dist/plugin-sdk/{runner-C2xaoYAR.js → runner-C_iZbSwz.js} +10 -10
  169. package/dist/plugin-sdk/{send-CKQ89Lq9.js → send-BUYJmPie.js} +6 -6
  170. package/dist/plugin-sdk/{send-CFkuTXvq.js → send-BsxSmaWa.js} +7 -7
  171. package/dist/plugin-sdk/{send-BgTqMJLI.js → send-CBYbDScb.js} +10 -10
  172. package/dist/plugin-sdk/{send-dmYAtUT5.js → send-D-cZm1Y5.js} +7 -7
  173. package/dist/plugin-sdk/{send-CRhcec-_.js → send-Dt8bXHE8.js} +13 -13
  174. package/dist/plugin-sdk/{session-OpE6SSAs.js → session-C9uqVmuk.js} +3 -3
  175. package/dist/plugin-sdk/{sessions-CG-k8Acv.js → sessions-B4ApxPY1.js} +6 -6
  176. package/dist/plugin-sdk/{skill-commands-BHBpmuX9.js → skill-commands-B8suoqwn.js} +5 -5
  177. package/dist/plugin-sdk/{skills-33Wy6_4b.js → skills-Dl2nq6QI.js} +8 -8
  178. package/dist/plugin-sdk/{store-CCCXwngh.js → store-BI3rLJdW.js} +2 -2
  179. package/dist/plugin-sdk/{subsystem-DWPzKeZ0.js → subsystem-lJo9gqAK.js} +1 -1
  180. package/dist/plugin-sdk/{tables-CF9W23Rd.js → tables-C4X_nAUQ.js} +1 -1
  181. package/dist/plugin-sdk/{target-errors-DaH0qYtL.js → target-errors-CXh6e9ZE.js} +2 -2
  182. package/dist/plugin-sdk/{tokens-Y97UKh4C.js → tokens-CU9S3S7t.js} +1 -1
  183. package/dist/{tool-images-CcGZpzmq.js → plugin-sdk/tool-images-Cf9aWlVu.js} +2 -2
  184. package/dist/plugin-sdk/{tool-loop-detection-Cv8wyfAi.js → tool-loop-detection-DuwkSqZL.js} +2 -2
  185. package/dist/plugin-sdk/{utils-Dyj2wV4e.js → utils-dP-FpIgu.js} +2 -2
  186. package/dist/plugin-sdk/web-CNw6-P_B.js +71 -0
  187. package/dist/plugin-sdk/{whatsapp-actions-Cp6vXAA8.js → whatsapp-actions-CEAXpexT.js} +23 -23
  188. package/dist/{plugins-CRB60mCJ.js → plugins-DYr-HHj0.js} +10 -10
  189. package/dist/{plugins-cli-CD34Zewk.js → plugins-cli-C13WMPnF.js} +3 -3
  190. package/dist/{plugins-cli-BM3apx3Z.js → plugins-cli-CO4FVaiO.js} +3 -3
  191. package/dist/{program-hlrBo5Ce.js → program-B_vfCOU2.js} +8 -8
  192. package/dist/{program-context-Bl64JzxU.js → program-context-BmSQ_Sf4.js} +18 -18
  193. package/dist/{prompt-select-styled-f40iKGOp.js → prompt-select-styled-B5ZwrfX0.js} +4 -4
  194. package/dist/{prompt-select-styled-BAYe1OqG.js → prompt-select-styled-BC7OSZ1q.js} +4 -4
  195. package/dist/{provider-auth-helpers-51CT-Q-Q.js → provider-auth-helpers-CDu8gosd.js} +1 -1
  196. package/dist/{provider-auth-helpers-BIbY8IHT.js → provider-auth-helpers-D0A6E5jr.js} +1 -1
  197. package/dist/{push-apns-DGYpjf9d.js → push-apns-BofP21zS.js} +1 -1
  198. package/dist/{push-apns-fdjNrWTc.js → push-apns-Dc8RVDXC.js} +1 -1
  199. package/dist/{pw-ai-5GRjEp4v.js → pw-ai-D3GtQQoU.js} +13 -13
  200. package/dist/{pw-ai-CX1qce0j.js → pw-ai-YklTVbF6.js} +1 -1
  201. package/dist/{qmd-manager-B_GgyQQ0.js → qmd-manager-BRvg3Rx2.js} +8 -8
  202. package/dist/{query-expansion-DEq020GG.js → query-expansion-DHuNyU-_.js} +5 -5
  203. package/dist/{redact-Bvpf-ATQ.js → redact-1Y0KPNtr.js} +1 -1
  204. package/dist/{register.agent-QXLalAr7.js → register.agent-CMlS5uBQ.js} +9 -9
  205. package/dist/{register.agent-DM9zMka2.js → register.agent-CV7M3tu9.js} +8 -8
  206. package/dist/{register.configure-DYbl1myH.js → register.configure-BnNziB2G.js} +8 -8
  207. package/dist/{register.configure-C6yu81ji.js → register.configure-CMB0aDJp.js} +8 -8
  208. package/dist/{register.maintenance-BmKpPkIS.js → register.maintenance-BdWGNtkz.js} +8 -8
  209. package/dist/{register.maintenance-B5s6APwg.js → register.maintenance-X6asZwHw.js} +9 -9
  210. package/dist/{register.message-DonrN0cy.js → register.message-BuggdGjG.js} +3 -3
  211. package/dist/{register.message-DVc5XVAt.js → register.message-DnOPNIGk.js} +3 -3
  212. package/dist/{register.onboard-lHuw_CER.js → register.onboard-BDhpm8TD.js} +2 -2
  213. package/dist/{register.onboard-BE31mSHh.js → register.onboard-CHHu9Skd.js} +2 -2
  214. package/dist/{register.orchestrator-anton-CVNuKUWS.js → register.orchestrator-anton-B-tuZR0z.js} +2 -2
  215. package/dist/{register.orchestrator-anton-Dgbr0yM1.js → register.orchestrator-anton-SlFmmH1n.js} +2 -2
  216. package/dist/{register.setup-BudIJsJc.js → register.setup-A8U_6S1I.js} +2 -2
  217. package/dist/{register.setup-DNlkNa0X.js → register.setup-D7mmwdPD.js} +2 -2
  218. package/dist/{register.status-health-sessions-DuMxtV8K.js → register.status-health-sessions-DVocz8ib.js} +4 -4
  219. package/dist/{register.status-health-sessions-nhSLVQw7.js → register.status-health-sessions-haba-O-6.js} +4 -4
  220. package/dist/{register.subclis-Bnq9Bi9p.js → register.subclis-B-zDlWeV.js} +9 -9
  221. package/dist/{replies-uBXwI7WM.js → replies-BxRl_2Nq.js} +3 -3
  222. package/dist/{reply-DUE8raq5.js → reply-7AXQ38dZ.js} +46 -31
  223. package/dist/{reply-prefix-BUgeSN2R.js → reply-prefix-DCljZiIB.js} +1 -1
  224. package/dist/{resolve-route-DuttYY7A.js → resolve-route-ClcifpKn.js} +4 -4
  225. package/dist/{plugin-sdk/retry-Bh7jveNm.js → retry-CG6cMRDQ.js} +1 -1
  226. package/dist/{run-main-D7FJSKGA.js → run-main-Cy6gYOh3.js} +15 -15
  227. package/dist/{runner-Cy6GWdoL.js → runner-BZBK277H.js} +11 -11
  228. package/dist/{runner-DG_xf5vi.js → runner-upvvkv9R.js} +1 -1
  229. package/dist/{send-Ce_lAnef.js → send-B7Fzlmlo.js} +7 -7
  230. package/dist/{send-BskvGZej.js → send-BGyVbnFP.js} +7 -7
  231. package/dist/{send-DvjrOg1z.js → send-DcN-QeVO.js} +6 -6
  232. package/dist/{send-rp8dzIy4.js → send-n1vT5TEb.js} +24 -24
  233. package/dist/{send-C4z2HAbE.js → send-qNmymshG.js} +10 -10
  234. package/dist/{server-node-events-DhFplzWZ.js → server-node-events-ChBhFPg3.js} +3 -3
  235. package/dist/{server-node-events-CLq5E5Db.js → server-node-events-Dbr2WR-0.js} +3 -3
  236. package/dist/{session-BbwP0jac.js → session-BMqBZ_fq.js} +7 -7
  237. package/dist/{sessions-DA2oWrdb.js → sessions-BA3_G98W.js} +41 -41
  238. package/dist/{skill-commands-AySApC-2.js → skill-commands-DnTjl_m1.js} +9 -9
  239. package/dist/{skills-B3wf7ZnA.js → skills-DRGt1G_o.js} +22 -22
  240. package/dist/{status-CsNXMHzO.js → status-BompBfRg.js} +2 -2
  241. package/dist/{status-CyzO0TGy.js → status-Cy7Zcfzv.js} +2 -2
  242. package/dist/{store-CvMgrKWx.js → store-D-ZicQeo.js} +2 -2
  243. package/dist/{subagent-registry-DW1LK5cG.js → subagent-registry-DDIoRVFV.js} +46 -31
  244. package/dist/{subsystem-tzu-rIAJ.js → subsystem-D7ZepYT1.js} +1 -1
  245. package/dist/{tables-5k-zOZ-s.js → tables-Co_R_WKs.js} +1 -1
  246. package/dist/{target-errors-BPfQrPim.js → target-errors-B1mcM4WR.js} +2 -2
  247. package/dist/{tokens-BRLyURxW.js → tokens-DGajj8M9.js} +1 -1
  248. package/dist/{plugin-sdk/tool-images-BMRkn_yk.js → tool-images-Duuqr4bN.js} +2 -2
  249. package/dist/{tool-loop-detection-BNGetx3Z.js → tool-loop-detection-CjWRg_4q.js} +3 -3
  250. package/dist/{update-cli-DEMtHXm1.js → update-cli-1s_O26hF.js} +8 -8
  251. package/dist/{update-cli-CtsLbpQq.js → update-cli-DywvLvxF.js} +9 -9
  252. package/dist/{update-runner-DpD5VBHi.js → update-runner-2yf_p333.js} +1 -1
  253. package/dist/{update-runner-ybEXKv6M.js → update-runner-DfTjwukX.js} +1 -1
  254. package/dist/{utils-CTFLl_ji.js → utils-D9wGoiU9.js} +18 -18
  255. package/dist/{web-C-13ua3w.js → web-59hB8x7z.js} +3 -3
  256. package/dist/{web-SvfucU2_.js → web-C4vEw_Lp.js} +8 -8
  257. package/dist/{web-Da5eWC4p.js → web-DxQjSHSJ.js} +66 -66
  258. package/dist/{web-CI1Ye0j8.js → web-WBETd448.js} +3 -3
  259. package/dist/{whatsapp-actions-C_BWc4tJ.js → whatsapp-actions-DmI59VQd.js} +25 -25
  260. package/dist/{workspace-DBFSzT6O.js → workspace-tAtkoD_r.js} +18 -18
  261. package/package.json +1 -1
  262. package/dist/emergency-stop-Sq-9tUol.js +0 -113
  263. package/dist/plugin-sdk/web-Bxlapohg.js +0 -71
@@ -1,20 +1,20 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { m as resolveRequiredHomeDir } from "./paths-BYNVLNi_.js";
3
- import { t as createSubsystemLogger } from "./subsystem-tzu-rIAJ.js";
4
- import { d as normalizeE164 } from "./utils-CTFLl_ji.js";
2
+ import { m as resolveRequiredHomeDir } from "./paths-DQpv9a3Q.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-D7ZepYT1.js";
4
+ import { d as normalizeE164 } from "./utils-D9wGoiU9.js";
5
5
  import { c as normalizeMainKey, l as resolveAgentIdFromSessionKey, m as normalizeOptionalAccountId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-CuLPSMu_.js";
6
- import { R as loadConfig, et as parseDurationMs, mn as isPidAlive, pn as resolveProcessScopedMap, tt as parseByteSize } from "./model-selection-D5g8tXIY.js";
7
- import { c as normalizeHyphenSlug, t as getChannelDock } from "./dock-BgOmHcbh.js";
8
- import { r as normalizeChannelId } from "./plugins-CRB60mCJ.js";
6
+ import { R as loadConfig, et as parseDurationMs, mn as isPidAlive, pn as resolveProcessScopedMap, tt as parseByteSize } from "./model-selection-C5BhfuPa.js";
7
+ import { c as normalizeHyphenSlug, t as getChannelDock } from "./dock-ejUetwTC.js";
8
+ import { r as normalizeChannelId } from "./plugins-DYr-HHj0.js";
9
9
  import { t as normalizeChatType } from "./chat-type-BPBtOjer.js";
10
- import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-C8QtrwEU.js";
10
+ import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-ZdI1-uUh.js";
11
11
  import { n as resolveConversationLabel } from "./conversation-label-1Wad2kXc.js";
12
- import { a as resolveSessionFilePathOptions, c as resolveSessionTranscriptsDir, d as validateSessionId, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, r as resolveDefaultSessionStorePath, s as resolveSessionTranscriptPathInDir, t as SAFE_SESSION_ID_RE, u as resolveStorePath } from "./paths-D_qUel1T.js";
12
+ import { a as resolveSessionFilePathOptions, c as resolveSessionTranscriptsDir, d as validateSessionId, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, r as resolveDefaultSessionStorePath, s as resolveSessionTranscriptPathInDir, t as SAFE_SESSION_ID_RE, u as resolveStorePath } from "./paths-D3p7ZvM6.js";
13
13
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-_OimdA_2.js";
14
14
  import fs from "node:fs/promises";
15
15
  import os from "node:os";
16
16
  import path from "node:path";
17
- import syncFs from "node:fs";
17
+ import fs$1 from "node:fs";
18
18
  import crypto from "node:crypto";
19
19
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
20
20
 
@@ -100,7 +100,7 @@ function releaseAllLocksSync() {
100
100
  if (typeof held.handle.close === "function") held.handle.close().catch(() => {});
101
101
  } catch {}
102
102
  try {
103
- syncFs.rmSync(held.lockPath, { force: true });
103
+ fs$1.rmSync(held.lockPath, { force: true });
104
104
  } catch {}
105
105
  HELD_LOCKS.delete(sessionFile);
106
106
  }
@@ -876,14 +876,14 @@ function resolveSessionTranscriptCandidates(sessionId, storePath, sessionFile, a
876
876
  function canonicalizePathForComparison$1(filePath) {
877
877
  const resolved = path.resolve(filePath);
878
878
  try {
879
- return syncFs.realpathSync(resolved);
879
+ return fs$1.realpathSync(resolved);
880
880
  } catch {
881
881
  return resolved;
882
882
  }
883
883
  }
884
884
  function archiveFileOnDisk(filePath, reason) {
885
885
  const archived = `${filePath}.${reason}.${formatSessionArchiveTimestamp()}`;
886
- syncFs.renameSync(filePath, archived);
886
+ fs$1.renameSync(filePath, archived);
887
887
  return archived;
888
888
  }
889
889
  /**
@@ -899,7 +899,7 @@ function archiveSessionTranscripts(opts) {
899
899
  const relative = path.relative(storeDir, candidatePath);
900
900
  if (!relative || relative.startsWith("..") || path.isAbsolute(relative)) continue;
901
901
  }
902
- if (!syncFs.existsSync(candidatePath)) continue;
902
+ if (!fs$1.existsSync(candidatePath)) continue;
903
903
  try {
904
904
  archived.push(archiveFileOnDisk(candidatePath, opts.reason));
905
905
  } catch {}
@@ -917,15 +917,15 @@ async function cleanupArchivedSessionTranscripts(opts) {
917
917
  let removed = 0;
918
918
  let scanned = 0;
919
919
  for (const dir of directories) {
920
- const entries = await syncFs.promises.readdir(dir).catch(() => []);
920
+ const entries = await fs$1.promises.readdir(dir).catch(() => []);
921
921
  for (const entry of entries) {
922
922
  const timestamp = parseSessionArchiveTimestamp(entry, reason);
923
923
  if (timestamp == null) continue;
924
924
  scanned += 1;
925
925
  if (now - timestamp <= opts.olderThanMs) continue;
926
926
  const fullPath = path.join(dir, entry);
927
- if (!(await syncFs.promises.stat(fullPath).catch(() => null))?.isFile()) continue;
928
- await syncFs.promises.rm(fullPath).catch(() => void 0);
927
+ if (!(await fs$1.promises.stat(fullPath).catch(() => null))?.isFile()) continue;
928
+ await fs$1.promises.rm(fullPath).catch(() => void 0);
929
929
  removed += 1;
930
930
  }
931
931
  }
@@ -1061,7 +1061,7 @@ function isCacheEnabled(ttlMs) {
1061
1061
  }
1062
1062
  function getFileMtimeMs(filePath) {
1063
1063
  try {
1064
- return syncFs.statSync(filePath).mtimeMs;
1064
+ return fs$1.statSync(filePath).mtimeMs;
1065
1065
  } catch {
1066
1066
  return;
1067
1067
  }
@@ -1076,7 +1076,7 @@ const NOOP_LOGGER = {
1076
1076
  function canonicalizePathForComparison(filePath) {
1077
1077
  const resolved = path.resolve(filePath);
1078
1078
  try {
1079
- return syncFs.realpathSync(resolved);
1079
+ return fs$1.realpathSync(resolved);
1080
1080
  } catch {
1081
1081
  return resolved;
1082
1082
  }
@@ -1134,12 +1134,12 @@ function resolveReferencedSessionTranscriptPaths(params) {
1134
1134
  return referenced;
1135
1135
  }
1136
1136
  async function readSessionsDirFiles(sessionsDir) {
1137
- const dirEntries = await syncFs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
1137
+ const dirEntries = await fs$1.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
1138
1138
  const files = [];
1139
1139
  for (const dirent of dirEntries) {
1140
1140
  if (!dirent.isFile()) continue;
1141
1141
  const filePath = path.join(sessionsDir, dirent.name);
1142
- const stat = await syncFs.promises.stat(filePath).catch(() => null);
1142
+ const stat = await fs$1.promises.stat(filePath).catch(() => null);
1143
1143
  if (!stat?.isFile()) continue;
1144
1144
  files.push({
1145
1145
  path: filePath,
@@ -1152,9 +1152,9 @@ async function readSessionsDirFiles(sessionsDir) {
1152
1152
  return files;
1153
1153
  }
1154
1154
  async function removeFileIfExists(filePath) {
1155
- const stat = await syncFs.promises.stat(filePath).catch(() => null);
1155
+ const stat = await fs$1.promises.stat(filePath).catch(() => null);
1156
1156
  if (!stat?.isFile()) return 0;
1157
- await syncFs.promises.rm(filePath, { force: true }).catch(() => void 0);
1157
+ await fs$1.promises.rm(filePath, { force: true }).catch(() => void 0);
1158
1158
  return stat.size;
1159
1159
  }
1160
1160
  async function removeFileForBudget(params) {
@@ -1438,7 +1438,7 @@ function loadSessionStore(storePath, opts = {}) {
1438
1438
  const maxReadAttempts = process.platform === "win32" ? 3 : 1;
1439
1439
  const retryBuf = maxReadAttempts > 1 ? new Int32Array(new SharedArrayBuffer(4)) : void 0;
1440
1440
  for (let attempt = 0; attempt < maxReadAttempts; attempt++) try {
1441
- const raw = syncFs.readFileSync(storePath, "utf-8");
1441
+ const raw = fs$1.readFileSync(storePath, "utf-8");
1442
1442
  if (raw.length === 0 && attempt < maxReadAttempts - 1) {
1443
1443
  Atomics.wait(retryBuf, 0, 0, 50);
1444
1444
  continue;
@@ -1641,7 +1641,7 @@ function capEntryCount(store, overrideMax, opts = {}) {
1641
1641
  }
1642
1642
  async function getSessionFileSize(storePath) {
1643
1643
  try {
1644
- return (await syncFs.promises.stat(storePath)).size;
1644
+ return (await fs$1.promises.stat(storePath)).size;
1645
1645
  } catch {
1646
1646
  return null;
1647
1647
  }
@@ -1658,7 +1658,7 @@ async function rotateSessionFile(storePath, overrideBytes) {
1658
1658
  if (fileSize <= maxBytes) return false;
1659
1659
  const backupPath = `${storePath}.bak.${Date.now()}`;
1660
1660
  try {
1661
- await syncFs.promises.rename(storePath, backupPath);
1661
+ await fs$1.promises.rename(storePath, backupPath);
1662
1662
  log.info("rotated session store file", {
1663
1663
  backupPath: path.basename(backupPath),
1664
1664
  sizeBytes: fileSize
@@ -1669,11 +1669,11 @@ async function rotateSessionFile(storePath, overrideBytes) {
1669
1669
  try {
1670
1670
  const dir = path.dirname(storePath);
1671
1671
  const baseName = path.basename(storePath);
1672
- const backups = (await syncFs.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
1672
+ const backups = (await fs$1.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
1673
1673
  const maxBackups = 3;
1674
1674
  if (backups.length > maxBackups) {
1675
1675
  const toDelete = backups.slice(maxBackups);
1676
- for (const old of toDelete) await syncFs.promises.unlink(path.join(dir, old)).catch(() => void 0);
1676
+ for (const old of toDelete) await fs$1.promises.unlink(path.join(dir, old)).catch(() => void 0);
1677
1677
  log.info("cleaned up old session store backups", { deleted: toDelete.length });
1678
1678
  }
1679
1679
  } catch {}
@@ -1778,14 +1778,14 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
1778
1778
  });
1779
1779
  }
1780
1780
  }
1781
- await syncFs.promises.mkdir(path.dirname(storePath), { recursive: true });
1781
+ await fs$1.promises.mkdir(path.dirname(storePath), { recursive: true });
1782
1782
  const json = JSON.stringify(store, null, 2);
1783
1783
  if (process.platform === "win32") {
1784
1784
  const tmp = `${storePath}.${process.pid}.${crypto.randomUUID()}.tmp`;
1785
1785
  try {
1786
- await syncFs.promises.writeFile(tmp, json, "utf-8");
1786
+ await fs$1.promises.writeFile(tmp, json, "utf-8");
1787
1787
  for (let i = 0; i < 5; i++) try {
1788
- await syncFs.promises.rename(tmp, storePath);
1788
+ await fs$1.promises.rename(tmp, storePath);
1789
1789
  break;
1790
1790
  } catch {
1791
1791
  if (i < 4) await new Promise((r) => setTimeout(r, 50 * (i + 1)));
@@ -1795,27 +1795,27 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
1795
1795
  if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) === "ENOENT") return;
1796
1796
  throw err;
1797
1797
  } finally {
1798
- await syncFs.promises.rm(tmp, { force: true }).catch(() => void 0);
1798
+ await fs$1.promises.rm(tmp, { force: true }).catch(() => void 0);
1799
1799
  }
1800
1800
  return;
1801
1801
  }
1802
1802
  const tmp = `${storePath}.${process.pid}.${crypto.randomUUID()}.tmp`;
1803
1803
  try {
1804
- await syncFs.promises.writeFile(tmp, json, {
1804
+ await fs$1.promises.writeFile(tmp, json, {
1805
1805
  mode: 384,
1806
1806
  encoding: "utf-8"
1807
1807
  });
1808
- await syncFs.promises.rename(tmp, storePath);
1809
- await syncFs.promises.chmod(storePath, 384);
1808
+ await fs$1.promises.rename(tmp, storePath);
1809
+ await fs$1.promises.chmod(storePath, 384);
1810
1810
  } catch (err) {
1811
1811
  if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) === "ENOENT") {
1812
1812
  try {
1813
- await syncFs.promises.mkdir(path.dirname(storePath), { recursive: true });
1814
- await syncFs.promises.writeFile(storePath, json, {
1813
+ await fs$1.promises.mkdir(path.dirname(storePath), { recursive: true });
1814
+ await fs$1.promises.writeFile(storePath, json, {
1815
1815
  mode: 384,
1816
1816
  encoding: "utf-8"
1817
1817
  });
1818
- await syncFs.promises.chmod(storePath, 384);
1818
+ await fs$1.promises.chmod(storePath, 384);
1819
1819
  } catch (err2) {
1820
1820
  if ((err2 && typeof err2 === "object" && "code" in err2 ? String(err2.code) : null) === "ENOENT") return;
1821
1821
  throw err2;
@@ -1824,7 +1824,7 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
1824
1824
  }
1825
1825
  throw err;
1826
1826
  } finally {
1827
- await syncFs.promises.rm(tmp, { force: true });
1827
+ await fs$1.promises.rm(tmp, { force: true });
1828
1828
  }
1829
1829
  }
1830
1830
  async function saveSessionStore(storePath, store, opts) {
@@ -2095,8 +2095,8 @@ function resolveMirroredTranscriptText(params) {
2095
2095
  return trimmed ? trimmed : null;
2096
2096
  }
2097
2097
  async function ensureSessionHeader(params) {
2098
- if (syncFs.existsSync(params.sessionFile)) return;
2099
- await syncFs.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
2098
+ if (fs$1.existsSync(params.sessionFile)) return;
2099
+ await fs$1.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
2100
2100
  const header = {
2101
2101
  type: "session",
2102
2102
  version: CURRENT_SESSION_VERSION,
@@ -2104,7 +2104,7 @@ async function ensureSessionHeader(params) {
2104
2104
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
2105
2105
  cwd: process.cwd()
2106
2106
  };
2107
- await syncFs.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, {
2107
+ await fs$1.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, {
2108
2108
  encoding: "utf-8",
2109
2109
  mode: 384
2110
2110
  });
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { n as listAgentIds, s as resolveAgentWorkspaceDir } from "./agent-scope-DyP_tr7s.js";
3
- import { d as resolveStateDir } from "./paths-BYNVLNi_.js";
4
- import { t as createSubsystemLogger } from "./subsystem-tzu-rIAJ.js";
5
- import { h as resolveUserPath, t as CONFIG_DIR } from "./utils-CTFLl_ji.js";
6
- import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-B3wf7ZnA.js";
7
- import { a as listChatCommands } from "./commands-registry-C_zNi-Ou.js";
2
+ import { n as listAgentIds, s as resolveAgentWorkspaceDir } from "./agent-scope-Bxq1eWbA.js";
3
+ import { d as resolveStateDir } from "./paths-DQpv9a3Q.js";
4
+ import { t as createSubsystemLogger } from "./subsystem-D7ZepYT1.js";
5
+ import { h as resolveUserPath, t as CONFIG_DIR } from "./utils-D9wGoiU9.js";
6
+ import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-DRGt1G_o.js";
7
+ import { a as listChatCommands } from "./commands-registry-Cy_UQS_3.js";
8
8
  import fs from "node:fs/promises";
9
9
  import os from "node:os";
10
10
  import path from "node:path";
11
- import syncFs from "node:fs";
11
+ import fs$1 from "node:fs";
12
12
  import { randomUUID } from "node:crypto";
13
13
  import chokidar from "chokidar";
14
14
 
@@ -283,8 +283,8 @@ function listSkillCommandsForAgents(params) {
283
283
  const visitedDirs = /* @__PURE__ */ new Set();
284
284
  for (const agentId of agentIds) {
285
285
  const workspaceDir = resolveAgentWorkspaceDir(params.cfg, agentId);
286
- if (!syncFs.existsSync(workspaceDir)) continue;
287
- const canonicalDir = syncFs.realpathSync(workspaceDir);
286
+ if (!fs$1.existsSync(workspaceDir)) continue;
287
+ const canonicalDir = fs$1.realpathSync(workspaceDir);
288
288
  if (visitedDirs.has(canonicalDir)) continue;
289
289
  visitedDirs.add(canonicalDir);
290
290
  const commands = buildWorkspaceSkillCommandSpecs(workspaceDir, {
@@ -1,13 +1,13 @@
1
- import { p as normalizeSkillFilter } from "./agent-scope-DyP_tr7s.js";
2
- import { t as createSubsystemLogger } from "./subsystem-tzu-rIAJ.js";
3
- import { K as resolvePreferredIdleHandsTmpDir, h as resolveUserPath, t as CONFIG_DIR } from "./utils-CTFLl_ji.js";
4
- import { h as resolveIdleHandsPackageRootSync, j as isPathInside } from "./workspace-DBFSzT6O.js";
5
- import { ct as loadPluginManifestRegistry, ht as resolveMemorySlotDecision, in as isDangerousHostEnvVarName, mt as resolveEffectiveEnableState, pt as normalizePluginsConfig } from "./model-selection-D5g8tXIY.js";
6
- import { a as resolveIdleHandsManifestBlock, c as resolveIdleHandsManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseIdleHandsManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList, o as resolveIdleHandsManifestInstall, r as parseFrontmatterBool, s as resolveIdleHandsManifestOs, t as getFrontmatterString, u as evaluateRuntimeEligibility } from "./frontmatter-BOudmHMS.js";
7
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-Cu1nXNMM.js";
1
+ import { p as normalizeSkillFilter } from "./agent-scope-Bxq1eWbA.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-D7ZepYT1.js";
3
+ import { K as resolvePreferredIdleHandsTmpDir, h as resolveUserPath, t as CONFIG_DIR } from "./utils-D9wGoiU9.js";
4
+ import { h as resolveIdleHandsPackageRootSync, j as isPathInside } from "./workspace-tAtkoD_r.js";
5
+ import { ct as loadPluginManifestRegistry, ht as resolveMemorySlotDecision, in as isDangerousHostEnvVarName, mt as resolveEffectiveEnableState, pt as normalizePluginsConfig } from "./model-selection-C5BhfuPa.js";
6
+ import { a as resolveIdleHandsManifestBlock, c as resolveIdleHandsManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseIdleHandsManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList, o as resolveIdleHandsManifestInstall, r as parseFrontmatterBool, s as resolveIdleHandsManifestOs, t as getFrontmatterString, u as evaluateRuntimeEligibility } from "./frontmatter-pTUG4Sx_.js";
7
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-BZmt6hFb.js";
8
8
  import os from "node:os";
9
9
  import path from "node:path";
10
- import syncFs from "node:fs";
10
+ import fs from "node:fs";
11
11
  import { URL, fileURLToPath } from "node:url";
12
12
  import { formatSkillsForPrompt, loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
13
13
 
@@ -463,13 +463,13 @@ function shortPath(value) {
463
463
  //#region src/agents/skills/bundled-dir.ts
464
464
  function looksLikeSkillsDir(dir) {
465
465
  try {
466
- const entries = syncFs.readdirSync(dir, { withFileTypes: true });
466
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
467
467
  for (const entry of entries) {
468
468
  if (entry.name.startsWith(".")) continue;
469
469
  const fullPath = path.join(dir, entry.name);
470
470
  if (entry.isFile() && entry.name.endsWith(".md")) return true;
471
471
  if (entry.isDirectory()) {
472
- if (syncFs.existsSync(path.join(fullPath, "SKILL.md"))) return true;
472
+ if (fs.existsSync(path.join(fullPath, "SKILL.md"))) return true;
473
473
  }
474
474
  }
475
475
  } catch {
@@ -484,7 +484,7 @@ function resolveBundledSkillsDir(opts = {}) {
484
484
  const execPath = opts.execPath ?? process.execPath;
485
485
  const execDir = path.dirname(execPath);
486
486
  const sibling = path.join(execDir, "skills");
487
- if (syncFs.existsSync(sibling)) return sibling;
487
+ if (fs.existsSync(sibling)) return sibling;
488
488
  } catch {}
489
489
  try {
490
490
  const moduleUrl = opts.moduleUrl ?? import.meta.url;
@@ -547,7 +547,7 @@ function resolvePluginSkillDirs(params) {
547
547
  const trimmed = raw.trim();
548
548
  if (!trimmed) continue;
549
549
  const candidate = path.resolve(record.rootDir, trimmed);
550
- if (!syncFs.existsSync(candidate)) {
550
+ if (!fs.existsSync(candidate)) {
551
551
  log.warn(`plugin skill path not found (${record.id}): ${candidate}`);
552
552
  continue;
553
553
  }
@@ -574,7 +574,7 @@ async function serializeByKey(key, task) {
574
574
 
575
575
  //#endregion
576
576
  //#region src/agents/skills/workspace.ts
577
- const fsp = syncFs.promises;
577
+ const fsp = fs.promises;
578
578
  const skillsLogger = createSubsystemLogger("skills");
579
579
  const skillCommandDebugOnce = /* @__PURE__ */ new Set();
580
580
  /**
@@ -651,7 +651,7 @@ function resolveSkillsLimits(config) {
651
651
  }
652
652
  function listChildDirectories(dir) {
653
653
  try {
654
- const entries = syncFs.readdirSync(dir, { withFileTypes: true });
654
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
655
655
  const dirs = [];
656
656
  for (const entry of entries) {
657
657
  if (entry.name.startsWith(".")) continue;
@@ -662,7 +662,7 @@ function listChildDirectories(dir) {
662
662
  continue;
663
663
  }
664
664
  if (entry.isSymbolicLink()) try {
665
- if (syncFs.statSync(fullPath).isDirectory()) dirs.push(entry.name);
665
+ if (fs.statSync(fullPath).isDirectory()) dirs.push(entry.name);
666
666
  } catch {}
667
667
  }
668
668
  return dirs;
@@ -673,7 +673,7 @@ function listChildDirectories(dir) {
673
673
  function resolveNestedSkillsRoot(dir, opts) {
674
674
  const nested = path.join(dir, "skills");
675
675
  try {
676
- if (!syncFs.existsSync(nested) || !syncFs.statSync(nested).isDirectory()) return { baseDir: dir };
676
+ if (!fs.existsSync(nested) || !fs.statSync(nested).isDirectory()) return { baseDir: dir };
677
677
  } catch {
678
678
  return { baseDir: dir };
679
679
  }
@@ -682,7 +682,7 @@ function resolveNestedSkillsRoot(dir, opts) {
682
682
  const toScan = scanLimit === 0 ? [] : nestedDirs.slice(0, Math.min(nestedDirs.length, scanLimit));
683
683
  for (const name of toScan) {
684
684
  const skillMd = path.join(nested, name, "SKILL.md");
685
- if (syncFs.existsSync(skillMd)) return {
685
+ if (fs.existsSync(skillMd)) return {
686
686
  baseDir: nested,
687
687
  note: `Detected nested skills root at ${nested}`
688
688
  };
@@ -702,9 +702,9 @@ function loadSkillEntries(workspaceDir, opts) {
702
702
  const loadSkills = (params) => {
703
703
  const baseDir = resolveNestedSkillsRoot(params.dir, { maxEntriesToScan: limits.maxCandidatesPerRoot }).baseDir;
704
704
  const rootSkillMd = path.join(baseDir, "SKILL.md");
705
- if (syncFs.existsSync(rootSkillMd)) {
705
+ if (fs.existsSync(rootSkillMd)) {
706
706
  try {
707
- const size = syncFs.statSync(rootSkillMd).size;
707
+ const size = fs.statSync(rootSkillMd).size;
708
708
  if (size > limits.maxSkillFileBytes) {
709
709
  skillsLogger.warn("Skipping skills root due to oversized SKILL.md.", {
710
710
  dir: baseDir,
@@ -743,9 +743,9 @@ function loadSkillEntries(workspaceDir, opts) {
743
743
  for (const name of limitedChildren) {
744
744
  const skillDir = path.join(baseDir, name);
745
745
  const skillMd = path.join(skillDir, "SKILL.md");
746
- if (!syncFs.existsSync(skillMd)) continue;
746
+ if (!fs.existsSync(skillMd)) continue;
747
747
  try {
748
- const size = syncFs.statSync(skillMd).size;
748
+ const size = fs.statSync(skillMd).size;
749
749
  if (size > limits.maxSkillFileBytes) {
750
750
  skillsLogger.warn("Skipping skill due to oversized SKILL.md.", {
751
751
  skill: name,
@@ -813,7 +813,7 @@ function loadSkillEntries(workspaceDir, opts) {
813
813
  return Array.from(merged.values()).map((skill) => {
814
814
  let frontmatter = {};
815
815
  try {
816
- frontmatter = parseFrontmatter(syncFs.readFileSync(skill.filePath, "utf-8"));
816
+ frontmatter = parseFrontmatter(fs.readFileSync(skill.filePath, "utf-8"));
817
817
  } catch {}
818
818
  return {
819
819
  skill,
@@ -1,6 +1,6 @@
1
1
  import { u as resolveGatewayPort } from "./paths-Cn44w-EB.js";
2
2
  import { B as theme, k as info, z as isRich } from "./utils-CXzXXV2o.js";
3
- import { D as resolveSessionModelRef, Er as peekSystemEvents, G as readRestartSentinel, K as summarizeRestartSentinel, Zt as resolveContextTokensForModel, b as classifySessionKey, bt as formatUsageReportLines, c as buildChannelSummary, l as buildChannelAccountSnapshot, u as formatChannelAllowFrom, x as listAgentsForGateway, yt as loadProviderUsageSummary } from "./reply-DUE8raq5.js";
3
+ import { D as resolveSessionModelRef, Er as peekSystemEvents, G as readRestartSentinel, K as summarizeRestartSentinel, Zt as resolveContextTokensForModel, b as classifySessionKey, bt as formatUsageReportLines, c as buildChannelSummary, l as buildChannelAccountSnapshot, u as formatChannelAllowFrom, x as listAgentsForGateway, yt as loadProviderUsageSummary } from "./reply-7AXQ38dZ.js";
4
4
  import { u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
5
5
  import { w as parseAgentSessionKey } from "./session-key-Cuihcz_O.js";
6
6
  import { t as resolveIdleHandsPackageRoot } from "./idlehands-root-B8cUs-5M.js";
@@ -29,7 +29,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-D7pLXkNs.j
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-DmZbQ8Nc.js";
30
30
  import { t as renderTable } from "./table-B9AmL3M1.js";
31
31
  import { i as resolveGatewayProbeAuth$1, s as probeGateway, t as runSecurityAudit } from "./audit-k9xjNToB.js";
32
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-CErhWLEK.js";
32
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-C2A5ilGU.js";
33
33
  import { _ as resolveUpdateChannelDisplay, a as formatGitInstallLabel, h as normalizeUpdateChannel, n as checkUpdateStatus, t as resolveDefaultChannelAccountContext } from "./channel-account-context-CDbY5AIr.js";
34
34
  import { t as resolveNodeService } from "./node-service-C3vyxHLA.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-BK5XIv_A.js";
@@ -10,7 +10,7 @@ import { r as VERSION } from "./env-vars-I4LX5XSX.js";
10
10
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DEWCCZdI.js";
11
11
  import { Z as resolveFreshSessionTotalTokens, c as loadSessionStore, nt as resolveMainSessionKey } from "./sessions-C1PbgPkg.js";
12
12
  import { n as listChannelPlugins } from "./plugins-CCrfZ49T.js";
13
- import { Cn as buildChannelAccountSnapshot, Dt as summarizeRestartSentinel, Et as readRestartSentinel, Sn as buildChannelSummary, gn as formatUsageReportLines, hn as loadProviderUsageSummary, kn as peekSystemEvents, wn as formatChannelAllowFrom } from "./subagent-registry-DW1LK5cG.js";
13
+ import { Cn as buildChannelAccountSnapshot, Dt as summarizeRestartSentinel, Et as readRestartSentinel, Sn as buildChannelSummary, gn as formatUsageReportLines, hn as loadProviderUsageSummary, kn as peekSystemEvents, wn as formatChannelAllowFrom } from "./subagent-registry-DDIoRVFV.js";
14
14
  import { u as resolveStorePath } from "./paths-CC17i2eK.js";
15
15
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-B9uIa0hd.js";
16
16
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-CQwGqfET.js";
@@ -30,7 +30,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-Om381vyM.j
30
30
  import { t as readLastGatewayErrorLine } from "./diagnostics-BzCL1AMI.js";
31
31
  import { t as renderTable } from "./table-aJzHv5Oe.js";
32
32
  import { i as resolveGatewayProbeAuth$1, s as probeGateway, t as runSecurityAudit } from "./audit-CdwW3NUX.js";
33
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-BV8l2AT8.js";
33
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-Dn7CVhrN.js";
34
34
  import { _ as resolveUpdateChannelDisplay, a as formatGitInstallLabel, h as normalizeUpdateChannel, n as checkUpdateStatus, t as resolveDefaultChannelAccountContext } from "./channel-account-context-ofowt_yq.js";
35
35
  import { t as resolveNodeService } from "./node-service-v7Nz7h4D.js";
36
36
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-oh9Nicqr.js";
@@ -1,5 +1,5 @@
1
- import { p as resolveConfigDir } from "./utils-CTFLl_ji.js";
2
- import { c as detectMime, l as extensionForMime } from "./image-ops-D1KtygWz.js";
1
+ import { p as resolveConfigDir } from "./utils-D9wGoiU9.js";
2
+ import { c as detectMime, l as extensionForMime } from "./image-ops-J8P5zOFm.js";
3
3
  import fs from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import crypto from "node:crypto";
@@ -109,7 +109,7 @@ import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d a
109
109
  import { t as makeProxyFetch } from "./proxy-GJkoUC6V.js";
110
110
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-DhuP2lHs.js";
111
111
  import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CmTF3tWU.js";
112
- import { i as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-Bq61L28a.js";
112
+ import { i as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-D3ku734-.js";
113
113
  import { r as detectBinary } from "./onboard-helpers-_Uk9P3FF.js";
114
114
  import { t as resolvePairingIdLabel } from "./pairing-labels-CLdV_RlM.js";
115
115
  import { createRequire } from "node:module";
@@ -16870,7 +16870,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
16870
16870
  };
16871
16871
  const arg = body.slice(6).trim();
16872
16872
  if (arg === "status" || arg === "") {
16873
- const { antonStatus } = await import("./anton-C8M2UhOH.js").then((n) => n.r);
16873
+ const { antonStatus } = await import("./anton-DYkdgFjS.js").then((n) => n.r);
16874
16874
  const lines = [];
16875
16875
  await antonStatus({
16876
16876
  log: (msg) => lines.push(msg),
@@ -16886,7 +16886,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
16886
16886
  return { shouldContinue: false };
16887
16887
  }
16888
16888
  if (arg === "stop") {
16889
- const { antonStop } = await import("./anton-C8M2UhOH.js").then((n) => n.r);
16889
+ const { antonStop } = await import("./anton-DYkdgFjS.js").then((n) => n.r);
16890
16890
  const lines = [];
16891
16891
  await antonStop({
16892
16892
  log: (msg) => lines.push(msg),
@@ -16924,8 +16924,8 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
16924
16924
  await sendProgress(replyCtx, text);
16925
16925
  return { shouldContinue: false };
16926
16926
  }
16927
- const { runAnton, formatProgressMessage } = await import("./anton-C8M2UhOH.js").then((n) => n.r);
16928
- const { createDefaultDeps } = await import("./deps-Bq61L28a.js").then((n) => n.r);
16927
+ const { runAnton, formatProgressMessage } = await import("./anton-DYkdgFjS.js").then((n) => n.r);
16928
+ const { createDefaultDeps } = await import("./deps-D3ku734-.js").then((n) => n.r);
16929
16929
  const { createNonExitingRuntime } = await import("./runtime-CgcH_FLo.js").then((n) => n.r);
16930
16930
  const runtime = createNonExitingRuntime();
16931
16931
  const deps = createDefaultDeps();
@@ -49595,7 +49595,7 @@ function createDiscordMessageHandler(params) {
49595
49595
  try {
49596
49596
  const messageText = resolveDiscordMessageText(data.message)?.trim();
49597
49597
  if (messageText) {
49598
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Cl_1fWgA.js");
49598
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Dpdosd7y.js");
49599
49599
  if (isAbortRequestText(messageText)) {
49600
49600
  const { resolveAgentRoute } = await import("./resolve-route-VUTvr63H.js").then((n) => n.r);
49601
49601
  const channelId = resolveDiscordMessageChannelId({
@@ -57068,7 +57068,7 @@ async function monitorIMessageProvider(opts = {}) {
57068
57068
  }
57069
57069
  const msgText = (message.text ?? "").trim();
57070
57070
  if (msgText) {
57071
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Cl_1fWgA.js");
57071
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Dpdosd7y.js");
57072
57072
  if (isAbortRequestText(msgText)) {
57073
57073
  const { resolveAgentRoute } = await import("./resolve-route-VUTvr63H.js").then((n) => n.r);
57074
57074
  const route = resolveAgentRoute({
@@ -59673,7 +59673,7 @@ function createSignalEventHandler(deps) {
59673
59673
  const senderName = envelope.sourceName ?? senderDisplay;
59674
59674
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
59675
59675
  if (bodyText) {
59676
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Cl_1fWgA.js");
59676
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Dpdosd7y.js");
59677
59677
  if (isAbortRequestText(bodyText)) {
59678
59678
  const { resolveAgentRoute } = await import("./resolve-route-VUTvr63H.js").then((n) => n.r);
59679
59679
  const route = resolveAgentRoute({
@@ -63062,7 +63062,7 @@ function createSlackMessageHandler(params) {
63062
63062
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
63063
63063
  const rawText = (message.text ?? "").trim();
63064
63064
  if (rawText) {
63065
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Cl_1fWgA.js");
63065
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Dpdosd7y.js");
63066
63066
  if (isAbortRequestText(rawText)) {
63067
63067
  const { resolveAgentRoute } = await import("./resolve-route-VUTvr63H.js").then((n) => n.r);
63068
63068
  const route = resolveAgentRoute({
@@ -65256,7 +65256,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
65256
65256
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
65257
65257
  const text = typeof msg.text === "string" ? msg.text : void 0;
65258
65258
  if (text) {
65259
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Cl_1fWgA.js");
65259
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Dpdosd7y.js");
65260
65260
  if (isAbortRequestText(text)) {
65261
65261
  const senderId = msg.from?.id ? String(msg.from.id) : "";
65262
65262
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -68750,7 +68750,7 @@ function loadWebLoginQr() {
68750
68750
  return webLoginQrPromise;
68751
68751
  }
68752
68752
  function loadWebChannel() {
68753
- webChannelPromise ??= import("./web-CI1Ye0j8.js");
68753
+ webChannelPromise ??= import("./web-WBETd448.js");
68754
68754
  return webChannelPromise;
68755
68755
  }
68756
68756
  function loadWhatsAppActions() {
@@ -77170,36 +77170,51 @@ function extractParameterSummary(tool) {
77170
77170
  /**
77171
77171
  * Build compact tool guidance for common coding tools.
77172
77172
  * This is optimized for local models with limited context.
77173
+ * @param excludeTools - Tool names to exclude (e.g., tools with full schemas)
77173
77174
  */
77174
- function buildCompactToolGuidance() {
77175
- return `## Tools
77176
-
77177
- Call tools with JSON: {"tool": "name", "params": {...}}
77178
-
77179
- **exec** - Run shell commands
77175
+ function buildCompactToolGuidance(excludeTools) {
77176
+ const excludeSet = new Set((excludeTools ?? []).map((name) => name.toLowerCase()));
77177
+ const includedTools = [
77178
+ {
77179
+ name: "exec",
77180
+ def: `**exec** - Run shell commands
77180
77181
  command (required): Shell command to execute
77181
77182
  workdir: Working directory
77182
77183
  timeout: Timeout in seconds
77183
- background: Run in background (true/false)
77184
-
77185
- **read** - Read file contents
77184
+ background: Run in background (true/false)`
77185
+ },
77186
+ {
77187
+ name: "read",
77188
+ def: `**read** - Read file contents
77186
77189
  path (required): File path to read
77187
77190
  offset: Start line (1-indexed)
77188
- limit: Max lines to read
77189
-
77190
- **write** - Create/overwrite files
77191
+ limit: Max lines to read`
77192
+ },
77193
+ {
77194
+ name: "write",
77195
+ def: `**write** - Create/overwrite files
77191
77196
  path (required): File path to write
77192
- content (required): Content to write
77193
-
77194
- **edit** - Precise text replacement
77197
+ content (required): Content to write`
77198
+ },
77199
+ {
77200
+ name: "edit",
77201
+ def: `**edit** - Precise text replacement
77195
77202
  path (required): File path to edit
77196
77203
  old_string (required): Exact text to find
77197
- new_string (required): Replacement text
77198
-
77199
- **process** - Manage background processes
77204
+ new_string (required): Replacement text`
77205
+ },
77206
+ {
77207
+ name: "process",
77208
+ def: `**process** - Manage background processes
77200
77209
  action (required): list|poll|kill|log
77201
77210
  sessionId: Session ID for poll/kill/log
77202
- timeout: Poll timeout in ms`;
77211
+ timeout: Poll timeout in ms`
77212
+ }
77213
+ ].filter(({ name }) => !excludeSet.has(name)).map(({ def }) => def);
77214
+ if (includedTools.length === 0) return "";
77215
+ return `## Tools
77216
+
77217
+ ${includedTools.join("\n\n")}`;
77203
77218
  }
77204
77219
 
77205
77220
  //#endregion
@@ -78042,7 +78057,7 @@ async function runEmbeddedAttempt(params) {
78042
78057
  });
78043
78058
  const stubModeConfig = params.config?.tools?.stubMode;
78044
78059
  const tools = applyStubMode(toolsSanitized, stubModeConfig);
78045
- const toolStubGuidance = stubModeConfig?.enabled ? stubModeConfig.guidance ?? (stubModeConfig.compactGuidance ? buildCompactToolGuidance() : generateToolStubGuidance(toolsRaw)) : void 0;
78060
+ const toolStubGuidance = stubModeConfig?.enabled ? stubModeConfig.guidance ?? (stubModeConfig.compactGuidance ? buildCompactToolGuidance(stubModeConfig.fullSchemaTools) : generateToolStubGuidance(toolsRaw)) : void 0;
78046
78061
  const allowedToolNames = collectAllowedToolNames({
78047
78062
  tools,
78048
78063
  clientTools: params.clientTools
@@ -1,4 +1,4 @@
1
- import { B as resolveNodeRequireFromMeta, D as logVerbose, E as isVerbose, G as readLoggingConfig, H as loggingState, I as getChildLogger, R as isFileLogLevelEnabled, U as levelToMinLevel, V as resolveEnvLogLevelOverride, W as normalizeLogLevel, h as resolveUserPath } from "./utils-CTFLl_ji.js";
1
+ import { B as resolveNodeRequireFromMeta, D as logVerbose, E as isVerbose, G as readLoggingConfig, H as loggingState, I as getChildLogger, R as isFileLogLevelEnabled, U as levelToMinLevel, V as resolveEnvLogLevelOverride, W as normalizeLogLevel, h as resolveUserPath } from "./utils-D9wGoiU9.js";
2
2
  import { i as clearActiveProgressLine } from "./runtime-8mi3mpYB.js";
3
3
  import path from "node:path";
4
4
  import { Chalk } from "chalk";
@@ -1,4 +1,4 @@
1
- import { r as markdownToIRWithMeta } from "./ir-B7IBoKLy.js";
1
+ import { r as markdownToIRWithMeta } from "./ir-BT5aAdU9.js";
2
2
  import { t as renderMarkdownWithMarkers } from "./render-MTSxc7LK.js";
3
3
 
4
4
  //#region src/markdown/tables.ts