@symerian/symi 3.4.30 → 3.4.31

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 (177) hide show
  1. package/dist/{agent-O3PihJOY.js → agent-ZFfYdexc.js} +10 -10
  2. package/dist/{agents-C2MpIr16.js → agents-C8naPegc.js} +5 -5
  3. package/dist/{audit-yf3H4Y1h.js → audit-DOfexJi4.js} +8 -8
  4. package/dist/{auth-choice-CyBcsQ9T.js → auth-choice-DxH-c3vK.js} +4 -4
  5. package/dist/{banner-D7__HlM-.js → banner-D7zYLyA8.js} +1 -1
  6. package/dist/{browser-cli-B_6WWHm_.js → browser-cli-MYIql1Ic.js} +3 -3
  7. package/dist/build-info.json +1 -1
  8. package/dist/bundled/boot-md/handler.js +4 -4
  9. package/dist/bundled/session-memory/handler.js +4 -4
  10. package/dist/{call-IfleM0ap.js → call-D9U2Sfhp.js} +1 -1
  11. package/dist/{channel-options-B5974x-7.js → channel-options-9PzSNQLG.js} +1 -1
  12. package/dist/{channels-cli-C6Nv9mzy.js → channels-cli-C3XnNkE5.js} +30 -30
  13. package/dist/{chrome-DT1fIVG1.js → chrome-B4P7ycw5.js} +7 -7
  14. package/dist/{chrome-DJCkCRLf.js → chrome-ClVIwINy.js} +1 -1
  15. package/dist/{cli-DZoms4qg.js → cli-DhTdzhjk.js} +26 -26
  16. package/dist/{command-registry--D98SJ6k.js → command-registry-BOwku-e8.js} +11 -11
  17. package/dist/{completion-cli-CHYvpIPw.js → completion-cli-KZYbGY4H.js} +2 -2
  18. package/dist/{config-BTSBEAnk.js → config-Byd2Y9rr.js} +5 -5
  19. package/dist/{config-cli-DstpcB33.js → config-cli-CJ1CRfG8.js} +5 -5
  20. package/dist/{config-guard-CCJrDmON.js → config-guard-zt0zhFHl.js} +2 -2
  21. package/dist/{config-validation-YCrMlM9Z.js → config-validation-CRazk6Kd.js} +1 -1
  22. package/dist/{configure-B-UvSZZ7.js → configure-CFY_XEps.js} +10 -10
  23. package/dist/{control-service-CwRG4M_O.js → control-service-DN6-IdFk.js} +4 -4
  24. package/dist/{cron-cli-DUETe3Of.js → cron-cli-fmiz43Pz.js} +3 -3
  25. package/dist/{daemon-cli-Dy5eY4M7.js → daemon-cli-BilAL40g.js} +6 -6
  26. package/dist/{daemon-runtime-ChztAKDA.js → daemon-runtime-D4KHzQq2.js} +1 -1
  27. package/dist/{deliver-59sRVaYQ.js → deliver-BkCYBlzi.js} +4 -4
  28. package/dist/{deliver-BHmK4isn.js → deliver-CnsfN7km.js} +1 -1
  29. package/dist/{devices-cli-BCZ2HHjT.js → devices-cli-D7HdOwRI.js} +2 -2
  30. package/dist/{directory-cli-BVGd0l0T.js → directory-cli-ed6QacBC.js} +1 -1
  31. package/dist/{dns-cli-DH-ksmiI.js → dns-cli-RPa1dGTQ.js} +1 -1
  32. package/dist/{docs-cli-BuX8FDdh.js → docs-cli-ZTdS_Gak.js} +2 -2
  33. package/dist/{doctor-completion-C4Sf8CFV.js → doctor-completion-DpGX8dau.js} +1 -1
  34. package/dist/{doctor-config-flow-BhmF6EAq.js → doctor-config-flow-CIrG_yW_.js} +4 -4
  35. package/dist/entry.js +3 -3
  36. package/dist/{exec-approvals-cli-CyXTXgft.js → exec-approvals-cli-65pcsa1y.js} +6 -6
  37. package/dist/{frontmatter-BH3ExkUY.js → frontmatter-B4levtVg.js} +2 -2
  38. package/dist/{gateway-cli-fT43bqlv.js → gateway-cli-CTi7Wl2k.js} +50 -50
  39. package/dist/{gateway-rpc-BEqCo2JK.js → gateway-rpc-2VPLhMhx.js} +1 -1
  40. package/dist/{glass-ui-ws-BfMKuf9v.js → glass-ui-ws-Bah_A-jn.js} +38 -38
  41. package/dist/{gmail-setup-utils-Cz9Tb30q.js → gmail-setup-utils-C9WBC6Cd.js} +1 -1
  42. package/dist/{health-DDxrkioj.js → health-B5rRzhyV.js} +3 -3
  43. package/dist/{hooks-cli-Btgk__9z.js → hooks-cli-CSDCGO-W.js} +29 -29
  44. package/dist/{hooks-status-BaV4_YaJ.js → hooks-status-OorbLcc2.js} +2 -2
  45. package/dist/index.js +0 -0
  46. package/dist/{lifecycle-core-B0tG8ERp.js → lifecycle-core-BRc-XqTk.js} +2 -2
  47. package/dist/llm-slug-generator.js +4 -4
  48. package/dist/{logs-cli-CUhZrDw7.js → logs-cli-D5phVUOT.js} +3 -3
  49. package/dist/{manager-BeNnzSJv.js → manager-BfhHvsI9.js} +1 -1
  50. package/dist/{manager-Di9qtuZF.js → manager-DzBH9uQG.js} +1 -1
  51. package/dist/{memory-BDeydRz3.js → memory-BCj0cj5v.js} +3 -3
  52. package/dist/{memory-cli-D4hZiGr5.js → memory-cli-9WUMBHol.js} +3 -3
  53. package/dist/{model-catalog-DPnCNs5N.js → model-catalog-CD2kTz4V.js} +2 -2
  54. package/dist/{model-picker-DuPommMc.js → model-picker-CVd5UuXV.js} +2 -2
  55. package/dist/{models-cli-CL5K06Wu.js → models-cli-rd4eX_6P.js} +30 -30
  56. package/dist/{models-config-CPlvO1b0.js → models-config-oxaGiRUT.js} +1 -1
  57. package/dist/{models-B0wNKA18.js → models-sbKIrJBG.js} +9 -9
  58. package/dist/{node-cli-CWWMajKF.js → node-cli-ClLXSdFL.js} +9 -9
  59. package/dist/{nodes-cli-YmE7S-JB.js → nodes-cli-DY38p5In.js} +3 -3
  60. package/dist/{onboard-HqUZVKyD.js → onboard-BAyp_UFm.js} +7 -7
  61. package/dist/{onboard-channels-BbF5-N3g.js → onboard-channels-CUpkV_IJ.js} +1 -1
  62. package/dist/{onboard-custom-63SI3jrk.js → onboard-custom-BMgLK-vo.js} +2 -2
  63. package/dist/{onboard-helpers-Cb3WFLl9.js → onboard-helpers-DIQjpQ-s.js} +2 -2
  64. package/dist/{onboard-hooks-DXXg3YH9.js → onboard-hooks-KZKmj5Dk.js} +3 -3
  65. package/dist/{onboard-remote-CqtCrqtm.js → onboard-remote-C-_NUgBl.js} +1 -1
  66. package/dist/{onboard-skills-CS3l5fhH.js → onboard-skills-CwvicFTi.js} +3 -3
  67. package/dist/{onboarding-Be_HJIFA.js → onboarding-BxCNNo75.js} +11 -11
  68. package/dist/{onboarding.finalize-dsCUTKCQ.js → onboarding.finalize-DgMPXTtO.js} +18 -18
  69. package/dist/{onboarding.gateway-config-Ctd1_QW4.js → onboarding.gateway-config-BAaWvPSX.js} +4 -4
  70. package/dist/{outbound-send-deps-DPsU_Xdy.js → outbound-send-deps-qhFaNYAY.js} +1 -1
  71. package/dist/{pairing-cli-PtlNv7Gr.js → pairing-cli-CFkiSx8t.js} +1 -1
  72. package/dist/{pi-embedded-helpers-CVKIHnFv.js → pi-embedded-helpers-CRG5LMS7.js} +1 -1
  73. package/dist/{pi-tools.policy-8_wTu7v2.js → pi-tools.policy-De6xHjVL.js} +2 -2
  74. package/dist/{plugin-registry-BG51uZOA.js → plugin-registry-BNe5jtPK.js} +2 -2
  75. package/dist/plugin-sdk/index.js +6 -6
  76. package/dist/{plugins-cli-B-zVOiQN.js → plugins-cli-CWj33_Hj.js} +27 -27
  77. package/dist/{program-BOh0XGsA.js → program-Z2OLlhsB.js} +33 -33
  78. package/dist/{prompt-select-styled-Bj-hrPCx.js → prompt-select-styled-BNwbBBcH.js} +16 -16
  79. package/dist/{provider-auth-helpers-BK6NFk2Q.js → provider-auth-helpers-5qb15Hje.js} +2 -2
  80. package/dist/{push-apns-CMxk3Hxf.js → push-apns-D6qV5P4h.js} +1 -1
  81. package/dist/{pw-ai-C5MJKzUM.js → pw-ai-BsEf8C15.js} +1 -1
  82. package/dist/{pw-ai-CE2TBGif.js → pw-ai-C7mvVllB.js} +2 -2
  83. package/dist/{qr-cli-BeHlC33g.js → qr-cli-oENcXq8d.js} +1 -1
  84. package/dist/{redact-identifier-B1VHIbnd.js → redact-identifier-ZE8OIUof.js} +1 -1
  85. package/dist/{register.agent-COv5OPLQ.js → register.agent-DpiHPMca.js} +36 -36
  86. package/dist/{register.configure-RhKVlfWH.js → register.configure-DRFaroYF.js} +40 -40
  87. package/dist/{register.maintenance-BAK-DiQY.js → register.maintenance-BGNNTt_1.js} +38 -38
  88. package/dist/{register.message-CCBmn5ja.js → register.message-R4AIHhlU.js} +28 -28
  89. package/dist/{register.onboard-B3jO_Goy.js → register.onboard-Cl-_Suyv.js} +13 -13
  90. package/dist/{register.setup-CYSISTDO.js → register.setup-Dt98v2V3.js} +15 -15
  91. package/dist/{register.status-health-sessions-CGbg9k6d.js → register.status-health-sessions-DiX5lVyr.js} +23 -23
  92. package/dist/{register.subclis-loifbhVx.js → register.subclis-DVObuR_P.js} +28 -28
  93. package/dist/{replies-Dj640LxQ.js → replies-VTJu1jUK.js} +1 -1
  94. package/dist/{routes-B5y-oAKp.js → routes-DOFg6X5M.js} +3 -3
  95. package/dist/{rpc-qWm1bRo5.js → rpc-BIHKXdlN.js} +1 -1
  96. package/dist/{run-main-B7Ria3zD.js → run-main-NAgYKzSu.js} +44 -44
  97. package/dist/{sandbox-BJgHc4Vu.js → sandbox-EB7cFSML.js} +6 -6
  98. package/dist/{sandbox-cli-CSudrHYL.js → sandbox-cli-D4dy6sUK.js} +8 -8
  99. package/dist/{security-cli-B2lCR2xX.js → security-cli-DwCKOrFm.js} +11 -11
  100. package/dist/{send-CY9na-Jw.js → send-CkRtuQbr.js} +1 -1
  101. package/dist/{server-context-DdWWaDf6.js → server-context-ww1jytet.js} +5 -5
  102. package/dist/{server-methods-Dk_EnINI.js → server-methods-BDiZyPvS.js} +23 -23
  103. package/dist/{server-node-events-BHegSgG9.js → server-node-events-9cY40B4m.js} +29 -29
  104. package/dist/{session-utils-CAVPV2Hh.js → session-utils-CStjqGE6.js} +3 -3
  105. package/dist/{sessions-BDM9kNY0.js → sessions-BSRHJH8T.js} +3 -3
  106. package/dist/{sessions-CqLQkkWg.js → sessions-CInbrqsF.js} +1 -1
  107. package/dist/{shared-CpwtQRJB.js → shared-DEAo94kI.js} +1 -1
  108. package/dist/{skill-commands-CRQniaHy.js → skill-commands-BkKfrbHt.js} +2 -2
  109. package/dist/{skills-CTcjFd_F.js → skills-CFLijAZ-.js} +1 -1
  110. package/dist/{skills-cli-9Mlb7VRg.js → skills-cli-BbagnO6p.js} +5 -5
  111. package/dist/{skills-install-D5ikt72d.js → skills-install-dLRO1KGp.js} +2 -2
  112. package/dist/{skills-remote-BASG1Doo.js → skills-remote-DQVB-3Pj.js} +1 -1
  113. package/dist/{skills-status-1iVfuVIG.js → skills-status-HWybfj0K.js} +2 -2
  114. package/dist/{status-Bci6O3aA.js → status-BSrVEUoJ.js} +2 -2
  115. package/dist/{status-D5RhVO0A.js → status-FIp7UKru.js} +12 -12
  116. package/dist/{status.update-D5CachQ_.js → status.update-Cm8Fm8QD.js} +1 -1
  117. package/dist/{subagent-registry-CsXaK_sy.js → subagent-registry-DqryocLT.js} +31 -31
  118. package/dist/{synthesis-dplLmFIP.js → synthesis-CS-lrEGy.js} +4 -4
  119. package/dist/{synthesis-BoZf8BeO.js → synthesis-DKhH0YwU.js} +26 -26
  120. package/dist/{system-cli-D5FffFX5.js → system-cli-DYSI6cIB.js} +3 -3
  121. package/dist/{systemd-hints-CufcSfMk.js → systemd-hints-EIfW5y8K.js} +1 -1
  122. package/dist/{tui-DZ8gksSZ.js → tui-C20rHOeB.js} +4 -4
  123. package/dist/{tui-cli-CyBJYh9u.js → tui-cli-JwlzHCza.js} +11 -11
  124. package/dist/{unified-runner-BFLLzEHE.js → unified-runner-AM9tFC5q.js} +10 -10
  125. package/dist/{update-cli-yW6Xl6fs.js → update-cli-BYfA3RPc.js} +41 -41
  126. package/dist/{update-runner-CIgLduhH.js → update-runner-CBG8p9iG.js} +1 -1
  127. package/dist/{webhooks-cli-4bmyKzwb.js → webhooks-cli-MuG_QGLp.js} +4 -4
  128. package/dist/{with-timeout-bWr6yBeX.js → with-timeout-BvxaeAo6.js} +1 -1
  129. package/dist/{workspace-DxscDsm6.js → workspace-D0d7Gi4-.js} +1 -1
  130. package/extensions/memory-core/node_modules/.bin/symi +0 -0
  131. package/extensions/msteams/node_modules/.bin/symi +0 -0
  132. package/extensions/outlook/node_modules/.bin/symi +0 -0
  133. package/extensions/slack/node_modules/.bin/symi +0 -0
  134. package/package.json +108 -79
  135. package/dist/control-ui/css/revert-red-theme.md +0 -141
  136. package/dist/control-ui/css/style.css +0 -5843
  137. package/dist/control-ui/css/style.css.backup-2026-03-03-162525 +0 -3546
  138. package/dist/control-ui/css/style.css.backup-before-red-2026-03-03-162525 +0 -3546
  139. package/dist/control-ui/css/style.css.backup-before-red-theme-2026-03-03-162530 +0 -3546
  140. package/dist/control-ui/css/style.css.pre-2row +0 -2165
  141. package/dist/control-ui/css/style.css.pre-brand +0 -1776
  142. package/dist/control-ui/css/style.css.pre-history +0 -1974
  143. package/dist/control-ui/css/style.css.pre-nav +0 -2264
  144. package/dist/control-ui/css/style.css.pre-newsession +0 -1898
  145. package/dist/control-ui/css/style.css.pre-queue +0 -2195
  146. package/dist/control-ui/css/style.css.pre-red-prompt +0 -2524
  147. package/dist/control-ui/css/style.css.pre-stop +0 -2239
  148. package/dist/control-ui/css/style.css.pre-textarea +0 -2184
  149. package/dist/control-ui/css/style.css.pre-watchdog +0 -1848
  150. package/dist/control-ui/css/style.css.red-theme +0 -2999
  151. package/dist/control-ui/index.html +0 -1042
  152. package/dist/control-ui/js/app.js +0 -1304
  153. package/dist/control-ui/js/app.js.pre-2row +0 -463
  154. package/dist/control-ui/js/app.js.pre-heartbeat-filter +0 -595
  155. package/dist/control-ui/js/app.js.pre-newsession +0 -408
  156. package/dist/control-ui/js/app.js.pre-queue +0 -476
  157. package/dist/control-ui/js/app.js.pre-stop +0 -564
  158. package/dist/control-ui/js/app.js.pre-textarea +0 -467
  159. package/dist/control-ui/js/app.js.pre-watchdog +0 -293
  160. package/dist/control-ui/js/connections.js +0 -438
  161. package/dist/control-ui/js/gateway.js +0 -233
  162. package/dist/control-ui/js/gateway.js.pre-stop +0 -110
  163. package/dist/control-ui/js/history.js +0 -732
  164. package/dist/control-ui/js/logs.js +0 -238
  165. package/dist/control-ui/js/menu.js +0 -230
  166. package/dist/control-ui/js/menu.js.pre-nav +0 -66
  167. package/dist/control-ui/js/metrics.js +0 -53
  168. package/dist/control-ui/js/models.js +0 -138
  169. package/dist/control-ui/js/render.js +0 -882
  170. package/dist/control-ui/js/render.test.js +0 -112
  171. package/dist/control-ui/js/scheduling.js +0 -461
  172. package/dist/control-ui/js/settings.js +0 -909
  173. package/dist/control-ui/js/slash-autocomplete.js +0 -168
  174. package/dist/control-ui/js/subagents.js +0 -560
  175. package/dist/control-ui/js/utils.js +0 -29
  176. package/dist/control-ui/vendor/highlight.min.js +0 -2518
  177. package/dist/control-ui/vendor/marked.min.js +0 -69
