@symerian/symi 3.4.14 → 3.4.16

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 (245) hide show
  1. package/dist/{agent-C8IIjDyn.js → agent-BxlwfrtS.js} +17 -17
  2. package/dist/{agent-BaSGoKPq.js → agent-C4QXV3DM.js} +1 -1
  3. package/dist/{agent-scope-DIjW66iO.js → agent-scope-CKTVXF_1.js} +18 -18
  4. package/dist/{agents-D6Ygz9ED.js → agents-MAWGh-MZ.js} +3 -3
  5. package/dist/{agents.config-D1nFwU81.js → agents.config-DDPgPAe-.js} +1 -1
  6. package/dist/{audit-nqP-JeOr.js → audit-BCJhGGs7.js} +2 -2
  7. package/dist/{audit-BI8Rbs5q.js → audit-Bhy0yCzM.js} +20 -20
  8. package/dist/{auth-choice-Bx4Duu6u.js → auth-choice-B3pG20oL.js} +2 -2
  9. package/dist/{auth-choice-BBrEzoy2.js → auth-choice-DERl6GbY.js} +8 -8
  10. package/dist/{auth-profiles-BFSVvFKy.js → auth-profiles-BDvJK1Bg.js} +9 -9
  11. package/dist/{auth-token-SebYuqfR.js → auth-token-Dh7cXEKa.js} +1 -1
  12. package/dist/{banner-l9GjW5Rm.js → banner-CrLh-2_L.js} +1 -1
  13. package/dist/{browser-cli-Bk8DxxeA.js → browser-cli-CpVBXw3C.js} +3 -3
  14. package/dist/{browser-cli-BAxOL41p.js → browser-cli-Ctdel5GZ.js} +9 -9
  15. package/dist/build-info.json +3 -3
  16. package/dist/bundled/boot-md/handler.js +4 -4
  17. package/dist/bundled/session-memory/handler.js +4 -4
  18. package/dist/{call-BPJn2_th.js → call-8H645eSK.js} +10 -9
  19. package/dist/{call-5IE9ycvm.js → call-Dwi3ARhD.js} +2 -1
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-options-DGUqfnbP.js → channel-options-I01CE5I3.js} +1 -1
  22. package/dist/{channel-options-COanIUoQ.js → channel-options-Jb0g65X3.js} +1 -1
  23. package/dist/{channels-cli-CZ3M3yE1.js → channels-cli-Bhrx8sbn.js} +9 -9
  24. package/dist/{channels-cli-B1zmnm5a.js → channels-cli-BqFCS_7N.js} +54 -54
  25. package/dist/{chrome-B4P7ycw5.js → chrome-CQn8fDIy.js} +4 -4
  26. package/dist/{chrome-VbDUdW0_.js → chrome-CXZZLI1N.js} +2 -2
  27. package/dist/{chrome-CPSDqbK6.js → chrome-DT1fIVG1.js} +4 -4
  28. package/dist/{cli-CC5GrdTI.js → cli-CmH8dZk4.js} +6 -6
  29. package/dist/{cli-C7I5uEFC.js → cli-DHDuQ1Ao.js} +42 -42
  30. package/dist/{client-Dp8LUTmF.js → client-CFUQAIIE.js} +3 -1
  31. package/dist/{client-qjXXRKCO.js → client-lkWaEu6S.js} +4 -2
  32. package/dist/{command-registry-D8fj6th4.js → command-registry-DJZ5J_NP.js} +11 -11
  33. package/dist/{commands-registry-BNCcZy2y.js → commands-registry-CLePPNDW.js} +1 -1
  34. package/dist/{completion-cli-BxspmuYm.js → completion-cli-DF5DA16K.js} +2 -2
  35. package/dist/{completion-cli-C-85b5b8.js → completion-cli-SuImt6E5.js} +12 -12
  36. package/dist/{config-cli-BqzjDmIH.js → config-cli-CxfJyFzy.js} +4 -4
  37. package/dist/{config-cli-DSDGwckX.js → config-cli-D4ZuazGl.js} +1 -1
  38. package/dist/{config-DqMsGcSQ.js → config-e4gtNbYA.js} +2 -2
  39. package/dist/{config-guard-CJcSKMuP.js → config-guard-9KHqoVah.js} +6 -6
  40. package/dist/{config-validation-Bp2wJ610.js → config-validation-DdA5SfZN.js} +1 -1
  41. package/dist/{configure-BazJdwKU.js → configure-C-N62SHF.js} +6 -6
  42. package/dist/{configure-Dl1f1Den.js → configure-CNG8CYHb.js} +14 -14
  43. package/dist/{consolidate-7Usm-b2g.js → consolidate-Cx7qF5Ht.js} +6 -6
  44. package/dist/{control-service-Fn3d9AlH.js → control-service-D3Iaavrm.js} +4 -4
  45. package/dist/control-ui/css/style.css +54 -43
  46. package/dist/control-ui/index.html +1 -9
  47. package/dist/control-ui/js/app.js +0 -5
  48. package/dist/control-ui/js/slash-autocomplete.js +149 -0
  49. package/dist/{control-ui-assets-DUhvOLUL.js → control-ui-assets-D22DSxhv.js} +1 -1
  50. package/dist/{cron-cli-DXgI5Lid.js → cron-cli-9gskPfAH.js} +3 -3
  51. package/dist/{cron-cli-DZyH2BfZ.js → cron-cli-DVj7bddU.js} +7 -7
  52. package/dist/{daemon-cli-DmMYx5Uf.js → daemon-cli-Bbv64XWl.js} +2 -2
  53. package/dist/{daemon-cli-C6FSROt1.js → daemon-cli-nhO-a_Bi.js} +11 -11
  54. package/dist/daemon-cli.js +3 -0
  55. package/dist/{daemon-runtime-BpfA4d6Q.js → daemon-runtime-CJzKuFbC.js} +10 -10
  56. package/dist/{deliver-BkCYBlzi.js → deliver-59sRVaYQ.js} +4 -4
  57. package/dist/{deliver-RwovDEDy.js → deliver-CxOAv44C.js} +2 -2
  58. package/dist/{deliver-Mqq3tgqB.js → deliver-DvW5xHHr.js} +4 -4
  59. package/dist/{deps-bCHNuszw.js → deps-Cwq_3i09.js} +1 -1
  60. package/dist/{devices-cli-D6xXc9Ym.js → devices-cli-BdRBoZbv.js} +6 -6
  61. package/dist/{devices-cli-IMv-0zor.js → devices-cli-Cbez9Fap.js} +2 -2
  62. package/dist/{diagnostics-DxdqTfpW.js → diagnostics-nLP2i_BY.js} +5 -5
  63. package/dist/{directory-cli-ClbYhd6z.js → directory-cli-CMa8Okul.js} +3 -3
  64. package/dist/{dm-policy-shared-5HLej1br.js → dm-policy-shared-CQpFAzTa.js} +1 -1
  65. package/dist/{dns-cli-CY2voLuR.js → dns-cli-CMBl2B2j.js} +3 -3
  66. package/dist/{docs-cli-DjQ3SvBq.js → docs-cli-C2BEC5yU.js} +1 -1
  67. package/dist/{doctor-completion-CX7LjkOD.js → doctor-completion-C4XUXnaA.js} +1 -1
  68. package/dist/{doctor-completion-BwHbIZjF.js → doctor-completion-DKCccBNY.js} +2 -2
  69. package/dist/{doctor-config-flow-CYDx1U0Z.js → doctor-config-flow-Dwm_Y2h3.js} +9 -9
  70. package/dist/entry.js +1 -1
  71. package/dist/{exec-approvals-cli-B_P-1zVp.js → exec-approvals-cli-4n1jYMlS.js} +13 -13
  72. package/dist/{exec-approvals-cli-Dy1jvh2M.js → exec-approvals-cli-BtH1ykEU.js} +4 -4
  73. package/dist/extensionAPI.js +4 -4
  74. package/dist/{fs-safe-B6nMaZqV.js → fs-safe-DjAKGGJ8.js} +6 -6
  75. package/dist/{gateway-cli-CTcK1Az2.js → gateway-cli-6DYQ9V3M.js} +96 -95
  76. package/dist/{gateway-cli-CW-Z71cE.js → gateway-cli-Y6aR7DlZ.js} +17 -16
  77. package/dist/{gateway-rpc-DD_aXogj.js → gateway-rpc-Cb6Hsnx7.js} +1 -1
  78. package/dist/{gateway-rpc-C1xjWlxu.js → gateway-rpc-Mf07Va_c.js} +1 -1
  79. package/dist/{glass-ui-ws-BZvH4MBO.js → glass-ui-ws-D9lv_Fus.js} +13 -13
  80. package/dist/{glass-ui-ws-BNJkhJrL.js → glass-ui-ws-kUuNFNa_.js} +64 -64
  81. package/dist/{health-D8cKia4i.js → health-BNbL0vIk.js} +4 -4
  82. package/dist/{health-DdzNc1yA.js → health-Citq_4AL.js} +1 -1
  83. package/dist/{hooks-cli-qO421UdO.js → hooks-cli-9VgRbUTO.js} +7 -7
  84. package/dist/{hooks-cli-DkP3Y4ou.js → hooks-cli-BLVpSc2f.js} +56 -56
  85. package/dist/{image-ops-C-gIIp7Q.js → image-ops-c7_of0HT.js} +10 -10
  86. package/dist/index.js +49 -49
  87. package/dist/{inspect-BDzd6yBs.js → inspect-op0Ov-v4.js} +4 -4
  88. package/dist/{install-safe-path-CQXx3s9R.js → install-safe-path-B73BkVO3.js} +11 -11
  89. package/dist/{installs-DhSLZRT7.js → installs-BzgwvqqQ.js} +10 -10
  90. package/dist/{internal-CHnZdvRy.js → internal-C3o_xyzP.js} +9 -9
  91. package/dist/{lifecycle-core-BEmljRfh.js → lifecycle-core-FlMrd9ab.js} +5 -5
  92. package/dist/llm-slug-generator.js +4 -4
  93. package/dist/{local-roots-BnDnugq3.js → local-roots-CUKhHNCV.js} +1 -1
  94. package/dist/{logs-cli-Dbmzz8m_.js → logs-cli-K2EqrFLO.js} +7 -7
  95. package/dist/{logs-cli-BB0Mq8D1.js → logs-cli-rsKjIgKD.js} +3 -3
  96. package/dist/{manager-BQaZlWzK.js → manager-Abf6Ojpw.js} +1 -1
  97. package/dist/{manager-MbrGCH4o.js → manager-BSHK3Wl8.js} +1 -1
  98. package/dist/{manager-BD_cpL9b.js → manager-BeNnzSJv.js} +1 -1
  99. package/dist/{manager-DOiW-Koo.js → manager-ByEbqe6-.js} +14 -14
  100. package/dist/{memory-Cl4I_45k.js → memory-BaDWe-xp.js} +2 -2
  101. package/dist/{memory-kIYeV9aO.js → memory-DC-qFwtN.js} +5 -5
  102. package/dist/{memory-cli-CszP57Ee.js → memory-cli-Ceun-Zo3.js} +2 -2
  103. package/dist/{memory-cli-DkD_OD70.js → memory-cli-DDXHC4Oc.js} +12 -12
  104. package/dist/{model-BRcKPW49.js → model-CbRy_3xW.js} +1 -1
  105. package/dist/{model-catalog-CaGfL-2g.js → model-catalog-Bfu_yBpI.js} +4 -4
  106. package/dist/{model-picker-CV56GE8A.js → model-picker-BEm4_Lpz.js} +3 -3
  107. package/dist/{models-BYi0Fo1a.js → models-BvyDRpwv.js} +3 -3
  108. package/dist/{models-cli-Bn9M1TgO.js → models-cli-9VxvzSY6.js} +52 -52
  109. package/dist/{models-cli-EdjvkvFO.js → models-cli-CQ7EMoEg.js} +9 -9
  110. package/dist/{models-config-Unnduxgs.js → models-config-B-YxzPLd.js} +7 -7
  111. package/dist/{node-cli-C8FYMIjN.js → node-cli-BGHROzvW.js} +1 -1
  112. package/dist/{node-cli-39H0MZ8q.js → node-cli-BUwT-V9W.js} +27 -27
  113. package/dist/{node-service-tPO_yUk7.js → node-service-DuN9eBL6.js} +1 -1
  114. package/dist/{nodes-cli-C-03nIJ0.js → nodes-cli-Deouq1_W.js} +10 -10
  115. package/dist/{nodes-cli-CqxQexTU.js → nodes-cli-L9PE4_mv.js} +3 -3
  116. package/dist/{nodes-screen-JELuBMBi.js → nodes-screen-CT94yu_w.js} +4 -4
  117. package/dist/{npm-registry-spec-BXw_6vF6.js → npm-registry-spec-B8X06AqB.js} +9 -9
  118. package/dist/{onboard-CAIujkV7.js → onboard-4NbQl96N.js} +3 -3
  119. package/dist/{onboard-C8IQnigm.js → onboard-8ohsW35T.js} +13 -13
  120. package/dist/{onboard-channels-B2l6OoMg.js → onboard-channels-BBjQQeMN.js} +1 -1
  121. package/dist/{onboard-channels-D_uUQbem.js → onboard-channels-CWTpqREc.js} +4 -4
  122. package/dist/{onboard-custom-B2fJvyxt.js → onboard-custom-D6tlcthi.js} +3 -3
  123. package/dist/{onboard-helpers-Bm-oyLWy.js → onboard-helpers-CAuQ1IWD.js} +1 -1
  124. package/dist/{onboard-helpers-CHfdRdZR.js → onboard-helpers-DKnX4Zrl.js} +8 -8
  125. package/dist/{onboard-hooks-DBYkemjF.js → onboard-hooks-zOcdg3uW.js} +1 -1
  126. package/dist/{onboard-remote-ecyetiyL.js → onboard-remote-CZmU-yNO.js} +1 -1
  127. package/dist/{onboard-remote-z8XLK4M0.js → onboard-remote-D2u2nh0i.js} +1 -1
  128. package/dist/{onboard-skills-BLvL0KPR.js → onboard-skills-B-meN1aW.js} +4 -4
  129. package/dist/{onboard-skills-C53RGq_5.js → onboard-skills-CmD3Tuui.js} +1 -1
  130. package/dist/{onboarding-BIq5BxG0.js → onboarding-BcuWzulD.js} +7 -7
  131. package/dist/{onboarding-4v9LJueP.js → onboarding-FLjy51GR.js} +12 -12
  132. package/dist/{onboarding.finalize-Bkcwe5RS.js → onboarding.finalize-DSdlsUwa.js} +31 -31
  133. package/dist/{onboarding.finalize-CXAQzVXM.js → onboarding.finalize-TsyIiWeF.js} +9 -9
  134. package/dist/{onboarding.gateway-config-3JMN1xRf.js → onboarding.gateway-config-C9led5lX.js} +8 -8
  135. package/dist/{onboarding.gateway-config-Ft3f6Jba.js → onboarding.gateway-config-CM3sKyZo.js} +3 -3
  136. package/dist/{openai-model-default-CDDFpxUr.js → openai-model-default-C57VbKS7.js} +2 -2
  137. package/dist/{pairing-cli-CJGA4j6G.js → pairing-cli-CRy4Sw1m.js} +4 -4
  138. package/dist/{pairing-store-BGf29nPx.js → pairing-store-S9CXOhSG.js} +1 -1
  139. package/dist/{pairing-token-CURbSHdi.js → pairing-token-DorpwP8O.js} +7 -7
  140. package/dist/{paths-Dc6A9_vI.js → paths-DaQrPPet.js} +1 -1
  141. package/dist/{pi-auth-json-SHGGQzOL.js → pi-auth-json-CVwNh4rb.js} +5 -5
  142. package/dist/{pi-embedded-8Zh_Y5ur.js → pi-embedded-DJKetjip.js} +13 -10
  143. package/dist/{pi-embedded-helpers-CAdI9wJ5.js → pi-embedded-helpers-DUx9ViYy.js} +6 -6
  144. package/dist/{pi-tools.policy-Dyx3nBmp.js → pi-tools.policy-B0lPjw5N.js} +3 -3
  145. package/dist/{plugin-auto-enable-D2TNEv3x.js → plugin-auto-enable-BDPdHiLS.js} +1 -1
  146. package/dist/{plugin-registry-D7ACpV2Y.js → plugin-registry-CDwUvhG3.js} +1 -1
  147. package/dist/{plugin-registry-d4hMhLLZ.js → plugin-registry-lssaEXUZ.js} +3 -3
  148. package/dist/plugin-sdk/gateway/protocol/index.d.ts +5 -2
  149. package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +1 -0
  150. package/dist/{plugins-cli-CPf1hMaZ.js → plugins-cli-CR6LA3Zk.js} +51 -51
  151. package/dist/{plugins-cli-D1gd8p9T.js → plugins-cli-HROGUz9H.js} +7 -7
  152. package/dist/{ports-DRHSHvqY.js → ports-ChuJYhEL.js} +1 -1
  153. package/dist/{ports-DqxP-bXz.js → ports-EAVAOFyK.js} +2 -2
  154. package/dist/{program-C19G7o-Q.js → program-CVgY3xqh.js} +12 -12
  155. package/dist/{program-context-BSUkEz3n.js → program-context-C5ExAuya.js} +38 -38
  156. package/dist/{prompt-select-styled-CnYM7W0j.js → prompt-select-styled-DYWkAR4G.js} +7 -7
  157. package/dist/{prompt-select-styled-B5wlPYN5.js → prompt-select-styled-Eh0nzrZ8.js} +36 -36
  158. package/dist/{provider-auth-helpers-DpRoNr_8.js → provider-auth-helpers-4Z6bU9-3.js} +5 -5
  159. package/dist/{provider-auth-helpers-BUC4xGK9.js → provider-auth-helpers-B9NAbuRn.js} +1 -1
  160. package/dist/{push-apns-Bm39oOO9.js → push-apns-CUACAVd6.js} +4 -4
  161. package/dist/{push-apns-DqmFEcqh.js → push-apns-DB-oyDXs.js} +1 -1
  162. package/dist/{pw-ai-w6Qalz1W.js → pw-ai-BB1pJj9_.js} +1 -1
  163. package/dist/{pw-ai-BsEf8C15.js → pw-ai-C5MJKzUM.js} +1 -1
  164. package/dist/{pw-ai-B2NuWIL7.js → pw-ai-Df15PGTL.js} +7 -7
  165. package/dist/{qmd-manager-358OTDns.js → qmd-manager-0KqWHsaN.js} +19 -19
  166. package/dist/{qr-cli-hPIeUYAT.js → qr-cli-LK6XUdA4.js} +3 -3
  167. package/dist/{register.agent-CCKcgAXs.js → register.agent-B2uaqVl1.js} +64 -64
  168. package/dist/{register.agent-DZuxoC0a.js → register.agent-Cw-xilkP.js} +12 -12
  169. package/dist/{register.configure-CJErdFO_.js → register.configure-DcK9kvfL.js} +67 -67
  170. package/dist/{register.configure-JT8T7HO5.js → register.configure-PJAnKSja.js} +14 -14
  171. package/dist/{register.maintenance-DDzKUGYJ.js → register.maintenance-_6TRSsvd.js} +64 -64
  172. package/dist/{register.maintenance-CKsv0lok.js → register.maintenance-g_pNbyVg.js} +13 -13
  173. package/dist/{register.message-CpOXi1rz.js → register.message-BnpfKdYG.js} +44 -44
  174. package/dist/{register.message-_bfhetTg.js → register.message-D3Ig-Jzq.js} +7 -7
  175. package/dist/{register.onboard-CkIM3hU7.js → register.onboard-Cd99utnP.js} +6 -6
  176. package/dist/{register.onboard-BHtTh0b_.js → register.onboard-CrdHd4YG.js} +22 -22
  177. package/dist/{register.setup-CLhdFQHW.js → register.setup-BEs9uiiC.js} +25 -25
  178. package/dist/{register.setup-CYtYDKMU.js → register.setup-DkCfuBzx.js} +6 -6
  179. package/dist/{register.status-health-sessions-DmX0DLAt.js → register.status-health-sessions-DVBjRsJi.js} +8 -8
  180. package/dist/{register.status-health-sessions-DZnebsxZ.js → register.status-health-sessions-DYmKN4um.js} +38 -38
  181. package/dist/{register.subclis-CnDo2jzv.js → register.subclis-CVoaDyXE.js} +19 -19
  182. package/dist/{replies-B2O2eRh6.js → replies-BLmn6tJz.js} +1 -1
  183. package/dist/{reply-prefix-BOdARKaY.js → reply-prefix-DZQBodKF.js} +1 -1
  184. package/dist/{resolve-route-CRWE36h5.js → resolve-route-BbUl3Hi7.js} +1 -1
  185. package/dist/{routes-BMShi_eY.js → routes-DgT1raBC.js} +10 -10
  186. package/dist/{rpc-D0Ldc6Hv.js → rpc-Bki5OqHV.js} +1 -1
  187. package/dist/{rpc-CEhoSTGo.js → rpc-C6w0z2sB.js} +1 -1
  188. package/dist/{run-main-BIRbWKyA.js → run-main-DGMiCTPr.js} +20 -20
  189. package/dist/{sandbox-C-UeHmuJ.js → sandbox-BkYjPUBB.js} +18 -18
  190. package/dist/{sandbox-cli-CNAPNXJ4.js → sandbox-cli-0FmIDe_m.js} +13 -13
  191. package/dist/{security-cli-DDM0Z6IW.js → security-cli-DFvPQsvu.js} +3 -3
  192. package/dist/{security-cli-BSd8_Gsq.js → security-cli-ejJGH_gW.js} +28 -28
  193. package/dist/{send-DSK6O8SC.js → send-9PcWD4fG.js} +7 -7
  194. package/dist/{server-context-DFO6o83F.js → server-context-B7dLOKCi.js} +5 -5
  195. package/dist/{server-methods-Dz6NGEg3.js → server-methods-B9PH0oNz.js} +33 -10
  196. package/dist/{server-methods-vp5zi6v5.js → server-methods-BtlhJrhx.js} +80 -57
  197. package/dist/{server-node-events-4ufB_olv.js → server-node-events-CZwsbJJ7.js} +8 -8
  198. package/dist/{server-node-events-B7UtUhkC.js → server-node-events-pgNK7gTw.js} +45 -45
  199. package/dist/{service-AP9pR9R5.js → service-9ItKCWWS.js} +15 -15
  200. package/dist/{session-dirs-Chh7bBGo.js → session-dirs-B6PWqKEf.js} +2 -2
  201. package/dist/{session-utils-CgGDr4eh.js → session-utils-0LAFVJl4.js} +12 -12
  202. package/dist/{sessions-Dh88Kqd6.js → sessions-DJ9kN6ZB.js} +11 -11
  203. package/dist/{shared-_wwqvx84.js → shared-BTKigB51.js} +3 -3
  204. package/dist/{shared-DmYHvtn2.js → shared-ot5_jkpP.js} +1 -1
  205. package/dist/{skill-commands-5QB5E8bv.js → skill-commands-RbglvrSW.js} +4 -4
  206. package/dist/{skill-scanner-YF2jR4RY.js → skill-scanner-CZK0TG9g.js} +5 -5
  207. package/dist/{skills-Bmjf5nFv.js → skills-DS1Vdylm.js} +4 -4
  208. package/dist/{skills-cli-Byp9MfZh.js → skills-cli-DHTm73Re.js} +7 -7
  209. package/dist/{skills-install-BB27sD4d.js → skills-install-CD4O4yWI.js} +3 -3
  210. package/dist/{skills-remote-CqwR3Zvp.js → skills-remote-BDSyRdyX.js} +3 -3
  211. package/dist/{skills-status-BNDqwHkP.js → skills-status-F7nlolZZ.js} +1 -1
  212. package/dist/{sqlite-DBEvS-Ne.js → sqlite-BUXBg2yu.js} +5 -5
  213. package/dist/{status-MMLxoRgQ.js → status-C27L1-B1.js} +1 -1
  214. package/dist/{status-DEXnB1sw.js → status-DQQOJNd8.js} +23 -23
  215. package/dist/{status-BD8gFYKH.js → status-DfAxyxKZ.js} +5 -5
  216. package/dist/{status-B0HecH1s.js → status-Df_qWsKA.js} +3 -3
  217. package/dist/{status.update-CB9e3eWW.js → status.update-Bk4bidvt.js} +3 -3
  218. package/dist/{subagent-registry-C57PFGHU.js → subagent-registry-B6hpdjMe.js} +5 -5
  219. package/dist/{symi-root-DueRHNOE.js → symi-root-0MUhiNlM.js} +2 -2
  220. package/dist/{synthesis-iB7TWRW4.js → synthesis-BLGzIzgw.js} +4 -4
  221. package/dist/{synthesis-j_kjlFo1.js → synthesis-BQarjPR5.js} +6 -6
  222. package/dist/{synthesis-CjsIBd8X.js → synthesis-ZzOpDY0_.js} +42 -42
  223. package/dist/{synthesis-DSdF0vsi.js → synthesis-dplLmFIP.js} +4 -4
  224. package/dist/{system-cli-BM8KbtUc.js → system-cli-CMJlwDbx.js} +7 -7
  225. package/dist/{system-cli-CQFH_HwX.js → system-cli-D1KbTajz.js} +3 -3
  226. package/dist/{systemd-9LEEqibe.js → systemd-8KKQdTO_.js} +5 -5
  227. package/dist/{systemd-hints-A1W3AdVo.js → systemd-hints-BdnQ93Ux.js} +6 -6
  228. package/dist/{systemd-linger-PqG8iGCt.js → systemd-linger-CnKJZBUr.js} +1 -1
  229. package/dist/{tui-D0j61PXx.js → tui-D2WEKSKp.js} +2 -2
  230. package/dist/{tui-DFuScHlA.js → tui-ZtRGw-US.js} +7 -7
  231. package/dist/{tui-cli-25xTveHh.js → tui-cli-CXZw2cb8.js} +3 -3
  232. package/dist/{tui-cli-C3dXNtPo.js → tui-cli-D56ntFvh.js} +19 -19
  233. package/dist/{unified-runner-BNt7TQKM.js → unified-runner-BFLLzEHE.js} +13 -10
  234. package/dist/{unified-runner-DCiPB--z.js → unified-runner-BiVD0QYP.js} +99 -99
  235. package/dist/{update-check-CZxZhEXr.js → update-check-BdSIMYWq.js} +5 -5
  236. package/dist/{update-cli-Dl_QbjXc.js → update-cli-BX7yQdFR.js} +14 -14
  237. package/dist/{update-cli-CWufRpkr.js → update-cli-DKtCvgSg.js} +74 -74
  238. package/dist/{update-CjZgU686.js → update-lQHC4OGO.js} +3 -3
  239. package/dist/{update-runner-Dq5UYQbo.js → update-runner-D4-wGM5B.js} +15 -15
  240. package/dist/{webhooks-cli-Clx8DGfA.js → webhooks-cli-9-_fKRFZ.js} +4 -4
  241. package/dist/{with-timeout-BE7lxhxW.js → with-timeout-DNA2hy4y.js} +1 -1
  242. package/dist/{workspace-dirs-D5OnUmvw.js → workspace-dirs-QmSWJptJ.js} +1 -1
  243. package/dist/{wsl-ZWGwnnKI.js → wsl-DO9usEVV.js} +2 -2
  244. package/package.json +1 -1
  245. package/dist/control-ui/js/debug.js +0 -55
