@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,4 +1,4 @@
1
- import { t as runAgentTurn } from "./unified-runner-B0cMr4If.js";
1
+ import { t as runAgentTurn } from "./unified-runner-CduaBH_0.js";
2
2
  import "./registry-Sbac4a4z.js";
3
3
  import "./paths-By0XjHBk.js";
4
4
  import "./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 "./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 "./manifest-registry-D1MLZEjS.js";
18
- import "./sandbox-61-kshSF.js";
18
+ import "./sandbox-BkznAPKO.js";
19
19
  import "./chrome-DJChpTwP.js";
20
20
  import "./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-DavRjdTi.js";
54
+ import "./manager-CHLdCC6u.js";
55
55
  import "./sqlite-Cod7C5ba.js";
56
56
  import "./chunk-BxfKjCUx.js";
57
57
  import "./markdown-tables-CS1Tvb3z.js";
@@ -59,8 +59,8 @@ import "./fetch-guard-JHxT9355.js";
59
59
  import "./local-roots-CgDCgCuM.js";
60
60
  import "./commands-DUzLGgEZ.js";
61
61
  import "./commands-registry-Ca5hh7nh.js";
62
- import "./client-DDqXo-cF.js";
63
- import "./call-PpGwcPn-.js";
62
+ import "./client-k0MT6NBw.js";
63
+ import "./call-BccaLPi8.js";
64
64
  import "./pairing-token-Dcy37-4s.js";
65
65
  import "./tool-display-DFOL6UQ9.js";
66
66
  import "./skills-remote-bz71Bstn.js";
@@ -72,21 +72,21 @@ 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 "./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";
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 "./links-Bqr0FxXx.js";
82
+ import "./cli-utils-CuyGL3rq.js";
83
+ import "./help-format-7hFcsqss.js";
84
+ import "./progress-swt2y17x.js";
85
+ import "./memory-cli-B-Cp1Sb1.js";
86
+ import "./logging-BWknayJl.js";
87
+ import "./replies-CbXXjn9X.js";
88
+ import "./pi-tools.policy-H2t-Xkfc.js";
89
+ import "./model-MUMSB_7d.js";
90
90
 
91
91
  //#region src/memory/synthesis.ts
92
92
  const log = createSubsystemLogger("memory/synthesis");
@@ -11,12 +11,12 @@ 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
 
21
21
  //#region src/cli/system-cli.ts
