@symerian/symi 3.4.2 → 3.4.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 (270) hide show
  1. package/dist/{agent-BcHmIY_n.js → agent--IK5M1T9.js} +18 -18
  2. package/dist/{agent-CDUpwXQX.js → agent-CKmM2vyY.js} +1 -1
  3. package/dist/{agent-scope-CKTVXF_1.js → agent-scope-DIjW66iO.js} +18 -18
  4. package/dist/{agents-Dx_B11LV.js → agents-CyR_QeUn.js} +5 -5
  5. package/dist/{agents.config-D6lBCMyT.js → agents.config-D1nFwU81.js} +1 -1
  6. package/dist/{audit-FMN4BTKc.js → audit-DQpLuCNP.js} +2 -2
  7. package/dist/{audit-CMPCYnHv.js → audit-o0s717ob.js} +21 -21
  8. package/dist/{auth-choice-BJgf7XV6.js → auth-choice-CUs4WmYv.js} +4 -4
  9. package/dist/{auth-choice-s1SGAS0u.js → auth-choice-WduOdkq8.js} +8 -8
  10. package/dist/{auth-choice-options-B5NLwpLs.js → auth-choice-options-BBYiPleR.js} +1 -1
  11. package/dist/{auth-choice-options-EWUh0VM6.js → auth-choice-options-C5b4PCvw.js} +1 -1
  12. package/dist/{auth-choice-prompt-BkTmN4sy.js → auth-choice-prompt-D8GvjOBX.js} +1 -1
  13. package/dist/{auth-choice-prompt-CXcrToaB.js → auth-choice-prompt-DBfm0y9l.js} +1 -1
  14. package/dist/{auth-profiles-BDvJK1Bg.js → auth-profiles-BFSVvFKy.js} +9 -9
  15. package/dist/{auth-token-BKp_ClDP.js → auth-token-SebYuqfR.js} +1 -1
  16. package/dist/{banner-C1DH2kVa.js → banner-CJWij079.js} +1 -1
  17. package/dist/{browser-cli-DW3CxkSc.js → browser-cli-BdYqssco.js} +9 -9
  18. package/dist/build-info.json +3 -3
  19. package/dist/{call-BjHvYJx2.js → call-CbF18cyd.js} +9 -9
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-options-77nGDc70.js → channel-options-CDA0OfJ3.js} +1 -1
  22. package/dist/{channel-options-BMZyRh5E.js → channel-options-CZEn3Cel.js} +1 -1
  23. package/dist/{channels-cli-C048Z7h-.js → channels-cli-C84jkCS9.js} +54 -54
  24. package/dist/{channels-cli-CjQ8Rfpv.js → channels-cli-veDmkOnJ.js} +7 -7
  25. package/dist/{chrome-droANDig.js → chrome-BWQSyLHT.js} +7 -7
  26. package/dist/{chrome-BQoO4LXq.js → chrome-D5UEEo4y.js} +2 -2
  27. package/dist/{cli-CXAyZ9dx.js → cli-BBd1ZRun.js} +42 -42
  28. package/dist/{cli-CpmVizCT.js → cli-SeEQuQkN.js} +4 -4
  29. package/dist/{client-Bs2zB0rY.js → client-ZZqt0H0-.js} +1 -1
  30. package/dist/{command-registry-B9TplwzB.js → command-registry-CVsOBck9.js} +10 -10
  31. package/dist/{commands-registry-CLePPNDW.js → commands-registry-BNCcZy2y.js} +1 -1
  32. package/dist/{completion-cli-Dv8CNTMW.js → completion-cli-B5bq51hT.js} +2 -2
  33. package/dist/{completion-cli-ecfjoaIU.js → completion-cli-BoD_MZfu.js} +12 -12
  34. package/dist/{config-BEaq2Sb6.js → config-MU0QT0xu.js} +2 -2
  35. package/dist/{config-cli-zMpHOTSD.js → config-cli--_Qaef5L.js} +1 -1
  36. package/dist/{config-cli-CAwWFZwh.js → config-cli-Bbb6yrgS.js} +4 -4
  37. package/dist/{config-guard-29sjAeg8.js → config-guard-BFH1qNlf.js} +6 -6
  38. package/dist/{config-guard-B2j-KuUQ.js → config-guard-DQgHcGdp.js} +1 -1
  39. package/dist/{config-validation-Bp2AdKjN.js → config-validation-BkJh21Ko.js} +1 -1
  40. package/dist/{configure-DvVtZB1V.js → configure-B64O-IVQ.js} +18 -18
  41. package/dist/{configure-Bh0-A3hM.js → configure-C-39fnS7.js} +11 -11
  42. package/dist/{consolidate-DeA11kIO.js → consolidate-7Usm-b2g.js} +6 -6
  43. package/dist/{control-service-DhlgNQGb.js → control-service-D1aZqS0Q.js} +4 -4
  44. package/dist/{control-ui-assets-D22DSxhv.js → control-ui-assets-DUhvOLUL.js} +1 -1
  45. package/dist/{cron-cli-Cr8hrEDQ.js → cron-cli-Ch8MwxYs.js} +7 -7
  46. package/dist/{daemon-cli-OZuuMobs.js → daemon-cli-DbwmIQAj.js} +11 -11
  47. package/dist/{daemon-runtime-Dr_xKl0r.js → daemon-runtime-DDwhgI7i.js} +10 -10
  48. package/dist/{deliver-vzAN9mRl.js → deliver-BBoTRer2.js} +4 -4
  49. package/dist/{deliver-ccf_boim.js → deliver-BX3IOm7k.js} +2 -2
  50. package/dist/{deps-B6QYsl_-.js → deps-BCywDAi0.js} +1 -1
  51. package/dist/{devices-cli-DN3SH89Z.js → devices-cli-ZiU2HGbP.js} +6 -6
  52. package/dist/{diagnostics-nLP2i_BY.js → diagnostics-DxdqTfpW.js} +5 -5
  53. package/dist/{directory-cli-B72WzWuP.js → directory-cli-DJnKldBM.js} +3 -3
  54. package/dist/{dm-policy-shared-DiZ3lMtl.js → dm-policy-shared-5HLej1br.js} +1 -1
  55. package/dist/{dns-cli-DPO4AuUq.js → dns-cli-LhrwMgGE.js} +3 -3
  56. package/dist/{docs-cli-C2BEC5yU.js → docs-cli-DjQ3SvBq.js} +1 -1
  57. package/dist/{doctor-completion-Cvu8koMQ.js → doctor-completion-BmJ6Xtlu.js} +2 -2
  58. package/dist/{doctor-completion-DwrIExJJ.js → doctor-completion-CUC2jl4R.js} +1 -1
  59. package/dist/{doctor-config-flow-Cu1ZuFHd.js → doctor-config-flow-DJrfwr2x.js} +9 -9
  60. package/dist/entry.js +1 -1
  61. package/dist/{exec-approvals-cli-BN5OFwrg.js → exec-approvals-cli-DqWFmApk.js} +13 -13
  62. package/dist/extensionAPI.js +4 -4
  63. package/dist/{fs-safe-DjAKGGJ8.js → fs-safe-B6nMaZqV.js} +6 -6
  64. package/dist/{gateway-cli-uquFQTQW.js → gateway-cli-D3MIV11i.js} +316 -9665
  65. package/dist/{gateway-cli-C_wDspkm.js → gateway-cli-DtWLXC5j.js} +377 -9726
  66. package/dist/{gateway-rpc-fQLZhzRK.js → gateway-rpc-RZAJMB1i.js} +1 -1
  67. package/dist/glass-ui-ws-BzGjkdgV.js +346 -0
  68. package/dist/glass-ui-ws-C4tW88dG.js +341 -0
  69. package/dist/{health-DUulgHFK.js → health-DnOYGIFp.js} +4 -4
  70. package/dist/{hooks-cli-C6XdXNdl.js → hooks-cli-PSE_YjYr.js} +7 -7
  71. package/dist/{hooks-cli-6UBBpeAz.js → hooks-cli-XjhtoSGz.js} +58 -58
  72. package/dist/{hooks-status-DGjgoBZt.js → hooks-status-COU9Cw9_.js} +1 -1
  73. package/dist/{hooks-status-BQAuzmwT.js → hooks-status-uaFS2SUa.js} +1 -1
  74. package/dist/{image-ops-c7_of0HT.js → image-ops-C-gIIp7Q.js} +10 -10
  75. package/dist/index.js +49 -49
  76. package/dist/{inspect-op0Ov-v4.js → inspect-BDzd6yBs.js} +4 -4
  77. package/dist/{install-safe-path-B73BkVO3.js → install-safe-path-CQXx3s9R.js} +11 -11
  78. package/dist/{installs-BzgwvqqQ.js → installs-DhSLZRT7.js} +10 -10
  79. package/dist/{internal-C3o_xyzP.js → internal-CHnZdvRy.js} +9 -9
  80. package/dist/{lifecycle-core-BmGPBj_P.js → lifecycle-core-B9_prcP5.js} +5 -5
  81. package/dist/{local-roots-CUKhHNCV.js → local-roots-BnDnugq3.js} +1 -1
  82. package/dist/{logs-cli-BXBN6_Kf.js → logs-cli-Dqq-1RM5.js} +7 -7
  83. package/dist/{manager-C_5p8DxF.js → manager-BFOp2VHW.js} +14 -14
  84. package/dist/{manager-DOfc0hW0.js → manager-GRHfrG3p.js} +1 -1
  85. package/dist/{manager-tYTYy-pH.js → manager-z92Qfa3m.js} +1 -1
  86. package/dist/{memory-CjpS9o50.js → memory-CUt9fSz8.js} +3 -3
  87. package/dist/{memory-BZPO-RoX.js → memory-cQbfKDAe.js} +5 -5
  88. package/dist/{memory-cli-CbV91o_X.js → memory-cli-BlBxrZF2.js} +2 -2
  89. package/dist/{memory-cli-4vj-LpgO.js → memory-cli-DXmGAhFX.js} +12 -12
  90. package/dist/{model-CbRy_3xW.js → model-BRcKPW49.js} +1 -1
  91. package/dist/{model-catalog-BrW9BL1p.js → model-catalog-De1c8o1y.js} +4 -4
  92. package/dist/{model-picker-DAOOfQUH.js → model-picker-BQrdlRCb.js} +1 -1
  93. package/dist/{model-picker-UrQQVAuN.js → model-picker-C4xfgSwe.js} +3 -3
  94. package/dist/{models-EthIDORJ.js → models-CBuTLoD4.js} +7 -7
  95. package/dist/{models-cli-DSW-aLCj.js → models-cli-D0reLJxf.js} +9 -9
  96. package/dist/{models-cli-BRnmApgY.js → models-cli-DLc8lwUF.js} +55 -55
  97. package/dist/{models-config-Dh1tABIl.js → models-config-C-VjjDXg.js} +7 -7
  98. package/dist/{node-cli-DXCDRV3y.js → node-cli-C4uJ1LcV.js} +28 -28
  99. package/dist/{node-cli-SMqarSas.js → node-cli-MO_9MCpD.js} +2 -2
  100. package/dist/{node-service-n6G8Ybbk.js → node-service-tPO_yUk7.js} +1 -1
  101. package/dist/{nodes-cli-Fyv-oG6A.js → nodes-cli-C52eXJSX.js} +10 -10
  102. package/dist/{nodes-screen-CT94yu_w.js → nodes-screen-JELuBMBi.js} +4 -4
  103. package/dist/{npm-registry-spec-B8X06AqB.js → npm-registry-spec-BXw_6vF6.js} +9 -9
  104. package/dist/{onboard-CLSFAKKt.js → onboard-Dky6Vgqw.js} +9 -9
  105. package/dist/{onboard-CEyd79t_.js → onboard-RyyCiCgk.js} +16 -16
  106. package/dist/{onboard-channels-DqhDDHZ3.js → onboard-channels-B7nvfziF.js} +4 -4
  107. package/dist/{onboard-channels-LkgOp2vs.js → onboard-channels-jAqPucaS.js} +1 -1
  108. package/dist/{onboard-custom-BRFhBogJ.js → onboard-custom-CEBV-OCa.js} +3 -3
  109. package/dist/{onboard-custom-BD_6SIA8.js → onboard-custom-CMle6THh.js} +2 -2
  110. package/dist/{onboard-helpers-wgkj6qF2.js → onboard-helpers-DpIB1xVU.js} +8 -8
  111. package/dist/{onboard-hooks-CknstfLG.js → onboard-hooks-DBYkemjF.js} +3 -3
  112. package/dist/{onboard-hooks-DotvaUqG.js → onboard-hooks-DgRzMz0E.js} +2 -2
  113. package/dist/{onboard-remote-B5rlIYUq.js → onboard-remote-DZa5gKRe.js} +1 -1
  114. package/dist/{onboard-skills-_6kHqhHz.js → onboard-skills-5Ty3AuY6.js} +4 -4
  115. package/dist/{onboard-skills-5rA5bRSG.js → onboard-skills-Bv4-MQ7C.js} +1 -1
  116. package/dist/{onboarding-CJuG6AyD.js → onboarding-B7vTX33U.js} +13 -13
  117. package/dist/{onboarding-CREA0oQK.js → onboarding-BxybJPim.js} +16 -16
  118. package/dist/{onboarding.finalize-CkgL8Zde.js → onboarding.finalize-Cjck4WX4.js} +32 -32
  119. package/dist/{onboarding.finalize-7iPylQyi.js → onboarding.finalize-Cm8jc2yf.js} +7 -7
  120. package/dist/{onboarding.gateway-config-DtNG0As8.js → onboarding.gateway-config-BDJ4tufO.js} +9 -9
  121. package/dist/{onboarding.gateway-config-BzM2v2U5.js → onboarding.gateway-config-DP9rTU6-.js} +1 -1
  122. package/dist/{openai-model-default-CSl0PZzK.js → openai-model-default-BVPmAuXK.js} +1 -1
  123. package/dist/{openai-model-default-DeTAMJKz.js → openai-model-default-CDDFpxUr.js} +2 -2
  124. package/dist/{pairing-cli-BvP6MoPZ.js → pairing-cli-WOgnEerl.js} +4 -4
  125. package/dist/{pairing-store-S9CXOhSG.js → pairing-store-BGf29nPx.js} +1 -1
  126. package/dist/{pairing-token-DorpwP8O.js → pairing-token-CURbSHdi.js} +7 -7
  127. package/dist/{paths-DaQrPPet.js → paths-Dc6A9_vI.js} +1 -1
  128. package/dist/{pi-auth-json-CVwNh4rb.js → pi-auth-json-SHGGQzOL.js} +5 -5
  129. package/dist/{pi-embedded-B7_uthwZ.js → pi-embedded-BvMMjrvj.js} +10 -10
  130. package/dist/{pi-embedded-helpers-DGW2untm.js → pi-embedded-helpers-D4cxQiPr.js} +6 -6
  131. package/dist/{pi-tools.policy-BcTgKDG6.js → pi-tools.policy-NmG0EGEY.js} +3 -3
  132. package/dist/{plugin-auto-enable-BDPdHiLS.js → plugin-auto-enable-D2TNEv3x.js} +1 -1
  133. package/dist/{plugin-registry-5aIoUu-O.js → plugin-registry-D9f4FfDL.js} +1 -1
  134. package/dist/{plugin-registry-bskbnEuW.js → plugin-registry-DOQyKvh2.js} +3 -3
  135. package/dist/{plugins-cli-DMCWSACj.js → plugins-cli-Biq9COww.js} +6 -6
  136. package/dist/{plugins-cli-LQUO7D2v.js → plugins-cli-R-ZE64Cv.js} +51 -51
  137. package/dist/{ports-ChuJYhEL.js → ports-DRHSHvqY.js} +1 -1
  138. package/dist/{ports-EAVAOFyK.js → ports-DqxP-bXz.js} +2 -2
  139. package/dist/{program-BgrmtnFn.js → program-Cg53oQfq.js} +12 -12
  140. package/dist/{program-context-C_uJXnZV.js → program-context-CLtVUsa6.js} +38 -38
  141. package/dist/{prompt-select-styled-CuGBQ9LO.js → prompt-select-styled-2-MTlOry.js} +11 -10
  142. package/dist/{prompt-select-styled-B3nTSykf.js → prompt-select-styled-CGS3IQAy.js} +38 -37
  143. package/dist/{provider-auth-helpers-IsZNkaS0.js → provider-auth-helpers-BHqejuN7.js} +6 -6
  144. package/dist/{provider-auth-helpers-MMYRbW_U.js → provider-auth-helpers-DTc5TSWH.js} +4 -4
  145. package/dist/{push-apns-C7t2qAZ6.js → push-apns-9QCL6OFW.js} +4 -4
  146. package/dist/{push-apns-qCbh6Vhl.js → push-apns-DFKohq1V.js} +1 -1
  147. package/dist/{pw-ai-Tm3pd-HP.js → pw-ai-CNOE7SUx.js} +1 -1
  148. package/dist/{pw-ai-YJhl5L-z.js → pw-ai-CyCnG_Kj.js} +7 -7
  149. package/dist/{qmd-manager-CrRvB46v.js → qmd-manager-358OTDns.js} +19 -19
  150. package/dist/{qr-cli-D1U-qIkG.js → qr-cli-BXf1ID0g.js} +3 -3
  151. package/dist/{register.agent-BblNQlzT.js → register.agent-Bf-zNnpf.js} +66 -66
  152. package/dist/{register.agent-BWcxonR9.js → register.agent-CUEmf_fe.js} +15 -15
  153. package/dist/{register.configure-D0T0kOp7.js → register.configure-BX1pnvZN.js} +19 -19
  154. package/dist/register.configure-CbUszoWU.js +129 -0
  155. package/dist/{register.maintenance-DLJpeuc4.js → register.maintenance-B6Hf-dFR.js} +66 -66
  156. package/dist/{register.maintenance-w7sKxODf.js → register.maintenance-ck4eLkWr.js} +15 -15
  157. package/dist/{register.message-CXEwBJ1O.js → register.message-B6A5GxKa.js} +45 -45
  158. package/dist/{register.message-C3dCPjVc.js → register.message-DUtzKXxY.js} +5 -5
  159. package/dist/{register.onboard-DJmVC_6h.js → register.onboard-Lt0JI36k.js} +10 -10
  160. package/dist/{register.onboard-B520Ixsd.js → register.onboard-ppi11I2H.js} +24 -24
  161. package/dist/{register.setup-Br-aZ0qD.js → register.setup-D--UK_mz.js} +9 -9
  162. package/dist/{register.setup-BTse4F3a.js → register.setup-p3Bv9cvy.js} +26 -26
  163. package/dist/{register.status-health-sessions-4dxLj6hJ.js → register.status-health-sessions-DEGk6Zeg.js} +8 -8
  164. package/dist/{register.status-health-sessions-Dbizirr2.js → register.status-health-sessions-s4im2lAy.js} +38 -38
  165. package/dist/{register.subclis-CSJZQox4.js → register.subclis-Bhsc6TUP.js} +20 -20
  166. package/dist/{replies-CbipVshj.js → replies-t5bPemnD.js} +1 -1
  167. package/dist/{reply-prefix-DZQBodKF.js → reply-prefix-BOdARKaY.js} +1 -1
  168. package/dist/{resolve-route-BbUl3Hi7.js → resolve-route-CRWE36h5.js} +1 -1
  169. package/dist/{routes-DiqMB1cp.js → routes-CTOYLhQ1.js} +10 -10
  170. package/dist/{rpc-BcPBUUXl.js → rpc-BLUOZg0H.js} +1 -1
  171. package/dist/{run-main-DISYU1dh.js → run-main-BbCFxhFG.js} +20 -20
  172. package/dist/{sandbox-DPn-s_K5.js → sandbox-CpZmnHRC.js} +18 -18
  173. package/dist/{sandbox-cli-Bl5CMRjH.js → sandbox-cli-DGcyrD_y.js} +13 -13
  174. package/dist/{security-cli-DuxEuSGr.js → security-cli-DwBo5cRE.js} +28 -28
  175. package/dist/{security-cli-C7LBaB0e.js → security-cli-ub7VEaGq.js} +2 -2
  176. package/dist/{send-CYJucYob.js → send-zbkImdk9.js} +7 -7
  177. package/dist/{server-context-BUbuOgNz.js → server-context-Dytgl6ZD.js} +5 -5
  178. package/dist/server-methods-B_5RRPVi.js +9434 -0
  179. package/dist/server-methods-CZIqJLhS.js +9432 -0
  180. package/dist/{server-node-events-7ToqdaU5.js → server-node-events-CIsCdDxa.js} +46 -46
  181. package/dist/{server-node-events-BH4-UlAH.js → server-node-events-lQu3U-Wr.js} +6 -6
  182. package/dist/{service-9ItKCWWS.js → service-AP9pR9R5.js} +15 -15
  183. package/dist/session-dirs-Chh7bBGo.js +18 -0
  184. package/dist/session-dirs-Sl_x6tjD.js +18 -0
  185. package/dist/{session-utils-CqSXwGYa.js → session-utils-NOQiGgMD.js} +12 -12
  186. package/dist/{sessions-DorP6zY8.js → sessions-B7Of0Rqm.js} +11 -11
  187. package/dist/{shared-Z3KjnA8n.js → shared-Bvjz11ts.js} +3 -3
  188. package/dist/{shared-ot5_jkpP.js → shared-DmYHvtn2.js} +1 -1
  189. package/dist/{skill-commands-RbglvrSW.js → skill-commands-5QB5E8bv.js} +4 -4
  190. package/dist/{skill-scanner-CZK0TG9g.js → skill-scanner-YF2jR4RY.js} +5 -5
  191. package/dist/{skills-DS1Vdylm.js → skills-Bmjf5nFv.js} +4 -4
  192. package/dist/{skills-cli-BmIb-9--.js → skills-cli-BypZ_n-i.js} +7 -7
  193. package/dist/{skills-install-DcX1Txvp.js → skills-install-BB27sD4d.js} +3 -3
  194. package/dist/{skills-remote-BDSyRdyX.js → skills-remote-CqwR3Zvp.js} +3 -3
  195. package/dist/{skills-status-F7nlolZZ.js → skills-status-BNDqwHkP.js} +1 -1
  196. package/dist/{sqlite-BUXBg2yu.js → sqlite-DBEvS-Ne.js} +5 -5
  197. package/dist/{status-Hf__QNbH.js → status-BJpznKU1.js} +24 -24
  198. package/dist/{status-CR4VgVZ0.js → status-BhH4w6Rh.js} +3 -3
  199. package/dist/{status-CeaJlVQK.js → status-DjbQ_4aI.js} +1 -1
  200. package/dist/{status-dHYcVtbb.js → status-Dz-fz0Sg.js} +5 -5
  201. package/dist/{status.update-DOj5ifHZ.js → status.update-C45HhTTL.js} +3 -3
  202. package/dist/{subagent-registry-BbQL79Gk.js → subagent-registry-DexfLiQ_.js} +3 -3
  203. package/dist/{symi-root-0MUhiNlM.js → symi-root-DueRHNOE.js} +2 -2
  204. package/dist/{synthesis-CK0K7wFk.js → synthesis-BKdyZilP.js} +42 -42
  205. package/dist/{synthesis-DiPl8Usv.js → synthesis-B_uoS8jb.js} +4 -4
  206. package/dist/{synthesis-C-IePZG6.js → synthesis-DcGTICel.js} +4 -4
  207. package/dist/{system-cli-BKp2K0sb.js → system-cli-BdITqp7I.js} +7 -7
  208. package/dist/{systemd-8KKQdTO_.js → systemd-9LEEqibe.js} +5 -5
  209. package/dist/{systemd-hints-BefHB3bX.js → systemd-hints-RoqMZFFM.js} +6 -6
  210. package/dist/{systemd-linger-C0-G8yq4.js → systemd-linger-PqG8iGCt.js} +1 -1
  211. package/dist/{tui-BheB3rbE.js → tui-CckiZT5A.js} +7 -7
  212. package/dist/{tui-cli-D7wYLESM.js → tui-cli-SrnAqI8U.js} +1 -1
  213. package/dist/{tui-cli-BDcU-VgA.js → tui-cli-e0WhCXvw.js} +19 -19
  214. package/dist/{unified-runner-D6p4N2vu.js → unified-runner-IQkrAem7.js} +99 -99
  215. package/dist/{update-Djvyvehx.js → update-CjZgU686.js} +3 -3
  216. package/dist/{update-check-BdSIMYWq.js → update-check-CZxZhEXr.js} +5 -5
  217. package/dist/{update-cli-BmQuYKTw.js → update-cli-BiRyfmPL.js} +17 -17
  218. package/dist/{update-cli-CwznFR5g.js → update-cli-jbW8hE0j.js} +76 -76
  219. package/dist/{session-dirs-6atzU47U.js → update-runner-CXpAiQuF.js} +1 -15
  220. package/dist/{session-dirs-DONOhYc3.js → update-runner-Dbiosgid.js} +16 -30
  221. package/dist/{webhooks-cli-B2_nrbvn.js → webhooks-cli-DofAY6FK.js} +1 -1
  222. package/dist/{webhooks-cli-D_wAaLOU.js → webhooks-cli-DqJnNdFt.js} +5 -5
  223. package/dist/{with-timeout-CAUWEPmp.js → with-timeout-COajnkmj.js} +1 -1
  224. package/dist/{workspace-dirs-QmSWJptJ.js → workspace-dirs-D5OnUmvw.js} +1 -1
  225. package/dist/{wsl-DO9usEVV.js → wsl-ZWGwnnKI.js} +2 -2
  226. package/package.json +1 -1
  227. package/dist/register.configure-BJ7xtOUZ.js +0 -129
  228. /package/dist/{agents.config-gkq5o5Hy.js → agents.config-D7cHU-OU.js} +0 -0
  229. /package/dist/{auth-choice-legacy-DlTku0W1.js → auth-choice-legacy-CsjluQCN.js} +0 -0
  230. /package/dist/{auth-choice-legacy-y8ZXjhDq.js → auth-choice-legacy-D9WcUI_J.js} +0 -0
  231. /package/dist/{auth-token-2yjfGFTo.js → auth-token-Brb1Askz.js} +0 -0
  232. /package/dist/{consolidate-CTKMVS1l.js → consolidate-D1GUJ5qq.js} +0 -0
  233. /package/dist/{dm-policy-shared-BcYwq7H9.js → dm-policy-shared-CSF4Tw_F.js} +0 -0
  234. /package/dist/{doctor-config-flow-BayEnbIy.js → doctor-config-flow-BXjmJyRY.js} +0 -0
  235. /package/dist/{format-CUJQOEUj.js → format-BGzoTHhD.js} +0 -0
  236. /package/dist/{format-Cj8gNX2r.js → format-C-0EAOjI.js} +0 -0
  237. /package/dist/{gmail-setup-utils-C5QXoiTl.js → gmail-setup-utils-B1BYpISg.js} +0 -0
  238. /package/dist/{gmail-setup-utils-DO0-mXYp.js → gmail-setup-utils-fA1VaWLv.js} +0 -0
  239. /package/dist/{health-format-BQdYy0nL.js → health-format-39e76m9p.js} +0 -0
  240. /package/dist/{health-format-OIqaDZ2V.js → health-format-DaP03FBk.js} +0 -0
  241. /package/dist/{ipv4-CFw4fYIH.js → ipv4-CfVqgiTN.js} +0 -0
  242. /package/dist/{ipv4-DBwTCOBu.js → ipv4-DK4xoUQ-.js} +0 -0
  243. /package/dist/{logging-BA2NbxMy.js → logging-B96FQvnn.js} +0 -0
  244. /package/dist/{logging-Dt9kBzoO.js → logging-BeA4q4J_.js} +0 -0
  245. /package/dist/{logs-cli-Dg7J424l.js → logs-cli-CVBGriNc.js} +0 -0
  246. /package/dist/{model-param-b-CErLzOT8.js → model-param-b-B34yvxBN.js} +0 -0
  247. /package/dist/{model-param-b-DnsFCAGo.js → model-param-b-CmgmcGoJ.js} +0 -0
  248. /package/dist/{node-service-B7zf4WFE.js → node-service-DDDCEDdv.js} +0 -0
  249. /package/dist/{nodes-cli-BpG8jU6q.js → nodes-cli-C70ejrs0.js} +0 -0
  250. /package/dist/{onboard-config-CIBKQuYV.js → onboard-config-Barp7MT9.js} +0 -0
  251. /package/dist/{onboard-config-D6L72_zg.js → onboard-config-DQkZqcyq.js} +0 -0
  252. /package/dist/{onboard-remote-DR9mcFjZ.js → onboard-remote-BDvWSzRz.js} +0 -0
  253. /package/dist/{outbound-send-deps-pzO0D6kV.js → outbound-send-deps-BpziI1pC.js} +0 -0
  254. /package/dist/{pairing-cli-MwIIeBee.js → pairing-cli-mM4XdTk0.js} +0 -0
  255. /package/dist/{ports-B3NnaSHu.js → ports-BAzQoIw0.js} +0 -0
  256. /package/dist/{qmd-manager-CX0jtKS5.js → qmd-manager--kGuC39q.js} +0 -0
  257. /package/dist/{qr-cli-Bv4zF-WM.js → qr-cli-D5Gl0wH3.js} +0 -0
  258. /package/dist/{sandbox-cli-bOFig9Jd.js → sandbox-cli-kmVLo1NO.js} +0 -0
  259. /package/dist/{sessions-Chjdz1Gx.js → sessions-1BZvXUIa.js} +0 -0
  260. /package/dist/{shared-B-64oefu.js → shared-ByldVglV.js} +0 -0
  261. /package/dist/{skills-cli-DbhEEC78.js → skills-cli-CFMRYyuc.js} +0 -0
  262. /package/dist/{skills-install-Q5hgZITy.js → skills-install-BzqoHn0x.js} +0 -0
  263. /package/dist/{status.update-lna4Lub4.js → status.update-BoxoMaxX.js} +0 -0
  264. /package/dist/{system-cli-C9uTFA4c.js → system-cli-BdG41gcY.js} +0 -0
  265. /package/dist/{system-run-command-XG1_P_la.js → system-run-command-QikSIqYG.js} +0 -0
  266. /package/dist/{systemd-linger-CoyAJEZx.js → systemd-linger-BM4qvprK.js} +0 -0
  267. /package/dist/{tui-C_yv1hvy.js → tui-BrE4FemN.js} +0 -0
  268. /package/dist/{update-CbkItCeC.js → update-C1rkPV1C.js} +0 -0
  269. /package/dist/{workspace-2m2BLIbx.js → workspace-B3sO7QlN.js} +0 -0
  270. /package/dist/{workspace-CxAs2tsz.js → workspace-Bb1HX2I0.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C_V8IAYx.js";
2
- import { n as callGateway } from "./call-BjHvYJx2.js";
2
+ import { n as callGateway } from "./call-CbF18cyd.js";
3
3
  import { n as withProgress } from "./progress-CyPyGCDn.js";
4
4
 
5
5
  //#region src/cli/gateway-rpc.ts
@@ -0,0 +1,346 @@
1
+ import { wn as resolveModelProfile } from "./unified-runner-IQkrAem7.js";
2
+ import "./registry-DKJLAPDB.js";
3
+ import "./paths-BSzKwaxE.js";
4
+ import "./utils-BU8jVQFM.js";
5
+ import "./subsystem-CtH6J8AV.js";
6
+ import "./auth-profiles-BFSVvFKy.js";
7
+ import "./exec-DKyLtSjm.js";
8
+ import "./agent-scope-DIjW66iO.js";
9
+ import "./github-copilot-token-BTNK6Tcd.js";
10
+ import "./boolean-Wzu0-e0P.js";
11
+ import "./env-B97Ms861.js";
12
+ import "./pi-embedded-helpers-D4cxQiPr.js";
13
+ import { i as loadConfig } from "./config-MU0QT0xu.js";
14
+ import "./manifest-registry-D_LsBSyt.js";
15
+ import "./sandbox-CpZmnHRC.js";
16
+ import "./chrome-D5UEEo4y.js";
17
+ import "./tailscale-D7dC-5EX.js";
18
+ import "./auth-BbwD4lRX.js";
19
+ import "./server-context-Dytgl6ZD.js";
20
+ import "./frontmatter-CHu3sfCM.js";
21
+ import "./skills-Bmjf5nFv.js";
22
+ import "./routes-CTOYLhQ1.js";
23
+ import "./redact-CSc_2Nka.js";
24
+ import "./errors-Z-WkF18Q.js";
25
+ import "./fs-safe-B6nMaZqV.js";
26
+ import "./paths-Dc6A9_vI.js";
27
+ import "./ssrf-CC9kEPCT.js";
28
+ import "./image-ops-C-gIIp7Q.js";
29
+ import "./ports-DqxP-bXz.js";
30
+ import "./trash-BjVrPcAx.js";
31
+ import "./sessions-B7Of0Rqm.js";
32
+ import "./dock-CnGWTXL4.js";
33
+ import "./message-channel-C_V8IAYx.js";
34
+ import "./plugins-DuuHorqi.js";
35
+ import "./send-zbkImdk9.js";
36
+ import "./paths-CJcw9nbZ.js";
37
+ import "./thinking-177f26eg.js";
38
+ import "./tokens-BKbemuIk.js";
39
+ import "./deliver-BX3IOm7k.js";
40
+ import "./diagnostic-CwF3MnBL.js";
41
+ import "./diagnostic-session-state-I4x9gPY4.js";
42
+ import "./models-config-C-VjjDXg.js";
43
+ import "./pi-auth-json-SHGGQzOL.js";
44
+ import "./session-cost-usage-DYcv40ss.js";
45
+ import "./session-utils-NOQiGgMD.js";
46
+ import "./with-timeout-COajnkmj.js";
47
+ import "./reply-prefix-BOdARKaY.js";
48
+ import "./memory-cQbfKDAe.js";
49
+ import "./manager-BFOp2VHW.js";
50
+ import "./sqlite-DBEvS-Ne.js";
51
+ import "./chunk-DQGU0F8t.js";
52
+ import "./markdown-tables-GTLvbzuR.js";
53
+ import "./fetch-guard-DG6T0ZdL.js";
54
+ import "./local-roots-BnDnugq3.js";
55
+ import "./commands-B3UrgxIz.js";
56
+ import "./commands-registry-BNCcZy2y.js";
57
+ import "./client-ZZqt0H0-.js";
58
+ import "./call-CbF18cyd.js";
59
+ import "./pairing-token-CURbSHdi.js";
60
+ import "./tool-display-Dr6VaTg5.js";
61
+ import "./skills-remote-CqwR3Zvp.js";
62
+ import "./workspace-dirs-D5OnUmvw.js";
63
+ import "./pi-model-discovery-DdkUSfiI.js";
64
+ import "./model-catalog-De1c8o1y.js";
65
+ import "./skill-commands-5QB5E8bv.js";
66
+ import "./pairing-store-BGf29nPx.js";
67
+ import "./exec-approvals-CZOc8M5w.js";
68
+ import "./nodes-screen-JELuBMBi.js";
69
+ import "./control-service-D1aZqS0Q.js";
70
+ import "./stagger-BhvnarfO.js";
71
+ import "./channel-selection-BvIcXQLj.js";
72
+ import "./delivery-queue-DDs84baU.js";
73
+ import "./bindings-9LSA3Jr1.js";
74
+ import "./resolve-route-CRWE36h5.js";
75
+ import "./links-CSaUKNKm.js";
76
+ import "./cli-utils-CX1oQ81G.js";
77
+ import "./help-format-BI_G2p1e.js";
78
+ import "./progress-CyPyGCDn.js";
79
+ import "./memory-cli-DXmGAhFX.js";
80
+ import "./logging-B5YNzZB9.js";
81
+ import "./replies-t5bPemnD.js";
82
+ import "./pi-tools.policy-NmG0EGEY.js";
83
+ import "./model-BRcKPW49.js";
84
+ import "./deps-BCywDAi0.js";
85
+ import "./runtime-guard-BZ3_1QqS.js";
86
+ import "./catalog-CSgSg5Gp.js";
87
+ import "./skills-status-BNDqwHkP.js";
88
+ import "./prompt-style-Cad0BDRS.js";
89
+ import "./install-safe-path-CQXx3s9R.js";
90
+ import "./skill-scanner-YF2jR4RY.js";
91
+ import "./channels-status-issues-DC8vgOMo.js";
92
+ import "./onboard-helpers-DpIB1xVU.js";
93
+ import "./systemd-9LEEqibe.js";
94
+ import "./service-AP9pR9R5.js";
95
+ import "./diagnostics-DxdqTfpW.js";
96
+ import "./table-DkAQzCOR.js";
97
+ import "./audit-o0s717ob.js";
98
+ import "./status-BJpznKU1.js";
99
+ import "./health-DnOYGIFp.js";
100
+ import "./control-ui-assets-DUhvOLUL.js";
101
+ import "./update-check-CZxZhEXr.js";
102
+ import { n as handleGatewayRequest } from "./server-methods-B_5RRPVi.js";
103
+ import "./push-apns-9QCL6OFW.js";
104
+ import "./agent--IK5M1T9.js";
105
+ import "./agents.config-D1nFwU81.js";
106
+ import "./dm-policy-shared-5HLej1br.js";
107
+ import "./node-service-tPO_yUk7.js";
108
+ import "./status.update-C45HhTTL.js";
109
+ import "./skills-install-BB27sD4d.js";
110
+ import "./update-runner-Dbiosgid.js";
111
+
112
+ //#region src/gateway/glass-ui-ws.ts
113
+ const SESSION_KEY = "agent:main:main";
114
+ /** Synthetic client used for all glass-ui bridge requests. */
115
+ const GLASS_UI_CLIENT = { connect: {
116
+ minProtocol: 3,
117
+ maxProtocol: 3,
118
+ client: {
119
+ id: "webchat",
120
+ version: "1.0.0",
121
+ platform: "server",
122
+ mode: "webchat"
123
+ },
124
+ role: "operator",
125
+ scopes: ["operator.admin"],
126
+ caps: [],
127
+ auth: {},
128
+ userAgent: "symi-glass-ui-bridge/1.0.0",
129
+ locale: "en-US"
130
+ } };
131
+ function isWebchatConnect() {
132
+ return true;
133
+ }
134
+ function safeSend(ws, data) {
135
+ try {
136
+ if (ws.readyState === ws.OPEN) ws.send(JSON.stringify(data));
137
+ } catch {}
138
+ }
139
+ function createGlassUiBridge(opts) {
140
+ const { wss, context, extraHandlers, onBroadcast } = opts;
141
+ const browserClients = /* @__PURE__ */ new Map();
142
+ let broadcastSeq = 0;
143
+ function broadcastToBrowsers(msg, seq) {
144
+ for (const [, state] of browserClients) {
145
+ if (seq <= state.lastBroadcastSeq) continue;
146
+ state.lastBroadcastSeq = seq;
147
+ safeSend(state.ws, msg);
148
+ }
149
+ }
150
+ const broadcastUnsub = onBroadcast((event, payload) => {
151
+ broadcastSeq++;
152
+ const seq = broadcastSeq;
153
+ if (event === "chat") broadcastToBrowsers({
154
+ type: "chat",
155
+ payload,
156
+ _seq: seq
157
+ }, seq);
158
+ else if (event === "agent") broadcastToBrowsers({
159
+ type: "agent",
160
+ payload,
161
+ _seq: seq
162
+ }, seq);
163
+ else if (event === "subagent") broadcastToBrowsers({
164
+ type: "subagent",
165
+ payload,
166
+ _seq: seq
167
+ }, seq);
168
+ else if (event === "profile") broadcastToBrowsers({
169
+ type: "profile",
170
+ payload,
171
+ _seq: seq
172
+ }, seq);
173
+ });
174
+ /** Dispatch an RPC method through the gateway's internal handler. */
175
+ async function dispatchRpc(method, params) {
176
+ return new Promise((resolve) => {
177
+ const req = {
178
+ type: "req",
179
+ id: "glass-bridge",
180
+ method,
181
+ params
182
+ };
183
+ const respond = (ok, payload, error) => {
184
+ resolve({
185
+ ok,
186
+ payload,
187
+ error
188
+ });
189
+ };
190
+ handleGatewayRequest({
191
+ req,
192
+ client: GLASS_UI_CLIENT,
193
+ isWebchatConnect,
194
+ respond,
195
+ context,
196
+ extraHandlers
197
+ });
198
+ });
199
+ }
200
+ async function loadAndSendHistory(ws, attempt = 1) {
201
+ const maxAttempts = 3;
202
+ try {
203
+ const result = await dispatchRpc("chat.history", { sessionKey: SESSION_KEY });
204
+ if (result.ok) {
205
+ const payload = result.payload;
206
+ safeSend(ws, {
207
+ type: "history",
208
+ messages: payload.messages ?? [],
209
+ total: payload.total ?? 0,
210
+ hasMore: payload.hasMore ?? false,
211
+ startIndex: payload.startIndex ?? 0
212
+ });
213
+ } else if (attempt < maxAttempts) setTimeout(() => void loadAndSendHistory(ws, attempt + 1), 1500 * attempt);
214
+ else safeSend(ws, {
215
+ type: "history",
216
+ messages: [],
217
+ total: 0,
218
+ hasMore: false,
219
+ startIndex: 0,
220
+ error: "history.unavailable",
221
+ recoverable: true
222
+ });
223
+ } catch {
224
+ if (attempt < maxAttempts) setTimeout(() => void loadAndSendHistory(ws, attempt + 1), 1500 * attempt);
225
+ else safeSend(ws, {
226
+ type: "history",
227
+ messages: [],
228
+ total: 0,
229
+ hasMore: false,
230
+ startIndex: 0,
231
+ error: "history.unavailable",
232
+ recoverable: true
233
+ });
234
+ }
235
+ }
236
+ function sendInitialProfile(ws) {
237
+ try {
238
+ const cfg = loadConfig();
239
+ const modelId = cfg.agents?.defaults?.model?.primary;
240
+ if (!modelId) return;
241
+ safeSend(ws, {
242
+ type: "profile",
243
+ payload: {
244
+ event: "profile",
245
+ profile: resolveModelProfile(modelId, cfg.models?.profiles),
246
+ modelId
247
+ }
248
+ });
249
+ } catch {}
250
+ }
251
+ wss.on("connection", (ws) => {
252
+ browserClients.set(ws, {
253
+ ws,
254
+ lastBroadcastSeq: broadcastSeq
255
+ });
256
+ safeSend(ws, {
257
+ type: "status",
258
+ connected: true
259
+ });
260
+ sendInitialProfile(ws);
261
+ loadAndSendHistory(ws);
262
+ ws.on("message", (data) => {
263
+ let msg;
264
+ try {
265
+ const text = Buffer.isBuffer(data) ? data.toString("utf8") : data instanceof ArrayBuffer ? Buffer.from(data).toString("utf8") : Array.isArray(data) ? Buffer.concat(data).toString("utf8") : "";
266
+ msg = JSON.parse(text);
267
+ } catch {
268
+ return;
269
+ }
270
+ const type = msg.type;
271
+ if (type === "chat.send") {
272
+ (async () => {
273
+ try {
274
+ await dispatchRpc("chat.send", {
275
+ sessionKey: SESSION_KEY,
276
+ message: msg.message,
277
+ idempotencyKey: crypto.randomUUID()
278
+ });
279
+ } catch (err) {
280
+ safeSend(ws, {
281
+ type: "error",
282
+ message: String(err)
283
+ });
284
+ }
285
+ })();
286
+ return;
287
+ }
288
+ if (type === "chat.abort") {
289
+ (async () => {
290
+ try {
291
+ const params = { sessionKey: SESSION_KEY };
292
+ if (msg.runId) params.runId = msg.runId;
293
+ await dispatchRpc("chat.abort", params);
294
+ } catch (err) {
295
+ safeSend(ws, {
296
+ type: "error",
297
+ message: String(err)
298
+ });
299
+ }
300
+ })();
301
+ return;
302
+ }
303
+ if (type === "rpc") {
304
+ const rpcId = msg.id;
305
+ const method = msg.method;
306
+ const params = msg.params ?? {};
307
+ (async () => {
308
+ try {
309
+ const result = await dispatchRpc(method, params);
310
+ safeSend(ws, {
311
+ type: "rpc.response",
312
+ id: rpcId,
313
+ ok: result.ok,
314
+ payload: result.payload,
315
+ error: result.error
316
+ });
317
+ } catch (err) {
318
+ safeSend(ws, {
319
+ type: "rpc.response",
320
+ id: rpcId,
321
+ ok: false,
322
+ error: { message: String(err) }
323
+ });
324
+ }
325
+ })();
326
+ return;
327
+ }
328
+ });
329
+ ws.on("close", () => {
330
+ browserClients.delete(ws);
331
+ });
332
+ ws.on("error", () => {
333
+ browserClients.delete(ws);
334
+ });
335
+ });
336
+ return () => {
337
+ broadcastUnsub();
338
+ for (const [, state] of browserClients) try {
339
+ state.ws.close();
340
+ } catch {}
341
+ browserClients.clear();
342
+ };
343
+ }
344
+
345
+ //#endregion
346
+ export { createGlassUiBridge };
@@ -0,0 +1,341 @@
1
+ import "./auth-profiles-Bs5D0GUv.js";
2
+ import "./exec-B6oWJSJW.js";
3
+ import "./agent-scope-B6p555mP.js";
4
+ import "./github-copilot-token-a6a53zx_.js";
5
+ import "./pi-auth-json-CUZ7IgY7.js";
6
+ import "./model-DgN15006.js";
7
+ import "./pi-model-discovery-Do3xMEtM.js";
8
+ import "./frontmatter-B4levtVg.js";
9
+ import "./skills-BP6p7GnN.js";
10
+ import "./manifest-registry-DJcKcUQ9.js";
11
+ import "./skills-status-01KNlWUS.js";
12
+ import { i as loadConfig } from "./config-Cw7uo7Dh.js";
13
+ import "./client-CAz5aPpp.js";
14
+ import "./call-Dy_T6f6d.js";
15
+ import "./message-channel-CNPAq1Tl.js";
16
+ import "./pairing-token-Bnr7QjVF.js";
17
+ import { M as resolveModelProfile } from "./subagent-registry-DexfLiQ_.js";
18
+ import "./sessions-BHrlpR92.js";
19
+ import "./plugins-Bq-Msc8Z.js";
20
+ import "./send-C3ZXgOXw.js";
21
+ import "./with-timeout-BhDKgIeU.js";
22
+ import "./deliver-Cl2fWxx4.js";
23
+ import "./diagnostic-BevbDWGa.js";
24
+ import "./diagnostic-session-state-Zw87xFym.js";
25
+ import "./pi-embedded-helpers-BbBfO9m_.js";
26
+ import "./sandbox-B6P9-J8g.js";
27
+ import "./chrome-BxWRyWC_.js";
28
+ import "./tailscale-BsA0YClX.js";
29
+ import "./auth-DIdzV4_r.js";
30
+ import "./server-context-Vd9sEFb9.js";
31
+ import "./routes-CWYyvbxi.js";
32
+ import "./redact-KvsGzUFH.js";
33
+ import "./errors-TVUWuVoP.js";
34
+ import "./fs-safe-DzJT_iD4.js";
35
+ import "./paths-CsQkeUQ3.js";
36
+ import "./ssrf-jKt8PSDl.js";
37
+ import "./image-ops-CZPSKxgE.js";
38
+ import "./ports-Cv4kt1bT.js";
39
+ import "./trash-CF1G530Y.js";
40
+ import "./dock-Cq5LxV1L.js";
41
+ import "./paths-CNexk5_o.js";
42
+ import "./thinking-BDh5LPh-.js";
43
+ import "./models-config-C2OLw8vc.js";
44
+ import "./reply-prefix-B7pYEiW_.js";
45
+ import "./memory-CUt9fSz8.js";
46
+ import "./manager-z92Qfa3m.js";
47
+ import "./sqlite-l3CZYU6t.js";
48
+ import "./chunk-BySyfaEr.js";
49
+ import "./markdown-tables-CCOfinlW.js";
50
+ import "./fetch-guard--i1VgM2O.js";
51
+ import "./local-roots-Bk3321gv.js";
52
+ import "./commands-CHkx0oTl.js";
53
+ import "./commands-registry-Bccp0eH5.js";
54
+ import "./tool-display-wSdT0Ynz.js";
55
+ import "./tokens-K3kGchJA.js";
56
+ import "./skills-remote-DHfuS68n.js";
57
+ import "./redact-identifier-QYENCXvy.js";
58
+ import "./workspace-dirs-23IYtZj2.js";
59
+ import "./model-catalog-Ba4R_zVe.js";
60
+ import "./session-utils-CJfEkQQQ.js";
61
+ import "./skill-commands-CcCCVblU.js";
62
+ import "./pairing-store-CtBnCGHZ.js";
63
+ import "./exec-approvals-B8n8es8o.js";
64
+ import "./nodes-screen-Bkq2kswx.js";
65
+ import "./session-cost-usage-Cj3vd7lZ.js";
66
+ import "./control-service-BTydj9Kk.js";
67
+ import "./stagger-C2kEx8j9.js";
68
+ import "./channel-selection-p35DYzAL.js";
69
+ import "./delivery-queue-nheCYaMd.js";
70
+ import "./bindings-D3NmzRPM.js";
71
+ import "./resolve-route-DNKcB7Q9.js";
72
+ import "./links-Db3Rw0Tg.js";
73
+ import "./cli-utils-BqMwAlgf.js";
74
+ import "./help-format-DbbIlOje.js";
75
+ import "./progress-C4ck6JXh.js";
76
+ import "./memory-cli-BlBxrZF2.js";
77
+ import "./logging-D0L9TWhE.js";
78
+ import "./replies-DIWartyA.js";
79
+ import "./pi-tools.policy--USPnaLr.js";
80
+ import "./catalog-CJzUbDcX.js";
81
+ import "./prompt-style-Z2ZizQap.js";
82
+ import "./install-safe-path-BiJP_bOf.js";
83
+ import "./skill-scanner-CuoStu03.js";
84
+ import "./channels-status-issues-GSsGZvfn.js";
85
+ import "./runtime-guard-p4-FMx0l.js";
86
+ import "./onboard-helpers-C5YryU1N.js";
87
+ import "./systemd-p_nEAkHC.js";
88
+ import "./service-BIixwO-v.js";
89
+ import "./diagnostics-DELEpbg2.js";
90
+ import "./table-CSEp22Mk.js";
91
+ import "./audit-DQpLuCNP.js";
92
+ import "./status-Dz-fz0Sg.js";
93
+ import "./health-D2CsIdFz.js";
94
+ import "./outbound-send-deps-CBRh4LsL.js";
95
+ import "./control-ui-assets-B5BrwGRs.js";
96
+ import "./update-check-C1JNxsic.js";
97
+ import { n as handleGatewayRequest } from "./server-methods-CZIqJLhS.js";
98
+ import "./push-apns-DFKohq1V.js";
99
+ import "./agent-CKmM2vyY.js";
100
+ import "./agents.config-D7cHU-OU.js";
101
+ import "./dm-policy-shared-CSF4Tw_F.js";
102
+ import "./node-service-DDDCEDdv.js";
103
+ import "./status.update-BoxoMaxX.js";
104
+ import "./skills-install-BzqoHn0x.js";
105
+ import "./update-runner-CXpAiQuF.js";
106
+
107
+ //#region src/gateway/glass-ui-ws.ts
108
+ const SESSION_KEY = "agent:main:main";
109
+ /** Synthetic client used for all glass-ui bridge requests. */
110
+ const GLASS_UI_CLIENT = { connect: {
111
+ minProtocol: 3,
112
+ maxProtocol: 3,
113
+ client: {
114
+ id: "webchat",
115
+ version: "1.0.0",
116
+ platform: "server",
117
+ mode: "webchat"
118
+ },
119
+ role: "operator",
120
+ scopes: ["operator.admin"],
121
+ caps: [],
122
+ auth: {},
123
+ userAgent: "symi-glass-ui-bridge/1.0.0",
124
+ locale: "en-US"
125
+ } };
126
+ function isWebchatConnect() {
127
+ return true;
128
+ }
129
+ function safeSend(ws, data) {
130
+ try {
131
+ if (ws.readyState === ws.OPEN) ws.send(JSON.stringify(data));
132
+ } catch {}
133
+ }
134
+ function createGlassUiBridge(opts) {
135
+ const { wss, context, extraHandlers, onBroadcast } = opts;
136
+ const browserClients = /* @__PURE__ */ new Map();
137
+ let broadcastSeq = 0;
138
+ function broadcastToBrowsers(msg, seq) {
139
+ for (const [, state] of browserClients) {
140
+ if (seq <= state.lastBroadcastSeq) continue;
141
+ state.lastBroadcastSeq = seq;
142
+ safeSend(state.ws, msg);
143
+ }
144
+ }
145
+ const broadcastUnsub = onBroadcast((event, payload) => {
146
+ broadcastSeq++;
147
+ const seq = broadcastSeq;
148
+ if (event === "chat") broadcastToBrowsers({
149
+ type: "chat",
150
+ payload,
151
+ _seq: seq
152
+ }, seq);
153
+ else if (event === "agent") broadcastToBrowsers({
154
+ type: "agent",
155
+ payload,
156
+ _seq: seq
157
+ }, seq);
158
+ else if (event === "subagent") broadcastToBrowsers({
159
+ type: "subagent",
160
+ payload,
161
+ _seq: seq
162
+ }, seq);
163
+ else if (event === "profile") broadcastToBrowsers({
164
+ type: "profile",
165
+ payload,
166
+ _seq: seq
167
+ }, seq);
168
+ });
169
+ /** Dispatch an RPC method through the gateway's internal handler. */
170
+ async function dispatchRpc(method, params) {
171
+ return new Promise((resolve) => {
172
+ const req = {
173
+ type: "req",
174
+ id: "glass-bridge",
175
+ method,
176
+ params
177
+ };
178
+ const respond = (ok, payload, error) => {
179
+ resolve({
180
+ ok,
181
+ payload,
182
+ error
183
+ });
184
+ };
185
+ handleGatewayRequest({
186
+ req,
187
+ client: GLASS_UI_CLIENT,
188
+ isWebchatConnect,
189
+ respond,
190
+ context,
191
+ extraHandlers
192
+ });
193
+ });
194
+ }
195
+ async function loadAndSendHistory(ws, attempt = 1) {
196
+ const maxAttempts = 3;
197
+ try {
198
+ const result = await dispatchRpc("chat.history", { sessionKey: SESSION_KEY });
199
+ if (result.ok) {
200
+ const payload = result.payload;
201
+ safeSend(ws, {
202
+ type: "history",
203
+ messages: payload.messages ?? [],
204
+ total: payload.total ?? 0,
205
+ hasMore: payload.hasMore ?? false,
206
+ startIndex: payload.startIndex ?? 0
207
+ });
208
+ } else if (attempt < maxAttempts) setTimeout(() => void loadAndSendHistory(ws, attempt + 1), 1500 * attempt);
209
+ else safeSend(ws, {
210
+ type: "history",
211
+ messages: [],
212
+ total: 0,
213
+ hasMore: false,
214
+ startIndex: 0,
215
+ error: "history.unavailable",
216
+ recoverable: true
217
+ });
218
+ } catch {
219
+ if (attempt < maxAttempts) setTimeout(() => void loadAndSendHistory(ws, attempt + 1), 1500 * attempt);
220
+ else safeSend(ws, {
221
+ type: "history",
222
+ messages: [],
223
+ total: 0,
224
+ hasMore: false,
225
+ startIndex: 0,
226
+ error: "history.unavailable",
227
+ recoverable: true
228
+ });
229
+ }
230
+ }
231
+ function sendInitialProfile(ws) {
232
+ try {
233
+ const cfg = loadConfig();
234
+ const modelId = cfg.agents?.defaults?.model?.primary;
235
+ if (!modelId) return;
236
+ safeSend(ws, {
237
+ type: "profile",
238
+ payload: {
239
+ event: "profile",
240
+ profile: resolveModelProfile(modelId, cfg.models?.profiles),
241
+ modelId
242
+ }
243
+ });
244
+ } catch {}
245
+ }
246
+ wss.on("connection", (ws) => {
247
+ browserClients.set(ws, {
248
+ ws,
249
+ lastBroadcastSeq: broadcastSeq
250
+ });
251
+ safeSend(ws, {
252
+ type: "status",
253
+ connected: true
254
+ });
255
+ sendInitialProfile(ws);
256
+ loadAndSendHistory(ws);
257
+ ws.on("message", (data) => {
258
+ let msg;
259
+ try {
260
+ const text = Buffer.isBuffer(data) ? data.toString("utf8") : data instanceof ArrayBuffer ? Buffer.from(data).toString("utf8") : Array.isArray(data) ? Buffer.concat(data).toString("utf8") : "";
261
+ msg = JSON.parse(text);
262
+ } catch {
263
+ return;
264
+ }
265
+ const type = msg.type;
266
+ if (type === "chat.send") {
267
+ (async () => {
268
+ try {
269
+ await dispatchRpc("chat.send", {
270
+ sessionKey: SESSION_KEY,
271
+ message: msg.message,
272
+ idempotencyKey: crypto.randomUUID()
273
+ });
274
+ } catch (err) {
275
+ safeSend(ws, {
276
+ type: "error",
277
+ message: String(err)
278
+ });
279
+ }
280
+ })();
281
+ return;
282
+ }
283
+ if (type === "chat.abort") {
284
+ (async () => {
285
+ try {
286
+ const params = { sessionKey: SESSION_KEY };
287
+ if (msg.runId) params.runId = msg.runId;
288
+ await dispatchRpc("chat.abort", params);
289
+ } catch (err) {
290
+ safeSend(ws, {
291
+ type: "error",
292
+ message: String(err)
293
+ });
294
+ }
295
+ })();
296
+ return;
297
+ }
298
+ if (type === "rpc") {
299
+ const rpcId = msg.id;
300
+ const method = msg.method;
301
+ const params = msg.params ?? {};
302
+ (async () => {
303
+ try {
304
+ const result = await dispatchRpc(method, params);
305
+ safeSend(ws, {
306
+ type: "rpc.response",
307
+ id: rpcId,
308
+ ok: result.ok,
309
+ payload: result.payload,
310
+ error: result.error
311
+ });
312
+ } catch (err) {
313
+ safeSend(ws, {
314
+ type: "rpc.response",
315
+ id: rpcId,
316
+ ok: false,
317
+ error: { message: String(err) }
318
+ });
319
+ }
320
+ })();
321
+ return;
322
+ }
323
+ });
324
+ ws.on("close", () => {
325
+ browserClients.delete(ws);
326
+ });
327
+ ws.on("error", () => {
328
+ browserClients.delete(ws);
329
+ });
330
+ });
331
+ return () => {
332
+ broadcastUnsub();
333
+ for (const [, state] of browserClients) try {
334
+ state.ws.close();
335
+ } catch {}
336
+ browserClients.clear();
337
+ };
338
+ }
339
+
340
+ //#endregion
341
+ export { createGlassUiBridge };
@@ -1,13 +1,13 @@
1
1
  import { A as isRich, j as theme, x as info } from "./registry-DKJLAPDB.js";
2
2
  import { o as normalizeAgentId } from "./session-key-B_ZVH1kE.js";
3
- import { l as resolveDefaultAgentId } from "./agent-scope-CKTVXF_1.js";
3
+ import { l as resolveDefaultAgentId } from "./agent-scope-DIjW66iO.js";
4
4
  import { t as isTruthyEnvValue } from "./env-B97Ms861.js";
5
- import { i as loadConfig } from "./config-BEaq2Sb6.js";
5
+ import { i as loadConfig } from "./config-MU0QT0xu.js";
6
6
  import { n as formatErrorMessage } from "./errors-Z-WkF18Q.js";
7
- import { o as loadSessionStore } from "./sessions-DorP6zY8.js";
7
+ import { o as loadSessionStore } from "./sessions-B7Of0Rqm.js";
8
8
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
9
9
  import { c as resolveStorePath } from "./paths-CJcw9nbZ.js";
10
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BjHvYJx2.js";
10
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CbF18cyd.js";
11
11
  import { r as resolvePreferredAccountId, t as buildChannelAccountBindings } from "./bindings-9LSA3Jr1.js";
12
12
  import { n as withProgress } from "./progress-CyPyGCDn.js";
13
13
  import { t as resolveChannelDefaultAccountId } from "./helpers-BBypnAYf.js";