@symerian/symi 3.5.18 → 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 (165) hide show
  1. package/dist/{agent-C5i1IOSH.js → agent-D0Z4r5fr.js} +1 -1
  2. package/dist/{agent-DAgNFk7s.js → agent-DCDT-MPE.js} +1 -1
  3. package/dist/{agents-D6vcHu1f.js → agents-CdkBeP0d.js} +3 -3
  4. package/dist/{audit-BkXjUIB4.js → audit-B7deV4Lp.js} +3 -3
  5. package/dist/{audit-KLVrIL2o.js → audit-BCStg-Hv.js} +3 -3
  6. package/dist/{auth-choice-BAWjJhdA.js → auth-choice-B3DU-aBr.js} +2 -2
  7. package/dist/{auth-choice-CYIdNu5I.js → auth-choice-BIGcxSzP.js} +2 -2
  8. package/dist/{banner-fe7EgXbN.js → banner-ChNdzPjD.js} +1 -1
  9. package/dist/{browser-cli-T0M4dRjm.js → browser-cli-BTg8SVs-.js} +3 -3
  10. package/dist/{browser-cli-djgni0MZ.js → browser-cli-C9xaKW8l.js} +3 -3
  11. package/dist/build-info.json +3 -3
  12. package/dist/bundled/boot-md/handler.js +4 -4
  13. package/dist/bundled/session-memory/handler.js +4 -4
  14. package/dist/{call-PpGwcPn-.js → call-BccaLPi8.js} +1 -1
  15. package/dist/{call-A18kwyah.js → call-DZg43vv8.js} +1 -1
  16. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  17. package/dist/{channel-options-EXtSsJf6.js → channel-options-CUptVX8c.js} +1 -1
  18. package/dist/{channel-options-D6G_F3eF.js → channel-options-LLmAnD_L.js} +1 -1
  19. package/dist/{channels-cli-Cqq_mzfB.js → channels-cli-B0OQvVUL.js} +10 -10
  20. package/dist/{channels-cli-JOUMlq_F.js → channels-cli-xoromnio.js} +10 -10
  21. package/dist/{chrome-OTJg3QKn.js → chrome-CmQwGAuL.js} +7 -7
  22. package/dist/{cli-mps-KWqp.js → cli-C7v-sID8.js} +7 -7
  23. package/dist/{cli-B8UZj63C.js → cli-CMNR7ULk.js} +7 -7
  24. package/dist/{client-CdiymIXS.js → client-DCxeV1bw.js} +2 -0
  25. package/dist/{client-DDqXo-cF.js → client-k0MT6NBw.js} +2 -0
  26. package/dist/{command-registry-BamL-8ni.js → command-registry-CXcvXjUR.js} +11 -11
  27. package/dist/{completion-cli-CcPYX9ML.js → completion-cli-B1Fg6Lmg.js} +2 -2
  28. package/dist/{completion-cli-BE3hVsai.js → completion-cli-DJ1YCeSg.js} +1 -1
  29. package/dist/{config-cli-BQtaSYis.js → config-cli-CQ1FAvY_.js} +1 -1
  30. package/dist/{config-cli-thmRhEXK.js → config-cli-D5DlWt6T.js} +1 -1
  31. package/dist/{configure-CldmyPrd.js → configure-DG1lf0Ld.js} +6 -6
  32. package/dist/{configure-BYjDOt22.js → configure-bhJB2Dti.js} +6 -6
  33. package/dist/control-ui/js/scheduling.js +0 -1
  34. package/dist/control-ui/js/subagents.js +0 -1
  35. package/dist/control-ui/js/symframe.js +35 -5
  36. package/dist/{cron-cli-CULf3dmR.js → cron-cli-8RaBr1CM.js} +3 -3
  37. package/dist/{cron-cli-DKsbgF-x.js → cron-cli-fW3wtftG.js} +3 -3
  38. package/dist/{daemon-cli-C5WZasB0.js → daemon-cli-0EiZTQ2A.js} +2 -2
  39. package/dist/{daemon-cli-BNjzVjLA.js → daemon-cli-Y6clFgva.js} +2 -2
  40. package/dist/daemon-cli.js +2 -0
  41. package/dist/{deliver-BiWlR84Y.js → deliver-B04yNX82.js} +4 -4
  42. package/dist/{devices-cli-rR11xT7v.js → devices-cli-C2gQTsB0.js} +2 -2
  43. package/dist/{devices-cli-CZKVVOJl.js → devices-cli-DfiSkZ7k.js} +2 -2
  44. package/dist/{doctor-completion-BNg17v6i.js → doctor-completion-CfF0J8fs.js} +1 -1
  45. package/dist/{doctor-completion-XdRobzWG.js → doctor-completion-ScxFfN93.js} +1 -1
  46. package/dist/entry.js +1 -1
  47. package/dist/{exec-approvals-cli-DS6ZEPKH.js → exec-approvals-cli-BaKWIf56.js} +4 -4
  48. package/dist/{exec-approvals-cli-C4HEY0eG.js → exec-approvals-cli-Cl-vWA1q.js} +4 -4
  49. package/dist/extensionAPI.js +2 -2
  50. package/dist/{gateway-cli-CAc-uivv.js → gateway-cli-CK-5nguV.js} +17 -17
  51. package/dist/{gateway-cli-CGXvamVN.js → gateway-cli-kq5EWlnF.js} +17 -17
  52. package/dist/{gateway-rpc-BmYtSmmM.js → gateway-rpc-Bzg_TTKP.js} +1 -1
  53. package/dist/{gateway-rpc-DJ2ZjQmX.js → gateway-rpc-D12UaJS5.js} +1 -1
  54. package/dist/{glass-ui-ws-Bha2cLkY.js → glass-ui-ws-B6p0iPsO.js} +14 -14
  55. package/dist/{glass-ui-ws-DCCEkdBr.js → glass-ui-ws-CVr0_1gT.js} +14 -14
  56. package/dist/{health-Ba5X7a38.js → health-CJb2CYtg.js} +1 -1
  57. package/dist/{health-Ct-lDCmK.js → health-CPU9rQGj.js} +1 -1
  58. package/dist/{hooks-cli-DUL_PDOH.js → hooks-cli-13HCu5Xs.js} +8 -8
  59. package/dist/{hooks-cli-D2iAnwfW.js → hooks-cli-DbgVZaP4.js} +8 -8
  60. package/dist/index.js +11 -11
  61. package/dist/llm-slug-generator.js +4 -4
  62. package/dist/{logs-cli-N1bMTcij.js → logs-cli-CQeK5fn7.js} +3 -3
  63. package/dist/{logs-cli-CgMlVSvI.js → logs-cli-R16VTptK.js} +3 -3
  64. package/dist/{manager-BAcrpGcR.js → manager-B2SWSuad.js} +1 -1
  65. package/dist/{manager-B8q57Pg2.js → manager-BhEbaYDa.js} +1 -1
  66. package/dist/{manager-BcWElKHq.js → manager-CHLdCC6u.js} +1 -1
  67. package/dist/{manager-BUyQ1gFU.js → manager-CxFs8Z_F.js} +1 -1
  68. package/dist/{memory-By9GyX8z.js → memory-DFpqcIst.js} +2 -2
  69. package/dist/{memory-CHSa0jVf.js → memory-DavRjdTi.js} +2 -2
  70. package/dist/{memory-cli-JTWldzg5.js → memory-cli-B-Cp1Sb1.js} +2 -2
  71. package/dist/{memory-cli-e5KEX6Ql.js → memory-cli-DZnq3S6s.js} +2 -2
  72. package/dist/{models-dVS6tcNK.js → models-Cht7Mzvs.js} +3 -3
  73. package/dist/{models-cli-B-u1KOUo.js → models-cli-B_motPDX.js} +9 -9
  74. package/dist/{models-cli-DJnRAEsb.js → models-cli-DXswzgUR.js} +10 -10
  75. package/dist/{node-cli-BqvgYrlJ.js → node-cli-D-gsjRXY.js} +1 -1
  76. package/dist/{node-cli-CKuOdw5j.js → node-cli-VmKhIXuP.js} +1 -1
  77. package/dist/{nodes-cli-C6kDpXS_.js → nodes-cli-BMvxQGCp.js} +3 -3
  78. package/dist/{nodes-cli-BrV7Xpf_.js → nodes-cli-D199d74o.js} +3 -3
  79. package/dist/{onboard-BoKwKol7.js → onboard-CdRA8BRG.js} +3 -3
  80. package/dist/{onboard-CHOoD7jN.js → onboard-DFJcbABp.js} +3 -3
  81. package/dist/{onboard-channels-CfzUCh7p.js → onboard-channels-Ca7ZFQ2Y.js} +1 -1
  82. package/dist/{onboard-channels-C4_2V9uU.js → onboard-channels-fadyQGBK.js} +1 -1
  83. package/dist/{onboard-helpers-Dpb3-BZm.js → onboard-helpers-BcLPSb5N.js} +1 -1
  84. package/dist/{onboard-helpers-DI-HmD7F.js → onboard-helpers-CQBpac8h.js} +1 -1
  85. package/dist/{onboard-remote-Bs5NP5sK.js → onboard-remote-BWK5Ths4.js} +1 -1
  86. package/dist/{onboard-remote-B8wiom2Y.js → onboard-remote-Bo3tpC9N.js} +1 -1
  87. package/dist/{onboard-skills-BaprraLV.js → onboard-skills-BLl8HPJO.js} +1 -1
  88. package/dist/{onboard-skills-B6CZay_w.js → onboard-skills-DvacccqZ.js} +1 -1
  89. package/dist/{onboarding-B2BOb2RZ.js → onboarding-BywueA1d.js} +7 -7
  90. package/dist/{onboarding-DsxU2nSf.js → onboarding-ojb2rFkA.js} +7 -7
  91. package/dist/{onboarding.finalize-C-kW49Ut.js → onboarding.finalize-DHvlZi9G.js} +9 -9
  92. package/dist/{onboarding.finalize-BE7BU0jr.js → onboarding.finalize-DdxBQpUU.js} +8 -8
  93. package/dist/{onboarding.gateway-config-Bs46b6Gz.js → onboarding.gateway-config-DPBNWNV6.js} +3 -3
  94. package/dist/{onboarding.gateway-config-DqFBlQ06.js → onboarding.gateway-config-ZK9517uR.js} +3 -3
  95. package/dist/{pi-embedded-DEoacZlB.js → pi-embedded-DJE9TMwq.js} +46 -13
  96. package/dist/{pi-tools.policy-BeD_scvO.js → pi-tools.policy-06k__URR.js} +2 -1
  97. package/dist/{pi-tools.policy-CIw6PZ9e.js → pi-tools.policy-H2t-Xkfc.js} +2 -1
  98. package/dist/{plugin-registry-DeslTmEa.js → plugin-registry-Tlmjr-LX.js} +1 -1
  99. package/dist/{plugin-registry-D1BIaht5.js → plugin-registry-tG7NXc3Y.js} +1 -1
  100. package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +17 -0
  101. package/dist/plugin-sdk/index.js +6 -6
  102. package/dist/plugin-sdk/infra/symframe-broadcast.d.ts +8 -0
  103. package/dist/{plugins-cli-tWL29ean.js → plugins-cli-CRKD8aho.js} +8 -8
  104. package/dist/{plugins-cli-DJIjgG5p.js → plugins-cli-Cm0G_-Y5.js} +8 -8
  105. package/dist/{program-C_ecACg4.js → program-DEmAlwmD.js} +13 -13
  106. package/dist/{program-context-DhXsfGWA.js → program-context-DRCRbDpu.js} +30 -30
  107. package/dist/{prompt-select-styled-5mNa_JDe.js → prompt-select-styled-B41Tx9aC.js} +7 -7
  108. package/dist/{prompt-select-styled-B0UbChI2.js → prompt-select-styled-pomsR-zf.js} +7 -7
  109. package/dist/{provider-auth-helpers-c3gQEsiU.js → provider-auth-helpers-CdQwOam7.js} +1 -1
  110. package/dist/{provider-auth-helpers-BikwPxIZ.js → provider-auth-helpers-rKWs_r7a.js} +1 -1
  111. package/dist/{push-apns-DAYwWXpM.js → push-apns-CZPUHftn.js} +1 -1
  112. package/dist/{push-apns-COFa30nz.js → push-apns-eCM0qmrY.js} +1 -1
  113. package/dist/{pw-ai-DY_6l11g.js → pw-ai-DLsdzdgc.js} +1 -1
  114. package/dist/{register.agent-B6pZEY8i.js → register.agent-BQPvYYdn.js} +13 -13
  115. package/dist/{register.agent-D_zWbLp4.js → register.agent-N1hoqMFR.js} +12 -12
  116. package/dist/{register.configure-z9G70eYJ.js → register.configure-BAc3P4Z-.js} +15 -15
  117. package/dist/{register.configure-qpAPaUf1.js → register.configure-BHHZ44xB.js} +15 -15
  118. package/dist/{register.maintenance-Ds0ujl3V.js → register.maintenance-DDgy5Iyy.js} +13 -13
  119. package/dist/{register.maintenance-DLaTTsm9.js → register.maintenance-lX0a3Hzl.js} +14 -14
  120. package/dist/{register.message-0N5-oUQ2.js → register.message-B4lDhHpE.js} +8 -8
  121. package/dist/{register.message-ChR97uym.js → register.message-Br-IH_0z.js} +8 -8
  122. package/dist/{register.onboard-D5S1tP0K.js → register.onboard-B-GoYJIc.js} +6 -6
  123. package/dist/{register.onboard-B7mbI-9F.js → register.onboard-Bv0s2_KV.js} +6 -6
  124. package/dist/{register.setup-CaA-JN2n.js → register.setup-4lNdC98i.js} +6 -6
  125. package/dist/{register.setup-CJ9hldNi.js → register.setup-DQ6KLkAI.js} +6 -6
  126. package/dist/{register.status-health-sessions-BUgIBm_S.js → register.status-health-sessions-ByGn71_M.js} +9 -9
  127. package/dist/{register.status-health-sessions-CkZTuaL-.js → register.status-health-sessions-Cg7bK5K2.js} +9 -9
  128. package/dist/{register.subclis-Ca8FmJFy.js → register.subclis-FMlcLBX0.js} +20 -20
  129. package/dist/{rpc-D4d4nLSU.js → rpc-Dk1Az_d8.js} +1 -1
  130. package/dist/{rpc-BWgqz86j.js → rpc-JAmDaTYt.js} +1 -1
  131. package/dist/{run-main-DMrkCeK2.js → run-main-DSyeVDsT.js} +21 -21
  132. package/dist/{security-cli-C_KMIhS2.js → security-cli-D47LQbpf.js} +4 -4
  133. package/dist/{security-cli-McZcuPWz.js → security-cli-DmgGLP83.js} +4 -4
  134. package/dist/{server-methods-BygKI0kw.js → server-methods-BkHB2MOW.js} +13 -12
  135. package/dist/{server-methods-szCGOyyf.js → server-methods-DGBBt49x.js} +13 -12
  136. package/dist/{server-node-events-y9KRPn6N.js → server-node-events-C186LRm0.js} +9 -9
  137. package/dist/{server-node-events-CbR5rq2-.js → server-node-events-D-Akk3uq.js} +9 -9
  138. package/dist/{status-lqzeb_Td.js → status-Bahhq7OQ.js} +1 -1
  139. package/dist/{status-Cthysi1v.js → status-CFgCSaDq.js} +5 -5
  140. package/dist/{status-uRIajsvi.js → status-D9LC5P_Y.js} +5 -5
  141. package/dist/{status-BZ9FL5l4.js → status-poPDyC8O.js} +1 -1
  142. package/dist/{subagent-registry-DwvGle7T.js → subagent-registry-V2o45tIn.js} +45 -15
  143. package/dist/{symframe-cli-D00zI8yK.js → symframe-cli-bxdpivve.js} +6 -4
  144. package/dist/{symframe-cli-0tRARGnc.js → symframe-cli-ppdMo15M.js} +6 -4
  145. package/dist/{synthesis-BKLx13A_.js → synthesis-B2EyHFXy.js} +7 -7
  146. package/dist/{synthesis-P09ozKOL.js → synthesis-BlJyO1E_.js} +2 -2
  147. package/dist/{synthesis-CzKaWpzb.js → synthesis-C2WbvLOI.js} +4 -4
  148. package/dist/{synthesis-DwAlX75N.js → synthesis-CPSq83PP.js} +7 -7
  149. package/dist/{system-cli-OzNqTgb2.js → system-cli-BroqLjZ6.js} +3 -3
  150. package/dist/{system-cli-D18NNk54.js → system-cli-nPyjUPBH.js} +3 -3
  151. package/dist/{tui-CDovUd2Z.js → tui-Bp9k5skv.js} +2 -2
  152. package/dist/{tui-mmN0hLk6.js → tui-DzROrE20.js} +2 -2
  153. package/dist/{tui-cli-COLpBx2w.js → tui-cli-BHBF8O-3.js} +3 -3
  154. package/dist/{tui-cli--wAWyd-U.js → tui-cli-Dv4hBFdc.js} +3 -3
  155. package/dist/{unified-runner-CuhQvmLZ.js → unified-runner-CIQIkbvi.js} +53 -20
  156. package/dist/{unified-runner-CSqDmSWt.js → unified-runner-CduaBH_0.js} +45 -15
  157. package/dist/{update-cli-BsfG48ZS.js → update-cli-BKnHBe8a.js} +15 -15
  158. package/dist/{update-cli-Df_HQi-p.js → update-cli-WcLxjBiY.js} +14 -14
  159. package/extensions/memory-core/package.json +1 -1
  160. package/extensions/msteams/CHANGELOG.md +6 -0
  161. package/extensions/msteams/package.json +1 -1
  162. package/extensions/open-prose/package.json +1 -1
  163. package/extensions/outlook/package.json +1 -1
  164. package/extensions/slack/package.json +1 -1
  165. package/package.json +1 -1