@@ -3,86 +3,86 @@ import { D as shouldLogVerbose, H as createInternalHookEvent, M as getChildLogge
3
3
  import { g as resolveStateDir, u as resolveGatewayPort } from "./paths-BSzKwaxE.js";
4
4
  import { S as isPlainObject, _ as shortenHomeInString, b as sliceUtf16Safe, c as escapeRegExp, h as resolveUserPath, r as clampInt, t as CONFIG_DIR, u as isRecord, v as shortenHomePath, x as truncateUtf16Safe, y as sleep } from "./utils-BU8jVQFM.js";
5
5
  import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
6
- import { A as buildConfiguredAllowlistKeys, At as resolveShellEnvFallbackTimeoutMs, Ct as resolveEnvApiKey, Et as normalizeSecretInput, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef$1, K as resolveSubagentSpawnModelSelection, L as normalizeProviderId, M as findNormalizedProviderValue, Ot as getShellPathFromLoginShell, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _t as createOllamaStreamFn, a as markAuthProfileFailure, b as ensureAuthProfileStore, bt as requireApiKey, et as normalizeGoogleModelId, g as markAuthProfileGood, gt as OLLAMA_NATIVE_BASE_URL, h as listProfilesForProvider, i as isProfileInCooldown, j as buildModelAliasIndex, k as buildAllowedModelSet, n as resolveAuthProfileOrder, o as markAuthProfileUsed, q as resolveThinkingDefault, r as getSoonestCooldownExpiry, vt as getApiKeyForModel, w as resolveAuthStorePathForDisplay, wt as resolveModelAuthMode, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-BFSVvFKy.js";
6
+ import { A as buildConfiguredAllowlistKeys, At as resolveShellEnvFallbackTimeoutMs, Ct as resolveEnvApiKey, Et as normalizeSecretInput, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef$1, K as resolveSubagentSpawnModelSelection, L as normalizeProviderId, M as findNormalizedProviderValue, Ot as getShellPathFromLoginShell, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _t as createOllamaStreamFn, a as markAuthProfileFailure, b as ensureAuthProfileStore, bt as requireApiKey, et as normalizeGoogleModelId, g as markAuthProfileGood, gt as OLLAMA_NATIVE_BASE_URL, h as listProfilesForProvider, i as isProfileInCooldown, j as buildModelAliasIndex, k as buildAllowedModelSet, n as resolveAuthProfileOrder, o as markAuthProfileUsed, q as resolveThinkingDefault, r as getSoonestCooldownExpiry, vt as getApiKeyForModel, w as resolveAuthStorePathForDisplay, wt as resolveModelAuthMode, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-BDvJK1Bg.js";
7
7
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
8
8
  import { S as resolveThreadParentSessionKey, _ as isAcpSessionKey, a as classifySessionKeyShape, b as isSubagentSessionKey, c as resolveAgentIdFromSessionKey, g as getSubagentDepth, l as resolveThreadSessionKeys, m as normalizeAccountId, o as normalizeAgentId, p as DEFAULT_ACCOUNT_ID, r as buildAgentMainSessionKey, s as normalizeMainKey, t as DEFAULT_AGENT_ID, u as sanitizeAgentId, x as parseAgentSessionKey, y as isCronSessionKey } from "./session-key-B_ZVH1kE.js";
9
- import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-DueRHNOE.js";
9
+ import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-0MUhiNlM.js";
10
10
  import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-DKyLtSjm.js";
11
- import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentConfig, s as resolveAgentSkillsFilter, w as filterBootstrapFilesForSession } from "./agent-scope-DIjW66iO.js";
11
+ import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentConfig, s as resolveAgentSkillsFilter, w as filterBootstrapFilesForSession } from "./agent-scope-CKTVXF_1.js";
12
12
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BTNK6Tcd.js";
13
13
  import { t as parseBooleanValue } from "./boolean-Wzu0-e0P.js";
14
14
  import { t as isTruthyEnvValue } from "./env-B97Ms861.js";
15
- import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-CAdI9wJ5.js";
16
- import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-DqMsGcSQ.js";
15
+ import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-DUx9ViYy.js";
16
+ import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-e4gtNbYA.js";
17
17
  import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-D_LsBSyt.js";
18
18
  import { a as isPathInsideWithRealpath } from "./legacy-names-Catogrri.js";
19
- import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-C-UeHmuJ.js";
20
- import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-VbDUdW0_.js";
21
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-DFO6o83F.js";
19
+ import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-BkYjPUBB.js";
20
+ import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-CXZZLI1N.js";
21
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-B7dLOKCi.js";
22
22
  import { l as parseFrontmatterBlock } from "./frontmatter-CHu3sfCM.js";
23
- import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-Bmjf5nFv.js";
24
- import { n as getMediaDir, r as saveMediaBuffer } from "./routes-BMShi_eY.js";
23
+ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-DS1Vdylm.js";
24
+ import { n as getMediaDir, r as saveMediaBuffer } from "./routes-DgT1raBC.js";
25
25
  import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-Z-WkF18Q.js";
26
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-Dc6A9_vI.js";
26
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-DaQrPPet.js";
27
27
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CC9kEPCT.js";
28
- import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-C-gIIp7Q.js";
29
- import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields } from "./sessions-Dh88Kqd6.js";
28
+ import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-c7_of0HT.js";
29
+ import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields } from "./sessions-DJ9kN6ZB.js";
30
30
  import { c as normalizeStringEntries, i as resolveChannelGroupRequireMention, l as normalizeStringEntriesLower, n as listChannelDocks, o as normalizeAtHashSlug, r as resolveChannelGroupPolicy, s as normalizeHyphenSlug, t as getChannelDock } from "./dock-CnGWTXL4.js";
