@symerian/symi 3.5.27 → 3.5.28

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 (113) hide show
  1. package/dist/{agent-DxRVDqSg.js → agent-BsRYHa15.js} +1 -1
  2. package/dist/{agent-CB5yb-7V.js → agent-TRt_SsAW.js} +1 -1
  3. package/dist/{agents-DtRd3yEb.js → agents-7qMp2MWu.js} +2 -2
  4. package/dist/{auth-choice-5SLfZiQ7.js → auth-choice-C8lwYiEQ.js} +1 -1
  5. package/dist/{auth-choice-DQplW60s.js → auth-choice-DcB72YWZ.js} +1 -1
  6. package/dist/{banner-B_P_FrmA.js → banner-B5Hv4rlk.js} +1 -1
  7. package/dist/build-info.json +3 -3
  8. package/dist/bundled/boot-md/handler.js +2 -2
  9. package/dist/bundled/session-memory/handler.js +2 -2
  10. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  11. package/dist/{channel-options-DnWkDAWi.js → channel-options-DOzFci6h.js} +1 -1
  12. package/dist/{channel-options-8NGYZjfd.js → channel-options-ZkruGuHl.js} +1 -1
  13. package/dist/{channels-cli-Bx90nSmB.js → channels-cli-CEz9LILV.js} +7 -7
  14. package/dist/{channels-cli-CGCyzahW.js → channels-cli-DMShhX0d.js} +7 -7
  15. package/dist/{chrome-3jl2ulOE.js → chrome-DNssqQJs.js} +7 -7
  16. package/dist/{cli-DZAtyHzb.js → cli-Byovb_j5.js} +4 -4
  17. package/dist/{cli-DHG9iZJi.js → cli-MDHkESMC.js} +4 -4
  18. package/dist/{command-registry-DBbzZvh6.js → command-registry-Dzj-Uz5N.js} +10 -10
  19. package/dist/{completion-cli-Cbf0-8ob.js → completion-cli-CsJ2f_fk.js} +1 -1
  20. package/dist/{completion-cli-DoQrkCAd.js → completion-cli-vAwL_uEK.js} +2 -2
  21. package/dist/{config-cli-9a5qBcdo.js → config-cli-CqqCDyf0.js} +1 -1
  22. package/dist/{config-cli-D4RmoOxe.js → config-cli-cmea_Z-A.js} +1 -1
  23. package/dist/{configure-ryB8EvyP.js → configure-BEPKQuJj.js} +2 -2
  24. package/dist/{configure-kaf3aurx.js → configure-DymrZd1n.js} +2 -2
  25. package/dist/control-ui/css/style.css +115 -0
  26. package/dist/control-ui/index.html +14 -0
  27. package/dist/control-ui/js/symframe-bidirectional.js +210 -0
  28. package/dist/{deliver-f3cIWxXT.js → deliver-q23ar_Pm.js} +4 -4
  29. package/dist/{doctor-completion-Bk55g4MP.js → doctor-completion--phnyAqO.js} +1 -1
  30. package/dist/{doctor-completion--j-3qqz6.js → doctor-completion-BY72G6-l.js} +1 -1
  31. package/dist/entry.js +1 -1
  32. package/dist/extensionAPI.js +4 -4
  33. package/dist/{gateway-cli-B3FuQctH.js → gateway-cli-BVpyqk_H.js} +10 -10
  34. package/dist/{gateway-cli-BGMVOW2G.js → gateway-cli-Bo80TSkq.js} +10 -10
  35. package/dist/{glass-ui-ws-Z-W33_mF.js → glass-ui-ws-BK5qk7-_.js} +8 -8
  36. package/dist/{glass-ui-ws-BJcI_IdV.js → glass-ui-ws-CrmnRYxe.js} +8 -8
  37. package/dist/{hooks-cli-D43GEG-W.js → hooks-cli-CjklMDuK.js} +5 -5
  38. package/dist/{hooks-cli-Bn6x6Jnj.js → hooks-cli-CqmTdxT6.js} +5 -5
  39. package/dist/index.js +8 -8
  40. package/dist/llm-slug-generator.js +2 -2
  41. package/dist/{manager-Cw7IJGbB.js → manager-CL767Sv9.js} +1 -1
  42. package/dist/{manager-BHddoe4T.js → manager-NDn8AFhr.js} +1 -1
  43. package/dist/{manager-DH00nlW8.js → manager-XfNxjaX5.js} +1 -1
  44. package/dist/{manager-DbVMwpDc.js → manager-fgUC_sHR.js} +1 -1
  45. package/dist/{memory-C02Znuee.js → memory-CTf9MdBg.js} +2 -2
  46. package/dist/{memory-BZ24UkLW.js → memory-DOl2l2AS.js} +2 -2
  47. package/dist/{memory-cli-0HHYm-B8.js → memory-cli-B9_Vfaow.js} +2 -2
  48. package/dist/{memory-cli-083UJtVJ.js → memory-cli-CA5PbH9y.js} +2 -2
  49. package/dist/{models-Bh_frCup.js → models-DgiBOeVH.js} +2 -2
  50. package/dist/{models-cli-C2EXmrYH.js → models-cli-B7gTrlgn.js} +5 -5
  51. package/dist/{models-cli-BhBu4Dwm.js → models-cli-BHN3bt0f.js} +6 -6
  52. package/dist/{onboard-DnwWawQO.js → onboard-BNdKimpG.js} +1 -1
  53. package/dist/{onboard-BSxqEQfo.js → onboard-DGp6mHJD.js} +1 -1
  54. package/dist/{onboard-channels-BkR3MKMp.js → onboard-channels-DSBWRjSp.js} +1 -1
  55. package/dist/{onboard-channels-qDThNkyj.js → onboard-channels-Dhb-28-_.js} +1 -1
  56. package/dist/{onboarding-DxZAGVkD.js → onboarding-BG23DuS1.js} +3 -3
  57. package/dist/{onboarding-CrCGoZ4H.js → onboarding-MPSU9pXd.js} +3 -3
  58. package/dist/{onboarding.finalize-BYzduVFA.js → onboarding.finalize-B-mxzJ08.js} +4 -4
  59. package/dist/{onboarding.finalize-Dt-rcgpk.js → onboarding.finalize-Cv20GyNt.js} +3 -3
  60. package/dist/{pi-embedded-DGnpyHm-.js → pi-embedded-V-5MAZNb.js} +11 -10
  61. package/dist/{plugin-registry-D2_TLnOr.js → plugin-registry-CBV_Y6Dj.js} +1 -1
  62. package/dist/{plugin-registry-B74FBx4U.js → plugin-registry-c3Skr0q9.js} +1 -1
  63. package/dist/{plugins-cli-Cmf3kRf5.js → plugins-cli-8Jo1X8SU.js} +5 -5
  64. package/dist/{plugins-cli-CqV1Q7ao.js → plugins-cli-Dl7-FSCq.js} +5 -5
  65. package/dist/{program-CGuYYumL.js → program-D-LYHEvk.js} +10 -10
  66. package/dist/{program-context-B0ovpbFU.js → program-context-BpeLcVUB.js} +18 -18
  67. package/dist/{prompt-select-styled-B5GrNfqR.js → prompt-select-styled-Ceih9wkY.js} +4 -4
  68. package/dist/{prompt-select-styled-b752FPLG.js → prompt-select-styled-ZWxB2Odf.js} +4 -4
  69. package/dist/{provider-auth-helpers-DU8RlQz7.js → provider-auth-helpers-BCejcf5o.js} +1 -1
  70. package/dist/{provider-auth-helpers-BKveYcEH.js → provider-auth-helpers-BdvW7eau.js} +1 -1
  71. package/dist/{push-apns-HNg0rTkI.js → push-apns-D4iLNyBo.js} +1 -1
  72. package/dist/{push-apns-CyAPMMJC.js → push-apns-HQd5hCpM.js} +1 -1
  73. package/dist/{pw-ai-DOAsQ5NX.js → pw-ai-v__CyAlM.js} +1 -1
  74. package/dist/{register.agent-DbPYGG3u.js → register.agent-DoUbqZIu.js} +9 -9
  75. package/dist/{register.agent-BKbQhrre.js → register.agent-zwVEiCHs.js} +8 -8
  76. package/dist/{register.configure-C4_ShaQV.js → register.configure-CSe8Rlda.js} +8 -8
  77. package/dist/{register.configure-B0M15y31.js → register.configure-jBKvvOnk.js} +8 -8
  78. package/dist/{register.maintenance-bzLNOqch.js → register.maintenance-BdikNAV1.js} +9 -9
  79. package/dist/{register.maintenance-BOYWTu9C.js → register.maintenance-royLmVA2.js} +8 -8
  80. package/dist/{register.message-Bfukmte_.js → register.message-C1H5Vcnb.js} +5 -5
  81. package/dist/{register.message-BtCthbpo.js → register.message-C_0uLdYn.js} +5 -5
  82. package/dist/{register.onboard-D5GmuX8K.js → register.onboard-DTLtb0SN.js} +2 -2
  83. package/dist/{register.onboard-CDsSVoFI.js → register.onboard-DnMRUtnl.js} +2 -2
  84. package/dist/{register.setup-Bp8rYeRx.js → register.setup-B9sjRH7l.js} +2 -2
  85. package/dist/{register.setup-DzospfSf.js → register.setup-KA8Cs3HJ.js} +2 -2
  86. package/dist/{register.status-health-sessions-NVbWTQpZ.js → register.status-health-sessions-B_jcsH3c.js} +3 -3
  87. package/dist/{register.status-health-sessions-DE2db_Uo.js → register.status-health-sessions-BwiKHLEj.js} +3 -3
  88. package/dist/{register.subclis-QXO75pUm.js → register.subclis-B_V8vNI0.js} +9 -9
  89. package/dist/{run-main-MD8Z8ydF.js → run-main-DhgQtxI0.js} +17 -17
  90. package/dist/{server-methods-Bl41VzMu.js → server-methods-6-10RyMD.js} +7 -7
  91. package/dist/{server-methods-DTkVQH8Q.js → server-methods-Bdz-OwQ4.js} +7 -7
  92. package/dist/{server-node-events-C0smPxrR.js → server-node-events-B3Yey3h9.js} +6 -6
  93. package/dist/{server-node-events-CxYKzrbU.js → server-node-events-C4giIb7q.js} +6 -6
  94. package/dist/{status-DrWy5OkC.js → status-BRUIJsUm.js} +1 -1
  95. package/dist/{status-OTYFx93W.js → status-B_CQpjQ9.js} +1 -1
  96. package/dist/{status-D7QX7VDk.js → status-CCAO6ZHm.js} +1 -1
  97. package/dist/{status-BEZotN01.js → status-D_0593yR.js} +1 -1
  98. package/dist/{subagent-registry-CVhLz4p3.js → subagent-registry-D8BIWG9Q.js} +4 -3
  99. package/dist/{synthesis-C1mZnGqD.js → synthesis-BfVWACNx.js} +4 -4
  100. package/dist/{synthesis-ts2nG0tK.js → synthesis-CV94EuT_.js} +4 -4
  101. package/dist/{synthesis-CO5pr92g.js → synthesis-D6pnRAxI.js} +2 -2
  102. package/dist/{synthesis-RhT991Ni.js → synthesis-qvteT0Ti.js} +4 -4
  103. package/dist/{unified-runner-4O0ifBsI.js → unified-runner-CtSJoaGS.js} +4 -3
  104. package/dist/{unified-runner-O3qR5Iie.js → unified-runner-H3Qh_NZO.js} +4 -3
  105. package/dist/{update-cli-BMURsYJU.js → update-cli-BrryYmFA.js} +8 -8
  106. package/dist/{update-cli-D9g9s187.js → update-cli-CUos9qgT.js} +9 -9
  107. package/extensions/memory-core/package.json +1 -1
  108. package/extensions/msteams/CHANGELOG.md +6 -0
  109. package/extensions/msteams/package.json +1 -1
  110. package/extensions/open-prose/package.json +1 -1
  111. package/extensions/outlook/package.json +1 -1
  112. package/extensions/slack/package.json +1 -1
  113. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { D as ensureOutboundSessionEntry, Ft as normalizeGroupActivation, I as normalizeCronJobCreate, Kt as resolveAgentTimeoutMs, L as normalizeCronJobPatch, Lt as formatZonedTimestamp, Nt as prepareAgentRun, O as resolveOutboundSessionRoute, Pt as BARE_SESSION_RESET_PROMPT, Rt as isAbortTrigger, St as parseVerboseOverride, Ut as listDescendantRunsForRequester, Wt as listSubagentRunsForRequester, Zt as clearSessionQueues, b as prepareReplyTurn, bt as applyModelOverrideToSessionEntry, et as applyBrowserProxyPaths, f as getChannelActivity, g as buildGlassUiProfile, ht as resolveSendPolicy, in as abortEmbeddedPiRun, j as normalizePollInput, k as resolveOutboundTarget, m as createReplyDispatcher, mt as normalizeSendPolicy, nn as registerAgentRunContext, on as waitForEmbeddedPiRunEnd, pn as resolveUserTimezone, s as loadSymiPlugins, st as scheduleGatewaySigusr1Restart, tn as onAgentEvent, tt as persistBrowserProxyFiles, v as runUnifiedTurn, w as listTasksInWorkdir, xt as applyVerboseOverride, y as buildAgentTurnParams, zt as stopSubagentsForRequester } from "./unified-runner-4O0ifBsI.js";