22
22
  function registerSystemCli(program) {
@@ -5,13 +5,13 @@ 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
 
16
16
  //#region src/cli/system-cli.ts
17
17
  function registerSystemCli(program) {
@@ -1,8 +1,8 @@
1
1
  import { t as formatCliCommand } from "./command-format-B3nkKRhC.js";
2
- import { d as isVersionManagedNodePath, h as resolveSystemNodePath, l as getMinimalServicePathPartsFromEnv, u as isSystemNodePath } from "./daemon-runtime-DaJ4Tf2a.js";
3
- import { o as resolveSystemdUserUnitPath } from "./systemd-Dtydk5-z.js";
4
- import { c as resolveLaunchAgentPlistPath } from "./service-Ccv3Zi5_.js";
5
- import { t as formatRuntimeStatusWithDetails } from "./runtime-status-B-PXkhrX.js";
2
+ import { d as isVersionManagedNodePath, h as resolveSystemNodePath, l as getMinimalServicePathPartsFromEnv, u as isSystemNodePath } from "./daemon-runtime-AkgOtHR6.js";
3
+ import { o as resolveSystemdUserUnitPath } from "./systemd-CNnW7Chw.js";
4
+ import { c as resolveLaunchAgentPlistPath } from "./service-DYpU1ajf.js";
5
+ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-BgZqic8M.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs/promises";
8
8
 
@@ -1,8 +1,8 @@
1
1
  import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
2
- import { d as isVersionManagedNodePath, h as resolveSystemNodePath, l as getMinimalServicePathPartsFromEnv, u as isSystemNodePath } from "./daemon-runtime-7YBz5otm.js";
3
- import { o as resolveSystemdUserUnitPath } from "./systemd-Dic80Qni.js";
4
- import { c as resolveLaunchAgentPlistPath } from "./service-BF50XyKr.js";
5
- import { t as formatRuntimeStatusWithDetails } from "./runtime-status-Zb9OQ0VK.js";
2
+ import { d as isVersionManagedNodePath, h as resolveSystemNodePath, l as getMinimalServicePathPartsFromEnv, u as isSystemNodePath } from "./daemon-runtime-DlQla_dA.js";
3
+ import { o as resolveSystemdUserUnitPath } from "./systemd-CUIM0n5P.js";
4
+ import { c as resolveLaunchAgentPlistPath } from "./service-e6MzlLCd.js";
5
+ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-DV2uMNRb.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs/promises";
8
8
 
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { t as note } from "./note-Cltpxj6i.js";
3
- import { d as readSystemdUserLingerStatus, r as isSystemdUserServiceAvailable, u as enableSystemdUserLinger } from "./systemd-Dtydk5-z.js";
2
+ import { t as note } from "./note-D9FXI2qW.js";
3
+ import { d as readSystemdUserLingerStatus, r as isSystemdUserServiceAvailable, u as enableSystemdUserLinger } from "./systemd-CUIM0n5P.js";
4
4
 
5
5
  //#region src/commands/systemd-linger.ts
6
6
  var systemd_linger_exports = /* @__PURE__ */ __exportAll({
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { t as note } from "./note-ytwb4wwn.js";
3
- import { d as readSystemdUserLingerStatus, r as isSystemdUserServiceAvailable, u as enableSystemdUserLinger } from "./systemd-Dic80Qni.js";
2
+ import { t as note } from "./note-BIAQpZxi.js";
3
+ import { d as readSystemdUserLingerStatus, r as isSystemdUserServiceAvailable, u as enableSystemdUserLinger } from "./systemd-CNnW7Chw.js";
4
4
 
5
5
  //#region src/commands/systemd-linger.ts
6
6
  var systemd_linger_exports = /* @__PURE__ */ __exportAll({
@@ -2,11 +2,11 @@ import { h as visibleWidth, m as stripAnsi } from "./entry.js";
2
2
  import { o as normalizeAgentId, r as buildAgentMainSessionKey, s as normalizeMainKey, x as parseAgentSessionKey } from "./session-key-CFxFgYxM.js";
3
3
  import { l as resolveDefaultAgentId } from "./agent-scope-C-Jte08L.js";
4
4
  import { N as VERSION, i as loadConfig } from "./config-D7TcU4qN.js";
5
- import { t as GatewayClient, zt as PROTOCOL_VERSION } from "./client-CdiymIXS.js";
6
- import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-A18kwyah.js";
5
+ import { t as GatewayClient, zt as PROTOCOL_VERSION } from "./client-DCxeV1bw.js";
6
+ import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-DZg43vv8.js";
7
7
  import { f as GATEWAY_CLIENT_CAPS, h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DXToSaWK.js";
8
8
  import { C as stripLeadingInboundMetadata } from "./sessions-Dn6VXn4p.js";
9
- import { y as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-BBiyNXkS.js";
9
+ import { y as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-BQjRftRI.js";
10
10
  import { c as normalizeUsageDisplay, r as listThinkingLevelLabels, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-BZDIJMl_.js";
11
11
  import { n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-D8LQ9fss.js";
12
12
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DxbOx1Kx.js";
@@ -1,14 +1,14 @@
1
1
  import { l as stripAnsi, u as visibleWidth } from "./subsystem-CHbO_DkH.js";
2
2
  import { o as normalizeAgentId, r as buildAgentMainSessionKey, s as normalizeMainKey, x as parseAgentSessionKey } from "./session-key-DUSb7CCb.js";
3
3
  import { l as resolveDefaultAgentId } from "./agent-scope-DOrZjOnW.js";
4
- import { y as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-CDzBxa-P.js";
4
+ import { y as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-D-OFjhdI.js";
5
5
  import { N as VERSION, i as loadConfig } from "./config-B4jkreCN.js";
6
6
  import { k as stripLeadingInboundMetadata } from "./sessions-Dxf5Kjig.js";
7
7
  import { f as GATEWAY_CLIENT_CAPS, h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DgjXWzf-.js";
8
8
  import { c as normalizeUsageDisplay, r as listThinkingLevelLabels, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-COroyVA5.js";
9
9
  import { n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-Ca5hh7nh.js";
10
- import { t as GatewayClient, zt as PROTOCOL_VERSION } from "./client-DDqXo-cF.js";
11
- import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-PpGwcPn-.js";
10
+ import { t as GatewayClient, zt as PROTOCOL_VERSION } from "./client-k0MT6NBw.js";
11
+ import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-BccaLPi8.js";
12
12
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DFOL6UQ9.js";
13
13
  import { n as formatTimeAgo, t as formatRelativeTimestamp } from "./format-relative-D4GQsWlP.js";
14
14
  import { n as formatTokenCount } from "./usage-format-DeczTGI-.js";
@@ -5,20 +5,20 @@ import { f as defaultRuntime } from "./subsystem-CHbO_DkH.js";
5
5
  import "./exec-DuYbft0z.js";
6
6
  import "./agent-scope-DOrZjOnW.js";
7
7
  import "./model-selection-7wdmO-Iw.js";
8
- import "./pi-embedded-helpers-CDzBxa-P.js";
8
+ import "./pi-embedded-helpers-D-OFjhdI.js";
9
9
  import "./config-B4jkreCN.js";
10
10
  import "./boolean-CbZoNRMn.js";
11
11
  import "./env-BRnPI9sO.js";
12
12
  import "./shell-env-Dc3iU7HK.js";
13
13
  import "./manifest-registry-D1MLZEjS.js";
14
- import "./sandbox-61-kshSF.js";
14
+ import "./sandbox-BkznAPKO.js";
15
15
  import "./chrome-DJChpTwP.js";
16
16
  import "./tailscale-DpKBMIvx.js";
17
17
  import "./auth-Bkx-QuRN.js";
18
- import "./server-context-SbbjNkPL.js";
18
+ import "./server-context-ChcbJgNo.js";
19
19
  import "./frontmatter-B_jqcova.js";
20
20
  import "./skills-BwDmcZdt.js";
21
- import "./routes-DIyAmLYR.js";
21
+ import "./routes-ivqbutvM.js";
22
22
  import "./redact-B3O-RBO1.js";
23
23
  import "./errors-bI7Tdx75.js";
24
24
  import "./fs-safe-BdejYjW8.js";
@@ -35,13 +35,13 @@ import "./paths-BtvQ7JvU.js";
35
35
  import "./thinking-COroyVA5.js";
36
36
  import "./commands-DUzLGgEZ.js";
37
37
  import "./commands-registry-Ca5hh7nh.js";
38
- import "./client-DDqXo-cF.js";
39
- import "./call-PpGwcPn-.js";
38
+ import "./client-k0MT6NBw.js";
39
+ import "./call-BccaLPi8.js";
40
40
  import "./pairing-token-Dcy37-4s.js";
41
41
  import "./tool-display-DFOL6UQ9.js";
42
- import { t as parseTimeoutMs } from "./parse-timeout-CuYdP9TL.js";
43
- import { t as formatDocsLink } from "./links-CQZxjjCO.js";
44
- import { t as runTui } from "./tui-CO7OA9ZO.js";
42
+ import { t as parseTimeoutMs } from "./parse-timeout-DmEcHIsV.js";
43
+ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
44
+ import { t as runTui } from "./tui-DzROrE20.js";
45
45
 
46
46
  //#region src/cli/tui-cli.ts
47
47
  function registerTuiCli(program) {
@@ -7,19 +7,19 @@ import "./skills-cLBEdkqu.js";
7
7
  import "./manifest-registry-CVLmi8rz.js";
8
8
  import "./config-D7TcU4qN.js";
9
9
  import "./shell-env-CTYaxUs_.js";
10
- import "./client-CdiymIXS.js";
11
- import "./call-A18kwyah.js";
10
+ import "./client-DCxeV1bw.js";
11
+ import "./call-DZg43vv8.js";
12
12
  import "./message-channel-DXToSaWK.js";
13
13
  import "./pairing-token-B-OTYROz.js";
14
14
  import "./sessions-Dn6VXn4p.js";
15
15
  import "./plugins-BsEhWvLn.js";
16
- import "./pi-embedded-helpers-BBiyNXkS.js";
17
- import "./sandbox-J92UBQK8.js";
16
+ import "./pi-embedded-helpers-BQjRftRI.js";
17
+ import "./sandbox-DjKcZavm.js";
18
18
  import "./chrome-D1eO2jfe.js";
19
19
  import "./tailscale-FeJ1M0mP.js";
20
20
  import "./auth-pHRwjgkx.js";
21
- import "./server-context-D-82OTsT.js";
22
- import "./routes-CPMVuvoz.js";
21
+ import "./server-context-DrAh6Cgw.js";
22
+ import "./routes-wLkmjLj9.js";
23
23
  import "./redact-Dj3r1_tS.js";
24
24
  import "./errors-BmdGLmRC.js";
25
25
  import "./fs-safe-D0xrTzGw.js";
@@ -34,9 +34,9 @@ import "./thinking-BZDIJMl_.js";
34
34
  import "./commands-BiW8npr7.js";
35
35
  import "./commands-registry-D8LQ9fss.js";
36
36
  import "./tool-display-DxbOx1Kx.js";
37
- import { t as parseTimeoutMs } from "./parse-timeout-DUdeaMqF.js";
38
- import { t as formatDocsLink } from "./links-B9CbwY46.js";
39
- import { t as runTui } from "./tui-BdtfeKft.js";
37
+ import { t as parseTimeoutMs } from "./parse-timeout-widuTpq9.js";
38
+ import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
39
+ import { t as runTui } from "./tui-Bp9k5skv.js";
40
40
 
41
41
  //#region src/cli/tui-cli.ts
42
42
  function registerTuiCli(program) {
@@ -31,7 +31,7 @@ import { t as emitSessionTranscriptUpdate } from "./transcript-events-ChU6IQwp.j
31
31
  import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-D_vCJSzF.js";
32
32
  import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-BALvP9wI.js";
33
33
  import { n as getDiagnosticSessionState } from "./diagnostic-session-state-BDfanaOY.js";
34
- 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-B-wPs7cb.js";
34
+ 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-B2SWSuad.js";
35
35
  import { r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-uhEBNQfj.js";
36
36
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-DCGR3yfh.js";
37
37
  import { a as resolveEffectiveMessagesConfig, i as resolveAckReaction, o as resolveHumanDelayConfig, r as resolveResponsePrefixTemplate, t as createReplyPrefixOptions } from "./reply-prefix-D0NzzC4I.js";
@@ -4460,7 +4460,7 @@ async function getMemorySearchManager(params) {
4460
4460
  const wrapper = new FallbackMemoryManager({
4461
4461
  primary,
4462
4462
  fallbackFactory: async () => {
4463
- const { MemoryIndexManager } = await import("./manager-B-wPs7cb.js").then((n) => n.t);
4463
+ const { MemoryIndexManager } = await import("./manager-B2SWSuad.js").then((n) => n.t);
4464
4464
  return await MemoryIndexManager.get(params);
4465
4465
  }
4466
4466
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -4473,7 +4473,7 @@ async function getMemorySearchManager(params) {
4473
4473
  }
4474
4474
  }
4475
4475
  try {
4476
- const { MemoryIndexManager } = await import("./manager-B-wPs7cb.js").then((n) => n.t);
4476
+ const { MemoryIndexManager } = await import("./manager-B2SWSuad.js").then((n) => n.t);
4477
4477
  return { manager: await MemoryIndexManager.get(params) };
4478
4478
  } catch (err) {
4479
4479
  return {
@@ -7447,6 +7447,19 @@ function buildAgentSystemPrompt(params) {
7447
7447
  " Correct: call exec with command=\"echo hi\", then summarise the actual stdout you received.",
7448
7448
  " Wrong: emit \"hi\" as text without calling exec — that's fabrication.",
7449
7449
  "",
7450
+ "## Symframe (window into your mind)",
7451
+ "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.",
7452
+ "Call `display_artifact` whenever you have an artifact (draft, snippet, reference, option) worth surfacing alongside the conversation. Always set `intent`:",
7453
+ " - `holding` — keep this in working memory across turns (URLs, file paths, snippets)",
7454
+ " - `weighing` — one option among siblings under consideration",
7455
+ " - `producing` — actively drafting; you intend to update this card again",
7456
+ " - `drafted` — finished artifact ready for the user to review (email, doc, code)",
7457
+ " - `reference` — read-only context you surfaced for the user (file excerpt, search hit)",
7458
+ " - `awaiting` — deferred/scheduled/in-flight work (sub-agent output, scheduled task)",
7459
+ "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`).",
7460
+ "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.",
7461
+ "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.",
7462
+ "",
7450
7463
  ...compactMode ? [] : [
7451
7464
  "## Tool Call Style",
7452
7465
  "Default: do not narrate routine, low-risk tool calls (just call the tool).",
@@ -9154,9 +9167,11 @@ const ChatSymframePushParamsSchema = Type.Object({
9154
9167
  Type.Literal("remove")
9155
9168
  ]),
9156
9169
  id: Type.Optional(NonEmptyString),
9170
+ force: Type.Optional(Type.Boolean()),
9157
9171
  card: Type.Optional(Type.Object({
9158
9172
  id: Type.Optional(NonEmptyString),
9159
9173
  type: Type.Optional(Type.String()),
9174
+ intent: Type.Optional(Type.String()),
9160
9175
  title: Type.Optional(Type.String()),
9161
9176
  body: Type.Optional(Type.String()),
9162
9177
  bodyHtml: Type.Optional(Type.String()),
@@ -10259,7 +10274,7 @@ function randomIdempotencyKey() {
10259
10274
  //#endregion
10260
10275
  //#region src/infra/agent-events.ts
10261
10276
  const seqByRun = /* @__PURE__ */ new Map();
10262
- const listeners = /* @__PURE__ */ new Set();
10277
+ const listeners$1 = /* @__PURE__ */ new Set();
10263
10278
  const runContextById = /* @__PURE__ */ new Map();
10264
10279
  function registerAgentRunContext(runId, context) {
10265
10280
  if (!runId) return;
@@ -10285,13 +10300,13 @@ function emitAgentEvent(event) {
10285
10300
  seq: nextSeq,
10286
10301
  ts: Date.now()
10287
10302
  };
10288
- for (const listener of listeners) try {
10303
+ for (const listener of listeners$1) try {
10289
10304
  listener(enriched);
10290
10305
  } catch {}
10291
10306
  }
10292
10307
  function onAgentEvent(listener) {
10293
- listeners.add(listener);
10294
- return () => listeners.delete(listener);
10308
+ listeners$1.add(listener);
10309
+ return () => listeners$1.delete(listener);
10295
10310
  }
10296
10311
 
10297
10312
  //#endregion
@@ -37001,6 +37016,153 @@ Use jobId as the canonical identifier; id is accepted for compatibility. Use con
37001
37016
  };
37002
37017
  }
37003
37018
 
37019
+ //#endregion
37020
+ //#region src/infra/symframe-broadcast.ts
37021
+ const listeners = /* @__PURE__ */ new Set();
37022
+ function emitSymframePush(payload) {
37023
+ for (const listener of listeners) try {
37024
+ listener(payload);
37025
+ } catch {}
37026
+ }
37027
+
37028
+ //#endregion
37029
+ //#region src/agents/tools/display-artifact-tool.ts
37030
+ const ARTIFACT_TYPES = [
37031
+ "text",
37032
+ "markdown",
37033
+ "code",
37034
+ "email-draft",
37035
+ "pdf",
37036
+ "audio",
37037
+ "video"
37038
+ ];
37039
+ const ARTIFACT_ACTIONS = [
37040
+ "add",
37041
+ "update",
37042
+ "remove"
37043
+ ];
37044
+ /**
37045
+ * Stage A: intent vocabulary added as orthogonal metadata to renderer type.
37046
+ * Intent answers "why is this card in the panel"; type answers "how to draw
37047
+ * it". Renderers ignore intent for now — it's stored on the registry entry
37048
+ * and surfaced as a data-intent attribute on the card root, ready for the
37049
+ * Stage B+ visual treatment (substrate prominence for drafted, clustering
37050
+ * for weighing, decay overrides, etc.). See
37051
+ * ~/Documents/dynamic-glass-panel.md §4.
37052
+ */
37053
+ const ARTIFACT_INTENTS = [
37054
+ "holding",
37055
+ "weighing",
37056
+ "producing",
37057
+ "awaiting",
37058
+ "drafted",
37059
+ "reference"
37060
+ ];
37061
+ const ActionSchema = Type.Object({
37062
+ label: Type.String(),
37063
+ kind: Type.Optional(stringEnum(["primary", "secondary"])),
37064
+ rpc: Type.Optional(Type.String()),
37065
+ params: Type.Optional(Type.Record(Type.String(), Type.Unknown()))
37066
+ });
37067
+ const EmailFieldsSchema = Type.Object({
37068
+ from: Type.Optional(Type.String()),
37069
+ to: Type.Optional(Type.String()),
37070
+ cc: Type.Optional(Type.String()),
37071
+ bcc: Type.Optional(Type.String()),
37072
+ subject: Type.Optional(Type.String()),
37073
+ body: Type.Optional(Type.String())
37074
+ });
37075
+ const DisplayArtifactSchema = Type.Object({
37076
+ action: Type.Optional(stringEnum(ARTIFACT_ACTIONS)),
37077
+ id: Type.Optional(Type.String()),
37078
+ type: Type.Optional(stringEnum(ARTIFACT_TYPES)),
37079
+ intent: Type.Optional(stringEnum(ARTIFACT_INTENTS)),
37080
+ title: Type.Optional(Type.String()),
37081
+ body: Type.Optional(Type.String()),
37082
+ language: Type.Optional(Type.String()),
37083
+ url: Type.Optional(Type.String()),
37084
+ mimeType: Type.Optional(Type.String()),
37085
+ downloadName: Type.Optional(Type.String()),
37086
+ poster: Type.Optional(Type.String()),
37087
+ email: Type.Optional(EmailFieldsSchema),
37088
+ actions: Type.Optional(Type.Array(ActionSchema)),
37089
+ sticky: Type.Optional(Type.Boolean()),
37090
+ force: Type.Optional(Type.Boolean())
37091
+ });
37092
+ function genCardId() {
37093
+ return `sf-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
37094
+ }
37095
+ function createDisplayArtifactTool() {
37096
+ return {
37097
+ label: "Display Artifact",
37098
+ name: "display_artifact",
37099
+ 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.",
37100
+ parameters: DisplayArtifactSchema,
37101
+ execute: async (_toolCallId, args) => {
37102
+ const params = args;
37103
+ const actionRaw = readStringParam(params, "action");
37104
+ const action = actionRaw === "update" || actionRaw === "remove" ? actionRaw : "add";
37105
+ const id = readStringParam(params, "id") || (action === "add" ? genCardId() : void 0);
37106
+ if (action !== "add" && !id) return jsonResult({
37107
+ ok: false,
37108
+ error: `${action} requires an id`
37109
+ });
37110
+ const force = params.force === true;
37111
+ if (action === "remove") {
37112
+ emitSymframePush({
37113
+ action,
37114
+ id,
37115
+ force
37116
+ });
37117
+ return jsonResult({
37118
+ ok: true,
37119
+ action,
37120
+ id
37121
+ });
37122
+ }
37123
+ const card = { id };
37124
+ for (const key of [
37125
+ "type",
37126
+ "intent",
37127
+ "title",
37128
+ "body",
37129
+ "language",
37130
+ "url",
37131
+ "mimeType",
37132
+ "downloadName",
37133
+ "poster",
37134
+ "email",
37135
+ "actions",
37136
+ "sticky"
37137
+ ]) {
37138
+ const value = params[key];
37139
+ if (value !== void 0 && value !== null) card[key] = value;
37140
+ }
37141
+ if (action === "add") {
37142
+ const hasContent = typeof card.title === "string" ? Boolean(card.title.trim()) : false;
37143
+ const hasBody = typeof card.body === "string" ? Boolean(card.body.trim()) : false;
37144
+ const hasUrl = typeof card.url === "string" && Boolean(card.url.trim());
37145
+ const hasEmail = card.email && typeof card.email === "object";
37146
+ if (!hasContent && !hasBody && !hasUrl && !hasEmail) return jsonResult({
37147
+ ok: false,
37148
+ error: "add requires at least title, body, url, or email"
37149
+ });
37150
+ }
37151
+ emitSymframePush({
37152
+ action,
37153
+ id,
37154
+ card,
37155
+ force
37156
+ });
37157
+ return jsonResult({
37158
+ ok: true,
37159
+ action,
37160
+ id
37161
+ });
37162
+ }
37163
+ };
37164
+ }
37165
+
37004
37166
  //#endregion
37005
37167
  //#region src/infra/restart-sentinel.ts
37006
37168
  const SENTINEL_FILENAME = "restart-sentinel.json";
@@ -44062,6 +44224,7 @@ function createSymiTools(options) {
44062
44224
  allowHostControl: options?.allowHostBrowserControl
44063
44225
  }),
44064
44226
  createCanvasTool({ config: options?.config }),
44227
+ createDisplayArtifactTool(),
44065
44228
  createNodesTool({
44066
44229
  agentSessionKey: options?.agentSessionKey,
44067
44230
  config: options?.config
@@ -53339,7 +53502,8 @@ const SUBAGENT_TOOL_DENY_ALWAYS = [
53339
53502
  "outlook_reply",
53340
53503
  "outlook_search",
53341
53504
  "outlook_folders",
53342
- "outlook_move"
53505
+ "outlook_move",
53506
+ "display_artifact"
53343
53507
  ];
53344
53508
  /**
53345
53509
  * Additional tools denied for leaf sub-agents (depth >= maxSpawnDepth).