31
31
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-C_V8IAYx.js";
32
32
  import { t as normalizeChatType } from "./chat-type-B7XD_ESN.js";
33
33
  import { n as resolveConversationLabel } from "./conversation-label-CS5Zjc4w.js";
34
34
  import { a as resolveSlackAccount, c as resolveSlackBotToken, n as listChannelPlugins, r as normalizeChannelId$1, s as resolveSlackAppToken, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
35
- import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-DSK6O8SC.js";
35
+ import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-9PcWD4fG.js";
36
36
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CJcw9nbZ.js";
37
37
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-DsLesw6T.js";
38
38
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-Ch7wLX-j.js";
39
39
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-177f26eg.js";
40
40
  import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-BKbemuIk.js";
41
- import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-RwovDEDy.js";
41
+ import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-CxOAv44C.js";
42
42
  import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-CwF3MnBL.js";
43
43
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-I4x9gPY4.js";
44
- import { t as ensureSymiModelsJson } from "./models-config-Unnduxgs.js";
45
- import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-SHGGQzOL.js";
44
+ import { t as ensureSymiModelsJson } from "./models-config-B-YxzPLd.js";
45
+ import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-CVwNh4rb.js";
46
46
  import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary } from "./session-cost-usage-DYcv40ss.js";
47
- import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-CgGDr4eh.js";
48
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-BE7lxhxW.js";
49
- import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BOdARKaY.js";
50
- import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-kIYeV9aO.js";
51
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-DOiW-Koo.js";
52
- import { f as runTasksWithConcurrency } from "./internal-CHnZdvRy.js";
47
+ import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-0LAFVJl4.js";
48
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-DNA2hy4y.js";
49
+ import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DZQBodKF.js";
50
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-DC-qFwtN.js";
51
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-ByEbqe6-.js";
52
+ import { f as runTasksWithConcurrency } from "./internal-C3o_xyzP.js";
53
53
  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-DQGU0F8t.js";
