@symerian/symi 3.5.16 → 3.5.18

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 (365) hide show
  1. package/dist/{agent-RWZSPbLw.js → agent-C5i1IOSH.js} +4 -4
  2. package/dist/{agent-Za31LZ2H.js → agent-DAgNFk7s.js} +6 -6
  3. package/dist/{agents-CulBOE6L.js → agents-D6vcHu1f.js} +10 -10
  4. package/dist/{audit-B1fVD2bA.js → audit-BkXjUIB4.js} +7 -7
  5. package/dist/{audit-BQnxE5w6.js → audit-KLVrIL2o.js} +7 -7
  6. package/dist/{auth-choice-B8n3tJtT.js → auth-choice-BAWjJhdA.js} +6 -6
  7. package/dist/{auth-choice-C8ElO44A.js → auth-choice-CYIdNu5I.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-fe7EgXbN.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-T0M4dRjm.js} +7 -7
  16. package/dist/{browser-cli-CXDzGAN7.js → browser-cli-djgni0MZ.js} +7 -7
  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/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-options-CsyyC4uc.js → channel-options-D6G_F3eF.js} +2 -2
  22. package/dist/{channel-options-1G5HGFpn.js → channel-options-EXtSsJf6.js} +2 -2
  23. package/dist/{channels-cli-R3TK9Jwf.js → channels-cli-Cqq_mzfB.js} +40 -40
  24. package/dist/{channels-cli-aF7d6Af9.js → channels-cli-JOUMlq_F.js} +41 -41
  25. package/dist/{chrome-3jl2ulOE.js → chrome-DNssqQJs.js} +7 -7
  26. package/dist/{clack-prompter-_kEnSVz4.js → clack-prompter-BMQT37oC.js} +4 -4
  27. package/dist/{clack-prompter-v9MYo-5u.js → clack-prompter-BpcKjPIh.js} +4 -4
  28. package/dist/{cli-Bguq-s8o.js → cli-B8UZj63C.js} +22 -22
  29. package/dist/{cli-CFaH6TRI.js → cli-mps-KWqp.js} +23 -23
  30. package/dist/{command-registry-2hfSOaGL.js → command-registry-BamL-8ni.js} +11 -11
  31. package/dist/{completion-cli-BEO2AB41.js → completion-cli-BE3hVsai.js} +1 -1
  32. package/dist/{completion-cli-TYU7Y_XZ.js → completion-cli-CcPYX9ML.js} +3 -3
  33. package/dist/{config-cli-Cvylxp-R.js → config-cli-BQtaSYis.js} +2 -2
  34. package/dist/{config-cli-D6vpEtzB.js → config-cli-thmRhEXK.js} +2 -2
  35. package/dist/{config-guard-D58THqAB.js → config-guard-BRm3RiOi.js} +6 -6
  36. package/dist/{config-guard-CLfXzB_z.js → config-guard-CCLLHbZ3.js} +1 -1
  37. package/dist/{configure-BMRfSJ5h.js → configure-BYjDOt22.js} +21 -21
  38. package/dist/{configure-DRDyxmMR.js → configure-CldmyPrd.js} +21 -21
  39. package/dist/{control-service-DPzhv357.js → control-service-CG6l_Yap.js} +2 -2
  40. package/dist/{control-service-DOGU9T2P.js → control-service-D8kKOts5.js} +2 -2
  41. package/dist/control-ui/css/style.css +166 -0
  42. package/dist/control-ui/js/symframe.js +246 -20
  43. package/dist/{cron-cli-DlxcZT7g.js → cron-cli-CULf3dmR.js} +4 -4
  44. package/dist/{cron-cli-DVEdIAaa.js → cron-cli-DKsbgF-x.js} +4 -4
  45. package/dist/{daemon-cli-DqJhEk3T.js → daemon-cli-BNjzVjLA.js} +12 -12
  46. package/dist/{daemon-cli-6ZV3jmTp.js → daemon-cli-C5WZasB0.js} +12 -12
  47. package/dist/{daemon-runtime-DaJ4Tf2a.js → daemon-runtime-AkgOtHR6.js} +1 -1
  48. package/dist/{daemon-runtime-7YBz5otm.js → daemon-runtime-DlQla_dA.js} +1 -1
  49. package/dist/{deliver-0nDhDdKd.js → deliver-DIK2emIV.js} +1 -1
  50. package/dist/{deliver-C81eqdrP.js → deliver-lTZLIQqf.js} +1 -1
  51. package/dist/{deliver-f3cIWxXT.js → deliver-q23ar_Pm.js} +4 -4
  52. package/dist/{devices-cli-C4rLpzkl.js → devices-cli-CZKVVOJl.js} +2 -2
  53. package/dist/{devices-cli-C6EdHL_5.js → devices-cli-rR11xT7v.js} +2 -2
  54. package/dist/{diagnostics-BZH08r5U.js → diagnostics-D2oNwzue.js} +1 -1
  55. package/dist/{diagnostics-CdawaB0U.js → diagnostics-DlZODdRf.js} +1 -1
  56. package/dist/{directory-cli-BQrGwwjf.js → directory-cli-Bm5QYEo-.js} +5 -5
  57. package/dist/{directory-cli-FR_KoYon.js → directory-cli-DAGG_z_L.js} +5 -5
  58. package/dist/{dns-cli-CH2QMf70.js → dns-cli-CubLq4j9.js} +3 -3
  59. package/dist/{dns-cli-Cua_RGWw.js → dns-cli-yj_xgcmZ.js} +3 -3
  60. package/dist/{docs-cli-DwrSCuWF.js → docs-cli-ABJdcZAr.js} +2 -2
  61. package/dist/{docs-cli-9yu6OeWj.js → docs-cli-PS8m1er7.js} +2 -2
  62. package/dist/{doctor-completion-CvaSyxyp.js → doctor-completion-BNg17v6i.js} +2 -2
  63. package/dist/{doctor-completion-DgNgQFQQ.js → doctor-completion-XdRobzWG.js} +2 -2
  64. package/dist/{doctor-config-flow-CKJlpwtv.js → doctor-config-flow-BIBJeoRl.js} +3 -3
  65. package/dist/{doctor-config-flow-CcwEh3WQ.js → doctor-config-flow-C52W1uUK.js} +3 -3
  66. package/dist/{enable-BI6rQ1Fb.js → enable-B8TbkmWU.js} +1 -1
  67. package/dist/{enable-xfczksnk.js → enable-BIMBTSRy.js} +1 -1
  68. package/dist/entry.js +1 -1
  69. package/dist/{exec-approvals-cli-Ca54uWdL.js → exec-approvals-cli-C4HEY0eG.js} +8 -8
  70. package/dist/{exec-approvals-cli-bu1S7v6i.js → exec-approvals-cli-DS6ZEPKH.js} +8 -8
  71. package/dist/extensionAPI.js +4 -4
  72. package/dist/{gateway-cli-DCTPCoQx.js → gateway-cli-CAc-uivv.js} +77 -69
  73. package/dist/{gateway-cli-BNhURE6O.js → gateway-cli-CGXvamVN.js} +80 -72
  74. package/dist/{gateway-rpc-vivTzTCq.js → gateway-rpc-BmYtSmmM.js} +1 -1
  75. package/dist/{gateway-rpc-DMSsr0Xn.js → gateway-rpc-DJ2ZjQmX.js} +1 -1
  76. package/dist/{glass-ui-ws-Bzs3ALoN.js → glass-ui-ws-Bha2cLkY.js} +50 -50
  77. package/dist/{glass-ui-ws-C88aJslb.js → glass-ui-ws-DCCEkdBr.js} +48 -48
  78. package/dist/{health-D0jGdk53.js → health-Ba5X7a38.js} +3 -3
  79. package/dist/{health--v-C6lSf.js → health-Ct-lDCmK.js} +3 -3
  80. package/dist/{hooks-cli-CZ_pSdXS.js → hooks-cli-D2iAnwfW.js} +28 -28
  81. package/dist/{hooks-cli-CrZvzan1.js → hooks-cli-DUL_PDOH.js} +29 -29
  82. package/dist/{hooks-status-CQ33gaVT.js → hooks-status-CvKe3Bfk.js} +2 -2
  83. package/dist/{hooks-status-B5vDwm19.js → hooks-status-DoeoPJbZ.js} +1 -1
  84. package/dist/index.js +34 -34
  85. package/dist/{inspect-D_lN8pwg.js → inspect-CGKsaVZ4.js} +1 -1
  86. package/dist/{inspect-C3_zr-N9.js → inspect-CRa8Af7f.js} +1 -1
  87. package/dist/{install-safe-path-BBe6qFNr.js → install-safe-path-B2JrFspY.js} +1 -1
  88. package/dist/{install-safe-path-79R0iPyC.js → install-safe-path-BdxXJux8.js} +1 -1
  89. package/dist/{installs-Bb1phV9x.js → installs-D890uIIW.js} +3 -3
  90. package/dist/{installs-BVJQl3Tj.js → installs-Dunp9UFl.js} +3 -3
  91. package/dist/{lifecycle-core-O50xtu5c.js → lifecycle-core-YmWzkN43.js} +5 -5
  92. package/dist/{lifecycle-core-DdbL6ELJ.js → lifecycle-core-wFwnK_mD.js} +5 -5
  93. package/dist/llm-slug-generator.js +2 -2
  94. package/dist/{logs-cli-Dde2Dp2w.js → logs-cli-CgMlVSvI.js} +4 -4
  95. package/dist/{logs-cli-vIxaNVmF.js → logs-cli-N1bMTcij.js} +4 -4
  96. package/dist/{manager--GmDbwza.js → manager-B8q57Pg2.js} +1 -1
  97. package/dist/{manager-DjhE8yLr.js → manager-BAcrpGcR.js} +1 -1
  98. package/dist/{manager-BMA3iRMq.js → manager-BUyQ1gFU.js} +1 -1
  99. package/dist/{manager-S5d36_EM.js → manager-BcWElKHq.js} +1 -1
  100. package/dist/{memory-BcdI7NSs.js → memory-By9GyX8z.js} +3 -3
  101. package/dist/{memory-DBx1wEvf.js → memory-CHSa0jVf.js} +3 -3
  102. package/dist/{memory-cli-jNf_SaXU.js → memory-cli-JTWldzg5.js} +6 -6
  103. package/dist/{memory-cli-CQSVrNAK.js → memory-cli-e5KEX6Ql.js} +6 -6
  104. package/dist/{model-picker-DN-co6Oy.js → model-picker-Cf6UgQEh.js} +1 -1
  105. package/dist/{model-picker-CS_h9RHv.js → model-picker-DvP8ViSf.js} +1 -1
  106. package/dist/{models-cli-CiL6wDtk.js → models-cli-B-u1KOUo.js} +35 -35
  107. package/dist/{models-cli-6tdy2DaI.js → models-cli-DJnRAEsb.js} +32 -32
  108. package/dist/{models-BgZWEpSL.js → models-dVS6tcNK.js} +12 -12
  109. package/dist/{node-cli-BTXwMEJE.js → node-cli-BqvgYrlJ.js} +17 -17
  110. package/dist/{node-cli-ClniLggz.js → node-cli-CKuOdw5j.js} +17 -17
  111. package/dist/{node-service-CfHbECCi.js → node-service-BH08wY5j.js} +1 -1
  112. package/dist/{node-service-D44noKnR.js → node-service-CZlyWmxa.js} +1 -1
  113. package/dist/{nodes-cli-DrhMUDXx.js → nodes-cli-BrV7Xpf_.js} +7 -7
  114. package/dist/{nodes-cli-DLaX4pgX.js → nodes-cli-C6kDpXS_.js} +7 -7
  115. package/dist/{note-Cltpxj6i.js → note-BIAQpZxi.js} +1 -1
  116. package/dist/{note-ytwb4wwn.js → note-D9FXI2qW.js} +1 -1
  117. package/dist/{npm-registry-spec-CONWlhd6.js → npm-registry-spec-BPgK9EL7.js} +1 -1
  118. package/dist/{npm-registry-spec-DPqOMFd9.js → npm-registry-spec-DTqn-NXZ.js} +1 -1
  119. package/dist/{onboard-fBxK2Bky.js → onboard-BoKwKol7.js} +17 -17
  120. package/dist/{onboard-DRn6pFfO.js → onboard-CHOoD7jN.js} +17 -17
  121. package/dist/{onboard-channels-DeRg97iI.js → onboard-channels-C4_2V9uU.js} +7 -7
  122. package/dist/{onboard-channels-BN00--TD.js → onboard-channels-CfzUCh7p.js} +7 -7
  123. package/dist/{onboard-custom-BCcuL4Uq.js → onboard-custom-BcRYreNG.js} +2 -2
  124. package/dist/{onboard-custom-C-wfNtOM.js → onboard-custom-CfKvdcJ5.js} +2 -2
  125. package/dist/{onboard-helpers-Cv6fL8Vq.js → onboard-helpers-DI-HmD7F.js} +2 -2
  126. package/dist/{onboard-helpers-CAAZ0RDq.js → onboard-helpers-Dpb3-BZm.js} +2 -2
  127. package/dist/{onboard-hooks-D5-mtFUY.js → onboard-hooks-2SCajRKc.js} +2 -2
  128. package/dist/{onboard-hooks-CxJRzS5z.js → onboard-hooks-BpyxMXOj.js} +2 -2
  129. package/dist/{onboard-remote-pucDu-pH.js → onboard-remote-B8wiom2Y.js} +3 -3
  130. package/dist/{onboard-remote-CXRFa8AU.js → onboard-remote-Bs5NP5sK.js} +3 -3
  131. package/dist/{onboard-skills-BVTCfqlg.js → onboard-skills-B6CZay_w.js} +3 -3
  132. package/dist/{onboard-skills-C_93kjju.js → onboard-skills-BaprraLV.js} +2 -2
  133. package/dist/{onboarding-CLOZkMhc.js → onboarding-B2BOb2RZ.js} +15 -15
  134. package/dist/{onboarding-i1rA1XGe.js → onboarding-DsxU2nSf.js} +15 -15
  135. package/dist/{onboarding.finalize-gk9ot6lb.js → onboarding.finalize-BE7BU0jr.js} +21 -21
  136. package/dist/{onboarding.finalize-BV76YUaD.js → onboarding.finalize-C-kW49Ut.js} +23 -23
  137. package/dist/{onboarding.gateway-config-eFJnSC-S.js → onboarding.gateway-config-Bs46b6Gz.js} +3 -3
  138. package/dist/{onboarding.gateway-config-wB3ShGU4.js → onboarding.gateway-config-DqFBlQ06.js} +3 -3
  139. package/dist/{openai-model-default-CKfNKTZD.js → openai-model-default-BkuuK-Di.js} +1 -1
  140. package/dist/{openai-model-default-ChdgeMqX.js → openai-model-default-Cx6qbnBw.js} +1 -1
  141. package/dist/{pairing-cli-D7_UlTsI.js → pairing-cli-CC0YyYGs.js} +2 -2
  142. package/dist/{pairing-cli-UgiAsygW.js → pairing-cli-Rsae0KnN.js} +2 -2
  143. package/dist/{path-env-BAyW1s3c.js → path-env-BY88zbPR.js} +1 -1
  144. package/dist/{path-env-C1hgM8gP.js → path-env-SUrcTSJ-.js} +1 -1
  145. package/dist/{pi-embedded-BAgVs8XC.js → pi-embedded-DEoacZlB.js} +145 -14
  146. package/dist/{pi-embedded-helpers-BBiyNXkS.js → pi-embedded-helpers-BQjRftRI.js} +1 -1
  147. package/dist/{pi-embedded-helpers-CDzBxa-P.js → pi-embedded-helpers-D-OFjhdI.js} +1 -1
  148. package/dist/{pi-tools.policy-CU8U7--z.js → pi-tools.policy-BeD_scvO.js} +1 -1
  149. package/dist/{pi-tools.policy-WaLKhqJQ.js → pi-tools.policy-CIw6PZ9e.js} +1 -1
  150. package/dist/{plugin-auto-enable-Bt2sVz8w.js → plugin-auto-enable-DJBhDIMq.js} +2 -2
  151. package/dist/{plugin-auto-enable-PBDcVF_-.js → plugin-auto-enable-DaR6Z6BC.js} +2 -2
  152. package/dist/{plugin-registry-2DU3g0AT.js → plugin-registry-D1BIaht5.js} +1 -1
  153. package/dist/{plugin-registry-CubHLj0v.js → plugin-registry-DeslTmEa.js} +1 -1
  154. package/dist/plugin-sdk/agents/tools/display-artifact-tool.d.ts +2 -0
  155. package/dist/plugin-sdk/infra/symframe-broadcast.d.ts +8 -0
  156. package/dist/{plugins-cli-CIYGRkKI.js → plugins-cli-DJIjgG5p.js} +29 -29
  157. package/dist/{plugins-cli-Dpj76E3-.js → plugins-cli-tWL29ean.js} +30 -30
  158. package/dist/{program-Qug3oi2C.js → program-C_ecACg4.js} +32 -32
  159. package/dist/{program-context-CCIGjsQL.js → program-context-DhXsfGWA.js} +41 -41
  160. package/dist/{prompt-select-styled-BdNTADj2.js → prompt-select-styled-5mNa_JDe.js} +27 -27
  161. package/dist/{prompt-select-styled-ARnCLf3Q.js → prompt-select-styled-B0UbChI2.js} +26 -26
  162. package/dist/{provider-auth-helpers-B_gA1eP9.js → provider-auth-helpers-BikwPxIZ.js} +6 -6
  163. package/dist/{provider-auth-helpers-LpT83BSS.js → provider-auth-helpers-c3gQEsiU.js} +6 -6
  164. package/dist/{push-apns-CLngpXwL.js → push-apns-COFa30nz.js} +1 -1
  165. package/dist/{push-apns-BWeNJb15.js → push-apns-DAYwWXpM.js} +1 -1
  166. package/dist/{pw-ai-DOAsQ5NX.js → pw-ai-v__CyAlM.js} +1 -1
  167. package/dist/{register.agent-pWEv9TC7.js → register.agent-B6pZEY8i.js} +47 -47
  168. package/dist/{register.agent-Dz24Zz7t.js → register.agent-D_zWbLp4.js} +50 -50
  169. package/dist/{register.configure-DQWtFNGt.js → register.configure-qpAPaUf1.js} +57 -57
  170. package/dist/{register.configure-BMLA-3Mt.js → register.configure-z9G70eYJ.js} +55 -55
  171. package/dist/{register.maintenance-CTF70v5h.js → register.maintenance-DLaTTsm9.js} +50 -50
  172. package/dist/{register.maintenance-BncnnneX.js → register.maintenance-Ds0ujl3V.js} +50 -50
  173. package/dist/{register.message-vUwGF3E9.js → register.message-0N5-oUQ2.js} +28 -28
  174. package/dist/{register.message-C-p-GZ8z.js → register.message-ChR97uym.js} +26 -26
  175. package/dist/{register.onboard-DhcpKFgU.js → register.onboard-B7mbI-9F.js} +23 -23
  176. package/dist/{register.onboard-O0P6rCuX.js → register.onboard-D5S1tP0K.js} +23 -23
  177. package/dist/{register.setup-CZfWa9-Z.js → register.setup-CJ9hldNi.js} +23 -23
  178. package/dist/{register.setup-D3XQyELS.js → register.setup-CaA-JN2n.js} +23 -23
  179. package/dist/{register.status-health-sessions-Dn2gy0gi.js → register.status-health-sessions-BUgIBm_S.js} +29 -29
  180. package/dist/{register.status-health-sessions-C9Zdn1ai.js → register.status-health-sessions-CkZTuaL-.js} +29 -29
  181. package/dist/{register.subclis-Dv8bf2ox.js → register.subclis-Ca8FmJFy.js} +30 -30
  182. package/dist/{resolve-route-D0NrCHnr.js → resolve-route-BVJ4-d9c.js} +1 -1
  183. package/dist/{resolve-route-CnTdHVgw.js → resolve-route-C1IIA6kH.js} +1 -1
  184. package/dist/{routes-DIyAmLYR.js → routes-ivqbutvM.js} +1 -1
  185. package/dist/{routes-CPMVuvoz.js → routes-wLkmjLj9.js} +1 -1
  186. package/dist/{rpc-KjYXUeLD.js → rpc-BWgqz86j.js} +1 -1
  187. package/dist/{rpc-DP3AhcZq.js → rpc-D4d4nLSU.js} +1 -1
  188. package/dist/{run-main-BsVhPYM4.js → run-main-DMrkCeK2.js} +46 -46
  189. package/dist/{sandbox-61-kshSF.js → sandbox-BkznAPKO.js} +2 -2
  190. package/dist/{sandbox-J92UBQK8.js → sandbox-DjKcZavm.js} +2 -2
  191. package/dist/{sandbox-cli-D9v0jhBb.js → sandbox-cli-Bb9cBtBH.js} +5 -5
  192. package/dist/{sandbox-cli-DJgF-r8G.js → sandbox-cli-DmgpJLlJ.js} +5 -5
  193. package/dist/{security-cli-hTCYStCU.js → security-cli-C_KMIhS2.js} +9 -9
  194. package/dist/{security-cli-CGLnA_ni.js → security-cli-McZcuPWz.js} +9 -9
  195. package/dist/{server-context-SbbjNkPL.js → server-context-ChcbJgNo.js} +3 -3
  196. package/dist/{server-context-D-82OTsT.js → server-context-DrAh6Cgw.js} +3 -3
  197. package/dist/{server-methods-D_zGEWNK.js → server-methods-BygKI0kw.js} +32 -29
  198. package/dist/{server-methods-C3_JU-DI.js → server-methods-szCGOyyf.js} +31 -28
  199. package/dist/{server-node-events-CRYzL3TY.js → server-node-events-CbR5rq2-.js} +25 -25
  200. package/dist/{server-node-events-CW5ilXPN.js → server-node-events-y9KRPn6N.js} +27 -27
  201. package/dist/{service-Ccv3Zi5_.js → service-DYpU1ajf.js} +1 -1
  202. package/dist/{service-BF50XyKr.js → service-e6MzlLCd.js} +1 -1
  203. package/dist/{shared-BmjlTHYU.js → shared-1xPo9ygd.js} +1 -1
  204. package/dist/{shared-BJRsBGGr.js → shared-Dl4ZrOve.js} +1 -1
  205. package/dist/{skills-cli-BZF5mcG5.js → skills-cli-B-7TY-vS.js} +6 -6
  206. package/dist/{skills-cli-C9F-zLWe.js → skills-cli-jQ-M3ToK.js} +2 -2
  207. package/dist/{skills-install-QOHQrX6P.js → skills-install-CZE8W7lV.js} +4 -4
  208. package/dist/{skills-install-X12kifP1.js → skills-install-Dwzsjoc8.js} +4 -4
  209. package/dist/{skills-status-6LVKpabC.js → skills-status-BKX1PjCc.js} +1 -1
  210. package/dist/{status-C_K3wapX.js → status-BZ9FL5l4.js} +1 -1
  211. package/dist/{status-DbIBRkrV.js → status-Cthysi1v.js} +16 -16
  212. package/dist/{status-NK8EUhIy.js → status-lqzeb_Td.js} +1 -1
  213. package/dist/{status-1ACP62Xm.js → status-uRIajsvi.js} +15 -15
  214. package/dist/{status.update-CdTtmVpp.js → status.update-DGJi0OLl.js} +1 -1
  215. package/dist/{status.update-_3qHPt0O.js → status.update-DW6VHYmK.js} +1 -1
  216. package/dist/{subagent-registry-SZbZfkbr.js → subagent-registry-DwvGle7T.js} +144 -21
  217. package/dist/symframe-broadcast-BVxModY5.js +22 -0
  218. package/dist/symframe-broadcast-CXo2qoxy.js +22 -0
  219. package/dist/{symframe-cli-CsA_x7U9.js → symframe-cli-0tRARGnc.js} +19 -5
  220. package/dist/{symframe-cli-BKrtoG8H.js → symframe-cli-D00zI8yK.js} +19 -5
  221. package/dist/{synthesis-BLRsy_PZ.js → synthesis-BKLx13A_.js} +22 -22
  222. package/dist/{synthesis-Dv6bJWYX.js → synthesis-CzKaWpzb.js} +2 -2
  223. package/dist/{synthesis-CA2zGGNE.js → synthesis-DwAlX75N.js} +23 -23
  224. package/dist/{synthesis-CUbz4CaL.js → synthesis-P09ozKOL.js} +4 -4
  225. package/dist/{system-cli-CYgTroZA.js → system-cli-D18NNk54.js} +3 -3
  226. package/dist/{system-cli-BoxTfo1R.js → system-cli-OzNqTgb2.js} +3 -3
  227. package/dist/{systemd-hints-DmDUq9JT.js → systemd-hints-BoFy3-m1.js} +4 -4
  228. package/dist/{systemd-hints-bP8dBJ78.js → systemd-hints-CsrzMCTD.js} +4 -4
  229. package/dist/{systemd-linger-DjoQVcOq.js → systemd-linger-BzYk7A6M.js} +2 -2
  230. package/dist/{systemd-linger-BBxRNFXz.js → systemd-linger-CctFkWNE.js} +2 -2
  231. package/dist/{tui-BdtfeKft.js → tui-CDovUd2Z.js} +1 -1
  232. package/dist/{tui-cli-CcSS08na.js → tui-cli--wAWyd-U.js} +7 -7
  233. package/dist/{tui-cli-_WzJLbOA.js → tui-cli-COLpBx2w.js} +7 -7
  234. package/dist/{tui-CO7OA9ZO.js → tui-mmN0hLk6.js} +1 -1
  235. package/dist/{unified-runner-B0cMr4If.js → unified-runner-CSqDmSWt.js} +145 -22
  236. package/dist/{unified-runner-ByJSAveb.js → unified-runner-CuhQvmLZ.js} +138 -7
  237. package/dist/{update-BDo7wxMf.js → update-B7qKOIqP.js} +1 -1
  238. package/dist/{update-check-oEbS0voJ.js → update-check-BCL_K7kx.js} +1 -1
  239. package/dist/{update-check-A86nJKtZ.js → update-check-DLOnLuop.js} +1 -1
  240. package/dist/{update-cli-y4Q__h4E.js → update-cli-BsfG48ZS.js} +59 -59
  241. package/dist/{update-cli-CrP5Kvo4.js → update-cli-Df_HQi-p.js} +59 -59
  242. package/dist/{update-runner-DHi359Tb.js → update-runner-BLV8SI96.js} +2 -2
  243. package/dist/{update-runner-CQMv-ibM.js → update-runner-Cext3X8r.js} +2 -2
  244. package/dist/{update-CcacbR32.js → update-yYduAjKd.js} +1 -1
  245. package/dist/{webhooks-cli-BUWSS_ve.js → webhooks-cli-CkSbVFZl.js} +2 -2
  246. package/dist/{webhooks-cli-BrDeMswO.js → webhooks-cli-D5k-Y2A8.js} +2 -2
  247. package/dist/{with-timeout-B0ZJa7f2.js → with-timeout-B9GM8DPj.js} +1 -1
  248. package/dist/{with-timeout-GbJ1Yzsh.js → with-timeout-DPR4A2dx.js} +1 -1
  249. package/package.json +1 -1
  250. /package/dist/{agents.config-DK6nN-Qh.js → agents.config-B7sNDvhz.js} +0 -0
  251. /package/dist/{agents.config-Cyc_RegL.js → agents.config-CqfMQEiy.js} +0 -0
  252. /package/dist/{argv-Bl0th4dq.js → argv-D6PT4jl6.js} +0 -0
  253. /package/dist/{auth-choice-legacy-BZWIpO92.js → auth-choice-legacy-CsL_9IlL.js} +0 -0
  254. /package/dist/{auth-choice-legacy-iEyARXI2.js → auth-choice-legacy-D9d98wkI.js} +0 -0
  255. /package/dist/{auth-token-DyhvQgv4.js → auth-token-Cr28IDKY.js} +0 -0
  256. /package/dist/{auth-token-lPWiklDD.js → auth-token-YTHu2ftn.js} +0 -0
  257. /package/dist/{bindings-c7qLJdIA.js → bindings-BRZBH7eX.js} +0 -0
  258. /package/dist/{bindings-BAOPW5eK.js → bindings-DIhsYGa_.js} +0 -0
  259. /package/dist/{brew-B4FH-mEH.js → brew-Clk21D21.js} +0 -0
  260. /package/dist/{brew-CI00FKf8.js → brew-DD55iLUe.js} +0 -0
  261. /package/dist/{catalog-BaM8d1-T.js → catalog-BQgWCFTH.js} +0 -0
  262. /package/dist/{catalog-BnLcGVie.js → catalog-BptA-dUv.js} +0 -0
  263. /package/dist/{channel-selection-BrFl0vVK.js → channel-selection-CmU8iVio.js} +0 -0
  264. /package/dist/{channel-selection-DjrS6oiz.js → channel-selection-H1qOf0q-.js} +0 -0
  265. /package/dist/{channels-status-issues-BwbA2OBt.js → channels-status-issues-BTvrA4nx.js} +0 -0
  266. /package/dist/{channels-status-issues-iWQDGUQe.js → channels-status-issues-DLIzUsjR.js} +0 -0
  267. /package/dist/{cli-utils-Ca0KE-dW.js → cli-utils-CuyGL3rq.js} +0 -0
  268. /package/dist/{cli-utils-CbnnSB38.js → cli-utils-DXfA5936.js} +0 -0
  269. /package/dist/{clipboard-BSTxQ2tO.js → clipboard-BGveOWXP.js} +0 -0
  270. /package/dist/{clipboard-CHn5r7Kj.js → clipboard-v8OffNHk.js} +0 -0
  271. /package/dist/{command-options-DgcCGXMQ.js → command-options-BFvvecvU.js} +0 -0
  272. /package/dist/{command-options-Vxb4M7Aj.js → command-options-DDDwkB9t.js} +0 -0
  273. /package/dist/{config-validation-DQ-lm2Qx.js → config-validation-Cdyg1BZB.js} +0 -0
  274. /package/dist/{config-validation-DhsYEtLL.js → config-validation-CeEJcuMJ.js} +0 -0
  275. /package/dist/{consolidate-BoM9cz9L.js → consolidate-BNTNdxdL.js} +0 -0
  276. /package/dist/{consolidate-nNhnUpNj.js → consolidate-DymnvvYm.js} +0 -0
  277. /package/dist/{control-ui-assets-CnX0W3vy.js → control-ui-assets-CJQ97d4u.js} +0 -0
  278. /package/dist/{control-ui-assets-DfBRXG5y.js → control-ui-assets-Dnz69KRU.js} +0 -0
  279. /package/dist/{cost-cli-CmfkZsmZ.js → cost-cli-BfcKmCc4.js} +0 -0
  280. /package/dist/{cost-cli-C9LvOtGz.js → cost-cli-DWiVCOCx.js} +0 -0
  281. /package/dist/{delivery-queue-CIwn40ej.js → delivery-queue-B2oigbh4.js} +0 -0
  282. /package/dist/{delivery-queue-duM0RT18.js → delivery-queue-OAc7hsIs.js} +0 -0
  283. /package/dist/{deps-D5me2CAW.js → deps-Bf9dt2UO.js} +0 -0
  284. /package/dist/{dm-policy-shared-EuuPwRNE.js → dm-policy-shared-BtrdvOIT.js} +0 -0
  285. /package/dist/{dm-policy-shared-BUwZ6Ajx.js → dm-policy-shared-CeFt0nch.js} +0 -0
  286. /package/dist/{entry-status-D0BSpWt_.js → entry-status-DnvpZhUd.js} +0 -0
  287. /package/dist/{format-BFJAwjeA.js → format-CZeGyu83.js} +0 -0
  288. /package/dist/{gmail-setup-utils-_TEJA4pL.js → gmail-setup-utils-BYBwPfuu.js} +0 -0
  289. /package/dist/{gmail-setup-utils-DJgxyDTX.js → gmail-setup-utils-CGaQ7-Vb.js} +0 -0
  290. /package/dist/{health-format-Li703vy6.js → health-format-6tfMqkNX.js} +0 -0
  291. /package/dist/{health-format-Dp4xmTKn.js → health-format-Bxg84_f4.js} +0 -0
  292. /package/dist/{help-format-8IYCRvx1.js → help-format-7hFcsqss.js} +0 -0
  293. /package/dist/{help-format-BTNd5kFC.js → help-format-Dbp8yEhl.js} +0 -0
  294. /package/dist/{helpers-DGBa5iKd.js → helpers-B_p8ul9t.js} +0 -0
  295. /package/dist/{helpers-CoScWBmD.js → helpers-CBCZwlBW.js} +0 -0
  296. /package/dist/{helpers-lLtg0Hgi.js → helpers-CKQ7JYPP.js} +0 -0
  297. /package/dist/{helpers-BnXDQL2q.js → helpers-G6zuddmF.js} +0 -0
  298. /package/dist/{ipv4-CCdAVmwu.js → ipv4-C_NtZ3JP.js} +0 -0
  299. /package/dist/{ipv4-DFUXU3PT.js → ipv4-qGjACkoi.js} +0 -0
  300. /package/dist/{links-CQZxjjCO.js → links-Bqr0FxXx.js} +0 -0
  301. /package/dist/{links-B9CbwY46.js → links-Dnmd-RS-.js} +0 -0
  302. /package/dist/{logging-CLWZ3KQI.js → logging-BWknayJl.js} +0 -0
  303. /package/dist/{logging-BmJ5ky59.js → logging-DDnP1BTp.js} +0 -0
  304. /package/dist/{logging-BRejMykf.js → logging-Ev3fNJEG.js} +0 -0
  305. /package/dist/{logging-uD67RPtO.js → logging-UO6tk8Em.js} +0 -0
  306. /package/dist/{model-BMFj7NXy.js → model-MUMSB_7d.js} +0 -0
  307. /package/dist/{model-param-b-DieX_ZxM.js → model-param-b-BQFczpbd.js} +0 -0
  308. /package/dist/{onboard-config-B9Iy9-4f.js → onboard-config-DrMJycgG.js} +0 -0
  309. /package/dist/{onboard-config-DwsP5yz1.js → onboard-config-yFJq4mEu.js} +0 -0
  310. /package/dist/{outbound-send-deps-DpyxnI3f.js → outbound-send-deps--SpwgFhS.js} +0 -0
  311. /package/dist/{outbound-send-deps-JQjmNLPx.js → outbound-send-deps-BCyarBRf.js} +0 -0
  312. /package/dist/{parse-log-line-BQPvB6cZ.js → parse-log-line-DfH8ycNl.js} +0 -0
  313. /package/dist/{parse-log-line-Cg7e_EO6.js → parse-log-line-Vp8N7lak.js} +0 -0
  314. /package/dist/{parse-port-CLBKavYE.js → parse-port-Bi7Gqqv0.js} +0 -0
  315. /package/dist/{parse-port-dzRz6QnZ.js → parse-port-CMRD6fhd.js} +0 -0
  316. /package/dist/{parse-timeout-CuYdP9TL.js → parse-timeout-DmEcHIsV.js} +0 -0
  317. /package/dist/{parse-timeout-DUdeaMqF.js → parse-timeout-widuTpq9.js} +0 -0
  318. /package/dist/{path-safety-ZDtSDPro.js → path-safety-CV-2z0JS.js} +0 -0
  319. /package/dist/{path-safety-cWA8NpOb.js → path-safety-CkXjT453.js} +0 -0
  320. /package/dist/{plugins-allowlist-C5r7biDp.js → plugins-allowlist-CAXiY1du.js} +0 -0
  321. /package/dist/{plugins-allowlist-CD4oIJNk.js → plugins-allowlist-DV-EyqWq.js} +0 -0
  322. /package/dist/{ports-C2swmreL.js → ports-gFlaMWtN.js} +0 -0
  323. /package/dist/{ports-BE4iY9ho.js → ports-r7LBic2V.js} +0 -0
  324. /package/dist/{program-context-CGKRxOBU.js → program-context-B_0V80zV.js} +0 -0
  325. /package/dist/{progress-BOQ0hkeM.js → progress-CI19Xh3z.js} +0 -0
  326. /package/dist/{progress-DQTvTiEg.js → progress-swt2y17x.js} +0 -0
  327. /package/dist/{prompt-style-CzRuIYtp.js → prompt-style-CZGg35Py.js} +0 -0
  328. /package/dist/{prompt-style-pphr4yLK.js → prompt-style-olk5zI5k.js} +0 -0
  329. /package/dist/{prompts-B98rp78m.js → prompts-CNzp9M83.js} +0 -0
  330. /package/dist/{prompts-CqJkfsHC.js → prompts-D4yOwSll.js} +0 -0
  331. /package/dist/{pw-ai-DQZa9DUQ.js → pw-ai-BiBvIJzd.js} +0 -0
  332. /package/dist/{pw-ai-DBAtSFTB.js → pw-ai-C0Jie9u9.js} +0 -0
  333. /package/dist/{qmd-manager-C1levE0a.js → qmd-manager-4tXuJfLY.js} +0 -0
  334. /package/dist/{qmd-manager-CR71XjjR.js → qmd-manager-C8-M4Pru.js} +0 -0
  335. /package/dist/{qr-cli-DHpiebkG.js → qr-cli-1sCVaPcF.js} +0 -0
  336. /package/dist/{qr-cli-D2A-IU0Y.js → qr-cli-BnNm-DMY.js} +0 -0
  337. /package/dist/{replies-_DV8VSSj.js → replies-CLREUzzB.js} +0 -0
  338. /package/dist/{replies-C5CBlnFS.js → replies-CbXXjn9X.js} +0 -0
  339. /package/dist/{runtime-guard-Bgv3O9s4.js → runtime-guard-CWA00ZXa.js} +0 -0
  340. /package/dist/{runtime-guard-ofQGcCUc.js → runtime-guard-LRRZ73eX.js} +0 -0
  341. /package/dist/{runtime-status-B-PXkhrX.js → runtime-status-BgZqic8M.js} +0 -0
  342. /package/dist/{runtime-status-Zb9OQ0VK.js → runtime-status-DV2uMNRb.js} +0 -0
  343. /package/dist/{session-dirs-BsQ-g02q.js → session-dirs-C9E2G0yZ.js} +0 -0
  344. /package/dist/{session-dirs-DpiMgw4q.js → session-dirs-pNE-WE2a.js} +0 -0
  345. /package/dist/{sessions-BSmT7vGX.js → sessions-C2vCAjTZ.js} +0 -0
  346. /package/dist/{shared-Ck6cf10x.js → shared-COtpr3Ad.js} +0 -0
  347. /package/dist/{shared-Crfo8y70.js → shared-DHJR5_SP.js} +0 -0
  348. /package/dist/{skill-scanner-EhsZUzzk.js → skill-scanner-BC3PyNso.js} +0 -0
  349. /package/dist/{skill-scanner-D5p8L-xO.js → skill-scanner-BCgVcIwi.js} +0 -0
  350. /package/dist/{status-DtyqId3v.js → status-Bah7VY4i.js} +0 -0
  351. /package/dist/{status-dOhj12u0.js → status-BzmfZaEV.js} +0 -0
  352. /package/dist/{system-run-command-2oJPKfVr.js → system-run-command-CYEDiFm7.js} +0 -0
  353. /package/dist/{system-run-command-D_OmCQOL.js → system-run-command-olPQqEUJ.js} +0 -0
  354. /package/dist/{systemd-Dtydk5-z.js → systemd-CNnW7Chw.js} +0 -0
  355. /package/dist/{systemd-Dic80Qni.js → systemd-CUIM0n5P.js} +0 -0
  356. /package/dist/{table-Ds5CZCyv.js → table-0A3xKJVC.js} +0 -0
  357. /package/dist/{table-Dm8jYqmW.js → table-D0JXlEhQ.js} +0 -0
  358. /package/dist/{tool-loop-detection-2Mxxm8YE.js → tool-loop-detection-BFFEnLXH.js} +0 -0
  359. /package/dist/{tool-loop-detection-Bk07vuCX.js → tool-loop-detection-CyaMgdb1.js} +0 -0
  360. /package/dist/{widearea-dns-BwIBBqZo.js → widearea-dns-CKKGWxWC.js} +0 -0
  361. /package/dist/{widearea-dns-DA_m7oeT.js → widearea-dns-DHO-Mc6G.js} +0 -0
  362. /package/dist/{workspace-DD9pYbiv.js → workspace-BEOJvHML.js} +0 -0
  363. /package/dist/{workspace-Wkr6wXcS.js → workspace-dN7eNg6n.js} +0 -0
  364. /package/dist/{wsl-Ci3VOaSK.js → wsl-CglTdtlb.js} +0 -0
  365. /package/dist/{wsl-S50RbgL8.js → wsl-DMA0sTvh.js} +0 -0
