@symerian/symi 2.2.8 → 2.3.1
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/{accounts-tNElYrCH.js → accounts-CI6zQTJj.js} +14 -14
- package/dist/{accounts-qtxJ-6em.js → accounts-CJR8j_Kq.js} +1 -1
- package/dist/{accounts-CWktKM8a.js → accounts-ChTFYj8Q.js} +1 -1
- package/dist/{acp-cli-C39L0DlT.js → acp-cli-Cu4icbJT.js} +2 -2
- package/dist/{acp-cli-C3PXowAr.js → acp-cli-NJzARaHq.js} +2 -2
- package/dist/{active-listener-C9r8ZB9m.js → active-listener-D6sXIjAg.js} +1 -1
- package/dist/{agent-scope-BxoUQqgM.js → agent-scope-Bw1Ed8W9.js} +3 -3
- package/dist/{agents-DbnUoR_W.js → agents-DzuttgJU.js} +7 -7
- package/dist/{agents.config-qyBeLoW5.js → agents.config-2HlZJsR3.js} +1 -1
- package/dist/{agents.config-D4WnZfkE.js → agents.config-CSucty2T.js} +1 -1
- package/dist/{audio-preflight-Cv9Z1hfd.js → audio-preflight-BsfqyC31.js} +29 -29
- package/dist/{audio-preflight-BsS_1f9-.js → audio-preflight-C40mKAp7.js} +5 -5
- package/dist/{audio-preflight-D6xo_ucC.js → audio-preflight-CWnxkaac.js} +11 -11
- package/dist/{audio-preflight-Dx82ytdb.js → audio-preflight-xSDULLAj.js} +11 -11
- package/dist/{audit-F6tyY79q.js → audit-Byo5jCLN.js} +5 -5
- package/dist/{audit-CbxXbquQ.js → audit-CrITRV6w.js} +5 -5
- package/dist/{auth-choice-DYxn5otk.js → auth-choice-ChrEc3cZ.js} +4 -4
- package/dist/{auth-choice-TbOBqNzh.js → auth-choice-Cve09z1a.js} +4 -4
- package/dist/{banner-BGxrGU83.js → banner-BoLflN_R.js} +1 -1
- package/dist/{bindings-B7Ke6LJi.js → bindings-BU2hsBd9.js} +2 -2
- package/dist/{browser-cli-BsdB0_5b.js → browser-cli-BG4qPxpM.js} +3 -3
- package/dist/{browser-cli-CTQX5_tu.js → browser-cli-CPcnnsJJ.js} +3 -3
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +53 -53
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +53 -53
- package/dist/{call-C7OJzLEL.js → call-BcE47FtD.js} +1 -1
- package/dist/{call-BOIceRVF.js → call-CJaS1iRF.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity-CsM_hJ_s.js → channel-activity-C9-gaquj.js} +1 -1
- package/dist/{channel-options-qDtKomWq.js → channel-options-Dkd1WQZx.js} +1 -1
- package/dist/{channel-options-8st4ZPAV.js → channel-options-DqgeO1f6.js} +1 -1
- package/dist/{channel-web-DQusem-l.js → channel-web-CJvDQ5Ea.js} +7 -7
- package/dist/{channels-cli-DZ9QSHcp.js → channels-cli-D0jjOLRb.js} +29 -29
- package/dist/{channels-cli-BfrCgEUI.js → channels-cli-DtqwJZWy.js} +30 -30
- package/dist/{chrome-Bf5N4gMh.js → chrome-CDJYxX5a.js} +8 -8
- package/dist/{chrome-CCN6Uf1O.js → chrome-Dq0bSDVx.js} +1 -1
- package/dist/{chrome-BtuJAYB6.js → chrome-DtPkPq9T.js} +1 -1
- package/dist/{chrome-CQNK4Of4.js → chrome-w3SLcQJF.js} +13 -13
- package/dist/{chunk-BW5f05BR.js → chunk-ClbN9Pqy.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-isTrIFLa.js → cli-CEtg8kql.js} +26 -26
- package/dist/{cli-D484UoYM.js → cli-CHOmeum9.js} +25 -25
- package/dist/{command-format-BaxDnULz.js → command-format-UKHV-j0K.js} +1 -1
- package/dist/{command-registry-D4kcHIMn.js → command-registry-Ba2z3dYq.js} +11 -11
- package/dist/{commands-registry-D7CTCQPm.js → commands-registry-VSmULp-g.js} +4 -4
- package/dist/{completion-cli-CtOpZu6z.js → completion-cli-BgX3MWVU.js} +1 -1
- package/dist/{completion-cli-1m5OvbnB.js → completion-cli-CD-306wt.js} +2 -2
- package/dist/{config-Btm9gODl.js → config-BmV60pPT.js} +28 -0
- package/dist/{config-CkPct-ND.js → config-CHwyw6l5.js} +28 -0
- package/dist/{config-CJigbfdK.js → config-DHBLS1Hl.js} +28 -0
- package/dist/{config-cli-BlpcRRjX.js → config-cli-Cz87-TYh.js} +2 -2
- package/dist/{config-cli-BVbYrdKA.js → config-cli-DAbXVRUL.js} +2 -2
- package/dist/{config-CT6a99bQ.js → config-eEaJddXj.js} +40 -12
- package/dist/{config-guard-Q2nmK4Xy.js → config-guard-BflmO0t7.js} +3 -3
- package/dist/{config-guard-Fe8ddF5U.js → config-guard-CPHvOzsC.js} +2 -2
- package/dist/{config-validation-CqVVl--v.js → config-validation-BITwrsxY.js} +1 -1
- package/dist/{config-validation-DXA9-y5q.js → config-validation-CmimHAES.js} +1 -1
- package/dist/{configure-D4WT6m8B.js → configure-0nrthdSf.js} +10 -10
- package/dist/{configure-C-o6fkN4.js → configure-D45ne4lm.js} +10 -10
- package/dist/{control-service-DWy5T1wZ.js → control-service-Bz7rxLWq.js} +4 -4
- package/dist/{control-service-D2-SfYYP.js → control-service-DEVN6FRR.js} +4 -4
- package/dist/control-ui/css/style.css +1437 -548
- package/dist/control-ui/index.html +912 -652
- package/dist/control-ui/js/app.js +82 -6
- package/dist/control-ui/js/debug.js +55 -0
- package/dist/control-ui/js/gateway.js +11 -0
- package/dist/control-ui/js/models.js +16 -1
- package/dist/control-ui/js/render.js +74 -1
- package/dist/control-ui/js/render.test.js +36 -35
- package/dist/control-ui/js/utils.js +6 -6
- package/dist/{cron-cli-DCjmF5-B.js → cron-cli-BP24xl6n.js} +3 -3
- package/dist/{cron-cli-BXgHvojs.js → cron-cli-DBIlCvp3.js} +3 -3
- package/dist/{daemon-cli-D-Ceof_K.js → daemon-cli-DscwlsKW.js} +6 -6
- package/dist/{daemon-cli-2Xzn9zI0.js → daemon-cli-wWnBIQtk.js} +6 -6
- package/dist/daemon-cli.js +28 -0
- package/dist/{daemon-runtime-DpFImSwP.js → daemon-runtime-2mwX-jqj.js} +1 -1
- package/dist/{daemon-runtime-Co0_hiZm.js → daemon-runtime-CfRwa6qh.js} +1 -1
- package/dist/{deliver-CBVqE05W.js → deliver-BH0l3UKW.js} +2 -2
- package/dist/{deliver-CeOnWRNZ.js → deliver-BmPK91JP.js} +20 -20
- package/dist/{deliver-PKvGnPCv.js → deliver-CXRSdUr1.js} +3 -3
- package/dist/{deliver-CuDHWgo8.js → deliver-CceEhg3d.js} +3 -3
- package/dist/{devices-cli-Sgz97CCh.js → devices-cli-BHiPx2c2.js} +2 -2
- package/dist/{devices-cli-gzdkKCIr.js → devices-cli-Dds-25Ve.js} +2 -2
- package/dist/{diagnostic-CI0kRQkt.js → diagnostic-C3nsWaw3.js} +1 -1
- package/dist/{directory-cli-B7qWiEB9.js → directory-cli-CpUByQew.js} +1 -1
- package/dist/{directory-cli-B3reyWxB.js → directory-cli-D6vlxPje.js} +1 -1
- package/dist/{dns-cli-w2PtF7dQ.js → dns-cli-BEub5qgQ.js} +1 -1
- package/dist/{dns-cli-CAyakH9y.js → dns-cli-Beyzdh3S.js} +1 -1
- package/dist/{doctor-completion-CU32z26S.js → doctor-completion-CcDVOtZ5.js} +1 -1
- package/dist/{doctor-completion-rtRPARP8.js → doctor-completion-CmGtqUHQ.js} +1 -1
- package/dist/{doctor-config-flow-Bvd_Aoem.js → doctor-config-flow-CA3eiKhd.js} +2 -2
- package/dist/{doctor-config-flow-q1cK5vqE.js → doctor-config-flow-QnaBd8kL.js} +2 -2
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-BGR981x_.js → exec-approvals-cli--zyXYrNY.js} +4 -4
- package/dist/{exec-approvals-cli-qL61CX5W.js → exec-approvals-cli-BliRl8VB.js} +4 -4
- package/dist/extensionAPI.js +13 -13
- package/dist/{frontmatter-C_bv_0P8.js → frontmatter-DPlG6yha.js} +2 -2
- package/dist/{gateway-cli-dxsgPoqI.js → gateway-cli-BVN31fwu.js} +135 -45
- package/dist/{gateway-cli-D9tJexeo.js → gateway-cli-DajX3Pye.js} +134 -44
- package/dist/{gateway-rpc-o-EndnYx.js → gateway-rpc-BxkKeCZ0.js} +1 -1
- package/dist/{gateway-rpc-DjjmZ7bN.js → gateway-rpc-DfZSz5JF.js} +1 -1
- package/dist/{gemini-auth-CdSPHuLl.js → gemini-auth-CF48hUR9.js} +1 -1
- package/dist/{github-copilot-token-C_qUP7p5.js → github-copilot-token-DJqsJ2-r.js} +7 -7
- package/dist/{glass-ui-ws-BvSaDLuk.js → glass-ui-ws-CQG6acJl.js} +34 -34
- package/dist/{glass-ui-ws-BxliIaQO.js → glass-ui-ws-Z1IOT6Vc.js} +33 -33
- package/dist/{health-BpVkd1NR.js → health-D9eQW7fJ.js} +5 -5
- package/dist/{health-6atzBDlL.js → health-f056vLGT.js} +5 -5
- package/dist/{hooks-cli-BdV4KLxW.js → hooks-cli-CW-IRS72.js} +27 -27
- package/dist/{hooks-cli-A0zhogYG.js → hooks-cli-hJ4euq2R.js} +26 -26
- package/dist/{image-Crdjqg8r.js → image-CHzdaNJ4.js} +2 -2
- package/dist/{image-CAI2RIyk.js → image-CO4meYzg.js} +2 -2
- package/dist/{image-Bf75JOg6.js → image-D9uvDTrc.js} +2 -2
- package/dist/{image-ops-CvJzsyvE.js → image-ops-S8-8dAhx.js} +1 -1
- package/dist/{image-CAUuNGNO.js → image-rZ4x9VS9.js} +4 -4
- package/dist/index.js +34 -34
- package/dist/{ir-DccrnjsE.js → ir-CbFUkv_T.js} +4 -4
- package/dist/{lifecycle-core-S8m0j4NY.js → lifecycle-core-D6LYXpFj.js} +2 -2
- package/dist/{lifecycle-core-D7Ye5Yes.js → lifecycle-core-DIBHfMOL.js} +2 -2
- package/dist/llm-slug-generator.js +53 -53
- package/dist/{local-roots-DMwIh5cS.js → local-roots-C7OCYACU.js} +5 -5
- package/dist/{login-Bw5pRDS9.js → login-B8uiUAnV.js} +7 -7
- package/dist/{login-Cy0xKkFK.js → login-XprgoYoQ.js} +2 -2
- package/dist/{login-CLDr2P2d.js → login-dIlDkG4X.js} +2 -2
- package/dist/{login-qr-UgF5nhwc.js → login-qr-CIZk8uKX.js} +12 -12
- package/dist/{login-qr-B1vLxxOr.js → login-qr-CUErSLXH.js} +2 -2
- package/dist/{login-qr-x-m9V4_i.js → login-qr-CqPpNO1y.js} +2 -2
- package/dist/{login-qr-CJ3r_moH.js → login-qr-pbXdFORv.js} +2 -2
- package/dist/{login-CrnzK7Rc.js → login-tFW8qUTU.js} +2 -2
- package/dist/{logs-cli-DJIwkEZN.js → logs-cli-Du8FCgKK.js} +3 -3
- package/dist/{logs-cli-DoSU6ypE.js → logs-cli-xOzIPrHm.js} +3 -3
- package/dist/{manager-D_LwXbc6.js → manager-BoLr3xR_.js} +13 -13
- package/dist/{manifest-registry-D0IQ3WuX.js → manifest-registry-CneMHk0N.js} +19 -19
- package/dist/{markdown-tables-iMQQZu4Q.js → markdown-tables-DSHvnTLx.js} +1 -1
- package/dist/{memory-cli-B1eBVFD2.js → memory-cli-C2SWDd8g.js} +1 -1
- package/dist/{memory-cli-DKU7WTEa.js → memory-cli-Ca5r9AUb.js} +1 -1
- package/dist/{message-channel-Dz5lr5b0.js → message-channel-DbsRltF2.js} +1 -1
- package/dist/{model-auth-DK43VicI.js → model-auth-CwOuTuXl.js} +9 -9
- package/dist/{model-catalog-D2Q4fkGC.js → model-catalog-CqCsARJX.js} +2 -2
- package/dist/{model-catalog-67tJywj6.js → model-catalog-DvBJ8pMD.js} +3 -3
- package/dist/{model-picker-Cv_lMtfR.js → model-picker-D5nCutGW.js} +2 -2
- package/dist/{model-picker-C5-xr7Au.js → model-picker-Ddo3jHe-.js} +2 -2
- package/dist/{models-cli-BIM5pEpQ.js → models-cli-B2ticsCM.js} +29 -29
- package/dist/{models-cli-DlUDMBlo.js → models-cli-D9bG44Ao.js} +29 -29
- package/dist/{models-config--wR0kLo6.js → models-config-CCMpqFyr.js} +1 -1
- package/dist/{models-config-CZKT8W0M.js → models-config-qyOXrOli.js} +1 -1
- package/dist/{models-CBEZc-xT.js → models-nO_t1uzp.js} +8 -8
- package/dist/{node-cli-D8nG9EDD.js → node-cli-C_G-Q3h-.js} +9 -9
- package/dist/{node-cli-DGmvLskU.js → node-cli-DSEhcjUV.js} +9 -9
- package/dist/{nodes-cli-B058F0sZ.js → nodes-cli-BIPA9B8G.js} +3 -3
- package/dist/{nodes-cli-BZ5aitST.js → nodes-cli-BcnuJajV.js} +3 -3
- package/dist/{onboard-BXp3rpw1.js → onboard-BDbpfrZj.js} +7 -7
- package/dist/{onboard-DXEF3bw2.js → onboard-BtZ9WqhJ.js} +7 -7
- package/dist/{onboard-channels-OKIylMMu.js → onboard-channels-CHE8nfNA.js} +1 -1
- package/dist/{onboard-channels-qLCTzt3v.js → onboard-channels-HubyUVjT.js} +1 -1
- package/dist/{onboard-custom-BiDvzYz-.js → onboard-custom-C7O-zfQ1.js} +2 -2
- package/dist/{onboard-custom-Bcifi3N2.js → onboard-custom-DdWPfzJO.js} +2 -2
- package/dist/{onboard-helpers-DHgVt6rY.js → onboard-helpers-ZmZYzlq3.js} +2 -2
- package/dist/{onboard-helpers-Cammg0Xb.js → onboard-helpers-_pit1NZW.js} +2 -2
- package/dist/{onboard-remote-BnOKv_rG.js → onboard-remote-R1g6st9i.js} +1 -1
- package/dist/{onboard-remote-CPI1Dsgo.js → onboard-remote-zUjD7UtM.js} +1 -1
- package/dist/{onboard-skills-5R6rRZiZ.js → onboard-skills-BB0YhUmF.js} +1 -1
- package/dist/{onboard-skills-LkCNrrQL.js → onboard-skills-ByO_wSN5.js} +1 -1
- package/dist/{onboarding-HJJedJ3u.js → onboarding-DtP0sps0.js} +10 -10
- package/dist/{onboarding-m_e9LePg.js → onboarding-eVb5gvwo.js} +10 -10
- package/dist/{onboarding.finalize-CbjQ-91D.js → onboarding.finalize-CetxPTxL.js} +31 -31
- package/dist/{onboarding.finalize-CGVAc5-e.js → onboarding.finalize-D8035U2E.js} +33 -33
- package/dist/{onboarding.gateway-config-BOUh5scQ.js → onboarding.gateway-config-BQFO9a_h.js} +4 -4
- package/dist/{onboarding.gateway-config-xF_Hfx5r.js → onboarding.gateway-config-CJUgDC6Y.js} +4 -4
- package/dist/{outbound-DzTvHYT8.js → outbound-3MZ12YrQ.js} +1 -1
- package/dist/{outbound-DHZ4Sktx.js → outbound-DB5Zus0-.js} +1 -1
- package/dist/{outbound-attachment-DjNDa3zn.js → outbound-attachment-Co2diKdP.js} +2 -2
- package/dist/{outbound-DeJ-MyLv.js → outbound-drXCcH8D.js} +1 -1
- package/dist/{outbound-GuMlcXXN.js → outbound-opDNxv-l.js} +7 -7
- package/dist/{pairing-cli-BunHc86C.js → pairing-cli-CBLfGvqW.js} +1 -1
- package/dist/{pairing-cli-DNAQqsxT.js → pairing-cli-CQRAnpvm.js} +1 -1
- package/dist/{paths-DLyHUt31.js → paths-Cb87-LzP.js} +1 -1
- package/dist/{paths-Cce4PUkG.js → paths-CySxpNhH.js} +5 -5
- package/dist/{pi-auth-json-0SYBFZTt.js → pi-auth-json-DPWPoruO.js} +8 -8
- package/dist/{pi-auth-json-C3yexKNU.js → pi-auth-json-DayrlDg_.js} +1 -1
- package/dist/{pi-embedded-Cd7Gd0Am.js → pi-embedded-BY-dBus2.js} +250 -39
- package/dist/{pi-embedded-C4Cb6hc3.js → pi-embedded-Dc3muKtS.js} +374 -163
- package/dist/{pi-embedded-helpers-B86ZS0eB.js → pi-embedded-helpers-B2z46qeM.js} +52 -52
- package/dist/{pi-embedded-helpers-UsrsQKwr.js → pi-embedded-helpers-CNPyv_ax.js} +1 -1
- package/dist/{pi-embedded-helpers-B2k8Fh9T.js → pi-embedded-helpers-DE9h5GAu.js} +1 -1
- package/dist/{pi-embedded-helpers-xjO9noTy.js → pi-embedded-helpers-lgx_U5KS.js} +5 -5
- package/dist/{pi-tools.policy-DKHZCIA2.js → pi-tools.policy-CIDBbw6x.js} +2 -2
- package/dist/{pi-tools.policy-CwzwRugl.js → pi-tools.policy-De00gPXt.js} +2 -2
- package/dist/{plugin-registry-DOEhQFQJ.js → plugin-registry-CuoX8mar.js} +2 -2
- package/dist/{plugin-registry-D0iAVBbj.js → plugin-registry-fxcvycGr.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-B8X7BvQ5.js → audio-preflight-DoQQKlxa.js} +5 -5
- package/dist/plugin-sdk/{channel-web-B92UQWLf.js → channel-web-CV1KLtZh.js} +7 -7
- package/dist/plugin-sdk/{chrome-DxJPopF7.js → chrome-C7c_0I5M.js} +1 -1
- package/dist/plugin-sdk/config/model-profiles-builtin.d.ts +9 -0
- package/dist/plugin-sdk/config/model-profiles.d.ts +56 -0
- package/dist/plugin-sdk/config/resolve-model-profile.d.ts +15 -0
- package/dist/plugin-sdk/config/types.models.d.ts +28 -0
- package/dist/plugin-sdk/config/zod-schema.core.d.ts +54 -0
- package/dist/plugin-sdk/config/zod-schema.d.ts +27 -0
- package/dist/plugin-sdk/{config-B0SemGqU.js → config-DDkdiUOR.js} +28 -0
- package/dist/plugin-sdk/{deliver-C51eaClJ.js → deliver-BUns_L9e.js} +2 -2
- package/dist/plugin-sdk/{image-VGrV0d09.js → image-BOYy0Ump.js} +2 -2
- package/dist/plugin-sdk/index.js +17 -17
- package/dist/plugin-sdk/{login-CG8p5_rW.js → login-Bh3DZPam.js} +2 -2
- package/dist/plugin-sdk/{login-qr-buvA9Dp8.js → login-qr-DbR7odSr.js} +2 -2
- package/dist/plugin-sdk/{outbound-LqNDFLO5.js → outbound-rF6G8Xpr.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-IkpqVZZa.js → pi-embedded-helpers-BveUP4hk.js} +5 -5
- package/dist/plugin-sdk/{pw-ai-CjPImm6b.js → pw-ai-DjGUsee-.js} +2 -2
- package/dist/plugin-sdk/{replies-BLMuwbVf.js → replies-fI39rPGa.js} +1 -1
- package/dist/plugin-sdk/{reply-BS99Apig.js → reply-C4mijdMZ.js} +246 -35
- package/dist/plugin-sdk/{runner-pmvwohi9.js → runner-BVqnEfNe.js} +2 -2
- package/dist/plugin-sdk/{send-D8Zs62CE.js → send-BHbXh8Ly.js} +1 -1
- package/dist/plugin-sdk/{send-DOXV-BQw.js → send-BMfJIhCk.js} +1 -1
- package/dist/plugin-sdk/{send-BinD92v_.js → send-BtANzsAo.js} +1 -1
- package/dist/plugin-sdk/{send-cUp3Bf9t.js → send-Bxdu6ZZy.js} +1 -1
- package/dist/plugin-sdk/{send-BOrHNGsc.js → send-D6LMZJ_h.js} +1 -1
- package/dist/plugin-sdk/{session-B0bWB4Wf.js → session-kI0tzViQ.js} +1 -1
- package/dist/plugin-sdk/{web-CF79DBe3.js → web-B17UUsjm.js} +17 -17
- package/dist/plugin-sdk/{whatsapp-actions-Bp33E4JW.js → whatsapp-actions-CcBzDuL-.js} +2 -2
- package/dist/{plugins-DQYI3Fr-.js → plugins-C4C9637U.js} +9 -9
- package/dist/{plugins-cli-6nKHKPj8.js → plugins-cli-4OqSGHp-.js} +26 -26
- package/dist/{plugins-cli-DU06_0f6.js → plugins-cli-BbE_Qnlk.js} +27 -27
- package/dist/{program-D1icw1T9.js → program-DkXOdfM2.js} +33 -33
- package/dist/{program-context-Bqybavvo.js → program-context-0bDxGpMx.js} +38 -38
- package/dist/{prompt-select-styled-DptZ40df.js → prompt-select-styled-DJkRn30j.js} +14 -14
- package/dist/{prompt-select-styled-Cj3jTVJJ.js → prompt-select-styled-_6KbTFXs.js} +14 -14
- package/dist/{provider-auth-helpers-CDnMFdFw.js → provider-auth-helpers-Bnkj4QXS.js} +2 -2
- package/dist/{provider-auth-helpers-BVSJctmE.js → provider-auth-helpers-BpVAdwK_.js} +2 -2
- package/dist/{push-apns-DtKC_-eP.js → push-apns-C0wMP1XU.js} +1 -1
- package/dist/{push-apns-CpUJIlI7.js → push-apns-EKnCwrqK.js} +1 -1
- package/dist/{pw-ai-DgDn1s1W.js → pw-ai-CbyO1fbh.js} +2 -2
- package/dist/{pw-ai-C2hGnRfL.js → pw-ai-De-KR9_s.js} +2 -2
- package/dist/{pw-ai-CsvxsEwI.js → pw-ai-DqL87js3.js} +2 -2
- package/dist/{pw-ai-BcniFyZm.js → pw-ai-PiQUncix.js} +11 -11
- package/dist/{qmd-manager-QHUP-_em.js → qmd-manager-DdZh9PHs.js} +7 -7
- package/dist/{qr-cli-Deyb-bdE.js → qr-cli-jd9LdZpq.js} +1 -1
- package/dist/{qr-cli-DvDQ233a.js → qr-cli-mgnfD5ce.js} +1 -1
- package/dist/{register.agent-DesQbi0N.js → register.agent-B0S1CJEx.js} +32 -32
- package/dist/{register.agent-DszKb7kT.js → register.agent-B48Vf_DK.js} +34 -34
- package/dist/{register.configure-CPZ2pkCL.js → register.configure-Drr3E9OG.js} +36 -36
- package/dist/{register.configure-CiHbtNBW.js → register.configure-Wyv7vb24.js} +37 -37
- package/dist/{register.maintenance-BBjwt-34.js → register.maintenance-Cmf17EW0.js} +34 -34
- package/dist/{register.maintenance-hUQ3a2-X.js → register.maintenance-TgjAQ4E0.js} +36 -36
- package/dist/{register.message-BZ_faykn.js → register.message-BcsPnPvW.js} +26 -26
- package/dist/{register.message-BJG43ey1.js → register.message-Dwv2puIB.js} +27 -27
- package/dist/{register.onboard-CtDGWgek.js → register.onboard-BDGaSyq2.js} +32 -32
- package/dist/{register.onboard-BuvppItf.js → register.onboard-C8w7_w93.js} +33 -33
- package/dist/{register.setup-09FZm-3U.js → register.setup-CMGSNKXS.js} +33 -33
- package/dist/{register.setup-CK_rXwht.js → register.setup-CiEuZOlI.js} +32 -32
- package/dist/{register.status-health-sessions-CYBXZfzw.js → register.status-health-sessions-C8p0uINc.js} +29 -29
- package/dist/{register.status-health-sessions-Dq1GhVZd.js → register.status-health-sessions-zKjmZyOs.js} +31 -31
- package/dist/{register.subclis-oaqsIg7c.js → register.subclis-CofZE_pt.js} +28 -28
- package/dist/{registry-CK4e9hn8.js → registry-DP24za6g.js} +17 -17
- package/dist/{replies-CVeSBasT.js → replies-DO80zq73.js} +1 -1
- package/dist/{replies-9jiCJtyj.js → replies-DpPvWiGF.js} +3 -3
- package/dist/{replies-Dfqu9AXG.js → replies-ZYtI9jr0.js} +1 -1
- package/dist/{replies-ByiY6ZyB.js → replies-vgss3_QA.js} +1 -1
- package/dist/{reply-BnAPNcvn.js → reply-SBi_U7P7.js} +258 -47
- package/dist/{reply-prefix-XlyuyChD.js → reply-prefix-CtL0omgM.js} +1 -1
- package/dist/{resolve-route-CZ-1eqw0.js → resolve-route-BVikmvWO.js} +4 -4
- package/dist/{retry-Cly39XZB.js → retry-dGG-MbxL.js} +1 -1
- package/dist/{routes-br_73dY_.js → routes-BFw2-yAN.js} +3 -3
- package/dist/{routes-BZCzIvY1.js → routes-Ba9CUQ8M.js} +3 -3
- package/dist/{rpc-CbirYKS1.js → rpc-BfhojW8g.js} +1 -1
- package/dist/{rpc-BsIk35AA.js → rpc-BjLadgzu.js} +1 -1
- package/dist/{run-main-g9-g4T_a.js → run-main-BJaDO3WW.js} +44 -44
- package/dist/{runner-BPcjrrjx.js → runner-BORIO-D3.js} +3 -3
- package/dist/{runner-M7hSmkG1.js → runner-CCSMfQee.js} +9 -9
- package/dist/{runner-Iw-AU75D.js → runner-CUglpiFP.js} +3 -3
- package/dist/{runner-DFFbD4Jj.js → runner-DUBExAb5.js} +2 -2
- package/dist/{sandbox-C9zB9HTn.js → sandbox-BFzSUT19.js} +5 -5
- package/dist/{sandbox-BnivFdOs.js → sandbox-C-T6hOMv.js} +5 -5
- package/dist/{sandbox-cli-6RGP0CNN.js → sandbox-cli-BllVdQzR.js} +6 -6
- package/dist/{sandbox-cli-Dl8IMlpe.js → sandbox-cli-Cj5__-gh.js} +6 -6
- package/dist/{security-cli-BHG6kV1z.js → security-cli-BFLtWWHy.js} +9 -9
- package/dist/{security-cli-CtgTAznE.js → security-cli-Dmb1k47A.js} +9 -9
- package/dist/{send-uxuOCFdA.js → send-BArQpbtx.js} +1 -1
- package/dist/{send-C1DE47RQ.js → send-C1IYd3g7.js} +1 -1
- package/dist/{send-CdxBNofn.js → send-C4Ucr8ep.js} +1 -1
- package/dist/{send-Z6uznj5j.js → send-CHEOWVc8.js} +6 -6
- package/dist/{send-DB2tDd9M.js → send-CPF8hSFp.js} +1 -1
- package/dist/{send-DKvfyTNM.js → send-CR5fRDgW.js} +1 -1
- package/dist/{send-CU_BDzc0.js → send-CXxQ_f7L.js} +1 -1
- package/dist/{send-CkYljROn.js → send-CY8oqBFg.js} +1 -1
- package/dist/{send-Bf-tLRDW.js → send-CZr1hVHY.js} +1 -1
- package/dist/{send-DP6zL1r4.js → send-CukP8Vq4.js} +1 -1
- package/dist/{send-DKB9atcf.js → send-Cutb0ZDY.js} +1 -1
- package/dist/{send-DoiQ-lVY.js → send-D-hWrHoH.js} +1 -1
- package/dist/{send-rirP23D6.js → send-DK_pm_7l.js} +1 -1
- package/dist/{send-Dv5K7btg.js → send-DTTtmhjA.js} +1 -1
- package/dist/{send-DUWSrao-.js → send-DXW6mdgR.js} +1 -1
- package/dist/{send-KhJZHqoK.js → send-DbcLJb0P.js} +7 -7
- package/dist/{send-B2c8xd6F.js → send-DeEosX8F.js} +18 -18
- package/dist/{send-Dp3_Z9LN.js → send-DwKJK3sM.js} +10 -10
- package/dist/{send-Bv3GF77o.js → send-tanEMpHN.js} +1 -1
- package/dist/{send-IjhsR55j.js → send-zSarozV2.js} +6 -6
- package/dist/{server-context-Bn72icrR.js → server-context-CEpFjqSk.js} +5 -5
- package/dist/{server-context-BogDcclm.js → server-context-H24IFajW.js} +5 -5
- package/dist/{server-methods-CYVVBHwG.js → server-methods-Cm6W01ne.js} +15 -15
- package/dist/{server-methods-1TVNg0k5.js → server-methods-CyFB3XQf.js} +16 -16
- package/dist/{server-node-events-CPTRFOMY.js → server-node-events-Bhgt3xLw.js} +26 -26
- package/dist/{server-node-events-Cvqw-9rw.js → server-node-events-CX1plxJz.js} +27 -27
- package/dist/{session-CRf_exZ0.js → session-Ckw7cXeP.js} +1 -1
- package/dist/{session-eZHBxAr-.js → session-DIBTkyvE.js} +1 -1
- package/dist/{session-BvpMfKh-.js → session-DV1MNlbV.js} +8 -8
- package/dist/{session-C4z7523K.js → session-DtMfLMdP.js} +1 -1
- package/dist/{session-utils-D5F7F--L.js → session-utils-Bka9dR4m.js} +3 -3
- package/dist/{sessions-Cb4Hj78H.js → sessions-CJXnZVjR.js} +1 -1
- package/dist/{sessions-B2cR2hug.js → sessions-DgYpBvse.js} +1 -1
- package/dist/{sessions-DHCZbuoQ.js → sessions-WBoXk-Ag.js} +3 -3
- package/dist/{shared-zPQArNFi.js → shared-D8K9MkWg.js} +1 -1
- package/dist/{shared-CxsYh_6Q.js → shared-Knv1hy6h.js} +1 -1
- package/dist/{skill-commands-BJMb_psG.js → skill-commands-D610IKhm.js} +9 -9
- package/dist/{skills-cli-urhcJuu8.js → skills-cli-BZTBLQTt.js} +1 -1
- package/dist/{skills-cli-XmXhTH3z.js → skills-cli-CkTGL9dR.js} +1 -1
- package/dist/{skills-BFekKL7i.js → skills-o5WVqM4V.js} +21 -21
- package/dist/{sqlite-DRbx2dhW.js → sqlite-6H6Zw1cs.js} +4 -4
- package/dist/{status-B7VIwi53.js → status-BBpD_1pG.js} +10 -10
- package/dist/{status-CDpLvmFd.js → status-BdmYV3_x.js} +2 -2
- package/dist/{status-CCrlpUEA.js → status-CwXg8OO1.js} +9 -9
- package/dist/{status-BS3y9HjF.js → status-U_1mE-yc.js} +2 -2
- package/dist/{status.update-D8lzj5TK.js → status.update-DbmZz0Aq.js} +1 -1
- package/dist/{status.update-Cu6R3wwz.js → status.update-DtwCUTf-.js} +1 -1
- package/dist/{store-C0wvOkae.js → store-vVE6N2mH.js} +2 -2
- package/dist/{subagent-registry-BSgPGZxs.js → subagent-registry-Du9P0G2U.js} +259 -48
- package/dist/{subsystem-Bs9YvKLa.js → subsystem-DgpxyDQ_.js} +1 -1
- package/dist/{system-cli-BXvpbG10.js → system-cli-D_EIZpBm.js} +3 -3
- package/dist/{system-cli-CD1cvYkc.js → system-cli-UMsMEurS.js} +3 -3
- package/dist/{systemd-hints-Cn-fd1AF.js → systemd-hints-BR6gChwm.js} +1 -1
- package/dist/{systemd-hints-BMl55p2_.js → systemd-hints-sQipWGd1.js} +1 -1
- package/dist/{tables-DuZspiBu.js → tables-BIWsCKXJ.js} +1 -1
- package/dist/{target-errors-Be1SwYlW.js → target-errors-DyItGyW9.js} +2 -2
- package/dist/{thinking-CdlENGRW.js → thinking-Ni0HF-w6.js} +5 -5
- package/dist/{tokens-H1H1LiSQ.js → tokens-c_SLAkVb.js} +1 -1
- package/dist/{tool-images-DXB7tqWi.js → tool-images-DBCfXdli.js} +2 -2
- package/dist/{tool-loop-detection-Cs8_HCsx.js → tool-loop-detection-Bbc9OPFR.js} +3 -3
- package/dist/{tui-OUhw8eT1.js → tui-BJB80muc.js} +4 -4
- package/dist/{tui-DJefgPwz.js → tui-CriznorL.js} +4 -4
- package/dist/{tui-cli-_ohekmDR.js → tui-cli-C7Q9lK8Q.js} +9 -9
- package/dist/{tui-cli-C-CoSVeQ.js → tui-cli-CSIdfCTR.js} +9 -9
- package/dist/{update-cli-DL3Tb3b0.js → update-cli-DJzF_9UX.js} +37 -37
- package/dist/{update-cli-C8sM6pAA.js → update-cli-_45TJ3hZ.js} +39 -39
- package/dist/{update-runner-ChoWv-od.js → update-runner-8Ac4bJ1w.js} +1 -1
- package/dist/{update-runner-Dm7EwGFW.js → update-runner-BSQFv9b6.js} +1 -1
- package/dist/{web-sQrQA6or.js → web-BZSI7b07.js} +29 -29
- package/dist/{web-0w8t_r2B.js → web-BqRsq6mP.js} +57 -57
- package/dist/{web-UEqiaso9.js → web-C1Zn8_qW.js} +16 -16
- package/dist/{web-VbydcdAk.js → web-w-vV1rCZ.js} +29 -29
- package/dist/{webhooks-cli-B8gdUXw-.js → webhooks-cli-ChiCyIaD.js} +1 -1
- package/dist/{webhooks-cli-DpiLQ_-A.js → webhooks-cli-cD58DWAE.js} +1 -1
- package/dist/{whatsapp-actions-DrReF5st.js → whatsapp-actions-C8nNH4ax.js} +2 -2
- package/dist/{whatsapp-actions-xolxich-.js → whatsapp-actions-DbcsdOH3.js} +2 -2
- package/dist/{whatsapp-actions-D_KIOhRu.js → whatsapp-actions-DvhI5-DC.js} +2 -2
- package/dist/{whatsapp-actions-BVZaCecm.js → whatsapp-actions-oRQjcdQe.js} +23 -23
- package/dist/{with-timeout-vknUanNX.js → with-timeout-Di0nddLY.js} +1 -1
- package/dist/{with-timeout-DIHZxCIl.js → with-timeout-gmK6RciS.js} +1 -1
- package/dist/{workspace-wAaHI8-5.js → workspace-CbvamIU6.js} +6 -6
- package/docs/reference/templates/CONFIG-SCHEMA.md +173 -0
- package/docs/reference/templates/SYMICORE.md +24 -0
- package/package.json +1 -1
|
@@ -1,740 +1,1000 @@
|
|
|
1
|
-
<!
|
|
1
|
+
<!doctype html>
|
|
2
2
|
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
</head>
|
|
10
|
-
<body>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
<div class="orb orb-3"></div>
|
|
17
|
-
</div>
|
|
18
|
-
<div class="bg-grid"></div>
|
|
19
|
-
|
|
20
|
-
<!-- Metrics — Left column -->
|
|
21
|
-
<aside class="metrics-col metrics-left">
|
|
22
|
-
|
|
23
|
-
<!-- Brand Panel -->
|
|
24
|
-
<div class="glass-panel brand-panel">
|
|
25
|
-
<div class="brand-mark">◈</div>
|
|
26
|
-
<div class="brand-text">
|
|
27
|
-
<div class="brand-name">SYMI</div>
|
|
28
|
-
<div class="brand-sub">AI Assistant</div>
|
|
29
|
-
</div>
|
|
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
|
+
<link rel="stylesheet" href="/vendor/highlight.css" />
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<!-- Animated background -->
|
|
12
|
+
<div class="bg-orbs">
|
|
13
|
+
<div class="orb orb-1"></div>
|
|
14
|
+
<div class="orb orb-2"></div>
|
|
15
|
+
<div class="orb orb-3"></div>
|
|
30
16
|
</div>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<
|
|
40
|
-
<
|
|
41
|
-
|
|
42
|
-
<g class="aso-rot aso-rot1">
|
|
43
|
-
<circle class="aso-arc" cx="50" cy="50" r="43" stroke-dasharray="55 215"/>
|
|
44
|
-
</g>
|
|
45
|
-
<g class="aso-rot aso-rot2">
|
|
46
|
-
<circle class="aso-arc aso-arc-dim" cx="50" cy="50" r="43" stroke-dasharray="22 248"/>
|
|
47
|
-
</g>
|
|
48
|
-
<g class="aso-rot aso-rot3">
|
|
49
|
-
<circle class="aso-arc" cx="50" cy="50" r="31" stroke-dasharray="40 155"/>
|
|
50
|
-
</g>
|
|
51
|
-
<g class="aso-rot aso-rot4">
|
|
52
|
-
<circle class="aso-arc aso-arc-dim" cx="50" cy="50" r="31" stroke-dasharray="15 180"/>
|
|
53
|
-
</g>
|
|
54
|
-
<g class="aso-rot aso-rot5">
|
|
55
|
-
<circle class="aso-arc" cx="50" cy="50" r="19" stroke-dasharray="20 99"/>
|
|
56
|
-
</g>
|
|
57
|
-
<!-- Core glow halo -->
|
|
58
|
-
<circle class="aso-core-halo" cx="50" cy="50" r="10"/>
|
|
59
|
-
<!-- Core dot -->
|
|
60
|
-
<circle class="aso-core" cx="50" cy="50" r="5.5"/>
|
|
61
|
-
</svg>
|
|
62
|
-
</div>
|
|
63
|
-
<div class="aso-label" id="aso-label">STANDBY</div>
|
|
64
|
-
<div class="aso-sub" id="aso-sub">Awaiting your prompt</div>
|
|
65
|
-
<div class="aso-working" id="aso-working">
|
|
66
|
-
<span class="aso-working-asterisk">✳</span>
|
|
67
|
-
<span class="aso-working-text">Working</span>
|
|
17
|
+
<div class="bg-grid"></div>
|
|
18
|
+
|
|
19
|
+
<!-- Metrics — Left column -->
|
|
20
|
+
<aside class="metrics-col metrics-left">
|
|
21
|
+
<!-- Brand Panel -->
|
|
22
|
+
<div class="glass-panel brand-panel">
|
|
23
|
+
<div class="brand-mark">◈</div>
|
|
24
|
+
<div class="brand-text">
|
|
25
|
+
<div class="brand-name">SYMI</div>
|
|
26
|
+
<div class="brand-sub">AI Assistant</div>
|
|
27
|
+
</div>
|
|
68
28
|
</div>
|
|
69
|
-
</div>
|
|
70
29
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
30
|
+
<!-- Agent Status Panel — position #1 -->
|
|
31
|
+
<div class="glass-panel agent-status-panel" id="agent-status-panel" data-state="idle">
|
|
32
|
+
<div class="panel-label">AGENT STATUS</div>
|
|
33
|
+
<div class="aso-orb-wrap">
|
|
34
|
+
<svg class="aso-svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
|
35
|
+
<!-- Orbit guide tracks -->
|
|
36
|
+
<circle class="aso-track" cx="50" cy="50" r="43" />
|
|
37
|
+
<circle class="aso-track" cx="50" cy="50" r="31" />
|
|
38
|
+
<circle class="aso-track" cx="50" cy="50" r="19" />
|
|
39
|
+
<!-- Rotating arc groups -->
|
|
40
|
+
<g class="aso-rot aso-rot1">
|
|
41
|
+
<circle class="aso-arc" cx="50" cy="50" r="43" stroke-dasharray="55 215" />
|
|
42
|
+
</g>
|
|
43
|
+
<g class="aso-rot aso-rot2">
|
|
44
|
+
<circle
|
|
45
|
+
class="aso-arc aso-arc-dim"
|
|
46
|
+
cx="50"
|
|
47
|
+
cy="50"
|
|
48
|
+
r="43"
|
|
49
|
+
stroke-dasharray="22 248"
|
|
50
|
+
/>
|
|
51
|
+
</g>
|
|
52
|
+
<g class="aso-rot aso-rot3">
|
|
53
|
+
<circle class="aso-arc" cx="50" cy="50" r="31" stroke-dasharray="40 155" />
|
|
54
|
+
</g>
|
|
55
|
+
<g class="aso-rot aso-rot4">
|
|
56
|
+
<circle
|
|
57
|
+
class="aso-arc aso-arc-dim"
|
|
58
|
+
cx="50"
|
|
59
|
+
cy="50"
|
|
60
|
+
r="31"
|
|
61
|
+
stroke-dasharray="15 180"
|
|
62
|
+
/>
|
|
63
|
+
</g>
|
|
64
|
+
<g class="aso-rot aso-rot5">
|
|
65
|
+
<circle class="aso-arc" cx="50" cy="50" r="19" stroke-dasharray="20 99" />
|
|
66
|
+
</g>
|
|
67
|
+
<!-- Core glow halo -->
|
|
68
|
+
<circle class="aso-core-halo" cx="50" cy="50" r="10" />
|
|
69
|
+
<!-- Core dot -->
|
|
70
|
+
<circle class="aso-core" cx="50" cy="50" r="5.5" />
|
|
71
|
+
</svg>
|
|
72
|
+
</div>
|
|
73
|
+
<div class="aso-label" id="aso-label">STANDBY</div>
|
|
74
|
+
<div class="aso-sub" id="aso-sub">Awaiting your prompt</div>
|
|
75
|
+
<div class="aso-working" id="aso-working">
|
|
76
|
+
<span class="aso-working-asterisk">✳</span>
|
|
77
|
+
<span class="aso-working-text">Working</span>
|
|
78
|
+
</div>
|
|
79
|
+
<div class="aso-model-info">
|
|
80
|
+
<span class="aso-model-label" id="active-model-label"></span>
|
|
81
|
+
<span class="aso-model-badge" id="model-badge"></span>
|
|
82
|
+
</div>
|
|
76
83
|
</div>
|
|
77
84
|
|
|
78
|
-
<!--
|
|
79
|
-
<div class="
|
|
80
|
-
<div class="
|
|
81
|
-
|
|
82
|
-
<
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
</
|
|
88
|
-
<
|
|
89
|
-
<
|
|
90
|
-
<
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
85
|
+
<!-- Subagents Panel -->
|
|
86
|
+
<div class="glass-panel subagents-panel" id="subagents-panel">
|
|
87
|
+
<div class="panel-label">
|
|
88
|
+
SUBAGENTS
|
|
89
|
+
<span class="subagents-count" id="subagents-count"></span>
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
<!-- Quick Deploy Section -->
|
|
93
|
+
<div class="quick-deploy-section">
|
|
94
|
+
<div class="quick-deploy-label">QUICK DEPLOY</div>
|
|
95
|
+
<div class="quick-deploy-grid">
|
|
96
|
+
<button class="quick-deploy-btn" data-agent="research" title="Research Agent">
|
|
97
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
98
|
+
<circle cx="11" cy="11" r="8" />
|
|
99
|
+
<path d="M21 21l-4.35-4.35" />
|
|
100
|
+
</svg>
|
|
101
|
+
<span>Research</span>
|
|
102
|
+
</button>
|
|
103
|
+
<button class="quick-deploy-btn" data-agent="review" title="Code Review Agent">
|
|
104
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
105
|
+
<polyline points="16 18 22 12 16 6" />
|
|
106
|
+
<polyline points="8 6 2 12 8 18" />
|
|
107
|
+
</svg>
|
|
108
|
+
<span>Review</span>
|
|
109
|
+
</button>
|
|
110
|
+
<button class="quick-deploy-btn" data-agent="writer" title="Writer Agent">
|
|
111
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
112
|
+
<path d="M12 19l7-7 3 3-7 7-3-3z" />
|
|
113
|
+
<path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z" />
|
|
114
|
+
</svg>
|
|
115
|
+
<span>Writer</span>
|
|
116
|
+
</button>
|
|
117
|
+
<button class="quick-deploy-btn" data-agent="analyst" title="Analyst Agent">
|
|
118
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
119
|
+
<line x1="18" y1="20" x2="18" y2="10" />
|
|
120
|
+
<line x1="12" y1="20" x2="12" y2="4" />
|
|
121
|
+
<line x1="6" y1="20" x2="6" y2="14" />
|
|
122
|
+
</svg>
|
|
123
|
+
<span>Analyst</span>
|
|
124
|
+
</button>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
|
|
128
|
+
<!-- Staging Prompt Box -->
|
|
129
|
+
<div class="staging-box" id="staging-box">
|
|
130
|
+
<div class="staging-chips" id="staging-chips">
|
|
131
|
+
<span class="staging-empty">Select agents above</span>
|
|
132
|
+
</div>
|
|
133
|
+
<button class="staging-deploy-btn" id="staging-deploy-btn" disabled>
|
|
101
134
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
102
|
-
<
|
|
135
|
+
<path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" />
|
|
103
136
|
</svg>
|
|
104
|
-
|
|
137
|
+
Deploy
|
|
105
138
|
</button>
|
|
106
139
|
</div>
|
|
107
|
-
</div>
|
|
108
140
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
<div class="
|
|
112
|
-
<
|
|
141
|
+
<!-- Active Subagents list -->
|
|
142
|
+
<div class="subagents-active-label">ACTIVE</div>
|
|
143
|
+
<div class="subagents-list" id="subagents-list">
|
|
144
|
+
<div class="subagents-empty" id="subagents-empty">
|
|
145
|
+
<div class="subagents-empty-icon">
|
|
146
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
147
|
+
<circle cx="12" cy="12" r="3" />
|
|
148
|
+
<path
|
|
149
|
+
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"
|
|
150
|
+
/>
|
|
151
|
+
</svg>
|
|
152
|
+
</div>
|
|
153
|
+
<div class="subagents-empty-text">No active subagents</div>
|
|
154
|
+
</div>
|
|
113
155
|
</div>
|
|
114
|
-
|
|
156
|
+
|
|
157
|
+
<!-- Custom Spawn button -->
|
|
158
|
+
<button class="subagent-spawn-btn" id="subagent-spawn-btn" title="Spawn a custom subagent">
|
|
115
159
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
116
|
-
<
|
|
160
|
+
<circle cx="12" cy="12" r="10" />
|
|
161
|
+
<path d="M12 8v8M8 12h8" />
|
|
117
162
|
</svg>
|
|
118
|
-
|
|
163
|
+
<span>Custom Subagent</span>
|
|
119
164
|
</button>
|
|
120
165
|
</div>
|
|
121
166
|
|
|
122
|
-
<!--
|
|
123
|
-
<div class="
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
<
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
167
|
+
<!-- Reasoning Panel -->
|
|
168
|
+
<div class="glass-panel reasoning-panel" id="reasoning-panel">
|
|
169
|
+
<div class="panel-label">
|
|
170
|
+
REASONING
|
|
171
|
+
<span class="reasoning-live-dot" id="reasoning-live-dot"></span>
|
|
172
|
+
</div>
|
|
173
|
+
<div class="reasoning-feed" id="reasoning-feed">
|
|
174
|
+
<div class="reasoning-empty" id="reasoning-empty">
|
|
175
|
+
<div class="reasoning-empty-icon">
|
|
176
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
177
|
+
<circle cx="12" cy="12" r="3" />
|
|
178
|
+
<path
|
|
179
|
+
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"
|
|
180
|
+
/>
|
|
181
|
+
</svg>
|
|
182
|
+
</div>
|
|
183
|
+
<div class="reasoning-empty-text">No reasoning yet</div>
|
|
131
184
|
</div>
|
|
132
|
-
<div class="subagents-empty-text">No active subagents</div>
|
|
133
185
|
</div>
|
|
134
186
|
</div>
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
<
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
REASONING
|
|
149
|
-
<span class="reasoning-live-dot" id="reasoning-live-dot"></span>
|
|
150
|
-
</div>
|
|
151
|
-
<div class="reasoning-feed" id="reasoning-feed">
|
|
152
|
-
<div class="reasoning-empty" id="reasoning-empty">
|
|
153
|
-
<div class="reasoning-empty-icon">
|
|
154
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
155
|
-
<circle cx="12" cy="12" r="3"/>
|
|
156
|
-
<path 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"/>
|
|
187
|
+
</aside>
|
|
188
|
+
|
|
189
|
+
<!-- Metrics — Right column -->
|
|
190
|
+
<aside class="metrics-col metrics-right">
|
|
191
|
+
<!-- Connections Panel -->
|
|
192
|
+
<div class="glass-panel connections-panel" id="connections-panel">
|
|
193
|
+
<div class="panel-label">CONNECTIONS</div>
|
|
194
|
+
<button class="conn-btn" id="conn-slack" data-channel="slack">
|
|
195
|
+
<div class="conn-icon conn-icon-slack">
|
|
196
|
+
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
197
|
+
<path
|
|
198
|
+
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"
|
|
199
|
+
/>
|
|
157
200
|
</svg>
|
|
158
201
|
</div>
|
|
159
|
-
<div class="
|
|
160
|
-
|
|
202
|
+
<div class="conn-info">
|
|
203
|
+
<span class="conn-name">Slack</span>
|
|
204
|
+
<span class="conn-btn-status" id="conn-slack-status">Checking...</span>
|
|
205
|
+
</div>
|
|
206
|
+
<div class="conn-state" id="conn-slack-state"><div class="conn-dot"></div></div>
|
|
207
|
+
<span class="conn-notif" id="conn-slack-notif"></span>
|
|
208
|
+
</button>
|
|
209
|
+
<button class="conn-btn" id="conn-email" data-channel="email">
|
|
210
|
+
<div class="conn-icon conn-icon-email">
|
|
211
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
212
|
+
<rect x="2" y="4" width="20" height="16" rx="2" />
|
|
213
|
+
<path d="M22 6l-10 7L2 6" />
|
|
214
|
+
</svg>
|
|
215
|
+
</div>
|
|
216
|
+
<div class="conn-info">
|
|
217
|
+
<span class="conn-name">Email</span>
|
|
218
|
+
<span class="conn-btn-status" id="conn-email-status">Checking...</span>
|
|
219
|
+
</div>
|
|
220
|
+
<div class="conn-state" id="conn-email-state"><div class="conn-dot"></div></div>
|
|
221
|
+
<span class="conn-notif" id="conn-email-notif"></span>
|
|
222
|
+
</button>
|
|
223
|
+
<button class="conn-btn" id="conn-teams" data-channel="msteams">
|
|
224
|
+
<div class="conn-icon conn-icon-teams">
|
|
225
|
+
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
226
|
+
<path
|
|
227
|
+
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"
|
|
228
|
+
/>
|
|
229
|
+
<circle cx="17.5" cy="5.5" r="2.5" />
|
|
230
|
+
</svg>
|
|
231
|
+
</div>
|
|
232
|
+
<div class="conn-info">
|
|
233
|
+
<span class="conn-name">Teams</span>
|
|
234
|
+
<span class="conn-btn-status" id="conn-teams-status">Checking...</span>
|
|
235
|
+
</div>
|
|
236
|
+
<div class="conn-state" id="conn-teams-state"><div class="conn-dot"></div></div>
|
|
237
|
+
<span class="conn-notif" id="conn-teams-notif"></span>
|
|
238
|
+
</button>
|
|
161
239
|
</div>
|
|
162
|
-
</div>
|
|
163
240
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
<div class="panel-label">CONNECTIONS</div>
|
|
171
|
-
<button class="conn-btn" id="conn-slack" data-channel="slack">
|
|
172
|
-
<div class="conn-icon conn-icon-slack">
|
|
173
|
-
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
174
|
-
<path 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"/>
|
|
175
|
-
</svg>
|
|
241
|
+
<div class="glass-panel">
|
|
242
|
+
<div class="panel-label">SYMI GATEWAY</div>
|
|
243
|
+
<div class="net-row">
|
|
244
|
+
<div class="status-dot dot-green pulse"></div>
|
|
245
|
+
<span class="net-name">Gateway</span>
|
|
246
|
+
<span class="badge badge-green">ONLINE</span>
|
|
176
247
|
</div>
|
|
177
|
-
<div class="
|
|
178
|
-
<span class="
|
|
179
|
-
<span class="
|
|
248
|
+
<div class="net-row">
|
|
249
|
+
<span class="net-name muted">Port</span>
|
|
250
|
+
<span class="net-ip">18789</span>
|
|
180
251
|
</div>
|
|
181
|
-
<div class="
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
<button class="conn-btn" id="conn-email" data-channel="email">
|
|
185
|
-
<div class="conn-icon conn-icon-email">
|
|
186
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
187
|
-
<rect x="2" y="4" width="20" height="16" rx="2"/><path d="M22 6l-10 7L2 6"/>
|
|
188
|
-
</svg>
|
|
252
|
+
<div class="net-row">
|
|
253
|
+
<span class="net-name muted">Auth</span>
|
|
254
|
+
<span class="badge badge-blue">TOKEN</span>
|
|
189
255
|
</div>
|
|
190
|
-
<div class="
|
|
191
|
-
<span class="
|
|
192
|
-
<span class="
|
|
193
|
-
</div>
|
|
194
|
-
<div class="conn-state" id="conn-email-state"><div class="conn-dot"></div></div>
|
|
195
|
-
<span class="conn-notif" id="conn-email-notif"></span>
|
|
196
|
-
</button>
|
|
197
|
-
<button class="conn-btn" id="conn-teams" data-channel="msteams">
|
|
198
|
-
<div class="conn-icon conn-icon-teams">
|
|
199
|
-
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
200
|
-
<path 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"/>
|
|
201
|
-
<circle cx="17.5" cy="5.5" r="2.5"/>
|
|
202
|
-
</svg>
|
|
203
|
-
</div>
|
|
204
|
-
<div class="conn-info">
|
|
205
|
-
<span class="conn-name">Teams</span>
|
|
206
|
-
<span class="conn-btn-status" id="conn-teams-status">Checking...</span>
|
|
256
|
+
<div class="net-row">
|
|
257
|
+
<span class="net-name muted">Browser CDP</span>
|
|
258
|
+
<span class="net-ip">18800</span>
|
|
207
259
|
</div>
|
|
208
|
-
<div class="conn-state" id="conn-teams-state"><div class="conn-dot"></div></div>
|
|
209
|
-
<span class="conn-notif" id="conn-teams-notif"></span>
|
|
210
|
-
</button>
|
|
211
|
-
</div>
|
|
212
|
-
|
|
213
|
-
<div class="glass-panel">
|
|
214
|
-
<div class="panel-label">SYMI GATEWAY</div>
|
|
215
|
-
<div class="net-row">
|
|
216
|
-
<div class="status-dot dot-green pulse"></div>
|
|
217
|
-
<span class="net-name">Gateway</span>
|
|
218
|
-
<span class="badge badge-green">ONLINE</span>
|
|
219
|
-
</div>
|
|
220
|
-
<div class="net-row">
|
|
221
|
-
<span class="net-name muted">Port</span>
|
|
222
|
-
<span class="net-ip">18789</span>
|
|
223
|
-
</div>
|
|
224
|
-
<div class="net-row">
|
|
225
|
-
<span class="net-name muted">Auth</span>
|
|
226
|
-
<span class="badge badge-blue">TOKEN</span>
|
|
227
|
-
</div>
|
|
228
|
-
<div class="net-row">
|
|
229
|
-
<span class="net-name muted">Browser CDP</span>
|
|
230
|
-
<span class="net-ip">18800</span>
|
|
231
260
|
</div>
|
|
232
|
-
</div>
|
|
233
261
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
</div>
|
|
241
|
-
<div class="model-status" id="model-status">loading…</div>
|
|
242
|
-
</div>
|
|
243
|
-
|
|
244
|
-
<!-- Scheduling Panel -->
|
|
245
|
-
<div class="glass-panel scheduling-panel" id="scheduling-panel">
|
|
246
|
-
<div class="panel-label">
|
|
247
|
-
SCHEDULING
|
|
248
|
-
<span class="schedule-count" id="schedule-count"></span>
|
|
249
|
-
</div>
|
|
250
|
-
<div class="schedule-list" id="schedule-list">
|
|
251
|
-
<div class="schedule-empty" id="schedule-empty">
|
|
252
|
-
<div class="schedule-empty-icon">
|
|
253
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
254
|
-
<circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/>
|
|
255
|
-
</svg>
|
|
256
|
-
</div>
|
|
257
|
-
<div class="schedule-empty-text">No scheduled tasks</div>
|
|
262
|
+
<div class="glass-panel" id="model-routing-panel">
|
|
263
|
+
<div class="panel-label">MODEL ROUTING</div>
|
|
264
|
+
<div class="model-toggle" id="model-toggle">
|
|
265
|
+
<button class="model-toggle-btn" data-model="local">Local</button>
|
|
266
|
+
<button class="model-toggle-btn" data-model="redsand">CoreWeave</button>
|
|
267
|
+
<button class="model-toggle-btn" data-model="api">API</button>
|
|
258
268
|
</div>
|
|
269
|
+
<div class="model-status" id="model-status">loading…</div>
|
|
259
270
|
</div>
|
|
260
|
-
<button class="schedule-add-btn" id="schedule-add-btn" title="Add a scheduled task">
|
|
261
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
262
|
-
<circle cx="12" cy="12" r="10"/><path d="M12 8v8M8 12h8"/>
|
|
263
|
-
</svg>
|
|
264
|
-
<span>Add Schedule</span>
|
|
265
|
-
</button>
|
|
266
|
-
</div>
|
|
267
271
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
</div>
|
|
274
|
-
<div class="symipulse-feed" id="symipulse-feed">
|
|
275
|
-
<div class="symipulse-empty" id="symipulse-empty">
|
|
276
|
-
<div class="symipulse-empty-text">No heartbeats yet</div>
|
|
272
|
+
<!-- Scheduling Panel -->
|
|
273
|
+
<div class="glass-panel scheduling-panel" id="scheduling-panel">
|
|
274
|
+
<div class="panel-label">
|
|
275
|
+
SCHEDULING
|
|
276
|
+
<span class="schedule-count" id="schedule-count"></span>
|
|
277
277
|
</div>
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
<!-- Row 1: icon + input + send -->
|
|
290
|
-
<div class="prompt-row-main">
|
|
291
|
-
<div class="prompt-icon">
|
|
292
|
-
<svg width="18" height="18" viewBox="0 0 24 24" fill="none">
|
|
293
|
-
<path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
294
|
-
</svg>
|
|
278
|
+
<div class="schedule-list" id="schedule-list">
|
|
279
|
+
<div class="schedule-empty" id="schedule-empty">
|
|
280
|
+
<div class="schedule-empty-icon">
|
|
281
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
282
|
+
<circle cx="12" cy="12" r="10" />
|
|
283
|
+
<polyline points="12 6 12 12 16 14" />
|
|
284
|
+
</svg>
|
|
285
|
+
</div>
|
|
286
|
+
<div class="schedule-empty-text">No scheduled tasks</div>
|
|
287
|
+
</div>
|
|
295
288
|
</div>
|
|
296
|
-
<
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
spellcheck="false"
|
|
301
|
-
rows="1"
|
|
302
|
-
></textarea>
|
|
303
|
-
<button class="send-btn" id="send-btn" title="Send">
|
|
304
|
-
<svg width="16" height="16" viewBox="0 0 24 24" fill="none">
|
|
305
|
-
<path d="M22 2L11 13" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
|
|
306
|
-
<path d="M22 2L15 22 11 13 2 9l20-7z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
289
|
+
<button class="schedule-add-btn" id="schedule-add-btn" title="Add a scheduled task">
|
|
290
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
291
|
+
<circle cx="12" cy="12" r="10" />
|
|
292
|
+
<path d="M12 8v8M8 12h8" />
|
|
307
293
|
</svg>
|
|
294
|
+
<span>Add Schedule</span>
|
|
308
295
|
</button>
|
|
309
296
|
</div>
|
|
310
297
|
|
|
311
|
-
<!--
|
|
312
|
-
<div class="
|
|
313
|
-
<
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
</svg>
|
|
318
|
-
<span class="history-btn-label">History</span>
|
|
319
|
-
</button>
|
|
320
|
-
|
|
321
|
-
<!-- Stop button — shown while AI is responding, hidden otherwise -->
|
|
322
|
-
<button class="stop-btn" id="stop-btn" title="Stop the current response">
|
|
323
|
-
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
324
|
-
<rect x="4" y="4" width="16" height="16" rx="2" fill="currentColor" opacity="0.85"/>
|
|
325
|
-
</svg>
|
|
326
|
-
<span class="stop-btn-label">Stop</span>
|
|
327
|
-
</button>
|
|
328
|
-
|
|
329
|
-
<!-- Queue button — replaces New Session while AI is responding -->
|
|
330
|
-
<button class="queue-btn" id="queue-btn" title="Queue this message — sends automatically once Symi finishes">
|
|
331
|
-
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
332
|
-
<path d="M3 6h18M3 12h12M3 18h8" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
|
|
333
|
-
</svg>
|
|
334
|
-
<span class="queue-btn-label">Queue ↵</span>
|
|
335
|
-
<span class="queue-cancel-x" id="queue-cancel-x" title="Cancel queued message">✕</span>
|
|
336
|
-
</button>
|
|
337
|
-
|
|
338
|
-
<button class="new-session-btn" id="new-session-btn" title="New session — clears conversation and starts fresh">
|
|
339
|
-
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
340
|
-
<path d="M11 4H7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-4"
|
|
341
|
-
stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
|
|
342
|
-
<path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L13 14l-4 1 1-4 8.5-8.5z"
|
|
343
|
-
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
344
|
-
</svg>
|
|
345
|
-
<span class="new-session-label">New Session</span>
|
|
346
|
-
</button>
|
|
298
|
+
<!-- Debug Panel (hidden by default, toggle with Shift+D) -->
|
|
299
|
+
<div class="glass-panel debug-panel collapsed" id="debug-panel">
|
|
300
|
+
<div class="panel-label" onclick="this.parentElement.classList.toggle('collapsed')">
|
|
301
|
+
DEBUG EVENTS <span class="debug-toggle-arrow">▶</span>
|
|
302
|
+
</div>
|
|
303
|
+
<div class="debug-entries" id="debug-panel-entries"></div>
|
|
347
304
|
</div>
|
|
348
305
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
<circle cx="15" cy="9" r="1.6" fill="currentColor"/>
|
|
361
|
-
<circle cx="3" cy="15" r="1.6" fill="currentColor"/>
|
|
362
|
-
<circle cx="9" cy="15" r="1.6" fill="currentColor"/>
|
|
363
|
-
<circle cx="15" cy="15" r="1.6" fill="currentColor"/>
|
|
364
|
-
</svg>
|
|
365
|
-
<svg class="menu-icon-close" width="17" height="17" viewBox="0 0 18 18" fill="none">
|
|
366
|
-
<path d="M2 2l14 14M16 2 2 16" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/>
|
|
367
|
-
</svg>
|
|
368
|
-
</button>
|
|
369
|
-
|
|
370
|
-
<!-- ── Command Overlay ────────────────────────────────────────────── -->
|
|
371
|
-
<div class="cmd-overlay" id="cmd-overlay" aria-hidden="true">
|
|
372
|
-
<div class="cmd-backdrop" id="cmd-backdrop"></div>
|
|
373
|
-
<div class="cmd-shell">
|
|
374
|
-
|
|
375
|
-
<!-- Header bar -->
|
|
376
|
-
<div class="cmd-header">
|
|
377
|
-
<div class="cmd-brand">
|
|
378
|
-
<span class="cmd-brand-glyph">◈</span>
|
|
379
|
-
<span class="cmd-brand-name">SYMI</span>
|
|
380
|
-
<span class="cmd-brand-sep">/</span>
|
|
381
|
-
<span class="cmd-brand-sub">COMMAND CENTER</span>
|
|
382
|
-
</div>
|
|
383
|
-
<div class="cmd-esc-hint">Press <kbd class="cmd-kbd">ESC</kbd> to close</div>
|
|
306
|
+
<!-- Symipulse Panel -->
|
|
307
|
+
<div class="glass-panel symipulse-panel" id="symipulse-panel">
|
|
308
|
+
<div class="panel-label">
|
|
309
|
+
SYMIPULSE
|
|
310
|
+
<span class="symipulse-live-dot" id="symipulse-live-dot"></span>
|
|
311
|
+
</div>
|
|
312
|
+
<div class="symipulse-feed" id="symipulse-feed">
|
|
313
|
+
<div class="symipulse-empty" id="symipulse-empty">
|
|
314
|
+
<div class="symipulse-empty-text">No heartbeats yet</div>
|
|
315
|
+
</div>
|
|
316
|
+
</div>
|
|
384
317
|
</div>
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
318
|
+
</aside>
|
|
319
|
+
|
|
320
|
+
<!-- Response waterfall area -->
|
|
321
|
+
<main class="response-area" id="response-area"></main>
|
|
322
|
+
|
|
323
|
+
<!-- Floating prompt bar -->
|
|
324
|
+
<footer class="prompt-wrap">
|
|
325
|
+
<div class="prompt-bar" id="prompt-bar">
|
|
326
|
+
<!-- Row 1: icon + input + send -->
|
|
327
|
+
<div class="prompt-row-main">
|
|
328
|
+
<div class="prompt-icon">
|
|
329
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none">
|
|
330
|
+
<path
|
|
331
|
+
d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"
|
|
332
|
+
stroke="currentColor"
|
|
333
|
+
stroke-width="1.5"
|
|
334
|
+
stroke-linecap="round"
|
|
335
|
+
stroke-linejoin="round"
|
|
336
|
+
/>
|
|
394
337
|
</svg>
|
|
395
|
-
<span class="cmd-group-label">CHAT</span>
|
|
396
|
-
</div>
|
|
397
|
-
<div class="cmd-items">
|
|
398
|
-
<a class="cmd-item" href="#" data-href="#chat">
|
|
399
|
-
<span class="cmd-item-icon">◈</span>
|
|
400
|
-
<div class="cmd-item-body">
|
|
401
|
-
<span class="cmd-item-name">Chat</span>
|
|
402
|
-
<span class="cmd-item-desc">Main conversation</span>
|
|
403
|
-
</div>
|
|
404
|
-
<span class="cmd-item-badge">ACTIVE</span>
|
|
405
|
-
</a>
|
|
406
338
|
</div>
|
|
339
|
+
<textarea
|
|
340
|
+
id="prompt-input"
|
|
341
|
+
placeholder="Ask Symi anything…"
|
|
342
|
+
autocomplete="off"
|
|
343
|
+
spellcheck="false"
|
|
344
|
+
rows="1"
|
|
345
|
+
></textarea>
|
|
346
|
+
<button class="send-btn" id="send-btn" title="Send">
|
|
347
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none">
|
|
348
|
+
<path d="M22 2L11 13" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
|
|
349
|
+
<path
|
|
350
|
+
d="M22 2L15 22 11 13 2 9l20-7z"
|
|
351
|
+
stroke="currentColor"
|
|
352
|
+
stroke-width="2"
|
|
353
|
+
stroke-linecap="round"
|
|
354
|
+
stroke-linejoin="round"
|
|
355
|
+
/>
|
|
356
|
+
</svg>
|
|
357
|
+
</button>
|
|
407
358
|
</div>
|
|
408
359
|
|
|
409
|
-
<!--
|
|
410
|
-
<div class="
|
|
411
|
-
<
|
|
412
|
-
<svg
|
|
413
|
-
<
|
|
414
|
-
<
|
|
415
|
-
<rect x="3" y="14" width="7" height="7" rx="1.5" stroke="currentColor" stroke-width="1.5"/>
|
|
416
|
-
<rect x="14" y="14" width="7" height="7" rx="1.5" stroke="currentColor" stroke-width="1.5"/>
|
|
360
|
+
<!-- Row 2: action buttons (right-aligned) -->
|
|
361
|
+
<div class="prompt-row-actions">
|
|
362
|
+
<button class="history-btn" id="history-btn" title="Browse previous sessions">
|
|
363
|
+
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
364
|
+
<circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="2" />
|
|
365
|
+
<path d="M12 7v5l3 3" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
|
|
417
366
|
</svg>
|
|
418
|
-
<span class="
|
|
419
|
-
</
|
|
420
|
-
<div class="cmd-items cmd-items--grid">
|
|
421
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/overview">
|
|
422
|
-
<span class="cmd-item-icon">⊙</span>
|
|
423
|
-
<div class="cmd-item-body"><span class="cmd-item-name">Overview</span><span class="cmd-item-desc">System overview</span></div>
|
|
424
|
-
</a>
|
|
425
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/channels">
|
|
426
|
-
<span class="cmd-item-icon">⊞</span>
|
|
427
|
-
<div class="cmd-item-body"><span class="cmd-item-name">Channels</span><span class="cmd-item-desc">Messaging channels</span></div>
|
|
428
|
-
</a>
|
|
429
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/instances">
|
|
430
|
-
<span class="cmd-item-icon">⊟</span>
|
|
431
|
-
<div class="cmd-item-body"><span class="cmd-item-name">Instances</span><span class="cmd-item-desc">AI instances</span></div>
|
|
432
|
-
</a>
|
|
433
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/sessions">
|
|
434
|
-
<span class="cmd-item-icon">≋</span>
|
|
435
|
-
<div class="cmd-item-body"><span class="cmd-item-name">Sessions</span><span class="cmd-item-desc">Active sessions</span></div>
|
|
436
|
-
</a>
|
|
437
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/usage">
|
|
438
|
-
<span class="cmd-item-icon">▲</span>
|
|
439
|
-
<div class="cmd-item-body"><span class="cmd-item-name">Usage</span><span class="cmd-item-desc">Tokens & costs</span></div>
|
|
440
|
-
</a>
|
|
441
|
-
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/cron">
|
|
442
|
-
<span class="cmd-item-icon">◷</span>
|
|
443
|
-
<div class="cmd-item-body"><span class="cmd-item-name">Cron Jobs</span><span class="cmd-item-desc">Scheduled tasks</span></div>
|
|
444
|
-
</a>
|
|
445
|
-
</div>
|
|
446
|
-
</div>
|
|
367
|
+
<span class="history-btn-label">History</span>
|
|
368
|
+
</button>
|
|
447
369
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
<circle cx="12" cy="12" r="3" stroke="currentColor" stroke-width="1.5"/>
|
|
453
|
-
<path 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" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
|
|
370
|
+
<!-- Stop button — shown while AI is responding, hidden otherwise -->
|
|
371
|
+
<button class="stop-btn" id="stop-btn" title="Stop the current response">
|
|
372
|
+
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
373
|
+
<rect x="4" y="4" width="16" height="16" rx="2" fill="currentColor" opacity="0.85" />
|
|
454
374
|
</svg>
|
|
455
|
-
<span class="
|
|
456
|
-
</
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
375
|
+
<span class="stop-btn-label">Stop</span>
|
|
376
|
+
</button>
|
|
377
|
+
|
|
378
|
+
<!-- Queue button — replaces New Session while AI is responding -->
|
|
379
|
+
<button
|
|
380
|
+
class="queue-btn"
|
|
381
|
+
id="queue-btn"
|
|
382
|
+
title="Queue this message — sends automatically once Symi finishes"
|
|
383
|
+
>
|
|
384
|
+
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
385
|
+
<path
|
|
386
|
+
d="M3 6h18M3 12h12M3 18h8"
|
|
387
|
+
stroke="currentColor"
|
|
388
|
+
stroke-width="2"
|
|
389
|
+
stroke-linecap="round"
|
|
390
|
+
/>
|
|
391
|
+
</svg>
|
|
392
|
+
<span class="queue-btn-label">Queue ↵</span>
|
|
393
|
+
<span class="queue-cancel-x" id="queue-cancel-x" title="Cancel queued message">✕</span>
|
|
394
|
+
</button>
|
|
395
|
+
|
|
396
|
+
<button
|
|
397
|
+
class="new-session-btn"
|
|
398
|
+
id="new-session-btn"
|
|
399
|
+
title="New session — clears conversation and starts fresh"
|
|
400
|
+
>
|
|
401
|
+
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
402
|
+
<path
|
|
403
|
+
d="M11 4H7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-4"
|
|
404
|
+
stroke="currentColor"
|
|
405
|
+
stroke-width="2"
|
|
406
|
+
stroke-linecap="round"
|
|
407
|
+
/>
|
|
408
|
+
<path
|
|
409
|
+
d="M18.5 2.5a2.121 2.121 0 0 1 3 3L13 14l-4 1 1-4 8.5-8.5z"
|
|
410
|
+
stroke="currentColor"
|
|
411
|
+
stroke-width="2"
|
|
412
|
+
stroke-linecap="round"
|
|
413
|
+
stroke-linejoin="round"
|
|
414
|
+
/>
|
|
415
|
+
</svg>
|
|
416
|
+
<span class="new-session-label">New Session</span>
|
|
417
|
+
</button>
|
|
418
|
+
</div>
|
|
419
|
+
</div>
|
|
420
|
+
</footer>
|
|
421
|
+
|
|
422
|
+
<!-- ── Menu Trigger ──────────────────────────────────────────────── -->
|
|
423
|
+
<button
|
|
424
|
+
class="menu-trigger"
|
|
425
|
+
id="menu-trigger"
|
|
426
|
+
aria-label="Command menu"
|
|
427
|
+
title="Command Menu (M)"
|
|
428
|
+
>
|
|
429
|
+
<svg class="menu-icon-grid" width="17" height="17" viewBox="0 0 18 18" fill="none">
|
|
430
|
+
<circle cx="3" cy="3" r="1.6" fill="currentColor" />
|
|
431
|
+
<circle cx="9" cy="3" r="1.6" fill="currentColor" />
|
|
432
|
+
<circle cx="15" cy="3" r="1.6" fill="currentColor" />
|
|
433
|
+
<circle cx="3" cy="9" r="1.6" fill="currentColor" />
|
|
434
|
+
<circle cx="9" cy="9" r="1.6" fill="currentColor" />
|
|
435
|
+
<circle cx="15" cy="9" r="1.6" fill="currentColor" />
|
|
436
|
+
<circle cx="3" cy="15" r="1.6" fill="currentColor" />
|
|
437
|
+
<circle cx="9" cy="15" r="1.6" fill="currentColor" />
|
|
438
|
+
<circle cx="15" cy="15" r="1.6" fill="currentColor" />
|
|
439
|
+
</svg>
|
|
440
|
+
<svg class="menu-icon-close" width="17" height="17" viewBox="0 0 18 18" fill="none">
|
|
441
|
+
<path
|
|
442
|
+
d="M2 2l14 14M16 2 2 16"
|
|
443
|
+
stroke="currentColor"
|
|
444
|
+
stroke-width="2.2"
|
|
445
|
+
stroke-linecap="round"
|
|
446
|
+
/>
|
|
447
|
+
</svg>
|
|
448
|
+
</button>
|
|
449
|
+
|
|
450
|
+
<!-- ── Command Overlay ────────────────────────────────────────────── -->
|
|
451
|
+
<div class="cmd-overlay" id="cmd-overlay" aria-hidden="true">
|
|
452
|
+
<div class="cmd-backdrop" id="cmd-backdrop"></div>
|
|
453
|
+
<div class="cmd-shell">
|
|
454
|
+
<!-- Header bar -->
|
|
455
|
+
<div class="cmd-header">
|
|
456
|
+
<div class="cmd-brand">
|
|
457
|
+
<span class="cmd-brand-glyph">◈</span>
|
|
458
|
+
<span class="cmd-brand-name">SYMI</span>
|
|
459
|
+
<span class="cmd-brand-sep">/</span>
|
|
460
|
+
<span class="cmd-brand-sub">COMMAND CENTER</span>
|
|
470
461
|
</div>
|
|
462
|
+
<div class="cmd-esc-hint">Press <kbd class="cmd-kbd">ESC</kbd> to close</div>
|
|
471
463
|
</div>
|
|
472
464
|
|
|
473
|
-
<!--
|
|
474
|
-
<div class="cmd-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
<
|
|
479
|
-
|
|
480
|
-
|
|
465
|
+
<!-- 5-group command grid -->
|
|
466
|
+
<div class="cmd-grid">
|
|
467
|
+
<!-- ── CHAT ──────────────────────────────────────────────── -->
|
|
468
|
+
<div class="cmd-group cmd-group--chat">
|
|
469
|
+
<div class="cmd-group-hd">
|
|
470
|
+
<svg class="cmd-group-svg" viewBox="0 0 24 24" fill="none">
|
|
471
|
+
<path
|
|
472
|
+
d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"
|
|
473
|
+
stroke="currentColor"
|
|
474
|
+
stroke-width="1.5"
|
|
475
|
+
stroke-linecap="round"
|
|
476
|
+
stroke-linejoin="round"
|
|
477
|
+
/>
|
|
478
|
+
</svg>
|
|
479
|
+
<span class="cmd-group-label">CHAT</span>
|
|
480
|
+
</div>
|
|
481
|
+
<div class="cmd-items">
|
|
482
|
+
<a class="cmd-item" href="#" data-href="#chat">
|
|
483
|
+
<span class="cmd-item-icon">◈</span>
|
|
484
|
+
<div class="cmd-item-body">
|
|
485
|
+
<span class="cmd-item-name">Chat</span>
|
|
486
|
+
<span class="cmd-item-desc">Main conversation</span>
|
|
487
|
+
</div>
|
|
488
|
+
<span class="cmd-item-badge">ACTIVE</span>
|
|
489
|
+
</a>
|
|
490
|
+
</div>
|
|
481
491
|
</div>
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
492
|
+
|
|
493
|
+
<!-- ── CONTROL ───────────────────────────────────────────── -->
|
|
494
|
+
<div class="cmd-group cmd-group--control">
|
|
495
|
+
<div class="cmd-group-hd">
|
|
496
|
+
<svg class="cmd-group-svg" viewBox="0 0 24 24" fill="none">
|
|
497
|
+
<rect
|
|
498
|
+
x="3"
|
|
499
|
+
y="3"
|
|
500
|
+
width="7"
|
|
501
|
+
height="7"
|
|
502
|
+
rx="1.5"
|
|
503
|
+
stroke="currentColor"
|
|
504
|
+
stroke-width="1.5"
|
|
505
|
+
/>
|
|
506
|
+
<rect
|
|
507
|
+
x="14"
|
|
508
|
+
y="3"
|
|
509
|
+
width="7"
|
|
510
|
+
height="7"
|
|
511
|
+
rx="1.5"
|
|
512
|
+
stroke="currentColor"
|
|
513
|
+
stroke-width="1.5"
|
|
514
|
+
/>
|
|
515
|
+
<rect
|
|
516
|
+
x="3"
|
|
517
|
+
y="14"
|
|
518
|
+
width="7"
|
|
519
|
+
height="7"
|
|
520
|
+
rx="1.5"
|
|
521
|
+
stroke="currentColor"
|
|
522
|
+
stroke-width="1.5"
|
|
523
|
+
/>
|
|
524
|
+
<rect
|
|
525
|
+
x="14"
|
|
526
|
+
y="14"
|
|
527
|
+
width="7"
|
|
528
|
+
height="7"
|
|
529
|
+
rx="1.5"
|
|
530
|
+
stroke="currentColor"
|
|
531
|
+
stroke-width="1.5"
|
|
532
|
+
/>
|
|
533
|
+
</svg>
|
|
534
|
+
<span class="cmd-group-label">CONTROL</span>
|
|
535
|
+
</div>
|
|
536
|
+
<div class="cmd-items cmd-items--grid">
|
|
537
|
+
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/overview">
|
|
538
|
+
<span class="cmd-item-icon">⊙</span>
|
|
539
|
+
<div class="cmd-item-body">
|
|
540
|
+
<span class="cmd-item-name">Overview</span
|
|
541
|
+
><span class="cmd-item-desc">System overview</span>
|
|
542
|
+
</div>
|
|
543
|
+
</a>
|
|
544
|
+
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/channels">
|
|
545
|
+
<span class="cmd-item-icon">⊞</span>
|
|
546
|
+
<div class="cmd-item-body">
|
|
547
|
+
<span class="cmd-item-name">Channels</span
|
|
548
|
+
><span class="cmd-item-desc">Messaging channels</span>
|
|
549
|
+
</div>
|
|
550
|
+
</a>
|
|
551
|
+
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/instances">
|
|
552
|
+
<span class="cmd-item-icon">⊟</span>
|
|
553
|
+
<div class="cmd-item-body">
|
|
554
|
+
<span class="cmd-item-name">Instances</span
|
|
555
|
+
><span class="cmd-item-desc">AI instances</span>
|
|
556
|
+
</div>
|
|
557
|
+
</a>
|
|
558
|
+
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/sessions">
|
|
559
|
+
<span class="cmd-item-icon">≋</span>
|
|
560
|
+
<div class="cmd-item-body">
|
|
561
|
+
<span class="cmd-item-name">Sessions</span
|
|
562
|
+
><span class="cmd-item-desc">Active sessions</span>
|
|
563
|
+
</div>
|
|
564
|
+
</a>
|
|
565
|
+
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/usage">
|
|
566
|
+
<span class="cmd-item-icon">▲</span>
|
|
567
|
+
<div class="cmd-item-body">
|
|
568
|
+
<span class="cmd-item-name">Usage</span
|
|
569
|
+
><span class="cmd-item-desc">Tokens & costs</span>
|
|
570
|
+
</div>
|
|
571
|
+
</a>
|
|
572
|
+
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/cron">
|
|
573
|
+
<span class="cmd-item-icon">◷</span>
|
|
574
|
+
<div class="cmd-item-body">
|
|
575
|
+
<span class="cmd-item-name">Cron Jobs</span
|
|
576
|
+
><span class="cmd-item-desc">Scheduled tasks</span>
|
|
577
|
+
</div>
|
|
578
|
+
</a>
|
|
579
|
+
</div>
|
|
495
580
|
</div>
|
|
496
|
-
</div>
|
|
497
581
|
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
582
|
+
<!-- ── AGENT ─────────────────────────────────────────────── -->
|
|
583
|
+
<div class="cmd-group cmd-group--agent">
|
|
584
|
+
<div class="cmd-group-hd">
|
|
585
|
+
<svg class="cmd-group-svg" viewBox="0 0 24 24" fill="none">
|
|
586
|
+
<circle cx="12" cy="12" r="3" stroke="currentColor" stroke-width="1.5" />
|
|
587
|
+
<path
|
|
588
|
+
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"
|
|
589
|
+
stroke="currentColor"
|
|
590
|
+
stroke-width="1.5"
|
|
591
|
+
stroke-linecap="round"
|
|
592
|
+
/>
|
|
593
|
+
</svg>
|
|
594
|
+
<span class="cmd-group-label">AGENT</span>
|
|
595
|
+
</div>
|
|
596
|
+
<div class="cmd-items">
|
|
597
|
+
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/agents">
|
|
598
|
+
<span class="cmd-item-icon">◈</span>
|
|
599
|
+
<div class="cmd-item-body">
|
|
600
|
+
<span class="cmd-item-name">Agents</span
|
|
601
|
+
><span class="cmd-item-desc">Agent management</span>
|
|
602
|
+
</div>
|
|
603
|
+
</a>
|
|
604
|
+
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/skills">
|
|
605
|
+
<span class="cmd-item-icon">⚡</span>
|
|
606
|
+
<div class="cmd-item-body">
|
|
607
|
+
<span class="cmd-item-name">Skills</span
|
|
608
|
+
><span class="cmd-item-desc">Agent capabilities</span>
|
|
609
|
+
</div>
|
|
610
|
+
</a>
|
|
611
|
+
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/nodes">
|
|
612
|
+
<span class="cmd-item-icon">⬡</span>
|
|
613
|
+
<div class="cmd-item-body">
|
|
614
|
+
<span class="cmd-item-name">Nodes</span
|
|
615
|
+
><span class="cmd-item-desc">Connected devices</span>
|
|
616
|
+
</div>
|
|
617
|
+
</a>
|
|
618
|
+
</div>
|
|
506
619
|
</div>
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
620
|
+
|
|
621
|
+
<!-- ── SETTINGS ──────────────────────────────────────────── -->
|
|
622
|
+
<div class="cmd-group cmd-group--settings">
|
|
623
|
+
<div class="cmd-group-hd">
|
|
624
|
+
<svg class="cmd-group-svg" viewBox="0 0 24 24" fill="none">
|
|
625
|
+
<circle cx="12" cy="12" r="3" stroke="currentColor" stroke-width="1.5" />
|
|
626
|
+
<path
|
|
627
|
+
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"
|
|
628
|
+
stroke="currentColor"
|
|
629
|
+
stroke-width="1.5"
|
|
630
|
+
/>
|
|
631
|
+
</svg>
|
|
632
|
+
<span class="cmd-group-label">SETTINGS</span>
|
|
633
|
+
</div>
|
|
634
|
+
<div class="cmd-items">
|
|
635
|
+
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/config">
|
|
636
|
+
<span class="cmd-item-icon">⚙</span>
|
|
637
|
+
<div class="cmd-item-body">
|
|
638
|
+
<span class="cmd-item-name">Config</span
|
|
639
|
+
><span class="cmd-item-desc">System configuration</span>
|
|
640
|
+
</div>
|
|
641
|
+
</a>
|
|
642
|
+
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/debug">
|
|
643
|
+
<span class="cmd-item-icon">⬢</span>
|
|
644
|
+
<div class="cmd-item-body">
|
|
645
|
+
<span class="cmd-item-name">Debug</span
|
|
646
|
+
><span class="cmd-item-desc">Debug console</span>
|
|
647
|
+
</div>
|
|
648
|
+
</a>
|
|
649
|
+
<a class="cmd-item" href="#" data-href="http://127.0.0.1:18789/logs">
|
|
650
|
+
<span class="cmd-item-icon">≡</span>
|
|
651
|
+
<div class="cmd-item-body">
|
|
652
|
+
<span class="cmd-item-name">Logs</span
|
|
653
|
+
><span class="cmd-item-desc">System logs</span>
|
|
654
|
+
</div>
|
|
655
|
+
</a>
|
|
656
|
+
</div>
|
|
512
657
|
</div>
|
|
513
|
-
</div>
|
|
514
658
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
<div class="history-drawer-title">
|
|
547
|
-
<svg width="14" height="14" viewBox="0 0 24 24" fill="none">
|
|
548
|
-
<circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="2"/>
|
|
549
|
-
<path d="M12 7v5l3 3" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
|
|
550
|
-
</svg>
|
|
551
|
-
CHAT HISTORY
|
|
659
|
+
<!-- ── RESOURCES ─────────────────────────────────────────── -->
|
|
660
|
+
<div class="cmd-group cmd-group--resources">
|
|
661
|
+
<div class="cmd-group-hd">
|
|
662
|
+
<svg class="cmd-group-svg" viewBox="0 0 24 24" fill="none">
|
|
663
|
+
<path
|
|
664
|
+
d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"
|
|
665
|
+
stroke="currentColor"
|
|
666
|
+
stroke-width="1.5"
|
|
667
|
+
stroke-linecap="round"
|
|
668
|
+
/>
|
|
669
|
+
<path
|
|
670
|
+
d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"
|
|
671
|
+
stroke="currentColor"
|
|
672
|
+
stroke-width="1.5"
|
|
673
|
+
stroke-linecap="round"
|
|
674
|
+
/>
|
|
675
|
+
</svg>
|
|
676
|
+
<span class="cmd-group-label">RESOURCES</span>
|
|
677
|
+
</div>
|
|
678
|
+
<div class="cmd-items">
|
|
679
|
+
<a class="cmd-item" href="#" data-href="https://docs.symi.ai/">
|
|
680
|
+
<span class="cmd-item-icon">◻</span>
|
|
681
|
+
<div class="cmd-item-body">
|
|
682
|
+
<span class="cmd-item-name">Docs</span
|
|
683
|
+
><span class="cmd-item-desc">Official documentation</span>
|
|
684
|
+
</div>
|
|
685
|
+
</a>
|
|
686
|
+
</div>
|
|
687
|
+
</div>
|
|
688
|
+
</div>
|
|
689
|
+
<!-- /cmd-grid -->
|
|
552
690
|
</div>
|
|
553
|
-
|
|
554
|
-
</div>
|
|
555
|
-
<div class="history-drawer-body" id="history-drawer-body">
|
|
556
|
-
<div class="history-loading">Loading sessions…</div>
|
|
691
|
+
<!-- /cmd-shell -->
|
|
557
692
|
</div>
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
<
|
|
565
|
-
|
|
566
|
-
Session archived — <span id="session-archive-link">View history ↗</span>
|
|
567
|
-
</div>
|
|
568
|
-
|
|
569
|
-
<!-- ── Connection Modal ──────────────────────────────────────────────── -->
|
|
570
|
-
<div class="conn-modal-overlay" id="conn-modal-overlay" aria-hidden="true">
|
|
571
|
-
<div class="conn-modal" id="conn-modal">
|
|
572
|
-
<div class="conn-modal-header">
|
|
573
|
-
<div class="conn-modal-icon" id="conn-modal-icon"></div>
|
|
574
|
-
<div class="conn-modal-title" id="conn-modal-title">Channel</div>
|
|
575
|
-
<button class="conn-modal-close" id="conn-modal-close" title="Close">
|
|
693
|
+
<!-- /cmd-overlay -->
|
|
694
|
+
|
|
695
|
+
<!-- Standard UI toggle removed — glass UI is served directly from gateway -->
|
|
696
|
+
|
|
697
|
+
<!-- ── Page Navigation Overlay ──────────────────────────────────── -->
|
|
698
|
+
<div class="page-overlay" id="page-overlay" aria-hidden="true">
|
|
699
|
+
<div class="page-overlay-header">
|
|
700
|
+
<button class="page-back-btn" id="page-back-btn" title="Back to chat">
|
|
576
701
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none">
|
|
577
|
-
<path
|
|
702
|
+
<path
|
|
703
|
+
d="M19 12H5M5 12l7-7M5 12l7 7"
|
|
704
|
+
stroke="currentColor"
|
|
705
|
+
stroke-width="2"
|
|
706
|
+
stroke-linecap="round"
|
|
707
|
+
stroke-linejoin="round"
|
|
708
|
+
/>
|
|
578
709
|
</svg>
|
|
710
|
+
<span>Chat</span>
|
|
579
711
|
</button>
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
712
|
+
<span class="page-overlay-title" id="page-overlay-title"></span>
|
|
713
|
+
<a
|
|
714
|
+
class="page-popout-btn"
|
|
715
|
+
id="page-popout-btn"
|
|
716
|
+
href="#"
|
|
717
|
+
target="_blank"
|
|
718
|
+
title="Open in new tab"
|
|
719
|
+
rel="noopener"
|
|
720
|
+
>
|
|
721
|
+
<svg width="13" height="13" viewBox="0 0 24 24" fill="none">
|
|
722
|
+
<path
|
|
723
|
+
d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"
|
|
724
|
+
stroke="currentColor"
|
|
725
|
+
stroke-width="2"
|
|
726
|
+
stroke-linecap="round"
|
|
727
|
+
/>
|
|
728
|
+
<path
|
|
729
|
+
d="M15 3h6v6M10 14L21 3"
|
|
730
|
+
stroke="currentColor"
|
|
731
|
+
stroke-width="2"
|
|
732
|
+
stroke-linecap="round"
|
|
733
|
+
stroke-linejoin="round"
|
|
734
|
+
/>
|
|
587
735
|
</svg>
|
|
588
|
-
|
|
736
|
+
Pop out
|
|
589
737
|
</a>
|
|
590
738
|
</div>
|
|
739
|
+
<iframe
|
|
740
|
+
class="page-overlay-frame"
|
|
741
|
+
id="page-overlay-frame"
|
|
742
|
+
src=""
|
|
743
|
+
title="Page view"
|
|
744
|
+
allowfullscreen
|
|
745
|
+
></iframe>
|
|
591
746
|
</div>
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
<div class="subagent-modal-icon">
|
|
599
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
600
|
-
<circle cx="12" cy="12" r="3"/>
|
|
601
|
-
<path 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"/>
|
|
602
|
-
</svg>
|
|
603
|
-
</div>
|
|
604
|
-
<div class="subagent-modal-title">Spawn Subagent</div>
|
|
605
|
-
<button class="subagent-modal-close" id="subagent-modal-close" title="Close">
|
|
747
|
+
|
|
748
|
+
<!-- ── History Drawer ───────────────────────────────────────────── -->
|
|
749
|
+
<div class="history-overlay" id="history-overlay"></div>
|
|
750
|
+
<div class="history-drawer" id="history-drawer" aria-hidden="true">
|
|
751
|
+
<div class="history-drawer-header">
|
|
752
|
+
<div class="history-drawer-title">
|
|
606
753
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none">
|
|
607
|
-
<
|
|
754
|
+
<circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="2" />
|
|
755
|
+
<path d="M12 7v5l3 3" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
|
|
608
756
|
</svg>
|
|
609
|
-
|
|
757
|
+
CHAT HISTORY
|
|
758
|
+
</div>
|
|
759
|
+
<button class="history-close-btn" id="history-close-btn" title="Close (Esc)">✕</button>
|
|
760
|
+
</div>
|
|
761
|
+
<div class="history-drawer-body" id="history-drawer-body">
|
|
762
|
+
<div class="history-loading">Loading sessions…</div>
|
|
610
763
|
</div>
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
764
|
+
</div>
|
|
765
|
+
|
|
766
|
+
<!-- ── Session archive toast ─────────────────────────────────────── -->
|
|
767
|
+
<div class="session-archive-toast" id="session-archive-toast">
|
|
768
|
+
<svg width="12" height="12" viewBox="0 0 24 24" fill="none">
|
|
769
|
+
<circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="2" />
|
|
770
|
+
<path d="M12 7v5l3 3" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
|
|
771
|
+
</svg>
|
|
772
|
+
Session archived — <span id="session-archive-link">View history ↗</span>
|
|
773
|
+
</div>
|
|
774
|
+
|
|
775
|
+
<!-- ── Connection Modal ──────────────────────────────────────────────── -->
|
|
776
|
+
<div class="conn-modal-overlay" id="conn-modal-overlay" aria-hidden="true">
|
|
777
|
+
<div class="conn-modal" id="conn-modal">
|
|
778
|
+
<div class="conn-modal-header">
|
|
779
|
+
<div class="conn-modal-icon" id="conn-modal-icon"></div>
|
|
780
|
+
<div class="conn-modal-title" id="conn-modal-title">Channel</div>
|
|
781
|
+
<button class="conn-modal-close" id="conn-modal-close" title="Close">
|
|
782
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none">
|
|
783
|
+
<path
|
|
784
|
+
d="M18 6L6 18M6 6l12 12"
|
|
785
|
+
stroke="currentColor"
|
|
786
|
+
stroke-width="2"
|
|
787
|
+
stroke-linecap="round"
|
|
788
|
+
/>
|
|
789
|
+
</svg>
|
|
790
|
+
</button>
|
|
615
791
|
</div>
|
|
616
|
-
<div class="
|
|
617
|
-
|
|
618
|
-
<
|
|
792
|
+
<div class="conn-modal-body" id="conn-modal-body"></div>
|
|
793
|
+
<div class="conn-modal-footer" id="conn-modal-footer">
|
|
794
|
+
<a class="conn-modal-docs" id="conn-modal-docs" href="#" target="_blank" rel="noopener">
|
|
795
|
+
<svg width="12" height="12" viewBox="0 0 24 24" fill="none">
|
|
796
|
+
<path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20" stroke="currentColor" stroke-width="2" />
|
|
797
|
+
<path
|
|
798
|
+
d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"
|
|
799
|
+
stroke="currentColor"
|
|
800
|
+
stroke-width="2"
|
|
801
|
+
/>
|
|
802
|
+
</svg>
|
|
803
|
+
View Documentation
|
|
804
|
+
</a>
|
|
805
|
+
</div>
|
|
806
|
+
</div>
|
|
807
|
+
</div>
|
|
808
|
+
|
|
809
|
+
<!-- ── Subagent Spawn Modal ──────────────────────────────────────────── -->
|
|
810
|
+
<div class="subagent-modal-overlay" id="subagent-modal-overlay" aria-hidden="true">
|
|
811
|
+
<div class="subagent-modal" id="subagent-modal">
|
|
812
|
+
<div class="subagent-modal-header">
|
|
813
|
+
<div class="subagent-modal-icon">
|
|
814
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
815
|
+
<circle cx="12" cy="12" r="3" />
|
|
816
|
+
<path
|
|
817
|
+
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"
|
|
818
|
+
/>
|
|
819
|
+
</svg>
|
|
820
|
+
</div>
|
|
821
|
+
<div class="subagent-modal-title">Spawn Subagent</div>
|
|
822
|
+
<button class="subagent-modal-close" id="subagent-modal-close" title="Close">
|
|
823
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none">
|
|
824
|
+
<path
|
|
825
|
+
d="M18 6L6 18M6 6l12 12"
|
|
826
|
+
stroke="currentColor"
|
|
827
|
+
stroke-width="2"
|
|
828
|
+
stroke-linecap="round"
|
|
829
|
+
/>
|
|
830
|
+
</svg>
|
|
831
|
+
</button>
|
|
619
832
|
</div>
|
|
620
|
-
<div class="subagent-
|
|
833
|
+
<div class="subagent-modal-body">
|
|
621
834
|
<div class="subagent-form-group">
|
|
622
|
-
<label class="subagent-form-label" for="subagent-
|
|
623
|
-
<
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
835
|
+
<label class="subagent-form-label" for="subagent-task">Task</label>
|
|
836
|
+
<textarea
|
|
837
|
+
class="subagent-form-textarea"
|
|
838
|
+
id="subagent-task"
|
|
839
|
+
placeholder="Describe the task for the subagent..."
|
|
840
|
+
rows="3"
|
|
841
|
+
></textarea>
|
|
629
842
|
</div>
|
|
630
843
|
<div class="subagent-form-group">
|
|
631
|
-
<label class="subagent-form-label" for="subagent-
|
|
632
|
-
<
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
844
|
+
<label class="subagent-form-label" for="subagent-label">Label (optional)</label>
|
|
845
|
+
<input
|
|
846
|
+
type="text"
|
|
847
|
+
class="subagent-form-input"
|
|
848
|
+
id="subagent-label"
|
|
849
|
+
placeholder="e.g. Research Agent, Code Review..."
|
|
850
|
+
/>
|
|
851
|
+
</div>
|
|
852
|
+
<div class="subagent-form-row">
|
|
853
|
+
<div class="subagent-form-group">
|
|
854
|
+
<label class="subagent-form-label" for="subagent-model">Model</label>
|
|
855
|
+
<select class="subagent-form-select" id="subagent-model">
|
|
856
|
+
<option value="">Default</option>
|
|
857
|
+
<option value="anthropic/claude-sonnet-4-6">Claude Sonnet 4.6</option>
|
|
858
|
+
<option value="ollama/gemma4:31b-128k">Gemma 4 31B 128K</option>
|
|
859
|
+
<option value="ollama/qwen2.5:32b">Qwen 2.5 32B</option>
|
|
860
|
+
</select>
|
|
861
|
+
</div>
|
|
862
|
+
<div class="subagent-form-group">
|
|
863
|
+
<label class="subagent-form-label" for="subagent-thinking">Thinking</label>
|
|
864
|
+
<select class="subagent-form-select" id="subagent-thinking">
|
|
865
|
+
<option value="">Default</option>
|
|
866
|
+
<option value="off">Off</option>
|
|
867
|
+
<option value="low">Low</option>
|
|
868
|
+
<option value="medium">Medium</option>
|
|
869
|
+
<option value="high">High</option>
|
|
870
|
+
</select>
|
|
871
|
+
</div>
|
|
639
872
|
</div>
|
|
640
873
|
</div>
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
</button>
|
|
650
|
-
</div>
|
|
651
|
-
</div>
|
|
652
|
-
</div>
|
|
653
|
-
|
|
654
|
-
<!-- ── Schedule Modal ──────────────────────────────────────────────── -->
|
|
655
|
-
<div class="schedule-modal-overlay" id="schedule-modal-overlay" aria-hidden="true">
|
|
656
|
-
<div class="schedule-modal" id="schedule-modal">
|
|
657
|
-
<div class="schedule-modal-header">
|
|
658
|
-
<div class="schedule-modal-icon">
|
|
659
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
660
|
-
<circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/>
|
|
661
|
-
</svg>
|
|
874
|
+
<div class="subagent-modal-footer">
|
|
875
|
+
<button class="subagent-modal-cancel" id="subagent-modal-cancel">Cancel</button>
|
|
876
|
+
<button class="subagent-modal-submit" id="subagent-modal-submit">
|
|
877
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
878
|
+
<path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" />
|
|
879
|
+
</svg>
|
|
880
|
+
Spawn
|
|
881
|
+
</button>
|
|
662
882
|
</div>
|
|
663
|
-
<div class="schedule-modal-title">Add Schedule</div>
|
|
664
|
-
<button class="schedule-modal-close" id="schedule-modal-close" title="Close">
|
|
665
|
-
<svg width="14" height="14" viewBox="0 0 24 24" fill="none">
|
|
666
|
-
<path d="M18 6L6 18M6 6l12 12" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
|
|
667
|
-
</svg>
|
|
668
|
-
</button>
|
|
669
883
|
</div>
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
<div class="schedule-
|
|
676
|
-
<
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
<div class="schedule-interval-grid">
|
|
682
|
-
<button type="button" class="schedule-interval-btn" data-interval="hourly">
|
|
683
|
-
<span class="schedule-interval-value">1</span><span class="schedule-interval-unit">Hour</span>
|
|
684
|
-
</button>
|
|
685
|
-
<button type="button" class="schedule-interval-btn" data-interval="daily">
|
|
686
|
-
<span class="schedule-interval-value">1</span><span class="schedule-interval-unit">Day</span>
|
|
687
|
-
</button>
|
|
688
|
-
<button type="button" class="schedule-interval-btn" data-interval="weekly">
|
|
689
|
-
<span class="schedule-interval-value">1</span><span class="schedule-interval-unit">Week</span>
|
|
690
|
-
</button>
|
|
691
|
-
<button type="button" class="schedule-interval-btn" data-interval="custom">
|
|
692
|
-
<span class="schedule-interval-value">...</span><span class="schedule-interval-unit">Custom</span>
|
|
693
|
-
</button>
|
|
884
|
+
</div>
|
|
885
|
+
|
|
886
|
+
<!-- ── Schedule Modal ──────────────────────────────────────────────── -->
|
|
887
|
+
<div class="schedule-modal-overlay" id="schedule-modal-overlay" aria-hidden="true">
|
|
888
|
+
<div class="schedule-modal" id="schedule-modal">
|
|
889
|
+
<div class="schedule-modal-header">
|
|
890
|
+
<div class="schedule-modal-icon">
|
|
891
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
892
|
+
<circle cx="12" cy="12" r="10" />
|
|
893
|
+
<polyline points="12 6 12 12 16 14" />
|
|
894
|
+
</svg>
|
|
694
895
|
</div>
|
|
896
|
+
<div class="schedule-modal-title">Add Schedule</div>
|
|
897
|
+
<button class="schedule-modal-close" id="schedule-modal-close" title="Close">
|
|
898
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none">
|
|
899
|
+
<path
|
|
900
|
+
d="M18 6L6 18M6 6l12 12"
|
|
901
|
+
stroke="currentColor"
|
|
902
|
+
stroke-width="2"
|
|
903
|
+
stroke-linecap="round"
|
|
904
|
+
/>
|
|
905
|
+
</svg>
|
|
906
|
+
</button>
|
|
695
907
|
</div>
|
|
696
|
-
<div class="schedule-
|
|
697
|
-
<div class="schedule-form-
|
|
698
|
-
<
|
|
699
|
-
|
|
700
|
-
|
|
908
|
+
<div class="schedule-modal-body">
|
|
909
|
+
<div class="schedule-form-group">
|
|
910
|
+
<label class="schedule-form-label" for="schedule-name">Name</label>
|
|
911
|
+
<input
|
|
912
|
+
type="text"
|
|
913
|
+
class="schedule-form-input"
|
|
914
|
+
id="schedule-name"
|
|
915
|
+
placeholder="e.g. Daily Report, Weekly Backup..."
|
|
916
|
+
/>
|
|
917
|
+
</div>
|
|
918
|
+
<div class="schedule-form-group">
|
|
919
|
+
<label class="schedule-form-label" for="schedule-task">Task</label>
|
|
920
|
+
<textarea
|
|
921
|
+
class="schedule-form-textarea"
|
|
922
|
+
id="schedule-task"
|
|
923
|
+
placeholder="Describe what should happen on this schedule..."
|
|
924
|
+
rows="3"
|
|
925
|
+
></textarea>
|
|
926
|
+
</div>
|
|
927
|
+
<div class="schedule-form-group">
|
|
928
|
+
<label class="schedule-form-label">Run Every</label>
|
|
929
|
+
<div class="schedule-interval-grid">
|
|
930
|
+
<button type="button" class="schedule-interval-btn" data-interval="hourly">
|
|
931
|
+
<span class="schedule-interval-value">1</span
|
|
932
|
+
><span class="schedule-interval-unit">Hour</span>
|
|
933
|
+
</button>
|
|
934
|
+
<button type="button" class="schedule-interval-btn" data-interval="daily">
|
|
935
|
+
<span class="schedule-interval-value">1</span
|
|
936
|
+
><span class="schedule-interval-unit">Day</span>
|
|
937
|
+
</button>
|
|
938
|
+
<button type="button" class="schedule-interval-btn" data-interval="weekly">
|
|
939
|
+
<span class="schedule-interval-value">1</span
|
|
940
|
+
><span class="schedule-interval-unit">Week</span>
|
|
941
|
+
</button>
|
|
942
|
+
<button type="button" class="schedule-interval-btn" data-interval="custom">
|
|
943
|
+
<span class="schedule-interval-value">...</span
|
|
944
|
+
><span class="schedule-interval-unit">Custom</span>
|
|
945
|
+
</button>
|
|
701
946
|
</div>
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
<
|
|
707
|
-
<
|
|
708
|
-
|
|
709
|
-
|
|
947
|
+
</div>
|
|
948
|
+
<div class="schedule-custom-options" id="schedule-custom-options" style="display: none">
|
|
949
|
+
<div class="schedule-form-row">
|
|
950
|
+
<div class="schedule-form-group">
|
|
951
|
+
<label class="schedule-form-label" for="schedule-interval-value">Every</label>
|
|
952
|
+
<input
|
|
953
|
+
type="number"
|
|
954
|
+
class="schedule-form-input"
|
|
955
|
+
id="schedule-interval-value"
|
|
956
|
+
min="1"
|
|
957
|
+
value="1"
|
|
958
|
+
/>
|
|
959
|
+
</div>
|
|
960
|
+
<div class="schedule-form-group">
|
|
961
|
+
<label class="schedule-form-label" for="schedule-interval-unit">Period</label>
|
|
962
|
+
<select class="schedule-form-select" id="schedule-interval-unit">
|
|
963
|
+
<option value="minutes">Minutes</option>
|
|
964
|
+
<option value="hours">Hours</option>
|
|
965
|
+
<option value="days" selected>Days</option>
|
|
966
|
+
<option value="weeks">Weeks</option>
|
|
967
|
+
</select>
|
|
968
|
+
</div>
|
|
710
969
|
</div>
|
|
711
970
|
</div>
|
|
712
971
|
</div>
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
972
|
+
<div class="schedule-modal-footer">
|
|
973
|
+
<button class="schedule-modal-cancel" id="schedule-modal-cancel">Cancel</button>
|
|
974
|
+
<button class="schedule-modal-submit" id="schedule-modal-submit">
|
|
975
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
976
|
+
<circle cx="12" cy="12" r="10" />
|
|
977
|
+
<polyline points="12 6 12 12 16 14" />
|
|
978
|
+
</svg>
|
|
979
|
+
Schedule
|
|
980
|
+
</button>
|
|
981
|
+
</div>
|
|
722
982
|
</div>
|
|
723
983
|
</div>
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
</body>
|
|
984
|
+
|
|
985
|
+
<script src="/vendor/marked.min.js"></script>
|
|
986
|
+
<script src="/vendor/highlight.min.js"></script>
|
|
987
|
+
<script src="js/metrics.js"></script>
|
|
988
|
+
<script src="js/gateway.js"></script>
|
|
989
|
+
<script src="js/render.js"></script>
|
|
990
|
+
<script src="js/symipulse.js"></script>
|
|
991
|
+
<script src="js/app.js"></script>
|
|
992
|
+
<script src="js/menu.js"></script>
|
|
993
|
+
<script src="js/history.js"></script>
|
|
994
|
+
<script src="js/connections.js"></script>
|
|
995
|
+
<script src="js/subagents.js"></script>
|
|
996
|
+
<script src="js/scheduling.js"></script>
|
|
997
|
+
<script src="js/models.js"></script>
|
|
998
|
+
<script src="js/debug.js"></script>
|
|
999
|
+
</body>
|
|
740
1000
|
</html>
|