@symerian/symi 3.3.3 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/dist/{agent-9zPi5Bip.js → agent-CEYVMKqC.js} +12 -12
  2. package/dist/{agent-M9EC02CI.js → agent-D4GA9G6b.js} +12 -12
  3. package/dist/{agent-scope-D_MtsuXX.js → agent-scope-B1Ina6jV.js} +0 -1
  4. package/dist/{agent-scope-8LjCKvga.js → agent-scope-B6p555mP.js} +0 -1
  5. package/dist/{agent-scope-B_oqIiaD.js → agent-scope-DIjW66iO.js} +0 -1
  6. package/dist/{agent-scope-ixfTVesj.js → agent-scope-DZEuQYrq.js} +0 -1
  7. package/dist/{agents-CW9uf_n0.js → agents-Bh3R6D2o.js} +8 -8
  8. package/dist/{agents.config-B_LFeRQS.js → agents.config-D1nFwU81.js} +1 -1
  9. package/dist/{agents.config-RCL-IJds.js → agents.config-D7cHU-OU.js} +1 -1
  10. package/dist/{audit-DEXQlMwn.js → audit-BzlpUi7R.js} +9 -9
  11. package/dist/{audit-B_HL4UJ_.js → audit-DdRmmIE-.js} +9 -9
  12. package/dist/{auth-choice-DS5oaUTz.js → auth-choice-DY9j2BCn.js} +8 -8
  13. package/dist/{auth-choice-Bio1-QUP.js → auth-choice-EyD891pg.js} +8 -8
  14. package/dist/{auth-profiles-CPlXilKu.js → auth-profiles-BFSVvFKy.js} +1 -1
  15. package/dist/{auth-profiles-duUuQXeC.js → auth-profiles-Boy_KMd1.js} +1 -1
  16. package/dist/{auth-profiles-CKIq0T1s.js → auth-profiles-Bs5D0GUv.js} +1 -1
  17. package/dist/{auth-token-DS3MIrxf.js → auth-token-Brb1Askz.js} +1 -1
  18. package/dist/{auth-token-DTj2WrbV.js → auth-token-SebYuqfR.js} +1 -1
  19. package/dist/{banner-0vT1O9w2.js → banner-DAGLXnYN.js} +1 -1
  20. package/dist/{browser-cli-CcKmOVu4.js → browser-cli-BH_i0QVr.js} +5 -5
  21. package/dist/{browser-cli-C-Q0t9y_.js → browser-cli-YS3EqU78.js} +5 -5
  22. package/dist/build-info.json +3 -3
  23. package/dist/bundled/boot-md/handler.js +17 -17
  24. package/dist/bundled/session-memory/handler.js +16 -16
  25. package/dist/{call-BocrIanP.js → call-BDC211Sd.js} +1 -1
  26. package/dist/{call-Du4CT1Hp.js → call-uEbo7Orp.js} +1 -1
  27. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  28. package/dist/{channel-options-CcGtiy0Q.js → channel-options-2P4SZQZY.js} +1 -1
  29. package/dist/{channel-options-DZ17japQ.js → channel-options-Dr3Iu_Yn.js} +1 -1
  30. package/dist/{channels-cli-DxSXTCCh.js → channels-cli-BwAPAj2_.js} +38 -38
  31. package/dist/{channels-cli-BSvEpjOV.js → channels-cli-Bxq-od6o.js} +39 -39
  32. package/dist/{chrome-C9mX2mtt.js → chrome-Cwdu25B-.js} +1 -1
  33. package/dist/{chrome-owBWinlj.js → chrome-DfmXP1Xa.js} +1 -1
  34. package/dist/{chrome-DYKZHZ9k.js → chrome-DvbQQ7qH.js} +1 -1
  35. package/dist/{chrome-CQnRgvJz.js → chrome-Dw6r3c_L.js} +1 -1
  36. package/dist/{cli-CHk4wR-F.js → cli-6ogm9wuW.js} +34 -34
  37. package/dist/{cli-Dn9ylBb2.js → cli-BCcQWANT.js} +33 -33
  38. package/dist/{command-registry-UxY6jjeo.js → command-registry-BBgjrvGs.js} +11 -11
  39. package/dist/{commands-registry-W2GQIywv.js → commands-registry-BNCcZy2y.js} +1 -1
  40. package/dist/{commands-registry-BO62ZyK2.js → commands-registry-BRWqR35Z.js} +1 -1
  41. package/dist/{commands-registry-CY-QAK3n.js → commands-registry-Bccp0eH5.js} +1 -1
  42. package/dist/{commands-registry-DaPrWQSe.js → commands-registry-CBFyeJ5K.js} +1 -1
  43. package/dist/{completion-cli-DebZ6nSb.js → completion-cli-B_lEJpoO.js} +1 -1
  44. package/dist/{completion-cli-m9L2Gv9t.js → completion-cli-DgR7QC7W.js} +2 -2
  45. package/dist/{config-CphS_6eg.js → config-C5Ztbpa2.js} +21 -127
  46. package/dist/{config-B91360jE.js → config-CVMQkipH.js} +21 -127
  47. package/dist/{config-cli-D4_gO3Pd.js → config-cli-AEQbHSmK.js} +4 -4
  48. package/dist/{config-cli-D9YdRiN2.js → config-cli-Vl7Xxk-9.js} +4 -4
  49. package/dist/{config-guard-I1mvbCOr.js → config-guard-DiNrx0Cz.js} +2 -2
  50. package/dist/{config-guard-B5BwQ-AP.js → config-guard-IIOwDwXX.js} +6 -6
  51. package/dist/{config-validation-A2rXGvVY.js → config-validation-CmSRTlVT.js} +1 -1
  52. package/dist/{config-validation-BwrodmsK.js → config-validation-sGgKL2lH.js} +1 -1
  53. package/dist/{configure-D9NeIMjP.js → configure-BLL4bVXO.js} +11 -11
  54. package/dist/{configure-BXjJQG1p.js → configure-BbpI3Lrz.js} +11 -11
  55. package/dist/{control-service-D3BYG-FJ.js → control-service-Bew5Jq9S.js} +4 -4
  56. package/dist/{control-service-CMVDL3Yl.js → control-service-wnEr9eCS.js} +4 -4
  57. package/dist/control-ui/css/style.css +0 -100
  58. package/dist/control-ui/index.html +0 -13
  59. package/dist/control-ui/js/app.js +7 -104
  60. package/dist/control-ui/js/render.js +0 -5
  61. package/dist/{cron-cli-A0c5t2V9.js → cron-cli-PyIF_pI1.js} +5 -5
  62. package/dist/{cron-cli-DR4W075u.js → cron-cli-vlseqDwZ.js} +5 -5
  63. package/dist/{daemon-cli-CbqjLPV8.js → daemon-cli-BQJGtFBH.js} +6 -6
  64. package/dist/{daemon-cli-B__05b-d.js → daemon-cli-CYQDp0HS.js} +6 -6
  65. package/dist/daemon-cli.js +17 -134
  66. package/dist/{daemon-runtime-Y8XS0WGP.js → daemon-runtime-CCIiGZsG.js} +1 -1
  67. package/dist/{daemon-runtime-BD-3XS8R.js → daemon-runtime-DGcALfeE.js} +1 -1
  68. package/dist/{deliver-DcP6aVt4.js → deliver-CHtzqhdE.js} +2 -2
  69. package/dist/{deliver-63FtOVMC.js → deliver-CKAEloz3.js} +2 -2
  70. package/dist/{deliver-DSv-Z24A.js → deliver-CtSoKpd9.js} +9 -9
  71. package/dist/{deliver-DSMNXd9k.js → deliver-DnF5-Jn0.js} +9 -9
  72. package/dist/{deps-DD_ZCq3v.js → deps-CkEuUibi.js} +1 -1
  73. package/dist/{devices-cli-BRqbjkNA.js → devices-cli-DHjCb6xx.js} +4 -4
  74. package/dist/{devices-cli-CJom2K8b.js → devices-cli-DuV6VLMa.js} +4 -4
  75. package/dist/{directory-cli-rhATy7j5.js → directory-cli-B6BW3AGE.js} +3 -3
  76. package/dist/{directory-cli-BwhEj1FE.js → directory-cli-Cj3zj4zt.js} +3 -3
  77. package/dist/{dm-policy-shared-C1TQOlkZ.js → dm-policy-shared-5HLej1br.js} +1 -1
  78. package/dist/{dm-policy-shared-CC_pbZzd.js → dm-policy-shared-CSF4Tw_F.js} +1 -1
  79. package/dist/{dns-cli-DSOfBG2a.js → dns-cli-BpLjriTN.js} +3 -3
  80. package/dist/{dns-cli-DzQDEQM2.js → dns-cli-Jd9gJc0T.js} +3 -3
  81. package/dist/{doctor-completion-D1ImH_eM.js → doctor-completion-DaXTGUhV.js} +1 -1
  82. package/dist/{doctor-completion--AgLv0kV.js → doctor-completion-o02Kanxp.js} +1 -1
  83. package/dist/{doctor-config-flow-4UT3396o.js → doctor-config-flow-Bdc03rxx.js} +4 -4
  84. package/dist/{doctor-config-flow-DlX_L8Y-.js → doctor-config-flow-QPIo58ud.js} +4 -4
  85. package/dist/entry.js +1 -1
  86. package/dist/{exec-approvals-cli-DxvIsIQi.js → exec-approvals-cli-CJW8VyEa.js} +6 -6
  87. package/dist/{exec-approvals-cli-D-MLmhzh.js → exec-approvals-cli-DKRhv0JO.js} +6 -6
  88. package/dist/extensionAPI.js +15 -15
  89. package/dist/{gateway-cli-5KVJJGFm.js → gateway-cli-CKbm9ikc.js} +54 -54
  90. package/dist/{gateway-cli-BjGvnfU3.js → gateway-cli-uZu6GsIz.js} +55 -55
  91. package/dist/{gateway-rpc-a6_nYKAR.js → gateway-rpc-BnGjn5ao.js} +1 -1
  92. package/dist/{gateway-rpc-CUIXRk2t.js → gateway-rpc-BuXF5p-F.js} +1 -1
  93. package/dist/{glass-ui-ws-f_OPXcN2.js → glass-ui-ws-CagpHsSJ.js} +46 -46
  94. package/dist/{glass-ui-ws-CwJdwqn6.js → glass-ui-ws-DLs3LNTG.js} +45 -45
  95. package/dist/{health-BdxlhiXA.js → health-D41l07BM.js} +4 -4
  96. package/dist/{health-CvdEEMPS.js → health-DrjeJzLE.js} +4 -4
  97. package/dist/{hooks-cli-BfVq5C1p.js → hooks-cli-BWp12-sQ.js} +34 -34
  98. package/dist/{hooks-cli-CQ6rF_LQ.js → hooks-cli-CqiK6DE3.js} +35 -35
  99. package/dist/index.js +39 -39
  100. package/dist/{lifecycle-core-_BlNODTH.js → lifecycle-core-BhmX7dfP.js} +2 -2
  101. package/dist/{lifecycle-core-D8r8m6C0.js → lifecycle-core-flVPkttM.js} +2 -2
  102. package/dist/llm-slug-generator.js +16 -16
  103. package/dist/{local-roots-WWcVq0Ma.js → local-roots-BCTg2O-a.js} +1 -1
  104. package/dist/{local-roots-CkcUju_2.js → local-roots-Bk3321gv.js} +1 -1
  105. package/dist/{local-roots-JhQs5w0I.js → local-roots-BnDnugq3.js} +1 -1
  106. package/dist/{logs-cli-zX4DscY_.js → logs-cli-BgLHN6qm.js} +5 -5
  107. package/dist/{logs-cli-BEWOyW5R.js → logs-cli-DLktVEgU.js} +5 -5
  108. package/dist/{manager-D_AVoLu8.js → manager-BU8KmNG0.js} +3 -3
  109. package/dist/{manager-BUS2wGkQ.js → manager-CF2y6wbp.js} +3 -3
  110. package/dist/{manager-BQ5Wl5r-.js → manager-DJHy2EAm.js} +3 -3
  111. package/dist/{manager-BI8o6AGu.js → manager-Uwh87iKi.js} +3 -3
  112. package/dist/{memory-CMKSFx1T.js → memory-cQSSricw.js} +5 -5
  113. package/dist/{memory-cli-CmPcKzGZ.js → memory-cli-DIchyZJ2.js} +5 -5
  114. package/dist/{memory-cli-rdfaJrCS.js → memory-cli-DXS73nCX.js} +5 -5
  115. package/dist/{memory-2OKjMT7V.js → memory-gSw5eshw.js} +5 -5
  116. package/dist/{model-BKtw-Bqs.js → model-BRcKPW49.js} +1 -1
  117. package/dist/{model-BgG_n_kc.js → model-DgN15006.js} +1 -1
  118. package/dist/{model-catalog-zuX3pwF5.js → model-catalog-BKCEeOYV.js} +4 -4
  119. package/dist/{model-catalog-DKBhNiWm.js → model-catalog-DiG_T-Hd.js} +4 -4
  120. package/dist/{model-picker-DCkIP0W7.js → model-picker-Ba0aPjVG.js} +3 -3
  121. package/dist/{model-picker-DKzvan7c.js → model-picker-Cj3P3dRc.js} +3 -3
  122. package/dist/{model-selection-BE83O-pv.js → model-selection-DUQlsUfk.js} +1 -1
  123. package/dist/{models-DRtgYyTB.js → models-CcT56XMM.js} +16 -16
  124. package/dist/{models-cli-183sPHZO.js → models-cli-BGBn_XQb.js} +40 -40
  125. package/dist/{models-cli-DN2zTFw9.js → models-cli-C7vX8wrK.js} +39 -39
  126. package/dist/{models-config-BfmuswQ_.js → models-config-T55qUOQH.js} +2 -2
  127. package/dist/{models-config-CFUwiu4W.js → models-config-of-BhU9a.js} +2 -2
  128. package/dist/{node-cli-CgWAxe-K.js → node-cli-6nSZg2Ag.js} +11 -11
  129. package/dist/{node-cli-CjA21eC1.js → node-cli-P6Bd4azz.js} +11 -11
  130. package/dist/{nodes-cli-DHcCJ6Jo.js → nodes-cli-CNbL0FQP.js} +5 -5
  131. package/dist/{nodes-cli-CprJ5K63.js → nodes-cli-CxlfnpiJ.js} +5 -5
  132. package/dist/{onboard-CPHA8CdV.js → onboard-C5Ivk_7_.js} +10 -10
  133. package/dist/{onboard-bTgNnEHK.js → onboard-CG9scrQx.js} +10 -10
  134. package/dist/{onboard-channels-D5ugcgBE.js → onboard-channels-B6_L4dD7.js} +3 -3
  135. package/dist/{onboard-channels-B_iyN1qL.js → onboard-channels-Br6c8ho-.js} +3 -3
  136. package/dist/{onboard-custom-C0GtEEDP.js → onboard-custom-C--9q1aw.js} +3 -3
  137. package/dist/{onboard-custom-Cla8O-Tv.js → onboard-custom-CdIFCex3.js} +3 -3
  138. package/dist/{onboard-helpers-LbRPhqLj.js → onboard-helpers-DU7-6FKZ.js} +3 -3
  139. package/dist/{onboard-helpers-D2mWJnFB.js → onboard-helpers-KK8MYq1e.js} +3 -3
  140. package/dist/{onboard-hooks-DZD-nGLB.js → onboard-hooks-CP54Px40.js} +1 -1
  141. package/dist/{onboard-hooks-OBLRvKmN.js → onboard-hooks-Dn62HF2k.js} +1 -1
  142. package/dist/{onboard-remote-Bi2BNRnh.js → onboard-remote-BCG6Pa34.js} +1 -1
  143. package/dist/{onboard-remote-DRnsw2VC.js → onboard-remote-BNgEcJhQ.js} +1 -1
  144. package/dist/{onboard-skills-C0XDXvWw.js → onboard-skills-BMZQWj72.js} +2 -2
  145. package/dist/{onboard-skills-C6FIDEFz.js → onboard-skills-Dl9x6Ewy.js} +2 -2
  146. package/dist/{onboarding-D2SLzcWH.js → onboarding-BDfOQl6b.js} +12 -12
  147. package/dist/{onboarding-ii3ok0Ih.js → onboarding-CsBNx5v8.js} +12 -12
  148. package/dist/{onboarding.finalize-DOHv_Xe8.js → onboarding.finalize-CLPOjrbG.js} +18 -18
  149. package/dist/{onboarding.finalize-g-_d-wVY.js → onboarding.finalize-Dnw20wa-.js} +19 -19
  150. package/dist/{onboarding.gateway-config-BmaAH8uo.js → onboarding.gateway-config-BRSy-1P9.js} +6 -6
  151. package/dist/{onboarding.gateway-config-BT8nU-bQ.js → onboarding.gateway-config-D-SDWyuX.js} +6 -6
  152. package/dist/{openai-model-default-BiSllV8d.js → openai-model-default-BVPmAuXK.js} +2 -2
  153. package/dist/{openai-model-default-BeRT9S75.js → openai-model-default-CDDFpxUr.js} +2 -2
  154. package/dist/{outbound-send-deps-WKDU2JsO.js → outbound-send-deps-EMcNAOK3.js} +1 -1
  155. package/dist/{pairing-cli-C7HoBU3D.js → pairing-cli-B3N7sSmL.js} +4 -4
  156. package/dist/{pairing-cli-DdtW6Nu-.js → pairing-cli-BlH0ZFgu.js} +4 -4
  157. package/dist/{pairing-store-mmeniyUt.js → pairing-store-BGf29nPx.js} +1 -1
  158. package/dist/{pairing-store-CtYJcUUv.js → pairing-store-CtBnCGHZ.js} +1 -1
  159. package/dist/{pi-auth-json-BXOVPAoA.js → pi-auth-json-BKgUjASO.js} +1 -1
  160. package/dist/{pi-auth-json-D-ycHv8o.js → pi-auth-json-CUZ7IgY7.js} +1 -1
  161. package/dist/{pi-auth-json-D4Bl4hBw.js → pi-auth-json-De8XczIE.js} +1 -1
  162. package/dist/{pi-auth-json-1Z1j1PDI.js → pi-auth-json-SHGGQzOL.js} +1 -1
  163. package/dist/{pi-embedded-CvGL6bij.js → pi-embedded-DE2UILhi.js} +26 -26
  164. package/dist/{pi-embedded-helpers-DnAXWUyj.js → pi-embedded-helpers-Ak7hKJEV.js} +1 -1
  165. package/dist/{pi-embedded-helpers-BRM8EM4P.js → pi-embedded-helpers-B-A6e4jw.js} +1 -1
  166. package/dist/{pi-tools.policy-BBHbN8Nh.js → pi-tools.policy-B3nP1-Zp.js} +3 -3
  167. package/dist/{pi-tools.policy-D-WJTlz8.js → pi-tools.policy-BUY9pOhW.js} +3 -3
  168. package/dist/{plugin-auto-enable-B87oiELY.js → plugin-auto-enable-CF_vB-_e.js} +1 -1
  169. package/dist/{plugin-auto-enable-BCwyDNSP.js → plugin-auto-enable-CNDA103e.js} +1 -1
  170. package/dist/{plugin-registry-Dl3HqI5J.js → plugin-registry-C02Ztbi2.js} +3 -3
  171. package/dist/{plugin-registry-DSG-0min.js → plugin-registry-D2YgQFB0.js} +3 -3
  172. package/dist/plugin-sdk/agents/agent-scope.d.ts +0 -1
  173. package/dist/plugin-sdk/agents/session-write-lock.d.ts +1 -1
  174. package/dist/plugin-sdk/agents/tools/browser-tool.schema.d.ts +2 -2
  175. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/shared.d.ts +1 -1
  176. package/dist/plugin-sdk/auto-reply/reply/subagents-utils.d.ts +1 -1
  177. package/dist/plugin-sdk/channels/plugins/bluebubbles-actions.d.ts +1 -1
  178. package/dist/plugin-sdk/config/sessions/types.d.ts +0 -7
  179. package/dist/plugin-sdk/config/types.agent-defaults.d.ts +0 -38
  180. package/dist/plugin-sdk/config/types.agents.d.ts +0 -2
  181. package/dist/plugin-sdk/config/types.channels.d.ts +0 -10
  182. package/dist/plugin-sdk/config/types.msteams.d.ts +0 -3
  183. package/dist/plugin-sdk/config/types.slack.d.ts +0 -3
  184. package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +0 -17
  185. package/dist/plugin-sdk/config/zod-schema.agent-runtime.d.ts +0 -34
  186. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +0 -34
  187. package/dist/plugin-sdk/config/zod-schema.d.ts +2 -76
  188. package/dist/plugin-sdk/config/zod-schema.providers-core.d.ts +3 -63
  189. package/dist/plugin-sdk/config/zod-schema.providers.d.ts +2 -43
  190. package/dist/plugin-sdk/gateway/protocol/index.d.ts +23 -23
  191. package/dist/plugin-sdk/index.js +17 -124
  192. package/dist/plugin-sdk/infra/outbound/targets.d.ts +0 -17
  193. package/dist/{plugins-cli-CUTyMzoz.js → plugins-cli-Ba3CBKt4.js} +34 -34
  194. package/dist/{plugins-cli-CEj-qNus.js → plugins-cli-vVBp7ZxP.js} +35 -35
  195. package/dist/{program-CjZ65fN4.js → program-CUvzxNJ4.js} +41 -41
  196. package/dist/{program-context-GaV454D6.js → program-context-4FxfWCCw.js} +37 -37
  197. package/dist/{prompt-select-styled-CwXc8EFB.js → prompt-select-styled-DTaKuS6l.js} +18 -18
  198. package/dist/{prompt-select-styled-BkowcFQR.js → prompt-select-styled-vwMhoP-U.js} +18 -18
  199. package/dist/{provider-auth-helpers-CRobCJR_.js → provider-auth-helpers-Bu5Q-WC_.js} +4 -4
  200. package/dist/{provider-auth-helpers-Bo1_RSEb.js → provider-auth-helpers-WUtMTKoJ.js} +4 -4
  201. package/dist/{push-apns-Bv16DYOL.js → push-apns-CnfKExbf.js} +1 -1
  202. package/dist/{push-apns-BBym2pAw.js → push-apns-D6zky4hI.js} +1 -1
  203. package/dist/{pw-ai-BW5obXRK.js → pw-ai-BpKRTux4.js} +4 -4
  204. package/dist/{pw-ai-Cnc8PGzN.js → pw-ai-CNPSgxuq.js} +4 -4
  205. package/dist/{pw-ai-B3qisJP1.js → pw-ai-DJ_8OOoJ.js} +4 -4
  206. package/dist/{pw-ai-GICi0s74.js → pw-ai-DQ1ckkue.js} +4 -4
  207. package/dist/{qmd-manager-DKAr0zp6.js → qmd-manager--kGuC39q.js} +1 -1
  208. package/dist/{qmd-manager-C-J9Sfjk.js → qmd-manager-358OTDns.js} +1 -1
  209. package/dist/{qmd-manager-CTHJcHPq.js → qmd-manager-BIMoHiZY.js} +1 -1
  210. package/dist/{qmd-manager-94nTSYk_.js → qmd-manager-PszixIzI.js} +1 -1
  211. package/dist/{qr-cli-BIdgVMK1.js → qr-cli-BjgtEKM0.js} +3 -3
  212. package/dist/{qr-cli-QUvxvMzs.js → qr-cli-DLAxaM_N.js} +3 -3
  213. package/dist/{redact-identifier-gZfj5mH2.js → redact-identifier-DvxxnBnB.js} +2 -2
  214. package/dist/{register.agent-QXqsCc-q.js → register.agent-B5s0F98B.js} +48 -48
  215. package/dist/{register.agent-z4GJgPr-.js → register.agent-BtVDiH_r.js} +46 -46
  216. package/dist/{register.configure-DaMmDTaj.js → register.configure-CD7DAbZQ.js} +48 -48
  217. package/dist/{register.configure-CYXErdjF.js → register.configure-NZcXrNuS.js} +49 -49
  218. package/dist/{register.maintenance-CBGhJ5R9.js → register.maintenance-DIkEIl8R.js} +47 -47
  219. package/dist/{register.maintenance-CcWTycM4.js → register.maintenance-jTTn3oMK.js} +45 -45
  220. package/dist/{register.message-EMkIi8Ga.js → register.message-Cm77gd0W.js} +36 -36
  221. package/dist/{register.message-Bcvdcd3v.js → register.message-DEa450JY.js} +35 -35
  222. package/dist/{register.onboard-CtcLKgR4.js → register.onboard-5TEaQi6x.js} +17 -17
  223. package/dist/{register.onboard-lmLaYYZl.js → register.onboard-DAMmTKhy.js} +17 -17
  224. package/dist/{register.setup-D47FYXH2.js → register.setup-B7PRYzpb.js} +17 -17
  225. package/dist/{register.setup-Cu8R_HaH.js → register.setup-DCwJ-ZlR.js} +17 -17
  226. package/dist/{register.status-health-sessions--q6ddHX9.js → register.status-health-sessions-BXjn8VnY.js} +25 -25
  227. package/dist/{register.status-health-sessions-B9CINBWm.js → register.status-health-sessions-h8DNZ6hd.js} +23 -23
  228. package/dist/{register.subclis-CHTY5PYx.js → register.subclis-BDIT6N_V.js} +27 -27
  229. package/dist/{replies-P7jbK6Bo.js → replies--JRoxSNQ.js} +1 -1
  230. package/dist/{replies-BOy28KVL.js → replies-BE5ZprKO.js} +1 -1
  231. package/dist/{replies-BeK3uuQ8.js → replies-BnGR-qet.js} +3 -3
  232. package/dist/{replies-C82xaXm3.js → replies-R4bX9dTZ.js} +1 -1
  233. package/dist/{reply-prefix-CRdCnS44.js → reply-prefix-B7pYEiW_.js} +1 -1
  234. package/dist/{reply-prefix-xaWqfM9m.js → reply-prefix-BOdARKaY.js} +1 -1
  235. package/dist/{reply-prefix-ChIeKp-P.js → reply-prefix-D3muTai5.js} +1 -1
  236. package/dist/{reply-prefix-BqgLflxO.js → reply-prefix-i-FPYcoQ.js} +1 -1
  237. package/dist/{resolve-route-CIS2tjpz.js → resolve-route-Be5fFo0_.js} +1 -1
  238. package/dist/{resolve-route-DKhx5C-P.js → resolve-route-CRWE36h5.js} +1 -1
  239. package/dist/{resolve-route-BoF_Jubb.js → resolve-route-DNKcB7Q9.js} +1 -1
  240. package/dist/{resolve-route-D0TboSMz.js → resolve-route-DaA1sG8I.js} +1 -1
  241. package/dist/{routes-MX2zYTZX.js → routes-BFcVAVwZ.js} +3 -3
  242. package/dist/{routes-BJ2iXVJF.js → routes-Czff-g7s.js} +3 -3
  243. package/dist/{rpc-CSI4uFgj.js → rpc-Dv5VElqW.js} +1 -1
  244. package/dist/{rpc-CzGWoSQY.js → rpc-DyGMGnDM.js} +1 -1
  245. package/dist/{run-main-Bzub4qvZ.js → run-main-DTZupTas.js} +53 -53
  246. package/dist/{sandbox-CQU7Gcb9.js → sandbox-W71753dA.js} +6 -6
  247. package/dist/{sandbox-DzRvFxeE.js → sandbox-Yk0sGNnf.js} +6 -6
  248. package/dist/{sandbox-cli-Ci90LP_X.js → sandbox-cli-XK1CujoA.js} +8 -8
  249. package/dist/{sandbox-cli-WYHWWki_.js → sandbox-cli-xejs3DAe.js} +8 -8
  250. package/dist/{security-cli-BfOZ_cJN.js → security-cli-C0OL3r1u.js} +14 -14
  251. package/dist/{security-cli-qZaxHyoZ.js → security-cli-D72O3Drj.js} +14 -14
  252. package/dist/{send-DulXmWcG.js → send-BIeRhWqk.js} +2 -2
  253. package/dist/{send-CLJ2KPVT.js → send-Bw1MYrkS.js} +2 -2
  254. package/dist/{send-BAKkoPOy.js → send-D9mx56JE.js} +2 -2
  255. package/dist/{server-context-CCPE_W8C.js → server-context-BxbXmmz7.js} +5 -5
  256. package/dist/{server-context-BsMQBnUG.js → server-context-D1WDO10m.js} +5 -5
  257. package/dist/{server-methods-THO5vDXZ.js → server-methods-CMznpteR.js} +26 -59
  258. package/dist/{server-methods-C2UnIkWU.js → server-methods-SRD683d-.js} +25 -58
  259. package/dist/{server-node-events-j4AWHS1m.js → server-node-events-CV6-B9Hg.js} +37 -37
  260. package/dist/{server-node-events-mBi614x_.js → server-node-events-x9VKUipR.js} +36 -36
  261. package/dist/{session-utils-0F9pB5d6.js → session-utils-BgILIwNf.js} +5 -5
  262. package/dist/{session-utils-i74hYiQl.js → session-utils-CZAshAsv.js} +5 -5
  263. package/dist/{sessions-DQMaURzb.js → sessions-C_xvI21O.js} +2 -2
  264. package/dist/{sessions-CC1W02Uv.js → sessions-DKoFrAAL.js} +4 -4
  265. package/dist/{sessions-7jk0D1BI.js → sessions-TVtiVSw4.js} +2 -2
  266. package/dist/{shared-4Z8Ut8Cs.js → shared-CPD46OzN.js} +3 -3
  267. package/dist/{shared-BIUt7Xoj.js → shared-iK9UaK0Y.js} +3 -3
  268. package/dist/{skill-commands-Cwrebyvj.js → skill-commands-5-5JJtVf.js} +3 -3
  269. package/dist/{skill-commands-DP1fshwh.js → skill-commands-CWvBRsds.js} +3 -3
  270. package/dist/{skill-commands-CEY0MdSm.js → skill-commands-DlbnDTRO.js} +3 -3
  271. package/dist/{skill-commands-DzodvMO3.js → skill-commands-Dy8IDORU.js} +3 -3
  272. package/dist/{skills-xmXjOnAV.js → skills-CSykGHmk.js} +2 -2
  273. package/dist/{skills-D0k4o0Ez.js → skills-D0hw3721.js} +1 -1
  274. package/dist/{skills-cli-BkIH3HKr.js → skills-cli-BZvDZu8v.js} +3 -3
  275. package/dist/{skills-cli-C6lNyNrs.js → skills-cli-BeJZwWJF.js} +3 -3
  276. package/dist/{skills-remote-DEkSSz2R.js → skills-remote-Dv9T079m.js} +1 -1
  277. package/dist/{skills-remote-Db5Wwr4s.js → skills-remote-Vz1dbWNB.js} +1 -1
  278. package/dist/{ssrf-Dcgaqg3U.js → ssrf-B09I40bf.js} +21 -127
  279. package/dist/{ssrf-BJZIZ4yo.js → ssrf-BEXdgoWo.js} +21 -127
  280. package/dist/{status-BtAHzMLu.js → status-BZHeQGF_.js} +3 -3
  281. package/dist/{status-BuHx0FXI.js → status-DMNL9Ga5.js} +12 -12
  282. package/dist/{status-FKqnkO3K.js → status-DRtu03r8.js} +13 -13
  283. package/dist/{status-MkJRgsTJ.js → status-JhT3liK_.js} +3 -3
  284. package/dist/{status.update-CN2XgChL.js → status.update-BOb9rNG9.js} +1 -1
  285. package/dist/{status.update-CQ1vKrEg.js → status.update-D3Q9PDtb.js} +1 -1
  286. package/dist/{subagent-registry-B1RgR3-0.js → subagent-registry-B9IxZkG5.js} +40 -40
  287. package/dist/{synthesis-DsYfiC2s.js → synthesis--06mqRPn.js} +16 -16
  288. package/dist/{synthesis-BtlmxJ7w.js → synthesis-B8Nvwbp_.js} +33 -33
  289. package/dist/{synthesis-BSUjIY0v.js → synthesis-BPwzKPQT.js} +34 -34
  290. package/dist/{synthesis-BEaISjwW.js → synthesis-DZT5Fkc5.js} +15 -15
  291. package/dist/{system-cli-CQiwHTRi.js → system-cli-B1eB5FoT.js} +5 -5
  292. package/dist/{system-cli-5_JOcUt0.js → system-cli-D74xDNa8.js} +5 -5
  293. package/dist/{systemd-hints-CeavseQh.js → systemd-hints-B0aT2ugu.js} +1 -1
  294. package/dist/{systemd-hints-CFvOucgp.js → systemd-hints-DDaidHXa.js} +1 -1
  295. package/dist/{tokens-CJgPtOxz.js → tokens-Dm_xa-oz.js} +1 -1
  296. package/dist/{tui-Bnusp3Vd.js → tui-CQAhT9c1.js} +6 -6
  297. package/dist/{tui-JznxMYj0.js → tui-C_cCiruf.js} +6 -6
  298. package/dist/{tui-cli-Cc_TS4LH.js → tui-cli-71uMNJfy.js} +12 -12
  299. package/dist/{tui-cli-BY8W9Yjm.js → tui-cli-CwbuVeHU.js} +12 -12
  300. package/dist/{unified-runner-Bn9vq7Zy.js → unified-runner-CMsoxWFP.js} +39 -39
  301. package/dist/{unified-runner-BPyxPZv9.js → unified-runner-quh_mYPi.js} +27 -27
  302. package/dist/{update-cli-DLx7LNVB.js → update-cli-Bg728CPt.js} +48 -48
  303. package/dist/{update-cli-BXtHo0ox.js → update-cli-dSJwPmKQ.js} +50 -50
  304. package/dist/{update-runner-C8L4XRQb.js → update-runner-BtZbVAdv.js} +1 -1
  305. package/dist/{update-runner-BGhhL2R8.js → update-runner-CAdnmZZ6.js} +1 -1
  306. package/dist/{webhooks-cli-Cb-KTyWa.js → webhooks-cli-C4_gK-VO.js} +3 -3
  307. package/dist/{webhooks-cli-CXbv4eB6.js → webhooks-cli-CdWRzSWK.js} +3 -3
  308. package/dist/{with-timeout-C0UtpXBj.js → with-timeout-C_GTWqlF.js} +1 -1
  309. package/dist/{with-timeout-BsavN1IH.js → with-timeout-Uhem6WU4.js} +1 -1
  310. package/dist/{workspace-dirs-B6EAh6SV.js → workspace-dirs-23IYtZj2.js} +1 -1
  311. package/dist/{workspace-dirs-gn_0yzFP.js → workspace-dirs-D5OnUmvw.js} +1 -1
  312. package/package.json +1 -1
  313. package/dist/control-ui/js/symipulse.js +0 -154
  314. package/dist/plugin-sdk/config/zod-schema.channels.d.ts +0 -6
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Mt as resolveConfigDir, Pt as resolveUserPath, S as CHANNEL_IDS, Vt as isPlainObject$1, _t as resolveOAuthPath, an as resolveRequiredHomeDir, at as STATE_DIR, ct as resolveConfigPath, dt as resolveGatewayLockDir, ft as resolveGatewayPort, gt as resolveOAuthDir, ht as resolveNewStateDir, it as DEFAULT_GATEWAY_PORT, j as normalizeChatChannelId, kt as isRecord, lt as resolveConfigPathCandidate, mt as resolveLegacyStateDirs, ot as isNixMode, pt as resolveIsNixMode, rt as CONFIG_PATH, st as resolveCanonicalConfigPath, ut as resolveDefaultConfigCandidates, vt as resolveStateDir } from "./entry.js";
3
- import { At as resolveShellEnvFallbackTimeoutMs, Mt as shouldEnableShellEnvFallback, R as parseModelRef, Vt as DEFAULT_CONTEXT_TOKENS, jt as shouldDeferShellEnvFallback, kt as loadShellEnvFallback } from "./auth-profiles-CKIq0T1s.js";
2
+ import { Mt as resolveConfigDir, Pt as resolveUserPath, S as CHANNEL_IDS, Vt as isPlainObject$1, _t as resolveOAuthPath, an as resolveRequiredHomeDir, at as STATE_DIR, ct as resolveConfigPath, dt as resolveGatewayLockDir, ft as resolveGatewayPort, gt as resolveOAuthDir, ht as resolveNewStateDir, it as DEFAULT_GATEWAY_PORT, kt as isRecord, lt as resolveConfigPathCandidate, mt as resolveLegacyStateDirs, ot as isNixMode, pt as resolveIsNixMode, rt as CONFIG_PATH, st as resolveCanonicalConfigPath, ut as resolveDefaultConfigCandidates, vt as resolveStateDir } from "./entry.js";
3
+ import { At as resolveShellEnvFallbackTimeoutMs, Mt as shouldEnableShellEnvFallback, R as parseModelRef, Vt as DEFAULT_CONTEXT_TOKENS, jt as shouldDeferShellEnvFallback, kt as loadShellEnvFallback } from "./auth-profiles-Bs5D0GUv.js";
4
4
  import { o as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BfskPVEs.js";
5
- import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-8LjCKvga.js";
5
+ import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-B6p555mP.js";
6
6
  import { n as isPathInside } from "./scan-paths-ppKrtZ9U.js";
7
7
  import { d as resolveEnableState, f as resolveMemorySlotDecision, g as normalizeEnvVarKey, h as isDangerousHostEnvVarName, n as loadPluginManifestRegistry, u as normalizePluginsConfig } from "./manifest-registry-BshGdYwm.js";
8
8
  import { createRequire } from "node:module";
@@ -2058,22 +2058,6 @@ function validateJsonSchemaValue(params) {
2058
2058
  };
2059
2059
  }