54
54
  import { n as resolveMarkdownTableMode } from "./markdown-tables-GTLvbzuR.js";
55
55
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CgmRK282.js";
56
56
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DG6T0ZdL.js";
57
- import { n as getDefaultMediaLocalRoots } from "./local-roots-BnDnugq3.js";
57
+ import { n as getDefaultMediaLocalRoots } from "./local-roots-CUKhHNCV.js";
58
58
  import { i as resolveNativeSkillsEnabled, n as isRestartEnabled, r as resolveNativeCommandsEnabled, t as isCommandFlagEnabled } from "./commands-B3UrgxIz.js";
59
- import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-BNCcZy2y.js";
60
- import { Rt as SESSION_LABEL_MAX_LENGTH } from "./client-qjXXRKCO.js";
61
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-BPJn2_th.js";
59
+ import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-CLePPNDW.js";
60
+ import { zt as SESSION_LABEL_MAX_LENGTH } from "./client-lkWaEu6S.js";
61
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-8H645eSK.js";
62
62
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-Dr6VaTg5.js";
63
63
  import { n as formatTimeAgo } from "./format-relative-Vm-Tqk0h.js";
64
64
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DqAyGDbE.js";
65
- import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-CqwR3Zvp.js";
65
+ import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-BDSyRdyX.js";
66
66
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DdkUSfiI.js";
67
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-CaGfL-2g.js";
68
- import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-5QB5E8bv.js";
69
- import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-BGf29nPx.js";
67
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-Bfu_yBpI.js";
68
+ import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-RbglvrSW.js";
69
+ import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-S9CXOhSG.js";
70
70
  import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExecApprovals, f as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval, y as buildSafeBinsShellCommand } from "./exec-approvals-CZOc8M5w.js";