@@ -14,11 +14,11 @@ import "./skills-cLBEdkqu.js";
14
14
  import "./manifest-registry-CVLmi8rz.js";
15
15
  import { i as loadConfig } from "./config-D7TcU4qN.js";
16
16
  import "./shell-env-CTYaxUs_.js";
17
- import "./client-CdiymIXS.js";
18
- import "./call-A18kwyah.js";
17
+ import "./client-DCxeV1bw.js";
18
+ import "./call-DZg43vv8.js";
19
19
  import "./message-channel-DXToSaWK.js";
20
20
  import "./pairing-token-B-OTYROz.js";
21
- import { U as resolveOutboundTarget } from "./subagent-registry-DwvGle7T.js";
21
+ import { U as resolveOutboundTarget } from "./subagent-registry-V2o45tIn.js";
22
22
  import { d as updateSessionStore } from "./sessions-Dn6VXn4p.js";
23
23
  import { r as normalizeChannelId } from "./plugins-BsEhWvLn.js";
24
24
  import "./send-Dq252-bi.js";
@@ -48,8 +48,8 @@ import "./model-auth-Byr7Gic_.js";
48
48
  import "./github-copilot-token-B5y4__YM.js";
49
49
  import "./models-config-CiR_RUxw.js";
50
50
  import "./reply-prefix-DV3KhOhL.js";
