@symerian/symi 3.5.17 → 3.5.19

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 (378) hide show
  1. package/dist/{agent-RWZSPbLw.js → agent-D0Z4r5fr.js} +4 -4
  2. package/dist/{agent-Za31LZ2H.js → agent-DCDT-MPE.js} +6 -6
  3. package/dist/{agents-CulBOE6L.js → agents-CdkBeP0d.js} +10 -10
  4. package/dist/{audit-B1fVD2bA.js → audit-B7deV4Lp.js} +9 -9
  5. package/dist/{audit-BQnxE5w6.js → audit-BCStg-Hv.js} +9 -9
  6. package/dist/{auth-choice-B8n3tJtT.js → auth-choice-B3DU-aBr.js} +6 -6
  7. package/dist/{auth-choice-C8ElO44A.js → auth-choice-BIGcxSzP.js} +6 -6
  8. package/dist/{auth-choice-options-DmXqtnP9.js → auth-choice-options-2Kq8GdIR.js} +1 -1
  9. package/dist/{auth-choice-options-od_KpHe8.js → auth-choice-options-DpwzCJa5.js} +1 -1
  10. package/dist/{auth-choice-prompt-BnvC700A.js → auth-choice-prompt-BAFfYZeR.js} +1 -1
  11. package/dist/{auth-choice-prompt-kt2FcieM.js → auth-choice-prompt-D6A5uuj3.js} +1 -1
  12. package/dist/{banner-B91SPus6.js → banner-ChNdzPjD.js} +1 -1
  13. package/dist/{bonjour-discovery-CyLfNUkJ.js → bonjour-discovery-CWTnBKX8.js} +1 -1
  14. package/dist/{bonjour-discovery-DuObXMh2.js → bonjour-discovery-XbH0AYJ4.js} +1 -1
  15. package/dist/{browser-cli-BvOz7txM.js → browser-cli-BTg8SVs-.js} +9 -9
  16. package/dist/{browser-cli-CXDzGAN7.js → browser-cli-C9xaKW8l.js} +9 -9
  17. package/dist/build-info.json +3 -3
  18. package/dist/bundled/boot-md/handler.js +2 -2
  19. package/dist/bundled/session-memory/handler.js +2 -2
  20. package/dist/{call-PpGwcPn-.js → call-BccaLPi8.js} +1 -1
  21. package/dist/{call-A18kwyah.js → call-DZg43vv8.js} +1 -1
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{channel-options-1G5HGFpn.js → channel-options-CUptVX8c.js} +2 -2
  24. package/dist/{channel-options-CsyyC4uc.js → channel-options-LLmAnD_L.js} +2 -2
  25. package/dist/{channels-cli-R3TK9Jwf.js → channels-cli-B0OQvVUL.js} +42 -42
  26. package/dist/{channels-cli-aF7d6Af9.js → channels-cli-xoromnio.js} +43 -43
  27. package/dist/{chrome-3jl2ulOE.js → chrome-DNssqQJs.js} +7 -7
  28. package/dist/{clack-prompter-_kEnSVz4.js → clack-prompter-BMQT37oC.js} +4 -4
  29. package/dist/{clack-prompter-v9MYo-5u.js → clack-prompter-BpcKjPIh.js} +4 -4
  30. package/dist/{cli-CFaH6TRI.js → cli-C7v-sID8.js} +25 -25
  31. package/dist/{cli-Bguq-s8o.js → cli-CMNR7ULk.js} +24 -24
  32. package/dist/{client-CdiymIXS.js → client-DCxeV1bw.js} +2 -0
  33. package/dist/{client-DDqXo-cF.js → client-k0MT6NBw.js} +2 -0
  34. package/dist/{command-registry-Bmzf59Qv.js → command-registry-CXcvXjUR.js} +11 -11
  35. package/dist/{completion-cli-BM4kZs0m.js → completion-cli-B1Fg6Lmg.js} +3 -3
  36. package/dist/{completion-cli-CtUZzw-P.js → completion-cli-DJ1YCeSg.js} +1 -1
  37. package/dist/{config-cli-Cvylxp-R.js → config-cli-CQ1FAvY_.js} +2 -2
  38. package/dist/{config-cli-D6vpEtzB.js → config-cli-D5DlWt6T.js} +2 -2
  39. package/dist/{config-guard-D58THqAB.js → config-guard-BRm3RiOi.js} +6 -6
  40. package/dist/{config-guard-CLfXzB_z.js → config-guard-CCLLHbZ3.js} +1 -1
  41. package/dist/{configure-DRDyxmMR.js → configure-DG1lf0Ld.js} +21 -21
  42. package/dist/{configure-BMRfSJ5h.js → configure-bhJB2Dti.js} +21 -21
  43. package/dist/{control-service-DPzhv357.js → control-service-CG6l_Yap.js} +2 -2
  44. package/dist/{control-service-DOGU9T2P.js → control-service-D8kKOts5.js} +2 -2
  45. package/dist/control-ui/js/scheduling.js +0 -1
  46. package/dist/control-ui/js/subagents.js +0 -1
  47. package/dist/control-ui/js/symframe.js +35 -5
  48. package/dist/{cron-cli-DlxcZT7g.js → cron-cli-8RaBr1CM.js} +6 -6
  49. package/dist/{cron-cli-DVEdIAaa.js → cron-cli-fW3wtftG.js} +6 -6
  50. package/dist/{daemon-cli-6ZV3jmTp.js → daemon-cli-0EiZTQ2A.js} +13 -13
  51. package/dist/{daemon-cli-DqJhEk3T.js → daemon-cli-Y6clFgva.js} +13 -13
  52. package/dist/daemon-cli.js +2 -0
  53. package/dist/{daemon-runtime-DaJ4Tf2a.js → daemon-runtime-AkgOtHR6.js} +1 -1
  54. package/dist/{daemon-runtime-7YBz5otm.js → daemon-runtime-DlQla_dA.js} +1 -1
  55. package/dist/{deliver-0nDhDdKd.js → deliver-DIK2emIV.js} +1 -1
  56. package/dist/{deliver-C81eqdrP.js → deliver-lTZLIQqf.js} +1 -1
  57. package/dist/{deliver-f3cIWxXT.js → deliver-q23ar_Pm.js} +4 -4
  58. package/dist/{devices-cli-C6EdHL_5.js → devices-cli-C2gQTsB0.js} +4 -4
  59. package/dist/{devices-cli-C4rLpzkl.js → devices-cli-DfiSkZ7k.js} +4 -4
  60. package/dist/{diagnostics-BZH08r5U.js → diagnostics-D2oNwzue.js} +1 -1
  61. package/dist/{diagnostics-CdawaB0U.js → diagnostics-DlZODdRf.js} +1 -1
  62. package/dist/{directory-cli-BQrGwwjf.js → directory-cli-Bm5QYEo-.js} +5 -5
  63. package/dist/{directory-cli-FR_KoYon.js → directory-cli-DAGG_z_L.js} +5 -5
  64. package/dist/{dns-cli-CH2QMf70.js → dns-cli-CubLq4j9.js} +3 -3
  65. package/dist/{dns-cli-Cua_RGWw.js → dns-cli-yj_xgcmZ.js} +3 -3
  66. package/dist/{docs-cli-DwrSCuWF.js → docs-cli-ABJdcZAr.js} +2 -2
  67. package/dist/{docs-cli-9yu6OeWj.js → docs-cli-PS8m1er7.js} +2 -2
  68. package/dist/{doctor-completion-Df7Hv_IA.js → doctor-completion-CfF0J8fs.js} +2 -2
  69. package/dist/{doctor-completion-Do20Q4ZM.js → doctor-completion-ScxFfN93.js} +2 -2
  70. package/dist/{doctor-config-flow-CKJlpwtv.js → doctor-config-flow-BIBJeoRl.js} +3 -3
  71. package/dist/{doctor-config-flow-CcwEh3WQ.js → doctor-config-flow-C52W1uUK.js} +3 -3
  72. package/dist/{enable-BI6rQ1Fb.js → enable-B8TbkmWU.js} +1 -1
  73. package/dist/{enable-xfczksnk.js → enable-BIMBTSRy.js} +1 -1
  74. package/dist/entry.js +1 -1
  75. package/dist/{exec-approvals-cli-bu1S7v6i.js → exec-approvals-cli-BaKWIf56.js} +10 -10
  76. package/dist/{exec-approvals-cli-Ca54uWdL.js → exec-approvals-cli-Cl-vWA1q.js} +10 -10
  77. package/dist/extensionAPI.js +4 -4
  78. package/dist/{gateway-cli-CKlpsjYJ.js → gateway-cli-CK-5nguV.js} +79 -71
  79. package/dist/{gateway-cli-CwuURJSh.js → gateway-cli-kq5EWlnF.js} +82 -74
  80. package/dist/{gateway-rpc-vivTzTCq.js → gateway-rpc-Bzg_TTKP.js} +2 -2
  81. package/dist/{gateway-rpc-DMSsr0Xn.js → gateway-rpc-D12UaJS5.js} +2 -2
  82. package/dist/{glass-ui-ws-Bzs3ALoN.js → glass-ui-ws-B6p0iPsO.js} +52 -52
  83. package/dist/{glass-ui-ws-C88aJslb.js → glass-ui-ws-CVr0_1gT.js} +50 -50
  84. package/dist/{health-D0jGdk53.js → health-CJb2CYtg.js} +4 -4
  85. package/dist/{health--v-C6lSf.js → health-CPU9rQGj.js} +4 -4
  86. package/dist/{hooks-cli-CrZvzan1.js → hooks-cli-13HCu5Xs.js} +31 -31
  87. package/dist/{hooks-cli-CZ_pSdXS.js → hooks-cli-DbgVZaP4.js} +30 -30
  88. package/dist/{hooks-status-CQ33gaVT.js → hooks-status-CvKe3Bfk.js} +2 -2
  89. package/dist/{hooks-status-B5vDwm19.js → hooks-status-DoeoPJbZ.js} +1 -1
  90. package/dist/index.js +36 -36
  91. package/dist/{inspect-D_lN8pwg.js → inspect-CGKsaVZ4.js} +1 -1
  92. package/dist/{inspect-C3_zr-N9.js → inspect-CRa8Af7f.js} +1 -1
  93. package/dist/{install-safe-path-BBe6qFNr.js → install-safe-path-B2JrFspY.js} +1 -1
  94. package/dist/{install-safe-path-79R0iPyC.js → install-safe-path-BdxXJux8.js} +1 -1
  95. package/dist/{installs-Bb1phV9x.js → installs-D890uIIW.js} +3 -3
  96. package/dist/{installs-BVJQl3Tj.js → installs-Dunp9UFl.js} +3 -3
  97. package/dist/{lifecycle-core-O50xtu5c.js → lifecycle-core-YmWzkN43.js} +5 -5
  98. package/dist/{lifecycle-core-DdbL6ELJ.js → lifecycle-core-wFwnK_mD.js} +5 -5
  99. package/dist/llm-slug-generator.js +2 -2
  100. package/dist/{logs-cli-vIxaNVmF.js → logs-cli-CQeK5fn7.js} +6 -6
  101. package/dist/{logs-cli-Dde2Dp2w.js → logs-cli-R16VTptK.js} +6 -6
  102. package/dist/{manager-B-wPs7cb.js → manager-B2SWSuad.js} +1 -1
  103. package/dist/{manager--GmDbwza.js → manager-BhEbaYDa.js} +1 -1
  104. package/dist/{manager-S5d36_EM.js → manager-CHLdCC6u.js} +1 -1
  105. package/dist/{manager-BMA3iRMq.js → manager-CxFs8Z_F.js} +1 -1
  106. package/dist/{memory-BcdI7NSs.js → memory-DFpqcIst.js} +3 -3
  107. package/dist/{memory-DBx1wEvf.js → memory-DavRjdTi.js} +3 -3
  108. package/dist/{memory-cli-jNf_SaXU.js → memory-cli-B-Cp1Sb1.js} +6 -6
  109. package/dist/{memory-cli-CQSVrNAK.js → memory-cli-DZnq3S6s.js} +6 -6
  110. package/dist/{model-picker-DN-co6Oy.js → model-picker-Cf6UgQEh.js} +1 -1
  111. package/dist/{model-picker-CS_h9RHv.js → model-picker-DvP8ViSf.js} +1 -1
  112. package/dist/{models-BgZWEpSL.js → models-Cht7Mzvs.js} +12 -12
  113. package/dist/{models-cli-CiL6wDtk.js → models-cli-B_motPDX.js} +37 -37
  114. package/dist/{models-cli-6tdy2DaI.js → models-cli-DXswzgUR.js} +34 -34
  115. package/dist/{node-cli-BTXwMEJE.js → node-cli-D-gsjRXY.js} +18 -18
  116. package/dist/{node-cli-ClniLggz.js → node-cli-VmKhIXuP.js} +18 -18
  117. package/dist/{node-service-CfHbECCi.js → node-service-BH08wY5j.js} +1 -1
  118. package/dist/{node-service-D44noKnR.js → node-service-CZlyWmxa.js} +1 -1
  119. package/dist/{nodes-cli-DLaX4pgX.js → nodes-cli-BMvxQGCp.js} +9 -9
  120. package/dist/{nodes-cli-DrhMUDXx.js → nodes-cli-D199d74o.js} +9 -9
  121. package/dist/{note-Cltpxj6i.js → note-BIAQpZxi.js} +1 -1
  122. package/dist/{note-ytwb4wwn.js → note-D9FXI2qW.js} +1 -1
  123. package/dist/{npm-registry-spec-CONWlhd6.js → npm-registry-spec-BPgK9EL7.js} +1 -1
  124. package/dist/{npm-registry-spec-DPqOMFd9.js → npm-registry-spec-DTqn-NXZ.js} +1 -1
  125. package/dist/{onboard-DFbgAa-t.js → onboard-CdRA8BRG.js} +17 -17
  126. package/dist/{onboard-3FdfkbGm.js → onboard-DFJcbABp.js} +17 -17
  127. package/dist/{onboard-channels-BN00--TD.js → onboard-channels-Ca7ZFQ2Y.js} +7 -7
  128. package/dist/{onboard-channels-DeRg97iI.js → onboard-channels-fadyQGBK.js} +7 -7
  129. package/dist/{onboard-custom-BCcuL4Uq.js → onboard-custom-BcRYreNG.js} +2 -2
  130. package/dist/{onboard-custom-C-wfNtOM.js → onboard-custom-CfKvdcJ5.js} +2 -2
  131. package/dist/{onboard-helpers-CAAZ0RDq.js → onboard-helpers-BcLPSb5N.js} +3 -3
  132. package/dist/{onboard-helpers-Cv6fL8Vq.js → onboard-helpers-CQBpac8h.js} +3 -3
  133. package/dist/{onboard-hooks-D5-mtFUY.js → onboard-hooks-2SCajRKc.js} +2 -2
  134. package/dist/{onboard-hooks-CxJRzS5z.js → onboard-hooks-BpyxMXOj.js} +2 -2
  135. package/dist/{onboard-remote-pucDu-pH.js → onboard-remote-BWK5Ths4.js} +3 -3
  136. package/dist/{onboard-remote-CXRFa8AU.js → onboard-remote-Bo3tpC9N.js} +3 -3
  137. package/dist/{onboard-skills-C_93kjju.js → onboard-skills-BLl8HPJO.js} +2 -2
  138. package/dist/{onboard-skills-BVTCfqlg.js → onboard-skills-DvacccqZ.js} +3 -3
  139. package/dist/{onboarding-BigIUHoh.js → onboarding-BywueA1d.js} +15 -15
  140. package/dist/{onboarding-fq_-89Jc.js → onboarding-ojb2rFkA.js} +15 -15
  141. package/dist/{onboarding.finalize-BGDBP9G7.js → onboarding.finalize-DHvlZi9G.js} +25 -25
  142. package/dist/{onboarding.finalize-C2Dt95Rn.js → onboarding.finalize-DdxBQpUU.js} +23 -23
  143. package/dist/{onboarding.gateway-config-eFJnSC-S.js → onboarding.gateway-config-DPBNWNV6.js} +5 -5
  144. package/dist/{onboarding.gateway-config-wB3ShGU4.js → onboarding.gateway-config-ZK9517uR.js} +5 -5
  145. package/dist/{openai-model-default-CKfNKTZD.js → openai-model-default-BkuuK-Di.js} +1 -1
  146. package/dist/{openai-model-default-ChdgeMqX.js → openai-model-default-Cx6qbnBw.js} +1 -1
  147. package/dist/{pairing-cli-D7_UlTsI.js → pairing-cli-CC0YyYGs.js} +2 -2
  148. package/dist/{pairing-cli-UgiAsygW.js → pairing-cli-Rsae0KnN.js} +2 -2
  149. package/dist/{path-env-BAyW1s3c.js → path-env-BY88zbPR.js} +1 -1
  150. package/dist/{path-env-C1hgM8gP.js → path-env-SUrcTSJ-.js} +1 -1
  151. package/dist/{pi-embedded-BAgVs8XC.js → pi-embedded-DJE9TMwq.js} +179 -15
  152. package/dist/{pi-embedded-helpers-BBiyNXkS.js → pi-embedded-helpers-BQjRftRI.js} +1 -1
  153. package/dist/{pi-embedded-helpers-CDzBxa-P.js → pi-embedded-helpers-D-OFjhdI.js} +1 -1
  154. package/dist/{pi-tools.policy-CU8U7--z.js → pi-tools.policy-06k__URR.js} +3 -2
  155. package/dist/{pi-tools.policy-WaLKhqJQ.js → pi-tools.policy-H2t-Xkfc.js} +3 -2
  156. package/dist/{plugin-auto-enable-Bt2sVz8w.js → plugin-auto-enable-DJBhDIMq.js} +2 -2
  157. package/dist/{plugin-auto-enable-PBDcVF_-.js → plugin-auto-enable-DaR6Z6BC.js} +2 -2
  158. package/dist/{plugin-registry-CubHLj0v.js → plugin-registry-Tlmjr-LX.js} +1 -1
  159. package/dist/{plugin-registry-2DU3g0AT.js → plugin-registry-tG7NXc3Y.js} +1 -1
  160. package/dist/plugin-sdk/agents/tools/display-artifact-tool.d.ts +2 -0
  161. package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +17 -0
  162. package/dist/plugin-sdk/infra/symframe-broadcast.d.ts +16 -0
  163. package/dist/{plugins-cli-Dpj76E3-.js → plugins-cli-CRKD8aho.js} +32 -32
  164. package/dist/{plugins-cli-CIYGRkKI.js → plugins-cli-Cm0G_-Y5.js} +31 -31
  165. package/dist/{program-FBDhJLrg.js → program-DEmAlwmD.js} +34 -34
  166. package/dist/{program-context-CZYb4zB2.js → program-context-DRCRbDpu.js} +41 -41
  167. package/dist/{prompt-select-styled-DQyZ6VHH.js → prompt-select-styled-B41Tx9aC.js} +28 -28
  168. package/dist/{prompt-select-styled-C3LUG3Be.js → prompt-select-styled-pomsR-zf.js} +27 -27
  169. package/dist/{provider-auth-helpers-LpT83BSS.js → provider-auth-helpers-CdQwOam7.js} +6 -6
  170. package/dist/{provider-auth-helpers-B_gA1eP9.js → provider-auth-helpers-rKWs_r7a.js} +6 -6
  171. package/dist/{push-apns-BWeNJb15.js → push-apns-CZPUHftn.js} +1 -1
  172. package/dist/{push-apns-CLngpXwL.js → push-apns-eCM0qmrY.js} +1 -1
  173. package/dist/{pw-ai-DOAsQ5NX.js → pw-ai-v__CyAlM.js} +1 -1
  174. package/dist/{register.agent-pWEv9TC7.js → register.agent-BQPvYYdn.js} +49 -49
  175. package/dist/{register.agent-Dz24Zz7t.js → register.agent-N1hoqMFR.js} +52 -52
  176. package/dist/{register.configure-BMLA-3Mt.js → register.configure-BAc3P4Z-.js} +57 -57
  177. package/dist/{register.configure-DQWtFNGt.js → register.configure-BHHZ44xB.js} +59 -59
  178. package/dist/{register.maintenance-FWHasNw7.js → register.maintenance-DDgy5Iyy.js} +52 -52
  179. package/dist/{register.maintenance-81d4KKmA.js → register.maintenance-lX0a3Hzl.js} +52 -52
  180. package/dist/{register.message-vUwGF3E9.js → register.message-B4lDhHpE.js} +30 -30
  181. package/dist/{register.message-C-p-GZ8z.js → register.message-Br-IH_0z.js} +28 -28
  182. package/dist/{register.onboard-BjPPudfS.js → register.onboard-B-GoYJIc.js} +25 -25
  183. package/dist/{register.onboard-COyX1xSR.js → register.onboard-Bv0s2_KV.js} +25 -25
  184. package/dist/{register.setup-DDMtRxcF.js → register.setup-4lNdC98i.js} +25 -25
  185. package/dist/{register.setup-C_ds_5fl.js → register.setup-DQ6KLkAI.js} +25 -25
  186. package/dist/{register.status-health-sessions-Dn2gy0gi.js → register.status-health-sessions-ByGn71_M.js} +31 -31
  187. package/dist/{register.status-health-sessions-C9Zdn1ai.js → register.status-health-sessions-Cg7bK5K2.js} +31 -31
  188. package/dist/{register.subclis-B16w8wxz.js → register.subclis-FMlcLBX0.js} +30 -30
  189. package/dist/{resolve-route-D0NrCHnr.js → resolve-route-BVJ4-d9c.js} +1 -1
  190. package/dist/{resolve-route-CnTdHVgw.js → resolve-route-C1IIA6kH.js} +1 -1
  191. package/dist/{routes-DIyAmLYR.js → routes-ivqbutvM.js} +1 -1
  192. package/dist/{routes-CPMVuvoz.js → routes-wLkmjLj9.js} +1 -1
  193. package/dist/{rpc-DP3AhcZq.js → rpc-Dk1Az_d8.js} +2 -2
  194. package/dist/{rpc-KjYXUeLD.js → rpc-JAmDaTYt.js} +2 -2
  195. package/dist/{run-main-CUMiBvgm.js → run-main-DSyeVDsT.js} +48 -48
  196. package/dist/{sandbox-61-kshSF.js → sandbox-BkznAPKO.js} +2 -2
  197. package/dist/{sandbox-J92UBQK8.js → sandbox-DjKcZavm.js} +2 -2
  198. package/dist/{sandbox-cli-D9v0jhBb.js → sandbox-cli-Bb9cBtBH.js} +5 -5
  199. package/dist/{sandbox-cli-DJgF-r8G.js → sandbox-cli-DmgpJLlJ.js} +5 -5
  200. package/dist/{security-cli-hTCYStCU.js → security-cli-D47LQbpf.js} +11 -11
  201. package/dist/{security-cli-CGLnA_ni.js → security-cli-DmgGLP83.js} +11 -11
  202. package/dist/{server-context-SbbjNkPL.js → server-context-ChcbJgNo.js} +3 -3
  203. package/dist/{server-context-D-82OTsT.js → server-context-DrAh6Cgw.js} +3 -3
  204. package/dist/{server-methods-D_zGEWNK.js → server-methods-BkHB2MOW.js} +35 -31
  205. package/dist/{server-methods-C3_JU-DI.js → server-methods-DGBBt49x.js} +34 -30
  206. package/dist/{server-node-events-CW5ilXPN.js → server-node-events-C186LRm0.js} +29 -29
  207. package/dist/{server-node-events-CRYzL3TY.js → server-node-events-D-Akk3uq.js} +27 -27
  208. package/dist/{service-Ccv3Zi5_.js → service-DYpU1ajf.js} +1 -1
  209. package/dist/{service-BF50XyKr.js → service-e6MzlLCd.js} +1 -1
  210. package/dist/{shared-BmjlTHYU.js → shared-1xPo9ygd.js} +1 -1
  211. package/dist/{shared-BJRsBGGr.js → shared-Dl4ZrOve.js} +1 -1
  212. package/dist/{skills-cli-BZF5mcG5.js → skills-cli-B-7TY-vS.js} +6 -6
  213. package/dist/{skills-cli-C9F-zLWe.js → skills-cli-jQ-M3ToK.js} +2 -2
  214. package/dist/{skills-install-QOHQrX6P.js → skills-install-CZE8W7lV.js} +4 -4
  215. package/dist/{skills-install-X12kifP1.js → skills-install-Dwzsjoc8.js} +4 -4
  216. package/dist/{skills-status-6LVKpabC.js → skills-status-BKX1PjCc.js} +1 -1
  217. package/dist/{status-NK8EUhIy.js → status-Bahhq7OQ.js} +1 -1
  218. package/dist/{status-DbIBRkrV.js → status-CFgCSaDq.js} +17 -17
  219. package/dist/{status-1ACP62Xm.js → status-D9LC5P_Y.js} +16 -16
  220. package/dist/{status-C_K3wapX.js → status-poPDyC8O.js} +1 -1
  221. package/dist/{status.update-CdTtmVpp.js → status.update-DGJi0OLl.js} +1 -1
  222. package/dist/{status.update-_3qHPt0O.js → status.update-DW6VHYmK.js} +1 -1
  223. package/dist/{subagent-registry-SZbZfkbr.js → subagent-registry-V2o45tIn.js} +176 -23
  224. package/dist/symframe-broadcast-BVxModY5.js +22 -0
  225. package/dist/symframe-broadcast-CXo2qoxy.js +22 -0
  226. package/dist/{symframe-cli-OqTUw6Mt.js → symframe-cli-bxdpivve.js} +8 -6
  227. package/dist/{symframe-cli-DLbhzXNU.js → symframe-cli-ppdMo15M.js} +8 -6
  228. package/dist/{synthesis-BLRsy_PZ.js → synthesis-B2EyHFXy.js} +24 -24
  229. package/dist/{synthesis-CUbz4CaL.js → synthesis-BlJyO1E_.js} +4 -4
  230. package/dist/{synthesis-CG0rRaLA.js → synthesis-C2WbvLOI.js} +2 -2
  231. package/dist/{synthesis-CA2zGGNE.js → synthesis-CPSq83PP.js} +25 -25
  232. package/dist/{system-cli-BoxTfo1R.js → system-cli-BroqLjZ6.js} +5 -5
  233. package/dist/{system-cli-CYgTroZA.js → system-cli-nPyjUPBH.js} +5 -5
  234. package/dist/{systemd-hints-DmDUq9JT.js → systemd-hints-BoFy3-m1.js} +4 -4
  235. package/dist/{systemd-hints-bP8dBJ78.js → systemd-hints-CsrzMCTD.js} +4 -4
  236. package/dist/{systemd-linger-DjoQVcOq.js → systemd-linger-BzYk7A6M.js} +2 -2
  237. package/dist/{systemd-linger-BBxRNFXz.js → systemd-linger-CctFkWNE.js} +2 -2
  238. package/dist/{tui-BdtfeKft.js → tui-Bp9k5skv.js} +3 -3
  239. package/dist/{tui-CO7OA9ZO.js → tui-DzROrE20.js} +3 -3
  240. package/dist/{tui-cli-_WzJLbOA.js → tui-cli-BHBF8O-3.js} +9 -9
  241. package/dist/{tui-cli-CcSS08na.js → tui-cli-Dv4hBFdc.js} +9 -9
  242. package/dist/{unified-runner-ChkYfsxy.js → unified-runner-CIQIkbvi.js} +172 -8
  243. package/dist/{unified-runner-B0cMr4If.js → unified-runner-CduaBH_0.js} +177 -24
  244. package/dist/{update-BDo7wxMf.js → update-B7qKOIqP.js} +1 -1
  245. package/dist/{update-check-oEbS0voJ.js → update-check-BCL_K7kx.js} +1 -1
  246. package/dist/{update-check-A86nJKtZ.js → update-check-DLOnLuop.js} +1 -1
  247. package/dist/{update-cli-BhI88CVk.js → update-cli-BKnHBe8a.js} +61 -61
  248. package/dist/{update-cli-jxM3sFLP.js → update-cli-WcLxjBiY.js} +61 -61
  249. package/dist/{update-runner-DHi359Tb.js → update-runner-BLV8SI96.js} +2 -2
  250. package/dist/{update-runner-CQMv-ibM.js → update-runner-Cext3X8r.js} +2 -2
  251. package/dist/{update-CcacbR32.js → update-yYduAjKd.js} +1 -1
  252. package/dist/{webhooks-cli-BUWSS_ve.js → webhooks-cli-CkSbVFZl.js} +2 -2
  253. package/dist/{webhooks-cli-BrDeMswO.js → webhooks-cli-D5k-Y2A8.js} +2 -2
  254. package/dist/{with-timeout-B0ZJa7f2.js → with-timeout-B9GM8DPj.js} +1 -1
  255. package/dist/{with-timeout-GbJ1Yzsh.js → with-timeout-DPR4A2dx.js} +1 -1
  256. package/extensions/memory-core/package.json +1 -1
  257. package/extensions/msteams/CHANGELOG.md +6 -0
  258. package/extensions/msteams/package.json +1 -1
  259. package/extensions/open-prose/package.json +1 -1
  260. package/extensions/outlook/package.json +1 -1
  261. package/extensions/slack/package.json +1 -1
  262. package/package.json +1 -1
  263. /package/dist/{agents.config-DK6nN-Qh.js → agents.config-B7sNDvhz.js} +0 -0
  264. /package/dist/{agents.config-Cyc_RegL.js → agents.config-CqfMQEiy.js} +0 -0
  265. /package/dist/{argv-Bl0th4dq.js → argv-D6PT4jl6.js} +0 -0
  266. /package/dist/{auth-choice-legacy-BZWIpO92.js → auth-choice-legacy-CsL_9IlL.js} +0 -0
  267. /package/dist/{auth-choice-legacy-iEyARXI2.js → auth-choice-legacy-D9d98wkI.js} +0 -0
  268. /package/dist/{auth-token-DyhvQgv4.js → auth-token-Cr28IDKY.js} +0 -0
  269. /package/dist/{auth-token-lPWiklDD.js → auth-token-YTHu2ftn.js} +0 -0
  270. /package/dist/{bindings-c7qLJdIA.js → bindings-BRZBH7eX.js} +0 -0
  271. /package/dist/{bindings-BAOPW5eK.js → bindings-DIhsYGa_.js} +0 -0
  272. /package/dist/{brew-B4FH-mEH.js → brew-Clk21D21.js} +0 -0
  273. /package/dist/{brew-CI00FKf8.js → brew-DD55iLUe.js} +0 -0
  274. /package/dist/{catalog-BaM8d1-T.js → catalog-BQgWCFTH.js} +0 -0
  275. /package/dist/{catalog-BnLcGVie.js → catalog-BptA-dUv.js} +0 -0
  276. /package/dist/{channel-selection-BrFl0vVK.js → channel-selection-CmU8iVio.js} +0 -0
  277. /package/dist/{channel-selection-DjrS6oiz.js → channel-selection-H1qOf0q-.js} +0 -0
  278. /package/dist/{channels-status-issues-BwbA2OBt.js → channels-status-issues-BTvrA4nx.js} +0 -0
  279. /package/dist/{channels-status-issues-iWQDGUQe.js → channels-status-issues-DLIzUsjR.js} +0 -0
  280. /package/dist/{cli-utils-Ca0KE-dW.js → cli-utils-CuyGL3rq.js} +0 -0
  281. /package/dist/{cli-utils-CbnnSB38.js → cli-utils-DXfA5936.js} +0 -0
  282. /package/dist/{clipboard-BSTxQ2tO.js → clipboard-BGveOWXP.js} +0 -0
  283. /package/dist/{clipboard-CHn5r7Kj.js → clipboard-v8OffNHk.js} +0 -0
  284. /package/dist/{command-options-DgcCGXMQ.js → command-options-BFvvecvU.js} +0 -0
  285. /package/dist/{command-options-Vxb4M7Aj.js → command-options-DDDwkB9t.js} +0 -0
  286. /package/dist/{config-validation-DQ-lm2Qx.js → config-validation-Cdyg1BZB.js} +0 -0
  287. /package/dist/{config-validation-DhsYEtLL.js → config-validation-CeEJcuMJ.js} +0 -0
  288. /package/dist/{consolidate-BoM9cz9L.js → consolidate-BNTNdxdL.js} +0 -0
  289. /package/dist/{consolidate-nNhnUpNj.js → consolidate-DymnvvYm.js} +0 -0
  290. /package/dist/{control-ui-assets-CnX0W3vy.js → control-ui-assets-CJQ97d4u.js} +0 -0
  291. /package/dist/{control-ui-assets-DfBRXG5y.js → control-ui-assets-Dnz69KRU.js} +0 -0
  292. /package/dist/{cost-cli-CmfkZsmZ.js → cost-cli-BfcKmCc4.js} +0 -0
  293. /package/dist/{cost-cli-C9LvOtGz.js → cost-cli-DWiVCOCx.js} +0 -0
  294. /package/dist/{delivery-queue-CIwn40ej.js → delivery-queue-B2oigbh4.js} +0 -0
  295. /package/dist/{delivery-queue-duM0RT18.js → delivery-queue-OAc7hsIs.js} +0 -0
  296. /package/dist/{deps-D5me2CAW.js → deps-Bf9dt2UO.js} +0 -0
  297. /package/dist/{dm-policy-shared-EuuPwRNE.js → dm-policy-shared-BtrdvOIT.js} +0 -0
  298. /package/dist/{dm-policy-shared-BUwZ6Ajx.js → dm-policy-shared-CeFt0nch.js} +0 -0
  299. /package/dist/{entry-status-D0BSpWt_.js → entry-status-DnvpZhUd.js} +0 -0
  300. /package/dist/{format-BFJAwjeA.js → format-CZeGyu83.js} +0 -0
  301. /package/dist/{gmail-setup-utils-_TEJA4pL.js → gmail-setup-utils-BYBwPfuu.js} +0 -0
  302. /package/dist/{gmail-setup-utils-DJgxyDTX.js → gmail-setup-utils-CGaQ7-Vb.js} +0 -0
  303. /package/dist/{health-format-Li703vy6.js → health-format-6tfMqkNX.js} +0 -0
  304. /package/dist/{health-format-Dp4xmTKn.js → health-format-Bxg84_f4.js} +0 -0
  305. /package/dist/{help-format-8IYCRvx1.js → help-format-7hFcsqss.js} +0 -0
  306. /package/dist/{help-format-BTNd5kFC.js → help-format-Dbp8yEhl.js} +0 -0
  307. /package/dist/{helpers-DGBa5iKd.js → helpers-B_p8ul9t.js} +0 -0
  308. /package/dist/{helpers-CoScWBmD.js → helpers-CBCZwlBW.js} +0 -0
  309. /package/dist/{helpers-lLtg0Hgi.js → helpers-CKQ7JYPP.js} +0 -0
  310. /package/dist/{helpers-BnXDQL2q.js → helpers-G6zuddmF.js} +0 -0
  311. /package/dist/{ipv4-CCdAVmwu.js → ipv4-C_NtZ3JP.js} +0 -0
  312. /package/dist/{ipv4-DFUXU3PT.js → ipv4-qGjACkoi.js} +0 -0
  313. /package/dist/{links-CQZxjjCO.js → links-Bqr0FxXx.js} +0 -0
  314. /package/dist/{links-B9CbwY46.js → links-Dnmd-RS-.js} +0 -0
  315. /package/dist/{logging-CLWZ3KQI.js → logging-BWknayJl.js} +0 -0
  316. /package/dist/{logging-BmJ5ky59.js → logging-DDnP1BTp.js} +0 -0
  317. /package/dist/{logging-BRejMykf.js → logging-Ev3fNJEG.js} +0 -0
  318. /package/dist/{logging-uD67RPtO.js → logging-UO6tk8Em.js} +0 -0
  319. /package/dist/{model-BMFj7NXy.js → model-MUMSB_7d.js} +0 -0
  320. /package/dist/{model-param-b-DieX_ZxM.js → model-param-b-BQFczpbd.js} +0 -0
  321. /package/dist/{onboard-config-B9Iy9-4f.js → onboard-config-DrMJycgG.js} +0 -0
  322. /package/dist/{onboard-config-DwsP5yz1.js → onboard-config-yFJq4mEu.js} +0 -0
  323. /package/dist/{outbound-send-deps-DpyxnI3f.js → outbound-send-deps--SpwgFhS.js} +0 -0
  324. /package/dist/{outbound-send-deps-JQjmNLPx.js → outbound-send-deps-BCyarBRf.js} +0 -0
  325. /package/dist/{parse-log-line-BQPvB6cZ.js → parse-log-line-DfH8ycNl.js} +0 -0
  326. /package/dist/{parse-log-line-Cg7e_EO6.js → parse-log-line-Vp8N7lak.js} +0 -0
  327. /package/dist/{parse-port-CLBKavYE.js → parse-port-Bi7Gqqv0.js} +0 -0
  328. /package/dist/{parse-port-dzRz6QnZ.js → parse-port-CMRD6fhd.js} +0 -0
  329. /package/dist/{parse-timeout-CuYdP9TL.js → parse-timeout-DmEcHIsV.js} +0 -0
  330. /package/dist/{parse-timeout-DUdeaMqF.js → parse-timeout-widuTpq9.js} +0 -0
  331. /package/dist/{path-safety-ZDtSDPro.js → path-safety-CV-2z0JS.js} +0 -0
  332. /package/dist/{path-safety-cWA8NpOb.js → path-safety-CkXjT453.js} +0 -0
  333. /package/dist/{plugins-allowlist-C5r7biDp.js → plugins-allowlist-CAXiY1du.js} +0 -0
  334. /package/dist/{plugins-allowlist-CD4oIJNk.js → plugins-allowlist-DV-EyqWq.js} +0 -0
  335. /package/dist/{ports-C2swmreL.js → ports-gFlaMWtN.js} +0 -0
  336. /package/dist/{ports-BE4iY9ho.js → ports-r7LBic2V.js} +0 -0
  337. /package/dist/{program-context-CGKRxOBU.js → program-context-B_0V80zV.js} +0 -0
  338. /package/dist/{progress-BOQ0hkeM.js → progress-CI19Xh3z.js} +0 -0
  339. /package/dist/{progress-DQTvTiEg.js → progress-swt2y17x.js} +0 -0
  340. /package/dist/{prompt-style-CzRuIYtp.js → prompt-style-CZGg35Py.js} +0 -0
  341. /package/dist/{prompt-style-pphr4yLK.js → prompt-style-olk5zI5k.js} +0 -0
  342. /package/dist/{prompts-B98rp78m.js → prompts-CNzp9M83.js} +0 -0
  343. /package/dist/{prompts-CqJkfsHC.js → prompts-D4yOwSll.js} +0 -0
  344. /package/dist/{pw-ai-DQZa9DUQ.js → pw-ai-BiBvIJzd.js} +0 -0
  345. /package/dist/{pw-ai-DBAtSFTB.js → pw-ai-C0Jie9u9.js} +0 -0
  346. /package/dist/{qmd-manager-C1levE0a.js → qmd-manager-4tXuJfLY.js} +0 -0
  347. /package/dist/{qmd-manager-CR71XjjR.js → qmd-manager-C8-M4Pru.js} +0 -0
  348. /package/dist/{qr-cli-DHpiebkG.js → qr-cli-1sCVaPcF.js} +0 -0
  349. /package/dist/{qr-cli-D2A-IU0Y.js → qr-cli-BnNm-DMY.js} +0 -0
  350. /package/dist/{replies-_DV8VSSj.js → replies-CLREUzzB.js} +0 -0
  351. /package/dist/{replies-C5CBlnFS.js → replies-CbXXjn9X.js} +0 -0
  352. /package/dist/{runtime-guard-Bgv3O9s4.js → runtime-guard-CWA00ZXa.js} +0 -0
  353. /package/dist/{runtime-guard-ofQGcCUc.js → runtime-guard-LRRZ73eX.js} +0 -0
  354. /package/dist/{runtime-status-B-PXkhrX.js → runtime-status-BgZqic8M.js} +0 -0
  355. /package/dist/{runtime-status-Zb9OQ0VK.js → runtime-status-DV2uMNRb.js} +0 -0
  356. /package/dist/{session-dirs-BsQ-g02q.js → session-dirs-C9E2G0yZ.js} +0 -0
  357. /package/dist/{session-dirs-DpiMgw4q.js → session-dirs-pNE-WE2a.js} +0 -0
  358. /package/dist/{sessions-BSmT7vGX.js → sessions-C2vCAjTZ.js} +0 -0
  359. /package/dist/{shared-Ck6cf10x.js → shared-COtpr3Ad.js} +0 -0
  360. /package/dist/{shared-Crfo8y70.js → shared-DHJR5_SP.js} +0 -0
  361. /package/dist/{skill-scanner-EhsZUzzk.js → skill-scanner-BC3PyNso.js} +0 -0
  362. /package/dist/{skill-scanner-D5p8L-xO.js → skill-scanner-BCgVcIwi.js} +0 -0
  363. /package/dist/{status-DtyqId3v.js → status-Bah7VY4i.js} +0 -0
  364. /package/dist/{status-dOhj12u0.js → status-BzmfZaEV.js} +0 -0
  365. /package/dist/{system-run-command-2oJPKfVr.js → system-run-command-CYEDiFm7.js} +0 -0
  366. /package/dist/{system-run-command-D_OmCQOL.js → system-run-command-olPQqEUJ.js} +0 -0
  367. /package/dist/{systemd-Dtydk5-z.js → systemd-CNnW7Chw.js} +0 -0
  368. /package/dist/{systemd-Dic80Qni.js → systemd-CUIM0n5P.js} +0 -0
  369. /package/dist/{table-Ds5CZCyv.js → table-0A3xKJVC.js} +0 -0
  370. /package/dist/{table-Dm8jYqmW.js → table-D0JXlEhQ.js} +0 -0
  371. /package/dist/{tool-loop-detection-2Mxxm8YE.js → tool-loop-detection-BFFEnLXH.js} +0 -0
  372. /package/dist/{tool-loop-detection-Bk07vuCX.js → tool-loop-detection-CyaMgdb1.js} +0 -0
  373. /package/dist/{widearea-dns-BwIBBqZo.js → widearea-dns-CKKGWxWC.js} +0 -0
  374. /package/dist/{widearea-dns-DA_m7oeT.js → widearea-dns-DHO-Mc6G.js} +0 -0
  375. /package/dist/{workspace-DD9pYbiv.js → workspace-BEOJvHML.js} +0 -0
  376. /package/dist/{workspace-Wkr6wXcS.js → workspace-dN7eNg6n.js} +0 -0
  377. /package/dist/{wsl-Ci3VOaSK.js → wsl-CglTdtlb.js} +0 -0
  378. /package/dist/{wsl-S50RbgL8.js → wsl-DMA0sTvh.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { t as formatCliCommand } from "./command-format-B3nkKRhC.js";
2
2
  import { t as resolveSymiPackageRoot } from "./symi-root-Ctw1Rb_n.js";
3
3
  import { N as VERSION } from "./config-D7TcU4qN.js";
4
- import { n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-A86nJKtZ.js";
4
+ import { n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-DLOnLuop.js";
5
5
 
6
6
  //#region src/commands/status.update.ts
7
7
  async function getUpdateCheckResult(params) {
@@ -20,23 +20,23 @@ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as appl
20
20
  import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-CVLmi8rz.js";
21
21
  import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-D7TcU4qN.js";
22
22
  import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell } from "./shell-env-CTYaxUs_.js";
23
- import { Ht as SESSION_LABEL_MAX_LENGTH } from "./client-CdiymIXS.js";
24
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-A18kwyah.js";
23
+ import { Ht as SESSION_LABEL_MAX_LENGTH } from "./client-DCxeV1bw.js";
24
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-DZg43vv8.js";
25
25
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-DXToSaWK.js";
26
26
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BdV0rbga.js";
27
27
  import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-Dn6VXn4p.js";
28
28
  import { t as normalizeChatType } from "./chat-type-CdXzoS6q.js";
29
29
  import { a as resolveSlackAccount, c as resolveSlackBotToken, n as listChannelPlugins, r as normalizeChannelId$1, s as resolveSlackAppToken, t as getChannelPlugin } from "./plugins-BsEhWvLn.js";
30
30
  import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-Dq252-bi.js";
31
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-B0ZJa7f2.js";
32
- import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-0nDhDdKd.js";
31
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-B9GM8DPj.js";
32
+ import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-DIK2emIV.js";
33
33
  import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-IdKKvrDQ.js";
34
34
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CIjIGxEE.js";
35
- import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-BBiyNXkS.js";
36
- import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-J92UBQK8.js";
35
+ import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-BQjRftRI.js";
36
+ import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-DjKcZavm.js";
37
37
  import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-D1eO2jfe.js";
38
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-D-82OTsT.js";
39
- import { n as getMediaDir, r as saveMediaBuffer } from "./routes-CPMVuvoz.js";
38
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-DrAh6Cgw.js";
39
+ import { n as getMediaDir, r as saveMediaBuffer } from "./routes-wLkmjLj9.js";
40
40
  import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-BmdGLmRC.js";
41
41
  import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-8yCI1Car.js";
42
42
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BZFvPKEu.js";
@@ -49,8 +49,8 @@ import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsX
49
49
  import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-Byr7Gic_.js";
50
50
  import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-CiR_RUxw.js";
51
51
  import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DV3KhOhL.js";
52
- import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-BcdI7NSs.js";
53
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-BMA3iRMq.js";
52
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-DFpqcIst.js";
53
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-CxFs8Z_F.js";
54
54
  import { f as runTasksWithConcurrency } from "./internal-D3mEiuyB.js";
55
55
  import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-B2lBXhR0.js";
56
56
  import { n as resolveMarkdownTableMode } from "./markdown-tables-BEdkErjm.js";
@@ -77,14 +77,15 @@ import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o
77
77
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-DQJz-0qd.js";
78
78
  import { i as resolveWindow, n as formatSummaryReport, r as loadCostBenchmarkSummary, t as buildCostBreakdown } from "./breakdown-Cszrv-Lf.js";
79
79
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-BP_JoSwO.js";
80
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-DPzhv357.js";
80
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-CG6l_Yap.js";
81
81
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-DUVGiPYV.js";
82
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BrFl0vVK.js";
83
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-D0NrCHnr.js";
84
- import { t as parseTimeoutMs } from "./parse-timeout-DUdeaMqF.js";
85
- import { n as registerMemoryCli } from "./memory-cli-CQSVrNAK.js";
86
- import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-_DV8VSSj.js";
87
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-CU8U7--z.js";
82
+ import { t as emitSymframePush } from "./symframe-broadcast-BVxModY5.js";
83
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-CmU8iVio.js";
84
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BVJ4-d9c.js";
85
+ import { t as parseTimeoutMs } from "./parse-timeout-widuTpq9.js";
86
+ import { n as registerMemoryCli } from "./memory-cli-DZnq3S6s.js";
87
+ import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-CLREUzzB.js";
88
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-06k__URR.js";
88
89
  import { createRequire } from "node:module";
89
90
  import { execFileSync, spawn, spawnSync } from "node:child_process";
90
91
  import process$1 from "node:process";
@@ -4027,7 +4028,7 @@ async function routeReply(params) {
4027
4028
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
4028
4029
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
4029
4030
  try {
4030
- const { deliverOutboundPayloads } = await import("./deliver-0nDhDdKd.js").then((n) => n.n);
4031
+ const { deliverOutboundPayloads } = await import("./deliver-DIK2emIV.js").then((n) => n.n);
4031
4032
  return {
4032
4033
  ok: true,
4033
4034
  messageId: (await deliverOutboundPayloads({
@@ -15409,6 +15410,19 @@ function buildAgentSystemPrompt(params) {
15409
15410
  " Correct: call exec with command=\"echo hi\", then summarise the actual stdout you received.",
15410
15411
  " Wrong: emit \"hi\" as text without calling exec — that's fabrication.",
15411
15412
  "",
15413
+ "## Symframe (window into your mind)",
15414
+ "The right-column panel shows what you're thinking about, holding, considering, or producing. Push cards that represent your current mental state — not just content too big for chat. Even small fragments belong here if they reflect what you're working with.",
15415
+ "Call `display_artifact` whenever you have an artifact (draft, snippet, reference, option) worth surfacing alongside the conversation. Always set `intent`:",
15416
+ " - `holding` — keep this in working memory across turns (URLs, file paths, snippets)",
15417
+ " - `weighing` — one option among siblings under consideration",
15418
+ " - `producing` — actively drafting; you intend to update this card again",
15419
+ " - `drafted` — finished artifact ready for the user to review (email, doc, code)",
15420
+ " - `reference` — read-only context you surfaced for the user (file excerpt, search hit)",
15421
+ " - `awaiting` — deferred/scheduled/in-flight work (sub-agent output, scheduled task)",
15422
+ "Renderer `type`: `text` · `markdown` · `code` (with `language` hljs hint) · `email-draft` (with `email: { from?, to, cc?, bcc?, subject, body }`) · `pdf` · `audio` · `video` (`url` + optional `mimeType`).",
15423
+ "Use `action: \"update\"` with the same `id` to revise a card you pushed earlier (e.g. iterate a draft across turns). `action: \"remove\"` to dismiss. Set `force: true` only when overriding a sticky card — sticky cards represent the user's pinned context and shouldn't be clobbered by routine pushes.",
15424
+ "After pushing, briefly tell the user what's in the panel (e.g. \"Drafted the email — shown in your panel.\"). Don't repeat the full content in chat.",
15425
+ "",
15412
15426
  ...compactMode ? [] : [
15413
15427
  "## Tool Call Style",
15414
15428
  "Default: do not narrate routine, low-risk tool calls (just call the tool).",
@@ -21010,6 +21024,144 @@ Use jobId as the canonical identifier; id is accepted for compatibility. Use con
21010
21024
  };
21011
21025
  }
21012
21026
 
21027
+ //#endregion
21028
+ //#region src/agents/tools/display-artifact-tool.ts
21029
+ const ARTIFACT_TYPES = [
21030
+ "text",
21031
+ "markdown",
21032
+ "code",
21033
+ "email-draft",
21034
+ "pdf",
21035
+ "audio",
21036
+ "video"
21037
+ ];
21038
+ const ARTIFACT_ACTIONS = [
21039
+ "add",
21040
+ "update",
21041
+ "remove"
21042
+ ];
21043
+ /**
21044
+ * Stage A: intent vocabulary added as orthogonal metadata to renderer type.
21045
+ * Intent answers "why is this card in the panel"; type answers "how to draw
21046
+ * it". Renderers ignore intent for now — it's stored on the registry entry
21047
+ * and surfaced as a data-intent attribute on the card root, ready for the
21048
+ * Stage B+ visual treatment (substrate prominence for drafted, clustering
21049
+ * for weighing, decay overrides, etc.). See
21050
+ * ~/Documents/dynamic-glass-panel.md §4.
21051
+ */
21052
+ const ARTIFACT_INTENTS = [
21053
+ "holding",
21054
+ "weighing",
21055
+ "producing",
21056
+ "awaiting",
21057
+ "drafted",
21058
+ "reference"
21059
+ ];
21060
+ const ActionSchema = Type.Object({
21061
+ label: Type.String(),
21062
+ kind: Type.Optional(stringEnum(["primary", "secondary"])),
21063
+ rpc: Type.Optional(Type.String()),
21064
+ params: Type.Optional(Type.Record(Type.String(), Type.Unknown()))
21065
+ });
21066
+ const EmailFieldsSchema = Type.Object({
21067
+ from: Type.Optional(Type.String()),
21068
+ to: Type.Optional(Type.String()),
21069
+ cc: Type.Optional(Type.String()),
21070
+ bcc: Type.Optional(Type.String()),
21071
+ subject: Type.Optional(Type.String()),
21072
+ body: Type.Optional(Type.String())
21073
+ });
21074
+ const DisplayArtifactSchema = Type.Object({
21075
+ action: Type.Optional(stringEnum(ARTIFACT_ACTIONS)),
21076
+ id: Type.Optional(Type.String()),
21077
+ type: Type.Optional(stringEnum(ARTIFACT_TYPES)),
21078
+ intent: Type.Optional(stringEnum(ARTIFACT_INTENTS)),
21079
+ title: Type.Optional(Type.String()),
21080
+ body: Type.Optional(Type.String()),
21081
+ language: Type.Optional(Type.String()),
21082
+ url: Type.Optional(Type.String()),
21083
+ mimeType: Type.Optional(Type.String()),
21084
+ downloadName: Type.Optional(Type.String()),
21085
+ poster: Type.Optional(Type.String()),
21086
+ email: Type.Optional(EmailFieldsSchema),
21087
+ actions: Type.Optional(Type.Array(ActionSchema)),
21088
+ sticky: Type.Optional(Type.Boolean()),
21089
+ force: Type.Optional(Type.Boolean())
21090
+ });
21091
+ function genCardId() {
21092
+ return `sf-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
21093
+ }
21094
+ function createDisplayArtifactTool() {
21095
+ return {
21096
+ label: "Display Artifact",
21097
+ name: "display_artifact",
21098
+ description: "Push a card into the Glass UI symframe — the right-column window into your mind. Use for content that represents what you're thinking about, holding, considering, or producing — drafts, references you're keeping in view, options being weighed, generated artifacts. Always set `intent` (holding | weighing | producing | drafted | reference | awaiting). Renderer `type`: text | markdown | code | email-draft | pdf | audio | video. Returns the card id; pass action=update with the same id to revise (set force:true to update a sticky card), or action=remove to dismiss.",
21099
+ parameters: DisplayArtifactSchema,
21100
+ execute: async (_toolCallId, args) => {
21101
+ const params = args;
21102
+ const actionRaw = readStringParam(params, "action");
21103
+ const action = actionRaw === "update" || actionRaw === "remove" ? actionRaw : "add";
21104
+ const id = readStringParam(params, "id") || (action === "add" ? genCardId() : void 0);
21105
+ if (action !== "add" && !id) return jsonResult({
21106
+ ok: false,
21107
+ error: `${action} requires an id`
21108
+ });
21109
+ const force = params.force === true;
21110
+ if (action === "remove") {
21111
+ emitSymframePush({
21112
+ action,
21113
+ id,
21114
+ force
21115
+ });
21116
+ return jsonResult({
21117
+ ok: true,
21118
+ action,
21119
+ id
21120
+ });
21121
+ }
21122
+ const card = { id };
21123
+ for (const key of [
21124
+ "type",
21125
+ "intent",
21126
+ "title",
21127
+ "body",
21128
+ "language",
21129
+ "url",
21130
+ "mimeType",
21131
+ "downloadName",
21132
+ "poster",
21133
+ "email",
21134
+ "actions",
21135
+ "sticky"
21136
+ ]) {
21137
+ const value = params[key];
21138
+ if (value !== void 0 && value !== null) card[key] = value;
21139
+ }
21140
+ if (action === "add") {
21141
+ const hasContent = typeof card.title === "string" ? Boolean(card.title.trim()) : false;
21142
+ const hasBody = typeof card.body === "string" ? Boolean(card.body.trim()) : false;
21143
+ const hasUrl = typeof card.url === "string" && Boolean(card.url.trim());
21144
+ const hasEmail = card.email && typeof card.email === "object";
21145
+ if (!hasContent && !hasBody && !hasUrl && !hasEmail) return jsonResult({
21146
+ ok: false,
21147
+ error: "add requires at least title, body, url, or email"
21148
+ });
21149
+ }
21150
+ emitSymframePush({
21151
+ action,
21152
+ id,
21153
+ card,
21154
+ force
21155
+ });
21156
+ return jsonResult({
21157
+ ok: true,
21158
+ action,
21159
+ id
21160
+ });
21161
+ }
21162
+ };
21163
+ }
21164
+
21013
21165
  //#endregion
21014
21166
  //#region src/agents/tools/gateway-tool.ts
21015
21167
  const DEFAULT_UPDATE_TIMEOUT_MS = 20 * 6e4;
@@ -28516,6 +28668,7 @@ function createSymiTools(options) {
28516
28668
  allowHostControl: options?.allowHostBrowserControl
28517
28669
  }),
28518
28670
  createCanvasTool({ config: options?.config }),
28671
+ createDisplayArtifactTool(),
28519
28672
  createNodesTool({
28520
28673
  agentSessionKey: options?.agentSessionKey,
28521
28674
  config: options?.config
@@ -29058,7 +29211,7 @@ async function deliverSessionMaintenanceWarning(params) {
29058
29211
  return;
29059
29212
  }
29060
29213
  try {
29061
- const { deliverOutboundPayloads } = await import("./deliver-0nDhDdKd.js").then((n) => n.n);
29214
+ const { deliverOutboundPayloads } = await import("./deliver-DIK2emIV.js").then((n) => n.n);
29062
29215
  await deliverOutboundPayloads({
29063
29216
  cfg: params.cfg,
29064
29217
  channel,
@@ -33530,7 +33683,7 @@ async function recordLoopOutcome(args) {
33530
33683
  if (!args.ctx?.sessionKey) return;
33531
33684
  try {
33532
33685
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-CIjIGxEE.js").then((n) => n.n);
33533
- const { recordToolCallOutcome } = await import("./tool-loop-detection-Bk07vuCX.js");
33686
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-CyaMgdb1.js");
33534
33687
  recordToolCallOutcome(getDiagnosticSessionState({
33535
33688
  sessionKey: args.ctx.sessionKey,
33536
33689
  sessionId: args.ctx?.agentId
@@ -33552,7 +33705,7 @@ async function runBeforeToolCallHook(args) {
33552
33705
  if (args.ctx?.sessionKey) {
33553
33706
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-CIjIGxEE.js").then((n) => n.n);
33554
33707
  const { logToolLoopAction } = await import("./diagnostic-IdKKvrDQ.js").then((n) => n.n);
33555
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-Bk07vuCX.js");
33708
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-CyaMgdb1.js");
33556
33709
  const sessionState = getDiagnosticSessionState({
33557
33710
  sessionKey: args.ctx.sessionKey,
33558
33711
  sessionId: args.ctx?.agentId
@@ -45094,7 +45247,7 @@ async function registerSlackMonitorSlashCommands(params) {
45094
45247
  const channelName = channelInfo?.name;
45095
45248
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
45096
45249
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
45097
- import("./resolve-route-D0NrCHnr.js").then((n) => n.r),
45250
+ import("./resolve-route-BVJ4-d9c.js").then((n) => n.r),
45098
45251
  import("./inbound-context-CDk-z2Q4.js").then((n) => n.n),
45099
45252
  Promise.resolve().then(() => provider_dispatcher_exports)
45100
45253
  ]);
@@ -45155,7 +45308,7 @@ async function registerSlackMonitorSlashCommands(params) {
45155
45308
  });
45156
45309
  const deliverSlashPayloads = async (replies) => {
45157
45310
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
45158
- import("./replies-_DV8VSSj.js").then((n) => n.r),
45311
+ import("./replies-CLREUzzB.js").then((n) => n.r),
45159
45312
  import("./chunk-B2lBXhR0.js").then((n) => n.s),
45160
45313
  import("./markdown-tables-BEdkErjm.js").then((n) => n.t)
45161
45314
  ]);
@@ -0,0 +1,22 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
+
3
+ //#region src/infra/symframe-broadcast.ts
4
+ var symframe_broadcast_exports = /* @__PURE__ */ __exportAll({
5
+ emitSymframePush: () => emitSymframePush,
6
+ onSymframePush: () => onSymframePush
7
+ });
8
+ const listeners = /* @__PURE__ */ new Set();
9
+ function emitSymframePush(payload) {
10
+ for (const listener of listeners) try {
11
+ listener(payload);
12
+ } catch {}
13
+ }
14
+ function onSymframePush(listener) {
15
+ listeners.add(listener);
16
+ return () => {
17
+ listeners.delete(listener);
18
+ };
19
+ }
20
+
21
+ //#endregion
22
+ export { onSymframePush as n, symframe_broadcast_exports as r, emitSymframePush as t };
@@ -0,0 +1,22 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
+
3
+ //#region src/infra/symframe-broadcast.ts
4
+ var symframe_broadcast_exports = /* @__PURE__ */ __exportAll({
5
+ emitSymframePush: () => emitSymframePush,
6
+ onSymframePush: () => onSymframePush
7
+ });
8
+ const listeners = /* @__PURE__ */ new Set();
9
+ function emitSymframePush(payload) {
10
+ for (const listener of listeners) try {
11
+ listener(payload);
12
+ } catch {}
13
+ }
14
+ function onSymframePush(listener) {
15
+ listeners.add(listener);
16
+ return () => {
17
+ listeners.delete(listener);
18
+ };
19
+ }
20
+
21
+ //#endregion
22
+ export { onSymframePush as n, symframe_broadcast_exports as r, emitSymframePush as t };
@@ -5,18 +5,18 @@ import "./model-selection-CMx1evaF.js";
5
5
  import "./manifest-registry-CVLmi8rz.js";
6
6
  import "./config-D7TcU4qN.js";
7
7
  import "./shell-env-CTYaxUs_.js";
8
- import "./client-CdiymIXS.js";
9
- import "./call-A18kwyah.js";
8
+ import "./client-DCxeV1bw.js";
9
+ import "./call-DZg43vv8.js";
10
10
  import "./message-channel-DXToSaWK.js";
11
11
  import "./pairing-token-B-OTYROz.js";
12
- import { t as formatDocsLink } from "./links-B9CbwY46.js";
13
- import "./progress-BOQ0hkeM.js";
14
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-vivTzTCq.js";
12
+ import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
13
+ import "./progress-CI19Xh3z.js";
14
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-Bzg_TTKP.js";
15
15
  import fs from "node:fs/promises";
16
16
 
17
17
  //#region src/cli/symframe-cli.ts
18
18
  function registerSymframeCli(program) {
19
- addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove>", "Action (default: add)", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--json", "Output JSON", false)).action(async (opts) => {
19
+ addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove>", "Action (default: add)", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--intent <intent>", "Card intent (mental-state slot) — holding | weighing | producing | awaiting | drafted | reference").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--force", "Required to update or remove a sticky card (use sparingly)", false).option("--json", "Output JSON", false)).action(async (opts) => {
20
20
  try {
21
21
  const action = (opts.action ?? "add").trim();
22
22
  if (action !== "add" && action !== "update" && action !== "remove") throw new Error(`--action must be one of: add | update | remove (got '${action}')`);
@@ -24,12 +24,14 @@ function registerSymframeCli(program) {
24
24
  if (opts.file) bodyText = await fs.readFile(opts.file, "utf8");
25
25
  const params = { action };
26
26
  if (opts.id) params.id = opts.id;
27
+ if (opts.force) params.force = true;
27
28
  if (action === "remove") {
28
29
  if (!opts.id) throw new Error("--id is required for remove");
29
30
  } else {
30
31
  const card = {};
31
32
  if (opts.id) card.id = opts.id;
32
33
  if (opts.type) card.type = opts.type;
34
+ if (opts.intent) card.intent = opts.intent;
33
35
  if (opts.title) card.title = opts.title;
34
36
  if (bodyText !== void 0) card.body = bodyText;
35
37
  if (opts.language) card.language = opts.language;
@@ -11,17 +11,17 @@ import "./env-BRnPI9sO.js";
11
11
  import "./shell-env-Dc3iU7HK.js";
12
12
  import "./manifest-registry-D1MLZEjS.js";
13
13
  import "./message-channel-DgjXWzf-.js";
14
- import "./client-DDqXo-cF.js";
15
- import "./call-PpGwcPn-.js";
14
+ import "./client-k0MT6NBw.js";
15
+ import "./call-BccaLPi8.js";
16
16
  import "./pairing-token-Dcy37-4s.js";
17
- import { t as formatDocsLink } from "./links-CQZxjjCO.js";
18
- import "./progress-DQTvTiEg.js";
19
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DMSsr0Xn.js";
17
+ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
18
+ import "./progress-swt2y17x.js";
19
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-D12UaJS5.js";
20
20
  import fs from "node:fs/promises";
21
21
 
22
22
  //#region src/cli/symframe-cli.ts
23
23
  function registerSymframeCli(program) {
24
- addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove>", "Action (default: add)", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--json", "Output JSON", false)).action(async (opts) => {
24
+ addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove>", "Action (default: add)", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--intent <intent>", "Card intent (mental-state slot) — holding | weighing | producing | awaiting | drafted | reference").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--force", "Required to update or remove a sticky card (use sparingly)", false).option("--json", "Output JSON", false)).action(async (opts) => {
25
25
  try {
26
26
  const action = (opts.action ?? "add").trim();
27
27
  if (action !== "add" && action !== "update" && action !== "remove") throw new Error(`--action must be one of: add | update | remove (got '${action}')`);
@@ -29,12 +29,14 @@ function registerSymframeCli(program) {
29
29
  if (opts.file) bodyText = await fs.readFile(opts.file, "utf8");
30
30
  const params = { action };
31
31
  if (opts.id) params.id = opts.id;
32
+ if (opts.force) params.force = true;
32
33
  if (action === "remove") {
33
34
  if (!opts.id) throw new Error("--id is required for remove");
34
35
  } else {
35
36
  const card = {};
36
37
  if (opts.id) card.id = opts.id;
37
38
  if (opts.type) card.type = opts.type;
39
+ if (opts.intent) card.intent = opts.intent;
38
40
  if (opts.title) card.title = opts.title;
39
41
  if (bodyText !== void 0) card.body = bodyText;
40
42
  if (opts.language) card.language = opts.language;
@@ -13,25 +13,25 @@ import "./skills-cLBEdkqu.js";
13
13
  import "./manifest-registry-CVLmi8rz.js";
14
14
  import "./config-D7TcU4qN.js";
15
15
  import "./shell-env-CTYaxUs_.js";
16
- import "./client-CdiymIXS.js";
17
- import "./call-A18kwyah.js";
16
+ import "./client-DCxeV1bw.js";
17
+ import "./call-DZg43vv8.js";
18
18
  import "./message-channel-DXToSaWK.js";
19
19
  import "./pairing-token-B-OTYROz.js";
20
- import { T as runAgentTurn } from "./subagent-registry-SZbZfkbr.js";
20
+ import { T as runAgentTurn } from "./subagent-registry-V2o45tIn.js";
21
21
  import "./sessions-Dn6VXn4p.js";
22
22
  import "./plugins-BsEhWvLn.js";
23
23
  import "./send-Dq252-bi.js";
24
- import "./with-timeout-B0ZJa7f2.js";
25
- import "./deliver-0nDhDdKd.js";
24
+ import "./with-timeout-B9GM8DPj.js";
25
+ import "./deliver-DIK2emIV.js";
26
26
  import "./diagnostic-IdKKvrDQ.js";
27
27
  import "./diagnostic-session-state-CIjIGxEE.js";
28
- import "./pi-embedded-helpers-BBiyNXkS.js";
29
- import "./sandbox-J92UBQK8.js";
28
+ import "./pi-embedded-helpers-BQjRftRI.js";
29
+ import "./sandbox-DjKcZavm.js";
30
30
  import "./chrome-D1eO2jfe.js";
31
31
  import "./tailscale-FeJ1M0mP.js";
32
32
  import "./auth-pHRwjgkx.js";
33
- import "./server-context-D-82OTsT.js";
34
- import "./routes-CPMVuvoz.js";
33
+ import "./server-context-DrAh6Cgw.js";
34
+ import "./routes-wLkmjLj9.js";
35
35
  import "./redact-Dj3r1_tS.js";
36
36
  import "./errors-BmdGLmRC.js";
37
37
  import "./fs-safe-D0xrTzGw.js";
@@ -47,8 +47,8 @@ import "./model-auth-Byr7Gic_.js";
47
47
  import "./github-copilot-token-B5y4__YM.js";
48
48
  import "./models-config-CiR_RUxw.js";
49
49
  import "./reply-prefix-DV3KhOhL.js";
50
- import "./memory-BcdI7NSs.js";
51
- import "./manager-BMA3iRMq.js";
50
+ import "./memory-DFpqcIst.js";
51
+ import "./manager-CxFs8Z_F.js";
52
52
  import "./sqlite-9jF_eajd.js";
53
53
  import "./chunk-B2lBXhR0.js";
54
54
  import "./markdown-tables-BEdkErjm.js";
@@ -69,20 +69,20 @@ import "./exec-approvals-DEjIocmZ.js";
69
69
  import "./nodes-screen-_JvT4DjZ.js";
70
70
  import "./session-cost-usage-CJWHHY-C.js";
71
71
  import "./breakdown-Cszrv-Lf.js";
72
- import "./control-service-DPzhv357.js";
72
+ import "./control-service-CG6l_Yap.js";
73
73
  import "./stagger-DUVGiPYV.js";
74
- import "./channel-selection-BrFl0vVK.js";
75
- import "./delivery-queue-CIwn40ej.js";
76
- import "./bindings-c7qLJdIA.js";
77
- import "./resolve-route-D0NrCHnr.js";
78
- import "./links-B9CbwY46.js";
79
- import "./cli-utils-Ca0KE-dW.js";
80
- import "./help-format-BTNd5kFC.js";
81
- import "./progress-BOQ0hkeM.js";
82
- import "./memory-cli-CQSVrNAK.js";
83
- import "./logging-uD67RPtO.js";
84
- import "./replies-_DV8VSSj.js";
85
- import "./pi-tools.policy-CU8U7--z.js";
74
+ import "./channel-selection-CmU8iVio.js";
75
+ import "./delivery-queue-B2oigbh4.js";
76
+ import "./bindings-BRZBH7eX.js";
77
+ import "./resolve-route-BVJ4-d9c.js";
78
+ import "./links-Dnmd-RS-.js";
79
+ import "./cli-utils-DXfA5936.js";
80
+ import "./help-format-Dbp8yEhl.js";
81
+ import "./progress-CI19Xh3z.js";
82
+ import "./memory-cli-DZnq3S6s.js";
83
+ import "./logging-UO6tk8Em.js";
84
+ import "./replies-CLREUzzB.js";
85
+ import "./pi-tools.policy-06k__URR.js";
86
86
 
87
87
  //#region src/memory/synthesis.ts
88
88
  const log = createSubsystemLogger("memory/synthesis");
@@ -6,8 +6,8 @@ import "./model-selection-BisYvTBb.js";
6
6
  import "./reply-prefix-i-FPYcoQ.js";
7
7
  import "./plugins-CZ_mYwXq.js";
8
8
  import "./replies-0nzkXt6o.js";
9
- import { n as runAgentTurn } from "./pi-embedded-BAgVs8XC.js";
10
- import "./deliver-f3cIWxXT.js";
9
+ import { n as runAgentTurn } from "./pi-embedded-DJE9TMwq.js";
10
+ import "./deliver-q23ar_Pm.js";
11
11
  import "./diagnostic-BdRnGknC.js";
12
12
  import "./diagnostic-session-state-DpxCUzoM.js";
13
13
  import "./chunk-CAZujdOi.js";
@@ -16,14 +16,14 @@ import "./ssrf-BCSnhba8.js";
16
16
  import "./boolean-BW6OTjPi.js";
17
17
  import "./shell-env-DgjeObDZ.js";
18
18
  import "./manifest-registry-CAWGTwb5.js";
19
- import "./chrome-3jl2ulOE.js";
19
+ import "./chrome-DNssqQJs.js";
20
20
  import "./skills-DO7WNsVJ.js";
21
21
  import "./redact-DSOAcWMe.js";
22
22
  import "./errors-BEU7IHU6.js";
23
23
  import "./tokens-yWO1wD7Z.js";
24
24
  import "./thinking-DgjGxdSP.js";
25
25
  import "./paths-BsT3BvfH.js";
26
- import "./manager--GmDbwza.js";
26
+ import "./manager-BhEbaYDa.js";
27
27
  import "./github-copilot-token-dYUr1mDQ.js";
28
28
  import "./sqlite-D8iYC_CU.js";
29
29
  import "./markdown-tables-jQzXAsf3.js";
@@ -3,7 +3,7 @@ import "./registry-C-JddWwo.js";
3
3
  import "./agent-scope-B1Ina6jV.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
5
5
  import "./workspace-CsaDUuDn.js";
6
- import { t as runAgentTurn } from "./unified-runner-ChkYfsxy.js";
6
+ import { t as runAgentTurn } from "./unified-runner-CIQIkbvi.js";
7
7
  import "./auth-profiles-BSw0aQND.js";
8
8
  import "./model-selection-BqshlIZc.js";
9
9
  import "./deliver-B04yNX82.js";
@@ -25,7 +25,7 @@ import "./paths-BsT3BvfH.js";
25
25
  import "./tokens-D_vCJSzF.js";
26
26
  import "./diagnostic-BALvP9wI.js";
27
27
  import "./diagnostic-session-state-BDfanaOY.js";
28
- import "./manager-B-wPs7cb.js";
28
+ import "./manager-B2SWSuad.js";
29
29
  import "./github-copilot-token-uhEBNQfj.js";
30
30
  import "./pi-auth-json-DCGR3yfh.js";
31
31
  import "./reply-prefix-D0NzzC4I.js";