71
- import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-JELuBMBi.js";
71
+ import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-CT94yu_w.js";
72
72
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-dNgkVIEe.js";
73
73
  import { t as formatDurationCompact$1 } from "./format-duration-DbZRICyO.js";
74
74
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-2_Os41y-.js";
75
75
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-Ca9K30TH.js";
76
76
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-DsZw7bas.js";
77
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-Fn3d9AlH.js";
77
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-D3Iaavrm.js";
78
78
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BhvnarfO.js";
79
79
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BvIcXQLj.js";
80
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CRWE36h5.js";
80
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BbUl3Hi7.js";
81
81
  import { t as parseTimeoutMs } from "./parse-timeout-CpgyC-LD.js";
82
- import { n as registerMemoryCli } from "./memory-cli-DkD_OD70.js";
83
- import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-B2O2eRh6.js";
84
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-Dyx3nBmp.js";
85
- import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-BRcKPW49.js";
82
+ import { n as registerMemoryCli } from "./memory-cli-DDXHC4Oc.js";
83
+ import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-BLmn6tJz.js";
84
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-B0lPjw5N.js";
85
+ import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-CbRy_3xW.js";
86
86
  import { createRequire } from "node:module";
87
87
  import process$1 from "node:process";
88
88
  import { fileURLToPath } from "node:url";
@@ -91,7 +91,7 @@ import path from "node:path";
91
91
  import fs, { constants, existsSync, statSync } from "node:fs";
92
92
  import os, { homedir } from "node:os";
93
93
  import JSON5 from "json5";
94
- import fs$1 from "node:fs/promises";
94
+ import fsPromises from "node:fs/promises";
95
95
  import { execFileSync, spawn, spawnSync } from "node:child_process";
96
96
  import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
97
97
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
@@ -1841,7 +1841,7 @@ async function imageResult(params) {
1841
1841
  }, params.label, params.imageSanitization);
1842
1842
  }