51
- import "./memory-By9GyX8z.js";
52
- import "./manager-BUyQ1gFU.js";
51
+ import "./memory-DFpqcIst.js";
52
+ import "./manager-CxFs8Z_F.js";
53
53
  import "./sqlite-9jF_eajd.js";
54
54
  import "./chunk-B2lBXhR0.js";
55
55
  import "./markdown-tables-BEdkErjm.js";
@@ -80,13 +80,13 @@ import "./links-Dnmd-RS-.js";
80
80
  import "./cli-utils-DXfA5936.js";
81
81
  import "./help-format-Dbp8yEhl.js";
82
82
  import "./progress-CI19Xh3z.js";
83
- import "./memory-cli-e5KEX6Ql.js";
83
+ import "./memory-cli-DZnq3S6s.js";
84
84
  import "./logging-UO6tk8Em.js";
85
85
  import "./replies-CLREUzzB.js";
86
- import "./pi-tools.policy-BeD_scvO.js";
86
+ import "./pi-tools.policy-06k__URR.js";
87
87
  import { t as createOutboundSendDeps } from "./outbound-send-deps-BCyarBRf.js";
88
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-DAYwWXpM.js";
89
- import { t as agentCommand } from "./agent-C5i1IOSH.js";
88
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CZPUHftn.js";
89
+ import { t as agentCommand } from "./agent-D0Z4r5fr.js";
90
90
  import { randomUUID } from "node:crypto";
