@symerian/symi 3.3.1 → 3.3.3

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 (257) hide show
  1. package/dist/{agent-BI1-UXxQ.js → agent-9zPi5Bip.js} +2 -5
  2. package/dist/{agent-DeLysRUa.js → agent-M9EC02CI.js} +17 -20
  3. package/dist/{agent-scope-BjEBQhs0.js → agent-scope-B_oqIiaD.js} +18 -18
  4. package/dist/{agent-scope-DE5eEsvh.js → agent-scope-D_MtsuXX.js} +2 -2
  5. package/dist/{agents-BMRZpxNt.js → agents-CW9uf_n0.js} +2 -2
  6. package/dist/{agents.config-BFKM-a83.js → agents.config-B_LFeRQS.js} +1 -1
  7. package/dist/{audit-DQ_p2Pbq.js → audit-B_HL4UJ_.js} +20 -20
  8. package/dist/{auth-choice-BGZsmh6a.js → auth-choice-Bio1-QUP.js} +8 -8
  9. package/dist/{auth-choice-T77Ymi34.js → auth-choice-DS5oaUTz.js} +1 -1
  10. package/dist/{auth-profiles-BVtpxYtY.js → auth-profiles-CPlXilKu.js} +9 -9
  11. package/dist/{auth-profiles-B6ISm3Th.js → auth-profiles-duUuQXeC.js} +3 -3
  12. package/dist/{auth-token-CPluo60n.js → auth-token-DTj2WrbV.js} +1 -1
  13. package/dist/{banner-BJHky-bq.js → banner-0vT1O9w2.js} +1 -1
  14. package/dist/{browser-cli-O7Ic8DI3.js → browser-cli-C-Q0t9y_.js} +9 -9
  15. package/dist/build-info.json +3 -3
  16. package/dist/bundled/boot-md/handler.js +29 -32
  17. package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
  18. package/dist/bundled/session-memory/handler.js +28 -28
  19. package/dist/{call-CdXXPXpo.js → call-Du4CT1Hp.js} +9 -9
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-options-BrDTgiiV.js → channel-options-CcGtiy0Q.js} +1 -1
  22. package/dist/{channel-options-C1yi5h7A.js → channel-options-DZ17japQ.js} +1 -1
  23. package/dist/{channels-cli-BYeGzy-G.js → channels-cli-BSvEpjOV.js} +10 -10
  24. package/dist/{channels-cli-Pxe1OINS.js → channels-cli-DxSXTCCh.js} +55 -55
  25. package/dist/{chrome-FAf5DZL2.js → chrome-C9mX2mtt.js} +3 -3
  26. package/dist/{chrome-NUKborg3.js → chrome-owBWinlj.js} +2 -2
  27. package/dist/{chunk-DX6VtywY.js → chunk-5H33X8qU.js} +1 -1
  28. package/dist/{cli-Dt-wfm_7.js → cli-CHk4wR-F.js} +7 -7
  29. package/dist/{cli-DFNOC2Ad.js → cli-Dn9ylBb2.js} +43 -43
  30. package/dist/{client-Bs2zB0rY.js → client-ZZqt0H0-.js} +1 -1
  31. package/dist/{command-registry-BwbT4ll7.js → command-registry-UxY6jjeo.js} +10 -10
  32. package/dist/{commands-registry-C5IdtVVy.js → commands-registry-DaPrWQSe.js} +4 -4
  33. package/dist/{commands-registry-DYk02tmt.js → commands-registry-W2GQIywv.js} +1 -1
  34. package/dist/{completion-cli-DiNUqrNY.js → completion-cli-DebZ6nSb.js} +12 -12
  35. package/dist/{completion-cli-CyOSA5xZ.js → completion-cli-m9L2Gv9t.js} +2 -2
  36. package/dist/{config-CW8aDVM0.js → config-CphS_6eg.js} +2 -2
  37. package/dist/{config-cli-DBU_S417.js → config-cli-D4_gO3Pd.js} +4 -4
  38. package/dist/{config-cli-DfG0nukz.js → config-cli-D9YdRiN2.js} +1 -1
  39. package/dist/{config-guard-CNmD3-IC.js → config-guard-B5BwQ-AP.js} +6 -6
  40. package/dist/{config-validation-Bz5CV181.js → config-validation-A2rXGvVY.js} +1 -1
  41. package/dist/{configure-BkH4ueot.js → configure-BXjJQG1p.js} +14 -14
  42. package/dist/{configure-BYu2DI_6.js → configure-D9NeIMjP.js} +2 -2
  43. package/dist/{consolidate-Cx7qF5Ht.js → consolidate-7Usm-b2g.js} +6 -6
  44. package/dist/{consolidate-dh1m3X1s.js → consolidate-C-HKdAJo.js} +2 -2
  45. package/dist/{control-service-Drd2sr2o.js → control-service-CMVDL3Yl.js} +4 -4
  46. package/dist/{control-ui-assets-D22DSxhv.js → control-ui-assets-DUhvOLUL.js} +1 -1
  47. package/dist/{cron-cli-BTAdnRhX.js → cron-cli-DR4W075u.js} +7 -7
  48. package/dist/{daemon-cli-BY9BFNuw.js → daemon-cli-B__05b-d.js} +11 -11
  49. package/dist/{daemon-runtime-BH3ZBZXS.js → daemon-runtime-BD-3XS8R.js} +10 -10
  50. package/dist/{deliver-DZ7ynJYH.js → deliver-63FtOVMC.js} +3 -3
  51. package/dist/{deliver-Dlq2X0K5.js → deliver-DSMNXd9k.js} +1 -1
  52. package/dist/{deliver-kmnOOp9j.js → deliver-DSv-Z24A.js} +16 -16
  53. package/dist/{deliver-CRqS1O8w.js → deliver-DcP6aVt4.js} +1 -1
  54. package/dist/{deps-i1g0Zpz4.js → deps-DD_ZCq3v.js} +1 -1
  55. package/dist/{devices-cli-Cqi6L8PH.js → devices-cli-CJom2K8b.js} +6 -6
  56. package/dist/{diagnostic-CQLyE7_n.js → diagnostic-D7z6O7v0.js} +1 -1
  57. package/dist/{diagnostics-nLP2i_BY.js → diagnostics-DxdqTfpW.js} +5 -5
  58. package/dist/{directory-cli-B0XsBWso.js → directory-cli-BwhEj1FE.js} +3 -3
  59. package/dist/{dm-policy-shared-CnKffdt_.js → dm-policy-shared-C1TQOlkZ.js} +1 -1
  60. package/dist/{dns-cli-BHWlCG31.js → dns-cli-DzQDEQM2.js} +3 -3
  61. package/dist/{docs-cli-DASNErN-.js → docs-cli--T-77Ujn.js} +1 -1
  62. package/dist/{doctor-completion-DqvmZZEo.js → doctor-completion--AgLv0kV.js} +1 -1
  63. package/dist/{doctor-completion-D_cwpDAq.js → doctor-completion-D1ImH_eM.js} +2 -2
  64. package/dist/{doctor-config-flow-BvHSaiFy.js → doctor-config-flow-4UT3396o.js} +9 -9
  65. package/dist/entry.js +1 -1
  66. package/dist/{exec-approvals-cli-CyHTywue.js → exec-approvals-cli-D-MLmhzh.js} +13 -13
  67. package/dist/extensionAPI.js +5 -5
  68. package/dist/{frontmatter-BW7tVmn4.js → frontmatter-BzAaXBfE.js} +2 -2
  69. package/dist/{fs-safe-DjAKGGJ8.js → fs-safe-B6nMaZqV.js} +6 -6
  70. package/dist/{gateway-cli-BBqSqFGV.js → gateway-cli-5KVJJGFm.js} +97 -117
  71. package/dist/{gateway-cli-BYGA5ex3.js → gateway-cli-BjGvnfU3.js} +15 -35
  72. package/dist/{gateway-rpc-BJF1iDnx.js → gateway-rpc-CUIXRk2t.js} +1 -1
  73. package/dist/{glass-ui-ws-NJNiRFL3.js → glass-ui-ws-CwJdwqn6.js} +65 -65
  74. package/dist/{glass-ui-ws-DJnV8nJK.js → glass-ui-ws-f_OPXcN2.js} +11 -11
  75. package/dist/{health-D59E1VfO.js → health-BdxlhiXA.js} +4 -4
  76. package/dist/{hooks-cli-Bidz8ACz.js → hooks-cli-BfVq5C1p.js} +57 -57
  77. package/dist/{hooks-cli-CyjEjDSY.js → hooks-cli-CQ6rF_LQ.js} +8 -8
  78. package/dist/{image-ops-c7_of0HT.js → image-ops-C-gIIp7Q.js} +10 -10
  79. package/dist/index.js +50 -50
  80. package/dist/{inspect-op0Ov-v4.js → inspect-BDzd6yBs.js} +4 -4
  81. package/dist/{install-safe-path-B73BkVO3.js → install-safe-path-CQXx3s9R.js} +11 -11
  82. package/dist/{installs-ZXEjR9Sp.js → installs-CLp95gcX.js} +10 -10
  83. package/dist/{internal-C3o_xyzP.js → internal-CHnZdvRy.js} +9 -9
  84. package/dist/{lifecycle-core-zhQYm_ni.js → lifecycle-core-_BlNODTH.js} +5 -5
  85. package/dist/llm-slug-generator.js +28 -28
  86. package/dist/{local-roots-CTriU02e.js → local-roots-JhQs5w0I.js} +1 -1
  87. package/dist/{local-roots-Dm8-ErgQ.js → local-roots-WWcVq0Ma.js} +3 -3
  88. package/dist/{logs-cli-B7RJ57Dc.js → logs-cli-BEWOyW5R.js} +7 -7
  89. package/dist/{manager-CpBl-VGg.js → manager-BI8o6AGu.js} +1 -1
  90. package/dist/{manager-9dNT9kNF.js → manager-BQ5Wl5r-.js} +14 -14
  91. package/dist/{manager-t4GthPGw.js → manager-BUS2wGkQ.js} +1 -1
  92. package/dist/{manager-Dsdh0rGn.js → manager-D_AVoLu8.js} +6 -6
  93. package/dist/{manifest-registry-B2vClvK5.js → manifest-registry-DsTUFMvZ.js} +1 -1
  94. package/dist/{markdown-tables-BaWa2kOe.js → markdown-tables-ptfgMe6b.js} +1 -1
  95. package/dist/{memory-DcWXMzOH.js → memory-2OKjMT7V.js} +5 -5
  96. package/dist/{memory-B7TJXpqS.js → memory-CMKSFx1T.js} +2 -2
  97. package/dist/{memory-cli-xBZPEOeL.js → memory-cli-CmPcKzGZ.js} +12 -12
  98. package/dist/{memory-cli-C0WA_nRS.js → memory-cli-rdfaJrCS.js} +2 -2
  99. package/dist/{model-BXWgh5eZ.js → model-BKtw-Bqs.js} +1 -1
  100. package/dist/{model-catalog-BGVslwAT.js → model-catalog-DKBhNiWm.js} +4 -4
  101. package/dist/{model-picker-aTfyp_mP.js → model-picker-DKzvan7c.js} +3 -3
  102. package/dist/{models-IfAFy9bK.js → models-DRtgYyTB.js} +2 -2
  103. package/dist/{models-cli-h8h_qu3F.js → models-cli-183sPHZO.js} +53 -53
  104. package/dist/{models-cli-DiB4JqF2.js → models-cli-DN2zTFw9.js} +9 -9
  105. package/dist/{models-config-DRgHv7Ss.js → models-config-CFUwiu4W.js} +7 -7
  106. package/dist/{node-cli-BPkbqgRt.js → node-cli-CgWAxe-K.js} +27 -27
  107. package/dist/{node-service-DuN9eBL6.js → node-service-tPO_yUk7.js} +1 -1
  108. package/dist/{nodes-cli-C09c6nCf.js → nodes-cli-CprJ5K63.js} +10 -10
  109. package/dist/{nodes-screen-CT94yu_w.js → nodes-screen-JELuBMBi.js} +4 -4
  110. package/dist/{npm-registry-spec-B8X06AqB.js → npm-registry-spec-BXw_6vF6.js} +9 -9
  111. package/dist/{onboard-sMgEOBjV.js → onboard-CPHA8CdV.js} +13 -13
  112. package/dist/{onboard-iL7Z0wKJ.js → onboard-bTgNnEHK.js} +1 -1
  113. package/dist/{onboard-channels-Deq8QGnM.js → onboard-channels-B_iyN1qL.js} +4 -4
  114. package/dist/{onboard-channels-BfzW-9vo.js → onboard-channels-D5ugcgBE.js} +1 -1
  115. package/dist/{onboard-custom-DEdRdzNq.js → onboard-custom-Cla8O-Tv.js} +3 -3
  116. package/dist/{onboard-helpers-DZKHFY2J.js → onboard-helpers-D2mWJnFB.js} +8 -8
  117. package/dist/{onboard-hooks-DZZM8goM.js → onboard-hooks-DZD-nGLB.js} +1 -1
  118. package/dist/{onboard-remote-dn4L5WdE.js → onboard-remote-Bi2BNRnh.js} +1 -1
  119. package/dist/{onboard-skills-DGHye9Q3.js → onboard-skills-C0XDXvWw.js} +4 -4
  120. package/dist/{onboarding-BjXYbWlg.js → onboarding-D2SLzcWH.js} +12 -12
  121. package/dist/{onboarding-70YKbZi6.js → onboarding-ii3ok0Ih.js} +3 -3
  122. package/dist/{onboarding.finalize-dU_CtL43.js → onboarding.finalize-DOHv_Xe8.js} +31 -31
  123. package/dist/{onboarding.finalize-Ch3V08eY.js → onboarding.finalize-g-_d-wVY.js} +4 -4
  124. package/dist/{onboarding.gateway-config-DfF8Rxvn.js → onboarding.gateway-config-BmaAH8uo.js} +8 -8
  125. package/dist/{openai-model-default-D1NFHFF_.js → openai-model-default-BeRT9S75.js} +2 -2
  126. package/dist/{pairing-cli-CJv8LQfb.js → pairing-cli-DdtW6Nu-.js} +4 -4
  127. package/dist/{pairing-store-CxT0UGxd.js → pairing-store-mmeniyUt.js} +1 -1
  128. package/dist/{pairing-token-DorpwP8O.js → pairing-token-CURbSHdi.js} +7 -7
  129. package/dist/{paths-DaQrPPet.js → paths-Dc6A9_vI.js} +1 -1
  130. package/dist/{pi-auth-json-DGZH6URT.js → pi-auth-json-1Z1j1PDI.js} +5 -5
  131. package/dist/{pi-auth-json-BzuhVcKu.js → pi-auth-json-D4Bl4hBw.js} +1 -1
  132. package/dist/{pi-embedded-DOCVZrmx.js → pi-embedded-CvGL6bij.js} +39 -212
  133. package/dist/{pi-embedded-helpers-Be-EeyzH.js → pi-embedded-helpers-BRM8EM4P.js} +6 -6
  134. package/dist/{pi-tools.policy-qwS9SXOa.js → pi-tools.policy-BBHbN8Nh.js} +3 -3
  135. package/dist/{plugin-auto-enable-zDUaiaf2.js → plugin-auto-enable-BCwyDNSP.js} +1 -1
  136. package/dist/{plugin-registry-BgGVB3kW.js → plugin-registry-DSG-0min.js} +3 -3
  137. package/dist/{plugin-registry-CP2mbhwk.js → plugin-registry-Dl3HqI5J.js} +1 -1
  138. package/dist/plugin-sdk/agents/{symipulse-timeout.d.ts → idle-timeout.d.ts} +3 -3
  139. package/dist/plugin-sdk/agents/pi-embedded-runner/system-prompt.d.ts +0 -2
  140. package/dist/plugin-sdk/agents/system-prompt.d.ts +1 -2
  141. package/dist/plugin-sdk/auto-reply/reply/middleware-transcript-update.d.ts +1 -8
  142. package/dist/plugin-sdk/auto-reply/reply/normalize-reply.d.ts +1 -3
  143. package/dist/plugin-sdk/auto-reply/reply/reply-dispatcher.d.ts +0 -1
  144. package/dist/plugin-sdk/auto-reply/tokens.d.ts +0 -3
  145. package/dist/plugin-sdk/gateway/outbound-filter.d.ts +2 -4
  146. package/dist/{plugins-yymezpEd.js → plugins-CcVzjOo_.js} +1 -1
  147. package/dist/{plugins-cli-1wkCRsFe.js → plugins-cli-CEj-qNus.js} +8 -8
  148. package/dist/{plugins-cli-B_Gtx3LU.js → plugins-cli-CUTyMzoz.js} +52 -52
  149. package/dist/{ports-ChuJYhEL.js → ports-DRHSHvqY.js} +1 -1
  150. package/dist/{ports-EAVAOFyK.js → ports-DqxP-bXz.js} +2 -2
  151. package/dist/{program-UyCr49qs.js → program-CjZ65fN4.js} +13 -13
  152. package/dist/{program-context-C7uCS8z7.js → program-context-GaV454D6.js} +38 -38
  153. package/dist/{prompt-select-styled-DcMra8CK.js → prompt-select-styled-BkowcFQR.js} +36 -36
  154. package/dist/{prompt-select-styled-BRcRFLzB.js → prompt-select-styled-CwXc8EFB.js} +4 -4
  155. package/dist/{provider-auth-helpers-Xn1TAPPY.js → provider-auth-helpers-Bo1_RSEb.js} +5 -5
  156. package/dist/{provider-auth-helpers-BJTb9xI0.js → provider-auth-helpers-CRobCJR_.js} +1 -1
  157. package/dist/{push-apns-Aaqf9WKI.js → push-apns-BBym2pAw.js} +4 -4
  158. package/dist/{push-apns-Bfqnchj6.js → push-apns-Bv16DYOL.js} +1 -1
  159. package/dist/{pw-ai-C-ddUgTA.js → pw-ai-BW5obXRK.js} +7 -7
  160. package/dist/{pw-ai-DJrnU1ja.js → pw-ai-GICi0s74.js} +8 -8
  161. package/dist/{qmd-manager-D5kqCz-Y.js → qmd-manager-C-J9Sfjk.js} +19 -19
  162. package/dist/{qmd-manager-DrM6m9z1.js → qmd-manager-CTHJcHPq.js} +5 -5
  163. package/dist/{qr-cli-B_mw4i0R.js → qr-cli-BIdgVMK1.js} +3 -3
  164. package/dist/{register.agent-vAJ0_4m0.js → register.agent-QXqsCc-q.js} +12 -12
  165. package/dist/{register.agent-BqKNzdaW.js → register.agent-z4GJgPr-.js} +65 -65
  166. package/dist/{register.configure-BzgavjpU.js → register.configure-CYXErdjF.js} +11 -11
  167. package/dist/{register.configure-7TmTqCgU.js → register.configure-DaMmDTaj.js} +68 -68
  168. package/dist/{register.maintenance-BJO0RCk9.js → register.maintenance-CBGhJ5R9.js} +12 -12
  169. package/dist/{register.maintenance-6Wz4HXlm.js → register.maintenance-CcWTycM4.js} +65 -65
  170. package/dist/{register.message-XYivyrQJ.js → register.message-Bcvdcd3v.js} +45 -45
  171. package/dist/{register.message-CW9PahRi.js → register.message-EMkIi8Ga.js} +8 -8
  172. package/dist/{register.onboard-BgwkmP4D.js → register.onboard-CtcLKgR4.js} +22 -22
  173. package/dist/{register.onboard-MWRC29wD.js → register.onboard-lmLaYYZl.js} +2 -2
  174. package/dist/{register.setup-V-arsKvb.js → register.setup-Cu8R_HaH.js} +2 -2
  175. package/dist/{register.setup-7OoAqQG_.js → register.setup-D47FYXH2.js} +25 -25
  176. package/dist/{register.status-health-sessions-1VnuXhGM.js → register.status-health-sessions--q6ddHX9.js} +3 -3
  177. package/dist/{register.status-health-sessions-Bgg1sdY_.js → register.status-health-sessions-B9CINBWm.js} +38 -38
  178. package/dist/{register.subclis-DpPYIqkP.js → register.subclis-CHTY5PYx.js} +9 -9
  179. package/dist/{registry-9AaJQms1.js → registry-C-JddWwo.js} +2 -2
  180. package/dist/{replies-CgVOirGF.js → replies-BOy28KVL.js} +1 -1
  181. package/dist/{replies-pnMj7AtP.js → replies-BeK3uuQ8.js} +1 -1
  182. package/dist/{replies-BZN1LuJP.js → replies-C82xaXm3.js} +3 -3
  183. package/dist/{replies-Dqft-42v.js → replies-P7jbK6Bo.js} +2 -2
  184. package/dist/{reply-prefix-DkDTGwTs.js → reply-prefix-ChIeKp-P.js} +1 -1
  185. package/dist/{reply-prefix-CyLplifX.js → reply-prefix-xaWqfM9m.js} +1 -1
  186. package/dist/{resolve-route-CIA0TSsF.js → resolve-route-CIS2tjpz.js} +3 -3
  187. package/dist/{resolve-route-xpyI3enn.js → resolve-route-DKhx5C-P.js} +1 -1
  188. package/dist/{routes-xZZ99jJJ.js → routes-BJ2iXVJF.js} +10 -10
  189. package/dist/{rpc-BzR2wLkc.js → rpc-CSI4uFgj.js} +1 -1
  190. package/dist/{run-main-n0fjk-o5.js → run-main-Bzub4qvZ.js} +20 -20
  191. package/dist/{sandbox-DGG12SGo.js → sandbox-CQU7Gcb9.js} +18 -18
  192. package/dist/{sandbox-cli--d2MJPM2.js → sandbox-cli-Ci90LP_X.js} +13 -13
  193. package/dist/{security-cli-CeP9ss1g.js → security-cli-BfOZ_cJN.js} +28 -28
  194. package/dist/{send-BzUWmgQ9.js → send-BAKkoPOy.js} +7 -7
  195. package/dist/{send-BQJKg0bU.js → send-DulXmWcG.js} +7 -7
  196. package/dist/{server-context-BNbx1tUD.js → server-context-BsMQBnUG.js} +5 -5
  197. package/dist/{server-methods-BHg4GltA.js → server-methods-C2UnIkWU.js} +57 -57
  198. package/dist/{server-methods-DkZ2XtEo.js → server-methods-THO5vDXZ.js} +7 -7
  199. package/dist/{server-node-events-BXviL2UH.js → server-node-events-j4AWHS1m.js} +9 -9
  200. package/dist/{server-node-events-6dZ22EGj.js → server-node-events-mBi614x_.js} +46 -46
  201. package/dist/{service-9ItKCWWS.js → service-AP9pR9R5.js} +15 -15
  202. package/dist/{session-dirs-B6PWqKEf.js → session-dirs-Chh7bBGo.js} +2 -2
  203. package/dist/{session-utils-BVC8mmBv.js → session-utils-0F9pB5d6.js} +12 -12
  204. package/dist/{sessions-BaFVKzC2.js → sessions-DQMaURzb.js} +11 -11
  205. package/dist/{shared-DUmy8R4n.js → shared-4Z8Ut8Cs.js} +3 -3
  206. package/dist/{shared-ot5_jkpP.js → shared-DmYHvtn2.js} +1 -1
  207. package/dist/{skill-commands-DaNhP2Jb.js → skill-commands-Cwrebyvj.js} +5 -5
  208. package/dist/{skill-commands-X3T9Y9lT.js → skill-commands-DP1fshwh.js} +4 -4
  209. package/dist/{skill-scanner-DVq7ZopF.js → skill-scanner-qMQf6-FN.js} +5 -5
  210. package/dist/{skills-BMTJ2Tiq.js → skills-D0k4o0Ez.js} +6 -6
  211. package/dist/{skills-C_KgxpBD.js → skills-DL8DjveU.js} +4 -4
  212. package/dist/{skills-cli-DwYoPwkG.js → skills-cli-BkIH3HKr.js} +7 -7
  213. package/dist/{skills-install-U4FmCP8u.js → skills-install-C9uT4MR2.js} +3 -3
  214. package/dist/{skills-remote-C0gcKYWX.js → skills-remote-Db5Wwr4s.js} +3 -3
  215. package/dist/{skills-status-CdfQvU1h.js → skills-status-Dx3Lf5iU.js} +1 -1
  216. package/dist/{sqlite-C6MZhX4c.js → sqlite--aBEq1-J.js} +1 -1
  217. package/dist/{sqlite-BUXBg2yu.js → sqlite-DBEvS-Ne.js} +5 -5
  218. package/dist/{ssrf-BvjSIOlZ.js → ssrf-Dcgaqg3U.js} +9 -9
  219. package/dist/{status-CmoBgZ99.js → status-BtAHzMLu.js} +1 -1
  220. package/dist/{status-BK-ZK7SP.js → status-BuHx0FXI.js} +23 -23
  221. package/dist/{status-J_gR_zbh.js → status-FKqnkO3K.js} +1 -1
  222. package/dist/{status-BAnT_4qI.js → status-MkJRgsTJ.js} +3 -3
  223. package/dist/{status.update-Cvj7y384.js → status.update-CQ1vKrEg.js} +3 -3
  224. package/dist/{subagent-registry-CWolsN8K.js → subagent-registry-B1RgR3-0.js} +41 -218
  225. package/dist/{subsystem-DhOo2FZn.js → subsystem-DzRUKS9f.js} +1 -1
  226. package/dist/{symi-root-0MUhiNlM.js → symi-root-DueRHNOE.js} +2 -2
  227. package/dist/{synthesis-DTZGPpj5.js → synthesis-BEaISjwW.js} +5 -5
  228. package/dist/{synthesis-BSKiS446.js → synthesis-BSUjIY0v.js} +7 -7
  229. package/dist/{synthesis-CRQp5mTx.js → synthesis-BtlmxJ7w.js} +43 -43
  230. package/dist/{synthesis-D3wZX5g3.js → synthesis-DsYfiC2s.js} +28 -28
  231. package/dist/{system-cli-CUGyogmP.js → system-cli-5_JOcUt0.js} +7 -7
  232. package/dist/{systemd-8KKQdTO_.js → systemd-9LEEqibe.js} +5 -5
  233. package/dist/{systemd-hints-_ghBqtKo.js → systemd-hints-CeavseQh.js} +6 -6
  234. package/dist/{systemd-linger-CnKJZBUr.js → systemd-linger-PqG8iGCt.js} +1 -1
  235. package/dist/{thinking-BYtE7_UC.js → thinking-CMIo8E_E.js} +2 -2
  236. package/dist/{tokens-wW7opugV.js → tokens-BBh6tlmO.js} +2 -5
  237. package/dist/{tokens-DvvjOTxN.js → tokens-BKbemuIk.js} +1 -4
  238. package/dist/{tokens-CGqnWNmv.js → tokens-CJgPtOxz.js} +1 -4
  239. package/dist/{tokens-DJQ4rO24.js → tokens-K3kGchJA.js} +1 -4
  240. package/dist/{tool-loop-detection-DyZ0TWGh.js → tool-loop-detection-BR52lwOt.js} +2 -2
  241. package/dist/{tui-fKWqWqeq.js → tui-Bnusp3Vd.js} +7 -7
  242. package/dist/{tui-cli-BPOcMJ-f.js → tui-cli-BY8W9Yjm.js} +19 -19
  243. package/dist/{unified-runner-DftrstdI.js → unified-runner-BPyxPZv9.js} +75 -248
  244. package/dist/{unified-runner-Cdj1nLUh.js → unified-runner-Bn9vq7Zy.js} +132 -309
  245. package/dist/{update-XJWQZpV7.js → update-BvDXKE6K.js} +3 -3
  246. package/dist/{update-check-BdSIMYWq.js → update-check-CZxZhEXr.js} +5 -5
  247. package/dist/{update-cli-jQo-vg6S.js → update-cli-BXtHo0ox.js} +12 -12
  248. package/dist/{update-cli-D_MLjj6j.js → update-cli-DLx7LNVB.js} +75 -75
  249. package/dist/{update-runner-D_UHlPN0.js → update-runner-C8L4XRQb.js} +15 -15
  250. package/dist/{webhooks-cli-DgRLVVrD.js → webhooks-cli-CXbv4eB6.js} +4 -4
  251. package/dist/{with-timeout-DwVWQ2sN.js → with-timeout-C0UtpXBj.js} +1 -1
  252. package/dist/{workspace-OBnI5mKu.js → workspace-CsaDUuDn.js} +2 -2
  253. package/dist/{workspace-dirs-DStsDXra.js → workspace-dirs-gn_0yzFP.js} +1 -1
  254. package/dist/{wsl-DO9usEVV.js → wsl-ZWGwnnKI.js} +2 -2
  255. package/package.json +1 -1
  256. package/dist/plugin-sdk/auto-reply/heartbeat.d.ts +0 -26
  257. package/dist/plugin-sdk/auto-reply/reply/middleware-heartbeat-strip.d.ts +0 -25