1843
1843
  async function imageResultFromFile(params) {
1844
- const buf = await fs$1.readFile(params.path);
1844
+ const buf = await fsPromises.readFile(params.path);
1845
1845
  const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
1846
1846
  return await imageResult({
1847
1847
  label: params.label,
@@ -5801,7 +5801,7 @@ async function routeReply(params) {
5801
5801
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
5802
5802
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
5803
5803
  try {
5804
- const { deliverOutboundPayloads } = await import("./deliver-RwovDEDy.js").then((n) => n.n);
5804
+ const { deliverOutboundPayloads } = await import("./deliver-CxOAv44C.js").then((n) => n.n);
5805
5805
  return {
5806
5806
  ok: true,
5807
5807
  messageId: (await deliverOutboundPayloads({
@@ -11641,7 +11641,7 @@ var MediaAttachmentCache = class {
11641
11641
  const size = await this.ensureLocalStat(entry);
11642
11642
  if (entry.resolvedPath) {
11643
11643
  if (size !== void 0 && size > params.maxBytes) throw new MediaUnderstandingSkipError("maxBytes", `Attachment ${params.attachmentIndex + 1} exceeds maxBytes ${params.maxBytes}`);
11644
- const buffer = await fs$1.readFile(entry.resolvedPath);
11644
+ const buffer = await fsPromises.readFile(entry.resolvedPath);
11645
11645
  entry.buffer = buffer;
11646
11646
  entry.bufferMime = entry.bufferMime ?? entry.attachment.mime ?? await detectMime({
11647
11647
  buffer,
@@ -11711,10 +11711,10 @@ var MediaAttachmentCache = class {
11711
11711
  prefix: "symi-media",
11712
11712
  extension: path.extname(bufferResult.fileName || "") || ""
11713
11713
  });
11714
- await fs$1.writeFile(tmpPath, bufferResult.buffer);
11714
+ await fsPromises.writeFile(tmpPath, bufferResult.buffer);
11715
11715
  entry.tempPath = tmpPath;
11716
11716
  entry.tempCleanup = async () => {
11717
- await fs$1.unlink(tmpPath).catch(() => {});
11717
+ await fsPromises.unlink(tmpPath).catch(() => {});
11718
11718
  };
11719
11719
  return {
11720
11720
  path: tmpPath,
@@ -11761,12 +11761,12 @@ var MediaAttachmentCache = class {
11761
11761
  if (entry.statSize !== void 0) return entry.statSize;
11762
11762
  try {
11763
11763
  const currentPath = entry.resolvedPath;
11764
- const stat = await fs$1.stat(currentPath);
11764
+ const stat = await fsPromises.stat(currentPath);
11765
11765
  if (!stat.isFile()) {
11766
11766
  entry.resolvedPath = void 0;
11767
11767
  return;
11768
11768
  }
11769
- const canonicalPath = await fs$1.realpath(currentPath).catch(() => currentPath);
11769
+ const canonicalPath = await fsPromises.realpath(currentPath).catch(() => currentPath);
11770
11770
  if (!isInboundPathAllowed({
11771
11771
  filePath: canonicalPath,
11772
11772
  roots: await this.getCanonicalLocalPathRoots()
@@ -11788,7 +11788,7 @@ var MediaAttachmentCache = class {
11788
11788
  if (this.canonicalLocalPathRoots) return await this.canonicalLocalPathRoots;
11789
11789
  this.canonicalLocalPathRoots = (async () => mergeInboundPathRoots(this.localPathRoots, await Promise.all(this.localPathRoots.map(async (root) => {
11790
11790
  if (root.includes("*")) return root;
11791
- return await fs$1.realpath(root).catch(() => root);
11791
+ return await fsPromises.realpath(root).catch(() => root);
11792
11792
  }))))();
11793
11793
  return await this.canonicalLocalPathRoots;
11794
11794
  }
@@ -11859,7 +11859,7 @@ function formatAudioTranscripts(outputs) {
11859
11859
  async function fileExists(filePath) {
11860
11860
  if (!filePath) return false;
11861
11861
  try {
11862
- await fs$1.stat(filePath);
11862
+ await fsPromises.stat(filePath);
11863
11863
  return true;
11864
11864
  } catch {
11865
11865
  return false;
@@ -11959,7 +11959,7 @@ async function resolveCliOutput(params) {
11959
11959
  const commandId = commandBase(params.command);
11960
11960
  const fileOutput = commandId === "whisper-cli" ? resolveWhisperCppOutputPath(params.args) : commandId === "whisper" ? resolveWhisperOutputPath(params.args, params.mediaPath) : null;
11961
11961
  if (fileOutput && await fileExists(fileOutput)) try {
11962
- const content = await fs$1.readFile(fileOutput, "utf8");
11962
+ const content = await fsPromises.readFile(fileOutput, "utf8");
11963
11963
  if (content.trim()) return content.trim();
11964
11964
  } catch {}
11965
11965
  if (commandId === "gemini") {
@@ -12250,7 +12250,7 @@ async function runCliEntry(params) {
12250
12250
  maxBytes,
12251
12251
  timeoutMs
12252
12252
  });
12253
- const outputDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
12253
+ const outputDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
12254
12254
  const mediaPath = pathResult.path;
12255
12255
  const outputBase = path.join(outputDir, path.parse(mediaPath).name);
12256
12256
  const templCtx = {
@@ -12284,7 +12284,7 @@ async function runCliEntry(params) {
12284
12284
  model: command
12285
12285
  };
12286
12286
  } finally {
12287
- await fs$1.rm(outputDir, {
12287
+ await fsPromises.rm(outputDir, {
12288
12288
  recursive: true,
12289
12289
  force: true
12290
12290
  }).catch(() => {});
@@ -12328,9 +12328,9 @@ function candidateBinaryNames(name) {
12328
12328
  }
12329
12329
  async function isExecutable$1(filePath) {
12330
12330
  try {
12331
- if (!(await fs$1.stat(filePath)).isFile()) return false;
12331
+ if (!(await fsPromises.stat(filePath)).isFile()) return false;
12332
12332
  if (process.platform === "win32") return true;
12333
- await fs$1.access(filePath, constants.X_OK);
12333
+ await fsPromises.access(filePath, constants.X_OK);
12334
12334
  return true;
12335
12335
  } catch {
12336
12336
  return false;
@@ -14034,7 +14034,7 @@ async function createModelSelectionState(params) {
14034
14034
  }
14035
14035
  }
14036
14036
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
14037
- const { ensureAuthProfileStore } = await import("./auth-profiles-BFSVvFKy.js").then((n) => n.t);
14037
+ const { ensureAuthProfileStore } = await import("./auth-profiles-BDvJK1Bg.js").then((n) => n.t);
14038
14038
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
14039
14039
  const providerKey = normalizeProviderId(provider);
14040
14040
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -17178,7 +17178,7 @@ async function resolveSandboxWorkdir(params) {
17178
17178
  cwd: process.cwd(),
17179
17179
  root: params.sandbox.workspaceDir
17180
17180
  });
17181
- if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
17181
+ if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
17182
17182
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
17183
17183
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
17184
17184
  return {
@@ -18192,13 +18192,13 @@ async function validateScriptFileForShellBleed(params) {
18192
18192
  cwd: params.workdir,
18193
18193
  root: params.workdir
18194
18194
  });
18195
- stat = await fs$1.stat(absPath);
18195
+ stat = await fsPromises.stat(absPath);
18196
18196
  } catch {
18197
18197
  return;
18198
18198
  }
18199
18199
  if (!stat.isFile()) return;
18200
18200
  if (stat.size > 512 * 1024) return;
18201
- const content = await fs$1.readFile(absPath, "utf-8");
18201
+ const content = await fsPromises.readFile(absPath, "utf-8");
18202
18202
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
18203
18203
  if (first) {
18204
18204
  const idx = first.index;
@@ -22874,7 +22874,7 @@ async function handleCommands(params) {
22874
22874
  try {
22875
22875
  const messages = [];
22876
22876
  if (sessionFile) {
22877
- const content = await fs$1.readFile(sessionFile, "utf-8");
22877
+ const content = await fsPromises.readFile(sessionFile, "utf-8");
22878
22878
  for (const line of content.split("\n")) {
22879
22879
  if (!line.trim()) continue;
22880
22880
  try {
@@ -25061,7 +25061,7 @@ async function readJsonlFromPath(jsonlPath) {
25061
25061
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
25062
25062
  throw new Error("jsonlPath outside allowed roots");
25063
25063
  }
25064
- const canonical = await fs$1.realpath(resolved).catch(() => resolved);
25064
+ const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
25065
25065
  if (!isInboundPathAllowed({
25066
25066
  filePath: canonical,
25067
25067
  roots
@@ -25069,7 +25069,7 @@ async function readJsonlFromPath(jsonlPath) {
25069
25069
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
25070
25070
  throw new Error("jsonlPath outside allowed roots");
25071
25071
  }
25072
- return await fs$1.readFile(canonical, "utf8");
25072
+ return await fsPromises.readFile(canonical, "utf8");
25073
25073
  }
25074
25074
  const CanvasToolSchema = Type.Object({
25075
25075
  action: stringEnum(CANVAS_ACTIONS),
@@ -26600,7 +26600,7 @@ async function hydrateAttachmentPayload(params) {
26600
26600
  accountId: params.accountId
26601
26601
  }),
26602
26602
  sandboxValidated: true,
26603
- readFile: (filePath) => fs$1.readFile(filePath)
26603
+ readFile: (filePath) => fsPromises.readFile(filePath)
26604
26604
  });
26605
26605
  params.args.buffer = media.buffer.toString("base64");
26606
26606
  if (!contentTypeParam && media.contentType) params.args.contentType = media.contentType;
@@ -33094,7 +33094,7 @@ async function deliverSessionMaintenanceWarning(params) {
33094
33094
  return;
33095
33095
  }
33096
33096
  try {
33097
- const { deliverOutboundPayloads } = await import("./deliver-RwovDEDy.js").then((n) => n.n);
33097
+ const { deliverOutboundPayloads } = await import("./deliver-CxOAv44C.js").then((n) => n.n);
33098
33098
  await deliverOutboundPayloads({
33099
33099
  cfg: params.cfg,
33100
33100
  channel,
@@ -33499,7 +33499,7 @@ async function stageSandboxMedia(params) {
33499
33499
  };
33500
33500
  try {
33501
33501
  const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
33502
- await fs$1.mkdir(destDir, { recursive: true });
33502
+ await fsPromises.mkdir(destDir, { recursive: true });
33503
33503
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
33504
33504
  cfg,
33505
33505
  accountId: ctx.AccountId
@@ -33549,7 +33549,7 @@ async function stageSandboxMedia(params) {
33549
33549
  usedNames.add(fileName);
33550
33550
  const dest = path.join(destDir, fileName);
33551
33551
  if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
33552
- else await fs$1.copyFile(source, dest);
33552
+ else await fsPromises.copyFile(source, dest);
33553
33553
  const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
33554
33554
  staged.set(source, stagedPath);
33555
33555
  }
@@ -38860,7 +38860,7 @@ function readSlackExternalArgMenuToken(raw) {
38860
38860
  }
38861
38861
  let commandsRegistry;
38862
38862
  async function getCommandsRegistry() {
38863
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BNCcZy2y.js").then((n) => n.t);
38863
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CLePPNDW.js").then((n) => n.t);
38864
38864
  return commandsRegistry;
38865
38865
  }
38866
38866
  function encodeSlackCommandArgValue(parts) {
@@ -39202,11 +39202,11 @@ async function registerSlackMonitorSlashCommands(params) {
39202
39202
  const channelName = channelInfo?.name;
39203
39203
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
39204
39204
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
39205
- import("./resolve-route-CRWE36h5.js").then((n) => n.r),
39205
+ import("./resolve-route-BbUl3Hi7.js").then((n) => n.r),
39206
39206
  import("./inbound-context-DqAyGDbE.js").then((n) => n.n),
39207
39207
  Promise.resolve().then(() => provider_dispatcher_exports)
39208
39208
  ]);
39209
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CS5Zjc4w.js").then((n) => n.t), import("./reply-prefix-BOdARKaY.js").then((n) => n.n)]);
39209
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CS5Zjc4w.js").then((n) => n.t), import("./reply-prefix-DZQBodKF.js").then((n) => n.n)]);
39210
39210
  const route = resolveAgentRoute({
39211
39211
  cfg,
39212
39212
  channel: "slack",
@@ -39263,7 +39263,7 @@ async function registerSlackMonitorSlashCommands(params) {
39263
39263
  });
39264
39264
  const deliverSlashPayloads = async (replies) => {
39265
39265
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
39266
- import("./replies-B2O2eRh6.js").then((n) => n.r),
39266
+ import("./replies-BLmn6tJz.js").then((n) => n.r),
39267
39267
  import("./chunk-DQGU0F8t.js").then((n) => n.s),
39268
39268
  import("./markdown-tables-GTLvbzuR.js").then((n) => n.t)
39269
39269
  ]);
@@ -39318,7 +39318,7 @@ async function registerSlackMonitorSlashCommands(params) {
39318
39318
  let nativeCommands = [];
39319
39319
  if (nativeEnabled) {
39320
39320
  reg = await getCommandsRegistry();
39321
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-5QB5E8bv.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
39321
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-RbglvrSW.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
39322
39322
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
39323
39323
  skillCommands,
39324
39324
  provider: "slack"
@@ -40451,7 +40451,7 @@ function resolvePluginTools(params) {
40451
40451
  //#endregion
40452
40452
  //#region src/agents/apply-patch-update.ts
40453
40453
  async function defaultReadFile(filePath) {
40454
- return fs$1.readFile(filePath, "utf8");
40454
+ return fsPromises.readFile(filePath, "utf8");
40455
40455
  }
40456
40456
  async function applyUpdateHunk(filePath, chunks, options) {
40457
40457
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -40695,10 +40695,10 @@ function resolvePatchFileOps(options) {
40695
40695
  };
40696
40696
  }
40697
40697
  return {
40698
- readFile: (filePath) => fs$1.readFile(filePath, "utf8"),
40699
- writeFile: (filePath, content) => fs$1.writeFile(filePath, content, "utf8"),
40700
- remove: (filePath) => fs$1.rm(filePath),
40701
- mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
40698
+ readFile: (filePath) => fsPromises.readFile(filePath, "utf8"),
40699
+ writeFile: (filePath, content) => fsPromises.writeFile(filePath, content, "utf8"),
40700
+ remove: (filePath) => fsPromises.rm(filePath),
40701
+ mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
40702
40702
  };
40703
40703
  }
40704
40704
  async function ensureDir(filePath, ops) {
@@ -41865,7 +41865,7 @@ async function repairSessionFileIfNeeded(params) {
41865
41865
  };
41866
41866
  let content;
41867
41867
  try {
41868
- content = await fs$1.readFile(sessionFile, "utf-8");
41868
+ content = await fsPromises.readFile(sessionFile, "utf-8");
41869
41869
  } catch (err) {
41870
41870
  if (err?.code === "ENOENT") return {
41871
41871
  repaired: false,
@@ -41913,15 +41913,15 @@ async function repairSessionFileIfNeeded(params) {
41913
41913
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
41914
41914
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
41915
41915
  try {
41916
- const stat = await fs$1.stat(sessionFile).catch(() => null);
41917
- await fs$1.writeFile(backupPath, content, "utf-8");
41918
- if (stat) await fs$1.chmod(backupPath, stat.mode);
41919
- await fs$1.writeFile(tmpPath, cleaned, "utf-8");
41920
- if (stat) await fs$1.chmod(tmpPath, stat.mode);
41921
- await fs$1.rename(tmpPath, sessionFile);
41916
+ const stat = await fsPromises.stat(sessionFile).catch(() => null);
41917
+ await fsPromises.writeFile(backupPath, content, "utf-8");
41918
+ if (stat) await fsPromises.chmod(backupPath, stat.mode);
41919
+ await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
41920
+ if (stat) await fsPromises.chmod(tmpPath, stat.mode);
41921
+ await fsPromises.rename(tmpPath, sessionFile);
41922
41922
  } catch (err) {
41923
41923
  try {
41924
- await fs$1.unlink(tmpPath);
41924
+ await fsPromises.unlink(tmpPath);
41925
41925
  } catch (cleanupErr) {
41926
41926
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
41927
41927
  }
@@ -43194,7 +43194,7 @@ async function prewarmSessionFile(sessionFile) {
43194
43194
  if (!isSessionManagerCacheEnabled()) return;
43195
43195
  if (isSessionManagerCached(sessionFile)) return;
43196
43196
  try {
43197
- const handle = await fs$1.open(sessionFile, "r");
43197
+ const handle = await fsPromises.open(sessionFile, "r");
43198
43198
  try {
43199
43199
  const buffer = Buffer$1.alloc(4096);
43200
43200
  await handle.read(buffer, 0, buffer.length, 0);
@@ -43334,7 +43334,7 @@ async function compactEmbeddedPiSessionDirect(params) {
43334
43334
  } catch (err) {
43335
43335
  return fail(describeUnknownError(err));
43336
43336
  }
43337
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
43337
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
43338
43338
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
43339
43339
  const sandbox = await resolveSandboxContext({
43340
43340
  config: params.config,
@@ -43342,7 +43342,7 @@ async function compactEmbeddedPiSessionDirect(params) {
43342
43342
  workspaceDir: resolvedWorkspace
43343
43343
  });
43344
43344
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
43345
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
43345
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
43346
43346
  await ensureSessionHeader({
43347
43347
  sessionFile: params.sessionFile,
43348
43348
  sessionId: params.sessionId,
@@ -43667,12 +43667,12 @@ function getQueuedFileWriter(writers, filePath) {
43667
43667
  const existing = writers.get(filePath);
43668
43668
  if (existing) return existing;
43669
43669
  const dir = path.dirname(filePath);
43670
- const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
43670
+ const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
43671
43671
  let queue = Promise.resolve();
43672
43672
  const writer = {
43673
43673
  filePath,
43674
43674
  write: (line) => {
43675
- queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
43675
+ queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
43676
43676
  }
43677
43677
  };
43678
43678
  writers.set(filePath, writer);
@@ -46852,7 +46852,7 @@ Use the message tool with buttons:
46852
46852
  */
46853
46853
  async function readSessionFile(sessionFile) {
46854
46854
  try {
46855
- return await fs$1.readFile(sessionFile, "utf-8");
46855
+ return await fsPromises.readFile(sessionFile, "utf-8");
46856
46856
  } catch {
46857
46857
  return null;
46858
46858
  }
@@ -46861,8 +46861,8 @@ async function writeAtomically(sessionFile, text) {
46861
46861
  const dir = path.dirname(sessionFile);
46862
46862
  const base = path.basename(sessionFile);
46863
46863
  const tmp = path.join(dir, `.${base}.prune-${process.pid}-${Date.now()}.tmp`);
46864
- await fs$1.writeFile(tmp, text, "utf-8");
46865
- await fs$1.rename(tmp, sessionFile);
46864
+ await fsPromises.writeFile(tmp, text, "utf-8");
46865
+ await fsPromises.rename(tmp, sessionFile);
46866
46866
  }
46867
46867
  /**
46868
46868
  * Remove empty assistant JSONL entries from the session file.
@@ -46964,7 +46964,7 @@ function isInPoisonRange(version) {
46964
46964
  */
46965
46965
  async function checkSessionPoison(sessionFile) {
46966
46966
  try {
46967
- const firstLine = (await fs$1.readFile(sessionFile, "utf-8")).split("\n")[0];
46967
+ const firstLine = (await fsPromises.readFile(sessionFile, "utf-8")).split("\n")[0];
46968
46968
  if (!firstLine) return null;
46969
46969
  const header = JSON.parse(firstLine);
46970
46970
  if (header.type !== "session") return null;
@@ -46982,7 +46982,7 @@ async function checkSessionPoison(sessionFile) {
46982
46982
  */
46983
46983
  async function archivePoisonedSession(sessionFile) {
46984
46984
  const archiveName = `${sessionFile}.archived-poison.${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}`;
46985
- await fs$1.rename(sessionFile, archiveName);
46985
+ await fsPromises.rename(sessionFile, archiveName);
46986
46986
  return archiveName;
46987
46987
  }
46988
46988
  /**
@@ -46991,14 +46991,14 @@ async function archivePoisonedSession(sessionFile) {
46991
46991
  */
46992
46992
  async function stampSessionVersion(sessionFile) {
46993
46993
  try {
46994
- const lines = (await fs$1.readFile(sessionFile, "utf-8")).split("\n");
46994
+ const lines = (await fsPromises.readFile(sessionFile, "utf-8")).split("\n");
46995
46995
  if (lines.length === 0) return;
46996
46996
  const header = JSON.parse(lines[0]);
46997
46997
  if (header.type !== "session") return;
46998
46998
  if (header.symiVersion === VERSION) return;
46999
46999
  header.symiVersion = VERSION;
47000
47000
  lines[0] = JSON.stringify(header);
47001
- await fs$1.writeFile(sessionFile, lines.join("\n"), "utf-8");
47001
+ await fsPromises.writeFile(sessionFile, lines.join("\n"), "utf-8");
47002
47002
  } catch {}
47003
47003
  }
47004
47004
  /**
@@ -47227,7 +47227,7 @@ async function prepareSessionManagerForRun(params) {
47227
47227
  return;
47228
47228
  }
47229
47229
  if (params.hadSessionFile && header && !hasAssistant) {
47230
- await fs$1.writeFile(params.sessionFile, "", "utf-8");
47230
+ await fsPromises.writeFile(params.sessionFile, "", "utf-8");
47231
47231
  sm.fileEntries = [header];
47232
47232
  sm.byId?.clear?.();
47233
47233
  sm.labelsById?.clear?.();
@@ -47785,7 +47785,7 @@ async function runEmbeddedAttempt(params) {
47785
47785
  const prevCwd = process.cwd();
47786
47786
  const runAbortController = new AbortController();
47787
47787
  log$7.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
47788
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
47788
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
47789
47789
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
47790
47790
  const sandbox = await resolveSandboxContext({
47791
47791
  config: params.config,
@@ -47793,7 +47793,7 @@ async function runEmbeddedAttempt(params) {
47793
47793
  workspaceDir: resolvedWorkspace
47794
47794
  });
47795
47795
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
47796
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
47796
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
47797
47797
  let restoreSkillEnv;
47798
47798
  process.chdir(effectiveWorkspace);
47799
47799
  try {
@@ -48002,7 +48002,7 @@ async function runEmbeddedAttempt(params) {
48002
48002
  sessionFile: params.sessionFile,
48003
48003
  warn: (message) => log$7.warn(message)
48004
48004
  });
48005
- const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
48005
+ const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
48006
48006
  const transcriptPolicy = resolveTranscriptPolicy({
48007
48007
  modelApi: params.model?.api,
48008
48008
  provider: params.provider,
@@ -49094,7 +49094,7 @@ async function runEmbeddedPiAgent(params) {
49094
49094
  }
49095
49095
  runLoopIterations += 1;
49096
49096
  attemptedThinking.add(thinkLevel);
49097
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
49097
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
49098
49098
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
49099
49099
  const attempt = await runEmbeddedAttempt({
49100
49100
  sessionId: params.sessionId,