@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.
- package/dist/{agent-O3PihJOY.js → agent-ZFfYdexc.js} +10 -10
- package/dist/{agents-C2MpIr16.js → agents-C8naPegc.js} +5 -5
- package/dist/{audit-yf3H4Y1h.js → audit-DOfexJi4.js} +8 -8
- package/dist/{auth-choice-CyBcsQ9T.js → auth-choice-DxH-c3vK.js} +4 -4
- package/dist/{banner-D7__HlM-.js → banner-D7zYLyA8.js} +1 -1
- package/dist/{browser-cli-B_6WWHm_.js → browser-cli-MYIql1Ic.js} +3 -3
- package/dist/build-info.json +1 -1
- package/dist/bundled/boot-md/handler.js +4 -4
- package/dist/bundled/session-memory/handler.js +4 -4
- package/dist/{call-IfleM0ap.js → call-D9U2Sfhp.js} +1 -1
- package/dist/{channel-options-B5974x-7.js → channel-options-9PzSNQLG.js} +1 -1
- package/dist/{channels-cli-C6Nv9mzy.js → channels-cli-C3XnNkE5.js} +30 -30
- package/dist/{chrome-DT1fIVG1.js → chrome-B4P7ycw5.js} +7 -7
- package/dist/{chrome-DJCkCRLf.js → chrome-ClVIwINy.js} +1 -1
- package/dist/{cli-DZoms4qg.js → cli-DhTdzhjk.js} +26 -26
- package/dist/{command-registry--D98SJ6k.js → command-registry-BOwku-e8.js} +11 -11
- package/dist/{completion-cli-CHYvpIPw.js → completion-cli-KZYbGY4H.js} +2 -2
- package/dist/{config-BTSBEAnk.js → config-Byd2Y9rr.js} +5 -5
- package/dist/{config-cli-DstpcB33.js → config-cli-CJ1CRfG8.js} +5 -5
- package/dist/{config-guard-CCJrDmON.js → config-guard-zt0zhFHl.js} +2 -2
- package/dist/{config-validation-YCrMlM9Z.js → config-validation-CRazk6Kd.js} +1 -1
- package/dist/{configure-B-UvSZZ7.js → configure-CFY_XEps.js} +10 -10
- package/dist/{control-service-CwRG4M_O.js → control-service-DN6-IdFk.js} +4 -4
- package/dist/{cron-cli-DUETe3Of.js → cron-cli-fmiz43Pz.js} +3 -3
- package/dist/{daemon-cli-Dy5eY4M7.js → daemon-cli-BilAL40g.js} +6 -6
- package/dist/{daemon-runtime-ChztAKDA.js → daemon-runtime-D4KHzQq2.js} +1 -1
- package/dist/{deliver-59sRVaYQ.js → deliver-BkCYBlzi.js} +4 -4
- package/dist/{deliver-BHmK4isn.js → deliver-CnsfN7km.js} +1 -1
- package/dist/{devices-cli-BCZ2HHjT.js → devices-cli-D7HdOwRI.js} +2 -2
- package/dist/{directory-cli-BVGd0l0T.js → directory-cli-ed6QacBC.js} +1 -1
- package/dist/{dns-cli-DH-ksmiI.js → dns-cli-RPa1dGTQ.js} +1 -1
- package/dist/{docs-cli-BuX8FDdh.js → docs-cli-ZTdS_Gak.js} +2 -2
- package/dist/{doctor-completion-C4Sf8CFV.js → doctor-completion-DpGX8dau.js} +1 -1
- package/dist/{doctor-config-flow-BhmF6EAq.js → doctor-config-flow-CIrG_yW_.js} +4 -4
- package/dist/entry.js +3 -3
- package/dist/{exec-approvals-cli-CyXTXgft.js → exec-approvals-cli-65pcsa1y.js} +6 -6
- package/dist/{frontmatter-BH3ExkUY.js → frontmatter-B4levtVg.js} +2 -2
- package/dist/{gateway-cli-fT43bqlv.js → gateway-cli-CTi7Wl2k.js} +50 -50
- package/dist/{gateway-rpc-BEqCo2JK.js → gateway-rpc-2VPLhMhx.js} +1 -1
- package/dist/{glass-ui-ws-BfMKuf9v.js → glass-ui-ws-Bah_A-jn.js} +38 -38
- package/dist/{gmail-setup-utils-Cz9Tb30q.js → gmail-setup-utils-C9WBC6Cd.js} +1 -1
- package/dist/{health-DDxrkioj.js → health-B5rRzhyV.js} +3 -3
- package/dist/{hooks-cli-Btgk__9z.js → hooks-cli-CSDCGO-W.js} +29 -29
- package/dist/{hooks-status-BaV4_YaJ.js → hooks-status-OorbLcc2.js} +2 -2
- package/dist/index.js +0 -0
- package/dist/{lifecycle-core-B0tG8ERp.js → lifecycle-core-BRc-XqTk.js} +2 -2
- package/dist/llm-slug-generator.js +4 -4
- package/dist/{logs-cli-CUhZrDw7.js → logs-cli-D5phVUOT.js} +3 -3
- package/dist/{manager-BeNnzSJv.js → manager-BfhHvsI9.js} +1 -1
- package/dist/{manager-Di9qtuZF.js → manager-DzBH9uQG.js} +1 -1
- package/dist/{memory-BDeydRz3.js → memory-BCj0cj5v.js} +3 -3
- package/dist/{memory-cli-D4hZiGr5.js → memory-cli-9WUMBHol.js} +3 -3
- package/dist/{model-catalog-DPnCNs5N.js → model-catalog-CD2kTz4V.js} +2 -2
- package/dist/{model-picker-DuPommMc.js → model-picker-CVd5UuXV.js} +2 -2
- package/dist/{models-cli-CL5K06Wu.js → models-cli-rd4eX_6P.js} +30 -30
- package/dist/{models-config-CPlvO1b0.js → models-config-oxaGiRUT.js} +1 -1
- package/dist/{models-B0wNKA18.js → models-sbKIrJBG.js} +9 -9
- package/dist/{node-cli-CWWMajKF.js → node-cli-ClLXSdFL.js} +9 -9
- package/dist/{nodes-cli-YmE7S-JB.js → nodes-cli-DY38p5In.js} +3 -3
- package/dist/{onboard-HqUZVKyD.js → onboard-BAyp_UFm.js} +7 -7
- package/dist/{onboard-channels-BbF5-N3g.js → onboard-channels-CUpkV_IJ.js} +1 -1
- package/dist/{onboard-custom-63SI3jrk.js → onboard-custom-BMgLK-vo.js} +2 -2
- package/dist/{onboard-helpers-Cb3WFLl9.js → onboard-helpers-DIQjpQ-s.js} +2 -2
- package/dist/{onboard-hooks-DXXg3YH9.js → onboard-hooks-KZKmj5Dk.js} +3 -3
- package/dist/{onboard-remote-CqtCrqtm.js → onboard-remote-C-_NUgBl.js} +1 -1
- package/dist/{onboard-skills-CS3l5fhH.js → onboard-skills-CwvicFTi.js} +3 -3
- package/dist/{onboarding-Be_HJIFA.js → onboarding-BxCNNo75.js} +11 -11
- package/dist/{onboarding.finalize-dsCUTKCQ.js → onboarding.finalize-DgMPXTtO.js} +18 -18
- package/dist/{onboarding.gateway-config-Ctd1_QW4.js → onboarding.gateway-config-BAaWvPSX.js} +4 -4
- package/dist/{outbound-send-deps-DPsU_Xdy.js → outbound-send-deps-qhFaNYAY.js} +1 -1
- package/dist/{pairing-cli-PtlNv7Gr.js → pairing-cli-CFkiSx8t.js} +1 -1
- package/dist/{pi-embedded-helpers-CVKIHnFv.js → pi-embedded-helpers-CRG5LMS7.js} +1 -1
- package/dist/{pi-tools.policy-8_wTu7v2.js → pi-tools.policy-De6xHjVL.js} +2 -2
- package/dist/{plugin-registry-BG51uZOA.js → plugin-registry-BNe5jtPK.js} +2 -2
- package/dist/plugin-sdk/index.js +6 -6
- package/dist/{plugins-cli-B-zVOiQN.js → plugins-cli-CWj33_Hj.js} +27 -27
- package/dist/{program-BOh0XGsA.js → program-Z2OLlhsB.js} +33 -33
- package/dist/{prompt-select-styled-Bj-hrPCx.js → prompt-select-styled-BNwbBBcH.js} +16 -16
- package/dist/{provider-auth-helpers-BK6NFk2Q.js → provider-auth-helpers-5qb15Hje.js} +2 -2
- package/dist/{push-apns-CMxk3Hxf.js → push-apns-D6qV5P4h.js} +1 -1
- package/dist/{pw-ai-C5MJKzUM.js → pw-ai-BsEf8C15.js} +1 -1
- package/dist/{pw-ai-CE2TBGif.js → pw-ai-C7mvVllB.js} +2 -2
- package/dist/{qr-cli-BeHlC33g.js → qr-cli-oENcXq8d.js} +1 -1
- package/dist/{redact-identifier-B1VHIbnd.js → redact-identifier-ZE8OIUof.js} +1 -1
- package/dist/{register.agent-COv5OPLQ.js → register.agent-DpiHPMca.js} +36 -36
- package/dist/{register.configure-RhKVlfWH.js → register.configure-DRFaroYF.js} +40 -40
- package/dist/{register.maintenance-BAK-DiQY.js → register.maintenance-BGNNTt_1.js} +38 -38
- package/dist/{register.message-CCBmn5ja.js → register.message-R4AIHhlU.js} +28 -28
- package/dist/{register.onboard-B3jO_Goy.js → register.onboard-Cl-_Suyv.js} +13 -13
- package/dist/{register.setup-CYSISTDO.js → register.setup-Dt98v2V3.js} +15 -15
- package/dist/{register.status-health-sessions-CGbg9k6d.js → register.status-health-sessions-DiX5lVyr.js} +23 -23
- package/dist/{register.subclis-loifbhVx.js → register.subclis-DVObuR_P.js} +28 -28
- package/dist/{replies-Dj640LxQ.js → replies-VTJu1jUK.js} +1 -1
- package/dist/{routes-B5y-oAKp.js → routes-DOFg6X5M.js} +3 -3
- package/dist/{rpc-qWm1bRo5.js → rpc-BIHKXdlN.js} +1 -1
- package/dist/{run-main-B7Ria3zD.js → run-main-NAgYKzSu.js} +44 -44
- package/dist/{sandbox-BJgHc4Vu.js → sandbox-EB7cFSML.js} +6 -6
- package/dist/{sandbox-cli-CSudrHYL.js → sandbox-cli-D4dy6sUK.js} +8 -8
- package/dist/{security-cli-B2lCR2xX.js → security-cli-DwCKOrFm.js} +11 -11
- package/dist/{send-CY9na-Jw.js → send-CkRtuQbr.js} +1 -1
- package/dist/{server-context-DdWWaDf6.js → server-context-ww1jytet.js} +5 -5
- package/dist/{server-methods-Dk_EnINI.js → server-methods-BDiZyPvS.js} +23 -23
- package/dist/{server-node-events-BHegSgG9.js → server-node-events-9cY40B4m.js} +29 -29
- package/dist/{session-utils-CAVPV2Hh.js → session-utils-CStjqGE6.js} +3 -3
- package/dist/{sessions-BDM9kNY0.js → sessions-BSRHJH8T.js} +3 -3
- package/dist/{sessions-CqLQkkWg.js → sessions-CInbrqsF.js} +1 -1
- package/dist/{shared-CpwtQRJB.js → shared-DEAo94kI.js} +1 -1
- package/dist/{skill-commands-CRQniaHy.js → skill-commands-BkKfrbHt.js} +2 -2
- package/dist/{skills-CTcjFd_F.js → skills-CFLijAZ-.js} +1 -1
- package/dist/{skills-cli-9Mlb7VRg.js → skills-cli-BbagnO6p.js} +5 -5
- package/dist/{skills-install-D5ikt72d.js → skills-install-dLRO1KGp.js} +2 -2
- package/dist/{skills-remote-BASG1Doo.js → skills-remote-DQVB-3Pj.js} +1 -1
- package/dist/{skills-status-1iVfuVIG.js → skills-status-HWybfj0K.js} +2 -2
- package/dist/{status-Bci6O3aA.js → status-BSrVEUoJ.js} +2 -2
- package/dist/{status-D5RhVO0A.js → status-FIp7UKru.js} +12 -12
- package/dist/{status.update-D5CachQ_.js → status.update-Cm8Fm8QD.js} +1 -1
- package/dist/{subagent-registry-CsXaK_sy.js → subagent-registry-DqryocLT.js} +31 -31
- package/dist/{synthesis-dplLmFIP.js → synthesis-CS-lrEGy.js} +4 -4
- package/dist/{synthesis-BoZf8BeO.js → synthesis-DKhH0YwU.js} +26 -26
- package/dist/{system-cli-D5FffFX5.js → system-cli-DYSI6cIB.js} +3 -3
- package/dist/{systemd-hints-CufcSfMk.js → systemd-hints-EIfW5y8K.js} +1 -1
- package/dist/{tui-DZ8gksSZ.js → tui-C20rHOeB.js} +4 -4
- package/dist/{tui-cli-CyBJYh9u.js → tui-cli-JwlzHCza.js} +11 -11
- package/dist/{unified-runner-BFLLzEHE.js → unified-runner-AM9tFC5q.js} +10 -10
- package/dist/{update-cli-yW6Xl6fs.js → update-cli-BYfA3RPc.js} +41 -41
- package/dist/{update-runner-CIgLduhH.js → update-runner-CBG8p9iG.js} +1 -1
- package/dist/{webhooks-cli-4bmyKzwb.js → webhooks-cli-MuG_QGLp.js} +4 -4
- package/dist/{with-timeout-bWr6yBeX.js → with-timeout-BvxaeAo6.js} +1 -1
- package/dist/{workspace-DxscDsm6.js → workspace-D0d7Gi4-.js} +1 -1
- package/extensions/memory-core/node_modules/.bin/symi +0 -0
- package/extensions/msteams/node_modules/.bin/symi +0 -0
- package/extensions/outlook/node_modules/.bin/symi +0 -0
- package/extensions/slack/node_modules/.bin/symi +0 -0
- package/package.json +108 -79
- package/dist/control-ui/css/revert-red-theme.md +0 -141
- package/dist/control-ui/css/style.css +0 -5843
- package/dist/control-ui/css/style.css.backup-2026-03-03-162525 +0 -3546
- package/dist/control-ui/css/style.css.backup-before-red-2026-03-03-162525 +0 -3546
- package/dist/control-ui/css/style.css.backup-before-red-theme-2026-03-03-162530 +0 -3546
- package/dist/control-ui/css/style.css.pre-2row +0 -2165
- package/dist/control-ui/css/style.css.pre-brand +0 -1776
- package/dist/control-ui/css/style.css.pre-history +0 -1974
- package/dist/control-ui/css/style.css.pre-nav +0 -2264
- package/dist/control-ui/css/style.css.pre-newsession +0 -1898
- package/dist/control-ui/css/style.css.pre-queue +0 -2195
- package/dist/control-ui/css/style.css.pre-red-prompt +0 -2524
- package/dist/control-ui/css/style.css.pre-stop +0 -2239
- package/dist/control-ui/css/style.css.pre-textarea +0 -2184
- package/dist/control-ui/css/style.css.pre-watchdog +0 -1848
- package/dist/control-ui/css/style.css.red-theme +0 -2999
- package/dist/control-ui/index.html +0 -1042
- package/dist/control-ui/js/app.js +0 -1304
- package/dist/control-ui/js/app.js.pre-2row +0 -463
- package/dist/control-ui/js/app.js.pre-heartbeat-filter +0 -595
- package/dist/control-ui/js/app.js.pre-newsession +0 -408
- package/dist/control-ui/js/app.js.pre-queue +0 -476
- package/dist/control-ui/js/app.js.pre-stop +0 -564
- package/dist/control-ui/js/app.js.pre-textarea +0 -467
- package/dist/control-ui/js/app.js.pre-watchdog +0 -293
- package/dist/control-ui/js/connections.js +0 -438
- package/dist/control-ui/js/gateway.js +0 -233
- package/dist/control-ui/js/gateway.js.pre-stop +0 -110
- package/dist/control-ui/js/history.js +0 -732
- package/dist/control-ui/js/logs.js +0 -238
- package/dist/control-ui/js/menu.js +0 -230
- package/dist/control-ui/js/menu.js.pre-nav +0 -66
- package/dist/control-ui/js/metrics.js +0 -53
- package/dist/control-ui/js/models.js +0 -138
- package/dist/control-ui/js/render.js +0 -882
- package/dist/control-ui/js/render.test.js +0 -112
- package/dist/control-ui/js/scheduling.js +0 -461
- package/dist/control-ui/js/settings.js +0 -909
- package/dist/control-ui/js/slash-autocomplete.js +0 -168
- package/dist/control-ui/js/subagents.js +0 -560
- package/dist/control-ui/js/utils.js +0 -29
- package/dist/control-ui/vendor/highlight.min.js +0 -2518
- package/dist/control-ui/vendor/marked.min.js +0 -69
|
@@ -1,1042 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<title>Symi</title>
|
|
7
|
-
<link rel="stylesheet" href="css/style.css" />
|
|
8
|
-
<!--
|
|
9
|
-
3.0.6: removed `<link rel="stylesheet" href="/vendor/highlight.css" />`.
|
|
10
|
-
The file was never present in the repo (introduced as a stray addition
|
|
11
|
-
in commit 5696196e9 "Fix session file corruption with auto-repair
|
|
12
|
-
mechanism" but the CSS itself was never committed). The 404 returned
|
|
13
|
-
`Content-Type: text/plain` and modern browsers refuse to apply it as
|
|
14
|
-
a stylesheet under strict MIME checking, producing two recurring
|
|
15
|
-
console errors per page load.
|
|
16
|
-
|
|
17
|
-
`glass-ui/js/render.js` still applies hljs class names to code blocks
|
|
18
|
-
via `highlight.min.js` (which IS bundled in vendor/). Code blocks
|
|
19
|
-
render structurally correct without color. To restore syntax colors,
|
|
20
|
-
drop a real hljs theme CSS at `glass-ui/vendor/highlight.css` (e.g.,
|
|
21
|
-
github-dark.min.css from highlight.js) and re-add the link.
|
|
22
|
-
-->
|
|
23
|
-
|
|
24
|
-
</head>
|
|
25
|
-
<body>
|
|
26
|
-
<!-- Animated background -->
|
|
27
|
-
<div class="bg-orbs">
|
|
28
|
-
<div class="orb orb-1"></div>
|
|
29
|
-
<div class="orb orb-2"></div>
|
|
30
|
-
<div class="orb orb-3"></div>
|
|
31
|
-
</div>
|
|
32
|
-
<div class="bg-grid"></div>
|
|
33
|
-
|
|
34
|
-
<!-- Metrics — Left column -->
|
|
35
|
-
<aside class="metrics-col metrics-left">
|
|
36
|
-
<!-- Brand Panel -->
|
|
37
|
-
<div class="glass-panel brand-panel">
|
|
38
|
-
<div class="brand-mark">◈</div>
|
|
39
|
-
<div class="brand-text">
|
|
40
|
-
<div class="brand-name">SYMI</div>
|
|
41
|
-
<div class="brand-sub">AI Assistant</div>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
<!-- Agent Status Panel — position #1 -->
|
|
46
|
-
<div class="glass-panel agent-status-panel" id="agent-status-panel" data-state="idle">
|
|
47
|
-
<div class="panel-label">AGENT STATUS</div>
|
|
48
|
-
<div class="aso-orb-wrap">
|
|
49
|
-
<svg class="aso-svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
|
50
|
-
<!-- Orbit guide tracks -->
|
|
51
|
-
<circle class="aso-track" cx="50" cy="50" r="43" />
|
|
52
|
-
<circle class="aso-track" cx="50" cy="50" r="31" />
|
|
53
|
-
<circle class="aso-track" cx="50" cy="50" r="19" />
|
|
54
|
-
<!-- Rotating arc groups -->
|
|
55
|
-
<g class="aso-rot aso-rot1">
|
|
56
|
-
<circle class="aso-arc" cx="50" cy="50" r="43" stroke-dasharray="55 215" />
|
|
57
|
-
</g>
|
|
58
|
-
<g class="aso-rot aso-rot2">
|
|
59
|
-
<circle
|
|
60
|
-
class="aso-arc aso-arc-dim"
|
|
61
|
-
cx="50"
|
|
62
|
-
cy="50"
|
|
63
|
-
r="43"
|
|
64
|
-
stroke-dasharray="22 248"
|
|
65
|
-
/>
|
|
66
|
-
</g>
|
|
67
|
-
<g class="aso-rot aso-rot3">
|
|
68
|
-
<circle class="aso-arc" cx="50" cy="50" r="31" stroke-dasharray="40 155" />
|
|
69
|
-
</g>
|
|
70
|
-
<g class="aso-rot aso-rot4">
|
|
71
|
-
<circle
|
|
72
|
-
class="aso-arc aso-arc-dim"
|
|
73
|
-
cx="50"
|
|
74
|
-
cy="50"
|
|
75
|
-
r="31"
|
|
76
|
-
stroke-dasharray="15 180"
|
|
77
|
-
/>
|
|
78
|
-
</g>
|
|
79
|
-
<g class="aso-rot aso-rot5">
|
|
80
|
-
<circle class="aso-arc" cx="50" cy="50" r="19" stroke-dasharray="20 99" />
|
|
81
|
-
</g>
|
|
82
|
-
<!-- Core glow halo -->
|
|
83
|
-
<circle class="aso-core-halo" cx="50" cy="50" r="10" />
|
|
84
|
-
<!-- Core dot -->
|
|
85
|
-
<circle class="aso-core" cx="50" cy="50" r="5.5" />
|
|
86
|
-
</svg>
|
|
87
|
-
</div>
|
|
88
|
-
<div class="aso-label" id="aso-label">STANDBY</div>
|
|
89
|
-
<div class="aso-sub" id="aso-sub">Awaiting your prompt</div>
|
|
90
|
-
<div class="aso-working" id="aso-working">
|
|
91
|
-
<span class="aso-working-asterisk">✳</span>
|
|
92
|
-
<span class="aso-working-text">Working</span>
|
|
93
|
-
</div>
|
|
94
|
-
<div class="aso-model-info">
|
|
95
|
-
<span class="aso-model-label" id="active-model-label"></span>
|
|
96
|
-
<span class="aso-model-badge" id="model-badge"></span>
|
|
97
|
-
</div>
|
|
98
|
-
</div>
|
|
99
|
-
|
|
100
|
-
<!-- Subagents Panel -->
|
|
101
|
-
<div class="glass-panel subagents-panel" id="subagents-panel">
|
|
102
|
-
<div class="panel-label">
|
|
103
|
-
SUBAGENTS
|
|
104
|
-
<span class="subagents-count" id="subagents-count"></span>
|
|
105
|
-
</div>
|
|
106
|
-
|
|
107
|
-
<!-- Quick Deploy Section -->
|
|
108
|
-
<div class="quick-deploy-section">
|
|
109
|
-
<div class="quick-deploy-label">QUICK DEPLOY</div>
|
|
110
|
-
<div class="quick-deploy-grid">
|
|
111
|
-
<button class="quick-deploy-btn" data-agent="research" title="Research Agent">
|
|
112
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
113
|
-
<circle cx="11" cy="11" r="8" />
|
|
114
|
-
<path d="M21 21l-4.35-4.35" />
|
|
115
|
-
</svg>
|
|
116
|
-
<span>Research</span>
|
|
117
|
-
</button>
|
|
118
|
-
<button class="quick-deploy-btn" data-agent="review" title="Code Review Agent">
|
|
119
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
120
|
-
<polyline points="16 18 22 12 16 6" />
|
|
121
|
-
<polyline points="8 6 2 12 8 18" />
|
|
122
|
-
</svg>
|
|
123
|
-
<span>Review</span>
|
|
124
|
-
</button>
|
|
125
|
-
<button class="quick-deploy-btn" data-agent="writer" title="Writer Agent">
|
|
126
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
127
|
-
<path d="M12 19l7-7 3 3-7 7-3-3z" />
|
|
128
|
-
<path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z" />
|
|
129
|
-
</svg>
|
|
130
|
-
<span>Writer</span>
|
|
131
|
-
</button>
|
|
132
|
-
<button class="quick-deploy-btn" data-agent="analyst" title="Analyst Agent">
|
|
133
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
134
|
-
<line x1="18" y1="20" x2="18" y2="10" />
|
|
135
|
-
<line x1="12" y1="20" x2="12" y2="4" />
|
|
136
|
-
<line x1="6" y1="20" x2="6" y2="14" />
|
|
137
|
-
</svg>
|
|
138
|
-
<span>Analyst</span>
|
|
139
|
-
</button>
|
|
140
|
-
</div>
|
|
141
|
-
</div>
|
|
142
|
-
|
|
143
|
-
<!-- Staging Prompt Box -->
|
|
144
|
-
<div class="staging-box" id="staging-box">
|
|
145
|
-
<div class="staging-chips" id="staging-chips">
|
|
146
|
-
<span class="staging-empty">Select agents above</span>
|
|
147
|
-
</div>
|
|
148
|
-
<button class="staging-deploy-btn" id="staging-deploy-btn" disabled>
|
|
149
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
150
|
-
<path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" />
|
|
151
|
-
</svg>
|
|
152
|
-
Deploy
|
|
153
|
-
</button>
|
|
154
|
-
</div>
|
|
155
|
-
|
|
156
|
-
<!-- Active Subagents list -->
|
|
157
|
-
<div class="subagents-active-label">ACTIVE</div>
|
|
158
|
-
<div class="subagents-list" id="subagents-list">
|
|
159
|
-
<div class="subagents-empty" id="subagents-empty">
|
|
160
|
-
<div class="subagents-empty-icon">
|
|
161
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
162
|
-
<circle cx="12" cy="12" r="3" />
|
|
163
|
-
<path
|
|
164
|
-
d="M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83"
|
|
165
|
-
/>
|
|
166
|
-
</svg>
|
|
167
|
-
</div>
|
|
168
|
-
<div class="subagents-empty-text">No active subagents</div>
|
|
169
|
-
</div>
|
|
170
|
-
</div>
|
|
171
|
-
|
|
172
|
-
<!-- Custom Spawn button -->
|
|
173
|
-
<button class="subagent-spawn-btn" id="subagent-spawn-btn" title="Spawn a custom subagent">
|
|
174
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
175
|
-
<circle cx="12" cy="12" r="10" />
|
|
176
|
-
<path d="M12 8v8M8 12h8" />
|
|
177
|
-
</svg>
|
|
178
|
-
<span>Custom Subagent</span>
|
|
179
|
-
</button>
|
|
180
|
-
</div>
|
|
181
|
-
|
|
182
|
-
<!-- Reasoning Panel -->
|
|
183
|
-
<div class="glass-panel reasoning-panel" id="reasoning-panel">
|
|
184
|
-
<div class="panel-label">
|
|
185
|
-
REASONING
|
|
186
|
-
<span class="reasoning-live-dot" id="reasoning-live-dot"></span>
|
|
187
|
-
</div>
|
|
188
|
-
<div class="reasoning-feed" id="reasoning-feed">
|
|
189
|
-
<div class="reasoning-empty" id="reasoning-empty">
|
|
190
|
-
<div class="reasoning-empty-icon">
|
|
191
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
192
|
-
<circle cx="12" cy="12" r="3" />
|
|
193
|
-
<path
|
|
194
|
-
d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"
|
|
195
|
-
/>
|
|
196
|
-
</svg>
|
|
197
|
-
</div>
|
|
198
|
-
<div class="reasoning-empty-text">No reasoning yet</div>
|
|
199
|
-
</div>
|
|
200
|
-
</div>
|
|
201
|
-
</div>
|
|
202
|
-
</aside>
|
|
203
|
-
|
|
204
|
-
<!-- Metrics — Right column -->
|
|
205
|
-
<aside class="metrics-col metrics-right">
|
|
206
|
-
<!-- Connections Panel -->
|
|
207
|
-
<div class="glass-panel connections-panel" id="connections-panel">
|
|
208
|
-
<div class="panel-label">CONNECTIONS</div>
|
|
209
|
-
<button class="conn-btn" id="conn-slack" data-channel="slack">
|
|
210
|
-
<div class="conn-icon conn-icon-slack">
|
|
211
|
-
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
212
|
-
<path
|
|
213
|
-
d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.124 2.521a2.528 2.528 0 0 1 2.52-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.52V8.834zm-1.271 0a2.528 2.528 0 0 1-2.521 2.521 2.528 2.528 0 0 1-2.521-2.521V2.522A2.528 2.528 0 0 1 15.166 0a2.528 2.528 0 0 1 2.521 2.522v6.312zm-2.521 10.124a2.528 2.528 0 0 1 2.521 2.52A2.528 2.528 0 0 1 15.166 24a2.528 2.528 0 0 1-2.521-2.522v-2.52h2.521zm0-1.271a2.528 2.528 0 0 1-2.521-2.521 2.528 2.528 0 0 1 2.521-2.521h6.312A2.528 2.528 0 0 1 24 15.166a2.528 2.528 0 0 1-2.522 2.521h-6.312z"
|
|
214
|
-
/>
|
|
215
|
-
</svg>
|
|
216
|
-
</div>
|
|
217
|
-
<div class="conn-info">
|
|
218
|
-
<span class="conn-name">Slack</span>
|
|
219
|
-
<span class="conn-btn-status" id="conn-slack-status">Checking...</span>
|
|
220
|
-
</div>
|
|
221
|
-
<div class="conn-state" id="conn-slack-state"><div class="conn-dot"></div></div>
|
|
222
|
-
<span class="conn-notif" id="conn-slack-notif"></span>
|
|
223
|
-
</button>
|
|
224
|
-
<button class="conn-btn" id="conn-email" data-channel="email">
|
|
225
|
-
<div class="conn-icon conn-icon-email">
|
|
226
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
227
|
-
<rect x="2" y="4" width="20" height="16" rx="2" />
|
|
228
|
-
<path d="M22 6l-10 7L2 6" />
|
|
229
|
-
</svg>
|
|
230
|
-
</div>
|
|
231
|
-
<div class="conn-info">
|
|
232
|
-
<span class="conn-name">Email</span>
|
|
233
|
-
<span class="conn-btn-status" id="conn-email-status">Checking...</span>
|
|
234
|
-
</div>
|
|
235
|
-
<div class="conn-state" id="conn-email-state"><div class="conn-dot"></div></div>
|
|
236
|
-
<span class="conn-notif" id="conn-email-notif"></span>
|
|
237
|
-
</button>
|
|
238
|
-
<button class="conn-btn" id="conn-teams" data-channel="msteams">
|
|
239
|
-
<div class="conn-icon conn-icon-teams">
|
|
240
|
-
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
241
|
-
<path
|
|
242
|
-
d="M19.19 8.77c-.73 0-1.39.29-1.88.76V8.5a2.5 2.5 0 0 0-2.5-2.5h-1.62c.18-.46.28-.96.28-1.48a4.04 4.04 0 0 0-4.04-4.04c-2.23 0-4.04 1.81-4.04 4.04 0 .52.1 1.02.28 1.48H4.5A2.5 2.5 0 0 0 2 8.5v9a2.5 2.5 0 0 0 2.5 2.5h9a2.5 2.5 0 0 0 2.5-2.5v-.97c.49.47 1.15.76 1.88.76a2.69 2.69 0 0 0 2.69-2.69v-3.14a2.69 2.69 0 0 0-2.69-2.69h.31zM9.43 2.98a2.04 2.04 0 1 1 0 4.08 2.04 2.04 0 0 1 0-4.08zm4.57 14.52a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v9zm5.88-4.17a.69.69 0 0 1-.69.69.69.69 0 0 1-.69-.69v-3.14c0-.38.31-.69.69-.69.38 0 .69.31.69.69v3.14z"
|
|
243
|
-
/>
|
|
244
|
-
<circle cx="17.5" cy="5.5" r="2.5" />
|
|
245
|
-
</svg>
|
|
246
|
-
</div>
|
|
247
|
-
<div class="conn-info">
|
|
248
|
-
<span class="conn-name">Teams</span>
|
|
249
|
-
<span class="conn-btn-status" id="conn-teams-status">Checking...</span>
|
|
250
|
-
</div>
|
|
251
|
-
<div class="conn-state" id="conn-teams-state"><div class="conn-dot"></div></div>
|
|
252
|
-
<span class="conn-notif" id="conn-teams-notif"></span>
|
|
253
|
-
</button>
|
|
254
|
-
</div>
|
|
255
|
-
|
|
256
|
-
<div class="glass-panel gateway-panel">
|
|
257
|
-
<div class="panel-label">SYMI GATEWAY</div>
|
|
258
|
-
<div class="net-row">
|
|
259
|
-
<div class="status-dot dot-green pulse"></div>
|
|
260
|
-
<span class="net-name">Gateway</span>
|
|
261
|
-
<span class="badge badge-green">ONLINE</span>
|
|
262
|
-
</div>
|
|
263
|
-
<div class="net-row">
|
|
264
|
-
<span class="net-name muted">Port</span>
|
|
265
|
-
<span class="net-ip">18789</span>
|
|
266
|
-
</div>
|
|
267
|
-
<div class="net-row">
|
|
268
|
-
<span class="net-name muted">Auth</span>
|
|
269
|
-
<span class="badge badge-blue">TOKEN</span>
|
|
270
|
-
</div>
|
|
271
|
-
<div class="net-row">
|
|
272
|
-
<span class="net-name muted">Browser CDP</span>
|
|
273
|
-
<span class="net-ip">18800</span>
|
|
274
|
-
</div>
|
|
275
|
-
</div>
|
|
276
|
-
|
|
277
|
-
<div class="glass-panel" id="model-routing-panel">
|
|
278
|
-
<div class="panel-label">MODEL ROUTING</div>
|
|
279
|
-
<div class="model-toggle" id="model-toggle">
|
|
280
|
-
<select class="model-toggle-select" id="model-toggle-spider" data-model="spider">
|
|
281
|
-
<option value="" disabled selected>Spider ▾</option>
|
|
282
|
-
<option value="spider-gemma4">Gemma 4 31B Uncensored</option>
|
|
283
|
-
<option value="spider-qwen35">Qwen 3.5 35B</option>
|
|
284
|
-
<option value="spider-qwen35-uncen">Qwen 3.5 Uncensored</option>
|
|
285
|
-
<option value="spider-qwen36">Qwen 3.6 35B</option>
|
|
286
|
-
</select>
|
|
287
|
-
<button class="model-toggle-btn" data-model="redsand">CoreWeave</button>
|
|
288
|
-
<button class="model-toggle-btn" data-model="coreweave2">Coreweave2</button>
|
|
289
|
-
<button class="model-toggle-btn" data-model="api">API</button>
|
|
290
|
-
</div>
|
|
291
|
-
<div class="model-status" id="model-status">loading…</div>
|
|
292
|
-
</div>
|
|
293
|
-
|
|
294
|
-
<!-- Scheduling Panel -->
|
|
295
|
-
<div class="glass-panel scheduling-panel" id="scheduling-panel">
|
|
296
|
-
<div class="panel-label">
|
|
297
|
-
SCHEDULING
|
|
298
|
-
<span class="schedule-count" id="schedule-count"></span>
|
|
299
|
-
</div>
|
|
300
|
-
<div class="schedule-list" id="schedule-list">
|
|
301
|
-
<div class="schedule-empty" id="schedule-empty">
|
|
302
|
-
<div class="schedule-empty-icon">
|
|
303
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
304
|
-
<circle cx="12" cy="12" r="10" />
|
|
305
|
-
<polyline points="12 6 12 12 16 14" />
|
|
306
|
-
</svg>
|
|
307
|
-
</div>
|
|
308
|
-
<div class="schedule-empty-text">No scheduled tasks</div>
|
|
309
|
-
</div>
|
|
310
|
-
</div>
|
|
311
|
-
<button class="schedule-add-btn" id="schedule-add-btn" title="Add a scheduled task">
|
|
312
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
313
|
-
<circle cx="12" cy="12" r="10" />
|
|
314
|
-
<path d="M12 8v8M8 12h8" />
|
|
315
|
-
</svg>
|
|
316
|
-
<span>Add Schedule</span>
|
|
317
|
-
</button>
|
|
318
|
-
</div>
|
|
319
|
-
|
|
320
|
-
</aside>
|
|
321
|
-
|
|
322
|
-
<!-- Response waterfall area -->
|
|
323
|
-
<main class="response-area" id="response-area"></main>
|
|
324
|
-
|
|
325
|
-
<!-- Floating prompt bar -->
|
|
326
|
-
<footer class="prompt-wrap">
|
|
327
|
-
<div class="prompt-bar" id="prompt-bar">
|
|
328
|
-
<!-- Row 1: icon + input + send -->
|
|
329
|
-
<div class="prompt-row-main">
|
|
330
|
-
<div class="prompt-icon">
|
|
331
|
-
<svg width="18" height="18" viewBox="0 0 24 24" fill="none">
|
|
332
|
-
<path
|
|
333
|
-
d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"
|
|
334
|
-
stroke="currentColor"
|
|
335
|
-
stroke-width="1.5"
|
|
336
|
-
stroke-linecap="round"
|
|
337
|
-
stroke-linejoin="round"
|
|
338
|
-
/>
|
|
339
|
-
</svg>
|
|
340
|
-
</div>
|
|
341
|
-
<textarea
|
|
342
|
-
id="prompt-input"
|
|
343
|
-
placeholder="Ask Symi anything…"
|
|
344
|
-
autocomplete="off"
|
|
345
|
-
spellcheck="false"
|
|
346
|
-
rows="1"
|
|
347
|
-
></textarea>
|
|
348
|
-
<button class="send-btn" id="send-btn" title="Send">
|
|
349
|
-
<svg width="16" height="16" viewBox="0 0 24 24" fill="none">
|
|
350
|
-
<path d="M22 2L11 13" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
|
|
351
|
-
<path
|
|
352
|
-
d="M22 2L15 22 11 13 2 9l20-7z"
|
|
353
|
-
stroke="currentColor"
|
|
354
|
-
stroke-width="2"
|
|
355
|
-
stroke-linecap="round"
|
|
356
|
-
stroke-linejoin="round"
|
|
357
|
-
/>
|
|
358
|
-
</svg>
|
|
359
|
-
</button>
|
|
360
|
-
</div>
|
|
361
|
-
|
|
362
|
-
<!-- Row 2: action buttons (right-aligned) -->
|
|
363
|
-
<div class="prompt-row-actions">
|
|
364
|
-
<button class="history-btn" id="history-btn" title="Browse previous sessions">
|
|
365
|
-
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
366
|
-
<circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="2" />
|
|
367
|
-
<path d="M12 7v5l3 3" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
|
|
368
|
-
</svg>
|
|
369
|
-
<span class="history-btn-label">History</span>
|
|
370
|
-
</button>
|
|
371
|
-
|
|
372
|
-
<!-- Stop button — shown while AI is responding, hidden otherwise -->
|
|
373
|
-
<button class="stop-btn" id="stop-btn" title="Stop the current response">
|
|
374
|
-
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
375
|
-
<rect x="4" y="4" width="16" height="16" rx="2" fill="currentColor" opacity="0.85" />
|
|
376
|
-
</svg>
|
|
377
|
-
<span class="stop-btn-label">Stop</span>
|
|
378
|
-
</button>
|
|
379
|
-
|
|
380
|
-
<!-- Queue button — replaces New Session while AI is responding -->
|
|
381
|
-
<button
|
|
382
|
-
class="queue-btn"
|
|
383
|
-
id="queue-btn"
|
|
384
|
-
title="Queue this message — sends automatically once Symi finishes"
|
|
385
|
-
>
|
|
386
|
-
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
387
|
-
<path
|
|
388
|
-
d="M3 6h18M3 12h12M3 18h8"
|
|
389
|
-
stroke="currentColor"
|
|
390
|
-
stroke-width="2"
|
|
391
|
-
stroke-linecap="round"
|
|
392
|
-
/>
|
|
393
|
-
</svg>
|
|
394
|
-
<span class="queue-btn-label">Queue ↵</span>
|
|
395
|
-
<span class="queue-cancel-x" id="queue-cancel-x" title="Cancel queued message">✕</span>
|
|
396
|
-
</button>
|
|
397
|
-
|
|
398
|
-
<button
|
|
399
|
-
class="new-session-btn"
|
|
400
|
-
id="new-session-btn"
|
|
401
|
-
title="New session — clears conversation and starts fresh"
|
|
402
|
-
>
|
|
403
|
-
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
404
|
-
<path
|
|
405
|
-
d="M11 4H7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-4"
|
|
406
|
-
stroke="currentColor"
|
|
407
|
-
stroke-width="2"
|
|
408
|
-
stroke-linecap="round"
|
|
409
|
-
/>
|
|
410
|
-
<path
|
|
411
|
-
d="M18.5 2.5a2.121 2.121 0 0 1 3 3L13 14l-4 1 1-4 8.5-8.5z"
|
|
412
|
-
stroke="currentColor"
|
|
413
|
-
stroke-width="2"
|
|
414
|
-
stroke-linecap="round"
|
|
415
|
-
stroke-linejoin="round"
|
|
416
|
-
/>
|
|
417
|
-
</svg>
|
|
418
|
-
<span class="new-session-label">New Session</span>
|
|
419
|
-
</button>
|
|
420
|
-
</div>
|
|
421
|
-
</div>
|
|
422
|
-
</footer>
|
|
423
|
-
|
|
424
|
-
<!-- ── Menu Trigger ──────────────────────────────────────────────── -->
|
|
425
|
-
<button
|
|
426
|
-
class="menu-trigger"
|
|
427
|
-
id="menu-trigger"
|
|
428
|
-
aria-label="Command menu"
|
|
429
|
-
title="Command Menu (M)"
|
|
430
|
-
>
|
|
431
|
-
<svg class="menu-icon-grid" width="17" height="17" viewBox="0 0 18 18" fill="none">
|
|
432
|
-
<circle cx="3" cy="3" r="1.6" fill="currentColor" />
|
|
433
|
-
<circle cx="9" cy="3" r="1.6" fill="currentColor" />
|
|
434
|
-
<circle cx="15" cy="3" r="1.6" fill="currentColor" />
|
|
435
|
-
<circle cx="3" cy="9" r="1.6" fill="currentColor" />
|
|
436
|
-
<circle cx="9" cy="9" r="1.6" fill="currentColor" />
|
|
437
|
-
<circle cx="15" cy="9" r="1.6" fill="currentColor" />
|
|
438
|
-
<circle cx="3" cy="15" r="1.6" fill="currentColor" />
|
|
439
|
-
<circle cx="9" cy="15" r="1.6" fill="currentColor" />
|
|
440
|
-
<circle cx="15" cy="15" r="1.6" fill="currentColor" />
|
|
441
|
-
</svg>
|
|
442
|
-
<svg class="menu-icon-close" width="17" height="17" viewBox="0 0 18 18" fill="none">
|
|
443
|
-
<path
|
|
444
|
-
d="M2 2l14 14M16 2 2 16"
|
|
445
|
-
stroke="currentColor"
|
|
446
|
-
stroke-width="2.2"
|
|
447
|
-
stroke-linecap="round"
|
|
448
|
-
/>
|
|
449
|
-
</svg>
|
|
450
|
-
</button>
|
|
451
|
-
|
|
452
|
-
<!-- ── Command Overlay ────────────────────────────────────────────── -->
|
|
453
|
-
<div class="cmd-overlay" id="cmd-overlay" aria-hidden="true">
|
|
454
|
-
<div class="cmd-backdrop" id="cmd-backdrop"></div>
|
|
455
|
-
<div class="cmd-shell">
|
|
456
|
-
<!-- Header bar -->
|
|
457
|
-
<div class="cmd-header">
|
|
458
|
-
<div class="cmd-brand">
|
|
459
|
-
<span class="cmd-brand-glyph">◈</span>
|
|
460
|
-
<span class="cmd-brand-name">SYMI</span>
|
|
461
|
-
<span class="cmd-brand-sep">/</span>
|
|
462
|
-
<span class="cmd-brand-sub">COMMAND CENTER</span>
|
|
463
|
-
</div>
|
|
464
|
-
<div class="cmd-esc-hint">Press <kbd class="cmd-kbd">ESC</kbd> to close</div>
|
|
465
|
-
</div>
|
|
466
|
-
|
|
467
|
-
<!-- 5-group command grid -->
|
|
468
|
-
<div class="cmd-grid">
|
|
469
|
-
<!-- ── CHAT ──────────────────────────────────────────────── -->
|
|
470
|
-
<div class="cmd-group cmd-group--chat">
|
|
471
|
-
<div class="cmd-group-hd">
|
|
472
|
-
<svg class="cmd-group-svg" viewBox="0 0 24 24" fill="none">
|
|
473
|
-
<path
|
|
474
|
-
d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"
|
|
475
|
-
stroke="currentColor"
|
|
476
|
-
stroke-width="1.5"
|
|
477
|
-
stroke-linecap="round"
|
|
478
|
-
stroke-linejoin="round"
|
|
479
|
-
/>
|
|
480
|
-
</svg>
|
|
481
|
-
<span class="cmd-group-label">CHAT</span>
|
|
482
|
-
</div>
|
|
483
|
-
<div class="cmd-items">
|
|
484
|
-
<a class="cmd-item" href="#" data-href="#chat">
|
|
485
|
-
<span class="cmd-item-icon">◈</span>
|
|
486
|
-
<div class="cmd-item-body">
|
|
487
|
-
<span class="cmd-item-name">Chat</span>
|
|
488
|
-
<span class="cmd-item-desc">Main conversation</span>
|
|
489
|
-
</div>
|
|
490
|
-
<span class="cmd-item-badge">ACTIVE</span>
|
|
491
|
-
</a>
|
|
492
|
-
</div>
|
|
493
|
-
</div>
|
|
494
|
-
|
|
495
|
-
<!-- ── CONTROL ───────────────────────────────────────────── -->
|
|
496
|
-
<div class="cmd-group cmd-group--control">
|
|
497
|
-
<div class="cmd-group-hd">
|
|
498
|
-
<svg class="cmd-group-svg" viewBox="0 0 24 24" fill="none">
|
|
499
|
-
<rect
|
|
500
|
-
x="3"
|
|
501
|
-
y="3"
|
|
502
|
-
width="7"
|
|
503
|
-
height="7"
|
|
504
|
-
rx="1.5"
|
|
505
|
-
stroke="currentColor"
|
|
506
|
-
stroke-width="1.5"
|
|
507
|
-
/>
|
|
508
|
-
<rect
|
|
509
|
-
x="14"
|
|
510
|
-
y="3"
|
|
511
|
-
width="7"
|
|
512
|
-
height="7"
|
|
513
|
-
rx="1.5"
|
|
514
|
-
stroke="currentColor"
|
|
515
|
-
stroke-width="1.5"
|
|
516
|
-
/>
|
|
517
|
-
<rect
|
|
518
|
-
x="3"
|
|
519
|
-
y="14"
|
|
520
|
-
width="7"
|
|
521
|
-
height="7"
|
|
522
|
-
rx="1.5"
|
|
523
|
-
stroke="currentColor"
|
|
524
|
-
stroke-width="1.5"
|
|
525
|
-
/>
|
|
526
|
-
<rect
|
|
527
|
-
x="14"
|
|
528
|
-
y="14"
|
|
529
|
-
width="7"
|
|
530
|
-
height="7"
|
|
531
|
-
rx="1.5"
|
|
532
|
-
stroke="currentColor"
|
|
533
|
-
stroke-width="1.5"
|
|
534
|
-
/>
|
|
535
|
-
</svg>
|
|
536
|
-
<span class="cmd-group-label">CONTROL</span>
|
|
537
|
-
</div>
|
|
538
|
-
<div class="cmd-items cmd-items--grid">
|
|
539
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/overview">
|
|
540
|
-
<span class="cmd-item-icon">⊙</span>
|
|
541
|
-
<div class="cmd-item-body">
|
|
542
|
-
<span class="cmd-item-name">Overview</span
|
|
543
|
-
><span class="cmd-item-desc">System overview</span>
|
|
544
|
-
</div>
|
|
545
|
-
</a>
|
|
546
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/channels">
|
|
547
|
-
<span class="cmd-item-icon">⊞</span>
|
|
548
|
-
<div class="cmd-item-body">
|
|
549
|
-
<span class="cmd-item-name">Channels</span
|
|
550
|
-
><span class="cmd-item-desc">Messaging channels</span>
|
|
551
|
-
</div>
|
|
552
|
-
</a>
|
|
553
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/instances">
|
|
554
|
-
<span class="cmd-item-icon">⊟</span>
|
|
555
|
-
<div class="cmd-item-body">
|
|
556
|
-
<span class="cmd-item-name">Instances</span
|
|
557
|
-
><span class="cmd-item-desc">AI instances</span>
|
|
558
|
-
</div>
|
|
559
|
-
</a>
|
|
560
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/sessions">
|
|
561
|
-
<span class="cmd-item-icon">≋</span>
|
|
562
|
-
<div class="cmd-item-body">
|
|
563
|
-
<span class="cmd-item-name">Sessions</span
|
|
564
|
-
><span class="cmd-item-desc">Active sessions</span>
|
|
565
|
-
</div>
|
|
566
|
-
</a>
|
|
567
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/usage">
|
|
568
|
-
<span class="cmd-item-icon">▲</span>
|
|
569
|
-
<div class="cmd-item-body">
|
|
570
|
-
<span class="cmd-item-name">Usage</span
|
|
571
|
-
><span class="cmd-item-desc">Tokens & costs</span>
|
|
572
|
-
</div>
|
|
573
|
-
</a>
|
|
574
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/cron">
|
|
575
|
-
<span class="cmd-item-icon">◷</span>
|
|
576
|
-
<div class="cmd-item-body">
|
|
577
|
-
<span class="cmd-item-name">Cron Jobs</span
|
|
578
|
-
><span class="cmd-item-desc">Scheduled tasks</span>
|
|
579
|
-
</div>
|
|
580
|
-
</a>
|
|
581
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/tasks">
|
|
582
|
-
<span class="cmd-item-icon">▣</span>
|
|
583
|
-
<div class="cmd-item-body">
|
|
584
|
-
<span class="cmd-item-name">Background Tasks</span
|
|
585
|
-
><span class="cmd-item-desc">Detached long-running jobs</span>
|
|
586
|
-
</div>
|
|
587
|
-
</a>
|
|
588
|
-
</div>
|
|
589
|
-
</div>
|
|
590
|
-
|
|
591
|
-
<!-- ── AGENT ─────────────────────────────────────────────── -->
|
|
592
|
-
<div class="cmd-group cmd-group--agent">
|
|
593
|
-
<div class="cmd-group-hd">
|
|
594
|
-
<svg class="cmd-group-svg" viewBox="0 0 24 24" fill="none">
|
|
595
|
-
<circle cx="12" cy="12" r="3" stroke="currentColor" stroke-width="1.5" />
|
|
596
|
-
<path
|
|
597
|
-
d="M12 2v2M12 20v2M2 12h2M20 12h2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"
|
|
598
|
-
stroke="currentColor"
|
|
599
|
-
stroke-width="1.5"
|
|
600
|
-
stroke-linecap="round"
|
|
601
|
-
/>
|
|
602
|
-
</svg>
|
|
603
|
-
<span class="cmd-group-label">AGENT</span>
|
|
604
|
-
</div>
|
|
605
|
-
<div class="cmd-items">
|
|
606
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/agents">
|
|
607
|
-
<span class="cmd-item-icon">◈</span>
|
|
608
|
-
<div class="cmd-item-body">
|
|
609
|
-
<span class="cmd-item-name">Agents</span
|
|
610
|
-
><span class="cmd-item-desc">Agent management</span>
|
|
611
|
-
</div>
|
|
612
|
-
</a>
|
|
613
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/skills">
|
|
614
|
-
<span class="cmd-item-icon">⚡</span>
|
|
615
|
-
<div class="cmd-item-body">
|
|
616
|
-
<span class="cmd-item-name">Skills</span
|
|
617
|
-
><span class="cmd-item-desc">Agent capabilities</span>
|
|
618
|
-
</div>
|
|
619
|
-
</a>
|
|
620
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/nodes">
|
|
621
|
-
<span class="cmd-item-icon">⬡</span>
|
|
622
|
-
<div class="cmd-item-body">
|
|
623
|
-
<span class="cmd-item-name">Nodes</span
|
|
624
|
-
><span class="cmd-item-desc">Connected devices</span>
|
|
625
|
-
</div>
|
|
626
|
-
</a>
|
|
627
|
-
</div>
|
|
628
|
-
</div>
|
|
629
|
-
|
|
630
|
-
<!-- ── SETTINGS ──────────────────────────────────────────── -->
|
|
631
|
-
<div class="cmd-group cmd-group--settings">
|
|
632
|
-
<div class="cmd-group-hd">
|
|
633
|
-
<svg class="cmd-group-svg" viewBox="0 0 24 24" fill="none">
|
|
634
|
-
<circle cx="12" cy="12" r="3" stroke="currentColor" stroke-width="1.5" />
|
|
635
|
-
<path
|
|
636
|
-
d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"
|
|
637
|
-
stroke="currentColor"
|
|
638
|
-
stroke-width="1.5"
|
|
639
|
-
/>
|
|
640
|
-
</svg>
|
|
641
|
-
<span class="cmd-group-label">SETTINGS</span>
|
|
642
|
-
</div>
|
|
643
|
-
<div class="cmd-items">
|
|
644
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/config">
|
|
645
|
-
<span class="cmd-item-icon">⚙</span>
|
|
646
|
-
<div class="cmd-item-body">
|
|
647
|
-
<span class="cmd-item-name">Config</span
|
|
648
|
-
><span class="cmd-item-desc">System configuration</span>
|
|
649
|
-
</div>
|
|
650
|
-
</a>
|
|
651
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/debug">
|
|
652
|
-
<span class="cmd-item-icon">⬢</span>
|
|
653
|
-
<div class="cmd-item-body">
|
|
654
|
-
<span class="cmd-item-name">Debug</span
|
|
655
|
-
><span class="cmd-item-desc">Debug console</span>
|
|
656
|
-
</div>
|
|
657
|
-
</a>
|
|
658
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/logs">
|
|
659
|
-
<span class="cmd-item-icon">≡</span>
|
|
660
|
-
<div class="cmd-item-body">
|
|
661
|
-
<span class="cmd-item-name">Logs</span
|
|
662
|
-
><span class="cmd-item-desc">System logs</span>
|
|
663
|
-
</div>
|
|
664
|
-
</a>
|
|
665
|
-
</div>
|
|
666
|
-
</div>
|
|
667
|
-
|
|
668
|
-
<!-- ── RESOURCES ─────────────────────────────────────────── -->
|
|
669
|
-
<div class="cmd-group cmd-group--resources">
|
|
670
|
-
<div class="cmd-group-hd">
|
|
671
|
-
<svg class="cmd-group-svg" viewBox="0 0 24 24" fill="none">
|
|
672
|
-
<path
|
|
673
|
-
d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"
|
|
674
|
-
stroke="currentColor"
|
|
675
|
-
stroke-width="1.5"
|
|
676
|
-
stroke-linecap="round"
|
|
677
|
-
/>
|
|
678
|
-
<path
|
|
679
|
-
d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"
|
|
680
|
-
stroke="currentColor"
|
|
681
|
-
stroke-width="1.5"
|
|
682
|
-
stroke-linecap="round"
|
|
683
|
-
/>
|
|
684
|
-
</svg>
|
|
685
|
-
<span class="cmd-group-label">RESOURCES</span>
|
|
686
|
-
</div>
|
|
687
|
-
<div class="cmd-items">
|
|
688
|
-
<a class="cmd-item" href="#" data-href="https://docs.symi.ai/">
|
|
689
|
-
<span class="cmd-item-icon">◻</span>
|
|
690
|
-
<div class="cmd-item-body">
|
|
691
|
-
<span class="cmd-item-name">Docs</span
|
|
692
|
-
><span class="cmd-item-desc">Official documentation</span>
|
|
693
|
-
</div>
|
|
694
|
-
</a>
|
|
695
|
-
</div>
|
|
696
|
-
</div>
|
|
697
|
-
</div>
|
|
698
|
-
<!-- /cmd-grid -->
|
|
699
|
-
</div>
|
|
700
|
-
<!-- /cmd-shell -->
|
|
701
|
-
</div>
|
|
702
|
-
<!-- /cmd-overlay -->
|
|
703
|
-
|
|
704
|
-
<!-- Standard UI toggle removed — glass UI is served directly from gateway -->
|
|
705
|
-
|
|
706
|
-
<!-- ── Page Navigation Overlay ──────────────────────────────────── -->
|
|
707
|
-
<div class="page-overlay" id="page-overlay" aria-hidden="true">
|
|
708
|
-
<div class="page-overlay-header">
|
|
709
|
-
<button class="page-back-btn" id="page-back-btn" title="Back to menu">
|
|
710
|
-
<svg width="14" height="14" viewBox="0 0 24 24" fill="none">
|
|
711
|
-
<path
|
|
712
|
-
d="M19 12H5M5 12l7-7M5 12l7 7"
|
|
713
|
-
stroke="currentColor"
|
|
714
|
-
stroke-width="2"
|
|
715
|
-
stroke-linecap="round"
|
|
716
|
-
stroke-linejoin="round"
|
|
717
|
-
/>
|
|
718
|
-
</svg>
|
|
719
|
-
<span>Menu</span>
|
|
720
|
-
</button>
|
|
721
|
-
<span class="page-overlay-title" id="page-overlay-title"></span>
|
|
722
|
-
<a
|
|
723
|
-
class="page-popout-btn"
|
|
724
|
-
id="page-popout-btn"
|
|
725
|
-
href="#"
|
|
726
|
-
target="_blank"
|
|
727
|
-
title="Open in new tab"
|
|
728
|
-
rel="noopener"
|
|
729
|
-
>
|
|
730
|
-
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
731
|
-
<path
|
|
732
|
-
d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"
|
|
733
|
-
stroke="currentColor"
|
|
734
|
-
stroke-width="2"
|
|
735
|
-
stroke-linecap="round"
|
|
736
|
-
/>
|
|
737
|
-
<path
|
|
738
|
-
d="M15 3h6v6M10 14L21 3"
|
|
739
|
-
stroke="currentColor"
|
|
740
|
-
stroke-width="2"
|
|
741
|
-
stroke-linecap="round"
|
|
742
|
-
stroke-linejoin="round"
|
|
743
|
-
/>
|
|
744
|
-
</svg>
|
|
745
|
-
Pop out
|
|
746
|
-
</a>
|
|
747
|
-
</div>
|
|
748
|
-
<iframe
|
|
749
|
-
class="page-overlay-frame"
|
|
750
|
-
id="page-overlay-frame"
|
|
751
|
-
src=""
|
|
752
|
-
title="Page view"
|
|
753
|
-
allowfullscreen
|
|
754
|
-
></iframe>
|
|
755
|
-
</div>
|
|
756
|
-
|
|
757
|
-
<!-- ── History Drawer ───────────────────────────────────────────── -->
|
|
758
|
-
<div class="history-overlay" id="history-overlay"></div>
|
|
759
|
-
<div class="history-drawer" id="history-drawer" aria-hidden="true">
|
|
760
|
-
<div class="history-drawer-header">
|
|
761
|
-
<div class="history-drawer-title">
|
|
762
|
-
<svg width="14" height="14" viewBox="0 0 24 24" fill="none">
|
|
763
|
-
<circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="2" />
|
|
764
|
-
<path d="M12 7v5l3 3" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
|
|
765
|
-
</svg>
|
|
766
|
-
CHAT HISTORY
|
|
767
|
-
</div>
|
|
768
|
-
<button class="history-close-btn" id="history-close-btn" title="Close (Esc)">✕</button>
|
|
769
|
-
</div>
|
|
770
|
-
<div class="history-drawer-search">
|
|
771
|
-
<input
|
|
772
|
-
type="search"
|
|
773
|
-
id="history-search-input"
|
|
774
|
-
class="history-search-input"
|
|
775
|
-
placeholder="Search across all sessions…"
|
|
776
|
-
autocomplete="off"
|
|
777
|
-
spellcheck="false"
|
|
778
|
-
/>
|
|
779
|
-
<button class="history-search-clear" id="history-search-clear" title="Clear" hidden>✕</button>
|
|
780
|
-
</div>
|
|
781
|
-
<div class="history-drawer-body" id="history-drawer-body">
|
|
782
|
-
<div class="history-loading">Loading sessions…</div>
|
|
783
|
-
</div>
|
|
784
|
-
</div>
|
|
785
|
-
|
|
786
|
-
<!-- ── Session archive toast ─────────────────────────────────────── -->
|
|
787
|
-
<div class="session-archive-toast" id="session-archive-toast">
|
|
788
|
-
<svg width="12" height="12" viewBox="0 0 24 24" fill="none">
|
|
789
|
-
<circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="2" />
|
|
790
|
-
<path d="M12 7v5l3 3" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
|
|
791
|
-
</svg>
|
|
792
|
-
Session archived — <span id="session-archive-link">View history ↗</span>
|
|
793
|
-
</div>
|
|
794
|
-
|
|
795
|
-
<!-- ── Connection Modal ──────────────────────────────────────────────── -->
|
|
796
|
-
<div class="conn-modal-overlay" id="conn-modal-overlay" aria-hidden="true">
|
|
797
|
-
<div class="conn-modal" id="conn-modal">
|
|
798
|
-
<div class="conn-modal-header">
|
|
799
|
-
<div class="conn-modal-icon" id="conn-modal-icon"></div>
|
|
800
|
-
<div class="conn-modal-title" id="conn-modal-title">Channel</div>
|
|
801
|
-
<button class="conn-modal-close" id="conn-modal-close" title="Close">
|
|
802
|
-
<svg width="14" height="14" viewBox="0 0 24 24" fill="none">
|
|
803
|
-
<path
|
|
804
|
-
d="M18 6L6 18M6 6l12 12"
|
|
805
|
-
stroke="currentColor"
|
|
806
|
-
stroke-width="2"
|
|
807
|
-
stroke-linecap="round"
|
|
808
|
-
/>
|
|
809
|
-
</svg>
|
|
810
|
-
</button>
|
|
811
|
-
</div>
|
|
812
|
-
<div class="conn-modal-body" id="conn-modal-body"></div>
|
|
813
|
-
<div class="conn-modal-footer" id="conn-modal-footer">
|
|
814
|
-
<button class="conn-modal-docs" id="conn-modal-docs" type="button">
|
|
815
|
-
<svg width="12" height="12" viewBox="0 0 24 24" fill="none">
|
|
816
|
-
<path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20" stroke="currentColor" stroke-width="2" />
|
|
817
|
-
<path
|
|
818
|
-
d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"
|
|
819
|
-
stroke="currentColor"
|
|
820
|
-
stroke-width="2"
|
|
821
|
-
/>
|
|
822
|
-
</svg>
|
|
823
|
-
View Documentation
|
|
824
|
-
</button>
|
|
825
|
-
</div>
|
|
826
|
-
</div>
|
|
827
|
-
</div>
|
|
828
|
-
|
|
829
|
-
<!-- ── Docs Viewer Modal (scrollable markdown viewer) ─────────────────── -->
|
|
830
|
-
<div class="docs-viewer-overlay" id="docs-viewer-overlay" aria-hidden="true">
|
|
831
|
-
<div class="docs-viewer" id="docs-viewer" role="dialog" aria-modal="true">
|
|
832
|
-
<div class="docs-viewer-header">
|
|
833
|
-
<div class="docs-viewer-title" id="docs-viewer-title">Documentation</div>
|
|
834
|
-
<button class="docs-viewer-close" id="docs-viewer-close" title="Close" type="button">
|
|
835
|
-
<svg width="16" height="16" viewBox="0 0 24 24" fill="none">
|
|
836
|
-
<path
|
|
837
|
-
d="M18 6L6 18M6 6l12 12"
|
|
838
|
-
stroke="currentColor"
|
|
839
|
-
stroke-width="2"
|
|
840
|
-
stroke-linecap="round"
|
|
841
|
-
/>
|
|
842
|
-
</svg>
|
|
843
|
-
</button>
|
|
844
|
-
</div>
|
|
845
|
-
<div class="docs-viewer-body" id="docs-viewer-body">
|
|
846
|
-
<p class="docs-viewer-loading">Loading documentation…</p>
|
|
847
|
-
</div>
|
|
848
|
-
</div>
|
|
849
|
-
</div>
|
|
850
|
-
|
|
851
|
-
<!-- ── Subagent Spawn Modal ──────────────────────────────────────────── -->
|
|
852
|
-
<div class="subagent-modal-overlay" id="subagent-modal-overlay" aria-hidden="true">
|
|
853
|
-
<div class="subagent-modal" id="subagent-modal">
|
|
854
|
-
<div class="subagent-modal-header">
|
|
855
|
-
<div class="subagent-modal-icon">
|
|
856
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
857
|
-
<circle cx="12" cy="12" r="3" />
|
|
858
|
-
<path
|
|
859
|
-
d="M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83"
|
|
860
|
-
/>
|
|
861
|
-
</svg>
|
|
862
|
-
</div>
|
|
863
|
-
<div class="subagent-modal-title">Spawn Subagent</div>
|
|
864
|
-
<button class="subagent-modal-close" id="subagent-modal-close" title="Close">
|
|
865
|
-
<svg width="14" height="14" viewBox="0 0 24 24" fill="none">
|
|
866
|
-
<path
|
|
867
|
-
d="M18 6L6 18M6 6l12 12"
|
|
868
|
-
stroke="currentColor"
|
|
869
|
-
stroke-width="2"
|
|
870
|
-
stroke-linecap="round"
|
|
871
|
-
/>
|
|
872
|
-
</svg>
|
|
873
|
-
</button>
|
|
874
|
-
</div>
|
|
875
|
-
<div class="subagent-modal-body">
|
|
876
|
-
<div class="subagent-form-group">
|
|
877
|
-
<label class="subagent-form-label" for="subagent-task">Task</label>
|
|
878
|
-
<textarea
|
|
879
|
-
class="subagent-form-textarea"
|
|
880
|
-
id="subagent-task"
|
|
881
|
-
placeholder="Describe the task for the subagent..."
|
|
882
|
-
rows="3"
|
|
883
|
-
></textarea>
|
|
884
|
-
</div>
|
|
885
|
-
<div class="subagent-form-group">
|
|
886
|
-
<label class="subagent-form-label" for="subagent-label">Label (optional)</label>
|
|
887
|
-
<input
|
|
888
|
-
type="text"
|
|
889
|
-
class="subagent-form-input"
|
|
890
|
-
id="subagent-label"
|
|
891
|
-
placeholder="e.g. Research Agent, Code Review..."
|
|
892
|
-
/>
|
|
893
|
-
</div>
|
|
894
|
-
<div class="subagent-form-row">
|
|
895
|
-
<div class="subagent-form-group">
|
|
896
|
-
<label class="subagent-form-label" for="subagent-model">Model</label>
|
|
897
|
-
<select class="subagent-form-select" id="subagent-model">
|
|
898
|
-
<option value="">Default</option>
|
|
899
|
-
<option value="anthropic/claude-sonnet-4-6">Claude Sonnet 4.6</option>
|
|
900
|
-
<option value="ollama/gemma4:31b-128k">Gemma 4 31B 128K</option>
|
|
901
|
-
<option value="ollama/qwen2.5:32b">Qwen 2.5 32B</option>
|
|
902
|
-
</select>
|
|
903
|
-
</div>
|
|
904
|
-
<div class="subagent-form-group">
|
|
905
|
-
<label class="subagent-form-label" for="subagent-thinking">Thinking</label>
|
|
906
|
-
<select class="subagent-form-select" id="subagent-thinking">
|
|
907
|
-
<option value="">Default</option>
|
|
908
|
-
<option value="off">Off</option>
|
|
909
|
-
<option value="low">Low</option>
|
|
910
|
-
<option value="medium">Medium</option>
|
|
911
|
-
<option value="high">High</option>
|
|
912
|
-
</select>
|
|
913
|
-
</div>
|
|
914
|
-
</div>
|
|
915
|
-
</div>
|
|
916
|
-
<div class="subagent-modal-footer">
|
|
917
|
-
<button class="subagent-modal-cancel" id="subagent-modal-cancel">Cancel</button>
|
|
918
|
-
<button class="subagent-modal-submit" id="subagent-modal-submit">
|
|
919
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
920
|
-
<path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" />
|
|
921
|
-
</svg>
|
|
922
|
-
Spawn
|
|
923
|
-
</button>
|
|
924
|
-
</div>
|
|
925
|
-
</div>
|
|
926
|
-
</div>
|
|
927
|
-
|
|
928
|
-
<!-- ── Schedule Modal ──────────────────────────────────────────────── -->
|
|
929
|
-
<div class="schedule-modal-overlay" id="schedule-modal-overlay" aria-hidden="true">
|
|
930
|
-
<div class="schedule-modal" id="schedule-modal">
|
|
931
|
-
<div class="schedule-modal-header">
|
|
932
|
-
<div class="schedule-modal-icon">
|
|
933
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
934
|
-
<circle cx="12" cy="12" r="10" />
|
|
935
|
-
<polyline points="12 6 12 12 16 14" />
|
|
936
|
-
</svg>
|
|
937
|
-
</div>
|
|
938
|
-
<div class="schedule-modal-title">Add Schedule</div>
|
|
939
|
-
<button class="schedule-modal-close" id="schedule-modal-close" title="Close">
|
|
940
|
-
<svg width="14" height="14" viewBox="0 0 24 24" fill="none">
|
|
941
|
-
<path
|
|
942
|
-
d="M18 6L6 18M6 6l12 12"
|
|
943
|
-
stroke="currentColor"
|
|
944
|
-
stroke-width="2"
|
|
945
|
-
stroke-linecap="round"
|
|
946
|
-
/>
|
|
947
|
-
</svg>
|
|
948
|
-
</button>
|
|
949
|
-
</div>
|
|
950
|
-
<div class="schedule-modal-body">
|
|
951
|
-
<div class="schedule-form-group">
|
|
952
|
-
<label class="schedule-form-label" for="schedule-name">Name</label>
|
|
953
|
-
<input
|
|
954
|
-
type="text"
|
|
955
|
-
class="schedule-form-input"
|
|
956
|
-
id="schedule-name"
|
|
957
|
-
placeholder="e.g. Daily Report, Weekly Backup..."
|
|
958
|
-
/>
|
|
959
|
-
</div>
|
|
960
|
-
<div class="schedule-form-group">
|
|
961
|
-
<label class="schedule-form-label" for="schedule-task">Task</label>
|
|
962
|
-
<textarea
|
|
963
|
-
class="schedule-form-textarea"
|
|
964
|
-
id="schedule-task"
|
|
965
|
-
placeholder="Describe what should happen on this schedule..."
|
|
966
|
-
rows="3"
|
|
967
|
-
></textarea>
|
|
968
|
-
</div>
|
|
969
|
-
<div class="schedule-form-group">
|
|
970
|
-
<label class="schedule-form-label">Run Every</label>
|
|
971
|
-
<div class="schedule-interval-grid">
|
|
972
|
-
<button type="button" class="schedule-interval-btn" data-interval="hourly">
|
|
973
|
-
<span class="schedule-interval-value">1</span
|
|
974
|
-
><span class="schedule-interval-unit">Hour</span>
|
|
975
|
-
</button>
|
|
976
|
-
<button type="button" class="schedule-interval-btn" data-interval="daily">
|
|
977
|
-
<span class="schedule-interval-value">1</span
|
|
978
|
-
><span class="schedule-interval-unit">Day</span>
|
|
979
|
-
</button>
|
|
980
|
-
<button type="button" class="schedule-interval-btn" data-interval="weekly">
|
|
981
|
-
<span class="schedule-interval-value">1</span
|
|
982
|
-
><span class="schedule-interval-unit">Week</span>
|
|
983
|
-
</button>
|
|
984
|
-
<button type="button" class="schedule-interval-btn" data-interval="custom">
|
|
985
|
-
<span class="schedule-interval-value">...</span
|
|
986
|
-
><span class="schedule-interval-unit">Custom</span>
|
|
987
|
-
</button>
|
|
988
|
-
</div>
|
|
989
|
-
</div>
|
|
990
|
-
<div class="schedule-custom-options" id="schedule-custom-options" style="display: none">
|
|
991
|
-
<div class="schedule-form-row">
|
|
992
|
-
<div class="schedule-form-group">
|
|
993
|
-
<label class="schedule-form-label" for="schedule-interval-value">Every</label>
|
|
994
|
-
<input
|
|
995
|
-
type="number"
|
|
996
|
-
class="schedule-form-input"
|
|
997
|
-
id="schedule-interval-value"
|
|
998
|
-
min="1"
|
|
999
|
-
value="1"
|
|
1000
|
-
/>
|
|
1001
|
-
</div>
|
|
1002
|
-
<div class="schedule-form-group">
|
|
1003
|
-
<label class="schedule-form-label" for="schedule-interval-unit">Period</label>
|
|
1004
|
-
<select class="schedule-form-select" id="schedule-interval-unit">
|
|
1005
|
-
<option value="minutes">Minutes</option>
|
|
1006
|
-
<option value="hours">Hours</option>
|
|
1007
|
-
<option value="days" selected>Days</option>
|
|
1008
|
-
<option value="weeks">Weeks</option>
|
|
1009
|
-
</select>
|
|
1010
|
-
</div>
|
|
1011
|
-
</div>
|
|
1012
|
-
</div>
|
|
1013
|
-
</div>
|
|
1014
|
-
<div class="schedule-modal-footer">
|
|
1015
|
-
<button class="schedule-modal-cancel" id="schedule-modal-cancel">Cancel</button>
|
|
1016
|
-
<button class="schedule-modal-submit" id="schedule-modal-submit">
|
|
1017
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
1018
|
-
<circle cx="12" cy="12" r="10" />
|
|
1019
|
-
<polyline points="12 6 12 12 16 14" />
|
|
1020
|
-
</svg>
|
|
1021
|
-
Schedule
|
|
1022
|
-
</button>
|
|
1023
|
-
</div>
|
|
1024
|
-
</div>
|
|
1025
|
-
</div>
|
|
1026
|
-
|
|
1027
|
-
<script src="/vendor/marked.min.js"></script>
|
|
1028
|
-
<script src="/vendor/highlight.min.js"></script>
|
|
1029
|
-
<script src="js/metrics.js"></script>
|
|
1030
|
-
<script src="js/gateway.js"></script>
|
|
1031
|
-
<script src="js/render.js"></script>
|
|
1032
|
-
<script src="js/app.js"></script>
|
|
1033
|
-
<script src="js/settings.js"></script>
|
|
1034
|
-
<script src="js/menu.js"></script>
|
|
1035
|
-
<script src="js/history.js"></script>
|
|
1036
|
-
<script src="js/connections.js"></script>
|
|
1037
|
-
<script src="js/subagents.js"></script>
|
|
1038
|
-
<script src="js/scheduling.js"></script>
|
|
1039
|
-
<script src="js/models.js"></script>
|
|
1040
|
-
<script src="js/slash-autocomplete.js"></script>
|
|
1041
|
-
</body>
|
|
1042
|
-
</html>
|