@symerian/symi 3.5.25 → 3.5.27

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 (161) hide show
  1. package/dist/{agent-DgVWcnlD.js → agent-CB5yb-7V.js} +1 -1
  2. package/dist/{agent-CBfp75J4.js → agent-DxRVDqSg.js} +1 -1
  3. package/dist/{agents-Dlcpc1K3.js → agents-DtRd3yEb.js} +3 -3
  4. package/dist/{audit-Ce-u6aaR.js → audit-C_3fAFeS.js} +2 -2
  5. package/dist/{audit-CPloCzEZ.js → audit-DyncRBKq.js} +2 -2
  6. package/dist/{auth-choice--DymOp5O.js → auth-choice-5SLfZiQ7.js} +2 -2
  7. package/dist/{auth-choice-CUvx59kv.js → auth-choice-DQplW60s.js} +2 -2
  8. package/dist/{banner-CY_9VW7E.js → banner-B_P_FrmA.js} +1 -1
  9. package/dist/{browser-cli-C5VVk6C9.js → browser-cli-CcCYZtag.js} +3 -3
  10. package/dist/{browser-cli-Ibgld3mA.js → browser-cli-D6xFqw9w.js} +3 -3
  11. package/dist/build-info.json +3 -3
  12. package/dist/bundled/boot-md/handler.js +2 -2
  13. package/dist/bundled/session-memory/handler.js +2 -2
  14. package/dist/{call-xdEE97oU.js → call-AZ9vNhST.js} +1 -1
  15. package/dist/{call-C2urR5Fj.js → call-DTshgdlW.js} +1 -1
  16. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  17. package/dist/{channel-options-rFgJaKzJ.js → channel-options-8NGYZjfd.js} +1 -1
  18. package/dist/{channel-options-DCmWOAc0.js → channel-options-DnWkDAWi.js} +1 -1
  19. package/dist/{channels-cli-QMHCRAb5.js → channels-cli-Bx90nSmB.js} +9 -9
  20. package/dist/{channels-cli-Cs1Z0dn8.js → channels-cli-CGCyzahW.js} +9 -9
  21. package/dist/{cli-BafqEuaj.js → cli-DHG9iZJi.js} +6 -6
  22. package/dist/{cli-CadU09SC.js → cli-DZAtyHzb.js} +6 -6
  23. package/dist/{client-yVTJ5jx5.js → client-BOd5o3Kp.js} +9 -1
  24. package/dist/{client-Cs9Bh-G0.js → client-DH75FlQF.js} +9 -1
  25. package/dist/{command-registry-CLm8TAH3.js → command-registry-DBbzZvh6.js} +11 -11
  26. package/dist/{completion-cli-Dd56ibFZ.js → completion-cli-Cbf0-8ob.js} +1 -1
  27. package/dist/{completion-cli-DOBXkVwG.js → completion-cli-DoQrkCAd.js} +2 -2
  28. package/dist/{config-cli-BgHYqFH1.js → config-cli-9a5qBcdo.js} +1 -1
  29. package/dist/{config-cli-GwUJEapt.js → config-cli-D4RmoOxe.js} +1 -1
  30. package/dist/{configure-5md67tCP.js → configure-kaf3aurx.js} +6 -6
  31. package/dist/{configure-DmzM0S7L.js → configure-ryB8EvyP.js} +6 -6
  32. package/dist/control-ui/css/style.css +311 -0
  33. package/dist/control-ui/index.html +42 -0
  34. package/dist/control-ui/js/symframe-modes.js +65 -0
  35. package/dist/control-ui/js/symframe.js +139 -0
  36. package/dist/{cron-cli-BNBs3zue.js → cron-cli-DsGkkt1s.js} +3 -3
  37. package/dist/{cron-cli-CE9bV9Et.js → cron-cli-VH_t2D1o.js} +3 -3
  38. package/dist/{daemon-cli-BYiG4GOU.js → daemon-cli-3PFXkheJ.js} +2 -2
  39. package/dist/{daemon-cli-DDqeG2nd.js → daemon-cli-dbAPTgGm.js} +2 -2
  40. package/dist/daemon-cli.js +9 -1
  41. package/dist/{devices-cli-Bhr6jGtH.js → devices-cli-Bhi1rWnT.js} +2 -2
  42. package/dist/{devices-cli-BJ3rVWOw.js → devices-cli-CIAuYH4P.js} +2 -2
  43. package/dist/{doctor-completion-BpUGRguQ.js → doctor-completion--j-3qqz6.js} +1 -1
  44. package/dist/{doctor-completion-k0HiL05o.js → doctor-completion-Bk55g4MP.js} +1 -1
  45. package/dist/entry.js +1 -1
  46. package/dist/{exec-approvals-cli-Cau1vPQI.js → exec-approvals-cli-BiXeyPPz.js} +4 -4
  47. package/dist/{exec-approvals-cli-CzvIqBUd.js → exec-approvals-cli-xTOKcyZh.js} +4 -4
  48. package/dist/extensionAPI.js +2 -2
  49. package/dist/{gateway-cli-D1d5YAt0.js → gateway-cli-B3FuQctH.js} +16 -16
  50. package/dist/{gateway-cli-DgmGygc6.js → gateway-cli-BGMVOW2G.js} +16 -16
  51. package/dist/{gateway-rpc-BTGT1SuZ.js → gateway-rpc-C6lKFbor.js} +1 -1
  52. package/dist/{gateway-rpc-Kv0-8W2E.js → gateway-rpc-DpRnrv_i.js} +1 -1
  53. package/dist/{glass-ui-ws-BH9WH_VN.js → glass-ui-ws-BJcI_IdV.js} +13 -13
  54. package/dist/{glass-ui-ws-Dl45d7eU.js → glass-ui-ws-Z-W33_mF.js} +13 -13
  55. package/dist/{health-DpE9GWGn.js → health-7UqIGG8U.js} +1 -1
  56. package/dist/{health-znS85U-F.js → health-Dkwuq8ta.js} +1 -1
  57. package/dist/{hooks-cli-Cb9BzCOY.js → hooks-cli-Bn6x6Jnj.js} +7 -7
  58. package/dist/{hooks-cli-D7xxbEwI.js → hooks-cli-D43GEG-W.js} +7 -7
  59. package/dist/index.js +10 -10
  60. package/dist/llm-slug-generator.js +2 -2
  61. package/dist/{logs-cli-DvIVuW0d.js → logs-cli-BTU7zrkU.js} +3 -3
  62. package/dist/{logs-cli-LiAjkog2.js → logs-cli-CJLJ745C.js} +3 -3
  63. package/dist/{manager-V4UCf0Av.js → manager-BHddoe4T.js} +1 -1
  64. package/dist/{manager-CoCX7L5u.js → manager-Cw7IJGbB.js} +1 -1
  65. package/dist/{manager-CceVgXHV.js → manager-DH00nlW8.js} +1 -1
  66. package/dist/{manager-Cv4xI8sP.js → manager-DbVMwpDc.js} +1 -1
  67. package/dist/{memory-B067LTL9.js → memory-BZ24UkLW.js} +2 -2
  68. package/dist/{memory-A2D5e8dL.js → memory-C02Znuee.js} +2 -2
  69. package/dist/{memory-cli-1zjVJITN.js → memory-cli-083UJtVJ.js} +2 -2
  70. package/dist/{memory-cli-D8Z_5-Nz.js → memory-cli-0HHYm-B8.js} +2 -2
  71. package/dist/{models-BYev6YAG.js → models-Bh_frCup.js} +3 -3
  72. package/dist/{models-cli-Fa5r1QYP.js → models-cli-BhBu4Dwm.js} +9 -9
  73. package/dist/{models-cli-C979SN3Z.js → models-cli-C2EXmrYH.js} +8 -8
  74. package/dist/{node-cli-Cv7x1gGu.js → node-cli-CBW_ECu_.js} +1 -1
  75. package/dist/{node-cli-DGybtex_.js → node-cli-CWbA6YCw.js} +1 -1
  76. package/dist/{nodes-cli-C-mEw2av.js → nodes-cli-BfHcv62i.js} +3 -3
  77. package/dist/{nodes-cli-DaHOBbd4.js → nodes-cli-CJ0gxF5n.js} +3 -3
  78. package/dist/{onboard-D-m6WTZl.js → onboard-BSxqEQfo.js} +3 -3
  79. package/dist/{onboard-CotuAZi6.js → onboard-DnwWawQO.js} +3 -3
  80. package/dist/{onboard-channels-Z-Jkrk5-.js → onboard-channels-BkR3MKMp.js} +1 -1
  81. package/dist/{onboard-channels-DSyynpou.js → onboard-channels-qDThNkyj.js} +1 -1
  82. package/dist/{onboard-helpers-CLXJ8zp0.js → onboard-helpers-7IGQ8nAM.js} +1 -1
  83. package/dist/{onboard-helpers-Dhr98nj8.js → onboard-helpers-t7tI9KSA.js} +1 -1
  84. package/dist/{onboard-remote-DZdMxd1Q.js → onboard-remote-DH3bPYbE.js} +1 -1
  85. package/dist/{onboard-remote-BYBai0w3.js → onboard-remote-Dr75eqOQ.js} +1 -1
  86. package/dist/{onboard-skills-2SUv-W7i.js → onboard-skills-Bjf7kWvg.js} +1 -1
  87. package/dist/{onboard-skills-BxJlS1Bk.js → onboard-skills-uO7HZwjc.js} +1 -1
  88. package/dist/{onboarding-BckHLQMV.js → onboarding-CrCGoZ4H.js} +7 -7
  89. package/dist/{onboarding-BnoGiOh3.js → onboarding-DxZAGVkD.js} +7 -7
  90. package/dist/{onboarding.finalize-CbH_ShIW.js → onboarding.finalize-BYzduVFA.js} +9 -9
  91. package/dist/{onboarding.finalize-g86Q4433.js → onboarding.finalize-Dt-rcgpk.js} +8 -8
  92. package/dist/{onboarding.gateway-config-CEXjbEM0.js → onboarding.gateway-config-CkP7K4EN.js} +3 -3
  93. package/dist/{onboarding.gateway-config-sNSeEykB.js → onboarding.gateway-config-xWUSbtoY.js} +3 -3
  94. package/dist/{pi-embedded-B9rtlNMc.js → pi-embedded-DGnpyHm-.js} +50 -7
  95. package/dist/{plugin-registry-CS4WgHbu.js → plugin-registry-B74FBx4U.js} +1 -1
  96. package/dist/{plugin-registry-AsC9gydF.js → plugin-registry-D2_TLnOr.js} +1 -1
  97. package/dist/plugin-sdk/agents/tools/browser-tool.schema.d.ts +1 -1
  98. package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +5 -1
  99. package/dist/plugin-sdk/infra/symframe-broadcast.d.ts +7 -2
  100. package/dist/{plugins-cli-BY42hyHP.js → plugins-cli-Cmf3kRf5.js} +7 -7
  101. package/dist/{plugins-cli-CbByGz8z.js → plugins-cli-CqV1Q7ao.js} +7 -7
  102. package/dist/{program-P9F1DxBa.js → program-CGuYYumL.js} +12 -12
  103. package/dist/{program-context-CiyK6MfV.js → program-context-B0ovpbFU.js} +30 -30
  104. package/dist/{prompt-select-styled-DaNQ_GgB.js → prompt-select-styled-B5GrNfqR.js} +7 -7
  105. package/dist/{prompt-select-styled-B2ah467m.js → prompt-select-styled-b752FPLG.js} +7 -7
  106. package/dist/{provider-auth-helpers-Bgb_Bfp9.js → provider-auth-helpers-BKveYcEH.js} +1 -1
  107. package/dist/{provider-auth-helpers-D2FDvwT5.js → provider-auth-helpers-DU8RlQz7.js} +1 -1
  108. package/dist/{push-apns-va-DRu4U.js → push-apns-CyAPMMJC.js} +1 -1
  109. package/dist/{push-apns-DnSCjFu7.js → push-apns-HNg0rTkI.js} +1 -1
  110. package/dist/{register.agent-BqdQ0s30.js → register.agent-BKbQhrre.js} +11 -11
  111. package/dist/{register.agent-BuEcmVg0.js → register.agent-DbPYGG3u.js} +12 -12
  112. package/dist/{register.configure-YDKJ-KQg.js → register.configure-B0M15y31.js} +14 -14
  113. package/dist/{register.configure-Dhwi-4FG.js → register.configure-C4_ShaQV.js} +14 -14
  114. package/dist/{register.maintenance-iMjNw9uy.js → register.maintenance-BOYWTu9C.js} +12 -12
  115. package/dist/{register.maintenance-BiGvpEj-.js → register.maintenance-bzLNOqch.js} +13 -13
  116. package/dist/{register.message-BIuLbESM.js → register.message-Bfukmte_.js} +7 -7
  117. package/dist/{register.message-Ao_b9s2g.js → register.message-BtCthbpo.js} +7 -7
  118. package/dist/{register.onboard-C4vIASed.js → register.onboard-CDsSVoFI.js} +6 -6
  119. package/dist/{register.onboard-ymhSAezZ.js → register.onboard-D5GmuX8K.js} +6 -6
  120. package/dist/{register.setup-D-Jt2e1d.js → register.setup-Bp8rYeRx.js} +6 -6
  121. package/dist/{register.setup-CKs9mqtD.js → register.setup-DzospfSf.js} +6 -6
  122. package/dist/{register.status-health-sessions-BY9hMD1s.js → register.status-health-sessions-DE2db_Uo.js} +8 -8
  123. package/dist/{register.status-health-sessions-U-azRmpb.js → register.status-health-sessions-NVbWTQpZ.js} +8 -8
  124. package/dist/{register.subclis-Cibmeapc.js → register.subclis-QXO75pUm.js} +20 -20
  125. package/dist/{rpc-DjqFrbOc.js → rpc-B1czfnym.js} +1 -1
  126. package/dist/{rpc-BnAKPQDB.js → rpc-BBtNUyxN.js} +1 -1
  127. package/dist/{run-main-BhEQjKtM.js → run-main-MD8Z8ydF.js} +20 -20
  128. package/dist/{security-cli-CS-ZT1LE.js → security-cli-DZ-6QDRB.js} +3 -3
  129. package/dist/{security-cli-JKsf9SIu.js → security-cli-l59T6lAJ.js} +3 -3
  130. package/dist/{server-methods-B2tykucj.js → server-methods-Bl41VzMu.js} +18 -12
  131. package/dist/{server-methods-CWxr5b-w.js → server-methods-DTkVQH8Q.js} +18 -12
  132. package/dist/{server-node-events-ClDEcUTJ.js → server-node-events-C0smPxrR.js} +8 -8
  133. package/dist/{server-node-events-BKqszk_a.js → server-node-events-CxYKzrbU.js} +8 -8
  134. package/dist/{status-ojZB_Lrf.js → status-BEZotN01.js} +5 -5
  135. package/dist/{status-DHBVIMyL.js → status-D7QX7VDk.js} +5 -5
  136. package/dist/{status-DPGFZPpp.js → status-DrWy5OkC.js} +1 -1
  137. package/dist/{status-K1k4g3Ai.js → status-OTYFx93W.js} +1 -1
  138. package/dist/{subagent-registry-BOt7g9hn.js → subagent-registry-CVhLz4p3.js} +43 -8
  139. package/dist/{symframe-cli-CrUtJw_7.js → symframe-cli-BSAQ05fb.js} +22 -6
  140. package/dist/{symframe-cli-CX3dINPw.js → symframe-cli-BVmRLRid.js} +22 -6
  141. package/dist/{synthesis-Bc2QkGvt.js → synthesis-C1mZnGqD.js} +2 -2
  142. package/dist/{synthesis-yl24Ovw4.js → synthesis-CO5pr92g.js} +2 -2
  143. package/dist/{synthesis-BIQLrbys.js → synthesis-RhT991Ni.js} +6 -6
  144. package/dist/{synthesis-DmqicCsT.js → synthesis-ts2nG0tK.js} +6 -6
  145. package/dist/{system-cli-DUHzCGfK.js → system-cli-Du1GEeoO.js} +3 -3
  146. package/dist/{system-cli-CvN-Wq9U.js → system-cli-Dy6_0Qp7.js} +3 -3
  147. package/dist/{tui-DCqVZ6sC.js → tui-B2MY6Mj2.js} +2 -2
  148. package/dist/{tui-cli-DqvgN5ng.js → tui-cli-B-DKpOxE.js} +3 -3
  149. package/dist/{tui-cli-CI-P3sei.js → tui-cli-BMEnosW9.js} +3 -3
  150. package/dist/{tui-BxgdImL_.js → tui-h57L-YTX.js} +2 -2
  151. package/dist/{unified-runner-CznU7Ad0.js → unified-runner-4O0ifBsI.js} +43 -8
  152. package/dist/{unified-runner-BV5TdNFv.js → unified-runner-O3qR5Iie.js} +50 -7
  153. package/dist/{update-cli-DBoIBDNe.js → update-cli-BMURsYJU.js} +13 -13
  154. package/dist/{update-cli-Dn6QQZLd.js → update-cli-D9g9s187.js} +14 -14
  155. package/extensions/memory-core/package.json +1 -1
  156. package/extensions/msteams/CHANGELOG.md +12 -0
  157. package/extensions/msteams/package.json +1 -1
  158. package/extensions/open-prose/package.json +1 -1
  159. package/extensions/outlook/package.json +1 -1
  160. package/extensions/slack/package.json +1 -1
  161. package/package.json +1 -1
