@symerian/symi 3.4.2 → 3.4.7

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 (346) hide show
  1. package/dist/{agent-CDUpwXQX.js → agent-BaSGoKPq.js} +8 -8
  2. package/dist/{agent-BcHmIY_n.js → agent-C8IIjDyn.js} +18 -18
  3. package/dist/{agent-scope-CKTVXF_1.js → agent-scope-DIjW66iO.js} +18 -18
  4. package/dist/{agents-Dx_B11LV.js → agents-D6Ygz9ED.js} +8 -8
  5. package/dist/{agents.config-D6lBCMyT.js → agents.config-D1nFwU81.js} +1 -1
  6. package/dist/{audit-CMPCYnHv.js → audit-BI8Rbs5q.js} +21 -21
  7. package/dist/{audit-FMN4BTKc.js → audit-nqP-JeOr.js} +8 -8
  8. package/dist/{auth-choice-s1SGAS0u.js → auth-choice-BBrEzoy2.js} +8 -8
  9. package/dist/{auth-choice-BJgf7XV6.js → auth-choice-Bx4Duu6u.js} +6 -6
  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-l9GjW5Rm.js} +1 -1
  17. package/dist/{browser-cli-DW3CxkSc.js → browser-cli-BAxOL41p.js} +9 -9
  18. package/dist/{browser-cli-C6G2Ql9l.js → browser-cli-Bk8DxxeA.js} +4 -4
  19. package/dist/build-info.json +3 -3
  20. package/dist/bundled/boot-md/handler.js +8 -8
  21. package/dist/bundled/session-memory/handler.js +7 -7
  22. package/dist/{call-Dy_T6f6d.js → call-5IE9ycvm.js} +2 -4
  23. package/dist/{call-BjHvYJx2.js → call-BPJn2_th.js} +9 -11
  24. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  25. package/dist/{channel-options-77nGDc70.js → channel-options-COanIUoQ.js} +1 -1
  26. package/dist/{channel-options-BMZyRh5E.js → channel-options-DGUqfnbP.js} +1 -1
  27. package/dist/{channels-cli-C048Z7h-.js → channels-cli-B1zmnm5a.js} +54 -54
  28. package/dist/{channels-cli-CjQ8Rfpv.js → channels-cli-CZ3M3yE1.js} +27 -27
  29. package/dist/{chrome-BxWRyWC_.js → chrome-B0wRtBRB.js} +1 -1
  30. package/dist/{chrome-C0vnHDyY.js → chrome-B4P7ycw5.js} +1 -1
  31. package/dist/{chrome-droANDig.js → chrome-CPSDqbK6.js} +8 -8
  32. package/dist/{chrome-BQoO4LXq.js → chrome-VbDUdW0_.js} +2 -2
  33. package/dist/{cli-CXAyZ9dx.js → cli-C7I5uEFC.js} +42 -42
  34. package/dist/{cli-CpmVizCT.js → cli-CC5GrdTI.js} +23 -23
  35. package/dist/{client-CAz5aPpp.js → client-Dp8LUTmF.js} +2 -5
  36. package/dist/{client-Bs2zB0rY.js → client-qjXXRKCO.js} +3 -6
  37. package/dist/{command-registry-B9TplwzB.js → command-registry-ByBvyNis.js} +11 -11
  38. package/dist/{commands-registry-CLePPNDW.js → commands-registry-BNCcZy2y.js} +1 -1
  39. package/dist/{completion-cli-Dv8CNTMW.js → completion-cli-BFBbL-u4.js} +2 -2
  40. package/dist/{completion-cli-ecfjoaIU.js → completion-cli-rzEsCzmE.js} +12 -12
  41. package/dist/{config-BEaq2Sb6.js → config-DqMsGcSQ.js} +2 -4
  42. package/dist/{config-cli-CAwWFZwh.js → config-cli-BqzjDmIH.js} +4 -4
  43. package/dist/{config-cli-zMpHOTSD.js → config-cli-DSDGwckX.js} +2 -2
  44. package/dist/{config-guard-29sjAeg8.js → config-guard-CJcSKMuP.js} +6 -6
  45. package/dist/{config-guard-B2j-KuUQ.js → config-guard-Cu-dwAgi.js} +2 -2
  46. package/dist/{config-Cw7uo7Dh.js → config-igdtSRrZ.js} +0 -2
  47. package/dist/{config-validation-Bp2AdKjN.js → config-validation-Bp2wJ610.js} +1 -1
  48. package/dist/{config-validation-MUkEKwbD.js → config-validation-Bs1Gp2oG.js} +1 -1
  49. package/dist/{configure-Bh0-A3hM.js → configure-BazJdwKU.js} +15 -15
  50. package/dist/{configure-DvVtZB1V.js → configure-Dl1f1Den.js} +18 -18
  51. package/dist/{consolidate-DeA11kIO.js → consolidate-7Usm-b2g.js} +6 -6
  52. package/dist/{control-service-BTydj9Kk.js → control-service-DO8FjrS6.js} +4 -4
  53. package/dist/{control-service-DhlgNQGb.js → control-service-Fn3d9AlH.js} +4 -4
  54. package/dist/{control-ui-assets-D22DSxhv.js → control-ui-assets-DUhvOLUL.js} +1 -1
  55. package/dist/{cron-cli-5souN2YC.js → cron-cli-DXgI5Lid.js} +7 -10
  56. package/dist/{cron-cli-Cr8hrEDQ.js → cron-cli-DZyH2BfZ.js} +10 -13
  57. package/dist/{daemon-cli-OZuuMobs.js → daemon-cli-C6FSROt1.js} +11 -11
  58. package/dist/{daemon-cli-AVJLjFd5.js → daemon-cli-DmMYx5Uf.js} +6 -6
  59. package/dist/daemon-cli.js +2 -9
  60. package/dist/{daemon-runtime-CkBw3gG5.js → daemon-runtime-2Y9RfgcP.js} +1 -1
  61. package/dist/{daemon-runtime-Dr_xKl0r.js → daemon-runtime-BpfA4d6Q.js} +10 -10
  62. package/dist/{deliver-BwcK0QD6.js → deliver-BkCYBlzi.js} +5 -5
  63. package/dist/{deliver-vzAN9mRl.js → deliver-Mqq3tgqB.js} +5 -5
  64. package/dist/{deliver-ccf_boim.js → deliver-RwovDEDy.js} +2 -2
  65. package/dist/{deliver-Cl2fWxx4.js → deliver-izdrXPr4.js} +1 -1
  66. package/dist/{deps-B6QYsl_-.js → deps-bCHNuszw.js} +1 -1
  67. package/dist/{devices-cli-DN3SH89Z.js → devices-cli-D6xXc9Ym.js} +6 -6
  68. package/dist/{devices-cli-BXaodSI7.js → devices-cli-IMv-0zor.js} +3 -3
  69. package/dist/{diagnostics-nLP2i_BY.js → diagnostics-DxdqTfpW.js} +5 -5
  70. package/dist/{directory-cli-cK6CHm4W.js → directory-cli-3wlYB9In.js} +1 -1
  71. package/dist/{directory-cli-B72WzWuP.js → directory-cli-ClbYhd6z.js} +3 -3
  72. package/dist/{dm-policy-shared-DiZ3lMtl.js → dm-policy-shared-5HLej1br.js} +1 -1
  73. package/dist/{dns-cli-DPO4AuUq.js → dns-cli-CY2voLuR.js} +3 -3
  74. package/dist/{dns-cli-D6uc55C9.js → dns-cli-CoVIqRWx.js} +1 -1
  75. package/dist/{docs-cli-C2BEC5yU.js → docs-cli-DjQ3SvBq.js} +1 -1
  76. package/dist/{doctor-completion-Cvu8koMQ.js → doctor-completion-B8cqL1A0.js} +2 -2
  77. package/dist/{doctor-completion-DwrIExJJ.js → doctor-completion-BqbhVdbe.js} +1 -1
  78. package/dist/{doctor-config-flow-Cu1ZuFHd.js → doctor-config-flow-CYDx1U0Z.js} +9 -9
  79. package/dist/{doctor-config-flow-BayEnbIy.js → doctor-config-flow-wvoEFNeZ.js} +2 -2
  80. package/dist/entry.js +1 -1
  81. package/dist/{exec-approvals-cli-BN5OFwrg.js → exec-approvals-cli-B_P-1zVp.js} +13 -13
  82. package/dist/{exec-approvals-cli-BI9yAGI5.js → exec-approvals-cli-Dy1jvh2M.js} +5 -5
  83. package/dist/extensionAPI.js +6 -6
  84. package/dist/{fs-safe-DjAKGGJ8.js → fs-safe-B6nMaZqV.js} +6 -6
  85. package/dist/{gateway-cli-C_wDspkm.js → gateway-cli-DYJxZ5dh.js} +377 -9751
  86. package/dist/{gateway-cli-uquFQTQW.js → gateway-cli-DfRlFuH-.js} +334 -9708
  87. package/dist/{gateway-rpc-B5_ZCiHW.js → gateway-rpc-C1xjWlxu.js} +1 -1
  88. package/dist/{gateway-rpc-fQLZhzRK.js → gateway-rpc-DD_aXogj.js} +1 -1
  89. package/dist/glass-ui-ws-BNJkhJrL.js +346 -0
  90. package/dist/glass-ui-ws-BZvH4MBO.js +341 -0
  91. package/dist/{health-DUulgHFK.js → health-D8cKia4i.js} +5 -61
  92. package/dist/{health-D2CsIdFz.js → health-DdzNc1yA.js} +4 -60
  93. package/dist/{hooks-cli-6UBBpeAz.js → hooks-cli-DkP3Y4ou.js} +58 -58
  94. package/dist/{hooks-cli-C6XdXNdl.js → hooks-cli-qO421UdO.js} +26 -26
  95. package/dist/{hooks-status-DGjgoBZt.js → hooks-status-COU9Cw9_.js} +1 -1
  96. package/dist/{hooks-status-BQAuzmwT.js → hooks-status-uaFS2SUa.js} +1 -1
  97. package/dist/{image-ops-c7_of0HT.js → image-ops-C-gIIp7Q.js} +10 -10
  98. package/dist/index.js +49 -49
  99. package/dist/{inspect-op0Ov-v4.js → inspect-BDzd6yBs.js} +4 -4
  100. package/dist/{install-safe-path-B73BkVO3.js → install-safe-path-CQXx3s9R.js} +11 -11
  101. package/dist/{installs-BzgwvqqQ.js → installs-DhSLZRT7.js} +10 -10
  102. package/dist/{internal-C3o_xyzP.js → internal-CHnZdvRy.js} +9 -9
  103. package/dist/{lifecycle-core-BmGPBj_P.js → lifecycle-core-BEmljRfh.js} +5 -5
  104. package/dist/{lifecycle-core-Dark4HHr.js → lifecycle-core-uN2bsrZs.js} +2 -2
  105. package/dist/llm-slug-generator.js +7 -7
  106. package/dist/{local-roots-CUKhHNCV.js → local-roots-BnDnugq3.js} +1 -1
  107. package/dist/{logs-cli-Dg7J424l.js → logs-cli-BB0Mq8D1.js} +4 -4
  108. package/dist/{logs-cli-BXBN6_Kf.js → logs-cli-Dbmzz8m_.js} +7 -7
  109. package/dist/{manager-WHZtXzz0.js → manager-BD_cpL9b.js} +1 -1
  110. package/dist/{manager-tYTYy-pH.js → manager-BQaZlWzK.js} +1 -1
  111. package/dist/{manager-C_5p8DxF.js → manager-DOiW-Koo.js} +14 -14
  112. package/dist/{manager-DOfc0hW0.js → manager-MbrGCH4o.js} +1 -1
  113. package/dist/{memory-CjpS9o50.js → memory-Cl4I_45k.js} +4 -4
  114. package/dist/{memory-cli-CbV91o_X.js → memory-cli-CszP57Ee.js} +3 -3
  115. package/dist/{memory-cli-4vj-LpgO.js → memory-cli-DkD_OD70.js} +12 -12
  116. package/dist/{memory-BZPO-RoX.js → memory-kIYeV9aO.js} +5 -5
  117. package/dist/{model-CbRy_3xW.js → model-BRcKPW49.js} +1 -1
  118. package/dist/{model-catalog-Ba4R_zVe.js → model-catalog-C2rNhRI4.js} +2 -2
  119. package/dist/{model-catalog-BrW9BL1p.js → model-catalog-CaGfL-2g.js} +4 -4
  120. package/dist/{model-picker-DAOOfQUH.js → model-picker-4NUXHy8M.js} +2 -2
  121. package/dist/{model-picker-UrQQVAuN.js → model-picker-CV56GE8A.js} +3 -3
  122. package/dist/{models-EthIDORJ.js → models-BYi0Fo1a.js} +13 -13
  123. package/dist/{models-cli-BRnmApgY.js → models-cli-Bn9M1TgO.js} +55 -55
  124. package/dist/{models-cli-DSW-aLCj.js → models-cli-EdjvkvFO.js} +29 -29
  125. package/dist/{models-config-Dh1tABIl.js → models-config-Unnduxgs.js} +7 -7
  126. package/dist/{models-config-C2OLw8vc.js → models-config-yKxNCn4V.js} +1 -1
  127. package/dist/{node-cli-DXCDRV3y.js → node-cli-39H0MZ8q.js} +28 -28
  128. package/dist/{node-cli-SMqarSas.js → node-cli-C8FYMIjN.js} +12 -12
  129. package/dist/{node-service-n6G8Ybbk.js → node-service-tPO_yUk7.js} +1 -1
  130. package/dist/{nodes-cli-Fyv-oG6A.js → nodes-cli-C-03nIJ0.js} +10 -10
  131. package/dist/{nodes-cli-BpG8jU6q.js → nodes-cli-CqxQexTU.js} +4 -4
  132. package/dist/{nodes-screen-CT94yu_w.js → nodes-screen-JELuBMBi.js} +4 -4
  133. package/dist/{npm-registry-spec-B8X06AqB.js → npm-registry-spec-BXw_6vF6.js} +9 -9
  134. package/dist/{onboard-CLSFAKKt.js → onboard-_3W1qIFk.js} +13 -13
  135. package/dist/{onboard-channels-LkgOp2vs.js → onboard-channels-B2l6OoMg.js} +1 -1
  136. package/dist/{onboard-channels-DqhDDHZ3.js → onboard-channels-D_uUQbem.js} +4 -4
  137. package/dist/{onboard-custom-BRFhBogJ.js → onboard-custom-B2fJvyxt.js} +3 -3
  138. package/dist/{onboard-custom-BD_6SIA8.js → onboard-custom-DcZ2SEUv.js} +2 -2
  139. package/dist/{onboard-helpers-C5YryU1N.js → onboard-helpers-Bm-oyLWy.js} +2 -2
  140. package/dist/{onboard-helpers-wgkj6qF2.js → onboard-helpers-CHfdRdZR.js} +8 -8
  141. package/dist/{onboard-hooks-CknstfLG.js → onboard-hooks-DBYkemjF.js} +3 -3
  142. package/dist/{onboard-hooks-DotvaUqG.js → onboard-hooks-DgRzMz0E.js} +2 -2
  143. package/dist/{onboard-CEyd79t_.js → onboard-kDOde8WJ.js} +16 -16
  144. package/dist/{onboard-remote-DR9mcFjZ.js → onboard-remote-ecyetiyL.js} +1 -1
  145. package/dist/{onboard-remote-B5rlIYUq.js → onboard-remote-z8XLK4M0.js} +1 -1
  146. package/dist/{onboard-skills-_6kHqhHz.js → onboard-skills-BLvL0KPR.js} +4 -4
  147. package/dist/{onboard-skills-5rA5bRSG.js → onboard-skills-C53RGq_5.js} +2 -2
  148. package/dist/{onboarding-CJuG6AyD.js → onboarding-BJ27gXxY.js} +15 -15
  149. package/dist/{onboarding-CREA0oQK.js → onboarding-CXaQnqxR.js} +16 -16
  150. package/dist/{onboarding.finalize-CkgL8Zde.js → onboarding.finalize-CSgYg74M.js} +32 -32
  151. package/dist/{onboarding.finalize-7iPylQyi.js → onboarding.finalize-CsyhJcuq.js} +19 -19
  152. package/dist/{onboarding.gateway-config-DtNG0As8.js → onboarding.gateway-config-3JMN1xRf.js} +9 -9
  153. package/dist/{onboarding.gateway-config-BzM2v2U5.js → onboarding.gateway-config-Ft3f6Jba.js} +6 -6
  154. package/dist/{openai-model-default-CSl0PZzK.js → openai-model-default-BVPmAuXK.js} +1 -1
  155. package/dist/{openai-model-default-DeTAMJKz.js → openai-model-default-CDDFpxUr.js} +2 -2
  156. package/dist/{outbound-send-deps-CBRh4LsL.js → outbound-send-deps-Dmc3B-LK.js} +1 -1
  157. package/dist/{pairing-cli-MwIIeBee.js → pairing-cli-B_icqS8Y.js} +1 -1
  158. package/dist/{pairing-cli-BvP6MoPZ.js → pairing-cli-CJGA4j6G.js} +4 -4
  159. package/dist/{pairing-store-S9CXOhSG.js → pairing-store-BGf29nPx.js} +1 -1
  160. package/dist/{pairing-token-DorpwP8O.js → pairing-token-CURbSHdi.js} +7 -7
  161. package/dist/{paths-DaQrPPet.js → paths-Dc6A9_vI.js} +1 -1
  162. package/dist/{pi-auth-json-CVwNh4rb.js → pi-auth-json-SHGGQzOL.js} +5 -5
  163. package/dist/{pi-embedded-B7_uthwZ.js → pi-embedded-8Zh_Y5ur.js} +20 -41
  164. package/dist/{pi-embedded-helpers-BbBfO9m_.js → pi-embedded-helpers-BwBjqJM5.js} +1 -1
  165. package/dist/{pi-embedded-helpers-DGW2untm.js → pi-embedded-helpers-CAdI9wJ5.js} +6 -6
  166. package/dist/{pi-tools.policy--USPnaLr.js → pi-tools.policy-BaRznBvu.js} +2 -2
  167. package/dist/{pi-tools.policy-BcTgKDG6.js → pi-tools.policy-Dyx3nBmp.js} +3 -3
  168. package/dist/{plugin-auto-enable-BDPdHiLS.js → plugin-auto-enable-D2TNEv3x.js} +1 -1
  169. package/dist/{plugin-registry-5aIoUu-O.js → plugin-registry-D7ACpV2Y.js} +2 -2
  170. package/dist/{plugin-registry-bskbnEuW.js → plugin-registry-d4hMhLLZ.js} +3 -3
  171. package/dist/plugin-sdk/agents/system-prompt.d.ts +1 -1
  172. package/dist/plugin-sdk/agents/unified-runner.d.ts +5 -5
  173. package/dist/plugin-sdk/auto-reply/reply/turn-middleware.d.ts +2 -2
  174. package/dist/plugin-sdk/channels/plugins/types.adapters.d.ts +1 -21
  175. package/dist/plugin-sdk/channels/plugins/types.core.d.ts +1 -5
  176. package/dist/plugin-sdk/channels/plugins/types.d.ts +2 -2
  177. package/dist/plugin-sdk/channels/plugins/types.plugin.d.ts +1 -2
  178. package/dist/plugin-sdk/commands/health.d.ts +0 -12
  179. package/dist/plugin-sdk/config/types.base.d.ts +0 -1
  180. package/dist/plugin-sdk/config/types.hooks.d.ts +0 -1
  181. package/dist/plugin-sdk/config/types.tools.d.ts +1 -1
  182. package/dist/plugin-sdk/config/zod-schema.d.ts +0 -2
  183. package/dist/plugin-sdk/config/zod-schema.hooks.d.ts +0 -1
  184. package/dist/plugin-sdk/cron/service/ops.d.ts +0 -1
  185. package/dist/plugin-sdk/cron/service/state.d.ts +1 -1
  186. package/dist/plugin-sdk/cron/service/timer.d.ts +0 -1
  187. package/dist/plugin-sdk/cron/service.d.ts +0 -1
  188. package/dist/plugin-sdk/cron/types.d.ts +1 -1
  189. package/dist/plugin-sdk/gateway/protocol/index.d.ts +1 -2
  190. package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +0 -1
  191. package/dist/plugin-sdk/gateway/protocol/schema/cron.d.ts +3 -3
  192. package/dist/plugin-sdk/index.js +6 -8
  193. package/dist/plugin-sdk/plugin-sdk/index.d.ts +1 -1
  194. package/dist/{plugins-cli-LQUO7D2v.js → plugins-cli-CPf1hMaZ.js} +51 -51
  195. package/dist/{plugins-cli-DMCWSACj.js → plugins-cli-D1gd8p9T.js} +25 -25
  196. package/dist/{ports-ChuJYhEL.js → ports-DRHSHvqY.js} +1 -1
  197. package/dist/{ports-EAVAOFyK.js → ports-DqxP-bXz.js} +2 -2
  198. package/dist/{program-BgrmtnFn.js → program-BPcy7UBj.js} +31 -31
  199. package/dist/{program-context-C_uJXnZV.js → program-context-DYS38Clb.js} +39 -39
  200. package/dist/{prompt-select-styled-B3nTSykf.js → prompt-select-styled-Kgvc0-w2.js} +38 -37
  201. package/dist/{prompt-select-styled-CuGBQ9LO.js → prompt-select-styled-uUOSg6Qq.js} +20 -19
  202. package/dist/{provider-auth-helpers-MMYRbW_U.js → provider-auth-helpers-BUC4xGK9.js} +4 -4
  203. package/dist/{provider-auth-helpers-IsZNkaS0.js → provider-auth-helpers-DpRoNr_8.js} +6 -6
  204. package/dist/{push-apns-C7t2qAZ6.js → push-apns-Bm39oOO9.js} +4 -4
  205. package/dist/{push-apns-qCbh6Vhl.js → push-apns-DqmFEcqh.js} +1 -1
  206. package/dist/{pw-ai-DuPDo_Ia.js → pw-ai-B0-pgbYu.js} +2 -2
  207. package/dist/{pw-ai-YJhl5L-z.js → pw-ai-B2NuWIL7.js} +7 -7
  208. package/dist/{pw-ai-Bc5uzn_J.js → pw-ai-BsEf8C15.js} +2 -2
  209. package/dist/{pw-ai-Tm3pd-HP.js → pw-ai-w6Qalz1W.js} +2 -2
  210. package/dist/{qmd-manager-CrRvB46v.js → qmd-manager-358OTDns.js} +19 -19
  211. package/dist/{qr-cli-Bv4zF-WM.js → qr-cli-Cx7DYTSk.js} +1 -1
  212. package/dist/{qr-cli-D1U-qIkG.js → qr-cli-hPIeUYAT.js} +3 -3
  213. package/dist/{redact-identifier-QYENCXvy.js → redact-identifier-Cm1VfV7E.js} +1 -1
  214. package/dist/{register.agent-BblNQlzT.js → register.agent-CCKcgAXs.js} +66 -66
  215. package/dist/{register.agent-BWcxonR9.js → register.agent-DZuxoC0a.js} +37 -37
  216. package/dist/register.configure-CJErdFO_.js +129 -0
  217. package/dist/{register.configure-D0T0kOp7.js → register.configure-JT8T7HO5.js} +41 -41
  218. package/dist/{register.maintenance-DLJpeuc4.js → register.maintenance-BMswbbSL.js} +66 -66
  219. package/dist/{register.maintenance-w7sKxODf.js → register.maintenance-CNcd1-Vv.js} +38 -38
  220. package/dist/{register.message-CXEwBJ1O.js → register.message-CpOXi1rz.js} +45 -45
  221. package/dist/{register.message-C3dCPjVc.js → register.message-_bfhetTg.js} +25 -25
  222. package/dist/{register.onboard-DJmVC_6h.js → register.onboard-CRNjEhnQ.js} +19 -19
  223. package/dist/{register.onboard-B520Ixsd.js → register.onboard-DR2Wu59i.js} +24 -24
  224. package/dist/{register.setup-BTse4F3a.js → register.setup-Crrj2t2B.js} +26 -26
  225. package/dist/{register.setup-Br-aZ0qD.js → register.setup-Dbe-Z2xu.js} +18 -18
  226. package/dist/{register.status-health-sessions-Dbizirr2.js → register.status-health-sessions-DZnebsxZ.js} +38 -38
  227. package/dist/{register.status-health-sessions-4dxLj6hJ.js → register.status-health-sessions-DmX0DLAt.js} +22 -22
  228. package/dist/{register.subclis-CSJZQox4.js → register.subclis-BRPnstmu.js} +28 -28
  229. package/dist/{replies-CbipVshj.js → replies-B2O2eRh6.js} +1 -1
  230. package/dist/{replies-CH1VlYZQ.js → replies-Bnh0owwH.js} +1 -1
  231. package/dist/{replies-DIWartyA.js → replies-DIHkSwoW.js} +1 -1
  232. package/dist/{replies-CjSfYK97.js → replies-DU-fXkSk.js} +1 -1
  233. package/dist/{reply-prefix-DZQBodKF.js → reply-prefix-BOdARKaY.js} +1 -1
  234. package/dist/{resolve-route-BbUl3Hi7.js → resolve-route-CRWE36h5.js} +1 -1
  235. package/dist/{routes-DiqMB1cp.js → routes-BMShi_eY.js} +10 -10
  236. package/dist/{routes-CWYyvbxi.js → routes-Cio8is5Y.js} +3 -3
  237. package/dist/{rpc-DLfjbTSu.js → rpc-CEhoSTGo.js} +1 -1
  238. package/dist/{rpc-BcPBUUXl.js → rpc-D0Ldc6Hv.js} +1 -1
  239. package/dist/{run-main-DISYU1dh.js → run-main-CMQVjdht.js} +41 -41
  240. package/dist/{sandbox-B6P9-J8g.js → sandbox-B4RfQ7k1.js} +5 -5
  241. package/dist/{sandbox-DPn-s_K5.js → sandbox-C-UeHmuJ.js} +18 -18
  242. package/dist/{sandbox-cli-bOFig9Jd.js → sandbox-cli-B43FqqPT.js} +6 -6
  243. package/dist/{sandbox-cli-Bl5CMRjH.js → sandbox-cli-CNAPNXJ4.js} +13 -13
  244. package/dist/{security-cli-DuxEuSGr.js → security-cli-BSd8_Gsq.js} +28 -28
  245. package/dist/{security-cli-C7LBaB0e.js → security-cli-DDM0Z6IW.js} +11 -11
  246. package/dist/{send-6IYv-yRp.js → send-CGXxBSKh.js} +1 -1
  247. package/dist/{send-CYJucYob.js → send-DSK6O8SC.js} +7 -7
  248. package/dist/{send-C3ZXgOXw.js → send-EluKytgO.js} +1 -1
  249. package/dist/{server-context-Vd9sEFb9.js → server-context-CDTuNR-O.js} +5 -5
  250. package/dist/{server-context-BUbuOgNz.js → server-context-DFO6o83F.js} +5 -5
  251. package/dist/server-methods-Dz6NGEg3.js +9414 -0
  252. package/dist/server-methods-vp5zi6v5.js +9416 -0
  253. package/dist/{server-node-events-BH4-UlAH.js → server-node-events-4ufB_olv.js} +26 -26
  254. package/dist/{server-node-events-7ToqdaU5.js → server-node-events-B7UtUhkC.js} +46 -46
  255. package/dist/{service-9ItKCWWS.js → service-AP9pR9R5.js} +15 -15
  256. package/dist/session-dirs-Chh7bBGo.js +18 -0
  257. package/dist/session-dirs-Sl_x6tjD.js +18 -0
  258. package/dist/{session-utils-CqSXwGYa.js → session-utils-CgGDr4eh.js} +14 -14
  259. package/dist/{session-utils-CJfEkQQQ.js → session-utils-D1VcHni_.js} +5 -5
  260. package/dist/{sessions-BHrlpR92.js → sessions-BNEDanZO.js} +1 -1
  261. package/dist/{sessions-DorP6zY8.js → sessions-Dh88Kqd6.js} +11 -11
  262. package/dist/{sessions-Chjdz1Gx.js → sessions-iLfSd6VD.js} +3 -3
  263. package/dist/{shared-B-64oefu.js → shared-CIeW3aWF.js} +1 -1
  264. package/dist/{shared-ot5_jkpP.js → shared-DmYHvtn2.js} +1 -1
  265. package/dist/{shared-Z3KjnA8n.js → shared-_wwqvx84.js} +3 -3
  266. package/dist/{skill-commands-RbglvrSW.js → skill-commands-5QB5E8bv.js} +4 -4
  267. package/dist/{skill-scanner-CZK0TG9g.js → skill-scanner-YF2jR4RY.js} +5 -5
  268. package/dist/{skills-DS1Vdylm.js → skills-Bmjf5nFv.js} +4 -4
  269. package/dist/{skills-cli-DbhEEC78.js → skills-cli-BJDvUT_e.js} +1 -1
  270. package/dist/{skills-cli-BmIb-9--.js → skills-cli-Byp9MfZh.js} +7 -7
  271. package/dist/{skills-install-DcX1Txvp.js → skills-install-BB27sD4d.js} +3 -3
  272. package/dist/{skills-remote-BDSyRdyX.js → skills-remote-CqwR3Zvp.js} +3 -3
  273. package/dist/{skills-status-F7nlolZZ.js → skills-status-BNDqwHkP.js} +1 -1
  274. package/dist/{sqlite-BUXBg2yu.js → sqlite-DBEvS-Ne.js} +5 -5
  275. package/dist/{ssrf-CJor4ewC.js → ssrf-CBajKNWO.js} +0 -2
  276. package/dist/{ssrf-BzPY2FrA.js → ssrf-CeQ2Aub-.js} +0 -2
  277. package/dist/{status-CR4VgVZ0.js → status-B0HecH1s.js} +3 -3
  278. package/dist/{status-dHYcVtbb.js → status-BD8gFYKH.js} +14 -45
  279. package/dist/{status-Hf__QNbH.js → status-DEXnB1sw.js} +26 -57
  280. package/dist/{status-CeaJlVQK.js → status-MMLxoRgQ.js} +2 -2
  281. package/dist/{status.update-lna4Lub4.js → status.update-Be8PuHCh.js} +1 -1
  282. package/dist/{status.update-DOj5ifHZ.js → status.update-CB9e3eWW.js} +3 -3
  283. package/dist/{subagent-registry-BbQL79Gk.js → subagent-registry-C57PFGHU.js} +30 -46
  284. package/dist/{symi-root-0MUhiNlM.js → symi-root-DueRHNOE.js} +2 -2
  285. package/dist/{synthesis-CK0K7wFk.js → synthesis-CjsIBd8X.js} +42 -42
  286. package/dist/{synthesis-B4G0BnU5.js → synthesis-DSdF0vsi.js} +7 -7
  287. package/dist/{synthesis-C-IePZG6.js → synthesis-iB7TWRW4.js} +6 -6
  288. package/dist/{synthesis-DiPl8Usv.js → synthesis-j_kjlFo1.js} +23 -23
  289. package/dist/system-cli-BM8KbtUc.js +48 -0
  290. package/dist/system-cli-CQFH_HwX.js +43 -0
  291. package/dist/{systemd-8KKQdTO_.js → systemd-9LEEqibe.js} +5 -5
  292. package/dist/{systemd-hints-BefHB3bX.js → systemd-hints-A1W3AdVo.js} +6 -6
  293. package/dist/{systemd-hints-DQKA3tTS.js → systemd-hints-BejQ6J2Y.js} +1 -1
  294. package/dist/{systemd-linger-C0-G8yq4.js → systemd-linger-PqG8iGCt.js} +1 -1
  295. package/dist/{tui-C_yv1hvy.js → tui-B4Pd0T9l.js} +5 -15
  296. package/dist/{tui-BheB3rbE.js → tui-DBrpAw57.js} +7 -17
  297. package/dist/{tui-cli-D7wYLESM.js → tui-cli-B-obcHoZ.js} +10 -10
  298. package/dist/{tui-cli-BDcU-VgA.js → tui-cli-tbUaY-Pu.js} +19 -19
  299. package/dist/{unified-runner-BSdnT6eM.js → unified-runner-BNt7TQKM.js} +18 -39
  300. package/dist/{unified-runner-D6p4N2vu.js → unified-runner-DCiPB--z.js} +104 -120
  301. package/dist/{update-Djvyvehx.js → update-CjZgU686.js} +3 -3
  302. package/dist/{update-check-BdSIMYWq.js → update-check-CZxZhEXr.js} +5 -5
  303. package/dist/{update-cli-BmQuYKTw.js → update-cli-CUgElk5d.js} +42 -42
  304. package/dist/{update-cli-CwznFR5g.js → update-cli-Mpq0iwGk.js} +76 -76
  305. package/dist/{session-dirs-DONOhYc3.js → update-runner-Dq5UYQbo.js} +16 -30
  306. package/dist/{session-dirs-6atzU47U.js → update-runner-ENJw0Mco.js} +2 -16
  307. package/dist/{webhooks-cli-D_wAaLOU.js → webhooks-cli-Clx8DGfA.js} +5 -5
  308. package/dist/{webhooks-cli-B2_nrbvn.js → webhooks-cli-UfO_WffC.js} +2 -2
  309. package/dist/{with-timeout-CAUWEPmp.js → with-timeout-BE7lxhxW.js} +1 -1
  310. package/dist/{with-timeout-BhDKgIeU.js → with-timeout-BcL6qAbd.js} +1 -1
  311. package/dist/{workspace-dirs-QmSWJptJ.js → workspace-dirs-D5OnUmvw.js} +1 -1
  312. package/dist/{wsl-DO9usEVV.js → wsl-ZWGwnnKI.js} +2 -2
  313. package/package.json +1 -1
  314. package/dist/register.configure-BJ7xtOUZ.js +0 -129
  315. package/dist/system-cli-BKp2K0sb.js +0 -85
  316. package/dist/system-cli-C9uTFA4c.js +0 -80
  317. /package/dist/{agents.config-gkq5o5Hy.js → agents.config-D7cHU-OU.js} +0 -0
  318. /package/dist/{auth-choice-legacy-DlTku0W1.js → auth-choice-legacy-CsjluQCN.js} +0 -0
  319. /package/dist/{auth-choice-legacy-y8ZXjhDq.js → auth-choice-legacy-D9WcUI_J.js} +0 -0
  320. /package/dist/{auth-token-2yjfGFTo.js → auth-token-Brb1Askz.js} +0 -0
  321. /package/dist/{consolidate-CTKMVS1l.js → consolidate-D1GUJ5qq.js} +0 -0
  322. /package/dist/{dm-policy-shared-BcYwq7H9.js → dm-policy-shared-CSF4Tw_F.js} +0 -0
  323. /package/dist/{format-CUJQOEUj.js → format-BGzoTHhD.js} +0 -0
  324. /package/dist/{format-Cj8gNX2r.js → format-C-0EAOjI.js} +0 -0
  325. /package/dist/{gmail-setup-utils-C5QXoiTl.js → gmail-setup-utils-B1BYpISg.js} +0 -0
  326. /package/dist/{gmail-setup-utils-DO0-mXYp.js → gmail-setup-utils-fA1VaWLv.js} +0 -0
  327. /package/dist/{health-format-BQdYy0nL.js → health-format-39e76m9p.js} +0 -0
  328. /package/dist/{health-format-OIqaDZ2V.js → health-format-DaP03FBk.js} +0 -0
  329. /package/dist/{ipv4-CFw4fYIH.js → ipv4-CfVqgiTN.js} +0 -0
  330. /package/dist/{ipv4-DBwTCOBu.js → ipv4-DK4xoUQ-.js} +0 -0
  331. /package/dist/{logging-BA2NbxMy.js → logging-B96FQvnn.js} +0 -0
  332. /package/dist/{logging-Dt9kBzoO.js → logging-BeA4q4J_.js} +0 -0
  333. /package/dist/{model-param-b-CErLzOT8.js → model-param-b-B34yvxBN.js} +0 -0
  334. /package/dist/{model-param-b-DnsFCAGo.js → model-param-b-CmgmcGoJ.js} +0 -0
  335. /package/dist/{node-service-B7zf4WFE.js → node-service-DDDCEDdv.js} +0 -0
  336. /package/dist/{onboard-config-CIBKQuYV.js → onboard-config-Barp7MT9.js} +0 -0
  337. /package/dist/{onboard-config-D6L72_zg.js → onboard-config-DQkZqcyq.js} +0 -0
  338. /package/dist/{outbound-send-deps-pzO0D6kV.js → outbound-send-deps-BpziI1pC.js} +0 -0
  339. /package/dist/{ports-B3NnaSHu.js → ports-BAzQoIw0.js} +0 -0
  340. /package/dist/{qmd-manager-CX0jtKS5.js → qmd-manager--kGuC39q.js} +0 -0
  341. /package/dist/{skills-install-Q5hgZITy.js → skills-install-BzqoHn0x.js} +0 -0
  342. /package/dist/{system-run-command-XG1_P_la.js → system-run-command-QikSIqYG.js} +0 -0
  343. /package/dist/{systemd-linger-CoyAJEZx.js → systemd-linger-BM4qvprK.js} +0 -0
  344. /package/dist/{update-CbkItCeC.js → update-C1rkPV1C.js} +0 -0
  345. /package/dist/{workspace-2m2BLIbx.js → workspace-B3sO7QlN.js} +0 -0
  346. /package/dist/{workspace-CxAs2tsz.js → workspace-Bb1HX2I0.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { n as callGateway } from "./call-Dy_T6f6d.js";
1
+ import { n as callGateway } from "./call-5IE9ycvm.js";
2
2
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-CNPAq1Tl.js";
3
3
  import { n as withProgress } from "./progress-C4ck6JXh.js";
4
4
 
@@ -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-BPJn2_th.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-DCiPB--z.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-CAdI9wJ5.js";
13
+ import { i as loadConfig } from "./config-DqMsGcSQ.js";
14
+ import "./manifest-registry-D_LsBSyt.js";
15
+ import "./sandbox-C-UeHmuJ.js";
16
+ import "./chrome-VbDUdW0_.js";
17
+ import "./tailscale-D7dC-5EX.js";
18
+ import "./auth-BbwD4lRX.js";
19
+ import "./server-context-DFO6o83F.js";
20
+ import "./frontmatter-CHu3sfCM.js";
21
+ import "./skills-Bmjf5nFv.js";
22
+ import "./routes-BMShi_eY.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-Dh88Kqd6.js";
32
+ import "./dock-CnGWTXL4.js";
33
+ import "./message-channel-C_V8IAYx.js";
34
+ import "./plugins-DuuHorqi.js";
35
+ import "./send-DSK6O8SC.js";
36
+ import "./paths-CJcw9nbZ.js";
37
+ import "./thinking-177f26eg.js";
38
+ import "./tokens-BKbemuIk.js";
39
+ import "./deliver-RwovDEDy.js";
40
+ import "./diagnostic-CwF3MnBL.js";
41
+ import "./diagnostic-session-state-I4x9gPY4.js";
42
+ import "./models-config-Unnduxgs.js";
43
+ import "./pi-auth-json-SHGGQzOL.js";
44
+ import "./session-cost-usage-DYcv40ss.js";
45
+ import "./session-utils-CgGDr4eh.js";
46
+ import "./with-timeout-BE7lxhxW.js";
47
+ import "./reply-prefix-BOdARKaY.js";
48
+ import "./memory-kIYeV9aO.js";
49
+ import "./manager-DOiW-Koo.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-qjXXRKCO.js";
58
+ import "./call-BPJn2_th.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-CaGfL-2g.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-Fn3d9AlH.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-DkD_OD70.js";
80
+ import "./logging-B5YNzZB9.js";
81
+ import "./replies-B2O2eRh6.js";
82
+ import "./pi-tools.policy-Dyx3nBmp.js";
83
+ import "./model-BRcKPW49.js";
84
+ import "./deps-bCHNuszw.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-CHfdRdZR.js";
93
+ import "./systemd-9LEEqibe.js";
94
+ import "./service-AP9pR9R5.js";
95
+ import "./diagnostics-DxdqTfpW.js";
96
+ import "./table-DkAQzCOR.js";
97
+ import "./audit-BI8Rbs5q.js";
98
+ import "./status-DEXnB1sw.js";
99
+ import "./health-D8cKia4i.js";
100
+ import "./control-ui-assets-DUhvOLUL.js";
101
+ import "./update-check-CZxZhEXr.js";
102
+ import { n as handleGatewayRequest } from "./server-methods-vp5zi6v5.js";
103
+ import "./push-apns-Bm39oOO9.js";
104
+ import "./agent-C8IIjDyn.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-CB9e3eWW.js";
109
+ import "./skills-install-BB27sD4d.js";
110
+ import "./update-runner-Dq5UYQbo.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-igdtSRrZ.js";
13
+ import "./client-Dp8LUTmF.js";
14
+ import "./call-5IE9ycvm.js";
15
+ import "./message-channel-CNPAq1Tl.js";
16
+ import "./pairing-token-Bnr7QjVF.js";
17
+ import { M as resolveModelProfile } from "./subagent-registry-C57PFGHU.js";
18
+ import "./sessions-BNEDanZO.js";
19
+ import "./plugins-Bq-Msc8Z.js";
20
+ import "./send-EluKytgO.js";
21
+ import "./with-timeout-BcL6qAbd.js";
22
+ import "./deliver-izdrXPr4.js";
23
+ import "./diagnostic-BevbDWGa.js";
24
+ import "./diagnostic-session-state-Zw87xFym.js";
25
+ import "./pi-embedded-helpers-BwBjqJM5.js";
26
+ import "./sandbox-B4RfQ7k1.js";
27
+ import "./chrome-B0wRtBRB.js";
28
+ import "./tailscale-BsA0YClX.js";
29
+ import "./auth-DIdzV4_r.js";
30
+ import "./server-context-CDTuNR-O.js";
31
+ import "./routes-Cio8is5Y.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-yKxNCn4V.js";
44
+ import "./reply-prefix-B7pYEiW_.js";
45
+ import "./memory-Cl4I_45k.js";
46
+ import "./manager-BQaZlWzK.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-Cm1VfV7E.js";
58
+ import "./workspace-dirs-23IYtZj2.js";
59
+ import "./model-catalog-C2rNhRI4.js";
60
+ import "./session-utils-D1VcHni_.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-DO8FjrS6.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-CszP57Ee.js";
77
+ import "./logging-D0L9TWhE.js";
78
+ import "./replies-DIHkSwoW.js";
79
+ import "./pi-tools.policy-BaRznBvu.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-Bm-oyLWy.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-nqP-JeOr.js";
92
+ import "./status-BD8gFYKH.js";
93
+ import "./health-DdzNc1yA.js";
94
+ import "./outbound-send-deps-Dmc3B-LK.js";
95
+ import "./control-ui-assets-B5BrwGRs.js";
96
+ import "./update-check-C1JNxsic.js";
97
+ import { n as handleGatewayRequest } from "./server-methods-Dz6NGEg3.js";
98
+ import "./push-apns-DqmFEcqh.js";
99
+ import "./agent-BaSGoKPq.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-Be8PuHCh.js";
104
+ import "./skills-install-BzqoHn0x.js";
105
+ import "./update-runner-ENJw0Mco.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 };