@@ -7,10 +7,10 @@ import { a as buildModelAliasLines } from "./model-BgG_n_kc.js";
7
7
  import { r as buildWorkspaceSkillSnapshot } from "./skills-B3e5S0iU.js";
8
8
  import { i as loadConfig } from "./config-B91360jE.js";
9
9
  import { a as isInternalMessageChannel, d as resolveMessageChannel, i as isGatewayMessageChannel, l as normalizeMessageChannel, n as isDeliverableMessageChannel, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-CNPAq1Tl.js";
10
- import { A as resolveRunWorkspaceDir, At as buildSystemPromptParams, Bt as applyModelOverrideToSessionEntry, Cn as clearAgentRunContext, Dn as registerAgentRunContext, Ft as resolveSendPolicy, H as resolveOutboundTarget, J as runWithModelFallback, Mt as getProcessSupervisor, Nt as detectRuntimeShell, T as runAgentTurn, U as resolveSessionDeliveryTarget, Vt as applyVerboseOverride, Y as FailoverError, Z as resolveFailoverStatus, bt as AGENT_LANE_SUBAGENT, dn as resolveSymiDocsPath, en as resolveAgentTimeoutMs, gn as resolveBootstrapContextForRun, hn as makeBootstrapWarn, k as redactRunIdentifier, kt as buildAgentSystemPrompt, on as clearSessionAuthProfileOverride, wn as emitAgentEvent, yt as AGENT_LANE_NESTED } from "./subagent-registry-CWolsN8K.js";
10
+ import { A as resolveRunWorkspaceDir, At as buildSystemPromptParams, Bt as applyModelOverrideToSessionEntry, Ft as resolveSendPolicy, H as resolveOutboundTarget, J as runWithModelFallback, Mt as getProcessSupervisor, Nt as detectRuntimeShell, Sn as emitAgentEvent, T as runAgentTurn, Tn as registerAgentRunContext, U as resolveSessionDeliveryTarget, Vt as applyVerboseOverride, Y as FailoverError, Z as resolveFailoverStatus, bt as AGENT_LANE_SUBAGENT, en as resolveAgentTimeoutMs, in as clearSessionAuthProfileOverride, k as redactRunIdentifier, kt as buildAgentSystemPrompt, ln as resolveSymiDocsPath, mn as resolveBootstrapContextForRun, pn as makeBootstrapWarn, xn as clearAgentRunContext, yt as AGENT_LANE_NESTED } from "./subagent-registry-B1RgR3-0.js";
11
11
  import { D as resolveSessionResetPolicy, E as resolveChannelResetConfig, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, Y as normalizeAccountId, a as resolveAndPersistSessionFile, d as updateSessionStore, n as parseSessionThreadInfo, o as loadSessionStore, w as resolveSessionKey } from "./sessions-7jk0D1BI.js";
12
12
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-Bq-Msc8Z.js";
13
- import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "./deliver-CRqS1O8w.js";
13
+ import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "./deliver-DcP6aVt4.js";
14
14
  import { D as isFailoverErrorMessage, g as classifyFailoverReason } from "./pi-embedded-helpers-DnAXWUyj.js";
15
15
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath } from "./paths-CNexk5_o.js";
16
16
  import { d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-BDh5LPh-.js";
@@ -300,7 +300,6 @@ function buildSystemPrompt(params) {
300
300
  ownerDisplay: params.config?.commands?.ownerDisplay,
301
301
  ownerDisplaySecret: params.config?.commands?.ownerDisplaySecret ?? params.config?.gateway?.auth?.token ?? params.config?.gateway?.remote?.token,
302
302
  reasoningTagHint: false,
303
- heartbeatPrompt: params.heartbeatPrompt,
304
303
  docsPath: params.docsPath,
305
304
  runtimeInfo,
306
305
  toolNames: params.tools.map((tool) => tool.name),
@@ -536,7 +535,6 @@ async function runCliAgent(params) {
536
535
  sessionKey: params.sessionKey,
537
536
  config: params.config
538
537
  });
539
- const heartbeatPrompt = void 0;
540
538
  const docsPath = await resolveSymiDocsPath({
541
539
  workspaceDir,
542
540
  argv1: process.argv[1],
@@ -549,7 +547,6 @@ async function runCliAgent(params) {
549
547
  defaultThinkLevel: params.thinkLevel,
550
548
  extraSystemPrompt,
551
549
  ownerNumbers: params.ownerNumbers,
552
- heartbeatPrompt,
553
550
  docsPath: docsPath ?? void 0,
554
551
  tools: [],
555
552
  contextFiles,
@@ -1,32 +1,32 @@
1
- import { $t as clearAgentRunContext, Ft as clearSessionAuthProfileOverride, Gt as resolveAgentTimeoutMs, Jt as AGENT_LANE_NESTED, O as resolveOutboundTarget, On as runWithModelFallback, Yt as AGENT_LANE_SUBAGENT, _n as redactRunIdentifier, bt as applyVerboseOverride, dn as resolveSymiDocsPath, dt as getProcessSupervisor, en as emitAgentEvent, ft as detectRuntimeShell, gn as resolveBootstrapContextForRun, hn as makeBootstrapWarn, in as buildAgentSystemPrompt, jn as resolveFailoverStatus, k as resolveSessionDeliveryTarget, kn as FailoverError, lt as buildSystemPromptParams, mt as resolveSendPolicy, rn as registerAgentRunContext, t as runAgentTurn, vn as resolveRunWorkspaceDir, yt as applyModelOverrideToSessionEntry } from "./unified-runner-Cdj1nLUh.js";
1
+ import { Dn as FailoverError, En as runWithModelFallback, Ft as clearSessionAuthProfileOverride, Gt as resolveAgentTimeoutMs, Jt as AGENT_LANE_NESTED, O as resolveOutboundTarget, Qt as emitAgentEvent, Yt as AGENT_LANE_SUBAGENT, Zt as clearAgentRunContext, bt as applyVerboseOverride, dt as getProcessSupervisor, ft as detectRuntimeShell, gn as resolveRunWorkspaceDir, hn as redactRunIdentifier, k as resolveSessionDeliveryTarget, kn as resolveFailoverStatus, ln as resolveSymiDocsPath, lt as buildSystemPromptParams, mn as resolveBootstrapContextForRun, mt as resolveSendPolicy, nn as buildAgentSystemPrompt, pn as makeBootstrapWarn, t as runAgentTurn, tn as registerAgentRunContext, yt as applyModelOverrideToSessionEntry } from "./unified-runner-Bn9vq7Zy.js";
2
2
  import { D as shouldLogVerbose, r as DEFAULT_CHAT_CHANNEL } from "./registry-DKJLAPDB.js";
3
3
  import { u as isRecord } from "./utils-BU8jVQFM.js";
4
4
  import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
5
- import { F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef, L as normalizeProviderId, P as isCliProvider, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, b as ensureAuthProfileStore, k as buildAllowedModelSet, q as resolveThinkingDefault } from "./auth-profiles-BVtpxYtY.js";
5
+ import { F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef, L as normalizeProviderId, P as isCliProvider, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, b as ensureAuthProfileStore, k as buildAllowedModelSet, q as resolveThinkingDefault } from "./auth-profiles-CPlXilKu.js";
6
6
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
7
7
  import { c as resolveAgentIdFromSessionKey, o as normalizeAgentId, s as normalizeMainKey } from "./session-key-B_ZVH1kE.js";
8
- import { C as ensureAgentWorkspace, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, i as resolveAgentDir, n as listAgentIds, o as resolveAgentModelPrimary, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks } from "./agent-scope-BjEBQhs0.js";
8
+ import { C as ensureAgentWorkspace, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, i as resolveAgentDir, n as listAgentIds, o as resolveAgentModelPrimary, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks } from "./agent-scope-B_oqIiaD.js";
9
9
  import { t as isTruthyEnvValue } from "./env-B97Ms861.js";
10
- import { D as isFailoverErrorMessage, g as classifyFailoverReason } from "./pi-embedded-helpers-Be-EeyzH.js";
11
- import { i as loadConfig } from "./config-CW8aDVM0.js";
12
- import { r as buildWorkspaceSkillSnapshot } from "./skills-C_KgxpBD.js";
13
- import { F as resolveSessionResetType, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, V as resolveExplicitAgentSessionKey, a as resolveAndPersistSessionFile, b as normalizeAccountId, d as updateSessionStore, j as resolveSessionKey, n as parseSessionThreadInfo, o as loadSessionStore } from "./sessions-BaFVKzC2.js";
10
+ import { D as isFailoverErrorMessage, g as classifyFailoverReason } from "./pi-embedded-helpers-BRM8EM4P.js";
11
+ import { i as loadConfig } from "./config-CphS_6eg.js";
12
+ import { r as buildWorkspaceSkillSnapshot } from "./skills-DL8DjveU.js";
13
+ import { F as resolveSessionResetType, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, V as resolveExplicitAgentSessionKey, a as resolveAndPersistSessionFile, b as normalizeAccountId, d as updateSessionStore, j as resolveSessionKey, n as parseSessionThreadInfo, o as loadSessionStore } from "./sessions-DQMaURzb.js";
14
14
  import { a as isInternalMessageChannel, d as resolveMessageChannel, i as isGatewayMessageChannel, l as normalizeMessageChannel, n as isDeliverableMessageChannel, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-C_V8IAYx.js";
15
15
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
16
16
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath } from "./paths-CJcw9nbZ.js";
17
17
  import { d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-177f26eg.js";
18
- import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "./deliver-DZ7ynJYH.js";
18
+ import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "./deliver-63FtOVMC.js";
19
19
  import { c as hasNonzeroUsage, s as deriveSessionTotalTokens } from "./session-cost-usage-DYcv40ss.js";
20
- import { x as lookupContextTokens } from "./session-utils-BVC8mmBv.js";
21
- import { g as getSkillsSnapshotVersion, t as getRemoteSkillEligibility } from "./skills-remote-C0gcKYWX.js";
22
- import { n as loadModelCatalog } from "./model-catalog-BGVslwAT.js";
23
- import { a as buildModelAliasLines } from "./model-BXWgh5eZ.js";
24
- import { t as createDefaultDeps } from "./deps-i1g0Zpz4.js";
20
+ import { x as lookupContextTokens } from "./session-utils-0F9pB5d6.js";
21
+ import { g as getSkillsSnapshotVersion, t as getRemoteSkillEligibility } from "./skills-remote-Db5Wwr4s.js";
22
+ import { n as loadModelCatalog } from "./model-catalog-DKBhNiWm.js";
23
+ import { a as buildModelAliasLines } from "./model-BKtw-Bqs.js";
24
+ import { t as createDefaultDeps } from "./deps-DD_ZCq3v.js";
25
25
  import { t as createOutboundSendDeps } from "./outbound-send-deps-BpziI1pC.js";
26
26
  import crypto from "node:crypto";
27
27
  import path from "node:path";
28
28
  import os from "node:os";
29
- import fsPromises from "node:fs/promises";
29
+ import fs from "node:fs/promises";
30
30
 
31
31
  //#region src/agents/cli-watchdog-defaults.ts
32
32
  const CLI_WATCHDOG_MIN_TIMEOUT_MS = 1e3;
@@ -304,7 +304,6 @@ function buildSystemPrompt(params) {
304
304
  ownerDisplay: params.config?.commands?.ownerDisplay,
305
305
  ownerDisplaySecret: params.config?.commands?.ownerDisplaySecret ?? params.config?.gateway?.auth?.token ?? params.config?.gateway?.remote?.token,
306
306
  reasoningTagHint: false,
307
- heartbeatPrompt: params.heartbeatPrompt,
308
307
  docsPath: params.docsPath,
309
308
  runtimeInfo,
310
309
  toolNames: params.tools.map((tool) => tool.name),
@@ -462,18 +461,18 @@ function appendImagePathsToPrompt(prompt, paths) {
462
461
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
463
462
  }
464
463
  async function writeCliImages(images) {
465
- const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "symi-cli-images-"));
464
+ const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), "symi-cli-images-"));
466
465
  const paths = [];
467
466
  for (let i = 0; i < images.length; i += 1) {
468
467
  const image = images[i];
469
468
  const ext = resolveImageExtension(image.mimeType);
470
469
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
471
470
  const buffer = Buffer.from(image.data, "base64");
472
- await fsPromises.writeFile(filePath, buffer, { mode: 384 });
471
+ await fs.writeFile(filePath, buffer, { mode: 384 });
473
472
  paths.push(filePath);
474
473
  }
475
474
  const cleanup = async () => {
476
- await fsPromises.rm(tempDir, {
475
+ await fs.rm(tempDir, {
477
476
  recursive: true,
478
477
  force: true
479
478
  });
@@ -540,7 +539,6 @@ async function runCliAgent(params) {
540
539
  sessionKey: params.sessionKey,
541
540
  config: params.config
542
541
  });
543
- const heartbeatPrompt = void 0;
544
542
  const docsPath = await resolveSymiDocsPath({
545
543
  workspaceDir,
546
544
  argv1: process.argv[1],
@@ -553,7 +551,6 @@ async function runCliAgent(params) {
553
551
  defaultThinkLevel: params.thinkLevel,
554
552
  extraSystemPrompt,
555
553
  ownerNumbers: params.ownerNumbers,
556
- heartbeatPrompt,
557
554
  docsPath: docsPath ?? void 0,
558
555
  tools: [],
559
556
  contextFiles,
@@ -1,12 +1,12 @@
1
1
  import { g as resolveStateDir, y as resolveRequiredHomeDir } from "./paths-BSzKwaxE.js";
2
2
  import { f as pathExists, h as resolveUserPath } from "./utils-BU8jVQFM.js";
3
3
  import { b as isSubagentSessionKey, o as normalizeAgentId, t as DEFAULT_AGENT_ID, x as parseAgentSessionKey, y as isCronSessionKey } from "./session-key-B_ZVH1kE.js";
4
- import { i as normalizeSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-0MUhiNlM.js";
4
+ import { i as normalizeSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-DueRHNOE.js";
5
5
  import { t as runCommandWithTimeout } from "./exec-DKyLtSjm.js";
6
6
  import { fileURLToPath } from "node:url";
7
7
  import path from "node:path";
8
8
  import os from "node:os";
9
- import fsPromises from "node:fs/promises";
9
+ import fs from "node:fs/promises";
10
10
 
11
11
  //#region src/agents/workspace-templates.ts
12
12
  const FALLBACK_TEMPLATE_DIR = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../docs/reference/templates");
@@ -73,10 +73,10 @@ const workspaceFileCache = /* @__PURE__ */ new Map();
73
73
  */
74
74
  async function readFileWithCache(filePath) {
75
75
  try {
76
- const mtimeMs = (await fsPromises.stat(filePath)).mtimeMs;
76
+ const mtimeMs = (await fs.stat(filePath)).mtimeMs;
77
77
  const cached = workspaceFileCache.get(filePath);
78
78
  if (cached && cached.mtimeMs === mtimeMs) return cached.content;
79
- const content = await fsPromises.readFile(filePath, "utf-8");
79
+ const content = await fs.readFile(filePath, "utf-8");
80
80
  workspaceFileCache.set(filePath, {
81
81
  content,
82
82
  mtimeMs
@@ -103,7 +103,7 @@ async function loadTemplate(name) {
103
103
  const templateDir = await resolveWorkspaceTemplateDir();
104
104
  const templatePath = path.join(templateDir, name);
105
105
  try {
106
- return stripFrontMatter(await fsPromises.readFile(templatePath, "utf-8"));
106
+ return stripFrontMatter(await fs.readFile(templatePath, "utf-8"));
107
107
  } catch {
108
108
  throw new Error(`Missing workspace template: ${name} (${templatePath}). Ensure docs/reference/templates are packaged.`);
109
109
  }
@@ -118,7 +118,7 @@ async function loadTemplate(name) {
118
118
  }
119
119
  async function writeFileIfMissing(filePath, content) {
120
120
  try {
121
- await fsPromises.writeFile(filePath, content, {
121
+ await fs.writeFile(filePath, content, {
122
122
  encoding: "utf-8",
123
123
  flag: "wx"
124
124
  });
@@ -130,7 +130,7 @@ async function writeFileIfMissing(filePath, content) {
130
130
  }
131
131
  async function fileExists(filePath) {
132
132
  try {
133
- await fsPromises.access(filePath);
133
+ await fs.access(filePath);
134
134
  return true;
135
135
  } catch {
136
136
  return false;
@@ -154,7 +154,7 @@ function parseWorkspaceOnboardingState(raw) {
154
154
  }
155
155
  async function readWorkspaceOnboardingState(statePath) {
156
156
  try {
157
- return parseWorkspaceOnboardingState(await fsPromises.readFile(statePath, "utf-8")) ?? { version: WORKSPACE_STATE_VERSION };
157
+ return parseWorkspaceOnboardingState(await fs.readFile(statePath, "utf-8")) ?? { version: WORKSPACE_STATE_VERSION };
158
158
  } catch (err) {
159
159
  if (err.code !== "ENOENT") throw err;
160
160
  return { version: WORKSPACE_STATE_VERSION };
@@ -168,20 +168,20 @@ async function isWorkspaceOnboardingCompleted(dir) {
168
168
  return typeof state.onboardingCompletedAt === "string" && state.onboardingCompletedAt.trim().length > 0;
169
169
  }
170
170
  async function writeWorkspaceOnboardingState(statePath, state) {
171
- await fsPromises.mkdir(path.dirname(statePath), { recursive: true });
171
+ await fs.mkdir(path.dirname(statePath), { recursive: true });
172
172
  const payload = `${JSON.stringify(state, null, 2)}\n`;
173
173
  const tmpPath = `${statePath}.tmp-${process.pid}-${Date.now().toString(36)}`;
174
174
  try {
175
- await fsPromises.writeFile(tmpPath, payload, { encoding: "utf-8" });
176
- await fsPromises.rename(tmpPath, statePath);
175
+ await fs.writeFile(tmpPath, payload, { encoding: "utf-8" });
176
+ await fs.rename(tmpPath, statePath);
177
177
  } catch (err) {
178
- await fsPromises.unlink(tmpPath).catch(() => {});
178
+ await fs.unlink(tmpPath).catch(() => {});
179
179
  throw err;
180
180
  }
181
181
  }
182
182
  async function hasGitRepo(dir) {
183
183
  try {
184
- await fsPromises.stat(path.join(dir, ".git"));
184
+ await fs.stat(path.join(dir, ".git"));
185
185
  return true;
186
186
  } catch {
187
187
  return false;
@@ -211,7 +211,7 @@ async function ensureGitRepo(dir, isBrandNewWorkspace) {
211
211
  }
212
212
  async function ensureAgentWorkspace(params) {
213
213
  const dir = resolveUserPath(params?.dir?.trim() ? params.dir.trim() : DEFAULT_AGENT_WORKSPACE_DIR);
214
- await fsPromises.mkdir(dir, { recursive: true });
214
+ await fs.mkdir(dir, { recursive: true });
215
215
  if (!params?.ensureBootstrapFiles) return { dir };
216
216
  const agentsPath = path.join(dir, DEFAULT_AGENTS_FILENAME);
217
217
  const symicorePath = path.join(dir, DEFAULT_SYMICORE_FILENAME);
@@ -232,7 +232,7 @@ async function ensureAgentWorkspace(params) {
232
232
  ];
233
233
  return (await Promise.all(paths.map(async (p) => {
234
234
  try {
235
- await fsPromises.access(p);
235
+ await fs.access(p);
236
236
  return true;
237
237
  } catch {
238
238
  return false;
@@ -263,7 +263,7 @@ async function ensureAgentWorkspace(params) {
263
263
  if (!state.bootstrapSeededAt && bootstrapExists) markState({ bootstrapSeededAt: nowIso() });
264
264
  if (!state.onboardingCompletedAt && state.bootstrapSeededAt && !bootstrapExists) markState({ onboardingCompletedAt: nowIso() });
265
265
  if (!state.bootstrapSeededAt && !state.onboardingCompletedAt && !bootstrapExists) {
266
- const [identityContent, userContent] = await Promise.all([fsPromises.readFile(identityPath, "utf-8"), fsPromises.readFile(userPath, "utf-8")]);
266
+ const [identityContent, userContent] = await Promise.all([fs.readFile(identityPath, "utf-8"), fs.readFile(userPath, "utf-8")]);
267
267
  if (identityContent !== identityTemplate || userContent !== userTemplate) markState({ onboardingCompletedAt: nowIso() });
268
268
  else {
269
269
  if (!await writeFileIfMissing(bootstrapPath, await loadTemplate(DEFAULT_BOOTSTRAP_FILENAME))) bootstrapExists = await fileExists(bootstrapPath);
@@ -290,7 +290,7 @@ async function resolveMemoryBootstrapEntries(resolvedDir) {
290
290
  for (const name of candidates) {
291
291
  const filePath = path.join(resolvedDir, name);
292
292
  try {
293
- await fsPromises.access(filePath);
293
+ await fs.access(filePath);
294
294
  entries.push({
295
295
  name,
296
296
  filePath
@@ -303,7 +303,7 @@ async function resolveMemoryBootstrapEntries(resolvedDir) {
303
303
  for (const entry of entries) {
304
304
  let key = entry.filePath;
305
305
  try {
306
- key = await fsPromises.realpath(entry.filePath);
306
+ key = await fs.realpath(entry.filePath);
307
307
  } catch {}
308
308
  if (seen.has(key)) continue;
309
309
  seen.add(key);
@@ -1,7 +1,7 @@
1
1
  import { s as resolveStateDir } from "./paths-CE7eVGHg.js";
2
2
  import { o as normalizeAgentId, t as DEFAULT_AGENT_ID, v as parseAgentSessionKey } from "./session-key-BmQ2R1ev.js";
3
- import { Y as resolveUserPath } from "./registry-9AaJQms1.js";
4
- import { p as resolveDefaultAgentWorkspaceDir } from "./workspace-OBnI5mKu.js";
3
+ import { Y as resolveUserPath } from "./registry-C-JddWwo.js";
4
+ import { p as resolveDefaultAgentWorkspaceDir } from "./workspace-CsaDUuDn.js";
5
5
  import path from "node:path";
6
6
 
7
7
  //#region src/agents/skills/filter.ts
@@ -10,13 +10,13 @@ import { s as resolveSessionTranscriptsDirForAgent } from "./paths-CNexk5_o.js";
10
10
  import { t as WizardCancelledError } from "./prompts-fhztJPuZ.js";
11
11
  import { t as createClackPrompter } from "./clack-prompter-Cm3OvXXT.js";
12
12
  import { t as resolveChannelDefaultAccountId } from "./helpers-DlWXcOEI.js";
13
- import { r as setupChannels } from "./onboard-channels-BfzW-9vo.js";
13
+ import { r as setupChannels } from "./onboard-channels-D5ugcgBE.js";
14
14
  import { t as requireValidConfigSnapshot } from "./config-validation-BwrodmsK.js";
15
15
  import { a as ensureWorkspaceAndSessions, l as moveToTrash } from "./onboard-helpers-LbRPhqLj.js";
16
16
  import { a as pruneAgentConfig, c as parseIdentityMarkdown, i as loadAgentIdentity, n as buildAgentSummaries, o as identityHasValues, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-RCL-IJds.js";
17
17
  import { n as logConfigUpdated } from "./logging-BeA4q4J_.js";
18
18
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-DBfm0y9l.js";
19
- import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-T77Ymi34.js";
19
+ import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-DS5oaUTz.js";
20
20
  import path from "node:path";
21
21
  import fs from "node:fs/promises";
22
22
 
@@ -1,5 +1,5 @@
1
1
  import { o as normalizeAgentId } from "./session-key-B_ZVH1kE.js";
2
- import { c as resolveAgentWorkspaceDir, g as DEFAULT_IDENTITY_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, t as listAgentEntries } from "./agent-scope-BjEBQhs0.js";
2
+ import { c as resolveAgentWorkspaceDir, g as DEFAULT_IDENTITY_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, t as listAgentEntries } from "./agent-scope-B_oqIiaD.js";
3
3
  import path from "node:path";
4
4
  import fs from "node:fs";
5
5
 
@@ -2,34 +2,34 @@ import { g as resolveStateDir, m as resolveOAuthDir, o as resolveConfigPath } fr
2
2
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
3
3
  import { o as normalizeAgentId } from "./session-key-B_ZVH1kE.js";
4
4
  import { n as runExec } from "./exec-DKyLtSjm.js";
5
- import { l as resolveDefaultAgentId } from "./agent-scope-BjEBQhs0.js";
6
- import { D as INCLUDE_KEY, O as MAX_INCLUDE_DEPTH, r as createConfigIO } from "./config-CW8aDVM0.js";
5
+ import { l as resolveDefaultAgentId } from "./agent-scope-B_oqIiaD.js";
6
+ import { D as INCLUDE_KEY, O as MAX_INCLUDE_DEPTH, r as createConfigIO } from "./config-CphS_6eg.js";
7
7
  import { u as normalizePluginsConfig } from "./manifest-registry-D7Qup2Vq.js";
8
8
  import { i as isPathInside, n as MANIFEST_KEY, r as extensionUsesSkippedScannerPath } from "./legacy-names-C0hZiM-7.js";
9
- import { S as resolveToolProfilePolicy, f as resolveSandboxConfigForAgent, k as SANDBOX_BROWSER_SECURITY_HASH_EPOCH, l as execDockerRaw, m as resolveSandboxToolPolicyForAgent, u as getBlockedBindReason } from "./sandbox-DGG12SGo.js";
9
+ import { S as resolveToolProfilePolicy, f as resolveSandboxConfigForAgent, k as SANDBOX_BROWSER_SECURITY_HASH_EPOCH, l as execDockerRaw, m as resolveSandboxToolPolicyForAgent, u as getBlockedBindReason } from "./sandbox-CQU7Gcb9.js";
10
10
  import { a as resolveGatewayAuth } from "./auth-BbwD4lRX.js";
11
- import { a as resolveProfile, i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-BNbx1tUD.js";
12
- import { i as loadWorkspaceSkillEntries } from "./skills-C_KgxpBD.js";
11
+ import { a as resolveProfile, i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-BsMQBnUG.js";
12
+ import { i as loadWorkspaceSkillEntries } from "./skills-DL8DjveU.js";
13
13
  import { n as formatErrorMessage } from "./errors-Z-WkF18Q.js";
14
14
  import { c as normalizeStringEntries } from "./dock-CnGWTXL4.js";
15
15
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C_V8IAYx.js";
16
16
  import { n as listChannelPlugins } from "./plugins-DuuHorqi.js";
17
17
  import { i as resolveNativeSkillsEnabled, r as resolveNativeCommandsEnabled } from "./commands-B3UrgxIz.js";
18
- import { t as GatewayClient } from "./client-Bs2zB0rY.js";
19
- import { c as READ_SCOPE, t as buildGatewayConnectionDetails } from "./call-CdXXPXpo.js";
20
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DStsDXra.js";
21
- import { i as readChannelAllowFromStore } from "./pairing-store-CxT0UGxd.js";
22
- import { n as isToolAllowedByPolicies, o as pickSandboxToolPolicy } from "./pi-tools.policy-qwS9SXOa.js";
18
+ import { t as GatewayClient } from "./client-ZZqt0H0-.js";
19
+ import { c as READ_SCOPE, t as buildGatewayConnectionDetails } from "./call-Du4CT1Hp.js";
20
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-gn_0yzFP.js";
21
+ import { i as readChannelAllowFromStore } from "./pairing-store-mmeniyUt.js";
22
+ import { n as isToolAllowedByPolicies, o as pickSandboxToolPolicy } from "./pi-tools.policy-BBHbN8Nh.js";
23
23
  import { t as resolveChannelDefaultAccountId } from "./helpers-BBypnAYf.js";
24
- import { t as scanDirectoryWithSummary } from "./skill-scanner-DVq7ZopF.js";
25
- import { t as resolveDmAllowState } from "./dm-policy-shared-CnKffdt_.js";
24
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-qMQf6-FN.js";
25
+ import { t as resolveDmAllowState } from "./dm-policy-shared-C1TQOlkZ.js";
26
26
  import { t as inferParamBFromIdOrName } from "./model-param-b-B34yvxBN.js";
27
27
  import { randomUUID } from "node:crypto";
28
28
  import path from "node:path";
29
29
  import os from "node:os";
30
30
  import JSON5 from "json5";
31
- import * as fs from "node:fs/promises";
32
- import fsPromises from "node:fs/promises";
31
+ import * as fs$1 from "node:fs/promises";
32
+ import fs from "node:fs/promises";
33
33
 
34
34
  //#region src/gateway/probe.ts
35
35
  async function probeGateway(opts) {
@@ -1166,7 +1166,7 @@ async function collectIncludePathsRecursive(params) {
1166
1166
  if (visited.has(resolved)) continue;
1167
1167
  visited.add(resolved);
1168
1168
  result.push(resolved);
1169
- const rawText = await fs.readFile(resolved, "utf-8").catch(() => null);
1169
+ const rawText = await fs$1.readFile(resolved, "utf-8").catch(() => null);
1170
1170
  if (!rawText) continue;
1171
1171
  const nestedParsed = (() => {
1172
1172
  try {
@@ -1345,7 +1345,7 @@ function createIcaclsResetCommand(targetPath, opts) {
1345
1345
  //#region src/security/audit-fs.ts
1346
1346
  async function safeStat(targetPath) {
1347
1347
  try {
1348
- const lst = await fsPromises.lstat(targetPath);
1348
+ const lst = await fs.lstat(targetPath);
1349
1349
  return {
1350
1350
  ok: true,
1351
1351
  isSymlink: lst.isSymbolicLink(),
@@ -1384,7 +1384,7 @@ async function inspectPathPermissions(targetPath, opts) {
1384
1384
  let effectiveMode = st.mode;
1385
1385
  let effectiveIsDir = st.isDir;
1386
1386
  if (st.isSymlink) try {
1387
- const target = await fsPromises.stat(targetPath);
1387
+ const target = await fs.stat(targetPath);
1388
1388
  effectiveMode = typeof target.mode === "number" ? target.mode : st.mode;
1389
1389
  effectiveIsDir = target.isDirectory();
1390
1390
  } catch {}
@@ -1487,7 +1487,7 @@ function expandTilde(p, env) {
1487
1487
  }
1488
1488
  async function readPluginManifestExtensions(pluginPath) {
1489
1489
  const manifestPath = path.join(pluginPath, "package.json");
1490
- const raw = await fsPromises.readFile(manifestPath, "utf-8").catch(() => "");
1490
+ const raw = await fs.readFile(manifestPath, "utf-8").catch(() => "");
1491
1491
  if (!raw.trim()) return [];
1492
1492
  const extensions = JSON.parse(raw)?.[MANIFEST_KEY]?.extensions;
1493
1493
  if (!Array.isArray(extensions)) return [];
@@ -1509,7 +1509,7 @@ async function listInstalledPluginDirs(params) {
1509
1509
  };
1510
1510
  return {
1511
1511
  extensionsDir,
1512
- pluginDirs: (await fsPromises.readdir(extensionsDir, { withFileTypes: true }).catch((err) => {
1512
+ pluginDirs: (await fs.readdir(extensionsDir, { withFileTypes: true }).catch((err) => {
1513
1513
  params.onReadError?.(err);
1514
1514
  return [];
1515
1515
  })).filter((entry) => entry.isDirectory()).map((entry) => entry.name).filter(Boolean)
@@ -1572,7 +1572,7 @@ function isPinnedRegistrySpec(spec) {
1572
1572
  }
1573
1573
  async function readInstalledPackageVersion(dir) {
1574
1574
  try {
1575
- const raw = await fsPromises.readFile(path.join(dir, "package.json"), "utf-8");
1575
+ const raw = await fs.readFile(path.join(dir, "package.json"), "utf-8");
1576
1576
  const parsed = JSON.parse(raw);
1577
1577
  return typeof parsed.version === "string" ? parsed.version : void 0;
1578
1578
  } catch {
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Ct as resolveEnvApiKey, Ht as DEFAULT_MODEL, It as discoverHuggingfaceModels, Lt as isHuggingfacePolicyLocked, Rt as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, b as ensureAuthProfileStore, d as generateChutesPkce, f as parseOAuthCallbackInput, h as listProfilesForProvider, l as CHUTES_AUTHORIZE_ENDPOINT, n as resolveAuthProfileOrder, ot as VENICE_DEFAULT_MODEL_REF, pt as SYNTHETIC_DEFAULT_MODEL_REF, u as exchangeChutesCodeForTokens, v as upsertAuthProfile, yt as getCustomProviderApiKey } from "./auth-profiles-BVtpxYtY.js";
3
- import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, i as resolveAgentDir, l as resolveDefaultAgentId, o as resolveAgentModelPrimary } from "./agent-scope-BjEBQhs0.js";
2
+ import { Ct as resolveEnvApiKey, Ht as DEFAULT_MODEL, It as discoverHuggingfaceModels, Lt as isHuggingfacePolicyLocked, Rt as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, b as ensureAuthProfileStore, d as generateChutesPkce, f as parseOAuthCallbackInput, h as listProfilesForProvider, l as CHUTES_AUTHORIZE_ENDPOINT, n as resolveAuthProfileOrder, ot as VENICE_DEFAULT_MODEL_REF, pt as SYNTHETIC_DEFAULT_MODEL_REF, u as exchangeChutesCodeForTokens, v as upsertAuthProfile, yt as getCustomProviderApiKey } from "./auth-profiles-CPlXilKu.js";
3
+ import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, i as resolveAgentDir, l as resolveDefaultAgentId, o as resolveAgentModelPrimary } from "./agent-scope-B_oqIiaD.js";
4
4
  import { r as isLoopbackHost } from "./ws-CahTJvD6.js";
5
- import { n as loadModelCatalog } from "./model-catalog-BGVslwAT.js";
5
+ import { n as loadModelCatalog } from "./model-catalog-DKBhNiWm.js";
6
6
  import { t as enablePluginInConfig } from "./enable-CAlFtzVH.js";
7
- import { f as openUrl } from "./onboard-helpers-DZKHFY2J.js";
8
- import { $ as setHuggingfaceApiKey, A as applyXaiConfig, B as applyVercelAiGatewayConfig, C as applyQianfanProviderConfig, D as applyTogetherProviderConfig, E as applyTogetherConfig, F as applyZaiProviderConfig, G as OPENROUTER_DEFAULT_MODEL_REF, H as applyAgentDefaultModelPrimary, I as applyLitellmConfig, J as XIAOMI_DEFAULT_MODEL_REF, K as TOGETHER_DEFAULT_MODEL_REF, L as applyLitellmProviderConfig, M as applyXiaomiConfig, N as applyXiaomiProviderConfig, O as applyVeniceConfig, P as applyZaiConfig, Q as setGeminiApiKey, R as applyCloudflareAiGatewayConfig, S as applyQianfanConfig, T as applySyntheticProviderConfig, U as HUGGINGFACE_DEFAULT_MODEL_REF, V as applyVercelAiGatewayProviderConfig, W as LITELLM_DEFAULT_MODEL_REF, X as setAnthropicApiKey, Y as ZAI_DEFAULT_MODEL_REF, Z as setCloudflareAiGatewayConfig, _ as applyMoonshotConfigCn, _t as QIANFAN_DEFAULT_MODEL_REF, a as applyMinimaxApiConfig, at as setOpenrouterApiKey, b as applyOpenrouterConfig, c as applyMinimaxApiProviderConfigCn, ct as setTogetherApiKey, d as applyAuthProfileConfig, dt as setXaiApiKey, et as setKimiCodingApiKey, ft as setXiaomiApiKey, g as applyMoonshotConfig, gt as MOONSHOT_DEFAULT_MODEL_REF, h as applyKimiCodeProviderConfig, ht as KIMI_CODING_MODEL_REF, i as applyOpencodeZenProviderConfig, it as setOpencodeZenApiKey, j as applyXaiProviderConfig, k as applyVeniceProviderConfig, l as applyMinimaxConfig, lt as setVeniceApiKey, m as applyKimiCodeConfig, mt as writeOAuthCredentials, n as validateAnthropicSetupToken, nt as setMinimaxApiKey, o as applyMinimaxApiConfigCn, ot as setQianfanApiKey, p as applyHuggingfaceProviderConfig, pt as setZaiApiKey, q as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setMoonshotApiKey, s as applyMinimaxApiProviderConfig, st as setSyntheticApiKey, t as buildTokenProfileId, tt as setLitellmApiKey, u as applyMinimaxProviderConfig, ut as setVercelAiGatewayApiKey, v as applyMoonshotProviderConfig, vt as XAI_DEFAULT_MODEL_REF, w as applySyntheticConfig, x as applyOpenrouterProviderConfig, y as applyMoonshotProviderConfigCn, z as applyCloudflareAiGatewayProviderConfig } from "./auth-token-CPluo60n.js";
9
- import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-Xn1TAPPY.js";
10
- import { a as detectZaiEndpoint, c as ensureModelAllowlistEntry, i as upsertSharedEnvVar, n as applyOpenAIConfig, o as GOOGLE_GEMINI_DEFAULT_MODEL, r as applyOpenAIProviderConfig, s as applyGoogleGeminiModelDefault, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-D1NFHFF_.js";
11
- import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-aTfyp_mP.js";
7
+ import { f as openUrl } from "./onboard-helpers-D2mWJnFB.js";
8
+ import { $ as setHuggingfaceApiKey, A as applyXaiConfig, B as applyVercelAiGatewayConfig, C as applyQianfanProviderConfig, D as applyTogetherProviderConfig, E as applyTogetherConfig, F as applyZaiProviderConfig, G as OPENROUTER_DEFAULT_MODEL_REF, H as applyAgentDefaultModelPrimary, I as applyLitellmConfig, J as XIAOMI_DEFAULT_MODEL_REF, K as TOGETHER_DEFAULT_MODEL_REF, L as applyLitellmProviderConfig, M as applyXiaomiConfig, N as applyXiaomiProviderConfig, O as applyVeniceConfig, P as applyZaiConfig, Q as setGeminiApiKey, R as applyCloudflareAiGatewayConfig, S as applyQianfanConfig, T as applySyntheticProviderConfig, U as HUGGINGFACE_DEFAULT_MODEL_REF, V as applyVercelAiGatewayProviderConfig, W as LITELLM_DEFAULT_MODEL_REF, X as setAnthropicApiKey, Y as ZAI_DEFAULT_MODEL_REF, Z as setCloudflareAiGatewayConfig, _ as applyMoonshotConfigCn, _t as QIANFAN_DEFAULT_MODEL_REF, a as applyMinimaxApiConfig, at as setOpenrouterApiKey, b as applyOpenrouterConfig, c as applyMinimaxApiProviderConfigCn, ct as setTogetherApiKey, d as applyAuthProfileConfig, dt as setXaiApiKey, et as setKimiCodingApiKey, ft as setXiaomiApiKey, g as applyMoonshotConfig, gt as MOONSHOT_DEFAULT_MODEL_REF, h as applyKimiCodeProviderConfig, ht as KIMI_CODING_MODEL_REF, i as applyOpencodeZenProviderConfig, it as setOpencodeZenApiKey, j as applyXaiProviderConfig, k as applyVeniceProviderConfig, l as applyMinimaxConfig, lt as setVeniceApiKey, m as applyKimiCodeConfig, mt as writeOAuthCredentials, n as validateAnthropicSetupToken, nt as setMinimaxApiKey, o as applyMinimaxApiConfigCn, ot as setQianfanApiKey, p as applyHuggingfaceProviderConfig, pt as setZaiApiKey, q as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setMoonshotApiKey, s as applyMinimaxApiProviderConfig, st as setSyntheticApiKey, t as buildTokenProfileId, tt as setLitellmApiKey, u as applyMinimaxProviderConfig, ut as setVercelAiGatewayApiKey, v as applyMoonshotProviderConfig, vt as XAI_DEFAULT_MODEL_REF, w as applySyntheticConfig, x as applyOpenrouterProviderConfig, y as applyMoonshotProviderConfigCn, z as applyCloudflareAiGatewayProviderConfig } from "./auth-token-DTj2WrbV.js";
9
+ import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-Bo1_RSEb.js";
10
+ import { a as detectZaiEndpoint, c as ensureModelAllowlistEntry, i as upsertSharedEnvVar, n as applyOpenAIConfig, o as GOOGLE_GEMINI_DEFAULT_MODEL, r as applyOpenAIProviderConfig, s as applyGoogleGeminiModelDefault, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-BeRT9S75.js";
11
+ import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-DKzvan7c.js";
12
12
  import { randomBytes } from "node:crypto";
13
13
  import { loginOpenAICodex } from "@mariozechner/pi-ai";
14
14
  import { createServer } from "node:http";
@@ -6,7 +6,7 @@ import { n as loadModelCatalog } from "./model-catalog-zuX3pwF5.js";
6
6
  import { t as enablePluginInConfig } from "./enable-Dn-aw3YN.js";
7
7
  import { f as openUrl } from "./onboard-helpers-LbRPhqLj.js";
8
8
  import { $ as setHuggingfaceApiKey, A as applyXaiConfig, B as applyVercelAiGatewayConfig, C as applyQianfanProviderConfig, D as applyTogetherProviderConfig, E as applyTogetherConfig, F as applyZaiProviderConfig, G as OPENROUTER_DEFAULT_MODEL_REF, H as applyAgentDefaultModelPrimary, I as applyLitellmConfig, J as XIAOMI_DEFAULT_MODEL_REF, K as TOGETHER_DEFAULT_MODEL_REF, L as applyLitellmProviderConfig, M as applyXiaomiConfig, N as applyXiaomiProviderConfig, O as applyVeniceConfig, P as applyZaiConfig, Q as setGeminiApiKey, R as applyCloudflareAiGatewayConfig, S as applyQianfanConfig, T as applySyntheticProviderConfig, U as HUGGINGFACE_DEFAULT_MODEL_REF, V as applyVercelAiGatewayProviderConfig, W as LITELLM_DEFAULT_MODEL_REF, X as setAnthropicApiKey, Y as ZAI_DEFAULT_MODEL_REF, Z as setCloudflareAiGatewayConfig, _ as applyMoonshotConfigCn, _t as QIANFAN_DEFAULT_MODEL_REF, a as applyMinimaxApiConfig, at as setOpenrouterApiKey, b as applyOpenrouterConfig, c as applyMinimaxApiProviderConfigCn, ct as setTogetherApiKey, d as applyAuthProfileConfig, dt as setXaiApiKey, et as setKimiCodingApiKey, ft as setXiaomiApiKey, g as applyMoonshotConfig, gt as MOONSHOT_DEFAULT_MODEL_REF, h as applyKimiCodeProviderConfig, ht as KIMI_CODING_MODEL_REF, i as applyOpencodeZenProviderConfig, it as setOpencodeZenApiKey, j as applyXaiProviderConfig, k as applyVeniceProviderConfig, l as applyMinimaxConfig, lt as setVeniceApiKey, m as applyKimiCodeConfig, mt as writeOAuthCredentials, n as validateAnthropicSetupToken, nt as setMinimaxApiKey, o as applyMinimaxApiConfigCn, ot as setQianfanApiKey, p as applyHuggingfaceProviderConfig, pt as setZaiApiKey, q as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setMoonshotApiKey, s as applyMinimaxApiProviderConfig, st as setSyntheticApiKey, t as buildTokenProfileId, tt as setLitellmApiKey, u as applyMinimaxProviderConfig, ut as setVercelAiGatewayApiKey, v as applyMoonshotProviderConfig, vt as XAI_DEFAULT_MODEL_REF, w as applySyntheticConfig, x as applyOpenrouterProviderConfig, y as applyMoonshotProviderConfigCn, z as applyCloudflareAiGatewayProviderConfig } from "./auth-token-DS3MIrxf.js";
9
- import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-BJTb9xI0.js";
9
+ import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-CRobCJR_.js";
10
10
  import { a as detectZaiEndpoint, c as ensureModelAllowlistEntry, i as upsertSharedEnvVar, n as applyOpenAIConfig, o as GOOGLE_GEMINI_DEFAULT_MODEL, r as applyOpenAIProviderConfig, s as applyGoogleGeminiModelDefault, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-BiSllV8d.js";
11
11
  import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-DCkIP0W7.js";
12
12
  import { loginOpenAICodex } from "@mariozechner/pi-ai";
@@ -4,13 +4,13 @@ import { h as resolveUserPath } from "./utils-BU8jVQFM.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
5
5
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
6
6
  import { t as DEFAULT_AGENT_ID } from "./session-key-B_ZVH1kE.js";
7
- import { o as resolveAgentModelPrimary, r as resolveAgentConfig } from "./agent-scope-BjEBQhs0.js";
7
+ import { o as resolveAgentModelPrimary, r as resolveAgentConfig } from "./agent-scope-B_oqIiaD.js";
8
8
  import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-BTNK6Tcd.js";
9
9
  import { t as isTruthyEnvValue } from "./env-B97Ms861.js";
10
10
  import { createHash, randomBytes, randomUUID } from "node:crypto";
11
11
  import path from "node:path";
12
12
  import fs from "node:fs";
13
- import fsPromises from "node:fs/promises";
13
+ import fs$1 from "node:fs/promises";
14
14
  import { execFileSync } from "node:child_process";
15
15
  import { BedrockClient, ListFoundationModelsCommand } from "@aws-sdk/client-bedrock";
16
16
  import { createAssistantMessageEventStream, getEnvApiKey, getOAuthApiKey, getOAuthProviders } from "@mariozechner/pi-ai";
@@ -3157,7 +3157,7 @@ function computeDelayMs(retries, attempt) {
3157
3157
  }
3158
3158
  async function readLockPayload(lockPath) {
3159
3159
  try {
3160
- const raw = await fsPromises.readFile(lockPath, "utf8");
3160
+ const raw = await fs$1.readFile(lockPath, "utf8");
3161
3161
  const parsed = JSON.parse(raw);
3162
3162
  if (typeof parsed.pid !== "number" || typeof parsed.createdAt !== "string") return null;
3163
3163
  return {
@@ -3171,9 +3171,9 @@ async function readLockPayload(lockPath) {
3171
3171
  async function resolveNormalizedFilePath(filePath) {
3172
3172
  const resolved = path.resolve(filePath);
3173
3173
  const dir = path.dirname(resolved);
3174
- await fsPromises.mkdir(dir, { recursive: true });
3174
+ await fs$1.mkdir(dir, { recursive: true });
3175
3175
  try {
3176
- const realDir = await fsPromises.realpath(dir);
3176
+ const realDir = await fs$1.realpath(dir);
3177
3177
  return path.join(realDir, path.basename(resolved));
3178
3178
  } catch {
3179
3179
  return resolved;
@@ -3187,7 +3187,7 @@ async function isStaleLock(lockPath, staleMs) {
3187
3187
  if (!Number.isFinite(createdAt) || Date.now() - createdAt > staleMs) return true;
3188
3188
  }
3189
3189
  try {
3190
- const stat = await fsPromises.stat(lockPath);
3190
+ const stat = await fs$1.stat(lockPath);
3191
3191
  return Date.now() - stat.mtimeMs > staleMs;
3192
3192
  } catch {
3193
3193
  return true;
@@ -3200,7 +3200,7 @@ async function releaseHeldLock(normalizedFile) {
3200
3200
  if (current.count > 0) return;
3201
3201
  HELD_LOCKS.delete(normalizedFile);
3202
3202
  await current.handle.close().catch(() => void 0);
3203
- await fsPromises.rm(current.lockPath, { force: true }).catch(() => void 0);
3203
+ await fs$1.rm(current.lockPath, { force: true }).catch(() => void 0);
3204
3204
  }
3205
3205
  async function acquireFileLock(filePath, options) {
3206
3206
  const normalizedFile = await resolveNormalizedFilePath(filePath);
@@ -3215,7 +3215,7 @@ async function acquireFileLock(filePath, options) {
3215
3215
  }
3216
3216
  const attempts = Math.max(1, options.retries.retries + 1);
3217
3217
  for (let attempt = 0; attempt < attempts; attempt += 1) try {
3218
- const handle = await fsPromises.open(lockPath, "wx");
3218
+ const handle = await fs$1.open(lockPath, "wx");
3219
3219
  await handle.writeFile(JSON.stringify({
3220
3220
  pid: process.pid,
3221
3221
  createdAt: (/* @__PURE__ */ new Date()).toISOString()
@@ -3232,7 +3232,7 @@ async function acquireFileLock(filePath, options) {
3232
3232
  } catch (err) {
3233
3233
  if (err.code !== "EEXIST") throw err;
3234
3234
  if (await isStaleLock(lockPath, options.stale)) {
3235
- await fsPromises.rm(lockPath, { force: true }).catch(() => void 0);
3235
+ await fs$1.rm(lockPath, { force: true }).catch(() => void 0);
3236
3236
  continue;
3237
3237
  }
3238
3238
  if (attempt >= attempts - 1) break;
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { o as resolveOAuthPath, s as resolveStateDir } from "./paths-CE7eVGHg.js";
3
3
  import { t as DEFAULT_AGENT_ID } from "./session-key-BmQ2R1ev.js";
4
- import { Y as resolveUserPath } from "./registry-9AaJQms1.js";
5
- import { i as resolveAgentModelPrimary, n as resolveAgentConfig } from "./agent-scope-DE5eEsvh.js";
6
- import { t as createSubsystemLogger } from "./subsystem-DhOo2FZn.js";
4
+ import { Y as resolveUserPath } from "./registry-C-JddWwo.js";
5
+ import { i as resolveAgentModelPrimary, n as resolveAgentConfig } from "./agent-scope-D_MtsuXX.js";
6
+ import { t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
7
7
  import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-B31ugq7R.js";
8
8
  import { t as parseBooleanValue } from "./boolean-mcn6kL0s.js";
9
9
  import path from "node:path";
@@ -1,5 +1,5 @@
1
1
  import { g as resolveStateDir } from "./paths-BSzKwaxE.js";
2
- import { $ as buildXiaomiProvider, Bt as resolveCloudflareAiGatewayBaseUrl, Ft as buildHuggingfaceModelDefinition, J as QIANFAN_BASE_URL, L as normalizeProviderId, Nt as HUGGINGFACE_BASE_URL, Pt as HUGGINGFACE_MODEL_CATALOG, Q as buildQianfanProvider, Rt as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, T as resolveSymiAgentDir, X as XIAOMI_DEFAULT_MODEL_ID, Y as QIANFAN_DEFAULT_MODEL_ID, Z as buildKimiCodingProvider, at as VENICE_BASE_URL, ct as buildVeniceModelDefinition, dt as buildTogetherModelDefinition, ft as SYNTHETIC_BASE_URL, ht as buildSyntheticModelDefinition, lt as TOGETHER_BASE_URL, mt as SYNTHETIC_MODEL_CATALOG, ot as VENICE_DEFAULT_MODEL_REF, pt as SYNTHETIC_DEFAULT_MODEL_REF, st as VENICE_MODEL_CATALOG, ut as TOGETHER_MODEL_CATALOG, v as upsertAuthProfile, zt as buildCloudflareAiGatewayModelDefinition } from "./auth-profiles-BVtpxYtY.js";
2
+ import { $ as buildXiaomiProvider, Bt as resolveCloudflareAiGatewayBaseUrl, Ft as buildHuggingfaceModelDefinition, J as QIANFAN_BASE_URL, L as normalizeProviderId, Nt as HUGGINGFACE_BASE_URL, Pt as HUGGINGFACE_MODEL_CATALOG, Q as buildQianfanProvider, Rt as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, T as resolveSymiAgentDir, X as XIAOMI_DEFAULT_MODEL_ID, Y as QIANFAN_DEFAULT_MODEL_ID, Z as buildKimiCodingProvider, at as VENICE_BASE_URL, ct as buildVeniceModelDefinition, dt as buildTogetherModelDefinition, ft as SYNTHETIC_BASE_URL, ht as buildSyntheticModelDefinition, lt as TOGETHER_BASE_URL, mt as SYNTHETIC_MODEL_CATALOG, ot as VENICE_DEFAULT_MODEL_REF, pt as SYNTHETIC_DEFAULT_MODEL_REF, st as VENICE_MODEL_CATALOG, ut as TOGETHER_MODEL_CATALOG, v as upsertAuthProfile, zt as buildCloudflareAiGatewayModelDefinition } from "./auth-profiles-CPlXilKu.js";
3
3
  import path from "node:path";
4
4
  import fs from "node:fs";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { Q as theme, Z as isRich, h as visibleWidth, tn as hasRootVersionAlias } from "./entry.js";
2
- import { jt as resolveCommitHash } from "./subagent-registry-CWolsN8K.js";
2
+ import { jt as resolveCommitHash } from "./subagent-registry-B1RgR3-0.js";
3
3
 
4
4
  //#region src/cli/tagline.ts
5
5
  const DEFAULT_TAGLINE = "All your chats, one Symi.";
@@ -2,29 +2,29 @@ import { b as danger, j as theme, x as info } from "./registry-DKJLAPDB.js";
2
2
  import { g as resolveStateDir } from "./paths-BSzKwaxE.js";
3
3
  import { v as shortenHomePath } from "./utils-BU8jVQFM.js";
4
4
  import { f as defaultRuntime } from "./subsystem-CtH6J8AV.js";
5
- import "./auth-profiles-BVtpxYtY.js";
5
+ import "./auth-profiles-CPlXilKu.js";
6
6
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
7
7
  import "./exec-DKyLtSjm.js";
8
- import "./agent-scope-BjEBQhs0.js";
8
+ import "./agent-scope-B_oqIiaD.js";
9
9
  import "./github-copilot-token-BTNK6Tcd.js";
10
10
  import { t as parseBooleanValue } from "./boolean-Wzu0-e0P.js";
11
11
  import "./env-B97Ms861.js";
12
- import { i as loadConfig } from "./config-CW8aDVM0.js";
12
+ import { i as loadConfig } from "./config-CphS_6eg.js";
13
13
  import "./manifest-registry-D7Qup2Vq.js";
14
14
  import "./redact-CSc_2Nka.js";
15
15
  import "./errors-Z-WkF18Q.js";
16
- import "./fs-safe-DjAKGGJ8.js";
17
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-DaQrPPet.js";
16
+ import "./fs-safe-B6nMaZqV.js";
17
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-Dc6A9_vI.js";
18
18
  import { t as movePathToTrash } from "./trash-BjVrPcAx.js";
19
19
  import "./message-channel-C_V8IAYx.js";
20
- import "./client-Bs2zB0rY.js";
21
- import "./call-CdXXPXpo.js";
22
- import "./pairing-token-DorpwP8O.js";
20
+ import "./client-ZZqt0H0-.js";
21
+ import "./call-Du4CT1Hp.js";
22
+ import "./pairing-token-CURbSHdi.js";
23
23
  import { t as formatDocsLink } from "./links-CSaUKNKm.js";
24
24
  import { n as runCommandWithRuntime } from "./cli-utils-CX1oQ81G.js";
25
25
  import { t as formatHelpExamples } from "./help-format-BI_G2p1e.js";
26
26
  import "./progress-CyPyGCDn.js";
27
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BJF1iDnx.js";
27
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-CUIXRk2t.js";
28
28
  import { t as copyToClipboard } from "./clipboard-McRwF3r0.js";
29
29
  import { n as inheritOptionFromParent } from "./command-options-ChiIn6Na.js";
30
30
  import { fileURLToPath } from "node:url";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.3.1",
3
- "commit": "681aaf1e025591f59ab52113bdeb272a83dad850",
4
- "builtAt": "2026-05-03T16:30:20.297Z"
2
+ "version": "3.3.3",
3
+ "commit": "279709ad23b5cefc9b36d3a898e59b130aacb259",
4
+ "builtAt": "2026-05-03T16:52:52.239Z"
5
5
  }