@@ -9,8 +9,8 @@ import { i as loadConfig } from "./config-D7TcU4qN.js";
9
9
  import "./shell-env-CTYaxUs_.js";
10
10
  import { r as normalizeChannelId } from "./plugins-BsEhWvLn.js";
11
11
  import { c as listPairingChannels, l as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests, s as getPairingAdapter } from "./pairing-store-C4KBIVqJ.js";
12
- import { t as formatDocsLink } from "./links-B9CbwY46.js";
13
- import { t as renderTable } from "./table-Dm8jYqmW.js";
12
+ import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
13
+ import { t as renderTable } from "./table-D0JXlEhQ.js";
14
14
 
15
15
  //#region src/pairing/pairing-labels.ts
16
16
  function resolvePairingIdLabel(channel) {
@@ -14,8 +14,8 @@ import "./shell-env-Dc3iU7HK.js";
14
14
  import "./manifest-registry-D1MLZEjS.js";
15
15
  import { r as normalizeChannelId } from "./plugins-CF5skkHh.js";
16
16
  import { c as listPairingChannels, l as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests, s as getPairingAdapter } from "./pairing-store-BNhJOnWn.js";
17
- import { t as formatDocsLink } from "./links-CQZxjjCO.js";
18
- import { t as renderTable } from "./table-Ds5CZCyv.js";
17
+ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
18
+ import { t as renderTable } from "./table-0A3xKJVC.js";
19
19
 
20
20
  //#region src/pairing/pairing-labels.ts
21
21
  function resolvePairingIdLabel(channel) {
@@ -1,5 +1,5 @@
1
1
  import { t as isTruthyEnvValue } from "./env-BRnPI9sO.js";
2
- import { n as resolveBrewPathDirs } from "./brew-CI00FKf8.js";
2
+ import { n as resolveBrewPathDirs } from "./brew-DD55iLUe.js";
3
3
  import path from "node:path";
4
4
  import fs from "node:fs";
5
5
  import os from "node:os";
@@ -1,5 +1,5 @@
1
1
  import { n as isTruthyEnvValue } from "./entry.js";
2
- import { n as resolveBrewPathDirs } from "./brew-B4FH-mEH.js";
2
+ import { n as resolveBrewPathDirs } from "./brew-Clk21D21.js";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
5
  import fs from "node:fs";
@@ -9,7 +9,7 @@ import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as reso
9
9
  import { t as normalizeChatType } from "./chat-type-Acj2OK2p.js";
10
10
  import { i as resolveSlackAccount, n as listChannelPlugins, o as resolveSlackAppToken, r as normalizeChannelId$1, s as resolveSlackBotToken, t as getChannelPlugin } from "./plugins-CZ_mYwXq.js";
11
11
  import { S as resolveSlackChannelId, _ as resolveSlackWebClientOptions, a as sendMessageSlack, b as buildSlackBlocksFallbackText, c as getDefaultLocalRoots, d as fetchRemoteMedia, f as readResponseWithLimit, g as createSlackWebClient, h as fetchWithTimeout, i as resolveSlackThreadTs, l as loadWebMedia, m as bindAbortRelay, n as deliverReplies, o as renderMarkdownWithMarkers, p as fetchWithSsrFGuard, s as markdownToIRWithMeta, t as createSlackReplyDeliveryPlan, u as MediaFetchError, v as parseSlackBlocksInput, x as parseSlackTarget, y as validateSlackBlocksArray } from "./replies-0nzkXt6o.js";
12
- import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-f3cIWxXT.js";
12
+ import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-q23ar_Pm.js";
13
13
  import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-BdRnGknC.js";
14
14
  import { n as getDiagnosticSessionState } from "./diagnostic-session-state-DpxCUzoM.js";
15
15
  import { S as GATEWAY_CLIENT_NAMES, _ as listDeliverableMessageChannels, a as chunkText, b as GATEWAY_CLIENT_IDS, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, g as isMarkdownCapableMessageChannel, h as isInternalMessageChannel, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, m as isDeliverableMessageChannel, o as chunkTextWithMode, p as INTERNAL_MESSAGE_CHANNEL, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt, v as normalizeMessageChannel, x as GATEWAY_CLIENT_MODES, y as resolveGatewayMessageChannel } from "./chunk-CAZujdOi.js";
@@ -18,7 +18,7 @@ import { C as unsetConfigValueAtPath, S as setConfigValueAtPath, T as VERSION, _
18
18
  import { t as parseBooleanValue } from "./boolean-BW6OTjPi.js";
19
19
  import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell, s as isTruthyEnvValue } from "./shell-env-DgjeObDZ.js";
20
20
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-CAWGTwb5.js";
21
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-3jl2ulOE.js";
21
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-DNssqQJs.js";
22
22
  import { n as resolveCliName, t as formatCliCommand } from "./command-format-DPd9RN2g.js";
23
23
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, h as parseFrontmatterBlock, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DO7WNsVJ.js";
24
24
  import { n as redactToolDetail } from "./redact-DSOAcWMe.js";
@@ -29,7 +29,7 @@ import { n as resolveConversationLabel } from "./conversation-label-DTTqF8gH.js"
29
29
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BsT3BvfH.js";
30
30
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-ChU6IQwp.js";
31
31
  import { n as saveJsonFile, t as loadJsonFile } from "./json-file-B7D44OOV.js";
32
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, d as requireApiKey, f as resolveApiKeyForProvider, h as resolveModelAuthMode, i as resolveOllamaBaseUrl, l as getApiKeyForModel, m as resolveEnvApiKey, n as retryAsync, o as collectProviderApiKeysForExecution, p as resolveAwsSdkEnvVarName, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation, u as getCustomProviderApiKey } from "./manager--GmDbwza.js";
32
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, d as requireApiKey, f as resolveApiKeyForProvider, h as resolveModelAuthMode, i as resolveOllamaBaseUrl, l as getApiKeyForModel, m as resolveEnvApiKey, n as retryAsync, o as collectProviderApiKeysForExecution, p as resolveAwsSdkEnvVarName, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation, u as getCustomProviderApiKey } from "./manager-B8q57Pg2.js";
33
33
  import { r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-dYUr1mDQ.js";
34
34
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-Ce-sg7EN.js";
35
35
  import { n as resolveMarkdownTableMode } from "./markdown-tables-jQzXAsf3.js";
@@ -53,7 +53,7 @@ import { fileURLToPath } from "node:url";
53
53
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
54
54
  import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
55
55
  import AjvPkg from "ajv";
56
- import { WebSocket as WebSocket$1 } from "ws";
56
+ import { WebSocket } from "ws";
57
57
  import { Buffer as Buffer$1 } from "node:buffer";
58
58
  import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
59
59
  import { BedrockClient, ListFoundationModelsCommand } from "@aws-sdk/client-bedrock";
@@ -3390,7 +3390,7 @@ async function getMemorySearchManager(params) {
3390
3390
  const wrapper = new FallbackMemoryManager({
3391
3391
  primary,
3392
3392
  fallbackFactory: async () => {
3393
- const { MemoryIndexManager } = await import("./manager--GmDbwza.js").then((n) => n.t);
3393
+ const { MemoryIndexManager } = await import("./manager-B8q57Pg2.js").then((n) => n.t);
3394
3394
  return await MemoryIndexManager.get(params);
3395
3395
  }
3396
3396
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3403,7 +3403,7 @@ async function getMemorySearchManager(params) {
3403
3403
  }
3404
3404
  }
3405
3405
  try {
3406
- const { MemoryIndexManager } = await import("./manager--GmDbwza.js").then((n) => n.t);
3406
+ const { MemoryIndexManager } = await import("./manager-B8q57Pg2.js").then((n) => n.t);
3407
3407
  return { manager: await MemoryIndexManager.get(params) };
3408
3408
  } catch (err) {
3409
3409
  return {
@@ -5953,7 +5953,7 @@ var GatewayClient = class {
5953
5953
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5954
5954
  });
5955
5955
  }
5956
- this.ws = new WebSocket$1(url, wsOptions);
5956
+ this.ws = new WebSocket(url, wsOptions);
5957
5957
  this.ws.on("open", () => {
5958
5958
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5959
5959
  const tlsError = this.validateTlsFingerprint();
@@ -6172,7 +6172,7 @@ var GatewayClient = class {
6172
6172
  return null;
6173
6173
  }
6174
6174
  async request(method, params, opts) {
6175
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
6175
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
6176
6176
  const id = randomUUID();
6177
6177
  const frame = {
6178
6178
  type: "req",
@@ -6558,7 +6558,7 @@ function randomIdempotencyKey() {
6558
6558
  //#endregion
6559
6559
  //#region src/infra/agent-events.ts
6560
6560
  const seqByRun = /* @__PURE__ */ new Map();
6561
- const listeners = /* @__PURE__ */ new Set();
6561
+ const listeners$1 = /* @__PURE__ */ new Set();
6562
6562
  const runContextById = /* @__PURE__ */ new Map();
6563
6563
  function emitAgentEvent(event) {
6564
6564
  const nextSeq = (seqByRun.get(event.runId) ?? 0) + 1;
@@ -6571,13 +6571,13 @@ function emitAgentEvent(event) {
6571
6571
  seq: nextSeq,
6572
6572
  ts: Date.now()
6573
6573
  };
6574
- for (const listener of listeners) try {
6574
+ for (const listener of listeners$1) try {
6575
6575
  listener(enriched);
6576
6576
  } catch {}
6577
6577
  }
6578
6578
  function onAgentEvent(listener) {
6579
- listeners.add(listener);
6580
- return () => listeners.delete(listener);
6579
+ listeners$1.add(listener);
6580
+ return () => listeners$1.delete(listener);
6581
6581
  }
6582
6582
 
6583
6583
  //#endregion
@@ -7122,7 +7122,7 @@ async function routeReply(params) {
7122
7122
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7123
7123
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7124
7124
  try {
7125
- const { deliverOutboundPayloads } = await import("./deliver-f3cIWxXT.js").then((n) => n.n);
7125
+ const { deliverOutboundPayloads } = await import("./deliver-q23ar_Pm.js").then((n) => n.n);
7126
7126
  return {
7127
7127
  ok: true,
7128
7128
  messageId: (await deliverOutboundPayloads({
@@ -26490,6 +26490,12 @@ function buildAgentSystemPrompt(params) {
26490
26490
  " Correct: call exec with command=\"echo hi\", then summarise the actual stdout you received.",
26491
26491
  " Wrong: emit \"hi\" as text without calling exec — that's fabrication.",
26492
26492
  "",
26493
+ "## Symframe (artifact display)",
26494
+ "When you produce content that doesn't fit naturally in chat — long-form drafts, structured documents, generated emails, code blocks the user will copy, file links, audio/video — call the `display_artifact` tool instead of pasting into your reply.",
26495
+ "The card appears at the top of the user's right-column symframe panel; chat stays clean for the conversation.",
26496
+ "Types: `text` · `markdown` · `code` (use `language` for hljs hint) · `email-draft` (use `email: { from?, to, cc?, bcc?, subject, body }`) · `pdf` · `audio` · `video` (the last three take `url` + optional `mimeType`).",
26497
+ "After pushing, briefly tell the user what's in the panel (e.g. \"Drafted the email — shown in your panel above.\"). Don't repeat the full content in chat.",
26498
+ "",
26493
26499
  ...compactMode ? [] : [
26494
26500
  "## Tool Call Style",
26495
26501
  "Default: do not narrate routine, low-risk tool calls (just call the tool).",
@@ -33901,6 +33907,130 @@ Use jobId as the canonical identifier; id is accepted for compatibility. Use con
33901
33907
  };
33902
33908
  }
33903
33909
 
33910
+ //#endregion
33911
+ //#region src/infra/symframe-broadcast.ts
33912
+ const listeners = /* @__PURE__ */ new Set();
33913
+ function emitSymframePush(payload) {
33914
+ for (const listener of listeners) try {
33915
+ listener(payload);
33916
+ } catch {}
33917
+ }
33918
+
33919
+ //#endregion
33920
+ //#region src/agents/tools/display-artifact-tool.ts
33921
+ const ARTIFACT_TYPES = [
33922
+ "text",
33923
+ "markdown",
33924
+ "code",
33925
+ "email-draft",
33926
+ "pdf",
33927
+ "audio",
33928
+ "video"
33929
+ ];
33930
+ const ARTIFACT_ACTIONS = [
33931
+ "add",
33932
+ "update",
33933
+ "remove"
33934
+ ];
33935
+ const ActionSchema = Type.Object({
33936
+ label: Type.String(),
33937
+ kind: Type.Optional(stringEnum(["primary", "secondary"])),
33938
+ rpc: Type.Optional(Type.String()),
33939
+ params: Type.Optional(Type.Record(Type.String(), Type.Unknown()))
33940
+ });
33941
+ const EmailFieldsSchema = Type.Object({
33942
+ from: Type.Optional(Type.String()),
33943
+ to: Type.Optional(Type.String()),
33944
+ cc: Type.Optional(Type.String()),
33945
+ bcc: Type.Optional(Type.String()),
33946
+ subject: Type.Optional(Type.String()),
33947
+ body: Type.Optional(Type.String())
33948
+ });
33949
+ const DisplayArtifactSchema = Type.Object({
33950
+ action: Type.Optional(stringEnum(ARTIFACT_ACTIONS)),
33951
+ id: Type.Optional(Type.String()),
33952
+ type: Type.Optional(stringEnum(ARTIFACT_TYPES)),
33953
+ title: Type.Optional(Type.String()),
33954
+ body: Type.Optional(Type.String()),
33955
+ language: Type.Optional(Type.String()),
33956
+ url: Type.Optional(Type.String()),
33957
+ mimeType: Type.Optional(Type.String()),
33958
+ downloadName: Type.Optional(Type.String()),
33959
+ poster: Type.Optional(Type.String()),
33960
+ email: Type.Optional(EmailFieldsSchema),
33961
+ actions: Type.Optional(Type.Array(ActionSchema)),
33962
+ sticky: Type.Optional(Type.Boolean())
33963
+ });
33964
+ function genCardId() {
33965
+ return `sf-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
33966
+ }
33967
+ function createDisplayArtifactTool() {
33968
+ return {
33969
+ label: "Display Artifact",
33970
+ name: "display_artifact",
33971
+ description: "Push a card into the Glass UI symframe (right-column dynamic display). Use for content that doesn't belong in chat — drafts, generated documents, code snippets the user will copy, structured data, file links. Types: text | markdown | code | email-draft | pdf | audio | video. Returns the card id; pass action=update with the same id to revise the card, or action=remove to dismiss.",
33972
+ parameters: DisplayArtifactSchema,
33973
+ execute: async (_toolCallId, args) => {
33974
+ const params = args;
33975
+ const actionRaw = readStringParam(params, "action");
33976
+ const action = actionRaw === "update" || actionRaw === "remove" ? actionRaw : "add";
33977
+ const id = readStringParam(params, "id") || (action === "add" ? genCardId() : void 0);
33978
+ if (action !== "add" && !id) return jsonResult({
33979
+ ok: false,
33980
+ error: `${action} requires an id`
33981
+ });
33982
+ if (action === "remove") {
33983
+ emitSymframePush({
33984
+ action,
33985
+ id
33986
+ });
33987
+ return jsonResult({
33988
+ ok: true,
33989
+ action,
33990
+ id
33991
+ });
33992
+ }
33993
+ const card = { id };
33994
+ for (const key of [
33995
+ "type",
33996
+ "title",
33997
+ "body",
33998
+ "language",
33999
+ "url",
34000
+ "mimeType",
34001
+ "downloadName",
34002
+ "poster",
34003
+ "email",
34004
+ "actions",
34005
+ "sticky"
34006
+ ]) {
34007
+ const value = params[key];
34008
+ if (value !== void 0 && value !== null) card[key] = value;
34009
+ }
34010
+ if (action === "add") {
34011
+ const hasContent = typeof card.title === "string" ? Boolean(card.title.trim()) : false;
34012
+ const hasBody = typeof card.body === "string" ? Boolean(card.body.trim()) : false;
34013
+ const hasUrl = typeof card.url === "string" && Boolean(card.url.trim());
34014
+ const hasEmail = card.email && typeof card.email === "object";
34015
+ if (!hasContent && !hasBody && !hasUrl && !hasEmail) return jsonResult({
34016
+ ok: false,
34017
+ error: "add requires at least title, body, url, or email"
34018
+ });
34019
+ }
34020
+ emitSymframePush({
34021
+ action,
34022
+ id,
34023
+ card
34024
+ });
34025
+ return jsonResult({
34026
+ ok: true,
34027
+ action,
34028
+ id
34029
+ });
34030
+ }
34031
+ };
34032
+ }
34033
+
33904
34034
  //#endregion
33905
34035
  //#region src/infra/restart-sentinel.ts
33906
34036
  const SENTINEL_FILENAME = "restart-sentinel.json";
@@ -41569,6 +41699,7 @@ function createSymiTools(options) {
41569
41699
  allowHostControl: options?.allowHostBrowserControl
41570
41700
  }),
41571
41701
  createCanvasTool({ config: options?.config }),
41702
+ createDisplayArtifactTool(),
41572
41703
  createNodesTool({
41573
41704
  agentSessionKey: options?.agentSessionKey,
41574
41705
  config: options?.config
@@ -42111,7 +42242,7 @@ async function deliverSessionMaintenanceWarning(params) {
42111
42242
  return;
42112
42243
  }
42113
42244
  try {
42114
- const { deliverOutboundPayloads } = await import("./deliver-f3cIWxXT.js").then((n) => n.n);
42245
+ const { deliverOutboundPayloads } = await import("./deliver-q23ar_Pm.js").then((n) => n.n);
42115
42246
  await deliverOutboundPayloads({
42116
42247
  cfg: params.cfg,
42117
42248
  channel,
@@ -1,5 +1,5 @@
1
1
  import { Vt as truncateUtf16Safe, o as createSubsystemLogger } from "./entry.js";
2
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-J92UBQK8.js";
2
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-DjKcZavm.js";
3
3
  import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-FPBHTBd0.js";
4
4
  import { s as normalizeThinkLevel } from "./thinking-BZDIJMl_.js";
5
5
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  import { x as truncateUtf16Safe } from "./utils-CTPsqyE_.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
3
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-61-kshSF.js";
3
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-BkznAPKO.js";
4
4
  import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-L70xVnpG.js";
5
5
  import { s as normalizeThinkLevel } from "./thinking-COroyVA5.js";
6
6
  import { createHash } from "node:crypto";
@@ -2,7 +2,7 @@ import { S as resolveThreadParentSessionKey, c as resolveAgentIdFromSessionKey }
2
2
  import { r as resolveAgentConfig } from "./agent-scope-C-Jte08L.js";
3
3
  import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-D7TcU4qN.js";
4
4
  import { l as normalizeMessageChannel } from "./message-channel-DXToSaWK.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-J92UBQK8.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-DjKcZavm.js";
6
6
  import { a as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-DZ6SgvTh.js";
7
7
 
8
8
  //#region src/agents/sandbox-tool-policy.ts
@@ -1,7 +1,7 @@
1
1
  import { S as resolveThreadParentSessionKey, c as resolveAgentIdFromSessionKey } from "./session-key-DUSb7CCb.js";
2
2
  import { r as resolveAgentConfig } from "./agent-scope-DOrZjOnW.js";
3
3
  import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-B4jkreCN.js";
4
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-61-kshSF.js";
4
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-BkznAPKO.js";
5
5
  import { a as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-hF45sewN.js";
6
6
  import { l as normalizeMessageChannel } from "./message-channel-DgjXWzf-.js";
7
7
 
@@ -1,8 +1,8 @@
1
1
  import { o as getChatChannelMeta, s as listChatChannels, u as normalizeChatChannelId } from "./registry-Sbac4a4z.js";
2
2
  import { u as isRecord } from "./utils-CTPsqyE_.js";
3
3
  import { u as normalizeProviderId } from "./model-selection-7wdmO-Iw.js";
4
- import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-BnLcGVie.js";
5
- import { t as ensurePluginAllowlisted } from "./plugins-allowlist-C5r7biDp.js";
4
+ import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-BptA-dUv.js";
5
+ import { t as ensurePluginAllowlisted } from "./plugins-allowlist-CAXiY1du.js";
6
6
 
7
7
  //#region src/config/plugin-auto-enable.ts
8
8
  const CHANNEL_PLUGIN_IDS = Array.from(new Set([...listChatChannels().map((meta) => meta.id), ...listChannelPluginCatalogEntries().map((entry) => entry.id)]));
@@ -1,7 +1,7 @@
1
1
  import { At as isRecord, D as getChatChannelMeta, O as listChatChannels, j as normalizeChatChannelId } from "./entry.js";
2
2
  import { u as normalizeProviderId } from "./model-selection-CMx1evaF.js";
3
- import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-BaM8d1-T.js";
4
- import { t as ensurePluginAllowlisted } from "./plugins-allowlist-CD4oIJNk.js";
3
+ import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-BQgWCFTH.js";
4
+ import { t as ensurePluginAllowlisted } from "./plugins-allowlist-DV-EyqWq.js";
5
5
 
6
6
  //#region src/config/plugin-auto-enable.ts
7
7
  const CHANNEL_PLUGIN_IDS = Array.from(new Set([...listChatChannels().map((meta) => meta.id), ...listChannelPluginCatalogEntries().map((entry) => entry.id)]));
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { s as loadSymiPlugins } from "./unified-runner-B0cMr4If.js";
2
+ import { s as loadSymiPlugins } from "./unified-runner-CSqDmSWt.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-Sbac4a4z.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-DOrZjOnW.js";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-C-Jte08L.js";
4
4
  import { i as loadConfig } from "./config-D7TcU4qN.js";
5
- import { m as loadSymiPlugins } from "./subagent-registry-SZbZfkbr.js";
5
+ import { m as loadSymiPlugins } from "./subagent-registry-DwvGle7T.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -0,0 +1,2 @@
1
+ import { type AnyAgentTool } from "./common.js";
2
+ export declare function createDisplayArtifactTool(): AnyAgentTool;
@@ -0,0 +1,8 @@
1
+ export type SymframePushPayload = {
2
+ action: "add" | "update" | "remove";
3
+ id?: string;
4
+ card?: Record<string, unknown>;
5
+ };
6
+ export declare function emitSymframePush(payload: SymframePushPayload): void;
7
+ export declare function onSymframePush(listener: (payload: SymframePushPayload) => void): () => void;
8
+ export declare function resetSymframeBroadcastForTest(): void;
@@ -17,21 +17,21 @@ import "./client-CdiymIXS.js";
17
17
  import "./call-A18kwyah.js";
18
18
  import "./message-channel-DXToSaWK.js";
19
19
  import "./pairing-token-B-OTYROz.js";
20
- import "./subagent-registry-SZbZfkbr.js";
20
+ import "./subagent-registry-DwvGle7T.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 { l as promptYesNo } from "./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-By9GyX8z.js";
51
+ import "./manager-BUyQ1gFU.js";
52
52
  import "./sqlite-9jF_eajd.js";
53
53
  import "./chunk-B2lBXhR0.js";
54
54
  import "./markdown-tables-BEdkErjm.js";
@@ -69,27 +69,27 @@ 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 { t as formatDocsLink } from "./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";
86
- import { c as resolveArchiveKind } from "./install-safe-path-79R0iPyC.js";
87
- import "./npm-registry-spec-CONWlhd6.js";
88
- import "./skill-scanner-EhsZUzzk.js";
89
- import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-BVJQl3Tj.js";
90
- import { t as renderTable } from "./table-Dm8jYqmW.js";
91
- import { t as buildPluginStatusReport } from "./status-NK8EUhIy.js";
92
- import { n as updateNpmInstalledPlugins } from "./update-BDo7wxMf.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 { t as formatDocsLink } from "./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-e5KEX6Ql.js";
83
+ import "./logging-UO6tk8Em.js";
84
+ import "./replies-CLREUzzB.js";
85
+ import "./pi-tools.policy-BeD_scvO.js";
86
+ import { c as resolveArchiveKind } from "./install-safe-path-BdxXJux8.js";
87
+ import "./npm-registry-spec-BPgK9EL7.js";
88
+ import "./skill-scanner-BC3PyNso.js";
89
+ import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-Dunp9UFl.js";
90
+ import { t as renderTable } from "./table-D0JXlEhQ.js";
91
+ import { t as buildPluginStatusReport } from "./status-lqzeb_Td.js";
92
+ import { n as updateNpmInstalledPlugins } from "./update-B7qKOIqP.js";
93
93
  import os from "node:os";
94
94
  import path from "node:path";
95
95
  import fs from "node:fs";
@@ -1,4 +1,4 @@
1
- import "./unified-runner-B0cMr4If.js";
1
+ import "./unified-runner-CSqDmSWt.js";
2
2
  import { j as theme } from "./registry-Sbac4a4z.js";
3
3
  import { _ as resolveStateDir } from "./paths-By0XjHBk.js";
4
4
  import { _ as shortenHomeInString, h as resolveUserPath, p as resolveConfigDir, v as shortenHomePath } from "./utils-CTPsqyE_.js";
@@ -9,20 +9,20 @@ import "./agent-scope-DOrZjOnW.js";
9
9
  import "./model-selection-7wdmO-Iw.js";
10
10
  import "./file-lock-BVUYnlQv.js";
11
11
  import "./agent-paths-BbZSGrUA.js";
12
- import "./pi-embedded-helpers-CDzBxa-P.js";
12
+ import "./pi-embedded-helpers-D-OFjhdI.js";
13
13
  import { i as loadConfig, l as writeConfigFile } from "./config-B4jkreCN.js";
14
14
  import "./boolean-CbZoNRMn.js";
15
15
  import "./env-BRnPI9sO.js";
16
16
  import "./shell-env-Dc3iU7HK.js";
17
17
  import { m as defaultSlotIdForKey, p as applyExclusiveSlotSelection, s as resolveBundledPluginsDir, t as clearPluginManifestRegistryCache } from "./manifest-registry-D1MLZEjS.js";
18
- import "./sandbox-61-kshSF.js";
18
+ import "./sandbox-BkznAPKO.js";
19
19
  import "./chrome-DJChpTwP.js";
20
20
  import { u as promptYesNo } from "./tailscale-DpKBMIvx.js";
21
21
  import "./auth-Bkx-QuRN.js";
22
- import "./server-context-SbbjNkPL.js";
22
+ import "./server-context-ChcbJgNo.js";
23
23
  import "./frontmatter-B_jqcova.js";
24
24
  import "./skills-BwDmcZdt.js";
25
- import "./routes-DIyAmLYR.js";
25
+ import "./routes-ivqbutvM.js";
26
26
  import "./redact-B3O-RBO1.js";
27
27
  import "./errors-bI7Tdx75.js";
28
28
  import "./fs-safe-BdejYjW8.js";
@@ -39,7 +39,7 @@ import "./send-B0jHSNMF.js";
39
39
  import "./paths-BtvQ7JvU.js";
40
40
  import "./thinking-COroyVA5.js";
41
41
  import "./tokens-0yh2UnJq.js";
42
- import "./deliver-C81eqdrP.js";
42
+ import "./deliver-lTZLIQqf.js";
43
43
  import "./diagnostic-DbT9t0Sh.js";
44
44
  import "./diagnostic-session-state-DnkpMfCl.js";
45
45
  import "./model-auth-1EAQvYRv.js";
@@ -48,10 +48,10 @@ import "./models-config-B5Xxy-c-.js";
48
48
  import "./pi-auth-json-Db8XJVGL.js";
49
49
  import "./session-cost-usage-D3mgssM_.js";
50
50
  import "./session-utils-Cs1jlD-q.js";
51
- import "./with-timeout-GbJ1Yzsh.js";
51
+ import "./with-timeout-DPR4A2dx.js";
52
52
  import "./reply-prefix-BFNeXT65.js";
53
- import "./memory-DBx1wEvf.js";
54
- import "./manager-S5d36_EM.js";
53
+ import "./memory-CHSa0jVf.js";
54
+ import "./manager-BcWElKHq.js";
55
55
  import "./sqlite-Cod7C5ba.js";
56
56
  import "./chunk-BxfKjCUx.js";
57
57
  import "./markdown-tables-CS1Tvb3z.js";
@@ -72,28 +72,28 @@ import "./pairing-store-BNhJOnWn.js";
72
72
  import "./exec-approvals-DioSaIeH.js";
73
73
  import "./nodes-screen-De9ma6e1.js";
74
74
  import "./breakdown-B_Dhhm3K.js";
75
- import "./control-service-DOGU9T2P.js";
75
+ import "./control-service-D8kKOts5.js";
76
76
  import "./stagger-DQs772BN.js";
77
- import "./channel-selection-DjrS6oiz.js";
78
- import "./delivery-queue-duM0RT18.js";
79
- import "./bindings-BAOPW5eK.js";
80
- import "./resolve-route-CnTdHVgw.js";
81
- import { t as formatDocsLink } from "./links-CQZxjjCO.js";
82
- import "./cli-utils-CbnnSB38.js";
83
- import "./help-format-8IYCRvx1.js";
84
- import "./progress-DQTvTiEg.js";
85
- import "./memory-cli-jNf_SaXU.js";
86
- import "./logging-CLWZ3KQI.js";
87
- import "./replies-C5CBlnFS.js";
88
- import "./pi-tools.policy-WaLKhqJQ.js";
89
- import "./model-BMFj7NXy.js";
90
- import { c as resolveArchiveKind } from "./install-safe-path-BBe6qFNr.js";
91
- import "./npm-registry-spec-DPqOMFd9.js";
92
- import "./skill-scanner-D5p8L-xO.js";
93
- import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-Bb1phV9x.js";
94
- import { t as renderTable } from "./table-Ds5CZCyv.js";
95
- import { t as buildPluginStatusReport } from "./status-C_K3wapX.js";
96
- import { n as updateNpmInstalledPlugins } from "./update-CcacbR32.js";
77
+ import "./channel-selection-H1qOf0q-.js";
78
+ import "./delivery-queue-OAc7hsIs.js";
79
+ import "./bindings-DIhsYGa_.js";
80
+ import "./resolve-route-C1IIA6kH.js";
81
+ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
82
+ import "./cli-utils-CuyGL3rq.js";
83
+ import "./help-format-7hFcsqss.js";
84
+ import "./progress-swt2y17x.js";
85
+ import "./memory-cli-JTWldzg5.js";
86
+ import "./logging-BWknayJl.js";
87
+ import "./replies-CbXXjn9X.js";
88
+ import "./pi-tools.policy-CIw6PZ9e.js";
89
+ import "./model-MUMSB_7d.js";
90
+ import { c as resolveArchiveKind } from "./install-safe-path-B2JrFspY.js";
91
+ import "./npm-registry-spec-DTqn-NXZ.js";
92
+ import "./skill-scanner-BCgVcIwi.js";
93
+ import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-D890uIIW.js";
94
+ import { t as renderTable } from "./table-0A3xKJVC.js";
95
+ import { t as buildPluginStatusReport } from "./status-BZ9FL5l4.js";
96
+ import { n as updateNpmInstalledPlugins } from "./update-yYduAjKd.js";
97
97
  import path from "node:path";
98
98
  import fs from "node:fs";
99
99
  import os from "node:os";