@@ -52,8 +52,8 @@ import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o
52
52
  import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-Cs1jlD-q.js";
53
53
  import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-DPR4A2dx.js";
54
54
  import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BFNeXT65.js";
55
- import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-B067LTL9.js";
56
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-CoCX7L5u.js";
55
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-BZ24UkLW.js";
56
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-Cw7IJGbB.js";
57
57
  import { f as runTasksWithConcurrency } from "./internal-DVCddhhN.js";
58
58
  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-BxfKjCUx.js";
59
59
  import { n as resolveMarkdownTableMode } from "./markdown-tables-CS1Tvb3z.js";
@@ -62,8 +62,8 @@ import { t as fetchWithSsrFGuard } from "./fetch-guard-JHxT9355.js";
62
62
  import { n as getDefaultMediaLocalRoots } from "./local-roots-CgDCgCuM.js";
63
63
  import { i as resolveNativeSkillsEnabled, n as isRestartEnabled, r as resolveNativeCommandsEnabled, t as isCommandFlagEnabled } from "./commands-DUzLGgEZ.js";
64
64
  import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-Ca5hh7nh.js";
65
- import { Ht as SESSION_LABEL_MAX_LENGTH } from "./client-Cs9Bh-G0.js";
66
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-xdEE97oU.js";
65
+ import { Ht as SESSION_LABEL_MAX_LENGTH } from "./client-DH75FlQF.js";
66
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-AZ9vNhST.js";
67
67
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DFOL6UQ9.js";
68
68
  import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