91
91
 
92
92
  //#region src/gateway/server-node-events.ts
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-C-Jte08L.js";
3
3
  import { i as loadConfig } from "./config-D7TcU4qN.js";
4
- import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-DwvGle7T.js";
4
+ import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-V2o45tIn.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -13,8 +13,8 @@ import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as l
13
13
  import { n as listChannelPlugins } from "./plugins-CF5skkHh.js";
14
14
  import { c as resolveStorePath } from "./paths-BtvQ7JvU.js";
15
15
  import { A as sha256HexPrefix, D as buildChannelAccountSnapshot, E as buildChannelSummary, O as formatChannelAllowFrom, T as peekSystemEvents, _ as loadProviderUsageSummary, l as resolveSessionModelRef, m as summarizeRestartSentinel, n as classifySessionKey, p as readRestartSentinel, r as listAgentsForGateway, v as formatUsageReportLines, x as lookupContextTokens } from "./session-utils-Cs1jlD-q.js";
16
- import { t as getMemorySearchManager } from "./memory-CHSa0jVf.js";
17
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-PpGwcPn-.js";
16
+ import { t as getMemorySearchManager } from "./memory-DavRjdTi.js";
17
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BccaLPi8.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
19
19
  import { t as getRemoteSkillEligibility } from "./skills-remote-bz71Bstn.js";
20
20
  import { r as formatDurationPrecise } from "./format-duration-CIjmjQST.js";
@@ -22,13 +22,13 @@ import { n as withProgress } from "./progress-swt2y17x.js";
22
22
  import { t as buildWorkspaceSkillStatus } from "./skills-status-BKX1PjCc.js";
23
23
  import { t as resolveChannelDefaultAccountId } from "./helpers-G6zuddmF.js";
24
24
  import { t as collectChannelStatusIssues } from "./channels-status-issues-DLIzUsjR.js";
25
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-DI-HmD7F.js";
25
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-CQBpac8h.js";
26
26
  import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-e6MzlLCd.js";
27
27
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-DV2uMNRb.js";
28
28
  import { t as readLastGatewayErrorLine } from "./diagnostics-DlZODdRf.js";
29
29
  import { t as renderTable } from "./table-0A3xKJVC.js";
30
- import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-KLVrIL2o.js";
31
- import { t as formatHealthChannelLines } from "./health-Ct-lDCmK.js";
30
+ import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-BCStg-Hv.js";
31
+ import { t as formatHealthChannelLines } from "./health-CPU9rQGj.js";
32
32
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-BCL_K7kx.js";
33
33
  import { t as resolveNodeService } from "./node-service-BH08wY5j.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-CZeGyu83.js";
