@auto-ai/agent 2.1.113 → 2.1.120
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/404/index.html +1 -0
- package/dist/404.html +1 -1
- package/dist/_next/static/chunks/17e79ae7309781d6.js +1 -0
- package/dist/_next/static/chunks/249606605eed1993.js +1 -0
- package/dist/_next/static/chunks/40268f8e3ff0314e.js +1 -0
- package/dist/_next/static/chunks/424d3f3f176d43d7.js +1 -0
- package/dist/_next/static/chunks/4302af16b34bf750.js +1 -0
- package/dist/_next/static/chunks/4a073924e062c459.css +1 -0
- package/dist/_next/static/chunks/{709b3b8b804968f9.js → 52e2164e45febae6.js} +1 -1
- package/dist/_next/static/chunks/53977130ef33592f.js +1 -0
- package/dist/_next/static/chunks/67acc15b8a448e1a.js +1 -0
- package/dist/_next/static/chunks/{84694f69e82cbdaf.js → 76a71d344cc15a9f.js} +1 -1
- package/dist/_next/static/chunks/{ecac6101bc7f0ad9.css → 83bf6e4bc0aad48b.css} +1 -1
- package/dist/_next/static/chunks/8b34d657c6bbb8df.js +1 -0
- package/dist/_next/static/chunks/904ad158fd721117.js +1 -0
- package/dist/_next/static/chunks/99063f8d79783308.js +1 -0
- package/dist/_next/static/chunks/9cd912a1967f10df.js +1 -0
- package/dist/_next/static/chunks/9dc241c9b2aa0f91.js +1 -0
- package/dist/_next/static/chunks/ad4ba491cf12423f.js +5 -0
- package/dist/_next/static/chunks/c1cfc60c17638a73.js +1 -0
- package/dist/_next/static/chunks/c52dcbe269bb02d0.js +1 -0
- package/dist/_next/static/chunks/d01957b1055b357a.js +1 -0
- package/dist/_next/static/chunks/d3e2070a86378cfb.js +1 -0
- package/dist/_next/static/chunks/d9a278a2a26e8ee5.js +1 -0
- package/dist/_next/static/chunks/dacc94cf10289334.js +1 -0
- package/dist/_next/static/chunks/eba0719a42605421.js +1 -0
- package/dist/_next/static/chunks/ebcd85ff4a1db0dc.js +5 -0
- package/dist/_next/static/chunks/f2a87f0c7c1ec9f4.js +1 -0
- package/dist/_next/static/chunks/fa677aa06f1c0539.js +1 -0
- package/dist/_next/static/chunks/fff9d250e482f00e.js +1 -0
- package/dist/_next/static/chunks/{turbopack-fd992622892ef26f.js → turbopack-030a42d60560a927.js} +1 -1
- package/dist/_next/static/chunks/{turbopack-d89adea5a8b1dc47.js → turbopack-3d84668fefd38b4b.js} +1 -1
- package/dist/_next/static/chunks/{turbopack-c6738ed405f889d3.js → turbopack-8b41433c9a94981f.js} +1 -1
- package/dist/_next/static/{sZLdRgbBZICVvq28FwOCR → fg4nA8liSSLEgWV4WTZDt}/_buildManifest.js +1 -1
- package/dist/index.html +1 -1
- package/dist/index.txt +27 -26
- package/dist/manage/about/index.html +2 -0
- package/dist/manage/about/index.txt +34 -0
- package/dist/manage/add-account/basic/index.html +2 -0
- package/dist/manage/add-account/basic/index.txt +37 -0
- package/dist/manage/add-account/index.html +2 -0
- package/dist/manage/add-account/index.txt +37 -0
- package/dist/manage/agent-teams/index.html +2 -0
- package/dist/manage/agent-teams/index.txt +37 -0
- package/dist/manage/env/index.html +2 -0
- package/dist/manage/env/index.txt +37 -0
- package/dist/manage/general/index.html +2 -0
- package/dist/manage/general/index.txt +34 -0
- package/dist/manage/index.html +1 -0
- package/dist/manage/index.txt +31 -0
- package/dist/manage/mcp/index.html +2 -0
- package/dist/manage/mcp/index.txt +37 -0
- package/dist/manage/permissions/index.html +2 -0
- package/dist/manage/permissions/index.txt +34 -0
- package/dist/manage/skills/index.html +2 -0
- package/dist/manage/skills/index.txt +37 -0
- package/dist/manage/task/index.html +2 -0
- package/dist/manage/task/index.txt +35 -0
- package/dist/manage/teams/index.html +2 -0
- package/dist/manage/teams/index.txt +35 -0
- package/dist/manage/tools/index.html +2 -0
- package/dist/manage/tools/index.txt +37 -0
- package/package.json +6 -6
- package/dist/_next/static/chunks/144582c34365b4a3.js +0 -1
- package/dist/_next/static/chunks/28e0ccfb90ce8236.js +0 -1
- package/dist/_next/static/chunks/32f1e2403e2f19ad.js +0 -1
- package/dist/_next/static/chunks/3e9de8191bf84a21.js +0 -1
- package/dist/_next/static/chunks/44cc31591bdf5683.js +0 -1
- package/dist/_next/static/chunks/52464e6ba324e8ed.js +0 -1
- package/dist/_next/static/chunks/61a0a3d64729e396.js +0 -5
- package/dist/_next/static/chunks/69c7407ef6f8340c.js +0 -1
- package/dist/_next/static/chunks/8c0da143ceae2767.js +0 -1
- package/dist/_next/static/chunks/8fe28f6505d26d57.js +0 -1
- package/dist/_next/static/chunks/91c478c455e6fe7d.js +0 -1
- package/dist/_next/static/chunks/b0c54f44d770ac39.js +0 -1
- package/dist/_next/static/chunks/b23f3d1216dcec54.js +0 -1
- package/dist/_next/static/chunks/b5241f9943854a05.js +0 -1
- package/dist/_next/static/chunks/bb79d02feaef9576.js +0 -1
- package/dist/_next/static/chunks/ca9f8762dcc69f96.js +0 -1
- package/dist/_next/static/chunks/cc5b7f377dc3de45.css +0 -1
- package/dist/_next/static/chunks/cd622961f697016c.js +0 -1
- package/dist/_next/static/chunks/da9e5c89b442680d.js +0 -1
- package/dist/_next/static/chunks/e070f5d18cd33b41.js +0 -5
- package/dist/_next/static/chunks/e3cd46a9e9e97850.js +0 -1
- package/dist/_next/static/chunks/ef1e3e3691ffdba4.js +0 -1
- package/dist/_next/static/chunks/f2835908a39a5ecd.js +0 -1
- package/dist/_next/static/chunks/fedb1cd789e83a36.js +0 -1
- package/dist/manage/about.html +0 -2
- package/dist/manage/about.txt +0 -38
- package/dist/manage/add-account/basic.html +0 -2
- package/dist/manage/add-account/basic.txt +0 -36
- package/dist/manage/add-account/prompt.html +0 -2
- package/dist/manage/add-account/prompt.txt +0 -37
- package/dist/manage/add-account.html +0 -2
- package/dist/manage/add-account.txt +0 -42
- package/dist/manage/agent-teams.html +0 -2
- package/dist/manage/agent-teams.txt +0 -42
- package/dist/manage/env.html +0 -2
- package/dist/manage/env.txt +0 -41
- package/dist/manage/general.html +0 -2
- package/dist/manage/general.txt +0 -39
- package/dist/manage/mcp.html +0 -2
- package/dist/manage/mcp.txt +0 -41
- package/dist/manage/permissions.html +0 -2
- package/dist/manage/permissions.txt +0 -39
- package/dist/manage/skills.html +0 -2
- package/dist/manage/skills.txt +0 -41
- package/dist/manage/task.html +0 -2
- package/dist/manage/task.txt +0 -39
- package/dist/manage/teams.html +0 -1
- package/dist/manage/teams.txt +0 -38
- package/dist/manage/tools.html +0 -2
- package/dist/manage/tools.txt +0 -41
- package/dist/manage.html +0 -1
- package/dist/manage.txt +0 -35
- /package/dist/_next/static/{sZLdRgbBZICVvq28FwOCR → fg4nA8liSSLEgWV4WTZDt}/_clientMiddlewareManifest.json +0 -0
- /package/dist/_next/static/{sZLdRgbBZICVvq28FwOCR → fg4nA8liSSLEgWV4WTZDt}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ds-bg:#fff;--ds-main-tint:#fbfbfc;--ds-sidebar:#f1f1f1;--ds-border:#efefef;--ds-border-hover:#efeeeb;--ds-text:#111827;--ds-muted:#6b7280;--ds-accent:#1db887;--ds-accent-hover:#18a578;--ds-item-hover:#ededed;--ds-item-active:#e8e8e8;--ds-item-bg-hover:#efeeeb;--ds-ok:#059669;--ds-danger:#dc2626;--ds-log-bg:#f8f9fb;--ds-log-border:#e5e7eb;--ds-radius:14px;--ds-radius-sm:10px;--green:#3ddc84;--green-dark:#009f6b;--green-light:#ecf7f2;--green-dim:#1a4a30;--blue:#4a9eff;--blue-dim:#0d2a4a;--amber:#ffb547;--amber-dim:#3a2a0a;--red:#ff5f5f;--red-dim:#3a1010;--purple:#b07fff;--cyan:#4ae3d4;--ts:#567;--border-light:rgba(255,255,255,.5);--border-mid:rgba(255,255,255,.18);--text-primary:#f0ede8;--text-secondary:#a8a8a2;--text-tertiary:#6e6e68;--text-placeholder:#9ca3af;--icon-color:#3f3f46;--avatar-bg:#9a3b32;--surface-1:#fff;--surface-2:#f5f5f5;--surface-3:#f9f9f9;--surface-4:#eceef2;--surface-5:#e8e8e8;--border-subtle:#eceef2;--border-default:#efefef;--border-hover:#d1d5db;--border-code:#cecece;--border-focus:var(--ds-accent);--shadow-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);--shadow-md:0 4px 16px rgba(15,23,42,.08),0 2px 4px rgba(15,23,42,.04);--shadow-lg:0 12px 40px rgba(15,23,42,.1),0 4px 12px rgba(15,23,42,.06);--shadow-float:0 20px 60px rgba(15,23,42,.15),0 8px 20px rgba(15,23,42,.08);--shadow-sidebar:2px 0 12px rgba(15,23,42,.03);--shadow-composer:0 4px 20px rgba(15,23,42,.07),0 0 0 .5px rgba(15,23,42,.06);--shadow-composer-hover:0 4px 20px rgba(15,23,42,.07),0 0 0 .5px rgba(15,23,42,.12);--shadow-composer-focus:0 12px 32px rgba(15,23,42,.18),0 0 0 .5px rgba(15,23,42,.22);--shadow-send:0 2px 8px rgba(29,184,135,.35);--btn-radius:10px;--btn-radius-sm:6px;--btn-radius-lg:14px;--btn-radius-pill:999px;--btn-height:36px;--btn-height-sm:28px;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.875rem;--text-lg:1rem;--text-xl:1.25rem;--font-display:"Sora","PingFang SC","Microsoft YaHei",sans-serif;--font-body:"DM Sans","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Consolas",monospace;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--ring-focus:0 0 0 2px var(--ds-bg),0 0 0 4px var(--ds-accent);--ring-focus-sm:0 0 0 2px rgba(29,184,135,.25);--ring-focus-inset:inset 0 0 0 2px rgba(29,184,135,.25);--ds-scrollbar:rgba(0,0,0,.15);--ds-scrollbar-hover:rgba(0,0,0,.25)}.chat-md{color:var(--ds-text)}.chat-md :first-child{margin-top:0}.chat-md :last-child{margin-bottom:0}.chat-md h1,.chat-md h2,.chat-md h3{margin:.75em 0 .35em;font-weight:600;line-height:1.5}.chat-md hr{background:var(--border-hover);border:none;height:1px}.chat-md p{margin:.5em 0;line-height:2}.chat-md ul,.chat-md ol{margin:.5em 0;padding-left:1.35rem}.chat-md ul li,.chat-md ol li{line-height:2}.chat-md pre{padding:var(--space-3)var(--space-3);background:var(--surface-3);border:1px solid var(--border-default);color:var(--ds-text);font-size:var(--text-xs);border-radius:8px;margin:.65em 0;overflow-x:auto}.chat-md pre code{color:inherit;font-size:inherit;background:0 0;padding:0;line-height:2}.chat-md code{background:var(--surface-3);color:var(--ds-text);border-radius:4px;padding:.12em .35em;font-family:ui-monospace,monospace;font-size:.84em}.chat-md table{width:-moz-fit-content;width:fit-content;min-width:100%}.chat-md table tr:last-child th,.chat-md table tr:last-child td{border-bottom:none}.chat-md table th,.chat-md table td{text-align:left;border-bottom:1px solid var(--ds-border);padding:.8em 1em}.chat-md .chat-code-block{border:none;border-radius:10px;margin:0 0 .65em;overflow:hidden}.chat-md .chat-code-block pre{border:none;border-radius:0;margin:0;background:var(--surface-3)!important}.chat-md .chat-code-head{background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.05);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chat-md .chat-code-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ds-text);font-family:ui-monospace,monospace}.chat-md .chat-code-copy-btn{border:1px solid var(--border-default);background:var(--surface-5);color:var(--ds-text);font-size:var(--text-xs);padding:var(--space-1)var(--space-2);cursor:pointer;border-radius:6px;line-height:1;transition:all .15s}.chat-md .chat-code-copy-btn:hover{background:var(--surface-4)}.chat-md .chat-code-copy-btn.is-copied{border-color:var(--ds-ok);color:var(--ds-ok)}.chat-md blockquote{border-left:3px solid var(--border-hover);color:var(--ds-muted);margin:1em 0;padding-left:.85rem}.dark .chat-md code{background:rgba(255,255,255,.08)}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ds-bg:#0f1117;--ds-main-tint:#16181d;--ds-sidebar:#1a1d23;--ds-border:#2a2d35;--ds-border-hover:#3a3d45;--ds-text:#e8e8ec;--ds-muted:#8b8d96;--ds-accent:#2dd4a8;--ds-accent-hover:#34d399;--ds-item-hover:#23262e;--ds-item-active:#2a2d38;--ds-item-bg-hover:#262930;--ds-ok:#34d399;--ds-danger:#f87171;--ds-log-bg:#1a1d23;--ds-log-border:#2a2d35;--font-display:"Sora","PingFang SC","Microsoft YaHei",sans-serif;--font-body:"DM Sans","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Consolas",monospace;--text-placeholder:#6b7280;--icon-color:#a1a1aa;--surface-1:#16181d;--surface-2:#1e2128;--surface-3:#262930;--surface-4:#2f3340;--border-subtle:#2a2d35;--border-default:#2a2d35;--border-hover:#3f4250;--text-primary:#e8e8ec;--text-secondary:#8b8d96;--shadow-sm:0 1px 3px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.15);--shadow-md:0 4px 16px rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.2);--shadow-lg:0 12px 40px rgba(0,0,0,.3),0 4px 12px rgba(0,0,0,.25);--shadow-float:0 20px 60px rgba(0,0,0,.4),0 8px 20px rgba(0,0,0,.3);--shadow-sidebar:2px 0 12px rgba(0,0,0,.3);--shadow-composer:0 .25rem 1.25rem rgba(0,0,0,.3),0 0 0 .5px rgba(255,255,255,.06);--shadow-composer-hover:0 .25rem 1.25rem rgba(0,0,0,.3),0 0 0 .5px rgba(255,255,255,.1);--shadow-composer-focus:0 .75rem 2rem rgba(0,0,0,.65),0 0 0 .5px rgba(255,255,255,.2);--shadow-send:0 2px 8px rgba(45,212,168,.35);--ring-focus-sm:0 0 0 2px rgba(45,212,168,.25);--ring-focus-inset:inset 0 0 0 2px rgba(45,212,168,.25);--ds-scrollbar:rgba(255,255,255,.15);--ds-scrollbar-hover:rgba(255,255,255,.25);--btn-radius:10px;--btn-radius-sm:6px;--btn-radius-lg:14px;--btn-radius-pill:999px;--btn-height:36px;--btn-height-sm:28px;--text-xs:.75rem;--text-sm:.875rem;--text-base:.9rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--ds-scrollbar)transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--ds-scrollbar);border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--ds-scrollbar-hover)}html{scroll-behavior:smooth}html,body{height:100%;margin:0}body{font-family:var(--font-body);background:var(--ds-bg);color:var(--ds-text);line-height:1.5;overflow:hidden}a{color:var(--ds-accent)}.app{height:100%;min-height:0;display:flex}.app .lucide{width:16px;height:16px;color:var(--icon-color)}.stage-thread-flyout{border-left:0 solid var(--ds-border);background:var(--surface-2);flex-shrink:0;width:0;min-height:0;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.stage-thread-flyout.is-open{width:var(--stage-flyout-width,360px);border-left-width:1px}.stage-thread-flyout-inner{width:var(--stage-flyout-width,360px);flex-direction:column;height:100%;min-height:0;display:flex}.stage-thread-flyout-header{align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-3)var(--space-2);border-bottom:1px solid var(--ds-border);flex-shrink:0;display:flex}.stage-thread-flyout-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-base);color:var(--ds-text);flex:1;margin:0;font-weight:600;line-height:1.4;overflow:hidden}.stage-thread-flyout-close{flex-shrink:0}.stage-thread-flyout-body{min-height:0;padding:var(--space-3);flex:1;overflow-y:auto}.sidebar{background:var(--surface-2);border-right:1px solid var(--ds-border);width:min(288px,42vw);min-width:0;box-shadow:var(--shadow-sidebar);flex-direction:column;flex-shrink:0;display:flex}.sidebar.is-collapsed{width:52px}.sidebar-collapsed-actions{align-items:center;gap:var(--space-2);padding-top:var(--space-3);flex-direction:column;flex:1;display:flex}.sidebar-collapsed-icon-btn{cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:inline-flex}.sidebar-collapsed-icon-btn:hover{background:var(--surface-3)}.sidebar-collapsed-icon-btn:focus-visible{box-shadow:var(--ring-focus);outline:none}.sidebar-brand{padding:var(--space-4)var(--space-4)var(--space-3);border-bottom:1px solid var(--ds-border);flex-shrink:0}.sidebar-brand-title-row{align-items:center;gap:.25rem;min-width:0;display:flex}.sidebar-brand .logo{min-width:0;font-size:var(--text-lg);color:var(--ds-text);letter-spacing:-.02em;flex:1;font-weight:700;line-height:1.2}.sidebar-brand-ws{margin-top:var(--space-2);border-top:1px solid var(--ds-border);padding-top:.45rem}.sidebar-brand-ws-title{font-size:var(--text-xs);color:var(--ds-text);margin-bottom:var(--space-1);letter-spacing:.02em;font-weight:600}.sidebar-brand-ws-label{font-size:var(--text-xs);color:var(--ds-muted);margin-bottom:var(--space-1);display:block}.sidebar-brand-model-input{box-sizing:border-box;width:100%;margin-bottom:var(--space-1)}.btn-bind-save--brand{padding:var(--space-1)var(--space-2);border-radius:var(--btn-radius-sm);font-size:var(--text-xs);margin-top:0}.sidebar-icon-btn{border-radius:var(--btn-radius-sm);width:1.85rem;height:1.85rem;color:var(--ds-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;transition:all .35s;display:inline-flex}.sidebar-icon-btn:hover{background:var(--ds-item-bg-hover)}.sidebar-icon-btn:focus-visible{box-shadow:var(--ring-focus);outline:none}.sidebar-icon-btn svg{display:block}.sidebar-icon-btn .ic{font-size:var(--text-lg);color:currentColor;font-weight:300;line-height:1}.btn-primary{box-sizing:border-box;height:34px;padding:0 var(--space-4);border-radius:var(--btn-radius);background:var(--ds-accent);color:#fff;cursor:pointer;font-weight:500;font-size:var(--text-sm);border:none;justify-content:center;align-items:center;margin:0;display:inline-flex}.btn-primary:hover{background:var(--ds-accent-hover)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.sidebar-drawer-meta{font-size:var(--text-xs);color:var(--ds-muted);padding:0 var(--space-1)var(--space-2);border-bottom:1px solid var(--ds-log-border);margin-bottom:var(--space-1);flex-shrink:0;line-height:1.45}#sessionList{min-height:0;padding:var(--space-1)0 var(--space-1);flex:1;overflow-x:hidden;overflow-y:auto}.session-group-label{font-size:var(--text-xs);color:var(--ds-muted);padding:var(--space-2)var(--space-1)var(--space-1);font-weight:500}.sidebar-drawer-item{border-radius:var(--ds-radius-sm);margin:var(--space-1)0;border:1px solid transparent;align-items:center;transition:background .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}.sidebar-drawer-item:hover{background:var(--ds-item-active)}.sidebar-drawer-list{padding:var(--space-1)0 var(--space-1);flex-direction:column;display:flex}.sidebar-drawer-item-label{min-width:0;padding:var(--space-2)var(--space-1)var(--space-2)var(--space-3);font-size:var(--text-sm);color:var(--ds-text);word-break:break-word;flex:1;align-items:center;font-family:ui-monospace,monospace;font-weight:500;display:flex}.sidebar-drawer-empty{font-size:var(--text-xs);color:var(--ds-muted);padding:var(--space-2)var(--space-2)var(--space-2);line-height:1.45}.session-item.active{background:var(--ds-item-active);box-shadow:var(--shadow-sm)}.session-item-main{min-width:0;padding:var(--space-1-5)var(--space-1)var(--space-1-5)var(--space-3);cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:none;flex:1}.session-item-title{font-size:var(--text-base);color:var(--ds-text);-webkit-line-clamp:1;word-break:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.session-item-sub{font-size:var(--text-xs);color:var(--ds-muted);margin-top:.2rem;font-family:ui-monospace,monospace}.session-menu-wrap{padding:2px var(--space-3)0 0;opacity:0;pointer-events:none;flex-shrink:0;align-items:flex-start;transition:opacity .15s;display:flex;position:relative}.sidebar-drawer-item:hover .session-menu-wrap,.session-item.active .session-menu-wrap{opacity:1;pointer-events:auto}.session-menu-btn{color:var(--ds-muted);cursor:pointer;font-size:var(--text-lg);letter-spacing:.06em;opacity:.65;background:0 0;border:none;padding:0;font-weight:500}.sidebar-drawer-item:hover .session-menu-btn,.session-item.active .session-menu-btn,.session-menu-wrap.open .session-menu-btn{opacity:1;color:var(--ds-text)}.session-menu-btn:focus-visible{opacity:1;color:var(--ds-text)}.session-dropdown{z-index:80;background:var(--ds-bg);border:1px solid var(--ds-border);min-width:9.5rem;box-shadow:var(--shadow-md);padding:var(--space-1)0;border-radius:10px;display:none;position:absolute;top:2rem;right:.15rem}.session-menu-wrap.open .session-dropdown{display:block}.session-dropdown button{text-align:left;width:100%;padding:var(--space-2)var(--space-3);border-radius:var(--btn-radius-sm);color:var(--ds-text);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;display:block}.session-dropdown button:hover{background:var(--ds-item-hover)}.session-dropdown button.danger{color:var(--ds-danger);background:color-mix(in srgb,var(--ds-danger)8%,transparent);border:1px solid color-mix(in srgb,var(--ds-danger)30%,transparent)}.dark .session-dropdown button.danger{background:color-mix(in srgb,var(--ds-danger)12%,transparent);border:1px solid color-mix(in srgb,var(--ds-danger)40%,transparent)}.sidebar-drawers{flex-direction:column;flex:1;min-height:0;display:flex;overflow-x:hidden;overflow-y:auto}details.sidebar-drawer{z-index:0;flex-direction:column;flex:none;min-height:0;display:flex;position:relative}details.sidebar-drawer[open]{z-index:1}details.sidebar-drawer>summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:36px;padding:var(--space-1)var(--space-3);font-size:var(--text-xs);color:var(--ds-text);justify-content:space-between;align-items:center;gap:.5rem;margin:.35rem .25rem 0;font-weight:600;list-style:none;display:flex;position:relative}details.sidebar-drawer>summary::-webkit-details-marker{display:none}details.sidebar-drawer>summary:hover{background:#f1f1f1;border-radius:16px}.drawer-summary-title{letter-spacing:-.01em}.drawer-chevron{font-size:var(--text-xs);color:var(--ds-muted);flex-shrink:0;transition:transform .2s}details.sidebar-drawer:not([open])>summary .drawer-chevron{transform:rotate(-90deg)}details.sidebar-drawer .sidebar-drawer-body{padding:0 var(--space-3)var(--space-3);overflow:auto}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}details.sidebar-drawer[open] .sidebar-drawer-body{animation:.2s ease-out fadeSlideUp}details.sidebar-drawer .sidebar-drawer-body.sidebar-drawer-body--tools,details.sidebar-drawer .sidebar-drawer-body.sidebar-drawer-body--skills,details.sidebar-drawer .sidebar-drawer-body.sidebar-drawer-body--mcp{max-height:none;overflow:visible}.drawer-bind-block--solo .sidebar-drawer-list.agent-bind-chips{min-height:200px;max-height:min(40vh,400px);overflow-x:hidden;overflow-y:auto}.sidebar-drawer-body--sessions{flex-direction:column;padding-bottom:.5rem;display:flex;overflow:hidden}.session-summary-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.sidebar-drawer-body--tools,.sidebar-drawer-body--skills,.sidebar-drawer-body--mcp{flex-direction:column;display:flex}.agent-md-editor{min-height:min(50vh,420px);padding:var(--space-3)var(--space-4);resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--text-sm);color:var(--ds-text);background:var(--ds-log-bg);box-sizing:border-box;border:none;flex:1;margin:0;line-height:1.5}.tool-files-meta{font-size:var(--text-xs);color:var(--ds-muted);word-break:break-all}.tool-files-state{font-size:var(--text-sm);color:var(--ds-muted);padding:var(--space-2)var(--space-1)}.tool-files-list{flex-direction:column;gap:.5rem;display:flex}.tool-files-item{border:1px solid var(--ds-border);background:var(--ds-bg);padding:var(--space-2)var(--space-3);border-radius:10px;justify-content:space-between;align-items:center;gap:.7rem;display:flex}.tool-files-main{flex:1;min-width:0}.tool-files-name{font-size:var(--text-lg);color:var(--ds-text);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:hidden}.tool-files-sub{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--ds-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tool-files-download{box-sizing:border-box;height:34px;padding:0 var(--space-3);border-radius:var(--btn-radius);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-sm);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.runtime-pkg-row-actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.runtime-pkg-row-action{box-shadow:none;color:var(--ds-accent);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-weight:400;line-height:1.25}.agent-md-editor:focus{box-shadow:var(--ring-focus-inset);outline:none}.tool-files-download:hover:not(:disabled){border-color:var(--ds-item-hover);background:var(--ds-item-hover);color:var(--ds-accent)}.tool-files-download:disabled{opacity:.45;cursor:not-allowed}.runtime-pkg-row-action:hover:not(:disabled){color:var(--ds-accent);background:0 0;border:none}.runtime-pkg-row-action:disabled{opacity:.45;cursor:not-allowed;color:var(--ds-accent)}.env-form-table-body{flex:1;min-height:min(46vh,420px);max-height:min(58vh,560px);padding:0;overflow-x:hidden;overflow-y:auto}.env-form-group-title{padding:0 var(--space-1);font-size:var(--text-xs);color:var(--ds-text);border-left:3px solid var(--ds-accent);padding-left:var(--space-2);margin:.65rem 0 .45rem;font-weight:600}.env-form-group-title:first-child{margin-top:.15rem}.env-form-row{margin-bottom:var(--space-2);grid-template-columns:minmax(200px,38%) 1fr;align-items:center;gap:.65rem .85rem;display:grid}.env-form-label{font-size:var(--text-xs);color:var(--ds-text);text-align:right;padding-right:var(--space-1);word-break:break-word;line-height:1.35}.env-form-field{min-width:0}.env-form-value{box-sizing:border-box;width:100%;padding:var(--space-2)var(--space-2);border:1px solid var(--ds-border);font-size:var(--text-xs);background:var(--ds-bg);color:var(--ds-text);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.env-form-value:focus{border-color:var(--border-focus);box-shadow:var(--ring-focus-sm);outline:none}.btn-env-design{padding:var(--space-1)var(--space-3);border-radius:var(--btn-radius);color:var(--ds-accent);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;font-family:inherit;display:inline-flex}.btn-env-design:hover{background:var(--surface-3)}.btn-env-design:focus-visible{box-shadow:var(--ring-focus);outline:none}.btn-env-design--icon{width:28px;height:28px;padding:0}.btn-agent-md-cancel{box-sizing:border-box;height:34px;padding:0 var(--space-3);border-radius:var(--btn-radius);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-sm);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.btn-agent-md-cancel:hover{background:var(--ds-item-hover)}.main{background:var(--ds-main-tint);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.main.manage-main{padding:clamp(var(--space-4),3vw,var(--space-6))}.manage-page-title{font-size:var(--text-xl);color:var(--ds-text);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.3}.manage-page-desc{font-size:var(--text-base);color:var(--ds-muted);margin-top:var(--space-2);word-break:break-all;font-family:inherit}.main.is-draft-session .composer{padding:var(--space-5)0 var(--space-6);flex:1;justify-content:center;align-items:center;display:flex}.main.is-draft-session .composer-inner.is-draft-session{flex-direction:column;justify-content:center;display:flex}.main-header{padding:var(--space-4)clamp(var(--space-4),3vw,var(--space-6))var(--space-4);background:var(--ds-bg);flex-shrink:0}.main-header-top{flex-wrap:wrap;align-items:flex-start;gap:.5rem .75rem;display:flex}.system-settings{padding:var(--space-1)var(--space-2);border:1px solid var(--ds-border);background:var(--ds-main-tint);border-radius:10px;align-items:center;gap:.45rem;margin-left:auto;display:inline-flex}.system-settings-label{color:var(--ds-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.system-settings-label svg{display:block}.system-settings-icon-btn{border:1px solid var(--ds-border);width:1.95rem;height:1.95rem;color:var(--ds-muted);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.system-settings-icon-btn:hover{color:var(--ds-text);background:var(--ds-item-hover);border-color:var(--border-hover)}.system-settings-icon-btn:focus-visible{box-shadow:var(--ring-focus);outline:none}.system-settings-icon-btn svg{display:block}.btn-system-settings{box-sizing:border-box;height:34px;padding:0 var(--space-2);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);border-radius:var(--btn-radius);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.btn-system-settings:hover{background:var(--ds-item-hover)}.main-header h1{font-size:var(--text-md);color:var(--ds-text);letter-spacing:-.02em;margin:0;font-weight:400;line-height:1.3}.main-header .mode-pill{font-size:var(--text-xs);color:var(--ds-muted);padding:var(--space-1)var(--space-2);background:var(--ds-main-tint);border:1px solid var(--ds-border);border-radius:999px;align-items:center;font-weight:500;display:inline-flex}.main-header .sub{font-size:var(--text-xs);color:var(--ds-muted);margin-top:var(--space-2);word-break:break-all;padding:var(--space-1)var(--space-2);border-radius:var(--ds-radius-sm);background:var(--ds-log-bg);border:1px solid var(--ds-log-border);max-width:100%;font-family:ui-monospace,monospace}.main-header .sub:empty{display:none}.main-scroll{scrollbar-gutter:stable;flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow-x:hidden;overflow-y:auto}.main-body{flex-direction:column;flex:none;width:100%;display:flex}.chat-thread{width:100%;max-width:800px;padding:var(--space-3)clamp(var(--space-3),2vw,var(--space-6))var(--space-4);box-sizing:border-box;flex:none;margin-left:auto;margin-right:auto;overflow:visible}.chat-placeholder{font-size:var(--text-sm);color:var(--ds-muted);text-align:center;padding:var(--space-8)var(--space-4);max-width:800px;margin:0 auto}@keyframes msgIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.chat-msg{max-width:100%;padding:var(--space-1)var(--space-1);border-radius:var(--ds-radius-sm);line-height:1.55;font-size:var(--text-base);animation:.25s ease-out both msgIn}.chat-streaming{animation:none}.chat-msg-user{white-space:pre-wrap;word-break:break-word}.chat-msg-system{color:#92400e;font-size:var(--text-sm);background:#fffbeb;border:1px solid #fde68a}.dark .chat-msg-system{color:#fbbf24;background:rgba(180,120,0,.12);border-color:rgba(251,191,36,.25)}.chat-msg-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ds-muted);margin:0 var(--space-3).35rem;align-items:center;gap:2px;font-weight:600;display:inline-flex}.schedule-tool-card{border:1px solid color-mix(in srgb,var(--ds-accent)30%,var(--ds-border));border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--ds-accent)10%,var(--ds-main-tint));color:var(--ds-text);margin:.375rem 0;padding:.625rem .75rem}.schedule-tool-card.is-fired{opacity:.82}.schedule-tool-card.is-error{border-color:color-mix(in srgb,var(--ds-danger)45%,var(--ds-border));background:color-mix(in srgb,var(--ds-danger)10%,var(--ds-main-tint))}.schedule-tool-card-head{font-size:var(--text-sm);align-items:center;gap:.375rem;font-weight:600;display:flex}.schedule-tool-card-id{color:var(--ds-muted);font-family:var(--font-mono);font-size:var(--text-xs);margin-left:auto}.schedule-tool-card-prompt{border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--ds-bg)55%,transparent);margin-top:.5rem;padding:.5rem}.schedule-tool-card-prompt-label{color:var(--ds-muted);font-size:var(--text-xs);margin-bottom:.125rem}.schedule-tool-card-prompt-body{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:var(--text-sm)}.schedule-tool-card-meta{color:var(--ds-muted);font-size:var(--text-xs);flex-wrap:wrap;gap:.375rem .75rem;margin-top:.5rem;display:flex}.schedule-tool-card-meta em{color:var(--ds-text);font-style:normal}.schedule-tool-card-error{border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--ds-danger)12%,transparent);color:var(--ds-danger);font-size:var(--text-sm);margin-top:.5rem;padding:.5rem}.scheduled-turn{margin:.875rem 0}.scheduled-turn-divider{color:var(--ds-muted);font-size:var(--text-xs);align-items:center;gap:.5rem;display:flex}.scheduled-turn-divider:before,.scheduled-turn-divider:after{content:"";border-top:1px dashed color-mix(in srgb,var(--border-default)30%,var(--border-hover));flex:1;height:1px}.scheduled-turn-divider em{font-style:normal}.scheduled-turn-task-id{color:var(--ds-muted);font-family:var(--font-mono)}.scheduled-turn-dispatch{border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--border-light)8%,var(--ds-border));margin:.5rem 0 .75rem;padding:.5rem .75rem}.scheduled-turn-dispatch-head{color:var(--ds-muted);font-size:var(--text-xs);align-items:center;gap:.25rem;margin-bottom:.25rem;font-weight:600;display:flex}.scheduled-turn-dispatch-body{white-space:pre-wrap;word-break:break-word;color:var(--ds-text);font-family:var(--font-mono);font-size:var(--text-sm)}.scheduled-turn-body{flex-direction:column;gap:.75rem;display:flex}.chat-streaming .stream-pulse{display:none}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.stream-cursor{background:var(--ds-accent);border-radius:6px;flex-shrink:0;width:6px;height:6px;animation:1s ease-in-out infinite cursorBlink;display:inline-block}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes streamDot{0%,to{opacity:.35}50%{opacity:1}}.loading-sweep{background:linear-gradient(90deg,#555 0%,#555 40%,#fff 50%,#555 60%,#555 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite sweep}@keyframes sweep{0%{background-position:100% 0}to{background-position:-100% 0}}details.raw-log-drawer{border-top:1px solid var(--ds-border);background:var(--ds-bg);flex-shrink:0}details.raw-log-drawer>summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:var(--space-2)clamp(var(--space-3),2vw,var(--space-6));font-size:var(--text-xs);color:var(--ds-muted);background:var(--ds-main-tint);justify-content:space-between;align-items:center;font-weight:500;list-style:none;display:flex}details.raw-log-drawer>summary::-webkit-details-marker{display:none}details.raw-log-drawer>summary:hover{color:var(--ds-text)}details.raw-log-drawer[open]>summary{border-bottom:1px solid var(--ds-border)}.raw-log-chevron{font-size:var(--text-xs);transition:transform .2s}details.raw-log-drawer[open] .raw-log-chevron{transform:rotate(-180deg)}.raw-log-body{flex-direction:column;max-height:min(32vh,320px);display:flex;overflow:hidden}#log{min-height:0;max-height:min(32vh,320px);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;padding:var(--space-3)clamp(var(--space-3),2vw,var(--space-6));background:var(--ds-log-bg);color:#374151;border:none;flex:1;margin:0;line-height:1.45;overflow:auto}label.f{font-size:var(--text-xs);color:var(--ds-muted);margin-bottom:var(--space-1);display:block}.ws-config-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#status.conn-status{font-size:var(--text-sm);color:var(--ds-muted);line-height:1.45}#status.conn-status.ready{color:var(--ds-ok);font-weight:500}#status.conn-status.err{color:var(--ds-danger);font-weight:500}.api-retry-banner{padding:var(--space-2)var(--space-3);background:#fff8e8;border:1px solid #f1d7a1;border-radius:10px}.api-retry-banner-text{font-size:var(--text-xs);color:#8a5a11}.api-retry-banner-progress{background:rgba(138,90,17,.18);border-radius:999px;height:4px;margin-top:6px;overflow:hidden}.api-retry-banner-progress>span{background:#d69a2c;height:100%;display:block}.api-retry-failed{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:#fff4f4;border:1px solid #f3c5c5;border-radius:10px;display:flex}.api-retry-failed-text{font-size:var(--text-xs);color:#b13c3c}.api-retry-failed-btn{border-radius:var(--btn-radius);background:var(--surface-1);color:#8d2f2f;font-size:var(--text-xs);padding:var(--space-2)var(--space-3);border:1px solid #e4b1b1;line-height:1}.api-retry-failed-btn:hover{background:#fff7f7}.prompt-session-info{font-size:var(--text-xs);color:var(--ds-muted);white-space:nowrap;text-overflow:ellipsis;text-align:right;flex-shrink:1;min-width:0;max-width:62%;font-family:ui-monospace,monospace;overflow:hidden}.composer{padding:var(--space-2)0 var(--space-3);background:var(--ds-main-tint);flex-shrink:0}.composer-inner{width:100%;padding:0 clamp(var(--space-3),2vw,var(--space-6));margin:0}.composer-tool-files-inline{border:1px solid var(--border-default);background:var(--surface-2);border-bottom:none;border-radius:8px 8px 0 0;margin:0 .95rem;overflow:hidden}.composer-tool-files-inline-head{padding:var(--space-1)var(--space-3)0;font-size:var(--text-xs);color:var(--ds-text);align-items:center;gap:.35rem;display:flex}.composer-tool-files-inline-chevron{color:var(--ds-muted);transition:transform .28s;display:inline-flex}.composer-tool-files-inline-chevron.is-expanded{transform:rotate(90deg)}.composer-tool-files-inline-panel-wrap{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.composer-tool-files-inline.is-expanded .composer-tool-files-inline-panel-wrap{grid-template-rows:1fr}.composer-tool-files-inline-panel-inner{min-height:0;overflow:hidden}.composer-tool-files-inline-title{font-weight:400}.composer-tool-files-inline-loading{font-size:var(--text-xs);color:var(--ds-muted);margin-left:auto}.composer-tool-files-inline-panel{padding:0 var(--space-2);opacity:0;border-top:1px solid transparent;transition:opacity .22s,padding .28s,border-color .28s}.composer-tool-files-inline.is-expanded .composer-tool-files-inline-panel{border-top-color:var(--ds-border);padding:var(--space-2)var(--space-2);opacity:1}.composer-tool-files-inline-list{flex-direction:column;gap:.35rem;max-height:220px;display:flex;overflow-y:auto}.composer-tool-files-inline-item{padding:var(--space-2)var(--space-2)0;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.composer-tool-files-inline-main{align-items:baseline;gap:.45rem;min-width:0;display:flex}.composer-tool-files-inline-name{max-width:100%;font-size:var(--text-xs);color:var(--ds-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.composer-tool-files-inline-size{font-size:var(--text-xs);color:var(--ds-muted);flex-shrink:0}.composer-tool-files-inline-download{border-radius:var(--btn-radius);width:28px;height:28px;color:var(--ds-text);background:var(--surface-1);justify-content:center;align-items:center;display:inline-flex}.composer-tool-files-inline-download:hover{background:var(--ds-item-hover)}.composer-tool-files-inline-state{padding:var(--space-1)var(--space-1);font-size:var(--text-sm);color:var(--ds-muted)}.composer-tool-files-inline-state.is-error{color:var(--ds-danger)}.composer-card{border-color:var(--border-hover);background:var(--surface-1);padding:var(--space-3);border-radius:20px;transition:box-shadow .2s,border-color .2s}.composer-card.is-draft-session{min-height:100px}.composer-draft-title{margin-bottom:var(--space-2);padding-left:var(--space-1);font-size:var(--text-xl);color:var(--ds-text);font-weight:600;line-height:1.2}.composer-card:focus-within{border-color:var(--border-default)}.composer-card label.f{margin-bottom:var(--space-1);padding-left:var(--space-2);color:#4b5563;font-weight:500}.composer-input-shell{align-items:center;gap:.4rem;display:flex}.composer-card textarea#prompt{resize:none;min-height:30px;max-height:180px;font:inherit;font-size:var(--text-base);padding:var(--space-1)var(--space-1);color:var(--ds-text);background:0 0;border:none;border-radius:0;outline:none;flex:1;line-height:1.4}.composer-card textarea#prompt::placeholder{color:var(--text-placeholder)}.composer-tools-left{flex:1;align-items:center;gap:.35rem;min-width:0;display:flex}.composer-tools-right{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.composer-model-field{width:180px;position:relative}.composer-model-input{box-sizing:border-box;width:180px;height:2.2rem;padding:0 var(--space-2);border:1px solid var(--ds-border);background:var(--ds-main-tint);color:var(--ds-text);font-size:var(--text-xs);border-radius:8px;outline:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.composer-model-input::placeholder{color:var(--text-placeholder);font-family:inherit}.composer-allow-ask-select,.composer-mode-select{box-sizing:border-box;width:78px;height:2.2rem;padding:0 var(--space-2);border:1px solid var(--ds-border);background:var(--ds-main-tint);color:var(--ds-text);font-size:var(--text-xs);border-radius:8px;outline:none;transition:border-color .12s,background-color .12s,box-shadow .12s}.composer-mode-select{width:140px}.composer-allow-ask-select:hover,.composer-mode-select:hover{border-color:var(--border-hover);background:var(--surface-2)}.composer-allow-ask-select[data-state=open],.composer-mode-select[data-state=open]{border-color:var(--border-focus);box-shadow:var(--ring-focus-sm)}.composer-allow-ask-select:focus-visible{border-color:var(--border-focus);box-shadow:var(--ring-focus-sm)}.composer-mode-select:focus-visible{border-color:var(--border-focus);box-shadow:var(--ring-focus-sm)}.composer-model-suggestions{padding:var(--space-1)0;border:1px solid var(--ds-border);background:var(--ds-bg);max-height:min(220px,32vh);box-shadow:var(--shadow-md);z-index:50;border-radius:10px;margin:0 0 4px;list-style:none;display:none;position:absolute;bottom:100%;left:0;right:0;overflow:auto}.composer-model-suggestions.is-open{display:block}.composer-model-suggestions li{padding:var(--space-2)var(--space-2);font-size:var(--text-xs);cursor:pointer;color:var(--ds-text);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:hidden}.composer-model-suggestions li:hover,.composer-model-suggestions li.is-active{background:var(--ds-item-active);color:var(--ds-accent)}.composer-model-suggestions .composer-model-suggest-empty{color:var(--ds-muted);cursor:default;font-family:inherit}.composer-model-suggestions .composer-model-suggest-empty:hover{color:var(--ds-muted);background:0 0}.composer-plus-btn,.composer-icon-btn{color:#3f3f46;cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.composer-plus-btn:hover{background:var(--surface-3)}.composer-icon-btn:hover:not(:disabled){background:0 0}.composer-icon-btn:disabled{opacity:.4;cursor:not-allowed}.btn-send-circle{background:var(--ds-accent);width:2rem;height:2rem;color:var(--surface-1);font-size:var(--text-lg);cursor:pointer;box-shadow:var(--shadow-send);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.btn-send-circle:hover:not(:disabled){background:var(--ds-accent-hover)}.btn-send-circle:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-abort-text{padding:var(--space-1)var(--space-3);border-radius:var(--btn-radius);color:var(--ds-muted);font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid transparent}.btn-abort-text:hover:not(:disabled){color:var(--ds-text);background:var(--ds-sidebar)}.btn-abort-text:disabled{opacity:.4;cursor:not-allowed}.page-footer-note{text-align:center;font-size:var(--text-xs);color:var(--ds-muted);padding:var(--space-2)var(--space-4)0;letter-spacing:.02em}.page-footer-note--compact{font-size:var(--text-xs);padding:var(--space-1)var(--space-3)0;letter-spacing:.01em}.main-scroll-draft{flex:1;min-height:0}.main-body-draft{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.draft-session-hero{min-width:0}.main-header-action-btn{font-size:var(--text-xs);padding:var(--space-1)var(--space-3);border-radius:var(--btn-radius);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-muted);cursor:not-allowed;opacity:.65}.composer-draft-pill{border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-sm);padding:var(--space-1)var(--space-3);cursor:pointer;border-radius:999px;transition:background .15s,border-color .15s}.composer-draft-pill:hover{background:var(--ds-item-hover);border-color:var(--border-hover)}.drawer-bind-block{margin-bottom:var(--space-2);border-bottom:1px solid var(--ds-border);font-size:var(--text-xs);padding-bottom:.5rem}.drawer-bind-block--solo{border-bottom:none;margin-bottom:0;padding-bottom:0}.drawer-bind-head{justify-content:space-between;align-items:center;gap:.35rem;display:flex}.drawer-bind-head.sidebar-drawer-meta{font-size:var(--text-xs);padding-top:.15rem}.drawer-bind-head strong{color:var(--ds-text);font-weight:600}.agent-bind-model-input{box-sizing:border-box;width:100%;padding:var(--space-1);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-xs);border-radius:2px}.btn-bind-save{margin-top:var(--space-1);width:100%;padding:var(--space-2)var(--space-1);border-radius:var(--btn-radius-sm);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-xs);cursor:pointer}.btn-bind-save:hover:not(:disabled){background:var(--ds-main-tint)}.btn-bind-save:disabled{opacity:.5;cursor:not-allowed}.agent-picker-search{box-sizing:border-box;width:100%;padding:var(--space-2);border:1px solid var(--ds-border);font-size:var(--text-xs);border-radius:8px}.agent-picker-scroll{max-height:min(42vh,280px);padding:var(--space-1)var(--space-3);overflow:auto}.agent-picker-item{padding:var(--space-3)0;border-bottom:1px solid rgba(92,91,91,.06);align-items:flex-start;gap:.45rem;display:flex}.agent-picker-item:last-child{border-bottom:none}.agent-picker-item label{cursor:pointer;font-size:var(--text-xs);flex:1;line-height:1.35}.status-dot{border-radius:9999px;flex-shrink:0;width:4px;height:4px;display:inline-block;position:relative}.net-status-online{color:var(--ds-ok);background-color:var(--ds-ok)}.net-status-online:after{border:1px solid var(--ds-ok);content:"";border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite antStatusProcessing;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.net-status-error{color:#9b4040;background-color:#9b4040}.net-status-idle{color:#e0e0e0;background-color:#e0e0e0}@keyframes antStatusProcessing{0%{opacity:.9;transform:translate(-50%,-50%)scale(.8)}70%{opacity:.2;transform:translate(-50%,-50%)scale(1.2)}to{opacity:0;transform:translate(-50%,-50%)scale(1.2)}}.tool-running-gradient{color:transparent;background-image:linear-gradient(90deg,#343d52 0%,#6b7280 35%,#343d52 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:1.4s linear infinite toolRunningGradientShift}@keyframes toolRunningGradientShift{0%{background-position:0%}to{background-position:200%}}.type-badge{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:2px;padding:1px 6px;font-weight:500}.badge-connect{color:var(--red);background:rgba(255,95,95,.15)}.badge-session{color:var(--blue);background:rgba(74,158,255,.15)}.badge-messages{color:var(--purple);background:rgba(176,127,255,.15)}.badge-ready{color:var(--green);background:rgba(61,220,132,.15)}.badge-turn{color:var(--amber);background:rgba(255,181,71,.15)}.chat-agent-timeline .agent-timeline-label-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.chat-agent-timeline .agent-timeline-label-hint{font-size:var(--text-xs);color:var(--ds-muted,var(--color-text-tertiary,#6b7280))}.chat-agent-timeline .tag{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:2px 7px;font-weight:500}.chat-agent-timeline .tag-tool{color:#185fa5;background:#e6f1fb}.chat-agent-timeline .tag-text{color:#3b6d11;background:#eaf3de}.chat-agent-timeline .tag-final{color:#854f0b;background:#faeeda}.chat-agent-timeline .agent-timeline-thinking{font-size:var(--text-sm);color:var(--ds-text,var(--color-text-primary,#111));padding:2px 0;line-height:1.75}.chat-agent-timeline .agent-timeline-thinking--final{color:var(--ds-muted,var(--color-text-secondary,#6b7280))}.chat-agent-timeline .agent-timeline-thinking code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);background:var(--ds-surface-2,var(--color-background-secondary,#f3f4f6));color:var(--ds-text,var(--color-text-primary,#111));border-radius:4px;padding:1px 5px}.chat-agent-timeline .agent-timeline-tool-panel{background:var(--ds-bg,var(--color-background-primary,#fff));border:.5px solid rgba(0,0,0,.1);border-radius:8px;overflow:hidden}.chat-agent-timeline .agent-timeline-tool-panel--running{border-color:rgba(34,48,68,.55)}.chat-agent-timeline .agent-timeline-tool-panel--error{border-color:rgba(163,45,45,.45)}.chat-agent-timeline .agent-timeline-tool-panel--done{border-color:rgba(0,0,0,.12)}.chat-agent-timeline .agent-timeline-tool-header{background:var(--ds-surface-2,var(--color-background-secondary,#f5f5f5));width:100%;padding:var(--space-2)var(--space-3);text-align:left;border:0;justify-content:space-between;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;transition:color .15s,background .15s;display:flex}.chat-agent-timeline .agent-timeline-tool-header--running{color:#185fa5;background:#e6f1fb}.chat-agent-timeline .agent-timeline-tool-header--running .agent-timeline-tool-meta,.chat-agent-timeline .agent-timeline-tool-header--running .agent-timeline-tool-calls{color:rgba(24,95,165,.88)}.chat-agent-timeline .agent-timeline-tool-header--error{color:#a32d2d;background:rgba(163,45,45,.08)}.chat-agent-timeline .agent-timeline-tool-header--done{color:#606878;background:rgba(0,0,0,.02)}.chat-agent-timeline .agent-timeline-tool-header .agent-timeline-tool-title{font-size:var(--text-sm);font-weight:500}.chat-agent-timeline .agent-timeline-tool-header .agent-timeline-tool-meta{font-size:var(--text-xs);color:#343d52}.chat-agent-timeline .agent-timeline-tool-header .agent-timeline-tool-calls{font-size:var(--text-xs);color:#343d52;flex-shrink:0}.chat-agent-timeline .agent-timeline-dot-tool{border-color:#185fa5}.chat-agent-timeline .agent-timeline-dot-text{border-color:#3b6d11}.chat-agent-timeline .agent-timeline-dot-final{border-color:#854f0b}.chat-agent-timeline .agent-timeline-dot-blocked{border:1.5px solid var(--ds-accent-hover);color:var(--ds-accent-hover);font-size:10px;animation:1.2s ease-in-out infinite agent-timeline-dot-blink}@keyframes agent-timeline-dot-blink{0%,to{opacity:1}50%{opacity:.2}}.tr-ok{border:1.4px solid #3b6d11;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:13px;height:13px;display:flex}.tr-ok svg{width:7px;height:7px}.tr-err{border:1.4px solid #a32d2d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:13px;height:13px;display:flex}.tr-err svg{width:7px;height:7px}.agent-timeline-summary-bar{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:flex}.agent-timeline-summary-bar:hover .agent-timeline-summary-title{color:var(--ds-muted);background:var(--ds-item-active)}.agent-timeline-summary-title{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:var(--text-sm);color:var(--ds-muted);cursor:pointer;flex-shrink:0;font-weight:500;overflow:hidden}.agent-timeline-summary-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-xs);color:var(--ds-text);flex:1;overflow:hidden}.agent-timeline-summary-detail:hover{color:var(--ds-muted)}.agent-timeline-summary-count{font-size:var(--text-xs);color:var(--ds-text);flex-shrink:0}.agent-timeline-summary-arrow{color:var(--ds-muted);flex-shrink:0}.slideHighlight:after{content:"";background:linear-gradient(90deg,transparent,var(--highlight),transparent);filter:blur(8px);pointer-events:none;width:40%;height:100%;animation:3s ease-in-out infinite slideHighlight;position:absolute;top:0;left:0}@keyframes slideHighlight{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes agent-block-dot-pulse{50%{opacity:.45}}.agent-block-status-dot--pulse{animation:1.2s ease-in-out infinite agent-block-dot-pulse}.main.settings-main{padding:0}.side-nav-shell{flex:1;min-width:0;min-height:0;display:flex}.side-nav{border-right:1px solid var(--ds-border);width:220px;padding:var(--space-4)var(--space-2);background:var(--ds-bg);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.side-nav-title{font-size:var(--text-md);color:var(--ds-text);padding:var(--space-1)var(--space-3);margin-bottom:var(--space-2);letter-spacing:-.01em;font-weight:600}.side-nav-groups{gap:var(--space-4);flex-direction:column;flex:1;display:flex}.side-nav-group{flex-direction:column;gap:2px;display:flex}.side-nav-item{align-items:center;gap:var(--space-2);width:100%;height:36px;padding:var(--space-2)var(--space-3);border-radius:var(--ds-radius-sm);font-size:var(--text-base);color:var(--ds-text);text-align:left;cursor:pointer;background:0 0;border:none;transition:background .15s;display:flex}.side-nav-item:hover{background:var(--ds-item-active);color:var(--ds-text)}.side-nav-item:focus-visible{box-shadow:0 0 0 2px var(--ds-accent);outline:none}.side-nav-item.is-active{background:var(--ds-border);font-weight:600}.side-nav-item-icon{color:var(--ds-muted);font-size:var(--text-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.is-active .side-nav-item-icon{color:var(--ds-accent)}.side-nav-item-label{truncate:true;flex:1;min-width:0}.side-nav-bottom{padding-top:var(--space-2);border-top:1px solid var(--ds-border);flex-direction:column;gap:2px;margin-top:auto;display:flex}.side-nav-content{min-width:0;min-height:0;padding:clamp(var(--space-4),3vw,var(--space-6));flex-direction:column;flex:1;display:flex;overflow-y:auto}
|
|
1
|
+
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ds-bg:#fff;--ds-main-tint:#fbfbfc;--ds-sidebar:#f1f1f1;--ds-border:#efefef;--ds-border-hover:#d1d5db;--ds-text:#111827;--ds-muted:#6b7280;--ds-accent:#1db887;--ds-accent-hover:#18a578;--ds-item-hover:#ededed;--ds-item-active:#e8e8e8;--ds-item-bg-hover:#efeeeb;--ds-ok:#059669;--ds-danger:#dc2626;--ds-log-bg:#f8f9fb;--ds-log-border:#e5e7eb;--ds-radius:14px;--ds-radius-sm:10px;--green:#3ddc84;--green-dark:#009f6b;--green-light:#ecf7f2;--green-dim:#1a4a30;--blue:#4a9eff;--blue-dim:#0d2a4a;--amber:#ffb547;--amber-dim:#3a2a0a;--red:#ff5f5f;--red-dim:#3a1010;--purple:#b07fff;--cyan:#4ae3d4;--ts:#567;--border-light:rgba(255,255,255,.5);--border-mid:rgba(255,255,255,.18);--text-primary:#f0ede8;--text-secondary:#a8a8a2;--text-tertiary:#6e6e68;--text-placeholder:#9ca3af;--icon-color:#3f3f46;--avatar-bg:#9a3b32;--surface-1:#fff;--surface-2:#f5f5f5;--surface-3:#f9f9f9;--surface-4:#eceef2;--surface-5:#e8e8e8;--border-subtle:#eceef2;--border-default:#efefef;--border-hover:#d1d5db;--border-code:#cecece;--border-focus:var(--ds-accent);--shadow-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);--shadow-md:0 4px 16px rgba(15,23,42,.08),0 2px 4px rgba(15,23,42,.04);--shadow-lg:0 12px 40px rgba(15,23,42,.1),0 4px 12px rgba(15,23,42,.06);--shadow-float:0 20px 60px rgba(15,23,42,.15),0 8px 20px rgba(15,23,42,.08);--shadow-sidebar:2px 0 12px rgba(15,23,42,.03);--shadow-composer:0 4px 20px rgba(15,23,42,.07),0 0 0 .5px rgba(15,23,42,.06);--shadow-composer-hover:0 4px 20px rgba(15,23,42,.07),0 0 0 .5px rgba(15,23,42,.12);--shadow-composer-focus:0 12px 32px rgba(15,23,42,.18),0 0 0 .5px rgba(15,23,42,.22);--shadow-send:0 2px 8px rgba(29,184,135,.35);--btn-radius:10px;--btn-radius-sm:6px;--btn-radius-lg:14px;--btn-radius-pill:999px;--btn-height:36px;--btn-height-sm:28px;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.875rem;--text-lg:1rem;--text-xl:1.25rem;--font-display:"Sora","PingFang SC","Microsoft YaHei",sans-serif;--font-body:"DM Sans","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Consolas",monospace;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--ring-focus:0 0 0 2px var(--ds-bg),0 0 0 4px var(--ds-accent);--ring-focus-sm:0 0 0 2px rgba(29,184,135,.25);--ring-focus-inset:inset 0 0 0 2px rgba(29,184,135,.25);--ds-scrollbar:rgba(0,0,0,.15);--ds-scrollbar-hover:rgba(0,0,0,.25)}.chat-md{color:var(--ds-text)}.chat-md :first-child{margin-top:0}.chat-md :last-child{margin-bottom:0}.chat-md h1,.chat-md h2,.chat-md h3{margin:.75em 0 .35em;font-weight:600;line-height:1.5}.chat-md hr{background:var(--border-hover);border:none;height:1px}.chat-md p{margin:.5em 0;line-height:2}.chat-md ul,.chat-md ol{margin:.5em 0;padding-left:1.35rem}.chat-md ul li,.chat-md ol li{line-height:2}.chat-md pre{padding:var(--space-3)var(--space-3);background:var(--surface-3);border:1px solid var(--border-default);color:var(--ds-text);font-size:var(--text-xs);border-radius:8px;margin:.65em 0;overflow-x:auto}.chat-md pre code{color:inherit;font-size:inherit;background:0 0;padding:0;line-height:2}.chat-md code{background:var(--surface-3);color:var(--ds-text);border-radius:4px;padding:.12em .35em;font-family:ui-monospace,monospace;font-size:.84em}.chat-md table{width:-moz-fit-content;width:fit-content;min-width:100%}.chat-md table tr:last-child th,.chat-md table tr:last-child td{border-bottom:none}.chat-md table th,.chat-md table td{text-align:left;border-bottom:1px solid var(--ds-border);padding:.8em 1em}.chat-md .chat-code-block{border:none;border-radius:10px;margin:0 0 .65em;overflow:hidden}.chat-md .chat-code-block pre{border:none;border-radius:0;margin:0;background:var(--surface-3)!important}.chat-md .chat-code-head{background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.05);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chat-md .chat-code-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ds-text);font-family:ui-monospace,monospace}.chat-md .chat-code-copy-btn{border:1px solid var(--border-default);background:var(--surface-5);color:var(--ds-text);font-size:var(--text-xs);padding:var(--space-1)var(--space-2);cursor:pointer;border-radius:6px;line-height:1;transition:all .15s}.chat-md .chat-code-copy-btn:hover{background:var(--surface-4)}.chat-md .chat-code-copy-btn.is-copied{border-color:var(--ds-ok);color:var(--ds-ok)}.chat-md blockquote{border-left:3px solid var(--border-hover);color:var(--ds-muted);margin:1em 0;padding-left:.85rem}.dark .chat-md code{background:rgba(255,255,255,.08)}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ds-bg:#0f1117;--ds-main-tint:#16181d;--ds-sidebar:#1a1d23;--ds-border:#2a2d35;--ds-border-hover:#3a3d45;--ds-text:#e8e8ec;--ds-muted:#8b8d96;--ds-accent:#2dd4a8;--ds-accent-hover:#34d399;--ds-item-hover:#23262e;--ds-item-active:#2a2d38;--ds-item-bg-hover:#262930;--ds-ok:#34d399;--ds-danger:#f87171;--ds-log-bg:#1a1d23;--ds-log-border:#2a2d35;--font-display:"Sora","PingFang SC","Microsoft YaHei",sans-serif;--font-body:"DM Sans","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Consolas",monospace;--text-placeholder:#6b7280;--icon-color:#a1a1aa;--surface-1:#16181d;--surface-2:#1e2128;--surface-3:#262930;--surface-4:#2f3340;--border-subtle:#2a2d35;--border-default:#2a2d35;--border-hover:#3f4250;--text-primary:#e8e8ec;--text-secondary:#8b8d96;--shadow-sm:0 1px 3px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.15);--shadow-md:0 4px 16px rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.2);--shadow-lg:0 12px 40px rgba(0,0,0,.3),0 4px 12px rgba(0,0,0,.25);--shadow-float:0 20px 60px rgba(0,0,0,.4),0 8px 20px rgba(0,0,0,.3);--shadow-sidebar:2px 0 12px rgba(0,0,0,.3);--shadow-composer:0 .25rem 1.25rem rgba(0,0,0,.3),0 0 0 .5px rgba(255,255,255,.06);--shadow-composer-hover:0 .25rem 1.25rem rgba(0,0,0,.3),0 0 0 .5px rgba(255,255,255,.1);--shadow-composer-focus:0 .75rem 2rem rgba(0,0,0,.65),0 0 0 .5px rgba(255,255,255,.2);--shadow-send:0 2px 8px rgba(45,212,168,.35);--ring-focus-sm:0 0 0 2px rgba(45,212,168,.25);--ring-focus-inset:inset 0 0 0 2px rgba(45,212,168,.25);--ds-scrollbar:rgba(255,255,255,.15);--ds-scrollbar-hover:rgba(255,255,255,.25);--btn-radius:10px;--btn-radius-sm:6px;--btn-radius-lg:14px;--btn-radius-pill:999px;--btn-height:36px;--btn-height-sm:28px;--text-xs:.75rem;--text-sm:.875rem;--text-base:.9rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--ds-scrollbar)transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--ds-scrollbar);border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--ds-scrollbar-hover)}html{scroll-behavior:smooth}html,body{height:100%;margin:0}body{font-family:var(--font-body);background:var(--ds-bg);color:var(--ds-text);line-height:1.5;overflow:hidden}a{color:var(--ds-accent)}.app{height:100%;min-height:0;display:flex}.app .lucide{width:16px;height:16px;color:var(--icon-color)}.stage-thread-flyout{border-left:0 solid var(--ds-border);background:var(--surface-2);flex-shrink:0;width:0;min-height:0;transition:width .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stage-thread-flyout.is-open{width:var(--stage-flyout-width,760px);border-left-width:1px;border-left-color:var(--ds-border)}.stage-thread-flyout.is-open.is-resizing{border-left-color:var(--ds-accent)}.stage-thread-flyout.is-open:has(.stage-thread-flyout-resize:hover){border-left-color:var(--ds-accent)}.stage-thread-flyout.is-resizing{transition:none}.stage-thread-flyout-resize{z-index:2;cursor:col-resize;touch-action:none;justify-content:center;align-items:center;width:12px;height:100%;display:flex;position:absolute;top:0;left:0;transform:translate(-50%)}.stage-thread-flyout-resize-bar{border:1px solid var(--ds-border);background:var(--ds-border-hover);border-radius:999px;width:8px;height:24px}.stage-thread-flyout.is-resizing .stage-thread-flyout-resize-bar,.stage-thread-flyout-resize:hover .stage-thread-flyout-resize-bar{border-color:var(--ds-ok);background:var(--ds-item-hover)}.stage-thread-flyout-inner{width:var(--stage-flyout-width,760px);flex-direction:column;height:100%;min-height:0;display:flex}.stage-thread-flyout-header{align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-3)var(--space-2);border-bottom:1px solid var(--ds-border);flex-shrink:0;display:flex}.stage-thread-flyout-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-base);color:var(--ds-text);flex:1;margin:0;font-weight:600;line-height:1.4;overflow:hidden}.stage-thread-flyout-close{flex-shrink:0}.stage-thread-flyout-body{min-height:0;padding:var(--space-3);flex:1;overflow-y:auto}.sidebar{background:var(--surface-2);border-right:1px solid var(--ds-border);width:min(288px,42vw);min-width:0;box-shadow:var(--shadow-sidebar);flex-direction:column;flex-shrink:0;display:flex}.sidebar.is-collapsed{width:52px}.sidebar-collapsed-actions{align-items:center;gap:var(--space-2);padding-top:var(--space-3);flex-direction:column;flex:1;display:flex}.sidebar-collapsed-icon-btn{cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:inline-flex}.sidebar-collapsed-icon-btn:hover{background:var(--surface-3)}.sidebar-collapsed-icon-btn:focus-visible{box-shadow:var(--ring-focus);outline:none}.sidebar-brand{padding:var(--space-4)var(--space-4)var(--space-3);border-bottom:1px solid var(--ds-border);flex-shrink:0}.sidebar-brand-title-row{align-items:center;gap:.25rem;min-width:0;display:flex}.sidebar-brand .logo{min-width:0;font-size:var(--text-lg);color:var(--ds-text);letter-spacing:-.02em;flex:1;font-weight:700;line-height:1.2}.sidebar-brand-ws{margin-top:var(--space-2);border-top:1px solid var(--ds-border);padding-top:.45rem}.sidebar-brand-ws-title{font-size:var(--text-xs);color:var(--ds-text);margin-bottom:var(--space-1);letter-spacing:.02em;font-weight:600}.sidebar-brand-ws-label{font-size:var(--text-xs);color:var(--ds-muted);margin-bottom:var(--space-1);display:block}.sidebar-brand-model-input{box-sizing:border-box;width:100%;margin-bottom:var(--space-1)}.btn-bind-save--brand{padding:var(--space-1)var(--space-2);border-radius:var(--btn-radius-sm);font-size:var(--text-xs);margin-top:0}.sidebar-icon-btn{border-radius:var(--btn-radius-sm);width:1.85rem;height:1.85rem;color:var(--ds-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;transition:all .35s;display:inline-flex}.sidebar-icon-btn:hover{background:var(--ds-item-bg-hover)}.sidebar-icon-btn:focus-visible{box-shadow:var(--ring-focus);outline:none}.sidebar-icon-btn svg{display:block}.sidebar-icon-btn .ic{font-size:var(--text-lg);color:currentColor;font-weight:300;line-height:1}.btn-primary{box-sizing:border-box;height:34px;padding:0 var(--space-4);border-radius:var(--btn-radius);background:var(--ds-accent);color:#fff;cursor:pointer;font-weight:500;font-size:var(--text-sm);border:none;justify-content:center;align-items:center;margin:0;display:inline-flex}.btn-primary:hover{background:var(--ds-accent-hover)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.sidebar-drawer-meta{font-size:var(--text-xs);color:var(--ds-muted);padding:0 var(--space-1)var(--space-2);border-bottom:1px solid var(--ds-log-border);margin-bottom:var(--space-1);flex-shrink:0;line-height:1.45}#sessionList{min-height:0;padding:var(--space-1)0 var(--space-1);flex:1;overflow-x:hidden;overflow-y:auto}.session-group-label{font-size:var(--text-xs);color:var(--ds-muted);padding:var(--space-2)var(--space-1)var(--space-1);font-weight:500}.sidebar-drawer-item{border-radius:var(--ds-radius-sm);margin:var(--space-1)0;border:1px solid transparent;align-items:center;transition:background .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}.sidebar-drawer-item:hover{background:var(--ds-item-active)}.sidebar-drawer-list{padding:var(--space-1)0 var(--space-1);flex-direction:column;display:flex}.sidebar-drawer-item-label{min-width:0;padding:var(--space-2)var(--space-1)var(--space-2)var(--space-3);font-size:var(--text-sm);color:var(--ds-text);word-break:break-word;flex:1;align-items:center;font-family:ui-monospace,monospace;font-weight:500;display:flex}.sidebar-drawer-empty{font-size:var(--text-xs);color:var(--ds-muted);padding:var(--space-2)var(--space-2)var(--space-2);line-height:1.45}.session-item.active{background:var(--ds-item-active);box-shadow:var(--shadow-sm)}.session-item-main{min-width:0;padding:var(--space-1-5)var(--space-1)var(--space-1-5)var(--space-3);cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:none;flex:1}.session-item-title{font-size:var(--text-base);color:var(--ds-text);-webkit-line-clamp:1;word-break:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.session-item-sub{font-size:var(--text-xs);color:var(--ds-muted);margin-top:.2rem;font-family:ui-monospace,monospace}.session-menu-wrap{padding:2px var(--space-3)0 0;opacity:0;pointer-events:none;flex-shrink:0;align-items:flex-start;transition:opacity .15s;display:flex;position:relative}.sidebar-drawer-item:hover .session-menu-wrap,.session-item.active .session-menu-wrap{opacity:1;pointer-events:auto}.session-menu-btn{color:var(--ds-muted);cursor:pointer;font-size:var(--text-lg);letter-spacing:.06em;opacity:.65;background:0 0;border:none;padding:0;font-weight:500}.sidebar-drawer-item:hover .session-menu-btn,.session-item.active .session-menu-btn,.session-menu-wrap.open .session-menu-btn{opacity:1;color:var(--ds-text)}.session-menu-btn:focus-visible{opacity:1;color:var(--ds-text)}.session-dropdown{z-index:80;background:var(--ds-bg);border:1px solid var(--ds-border);min-width:9.5rem;box-shadow:var(--shadow-md);padding:var(--space-1)0;border-radius:10px;display:none;position:absolute;top:2rem;right:.15rem}.session-menu-wrap.open .session-dropdown{display:block}.session-dropdown button{text-align:left;width:100%;padding:var(--space-2)var(--space-3);border-radius:var(--btn-radius-sm);color:var(--ds-text);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;display:block}.session-dropdown button:hover{background:var(--ds-item-hover)}.session-dropdown button.danger{color:var(--ds-danger);background:color-mix(in srgb,var(--ds-danger)8%,transparent);border:1px solid color-mix(in srgb,var(--ds-danger)30%,transparent)}.dark .session-dropdown button.danger{background:color-mix(in srgb,var(--ds-danger)12%,transparent);border:1px solid color-mix(in srgb,var(--ds-danger)40%,transparent)}.sidebar-drawers{flex-direction:column;flex:1;min-height:0;display:flex;overflow-x:hidden;overflow-y:auto}details.sidebar-drawer{z-index:0;flex-direction:column;flex:none;min-height:0;display:flex;position:relative}details.sidebar-drawer[open]{z-index:1}details.sidebar-drawer>summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:36px;padding:var(--space-1)var(--space-3);font-size:var(--text-xs);color:var(--ds-text);justify-content:space-between;align-items:center;gap:.5rem;margin:.35rem .25rem 0;font-weight:600;list-style:none;display:flex;position:relative}details.sidebar-drawer>summary::-webkit-details-marker{display:none}details.sidebar-drawer>summary:hover{background:#f1f1f1;border-radius:16px}.drawer-summary-title{letter-spacing:-.01em}.drawer-chevron{font-size:var(--text-xs);color:var(--ds-muted);flex-shrink:0;transition:transform .2s}details.sidebar-drawer:not([open])>summary .drawer-chevron{transform:rotate(-90deg)}details.sidebar-drawer .sidebar-drawer-body{padding:0 var(--space-3)var(--space-3);overflow:auto}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}details.sidebar-drawer[open] .sidebar-drawer-body{animation:.2s ease-out fadeSlideUp}details.sidebar-drawer .sidebar-drawer-body.sidebar-drawer-body--tools,details.sidebar-drawer .sidebar-drawer-body.sidebar-drawer-body--skills,details.sidebar-drawer .sidebar-drawer-body.sidebar-drawer-body--mcp{max-height:none;overflow:visible}.drawer-bind-block--solo .sidebar-drawer-list.agent-bind-chips{min-height:200px;max-height:min(40vh,400px);overflow-x:hidden;overflow-y:auto}.sidebar-drawer-body--sessions{flex-direction:column;padding-bottom:.5rem;display:flex;overflow:hidden}.session-summary-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.sidebar-drawer-body--tools,.sidebar-drawer-body--skills,.sidebar-drawer-body--mcp{flex-direction:column;display:flex}.agent-md-editor{min-height:min(50vh,420px);padding:var(--space-3)var(--space-4);resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--text-sm);color:var(--ds-text);background:var(--ds-log-bg);box-sizing:border-box;border:none;flex:1;margin:0;line-height:1.5}.tool-files-meta{font-size:var(--text-xs);color:var(--ds-muted);word-break:break-all}.tool-files-state{font-size:var(--text-sm);color:var(--ds-muted);padding:var(--space-2)var(--space-1)}.tool-files-list{flex-direction:column;gap:.5rem;display:flex}.tool-files-item{border:1px solid var(--ds-border);background:var(--ds-bg);padding:var(--space-2)var(--space-3);border-radius:10px;justify-content:space-between;align-items:center;gap:.7rem;display:flex}.tool-files-main{flex:1;min-width:0}.tool-files-name{font-size:var(--text-lg);color:var(--ds-text);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:hidden}.tool-files-sub{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--ds-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tool-files-download{box-sizing:border-box;height:34px;padding:0 var(--space-3);border-radius:var(--btn-radius);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-sm);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.runtime-pkg-row-actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.runtime-pkg-row-action{box-shadow:none;color:var(--ds-accent);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-weight:400;line-height:1.25}.agent-md-editor:focus{box-shadow:var(--ring-focus-inset);outline:none}.tool-files-download:hover:not(:disabled){border-color:var(--ds-item-hover);background:var(--ds-item-hover);color:var(--ds-accent)}.tool-files-download:disabled{opacity:.45;cursor:not-allowed}.runtime-pkg-row-action:hover:not(:disabled){color:var(--ds-accent);background:0 0;border:none}.runtime-pkg-row-action:disabled{opacity:.45;cursor:not-allowed;color:var(--ds-accent)}.env-form-table-body{flex:1;min-height:min(46vh,420px);max-height:min(58vh,560px);padding:0;overflow-x:hidden;overflow-y:auto}.env-form-group-title{padding:0 var(--space-1);font-size:var(--text-xs);color:var(--ds-text);border-left:3px solid var(--ds-accent);padding-left:var(--space-2);margin:.65rem 0 .45rem;font-weight:600}.env-form-group-title:first-child{margin-top:.15rem}.env-form-row{margin-bottom:var(--space-2);grid-template-columns:minmax(200px,38%) 1fr;align-items:center;gap:.65rem .85rem;display:grid}.env-form-label{font-size:var(--text-xs);color:var(--ds-text);text-align:right;padding-right:var(--space-1);word-break:break-word;line-height:1.35}.env-form-field{min-width:0}.env-form-value{box-sizing:border-box;width:100%;padding:var(--space-2)var(--space-2);border:1px solid var(--ds-border);font-size:var(--text-xs);background:var(--ds-bg);color:var(--ds-text);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.env-form-value:focus{border-color:var(--border-focus);box-shadow:var(--ring-focus-sm);outline:none}.btn-env-design{padding:var(--space-1)var(--space-3);border-radius:var(--btn-radius);color:var(--ds-accent);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;font-family:inherit;display:inline-flex}.btn-env-design:hover{background:var(--surface-3)}.btn-env-design:focus-visible{box-shadow:var(--ring-focus);outline:none}.btn-env-design--icon{width:28px;height:28px;padding:0}.btn-agent-md-cancel{box-sizing:border-box;height:34px;padding:0 var(--space-3);border-radius:var(--btn-radius);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-sm);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.btn-agent-md-cancel:hover{background:var(--ds-item-hover)}.main{background:var(--ds-main-tint);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.main-content{flex-direction:column;flex:1;min-width:880px;min-height:0;display:flex}.main.manage-main{padding:clamp(var(--space-4),3vw,var(--space-6))}.manage-page-title{font-size:var(--text-xl);color:var(--ds-text);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.3}.manage-page-desc{font-size:var(--text-base);color:var(--ds-muted);margin-top:var(--space-2);word-break:break-all;font-family:inherit}.main.is-draft-session .composer{padding:var(--space-5)0 var(--space-6);flex:1;justify-content:center;align-items:center;display:flex}.main.is-draft-session .composer-inner.is-draft-session{flex-direction:column;justify-content:center;display:flex}.main-header{padding:var(--space-4)clamp(var(--space-4),3vw,var(--space-6))var(--space-4);background:var(--ds-bg);flex-shrink:0}.main-header-top{flex-wrap:wrap;align-items:flex-start;gap:.5rem .75rem;display:flex}.system-settings{padding:var(--space-1)var(--space-2);border:1px solid var(--ds-border);background:var(--ds-main-tint);border-radius:10px;align-items:center;gap:.45rem;margin-left:auto;display:inline-flex}.system-settings-label{color:var(--ds-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.system-settings-label svg{display:block}.system-settings-icon-btn{border:1px solid var(--ds-border);width:1.95rem;height:1.95rem;color:var(--ds-muted);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.system-settings-icon-btn:hover{color:var(--ds-text);background:var(--ds-item-hover);border-color:var(--border-hover)}.system-settings-icon-btn:focus-visible{box-shadow:var(--ring-focus);outline:none}.system-settings-icon-btn svg{display:block}.btn-system-settings{box-sizing:border-box;height:34px;padding:0 var(--space-2);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);border-radius:var(--btn-radius);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.btn-system-settings:hover{background:var(--ds-item-hover)}.main-header h1{font-size:var(--text-md);color:var(--ds-text);letter-spacing:-.02em;margin:0;font-weight:400;line-height:1.3}.main-header .mode-pill{font-size:var(--text-xs);color:var(--ds-muted);padding:var(--space-1)var(--space-2);background:var(--ds-main-tint);border:1px solid var(--ds-border);border-radius:999px;align-items:center;font-weight:500;display:inline-flex}.main-header .sub{font-size:var(--text-xs);color:var(--ds-muted);margin-top:var(--space-2);word-break:break-all;padding:var(--space-1)var(--space-2);border-radius:var(--ds-radius-sm);background:var(--ds-log-bg);border:1px solid var(--ds-log-border);max-width:100%;font-family:ui-monospace,monospace}.main-header .sub:empty{display:none}.main-scroll{scrollbar-gutter:stable;flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow-x:hidden;overflow-y:auto}.main-body{flex-direction:column;flex:none;width:100%;display:flex}.chat-thread{width:100%;max-width:800px;padding:var(--space-3)clamp(var(--space-3),2vw,var(--space-6))var(--space-4);box-sizing:border-box;flex:none;margin-left:auto;margin-right:auto;overflow:visible}.chat-placeholder{font-size:var(--text-sm);color:var(--ds-muted);text-align:center;padding:var(--space-8)var(--space-4);max-width:800px;margin:0 auto}@keyframes msgIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.chat-msg{max-width:100%;padding:var(--space-1)var(--space-1);border-radius:var(--ds-radius-sm);line-height:1.55;font-size:var(--text-base);animation:.25s ease-out both msgIn}.chat-streaming{animation:none}.chat-msg-user{white-space:pre-wrap;word-break:break-word}.chat-msg-system{color:#92400e;font-size:var(--text-sm);background:#fffbeb;border:1px solid #fde68a}.dark .chat-msg-system{color:#fbbf24;background:rgba(180,120,0,.12);border-color:rgba(251,191,36,.25)}.chat-msg-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ds-muted);margin:0 var(--space-3).35rem;align-items:center;gap:2px;font-weight:600;display:inline-flex}.schedule-tool-card{border:1px solid color-mix(in srgb,var(--ds-accent)30%,var(--ds-border));border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--ds-accent)10%,var(--ds-main-tint));color:var(--ds-text);margin:.375rem 0;padding:.625rem .75rem}.schedule-tool-card.is-fired{opacity:.82}.schedule-tool-card.is-error{border-color:color-mix(in srgb,var(--ds-danger)45%,var(--ds-border));background:color-mix(in srgb,var(--ds-danger)10%,var(--ds-main-tint))}.schedule-tool-card-head{font-size:var(--text-sm);align-items:center;gap:.375rem;font-weight:600;display:flex}.schedule-tool-card-id{color:var(--ds-muted);font-family:var(--font-mono);font-size:var(--text-xs);margin-left:auto}.schedule-tool-card-prompt{border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--ds-bg)55%,transparent);margin-top:.5rem;padding:.5rem}.schedule-tool-card-prompt-label{color:var(--ds-muted);font-size:var(--text-xs);margin-bottom:.125rem}.schedule-tool-card-prompt-body{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:var(--text-sm)}.schedule-tool-card-meta{color:var(--ds-muted);font-size:var(--text-xs);flex-wrap:wrap;gap:.375rem .75rem;margin-top:.5rem;display:flex}.schedule-tool-card-meta em{color:var(--ds-text);font-style:normal}.schedule-tool-card-error{border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--ds-danger)12%,transparent);color:var(--ds-danger);font-size:var(--text-sm);margin-top:.5rem;padding:.5rem}.scheduled-turn{margin:.875rem 0}.scheduled-turn-divider{color:var(--ds-muted);font-size:var(--text-xs);align-items:center;gap:.5rem;display:flex}.scheduled-turn-divider:before,.scheduled-turn-divider:after{content:"";border-top:1px dashed color-mix(in srgb,var(--border-default)30%,var(--border-hover));flex:1;height:1px}.scheduled-turn-divider em{font-style:normal}.scheduled-turn-task-id{color:var(--ds-muted);font-family:var(--font-mono)}.scheduled-turn-dispatch{border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--border-light)8%,var(--ds-border));margin:.5rem 0 .75rem;padding:.5rem .75rem}.scheduled-turn-dispatch-head{color:var(--ds-muted);font-size:var(--text-xs);align-items:center;gap:.25rem;margin-bottom:.25rem;font-weight:600;display:flex}.scheduled-turn-dispatch-body{white-space:pre-wrap;word-break:break-word;color:var(--ds-text);font-family:var(--font-mono);font-size:var(--text-sm)}.scheduled-turn-body{flex-direction:column;gap:.75rem;display:flex}.chat-streaming .stream-pulse{display:none}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.stream-cursor{background:var(--ds-accent);border-radius:6px;flex-shrink:0;width:6px;height:6px;animation:1s ease-in-out infinite cursorBlink;display:inline-block}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes streamDot{0%,to{opacity:.35}50%{opacity:1}}.loading-sweep{background:linear-gradient(90deg,#555 0%,#555 40%,#fff 50%,#555 60%,#555 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite sweep}@keyframes sweep{0%{background-position:100% 0}to{background-position:-100% 0}}details.raw-log-drawer{border-top:1px solid var(--ds-border);background:var(--ds-bg);flex-shrink:0}details.raw-log-drawer>summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:var(--space-2)clamp(var(--space-3),2vw,var(--space-6));font-size:var(--text-xs);color:var(--ds-muted);background:var(--ds-main-tint);justify-content:space-between;align-items:center;font-weight:500;list-style:none;display:flex}details.raw-log-drawer>summary::-webkit-details-marker{display:none}details.raw-log-drawer>summary:hover{color:var(--ds-text)}details.raw-log-drawer[open]>summary{border-bottom:1px solid var(--ds-border)}.raw-log-chevron{font-size:var(--text-xs);transition:transform .2s}details.raw-log-drawer[open] .raw-log-chevron{transform:rotate(-180deg)}.raw-log-body{flex-direction:column;max-height:min(32vh,320px);display:flex;overflow:hidden}#log{min-height:0;max-height:min(32vh,320px);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;padding:var(--space-3)clamp(var(--space-3),2vw,var(--space-6));background:var(--ds-log-bg);color:#374151;border:none;flex:1;margin:0;line-height:1.45;overflow:auto}label.f{font-size:var(--text-xs);color:var(--ds-muted);margin-bottom:var(--space-1);display:block}.ws-config-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#status.conn-status{font-size:var(--text-sm);color:var(--ds-muted);line-height:1.45}#status.conn-status.ready{color:var(--ds-ok);font-weight:500}#status.conn-status.err{color:var(--ds-danger);font-weight:500}.api-retry-banner{padding:var(--space-2)var(--space-3);background:#fff8e8;border:1px solid #f1d7a1;border-radius:10px}.api-retry-banner-text{font-size:var(--text-xs);color:#8a5a11}.api-retry-banner-progress{background:rgba(138,90,17,.18);border-radius:999px;height:4px;margin-top:6px;overflow:hidden}.api-retry-banner-progress>span{background:#d69a2c;height:100%;display:block}.api-retry-failed{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:#fff4f4;border:1px solid #f3c5c5;border-radius:10px;display:flex}.api-retry-failed-text{font-size:var(--text-xs);color:#b13c3c}.api-retry-failed-btn{border-radius:var(--btn-radius);background:var(--surface-1);color:#8d2f2f;font-size:var(--text-xs);padding:var(--space-2)var(--space-3);border:1px solid #e4b1b1;line-height:1}.api-retry-failed-btn:hover{background:#fff7f7}.prompt-session-info{font-size:var(--text-xs);color:var(--ds-muted);white-space:nowrap;text-overflow:ellipsis;text-align:right;flex-shrink:1;min-width:0;max-width:62%;font-family:ui-monospace,monospace;overflow:hidden}.composer{padding:var(--space-2)0 var(--space-3);background:var(--ds-main-tint);flex-shrink:0}.composer-inner{width:100%;padding:0 clamp(var(--space-3),2vw,var(--space-6));margin:0}.composer-tool-files-inline{border:1px solid var(--border-default);background:var(--surface-2);border-bottom:none;border-radius:8px 8px 0 0;margin:0 .95rem;overflow:hidden}.composer-tool-files-inline-head{padding:var(--space-1)var(--space-3)0;font-size:var(--text-xs);color:var(--ds-text);align-items:center;gap:.35rem;display:flex}.composer-tool-files-inline-chevron{color:var(--ds-muted);transition:transform .28s;display:inline-flex}.composer-tool-files-inline-chevron.is-expanded{transform:rotate(90deg)}.composer-tool-files-inline-panel-wrap{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.composer-tool-files-inline.is-expanded .composer-tool-files-inline-panel-wrap{grid-template-rows:1fr}.composer-tool-files-inline-panel-inner{min-height:0;overflow:hidden}.composer-tool-files-inline-title{font-weight:400}.composer-tool-files-inline-loading{font-size:var(--text-xs);color:var(--ds-muted);margin-left:auto}.composer-tool-files-inline-panel{padding:0 var(--space-2);opacity:0;border-top:1px solid transparent;transition:opacity .22s,padding .28s,border-color .28s}.composer-tool-files-inline.is-expanded .composer-tool-files-inline-panel{border-top-color:var(--ds-border);padding:var(--space-2)var(--space-2);opacity:1}.composer-tool-files-inline-list{flex-direction:column;gap:.35rem;max-height:220px;display:flex;overflow-y:auto}.composer-tool-files-inline-item{padding:var(--space-2)var(--space-2)0;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.composer-tool-files-inline-main{align-items:baseline;gap:.45rem;min-width:0;display:flex}.composer-tool-files-inline-name{max-width:100%;font-size:var(--text-xs);color:var(--ds-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.composer-tool-files-inline-size{font-size:var(--text-xs);color:var(--ds-muted);flex-shrink:0}.composer-tool-files-inline-download{border-radius:var(--btn-radius);width:28px;height:28px;color:var(--ds-text);background:var(--surface-1);justify-content:center;align-items:center;display:inline-flex}.composer-tool-files-inline-download:hover{background:var(--ds-item-hover)}.composer-tool-files-inline-state{padding:var(--space-1)var(--space-1);font-size:var(--text-sm);color:var(--ds-muted)}.composer-tool-files-inline-state.is-error{color:var(--ds-danger)}.composer-card{border-color:var(--border-hover);background:var(--surface-1);padding:var(--space-3);border-radius:20px;transition:box-shadow .2s,border-color .2s}.composer-card.is-draft-session{min-height:100px}.composer-draft-title{margin-bottom:var(--space-2);padding-left:var(--space-1);font-size:var(--text-xl);color:var(--ds-text);font-weight:600;line-height:1.2}.composer-card:focus-within{border-color:var(--border-default)}.composer-card label.f{margin-bottom:var(--space-1);padding-left:var(--space-2);color:#4b5563;font-weight:500}.composer-input-shell{align-items:center;gap:.4rem;display:flex}.composer-card textarea#prompt{resize:none;min-height:30px;max-height:180px;font:inherit;font-size:var(--text-base);padding:var(--space-1)var(--space-1);color:var(--ds-text);background:0 0;border:none;border-radius:0;outline:none;flex:1;line-height:1.4}.composer-card textarea#prompt::placeholder{color:var(--text-placeholder)}.composer-tools-left{flex:1;align-items:center;gap:.35rem;min-width:0;display:flex}.composer-tools-right{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.composer-model-field{width:180px;position:relative}.composer-model-input{box-sizing:border-box;width:180px;height:2.2rem;padding:0 var(--space-2);border:1px solid var(--ds-border);background:var(--ds-main-tint);color:var(--ds-text);font-size:var(--text-xs);border-radius:8px;outline:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.composer-model-input::placeholder{color:var(--text-placeholder);font-family:inherit}.composer-allow-ask-select,.composer-mode-select{box-sizing:border-box;width:78px;height:2.2rem;padding:0 var(--space-2);border:1px solid var(--ds-border);background:var(--ds-main-tint);color:var(--ds-text);font-size:var(--text-xs);border-radius:8px;outline:none;transition:border-color .12s,background-color .12s,box-shadow .12s}.composer-mode-select{width:140px}.composer-allow-ask-select:hover,.composer-mode-select:hover{border-color:var(--border-hover);background:var(--surface-2)}.composer-allow-ask-select[data-state=open],.composer-mode-select[data-state=open]{border-color:var(--border-focus);box-shadow:var(--ring-focus-sm)}.composer-allow-ask-select:focus-visible{border-color:var(--border-focus);box-shadow:var(--ring-focus-sm)}.composer-mode-select:focus-visible{border-color:var(--border-focus);box-shadow:var(--ring-focus-sm)}.composer-model-suggestions{padding:var(--space-1)0;border:1px solid var(--ds-border);background:var(--ds-bg);max-height:min(220px,32vh);box-shadow:var(--shadow-md);z-index:50;border-radius:10px;margin:0 0 4px;list-style:none;display:none;position:absolute;bottom:100%;left:0;right:0;overflow:auto}.composer-model-suggestions.is-open{display:block}.composer-model-suggestions li{padding:var(--space-2)var(--space-2);font-size:var(--text-xs);cursor:pointer;color:var(--ds-text);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:hidden}.composer-model-suggestions li:hover,.composer-model-suggestions li.is-active{background:var(--ds-item-active);color:var(--ds-accent)}.composer-model-suggestions .composer-model-suggest-empty{color:var(--ds-muted);cursor:default;font-family:inherit}.composer-model-suggestions .composer-model-suggest-empty:hover{color:var(--ds-muted);background:0 0}.composer-plus-btn,.composer-icon-btn{color:#3f3f46;cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.composer-plus-btn:hover{background:var(--surface-3)}.composer-icon-btn:hover:not(:disabled){background:0 0}.composer-icon-btn:disabled{opacity:.4;cursor:not-allowed}.btn-send-circle{background:var(--ds-accent);width:2rem;height:2rem;color:var(--surface-1);font-size:var(--text-lg);cursor:pointer;box-shadow:var(--shadow-send);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.btn-send-circle:hover:not(:disabled){background:var(--ds-accent-hover)}.btn-send-circle:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-abort-text{padding:var(--space-1)var(--space-3);border-radius:var(--btn-radius);color:var(--ds-muted);font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid transparent}.btn-abort-text:hover:not(:disabled){color:var(--ds-text);background:var(--ds-sidebar)}.btn-abort-text:disabled{opacity:.4;cursor:not-allowed}.page-footer-note{text-align:center;font-size:var(--text-xs);color:var(--ds-muted);padding:var(--space-2)var(--space-4)0;letter-spacing:.02em}.page-footer-note--compact{font-size:var(--text-xs);padding:var(--space-1)var(--space-3)0;letter-spacing:.01em}.main-scroll-draft{flex:1;min-height:0}.main-body-draft{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.draft-session-hero{min-width:0}.main-header-action-btn{font-size:var(--text-xs);padding:var(--space-1)var(--space-3);border-radius:var(--btn-radius);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-muted);cursor:not-allowed;opacity:.65}.composer-draft-pill{border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-sm);padding:var(--space-1)var(--space-3);cursor:pointer;border-radius:999px;transition:background .15s,border-color .15s}.composer-draft-pill:hover{background:var(--ds-item-hover);border-color:var(--border-hover)}.drawer-bind-block{margin-bottom:var(--space-2);border-bottom:1px solid var(--ds-border);font-size:var(--text-xs);padding-bottom:.5rem}.drawer-bind-block--solo{border-bottom:none;margin-bottom:0;padding-bottom:0}.drawer-bind-head{justify-content:space-between;align-items:center;gap:.35rem;display:flex}.drawer-bind-head.sidebar-drawer-meta{font-size:var(--text-xs);padding-top:.15rem}.drawer-bind-head strong{color:var(--ds-text);font-weight:600}.agent-bind-model-input{box-sizing:border-box;width:100%;padding:var(--space-1);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-xs);border-radius:2px}.btn-bind-save{margin-top:var(--space-1);width:100%;padding:var(--space-2)var(--space-1);border-radius:var(--btn-radius-sm);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-xs);cursor:pointer}.btn-bind-save:hover:not(:disabled){background:var(--ds-main-tint)}.btn-bind-save:disabled{opacity:.5;cursor:not-allowed}.agent-picker-search{box-sizing:border-box;width:100%;padding:var(--space-2);border:1px solid var(--ds-border);font-size:var(--text-xs);border-radius:8px}.agent-picker-scroll{max-height:min(42vh,280px);padding:var(--space-1)var(--space-3);overflow:auto}.agent-picker-item{padding:var(--space-3)0;border-bottom:1px solid rgba(92,91,91,.06);align-items:flex-start;gap:.45rem;display:flex}.agent-picker-item:last-child{border-bottom:none}.agent-picker-item label{cursor:pointer;font-size:var(--text-xs);flex:1;line-height:1.35}.status-dot{border-radius:9999px;flex-shrink:0;width:4px;height:4px;display:inline-block;position:relative}.net-status-online{color:var(--ds-ok);background-color:var(--ds-ok)}.net-status-online:after{border:1px solid var(--ds-ok);content:"";border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite antStatusProcessing;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.net-status-error{color:#9b4040;background-color:#9b4040}.net-status-idle{color:#e0e0e0;background-color:#e0e0e0}@keyframes antStatusProcessing{0%{opacity:.9;transform:translate(-50%,-50%)scale(.8)}70%{opacity:.2;transform:translate(-50%,-50%)scale(1.2)}to{opacity:0;transform:translate(-50%,-50%)scale(1.2)}}.tool-running-gradient{color:transparent;background-image:linear-gradient(90deg,#343d52 0%,#6b7280 35%,#343d52 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:1.4s linear infinite toolRunningGradientShift}@keyframes toolRunningGradientShift{0%{background-position:0%}to{background-position:200%}}.type-badge{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:2px;padding:1px 6px;font-weight:500}.badge-connect{color:var(--red);background:rgba(255,95,95,.15)}.badge-session{color:var(--blue);background:rgba(74,158,255,.15)}.badge-messages{color:var(--purple);background:rgba(176,127,255,.15)}.badge-ready{color:var(--green);background:rgba(61,220,132,.15)}.badge-turn{color:var(--amber);background:rgba(255,181,71,.15)}.chat-agent-timeline .agent-timeline-label-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.chat-agent-timeline .agent-timeline-label-hint{font-size:var(--text-xs);color:var(--ds-muted,var(--color-text-tertiary,#6b7280))}.chat-agent-timeline .tag{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:2px 7px;font-weight:500}.chat-agent-timeline .tag-tool{color:#185fa5;background:#e6f1fb}.chat-agent-timeline .tag-text{color:#3b6d11;background:#eaf3de}.chat-agent-timeline .tag-final{color:#854f0b;background:#faeeda}.chat-agent-timeline .agent-timeline-thinking{font-size:var(--text-sm);color:var(--ds-text,var(--color-text-primary,#111));padding:2px 0;line-height:1.75}.chat-agent-timeline .agent-timeline-thinking--final{color:var(--ds-muted,var(--color-text-secondary,#6b7280))}.chat-agent-timeline .agent-timeline-thinking code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);background:var(--ds-surface-2,var(--color-background-secondary,#f3f4f6));color:var(--ds-text,var(--color-text-primary,#111));border-radius:4px;padding:1px 5px}.chat-agent-timeline .agent-timeline-tool-panel{background:var(--ds-bg,var(--color-background-primary,#fff));border:.5px solid rgba(0,0,0,.1);border-radius:8px;overflow:hidden}.chat-agent-timeline .agent-timeline-tool-panel--running{border-color:rgba(34,48,68,.55)}.chat-agent-timeline .agent-timeline-tool-panel--error{border-color:rgba(163,45,45,.45)}.chat-agent-timeline .agent-timeline-tool-panel--done{border-color:rgba(0,0,0,.12)}.chat-agent-timeline .agent-timeline-tool-header{background:var(--ds-surface-2,var(--color-background-secondary,#f5f5f5));width:100%;padding:var(--space-2)var(--space-3);text-align:left;border:0;justify-content:space-between;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;transition:color .15s,background .15s;display:flex}.chat-agent-timeline .agent-timeline-tool-header--running{color:#185fa5;background:#e6f1fb}.chat-agent-timeline .agent-timeline-tool-header--running .agent-timeline-tool-meta,.chat-agent-timeline .agent-timeline-tool-header--running .agent-timeline-tool-calls{color:rgba(24,95,165,.88)}.chat-agent-timeline .agent-timeline-tool-header--error{color:#a32d2d;background:rgba(163,45,45,.08)}.chat-agent-timeline .agent-timeline-tool-header--done{color:#606878;background:rgba(0,0,0,.02)}.chat-agent-timeline .agent-timeline-tool-header .agent-timeline-tool-title{font-size:var(--text-sm);font-weight:500}.chat-agent-timeline .agent-timeline-tool-header .agent-timeline-tool-meta{font-size:var(--text-xs);color:#343d52}.chat-agent-timeline .agent-timeline-tool-header .agent-timeline-tool-calls{font-size:var(--text-xs);color:#343d52;flex-shrink:0}.chat-agent-timeline .agent-timeline-dot-tool{border-color:#185fa5}.chat-agent-timeline .agent-timeline-dot-text{border-color:#3b6d11}.chat-agent-timeline .agent-timeline-dot-final{border-color:#854f0b}.chat-agent-timeline .agent-timeline-dot-blocked{border:1.5px solid var(--ds-accent-hover);color:var(--ds-accent-hover);font-size:10px;animation:1.2s ease-in-out infinite agent-timeline-dot-blink}@keyframes agent-timeline-dot-blink{0%,to{opacity:1}50%{opacity:.2}}.tr-ok{border:1.4px solid #3b6d11;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:13px;height:13px;display:flex}.tr-ok svg{width:7px;height:7px}.tr-err{border:1.4px solid #a32d2d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:13px;height:13px;display:flex}.tr-err svg{width:7px;height:7px}.agent-timeline-summary-bar{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:flex}.agent-timeline-summary-bar:hover .agent-timeline-summary-title{color:var(--ds-muted);background:var(--ds-item-active)}.agent-timeline-summary-title{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:var(--text-sm);color:var(--ds-muted);cursor:pointer;flex-shrink:0;font-weight:500;overflow:hidden}.agent-timeline-summary-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-xs);color:var(--ds-text);flex:1;overflow:hidden}.agent-timeline-summary-detail:hover{color:var(--ds-muted)}.agent-timeline-summary-count{font-size:var(--text-xs);color:var(--ds-text);flex-shrink:0}.agent-timeline-summary-arrow{color:var(--ds-muted);flex-shrink:0}.slideHighlight:after{content:"";background:linear-gradient(90deg,transparent,var(--highlight),transparent);filter:blur(8px);pointer-events:none;width:40%;height:100%;animation:3s ease-in-out infinite slideHighlight;position:absolute;top:0;left:0}@keyframes slideHighlight{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes agent-block-dot-pulse{50%{opacity:.45}}.agent-block-status-dot--pulse{animation:1.2s ease-in-out infinite agent-block-dot-pulse}.main.settings-main{padding:0}.side-nav-shell{flex:1;min-width:0;min-height:0;display:flex}.side-nav{border-right:1px solid var(--ds-border);width:220px;padding:var(--space-4)var(--space-2);background:var(--ds-bg);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.side-nav-title{font-size:var(--text-md);color:var(--ds-text);padding:var(--space-1)var(--space-3);margin-bottom:var(--space-2);letter-spacing:-.01em;font-weight:600}.side-nav-groups{gap:var(--space-4);flex-direction:column;flex:1;display:flex}.side-nav-group{flex-direction:column;gap:2px;display:flex}.side-nav-item{align-items:center;gap:var(--space-2);width:100%;height:36px;padding:var(--space-2)var(--space-3);border-radius:var(--ds-radius-sm);font-size:var(--text-base);color:var(--ds-text);text-align:left;cursor:pointer;background:0 0;border:none;transition:background .15s;display:flex}.side-nav-item:hover{background:var(--ds-item-active);color:var(--ds-text)}.side-nav-item:focus-visible{box-shadow:0 0 0 2px var(--ds-accent);outline:none}.side-nav-item.is-active{background:var(--ds-border);font-weight:600}.side-nav-item-icon{color:var(--ds-muted);font-size:var(--text-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.is-active .side-nav-item-icon{color:var(--ds-accent)}.side-nav-item-label{truncate:true;flex:1;min-width:0}.side-nav-bottom{padding-top:var(--space-2);border-top:1px solid var(--ds-border);flex-direction:column;gap:2px;margin-top:auto;display:flex}.side-nav-content{min-width:0;min-height:0;padding:clamp(var(--space-4),3vw,var(--space-6));flex-direction:column;flex:1;display:flex;overflow-y:auto}
|
|
2
2
|
@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@theme inline{--animation-delay-0: 0s; --animation-delay-75: 75ms; --animation-delay-100: .1s; --animation-delay-150: .15s; --animation-delay-200: .2s; --animation-delay-300: .3s; --animation-delay-500: .5s; --animation-delay-700: .7s; --animation-delay-1000: 1s; --animation-repeat-0: 0; --animation-repeat-1: 1; --animation-repeat-infinite: infinite; --animation-direction-normal: normal; --animation-direction-reverse: reverse; --animation-direction-alternate: alternate; --animation-direction-alternate-reverse: alternate-reverse; --animation-fill-mode-none: none; --animation-fill-mode-forwards: forwards; --animation-fill-mode-backwards: backwards; --animation-fill-mode-both: both; --percentage-0: 0; --percentage-5: .05; --percentage-10: .1; --percentage-15: .15; --percentage-20: .2; --percentage-25: .25; --percentage-30: .3; --percentage-35: .35; --percentage-40: .4; --percentage-45: .45; --percentage-50: .5; --percentage-55: .55; --percentage-60: .6; --percentage-65: .65; --percentage-70: .7; --percentage-75: .75; --percentage-80: .8; --percentage-85: .85; --percentage-90: .9; --percentage-95: .95; --percentage-100: 1; --percentage-translate-full: 1; --animate-in: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-out: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes enter { from { opacity: var(--tw-enter-opacity,1); transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0)); filter: blur(var(--tw-enter-blur,0)); }}@keyframes exit { to { opacity: var(--tw-exit-opacity,1); transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0)); filter: blur(var(--tw-exit-blur,0)); }}--animate-accordion-down: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-accordion-up: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-down: collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-up: collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }to { height: 0; }}@keyframes collapsible-down { from { height: 0; }to { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }}@keyframes collapsible-up { from { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }to { height: 0; }}--animate-caret-blink: caret-blink 1.25s ease-out infinite; @keyframes caret-blink { 0%,70%,100% { opacity: 1; }20%,50% { opacity: 0; }}}@utility animation-duration-*{--tw-animation-duration: calc(--value(number)*1ms); --tw-animation-duration: --value(--animation-duration-*,[duration],"initial",[*]); animation-duration: calc(--value(number)*1ms); animation-duration: --value(--animation-duration-*,[duration],"initial",[*]);}@utility delay-*{animation-delay: calc(--value(number)*1ms); animation-delay: --value(--animation-delay-*,[duration],"initial",[*]); --tw-animation-delay: calc(--value(number)*1ms); --tw-animation-delay: --value(--animation-delay-*,[duration],"initial",[*]);}@utility repeat-*{animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]); --tw-animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]);}@utility direction-*{animation-direction: --value(--animation-direction-*,"initial",[*]); --tw-animation-direction: --value(--animation-direction-*,"initial",[*]);}@utility fill-mode-*{animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]); --tw-animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]);}@utility running{animation-play-state: running;}@utility paused{animation-play-state: paused;}@utility play-state-*{animation-play-state: --value("initial",[*]);}@utility blur-in{--tw-enter-blur: 20px;}@utility blur-in-*{--tw-enter-blur: calc(--value(number)*1px); --tw-enter-blur: --value(--blur-*,[*]);}@utility blur-out{--tw-exit-blur: 20px;}@utility blur-out-*{--tw-exit-blur: calc(--value(number)*1px); --tw-exit-blur: --value(--blur-*,[*]);}@utility fade-in{--tw-enter-opacity: 0;}@utility fade-in-*{--tw-enter-opacity: calc(--value(number)/100); --tw-enter-opacity: --value(--percentage-*,[*]);}@utility fade-out{--tw-exit-opacity: 0;}@utility fade-out-*{--tw-exit-opacity: calc(--value(number)/100); --tw-exit-opacity: --value(--percentage-*,[*]);}@utility zoom-in{--tw-enter-scale: 0;}@utility zoom-in-*{--tw-enter-scale: calc(--value(number)*1%); --tw-enter-scale: calc(--value(ratio)); --tw-enter-scale: --value(--percentage-*,[*]);}@utility -zoom-in-*{--tw-enter-scale: calc(--value(number)*-1%); --tw-enter-scale: calc(--value(ratio)*-1); --tw-enter-scale: --value(--percentage-*,[*]);}@utility zoom-out{--tw-exit-scale: 0;}@utility zoom-out-*{--tw-exit-scale: calc(--value(number)*1%); --tw-exit-scale: calc(--value(ratio)); --tw-exit-scale: --value(--percentage-*,[*]);}@utility -zoom-out-*{--tw-exit-scale: calc(--value(number)*-1%); --tw-exit-scale: calc(--value(ratio)*-1); --tw-exit-scale: --value(--percentage-*,[*]);}@utility spin-in{--tw-enter-rotate: 30deg;}@utility spin-in-*{--tw-enter-rotate: calc(--value(number)*1deg); --tw-enter-rotate: calc(--value(ratio)*360deg); --tw-enter-rotate: --value(--rotate-*,[*]);}@utility -spin-in{--tw-enter-rotate: -30deg;}@utility -spin-in-*{--tw-enter-rotate: calc(--value(number)*-1deg); --tw-enter-rotate: calc(--value(ratio)*-360deg); --tw-enter-rotate: --value(--rotate-*,[*]);}@utility spin-out{--tw-exit-rotate: 30deg;}@utility spin-out-*{--tw-exit-rotate: calc(--value(number)*1deg); --tw-exit-rotate: calc(--value(ratio)*360deg); --tw-exit-rotate: --value(--rotate-*,[*]);}@utility -spin-out{--tw-exit-rotate: -30deg;}@utility -spin-out-*{--tw-exit-rotate: calc(--value(number)*-1deg); --tw-exit-rotate: calc(--value(ratio)*-360deg); --tw-exit-rotate: --value(--rotate-*,[*]);}@utility slide-in-from-top{--tw-enter-translate-y: -100%;}@utility slide-in-from-top-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-y: calc(--value(ratio)*-100%); --tw-enter-translate-y: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-in-from-bottom{--tw-enter-translate-y: 100%;}@utility slide-in-from-bottom-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-y: calc(--value(ratio)*100%); --tw-enter-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-left{--tw-enter-translate-x: -100%;}@utility slide-in-from-left-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-in-from-right{--tw-enter-translate-x: 100%;}@utility slide-in-from-right-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-start{&:dir(ltr){ --tw-enter-translate-x: -100%; }&:dir(rtl){ --tw-enter-translate-x: 100%; }}@utility slide-in-from-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-in-from-end{&:dir(ltr){ --tw-enter-translate-x: 100%; }&:dir(rtl){ --tw-enter-translate-x: -100%; }}@utility slide-in-from-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }}@utility slide-out-to-top{--tw-exit-translate-y: -100%;}@utility slide-out-to-top-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-y: calc(--value(ratio)*-100%); --tw-exit-translate-y: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-out-to-bottom{--tw-exit-translate-y: 100%;}@utility slide-out-to-bottom-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-y: calc(--value(ratio)*100%); --tw-exit-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-left{--tw-exit-translate-x: -100%;}@utility slide-out-to-left-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-out-to-right{--tw-exit-translate-x: 100%;}@utility slide-out-to-right-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-start{&:dir(ltr){ --tw-exit-translate-x: -100%; }&:dir(rtl){ --tw-exit-translate-x: 100%; }}@utility slide-out-to-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-out-to-end{&:dir(ltr){ --tw-exit-translate-x: 100%; }&:dir(rtl){ --tw-exit-translate-x: -100%; }}@utility slide-out-to-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }}
|
|
3
3
|
@theme inline{@keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); }to { height: 0; }}}@custom-variant data-open{&:where([data-state="open"]),&:where([data-open]:not([data-open="false"])){ @slot; }}@custom-variant data-closed{&:where([data-state="closed"]),&:where([data-closed]:not([data-closed="false"])){ @slot; }}@custom-variant data-checked{&:where([data-state="checked"]),&:where([data-checked]:not([data-checked="false"])){ @slot; }}@custom-variant data-unchecked{&:where([data-state="unchecked"]),&:where([data-unchecked]:not([data-unchecked="false"])){ @slot; }}@custom-variant data-selected{&:where([data-selected="true"]){ @slot; }}@custom-variant data-disabled{&:where([data-disabled="true"]),&:where([data-disabled]:not([data-disabled="false"])){ @slot; }}@custom-variant data-active{&:where([data-state="active"]),&:where([data-active]:not([data-active="false"])){ @slot; }}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]){ @slot; }}@custom-variant data-vertical{&:where([data-orientation="vertical"]){ @slot; }}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none;&::-webkit-scrollbar { display: none; }}
|
|
4
4
|
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../media/KaTeX_AMS-Regular.c30af439.woff2)format("woff2"),url(../media/KaTeX_AMS-Regular.e6a3cada.woff)format("woff"),url(../media/KaTeX_AMS-Regular.892f691b.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../media/KaTeX_Caligraphic-Bold.db991531.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Bold.2f97783e.woff)format("woff"),url(../media/KaTeX_Caligraphic-Bold.a36b8125.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../media/KaTeX_Caligraphic-Regular.c20eee08.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Regular.2b13f013.woff)format("woff"),url(../media/KaTeX_Caligraphic-Regular.7c50032c.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../media/KaTeX_Fraktur-Bold.d514bd28.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Bold.5fa2f5e4.woff)format("woff"),url(../media/KaTeX_Fraktur-Bold.e311399d.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../media/KaTeX_Fraktur-Regular.5d62e468.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Regular.18139813.woff)format("woff"),url(../media/KaTeX_Fraktur-Regular.2a73476d.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../media/KaTeX_Main-Bold.f4e2828d.woff2)format("woff2"),url(../media/KaTeX_Main-Bold.c24b5ba7.woff)format("woff"),url(../media/KaTeX_Main-Bold.6d137c77.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../media/KaTeX_Main-BoldItalic.f1884480.woff2)format("woff2"),url(../media/KaTeX_Main-BoldItalic.079b33ae.woff)format("woff"),url(../media/KaTeX_Main-BoldItalic.c003d3ec.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../media/KaTeX_Main-Italic.a3746929.woff2)format("woff2"),url(../media/KaTeX_Main-Italic.26a3619b.woff)format("woff"),url(../media/KaTeX_Main-Italic.61da3e93.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../media/KaTeX_Main-Regular.12644167.woff2)format("woff2"),url(../media/KaTeX_Main-Regular.d511f158.woff)format("woff"),url(../media/KaTeX_Main-Regular.876b86ad.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../media/KaTeX_Math-BoldItalic.5c6a6a93.woff2)format("woff2"),url(../media/KaTeX_Math-BoldItalic.ad4dffd5.woff)format("woff"),url(../media/KaTeX_Math-BoldItalic.e73b3bf0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../media/KaTeX_Math-Italic.d8564edb.woff2)format("woff2"),url(../media/KaTeX_Math-Italic.1cd2c488.woff)format("woff"),url(../media/KaTeX_Math-Italic.03974bc4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(../media/KaTeX_SansSerif-Bold.a03f9428.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Bold.ff51ef5c.woff)format("woff"),url(../media/KaTeX_SansSerif-Bold.d4608ed5.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(../media/KaTeX_SansSerif-Italic.9245afda.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Italic.8ed740d6.woff)format("woff"),url(../media/KaTeX_SansSerif-Italic.c0b22b1e.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(../media/KaTeX_SansSerif-Regular.128c9bc2.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Regular.ee7b0a16.woff)format("woff"),url(../media/KaTeX_SansSerif-Regular.156dbd4e.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../media/KaTeX_Script-Regular.186c7155.woff2)format("woff2"),url(../media/KaTeX_Script-Regular.afc2fd5a.woff)format("woff"),url(../media/KaTeX_Script-Regular.00d9a561.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size1-Regular.4450ef36.woff2)format("woff2"),url(../media/KaTeX_Size1-Regular.e5bf4c74.woff)format("woff"),url(../media/KaTeX_Size1-Regular.9aaff96b.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size2-Regular.6a97527b.woff2)format("woff2"),url(../media/KaTeX_Size2-Regular.8fbd32af.woff)format("woff"),url(../media/KaTeX_Size2-Regular.f11810ed.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size3-Regular.54b7ce9d.woff2)format("woff2"),url(../media/KaTeX_Size3-Regular.45ae8eba.woff)format("woff"),url(../media/KaTeX_Size3-Regular.9812ade2.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size4-Regular.927fc5b9.woff2)format("woff2"),url(../media/KaTeX_Size4-Regular.b211e3d3.woff)format("woff"),url(../media/KaTeX_Size4-Regular.44a4d487.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../media/KaTeX_Typewriter-Regular.ff99d643.woff2)format("woff2"),url(../media/KaTeX_Typewriter-Regular.68b6c3a9.woff)format("woff"),url(../media/KaTeX_Typewriter-Regular.a1a7ff52.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo)")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo)")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,53925,e=>{"use strict";e.s(["ResourceImportDialog",()=>u],53925);var t=e.i(18050),a=e.i(71645),l=e.i(72064),s=e.i(75157),r=e.i(19455);function n(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function i(e){let{uploadUrl:i,accept:o,disabled:c=!1,multiple:d=!1,maxFileSize:u=0x3200000,autoUpload:m=!1,method:p="POST",transport:f="xhr",fieldName:x="file",headers:b,extraFormData:h,autoRetryTimes:g=0,autoRetryDelayMs:v=800,selectionOnly:y=!1,className:j,emptyTitle:C="点击或拖拽文件到此处",emptyHint:w="支持上传文件",onFilesChange:k,onUploadSuccess:N,onUploadError:S,onValidationError:T}=e,A=a.useId(),R=a.useRef(null),E=a.useRef(new Map),M=a.useRef(new Map),P=a.useRef([]),[z,U]=a.useState(!1),[O,D]=a.useState([]),B=a.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);a.useEffect(()=>{P.current=O,null==k||k(O)},[O,k]),a.useEffect(()=>()=>{for(let e of E.current.values())e.abort();for(let e of M.current.values())e.abort();for(let e of P.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let I=a.useCallback((e,t)=>{D(a=>a.map(a=>a.id===e?{...a,...t}:a))},[]),L=a.useCallback(async(e,t)=>{let a=P.current.find(t=>t.id===e);if(!a||c)return;I(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let l=new FormData;if(h)for(let[e,t]of Object.entries(h))l.append(e,t);l.append(x,a.file);try{let t="";if("fetch"===f){let a=new AbortController;M.current.set(e,a);let s=await fetch(i,{method:p,headers:b,body:l,signal:a.signal}),r=await s.text();try{t=r?JSON.parse(r):""}catch(e){t=r}if(!s.ok)throw Error("上传失败:".concat(s.status," ").concat(s.statusText))}else t=await new Promise((t,a)=>{let s=new XMLHttpRequest;if(E.current.set(e,s),s.open(p,i,!0),b)for(let[e,t]of Object.entries(b))s.setRequestHeader(e,t);s.upload.onprogress=t=>{if(!t.lengthComputable)return;let a=Math.min(100,Math.round(t.loaded/t.total*100));I(e,{progress:a})},s.onerror=()=>a(Error("网络异常,上传失败")),s.onabort=()=>a(Error("__ABORTED__")),s.onload=()=>{s.status>=200&&s.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(s)):a(Error("上传失败:".concat(s.status," ").concat(s.statusText)))},s.send(l)});I(e,{status:"success",progress:100,error:""});let a=P.current.find(t=>t.id===e);a&&(null==N||N(a,t))}catch(s){let a=s instanceof Error?s.message:String(s);if("__ABORTED__"===a)return void I(e,{status:"selected",progress:0,error:""});if(t<g){I(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(g,")")}),await new Promise(e=>window.setTimeout(e,v)),await L(e,t+1);return}I(e,{status:"error",error:a});let l=P.current.find(t=>t.id===e);l&&(null==S||S(l,a))}finally{E.current.delete(e),M.current.delete(e)}},[v,g,c,h,x,b,p,S,N,f,I,i]),_=a.useCallback(e=>{L(e,0)},[L]),F=a.useCallback(e=>{var t,a;null==(t=E.current.get(e))||t.abort(),null==(a=M.current.get(e))||a.abort()},[]),V=a.useCallback(()=>{for(let e of P.current)("selected"===e.status||"error"===e.status)&&_(e.id)},[_]),K=a.useCallback(e=>{if(c||!e.length)return;let t=new Set(P.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),a=[];for(let l of e){let e="".concat(l.name,"::").concat(l.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let a=e.name.toLowerCase(),l=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?a.endsWith(e):e.endsWith("/*")?l.startsWith("".concat(e.slice(0,-1))):l===e)}(l,B)){null==T||T("文件类型不支持:".concat(l.name));continue}if(l.size>u){null==T||T("文件过大(最大 ".concat(n(u),"):").concat(l.name));continue}t.add(e),a.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:l,status:"selected",progress:0,error:"",retryCount:0,previewUrl:l.type.startsWith("image/")?URL.createObjectURL(l):""})}}if(!a.length)return;let l=d?[...P.current,...a]:[a[a.length-1]];if(!d)for(let e of P.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(D(l),m&&!y)for(let e of a)_(e.id)},[B,m,c,u,d,T,y,_]),H=a.useCallback(e=>{let t=e.target.files;t&&(K(Array.from(t)),e.target.value="")},[K]),J=a.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),U(!1),c||K(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[K,c]);return(0,t.jsxs)("div",{className:(0,s.cn)("flex min-h-0 w-full flex-col gap-3",j),children:[(0,t.jsx)("input",{ref:R,id:A,type:"file",hidden:!0,accept:o,multiple:d,disabled:c,onChange:H}),(0,t.jsxs)("label",{htmlFor:A,onDragOver:e=>{e.preventDefault(),c||U(!0)},onDragLeave:e=>{e.preventDefault(),U(!1)},onDrop:J,className:(0,s.cn)("flex min-h-[124px] cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-[var(--ds-border)] px-4 py-6 text-center transition-colors hover:border-[var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",z&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",c&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(l.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-base text-[var(--ds-text)]",children:C}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:w})]}),O.length?(0,t.jsx)("div",{className:"space-y-2",children:O.map(e=>(0,t.jsx)("div",{className:"rounded-md border border-[var(--ds-border)] p-2.5",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-base text-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:n(e.file.size)}),e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"mt-2 h-14 w-14 rounded object-cover"}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsx)("div",{className:"mt-2 h-1.5 w-full overflow-hidden rounded bg-[var(--ds-main-tint)]",children:(0,t.jsx)("div",{className:"h-full bg-[var(--ds-accent)] transition-all",style:{width:"".concat(e.progress,"%")}})}):null,"error"===e.status?(0,t.jsx)("div",{className:"mt-1 text-sm text-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),y?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(l.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(r.Button,{type:"button",size:"sm",variant:"outline",disabled:c,onClick:()=>_(e.id),children:["error"===e.status?(0,t.jsx)(l.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(r.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>F(e.id),children:[(0,t.jsx)(l.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!y&&!m&&O.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(r.Button,{type:"button",size:"sm",onClick:V,disabled:c,children:"上传"})}):null]})}var o=e.i(76639),c=e.i(13354),d=e.i(29250);function u(e){let{open:l,onOpenChange:s,title:n,description:u,uploadUrl:m,resetKey:p}=e,[f,x]=(0,a.useState)(!1),[b,h]=(0,a.useState)(null),g=(0,a.useCallback)(()=>{s(!1),h(null)},[s]),v=(0,a.useCallback)(async()=>{if(!b)return void c.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",b),x(!0);try{let t=await (0,d.bridgeFetch)(m,{method:"POST",body:e}),a=Number(t.imported||0),l=Number(t.overwritten||0),s=Array.isArray(t.rejected)?t.rejected.length:0;c.appToast.success("导入完成:导入 ".concat(a,",覆盖 ").concat(l)+(s>0?",拒绝 ".concat(s):"")),g()}catch(e){c.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{x(!1)}},[g,b,m]);return(0,t.jsx)(o.Dialog,{open:l,onOpenChange:e=>{s(e),e||h(null)},children:(0,t.jsxs)(o.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{children:n}),(0,t.jsx)(o.DialogDescription,{children:u})]}),(0,t.jsx)(o.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:g,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(i,{uploadUrl:m,accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:f,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,a;h(null!=(a=null==(t=e[0])?void 0:t.file)?a:null)},onValidationError:e=>{c.appToast.info(e)}},"".concat(l?"open":"closed","-").concat(null!=p?p:m)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(r.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:g,children:"取消"}),(0,t.jsx)(r.Button,{type:"button",size:"lg",variant:"default",disabled:f||null==b,onClick:()=>void v(),children:f?"导入中…":"确定"})]})]})]})})}},94197,e=>{"use strict";e.s(["IconTooltipButton",()=>i]);var t=e.i(18050),a=e.i(72064),l=e.i(19455),s=e.i(46798),r=e.i(75157);let n={muted:"text-[var(--ds-muted)] hover:text-[var(--ds-text)]",danger:"text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800"};function i(e){let{icon:i,label:o,ariaLabel:c,tone:d="muted",disabled:u,className:m,iconClassName:p,onClick:f}=e;return(0,t.jsx)(s.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)(s.Tooltip,{children:[(0,t.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(l.Button,{type:"button",variant:"plain",size:"icon",className:(0,r.cn)("h-4 w-4",n[d],m),disabled:u,"aria-label":null!=c?c:o,onClick:f,children:(0,t.jsx)(a.default,{name:i,size:16,className:p})})}),(0,t.jsx)(s.TooltipContent,{side:"bottom",align:"center",className:"text-base",children:o})]})})}},56708,e=>{"use strict";e.s(["ManageChromeHeaderActions",()=>i,"ManageFeatureChrome",()=>n]);var t=e.i(18050),a=e.i(71645),l=e.i(74080),s=e.i(72064);let r=(0,a.createContext)(null);function n(e){let{title:l,description:n,children:i,showTitle:o=!0,headerIcon:c}=e,[d,u]=(0,a.useState)(null);return(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-[var(--space-4)] pb-[var(--space-4)]",children:[o?(0,t.jsxs)("div",{className:"manage-page-title-block flex items-center",children:[c&&(0,t.jsx)("div",{className:"mr-3 rounded-md bg-[var(--green-light)] px-4 py-3",children:(0,t.jsx)(s.default,{name:c,size:24,className:"text-[var(--green-dark)]",strokeWidth:1.5})}),(0,t.jsxs)("div",{className:"pt-3",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:l}),(0,t.jsx)("p",{className:"manage-page-desc",children:n})]})]}):null,(0,t.jsx)("div",{ref:u,className:"manage-page-header-actions self-start"})]}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col",children:(0,t.jsx)(r.Provider,{value:d,children:i})})]})}function i(e){let{children:t}=e,s=(0,a.useContext)(r);return(0,a.useSyncExternalStore)(()=>()=>{},()=>!0,()=>!1)&&s?(0,l.createPortal)(t,s):null}},92715,85413,e=>{"use strict";e.s(["AppTable",()=>m],92715);var t=e.i(18050);e.s(["Empty",()=>s],85413);var a=e.i(75157),l=e.i(72064);function s(e){let{text:s="暂无数据",className:r}=e;return(0,t.jsxs)("div",{className:(0,a.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-base text-[var(--ds-muted)]",r),role:"status","aria-live":"polite",children:[(0,t.jsx)(l.default,{name:"NoData",size:80,color:"var(--ds-muted)",className:"opacity-90"}),(0,t.jsx)("span",{children:s})]})}var r=e.i(71645);let n=r.forwardRef((e,l)=>{let{className:s,...r}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:l,className:(0,a.cn)("w-full caption-bottom border-collapse text-sm",s),...r})})});n.displayName="Table";let i=r.forwardRef((e,l)=>{let{className:s,...r}=e;return(0,t.jsx)("thead",{ref:l,className:(0,a.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",s),...r})});i.displayName="TableHeader";let o=r.forwardRef((e,l)=>{let{className:s,viewportFit:n=!0,viewportReserveBottom:i=16,viewportPaginationReserve:o=0,style:c,...d}=e,u=r.useRef(null),m=r.useCallback(e=>{u.current=e,"function"==typeof l?l(e):l&&(l.current=e)},[l]),[p,f]=r.useState(void 0);return r.useLayoutEffect(()=>{var e,t;if(!n)return void f(void 0);let a=()=>{var e,t;let a=u.current;if(!a)return;let l=a.getBoundingClientRect().top;f(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-l-(i+o))))};a();let l=new ResizeObserver(()=>{a()});try{l.observe(document.body)}catch(e){}return window.addEventListener("resize",a),null==(e=window.visualViewport)||e.addEventListener("resize",a),null==(t=window.visualViewport)||t.addEventListener("scroll",a),window.addEventListener("scroll",a,!0),()=>{var e,t;l.disconnect(),window.removeEventListener("resize",a),null==(e=window.visualViewport)||e.removeEventListener("resize",a),null==(t=window.visualViewport)||t.removeEventListener("scroll",a),window.removeEventListener("scroll",a,!0)}},[n,i,o]),(0,t.jsx)("tbody",{ref:m,className:(0,a.cn)("block overflow-y-auto [&_tr:last-child]:border-b-0 [&_tr:last-child_td]:border-b-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",s),style:n&&void 0!==p?{...c,maxHeight:p}:c,...d})});o.displayName="TableBody";let c=r.forwardRef((e,l)=>{let{className:s,hoverable:r=!0,...n}=e;return(0,t.jsx)("tr",{ref:l,className:(0,a.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",r&&"group/table-row",s),...n})});c.displayName="TableRow";let d=r.forwardRef((e,l)=>{let{className:s,...r}=e;return(0,t.jsx)("th",{ref:l,className:(0,a.cn)("h-10 border-b border-[var(--border-subtle)] bg-[var(--surface-2)] px-3 text-left align-middle text-[14px] font-medium !text-[var(--ds-text)] text-muted-foreground",s),...r})});d.displayName="TableHead";let u=r.forwardRef((e,l)=>{let{className:s,...r}=e;return(0,t.jsx)("td",{ref:l,className:(0,a.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle text-base transition-colors group-has-[td:hover]/table-row:!bg-[var(--ds-item-hover)]",s),...r})});function m(e){let{rows:l,columns:r,getRowKey:m,className:p,rowClassName:f,headerRowClassName:x,emptyText:b,emptyNode:h,bodyProps:g}=e;return(0,t.jsx)("div",{className:(0,a.cn)("overflow-hidden border border-[var(--ds-border)]",p),children:(0,t.jsxs)(n,{children:[(0,t.jsx)(i,{children:(0,t.jsx)(c,{className:(0,a.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",x),children:r.map(e=>(0,t.jsx)(d,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(o,{...g,children:l.length?l.map(e=>(0,t.jsx)(c,{className:"function"==typeof f?f(e):f,children:r.map(a=>(0,t.jsx)(u,{className:a.cellClassName,children:a.render(e)},a.key))},m(e))):(0,t.jsx)(c,{hoverable:!1,children:(0,t.jsx)(u,{colSpan:r.length,className:"py-6",children:null!=h?h:(0,t.jsx)(s,{text:b})})})})]})})}u.displayName="TableCell"},62427,e=>{"use strict";e.s(["deleteRuntimeMcp",()=>d,"deleteRuntimeSkill",()=>h,"deleteRuntimeTool",()=>c,"exportRuntimeMcpUrl",()=>m,"exportRuntimeSkillUrl",()=>g,"exportRuntimeToolUrl",()=>u,"importRuntimeMcp",()=>f,"importRuntimeTool",()=>p,"installCloudSkill",()=>y,"listAgentTeams",()=>n,"listCloudSkillCatalog",()=>v,"listMcpServers",()=>l,"listRuntimeMcpPackages",()=>o,"listRuntimeTools",()=>i,"listSkills",()=>r,"listTools",()=>s,"loadRemoteMcpJson",()=>x,"saveRemoteMcpJson",()=>b]);var t=e.i(29250),a=e.i(36845);async function l(e,l,s){let r=await (0,t.get)((0,a.buildMcpServersListUrl)(e,l,s));return{servers:Array.isArray(r.servers)?r.servers:[]}}async function s(e,l,s){let r=await (0,t.get)((0,a.buildToolsListUrl)(e,l,s));return{tools:Array.isArray(r.tools)?r.tools:[]}}async function r(e,l,s){let r=await (0,t.get)((0,a.getSkillsList)(e,l,s));return{skills:Array.isArray(r.skills)?r.skills:[]}}async function n(e,l,s){let r=await (0,t.get)((0,a.buildAgentTeamsListUrl)(e,l,s));return{teamAgentTypes:Array.isArray(r.teamAgentTypes)?r.teamAgentTypes:[],agentTeams:Array.isArray(r.agentTeams)?r.agentTeams:[]}}async function i(e,l,s){let r=await (0,t.get)((0,a.buildToolsRuntimeFilesUrl)(e,l,s));return{runtimeToolsDir:"string"==typeof r.runtimeToolsDir?r.runtimeToolsDir:"",items:Array.isArray(r.items)?r.items.filter(e=>!!(e&&e.id)):[]}}async function o(e,l,s){let r=await (0,t.get)((0,a.buildMcpRuntimeFilesUrl)(e,l,s));return{mcpRuntimeDir:"string"==typeof r.mcpRuntimeDir?r.mcpRuntimeDir:"",items:Array.isArray(r.items)?r.items.filter(e=>!!(e&&e.id)):[]}}async function c(e,l,s,r){return(0,t.del)((0,a.buildToolsRuntimeDeleteUrl)(e,l,s,r))}async function d(e,l,s,r){return(0,t.del)((0,a.buildMcpRuntimeDeleteUrl)(e,l,s,r))}function u(e,t,l,s){return(0,a.buildToolsRuntimeExportUrl)(e,t,l,s)}function m(e,t,l,s){return(0,a.buildMcpRuntimeExportUrl)(e,t,l,s)}async function p(e,l,s,r){let n=new FormData;return n.append("file",r),(0,t.post)((0,a.buildToolsRuntimeImportUrl)(e,l,s),n,{type:"file"})}async function f(e,l,s,r){let n=new FormData;return n.append("file",r),(0,t.post)((0,a.buildMcpRuntimeImportUrl)(e,l,s),n,{type:"file"})}async function x(e,l,s){return(0,t.get)((0,a.buildRemoteMcpJsonUrl)(e,l,s))}async function b(e,l,s,r){await (0,t.post)((0,a.buildRemoteMcpJsonUrl)(e,l,s),{content:r})}async function h(e,l,s,r){return(0,t.del)((0,a.buildSkillsRuntimeDeleteUrl)(e,l,s,r))}function g(e,t,l,s){return(0,a.buildSkillsRuntimeExportUrl)(e,t,l,s)}async function v(e,l,s,r,n,i){let o=await (0,t.get)((0,a.buildCloudSkillCatalogUrl)(e,l,s,r,n,i));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function y(e,l,s,r){await (0,t.post)((0,a.buildCloudSkillInstallUrl)(e,l,s),{id:r})}},94055,e=>{"use strict";e.s(["AccentSwitch",()=>O],94055);var t=e.i(18050);e.s(["Root",()=>E,"Thumb",()=>M],39606),e.s([],37751),e.i(37751),e.i(47167);var a=e.i(71645),l=e.i(94349),s=e.i(76477),r=e.i(26292),n=e.i(977),i=e.i(62372),o=e.i(17514),c=e.i(27601),d=e.i(19805),u=e.i(89879),m=e.i(91730),p=e.i(67805);let f=a.createContext(void 0),x=function(e){return e.disabled="data-disabled",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e}({}),b={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},h={disabled:!1,...b},g=function(e){return e.checked="data-checked",e.unchecked="data-unchecked",e.disabled="data-disabled",e.readonly="data-readonly",e.required="data-required",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e}({}),v={valid:e=>null===e?null:e?{[x.valid]:""}:{[x.invalid]:""},checked:e=>e?{[g.checked]:""}:{[g.unchecked]:""}},y=a.createContext({invalid:void 0,name:void 0,validityData:{state:{badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},errors:[],error:"",value:"",initialValue:null},setValidityData:o.NOOP,disabled:void 0,touched:b.touched,setTouched:o.NOOP,dirty:b.dirty,setDirty:o.NOOP,filled:b.filled,setFilled:o.NOOP,focused:b.focused,setFocused:o.NOOP,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:h,markedDirtyRef:{current:!1},registerFieldControl:o.NOOP,validation:{getValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.EMPTY_OBJECT;return e},getInputValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.EMPTY_OBJECT;return e},inputRef:{current:null},commit:async()=>{}}});function j(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=a.useContext(y);if(t.setValidityData===o.NOOP&&!e)throw Error((0,p.default)(28));return t}let C=a.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:o.NOOP,validationMode:"onSubmit",submitAttemptedRef:{current:!1}}),w=a.createContext({controlId:void 0,registerControlId:o.NOOP,labelId:void 0,setLabelId:o.NOOP,messageIds:[],setMessageIds:o.NOOP,getDescriptionProps:e=>e});function k(){return a.useContext(w)}var N=e.i(30628),S=e.i(29315),T=e.i(5963),A=e.i(3404),R=e.i(19904);let E=a.forwardRef(function(e,p){let{checked:x,className:b,defaultChecked:h,"aria-labelledby":g,form:y,id:w,inputRef:E,name:M,nativeButton:P=!1,onCheckedChange:z,readOnly:U=!1,required:O=!1,disabled:D=!1,render:B,uncheckedValue:I,value:L,style:_,...F}=e,{clearErrors:V}=a.useContext(C),{state:K,setTouched:H,setDirty:J,validityData:W,setFilled:q,setFocused:Y,shouldValidateOnChange:Z,validationMode:X,disabled:$,name:G,validation:Q}=j(),{labelId:ee}=k(),et=$||D,ea=null!=G?G:M,el=(0,s.useStableCallback)(z),es=a.useRef(null),er=(0,r.useMergedRefs)(es,E,Q.inputRef),en=a.useRef(null),ei=(0,u.useBaseUiId)(),eo=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{id:t,implicit:l=!1,controlRef:r}=e,{controlId:i,registerControlId:c}=k(),d=(0,u.useBaseUiId)(t),m=l?i:void 0,p=(0,N.useRefWithInit)(()=>Symbol("labelable-control")),f=a.useRef(!1),x=a.useRef(null!=t),b=(0,s.useStableCallback)(()=>{f.current&&c!==o.NOOP&&(f.current=!1,c(p.current,void 0))});return(0,n.useIsoLayoutEffect)(()=>{let e;if(c!==o.NOOP){if(l){let a=null==r?void 0:r.current;e=(0,S.isElement)(a)&&null!=a.closest("label")?null!=t?t:null:null!=m?m:d}else if(null!=t)x.current=!0,e=t;else{if(!x.current)return void b();e=d}if(void 0===e)return void b();f.current=!0,c(p.current,e)}},[t,r,m,c,l,d,p,b]),a.useEffect(()=>b,[b]),null!=i?i:d}({id:w,implicit:!1,controlRef:en}),ec=P?void 0:eo,[ed,eu]=(0,l.useControlled)({controlled:x,default:!!h,name:"Switch",state:"checked"});!function(e,t){let{enabled:l=!0,getValue:s,id:r,value:i}=t,{registerFieldControl:o}=j(),c=a.useRef(null);c.current||(c.current=Symbol()),(0,n.useIsoLayoutEffect)(()=>{let t=c.current;if(t&&l)return o(t,{controlRef:e,getValue:s,id:r,value:i}),()=>{o(t,void 0)}},[e,l,s,r,o,i])}(en,{id:ei,value:ed}),(0,n.useIsoLayoutEffect)(()=>{es.current&&q(es.current.checked)},[es,q]),(0,R.useValueChanged)(ed,()=>{V(ea),J(ed!==W.initialValue),q(ed),Z()?Q.commit(ed):Q.commit(ed,!0)});let{getButtonProps:em,buttonRef:ep}=(0,m.useButton)({disabled:et,native:P}),ef=function(e,t,l){var s;let r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=arguments.length>4?arguments[4]:void 0,[o,c]=a.useState(),d=(0,u.useBaseUiId)(i?"".concat(i,"-label"):void 0),m=null!=(s=null!=e?e:t)?s:o;return(0,n.useIsoLayoutEffect)(()=>{let a=e||t||!r?void 0:function(e,t){let a=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let a=e.id;if(a){let t=e.nextElementSibling;if(t&&t.htmlFor===a)return t}let l=e.labels;return l&&l[0]}(e);if(a)return!a.id&&t&&(a.id=t),a.id||void 0}(l.current,d);o!==a&&c(a)}),m}(g,ee,es,!P,ec),ex=a.useMemo(()=>(0,d.mergeProps)({checked:ed,disabled:et,form:y,id:ec,name:ea,required:O,style:ea?i.visuallyHiddenInput:i.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:er,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(U)return void e.preventDefault();let t=e.currentTarget.checked,a=(0,T.createChangeEventDetails)(A.REASONS.none,e.nativeEvent);null==el||el(t,a),a.isCanceled||eu(t)},onFocus(){var e;null==(e=en.current)||e.focus()}},Q.getInputValidationProps,void 0!==L?{value:L}:o.EMPTY_OBJECT),[ed,et,y,er,ec,ea,el,U,O,eu,Q,L]),eb=a.useMemo(()=>({...K,checked:ed,disabled:et,readOnly:U,required:O}),[K,ed,et,U,O]),eh=(0,c.useRenderElement)("span",e,{state:eb,ref:[p,en,ep],props:[{id:P?eo:ei,role:"switch","aria-checked":ed,"aria-readonly":U||void 0,"aria-required":O||void 0,"aria-labelledby":ef,onFocus(){et||Y(!0)},onBlur(){let e=es.current;e&&!et&&(H(!0),Y(!1),"onBlur"===X&&Q.commit(e.checked))},onClick(e){var t;U||et||(e.preventDefault(),null==(t=es.current)||t.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},Q.getValidationProps,F,em],stateAttributesMapping:v});return(0,t.jsxs)(f.Provider,{value:eb,children:[eh,!ed&&ea&&void 0!==I&&(0,t.jsx)("input",{type:"hidden",form:y,name:ea,value:I}),(0,t.jsx)("input",{...ex,suppressHydrationWarning:!0})]})}),M=a.forwardRef(function(e,t){let{render:l,className:s,style:r,...n}=e,{state:i}=j(),o=function(){let e=a.useContext(f);if(void 0===e)throw Error((0,p.default)(63));return e}(),d={...i,...o};return(0,c.useRenderElement)("span",e,{state:d,ref:t,stateAttributesMapping:v,props:n})});var P=e.i(39606),P=P,z=e.i(75157);function U(e){let{className:a,thumbClassName:l,...s}=e;return(0,t.jsx)(P.Root,{"data-slot":"switch",className:(0,z.cn)("shadow-xs focus-visible:ring-ring/50 dark:data-[unchecked]:bg-input/80 peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-input outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[checked]:bg-primary",a),...s,children:(0,t.jsx)(P.Thumb,{className:(0,z.cn)("pointer-events-none block size-4 rounded-full bg-background ring-0 transition-transform will-change-transform data-[checked]:translate-x-4 data-[unchecked]:translate-x-0.5 data-[checked]:bg-primary-foreground",l)})})}function O(e){let{className:a,thumbClassName:l,...s}=e;return(0,t.jsx)(U,{className:(0,z.cn)("focus-visible:border-[var(--ds-accent)]/50 focus-visible:ring-[var(--ds-accent)]/35 data-[checked]:border-[var(--ds-accent)] data-[checked]:bg-[var(--ds-accent)]",a),thumbClassName:(0,z.cn)("data-[checked]:bg-white",l),...s})}},93479,e=>{"use strict";e.s(["Input",()=>l]);var t=e.i(18050),a=e.i(75157);function l(e){let{className:l,type:s="text",size:r="default",...n}=e;return(0,t.jsx)("input",{type:s,"data-slot":"input","data-size":r,className:(0,a.cn)("h-8 w-full appearance-none rounded-md border border-solid border-border bg-transparent px-3 text-base outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[#e0e0e0] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none] data-[size=default]:h-8 data-[size=lg]:h-10 data-[size=sm]:h-7",l),...n})}},20783,e=>{"use strict";e.s(["composeRefs",()=>l,"useComposedRefs",()=>s]);var t=e.i(71645);function a(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function l(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return e=>{let l=!1,s=t.map(t=>{let s=a(t,e);return l||"function"!=typeof s||(l=!0),s});if(l)return()=>{for(let e=0;e<s.length;e++){let l=s[e];"function"==typeof l?l():a(t[e],null)}}}}function s(){for(var e=arguments.length,a=Array(e),s=0;s<e;s++)a[s]=arguments[s];return t.useCallback(l(...a),a)}},57428,e=>{"use strict";e.s(["Checkbox",()=>r]);var t=e.i(18050),a=e.i(71645),l=e.i(72064),s=e.i(75157);let r=a.forwardRef(function(e,r){let{className:n,size:i="default",checked:o,defaultChecked:c,disabled:d,id:u,onChange:m,...p}=e,f=void 0!==o,[x,b]=a.useState(!!c),h=f?!!o:x;return(0,t.jsxs)("span",{"data-slot":"checkbox","data-size":i,"data-checked":h?"true":"false",className:(0,s.cn)("relative inline-flex shrink-0 items-center justify-center rounded-sm border border-solid border-border bg-transparent outline-none transition-[color,box-shadow,border-color,background-color] duration-150 ease-in-out","has-[:focus-visible]:border-[var(--border-focus)] has-[:focus-visible]:[box-shadow:var(--ring-focus-sm)]","has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-50","data-[size=default]:size-4 data-[size=sm]:size-3.5",h?"border-[var(--ds-accent)] bg-[var(--ds-accent)]":"bg-transparent",n),children:[h?(0,t.jsx)(l.default,{name:"Check",className:(0,s.cn)("pointer-events-none text-[var(--surface-1)] [&_path]:!fill-none","sm"===i?"size-3":"size-3.5"),strokeWidth:2.25,"aria-hidden":"true"}):null,(0,t.jsx)("input",{ref:r,id:u,type:"checkbox",checked:f?o:void 0,defaultChecked:f?void 0:c,disabled:d,className:"absolute inset-0 m-0 size-full cursor-pointer opacity-0 disabled:cursor-not-allowed",onChange:e=>{f||b(e.target.checked),null==m||m(e)},...p})]})})},51459,e=>{"use strict";e.s(["AgentTeamsManageView",()=>p],51459);var t=e.i(18050),a=e.i(71645),l=e.i(65934),s=e.i(87243),r=e.i(50711),n=e.i(94055),i=e.i(92715),o=e.i(85413),c=e.i(75157);function d(e){let{saveBusy:a,pickerFilteredRows:l,pickerLoading:s,pickerSelected:r,onPickerToggle:d}=e,u=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"w-[140px] text-base text-[var(--ds-text)]",render:e=>{var t;return null!=(t=e.displayName)?t:e.id}},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>{var t;return null!=(t=e.description)?t:"-"}},{key:"enabled",title:"启用/未启用",headerClassName:"w-64 text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[72px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(n.AccentSwitch,{checked:r.includes(e.id),onCheckedChange:t=>d(e.id,t),disabled:a,"aria-label":"启用 ".concat(e.label)})})}];return(0,t.jsx)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col gap-4",children:(0,t.jsx)("div",{className:(0,c.cn)("flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border bg-[#fff] p-[24px] shadow-[var(--shadow-md)]","border-[var(--ds-border)]"),children:(0,t.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto",children:s?(0,t.jsx)("p",{className:"px-1 py-4 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):l.length?(0,t.jsx)(i.AppTable,{rows:l,columns:u,getRowKey:e=>e.id,className:"border-0",rowClassName:"border-[var(--ds-border)]",headerRowClassName:"border-[var(--ds-border)]"}):(0,t.jsx)("div",{className:"py-6",children:(0,t.jsx)(o.Empty,{})})})})})}var u=e.i(13354),m=e.i(62427);function p(){let e=(0,l.useAppStore)(e=>e.wsUrl),n=(0,l.useAppStore)(e=>e.apiBase),i=(0,l.useAppStore)(e=>e.agentId),o=(0,l.useAppStore)(e=>e.agentConfig),c=(0,l.useAppStore)(e=>e.setAgentConfig),{currentAgent:p,loadAgentConfig:f}=(0,s.useSession)(),x=(0,r.usePersistAgentConfigField)("agentTeams"),b=o.agentTeams,h=(0,a.useMemo)(()=>[...b].sort().join("\0"),[b]),[g,v]=(0,a.useState)([]),[y,j]=(0,a.useState)([]),[C,w]=(0,a.useState)(!1),[k,N]=(0,a.useState)(!1);(0,a.useEffect)(()=>{f()},[f]),(0,a.useEffect)(()=>{j([...b])},[h,b]),(0,a.useEffect)(()=>{w(!0),v([]),(0,m.listAgentTeams)(e,n,p()).then(e=>{var t,a;v((null!=(a=null!=(t=e.teamAgentTypes)?t:e.agentTeams)?a:[]).map(e=>{var t,a,l,s,r,n;return{id:null!=(a=null!=(t=e.agentType)?t:e.name)?a:"",label:null!=(s=null!=(l=e.agentType)?l:e.name)?s:"",displayName:null!=(n=null!=(r=e.name)?r:e.agentType)?n:"",description:e.description}}).filter(e=>e.id.length>0))}).catch(e=>{v([]),u.appToast.error("加载可选 Agent Team 失败:".concat(e instanceof Error?e.message:String(e)))}).finally(()=>{w(!1)})},[e,n,i,p]);let S=(0,a.useCallback)(async(e,t)=>{N(!0);try{await x(e,{silent:t})}finally{N(!1)}},[x]),T=(0,a.useCallback)((e,t)=>{let a=l.useAppStore.getState(),s=new Set(a.agentConfig.agentTeams);t?s.add(e):s.delete(e);let r=[...s].sort();j(r),c({...a.agentConfig,agentTeams:r}),S(r,!0)},[c,S]);return(0,t.jsx)(d,{saveBusy:k,pickerFilteredRows:g,pickerLoading:C,pickerSelected:y,onPickerToggle:T})}},28583,e=>{"use strict";e.s(["ToolsManageView",()=>j],28583);var t=e.i(18050),a=e.i(71645),l=e.i(65934),s=e.i(87243),r=e.i(13354),n=e.i(50711),i=e.i(19455),o=e.i(94055),c=e.i(94197),d=e.i(51419),u=e.i(92715);function m(e){let{items:a,saveBusy:l,onToggle:s,onExport:r,onRemove:n,className:i}=e,d=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.name},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"text-base",cellClassName:"whitespace-nowrap text-base text-[var(--ds-text)]",render:e=>(0,t.jsx)("span",{className:"inline-flex items-center gap-2",children:(0,t.jsx)(o.AccentSwitch,{checked:!!e.enabled,disabled:l,onCheckedChange:t=>s(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] text-base",cellClassName:"w-[128px]",render:e=>(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(c.IconTooltipButton,{icon:"Download",label:"导出",ariaLabel:"导出 ".concat(e.name),disabled:l,onClick:()=>r(e.name)}),(0,t.jsx)(c.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(e.name),disabled:l,onClick:()=>{n(e.name)}})]})}];return(0,t.jsx)(u.AppTable,{rows:a,columns:d,getRowKey:e=>"tools:".concat(e.name),className:i})}var p=e.i(36845),f=e.i(53925);function x(e){let{open:a,onOpenChange:l,wsUrl:s,apiBase:r,agent:n}=e;return(0,t.jsx)(f.ResourceImportDialog,{open:a,onOpenChange:l,title:"导入工具 zip",description:"选择一个 zip 文件并导入到 tools-runtime。",uploadUrl:(0,p.buildToolsRuntimeImportUrl)(s,r,n),resetKey:n})}var b=e.i(68499),h=e.i(72064),g=e.i(56708),v=e.i(62427);let y=[{value:"basic",label:"系统工具"},{value:"installed",label:"自定义工具"}];function j(){let e=(0,l.useAppStore)(e=>e.wsUrl),p=(0,l.useAppStore)(e=>e.apiBase),f=(0,l.useAppStore)(e=>e.agentConfig),j=(0,l.useAppStore)(e=>e.setAgentConfig),{currentAgent:C,loadAgentConfig:w}=(0,s.useSession)(),k=(0,n.usePersistAgentConfigField)("tools"),N=f.tools,S=(0,a.useMemo)(()=>[...N].sort().join("\0"),[N]),[T,A]=(0,a.useState)([]),[R,E]=(0,a.useState)([]),[M,P]=(0,a.useState)(!1),[z,U]=(0,a.useState)(!1),[O,D]=(0,a.useState)("basic"),[B,I]=(0,a.useState)(!1);(0,a.useEffect)(()=>{w()},[w]);let L=(0,a.useCallback)(async(e,t)=>{U(!0);try{await k(e,{silent:t})}finally{U(!1)}},[k]),_=(0,a.useCallback)(async()=>{A([]),P(!0);try{var t;let a=null!=(t=(await (0,v.listTools)(e,p,C())).tools)?t:[];A(a.map(e=>{var t,a;return{...e,id:e.name,label:(e.displayName&&e.displayName!==e.name?"".concat(e.displayName," · "):"")+e.name,description:null!=(a=null!=(t=e.description)?t:e.searchHint)?a:""}}))}catch(e){A([]),r.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{P(!1)}},[e,p,C]),F=(0,a.useCallback)(async t=>{if(await (0,b.confirmAlertDialog)({title:"确认删除工具包?",description:"工具名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,v.deleteRuntimeTool)(e,p,C(),t);let a=N.filter(e=>e!==t);E(e=>e.filter(e=>e!==t)),j({...f,tools:a}),await L(a,!0),await _()}catch(e){r.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[e,p,C,N,f,j,L,_]),V=(0,a.useCallback)(t=>{window.open((0,v.exportRuntimeToolUrl)(e,p,C(),t),"_blank","noopener")},[e,p,C]);(0,a.useEffect)(()=>{("basic"===O||"installed"===O)&&_()},[O,_]),(0,a.useEffect)(()=>{"basic"===O&&E([...N])},[O,N,S]);let K=(0,a.useCallback)(e=>{let t=[...new Set(e)].sort();j({...f,tools:t}),L(t,!0)},[f,j,L]),H=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...N,e])].sort():N.filter(t=>t!==e).sort();j({...f,tools:a}),L(a,!0)},[N,f,j,L]),J=(0,a.useMemo)(()=>T.filter(e=>!0===e.isRuntime).slice().sort((e,t)=>e.label.localeCompare(t.label)).map(e=>({name:e.id,description:e.description||"",enabled:N.includes(e.id)})),[T,N]),W=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.label},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"w-14 w-[112px] text-base text-[var(--ds-muted)]",cellClassName:"w-[112px] align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(o.AccentSwitch,{checked:R.includes(e.id),disabled:z,onCheckedChange:t=>{let a=t?[...new Set([...R,e.id])]:R.filter(t=>t!==e.id);E(a),K(a)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-14 w-[72px] text-base text-[var(--ds-muted)]",cellClassName:"w-[72px] align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(c.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",disabled:z,ariaLabel:"删除 ".concat(e.label),onClick:()=>F(e.id)})})}];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g.ManageChromeHeaderActions,{children:(0,t.jsxs)(i.Button,{id:"btnAgentPickerToolImport",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>I(!0),children:[(0,t.jsx)(h.default,{name:"Import",size:16,className:"align-middle"}),"导入自定义工具"]})}),(0,t.jsxs)(d.AppTabs,{tabs:y,value:O,listVariant:"line",onChange:e=>D(e),children:[(0,t.jsx)(d.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0",children:M?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(u.AppTable,{rows:T,columns:W,getRowKey:e=>e.id})})})}),(0,t.jsx)(d.AppTabsPanel,{value:"installed",children:(0,t.jsx)(m,{items:J,saveBusy:z,onToggle:H,onExport:V,onRemove:F})})]}),(0,t.jsx)(x,{open:B,onOpenChange:e=>{I(e),e||_()},wsUrl:e,apiBase:p,agent:C()})]})}},55242,e=>{"use strict";e.s(["AppDialog",()=>r]);var t=e.i(18050),a=e.i(71645),l=e.i(76639),s=e.i(75157);function r(e){let{open:r,onOpenChange:n,title:i,children:o,footer:c,width:d="max-w-3xl",minHeight:u}=e,m=(0,a.useId)();return(0,t.jsx)(l.Dialog,{open:r,onOpenChange:n,children:(0,t.jsxs)(l.DialogContent,{"aria-labelledby":m,className:(0,s.cn)(d,u?"!min-h-[--min-h]":""),style:u?{"--min-h":u}:void 0,children:[(0,t.jsxs)(l.DialogHeader,{children:[(0,t.jsx)(l.DialogTitle,{id:m,children:i}),(0,t.jsx)(l.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(l.DialogBody,{className:"!px-4 !py-3",children:o}),c?(0,t.jsx)("div",{className:"flex flex-shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:c}):null]})})}},89530,e=>{"use strict";e.s(["McpManageView",()=>C],89530);var t=e.i(18050),a=e.i(71645),l=e.i(65934),s=e.i(87243),r=e.i(13354),n=e.i(50711),i=e.i(51419),o=e.i(55242),c=e.i(92715),d=e.i(19455),u=e.i(94055),m=e.i(94197);function p(e){let{items:a,saveBusy:l,onToggleStatus:s,className:r}=e,n=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.label||e.name},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.description||"-"},{key:"source",title:"来源",headerClassName:"text-base",cellClassName:"text-base",render:()=>"远程"},{key:"status",title:"状态",headerClassName:"text-base",cellClassName:"whitespace-nowrap py-2 align-middle",render:e=>s?(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2 text-base text-[var(--ds-text)]",children:(0,t.jsx)(u.AccentSwitch,{checked:!e.disabled,disabled:l,onCheckedChange:t=>{s(e.name,t)},"aria-label":"".concat(e.disabled?"启用":"禁用"," ").concat(e.name)})}):(0,t.jsx)("span",{className:"text-base text-[var(--ds-text)]",children:e.installed?"已安装":"未安装"})}];return(0,t.jsx)(c.AppTable,{rows:a,columns:n,getRowKey:e=>"mcp:".concat(e.name),className:r})}var f=e.i(36845),x=e.i(53925);function b(e){let{open:a,onOpenChange:l,wsUrl:s,apiBase:r,agent:n}=e;return(0,t.jsx)(x.ResourceImportDialog,{open:a,onOpenChange:l,title:"导入 MCP zip",description:"选择一个 zip 文件并导入到 mcp-runtime。",uploadUrl:(0,f.buildMcpRuntimeImportUrl)(s,r,n),resetKey:n})}var h=e.i(68499),g=e.i(72064),v=e.i(56708),y=e.i(62427);let j=[{value:"basic",label:"本地MCP"},{value:"installed",label:"远程MCP"}];function C(){let e=(0,l.useAppStore)(e=>e.wsUrl),f=(0,l.useAppStore)(e=>e.apiBase),x=(0,l.useAppStore)(e=>e.agentConfig),C=(0,l.useAppStore)(e=>e.setAgentConfig),{currentAgent:w,loadAgentConfig:k}=(0,s.useSession)(),N=(0,n.usePersistAgentConfigField)("mcpServers"),S=x.mcpServers,T=(0,a.useMemo)(()=>[...S].sort().join("\0"),[S]),[A,R]=(0,a.useState)([]),[E,M]=(0,a.useState)([]),[P,z]=(0,a.useState)(!1),[U,O]=(0,a.useState)(!1),[D,B]=(0,a.useState)("basic"),[I,L]=(0,a.useState)(!1),[_,F]=(0,a.useState)(!1),[V,K]=(0,a.useState)(""),[H,J]=(0,a.useState)(!1);(0,a.useEffect)(()=>{k()},[k]);let W=(0,a.useCallback)(async(e,t)=>{O(!0);try{await N(e,{silent:t})}finally{O(!1)}},[N]),q=(0,a.useCallback)(async()=>{R([]),z(!0);try{var t;let a=null!=(t=(await (0,y.listMcpServers)(e,f,w())).servers)?t:[];R(a.map(e=>{var t,a,l;return{...e,id:e.name,label:e.name+(e.disabled?"(已禁用)":""),description:null!=(a=null!=(t=e.description)?t:e.source)?a:"",source:null!=(l=e.source)?l:"",installed:!!e.installed}}))}catch(e){R([]),r.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{z(!1)}},[e,f,w]),Y=(0,a.useCallback)(async t=>{var a;let l=A.find(e=>e.id===t),s=null!=(a=null==l?void 0:l.source)?a:"";if("runtime"!==s&&"remote"!==s)return void r.appToast.error("基础MCP不可删除");if(await (0,h.confirmAlertDialog)({title:"确认删除 MCP?",description:"服务器名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{if("remote"===s){let a=await (0,y.loadRemoteMcpJson)(e,f,w()),l={};try{l=JSON.parse(String(a.content||"{}"))}catch(e){l={mcpServers:{}}}(!l.mcpServers||Array.isArray(l.mcpServers)||"object"!=typeof l.mcpServers)&&(l.mcpServers={}),delete l.mcpServers[t],await (0,y.saveRemoteMcpJson)(e,f,w(),JSON.stringify(l,null,2))}else await (0,y.deleteRuntimeMcp)(e,f,w(),t);let a=S.filter(e=>e!==t);M(e=>e.filter(e=>e!==t)),C({...x,mcpServers:a}),await W(a,!0),await q()}catch(e){r.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[A,e,f,w,S,x,C,W,q]);(0,a.useEffect)(()=>{("basic"===D||"installed"===D)&&q()},[D,q]),(0,a.useEffect)(()=>{("basic"===D||"installed"===D)&&M([...S])},[D,S,T]);let Z=(0,a.useCallback)(async e=>{let t=[...new Set(e)].sort();C({...x,mcpServers:t}),await W(t,!0)},[x,C,W]),X=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...E,e])]:E.filter(t=>t!==e);M(a);try{await Z(a)}catch(e){M(E),r.appToast.error("切换启用状态失败: ".concat(e))}},[E,Z]),$=(0,a.useMemo)(()=>A.filter(e=>"remote"!==e.source).slice().sort((e,t)=>e.id.localeCompare(t.id)),[A]),G=(0,a.useMemo)(()=>A.filter(e=>"remote"===e.source).slice().sort((e,t)=>{let a=+!E.includes(e.id),l=+!E.includes(t.id);return a!==l?a-l:e.id.localeCompare(t.id)}).map(e=>({...e,name:e.id,label:e.label,description:e.description||"",installed:!0,source:e.source,disabled:!E.includes(e.id)})),[A,E]),Q=(0,a.useCallback)(t=>{window.open((0,y.exportRuntimeMcpUrl)(e,f,w(),t),"_blank","noopener")},[e,f,w]),ee=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...E,e])]:E.filter(t=>t!==e);M(a);try{await Z(a)}catch(e){M(E),r.appToast.error("切换启用状态失败: ".concat(e))}},[E,Z]),et=(0,a.useCallback)(()=>{F(!0),K(""),get(buildRemoteMcpJsonUrl(e,f,w())).then(e=>{K("string"==typeof e.content?e.content:"")}).catch(e=>{r.appToast.error("加载 mcp.json 失败:".concat(e instanceof Error?e.message:String(e))),F(!1)})},[e,f,w]),ea=(0,a.useCallback)(async()=>{J(!0);try{await post(buildRemoteMcpJsonUrl(e,f,w()),{content:V}),r.appToast.success("已保存全局 mcp.json。"),F(!1)}catch(e){r.appToast.error("保存 mcp.json 失败:".concat(e instanceof Error?e.message:String(e)))}finally{J(!1)}},[e,f,w,V]),el=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.label},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"w-14 w-[112px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[112px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(u.AccentSwitch,{checked:E.includes(e.id),disabled:U,onCheckedChange:t=>{X(e.id,t)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] text-base text-[var(--ds-muted)]",cellClassName:"w-[128px]",render:e=>{var a;let l=null!=(a=e.source)?a:"",s="runtime"===l,r="runtime"===l||"remote"===l;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(m.IconTooltipButton,{icon:"Download",label:s?"导出":"仅 runtime MCP 支持导出",ariaLabel:"导出 ".concat(e.label),disabled:U||!s,onClick:()=>Q(e.id)}),(0,t.jsx)(m.IconTooltipButton,{icon:"Trash2",label:r?"删除":"基础MCP不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label),disabled:U||!r,onClick:()=>{Y(e.id)},iconClassName:"text-red-500"})]})}}];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v.ManageChromeHeaderActions,{children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center",children:[(0,t.jsxs)(d.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:et,className:"mr-[12px]",children:[(0,t.jsx)(g.default,{name:"Edit",size:16,className:"align-middle"}),"编辑全局MCP"]}),(0,t.jsxs)(d.Button,{id:"btnAgentImportMcp",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>L(!0),children:[(0,t.jsx)(g.default,{name:"Import",size:16,className:"align-middle"}),"导入MCP"]})]})}),(0,t.jsxs)(i.AppTabs,{tabs:j,value:D,listVariant:"line",onChange:e=>B(e),children:[(0,t.jsx)(i.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0",children:P?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(c.AppTable,{rows:$,columns:el,getRowKey:e=>e.id})})})}),(0,t.jsx)(i.AppTabsPanel,{value:"installed",children:(0,t.jsx)(p,{items:G,saveBusy:U,onToggleStatus:ee})})]}),(0,t.jsx)(b,{open:I,onOpenChange:e=>{L(e),e||q()},wsUrl:e,apiBase:f,agent:w()}),(0,t.jsx)(o.AppDialog,{open:_,onOpenChange:F,title:"编辑全局MCP",width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:H,onClick:()=>F(!1),children:"取消"}),(0,t.jsx)(d.Button,{type:"button",size:"lg",disabled:H,onClick:()=>void ea(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 text-base leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:V,onChange:e=>K(e.target.value)})})]})}},18900,69051,e=>{"use strict";function t(e){let t=null==e?"":String(e);return""===t?'""':/[\s#"'\\\n]/.test(t)||t!==t.trim()?'"'.concat(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t}function a(e){let t=String(e).split(/\r?\n/),a={},l=/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/;for(let e=0;e<t.length;e++){let s=t[e],r=l.exec(s);r&&(a[r[1]]=function(e){let t=e.trimEnd();return t.length>=2&&'"'===t[0]&&'"'===t[t.length-1]?t.slice(1,-1).replace(/\\(.)/g,(e,t)=>"n"===t?"\n":'"'===t?'"':"\\"===t?"\\":"\\".concat(t)):t.length>=2&&"'"===t[0]&&"'"===t[t.length-1]?t.slice(1,-1):e}(r[2]))}return a}function l(e,a){let l=Array.isArray(e)?e:[],s=new Set;for(let e=0;e<l.length;e++){let t=l[e];t&&"object"==typeof t&&"string"==typeof t.key&&s.add(t.key)}let r=[];for(let e=0;e<l.length;e++){let s=l[e];if(!s||"object"!=typeof s||"string"!=typeof s.key)continue;let n=s.key;if(!Object.prototype.hasOwnProperty.call(a,n))continue;let i=a[n];null!=i&&""!==String(i).trim()&&r.push("".concat(n,"=").concat(t(String(i))))}let n=Object.keys(a).filter(e=>!s.has(e)).sort();for(let e=0;e<n.length;e++){let l=n[e],s=a[l];null!=s&&""!==String(s).trim()&&r.push("".concat(l,"=").concat(t(String(s))))}let i=r.join("\n");return i.length>0?"".concat(i,"\n"):""}e.s(["buildEnvFileContentFromForm",()=>l,"parseEnvContentToMap",()=>a],18900),e.s(["loadDemoSingleMessage",()=>c,"loadSystemEnv",()=>n,"saveSystemEnv",()=>i,"saveSystemMcpJson",()=>o],69051);var s=e.i(29250),r=e.i(36845);async function n(e,t,a){return(0,s.get)((0,r.buildSystemEnvApiUrl)(e,t,a))}async function i(e,t,a,l){await (0,s.patch)((0,r.buildSystemEnvApiUrl)(e,t,a),{content:l})}async function o(e,t,a,l){await (0,s.patch)((0,r.buildSystemMcpJsonApiUrl)(e,t,a),{content:l})}async function c(){return(0,s.get)("/api/demo/single-message")}},62849,e=>{"use strict";e.s(["EnvManageView",()=>j],62849);var t=e.i(18050),a=e.i(71645),l=e.i(65934),s=e.i(87243),r=e.i(19455),n=e.i(94197),i=e.i(93479),o=e.i(67489),c=e.i(67327);let d=["llm","git","geelib","tutui","system"],u={llm:"llm设置",git:"git设置",geelib:"geelib设置",tutui:"tutui设置",system:"系统设置"};function m(e){let t={...u};if(!e||"object"!=typeof e)return t;for(let a of d){let l=e[a];"string"==typeof l&&l.trim()&&(t[a]=l.trim())}return t}var p=e.i(18900),f=e.i(13354),x=e.i(82136),b=e.i(69051),h=e.i(75157);let g="__empty__",v=[{value:"anthropic",label:"anthropic"},{value:"openai",label:"openai"}];function y(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():"r-".concat(Date.now(),"-").concat(Math.random())}function j(){let e=(0,l.useAppStore)(e=>e.wsUrl),u=(0,l.useAppStore)(e=>e.apiBase),j=(0,l.useAppStore)(e=>e.agentConfig),C=(0,l.useAppStore)(e=>e.setAgentConfig),w=(0,l.useAppStore)(e=>e.bridgeReady),k=(0,l.useAppStore)(e=>e.setStatus),{currentAgent:N,loadAgentConfig:S}=(0,s.useSession)(),{sendReloadAgentConfig:T}=(0,c.useWebSocketSender)(),[A,R]=(0,a.useState)(!0),[E,M]=(0,a.useState)(!1),[P,z]=(0,a.useState)([]),[U,O]=(0,a.useState)(m(void 0)),[D,B]=(0,a.useState)({}),[I,L]=(0,a.useState)({}),[_,F]=(0,a.useState)([]),V=(0,a.useMemo)(()=>new Set(P.map(e=>e.key)),[P]),K=(0,a.useMemo)(()=>(function(e){let t={};for(let e of d)t[e]=[];for(let a of e)d.includes(a.group)&&t[a.group].push(a);return t})(P),[P]),H=(0,a.useCallback)(e=>{L(function(e,t,a){let l={};for(let s of t){let t=e[s.key];if("string"==typeof t&&t.length>0){l[s.key]=t;continue}let r=a[s.key];l[s.key]="string"==typeof r?r:""}return l}(e,P,D));let t={};for(let[a,l]of Object.entries(e))V.has(a)||(t[a]=l);F(Object.keys(t).sort().map(e=>{var a;return{id:y(),key:e,value:null!=(a=t[e])?a:""}}))},[P,D,V]),J=(0,a.useCallback)(async()=>{try{let t=await (0,b.loadSystemEnv)(e,u,N()),a="string"==typeof t.content?t.content:"",l=function(e){if(!Array.isArray(e))return[];let t=[];for(let a of e){if(!a||"object"!=typeof a)continue;let e="string"==typeof a.key?a.key.trim():"",l="string"==typeof a.group?a.group.trim():"";e&&d.includes(l)&&t.push({key:e,group:l,label:"string"==typeof a.label&&a.label.trim()?a.label.trim():e,placeholder:"string"==typeof a.placeholder?a.placeholder:""})}return t}(t.schema),s=(0,p.parseEnvContentToMap)(a);z(l),O(m(t.groupLabels)),B(function(e,t){let a={};for(let s of e){var l;a[s.key]=null!=(l=t[s.key])?l:""}return a}(l,s))}catch(e){f.appToast.error("加载环境变量表单配置失败:".concat(e instanceof Error?e.message:String(e))),z([]),B({})}},[e,u,N]);(0,a.useEffect)(()=>{R(!0),Promise.all([S(),J()]).finally(()=>{R(!1)})},[S,J]),(0,a.useEffect)(()=>{H({...j.env})},[j.env,H]);let W=(0,a.useCallback)((e,t)=>{L(a=>({...a,[e]:t}))},[]),q=(0,a.useCallback)((e,t)=>{F(a=>a.map(a=>a.id===e?{...a,...t}:a))},[]),Y=(0,a.useCallback)(e=>{F(t=>t.filter(t=>t.id!==e))},[]),Z=(0,a.useCallback)(()=>{F(e=>[...e,{id:y(),key:"",value:""}])},[]),X=(0,a.useCallback)(()=>{H({...j.env})},[j.env,H]),$=(0,a.useCallback)(async()=>{let t=function(e,t){let a={};for(let l of t){let t=Object.prototype.hasOwnProperty.call(e,l.key)?e[l.key]:"",s=String(null!=t?t:"").trim();s&&(a[l.key]=s)}return a}(I,P),a=function(e,t){let a={},l=new Set;for(let r of e){var s;let e=String(r.key||"").trim(),n=String(null!=(s=r.value)?s:"");if(n.trim()||e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))return{ok:!1,message:"环境变量名不合法:".concat(e,"(仅允许字母/数字/下划线,且不能数字开头)")};if(t.has(e))return{ok:!1,message:"自定义变量不能与固定表单重复:".concat(e)};if(l.has(e))return{ok:!1,message:"存在重复环境变量名:".concat(e)};l.add(e),a[e]=n}}return{ok:!0,env:a}}(_,V);if(!a.ok)return void f.appToast.info(a.message);let s={...t,...a.env};M(!0);try{var r,n,i,o;let t=l.useAppStore.getState();await (0,x.saveAgentConfig)(e,u,N(),{tools:t.agentConfig.tools.slice(),disallowedTools:t.agentConfig.disallowedTools.slice(),mcpServers:t.agentConfig.mcpServers.slice(),skills:t.agentConfig.skills.slice(),agentTeams:t.agentConfig.agentTeams.slice(),model:t.agentConfig.model,rules:t.agentConfig.rules.slice(),effort:null!=(r=t.agentConfig.effort)?r:null,background:null!=(n=t.agentConfig.background)&&n,isolation:null!=(i=t.agentConfig.isolation)?i:"",whentouse:null!=(o=t.agentConfig.whentouse)?o:"",env:s}),C({...t.agentConfig,env:{...s}}),l.useAppStore.getState().wsConnected&&T(),k("环境变量已保存"+(l.useAppStore.getState().wsConnected?",已请求 worker 重新加载配置":""),w?"ready":""),f.appToast.success(l.useAppStore.getState().wsConnected?"已保存到 agent.json,并已请求 worker 重新加载配置。":"已保存到 agent.json。重连 WebSocket 后子进程环境将同步。")}catch(e){f.appToast.error("保存环境变量失败:".concat(e instanceof Error?e.message:String(e)))}finally{M(!1)}},[I,P,_,V,e,u,N,C,T,k,w]);return(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border border-[var(--ds-border)] bg-[#fff] shadow-[var(--shadow-md)]",children:[(0,t.jsx)("div",{className:"shrink-0 border-b border-[var(--ds-border)] px-4 py-4",children:(0,t.jsx)("p",{className:"mt-1 text-sm text-[var(--ds-muted)]",children:"仅影响当前 agent 的 session 子进程环境"})}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:A?(0,t.jsx)("div",{className:"py-8 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsxs)(t.Fragment,{children:[P.length?(0,t.jsx)(t.Fragment,{children:d.map(e=>{let a=K[e];return a.length?(0,t.jsxs)("section",{className:"mt-6 first:mt-0",children:[(0,t.jsx)("h3",{className:"text-base font-semibold text-[var(--ds-text)]",children:U[e]}),(0,t.jsx)("div",{className:"mt-1 divide-y divide-[var(--ds-border)]",children:a.map(e=>(e=>{let a="agent-env-field-".concat(e.key),l="string"==typeof I[e.key]?I[e.key]:"";if("LLM_PROVIDER"===e.key){let s="anthropic"===l||"openai"===l?l:"";return(0,t.jsxs)("div",{className:"grid items-center gap-3 py-3",style:{gridTemplateColumns:"240px 1fr"},children:[(0,t.jsx)("label",{className:"inline-flex h-10 items-center rounded-md border border-[var(--ds-border)] px-3 text-base text-[var(--ds-text)]",htmlFor:a,children:e.label}),(0,t.jsxs)(o.Select,{value:s||g,onValueChange:t=>W(e.key,t===g?"":t),children:[(0,t.jsx)(o.SelectTrigger,{id:a,className:(0,h.cn)("h-10 w-full border-[var(--ds-border)] bg-[var(--ds-bg)] text-base",!s&&"text-[var(--text-placeholder)]"),children:(0,t.jsx)(o.SelectValue,{placeholder:"请选择"})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:g,children:"请选择"}),v.map(e=>(0,t.jsx)(o.SelectItem,{value:e.value,children:e.label},e.value))]})]})]},e.key)}return(0,t.jsxs)("div",{className:"grid items-center gap-3 py-3",style:{gridTemplateColumns:"240px 1fr"},children:[(0,t.jsx)("label",{className:"inline-flex h-10 items-center rounded-md border border-[var(--ds-border)] px-3 text-base text-[var(--ds-text)]",htmlFor:a,children:e.label}),(0,t.jsx)(i.Input,{id:a,type:"text",spellCheck:!1,autoComplete:"off",placeholder:e.placeholder,className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:l,onChange:t=>W(e.key,t.target.value)})]},e.key)})(e))})]},e):null})}):(0,t.jsx)("div",{className:"rounded-md border border-dashed border-[var(--ds-border)] py-8 text-center text-base text-[var(--ds-muted)]",children:"未加载到环境变量表单配置"}),(0,t.jsx)("h3",{className:"mb-4 mt-8 text-base font-semibold text-[var(--ds-text)]",children:"自定义设置"}),(0,t.jsx)("div",{className:"mt-5",children:(0,t.jsx)(r.Button,{type:"button",variant:"outline",size:"lg",disabled:A||E,onClick:Z,children:"新增变量"})}),(0,t.jsxs)("div",{className:"mb-2 mt-5 grid gap-2 text-sm text-[var(--ds-muted)]",style:{gridTemplateColumns:"1fr 1fr auto"},children:[(0,t.jsx)("span",{children:"KEY"}),(0,t.jsx)("span",{children:"VALUE"}),(0,t.jsx)("span",{children:"操作"})]}),(0,t.jsx)("div",{className:"flex flex-col gap-2",children:_.length?_.map(e=>(0,t.jsxs)("div",{className:"grid gap-2",style:{gridTemplateColumns:"1fr 1fr auto"},children:[(0,t.jsx)(i.Input,{type:"text",spellCheck:!1,autoComplete:"off",placeholder:"例如 API_KEY",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:e.key,onChange:t=>q(e.id,{key:t.target.value})}),(0,t.jsx)(i.Input,{type:"text",spellCheck:!1,autoComplete:"off",placeholder:"value",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:e.value,onChange:t=>q(e.id,{value:t.target.value})}),(0,t.jsx)(n.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(e.key),onClick:()=>Y(e.id)})]},e.id)):(0,t.jsx)("div",{className:"rounded-md border border-dashed border-[var(--ds-border)] py-8 text-center text-base text-[var(--ds-muted)]",children:"(暂无变量,点击「新增变量」)"})})]})}),(0,t.jsxs)("div",{className:"flex shrink-0 justify-end gap-[12px] border-t border-[var(--ds-border)] px-4 py-3",children:[(0,t.jsx)(r.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:A||E,onClick:X,children:"取消"}),(0,t.jsx)(r.Button,{type:"button",size:"lg",disabled:A||E,onClick:()=>void $(),children:"保存"})]})]})}},47079,e=>{"use strict";e.s(["SkillsManageView",()=>T],47079);var t=e.i(18050),a=e.i(71645),l=e.i(65934),s=e.i(87243),r=e.i(13354),n=e.i(50711),i=e.i(51419),o=e.i(92715),c=e.i(19455),d=e.i(94055),u=e.i(94197),m=e.i(72064),p=e.i(93479),f=e.i(75157);function x(e){let{className:a,...l}=e;return(0,t.jsx)("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:(0,f.cn)("flex w-full justify-end",a),...l})}let b=a.forwardRef((e,a)=>{let{className:l,...s}=e;return(0,t.jsx)("ul",{ref:a,"data-slot":"pagination-content",className:(0,f.cn)("flex flex-row flex-wrap items-center justify-end gap-1",l),...s})});b.displayName="PaginationContent";let h=a.forwardRef((e,a)=>{let{className:l,...s}=e;return(0,t.jsx)("li",{ref:a,"data-slot":"pagination-item",className:(0,f.cn)("",l),...s})});h.displayName="PaginationItem",a.forwardRef((e,a)=>{let{className:l,isActive:s,size:r="icon",...n}=e;return(0,t.jsx)("a",{ref:a,"aria-current":s?"page":void 0,"data-slot":"pagination-link","data-active":s?"true":void 0,className:(0,f.cn)((0,c.buttonVariants)({variant:s?"outline":"ghost",size:r}),l),...n})}).displayName="PaginationLink";var g=e.i(62427);function v(e){let{active:l,wsUrl:s,apiBase:n,agent:i,onAfterInstall:d,className:u}=e,[f,v]=(0,a.useState)(""),[y,j]=(0,a.useState)(1),[C,w]=(0,a.useState)(0),[k,N]=(0,a.useState)([]),[S,T]=(0,a.useState)(!1),[A,R]=(0,a.useState)(""),[E,M]=(0,a.useState)({}),P=(0,a.useRef)(0),z=(0,a.useCallback)(async()=>{let e=++P.current;T(!0),R("");try{let t=await (0,g.listCloudSkillCatalog)(s,n,i,f,y,10);if(e!==P.current)return;let a=Array.isArray(t.items)?t.items:[],l=[];for(let e of a)e&&"object"==typeof e&&e.id&&l.push({id:String(e.id),title:String(e.title||""),skillName:String(e.skillName||""),description:"string"==typeof e.description?e.description:"",installed:!!e.installed});N(l),w(t.totalPages)}catch(t){if(e!==P.current)return;N([]),w(0),R(t instanceof Error?t.message:String(t))}finally{e===P.current&&T(!1)}},[s,n,i,f,y]);(0,a.useEffect)(()=>{if(!l){v(""),j(1),w(0),N([]),R(""),M({}),P.current+=1;return}z()},[l,z]);let U=(0,a.useMemo)(()=>{if(S)return"加载中…";if(A)return"加载失败:".concat(A);let e=k.reduce((e,t)=>e+ +!!t.installed,0);return"已安装 ".concat(e," 项")},[S,A,k]),O=(0,a.useCallback)(async(e,t)=>{M(t=>({...t,[e]:!0}));try{await (0,g.installCloudSkill)(s,n,i,e),r.appToast.success("云端技能已安装:".concat(t)),await z(),null==d||d()}catch(e){r.appToast.error("安装失败:".concat(e instanceof Error?e.message:String(e)))}finally{M(t=>{let a={...t};return delete a[e],a})}},[s,n,i,z,d]),D=(0,a.useCallback)(e=>{j(1),v(e)},[]);if(!l)return null;let B=C>0?"第 ".concat(y,"/").concat(C," 页"):"第 0/0 页",I=S||y<=1,L=S||C<=0||y>=C,_=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.skillName?"".concat(e.skillName):e.id},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base text-[var(--ds-text)]",render:e=>(0,t.jsxs)(t.Fragment,{children:[e.title,e.description?" — ".concat(e.description):""]})},{key:"status",title:"状态",headerClassName:"text-base",cellClassName:"whitespace-nowrap text-base text-[var(--ds-text)]",render:e=>e.installed?"已安装":"未安装"},{key:"actions",title:"操作",headerClassName:"w-[96px] text-right text-base",cellClassName:"w-[116px] text-right",render:e=>{let a=!!E[e.id],l=!!e.installed;return!a&&l?"-":(0,t.jsx)(c.Button,{type:"button",size:"sm",variant:"outline",disabled:a||l,onClick:()=>void O(e.id,e.title||e.skillName||e.id),children:a?"安装中…":l?"已安装":"安装"})}}];return(0,t.jsx)("div",{className:u,children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)(p.Input,{type:"search",value:f,onChange:e=>D(e.target.value),placeholder:"搜索云端技能…",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base"}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:U}),(0,t.jsx)(o.AppTable,{rows:k,columns:_,getRowKey:e=>e.id,className:"min-h-0 flex-1 rounded-md",bodyProps:{viewportPaginationReserve:64},emptyNode:S?(0,t.jsx)("p",{className:"text-center text-base",children:"加载中…"}):void 0}),(0,t.jsx)(x,{className:"mx-0 w-full",children:(0,t.jsxs)(b,{className:"w-full flex-wrap justify-end gap-2",children:[(0,t.jsx)(h,{children:(0,t.jsxs)(c.Button,{type:"button",variant:"outline",size:"sm",disabled:I,className:"gap-1",onClick:()=>j(e=>Math.max(1,e-1)),"aria-label":"上一页",children:[(0,t.jsx)(m.default,{name:"ChevronLeft",size:16,className:"shrink-0"}),"上一页"]})}),(0,t.jsx)(h,{children:(0,t.jsx)("span",{className:"flex h-9 min-w-[6.5rem] items-center justify-center text-sm text-[var(--ds-muted)]",children:B})}),(0,t.jsx)(h,{children:(0,t.jsxs)(c.Button,{type:"button",variant:"outline",size:"sm",disabled:L,className:"gap-1",onClick:()=>j(e=>e+1),"aria-label":"下一页",children:["下一页",(0,t.jsx)(m.default,{name:"ChevronRight",size:16,className:"shrink-0",strokeWidth:1})]})})]})})]})})}var y=e.i(36845),j=e.i(53925);function C(e){let{open:a,onOpenChange:l,wsUrl:s,apiBase:r,agent:n}=e;return(0,t.jsx)(j.ResourceImportDialog,{open:a,onOpenChange:l,title:"导入 Skill zip",description:"选择一个 zip 文件并导入到 skills-runtime。",uploadUrl:(0,y.buildSkillsRuntimeImportUrl)(s,r,n),resetKey:n})}function w(e){let{items:a,saveBusy:l,onToggleEnabled:s,onExport:r,onRemove:n,className:i}=e,c=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.name},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.description||"-"},{key:"status",title:"状态",headerClassName:"w-[160px] text-base",cellClassName:"w-[160px] text-base text-[var(--ds-text)]",render:()=>"已安装"},{key:"enabled",title:"启用/未启用",headerClassName:"w-[160px] text-right text-base",cellClassName:"w-[160px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2",children:(0,t.jsx)(d.AccentSwitch,{checked:e.enabled,disabled:l,onCheckedChange:t=>s(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] text-base",cellClassName:"w-[128px]",render:e=>(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(u.IconTooltipButton,{icon:"Download",label:"导出",ariaLabel:"导出 ".concat(e.name),disabled:l,onClick:()=>r(e.name)}),(0,t.jsx)(u.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(e.name),disabled:l,onClick:()=>{n(e.name)}})]})}];return(0,t.jsx)(o.AppTable,{rows:a,columns:c,getRowKey:e=>"skills:".concat(e.name),className:i})}var k=e.i(68499),N=e.i(56708);let S=[{value:"basic",label:"基础Skill"},{value:"installed",label:"已安装Skill"},{value:"cloud_catalog",label:"Skill商店"}];function T(){let e=(0,l.useAppStore)(e=>e.wsUrl),p=(0,l.useAppStore)(e=>e.apiBase),f=(0,l.useAppStore)(e=>e.agentConfig),x=(0,l.useAppStore)(e=>e.setAgentConfig),{currentAgent:b,loadAgentConfig:h}=(0,s.useSession)(),y=(0,n.usePersistAgentConfigField)("skills"),j=f.skills,T=(0,a.useMemo)(()=>[...j].sort().join("\0"),[j]),[A,R]=(0,a.useState)([]),[E,M]=(0,a.useState)([]),[P,z]=(0,a.useState)(!1),[U,O]=(0,a.useState)(!1),[D,B]=(0,a.useState)("basic"),[I,L]=(0,a.useState)(!1);(0,a.useEffect)(()=>{h()},[h]);let _=(0,a.useCallback)(async(e,t)=>{O(!0);try{await y(e,{silent:t})}finally{O(!1)}},[y]),F=(0,a.useCallback)(async()=>{R([]),z(!0);try{var t;let a=null!=(t=(await (0,g.listSkills)(e,p,b())).skills)?t:[];R(a.map(e=>{var t,a;return{...e,id:e.name,label:"".concat(e.name),description:null!=(a=null!=(t=e.description)?t:e.whenToUse)?a:"",isRuntime:!!e.isRuntime}}))}catch(e){R([]),r.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{z(!1)}},[e,p,b]),V=(0,a.useCallback)(async t=>{let a=A.find(e=>e.id===t);if(!(null==a?void 0:a.isRuntime))return void r.appToast.info("仅 skills-runtime 中的技能可删除");if(await (0,k.confirmAlertDialog)({title:"确认删除 Skill 包?",description:"Skill:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,g.deleteRuntimeSkill)(e,p,b(),t);let a=j.filter(e=>e!==t);M(e=>e.filter(e=>e!==t)),x({...f,skills:a}),await _(a,!0),await F()}catch(e){r.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[A,e,p,b,j,f,x,_,F]);(0,a.useEffect)(()=>{("basic"===D||"installed"===D)&&F()},[D,F]);let K=(0,a.useCallback)(()=>{F()},[F]);(0,a.useEffect)(()=>{"basic"===D&&M([...j])},[D,j,T]);let H=(0,a.useCallback)(e=>{let t=[...new Set(e)].sort();x({...f,skills:t}),_(t,!0)},[f,x,_]),J=(0,a.useMemo)(()=>A.filter(e=>!e.isRuntime),[A]),W=(0,a.useMemo)(()=>A.filter(e=>!0===e.isRuntime).slice().sort((e,t)=>e.label.localeCompare(t.label)).map(e=>({name:e.id,installed:!0,description:e.description||"",enabled:j.includes(e.id)})),[A,j]),q=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...j,e])].sort():j.filter(t=>t!==e);x({...f,skills:a}),M(a),_(a,!0)},[j,f,x,_]),Y=(0,a.useCallback)(t=>{window.open((0,g.exportRuntimeSkillUrl)(e,p,b(),t),"_blank","noopener")},[e,p,b]),Z=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.label},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"w-[72px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[72px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(d.AccentSwitch,{checked:E.includes(e.id),disabled:U,onCheckedChange:t=>{let a=t?[...new Set([...E,e.id])]:E.filter(t=>t!==e.id);M(a),H(a)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-[72px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[72px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(u.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",disabled:U,ariaLabel:"删除 ".concat(e.label),onClick:()=>{V(e.id)}})})}];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(N.ManageChromeHeaderActions,{children:(0,t.jsxs)(c.Button,{id:"btnAgentImportSkill",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>L(!0),children:[(0,t.jsx)(m.default,{name:"Import",size:16,className:"align-middle"}),"导入Skill"]})}),(0,t.jsxs)(i.AppTabs,{tabs:S,value:D,listVariant:"line",onChange:e=>B(e),children:[(0,t.jsx)(i.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0",children:P?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(o.AppTable,{rows:J,columns:Z,getRowKey:e=>e.id})})})}),(0,t.jsx)(i.AppTabsPanel,{value:"installed",children:(0,t.jsx)(w,{items:W,saveBusy:U,onToggleEnabled:q,onExport:Y,onRemove:V})}),(0,t.jsx)(i.AppTabsPanel,{value:"cloud_catalog",className:"flex min-h-0 flex-1 flex-col",children:(0,t.jsx)(v,{active:"cloud_catalog"===D,wsUrl:e,apiBase:p,agent:b(),onAfterInstall:K,className:"min-h-0 flex-1"})})]}),(0,t.jsx)(C,{open:I,onOpenChange:e=>{L(e),e||F()},wsUrl:e,apiBase:p,agent:b()})]})}},69230,e=>{"use strict";e.s(["SettingsRouteBoundary",()=>i]);var t=e.i(18050),a=e.i(22016),l=e.i(18566),s=e.i(82787),r=e.i(97249),n=e.i(65934);function i(e){let{children:i}=e,o=(0,l.usePathname)(),c=(0,n.useAppStore)(e=>e.agentId),d=(0,r.buildAppNavHref)(s.MANAGE_DEFAULT_HREF,{ensureAgent:!0,agent:c});return o&&!(0,s.isManageRouteEnabled)((0,r.normalizeAppPathname)(o))?(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsx)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-4 pb-4",children:(0,t.jsxs)("div",{className:"manage-page-title-block",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:"页面不可用"}),(0,t.jsx)("p",{className:"manage-page-desc",children:"当前设置页未开放或已被禁用。"})]})}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col items-center justify-center gap-3 text-sm text-[var(--ds-muted)]",children:(0,t.jsx)(a.default,{className:"text-zinc-900 underline underline-offset-4",href:d,prefetch:!1,children:"返回默认设置页"})})]}):(0,t.jsx)(t.Fragment,{children:i})}}]);
|