@symerian/symi 3.5.38 → 3.5.40

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 (112) hide show
  1. package/dist/{agent-D-r1jDDr.js → agent-B4x9arqs.js} +1 -1
  2. package/dist/{agent-BTGl36fO.js → agent-C1mfEPpO.js} +1 -1
  3. package/dist/{agents-qlUHy5Br.js → agents-CRjkWjTz.js} +2 -2
  4. package/dist/{auth-choice-B8hl2zQ_.js → auth-choice-B-YDzf6k.js} +1 -1
  5. package/dist/{auth-choice-DmQV3qVD.js → auth-choice-BpJa6MIU.js} +1 -1
  6. package/dist/{banner-B_FIPskF.js → banner-83x457Gs.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-B3FrqAbY.js → channel-options-CBu88unz.js} +1 -1
  12. package/dist/{channel-options-CXChz2Gl.js → channel-options-DSponzlW.js} +1 -1
  13. package/dist/{channels-cli-BqTjGrnV.js → channels-cli-BCYF7mWT.js} +7 -7
  14. package/dist/{channels-cli-DJruxsCI.js → channels-cli-Bcc5qOjU.js} +7 -7
  15. package/dist/{chrome-DNssqQJs.js → chrome-3jl2ulOE.js} +7 -7
  16. package/dist/{cli-n3Th69Yr.js → cli-B97x6rkP.js} +4 -4
  17. package/dist/{cli-oKtyaG-m.js → cli-CJH8m4aQ.js} +4 -4
  18. package/dist/{command-registry-CL9Kg-yN.js → command-registry-D3imrPZK.js} +10 -10
  19. package/dist/{completion-cli-CRZLUn7D.js → completion-cli-C740UxN5.js} +1 -1
  20. package/dist/{completion-cli-CNVJwiv2.js → completion-cli-yJ2YN2Rz.js} +2 -2
  21. package/dist/{config-cli-DfRMdVFn.js → config-cli-D3unzeUl.js} +1 -1
  22. package/dist/{config-cli-DGd8g_Ct.js → config-cli-Koe81w4Z.js} +1 -1
  23. package/dist/{configure-DsebNj9T.js → configure-BpdrzhML.js} +2 -2
  24. package/dist/{configure-CCwkHVZQ.js → configure-DifpX1Ur.js} +2 -2
  25. package/dist/control-ui/css/style.css +54 -3
  26. package/dist/control-ui/index.html +4 -0
  27. package/dist/{deliver-q23ar_Pm.js → deliver-f3cIWxXT.js} +4 -4
  28. package/dist/{doctor-completion-D4zwYnEN.js → doctor-completion-C6YEL2dp.js} +1 -1
  29. package/dist/{doctor-completion-DEqpjKDZ.js → doctor-completion-wZ5L09dU.js} +1 -1
  30. package/dist/entry.js +1 -1
  31. package/dist/extensionAPI.js +4 -4
  32. package/dist/{gateway-cli-DyftuEOb.js → gateway-cli-DqGzKRIZ.js} +10 -10
  33. package/dist/{gateway-cli-BJ6xAu7G.js → gateway-cli-PXLsTcdr.js} +10 -10
  34. package/dist/{glass-ui-ws-Bn9B5Ac_.js → glass-ui-ws-CdUDvHbV.js} +8 -8
  35. package/dist/{glass-ui-ws-BLTXXspr.js → glass-ui-ws-Cn62VWMN.js} +8 -8
  36. package/dist/{hooks-cli-DfCuxn1F.js → hooks-cli-2lJAWBxs.js} +5 -5
  37. package/dist/{hooks-cli-B2V8uacu.js → hooks-cli-BVhozYWU.js} +5 -5
  38. package/dist/index.js +8 -8
  39. package/dist/llm-slug-generator.js +2 -2
  40. package/dist/{manager-BXM8F9zI.js → manager-0eaPU1SZ.js} +1 -1
  41. package/dist/{manager-IHsU3dHx.js → manager-DIusIBzv.js} +1 -1
  42. package/dist/{manager-DjgKz80p.js → manager-DbEvY6wj.js} +1 -1
  43. package/dist/{manager-CDkFM3pi.js → manager-eeu-xRjS.js} +1 -1
  44. package/dist/{memory-DgS1AC6J.js → memory-CIyIuHS3.js} +2 -2
  45. package/dist/{memory-BLluF2i6.js → memory-DIhzkdsJ.js} +2 -2
  46. package/dist/{memory-cli-jmPQDz2s.js → memory-cli-BMPG3My6.js} +2 -2
  47. package/dist/{memory-cli-DQTznta7.js → memory-cli-R2BeQOIN.js} +2 -2
  48. package/dist/{models-BVDQwjWd.js → models-D-5wKlT9.js} +2 -2
  49. package/dist/{models-cli-B1rXMGPT.js → models-cli-C1zC4lKD.js} +6 -6
  50. package/dist/{models-cli-DAwcBLHF.js → models-cli-D5qw1ZpC.js} +5 -5
  51. package/dist/{onboard-BIPhgfaW.js → onboard-BkSAITl5.js} +1 -1
  52. package/dist/{onboard-C9k0zmHq.js → onboard-Cj_YnZJa.js} +1 -1
  53. package/dist/{onboard-channels-BEi6XlDW.js → onboard-channels-CSob-yk7.js} +1 -1
  54. package/dist/{onboard-channels-BkmP8-BZ.js → onboard-channels-Cs8PisRK.js} +1 -1
  55. package/dist/{onboarding-B1NNMstX.js → onboarding-BZ48EHlN.js} +3 -3
  56. package/dist/{onboarding-B2Km9GAJ.js → onboarding-CAAwF3a9.js} +3 -3
  57. package/dist/{onboarding.finalize-xL4ImbkA.js → onboarding.finalize-B3552IcE.js} +4 -4
  58. package/dist/{onboarding.finalize-DJghG2o6.js → onboarding.finalize-CCBybhum.js} +3 -3
  59. package/dist/{pi-embedded-LB2aszfv.js → pi-embedded-CUOgsTPP.js} +46 -27
  60. package/dist/{plugin-registry-C2TXQh4N.js → plugin-registry-DYCw-sNi.js} +1 -1
  61. package/dist/{plugin-registry-CPEFf3Lg.js → plugin-registry-q70u5zpG.js} +1 -1
  62. package/dist/{plugins-cli-Df8zFZuP.js → plugins-cli-CtLc-2Ld.js} +5 -5
  63. package/dist/{plugins-cli-DiB98WvI.js → plugins-cli-DVVRxelh.js} +5 -5
  64. package/dist/{program-BUv-qGcY.js → program-BxxXl80d.js} +10 -10
  65. package/dist/{program-context-B2L7Zll7.js → program-context-BtIXG2qR.js} +18 -18
  66. package/dist/{prompt-select-styled-BMyhMWqW.js → prompt-select-styled-BHhH5ybZ.js} +4 -4
  67. package/dist/{prompt-select-styled-DCTSxBvr.js → prompt-select-styled-ByjTpyot.js} +4 -4
  68. package/dist/{provider-auth-helpers-4CHkGgIn.js → provider-auth-helpers-CAuz6DNd.js} +1 -1
  69. package/dist/{provider-auth-helpers-FDwi4Yzt.js → provider-auth-helpers-DBKEKALS.js} +1 -1
  70. package/dist/{push-apns-MTIWc9yH.js → push-apns-BCSNcIc0.js} +1 -1
  71. package/dist/{push-apns-BzR8krCb.js → push-apns-DL93WtYD.js} +1 -1
  72. package/dist/{pw-ai-v__CyAlM.js → pw-ai-DOAsQ5NX.js} +1 -1
  73. package/dist/{register.agent-CIA-0mpo.js → register.agent-CQGI1gXc.js} +8 -8
  74. package/dist/{register.agent-COTicWGL.js → register.agent-DIY2bwUm.js} +9 -9
  75. package/dist/{register.configure-BV_zrg1a.js → register.configure-BWXNvhzX.js} +8 -8
  76. package/dist/{register.configure-RZHIHn4g.js → register.configure-BapgCBs0.js} +8 -8
  77. package/dist/{register.maintenance-B7OkvZK3.js → register.maintenance-BDVgq9T4.js} +8 -8
  78. package/dist/{register.maintenance-Bgr2ezP7.js → register.maintenance-BlAUANdz.js} +9 -9
  79. package/dist/{register.message-MnKGR-CU.js → register.message-Csbuzuuo.js} +5 -5
  80. package/dist/{register.message-B87VSL0P.js → register.message-DCi7lcog.js} +5 -5
  81. package/dist/{register.onboard-uE1fuOoP.js → register.onboard-BO07mgTh.js} +2 -2
  82. package/dist/{register.onboard-B-mQpES-.js → register.onboard-BRyFTT_p.js} +2 -2
  83. package/dist/{register.setup-DvW7pEmV.js → register.setup-BpkNkSlo.js} +2 -2
  84. package/dist/{register.setup-fD86QH-Z.js → register.setup-CPpe9s0t.js} +2 -2
  85. package/dist/{register.status-health-sessions-DnJHSkWN.js → register.status-health-sessions-BbZjSoaj.js} +3 -3
  86. package/dist/{register.status-health-sessions-CZlmKKRr.js → register.status-health-sessions-CqWSfitY.js} +3 -3
  87. package/dist/{register.subclis-B_zXq-OG.js → register.subclis-BjBF7wWe.js} +9 -9
  88. package/dist/{run-main-BwejEUC8.js → run-main-CkwOELop.js} +17 -17
  89. package/dist/{server-methods-DF_vhByu.js → server-methods-Ce0l0gh5.js} +7 -7
  90. package/dist/{server-methods-fT02jJUv.js → server-methods-Ck3DDa2f.js} +7 -7
  91. package/dist/{server-node-events-C-SSj_J4.js → server-node-events-CFOMv4Fa.js} +6 -6
  92. package/dist/{server-node-events-B0Ah5xv3.js → server-node-events-Qd8n11ct.js} +6 -6
  93. package/dist/{status-C43mMdxl.js → status-CFY6kzHz.js} +1 -1
  94. package/dist/{status-DYN36pJ0.js → status-Dm7Wc3Qd.js} +1 -1
  95. package/dist/{status-9_SJZT-n.js → status-c8NQQ2B0.js} +1 -1
  96. package/dist/{status-BJK_HWiE.js → status-efu_KQ17.js} +1 -1
  97. package/dist/{subagent-registry-odA9HOvg.js → subagent-registry-DiV7CISR.js} +39 -20
  98. package/dist/{synthesis-CVmwfUvx.js → synthesis-Bx3Iep0j.js} +4 -4
  99. package/dist/{synthesis-BI3Vsi69.js → synthesis-CWnI9fLb.js} +4 -4
  100. package/dist/{synthesis-BxLob78U.js → synthesis-DOzB6Nh2.js} +4 -4
  101. package/dist/{synthesis-ByIDCuPD.js → synthesis-DQY0p49e.js} +2 -2
  102. package/dist/{unified-runner-DJTndfeW.js → unified-runner-8JZoT8A5.js} +39 -20
  103. package/dist/{unified-runner-C8BedLLT.js → unified-runner-DPEy1Kdd.js} +39 -20
  104. package/dist/{update-cli-Ce4anXY7.js → update-cli-BtfrRdxV.js} +9 -9
  105. package/dist/{update-cli-BP1MAHhV.js → update-cli-CxntpfBH.js} +8 -8
  106. package/extensions/memory-core/package.json +1 -1
  107. package/extensions/msteams/CHANGELOG.md +12 -0
  108. package/extensions/msteams/package.json +1 -1
  109. package/extensions/open-prose/package.json +1 -1
  110. package/extensions/outlook/package.json +1 -1
  111. package/extensions/slack/package.json +1 -1
  112. package/package.json +1 -1