1
+ import { D as ensureOutboundSessionEntry, Ft as normalizeGroupActivation, I as normalizeCronJobCreate, Kt as resolveAgentTimeoutMs, L as normalizeCronJobPatch, Lt as formatZonedTimestamp, Nt as prepareAgentRun, O as resolveOutboundSessionRoute, Pt as BARE_SESSION_RESET_PROMPT, Rt as isAbortTrigger, St as parseVerboseOverride, Ut as listDescendantRunsForRequester, Wt as listSubagentRunsForRequester, Zt as clearSessionQueues, b as prepareReplyTurn, bt as applyModelOverrideToSessionEntry, et as applyBrowserProxyPaths, f as getChannelActivity, g as buildGlassUiProfile, ht as resolveSendPolicy, in as abortEmbeddedPiRun, j as normalizePollInput, k as resolveOutboundTarget, m as createReplyDispatcher, mt as normalizeSendPolicy, nn as registerAgentRunContext, on as waitForEmbeddedPiRunEnd, pn as resolveUserTimezone, s as loadSymiPlugins, st as scheduleGatewaySigusr1Restart, tn as onAgentEvent, tt as persistBrowserProxyFiles, v as runUnifiedTurn, w as listTasksInWorkdir, xt as applyVerboseOverride, y as buildAgentTurnParams, zt as stopSubagentsForRequester } from "./unified-runner-CtSJoaGS.js";
2
2
  import { H as createInternalHookEvent, P as getResolvedLoggerSettings, W as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL } from "./registry-Sbac4a4z.js";