2060
2060
 
2061
- //#endregion
2062
- //#region src/cli/parse-duration.ts
2063
- function parseDurationMs(raw, opts) {
2064
- const trimmed = String(raw ?? "").trim().toLowerCase();
2065
- if (!trimmed) throw new Error("invalid duration (empty)");
2066
- const m = /^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/.exec(trimmed);
2067
- if (!m) throw new Error(`invalid duration: ${raw}`);
2068
- const value = Number(m[1]);
2069
- if (!Number.isFinite(value) || value < 0) throw new Error(`invalid duration: ${raw}`);
2070
- const unit = m[2] ?? opts?.defaultUnit ?? "ms";
2071
- const multiplier = unit === "ms" ? 1 : unit === "s" ? 1e3 : unit === "m" ? 6e4 : unit === "h" ? 36e5 : 864e5;
2072
- const ms = Math.round(value * multiplier);
2073
- if (!Number.isFinite(ms)) throw new Error(`invalid duration: ${raw}`);
2074
- return ms;
2075
- }
2076
-
2077
2061
  //#endregion
2078
2062
  //#region src/config/zod-schema.agent-model.ts
2079
2063
  const AgentModelSchema = z.union([z.string(), z.object({
@@ -2479,65 +2463,6 @@ const ProviderCommandsSchema = z.object({
2479
2463
 
2480
2464
  //#endregion
2481
2465
  //#region src/config/zod-schema.agent-runtime.ts
2482
- const HeartbeatSchema = z.object({
2483
- every: z.string().optional(),
2484
- activeHours: z.object({
2485
- start: z.string().optional(),
2486
- end: z.string().optional(),
2487
- timezone: z.string().optional()
2488
- }).strict().optional(),
2489
- model: z.string().optional(),
2490
- session: z.string().optional(),
2491
- includeReasoning: z.boolean().optional(),
2492
- target: z.string().optional(),
2493
- to: z.string().optional(),
2494
- accountId: z.string().optional(),
2495
- prompt: z.string().optional(),
2496
- ackMaxChars: z.number().int().nonnegative().optional(),
2497
- suppressToolErrorWarnings: z.boolean().optional()
2498
- }).strict().superRefine((val, ctx) => {
2499
- if (!val.every) return;
2500
- try {
2501
- parseDurationMs(val.every, { defaultUnit: "m" });
2502
- } catch {
2503
- ctx.addIssue({
2504
- code: z.ZodIssueCode.custom,
2505
- path: ["every"],
2506
- message: "invalid duration (use ms, s, m, h)"
2507
- });
2508
- }
2509
- const active = val.activeHours;
2510
- if (!active) return;
2511
- const timePattern = /^([01]\d|2[0-3]|24):([0-5]\d)$/;
2512
- const validateTime = (raw, opts, path) => {
2513
- if (!raw) return;
2514
- if (!timePattern.test(raw)) {
2515
- ctx.addIssue({
2516
- code: z.ZodIssueCode.custom,
2517
- path: ["activeHours", path],
2518
- message: "invalid time (use \"HH:MM\" 24h format)"
2519
- });
2520
- return;
2521
- }
2522
- const [hourStr, minuteStr] = raw.split(":");
2523
- const hour = Number(hourStr);
2524
- if (hour === 24 && Number(minuteStr) !== 0) {
2525
- ctx.addIssue({
2526
- code: z.ZodIssueCode.custom,
2527
- path: ["activeHours", path],
2528
- message: "invalid time (24:00 is the only allowed 24:xx value)"
2529
- });
2530
- return;
2531
- }
2532
- if (hour === 24 && !opts.allow24) ctx.addIssue({
2533
- code: z.ZodIssueCode.custom,
2534
- path: ["activeHours", path],
2535
- message: "invalid time (start cannot be 24:00)"
2536
- });
2537
- };
2538
- validateTime(active.start, { allow24: false }, "start");
2539
- validateTime(active.end, { allow24: true }, "end");
2540
- }).optional();
2541
2466
  const SandboxDockerSchema = z.object({
2542
2467
  image: z.string().optional(),
2543
2468
  containerPrefix: z.string().optional(),
@@ -2889,7 +2814,6 @@ const AgentEntrySchema = z.object({
2889
2814
  skills: z.array(z.string()).optional(),
2890
2815
  memorySearch: MemorySearchSchema,
2891
2816
  humanDelay: HumanDelaySchema.optional(),
2892
- heartbeat: HeartbeatSchema,
2893
2817
  identity: IdentitySchema,
2894
2818
  groupChat: GroupChatSchema,
2895
2819
  subagents: z.object({
@@ -3048,7 +2972,6 @@ const AgentDefaultsSchema = z.object({
3048
2972
  z.literal("thinking"),
3049
2973
  z.literal("message")
3050
2974
  ]).optional(),
3051
- heartbeat: HeartbeatSchema,
3052
2975
  maxConcurrent: z.number().int().positive().optional(),
3053
2976
  subagents: z.object({
3054
2977
  maxConcurrent: z.number().int().positive().optional(),
@@ -3234,14 +3157,6 @@ const HooksGmailSchema = z.object({
3234
3157
  ]).optional()
3235
3158
  }).strict().optional();
3236
3159
 
3237
- //#endregion
3238
- //#region src/config/zod-schema.channels.ts
3239
- const ChannelHeartbeatVisibilitySchema = z.object({
3240
- showOk: z.boolean().optional(),
3241
- showAlerts: z.boolean().optional(),
3242
- useIndicator: z.boolean().optional()
3243
- }).strict().optional();
3244
-
3245
3160
  //#endregion
3246
3161
  //#region src/config/zod-schema.providers-core.ts
3247
3162
  const ToolPolicyBySenderSchema = z.record(z.string(), ToolPolicySchema).optional();
@@ -3396,7 +3311,6 @@ const SlackAccountSchema = z.object({
3396
3311
  defaultTo: z.string().optional(),
3397
3312
  dm: SlackDmSchema.optional(),
3398
3313
  channels: z.record(z.string(), SlackChannelSchema.optional()).optional(),
3399
- heartbeat: ChannelHeartbeatVisibilitySchema,
3400
3314
  responsePrefix: z.string().optional(),
3401
3315
  ackReaction: z.string().optional()
3402
3316
  }).strict().superRefine((value, ctx) => {
@@ -3484,7 +3398,6 @@ const IrcAccountSchemaBase = z.object({
3484
3398
  blockStreaming: z.boolean().optional(),
3485
3399
  blockStreamingCoalesce: BlockStreamingCoalesceSchema.optional(),
3486
3400
  mediaMaxMb: z.number().positive().optional(),
3487
- heartbeat: ChannelHeartbeatVisibilitySchema,
3488
3401
  responsePrefix: z.string().optional()
3489
3402
  }).strict();
3490
3403
  function refineIrcAllowFromAndNickserv(value, ctx) {
@@ -3550,7 +3463,6 @@ const BlueBubblesAccountSchemaBase = z.object({
3550
3463
  blockStreaming: z.boolean().optional(),
3551
3464
  blockStreamingCoalesce: BlockStreamingCoalesceSchema.optional(),
3552
3465
  groups: z.record(z.string(), BlueBubblesGroupConfigSchema.optional()).optional(),
3553
- heartbeat: ChannelHeartbeatVisibilitySchema,
3554
3466
  responsePrefix: z.string().optional()
3555
3467
  }).strict();
3556
3468
  const BlueBubblesAccountSchema = BlueBubblesAccountSchemaBase.superRefine((value, ctx) => {
@@ -3617,7 +3529,6 @@ const MSTeamsConfigSchema = z.object({
3617
3529
  teams: z.record(z.string(), MSTeamsTeamSchema.optional()).optional(),
3618
3530
  mediaMaxMb: z.number().positive().optional(),
3619
3531
  sharePointSiteId: z.string().optional(),
3620
- heartbeat: ChannelHeartbeatVisibilitySchema,
3621
3532
  responsePrefix: z.string().optional()
3622
3533
  }).strict().superRefine((value, ctx) => {
3623
3534
  requireOpenAllowFrom({
@@ -3633,10 +3544,7 @@ const MSTeamsConfigSchema = z.object({
3633
3544
  //#region src/config/zod-schema.providers.ts
3634
3545
  const ChannelModelByChannelSchema = z.record(z.string(), z.record(z.string(), z.string())).optional();
3635
3546
  const ChannelsSchema = z.object({
3636
- defaults: z.object({
3637
- groupPolicy: GroupPolicySchema.optional(),
3638
- heartbeat: ChannelHeartbeatVisibilitySchema
3639
- }).strict().optional(),
3547
+ defaults: z.object({ groupPolicy: GroupPolicySchema.optional() }).strict().optional(),
3640
3548
  modelByChannel: ChannelModelByChannelSchema,
3641
3549
  irc: IrcConfigSchema.optional(),
3642
3550
  googlechat: GoogleChatConfigSchema.optional(),
@@ -3672,6 +3580,22 @@ function parseByteSize(raw, opts) {
3672
3580
  return bytes;
3673
3581
  }
3674
3582
 
3583
+ //#endregion
3584
+ //#region src/cli/parse-duration.ts
3585
+ function parseDurationMs(raw, opts) {
3586
+ const trimmed = String(raw ?? "").trim().toLowerCase();
3587
+ if (!trimmed) throw new Error("invalid duration (empty)");
3588
+ const m = /^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/.exec(trimmed);
3589
+ if (!m) throw new Error(`invalid duration: ${raw}`);
3590
+ const value = Number(m[1]);
3591
+ if (!Number.isFinite(value) || value < 0) throw new Error(`invalid duration: ${raw}`);
3592
+ const unit = m[2] ?? opts?.defaultUnit ?? "ms";
3593
+ const multiplier = unit === "ms" ? 1 : unit === "s" ? 1e3 : unit === "m" ? 6e4 : unit === "h" ? 36e5 : 864e5;
3594
+ const ms = Math.round(value * multiplier);
3595
+ if (!Number.isFinite(ms)) throw new Error(`invalid duration: ${raw}`);
3596
+ return ms;
3597
+ }
3598
+
3675
3599
  //#endregion
3676
3600
  //#region src/config/zod-schema.session.ts
3677
3601
  const SessionResetConfigSchema = z.object({
@@ -4411,36 +4335,6 @@ function validateConfigObjectWithPluginsBase(raw, opts) {
4411
4335
  message: `unknown channel id: ${trimmed}`
4412
4336
  });
4413
4337
  }
4414
- const heartbeatChannelIds = /* @__PURE__ */ new Set();
4415
- for (const channelId of CHANNEL_IDS) heartbeatChannelIds.add(channelId.toLowerCase());
4416
- const validateHeartbeatTarget = (target, path) => {
4417
- if (typeof target !== "string") return;
4418
- const trimmed = target.trim();
4419
- if (!trimmed) {
4420
- issues.push({
4421
- path,
4422
- message: "heartbeat target must not be empty"
4423
- });
4424
- return;
4425
- }
4426
- const normalized = trimmed.toLowerCase();
4427
- if (normalized === "last" || normalized === "none") return;
4428
- if (normalizeChatChannelId(trimmed)) return;
4429
- if (!heartbeatChannelIds.has(normalized)) {
4430
- const { registry } = ensureRegistry();
4431
- for (const record of registry.plugins) for (const channelId of record.channels) {
4432
- const pluginChannel = channelId.trim();
4433
- if (pluginChannel) heartbeatChannelIds.add(pluginChannel.toLowerCase());
4434
- }
4435
- }
4436
- if (heartbeatChannelIds.has(normalized)) return;
4437
- issues.push({
4438
- path,
4439
- message: `unknown heartbeat target: ${target}`
4440
- });
4441
- };
4442
- validateHeartbeatTarget(config.agents?.defaults?.heartbeat?.target, "agents.defaults.heartbeat.target");
4443
- if (Array.isArray(config.agents?.list)) for (const [index, entry] of config.agents.list.entries()) validateHeartbeatTarget(entry?.heartbeat?.target, `agents.list.${index}.heartbeat.target`);
4444
4338
  if (!hasExplicitPluginsConfig) {
4445
4339
  if (issues.length > 0) return {
4446
4340
  ok: false,
@@ -5301,4 +5195,4 @@ var config_exports = /* @__PURE__ */ __exportAll({
5301
5195
  });
5302
5196
 
5303
5197
  //#endregion
5304
- export { DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH as A, unsetConfigValueAtPath as C, INCLUDE_KEY as D, isSafeExecutableValue as E, loadDotEnv as F, resolveSubagentMaxConcurrent as M, VERSION as N, MAX_INCLUDE_DEPTH as O, resolveRuntimeServiceVersion as P, setConfigValueAtPath as S, applyLegacyMigrations as T, resetConfigOverrides as _, parseConfigJson5 as a, getConfigValueAtPath as b, resolveConfigSnapshotHash as c, SymiSchema as d, parseByteSize as f, getConfigOverrides as g, validateJsonSchemaValue as h, loadConfig as i, resolveAgentMaxConcurrent as j, collectConfigServiceEnvVars as k, writeConfigFile as l, parseDurationMs as m, migrateLegacyConfig as n, readConfigFileSnapshot as o, sensitive as p, createConfigIO as r, readConfigFileSnapshotForWrite as s, config_exports as t, validateConfigObjectWithPlugins as u, setConfigOverride as v, applyMergePatch as w, parseConfigPath as x, unsetConfigOverride as y };
5198
+ export { DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH as A, unsetConfigValueAtPath as C, INCLUDE_KEY as D, isSafeExecutableValue as E, loadDotEnv as F, resolveSubagentMaxConcurrent as M, VERSION as N, MAX_INCLUDE_DEPTH as O, resolveRuntimeServiceVersion as P, setConfigValueAtPath as S, applyLegacyMigrations as T, resetConfigOverrides as _, parseConfigJson5 as a, getConfigValueAtPath as b, resolveConfigSnapshotHash as c, SymiSchema as d, parseDurationMs as f, getConfigOverrides as g, validateJsonSchemaValue as h, loadConfig as i, resolveAgentMaxConcurrent as j, collectConfigServiceEnvVars as k, writeConfigFile as l, sensitive as m, migrateLegacyConfig as n, readConfigFileSnapshot as o, parseByteSize as p, createConfigIO as r, readConfigFileSnapshotForWrite as s, config_exports as t, validateConfigObjectWithPlugins as u, setConfigOverride as v, applyMergePatch as w, parseConfigPath as x, unsetConfigOverride as y };
@@ -2,14 +2,14 @@ import { b as danger, j as theme, x as info } from "./registry-DKJLAPDB.js";
2
2
  import "./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-CPlXilKu.js";
5
+ import "./auth-profiles-BFSVvFKy.js";
6
6
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
7
7
  import "./exec-DKyLtSjm.js";
8
- import "./agent-scope-B_oqIiaD.js";
8
+ import "./agent-scope-DIjW66iO.js";
9
9
  import "./github-copilot-token-BTNK6Tcd.js";
10
10
  import "./boolean-Wzu0-e0P.js";
11
11
  import "./env-B97Ms861.js";
12
- import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-CphS_6eg.js";
12
+ import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-C5Ztbpa2.js";
13
13
  import "./manifest-registry-D7Qup2Vq.js";
14
14
  import { t as formatDocsLink } from "./links-CSaUKNKm.js";
15
15
  import JSON5 from "json5";
@@ -206,7 +206,7 @@ async function runConfigUnset(opts) {
206
206
  }
207
207
  function registerConfigCli(program) {
208
208
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
209
- const { configureCommandFromSectionsArg } = await import("./configure-BXjJQG1p.js").then((n) => n.t);
209
+ const { configureCommandFromSectionsArg } = await import("./configure-BbpI3Lrz.js").then((n) => n.t);
210
210
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
211
211
  });
212
212
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -1,11 +1,11 @@
1
1
  import { H as info, Lt as shortenHomePath, Q as theme, V as danger, _ as defaultRuntime } from "./entry.js";
2
- import "./auth-profiles-CKIq0T1s.js";
2
+ import "./auth-profiles-Bs5D0GUv.js";
3
3
  import { t as formatCliCommand } from "./command-format-Xm6vX3qJ.js";
4
4
  import "./exec-B6oWJSJW.js";
5
- import "./agent-scope-8LjCKvga.js";
5
+ import "./agent-scope-B6p555mP.js";
6
6
  import "./github-copilot-token-a6a53zx_.js";
7
7
  import "./manifest-registry-BshGdYwm.js";
8
- import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-B91360jE.js";
8
+ import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-CVMQkipH.js";
9
9
  import { t as formatDocsLink } from "./links-Db3Rw0Tg.js";
10
10
  import JSON5 from "json5";
11
11
 
@@ -201,7 +201,7 @@ async function runConfigUnset(opts) {
201
201
  }
202
202
  function registerConfigCli(program) {
203
203
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
204
- const { configureCommandFromSectionsArg } = await import("./configure-D9NeIMjP.js").then((n) => n.t);
204
+ const { configureCommandFromSectionsArg } = await import("./configure-BLL4bVXO.js").then((n) => n.t);
205
205
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
206
206
  });
207
207
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Lt as shortenHomePath, Q as theme, X as colorize, Z as isRich, nn as shouldMigrateStateFromPath } from "./entry.js";
3
3
  import { t as formatCliCommand } from "./command-format-Xm6vX3qJ.js";
4
- import { o as readConfigFileSnapshot } from "./config-B91360jE.js";
5
- import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-DlX_L8Y-.js";
4
+ import { o as readConfigFileSnapshot } from "./config-CVMQkipH.js";
5
+ import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-QPIo58ud.js";
6
6
 
7
7
  //#region src/cli/program/config-guard.ts
8
8
  var config_guard_exports = /* @__PURE__ */ __exportAll({ ensureConfigReady: () => ensureConfigReady });
@@ -2,16 +2,16 @@ import { A as isRich, j as theme, k as colorize } from "./registry-DKJLAPDB.js";
2
2
  import "./paths-BSzKwaxE.js";
3
3
  import { v as shortenHomePath } from "./utils-BU8jVQFM.js";
4
4
  import "./subsystem-CtH6J8AV.js";
5
- import "./auth-profiles-CPlXilKu.js";
5
+ import "./auth-profiles-BFSVvFKy.js";
6
6
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
7
7
  import "./exec-DKyLtSjm.js";
8
- import "./agent-scope-B_oqIiaD.js";
8
+ import "./agent-scope-DIjW66iO.js";
9
9
  import "./github-copilot-token-BTNK6Tcd.js";
10
10
  import "./boolean-Wzu0-e0P.js";
11
11
  import "./env-B97Ms861.js";
12
- import { o as readConfigFileSnapshot } from "./config-CphS_6eg.js";
12
+ import { o as readConfigFileSnapshot } from "./config-C5Ztbpa2.js";
13
13
  import "./manifest-registry-D7Qup2Vq.js";
14
- import "./sessions-DQMaURzb.js";
14
+ import "./sessions-C_xvI21O.js";
15
15
  import "./dock-CnGWTXL4.js";
16
16
  import "./message-channel-C_V8IAYx.js";
17
17
  import "./plugins-DuuHorqi.js";
@@ -20,8 +20,8 @@ import { c as shouldMigrateStateFromPath } from "./argv-Bt9A9Gfj.js";
20
20
  import "./catalog-BEREnWaa.js";
21
21
  import "./prompt-style-Cad0BDRS.js";
22
22
  import "./note-CHrtEumO.js";
23
- import "./plugin-auto-enable-BCwyDNSP.js";
24
- import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-4UT3396o.js";
23
+ import "./plugin-auto-enable-CNDA103e.js";
24
+ import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-Bdc03rxx.js";
25
25
 
26
26
  //#region src/cli/program/config-guard.ts
27
27
  const ALLOWED_INVALID_COMMANDS = new Set([
@@ -1,5 +1,5 @@
1
1
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
2
- import { o as readConfigFileSnapshot } from "./config-CphS_6eg.js";
2
+ import { o as readConfigFileSnapshot } from "./config-C5Ztbpa2.js";
3
3
 
4
4
  //#region src/commands/config-validation.ts
5
5
  async function requireValidConfigSnapshot(runtime) {
@@ -1,5 +1,5 @@
1
1
  import { t as formatCliCommand } from "./command-format-Xm6vX3qJ.js";
2
- import { o as readConfigFileSnapshot } from "./config-B91360jE.js";
2
+ import { o as readConfigFileSnapshot } from "./config-CVMQkipH.js";
3
3
 
4
4
  //#region src/commands/config-validation.ts
5
5
  async function requireValidConfigSnapshot(runtime) {
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Lt as shortenHomePath, Pt as resolveUserPath, _ as defaultRuntime, ft as resolveGatewayPort, rt as CONFIG_PATH } from "./entry.js";
3
- import { b as ensureAuthProfileStore } from "./auth-profiles-CKIq0T1s.js";
3
+ import { b as ensureAuthProfileStore } from "./auth-profiles-Bs5D0GUv.js";
4
4
  import { t as formatCliCommand } from "./command-format-Xm6vX3qJ.js";
5
- import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-B91360jE.js";
5
+ import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-CVMQkipH.js";
6
6
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-Bq-Msc8Z.js";
7
7
  import { a as findTailscaleBinary } from "./tailscale-BsA0YClX.js";
8
8
  import { n as withProgress } from "./progress-C4ck6JXh.js";
@@ -10,22 +10,22 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
10
10
  import { t as note$1 } from "./note-DKRm9hYC.js";
11
11
  import { t as WizardCancelledError } from "./prompts-fhztJPuZ.js";
12
12
  import { t as createClackPrompter } from "./clack-prompter-Cm3OvXXT.js";
13
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-D5ugcgBE.js";
14
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Y8XS0WGP.js";
15
- import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-LbRPhqLj.js";
13
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-B6_L4dD7.js";
14
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CCIiGZsG.js";
15
+ import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-DU7-6FKZ.js";
16
16
  import { t as resolveGatewayService } from "./service-BIixwO-v.js";
17
- import { r as healthCommand } from "./health-CvdEEMPS.js";
17
+ import { r as healthCommand } from "./health-DrjeJzLE.js";
18
18
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B5BrwGRs.js";
19
19
  import { n as logConfigUpdated } from "./logging-BeA4q4J_.js";
20
20
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-DBfm0y9l.js";
21
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-DS5oaUTz.js";
22
- import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-DCkIP0W7.js";
21
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-DY9j2BCn.js";
22
+ import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-Cj3P3dRc.js";
23
23
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-BM4qvprK.js";
24
- import { a as promptCustomApiConfig } from "./onboard-custom-C0GtEEDP.js";
24
+ import { a as promptCustomApiConfig } from "./onboard-custom-C--9q1aw.js";
25
25
  import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-DK4xoUQ-.js";
26
26
  import { t as formatHealthCheckFailure } from "./health-format-DaP03FBk.js";
27
- import { n as promptRemoteGatewayConfig } from "./onboard-remote-DRnsw2VC.js";
28
- import { n as setupSkills } from "./onboard-skills-C6FIDEFz.js";
27
+ import { n as promptRemoteGatewayConfig } from "./onboard-remote-BNgEcJhQ.js";
28
+ import { n as setupSkills } from "./onboard-skills-Dl9x6Ewy.js";
29
29
  import { confirm, intro, outro, select, text } from "@clack/prompts";
30
30
 
31
31
  //#region src/commands/configure.shared.ts
@@ -2,9 +2,9 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-BSzKwaxE.js";
3
3
  import { h as resolveUserPath, v as shortenHomePath } from "./utils-BU8jVQFM.js";
4
4
  import { f as defaultRuntime } from "./subsystem-CtH6J8AV.js";
5
- import { b as ensureAuthProfileStore } from "./auth-profiles-CPlXilKu.js";
5
+ import { b as ensureAuthProfileStore } from "./auth-profiles-BFSVvFKy.js";
6
6
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
7
- import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-CphS_6eg.js";
7
+ import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-C5Ztbpa2.js";
8
8
  import { a as findTailscaleBinary } from "./tailscale-D7dC-5EX.js";
9
9
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
10
10
  import { n as withProgress } from "./progress-CyPyGCDn.js";
@@ -12,22 +12,22 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
12
12
  import { t as note$1 } from "./note-CHrtEumO.js";
13
13
  import { t as WizardCancelledError } from "./prompts-CPtDKw-j.js";
14
14
  import { t as createClackPrompter } from "./clack-prompter-CWQQn_CK.js";
15
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-B_iyN1qL.js";
16
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BD-3XS8R.js";
17
- import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-D2mWJnFB.js";
15
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-Br6c8ho-.js";
16
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DGcALfeE.js";
17
+ import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-KK8MYq1e.js";
18
18
  import { t as resolveGatewayService } from "./service-AP9pR9R5.js";
19
- import { r as healthCommand } from "./health-BdxlhiXA.js";
19
+ import { r as healthCommand } from "./health-D41l07BM.js";
20
20
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DUhvOLUL.js";
21
21
  import { n as logConfigUpdated } from "./logging-B96FQvnn.js";
22
22
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-D8GvjOBX.js";
23
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-Bio1-QUP.js";
24
- import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-DKzvan7c.js";
23
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-EyD891pg.js";
24
+ import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-Ba0aPjVG.js";
25
25
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-PqG8iGCt.js";
26
- import { a as promptCustomApiConfig } from "./onboard-custom-Cla8O-Tv.js";
26
+ import { a as promptCustomApiConfig } from "./onboard-custom-CdIFCex3.js";
27
27
  import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-CfVqgiTN.js";
28
28
  import { t as formatHealthCheckFailure } from "./health-format-39e76m9p.js";
29
- import { n as promptRemoteGatewayConfig } from "./onboard-remote-Bi2BNRnh.js";
30
- import { n as setupSkills } from "./onboard-skills-C0XDXvWw.js";
29
+ import { n as promptRemoteGatewayConfig } from "./onboard-remote-BCG6Pa34.js";
30
+ import { n as setupSkills } from "./onboard-skills-BMZQWj72.js";
31
31
  import { confirm, intro, outro, select, text } from "@clack/prompts";
32
32
 
33
33
  //#region src/commands/configure.shared.ts
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { o as createSubsystemLogger } from "./entry.js";
3
- import { i as loadConfig } from "./config-B91360jE.js";
4
- import { x as ensureChromeExtensionRelayServer } from "./chrome-DYKZHZ9k.js";
5
- import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-CCPE_W8C.js";
3
+ import { i as loadConfig } from "./config-CVMQkipH.js";
4
+ import { x as ensureChromeExtensionRelayServer } from "./chrome-DvbQQ7qH.js";
5
+ import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-BxbXmmz7.js";
6
6
 
7
7
  //#region src/browser/server-lifecycle.ts
8
8
  async function ensureExtensionRelayForProfiles(params) {
@@ -80,7 +80,7 @@ async function stopBrowserControlService() {
80
80
  });
81
81
  state = null;
82
82
  try {
83
- await (await import("./pw-ai-Cnc8PGzN.js")).closePlaywrightBrowserConnection();
83
+ await (await import("./pw-ai-CNPSgxuq.js")).closePlaywrightBrowserConnection();
84
84
  } catch {}
85
85
  }
86
86
 
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
3
- import { i as loadConfig } from "./config-CphS_6eg.js";
4
- import { x as ensureChromeExtensionRelayServer } from "./chrome-owBWinlj.js";
5
- import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-BsMQBnUG.js";
3
+ import { i as loadConfig } from "./config-C5Ztbpa2.js";
4
+ import { x as ensureChromeExtensionRelayServer } from "./chrome-DfmXP1Xa.js";
5
+ import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-D1WDO10m.js";
6
6
 
7
7
  //#region src/browser/server-lifecycle.ts
8
8
  async function ensureExtensionRelayForProfiles(params) {
@@ -80,7 +80,7 @@ async function stopBrowserControlService() {
80
80
  });
81
81
  state = null;
82
82
  try {
83
- await (await import("./pw-ai-BW5obXRK.js")).closePlaywrightBrowserConnection();
83
+ await (await import("./pw-ai-BpKRTux4.js")).closePlaywrightBrowserConnection();
84
84
  } catch {}
85
85
  }
86
86
 
@@ -5484,106 +5484,6 @@ body {
5484
5484
  padding: 2px 0 0;
5485
5485
  }
5486
5486
 
5487
- /* ── Symipulse Panel ────────────────────────────────────────────── */
5488
- .symipulse-panel {
5489
- cursor: pointer;
5490
- transition:
5491
- max-height 0.3s ease,
5492
- border-color 0.3s;
5493
- }
5494
-
5495
- .symipulse-feed {
5496
- max-height: 3.2em;
5497
- overflow: hidden;
5498
- transition: max-height 0.3s ease;
5499
- font-size: 11px;
5500
- line-height: 1.5;
5501
- color: var(--text-dim);
5502
- font-family: var(--font-mono);
5503
- }
5504
-
5505
- .symipulse-panel.expanded .symipulse-feed {
5506
- max-height: 300px;
5507
- overflow-y: auto;
5508
- scrollbar-width: thin;
5509
- scrollbar-color: rgba(0, 212, 255, 0.2) transparent;
5510
- }
5511
- .symipulse-panel.expanded .symipulse-feed::-webkit-scrollbar {
5512
- width: 3px;
5513
- }
5514
- .symipulse-panel.expanded .symipulse-feed::-webkit-scrollbar-track {
5515
- background: transparent;
5516
- }
5517
- .symipulse-panel.expanded .symipulse-feed::-webkit-scrollbar-thumb {
5518
- background: rgba(0, 212, 255, 0.2);
5519
- border-radius: 2px;
5520
- }
5521
-
5522
- .symipulse-entry {
5523
- padding: 3px 0;
5524
- border-bottom: 1px solid rgba(255, 255, 255, 0.04);
5525
- white-space: nowrap;
5526
- overflow: hidden;
5527
- text-overflow: ellipsis;
5528
- display: flex;
5529
- align-items: baseline;
5530
- gap: 6px;
5531
- }
5532
- .symipulse-entry:last-child {
5533
- border-bottom: none;
5534
- }
5535
-
5536
- .symipulse-entry-time {
5537
- color: var(--text-muted);
5538
- font-size: 10px;
5539
- flex-shrink: 0;
5540
- }
5541
-
5542
- .symipulse-entry-text {
5543
- overflow: hidden;
5544
- text-overflow: ellipsis;
5545
- white-space: nowrap;
5546
- color: var(--text-dim);
5547
- }
5548
-
5549
- .symipulse-panel.expanded .symipulse-entry {
5550
- white-space: normal;
5551
- word-break: break-word;
5552
- }
5553
- .symipulse-panel.expanded .symipulse-entry-text {
5554
- white-space: normal;
5555
- overflow: visible;
5556
- }
5557
-
5558
- .symipulse-live-dot {
5559
- display: inline-block;
5560
- width: 6px;
5561
- height: 6px;
5562
- border-radius: 50%;
5563
- background: var(--accent-green);
5564
- margin-left: 6px;
5565
- vertical-align: middle;
5566
- opacity: 0;
5567
- transition: opacity 0.3s ease;
5568
- }
5569
- .symipulse-live-dot.active {
5570
- opacity: 1;
5571
- animation: pulse 1.2s ease-in-out infinite;
5572
- }
5573
-
5574
- .symipulse-empty {
5575
- display: flex;
5576
- align-items: center;
5577
- justify-content: center;
5578
- padding: 10px 0;
5579
- color: var(--text-dim);
5580
- }
5581
- .symipulse-empty-text {
5582
- font-size: 11px;
5583
- font-family: var(--font-mono);
5584
- opacity: 0.5;
5585
- }
5586
-
5587
5487
  /* ── Lazy-load sentinel ──────────────────────────────────────────── */
5588
5488
  .load-more-sentinel {
5589
5489
  text-align: center;
@@ -325,18 +325,6 @@
325
325
  <div class="debug-entries" id="debug-panel-entries"></div>
326
326
  </div>
327
327
 
328
- <!-- Symipulse Panel -->
329
- <div class="glass-panel symipulse-panel" id="symipulse-panel">
330
- <div class="panel-label">
331
- SYMIPULSE
332
- <span class="symipulse-live-dot" id="symipulse-live-dot"></span>
333
- </div>
334
- <div class="symipulse-feed" id="symipulse-feed">
335
- <div class="symipulse-empty" id="symipulse-empty">
336
- <div class="symipulse-empty-text">No heartbeats yet</div>
337
- </div>
338
- </div>
339
- </div>
340
328
  </aside>
341
329
 
342
330
  <!-- Response waterfall area -->
@@ -1049,7 +1037,6 @@
1049
1037
  <script src="js/metrics.js"></script>
1050
1038
  <script src="js/gateway.js"></script>
1051
1039
  <script src="js/render.js"></script>
1052
- <script src="js/symipulse.js"></script>
1053
1040
  <script src="js/app.js"></script>
1054
1041
  <script src="js/settings.js"></script>
1055
1042
  <script src="js/menu.js"></script>