@@ -8,7 +8,7 @@ import { a as buildModelAliasLines } from "./model-B4Btg-Q6.js";
8
8
  import { r as buildWorkspaceSkillSnapshot } from "./skills-cLBEdkqu.js";
9
9
  import { i as loadConfig } from "./config-D7TcU4qN.js";
10
10
  import { a as isInternalMessageChannel, d as resolveMessageChannel, i as isGatewayMessageChannel, l as normalizeMessageChannel, n as isDeliverableMessageChannel, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-DXToSaWK.js";
11
- import { A as resolveRunWorkspaceDir, At as buildAgentSystemPrompt, Cn as emitAgentEvent, En as registerAgentRunContext, Ht as applyVerboseOverride, It as resolveSendPolicy, Nt as getProcessSupervisor, Pt as detectRuntimeShell, Q as resolveFailoverStatus, Sn as clearAgentRunContext, T as runAgentTurn, U as resolveOutboundTarget, Vt as applyModelOverrideToSessionEntry, W as resolveSessionDeliveryTarget, X as FailoverError, Y as runWithModelFallback, an as clearSessionAuthProfileOverride, bt as AGENT_LANE_NESTED, hn as resolveBootstrapContextForRun, jt as buildSystemPromptParams, k as redactRunIdentifier, mn as makeBootstrapWarn, tn as resolveAgentTimeoutMs, un as resolveSymiDocsPath, xt as AGENT_LANE_SUBAGENT } from "./subagent-registry-odA9HOvg.js";
11
+ import { A as resolveRunWorkspaceDir, At as buildAgentSystemPrompt, Cn as emitAgentEvent, En as registerAgentRunContext, Ht as applyVerboseOverride, It as resolveSendPolicy, Nt as getProcessSupervisor, Pt as detectRuntimeShell, Q as resolveFailoverStatus, Sn as clearAgentRunContext, T as runAgentTurn, U as resolveOutboundTarget, Vt as applyModelOverrideToSessionEntry, W as resolveSessionDeliveryTarget, X as FailoverError, Y as runWithModelFallback, an as clearSessionAuthProfileOverride, bt as AGENT_LANE_NESTED, hn as resolveBootstrapContextForRun, jt as buildSystemPromptParams, k as redactRunIdentifier, mn as makeBootstrapWarn, tn as resolveAgentTimeoutMs, un as resolveSymiDocsPath, xt as AGENT_LANE_SUBAGENT } from "./subagent-registry-DiV7CISR.js";
12
12
  import { D as resolveSessionResetPolicy, E as resolveChannelResetConfig, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, Y as normalizeAccountId, a as resolveAndPersistSessionFile, d as updateSessionStore, n as parseSessionThreadInfo, o as loadSessionStore, w as resolveSessionKey } from "./sessions-Dn6VXn4p.js";
13
13
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BsEhWvLn.js";
14
14
  import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "./deliver-DIK2emIV.js";
@@ -1,4 +1,4 @@
1
- import { $t as emitAgentEvent, A as resolveSessionDeliveryTarget, An as resolveFailoverStatus, Dn as runWithModelFallback, It as clearSessionAuthProfileOverride, Kt as resolveAgentTimeoutMs, On as FailoverError, Qt as clearAgentRunContext, Xt as AGENT_LANE_SUBAGENT, Yt as AGENT_LANE_NESTED, _n as resolveRunWorkspaceDir, bt as applyModelOverrideToSessionEntry, ft as getProcessSupervisor, gn as redactRunIdentifier, hn as resolveBootstrapContextForRun, ht as resolveSendPolicy, k as resolveOutboundTarget, mn as makeBootstrapWarn, nn as registerAgentRunContext, pt as detectRuntimeShell, rn as buildAgentSystemPrompt, t as runAgentTurn, un as resolveSymiDocsPath, ut as buildSystemPromptParams, xt as applyVerboseOverride } from "./unified-runner-C8BedLLT.js";
1
+ import { $t as emitAgentEvent, A as resolveSessionDeliveryTarget, An as resolveFailoverStatus, Dn as runWithModelFallback, It as clearSessionAuthProfileOverride, Kt as resolveAgentTimeoutMs, On as FailoverError, Qt as clearAgentRunContext, Xt as AGENT_LANE_SUBAGENT, Yt as AGENT_LANE_NESTED, _n as resolveRunWorkspaceDir, bt as applyModelOverrideToSessionEntry, ft as getProcessSupervisor, gn as redactRunIdentifier, hn as resolveBootstrapContextForRun, ht as resolveSendPolicy, k as resolveOutboundTarget, mn as makeBootstrapWarn, nn as registerAgentRunContext, pt as detectRuntimeShell, rn as buildAgentSystemPrompt, t as runAgentTurn, un as resolveSymiDocsPath, ut as buildSystemPromptParams, xt as applyVerboseOverride } from "./unified-runner-DPEy1Kdd.js";
2
2
  import { D as shouldLogVerbose, r as DEFAULT_CHAT_CHANNEL } from "./registry-Sbac4a4z.js";
3
3
  import { u as isRecord } from "./utils-CTPsqyE_.js";
4
4
  import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
@@ -10,13 +10,13 @@ import { s as resolveSessionTranscriptsDirForAgent } from "./paths-DtiEyjsC.js";
10
10
  import { t as WizardCancelledError } from "./prompts-D4yOwSll.js";
11
11
  import { t as createClackPrompter } from "./clack-prompter-BMQT37oC.js";
12
12
  import { t as resolveChannelDefaultAccountId } from "./helpers-CBCZwlBW.js";
13
- import { r as setupChannels } from "./onboard-channels-BkmP8-BZ.js";
13
+ import { r as setupChannels } from "./onboard-channels-Cs8PisRK.js";
14
14
  import { t as requireValidConfigSnapshot } from "./config-validation-CeEJcuMJ.js";
15
15
  import { a as ensureWorkspaceAndSessions, l as moveToTrash } from "./onboard-helpers-t7tI9KSA.js";
16
16
  import { a as pruneAgentConfig, c as parseIdentityMarkdown, i as loadAgentIdentity, n as buildAgentSummaries, o as identityHasValues, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-CqfMQEiy.js";
17
17
  import { n as logConfigUpdated } from "./logging-Ev3fNJEG.js";
18
18
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-D6A5uuj3.js";
19
- import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-B8hl2zQ_.js";
19
+ import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-B-YDzf6k.js";
20
20
  import path from "node:path";
21
21
  import fs from "node:fs/promises";
22
22
 
@@ -10,7 +10,7 @@ import { n as loadModelCatalog } from "./model-catalog-CzKsiNZA.js";
10
10
  import { t as enablePluginInConfig } from "./enable-BIMBTSRy.js";
11
11
  import { f as openUrl } from "./onboard-helpers-t7tI9KSA.js";
12
12
  import { $ as setHuggingfaceApiKey, A as applyXaiConfig, B as applyVercelAiGatewayConfig, C as applyQianfanProviderConfig, D as applyTogetherProviderConfig, E as applyTogetherConfig, F as applyZaiProviderConfig, G as OPENROUTER_DEFAULT_MODEL_REF, H as applyAgentDefaultModelPrimary, I as applyLitellmConfig, J as XIAOMI_DEFAULT_MODEL_REF, K as TOGETHER_DEFAULT_MODEL_REF, L as applyLitellmProviderConfig, M as applyXiaomiConfig, N as applyXiaomiProviderConfig, O as applyVeniceConfig, P as applyZaiConfig, Q as setGeminiApiKey, R as applyCloudflareAiGatewayConfig, S as applyQianfanConfig, T as applySyntheticProviderConfig, U as HUGGINGFACE_DEFAULT_MODEL_REF, V as applyVercelAiGatewayProviderConfig, W as LITELLM_DEFAULT_MODEL_REF, X as setAnthropicApiKey, Y as ZAI_DEFAULT_MODEL_REF, Z as setCloudflareAiGatewayConfig, _ as applyMoonshotConfigCn, _t as QIANFAN_DEFAULT_MODEL_REF, a as applyMinimaxApiConfig, at as setOpenrouterApiKey, b as applyOpenrouterConfig, c as applyMinimaxApiProviderConfigCn, ct as setTogetherApiKey, d as applyAuthProfileConfig, dt as setXaiApiKey, et as setKimiCodingApiKey, ft as setXiaomiApiKey, g as applyMoonshotConfig, gt as MOONSHOT_DEFAULT_MODEL_REF, h as applyKimiCodeProviderConfig, ht as KIMI_CODING_MODEL_REF, i as applyOpencodeZenProviderConfig, it as setOpencodeZenApiKey, j as applyXaiProviderConfig, k as applyVeniceProviderConfig, l as applyMinimaxConfig, lt as setVeniceApiKey, m as applyKimiCodeConfig, mt as writeOAuthCredentials, n as validateAnthropicSetupToken, nt as setMinimaxApiKey, o as applyMinimaxApiConfigCn, ot as setQianfanApiKey, p as applyHuggingfaceProviderConfig, pt as setZaiApiKey, q as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setMoonshotApiKey, s as applyMinimaxApiProviderConfig, st as setSyntheticApiKey, t as buildTokenProfileId, tt as setLitellmApiKey, u as applyMinimaxProviderConfig, ut as setVercelAiGatewayApiKey, v as applyMoonshotProviderConfig, vt as XAI_DEFAULT_MODEL_REF, w as applySyntheticConfig, x as applyOpenrouterProviderConfig, y as applyMoonshotProviderConfigCn, z as applyCloudflareAiGatewayProviderConfig } from "./auth-token-YTHu2ftn.js";
13
- import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-FDwi4Yzt.js";
13
+ import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-DBKEKALS.js";
14
14
  import { a as detectZaiEndpoint, c as ensureModelAllowlistEntry, i as upsertSharedEnvVar, n as applyOpenAIConfig, o as GOOGLE_GEMINI_DEFAULT_MODEL, r as applyOpenAIProviderConfig, s as applyGoogleGeminiModelDefault, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-Cx6qbnBw.js";
15
15
  import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-DvP8ViSf.js";
16
16
  import { randomBytes } from "node:crypto";
@@ -10,7 +10,7 @@ import { n as loadModelCatalog } from "./model-catalog-IWi6-nY9.js";
10
10
  import { t as enablePluginInConfig } from "./enable-B8TbkmWU.js";
11
11
  import { f as openUrl } from "./onboard-helpers-7IGQ8nAM.js";
12
12
  import { $ as setHuggingfaceApiKey, A as applyXaiConfig, B as applyVercelAiGatewayConfig, C as applyQianfanProviderConfig, D as applyTogetherProviderConfig, E as applyTogetherConfig, F as applyZaiProviderConfig, G as OPENROUTER_DEFAULT_MODEL_REF, H as applyAgentDefaultModelPrimary, I as applyLitellmConfig, J as XIAOMI_DEFAULT_MODEL_REF, K as TOGETHER_DEFAULT_MODEL_REF, L as applyLitellmProviderConfig, M as applyXiaomiConfig, N as applyXiaomiProviderConfig, O as applyVeniceConfig, P as applyZaiConfig, Q as setGeminiApiKey, R as applyCloudflareAiGatewayConfig, S as applyQianfanConfig, T as applySyntheticProviderConfig, U as HUGGINGFACE_DEFAULT_MODEL_REF, V as applyVercelAiGatewayProviderConfig, W as LITELLM_DEFAULT_MODEL_REF, X as setAnthropicApiKey, Y as ZAI_DEFAULT_MODEL_REF, Z as setCloudflareAiGatewayConfig, _ as applyMoonshotConfigCn, _t as QIANFAN_DEFAULT_MODEL_REF, a as applyMinimaxApiConfig, at as setOpenrouterApiKey, b as applyOpenrouterConfig, c as applyMinimaxApiProviderConfigCn, ct as setTogetherApiKey, d as applyAuthProfileConfig, dt as setXaiApiKey, et as setKimiCodingApiKey, ft as setXiaomiApiKey, g as applyMoonshotConfig, gt as MOONSHOT_DEFAULT_MODEL_REF, h as applyKimiCodeProviderConfig, ht as KIMI_CODING_MODEL_REF, i as applyOpencodeZenProviderConfig, it as setOpencodeZenApiKey, j as applyXaiProviderConfig, k as applyVeniceProviderConfig, l as applyMinimaxConfig, lt as setVeniceApiKey, m as applyKimiCodeConfig, mt as writeOAuthCredentials, n as validateAnthropicSetupToken, nt as setMinimaxApiKey, o as applyMinimaxApiConfigCn, ot as setQianfanApiKey, p as applyHuggingfaceProviderConfig, pt as setZaiApiKey, q as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setMoonshotApiKey, s as applyMinimaxApiProviderConfig, st as setSyntheticApiKey, t as buildTokenProfileId, tt as setLitellmApiKey, u as applyMinimaxProviderConfig, ut as setVercelAiGatewayApiKey, v as applyMoonshotProviderConfig, vt as XAI_DEFAULT_MODEL_REF, w as applySyntheticConfig, x as applyOpenrouterProviderConfig, y as applyMoonshotProviderConfigCn, z as applyCloudflareAiGatewayProviderConfig } from "./auth-token-Cr28IDKY.js";
13
- import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-4CHkGgIn.js";
13
+ import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-CAuz6DNd.js";
14
14
  import { a as detectZaiEndpoint, c as ensureModelAllowlistEntry, i as upsertSharedEnvVar, n as applyOpenAIConfig, o as GOOGLE_GEMINI_DEFAULT_MODEL, r as applyOpenAIProviderConfig, s as applyGoogleGeminiModelDefault, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-BkuuK-Di.js";
15
15
  import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-Cf6UgQEh.js";
16
16
  import { randomBytes } from "node:crypto";
@@ -1,5 +1,5 @@
1
1
  import { Q as theme, Z as isRich, h as visibleWidth, nn as hasRootVersionAlias } from "./entry.js";
2
- import { Mt as resolveCommitHash } from "./subagent-registry-odA9HOvg.js";
2
+ import { Mt as resolveCommitHash } from "./subagent-registry-DiV7CISR.js";
3
3
 
4
4
  //#region src/cli/tagline.ts
5
5
  const DEFAULT_TAGLINE = "All your chats, one Symi.";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.5.38",
3
- "commit": "d6ab37ff4ecc0a235f4416ff4feff3b08a6bef5e",
4
- "builtAt": "2026-05-26T01:01:21.091Z"
2
+ "version": "3.5.40",
3
+ "commit": "bef0020d6e828d9622fb2ad94cc8191b52270eca",
4
+ "builtAt": "2026-05-26T01:54:55.797Z"
5
5
  }
@@ -4,7 +4,7 @@ import { E as shouldLogVerbose, G as isRecord, r as DEFAULT_CHAT_CHANNEL, v as i
4
4
  import { a as resolveAgentSkillsFilter, c as resolveEffectiveModelFallbacks, i as resolveAgentModelPrimary, l as resolveSessionAgentId, o as resolveAgentWorkspaceDir, r as resolveAgentDir, t as listAgentIds, u as resolveSessionAgentIds } from "../../agent-scope-B1Ina6jV.js";
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "../../subsystem-DzRUKS9f.js";
6
6
  import { l as ensureAgentWorkspace } from "../../workspace-CsaDUuDn.js";
7
- import { A as runWithModelFallback, C as resolveSymiDocsPath, D as resolveRunWorkspaceDir, E as redactRunIdentifier, M as resolveFailoverStatus, O as deriveSessionTotalTokens, S as buildAgentSystemPrompt, T as resolveBootstrapContextForRun, _ as AGENT_LANE_NESTED, a as resolveSessionDeliveryTarget, b as emitAgentEvent, c as detectRuntimeShell, d as applyModelOverrideToSessionEntry, f as applyVerboseOverride, g as resolveAgentTimeoutMs, i as resolveOutboundTarget, j as FailoverError, k as hasNonzeroUsage, l as resolveSendPolicy, m as clearSessionAuthProfileOverride, n as buildModelAliasLines, o as buildSystemPromptParams, p as loadModelCatalog, s as getProcessSupervisor, t as runAgentTurn, u as lookupContextTokens, v as AGENT_LANE_SUBAGENT, w as makeBootstrapWarn, x as registerAgentRunContext, y as clearAgentRunContext } from "../../unified-runner-DJTndfeW.js";
7
+ import { A as runWithModelFallback, C as resolveSymiDocsPath, D as resolveRunWorkspaceDir, E as redactRunIdentifier, M as resolveFailoverStatus, O as deriveSessionTotalTokens, S as buildAgentSystemPrompt, T as resolveBootstrapContextForRun, _ as AGENT_LANE_NESTED, a as resolveSessionDeliveryTarget, b as emitAgentEvent, c as detectRuntimeShell, d as applyModelOverrideToSessionEntry, f as applyVerboseOverride, g as resolveAgentTimeoutMs, i as resolveOutboundTarget, j as FailoverError, k as hasNonzeroUsage, l as resolveSendPolicy, m as clearSessionAuthProfileOverride, n as buildModelAliasLines, o as buildSystemPromptParams, p as loadModelCatalog, s as getProcessSupervisor, t as runAgentTurn, u as lookupContextTokens, v as AGENT_LANE_SUBAGENT, w as makeBootstrapWarn, x as registerAgentRunContext, y as clearAgentRunContext } from "../../unified-runner-8JZoT8A5.js";
8
8
  import { d as ensureAuthProfileStore } from "../../auth-profiles-BSw0aQND.js";
9
9
  import { t as formatCliCommand } from "../../command-format-BrrHNE8r.js";
10
10
  import { _ as DEFAULT_MODEL, a as isCliProvider, c as normalizeProviderId, d as resolveDefaultModelForAgent, g as DEFAULT_CONTEXT_TOKENS, m as resolveThinkingDefault, o as modelKey, s as normalizeModelRef, t as buildAllowedModelSet, u as resolveConfiguredModelRef, v as DEFAULT_PROVIDER } from "../../model-selection-BqshlIZc.js";
@@ -27,7 +27,7 @@ import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, s as re
27
27
  import { t as SILENT_REPLY_TOKEN } from "../../tokens-D_vCJSzF.js";
28
28
  import "../../diagnostic-BALvP9wI.js";
29
29
  import "../../diagnostic-session-state-BDfanaOY.js";
30
- import "../../manager-IHsU3dHx.js";
30
+ import "../../manager-DIusIBzv.js";
31
31
  import "../../github-copilot-token-uhEBNQfj.js";
32
32
  import "../../pi-auth-json-DCGR3yfh.js";
33
33
  import "../../reply-prefix-D0NzzC4I.js";
@@ -4,7 +4,7 @@ import "../../registry-C-JddWwo.js";
4
4
  import { o as resolveAgentWorkspaceDir } from "../../agent-scope-B1Ina6jV.js";
5
5
  import { t as createSubsystemLogger } from "../../subsystem-DzRUKS9f.js";
6
6
  import "../../workspace-CsaDUuDn.js";
7
- import "../../unified-runner-DJTndfeW.js";
7
+ import "../../unified-runner-8JZoT8A5.js";
8
8
  import "../../auth-profiles-BSw0aQND.js";
9
9
  import "../../model-selection-BqshlIZc.js";
10
10
  import { Tt as hasInterSessionUserProvenance } from "../../deliver-BiWlR84Y.js";
@@ -26,7 +26,7 @@ import "../../paths-BsT3BvfH.js";
26
26
  import "../../tokens-D_vCJSzF.js";
27
27
  import "../../diagnostic-BALvP9wI.js";
28
28
  import "../../diagnostic-session-state-BDfanaOY.js";
29
- import "../../manager-IHsU3dHx.js";
29
+ import "../../manager-DIusIBzv.js";
30
30
  import "../../github-copilot-token-uhEBNQfj.js";
31
31
  import "../../pi-auth-json-DCGR3yfh.js";
32
32
  import "../../reply-prefix-D0NzzC4I.js";
@@ -1 +1 @@
1
- f040f21e43ceb84edca1626923fefc18f4aa89dc23e7f8bfab72d78b8b160ce6
1
+ 14051a761ea8e5709b186d1a68978e8ee43279253f642813c139dca3348ad73f
@@ -2,7 +2,7 @@ import { n as CHAT_CHANNEL_ORDER } from "./registry-Sbac4a4z.js";
2
2
  import { t as isTruthyEnvValue } from "./env-BRnPI9sO.js";
3
3
  import { n as listChannelPlugins } from "./plugins-CF5skkHh.js";
4
4
  import { r as listChannelPluginCatalogEntries } from "./catalog-BptA-dUv.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CPEFf3Lg.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-q70u5zpG.js";
6
6
 
7
7
  //#region src/cli/channel-options.ts
8
8
  function dedupe(values) {
@@ -1,7 +1,7 @@
1
1
  import { C as CHAT_CHANNEL_ORDER, n as isTruthyEnvValue } from "./entry.js";
2
2
  import { n as listChannelPlugins } from "./plugins-BsEhWvLn.js";
3
3
  import { r as listChannelPluginCatalogEntries } from "./catalog-BQgWCFTH.js";
4
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-C2TXQh4N.js";
4
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DYCw-sNi.js";
5
5
 
6
6
  //#region src/cli/channel-options.ts
7
7
  function dedupe(values) {
@@ -1,4 +1,4 @@
1
- import "./unified-runner-C8BedLLT.js";
1
+ import "./unified-runner-DPEy1Kdd.js";
2
2
  import { E as setVerbose, P as getResolvedLoggerSettings, b as danger, j as theme, r as DEFAULT_CHAT_CHANNEL } from "./registry-Sbac4a4z.js";
3
3
  import "./paths-By0XjHBk.js";
4
4
  import { u as isRecord } from "./utils-CTPsqyE_.js";
@@ -52,8 +52,8 @@ import "./session-cost-usage-D3mgssM_.js";
52
52
  import { _ as loadProviderUsageSummary, v as formatUsageReportLines } from "./session-utils-Cs1jlD-q.js";
53
53
  import "./with-timeout-DPR4A2dx.js";
54
54
  import "./reply-prefix-BFNeXT65.js";
55
- import "./memory-BLluF2i6.js";
56
- import "./manager-DjgKz80p.js";
55
+ import "./memory-DIhzkdsJ.js";
56
+ import "./manager-DbEvY6wj.js";
57
57
  import "./sqlite-Cod7C5ba.js";
58
58
  import "./chunk-BxfKjCUx.js";
59
59
  import "./markdown-tables-CS1Tvb3z.js";
@@ -85,14 +85,14 @@ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
85
85
  import { n as runCommandWithRuntime } from "./cli-utils-CuyGL3rq.js";
86
86
  import { t as formatHelpExamples } from "./help-format-7hFcsqss.js";
87
87
  import { n as withProgress } from "./progress-swt2y17x.js";
88
- import "./memory-cli-DQTznta7.js";
88
+ import "./memory-cli-R2BeQOIN.js";
89
89
  import "./logging-BWknayJl.js";
90
90
  import "./replies-CbXXjn9X.js";
91
91
  import "./pi-tools.policy-H2t-Xkfc.js";
92
92
  import "./model-MUMSB_7d.js";
93
93
  import { r as listChannelPluginCatalogEntries } from "./catalog-BptA-dUv.js";
94
- import "./plugin-registry-CPEFf3Lg.js";
95
- import { t as formatCliChannelOptions } from "./channel-options-B3FrqAbY.js";
94
+ import "./plugin-registry-q70u5zpG.js";
95
+ import { t as formatCliChannelOptions } from "./channel-options-CBu88unz.js";
96
96
  import { t as hasExplicitOptions } from "./command-options-DDDwkB9t.js";
97
97
  import "./prompt-style-olk5zI5k.js";
98
98
  import "./note-D9FXI2qW.js";
@@ -103,7 +103,7 @@ import "./install-safe-path-B2JrFspY.js";
103
103
  import "./npm-registry-spec-DTqn-NXZ.js";
104
104
  import "./skill-scanner-BCgVcIwi.js";
105
105
  import "./installs-D890uIIW.js";
106
- import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-BEi6XlDW.js";
106
+ import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-CSob-yk7.js";
107
107
  import { t as requireValidConfigSnapshot } from "./config-validation-Cdyg1BZB.js";
108
108
  import { t as buildChannelAccountSnapshot } from "./status-Bah7VY4i.js";
109
109
  import { t as parseLogLine } from "./parse-log-line-Vp8N7lak.js";
@@ -19,7 +19,7 @@ import "./client-BOd5o3Kp.js";
19
19
  import { n as callGateway } from "./call-DTshgdlW.js";
20
20
  import "./message-channel-DXToSaWK.js";
21
21
  import "./pairing-token-B-OTYROz.js";
22
- import "./subagent-registry-odA9HOvg.js";
22
+ import "./subagent-registry-DiV7CISR.js";
23
23
  import "./sessions-Dn6VXn4p.js";
24
24
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BsEhWvLn.js";
25
25
  import { d as createSlackWebClient } from "./send-Dq252-bi.js";
@@ -49,8 +49,8 @@ import "./model-auth-Byr7Gic_.js";
49
49
  import "./github-copilot-token-B5y4__YM.js";
50
50
  import "./models-config-CiR_RUxw.js";
51
51
  import "./reply-prefix-DV3KhOhL.js";
52
- import "./memory-DgS1AC6J.js";
53
- import "./manager-CDkFM3pi.js";
52
+ import "./memory-CIyIuHS3.js";
53
+ import "./manager-eeu-xRjS.js";
54
54
  import "./sqlite-9jF_eajd.js";
55
55
  import "./chunk-B2lBXhR0.js";
56
56
  import "./markdown-tables-BEdkErjm.js";
@@ -82,7 +82,7 @@ import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
82
82
  import { n as runCommandWithRuntime } from "./cli-utils-DXfA5936.js";
83
83
  import { t as formatHelpExamples } from "./help-format-Dbp8yEhl.js";
84
84
  import { n as withProgress } from "./progress-CI19Xh3z.js";
85
- import "./memory-cli-jmPQDz2s.js";
85
+ import "./memory-cli-BMPG3My6.js";
86
86
  import "./logging-UO6tk8Em.js";
87
87
  import "./replies-CLREUzzB.js";
88
88
  import "./pi-tools.policy-06k__URR.js";
@@ -97,13 +97,13 @@ import "./install-safe-path-BdxXJux8.js";
97
97
  import "./npm-registry-spec-BPgK9EL7.js";
98
98
  import "./skill-scanner-BC3PyNso.js";
99
99
  import "./installs-Dunp9UFl.js";
100
- import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-BkmP8-BZ.js";
100
+ import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-Cs8PisRK.js";
101
101
  import { t as requireValidConfigSnapshot } from "./config-validation-CeEJcuMJ.js";
102
102
  import { t as buildChannelAccountSnapshot } from "./status-BzmfZaEV.js";
103
103
  import { t as parseLogLine } from "./parse-log-line-DfH8ycNl.js";
104
104
  import { t as collectChannelStatusIssues } from "./channels-status-issues-BTvrA4nx.js";
105
- import "./plugin-registry-C2TXQh4N.js";
106
- import { t as formatCliChannelOptions } from "./channel-options-CXChz2Gl.js";
105
+ import "./plugin-registry-DYCw-sNi.js";
106
+ import { t as formatCliChannelOptions } from "./channel-options-DSponzlW.js";
107
107
  import fs from "node:fs/promises";
108
108
 
109
109
  //#region src/commands/channels/add-mutators.ts
@@ -9,7 +9,7 @@ import fs$1 from "node:fs/promises";
9
9
  import { execFileSync, spawn } from "node:child_process";
10
10
  import net from "node:net";
11
11
  import { createServer } from "node:http";
12
- import WebSocket$1, { WebSocketServer } from "ws";
12
+ import WebSocket, { WebSocketServer } from "ws";
13
13
  import { Buffer as Buffer$1 } from "node:buffer";
14
14
 
15
15
  //#region src/browser/constants.ts
@@ -177,7 +177,7 @@ async function ensureChromeExtensionRelayServer(opts) {
177
177
  let nextExtensionId = 1;
178
178
  const sendToExtension = async (payload) => {
179
179
  const ws = extensionWs;
180
- if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
180
+ if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
181
181
  ws.send(JSON.stringify(payload));
182
182
  return await new Promise((resolve, reject) => {
183
183
  const timer = setTimeout(() => {
@@ -194,12 +194,12 @@ async function ensureChromeExtensionRelayServer(opts) {
194
194
  const broadcastToCdpClients = (evt) => {
195
195
  const msg = JSON.stringify(evt);
196
196
  for (const ws of cdpClients) {
197
- if (ws.readyState !== WebSocket$1.OPEN) continue;
197
+ if (ws.readyState !== WebSocket.OPEN) continue;
198
198
  ws.send(msg);
199
199
  }
200
200
  };
201
201
  const sendResponseToCdp = (ws, res) => {
202
- if (ws.readyState !== WebSocket$1.OPEN) return;
202
+ if (ws.readyState !== WebSocket.OPEN) return;
203
203
  ws.send(JSON.stringify(res));
204
204
  };
205
205
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -424,7 +424,7 @@ async function ensureChromeExtensionRelayServer(opts) {
424
424
  wssExtension.on("connection", (ws) => {
425
425
  extensionWs = ws;
426
426
  const ping = setInterval(() => {
427
- if (ws.readyState !== WebSocket$1.OPEN) return;
427
+ if (ws.readyState !== WebSocket.OPEN) return;
428
428
  ws.send(JSON.stringify({ method: "ping" }));
429
429
  }, 5e3);
430
430
  ws.on("message", (data) => {
@@ -742,7 +742,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
742
742
  }
743
743
  async function withCdpSocket(wsUrl, fn, opts) {
744
744
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
745
- const ws = new WebSocket$1(wsUrl, {
745
+ const ws = new WebSocket(wsUrl, {
746
746
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
747
747
  ...Object.keys(headers).length ? { headers } : {}
748
748
  });
@@ -1636,7 +1636,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1636
1636
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1637
1637
  return await new Promise((resolve) => {
1638
1638
  const headers = getHeadersWithAuth(wsUrl);
1639
- const ws = new WebSocket$1(wsUrl, {
1639
+ const ws = new WebSocket(wsUrl, {
1640
1640
  handshakeTimeout: timeoutMs,
1641
1641
  ...Object.keys(headers).length ? { headers } : {}
1642
1642
  });
@@ -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 { m as loadSymiPlugins } from "./subagent-registry-odA9HOvg.js";
20
+ import { m as loadSymiPlugins } from "./subagent-registry-DiV7CISR.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-DgS1AC6J.js";
51
- import "./manager-CDkFM3pi.js";
50
+ import "./memory-CIyIuHS3.js";
51
+ import "./manager-eeu-xRjS.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-jmPQDz2s.js";
82
+ import "./memory-cli-BMPG3My6.js";
83
83
  import "./logging-UO6tk8Em.js";
84
84
  import "./replies-CLREUzzB.js";
85
85
  import "./pi-tools.policy-06k__URR.js";
@@ -1,4 +1,4 @@
1
- import { s as loadSymiPlugins } from "./unified-runner-C8BedLLT.js";
1
+ import { s as loadSymiPlugins } from "./unified-runner-DPEy1Kdd.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-BLluF2i6.js";
54
- import "./manager-DjgKz80p.js";
53
+ import "./memory-DIhzkdsJ.js";
54
+ import "./manager-DbEvY6wj.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-DQTznta7.js";
85
+ import "./memory-cli-R2BeQOIN.js";
86
86
  import "./logging-BWknayJl.js";
87
87
  import "./replies-CbXXjn9X.js";
88
88
  import "./pi-tools.policy-H2t-Xkfc.js";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Qt as getPrimaryCommand, tn as hasHelpOrVersion } from "./entry.js";
3
- import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-B_zXq-OG.js";
3
+ import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-BjBF7wWe.js";
4
4
 
5
5
  //#region src/cli/program/command-registry.ts
6
6
  var command_registry_exports = /* @__PURE__ */ __exportAll({
@@ -22,7 +22,7 @@ const coreEntries = [
22
22
  hasSubcommands: false
23
23
  }],
24
24
  register: async ({ program }) => {
25
- (await import("./register.setup-DvW7pEmV.js")).registerSetupCommand(program);
25
+ (await import("./register.setup-BpkNkSlo.js")).registerSetupCommand(program);
26
26
  }
27
27
  },
28
28
  {
@@ -32,7 +32,7 @@ const coreEntries = [
32
32
  hasSubcommands: false
33
33
  }],
34
34
  register: async ({ program }) => {
35
- (await import("./register.onboard-uE1fuOoP.js")).registerOnboardCommand(program);
35
+ (await import("./register.onboard-BO07mgTh.js")).registerOnboardCommand(program);
36
36
  }
37
37
  },
38
38
  {
@@ -42,7 +42,7 @@ const coreEntries = [
42
42
  hasSubcommands: false
43
43
  }],
44
44
  register: async ({ program }) => {
45
- (await import("./register.configure-BV_zrg1a.js")).registerConfigureCommand(program);
45
+ (await import("./register.configure-BWXNvhzX.js")).registerConfigureCommand(program);
46
46
  }
47
47
  },
48
48
  {
@@ -52,7 +52,7 @@ const coreEntries = [
52
52
  hasSubcommands: true
53
53
  }],
54
54
  register: async ({ program }) => {
55
- (await import("./config-cli-DfRMdVFn.js")).registerConfigCli(program);
55
+ (await import("./config-cli-D3unzeUl.js")).registerConfigCli(program);
56
56
  }
57
57
  },
58
58
  {
@@ -79,7 +79,7 @@ const coreEntries = [
79
79
  }
80
80
  ],
81
81
  register: async ({ program }) => {
82
- (await import("./register.maintenance-Bgr2ezP7.js")).registerMaintenanceCommands(program);
82
+ (await import("./register.maintenance-BlAUANdz.js")).registerMaintenanceCommands(program);
83
83
  }
84
84
  },
85
85
  {
@@ -89,7 +89,7 @@ const coreEntries = [
89
89
  hasSubcommands: true
90
90
  }],
91
91
  register: async ({ program, ctx }) => {
92
- (await import("./register.message-MnKGR-CU.js")).registerMessageCommands(program, ctx);
92
+ (await import("./register.message-Csbuzuuo.js")).registerMessageCommands(program, ctx);
93
93
  }
94
94
  },
95
95
  {
@@ -99,7 +99,7 @@ const coreEntries = [
99
99
  hasSubcommands: true
100
100
  }],
101
101
  register: async ({ program }) => {
102
- (await import("./memory-cli-jmPQDz2s.js").then((n) => n.t)).registerMemoryCli(program);
102
+ (await import("./memory-cli-BMPG3My6.js").then((n) => n.t)).registerMemoryCli(program);
103
103
  }
104
104
  },
105
105
  {
@@ -113,7 +113,7 @@ const coreEntries = [
113
113
  hasSubcommands: true
114
114
  }],
115
115
  register: async ({ program, ctx }) => {
116
- (await import("./register.agent-COTicWGL.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
116
+ (await import("./register.agent-DIY2bwUm.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
117
117
  }
118
118
  },
119
119
  {
@@ -135,7 +135,7 @@ const coreEntries = [
135
135
  }
136
136
  ],
137
137
  register: async ({ program }) => {
138
- (await import("./register.status-health-sessions-CZlmKKRr.js")).registerStatusHealthSessionsCommands(program);
138
+ (await import("./register.status-health-sessions-CqWSfitY.js")).registerStatusHealthSessionsCommands(program);
139
139
  }
140
140
  },
141
141
  {
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { _ as resolveStateDir } from "./paths-By0XjHBk.js";
3
3
  import { f as pathExists } from "./utils-CTPsqyE_.js";
4
4
  import { i as routeLogsToStderr } from "./subsystem-CHbO_DkH.js";
5
- import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-B2L7Zll7.js";
5
+ import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-BtIXG2qR.js";
6
6
  import path from "node:path";
7
7
  import os from "node:os";
8
8
  import fs from "node:fs/promises";
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Mt as pathExists, l as routeLogsToStderr, yt as resolveStateDir } from "./entry.js";
3
- import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-B_zXq-OG.js";
4
- import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-CL9Kg-yN.js";
3
+ import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-BjBF7wWe.js";
4
+ import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-D3imrPZK.js";
5
5
  import { t as getProgramContext } from "./program-context-B_0V80zV.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
@@ -201,7 +201,7 @@ async function runConfigUnset(opts) {
201
201
  }
202
202
  function registerConfigCli(program) {
203
203
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
204
- const { configureCommandFromSectionsArg } = await import("./configure-CCwkHVZQ.js").then((n) => n.t);
204
+ const { configureCommandFromSectionsArg } = await import("./configure-DifpX1Ur.js").then((n) => n.t);
205
205
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
206
206
  });
207
207
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -206,7 +206,7 @@ async function runConfigUnset(opts) {
206
206
  }
207
207
  function registerConfigCli(program) {
208
208
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
209
- const { configureCommandFromSectionsArg } = await import("./configure-DsebNj9T.js").then((n) => n.t);
209
+ const { configureCommandFromSectionsArg } = await import("./configure-BpdrzhML.js").then((n) => n.t);
210
210
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
211
211
  });
212
212
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -12,7 +12,7 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
12
12
  import { t as note$1 } from "./note-D9FXI2qW.js";
13
13
  import { t as WizardCancelledError } from "./prompts-CNzp9M83.js";
14
14
  import { t as createClackPrompter } from "./clack-prompter-BpcKjPIh.js";
15
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-BEi6XlDW.js";
15
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-CSob-yk7.js";
16
16
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DlQla_dA.js";
17
17
  import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-7IGQ8nAM.js";
18
18
  import { t as resolveGatewayService } from "./service-e6MzlLCd.js";
@@ -20,7 +20,7 @@ import { r as healthCommand } from "./health-7UqIGG8U.js";
20
20
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-CJQ97d4u.js";
21
21
  import { n as logConfigUpdated } from "./logging-DDnP1BTp.js";
22
22
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-BAFfYZeR.js";
23
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-DmQV3qVD.js";
23
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-BpJa6MIU.js";
24
24
  import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-Cf6UgQEh.js";
25
25
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-BzYk7A6M.js";
26
26
  import { a as promptCustomApiConfig } from "./onboard-custom-BcRYreNG.js";
@@ -10,7 +10,7 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
10
10
  import { t as note$1 } from "./note-BIAQpZxi.js";
11
11
  import { t as WizardCancelledError } from "./prompts-D4yOwSll.js";
12
12
  import { t as createClackPrompter } from "./clack-prompter-BMQT37oC.js";
13
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-BkmP8-BZ.js";
13
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-Cs8PisRK.js";
14
14
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-AkgOtHR6.js";
15
15
  import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-t7tI9KSA.js";
16
16
  import { t as resolveGatewayService } from "./service-DYpU1ajf.js";
@@ -18,7 +18,7 @@ import { r as healthCommand } from "./health-Dkwuq8ta.js";
18
18
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Dnz69KRU.js";
19
19
  import { n as logConfigUpdated } from "./logging-Ev3fNJEG.js";
20
20
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-D6A5uuj3.js";
21
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-B8hl2zQ_.js";
21
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-B-YDzf6k.js";
22
22
  import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-DvP8ViSf.js";
23
23
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-CctFkWNE.js";
24
24
  import { a as promptCustomApiConfig } from "./onboard-custom-CfKvdcJ5.js";
@@ -1341,9 +1341,60 @@ body {
1341
1341
  border-radius: var(--sf-radius-xs);
1342
1342
  }
1343
1343
 
1344
- /* Stage H (3.5.37): Stage J will add a new "breathing light" empty-state
1345
- element in this gap for now the panel is just empty when no cards
1346
- are live. The "quiet mind" substrate empty-state from Stage B is gone. */
1344
+ /* Stage J (3.5.39): blue/silver breathing light. Shown when the panel
1345
+ has zero cardsa felt "symi at rest" mark instead of a void.
1346
+
1347
+ Visibility is pure CSS via :has() — the light hides as soon as any
1348
+ .symframe-card-dynamic enters the cards container. No JS toggle.
1349
+
1350
+ Visual: 80px circle, radial gradient cyan → silver → transparent,
1351
+ blue-silver halo via box-shadow. Breathes at 3.5s — scale 0.85→1.0,
1352
+ opacity 0.6→1.0. Pointer-events disabled so it never blocks clicks. */
1353
+ .symframe-empty-light {
1354
+ position: absolute;
1355
+ top: 50%;
1356
+ left: 50%;
1357
+ width: 80px;
1358
+ height: 80px;
1359
+ border-radius: var(--sf-radius-pill);
1360
+ pointer-events: none;
1361
+ transform: translate(-50%, -50%);
1362
+ background: radial-gradient(
1363
+ circle at center,
1364
+ rgba(0, 212, 255, 0.55) 0%,
1365
+ rgba(180, 200, 220, 0.35) 45%,
1366
+ rgba(120, 160, 200, 0.1) 75%,
1367
+ transparent 100%
1368
+ );
1369
+ box-shadow:
1370
+ 0 0 24px rgba(0, 212, 255, 0.35),
1371
+ 0 0 48px rgba(180, 200, 220, 0.15),
1372
+ inset 0 0 12px rgba(255, 255, 255, 0.12);
1373
+ animation: symframe-empty-breathe var(--sf-time-breathe) ease-in-out infinite;
1374
+ transition: opacity var(--sf-time-normal) ease;
1375
+ }
1376
+ @keyframes symframe-empty-breathe {
1377
+ 0%,
1378
+ 100% {
1379
+ transform: translate(-50%, -50%) scale(0.85);
1380
+ opacity: 0.6;
1381
+ }
1382
+ 50% {
1383
+ transform: translate(-50%, -50%) scale(1);
1384
+ opacity: 1;
1385
+ }
1386
+ }
1387
+ /* Hide the light when any card is present in the stack */
1388
+ .symframe-stack:has(.symframe-card-dynamic) .symframe-empty-light {
1389
+ opacity: 0;
1390
+ }
1391
+ @media (prefers-reduced-motion: reduce) {
1392
+ .symframe-empty-light {
1393
+ animation: none;
1394
+ opacity: 0.8;
1395
+ transform: translate(-50%, -50%);
1396
+ }
1397
+ }
1347
1398
 
1348
1399
  /* Card chrome — overrides the per-panel transparent treatment from the
1349
1400
  floating-panels arc (3.4.10/11/12/13) for the panels that now live
@@ -266,6 +266,10 @@
266
266
  <!-- the panel is now a unified card stream with auto-decay. -->
267
267
  </div>
268
268
  <!-- /.symframe-cards -->
269
+ <!-- Stage J (3.5.39): blue/silver breathing light. Shown when the -->
270
+ <!-- panel has zero cards (CSS :has() inverse on .symframe-cards). -->
271
+ <!-- A breath, not a status — symi at rest. -->
272
+ <div class="symframe-empty-light" aria-hidden="true"></div>
269
273
  </div>
270
274
  <!-- /.symframe-stack -->
271
275