69
69
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-B7Rvs8pK.js";
@@ -86,7 +86,7 @@ import { t as emitSymframePush } from "./symframe-broadcast-CXo2qoxy.js";
86
86
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-H1qOf0q-.js";
87
87
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-C1IIA6kH.js";
88
88
  import { t as parseTimeoutMs } from "./parse-timeout-DmEcHIsV.js";
89
- import { n as registerMemoryCli } from "./memory-cli-D8Z_5-Nz.js";
89
+ import { n as registerMemoryCli } from "./memory-cli-0HHYm-B8.js";
90
90
  import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-CbXXjn9X.js";
91
91
  import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-H2t-Xkfc.js";
92
92
  import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-MUMSB_7d.js";
@@ -4695,6 +4695,12 @@ function buildAgentSystemPrompt(params) {
4695
4695
  " - `recall` — re-summon a recently-released card (id optional → most-recent).",
4696
4696
  " - `pin` — persist a card across reload + /new (user-curated; the user can also pin from the UI).",
4697
4697
  " - `unpin` — remove the pin; does NOT drop the card.",
4698
+ "Panel modes (Stage D — `action: \"setMode\"` with `mode` and optional `focusedId`):",
4699
+ " - `ambient` (default) — substrate + cards + AWAITING all visible. Normal multi-task posture.",
4700
+ " - `focus` — one card centered, substrate dim, AWAITING hidden. Use when actively iterating on a single artifact (e.g. drafting an email). Pass `focusedId` to halo a specific card.",
4701
+ " - `awaiting` — footer prominent, cards collapsed to titles. Use when you've kicked off long-running work (subagents, scheduled tasks) and the user is waiting for results.",
4702
+ " - `quiet` — substrate only, cards + AWAITING hidden. Use when you're thinking and have nothing actionable to surface yet.",
4703
+ "Modes are sticky until you `setMode` again or the user overrides via the header chips. Default to `ambient`; pick `focus` only when you genuinely want a single card to dominate; pick `awaiting` only when waiting is the user's primary experience.",
4698
4704
  "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.",
4699
4705
  "",
4700
4706
  ...compactMode ? [] : [
@@ -25940,7 +25946,14 @@ const ARTIFACT_ACTIONS = [
25940
25946
  "release",
25941
25947
  "recall",
25942
25948
  "pin",
25943
- "unpin"
25949
+ "unpin",
25950
+ "setMode"
25951
+ ];
25952
+ const PANEL_MODES = [
25953
+ "ambient",
25954
+ "focus",
25955
+ "awaiting",
25956
+ "quiet"
25944
25957
  ];
25945
25958
  /**
25946
25959
  * Stage A: intent vocabulary added as orthogonal metadata to renderer type.
@@ -25988,7 +26001,9 @@ const DisplayArtifactSchema = Type.Object({
25988
26001
  email: Type.Optional(EmailFieldsSchema),
25989
26002
  actions: Type.Optional(Type.Array(ActionSchema)),
25990
26003
  sticky: Type.Optional(Type.Boolean()),
25991
- force: Type.Optional(Type.Boolean())
26004
+ force: Type.Optional(Type.Boolean()),
26005
+ mode: Type.Optional(stringEnum(PANEL_MODES)),
26006
+ focusedId: Type.Optional(Type.String())
25992
26007
  });
25993
26008
  function genCardId() {
25994
26009
  return `sf-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
@@ -25997,12 +26012,32 @@ function createDisplayArtifactTool() {
25997
26012
  return {
25998
26013
  label: "Display Artifact",
25999
26014
  name: "display_artifact",
26000
- 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), action=remove to dismiss. Stage-C attention verbs (id-only, no card body): action=dwell pulls a card to the top with a brief highlight, action=release softly fades a card out (recoverable via recall), action=recall re-summons a recently-released card (id optional → most recent), action=pin persists across reload, action=unpin removes the pin.",
26015
+ 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), action=remove to dismiss. Stage-C attention verbs (id-only, no card body): action=dwell pulls a card to the top with a brief highlight, action=release softly fades a card out (recoverable via recall), action=recall re-summons a recently-released card (id optional → most recent), action=pin persists across reload, action=unpin removes the pin. Stage-D mode verb: action=setMode with mode=ambient|focus|awaiting|quiet (optional focusedId for focus) switches the panel's posture for the current task.",
26001
26016
  parameters: DisplayArtifactSchema,
26002
26017
  execute: async (_toolCallId, args) => {
26003
26018
  const params = args;
26004
26019
  const actionRaw = readStringParam(params, "action");
26005
26020
  const action = ARTIFACT_ACTIONS.includes(actionRaw ?? "") ? actionRaw : "add";
26021
+ if (action === "setMode") {
26022
+ const modeRaw = readStringParam(params, "mode");
26023
+ if (!modeRaw || !PANEL_MODES.includes(modeRaw)) return jsonResult({
26024
+ ok: false,
26025
+ error: `setMode requires \`mode\` ∈ {${PANEL_MODES.join(" | ")}}`
26026
+ });
26027
+ const mode = modeRaw;
26028
+ const focusedId = readStringParam(params, "focusedId");
26029
+ emitSymframePush({
26030
+ action: "setMode",
26031
+ mode,
26032
+ focusedId: focusedId || void 0
26033
+ });
26034
+ return jsonResult({
26035
+ ok: true,
26036
+ action,
26037
+ mode,
26038
+ focusedId
26039
+ });
26040
+ }
26006
26041
  const id = readStringParam(params, "id") || (action === "add" ? genCardId() : void 0);
26007
26042
  if (action !== "add" && action !== "recall" && !id) return jsonResult({
26008
26043
  ok: false,
@@ -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-Cv4xI8sP.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-DbVMwpDc.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-Cv4xI8sP.js").then((n) => n.t);
4463
+ const { MemoryIndexManager } = await import("./manager-DbVMwpDc.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-Cv4xI8sP.js").then((n) => n.t);
4476
+ const { MemoryIndexManager } = await import("./manager-DbVMwpDc.js").then((n) => n.t);
4477
4477
  return { manager: await MemoryIndexManager.get(params) };
4478
4478
  } catch (err) {
4479
4479
  return {
@@ -7464,6 +7464,12 @@ function buildAgentSystemPrompt(params) {
7464
7464
  " - `recall` — re-summon a recently-released card (id optional → most-recent).",
7465
7465
  " - `pin` — persist a card across reload + /new (user-curated; the user can also pin from the UI).",
7466
7466
  " - `unpin` — remove the pin; does NOT drop the card.",
7467
+ "Panel modes (Stage D — `action: \"setMode\"` with `mode` and optional `focusedId`):",
7468
+ " - `ambient` (default) — substrate + cards + AWAITING all visible. Normal multi-task posture.",
7469
+ " - `focus` — one card centered, substrate dim, AWAITING hidden. Use when actively iterating on a single artifact (e.g. drafting an email). Pass `focusedId` to halo a specific card.",
7470
+ " - `awaiting` — footer prominent, cards collapsed to titles. Use when you've kicked off long-running work (subagents, scheduled tasks) and the user is waiting for results.",
7471
+ " - `quiet` — substrate only, cards + AWAITING hidden. Use when you're thinking and have nothing actionable to surface yet.",
7472
+ "Modes are sticky until you `setMode` again or the user overrides via the header chips. Default to `ambient`; pick `focus` only when you genuinely want a single card to dominate; pick `awaiting` only when waiting is the user's primary experience.",
7467
7473
  "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.",
7468
7474
  "",
7469
7475
  ...compactMode ? [] : [
@@ -9175,9 +9181,17 @@ const ChatSymframePushParamsSchema = Type.Object({
9175
9181
  Type.Literal("release"),
9176
9182
  Type.Literal("recall"),
9177
9183
  Type.Literal("pin"),
9178
- Type.Literal("unpin")
9184
+ Type.Literal("unpin"),
9185
+ Type.Literal("setMode")
9179
9186
  ]),
9180
9187
  id: Type.Optional(NonEmptyString),
9188
+ mode: Type.Optional(Type.Union([
9189
+ Type.Literal("ambient"),
9190
+ Type.Literal("focus"),
9191
+ Type.Literal("awaiting"),
9192
+ Type.Literal("quiet")
9193
+ ])),
9194
+ focusedId: Type.Optional(NonEmptyString),
9181
9195
  force: Type.Optional(Type.Boolean()),
9182
9196
  card: Type.Optional(Type.Object({
9183
9197
  id: Type.Optional(NonEmptyString),
@@ -37055,7 +37069,14 @@ const ARTIFACT_ACTIONS = [
37055
37069
  "release",
37056
37070
  "recall",
37057
37071
  "pin",
37058
- "unpin"
37072
+ "unpin",
37073
+ "setMode"
37074
+ ];
37075
+ const PANEL_MODES = [
37076
+ "ambient",
37077
+ "focus",
37078
+ "awaiting",
37079
+ "quiet"
37059
37080
  ];
37060
37081
  /**
37061
37082
  * Stage A: intent vocabulary added as orthogonal metadata to renderer type.
@@ -37103,7 +37124,9 @@ const DisplayArtifactSchema = Type.Object({
37103
37124
  email: Type.Optional(EmailFieldsSchema),
37104
37125
  actions: Type.Optional(Type.Array(ActionSchema)),
37105
37126
  sticky: Type.Optional(Type.Boolean()),
37106
- force: Type.Optional(Type.Boolean())
37127
+ force: Type.Optional(Type.Boolean()),
37128
+ mode: Type.Optional(stringEnum(PANEL_MODES)),
37129
+ focusedId: Type.Optional(Type.String())
37107
37130
  });
37108
37131
  function genCardId() {
37109
37132
  return `sf-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
@@ -37112,12 +37135,32 @@ function createDisplayArtifactTool() {
37112
37135
  return {
37113
37136
  label: "Display Artifact",
37114
37137
  name: "display_artifact",
37115
- 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), action=remove to dismiss. Stage-C attention verbs (id-only, no card body): action=dwell pulls a card to the top with a brief highlight, action=release softly fades a card out (recoverable via recall), action=recall re-summons a recently-released card (id optional → most recent), action=pin persists across reload, action=unpin removes the pin.",
37138
+ 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), action=remove to dismiss. Stage-C attention verbs (id-only, no card body): action=dwell pulls a card to the top with a brief highlight, action=release softly fades a card out (recoverable via recall), action=recall re-summons a recently-released card (id optional → most recent), action=pin persists across reload, action=unpin removes the pin. Stage-D mode verb: action=setMode with mode=ambient|focus|awaiting|quiet (optional focusedId for focus) switches the panel's posture for the current task.",
37116
37139
  parameters: DisplayArtifactSchema,
37117
37140
  execute: async (_toolCallId, args) => {
37118
37141
  const params = args;
37119
37142
  const actionRaw = readStringParam(params, "action");
37120
37143
  const action = ARTIFACT_ACTIONS.includes(actionRaw ?? "") ? actionRaw : "add";
37144
+ if (action === "setMode") {
37145
+ const modeRaw = readStringParam(params, "mode");
37146
+ if (!modeRaw || !PANEL_MODES.includes(modeRaw)) return jsonResult({
37147
+ ok: false,
37148
+ error: `setMode requires \`mode\` ∈ {${PANEL_MODES.join(" | ")}}`
37149
+ });
37150
+ const mode = modeRaw;
37151
+ const focusedId = readStringParam(params, "focusedId");
37152
+ emitSymframePush({
37153
+ action: "setMode",
37154
+ mode,
37155
+ focusedId: focusedId || void 0
37156
+ });
37157
+ return jsonResult({
37158
+ ok: true,
37159
+ action,
37160
+ mode,
37161
+ focusedId
37162
+ });
37163
+ }
37121
37164
  const id = readStringParam(params, "id") || (action === "add" ? genCardId() : void 0);
37122
37165
  if (action !== "add" && action !== "recall" && !id) return jsonResult({
37123
37166
  ok: false,
@@ -1,4 +1,4 @@
1
- import "./unified-runner-CznU7Ad0.js";
1
+ import "./unified-runner-4O0ifBsI.js";
2
2
  import { j as theme } from "./registry-Sbac4a4z.js";
3
3
  import { _ as resolveStateDir } from "./paths-By0XjHBk.js";
4
4
  import { f as pathExists } from "./utils-CTPsqyE_.js";
@@ -53,8 +53,8 @@ import "./session-cost-usage-D3mgssM_.js";
53
53
  import { h as trimLogTail } from "./session-utils-Cs1jlD-q.js";
54
54
  import "./with-timeout-DPR4A2dx.js";
55
55
  import "./reply-prefix-BFNeXT65.js";
56
- import "./memory-B067LTL9.js";
57
- import "./manager-CoCX7L5u.js";
56
+ import "./memory-BZ24UkLW.js";
57
+ import "./manager-Cw7IJGbB.js";
58
58
  import "./sqlite-Cod7C5ba.js";
59
59
  import "./chunk-BxfKjCUx.js";
60
60
  import "./markdown-tables-CS1Tvb3z.js";
@@ -62,8 +62,8 @@ import "./fetch-guard-JHxT9355.js";
62
62
  import "./local-roots-CgDCgCuM.js";
63
63
  import "./commands-DUzLGgEZ.js";
64
64
  import "./commands-registry-Ca5hh7nh.js";
65
- import "./client-Cs9Bh-G0.js";
66
- import "./call-xdEE97oU.js";
65
+ import "./client-DH75FlQF.js";
66
+ import "./call-AZ9vNhST.js";
67
67
  import "./pairing-token-Dcy37-4s.js";
68
68
  import "./tool-display-DFOL6UQ9.js";
69
69
  import "./skills-remote-bz71Bstn.js";
@@ -87,13 +87,13 @@ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
87
87
  import "./cli-utils-CuyGL3rq.js";
88
88
  import { t as formatHelpExamples } from "./help-format-7hFcsqss.js";
89
89
  import "./progress-swt2y17x.js";
90
- import "./memory-cli-D8Z_5-Nz.js";
90
+ import "./memory-cli-0HHYm-B8.js";
91
91
  import "./logging-BWknayJl.js";
92
92
  import "./replies-CbXXjn9X.js";
93
93
  import "./pi-tools.policy-H2t-Xkfc.js";
94
94
  import "./model-MUMSB_7d.js";
95
95
  import { r as parseSemver } from "./runtime-guard-CWA00ZXa.js";
96
- import "./program-context-CiyK6MfV.js";
96
+ import "./program-context-B0ovpbFU.js";
97
97
  import "./catalog-BptA-dUv.js";
98
98
  import "./skills-status-BKX1PjCc.js";
99
99
  import { n as inheritOptionFromParent } from "./command-options-DDDwkB9t.js";
@@ -105,17 +105,17 @@ import "./npm-registry-spec-DTqn-NXZ.js";
105
105
  import "./skill-scanner-BCgVcIwi.js";
106
106
  import "./installs-D890uIIW.js";
107
107
  import "./channels-status-issues-DLIzUsjR.js";
108
- import { r as installCompletion } from "./completion-cli-Dd56ibFZ.js";
108
+ import { r as installCompletion } from "./completion-cli-Cbf0-8ob.js";
109
109
  import "./daemon-runtime-DlQla_dA.js";
110
- import "./onboard-helpers-CLXJ8zp0.js";
110
+ import "./onboard-helpers-7IGQ8nAM.js";
111
111
  import "./systemd-CUIM0n5P.js";
112
112
  import { t as resolveGatewayService } from "./service-e6MzlLCd.js";
113
113
  import "./lifecycle-core-wFwnK_mD.js";
114
114
  import "./systemd-hints-CsrzMCTD.js";
115
- import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-BYiG4GOU.js";
115
+ import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-3PFXkheJ.js";
116
116
  import "./diagnostics-DlZODdRf.js";
117
117
  import { t as renderTable } from "./table-0A3xKJVC.js";
118
- import "./health-DpE9GWGn.js";
118
+ import "./health-7UqIGG8U.js";
119
119
  import "./control-ui-assets-CJQ97d4u.js";
120
120
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-BCL_K7kx.js";
121
121
  import "./dm-policy-shared-CeFt0nch.js";
@@ -126,8 +126,8 @@ import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from
126
126
  import "./doctor-config-flow-C52W1uUK.js";
127
127
  import "./systemd-linger-BzYk7A6M.js";
128
128
  import "./health-format-Bxg84_f4.js";
129
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DaNQ_GgB.js";
130
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BpUGRguQ.js";
129
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-B5GrNfqR.js";
130
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion--j-3qqz6.js";
131
131
  import path from "node:path";
132
132
  import os from "node:os";
133
133
  import fs from "node:fs/promises";
@@ -17,11 +17,11 @@ import "./manifest-registry-CVLmi8rz.js";
17
17
  import "./skills-status-g3ssrjuX.js";
18
18
  import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-D7TcU4qN.js";
19
19
  import "./shell-env-CTYaxUs_.js";
20
- import "./client-yVTJ5jx5.js";
21
- import "./call-C2urR5Fj.js";
20
+ import "./client-BOd5o3Kp.js";
21
+ import "./call-DTshgdlW.js";
22
22
  import "./message-channel-DXToSaWK.js";
23
23
  import "./pairing-token-B-OTYROz.js";
24
- import "./subagent-registry-BOt7g9hn.js";
24
+ import "./subagent-registry-CVhLz4p3.js";
25
25
  import "./sessions-Dn6VXn4p.js";
26
26
  import "./plugins-BsEhWvLn.js";
27
27
  import "./send-Dq252-bi.js";
@@ -51,8 +51,8 @@ import "./model-auth-Byr7Gic_.js";
51
51
  import "./github-copilot-token-B5y4__YM.js";
52
52
  import "./models-config-CiR_RUxw.js";
53
53
  import "./reply-prefix-DV3KhOhL.js";
54
- import "./memory-A2D5e8dL.js";
55
- import "./manager-CceVgXHV.js";
54
+ import "./memory-C02Znuee.js";
55
+ import "./manager-DH00nlW8.js";
56
56
  import "./sqlite-9jF_eajd.js";
57
57
  import "./chunk-B2lBXhR0.js";
58
58
  import "./markdown-tables-BEdkErjm.js";
@@ -85,7 +85,7 @@ import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
85
85
  import "./cli-utils-DXfA5936.js";
86
86
  import { t as formatHelpExamples } from "./help-format-Dbp8yEhl.js";
87
87
  import "./progress-CI19Xh3z.js";
88
- import "./memory-cli-1zjVJITN.js";
88
+ import "./memory-cli-083UJtVJ.js";
89
89
  import "./logging-UO6tk8Em.js";
90
90
  import "./replies-CLREUzzB.js";
91
91
  import "./pi-tools.policy-06k__URR.js";
@@ -99,21 +99,21 @@ import "./npm-registry-spec-BPgK9EL7.js";
99
99
  import "./skill-scanner-BC3PyNso.js";
100
100
  import "./installs-Dunp9UFl.js";
101
101
  import "./channels-status-issues-BTvrA4nx.js";
102
- import "./register.subclis-Cibmeapc.js";
103
- import "./command-registry-CLm8TAH3.js";
102
+ import "./register.subclis-QXO75pUm.js";
103
+ import "./command-registry-DBbzZvh6.js";
104
104
  import "./program-context-B_0V80zV.js";
105
- import { r as installCompletion } from "./completion-cli-DOBXkVwG.js";
105
+ import { r as installCompletion } from "./completion-cli-DoQrkCAd.js";
106
106
  import "./daemon-runtime-AkgOtHR6.js";
107
107
  import { r as parseSemver } from "./runtime-guard-LRRZ73eX.js";
108
- import "./onboard-helpers-Dhr98nj8.js";
108
+ import "./onboard-helpers-t7tI9KSA.js";
109
109
  import "./systemd-CNnW7Chw.js";
110
110
  import { t as resolveGatewayService } from "./service-DYpU1ajf.js";
111
111
  import "./lifecycle-core-YmWzkN43.js";
112
112
  import "./systemd-hints-BoFy3-m1.js";
113
- import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-DDqeG2nd.js";
113
+ import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-dbAPTgGm.js";
114
114
  import "./diagnostics-D2oNwzue.js";
115
115
  import { t as renderTable } from "./table-D0JXlEhQ.js";
116
- import "./health-znS85U-F.js";
116
+ import "./health-Dkwuq8ta.js";
117
117
  import "./control-ui-assets-Dnz69KRU.js";
118
118
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-DLOnLuop.js";
119
119
  import "./dm-policy-shared-BtrdvOIT.js";
@@ -124,8 +124,8 @@ import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from
124
124
  import "./doctor-config-flow-BIBJeoRl.js";
125
125
  import "./systemd-linger-CctFkWNE.js";
126
126
  import "./health-format-6tfMqkNX.js";
127
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-B2ah467m.js";
128
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-k0HiL05o.js";
127
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-b752FPLG.js";
128
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Bk55g4MP.js";
129
129
  import { spawn, spawnSync } from "node:child_process";
130
130
  import os from "node:os";
131
131
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/memory-core",
3
- "version": "3.5.25",
3
+ "version": "3.5.27",
4
4
  "private": true,
5
5
  "description": "Symi core memory search plugin",
6
6
  "type": "module",
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.5.27
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core Symi release numbers.
8
+
9
+ ## 3.5.26
10
+
11
+ ### Changes
12
+
13
+ - Version alignment with core Symi release numbers.
14
+
3
15
  ## 3.5.25
4
16
 
5
17
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/msteams",
3
- "version": "3.5.25",
3
+ "version": "3.5.27",
4
4
  "description": "Symi Microsoft Teams channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/open-prose",
3
- "version": "3.5.25",
3
+ "version": "3.5.27",
4
4
  "private": true,
5
5
  "description": "OpenProse VM skill pack plugin (slash command + telemetry).",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/outlook",
3
- "version": "3.5.25",
3
+ "version": "3.5.27",
4
4
  "private": true,
5
5
  "description": "Symi Outlook 365 email integration via Microsoft Graph API",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/slack",
3
- "version": "3.5.25",
3
+ "version": "3.5.27",
4
4
  "private": true,
5
5
  "description": "Symi Slack channel plugin",
6
6
  "type": "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symerian/symi",
3
- "version": "3.5.25",
3
+ "version": "3.5.27",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/jaysteelmind/symi#readme",