@@ -8,13 +8,13 @@ import { c as resolveAgentWorkspaceDir } from "./agent-scope-C-Jte08L.js";
8
8
  import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, m as resolveConfiguredModelRef, w as DEFAULT_PROVIDER } from "./model-selection-CMx1evaF.js";
9
9
  import { t as buildWorkspaceSkillStatus } from "./skills-status-g3ssrjuX.js";
10
10
  import { N as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-D7TcU4qN.js";
11
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-A18kwyah.js";
11
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DZg43vv8.js";
12
12
  import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-Dn6VXn4p.js";
13
13
  import { n as listChannelPlugins } from "./plugins-BsEhWvLn.js";
14
14
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-FeJ1M0mP.js";
15
15
  import { i as formatPortDiagnostics, n as inspectPortUsage } from "./ports-uA7P2qIK.js";
16
16
  import { c as resolveStorePath } from "./paths-DtiEyjsC.js";
17
- import { t as getMemorySearchManager } from "./memory-By9GyX8z.js";
17
+ import { t as getMemorySearchManager } from "./memory-DFpqcIst.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-CxLpEQOX.js";
19
19
  import { t as getRemoteSkillEligibility } from "./skills-remote-DSGpkPJE.js";
20
20
  import { _ as peekSystemEvents, b as formatChannelAllowFrom, d as formatUsageReportLines, n as sha256HexPrefix, o as readRestartSentinel, s as summarizeRestartSentinel, u as loadProviderUsageSummary, v as buildChannelSummary, y as buildChannelAccountSnapshot } from "./redact-identifier-BOxAUdff.js";
@@ -23,13 +23,13 @@ import { r as formatDurationPrecise } from "./format-duration-CIjmjQST.js";
23
23
  import { n as withProgress } from "./progress-CI19Xh3z.js";
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-CBCZwlBW.js";
25
25
  import { t as collectChannelStatusIssues } from "./channels-status-issues-BTvrA4nx.js";
26
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-Dpb3-BZm.js";
26
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-BcLPSb5N.js";
27
27
  import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-DYpU1ajf.js";
28
28
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-BgZqic8M.js";
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-D2oNwzue.js";
30
30
  import { t as renderTable } from "./table-D0JXlEhQ.js";
31
- import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-BkXjUIB4.js";
32
- import { t as formatHealthChannelLines } from "./health-Ba5X7a38.js";
31
+ import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-B7deV4Lp.js";
32
+ import { t as formatHealthChannelLines } from "./health-CJb2CYtg.js";
33
33
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-DLOnLuop.js";
34
34
  import { t as resolveNodeService } from "./node-service-CZlyWmxa.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-BcXs5iuf.js";
@@ -1,4 +1,4 @@
1
- import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-CSqDmSWt.js";
1
+ import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-CduaBH_0.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
3
3
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-DOrZjOnW.js";
4
4
  import { i as loadConfig } from "./config-B4jkreCN.js";
@@ -20,8 +20,8 @@ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as appl
20
20
  import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-CVLmi8rz.js";
21
21
  import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-D7TcU4qN.js";
22
22
  import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell } from "./shell-env-CTYaxUs_.js";
23
- import { Ht as SESSION_LABEL_MAX_LENGTH } from "./client-CdiymIXS.js";
24
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-A18kwyah.js";
23
+ import { Ht as SESSION_LABEL_MAX_LENGTH } from "./client-DCxeV1bw.js";
24
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-DZg43vv8.js";
25
25
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-DXToSaWK.js";
26
26
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BdV0rbga.js";
27
27
  import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-Dn6VXn4p.js";
@@ -49,8 +49,8 @@ import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsX
49
49
  import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-Byr7Gic_.js";
50
50
  import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-CiR_RUxw.js";
51
51
  import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DV3KhOhL.js";
52
- import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-By9GyX8z.js";
53
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-BUyQ1gFU.js";
52
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-DFpqcIst.js";
53
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-CxFs8Z_F.js";
54
54
  import { f as runTasksWithConcurrency } from "./internal-D3mEiuyB.js";
55
55
  import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-B2lBXhR0.js";
56
56
  import { n as resolveMarkdownTableMode } from "./markdown-tables-BEdkErjm.js";
@@ -83,9 +83,9 @@ import { t as emitSymframePush } from "./symframe-broadcast-BVxModY5.js";
83
83
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-CmU8iVio.js";
84
84
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BVJ4-d9c.js";
85
85
  import { t as parseTimeoutMs } from "./parse-timeout-widuTpq9.js";
86
- import { n as registerMemoryCli } from "./memory-cli-e5KEX6Ql.js";
86
+ import { n as registerMemoryCli } from "./memory-cli-DZnq3S6s.js";
87
87
  import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-CLREUzzB.js";
88
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-BeD_scvO.js";
88
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-06k__URR.js";
89
89
  import { createRequire } from "node:module";
90
90
  import { execFileSync, spawn, spawnSync } from "node:child_process";
91
91
  import process$1 from "node:process";