3
3
  import { _ as resolveStateDir, t as CONFIG_PATH } from "./paths-By0XjHBk.js";
4
4
  import { S as isPlainObject, h as resolveUserPath, n as clamp } from "./utils-CTPsqyE_.js";
@@ -23,7 +23,7 @@ import { i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSe
23
23
  import { C as enqueueSystemEvent, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, w as isSystemEventContextChanged } from "./session-utils-Cs1jlD-q.js";
24
24
  import { n as createBrowserRouteDispatcher } from "./with-timeout-DPR4A2dx.js";
25
25
  import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-BFNeXT65.js";
26
- import { t as getMemorySearchManager } from "./memory-BZ24UkLW.js";
26
+ import { t as getMemorySearchManager } from "./memory-DOl2l2AS.js";
27
27
  import { $ as validateNodeInvokeResultParams, $t as rotateDeviceToken, A as validateCronListParams, At as validateTasksListParams, B as validateDeviceTokenRevokeParams, Bt as ErrorCodes, C as validateConfigApplyParams, Ct as validateSessionsUsageParams, D as validateConfigSetParams, Dt as validateSkillsUpdateParams, E as validateConfigSchemaParams, Et as validateSkillsStatusParams, F as validateCronUpdateParams, Ft as validateWizardCancelParams, G as validateExecApprovalsNodeGetParams, Gt as approveDevicePairing, I as validateDevicePairApproveParams, It as validateWizardNextParams, J as validateLogsTailParams, Jt as listDevicePairing, K as validateExecApprovalsNodeSetParams, L as validateDevicePairListParams, Lt as validateWizardStartParams, M as validateCronRunParams, Mt as validateWakeParams, N as validateCronRunsParams, Nt as validateWebLoginStartParams, Ot as validateTalkConfigParams, P as validateCronStatusParams, Pt as validateWebLoginWaitParams, Q as validateNodeInvokeParams, Qt as revokeDeviceToken, R as validateDevicePairRejectParams, Rt as validateWizardStatusParams, S as validateChatToolsListParams, St as validateSessionsSearchParams, T as validateConfigPatchParams, Tt as validateSkillsInstallParams, Ut as parseSessionLabel, V as validateDeviceTokenRotateParams, Vt as errorShape, W as validateExecApprovalsGetParams, X as validateNodeDescribeParams, Xt as removePairedDevice, Y as validateModelsListParams, Yt as rejectDevicePairing, Z as validateNodeEventParams, _ as validateChatHistoryParams, _t as validateSessionsPatchParams, a as validateAgentWaitParams, at as validateNodePairVerifyParams, b as validateChatSkillsListParams, bt as validateSessionsResolveParams, c as validateAgentsFilesGetParams, ct as validatePushTestParams, d as validateAgentsListParams, dt as validateSessionsAdoptFileParams, en as summarizeDeviceTokens, et as validateNodeListParams, f as validateAgentsUpdateParams, ft as validateSessionsCompactParams, g as validateChatCommandsListParams, gt as validateSessionsListParams, h as validateChatAbortParams, ht as validateSessionsFavoriteFileParams, i as validateAgentParams, it as validateNodePairRequestParams, j as validateCronRemoveParams, jt as validateUpdateRunParams, k as validateCronAddParams, kt as validateTalkModeParams, l as validateAgentsFilesListParams, m as validateChannelsStatusParams, mt as validateSessionsDeleteParams, n as formatValidationErrors, nt as validateNodePairListParams, o as validateAgentsCreateParams, ot as validateNodeRenameParams, p as validateChannelsLogoutParams, pt as validateSessionsDeleteFileParams, q as validateExecApprovalsSetParams, r as validateAgentIdentityParams, rt as validateNodePairRejectParams, s as validateAgentsDeleteParams, st as validatePollParams, tt as validateNodePairApproveParams, u as validateAgentsFilesSetParams, ut as validateSendParams, v as validateChatInjectParams, vt as validateSessionsPreviewParams, w as validateConfigGetParams, wt as validateSkillsBinsParams, x as validateChatSymframePushParams, xt as validateSessionsRestoreParams, y as validateChatSendParams, yt as validateSessionsResetParams, z as validateDevicePairRemoveParams } from "./client-DH75FlQF.js";
28
28
  import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-AZ9vNhST.js";
29
29
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Dcy37-4s.js";
@@ -40,10 +40,10 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-G6zuddmF.js";
40
40
  import { t as buildChannelAccountSnapshot } from "./status-Bah7VY4i.js";
41
41
  import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-7IGQ8nAM.js";
42
42
  import { c as resolveNodeCommandAllowlist, s as isNodeCommandAllowed } from "./audit-C_3fAFeS.js";
43
- import { n as getStatusSummary } from "./status-D7QX7VDk.js";
43
+ import { n as getStatusSummary } from "./status-CCAO6ZHm.js";
44
44
  import { m as normalizeUpdateChannel } from "./update-check-BCL_K7kx.js";
45
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-CyAPMMJC.js";
46
- import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-DxRVDqSg.js";
45
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-HQd5hCpM.js";
46
+ import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-BsRYHa15.js";
47
47
  import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-B7sNDvhz.js";
48
48
  import { t as resolveSystemRunCommand } from "./system-run-command-olPQqEUJ.js";
49
49
  import { t as installSkill } from "./skills-install-Dwzsjoc8.js";
@@ -4225,7 +4225,7 @@ const chatHandlers = {
4225
4225
  }
4226
4226
  (async () => {
4227
4227
  try {
4228
- const [{ createSymiTools }, { loadConfig }] = await Promise.all([import("./unified-runner-4O0ifBsI.js").then((n) => n.C), import("./config-B4jkreCN.js").then((n) => n.t)]);
4228
+ const [{ createSymiTools }, { loadConfig }] = await Promise.all([import("./unified-runner-CtSJoaGS.js").then((n) => n.C), import("./config-B4jkreCN.js").then((n) => n.t)]);
4229
4229
  respond(true, { tools: createSymiTools({ config: loadConfig() }).map((tool) => {
4230
4230
  const name = tool.name;
4231
4231
  const description = tool.description;
@@ -7553,7 +7553,7 @@ const nodeHandlers = {
7553
7553
  const p = params;
7554
7554
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
7555
7555
  await respondUnavailableOnThrow(respond, async () => {
7556
- const { handleNodeEvent } = await import("./server-node-events-CxYKzrbU.js");
7556
+ const { handleNodeEvent } = await import("./server-node-events-C4giIb7q.js");
7557
7557
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
7558
7558
  await handleNodeEvent({
7559
7559
  deps: context.deps,
@@ -13,7 +13,7 @@ import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessa
13
13
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-B-OTYROz.js";
14
14
  import { s as pickPrimaryLanIPv4 } from "./net-TZUXtwGR.js";
15
15
  import { i as normalizeInputProvenance } from "./input-provenance-BdV0rbga.js";
16
- import { C as buildGlassUiProfile, Dt as scheduleGatewaySigusr1Restart, E as abortEmbeddedPiRun, En as registerAgentRunContext, Ft as normalizeSendPolicy, G as normalizePollInput, H as resolveOutboundSessionRoute, Ht as applyVerboseOverride, It as resolveSendPolicy, L as listTasksInWorkdir, N as buildAgentTurnParams, O as waitForEmbeddedPiRunEnd, P as prepareReplyTurn, Tn as onAgentEvent, U as resolveOutboundTarget, Ut as parseVerboseOverride, V as ensureOutboundSessionEntry, Vt as applyModelOverrideToSessionEntry, a as listSubagentRunsForRequester, c as clearSessionQueues, cn as stopSubagentsForRequester, et as normalizeCronJobCreate, i as listDescendantRunsForRequester, in as normalizeGroupActivation, m as loadSymiPlugins, nn as prepareAgentRun, on as formatZonedTimestamp, pn as resolveUserTimezone, rn as BARE_SESSION_RESET_PROMPT, sn as isAbortTrigger, tn as resolveAgentTimeoutMs, tt as normalizeCronJobPatch, vt as applyBrowserProxyPaths, w as runUnifiedTurn, x as createReplyDispatcher, y as getChannelActivity, yt as persistBrowserProxyFiles } from "./subagent-registry-CVhLz4p3.js";
16
+ import { C as buildGlassUiProfile, Dt as scheduleGatewaySigusr1Restart, E as abortEmbeddedPiRun, En as registerAgentRunContext, Ft as normalizeSendPolicy, G as normalizePollInput, H as resolveOutboundSessionRoute, Ht as applyVerboseOverride, It as resolveSendPolicy, L as listTasksInWorkdir, N as buildAgentTurnParams, O as waitForEmbeddedPiRunEnd, P as prepareReplyTurn, Tn as onAgentEvent, U as resolveOutboundTarget, Ut as parseVerboseOverride, V as ensureOutboundSessionEntry, Vt as applyModelOverrideToSessionEntry, a as listSubagentRunsForRequester, c as clearSessionQueues, cn as stopSubagentsForRequester, et as normalizeCronJobCreate, i as listDescendantRunsForRequester, in as normalizeGroupActivation, m as loadSymiPlugins, nn as prepareAgentRun, on as formatZonedTimestamp, pn as resolveUserTimezone, rn as BARE_SESSION_RESET_PROMPT, sn as isAbortTrigger, tn as resolveAgentTimeoutMs, tt as normalizeCronJobPatch, vt as applyBrowserProxyPaths, w as runUnifiedTurn, x as createReplyDispatcher, y as getChannelActivity, yt as persistBrowserProxyFiles } from "./subagent-registry-D8BIWG9Q.js";
17
17
  import { F as resolveMainSessionKey, I as resolveMainSessionKeyFromConfig, J as normalizeSessionDeliveryFields, N as resolveAgentMainSessionKey, P as resolveExplicitAgentSessionKey, R as snapshotSessionOrigin, S as stripEnvelopeFromMessages, _ as capArrayByJsonBytes, d as updateSessionStore, g as archiveSessionTranscripts, h as archiveFileOnDisk, o as loadSessionStore, t as extractDeliveryInfo, v as readSessionMessages, x as resolveSessionTranscriptCandidates, y as readSessionPreviewItemsFromTranscript } from "./sessions-Dn6VXn4p.js";
18
18
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BsEhWvLn.js";
19
19
  import { n as createBrowserRouteDispatcher } from "./with-timeout-B9GM8DPj.js";
@@ -22,7 +22,7 @@ import { t as movePathToTrash } from "./trash-Bx4LIudf.js";
22
22
  import { c as resolveStorePath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-DtiEyjsC.js";
23
23
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-BZDIJMl_.js";
24
24
  import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-DV3KhOhL.js";
25
- import { t as getMemorySearchManager } from "./memory-C02Znuee.js";
25
+ import { t as getMemorySearchManager } from "./memory-CTf9MdBg.js";
26
26
  import { c as approveNodePairing, d as renamePairedNode, f as requestNodePairing, l as listNodePairing, m as verifyNodeToken, t as getRemoteSkillEligibility, u as rejectNodePairing } from "./skills-remote-DSGpkPJE.js";
27
27
  import { g as isSystemEventContextChanged, h as enqueueSystemEvent, i as formatDoctorNonInteractiveHint, l as writeRestartSentinel, u as loadProviderUsageSummary } from "./redact-identifier-BOxAUdff.js";
28
28
  import { t as listAgentWorkspaceDirs } from "./workspace-dirs-wlRR65M3.js";
@@ -37,11 +37,11 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-CBCZwlBW.js";
37
37
  import { t as buildChannelAccountSnapshot } from "./status-BzmfZaEV.js";
38
38
  import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-t7tI9KSA.js";
39
39
  import { c as resolveNodeCommandAllowlist, s as isNodeCommandAllowed } from "./audit-DyncRBKq.js";
40
- import { r as getStatusSummary } from "./status-BEZotN01.js";
40
+ import { r as getStatusSummary } from "./status-D_0593yR.js";
41
41
  import { r as createOutboundSendDeps } from "./outbound-send-deps-BCyarBRf.js";
42
42
  import { m as normalizeUpdateChannel } from "./update-check-DLOnLuop.js";
43
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-HNg0rTkI.js";
44
- import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-CB5yb-7V.js";
43
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-D4iLNyBo.js";
44
+ import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-TRt_SsAW.js";
45
45
  import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-CqfMQEiy.js";
46
46
  import { t as resolveSystemRunCommand } from "./system-run-command-CYEDiFm7.js";
47
47
  import { t as installSkill } from "./skills-install-CZE8W7lV.js";
@@ -4223,7 +4223,7 @@ const chatHandlers = {
4223
4223
  }
4224
4224
  (async () => {
4225
4225
  try {
4226
- const [{ createSymiTools }, { loadConfig }] = await Promise.all([import("./subagent-registry-CVhLz4p3.js").then((n) => n.I), import("./config-D7TcU4qN.js").then((n) => n.t)]);
4226
+ const [{ createSymiTools }, { loadConfig }] = await Promise.all([import("./subagent-registry-D8BIWG9Q.js").then((n) => n.I), import("./config-D7TcU4qN.js").then((n) => n.t)]);
4227
4227
  respond(true, { tools: createSymiTools({ config: loadConfig() }).map((tool) => {
4228
4228
  const name = tool.name;
4229
4229
  const description = tool.description;
@@ -7551,7 +7551,7 @@ const nodeHandlers = {
7551
7551
  const p = params;
7552
7552
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
7553
7553
  await respondUnavailableOnThrow(respond, async () => {
7554
- const { handleNodeEvent } = await import("./server-node-events-C0smPxrR.js");
7554
+ const { handleNodeEvent } = await import("./server-node-events-B3Yey3h9.js");
7555
7555
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
7556
7556
  await handleNodeEvent({
7557
7557
  deps: context.deps,
@@ -18,7 +18,7 @@ import "./client-BOd5o3Kp.js";
18
18
  import "./call-DTshgdlW.js";
19
19
  import "./message-channel-DXToSaWK.js";
20
20
  import "./pairing-token-B-OTYROz.js";
21
- import { U as resolveOutboundTarget } from "./subagent-registry-CVhLz4p3.js";
21
+ import { U as resolveOutboundTarget } from "./subagent-registry-D8BIWG9Q.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-C02Znuee.js";
52
- import "./manager-DH00nlW8.js";
51
+ import "./memory-CTf9MdBg.js";
52
+ import "./manager-XfNxjaX5.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-083UJtVJ.js";
83
+ import "./memory-cli-CA5PbH9y.js";
84
84
  import "./logging-UO6tk8Em.js";
85
85
  import "./replies-CLREUzzB.js";
86
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-HNg0rTkI.js";
89
- import { t as agentCommand } from "./agent-CB5yb-7V.js";
88
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-D4iLNyBo.js";
89
+ import { t as agentCommand } from "./agent-TRt_SsAW.js";
90
90
  import { randomUUID } from "node:crypto";
91
91
 
92
92
  //#region src/gateway/server-node-events.ts
@@ -1,4 +1,4 @@
1
- import { k as resolveOutboundTarget } from "./unified-runner-4O0ifBsI.js";
1
+ import { k as resolveOutboundTarget } from "./unified-runner-CtSJoaGS.js";
2
2
  import "./registry-Sbac4a4z.js";
3
3
  import "./paths-By0XjHBk.js";
4
4
  import "./utils-CTPsqyE_.js";
@@ -51,8 +51,8 @@ import "./session-cost-usage-D3mgssM_.js";
51
51
  import { C as enqueueSystemEvent, c as resolveGatewaySessionStoreTarget, o as loadSessionEntry, s as pruneLegacyStoreKeys } from "./session-utils-Cs1jlD-q.js";
52
52
  import "./with-timeout-DPR4A2dx.js";
53
53
  import "./reply-prefix-BFNeXT65.js";
54
- import "./memory-BZ24UkLW.js";
55
- import "./manager-Cw7IJGbB.js";
54
+ import "./memory-DOl2l2AS.js";
55
+ import "./manager-CL767Sv9.js";
56
56
  import "./sqlite-Cod7C5ba.js";
57
57
  import "./chunk-BxfKjCUx.js";
58
58
  import "./markdown-tables-CS1Tvb3z.js";
@@ -83,14 +83,14 @@ import "./links-Bqr0FxXx.js";
83
83
  import "./cli-utils-CuyGL3rq.js";
84
84
  import "./help-format-7hFcsqss.js";
85
85
  import "./progress-swt2y17x.js";
86
- import "./memory-cli-0HHYm-B8.js";
86
+ import "./memory-cli-B9_Vfaow.js";
87
87
  import "./logging-BWknayJl.js";
88
88
  import "./replies-CbXXjn9X.js";
89
89
  import "./pi-tools.policy-H2t-Xkfc.js";
90
90
  import "./model-MUMSB_7d.js";
91
91
  import "./deps-Bf9dt2UO.js";
92
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CyAPMMJC.js";
93
- import { t as agentCommand } from "./agent-DxRVDqSg.js";
92
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-HQd5hCpM.js";
93
+ import { t as agentCommand } from "./agent-BsRYHa15.js";
94
94
  import { t as createOutboundSendDeps } from "./outbound-send-deps--SpwgFhS.js";
95
95
  import { randomUUID } from "node:crypto";
96
96
 
@@ -1,4 +1,4 @@
1
- import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-4O0ifBsI.js";
1
+ import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-CtSJoaGS.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";
@@ -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-CVhLz4p3.js";
4
+ import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-D8BIWG9Q.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -13,7 +13,7 @@ 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-BZ24UkLW.js";
16
+ import { t as getMemorySearchManager } from "./memory-DOl2l2AS.js";
17
17
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-AZ9vNhST.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
19
19
  import { t as getRemoteSkillEligibility } from "./skills-remote-bz71Bstn.js";
@@ -14,7 +14,7 @@ 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-C02Znuee.js";
17
+ import { t as getMemorySearchManager } from "./memory-CTf9MdBg.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";
@@ -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-C02Znuee.js";
53
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-DH00nlW8.js";
52
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-CTf9MdBg.js";
53
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-XfNxjaX5.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,7 +83,7 @@ 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-083UJtVJ.js";
86
+ import { n as registerMemoryCli } from "./memory-cli-CA5PbH9y.js";
87
87
  import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-CLREUzzB.js";
88
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";
@@ -15434,6 +15434,7 @@ function buildAgentSystemPrompt(params) {
15434
15434
  " - `quiet` — substrate only, cards + AWAITING hidden. Use when you're thinking and have nothing actionable to surface yet.",
15435
15435
  "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.",
15436
15436
  "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.",
15437
+ "Card references (Stage E): when you reference a card you pushed earlier in chat, use the literal syntax `[panel:<card-id>]` (e.g. \"see [panel:sf-abc123] for the draft\"). Glass UI rewrites this into a clickable span showing the card's title and auto-pulses the card to draw the user's eye. Use only the card id you got back from a previous `display_artifact add` call. Use sparingly — only when you genuinely want to direct the user to a specific previously-pushed card.",
15437
15438
  "",
15438
15439
  ...compactMode ? [] : [
15439
15440
  "## Tool Call Style",
@@ -6,8 +6,8 @@ import "./model-selection-BisYvTBb.js";
6
6
  import "./reply-prefix-i-FPYcoQ.js";
7
7
  import "./plugins-CZ_mYwXq.js";
8
8
  import "./replies-0nzkXt6o.js";
9
- import { n as runAgentTurn } from "./pi-embedded-DGnpyHm-.js";
10
- import "./deliver-f3cIWxXT.js";
9
+ import { n as runAgentTurn } from "./pi-embedded-V-5MAZNb.js";
10
+ import "./deliver-q23ar_Pm.js";
11
11
  import "./diagnostic-BdRnGknC.js";
12
12
  import "./diagnostic-session-state-DpxCUzoM.js";
13
13
  import "./chunk-CAZujdOi.js";
@@ -16,14 +16,14 @@ import "./ssrf-BCSnhba8.js";
16
16
  import "./boolean-BW6OTjPi.js";
17
17
  import "./shell-env-DgjeObDZ.js";
18
18
  import "./manifest-registry-CAWGTwb5.js";
19
- import "./chrome-3jl2ulOE.js";
19
+ import "./chrome-DNssqQJs.js";
20
20
  import "./skills-DO7WNsVJ.js";
21
21
  import "./redact-DSOAcWMe.js";
22
22
  import "./errors-BEU7IHU6.js";
23
23
  import "./tokens-yWO1wD7Z.js";
24
24
  import "./thinking-DgjGxdSP.js";
25
25
  import "./paths-BsT3BvfH.js";
26
- import "./manager-BHddoe4T.js";
26
+ import "./manager-NDn8AFhr.js";
27
27
  import "./github-copilot-token-dYUr1mDQ.js";
28
28
  import "./sqlite-D8iYC_CU.js";
29
29
  import "./markdown-tables-jQzXAsf3.js";
@@ -1,4 +1,4 @@
1
- import { t as runAgentTurn } from "./unified-runner-4O0ifBsI.js";
1
+ import { t as runAgentTurn } from "./unified-runner-CtSJoaGS.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-BZ24UkLW.js";
54
- import "./manager-Cw7IJGbB.js";
53
+ import "./memory-DOl2l2AS.js";
54
+ import "./manager-CL767Sv9.js";
55
55
  import "./sqlite-Cod7C5ba.js";
56
56
  import "./chunk-BxfKjCUx.js";
57
57
  import "./markdown-tables-CS1Tvb3z.js";
@@ -82,7 +82,7 @@ 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-0HHYm-B8.js";
85
+ import "./memory-cli-B9_Vfaow.js";
86
86
  import "./logging-BWknayJl.js";
87
87
  import "./replies-CbXXjn9X.js";
88
88
  import "./pi-tools.policy-H2t-Xkfc.js";
@@ -3,7 +3,7 @@ import "./registry-C-JddWwo.js";
3
3
  import "./agent-scope-B1Ina6jV.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
5
5
  import "./workspace-CsaDUuDn.js";
6
- import { t as runAgentTurn } from "./unified-runner-O3qR5Iie.js";
6
+ import { t as runAgentTurn } from "./unified-runner-H3Qh_NZO.js";
7
7
  import "./auth-profiles-BSw0aQND.js";
8
8
  import "./model-selection-BqshlIZc.js";
9
9
  import "./deliver-BiWlR84Y.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-DbVMwpDc.js";
28
+ import "./manager-fgUC_sHR.js";
29
29
  import "./github-copilot-token-uhEBNQfj.js";
30
30
  import "./pi-auth-json-DCGR3yfh.js";
31
31
  import "./reply-prefix-D0NzzC4I.js";
@@ -17,7 +17,7 @@ import "./client-BOd5o3Kp.js";
17
17
  import "./call-DTshgdlW.js";
18
18
  import "./message-channel-DXToSaWK.js";
19
19
  import "./pairing-token-B-OTYROz.js";
20
- import { T as runAgentTurn } from "./subagent-registry-CVhLz4p3.js";
20
+ import { T as runAgentTurn } from "./subagent-registry-D8BIWG9Q.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-C02Znuee.js";
51
- import "./manager-DH00nlW8.js";
50
+ import "./memory-CTf9MdBg.js";
51
+ import "./manager-XfNxjaX5.js";
52
52
  import "./sqlite-9jF_eajd.js";
53
53
  import "./chunk-B2lBXhR0.js";
54
54
  import "./markdown-tables-BEdkErjm.js";
@@ -79,7 +79,7 @@ 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-083UJtVJ.js";
82
+ import "./memory-cli-CA5PbH9y.js";
83
83
  import "./logging-UO6tk8Em.js";
84
84
  import "./replies-CLREUzzB.js";
85
85
  import "./pi-tools.policy-06k__URR.js";
@@ -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-BZ24UkLW.js";
56
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-Cw7IJGbB.js";
55
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-DOl2l2AS.js";
56
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-CL767Sv9.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";
@@ -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-0HHYm-B8.js";
89
+ import { n as registerMemoryCli } from "./memory-cli-B9_Vfaow.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";
@@ -4702,6 +4702,7 @@ function buildAgentSystemPrompt(params) {
4702
4702
  " - `quiet` — substrate only, cards + AWAITING hidden. Use when you're thinking and have nothing actionable to surface yet.",
4703
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.",
4704
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.",
4705
+ "Card references (Stage E): when you reference a card you pushed earlier in chat, use the literal syntax `[panel:<card-id>]` (e.g. \"see [panel:sf-abc123] for the draft\"). Glass UI rewrites this into a clickable span showing the card's title and auto-pulses the card to draw the user's eye. Use only the card id you got back from a previous `display_artifact add` call. Use sparingly — only when you genuinely want to direct the user to a specific previously-pushed card.",
4705
4706
  "",
4706
4707
  ...compactMode ? [] : [
4707
4708
  "## Tool Call Style",
@@ -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-DbVMwpDc.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-fgUC_sHR.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-DbVMwpDc.js").then((n) => n.t);
4463
+ const { MemoryIndexManager } = await import("./manager-fgUC_sHR.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-DbVMwpDc.js").then((n) => n.t);
4476
+ const { MemoryIndexManager } = await import("./manager-fgUC_sHR.js").then((n) => n.t);
4477
4477
  return { manager: await MemoryIndexManager.get(params) };
4478
4478
  } catch (err) {
4479
4479
  return {
@@ -7471,6 +7471,7 @@ function buildAgentSystemPrompt(params) {
7471
7471
  " - `quiet` — substrate only, cards + AWAITING hidden. Use when you're thinking and have nothing actionable to surface yet.",
7472
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.",
7473
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.",
7474
+ "Card references (Stage E): when you reference a card you pushed earlier in chat, use the literal syntax `[panel:<card-id>]` (e.g. \"see [panel:sf-abc123] for the draft\"). Glass UI rewrites this into a clickable span showing the card's title and auto-pulses the card to draw the user's eye. Use only the card id you got back from a previous `display_artifact add` call. Use sparingly — only when you genuinely want to direct the user to a specific previously-pushed card.",
7474
7475
  "",
7475
7476
  ...compactMode ? [] : [
7476
7477
  "## Tool Call Style",
@@ -1,4 +1,4 @@
1
- import "./unified-runner-4O0ifBsI.js";
1
+ import "./unified-runner-CtSJoaGS.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-BZ24UkLW.js";
57
- import "./manager-Cw7IJGbB.js";
56
+ import "./memory-DOl2l2AS.js";
57
+ import "./manager-CL767Sv9.js";
58
58
  import "./sqlite-Cod7C5ba.js";
59
59
  import "./chunk-BxfKjCUx.js";
60
60
  import "./markdown-tables-CS1Tvb3z.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-0HHYm-B8.js";
90
+ import "./memory-cli-B9_Vfaow.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-B0ovpbFU.js";
96
+ import "./program-context-BpeLcVUB.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,7 +105,7 @@ 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-Cbf0-8ob.js";
108
+ import { r as installCompletion } from "./completion-cli-CsJ2f_fk.js";
109
109
  import "./daemon-runtime-DlQla_dA.js";
110
110
  import "./onboard-helpers-7IGQ8nAM.js";
111
111
  import "./systemd-CUIM0n5P.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-B5GrNfqR.js";
130
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion--j-3qqz6.js";
129
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-Ceih9wkY.js";
130
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BY72G6-l.js";
131
131
  import path from "node:path";
132
132
  import os from "node:os";
133
133
  import fs from "node:fs/promises";
@@ -21,7 +21,7 @@ import "./client-BOd5o3Kp.js";
21
21
  import "./call-DTshgdlW.js";
22
22
  import "./message-channel-DXToSaWK.js";
23
23
  import "./pairing-token-B-OTYROz.js";
24
- import "./subagent-registry-CVhLz4p3.js";
24
+ import "./subagent-registry-D8BIWG9Q.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-C02Znuee.js";
55
- import "./manager-DH00nlW8.js";
54
+ import "./memory-CTf9MdBg.js";
55
+ import "./manager-XfNxjaX5.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-083UJtVJ.js";
88
+ import "./memory-cli-CA5PbH9y.js";
89
89
  import "./logging-UO6tk8Em.js";
90
90
  import "./replies-CLREUzzB.js";
91
91
  import "./pi-tools.policy-06k__URR.js";
@@ -99,10 +99,10 @@ 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-QXO75pUm.js";
103
- import "./command-registry-DBbzZvh6.js";
102
+ import "./register.subclis-B_V8vNI0.js";
103
+ import "./command-registry-Dzj-Uz5N.js";
104
104
  import "./program-context-B_0V80zV.js";
105
- import { r as installCompletion } from "./completion-cli-DoQrkCAd.js";
105
+ import { r as installCompletion } from "./completion-cli-vAwL_uEK.js";
106
106
  import "./daemon-runtime-AkgOtHR6.js";
107
107
  import { r as parseSemver } from "./runtime-guard-LRRZ73eX.js";
108
108
  import "./onboard-helpers-t7tI9KSA.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-b752FPLG.js";
128
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Bk55g4MP.js";
127
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-ZWxB2Odf.js";
128
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion--phnyAqO.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.27",
3
+ "version": "3.5.28",
4
4
  "private": true,
5
5
  "description": "Symi core memory search plugin",
6
6
  "type": "module",
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.5.28
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core Symi release numbers.
8
+
3
9
  ## 3.5.27
4
10
 
5
11
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/msteams",
3
- "version": "3.5.27",
3
+ "version": "3.5.28",
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.27",
3
+ "version": "3.5.28",
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.27",
3
+ "version": "3.5.28",
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.27",
3
+ "version": "3.5.28",
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.27",
3
+ "version": "3.5.28",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/jaysteelmind/symi#readme",