@@ -1,138 +0,0 @@
1
- // ── Model Routing Toggle ─────────────────────────────────────────────
2
- // Spider dropdown (4 models) ↔ CoreWeave (Qwen vLLM) ↔ API (Anthropic).
3
- // The Spider dropdown is a single <select> that maps each option value
4
- // (the provider key) to a fully-qualified model id.
5
-
6
- (function () {
7
- // Button keys → full model id
8
- const BUTTON_MODELS = {
9
- redsand: "qwen-cw/qwen35-35b-fp8",
10
- coreweave2: "qwen-cw2/qwen36-35b-fp8",
11
- api: "anthropic/claude-sonnet-4-6",
12
- };
13
-
14
- // Spider option values → full model id. The option value is the
15
- // provider key in symi.json; the model id includes the HuggingFace
16
- // path after the provider prefix (parseModelRef splits on the first
17
- // slash only, so slashes in the model id survive).
18
- const SPIDER_MODELS = {
19
- "spider-gemma4": "spider-gemma4/TrevorJS/gemma-4-31B-it-uncensored",
20
- "spider-qwen35": "spider-qwen35/Qwen/Qwen3.5-35B-A3B-FP8",
21
- "spider-qwen35-uncen":
22
- "spider-qwen35-uncen/Li101/Qwen3.5-35B-A3B-Uncensored-Aggressive-safetensors",
23
- "spider-qwen36": "spider-qwen36/Qwen/Qwen3.6-35B-A3B-FP8",
24
- };
25
-
26
- const buttons = document.querySelectorAll("#model-toggle .model-toggle-btn");
27
- const spiderSelect = document.getElementById("model-toggle-spider");
28
- const statusEl = document.getElementById("model-status");
29
-
30
- if (!buttons.length && !spiderSelect) {
31
- return;
32
- }
33
-
34
- let currentHash = null;
35
-
36
- // Reverse lookups: model id → (button key | spider option value)
37
- const idToButtonKey = {};
38
- for (const [key, id] of Object.entries(BUTTON_MODELS)) {
39
- idToButtonKey[id] = key;
40
- }
41
- const idToSpiderKey = {};
42
- for (const [key, id] of Object.entries(SPIDER_MODELS)) {
43
- idToSpiderKey[id] = key;
44
- }
45
-
46
- function setActive(primaryId) {
47
- const buttonKey = idToButtonKey[primaryId];
48
- buttons.forEach((btn) => {
49
- btn.classList.toggle("active", btn.dataset.model === buttonKey);
50
- });
51
-
52
- const spiderKey = idToSpiderKey[primaryId];
53
- if (spiderSelect) {
54
- spiderSelect.classList.toggle("active", Boolean(spiderKey));
55
- // Reset to the placeholder when the active model isn't a Spider one
56
- spiderSelect.value = spiderKey ?? "";
57
- }
58
- }
59
-
60
- async function init() {
61
- try {
62
- const cfg = await window.gateway.rpc("config.get", {});
63
- currentHash = cfg.hash || null;
64
- const primaryId = cfg.config?.agents?.defaults?.model?.primary || "";
65
- setActive(primaryId);
66
- window.activeModelId = primaryId;
67
- statusEl.textContent = "";
68
- } catch (err) {
69
- console.warn("[models] init failed:", err.message);
70
- statusEl.textContent = "error loading";
71
- }
72
- }
73
-
74
- async function switchToModelId(newId) {
75
- if (!newId) {
76
- return;
77
- }
78
- setActive(newId);
79
- window.activeModelId = newId;
80
- statusEl.textContent = "switching…";
81
-
82
- try {
83
- const freshCfg = await window.gateway.rpc("config.get", {});
84
- currentHash = freshCfg.hash;
85
-
86
- await window.gateway.rpc("config.patch", {
87
- baseHash: currentHash,
88
- raw: JSON.stringify({
89
- agents: { defaults: { model: { primary: newId } } },
90
- }),
91
- });
92
-
93
- statusEl.textContent = "applied";
94
- // Profile arrives via WebSocket "profile" event after reload
95
- } catch (err) {
96
- console.warn("[models] switch failed:", err.message);
97
- statusEl.textContent = "switch failed";
98
- setTimeout(init, 1500);
99
- }
100
- }
101
-
102
- // Listen for profile broadcasts to update status text
103
- window.addEventListener("symi:profile-changed", (e) => {
104
- const profile = e.detail;
105
- if (profile?.label) {
106
- statusEl.textContent = profile.label;
107
- // Clear after 3s
108
- setTimeout(() => {
109
- if (statusEl.textContent === profile.label) {
110
- statusEl.textContent = "";
111
- }
112
- }, 3000);
113
- }
114
- });
115
-
116
- buttons.forEach((btn) => {
117
- btn.addEventListener("click", () => {
118
- const id = BUTTON_MODELS[btn.dataset.model];
119
- if (id) {
120
- void switchToModelId(id);
121
- }
122
- });
123
- });
124
-
125
- if (spiderSelect) {
126
- spiderSelect.addEventListener("change", () => {
127
- const id = SPIDER_MODELS[spiderSelect.value];
128
- if (id) {
129
- void switchToModelId(id);
130
- }
131
- });
132
- }
133
-
134
- window.addEventListener("gateway:connected", () => init());
135
- if (window.gateway && window.gateway.connected) {
136
- void init();
137
- }
138
- })();