@@ -15410,11 +15410,18 @@ function buildAgentSystemPrompt(params) {
15410
15410
  " Correct: call exec with command=\"echo hi\", then summarise the actual stdout you received.",
15411
15411
  " Wrong: emit \"hi\" as text without calling exec — that's fabrication.",
15412
15412
  "",
15413
- "## Symframe (artifact display)",
15414
- "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.",
15415
- "The card appears at the top of the user's right-column symframe panel; chat stays clean for the conversation.",
15416
- "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`).",
15417
- "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.",
15413
+ "## Symframe (window into your mind)",
15414
+ "The right-column panel shows what you're thinking about, holding, considering, or producing. Push cards that represent your current mental state not just content too big for chat. Even small fragments belong here if they reflect what you're working with.",
15415
+ "Call `display_artifact` whenever you have an artifact (draft, snippet, reference, option) worth surfacing alongside the conversation. Always set `intent`:",
15416
+ " - `holding` keep this in working memory across turns (URLs, file paths, snippets)",
15417
+ " - `weighing` one option among siblings under consideration",
15418
+ " - `producing` — actively drafting; you intend to update this card again",
15419
+ " - `drafted` — finished artifact ready for the user to review (email, doc, code)",
15420
+ " - `reference` — read-only context you surfaced for the user (file excerpt, search hit)",
15421
+ " - `awaiting` — deferred/scheduled/in-flight work (sub-agent output, scheduled task)",
15422
+ "Renderer `type`: `text` · `markdown` · `code` (with `language` hljs hint) · `email-draft` (with `email: { from?, to, cc?, bcc?, subject, body }`) · `pdf` · `audio` · `video` (`url` + optional `mimeType`).",
15423
+ "Use `action: \"update\"` with the same `id` to revise a card you pushed earlier (e.g. iterate a draft across turns). `action: \"remove\"` to dismiss. Set `force: true` only when overriding a sticky card — sticky cards represent the user's pinned context and shouldn't be clobbered by routine pushes.",
15424
+ "After pushing, briefly tell the user what's in the panel (e.g. \"Drafted the email — shown in your panel.\"). Don't repeat the full content in chat.",
15418
15425
  "",
15419
15426
  ...compactMode ? [] : [
15420
15427
  "## Tool Call Style",
@@ -21033,6 +21040,23 @@ const ARTIFACT_ACTIONS = [
21033
21040
  "update",
21034
21041
  "remove"
21035
21042
  ];
21043
+ /**
21044
+ * Stage A: intent vocabulary added as orthogonal metadata to renderer type.
21045
+ * Intent answers "why is this card in the panel"; type answers "how to draw
21046
+ * it". Renderers ignore intent for now — it's stored on the registry entry
21047
+ * and surfaced as a data-intent attribute on the card root, ready for the
21048
+ * Stage B+ visual treatment (substrate prominence for drafted, clustering
21049
+ * for weighing, decay overrides, etc.). See
21050
+ * ~/Documents/dynamic-glass-panel.md §4.
21051
+ */
21052
+ const ARTIFACT_INTENTS = [
21053
+ "holding",
21054
+ "weighing",
21055
+ "producing",
21056
+ "awaiting",
21057
+ "drafted",
21058
+ "reference"
21059
+ ];
21036
21060
  const ActionSchema = Type.Object({
21037
21061
  label: Type.String(),
21038
21062
  kind: Type.Optional(stringEnum(["primary", "secondary"])),
@@ -21051,6 +21075,7 @@ const DisplayArtifactSchema = Type.Object({
21051
21075
  action: Type.Optional(stringEnum(ARTIFACT_ACTIONS)),
21052
21076
  id: Type.Optional(Type.String()),
21053
21077
  type: Type.Optional(stringEnum(ARTIFACT_TYPES)),
21078
+ intent: Type.Optional(stringEnum(ARTIFACT_INTENTS)),
21054
21079
  title: Type.Optional(Type.String()),
21055
21080
  body: Type.Optional(Type.String()),
21056
21081
  language: Type.Optional(Type.String()),
@@ -21060,7 +21085,8 @@ const DisplayArtifactSchema = Type.Object({
21060
21085
  poster: Type.Optional(Type.String()),
21061
21086
  email: Type.Optional(EmailFieldsSchema),
21062
21087
  actions: Type.Optional(Type.Array(ActionSchema)),
21063
- sticky: Type.Optional(Type.Boolean())
21088
+ sticky: Type.Optional(Type.Boolean()),
21089
+ force: Type.Optional(Type.Boolean())
21064
21090
  });
21065
21091
  function genCardId() {
21066
21092
  return `sf-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
@@ -21069,7 +21095,7 @@ function createDisplayArtifactTool() {
21069
21095
  return {
21070
21096
  label: "Display Artifact",
21071
21097
  name: "display_artifact",
21072
- 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.",
21098
+ description: "Push a card into the Glass UI symframe — the right-column window into your mind. Use for content that represents what you're thinking about, holding, considering, or producing — drafts, references you're keeping in view, options being weighed, generated artifacts. Always set `intent` (holding | weighing | producing | drafted | reference | awaiting). Renderer `type`: text | markdown | code | email-draft | pdf | audio | video. Returns the card id; pass action=update with the same id to revise (set force:true to update a sticky card), or action=remove to dismiss.",
21073
21099
  parameters: DisplayArtifactSchema,
21074
21100
  execute: async (_toolCallId, args) => {
21075
21101
  const params = args;
@@ -21080,10 +21106,12 @@ function createDisplayArtifactTool() {
21080
21106
  ok: false,
21081
21107
  error: `${action} requires an id`
21082
21108
  });
21109
+ const force = params.force === true;
21083
21110
  if (action === "remove") {
21084
21111
  emitSymframePush({
21085
21112
  action,
21086
- id
21113
+ id,
21114
+ force
21087
21115
  });
21088
21116
  return jsonResult({
21089
21117
  ok: true,
@@ -21094,6 +21122,7 @@ function createDisplayArtifactTool() {
21094
21122
  const card = { id };
21095
21123
  for (const key of [
21096
21124
  "type",
21125
+ "intent",
21097
21126
  "title",
21098
21127
  "body",
21099
21128
  "language",
@@ -21121,7 +21150,8 @@ function createDisplayArtifactTool() {
21121
21150
  emitSymframePush({
21122
21151
  action,
21123
21152
  id,
21124
- card
21153
+ card,
21154
+ force
21125
21155
  });
21126
21156
  return jsonResult({
21127
21157
  ok: true,
@@ -5,18 +5,18 @@ import "./model-selection-CMx1evaF.js";
5
5
  import "./manifest-registry-CVLmi8rz.js";
6
6
  import "./config-D7TcU4qN.js";
7
7
  import "./shell-env-CTYaxUs_.js";
8
- import "./client-CdiymIXS.js";
9
- import "./call-A18kwyah.js";
8
+ import "./client-DCxeV1bw.js";
9
+ import "./call-DZg43vv8.js";
10
10
  import "./message-channel-DXToSaWK.js";
11
11
  import "./pairing-token-B-OTYROz.js";
12
12
  import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
13
13
  import "./progress-CI19Xh3z.js";
14
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BmYtSmmM.js";
14
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-Bzg_TTKP.js";
15
15
  import fs from "node:fs/promises";
16
16
 
17
17
  //#region src/cli/symframe-cli.ts
18
18
  function registerSymframeCli(program) {
19
- addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove>", "Action (default: add)", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--json", "Output JSON", false)).action(async (opts) => {
19
+ addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove>", "Action (default: add)", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--intent <intent>", "Card intent (mental-state slot) — holding | weighing | producing | awaiting | drafted | reference").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--force", "Required to update or remove a sticky card (use sparingly)", false).option("--json", "Output JSON", false)).action(async (opts) => {
20
20
  try {
21
21
  const action = (opts.action ?? "add").trim();
22
22
  if (action !== "add" && action !== "update" && action !== "remove") throw new Error(`--action must be one of: add | update | remove (got '${action}')`);
@@ -24,12 +24,14 @@ function registerSymframeCli(program) {
24
24
  if (opts.file) bodyText = await fs.readFile(opts.file, "utf8");
25
25
  const params = { action };
26
26
  if (opts.id) params.id = opts.id;
27
+ if (opts.force) params.force = true;
27
28
  if (action === "remove") {
28
29
  if (!opts.id) throw new Error("--id is required for remove");
29
30
  } else {
30
31
  const card = {};
31
32
  if (opts.id) card.id = opts.id;
32
33
  if (opts.type) card.type = opts.type;
34
+ if (opts.intent) card.intent = opts.intent;
33
35
  if (opts.title) card.title = opts.title;
34
36
  if (bodyText !== void 0) card.body = bodyText;
35
37
  if (opts.language) card.language = opts.language;
@@ -11,17 +11,17 @@ import "./env-BRnPI9sO.js";
11
11
  import "./shell-env-Dc3iU7HK.js";
12
12
  import "./manifest-registry-D1MLZEjS.js";
13
13
  import "./message-channel-DgjXWzf-.js";
14
- import "./client-DDqXo-cF.js";
15
- import "./call-PpGwcPn-.js";
14
+ import "./client-k0MT6NBw.js";
15
+ import "./call-BccaLPi8.js";
16
16
  import "./pairing-token-Dcy37-4s.js";
17
17
  import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
18
18
  import "./progress-swt2y17x.js";
19
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DJ2ZjQmX.js";
19
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-D12UaJS5.js";
20
20
  import fs from "node:fs/promises";
21
21
 
22
22
  //#region src/cli/symframe-cli.ts
23
23
  function registerSymframeCli(program) {
24
- addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove>", "Action (default: add)", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--json", "Output JSON", false)).action(async (opts) => {
24
+ addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove>", "Action (default: add)", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--intent <intent>", "Card intent (mental-state slot) — holding | weighing | producing | awaiting | drafted | reference").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--force", "Required to update or remove a sticky card (use sparingly)", false).option("--json", "Output JSON", false)).action(async (opts) => {
25
25
  try {
26
26
  const action = (opts.action ?? "add").trim();
27
27
  if (action !== "add" && action !== "update" && action !== "remove") throw new Error(`--action must be one of: add | update | remove (got '${action}')`);
@@ -29,12 +29,14 @@ function registerSymframeCli(program) {
29
29
  if (opts.file) bodyText = await fs.readFile(opts.file, "utf8");
30
30
  const params = { action };
31
31
  if (opts.id) params.id = opts.id;
32
+ if (opts.force) params.force = true;
32
33
  if (action === "remove") {
33
34
  if (!opts.id) throw new Error("--id is required for remove");
34
35
  } else {
35
36
  const card = {};
36
37
  if (opts.id) card.id = opts.id;
37
38
  if (opts.type) card.type = opts.type;
39
+ if (opts.intent) card.intent = opts.intent;
38
40
  if (opts.title) card.title = opts.title;
39
41
  if (bodyText !== void 0) card.body = bodyText;
40
42
  if (opts.language) card.language = opts.language;
@@ -13,11 +13,11 @@ import "./skills-cLBEdkqu.js";
13
13
  import "./manifest-registry-CVLmi8rz.js";
14
14
  import "./config-D7TcU4qN.js";
15
15
  import "./shell-env-CTYaxUs_.js";
16
- import "./client-CdiymIXS.js";
17
- import "./call-A18kwyah.js";
16
+ import "./client-DCxeV1bw.js";
17
+ import "./call-DZg43vv8.js";
18
18
  import "./message-channel-DXToSaWK.js";
19
19
  import "./pairing-token-B-OTYROz.js";
20
- import { T as runAgentTurn } from "./subagent-registry-DwvGle7T.js";
20
+ import { T as runAgentTurn } from "./subagent-registry-V2o45tIn.js";
21
21
  import "./sessions-Dn6VXn4p.js";
22
22
  import "./plugins-BsEhWvLn.js";
23
23
  import "./send-Dq252-bi.js";
@@ -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-By9GyX8z.js";
51
- import "./manager-BUyQ1gFU.js";
50
+ import "./memory-DFpqcIst.js";
51
+ import "./manager-CxFs8Z_F.js";
52
52
  import "./sqlite-9jF_eajd.js";
53
53
  import "./chunk-B2lBXhR0.js";
54
54
  import "./markdown-tables-BEdkErjm.js";
@@ -79,10 +79,10 @@ import "./links-Dnmd-RS-.js";
79
79
  import "./cli-utils-DXfA5936.js";
80
80
  import "./help-format-Dbp8yEhl.js";
81
81
  import "./progress-CI19Xh3z.js";
82
- import "./memory-cli-e5KEX6Ql.js";
82
+ import "./memory-cli-DZnq3S6s.js";
83
83
  import "./logging-UO6tk8Em.js";
84
84
  import "./replies-CLREUzzB.js";
85
- import "./pi-tools.policy-BeD_scvO.js";
85
+ import "./pi-tools.policy-06k__URR.js";
86
86
 
87
87
  //#region src/memory/synthesis.ts
88
88
  const log = createSubsystemLogger("memory/synthesis");
@@ -6,7 +6,7 @@ import "./model-selection-BisYvTBb.js";
6
6
  import "./reply-prefix-i-FPYcoQ.js";
7
7
  import "./plugins-CZ_mYwXq.js";
8
8
  import "./replies-0nzkXt6o.js";
9
- import { n as runAgentTurn } from "./pi-embedded-DEoacZlB.js";
9
+ import { n as runAgentTurn } from "./pi-embedded-DJE9TMwq.js";
10
10
  import "./deliver-q23ar_Pm.js";
11
11
  import "./diagnostic-BdRnGknC.js";
12
12
  import "./diagnostic-session-state-DpxCUzoM.js";
@@ -23,7 +23,7 @@ import "./errors-BEU7IHU6.js";
23
23
  import "./tokens-yWO1wD7Z.js";
24
24
  import "./thinking-DgjGxdSP.js";
25
25
  import "./paths-BsT3BvfH.js";
26
- import "./manager-B8q57Pg2.js";
26
+ import "./manager-BhEbaYDa.js";
27
27
  import "./github-copilot-token-dYUr1mDQ.js";
28
28
  import "./sqlite-D8iYC_CU.js";
29
29
  import "./markdown-tables-jQzXAsf3.js";
@@ -3,15 +3,15 @@ import "./registry-C-JddWwo.js";
3
3
  import "./agent-scope-B1Ina6jV.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
5
5
  import "./workspace-CsaDUuDn.js";
6
- import { t as runAgentTurn } from "./unified-runner-CuhQvmLZ.js";
6
+ import { t as runAgentTurn } from "./unified-runner-CIQIkbvi.js";
7
7
  import "./auth-profiles-BSw0aQND.js";
8
8
  import "./model-selection-BqshlIZc.js";
9
- import "./deliver-BiWlR84Y.js";
9
+ import "./deliver-B04yNX82.js";
10
10
  import "./ssrf-DNhyFMRW.js";
11
11
  import "./boolean-BsqeuxE6.js";
12
12
  import "./shell-env-B1lDWz4t.js";
13
13
  import "./manifest-registry-BGJu2aC-.js";
14
- import "./chrome-OTJg3QKn.js";
14
+ import "./chrome-CmQwGAuL.js";
15
15
  import "./frontmatter-CJEX1BrH.js";
16
16
  import "./skills-Dm4gX4Tl.js";
17
17
  import "./redact-CSGZUFxa.js";
@@ -25,7 +25,7 @@ import "./paths-BsT3BvfH.js";
25
25
  import "./tokens-D_vCJSzF.js";
26
26
  import "./diagnostic-BALvP9wI.js";
27
27
  import "./diagnostic-session-state-BDfanaOY.js";
28
- import "./manager-BAcrpGcR.js";
28
+ import "./manager-B2SWSuad.js";
29
29
  import "./github-copilot-token-uhEBNQfj.js";
30
30
  import "./pi-auth-json-DCGR3yfh.js";
31
31
  import "./reply-prefix-D0NzzC4I.js";
@@ -1,4 +1,4 @@
1
- import { t as runAgentTurn } from "./unified-runner-CSqDmSWt.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";
@@ -50,8 +50,8 @@ import "./session-cost-usage-D3mgssM_.js";
50
50
  import "./session-utils-Cs1jlD-q.js";
51
51
  import "./with-timeout-DPR4A2dx.js";
52
52
  import "./reply-prefix-BFNeXT65.js";
53
- import "./memory-CHSa0jVf.js";
54
- import "./manager-BcWElKHq.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";
@@ -82,10 +82,10 @@ import "./links-Bqr0FxXx.js";
82
82
  import "./cli-utils-CuyGL3rq.js";
83
83
  import "./help-format-7hFcsqss.js";
84
84
  import "./progress-swt2y17x.js";
85
- import "./memory-cli-JTWldzg5.js";
85
+ import "./memory-cli-B-Cp1Sb1.js";
86
86
  import "./logging-BWknayJl.js";
87
87
  import "./replies-CbXXjn9X.js";
88
- import "./pi-tools.policy-CIw6PZ9e.js";
88
+ import "./pi-tools.policy-H2t-Xkfc.js";
89
89
  import "./model-MUMSB_7d.js";
90
90
 
91
91
  //#region src/memory/synthesis.ts
@@ -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
17
  import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
18
18
  import "./progress-swt2y17x.js";
19
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DJ2ZjQmX.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
12
  import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
13
13
  import "./progress-CI19Xh3z.js";
14
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BmYtSmmM.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) {
@@ -2,8 +2,8 @@ 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
9
  import { y as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-BQjRftRI.js";
@@ -7,8 +7,8 @@ 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";
@@ -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
42
  import { t as parseTimeoutMs } from "./parse-timeout-DmEcHIsV.js";
43
43
  import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
44
- import { t as runTui } from "./tui-mmN0hLk6.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,8 +7,8 @@ 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";
@@ -36,7 +36,7 @@ import "./commands-registry-D8LQ9fss.js";
36
36
  import "./tool-display-DxbOx1Kx.js";
37
37
  import { t as parseTimeoutMs } from "./parse-timeout-widuTpq9.js";
38
38
  import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
39
- import { t as runTui } from "./tui-CDovUd2Z.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) {