@bd7pil/ocrc 0.19.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- const a=location.pathname.split("/").slice(0,-1).join("/"),m=[a+"/_app/immutable/entry/app.CPpk_Gsc.js",a+"/_app/immutable/nodes/0.B2WCj0aa.js",a+"/_app/immutable/assets/0.BNUotGHD.css",a+"/_app/immutable/nodes/1.CrPfxYEj.js",a+"/_app/immutable/nodes/2.DqjhOUGr.js",a+"/_app/immutable/assets/2.BNuGfmZP.css",a+"/_app/immutable/nodes/3.BM_S02NX.js",a+"/_app/immutable/assets/3.BZXLrkUn.css",a+"/_app/immutable/assets/Card.Cb4bHscp.css",a+"/_app/immutable/chunks/B7JrIm_t.js",a+"/_app/immutable/chunks/BjY4dxcB.js",a+"/_app/immutable/chunks/C2FuqD3s.js",a+"/_app/immutable/chunks/CWj6FrbW.js",a+"/_app/immutable/chunks/CgqE2k_6.js",a+"/_app/immutable/chunks/DIEDQ_hk.js",a+"/_app/immutable/chunks/DUrEVoyD.js",a+"/_app/immutable/entry/start.DPy-aDgY.js"],o=[a+"/apple-touch-icon.png",a+"/favicon.png",a+"/favicon.svg",a+"/icon-192.png",a+"/icon-512-maskable.png",a+"/icon-512.png",a+"/manifest.webmanifest"],r="1790873734918",n=self,i=`ocrc-cache-${r}`,p=[...m,...o];n.addEventListener("install",t=>{t.waitUntil(caches.open(i).then(s=>s.addAll(p.map(e=>new Request(e,{cache:"reload"})))).then(()=>n.skipWaiting()))});n.addEventListener("activate",t=>{t.waitUntil((async()=>{for(const s of await caches.keys())s!==i&&await caches.delete(s);await n.clients.claim()})())});n.addEventListener("fetch",t=>{const{request:s}=t;if(s.method!=="GET")return;const e=new URL(s.url);if(e.origin===location.origin&&!(e.pathname.startsWith("/api/")||e.pathname==="/ws")){if(p.includes(e.pathname)){t.respondWith(caches.match(s).then(c=>c??fetch(s)));return}t.respondWith((async()=>{try{return await fetch(s)}catch{return await caches.match(s)??await caches.match("/")??Response.error()}})())}});
1
+ const a=location.pathname.split("/").slice(0,-1).join("/"),m=[a+"/_app/immutable/entry/app.CiW3rfcJ.js",a+"/_app/immutable/nodes/0.DLMpdhCv.js",a+"/_app/immutable/assets/0.CAQ48mRR.css",a+"/_app/immutable/nodes/1.LoQi2ZnL.js",a+"/_app/immutable/nodes/2.BMC5DjNn.js",a+"/_app/immutable/assets/2.BNuGfmZP.css",a+"/_app/immutable/nodes/3.BcsqdVnN.js",a+"/_app/immutable/assets/3.BQqpaRs-.css",a+"/_app/immutable/assets/Card.Cb4bHscp.css",a+"/_app/immutable/chunks/BjY4dxcB.js",a+"/_app/immutable/chunks/Bs0uKk8J.js",a+"/_app/immutable/chunks/C2FuqD3s.js",a+"/_app/immutable/chunks/CAbq0Oyb.js",a+"/_app/immutable/chunks/CWj6FrbW.js",a+"/_app/immutable/chunks/DIEDQ_hk.js",a+"/_app/immutable/chunks/DUrEVoyD.js",a+"/_app/immutable/entry/start.ZtTs7gQk.js"],o=[a+"/apple-touch-icon.png",a+"/favicon.png",a+"/favicon.svg",a+"/icon-192.png",a+"/icon-512-maskable.png",a+"/icon-512.png",a+"/manifest.webmanifest"],u="1790883155539",n=self,i=`ocrc-cache-${u}`,p=[...m,...o];n.addEventListener("install",t=>{t.waitUntil(caches.open(i).then(s=>s.addAll(p.map(e=>new Request(e,{cache:"reload"})))).then(()=>n.skipWaiting()))});n.addEventListener("activate",t=>{t.waitUntil((async()=>{for(const s of await caches.keys())s!==i&&await caches.delete(s);await n.clients.claim()})())});n.addEventListener("fetch",t=>{const{request:s}=t;if(s.method!=="GET")return;const e=new URL(s.url);if(e.origin===location.origin&&!(e.pathname.startsWith("/api/")||e.pathname==="/ws")){if(p.includes(e.pathname)){t.respondWith(caches.match(s).then(c=>c??fetch(s)));return}t.respondWith((async()=>{try{return await fetch(s)}catch{return await caches.match(s)??await caches.match("/")??Response.error()}})())}});
@@ -1 +0,0 @@
1
- :root{color-scheme:dark;--bg: #0d0d0d;--bg-panel: #121212;--bg-elev: #171717;--bg-elev2: #1f1f1f;--bg-input: #101010;--border: #262626;--border-2: #1f1f1f;--text: #f5f4f0;--text-2: #c9c7c1;--text-3: #8c877d;--text-4: #7a766e;--accent: #fb8b3c;--accent-2: #2a1c10;--accent-ink:#211307;--accent-line:#7a4416;--user-bubble: #2b2a27;--user-ink: #f0efe9;--bubbleline:#3a3833;--cv: var(--accent);--cv-2: var(--accent-2);--cv-ink: var(--accent-ink);--cv-line: var(--accent-line);--cv-bubble: var(--user-bubble);--ok: #6ee7a0;--warn: #ffd479;--err: #f97066;--info: #8ab4ff;--hl-purple: #b48cf0;--hl-green: #6cc08b;--hl-cyan: #4ec9b0;--hl-orange: #dca87a;--hl-yellow: #ffd479;--hl-gray: #8c877d;--role-gold: #f5b301;--role-blue: #6f9ffa;--role-green: #58c08c;--role-silver: #cdd6e6;--bg-code: #0f0f0f;--toolcmd: #e8e6e0;--toolout: #a3a09a;--scrim: rgba(0, 0, 0, .5);--ease: cubic-bezier(.2, 0, 0, 1);--radius: 14px;--radius-sm: 9px;--radius-xs: 6px;--radius-tail: 4px;--radius-bar: 2px;--radius-pill: 999px;--shadow-card: 0 1px 4px rgba(0, 0, 0, .35);--shadow-composer: 0 6px 24px rgba(0, 0, 0, .4);--shadow-palette: 0 24px 70px rgba(0, 0, 0, .6);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-serif: "Noto Serif CJK SC", "Source Han Serif SC", "DejaVu Serif", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--z-sticky: 5;--z-hud: 8;--z-dropdown: 10;--z-backdrop: 25;--z-drawer: 30;--z-sheet: 35;--z-fab: 42;--z-popover: 50;--z-overlay: 200;--z-modal: 300;--z-gate: 500}:root[data-theme=light]{color-scheme:light;--bg: #f2efe8;--bg-panel: #efede5;--bg-canvas: #fbfbfa;--bg-elev: #ffffff;--bg-elev2: #f2f1ed;--bg-input: #f6f5f2;--border: #e4e3df;--border-2: #edece9;--text: #1d1c1a;--text-2: #43413d;--text-3: #8a8884;--text-4: #6e6d69;--accent: #e4580f;--accent-2: #fdeee3;--accent-ink:#1c1b18;--accent-line:#f0c9ac;--user-bubble: #efeeea;--user-ink: #1d1c1a;--bubbleline:#e2e1dc;--ok: #1f7a3d;--warn: #9a6b00;--err: #c2372c;--info: #2456a6;--hl-purple: #8250df;--hl-green: #116329;--hl-cyan: #0e7a8d;--hl-orange: #b65708;--hl-yellow: #9a6700;--hl-gray: #6e7781;--role-gold: #d99e00;--role-blue: #3a6fd8;--role-green: #2f9d68;--role-silver: #8a877e;--bg-code: #f4f2ec;--toolcmd: #1c1b18;--toolout: #57534e;--scrim: rgba(28, 27, 24, .32);--shadow-card: 0 1px 3px rgba(28, 27, 24, .06);--shadow-composer: 0 4px 18px rgba(28, 27, 24, .08);--shadow-palette: 0 24px 70px rgba(28, 27, 24, .18)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){color-scheme:light;--bg: #f2efe8;--bg-panel: #efede5;--bg-canvas: #fbfbfa;--bg-elev: #ffffff;--bg-elev2: #f2f1ed;--bg-input: #f6f5f2;--border: #e4e3df;--border-2: #edece9;--text: #1d1c1a;--text-2: #43413d;--text-3: #8a8884;--text-4: #6e6d69;--accent: #e4580f;--accent-2: #fdeee3;--accent-ink:#1c1b18;--accent-line:#f0c9ac;--user-bubble: #efeeea;--user-ink: #1d1c1a;--bubbleline:#e2e1dc;--ok: #1f7a3d;--warn: #9a6b00;--err: #c2372c;--info: #2456a6;--hl-purple: #8250df;--hl-green: #116329;--hl-cyan: #0e7a8d;--hl-orange: #b65708;--hl-yellow: #9a6700;--hl-gray: #6e7781;--role-gold: #d99e00;--role-blue: #3a6fd8;--role-green: #2f9d68;--role-silver: #8a877e;--bg-code: #f4f2ec;--toolcmd: #1c1b18;--toolout: #57534e;--scrim: rgba(28, 27, 24, .32);--shadow-card: 0 1px 3px rgba(28, 27, 24, .06);--shadow-composer: 0 4px 18px rgba(28, 27, 24, .08);--shadow-palette: 0 24px 70px rgba(28, 27, 24, .18)}}@media (min-width: 821px){:root[data-theme=light]{--bg: #f7f7f8;--bg-panel: #f4f4f5;--bg-canvas: #ffffff;--bg-elev: #ffffff;--bg-elev2: #f4f4f5;--bg-input: #ffffff;--border: #e4e4e7;--border-2: #ececee;--user-bubble: #f4f4f5;--bubbleline:#e4e4e7;--bg-code: #f6f6f7}}@media (prefers-color-scheme: light) and (min-width: 821px){:root:not([data-theme=dark]){--bg: #f7f7f8;--bg-panel: #f4f4f5;--bg-canvas: #ffffff;--bg-elev: #ffffff;--bg-elev2: #f4f4f5;--bg-input: #ffffff;--border: #e4e4e7;--border-2: #ececee;--user-bubble: #f4f4f5;--bubbleline:#e4e4e7;--bg-code: #f6f6f7}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-enter: .2s;--col-w: 880px}@media (min-width: 821px){:root{--col-w: 1100px}}@keyframes ocrc-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ocrc-rise-sm{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ocrc-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes ocrc-fade{0%{opacity:0}to{opacity:1}}:root[data-accent=azure]{--accent: #6f9ffa;--accent-2: #16202f;--accent-ink: #071120;--accent-line: #31527e}:root[data-accent=amber]{--accent: #ffc34d;--accent-2: #2a2110;--accent-ink: #1f1503;--accent-line: #8a6a26}:root[data-accent=violet]{--accent: #b48cf0;--accent-2: #1d1733;--accent-ink: #0f0820;--accent-line: #5a4790}:root[data-theme=light][data-accent=azure]{--accent: #2f6bcc;--accent-2: #e8f0fc;--accent-ink: #ffffff;--accent-line: #b9d0f2}:root[data-theme=light][data-accent=amber]{--accent: #b57f00;--accent-2: #faf0d8;--accent-ink: #ffffff;--accent-line: #ecd9a8}:root[data-theme=light][data-accent=violet]{--accent: #7a4fd0;--accent-2: #f0eafc;--accent-ink: #ffffff;--accent-line: #d4c5f2}@media (prefers-color-scheme: light){:root:not([data-theme=dark])[data-accent=azure]{--accent: #2f6bcc;--accent-2: #e8f0fc;--accent-ink: #ffffff;--accent-line: #b9d0f2}:root:not([data-theme=dark])[data-accent=amber]{--accent: #b57f00;--accent-2: #faf0d8;--accent-ink: #ffffff;--accent-line: #ecd9a8}:root:not([data-theme=dark])[data-accent=violet]{--accent: #7a4fd0;--accent-2: #f0eafc;--accent-ink: #ffffff;--accent-line: #d4c5f2}}html{background:var(--bg)}html,body{height:100vh}button{transition:opacity .12s var(--ease, ease),transform .12s var(--ease, ease)}button:active:not(:disabled){opacity:.78}body{margin:0;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:10px}.mono{font-family:var(--font-mono)}.conversation-emerald{--accent: var(--cv);--accent-2: var(--cv-2);--accent-ink: var(--cv-ink);--accent-line: var(--cv-line);--user-bubble: var(--cv-bubble)}.md .hljs-string,.md .hljs-regexp,.md .hljs-addition{color:var(--hl-green)}.md .hljs-keyword,.md .hljs-selector-tag,.md .hljs-type{color:var(--hl-purple)}.md .hljs-title.function_,.md .hljs-title.class_.invoke__,.md .hljs-function>.hljs-title{color:var(--hl-yellow)}.md .hljs-title.class_,.md .hljs-built_in{color:var(--hl-cyan)}.md .hljs-number,.md .hljs-literal,.md .hljs-variable.constant_{color:var(--hl-orange)}.md .hljs-comment,.md .hljs-deletion,.md .hljs-meta{color:var(--hl-gray)}.md .hljs-attr,.md .hljs-attribute,.md .hljs-selector-attr,.md .hljs-selector-class{color:var(--hl-green)}.md .hljs-punctuation,.md .hljs-params,.md .hljs-property,.md .hljs-symbol{color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-4);background-clip:content-box}@keyframes ocrc-pulse{0%,to{opacity:1}50%{opacity:.28}}@keyframes ocrc-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes ocrc-ring{0%{transform:scale(.6);opacity:.7}to{transform:scale(2.2);opacity:0}}@keyframes ocrc-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.titlebar.svelte-hhath1{display:flex;align-items:center;gap:12px;height:calc(52px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 16px 0;box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;font-size:13px}.brand.svelte-hhath1{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark.svelte-hhath1{width:27px;height:27px;flex-shrink:0}.wordmark.svelte-hhath1{font-family:var(--font-serif);font-size:15.5px;letter-spacing:.01em;display:inline-flex;align-items:baseline;gap:5px}.wordmark.svelte-hhath1 b:where(.svelte-hhath1){font-weight:700;color:var(--text)}.new-session.svelte-hhath1{display:inline-flex;align-items:center;gap:5px;background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-pill);padding:5px 11px;font-size:12px;font-weight:650;cursor:pointer;flex-shrink:0;transition:opacity .12s ease,transform .12s ease}.new-session.svelte-hhath1:hover:not(:disabled){opacity:.9}.new-session.svelte-hhath1:disabled{opacity:.5;cursor:default}.new-icon.svelte-hhath1{font-size:14px;line-height:1}.new-label.svelte-hhath1{white-space:nowrap}.new-caret.svelte-hhath1{font-size:9px;line-height:1;margin-left:2px;opacity:.85}.palette-trigger.svelte-hhath1{display:flex;align-items:center;gap:8px;min-width:230px;max-width:min(340px,calc(100vw - 32px));background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-3);padding:5px 10px;font-size:12.5px;cursor:text;transition:border-color .15s ease,color .15s ease}.palette-trigger.svelte-hhath1:hover{border-color:var(--text-3);color:var(--text-2)}.palette-icon.svelte-hhath1{font-size:14px;opacity:.85}.palette-label.svelte-hhath1{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-keycap.svelte-hhath1{font-size:10px;color:var(--text-3);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-xs);padding:2px 5px}.spacer.svelte-hhath1{flex:1}.themebtn.svelte-hhath1{display:inline-grid;place-items:center;width:28px;height:28px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:14px;line-height:1;cursor:pointer;flex-shrink:0;transition:color .12s ease,border-color .12s ease}.themebtn.svelte-hhath1:hover{color:var(--text);border-color:var(--text-4)}.connection-pill.svelte-hhath1{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-pill);background:var(--bg-elev);border:1px solid var(--border);padding:4px 10px;flex-shrink:0}.dot-wrap.svelte-hhath1{position:relative;width:10px;height:10px;display:grid;place-items:center}.dot.svelte-hhath1{width:7px;height:7px;border-radius:50%;background:var(--text-4);flex-shrink:0}.dot-ring.svelte-hhath1{position:absolute;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--ok);opacity:0;animation:ocrc-ring 1.6s ease-out infinite;pointer-events:none}.connection-pill.connected.svelte-hhath1 .dot:where(.svelte-hhath1){background:var(--ok);box-shadow:0 0 7px var(--ok)}.connection-pill.reconnecting.svelte-hhath1 .dot:where(.svelte-hhath1){background:var(--warn);animation:ocrc-pulse 1.2s ease-in-out infinite}.connection-pill.offline.svelte-hhath1 .dot:where(.svelte-hhath1){background:transparent;border:1.5px solid var(--text-4)}.connection-state.svelte-hhath1{font-weight:600;color:var(--text-3)}.connection-pill.connected.svelte-hhath1 .connection-state:where(.svelte-hhath1){color:var(--ok)}.connection-pill.reconnecting.svelte-hhath1 .connection-state:where(.svelte-hhath1){color:var(--warn)}.connection-pill.offline.svelte-hhath1 .connection-state:where(.svelte-hhath1){color:var(--err)}.connection-latency.svelte-hhath1{color:var(--text-3);font-size:10.5px}.install.svelte-hhath1{background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-pill);padding:4px 12px;font-size:.8em;font-weight:600;cursor:pointer;flex-shrink:0}.user.svelte-hhath1{display:flex;align-items:center;gap:10px;flex-shrink:0}.user-email.svelte-hhath1{color:var(--text-3);font-size:12px}.avatar.svelte-hhath1{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent-2);color:var(--accent);border:1px solid var(--accent-line);font-size:11px;font-weight:700}.iconbtn.svelte-hhath1{display:none;background:transparent;border:none;color:var(--text-2);font-size:18px;line-height:1;padding:4px 6px;cursor:pointer;border-radius:var(--radius-pill)}.iconbtn.svelte-hhath1:hover{color:var(--text);background:var(--bg-elev)}.iconbtn.active.svelte-hhath1{color:var(--accent);background:var(--accent-2)}@media (pointer: coarse){.themebtn.svelte-hhath1{width:36px;height:36px}}@media (max-width: 820px){.palette-trigger.svelte-hhath1,.user-email.svelte-hhath1,.new-session.svelte-hhath1,.new-label.svelte-hhath1,.iconbtn.svelte-hhath1,.user.svelte-hhath1{display:none}}.banner.svelte-l46k7l{text-align:center;font-size:.8em;padding:4px 8px;background:color-mix(in srgb,var(--warn) 14%,var(--bg));color:var(--warn);border-bottom:1px solid color-mix(in srgb,var(--warn) 32%,transparent);animation:svelte-l46k7l-banner-drop .18s var(--ease-out, ease-out)}@keyframes svelte-l46k7l-banner-drop{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.banner.offline.svelte-l46k7l{background:color-mix(in srgb,var(--err) 14%,var(--bg));color:var(--err);border-bottom-color:color-mix(in srgb,var(--err) 32%,transparent)}.sidebar.svelte-1h8243g{width:100%;box-sizing:border-box;background:var(--bg-panel);overflow-y:auto;display:flex;flex-direction:column;padding:4px 8px 8px;gap:2px}.group-header.svelte-1h8243g{display:flex;align-items:center;gap:8px;padding:10px 8px 6px;color:var(--text-4);font-size:10px;text-transform:uppercase;letter-spacing:.16em}.gh-label.svelte-1h8243g{flex-shrink:0}.gh-line.svelte-1h8243g{flex:1;height:1px;background:var(--border-2);opacity:.7}.gh-count.svelte-1h8243g{flex-shrink:0;font-variant-numeric:tabular-nums}.session.svelte-1h8243g{position:relative;display:block;text-decoration:none;padding:9px 12px 9px 16px;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background .12s ease}.session.svelte-1h8243g:hover{background:var(--bg-elev)}.session.active.svelte-1h8243g{background:var(--bg-elev2)}.session.active.svelte-1h8243g:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2.5px;border-radius:var(--radius-bar);background:var(--accent)}.line1.svelte-1h8243g{display:flex;align-items:center;gap:7px}.sr-only.svelte-1h8243g{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dot.svelte-1h8243g{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.dot.busy.svelte-1h8243g{background:var(--accent);border-color:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite}.dot.wait.svelte-1h8243g{background:var(--warn);border-color:var(--warn)}.dot.idle.svelte-1h8243g{background:var(--ok);border-color:var(--ok)}.dot.offline.svelte-1h8243g{background:transparent;border:1.5px solid var(--text-4)}.title.svelte-1h8243g{flex:1;font-size:13px;font-weight:600;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session.active.svelte-1h8243g .title:where(.svelte-1h8243g){color:var(--text)}.pin-dot.svelte-1h8243g{flex-shrink:0;font-size:7px;color:var(--accent);line-height:1}.rename-input.svelte-1h8243g{flex:1;min-width:0;font-size:16px;font-weight:600;color:var(--text);background:var(--bg-panel);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:1px 6px;outline:none;font-family:inherit}.rename-input.svelte-1h8243g:disabled{opacity:.6}.actions.svelte-1h8243g{display:inline-flex;gap:1px;flex-shrink:0}.act.svelte-1h8243g{display:inline-flex;background:transparent;border:none;color:var(--text-3);cursor:pointer;padding:2px;opacity:0;transition:opacity .12s ease,color .12s ease}.session.svelte-1h8243g:hover .act:where(.svelte-1h8243g){opacity:.65}.session.svelte-1h8243g:focus-within .act:where(.svelte-1h8243g){opacity:.65}.act.svelte-1h8243g:hover{opacity:1}.act.pin.svelte-1h8243g:hover{color:var(--text)}.act.rename.svelte-1h8243g:hover{color:var(--accent)}.act.pin.on.svelte-1h8243g{opacity:1;color:var(--accent)}.act.trash.svelte-1h8243g:hover{color:var(--err)}.act.svelte-1h8243g:disabled{opacity:.4;cursor:default}@media (hover: none),(max-width: 820px){.act.svelte-1h8243g{opacity:.6;padding:8px;min-width:40px;min-height:40px;align-items:center;justify-content:center}.actions.svelte-1h8243g{gap:2px}}.meta.svelte-1h8243g{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:10.5px;color:var(--text-3);margin:4px 0 0 16px}.sep.svelte-1h8243g{color:var(--border)}.id.svelte-1h8243g,.repo.svelte-1h8243g{color:var(--text-2)}.add.svelte-1h8243g{color:var(--ok)}.del.svelte-1h8243g{color:var(--err)}.empty.svelte-1h8243g{padding:16px 12px;color:var(--text-3);font-size:11px}.progress.svelte-1h8243g{height:3px;margin-top:8px;background:var(--border-2);border-radius:var(--radius-bar);overflow:hidden}.progress-fill.svelte-1h8243g{display:block;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,var(--accent) 50%,transparent 100%);background-size:200% 100%;animation:ocrc-shimmer 1.4s linear infinite}.agent-panel.svelte-wmno67{display:flex;height:100%;background:var(--bg-panel);border-right:1px solid var(--border-2);flex-shrink:0}.agent-panel.drawer.svelte-wmno67{width:100%;border-right:none}.panel.svelte-wmno67{display:flex;flex-direction:column;width:100%;min-width:0}.header.svelte-wmno67{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 10px;border-bottom:1px solid var(--border-2);flex-shrink:0}.agent-pill.svelte-wmno67{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:5px 9px 5px 5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer;transition:border-color .12s ease,background .12s ease}.agent-pill.svelte-wmno67:hover{border-color:var(--accent);background:var(--bg-elev2)}.glyph-tile.svelte-wmno67{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid transparent;font-family:var(--font-mono);font-size:10px;font-weight:700;flex-shrink:0}.status-dot.svelte-wmno67{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.sr-only.svelte-wmno67{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status-dot.online.svelte-wmno67{background:var(--dot, var(--ok));border-color:var(--dot, var(--ok))}.status-dot.connecting.svelte-wmno67{background:var(--warn);border-color:var(--warn);animation:ocrc-pulse 1.2s ease-in-out infinite}.status-dot.offline.svelte-wmno67{background:transparent;border:1.5px solid var(--text-4)}.name.svelte-wmno67{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.host.svelte-wmno67{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caret.svelte-wmno67{font-size:9px;color:var(--text-3);flex-shrink:0}.collapse.svelte-wmno67{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease;flex-shrink:0}.collapse.svelte-wmno67:hover{color:var(--text);background:var(--bg-elev);border-color:var(--border)}.picker.svelte-wmno67{position:absolute;top:calc(100% + 6px);left:12px;right:12px;width:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 50px #0000008c;z-index:var(--z-popover);overflow:hidden;animation:svelte-wmno67-ocrc-pop .14s ease}@keyframes svelte-wmno67-ocrc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.picker-list.svelte-wmno67{max-height:320px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.agent-row.svelte-wmno67{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;transition:background .12s ease}.agent-row.svelte-wmno67:hover,.agent-row.selected.svelte-wmno67{background:var(--accent-2)}.row-tile.svelte-wmno67{width:30px;height:30px;display:inline-grid;place-items:center;border-radius:var(--radius-xs);border:1px solid transparent;font-family:var(--font-mono);font-size:11px;font-weight:700;flex-shrink:0}.row-info.svelte-wmno67{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.row-name.svelte-wmno67{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-host.svelte-wmno67{font-size:10.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.check.svelte-wmno67{font-size:13px;color:var(--accent);flex-shrink:0}.picker-footer.svelte-wmno67{border-top:1px solid var(--border);padding:10px}.theme-row.svelte-wmno67{display:flex;flex-direction:column;gap:8px}.theme-label.svelte-wmno67{font-size:10.5px;color:var(--text-3)}.swatches.svelte-wmno67{display:flex;align-items:center;gap:8px}.swatch.svelte-wmno67{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.swatch.svelte-wmno67:hover{transform:scale(1.1)}.swatch.active.svelte-wmno67{border-color:var(--text)}.auto.svelte-wmno67{margin-left:auto;padding:3px 9px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-3);font-family:var(--font-mono);font-size:10.5px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.auto.svelte-wmno67:hover,.auto.active.svelte-wmno67{color:var(--text);border-color:var(--accent);background:var(--accent-2)}.agents-label.svelte-wmno67{padding:12px 14px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3)}.mobile-search.svelte-wmno67{display:flex;align-items:center;gap:8px;margin:6px 12px 8px;padding:10px 12px;width:calc(100% - 24px);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;font-size:13px;font-family:var(--font-sans);text-align:left}.mobile-search.svelte-wmno67:hover{border-color:var(--text-4)}.switcher-row.svelte-wmno67{display:flex;gap:7px;padding:10px 12px;overflow-x:auto;border-bottom:1px solid var(--border-2);flex-shrink:0;scrollbar-width:none}.switcher-row.svelte-wmno67::-webkit-scrollbar{display:none}.switch-pill.svelte-wmno67{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:5px 10px 5px 5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer;transition:border-color .12s ease,background .12s ease}.switch-pill.active.svelte-wmno67{background:var(--accent-2);border-color:var(--accent)}.switch-tile.svelte-wmno67{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:var(--radius-xs);border:1px solid transparent;font-family:var(--font-mono);font-size:9.5px;font-weight:700;flex-shrink:0}.switch-name.svelte-wmno67{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap}.switch-count.svelte-wmno67{font-size:10px;color:var(--text-3);background:var(--bg);border-radius:var(--radius-xs);padding:1px 6px}.list.svelte-wmno67{flex:1;overflow-y:auto;min-height:0}.footer.svelte-wmno67{display:flex;align-items:center;gap:7px;padding:10px max(20px,env(safe-area-inset-right,0px)) max(18px,calc(env(safe-area-inset-bottom,0px) + var(--kb, 0px))) max(20px,env(safe-area-inset-left,0px));font-size:10px;color:var(--text-4);border-top:1px solid var(--border-2);flex-shrink:0}.sep.svelte-wmno67{color:var(--border)}.task.svelte-1h1y2gb{flex:1;overflow:auto;padding:14px 16px}.hd.svelte-1h1y2gb{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-label.svelte-1h1y2gb{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.meta.svelte-1h1y2gb{font-family:var(--font-mono);color:var(--text-2);font-size:11px}.bar.svelte-1h1y2gb{height:4px;background:var(--bg-input);border-radius:var(--radius-bar);overflow:hidden;margin-bottom:10px}.fill.svelte-1h1y2gb{height:100%;width:100%;background:var(--accent);transform-origin:left;transition:transform .3s ease}.items.svelte-1h1y2gb{display:flex;flex-direction:column;gap:6px}.row.svelte-1h1y2gb{display:flex;align-items:flex-start;gap:9px;padding:3px 0;margin:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.row.svelte-1h1y2gb:hover .tx:where(.svelte-1h1y2gb){color:var(--text)}.row.svelte-1h1y2gb:focus-visible{outline:1px solid var(--accent);outline-offset:1px;border-radius:var(--radius-xs)}.box.svelte-1h1y2gb{flex-shrink:0;width:15px;height:15px;margin-top:1px;border-radius:var(--radius-xs);display:grid;place-items:center;position:relative}.dot.svelte-1h1y2gb{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite;display:none}.check.svelte-1h1y2gb{font-size:11px;line-height:1;display:none}.tx.svelte-1h1y2gb{font-size:12px;line-height:1.45;color:var(--text-2)}.row.done.svelte-1h1y2gb .box:where(.svelte-1h1y2gb){background:transparent;border-color:var(--accent-line)}.row.done.svelte-1h1y2gb .check:where(.svelte-1h1y2gb){display:block;color:var(--accent)}.row.done.svelte-1h1y2gb .tx:where(.svelte-1h1y2gb){color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--border)}.row.running.svelte-1h1y2gb .box:where(.svelte-1h1y2gb){border:1.5px solid var(--accent)}.row.running.svelte-1h1y2gb .dot:where(.svelte-1h1y2gb){display:block}.row.running.svelte-1h1y2gb .tx:where(.svelte-1h1y2gb){color:var(--text);font-weight:500}.row.pending.svelte-1h1y2gb .box:where(.svelte-1h1y2gb){border:1.5px solid var(--border)}.mcp.svelte-ehf8ic{font-size:11.5px}.list.svelte-ehf8ic{display:flex;flex-direction:column;gap:4px;color:var(--text-2);margin-top:6px}.row.svelte-ehf8ic{display:flex;align-items:center;gap:7px}.dot.svelte-ehf8ic{width:6px;height:6px;border-radius:50%;background:var(--ok);flex-shrink:0}.row.off.svelte-ehf8ic{color:var(--text-3)}.row.off.svelte-ehf8ic .dot:where(.svelte-ehf8ic){background:var(--text-3)}.sr-only.svelte-ehf8ic{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.schedules.svelte-pijcyq{font-size:11.5px}.hd.svelte-pijcyq{display:flex;align-items:center;justify-content:space-between}.label.svelte-pijcyq{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.add.svelte-pijcyq{width:20px;height:20px;display:grid;place-items:center;padding:0;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-3);font-size:13px;line-height:1;cursor:pointer}.add.svelte-pijcyq:hover{color:var(--text);border-color:var(--accent)}.list.svelte-pijcyq{display:flex;flex-direction:column;gap:7px;margin-top:8px}.row.svelte-pijcyq{display:flex;align-items:flex-start;gap:8px}.switch.svelte-pijcyq{flex-shrink:0;width:22px;height:14px;margin-top:2px;padding:0;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-input);display:grid;align-items:center;cursor:pointer}.switch.svelte-pijcyq .dot:where(.svelte-pijcyq){width:8px;height:8px;margin:0 2px;border-radius:50%;background:var(--text-3);transition:transform .16s ease,background .16s ease}.switch.on.svelte-pijcyq{border-color:var(--accent)}.switch.on.svelte-pijcyq .dot:where(.svelte-pijcyq){background:var(--accent);transform:translate(8px)}.txt.svelte-pijcyq{flex:1;min-width:0}.prompt.svelte-pijcyq{font-size:11.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row.off.svelte-pijcyq .prompt:where(.svelte-pijcyq){color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--border)}.spec.svelte-pijcyq{font-size:10px;color:var(--text-3);margin-top:1px}.del.svelte-pijcyq{flex-shrink:0;margin-top:1px;padding:0 5px;min-width:18px;height:18px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);font-size:11px;cursor:pointer}.del.svelte-pijcyq:hover{color:var(--err)}.del.arm.svelte-pijcyq{color:var(--err);border:1px solid var(--err)}.form.svelte-pijcyq{margin-top:10px;padding:9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);display:flex;flex-direction:column;gap:7px}.prompt-in.svelte-pijcyq{width:100%;resize:vertical;padding:6px 8px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;box-sizing:border-box}.prompt-in.svelte-pijcyq:focus{outline:1px solid var(--accent)}.kind.svelte-pijcyq{display:flex;align-items:center;gap:10px;color:var(--text-2)}.kind.svelte-pijcyq label:where(.svelte-pijcyq){display:inline-flex;align-items:center;gap:4px;cursor:pointer}.kind.svelte-pijcyq input[type=radio]:where(.svelte-pijcyq){accent-color:var(--accent);margin:0}.num.svelte-pijcyq,.time.svelte-pijcyq{width:62px;padding:2px 5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text);font:inherit;font-size:11px}.num.svelte-pijcyq:disabled,.time.svelte-pijcyq:disabled{opacity:.4}.err.svelte-pijcyq{color:var(--err);font-size:10.5px}.go.svelte-pijcyq{align-self:flex-end;padding:4px 12px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-ink);font:inherit;font-weight:600;cursor:pointer}.go.svelte-pijcyq:disabled{opacity:.45;cursor:default}.skills.svelte-taxat6{font-size:11.5px}.label.svelte-taxat6{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.chips.svelte-taxat6{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;animation:ocrc-fade .15s var(--ease-out, ease-out)}.chips.clipped.svelte-taxat6{max-height:132px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent);mask-image:linear-gradient(to bottom,#000 70%,transparent)}.chip.svelte-taxat6{padding:2px 7px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.more.svelte-taxat6{margin-top:5px;padding:0;background:transparent;border:none;color:var(--text-3);font:inherit;font-size:10.5px;cursor:pointer;text-align:left}.more.svelte-taxat6:hover{color:var(--accent)}.files.svelte-tp0rgj{font-size:11.5px}.label.svelte-tp0rgj{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.crumb.svelte-tp0rgj{margin-top:6px;color:var(--text-3);font-size:10.5px}.up.svelte-tp0rgj{background:transparent;border:none;padding:0;color:var(--accent);font:inherit;cursor:pointer}.list.svelte-tp0rgj{display:flex;flex-direction:column;gap:2px;margin-top:4px}.row.svelte-tp0rgj{display:flex;align-items:center;gap:7px;padding:3px 4px;margin:0;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;text-align:left;cursor:pointer}.row.svelte-tp0rgj:hover{background:var(--bg-input);color:var(--text)}.ico.svelte-tp0rgj{flex-shrink:0;width:14px;text-align:center}.name.svelte-tp0rgj{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wt.svelte-148ev8e{font-size:11.5px}.hd.svelte-148ev8e{display:flex;align-items:center;justify-content:space-between}.label.svelte-148ev8e{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.add.svelte-148ev8e{width:20px;height:20px;display:grid;place-items:center;padding:0;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-3);font-size:13px;line-height:1;cursor:pointer}.add.svelte-148ev8e:hover{color:var(--text);border-color:var(--accent)}.list.svelte-148ev8e{display:flex;flex-direction:column;gap:4px;margin-top:6px}.rows.svelte-148ev8e{display:flex;flex-direction:column;gap:4px;animation:ocrc-fade .15s var(--ease-out, ease-out)}.row.svelte-148ev8e{display:flex;align-items:center;gap:6px}.ico.svelte-148ev8e{flex-shrink:0}.name.svelte-148ev8e{flex:1;min-width:0;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.del.svelte-148ev8e{flex-shrink:0;padding:0 5px;min-width:18px;height:18px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);font-size:11px;cursor:pointer}.del.svelte-148ev8e:hover,.del.arm.svelte-148ev8e{color:var(--err)}.del.arm.svelte-148ev8e{border:1px solid var(--err)}.form.svelte-148ev8e{margin-top:8px;display:flex;gap:6px;align-items:center}.name-in.svelte-148ev8e{flex:1;min-width:0;padding:5px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:11px;box-sizing:border-box}.name-in.svelte-148ev8e:focus{outline:1px solid var(--accent)}.err.svelte-148ev8e{color:var(--err);font-size:10.5px}.go.svelte-148ev8e{padding:4px 10px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-ink);font:inherit;font-weight:600;cursor:pointer}.go.svelte-148ev8e:disabled{opacity:.45;cursor:default}.subs.svelte-1s66f6s{font-size:11.5px}.row.svelte-1s66f6s{display:flex;align-items:center;gap:8px;width:100%;padding:5px 4px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;text-align:left;cursor:pointer}.row.svelte-1s66f6s:hover{background:var(--bg-input);color:var(--text)}.dot.svelte-1s66f6s{flex-shrink:0;width:7px;height:7px;border-radius:50%;box-sizing:border-box;background:transparent;border:1.5px solid var(--text-4)}.dot.live.svelte-1s66f6s{background:var(--accent);border-color:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite}.dot.done.svelte-1s66f6s{background:var(--ok);border-color:var(--ok)}.meta.svelte-1s66f6s{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.title.svelte-1s66f6s{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.count.svelte-1s66f6s,.live-label.svelte-1s66f6s{flex-shrink:0;font-size:10px;color:var(--text-3)}.empty.svelte-1s66f6s{padding:10px 0;color:var(--text-3);font-size:11px}.t-wrap.svelte-6fqea2{font-size:12px;display:flex;flex-direction:column;height:100%;min-height:0}.t-hd.svelte-6fqea2{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-shrink:0}.t-hint.svelte-6fqea2{font-size:10px;color:var(--text-3)}.open.svelte-6fqea2{background:transparent;border:none;padding:0;color:var(--accent);font:inherit;font-size:11px;cursor:pointer;flex-shrink:0}.t-body.svelte-6fqea2{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}.t-body.svelte-6fqea2 .card{margin:4px 0 10px}.empty.svelte-6fqea2{padding:14px 0;color:var(--text-3);font-size:11.5px}.fv.svelte-va1nfd{font-size:11.5px}.label.svelte-va1nfd{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.trunc.svelte-va1nfd{padding:4px 0;color:var(--warn);text-transform:none;letter-spacing:0;font-size:10.5px}.body.svelte-va1nfd{overflow:visible}.hint.svelte-va1nfd{padding:10px 0}.out.svelte-1bw07gw{font-size:11.5px}.hd.svelte-1bw07gw{display:flex;align-items:center;gap:8px;margin-bottom:6px}.tool.svelte-1bw07gw{font-size:12px;font-weight:600;color:var(--text-2)}.st.svelte-1bw07gw{font-size:10px;color:var(--text-3)}.st.running.svelte-1bw07gw,.st.pending.svelte-1bw07gw{color:var(--warn)}.st.error.svelte-1bw07gw{color:var(--err)}.st.completed.svelte-1bw07gw,.st.done.svelte-1bw07gw{color:var(--ok)}.cmd.svelte-1bw07gw{padding:6px 8px;background:var(--bg-input);border-radius:var(--radius-xs);color:var(--toolcmd);font-size:11px;white-space:pre-wrap;word-break:break-word;margin-bottom:6px}.body.svelte-1bw07gw{margin:0;padding:8px 10px;background:var(--bg-code);border-radius:var(--radius-xs);color:var(--toolout);font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow-y:auto}.body.err.svelte-1bw07gw{color:var(--err)}.hint.svelte-1bw07gw{padding:8px 0;color:var(--text-3);font-size:11px}.git.svelte-1x813in{font-size:11.5px}.hd.svelte-1x813in{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.branch.svelte-1x813in{font-size:12px;font-weight:600;color:var(--text-2)}.count.svelte-1x813in{font-size:10px;color:var(--text-3)}.file.svelte-1x813in{margin-bottom:2px}.row.svelte-1x813in{display:flex;align-items:center;gap:7px;width:100%;padding:4px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;text-align:left;cursor:pointer}.row.svelte-1x813in:hover{background:var(--bg-input);color:var(--text)}.badge.svelte-1x813in{flex-shrink:0;font-size:9.5px;padding:1px 6px;border-radius:var(--radius-pill);border:1px solid var(--border-2);color:var(--text-3)}.badge.added.svelte-1x813in{color:var(--ok);border-color:var(--ok)}.badge.deleted.svelte-1x813in{color:var(--err);border-color:var(--err)}.badge.modified.svelte-1x813in{color:var(--warn);border-color:var(--warn)}.path.svelte-1x813in{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.delta.svelte-1x813in{flex-shrink:0;display:flex;gap:5px;font-size:10px}.delta.svelte-1x813in .add:where(.svelte-1x813in){color:var(--ok)}.delta.svelte-1x813in .del:where(.svelte-1x813in){color:var(--err)}.patch.svelte-1x813in{margin:2px 0 6px;padding:8px 10px;background:var(--bg-code);border-radius:var(--radius-xs);color:var(--toolout);font-size:10.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}.hint.svelte-1x813in{padding:6px 4px;color:var(--text-3);font-size:11px}.inspector.strip.svelte-gu3dqx{width:44px}.strip.svelte-gu3dqx{display:flex;flex-direction:column;align-items:center;padding-top:14px;position:relative}.strip-plus.svelte-gu3dqx{display:inline-grid;place-items:center;width:26px;height:26px;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-3);font-size:15px;line-height:1;cursor:pointer}.strip-plus.svelte-gu3dqx:hover{color:var(--text);border-color:var(--border)}.strip-menu.svelte-gu3dqx{position:absolute;top:46px;left:50px;min-width:130px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 14px 36px #00000040;padding:4px;z-index:var(--z-popover);animation:ocrc-pop .14s var(--ease-out, ease-out)}.strip-menu.svelte-gu3dqx button:where(.svelte-gu3dqx){display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:6px 9px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;font-size:12px;text-align:left;cursor:pointer}.strip-menu.svelte-gu3dqx button:where(.svelte-gu3dqx):hover{background:var(--bg-input);color:var(--text)}.inspector.svelte-gu3dqx{width:var(--insp-w, 380px);flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-elev);border-left:1px solid var(--border-2)}.head.svelte-gu3dqx{padding:14px 16px 12px;border-bottom:1px solid var(--border-2)}.section-label.svelte-gu3dqx{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.name.svelte-gu3dqx{margin-top:4px;display:flex;align-items:center;gap:6px;min-width:0;font-weight:600;font-size:13px;color:var(--text)}.title-text.svelte-gu3dqx{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabs.svelte-gu3dqx{display:flex;align-items:center;gap:2px;padding:0 6px 0 10px;border-bottom:1px solid var(--border-2);overflow-x:auto;scrollbar-width:none}.tabs.svelte-gu3dqx::-webkit-scrollbar{display:none}.tab.svelte-gu3dqx{position:relative;display:inline-flex;align-items:center;gap:4px;padding:9px 6px 8px;background:transparent;border:none;color:var(--text-3);font:inherit;font-size:12px;white-space:nowrap;cursor:pointer;flex-shrink:0}.tab.svelte-gu3dqx:hover{color:var(--text-2)}.tab.active.svelte-gu3dqx{color:var(--text);font-weight:600}.tab.active.svelte-gu3dqx:after{content:"";position:absolute;left:6px;right:6px;bottom:-1px;height:2px;background:var(--accent);border-radius:var(--radius-pill)}.dlabel.svelte-gu3dqx{max-width:96px;overflow:hidden;text-overflow:ellipsis}.tbadge.svelte-gu3dqx{font-size:9.5px;color:var(--text-3)}.tab.active.svelte-gu3dqx .tbadge:where(.svelte-gu3dqx){color:var(--text-2)}.closer.svelte-gu3dqx{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:var(--radius-xs);color:var(--text-4);font-size:10px;line-height:1}.closer.svelte-gu3dqx:hover{color:var(--text);background:var(--bg-input)}.tab.active.svelte-gu3dqx .closer:where(.svelte-gu3dqx){color:var(--text-3)}.plus.svelte-gu3dqx{position:relative;margin-left:auto;flex-shrink:0}.plus-btn.svelte-gu3dqx{display:inline-grid;place-items:center;width:20px;height:20px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);font-size:14px;line-height:1;cursor:pointer}.plus-btn.svelte-gu3dqx:hover{color:var(--text);background:var(--bg-input)}.plus-menu.svelte-gu3dqx{position:absolute;top:calc(100% + 6px);right:0;min-width:130px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 14px 36px #00000040;padding:4px;z-index:var(--z-popover);animation:ocrc-pop .14s var(--ease-out, ease-out)}.plus-menu.svelte-gu3dqx button:where(.svelte-gu3dqx){display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:6px 9px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;font-size:12px;text-align:left;cursor:pointer}.plus-menu.svelte-gu3dqx button:where(.svelte-gu3dqx):hover{background:var(--bg-input);color:var(--text)}.menu-sep.svelte-gu3dqx{height:1px;background:var(--border-2);margin:4px 2px}.pane.svelte-gu3dqx{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px 18px}.gap.svelte-gu3dqx{height:14px}.empty.svelte-gu3dqx{padding:8vh 16px 0;text-align:center}.empty-title.svelte-gu3dqx{margin:0 0 6px;font-family:var(--font-serif);font-size:14px;color:var(--text-3)}.empty-hint.svelte-gu3dqx{margin:0;font-size:11.5px;line-height:1.7;color:var(--text-4)}@media (max-width: 820px){.inspector.svelte-gu3dqx{width:100%;height:100%;display:block;overflow-y:auto;-webkit-overflow-scrolling:touch}.pane.svelte-gu3dqx{overflow:visible}}.overlay.svelte-wh9uu8{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-start;padding-top:84px;z-index:var(--z-overlay)}.backdrop.svelte-wh9uu8{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);border:none;padding:0;margin:0;cursor:default;animation:ocrc-fade .16s ease backwards}.palette.svelte-wh9uu8{position:relative;z-index:1;width:min(560px,92vw);max-height:calc(100vh - 120px);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-palette);display:flex;flex-direction:column;animation:ocrc-pop .16s var(--ease-out, ease-out) backwards}.header.svelte-wh9uu8{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.search-icon.svelte-wh9uu8{font-size:18px;color:var(--text-3);line-height:1;flex-shrink:0}.q.svelte-wh9uu8{flex:1;min-width:0;background:transparent;border:none;color:var(--text);font-family:var(--font-sans);font-size:16px;outline:none;padding:0}.q.svelte-wh9uu8::placeholder{color:var(--text-4)}.keycap.svelte-wh9uu8{flex-shrink:0;font-size:10px;color:var(--text-3);text-transform:uppercase;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-xs);padding:3px 6px}.results.svelte-wh9uu8{overflow-y:auto;padding:8px}.group.svelte-wh9uu8{display:flex;align-items:center;gap:8px;padding:8px 10px 4px}.group-icon.svelte-wh9uu8{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:var(--accent-2);color:var(--accent);font-family:var(--font-mono);font-size:12px;font-weight:600}.group-label.svelte-wh9uu8{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3)}.row.svelte-wh9uu8{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;color:var(--text);padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .12s ease}.row.active.svelte-wh9uu8,.row.svelte-wh9uu8:hover:not(.disabled){background:var(--accent-2)}.row.disabled.svelte-wh9uu8{opacity:.5;cursor:default}.row.svelte-wh9uu8:disabled{opacity:.5;cursor:default}.tile.svelte-wh9uu8{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-xs);background:var(--bg-panel);border:1px solid var(--border-2);color:var(--text-2);font-family:var(--font-mono);font-size:11px;font-weight:600}.label.svelte-wh9uu8{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px;color:var(--text);text-transform:none;letter-spacing:normal}.hint.svelte-wh9uu8{flex-shrink:0;max-width:45%;font-size:11px;color:var(--text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.empty.svelte-wh9uu8{padding:24px;text-align:center;color:var(--text-3);font-size:13.5px}.error.svelte-wh9uu8{padding:10px;color:var(--err);font-size:12px}.about.svelte-wh9uu8{padding:8px 14px 10px;border-top:1px solid var(--border-2);color:var(--text-4);font-size:10.5px}.overlay.svelte-cfrpez{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-start;padding-top:84px;z-index:var(--z-modal)}.backdrop.svelte-cfrpez{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);border:none;padding:0;margin:0;cursor:default;animation:ocrc-fade .16s ease backwards}.modal.svelte-cfrpez{position:relative;z-index:1;width:min(460px,92vw);max-height:calc(100vh - 120px);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 70px #0009;display:flex;flex-direction:column;overflow:hidden;animation:svelte-cfrpez-ocrc-pop .14s ease}@keyframes svelte-cfrpez-ocrc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.header.svelte-cfrpez{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.title.svelte-cfrpez{font-size:15px;font-weight:600;color:var(--text)}.close.svelte-cfrpez{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;font-size:14px;transition:color .12s ease,background .12s ease,border-color .12s ease}.close.svelte-cfrpez:hover{color:var(--text);background:var(--bg-elev2);border-color:var(--border)}.body.svelte-cfrpez{padding:16px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}.field.svelte-cfrpez{display:flex;flex-direction:column;gap:8px}.label.svelte-cfrpez{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3)}.optional.svelte-cfrpez{font-weight:400;color:var(--text-4);text-transform:none;letter-spacing:normal}.agent-chips.svelte-cfrpez{display:flex;flex-wrap:wrap;gap:8px}.agent-chip.svelte-cfrpez{display:inline-flex;align-items:center;gap:7px;padding:5px 10px 5px 5px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer;transition:border-color .12s ease,background .12s ease}.agent-chip.svelte-cfrpez:hover{border-color:var(--accent);background:var(--bg-elev2)}.agent-chip.selected.svelte-cfrpez{background:var(--accent-2);border-color:var(--accent-line);color:var(--text)}.chip-tile.svelte-cfrpez{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:var(--radius-xs);border:1px solid transparent;font-family:var(--font-mono);font-size:9.5px;font-weight:700;flex-shrink:0}.chip-name.svelte-cfrpez{font-size:12px;font-weight:600}.chip-status.svelte-cfrpez{width:6px;height:6px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.sr-only.svelte-cfrpez{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chip-status.online.svelte-cfrpez{background:var(--dot, var(--ok));border-color:var(--dot, var(--ok))}.chip-status.connecting.svelte-cfrpez{background:var(--warn);border-color:var(--warn);animation:ocrc-pulse 1.2s ease-in-out infinite}.chip-status.offline.svelte-cfrpez{background:transparent;border:1.5px solid var(--text-4)}.dir-input.svelte-cfrpez{display:flex;align-items:center;gap:0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;transition:border-color .15s ease}.dir-input.svelte-cfrpez:focus-within{border-color:var(--accent)}.host-prefix.svelte-cfrpez{padding:8px 0 8px 10px;font-size:12.5px;color:var(--text-3);flex-shrink:0}.path.svelte-cfrpez{flex:1;min-width:0;background:transparent;border:none;color:var(--text);font-size:16px;padding:8px 10px;outline:none}.path.svelte-cfrpez::placeholder{color:var(--text-4)}.browse.svelte-cfrpez{border:none;border-left:1px solid var(--border);background:var(--bg-panel);color:var(--text-3);font-size:11px;font-weight:600;padding:0 12px;cursor:pointer;transition:color .12s ease,background .12s ease;flex-shrink:0}.browse.svelte-cfrpez:hover{color:var(--text);background:var(--bg-elev2)}.recents.svelte-cfrpez{display:none;flex-direction:column;gap:6px}.recents.open.svelte-cfrpez{display:flex}.recents-label.svelte-cfrpez{font-size:10px;color:var(--text-4);text-transform:uppercase;letter-spacing:.1em}.recents-list.svelte-cfrpez{display:flex;flex-direction:column;gap:2px;max-height:160px;overflow-y:auto;padding:4px;background:var(--bg-panel);border:1px solid var(--border-2);border-radius:var(--radius-sm)}.recent.svelte-cfrpez{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;transition:background .12s ease}.recent.svelte-cfrpez:hover{background:var(--bg-elev)}.recent-name.svelte-cfrpez{font-size:12px;font-weight:600;color:var(--text-2)}.recent-dir.svelte-cfrpez{font-size:10.5px;color:var(--text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.branch.svelte-cfrpez{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:16px;padding:8px 10px;outline:none;transition:border-color .15s ease}.branch.svelte-cfrpez:focus{border-color:var(--accent)}.branch.svelte-cfrpez::placeholder{color:var(--text-4)}.error.svelte-cfrpez{padding:10px 12px;background:color-mix(in srgb,var(--err) 12%,transparent);border:1px solid color-mix(in srgb,var(--err) 35%,transparent);border-radius:var(--radius-sm);color:var(--err);font-size:12px}.footer.svelte-cfrpez{display:flex;justify-content:flex-end;gap:10px;padding:14px 16px;border-top:1px solid var(--border);flex-shrink:0}.btn.svelte-cfrpez{padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:650;cursor:pointer;transition:opacity .12s ease,transform .12s ease;border:none}.btn.svelte-cfrpez:disabled{opacity:.5;cursor:default}.secondary.svelte-cfrpez{background:transparent;border:1px solid var(--border);color:var(--text-2)}.secondary.svelte-cfrpez:hover:not(:disabled){background:var(--bg-elev2);color:var(--text)}.primary.svelte-cfrpez{background:var(--accent);color:var(--accent-ink)}.primary.svelte-cfrpez:hover:not(:disabled){opacity:.9}.empty.svelte-cfrpez{padding:24px;text-align:center;color:var(--text-3);font-size:13.5px}@media (max-width: 820px){.overlay.svelte-cfrpez{align-items:flex-end;padding:0 0 calc(env(safe-area-inset-bottom,0px) + var(--kb, 0px));transition:padding-bottom .2s ease-out}.modal.svelte-cfrpez{width:100%;max-height:calc(86vh - var(--kb, 0px));border-bottom-left-radius:0;border-bottom-right-radius:0;animation:svelte-cfrpez-sheetin .22s ease}@keyframes svelte-cfrpez-sheetin{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}}.overlay.svelte-b8emeh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:24px}.backdrop.svelte-b8emeh{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);border:none;padding:0;margin:0;cursor:default;animation:ocrc-fade .16s ease backwards}.modal.svelte-b8emeh{position:relative;width:min(880px,94vw);max-height:86vh;overflow:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-palette);animation:ocrc-pop .16s var(--ease-out, ease-out) backwards}.header.svelte-b8emeh{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-2)}.title.svelte-b8emeh{font-family:var(--font-serif);font-size:16px;font-weight:600;color:var(--text)}.close.svelte-b8emeh{background:transparent;border:none;color:var(--text-3);font-size:14px;cursor:pointer}.cols.svelte-b8emeh{display:flex;gap:14px;padding:14px 18px}.list.svelte-b8emeh{width:170px;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.ch.svelte-b8emeh{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 10px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer}.ch-logo.svelte-b8emeh{display:grid;place-items:center}.ch.sel.svelte-b8emeh{border-color:var(--accent);background:var(--accent-2)}.ch-state.svelte-b8emeh{font-size:10px;color:var(--text-3)}.ch-state.on.svelte-b8emeh{color:var(--ok, var(--accent))}.detail.svelte-b8emeh{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.d-hd.svelte-b8emeh{display:flex;align-items:center;justify-content:space-between}.d-name.svelte-b8emeh{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--text)}.switch.svelte-b8emeh{width:40px;height:22px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-input);display:grid;align-items:center;padding:0 2px;cursor:pointer}.switch.svelte-b8emeh .knob:where(.svelte-b8emeh){width:14px;height:14px;border-radius:50%;background:var(--text-3);transition:transform .16s ease,background .16s ease}.switch.on.svelte-b8emeh{border-color:var(--accent)}.switch.on.svelte-b8emeh .knob:where(.svelte-b8emeh){background:var(--accent);transform:translate(18px)}.note.svelte-b8emeh{margin:0;font-size:11.5px;color:var(--text-3)}.sec.svelte-b8emeh{border-top:1px solid var(--border-2);padding-top:10px}.danger.svelte-b8emeh{border-top-color:var(--err)}.sec-label.svelte-b8emeh{font-size:11px;color:var(--text-3);margin-bottom:6px}.cred.svelte-b8emeh{width:100%;box-sizing:border-box;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:11px}.cred.svelte-b8emeh:focus{outline:1px solid var(--accent)}.sec-acts.svelte-b8emeh{display:flex;align-items:center;gap:8px;margin-top:6px}.save.svelte-b8emeh{padding:4px 12px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-ink);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer}.opts.svelte-b8emeh{display:flex;flex-direction:column;gap:4px}.opt.svelte-b8emeh{padding:7px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:12px;text-align:left;cursor:pointer}.opt.sel.svelte-b8emeh{border-color:var(--accent);color:var(--text);background:var(--accent-2)}.hint.svelte-b8emeh{font-size:10.5px;color:var(--text-3);margin:4px 0 0}.reset.svelte-b8emeh{padding:5px 12px;background:transparent;border:1px solid var(--err);border-radius:var(--radius-sm);color:var(--err);font:inherit;font-size:11.5px;cursor:pointer}.pair.svelte-b8emeh{border-top:1px solid var(--border-2);padding:12px 18px 16px}.pair-head.svelte-b8emeh{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.pair-title.svelte-b8emeh{font-size:12.5px;font-weight:650;color:var(--text)}.cd.svelte-b8emeh{font-weight:500;color:var(--text-3);font-size:11.5px;margin-left:4px}.cd.expired.svelte-b8emeh{color:var(--warn)}.stop.svelte-b8emeh{flex-shrink:0;padding:4px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:11.5px;cursor:pointer}.stop.svelte-b8emeh:hover{color:var(--err);border-color:var(--err)}.qr-big.svelte-b8emeh{position:relative;width:min(200px,70%);margin:14px auto 12px;background:#fff;padding:10px;border-radius:var(--radius);animation:ocrc-fade .18s var(--ease-out, ease-out)}.qr-big.svelte-b8emeh svg{width:100%;height:auto;display:block}.qr-big.dim.svelte-b8emeh svg{opacity:.18;filter:blur(1px)}.qr-expired.svelte-b8emeh{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text);font-size:12px;font-weight:600}.pair-acts.svelte-b8emeh{display:flex;align-items:center;gap:8px}.spacer.svelte-b8emeh{flex:1}.pair-stopped.svelte-b8emeh{display:flex;align-items:center;gap:10px;padding:10px 0 2px;color:var(--text-2);font-size:12px}.copy.svelte-b8emeh{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:11.5px;cursor:pointer}.copy.svelte-b8emeh:hover{border-color:var(--accent);color:var(--text)}.overlay.svelte-1r7zhoh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);pointer-events:none}.backdrop.svelte-1r7zhoh{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;border:none;padding:0;margin:0;cursor:default;pointer-events:auto}.menu.svelte-1r7zhoh{position:absolute;z-index:1;min-width:180px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 50px #0000008c;padding:6px;display:flex;flex-direction:column;gap:2px;pointer-events:auto;animation:svelte-1r7zhoh-ocrc-pop .14s ease}@keyframes svelte-1r7zhoh-ocrc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.item.svelte-1r7zhoh{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;transition:background .12s ease}.item.svelte-1r7zhoh:hover{background:var(--accent-2)}.icon.svelte-1r7zhoh{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:var(--bg-panel);border:1px solid var(--border-2);color:var(--text-2);font-size:12px;flex-shrink:0}.label.svelte-1r7zhoh{flex:1;font-size:13px;font-weight:500}.keycap.svelte-1r7zhoh{flex-shrink:0;font-size:10px;color:var(--text-3);text-transform:uppercase;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-xs);padding:2px 5px}@media (max-width: 820px){.overlay.svelte-1r7zhoh{display:flex;align-items:flex-end;justify-content:center;padding:0 0 env(safe-area-inset-bottom,0);pointer-events:auto;background:var(--scrim)}.menu.svelte-1r7zhoh{position:relative;top:auto!important;left:auto!important;width:100%;max-width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;animation:svelte-1r7zhoh-sheetin .18s ease}@keyframes svelte-1r7zhoh-sheetin{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}}.fab-root.svelte-9zfapn{display:none}@media (max-width: 820px){.fab-root.svelte-9zfapn{display:block}}.scrim.svelte-9zfapn{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-fab);background:var(--scrim);border:none;padding:0;cursor:default;animation:svelte-9zfapn-fade .16s ease}@keyframes svelte-9zfapn-fade{0%{opacity:0}to{opacity:1}}.fab.svelte-9zfapn{position:fixed;z-index:var(--z-fab);right:18px;bottom:calc(76px + env(safe-area-inset-bottom,0px) + var(--kb, 0px));width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border:none;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 8px 24px #0006;transition:transform .2s ease}.fab.rot.svelte-9zfapn{transform:rotate(45deg)}.fab.svelte-9zfapn:active{transform:scale(.94)}.fab.rot.svelte-9zfapn:active{transform:rotate(45deg) scale(.94)}.dial.svelte-9zfapn{position:fixed;z-index:var(--z-fab);right:20px;bottom:calc(146px + env(safe-area-inset-bottom,0px) + var(--kb, 0px));display:flex;flex-direction:column;align-items:flex-end;gap:12px}.dial-item.svelte-9zfapn{display:flex;align-items:center;gap:10px;background:transparent;border:none;padding:0;cursor:pointer;animation:svelte-9zfapn-rise .16s ease both}@keyframes svelte-9zfapn-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dial-label.svelte-9zfapn{font-size:12px;color:var(--text);background:var(--bg-elev);border:1px solid var(--border);padding:6px 10px;border-radius:var(--radius-xs);white-space:nowrap;box-shadow:0 4px 14px #0000004d}.dial-icon.svelte-9zfapn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:18px;background:var(--bg-elev2);color:var(--text);border:1px solid var(--border)}.gate.svelte-9s687p{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-gate);display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto}.panel.svelte-9s687p{width:min(1060px,100%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:22px 26px;display:flex;flex-direction:column;gap:14px;animation:ocrc-pop var(--dur-enter, .2s) var(--ease-out, ease-out) backwards}.head.svelte-9s687p{display:flex;gap:14px;align-items:center}.hicon.svelte-9s687p{width:52px;height:52px;flex-shrink:0;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid var(--border-2);border-radius:var(--radius)}.hicon.svelte-9s687p svg:where(.svelte-9s687p){width:34px;height:34px;display:block}h1.svelte-9s687p{margin:0;font-size:17px;color:var(--text);font-weight:700}.sub.svelte-9s687p{margin:2px 0 0;font-size:12.5px;color:var(--text-2)}.cols.svelte-9s687p{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}@media (max-width: 860px){.cols.svelte-9s687p{grid-template-columns:1fr}}.scan.svelte-9s687p,.channels.svelte-9s687p{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.sec-head.svelte-9s687p{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap}.sec-title.svelte-9s687p{font-size:13px;font-weight:650;color:var(--text)}.chip.svelte-9s687p{font-size:10.5px;color:var(--text-2);background:var(--bg-elev);border:1px solid var(--border);padding:2px 8px;border-radius:var(--radius-pill)}.wait-row.svelte-9s687p{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wait.done.svelte-9s687p{color:var(--ok, #2e9e6b)}.btn.enter.svelte-9s687p{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.wait.svelte-9s687p{font-size:12px;color:var(--text);font-weight:600}.cd.svelte-9s687p{font-weight:500;color:var(--text-3)}.cd.expired.svelte-9s687p{color:var(--warn)}.qr-wrap.svelte-9s687p{position:relative;width:min(230px,80%);margin:4px auto;background:#fff;padding:12px;border-radius:var(--radius);border:1px dashed var(--border-2)}.qr-wrap.svelte-9s687p svg{width:100%;height:auto;display:block}.qr-re.svelte-9s687p{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text);font-size:12.5px;font-weight:600}.acts.svelte-9s687p{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spacer.svelte-9s687p{flex:1}.btn.svelte-9s687p{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:12px;cursor:pointer}.btn.svelte-9s687p:hover{border-color:var(--accent);color:var(--text)}.ch.svelte-9s687p{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:default}.lock.svelte-9s687p{margin-left:auto;font-size:12px;opacity:.65;flex-shrink:0}.ch-icon.svelte-9s687p{display:grid;place-items:center;flex-shrink:0}.ch-name.svelte-9s687p{font-size:12.5px;font-weight:650;color:var(--text);display:flex;gap:8px;align-items:baseline}.ok.svelte-9s687p{font-size:10.5px;color:var(--ok, #2e9e6b);font-weight:600}.off.svelte-9s687p{font-size:10.5px;color:var(--text-3);font-weight:500}.ch-note.svelte-9s687p{font-size:11.5px;color:var(--text-3);margin-top:2px}.hint.svelte-9s687p{font-size:11.5px;color:var(--text-3);margin:0;line-height:1.5}.dim.svelte-9s687p{color:var(--text-3)}.rejected.svelte-9s687p{margin:0;font-size:12.5px;color:var(--err)}.paste.svelte-9s687p{border-top:1px solid var(--border-2);padding-top:10px}.paste.svelte-9s687p summary:where(.svelte-9s687p){cursor:pointer;font-size:12px;color:var(--text-2)}.paste-body.svelte-9s687p{display:flex;flex-direction:column;gap:8px;padding-top:10px}.field.svelte-9s687p{padding:9px 11px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-size:12.5px}.field.svelte-9s687p:focus{outline:none;border-color:var(--accent-line)}.err.svelte-9s687p{font-size:12px;color:var(--err)}.connect.svelte-9s687p{align-self:flex-start;padding:8px 18px;background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.connect.svelte-9s687p:disabled{opacity:.45;cursor:default}.foot.svelte-9s687p{border-top:1px solid var(--border-2);padding-top:10px}.app.svelte-12qhfyh{position:fixed;top:0;left:0;right:0;display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg)}.body.svelte-12qhfyh{display:flex;flex:1;overflow:hidden;position:relative}main.svelte-12qhfyh{position:relative;flex:1;overflow:hidden;display:flex;flex-direction:column;min-width:0;background:var(--bg-canvas, var(--bg));border-radius:var(--radius) var(--radius) 0 0}.rail-wrap.svelte-12qhfyh{display:block;width:var(--rail-w, 250px);flex-shrink:0;overflow:hidden;position:relative;z-index:1;transition:transform .22s ease}.rail-wrap.collapsed.svelte-12qhfyh{transform:translate(-100%);margin-right:calc(-1 * var(--rail-w, 250px));pointer-events:none}.inspector-wrap.svelte-12qhfyh{display:contents}.rail-strip.svelte-12qhfyh{display:flex;flex-direction:column;align-items:center;gap:12px;width:44px;flex-shrink:0;padding:14px 0 10px;background:var(--bg-panel);border:none;border-right:1px solid var(--border-2);color:var(--text-3);cursor:pointer;transition:color .12s ease,background .12s ease}.rail-strip.svelte-12qhfyh:hover{color:var(--text);background:var(--bg-elev2)}.rail-strip.svelte-12qhfyh .strip-mark:where(.svelte-12qhfyh){width:22px;height:22px;flex-shrink:0}.rail-strip.svelte-12qhfyh .strip-caret:where(.svelte-12qhfyh){width:14px;height:14px}.divider.svelte-12qhfyh{width:6px;flex-shrink:0;margin:0 -3px;z-index:5;cursor:col-resize;background:transparent;transition:background .15s ease}.divider.svelte-12qhfyh:hover,.divider.resizing.svelte-12qhfyh{background:color-mix(in srgb,var(--accent) 35%,transparent)}.backdrop.svelte-12qhfyh{display:none}@media (max-width: 820px){.rail-wrap.svelte-12qhfyh{display:block;position:absolute;top:0;bottom:0;left:0;z-index:var(--z-drawer);width:100%;overflow:hidden;margin-right:0;transition:transform .24s var(--ease, ease);transform:translate(-100%)}.rail-wrap.open.svelte-12qhfyh{transform:translate(0)}.inspector-wrap.svelte-12qhfyh{display:block;position:absolute;left:0;right:0;bottom:var(--kb, 0px);top:auto;z-index:var(--z-sheet);width:100%;height:min(82vh,580px);overflow:hidden;transition:transform .24s ease;transform:translateY(calc(100% + var(--kb, 0px)));border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -10px 44px #0000008c}.inspector-wrap.open.svelte-12qhfyh{transform:translateY(0)}.rail-wrap.svelte-12qhfyh .agent-panel,.rail-wrap.svelte-12qhfyh .panel{width:100%}.rail-strip.svelte-12qhfyh{display:none}.inspector-wrap.svelte-12qhfyh .inspector{width:100%;height:100%}.backdrop.svelte-12qhfyh{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-backdrop);background:var(--scrim);border:none;padding:0;cursor:default;animation:svelte-12qhfyh-fade .18s ease}@keyframes svelte-12qhfyh-fade{0%{opacity:0}to{opacity:1}}}
@@ -1 +0,0 @@
1
- .suggestions.svelte-1hbn5f9{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 14px 8px}.chip.svelte-1hbn5f9{min-height:36px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:12px;padding:6px 13px;cursor:pointer;animation:ocrc-rise .22s var(--ease-out, ease-out) backwards;transition:border-color .12s var(--ease, ease),color .12s var(--ease, ease)}.chip.svelte-1hbn5f9:hover{border-color:var(--accent);color:var(--text)}.dismiss.svelte-1hbn5f9{background:transparent;border:none;color:var(--text-4);font-size:12px;cursor:pointer;padding:6px 8px}.dismiss.svelte-1hbn5f9:hover{color:var(--text-2)}.wrap.svelte-1f5vmb3{position:relative;min-width:0}.chip.svelte-1f5vmb3{display:flex;align-items:center;gap:5px;min-height:24px;min-width:0;max-width:100%;box-sizing:border-box;background:transparent;border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-pill);padding:5px 11px;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s}.chip.svelte-1f5vmb3 .icon,.chip.svelte-1f5vmb3 svg{flex-shrink:0}.txt.svelte-1f5vmb3{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.chip.svelte-1f5vmb3:hover{border-color:var(--accent);color:var(--text)}.pop.svelte-1f5vmb3{position:absolute;bottom:36px;left:0;width:220px;max-height:min(52vh,360px);overflow-y:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:8px;box-shadow:0 16px 40px #00000080;z-index:var(--z-popover)}.opt.svelte-1f5vmb3{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;color:var(--text);padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;text-align:left}.opt.svelte-1f5vmb3:hover,.opt.sel.svelte-1f5vmb3{background:var(--accent-2)}.clear.svelte-1f5vmb3{color:var(--text-3);margin-top:4px}.none.svelte-1f5vmb3{padding:6px 8px}.wrap.svelte-1005b73{position:relative;min-width:0}.chip.svelte-1005b73{display:flex;align-items:center;gap:5px;min-height:24px;min-width:0;max-width:min(150px,100%);box-sizing:border-box;background:transparent;border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-pill);padding:5px 11px;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s}.chip.svelte-1005b73:hover{border-color:var(--accent);color:var(--text)}.chip.svelte-1005b73 svg{flex-shrink:0}.txt.svelte-1005b73{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.pop.svelte-1005b73{position:absolute;bottom:36px;right:0;width:248px;max-height:min(56vh,400px);overflow-y:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:8px;box-shadow:0 16px 40px #00000080;z-index:var(--z-popover)}.prov.svelte-1005b73{padding:7px 8px 2px;color:var(--text-3)}.opt.svelte-1005b73{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;color:var(--text);padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;text-align:left}.opt.svelte-1005b73:hover,.opt.sel.svelte-1005b73{background:var(--accent-2)}.clear.svelte-1005b73{color:var(--text-3);margin-top:4px}.none.svelte-1005b73{padding:6px 8px}.controls.svelte-dkbq22{display:contents}.wrap.svelte-dkbq22{position:relative;min-width:0}.chip.svelte-dkbq22{display:flex;align-items:center;gap:5px;min-height:24px;min-width:0;max-width:100%;box-sizing:border-box;background:transparent;border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-pill);padding:5px 11px;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s}.chip.svelte-dkbq22:hover{border-color:var(--accent);color:var(--text)}.chip.svelte-dkbq22 svg{flex-shrink:0}.txt.svelte-dkbq22{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.pop.svelte-dkbq22{position:absolute;bottom:44px;left:0;width:220px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:8px;box-shadow:0 16px 40px #00000080;z-index:var(--z-popover)}.opt.svelte-dkbq22{display:flex;align-items:center;width:100%;background:transparent;border:none;color:var(--text);padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px}.opt.svelte-dkbq22:hover,.opt.sel.svelte-dkbq22{background:var(--accent-2)}.wrap.svelte-4bdpxt{position:relative;display:none}@media (min-width: 821px){.wrap.svelte-4bdpxt{display:block}}.ring.svelte-4bdpxt{position:relative;display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;padding:2px;cursor:pointer;color:var(--text-3)}.ring.svelte-4bdpxt svg:where(.svelte-4bdpxt){width:20px;height:20px}.track.svelte-4bdpxt{fill:none;stroke:var(--border);stroke-width:3}.arc.svelte-4bdpxt{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s ease}.pct.svelte-4bdpxt{font-size:10.5px;color:var(--text-3)}.pct.svelte-4bdpxt i:where(.svelte-4bdpxt){font-style:normal;font-size:8.5px}.ring.svelte-4bdpxt:hover .pct:where(.svelte-4bdpxt){color:var(--text-2)}.pop.svelte-4bdpxt{position:absolute;bottom:calc(100% + 10px);left:0;width:300px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 16px 40px #00000047;padding:12px 14px;z-index:var(--z-popover);animation:ocrc-pop .14s var(--ease-out, ease-out);cursor:default}.head.svelte-4bdpxt{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.label.svelte-4bdpxt{font-size:11px;font-weight:600;color:var(--text-2)}.dim.svelte-4bdpxt{font-size:10.5px;color:var(--text-3)}.bar.svelte-4bdpxt{display:flex;height:6px;border-radius:var(--radius-bar);overflow:hidden;background:var(--border-2)}.seg.svelte-4bdpxt{height:100%}.legend.svelte-4bdpxt{display:flex;flex-wrap:wrap;gap:4px 10px;margin:6px 0 8px}.lg.svelte-4bdpxt{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--text-3)}.dot.svelte-4bdpxt{width:6px;height:6px;border-radius:50%;flex-shrink:0}.rows.svelte-4bdpxt{display:flex;flex-direction:column}.row.svelte-4bdpxt{display:flex;justify-content:space-between;padding:3px 0;font-size:11.5px;color:var(--text-3);border-top:1px solid var(--border-2)}.row.svelte-4bdpxt:first-child{border-top:none}.row.svelte-4bdpxt .mono:where(.svelte-4bdpxt){color:var(--text-2);font-size:11px}.composer.svelte-60fagq{background:var(--bg);padding:6px 24px 18px}@media (max-width: 820px){.composer.svelte-60fagq{padding:0 12px;padding-bottom:max(8px,calc(env(safe-area-inset-bottom,0px) + 10px - var(--kb, 0px)))}.box.svelte-60fagq{padding:7px 8px 7px 14px;border-radius:var(--radius-pill)}.footer.svelte-60fagq{margin-top:4px;gap:6px}.footer.svelte-60fagq .wrap{min-width:0;flex-shrink:1}.footer.svelte-60fagq .chip{max-width:min(36vw,100%)}.send.svelte-60fagq,.attach.svelte-60fagq{flex-shrink:0}.send.svelte-60fagq,.attach.svelte-60fagq{width:44px;height:44px}}.dock.svelte-60fagq{max-width:calc(var(--col-w, 880px) - 48px);margin:0 auto}.error.svelte-60fagq{color:var(--err);font-size:.8em;margin:0 0 8px;font-family:var(--font-mono)}.box.svelte-60fagq{position:relative;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px 8px;box-shadow:var(--shadow-composer);transition:border-color .15s ease}.box.focused.svelte-60fagq,.box.has-text.svelte-60fagq{border-color:var(--accent)}textarea.svelte-60fagq{display:block;width:100%;box-sizing:border-box;background:transparent;border:none;padding:2px 4px;color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.5;resize:none;min-height:24px;max-height:140px;overflow-y:auto}textarea.svelte-60fagq:focus{outline:none}textarea.svelte-60fagq::placeholder{color:var(--text-4)}.footer.svelte-60fagq{display:flex;align-items:center;gap:8px;margin-top:6px;min-width:0}.spacer.svelte-60fagq{flex:1;min-width:8px}@media (max-width: 720px){.send-hint.svelte-60fagq,.hint.command.svelte-60fagq{display:none}}.hint.svelte-60fagq{background:transparent;border:none;color:var(--text-4);font-family:var(--font-mono);font-size:11px;white-space:nowrap;padding:0;min-width:0;overflow:hidden;text-overflow:ellipsis}.hint.command.svelte-60fagq{cursor:pointer;transition:color .15s ease}.hint.command.svelte-60fagq:hover{color:var(--text-2)}.send.svelte-60fagq{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:50%;border:none;background:var(--accent);color:var(--accent-ink);cursor:pointer;transition:opacity .15s ease,transform .1s ease;flex-shrink:0}.send.svelte-60fagq:not(:disabled):hover{transform:scale(1.06)}.send.svelte-60fagq:disabled{background:var(--border);color:var(--text-3);cursor:not-allowed}.thumbnails.svelte-60fagq{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.thumb.svelte-60fagq{position:relative;width:56px;height:56px;border-radius:var(--radius-xs);overflow:hidden;border:1px solid var(--border);flex-shrink:0}.thumb.svelte-60fagq img:where(.svelte-60fagq){width:100%;height:100%;object-fit:cover;display:block}.remove.svelte-60fagq{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;border:none;background:#0009;color:var(--text);font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.remove.svelte-60fagq:hover{background:#000c}.attach.svelte-60fagq{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-xs);border:none;background:transparent;color:var(--text-3);cursor:pointer;padding:0;flex-shrink:0}.attach.svelte-60fagq:hover{background:#ffffff0f;color:var(--text)}.mention-dropdown.svelte-60fagq{position:absolute;bottom:100%;left:0;right:0;max-height:180px;overflow-y:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:4px;box-shadow:0 -4px 16px #00000059;padding:4px;z-index:var(--z-dropdown)}.mention-row.svelte-60fagq{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);font-family:var(--font-mono);font-size:.85em;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-row.active.svelte-60fagq,.mention-row.svelte-60fagq:hover{background:var(--accent-2)}.switcher.svelte-rgafhj{position:relative;display:inline-flex;min-width:0}.trigger.svelte-rgafhj{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:5px 9px 5px 5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer;transition:border-color .12s ease,background .12s ease}.trigger.svelte-rgafhj:hover{border-color:var(--accent);background:var(--bg-elev2)}.glyph-tile.svelte-rgafhj{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid transparent;font-family:var(--font-mono);font-size:10px;font-weight:700;flex-shrink:0}.status-dot.svelte-rgafhj{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.sr-only.svelte-rgafhj{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status-dot.online.svelte-rgafhj{background:var(--accent);border-color:var(--accent)}.status-dot.connecting.svelte-rgafhj{background:var(--warn);border-color:var(--warn);animation:ocrc-pulse 1.2s ease-in-out infinite}.status-dot.offline.svelte-rgafhj{background:transparent;border:1.5px solid var(--text-4)}.title.svelte-rgafhj{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caret.svelte-rgafhj{font-size:9px;color:var(--text-3);flex-shrink:0}.popover.svelte-rgafhj{position:absolute;top:calc(100% + 6px);left:0;width:min(280px,calc(100vw - 32px));background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 50px #0000008c;z-index:var(--z-popover);overflow:hidden;animation:svelte-rgafhj-ocrc-pop .14s ease}@keyframes svelte-rgafhj-ocrc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.list.svelte-rgafhj{max-height:320px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.row.svelte-rgafhj{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;transition:background .12s ease}.row.svelte-rgafhj:hover,.row.active.svelte-rgafhj{background:var(--accent-2)}.dot.svelte-rgafhj{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box;background:transparent;border-color:var(--text-4)}.dot.active.svelte-rgafhj{background:var(--accent);border-color:var(--accent)}.info.svelte-rgafhj{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.row-title.svelte-rgafhj{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta.svelte-rgafhj{font-size:10.5px;color:var(--text-3)}.check.svelte-rgafhj{font-size:13px;color:var(--accent);flex-shrink:0}.empty.svelte-rgafhj{padding:14px 10px;color:var(--text-3);font-size:12px}.footer.svelte-rgafhj{border-top:1px solid var(--border);padding:6px}.new-session.svelte-rgafhj{display:flex;align-items:center;width:100%;padding:8px 10px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-2);font-size:12px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.new-session.svelte-rgafhj:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-2)}.new-session.svelte-rgafhj:disabled{opacity:.5;cursor:default}.ball.svelte-w3h0m4,.plan-card.svelte-w3h0m4{display:none}.ball.svelte-w3h0m4{position:absolute;right:23px;bottom:calc(var(--composer-h, 120px) + 10px);z-index:var(--z-hud);width:38px;height:38px;padding:0;border:1px solid var(--border-2);border-radius:50%;background:var(--bg-elev);box-shadow:0 6px 18px #00000038;cursor:pointer;place-items:center;transition:transform .15s var(--ease, ease);animation:ocrc-pop .22s var(--ease-out, ease-out) backwards}.ball.svelte-w3h0m4:active{transform:scale(.92)}.ghost.svelte-w3h0m4{position:absolute;right:16px;bottom:calc(var(--composer-h, 120px) + 10px);z-index:var(--z-hud);display:flex;align-items:center;gap:8px;padding:5px 10px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-3);font:inherit;cursor:pointer;opacity:.75}.ghost.svelte-w3h0m4:hover{opacity:1;color:var(--text-2);border-color:var(--accent-line)}.ghost.svelte-w3h0m4 .label:where(.svelte-w3h0m4){text-transform:uppercase;letter-spacing:.12em;font-size:9.5px;font-weight:600}.ghost.svelte-w3h0m4 .bar-count:where(.svelte-w3h0m4){font-size:10.5px}.ghost.svelte-w3h0m4 .bar-count:where(.svelte-w3h0m4) i:where(.svelte-w3h0m4){font-style:normal;color:var(--text-3);padding:0 1px}.bar.svelte-w3h0m4{display:none;position:absolute;right:16px;bottom:calc(var(--composer-h, 120px) + 10px);z-index:var(--z-hud);align-items:center;gap:10px;padding:7px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);cursor:pointer;font:inherit;animation:ocrc-pop .18s var(--ease-out, ease-out) backwards}.bar.svelte-w3h0m4 .label:where(.svelte-w3h0m4){text-transform:uppercase;letter-spacing:.12em;font-size:9.5px;font-weight:600;color:var(--text-3)}.bar-count.svelte-w3h0m4{font-size:11px;color:var(--text)}.bar-count.svelte-w3h0m4 i:where(.svelte-w3h0m4){font-style:normal;color:var(--text-3);padding:0 1px}.bar.svelte-w3h0m4 .badge:where(.svelte-w3h0m4){min-width:15px;height:15px;padding:0 4px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-pill);font-size:9px;font-weight:700}.bar.svelte-w3h0m4 .caret:where(.svelte-w3h0m4){width:13px;height:13px;color:var(--text-3)}.bar.svelte-w3h0m4:hover{border-color:var(--accent-line)}.ring.svelte-w3h0m4{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ring.svelte-w3h0m4 circle:where(.svelte-w3h0m4){fill:none;stroke-linecap:round}.track.svelte-w3h0m4{stroke:var(--border);stroke-width:3.5}.arc.svelte-w3h0m4{stroke:var(--accent);stroke-width:3.5;transition:stroke-dasharray .4s var(--ease, ease)}.ball-count.svelte-w3h0m4{position:relative;font-size:9.5px;color:var(--text);letter-spacing:-.02em}.ball-count.svelte-w3h0m4 i:where(.svelte-w3h0m4){font-style:normal;color:var(--text-3);padding:0 1px}.badge.svelte-w3h0m4{position:absolute;bottom:-8px;right:-9px;min-width:15px;height:15px;padding:0 3px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-pill);font-size:9px;font-weight:700;box-sizing:border-box;box-shadow:0 0 0 2px var(--bg)}.scrim.svelte-w3h0m4{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-hud);background:var(--scrim);border:none;padding:0}.plan-card.svelte-w3h0m4{position:absolute;right:16px;bottom:calc(var(--composer-h, 120px) + 46px);z-index:calc(var(--z-hud) + 1);width:min(86vw,380px);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 48px #00000073;overflow:visible;transform-origin:85% 100%;animation:ocrc-pop .18s var(--ease-out, ease-out) backwards}.hd.svelte-w3h0m4{display:flex;align-items:center;gap:7px;padding:10px 10px 10px 12px}.label.svelte-w3h0m4{flex-shrink:0;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);font-size:9.5px;font-weight:600}.title.svelte-w3h0m4{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:600;color:var(--text)}.dots.svelte-w3h0m4,.close.svelte-w3h0m4{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;margin:0;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer}.dots.svelte-w3h0m4{font-size:14px;line-height:1}.close.svelte-w3h0m4 svg:where(.svelte-w3h0m4){width:15px;height:15px}.dots.svelte-w3h0m4:active,.close.svelte-w3h0m4:active{background:var(--bg-elev2);color:var(--text)}.menu.svelte-w3h0m4{position:absolute;top:40px;right:8px;z-index:1;min-width:168px;display:flex;flex-direction:column;padding:4px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #00000040}.menu.svelte-w3h0m4 button:where(.svelte-w3h0m4){margin:0;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font-size:12px;text-align:left;cursor:pointer}.menu.svelte-w3h0m4 button:where(.svelte-w3h0m4):hover,.menu.svelte-w3h0m4 button:where(.svelte-w3h0m4):active{background:var(--bg-elev);color:var(--text)}.body.svelte-w3h0m4{padding:2px 12px 12px;border-top:1px solid var(--border-2);max-height:calc(52vh - 47px);overflow-y:auto;-webkit-overflow-scrolling:touch}.prog.svelte-w3h0m4{padding:9px 0 7px;font-size:11px;color:var(--text-3)}.grp.svelte-w3h0m4{display:flex;align-items:center;gap:6px;margin:2px 0;padding:3px 0;background:transparent;border:none;color:var(--text-3);font-size:11.5px;cursor:pointer}.grp.static.svelte-w3h0m4{cursor:default}.sub-label.svelte-w3h0m4{text-transform:uppercase;letter-spacing:.12em;font-size:9.5px;font-weight:600}.caret.svelte-w3h0m4{width:12px;height:12px;transition:transform .16s ease;transform:rotate(0)}.caret.open.svelte-w3h0m4{transform:rotate(90deg)}.row.svelte-w3h0m4{display:flex;align-items:flex-start;gap:8px;padding:3px 0}.box.svelte-w3h0m4{flex-shrink:0;width:13px;height:13px;margin-top:2px;border-radius:var(--radius-xs);display:grid;place-items:center;border:1.5px solid var(--border)}.row.done.svelte-w3h0m4 .box:where(.svelte-w3h0m4){background:var(--accent);border-color:var(--accent)}.check.svelte-w3h0m4{font-size:9px;line-height:1;color:var(--accent-ink)}.dot.svelte-w3h0m4{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite}.row.running.svelte-w3h0m4 .box:where(.svelte-w3h0m4){border-color:var(--accent)}.tx.svelte-w3h0m4{font-size:12px;line-height:1.45;color:var(--text-2);min-width:0}.row.done.svelte-w3h0m4 .tx:where(.svelte-w3h0m4){color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--border)}.row.running.svelte-w3h0m4 .tx:where(.svelte-w3h0m4){color:var(--text);font-weight:500}.sub-dot.svelte-w3h0m4{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite}.sub-check.svelte-w3h0m4{flex-shrink:0;font-size:10px;line-height:1;color:var(--text-3)}.row.sub.idle.svelte-w3h0m4 .tx:where(.svelte-w3h0m4){color:var(--text-3)}.row.sub.idle.svelte-w3h0m4 .sub-count:where(.svelte-w3h0m4){color:var(--text-3)}.row.sub.svelte-w3h0m4{padding-left:2px}.row.sub.jump.svelte-w3h0m4{margin:0;padding:3px 2px;width:100%;background:transparent;border:none;border-radius:var(--radius-xs);text-align:left;cursor:pointer;color:inherit;font:inherit;align-items:center}.row.sub.jump.svelte-w3h0m4:active{background:var(--bg-elev2)}.row.sub.jump.svelte-w3h0m4 .tx:where(.svelte-w3h0m4){flex:1;min-width:0}.go.svelte-w3h0m4{flex-shrink:0;width:12px;height:12px;color:var(--text-3)}.crumb.svelte-w3h0m4{display:flex;align-items:center;gap:6px;width:100%;margin:9px 0 0;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:11.5px;cursor:pointer;text-align:left}.crumb.svelte-w3h0m4 svg:where(.svelte-w3h0m4){width:12px;height:12px;flex-shrink:0}.crumb.svelte-w3h0m4:active{color:var(--text);border-color:var(--accent)}.sub-count.svelte-w3h0m4{flex-shrink:0;margin-top:1px;font-size:10.5px;color:var(--accent);min-width:26px}@media (max-width: 820px){.ball.svelte-w3h0m4{display:grid}.plan-card.svelte-w3h0m4{display:block}}@media (min-width: 821px){.bar.svelte-w3h0m4{display:flex;top:60px;bottom:auto}.plan-card.svelte-w3h0m4{display:block;width:min(60vw,380px);top:60px;bottom:auto;transform-origin:85% 0}}.jump.svelte-eho102{position:absolute;bottom:calc(var(--composer-h, 120px) + 14px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:var(--z-sticky);animation:ocrc-fade .15s var(--ease-out, ease-out) backwards;display:inline-flex;align-items:center;gap:5px;padding:7px 13px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:12px;cursor:pointer;box-shadow:var(--shadow-card)}.jump.svelte-eho102:hover{color:var(--text);border-color:var(--text-4)}.load-earlier.svelte-eho102{display:block;margin:0 auto 14px;padding:6px 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:11.5px;cursor:pointer;animation:ocrc-rise-sm .16s var(--ease-out, ease-out) backwards}.load-earlier.svelte-eho102:hover{color:var(--text);border-color:var(--text-4)}.load-earlier.svelte-eho102:disabled{opacity:.55;cursor:default}.chat.svelte-eho102{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}@media (max-width: 820px){.chat.svelte-eho102{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - var(--kb, 0px) - var(--composer-h, 120px)),rgba(0,0,0,.12) calc(100% - var(--kb, 0px)));mask-image:linear-gradient(to bottom,#000 calc(100% - var(--kb, 0px) - var(--composer-h, 120px)),#0000001f calc(100% - var(--kb, 0px)))}}.sub-header.svelte-eho102{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px max(24px,calc((100% - var(--col-w, 880px)) / 2 + 24px));background:var(--bg);border-bottom:1px solid var(--border-2)}.sub-header.svelte-eho102 .left:where(.svelte-eho102){display:flex;align-items:center;gap:10px;min-width:0}.expand.svelte-eho102{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-pill);color:var(--text-3);cursor:pointer;flex-shrink:0;transition:color .12s ease,border-color .12s ease,background .12s ease}.expand.svelte-eho102:hover{color:var(--text);border-color:var(--accent);background:var(--accent-2)}.back.svelte-eho102,.inspect.svelte-eho102{display:none}@media (max-width: 820px){.expand.svelte-eho102{display:none}.back.svelte-eho102,.inspect.svelte-eho102{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer}.back.svelte-eho102:active,.inspect.svelte-eho102:active{background:var(--bg-elev2)}}.sub-header.svelte-eho102 .branch:where(.svelte-eho102){min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;color:var(--hl-purple);background:var(--bg-elev);border:1px solid var(--border-2);border-radius:var(--radius-pill);padding:2px 8px}.sub-header.svelte-eho102 .right:where(.svelte-eho102){display:flex;align-items:center;gap:8px;flex-shrink:0}.pill.svelte-eho102{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--radius-pill);background:var(--bg-elev);border:1px solid var(--border);color:var(--text-2);font-size:11px;min-width:0;max-width:30vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pill.svelte-eho102 .dot:where(.svelte-eho102){width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:ocrc-pulse 1.2s ease-in-out infinite}.idle.svelte-eho102{font-size:11px;color:var(--text-3)}.abort.svelte-eho102{background:transparent;border:1px solid var(--border-2);color:var(--text-3);border-radius:var(--radius-pill);padding:3px 10px;font-size:11px;font-weight:500;cursor:pointer;transition:color .15s ease,border-color .15s ease}.abort.svelte-eho102:hover{color:var(--err);border-color:var(--err)}.abort.svelte-eho102:disabled{opacity:.5;cursor:default}.stream.svelte-eho102{max-width:var(--col-w, 880px);box-sizing:border-box;margin:0 auto;padding:22px 24px 8px;display:flex;flex-direction:column}.stream.svelte-eho102>*:last-child:not(.stream-end){animation:ocrc-rise var(--dur-enter, .2s) var(--ease-out, ease-out) backwards}.stream.suppressed.svelte-eho102>*:last-child:not(.stream-end){animation:none}.stream-end.svelte-eho102{height:1px;flex-shrink:0}.loading.svelte-eho102{display:flex;justify-content:center;gap:7px;padding:18vh 24px 40px}.ldot.svelte-eho102{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:ocrc-pulse 1.2s ease-in-out infinite}.ldot.svelte-eho102:nth-child(2){animation-delay:.15s}.ldot.svelte-eho102:nth-child(3){animation-delay:.3s}.empty.svelte-eho102{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:18vh 24px 40px;color:var(--text-3);font-size:14px}.empty-mark.svelte-eho102{width:40px;height:40px;margin-bottom:6px}.empty-title.svelte-eho102{margin:0;font-family:var(--font-serif);font-size:19px;font-weight:600;color:var(--text);letter-spacing:.01em}.empty-hint.svelte-eho102{margin:0;max-width:420px;line-height:1.6;font-size:12.5px}@media (min-width: 821px){.composer-float.svelte-eho102 .composer{padding-right:calc(24px + var(--sbw, 0px))}}@media (max-width: 820px){.composer-float.svelte-eho102{position:absolute;left:0;right:0;bottom:0;z-index:var(--z-dropdown);background:transparent;transform:translateY(calc(-1 * var(--kb, 0px)));transition:transform .25s ease-out;will-change:transform}.composer-float.svelte-eho102 .composer{background:transparent}.stream.svelte-eho102{padding:14px 12px calc(var(--composer-h, 120px) + var(--kb, 0px) + 8px)}.sub-header.svelte-eho102{gap:8px;padding:calc(10px + env(safe-area-inset-top,0px)) 8px 10px}.sub-header.svelte-eho102 .left:where(.svelte-eho102){min-width:0}.composer-float.svelte-eho102{background:var(--bg);border-top:1px solid var(--border-2);padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px))}}
@@ -1 +0,0 @@
1
- import{l as o,s as r}from"../chunks/CgqE2k_6.js";export{o as load_css,r as start};
@@ -1,3 +0,0 @@
1
- import"../chunks/CWj6FrbW.js";import{q as za,r as Qe,z as ut,p as _t,f as qe,j as Ht,d as Ca,a as kt,b as nt,c as xt,e as At,C as Zt,A as Rt,n as La,B as Jt,l as Ea,D as Wt,k as _a,m as Ba,g as Xt,v as Da,o as ia,E as Pa,h as Gt,u as Oa,t as ja,G as Fa,x as oa,F as Ra,s as Wa}from"../chunks/DUrEVoyD.js";import{ai as Ua,ag as Ja,a1 as St,b4 as n,a_ as ma,aa as Na,aJ as Ha,am as Ka,aE as Ge,ap as se,aO as s,V as de,a8 as e,aq as et,J as a,aK as t,aU as r,aw as yt,a$ as H,aR as E,a3 as B,w as i,aB as Ye,au as v,Z as wt,a6 as d,M as rt,a4 as Ne,b0 as Nt,b8 as Qa,b5 as dt,$ as $t,aI as Ga,ay as Dt,a9 as gt,av as ea,Q as Ya,b1 as Va,a7 as ga,az as sa}from"../chunks/BjY4dxcB.js";import{i as W,a as Pe,s as it}from"../chunks/DIEDQ_hk.js";import{n as ya,h as Pt,I as It,z as ye,y as We,u as Tt,d as ta,G as Za,F as Xa,i as Ke,a as es,w as ht,c as mt,A as ot,o as zt,l as wa,t as qt,E as ka,b as ca,r as xa,C as ts,M as as,B as Bt,D as aa,v as va,x as ss,q as da,H as ua,e as Yt,s as Aa,p as Mt,J as ns,k as Ia,m as jt,j as pa}from"../chunks/B7JrIm_t.js";import{p as ze,b as Lt}from"../chunks/C2FuqD3s.js";import{g as Kt,a as rs}from"../chunks/CgqE2k_6.js";function ls(j,o,u,$,D){var I;Ua&&Ja();var l=(I=o.$$slots)==null?void 0:I[u],k=!1;l===!0&&(l=o.children,k=!0),l===void 0||l(j,k?()=>$:$)}function na(j,o,u){St(()=>{var $=n(()=>o(j,u==null?void 0:u())||{});if($!=null&&$.destroy)return()=>$.destroy()})}function is(j,o,u){var $=Na(j,o);$&&$.set&&(j[o]=u,ma(()=>{j[o]=null}))}function os(j,o,u,$,D){var l=()=>{$(u[j])};u.addEventListener(o,l),D?Ha(()=>{u[j]=D()}):l(),(u===document.body||u===window||u===document)&&ma(()=>{u.removeEventListener(o,l)})}function cs(j,o){var l;var u=(l=j.$$events)==null?void 0:l[o.type],$=Ka(u)?u.slice():u==null?[]:[u];for(var D of $)D.call(this,o)}const vs=!1,ds=!1,us="always",Hl=Object.freeze(Object.defineProperty({__proto__:null,prerender:ds,ssr:vs,trailingSlash:us},Symbol.toStringTag,{value:"Module"})),fa=[2e3,4e3,8e3,16e3,3e4];function ps(j){const o=za();if(!o)return j;const u=j.includes("?")?"&":"?";return`${j}${u}token=${encodeURIComponent(o)}`}function fs(j){let o=null,u=0,$=null,D=null,l=null,k=0,I=!1,y=!1;const h=[];function T(g){var C;Pt.set(g),(C=j.onStatus)==null||C.call(j,g)}function x(){$&&(clearTimeout($),$=null),D&&(clearTimeout(D),D=null),l&&(clearTimeout(l),l=null)}function w(){D=setTimeout(()=>{(o==null?void 0:o.readyState)===WebSocket.OPEN&&(k=performance.now(),o.send(JSON.stringify({type:"ping"})),l=setTimeout(()=>{o==null||o.close(),b()},45e3))},25e3)}function K(){if(!I){T("reconnecting");try{o=new WebSocket(ps(j.url))}catch{b();return}o.onopen=()=>{var g;u=0,T("connected");for(const C of h.splice(0))o==null||o.send(C);y&&((g=j.onReconnect)==null||g.call(j)),y=!0,w()},o.onmessage=g=>{var C;try{const ee=JSON.parse(g.data);if(ee.type==="pong"){l&&(clearTimeout(l),l=null),k&&ya.set(Math.round(performance.now()-k)),w();return}(C=j.onMessage)==null||C.call(j,ee)}catch{}},o.onclose=()=>{x(),I||b()},o.onerror=()=>{o==null||o.close()}}}function b(){if(x(),I)return;T("reconnecting");const g=fa[Math.min(u,fa.length-1)];u+=1,$=setTimeout(()=>void K(),g)}return K(),{send(g){const C=JSON.stringify(g);(o==null?void 0:o.readyState)===WebSocket.OPEN?o.send(C):h.push(C)},close(){I=!0,x(),h.length=0,o==null||o.close(),o=null,T("offline")}}}let Ut=null;function hs(j){Ut=j}function Vt(j){Ut==null||Ut(j)}let ha=new Map;const Ct=new Set;let $a,Et,Ft=!1;function ra(){if(typeof document>"u")return;const j=document.title.replace(/^(🔔 [\d]+ 新动态 — )/,"")||"ocrc";if(Ct.size===0){Et&&(clearInterval(Et),Et=void 0),Ft=!1,document.title=j;return}Et||(document.title=`🔔 ${Ct.size} 新动态 — ${j}`,Et=setInterval(()=>{Ft=!Ft,document.title=Ft?`🔔 ${Ct.size} 新动态 — ${j}`:j},1200))}function bs(j){$a=j,j&&(Ct.delete(j),ra())}function _s(j){for(const o of j){const u=ha.get(o.id);ha.set(o.id,o.lastActiveAt),!(u===void 0||o.id===$a)&&o.lastActiveAt>u+1500&&(Ct.add(o.id),ra())}}typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&(Ct.clear(),ra())});var ms=d('<span class="dot-ring svelte-hhath1"></span>'),gs=d('<span class="connection-latency mono svelte-hhath1"> </span>'),ys=d('<button class="install svelte-hhath1">Install</button>'),ws=d('<header class="titlebar svelte-hhath1"><button aria-label="Sessions"><!></button> <div class="brand svelte-hhath1" title="ocrc"><svg class="brand-mark svelte-hhath1" viewBox="0 0 64 64" fill="none" stroke-width="8" stroke-linecap="round" aria-hidden="true"><path d="M46 15 A24 24 0 1 0 54 32" stroke="var(--text)"></path><circle cx="49" cy="20" r="6" fill="var(--accent)" stroke="none"></circle></svg> <span class="wordmark svelte-hhath1"><b class="svelte-hhath1">ocrc</b></span></div> <button class="new-session svelte-hhath1" title="新建会话、命令面板…"><span class="new-icon svelte-hhath1" aria-hidden="true">+</span> <span class="new-label svelte-hhath1">新建</span> <span class="new-caret svelte-hhath1" aria-hidden="true"><!></span></button> <button class="palette-trigger svelte-hhath1" title="搜索会话与命令 (⌘K)"><span class="palette-icon svelte-hhath1" aria-hidden="true"><!></span> <span class="palette-label svelte-hhath1">搜索会话与命令…</span> <kbd class="palette-keycap mono svelte-hhath1">⌘K</kbd></button> <span class="spacer svelte-hhath1"></span> <button class="themebtn svelte-hhath1" title="机器人与通道" aria-label="机器人与通道"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="10" rx="2"></rect><circle cx="12" cy="5" r="2"></circle><path d="M12 7v4"></path><path d="M8 16h0M16 16h0"></path></svg></button> <button class="themebtn svelte-hhath1" aria-label="Toggle color theme"><!></button> <span><span class="dot-wrap svelte-hhath1" aria-hidden="true"><span class="dot svelte-hhath1"></span> <!></span> <span class="connection-state svelte-hhath1"> </span> <!></span> <!> <button aria-label="Inspector"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="7" x2="20" y2="7"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="17" x2="14" y2="17"></line></svg></button> <div class="user svelte-hhath1"><span class="user-email mono svelte-hhath1"> </span> <span class="avatar mono svelte-hhath1" aria-hidden="true"> </span></div></header>');function ks(j,o){Ge(o,!1);const u=()=>Pe(Xa,"$theme",l),$=()=>Pe(Pt,"$connection",l),D=()=>Pe(ya,"$latency",l),[l,k]=it(),I=v(),y=v();let h=ze(o,"email",8,""),T=ze(o,"onPalette",8),x=ze(o,"installEvent",8,null),w=ze(o,"onInstall",8,()=>{}),K=ze(o,"drawerLeft",8,!1),b=ze(o,"drawerRight",8,!1),g=ze(o,"onToggleLeft",8,()=>{}),C=ze(o,"onToggleRight",8,()=>{}),ee=ze(o,"newButtonAnchor",12,null);function re(q){return q==="connected"?"live":q==="reconnecting"?"reconnecting":"offline"}se(()=>de(h()),()=>{s(I,h()||"you@local")}),se(()=>e(I),()=>{s(y,e(I).charAt(0).toUpperCase())}),et(),Qe();var G=ws(),F=a(G);let U;var Y=a(F);It(Y,{name:"menu",size:18}),t(F);var _=r(F,4),O=r(a(_),4),le=a(O);It(le,{name:"caret-down",size:9}),t(O),t(_),Lt(_,q=>ee(q),()=>ee());var ne=r(_,2),Z=a(ne),be=a(Z);It(be,{name:"search",size:14}),t(Z),yt(4),t(ne);var oe=r(ne,4),J=r(oe,2),R=a(J);{let q=wt(()=>u()==="light"?"moon":"sun");It(R,{get name(){return e(q)},size:15})}t(J);var L=r(J,2),f=a(L),X=r(a(f),2);{var we=q=>{var Q=ms();i(q,Q)};W(X,q=>{$()==="connected"&&q(we)})}t(f);var $e=r(f,2),ue=a($e,!0);t($e);var De=r($e,2);{var ke=q=>{var Q=gs(),me=a(Q);t(Q),H(()=>E(me,`${D()??""}ms`)),i(q,Q)};W(De,q=>{$()==="connected"&&q(ke)})}t(L);var _e=r(L,2);{var Oe=q=>{var Q=ys();B("click",Q,function(...me){var Me;(Me=w())==null||Me.apply(this,me)}),i(q,Q)};W(_e,q=>{x()&&q(Oe)})}var Ue=r(_e,2);let je;var P=r(Ue,2),te=a(P),z=a(te,!0);t(te);var ie=r(te,2),p=a(ie,!0);t(ie),t(P),t(G),H((q,Q)=>{U=ye(F,1,"iconbtn svelte-hhath1",null,U,{active:K()}),We(J,"title",u()==="light"?"Switch to dark":"Switch to light"),ye(L,1,`connection-pill ${$()??""}`,"svelte-hhath1"),We(L,"title",`WebSocket: ${q??""}`),E(ue,Q),je=ye(Ue,1,"iconbtn svelte-hhath1",null,je,{active:b()}),E(z,e(I)),E(p,e(y))},[()=>($(),n(()=>re($()))),()=>($(),n(()=>re($())))]),B("click",F,function(...q){var Q;(Q=g())==null||Q.apply(this,q)}),B("click",_,()=>Tt.update(q=>!q)),B("click",ne,function(...q){var Q;(Q=T())==null||Q.apply(this,q)}),B("click",oe,()=>ta.set(!0)),B("click",J,function(...q){var Q;(Q=Za)==null||Q.apply(this,q)}),B("click",Ue,function(...q){var Q;(Q=C())==null||Q.apply(this,q)}),i(j,G),Ye(),k()}var xs=d('<div role="status"><!></div>');function As(j){const o=()=>Pe(Pt,"$connection",u),[u,$]=it();var D=rt(),l=Ne(D);{var k=I=>{var y=xs();let h;var T=a(y);{var x=K=>{var b=Nt("Reconnecting…");i(K,b)},w=K=>{var b=Nt("Offline — live updates paused");i(K,b)};W(T,K=>{o()==="reconnecting"?K(x):K(w,-1)})}t(y),H(()=>h=ye(y,1,"banner svelte-l46k7l",null,h,{offline:o()==="offline"})),i(I,y)};W(l,I=>{o()!=="connected"&&I(k)})}i(j,D),$()}const Sa="ocrc.pinnedSessions";function Is(){if(typeof localStorage>"u")return[];try{const j=localStorage.getItem(Sa),o=j?JSON.parse(j):[];return Array.isArray(o)?o.filter(u=>typeof u=="string"):[]}catch{return[]}}function $s(j){if(!(typeof localStorage>"u"))try{localStorage.setItem(Sa,JSON.stringify(j))}catch{}}function Ss(){const{subscribe:j,update:o}=Qa(Is());return{subscribe:j,toggle(u){o($=>{const D=$.includes(u)?$.filter(l=>l!==u):[...$,u];return $s(D),D})}}}const ba=Ss();function Ts(j,o){return o?j.filter(u=>(u.directory??"")===o):j}var qs=d('<input class="rename-input svelte-1h8243g" placeholder="Session title" aria-label="Session title"/>'),Ms=d('<span class="pin-dot svelte-1h8243g" aria-label="已钉住">●</span>'),zs=d('<span class="title svelte-1h8243g"> </span> <!> <span class="actions svelte-1h8243g"><button class="act rename svelte-1h8243g" title="重命名会话" aria-label="重命名会话"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"></path><path d="M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"></path></svg></button> <button aria-label="钉住会话"><svg width="13" height="13" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4h6l-1 6 3 3v2H7v-2l3-3-1-6z"></path><line x1="12" y1="15" x2="12" y2="21"></line></svg></button> <button class="act trash svelte-1h8243g" title="删除会话" aria-label="删除会话"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6M10 11v6M14 11v6M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2"></path></svg></button></span>',1),Cs=d('<span class="sep svelte-1h8243g">·</span><span class="repo svelte-1h8243g"> </span>',1),Ls=d('<span class="add svelte-1h8243g"> </span>'),Es=d('<span class="del svelte-1h8243g"> </span>'),Bs=d('<span class="sep svelte-1h8243g">·</span> <!> <!>',1),Ds=d('<div class="progress svelte-1h8243g" aria-hidden="true"><span class="progress-fill svelte-1h8243g"></span></div>'),Ps=d('<a><div class="line1 svelte-1h8243g"><span><span class="sr-only svelte-1h8243g"> </span></span> <!></div> <div class="meta mono svelte-1h8243g"><span class="id svelte-1h8243g"> </span> <!> <span class="sep svelte-1h8243g">·</span><span> </span> <!></div> <!></a>'),Os=d('<div class="group-header mono svelte-1h8243g"><span class="gh-label svelte-1h8243g"> </span> <span class="gh-line svelte-1h8243g" aria-hidden="true"></span> <span class="gh-count svelte-1h8243g"> </span></div> <!>',1),js=d('<div class="empty mono svelte-1h8243g"> </div>'),Fs=d('<div class="sidebar svelte-1h8243g"><!> <!></div>');function Rs(j,o){Ge(o,!1);const u=()=>Pe(ut,"$sessionList",I),$=()=>Pe(_t,"$feeds",I),D=()=>Pe(Pt,"$connection",I),l=()=>Pe(es,"$activeWorkspace",I),k=()=>Pe(ba,"$pinnedSessions",I),[I,y]=it(),h=v(),T=v(),x=v(),w=v(),K=v(),b=v(),g=v();let C=ze(o,"activeId",8,void 0),ee=ze(o,"onSelect",8,void 0),re=ze(o,"agentId",8,void 0),G=ze(o,"agentName",8,void 0);const F=24*60*60*1e3;function U(P,te){return te==="connected"&&Date.now()-P<F}function Y(P,te){const z=te[P];if(!z||z.order.length===0)return!1;const ie=z.byId[z.order[z.order.length-1]];return(ie==null?void 0:ie.kind)==="thinking"||(ie==null?void 0:ie.kind)==="streaming"||(ie==null?void 0:ie.kind)==="think-stream"}function _(P,te){const z=te[P];if(!z||z.order.length===0)return!1;const ie=z.byId[z.order[z.order.length-1]];return(ie==null?void 0:ie.kind)==="approval"}function O(P,te,z){return Y(P.id,te)?"busy":_(P.id,te)?"wait":U(P.lastActiveAt,z)?"idle":"offline"}function le(P){const te=Date.now()-P,z=Math.floor(te/6e4);if(z<1)return"now";if(z<60)return`${z}m`;const ie=Math.floor(z/60);return ie<24?`${ie}h`:`${Math.floor(ie/24)}d`}function ne(P){return(P.includes("_")?P.slice(P.indexOf("_")+1):P).slice(-8)}function Z(P){if(!P)return"";const te=P.replace(/\/+$/,"").split("/");return te[te.length-1]||""}function be(P,te){ee()&&(P.preventDefault(),ee()(te))}function oe(P,te){P.preventDefault(),P.stopPropagation(),ba.toggle(te)}let J=v(null),R=v(""),L=v(null);function f(P,te){P.preventDefault(),P.stopPropagation(),s(J,te.id),s(R,te.title||"")}function X(){s(J,null),s(R,"")}async function we(P){const te=e(R).trim();if(!te||e(L)){X();return}s(L,P);try{await qe.renameSession(P,te),ut.set(await qe.sessions())}catch(z){alert(`重命名失败:${z.message}`)}finally{s(L,null),s(J,null),s(R,"")}}function $e(P,te){P.key==="Enter"?(P.preventDefault(),we(te)):P.key==="Escape"&&(P.preventDefault(),X())}function ue(P){P.focus(),P.select()}let De=v(null);async function ke(P,te){if(P.preventDefault(),P.stopPropagation(),!e(De)&&confirm("Delete this session? This cannot be undone.")){s(De,te);try{await qe.deleteSession(te),ut.set(await qe.sessions()),C()===te&&Kt("/")}catch(z){alert(`删除失败:${z.message}`)}finally{s(De,null)}}}se(()=>(u(),$(),D()),()=>{s(h,new Map(u().map(P=>[P.id,O(P,$(),D())])))}),se(()=>(de(re()),u()),()=>{s(T,re()?u().filter(P=>P.backendId===re()||!P.backendId&&re()==="opencode"):u())}),se(()=>(e(T),l()),()=>{s(x,Ts(e(T),l()))}),se(()=>e(x),()=>{s(w,[...e(x)].sort((P,te)=>te.lastActiveAt-P.lastActiveAt))}),se(()=>(e(w),k()),()=>{s(K,e(w).filter(P=>k().includes(P.id)))}),se(()=>(e(w),k()),()=>{s(b,e(w).filter(P=>!k().includes(P.id)))}),se(()=>(e(K),e(b)),()=>{s(g,[{key:"pinned",label:"Pinned",rows:e(K)},{key:"recent",label:"Recent",rows:e(b)}])}),et(),Qe();var _e=Fs(),Oe=a(_e);Ke(Oe,1,()=>e(g),P=>P.key,(P,te)=>{var z=rt(),ie=Ne(z);{var p=q=>{var Q=Os(),me=Ne(Q),Me=a(me),Ce=a(Me,!0);t(Me);var Be=r(Me,4),Re=a(Be,!0);t(Be),t(me);var ve=r(me,2);Ke(ve,1,()=>(e(te),n(()=>e(te).rows)),ce=>ce.id,(ce,A)=>{var Le=Ps();let m;var V=a(Le),fe=a(V),pe=a(fe),N=a(pe,!0);t(pe),t(fe);var c=r(fe,2);{var M=xe=>{var Ae=qs();ht(Ae),St(()=>mt(Ae,()=>e(R),Te=>s(R,Te))),na(Ae,Te=>ue==null?void 0:ue(Te)),St(()=>B("click",Ae,Te=>Te.preventDefault())),St(()=>B("keydown",Ae,Te=>$e(Te,e(A).id))),St(()=>B("blur",Ae,()=>we(e(A).id))),H(()=>Ae.disabled=(e(L),e(A),n(()=>e(L)===e(A).id))),i(xe,Ae)},ae=xe=>{var Ae=zs(),Te=Ne(Ae),st=a(Te,!0);t(Te);var Xe=r(Te,2);{var pt=ft=>{var Qt=Ms();i(ft,Qt)},lt=dt(()=>(k(),e(A),n(()=>k().includes(e(A).id))));W(Xe,ft=>{e(lt)&&ft(pt)})}var ct=r(Xe,2),vt=a(ct),bt=r(vt,2);let Ot;var qa=a(bt);t(bt);var la=r(bt,2);t(ct),H((ft,Qt,Ma)=>{E(st,(e(A),n(()=>e(A).title||"Untitled session"))),Ot=ye(bt,1,"act pin svelte-1h8243g",null,Ot,ft),We(bt,"title",Qt),We(qa,"fill",Ma),la.disabled=(e(De),e(A),n(()=>e(De)===e(A).id))},[()=>({on:k().includes(e(A).id)}),()=>(k(),e(A),n(()=>k().includes(e(A).id)?"取消钉住":"钉住")),()=>(k(),e(A),n(()=>k().includes(e(A).id)?"currentColor":"none"))]),B("click",vt,ft=>f(ft,e(A))),B("click",bt,ft=>oe(ft,e(A).id)),B("click",la,ft=>ke(ft,e(A).id)),i(xe,Ae)};W(c,xe=>{e(J),e(A),n(()=>e(J)===e(A).id)?xe(M):xe(ae,-1)})}t(V);var S=r(V,2),he=a(S),ge=a(he,!0);t(he);var Fe=r(he,2);{var Se=xe=>{var Ae=Cs(),Te=r(Ne(Ae)),st=a(Te,!0);t(Te),H(Xe=>E(st,Xe),[()=>(e(A),n(()=>Z(e(A).directory)))]),i(xe,Ae)},Ee=dt(()=>(e(A),n(()=>Z(e(A).directory))));W(Fe,xe=>{e(Ee)&&xe(Se)})}var Ve=r(Fe,3),Je=a(Ve,!0);t(Ve);var Ie=r(Ve,2);{var He=xe=>{var Ae=Bs(),Te=r(Ne(Ae),2);{var st=lt=>{var ct=Ls(),vt=a(ct);t(ct),H(()=>E(vt,`+${e(A),n(()=>e(A).additions)??""}`)),i(lt,ct)};W(Te,lt=>{e(A),n(()=>e(A).additions)&&lt(st)})}var Xe=r(Te,2);{var pt=lt=>{var ct=Es(),vt=a(ct);t(ct),H(()=>E(vt,`−${e(A),n(()=>e(A).deletions)??""}`)),i(lt,ct)};W(Xe,lt=>{e(A),n(()=>e(A).deletions)&&lt(pt)})}i(xe,Ae)};W(Ie,xe=>{e(A),n(()=>e(A).additions||e(A).deletions)&&xe(He)})}t(S);var Ze=r(S,2);{var tt=xe=>{var Ae=Ds();i(xe,Ae)},at=dt(()=>(e(h),e(A),n(()=>e(h).get(e(A).id)==="busy")));W(Ze,xe=>{e(at)&&xe(tt)})}t(Le),H((xe,Ae,Te,st,Xe)=>{We(Le,"href",`/${e(A),n(()=>e(A).id)??""}/`),m=ye(Le,1,"session svelte-1h8243g",null,m,xe),ye(fe,1,`dot ${Ae??""}`,"svelte-1h8243g"),E(N,Te),E(ge,st),E(Je,Xe)},[()=>({active:C()===e(A).id,busy:e(h).get(e(A).id)==="busy"}),()=>(e(h),e(A),n(()=>e(h).get(e(A).id)??"offline")),()=>(e(h),e(A),n(()=>e(h).get(e(A).id)??"offline")),()=>(e(A),n(()=>ne(e(A).id))),()=>(e(A),n(()=>le(e(A).lastActiveAt)))]),B("click",Le,xe=>be(xe,e(A).id)),i(ce,Le)}),H(()=>{E(Ce,(e(te),n(()=>e(te).label))),E(Re,(e(te),n(()=>e(te).rows.length)))}),i(q,Q)};W(ie,q=>{e(te),n(()=>e(te).rows.length)&&q(p)})}i(P,z)});var Ue=r(Oe,2);{var je=P=>{var te=js(),z=a(te);t(te),H(()=>E(z,`no sessions on ${G()??"this agent"??""} yet`)),i(P,te)};W(Ue,P=>{e(x),n(()=>e(x).length===0)&&P(je)})}t(_e),i(j,_e),Ye(),y()}var Ws=d('<span class="host mono svelte-wmno67"> </span>'),Us=d('<button class="collapse svelte-wmno67" title="收起面板" aria-label="收起面板"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 18l-6-6 6-6"></path></svg></button>'),Js=d('<span class="check svelte-wmno67">✓</span>'),Ns=d('<button><span class="row-tile svelte-wmno67"> </span> <span class="row-info svelte-wmno67"><span class="row-name mono svelte-wmno67"> </span> <span class="row-host mono svelte-wmno67"> </span></span> <span><span class="sr-only svelte-wmno67"> </span></span> <!></button>'),Hs=d("<button></button>"),Ks=d('<div class="picker svelte-wmno67" role="dialog" aria-label="Agent 选择"><div class="picker-list svelte-wmno67"></div> <div class="picker-footer svelte-wmno67"><div class="theme-row svelte-wmno67"><span class="theme-label mono svelte-wmno67"> </span> <div class="swatches svelte-wmno67"><!> <button>auto</button></div></div></div></div>'),Qs=d('<button><span class="switch-tile svelte-wmno67"> </span> <span><span class="sr-only svelte-wmno67"> </span></span> <span class="switch-name mono svelte-wmno67"> </span> <span class="switch-count mono svelte-wmno67"> </span></button>'),Gs=d('<div class="agents-label svelte-wmno67">Agents</div> <div class="switcher-row svelte-wmno67"></div>',1),Ys=d('<button class="mobile-search svelte-wmno67"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="11" cy="11" r="7"></circle><path d="M21 21l-4.3-4.3"></path></svg> <span>搜索会话与命令</span></button>'),Vs=d('<div><div class="panel svelte-wmno67"><div class="header svelte-wmno67"><button class="agent-pill svelte-wmno67" aria-haspopup="true"><span class="glyph-tile svelte-wmno67"> </span> <span><span class="sr-only svelte-wmno67"> </span></span> <span class="name mono svelte-wmno67"> </span> <!> <span class="caret svelte-wmno67" aria-hidden="true"><!></span></button> <!> <!></div> <!> <!> <div class="list svelte-wmno67"><!></div> <div class="footer mono svelte-wmno67"><span> </span> <span class="sep svelte-wmno67">·</span> <span> </span></div></div></div>');function Zs(j,o){Ge(o,!1);const u=()=>Pe(Ht,"$backends",k),$=()=>Pe(ut,"$sessionList",k),D=()=>Pe(Pt,"$connection",k),l=()=>Pe(Ca,"$accentOverrides",k),[k,I]=it(),y=v(),h=v(),T=v(),x=v(),w=v(),K=v(),b=v(),g=v();let C=ze(o,"activeId",8,void 0),ee=ze(o,"drawer",8,!1),re=v(!1);function G(m){const V=m.split(/[\s\-_:./]+/).filter(Boolean);return V.length>=2?(V[0][0]+V[1][0]).toUpperCase():m.slice(0,2).toUpperCase()}function F(m){return G((m==null?void 0:m.name)||(m==null?void 0:m.id)||"OC")}function U(m){return m==="online"||m==="connected"?"online":m==="connecting"||m==="reconnecting"?"connecting":m==="offline"?"offline":"online"}async function Y(m){s(re,!1),await Jt(m)}function _(){s(re,!e(re))}async function O(m){await Jt(m)}function le(m){m.key==="Escape"&&s(re,!1)}const ne=24*60*60*1e3;function Z(m,V){return V==="connected"&&Date.now()-m<ne}function be(m,V){return At(V)}se(()=>u(),()=>{var m,V,fe;s(y,((m=u())==null?void 0:m.activeId)??((fe=(V=u())==null?void 0:V.backends[0])==null?void 0:fe.id)??"opencode")}),se(()=>(u(),e(y)),()=>{var m;s(h,(m=u())==null?void 0:m.backends.find(V=>V.id===e(y)))}),se(()=>u(),()=>{var m;s(T,((m=u())==null?void 0:m.backends)??[])}),se(()=>(u(),$()),()=>{var m;s(x,Object.fromEntries((((m=u())==null?void 0:m.backends)??[]).map(V=>[V.id,$().filter(fe=>fe.backendId===V.id||!fe.backendId&&V.id==="opencode").length])))}),se(()=>($(),e(y),D()),()=>{s(w,$().filter(m=>(m.backendId===e(y)||!m.backendId&&e(y)==="opencode")&&Z(m.lastActiveAt,D())).length)}),se(()=>($(),e(y)),()=>{s(K,$().filter(m=>(m.backendId===e(y)||!m.backendId&&e(y)==="opencode")&&(m.additions||m.deletions)).length)}),se(()=>(l(),e(y)),()=>{s(b,be(l(),e(y)))}),se(()=>(e(T),l()),()=>{s(g,Object.fromEntries(e(T).map(m=>[m.id,be(l(),m.id)])))}),et(),Qe();var oe=Vs();B("keydown",$t,le);let J;var R=a(oe),L=a(R),f=a(L),X=a(f),we=a(X,!0);t(X);var $e=r(X,2),ue=a($e),De=a(ue,!0);t(ue),t($e);var ke=r($e,2),_e=a(ke,!0);t(ke);var Oe=r(ke,2);{var Ue=m=>{var V=Ws(),fe=a(V,!0);t(V),H(()=>E(fe,(e(h),n(()=>e(h).host)))),i(m,V)};W(Oe,m=>{e(h),n(()=>{var V;return(V=e(h))==null?void 0:V.host})&&m(Ue)})}var je=r(Oe,2),P=a(je);It(P,{name:"caret-down",size:11}),t(je),t(f);var te=r(f,2);{var z=m=>{var V=Us();B("click",V,()=>zt.set(!1)),i(m,V)};W(te,m=>{ee()||m(z)})}var ie=r(te,2);{var p=m=>{var V=Ks(),fe=a(V);Ke(fe,5,()=>e(T),Fe=>Fe.id,(Fe,Se)=>{const Ee=wt(()=>(e(g),e(Se),de(At),n(()=>e(g)[e(Se).id]??At(e(Se).id)))),Ve=wt(()=>(e(Se),e(y),n(()=>e(Se).id===e(y))));var Je=Ns();let Ie;var He=a(Je),Ze=a(He,!0);t(He);var tt=r(He,2),at=a(tt),xe=a(at,!0);t(at);var Ae=r(at,2),Te=a(Ae);t(Ae),t(tt);var st=r(tt,2),Xe=a(st),pt=a(Xe,!0);t(Xe),t(st);var lt=r(st,2);{var ct=vt=>{var bt=Js();i(vt,bt)};W(lt,vt=>{e(Ve)&&vt(ct)})}t(Je),H((vt,bt,Ot)=>{Ie=ye(Je,1,"agent-row svelte-wmno67",null,Ie,{selected:e(Ve)}),ot(He,`background:${de(kt),de(e(Ee)),n(()=>kt[e(Ee)])??""}; color:${de(nt),de(e(Ee)),n(()=>nt[e(Ee)])??""}; border-color:${de(xt),de(e(Ee)),n(()=>xt[e(Ee)])??""}`),E(Ze,vt),E(xe,(e(Se),n(()=>e(Se).name??e(Se).id))),E(Te,`${e(Se),n(()=>e(Se).host??"local")??""} · ${e(x),e(Se),n(()=>e(x)[e(Se).id]??0)??""} ses`),ye(st,1,`status-dot ${bt??""}`,"svelte-wmno67"),ot(st,`--dot:${de(nt),de(e(Ee)),n(()=>nt[e(Ee)])??""}`),E(pt,Ot)},[()=>(e(Se),n(()=>F(e(Se)))),()=>(e(Se),n(()=>U(e(Se).status))),()=>(e(Se),n(()=>U(e(Se).status)))]),B("click",Je,()=>Y(e(Se).id)),i(Fe,Je)}),t(fe);var pe=r(fe,2),N=a(pe),c=a(N),M=a(c);t(c);var ae=r(c,2),S=a(ae);Ke(S,1,()=>Rt,wa,(Fe,Se)=>{var Ee=Hs();let Ve;H(()=>{Ve=ye(Ee,1,"swatch svelte-wmno67",null,Ve,{active:e(b)===e(Se)}),We(Ee,"aria-label",`设置 ${e(Se)??""} 主题`),ot(Ee,`background:${de(nt),e(Se),n(()=>nt[e(Se)])??""}`)}),B("click",Ee,()=>Zt(e(y),e(Se))),i(Fe,Ee)});var he=r(S,2);let ge;t(ae),t(N),t(pe),t(V),H(Fe=>{E(M,`Theme · ${e(h),n(()=>{var Se,Ee;return((Se=e(h))==null?void 0:Se.name)??((Ee=e(h))==null?void 0:Ee.id)??"Agent"})??""}`),ge=ye(he,1,"auto svelte-wmno67",null,ge,Fe)},[()=>({active:e(b)===La(e(y))})]),B("click",he,()=>Zt(e(y),null)),i(m,V)};W(ie,m=>{e(re)&&m(p)})}t(L);var q=r(L,2);{var Q=m=>{var V=Gs(),fe=r(Ne(V),2);Ke(fe,5,()=>e(T),pe=>pe.id,(pe,N)=>{const c=wt(()=>(e(g),e(N),de(At),n(()=>e(g)[e(N).id]??At(e(N).id))));var M=Qs();let ae;var S=a(M),he=a(S,!0);t(S);var ge=r(S,2),Fe=a(ge),Se=a(Fe,!0);t(Fe),t(ge);var Ee=r(ge,2),Ve=a(Ee,!0);t(Ee);var Je=r(Ee,2),Ie=a(Je,!0);t(Je),t(M),H((He,Ze,tt)=>{ae=ye(M,1,"switch-pill svelte-wmno67",null,ae,{active:e(N).id===e(y)}),ot(S,`background:${de(kt),de(e(c)),n(()=>kt[e(c)])??""}; color:${de(nt),de(e(c)),n(()=>nt[e(c)])??""}; border-color:${de(xt),de(e(c)),n(()=>xt[e(c)])??""}`),E(he,He),ye(ge,1,`status-dot ${Ze??""}`,"svelte-wmno67"),ot(ge,`--dot:${de(nt),de(e(c)),n(()=>nt[e(c)])??""}`),E(Se,tt),E(Ve,(e(N),n(()=>e(N).name??e(N).id))),E(Ie,(e(x),e(N),n(()=>e(x)[e(N).id]??0)))},[()=>(e(N),n(()=>F(e(N)))),()=>(e(N),n(()=>U(e(N).status))),()=>(e(N),n(()=>U(e(N).status)))]),B("click",M,()=>O(e(N).id)),i(pe,M)}),t(fe),i(m,V)};W(q,m=>{de(ee()),e(T),n(()=>ee()&&e(T).length>1)&&m(Q)})}var me=r(q,2);{var Me=m=>{var V=Ys();B("click",V,()=>qt.set(!0)),i(m,V)};W(me,m=>{ee()&&m(Me)})}var Ce=r(me,2),Be=a(Ce);{let m=wt(()=>(e(h),n(()=>{var V,fe;return((V=e(h))==null?void 0:V.name)??((fe=e(h))==null?void 0:fe.id)})));Rs(Be,{get activeId(){return C()},get agentId(){return e(y)},get agentName(){return e(m)}})}t(Ce);var Re=r(Ce,2),ve=a(Re),ce=a(ve);t(ve);var A=r(ve,4),Le=a(A);t(A),t(Re),t(R),t(oe),H((m,V,fe)=>{J=ye(oe,1,"agent-panel svelte-wmno67",null,J,{drawer:ee()}),We(f,"aria-expanded",e(re)),ot(X,`background:${de(kt),e(b),n(()=>kt[e(b)])??""}; color:${de(nt),e(b),n(()=>nt[e(b)])??""}; border-color:${de(xt),e(b),n(()=>xt[e(b)])??""}`),E(we,m),ye($e,1,`status-dot ${V??""}`,"svelte-wmno67"),ot($e,`--dot:${de(nt),e(b),n(()=>nt[e(b)])??""}`),E(De,fe),E(_e,(e(h),n(()=>{var pe,N;return((pe=e(h))==null?void 0:pe.name)??((N=e(h))==null?void 0:N.id)??"Agent"}))),E(ce,`${e(w)??""} 活跃`),E(Le,`${e(K)??""} 已推送`)},[()=>(e(h),n(()=>F(e(h)))),()=>(e(h),n(()=>{var m;return U((m=e(h))==null?void 0:m.status)})),()=>(e(h),n(()=>{var m;return U((m=e(h))==null?void 0:m.status)}))]),B("click",f,_),i(j,oe),Ye(),I()}var Xs=d('<span class="meta svelte-1h1y2gb"> </span>'),en=d('<div class="bar svelte-1h1y2gb"><div class="fill svelte-1h1y2gb"></div></div>'),tn=d('<button type="button"><span class="box svelte-1h1y2gb"><span class="dot svelte-1h1y2gb"></span> <span class="check svelte-1h1y2gb">✓</span></span> <span class="tx svelte-1h1y2gb"> </span></button>'),an=d('<div class="section-label svelte-1h1y2gb">暂无任务</div>'),sn=d('<div class="task svelte-1h1y2gb"><div class="hd svelte-1h1y2gb"><!></div> <!> <div class="items svelte-1h1y2gb"><!> <!></div></div>');function nn(j,o){Ge(o,!1);const u=v(),$=v(),D=v();let l=ze(o,"sessionId",8,void 0),k=ze(o,"tick",8,0),I=v({total:0,done:0,items:[]}),y=v(new Set),h;async function T(Y){if(!Y){s(I,{total:0,done:0,items:[]}),s(y,new Set);return}Y!==h&&(h=Y,s(y,new Set));try{const _=await qe.todo(Y);if(Y!==l())return;s(I,ka(_))}catch{}}function x(Y){e(y).has(Y)?e(y).delete(Y):e(y).add(Y),s(y,e(y))}se(()=>(de(l()),de(k())),()=>{T(l()),k()}),se(()=>(e(I),e(y)),()=>{s(u,e(I).items.map((Y,_)=>({...Y,status:e(y).has(_)?Y.status==="done"?"pending":"done":Y.status})))}),se(()=>e(u),()=>{s($,e(u).filter(Y=>Y.status==="done").length)}),se(()=>(e(I),e($)),()=>{s(D,e(I).total?Math.round(e($)/e(I).total*100):0)}),et(),Qe();var w=sn(),K=a(w),b=a(K);{var g=Y=>{var _=Xs(),O=a(_);t(_),H(()=>E(O,`${e($)??""}/${e(I),n(()=>e(I).total)??""}`)),i(Y,_)};W(b,Y=>{e(I),n(()=>e(I).total)&&Y(g)})}t(K);var C=r(K,2);{var ee=Y=>{var _=en(),O=a(_);t(_),H(()=>ot(O,`transform:scaleX(${e(D)/100})`)),i(Y,_)};W(C,Y=>{e(I),n(()=>e(I).total)&&Y(ee)})}var re=r(C,2),G=a(re);Ke(G,3,()=>e(u),(Y,_)=>Y.text+"-"+_,(Y,_,O)=>{var le=tn(),ne=r(a(le),2),Z=a(ne,!0);t(ne),t(le),H(()=>{ye(le,1,`row ${e(_),n(()=>e(_).status)??""}`,"svelte-1h1y2gb"),E(Z,(e(_),n(()=>e(_).text)))}),B("click",le,()=>x(e(O))),i(Y,le)});var F=r(G,2);{var U=Y=>{var _=an();i(Y,_)};W(F,Y=>{e(I),n(()=>e(I).total===0)&&Y(U)})}t(re),t(w),i(j,w),Ye()}var rn=d('<div><span class="dot svelte-ehf8ic" aria-hidden="true"></span><span> </span><span class="sr-only svelte-ehf8ic"> </span></div>'),ln=d('<div class="label">未配置</div>'),on=d('<div class="mcp svelte-ehf8ic"><div class="list svelte-ehf8ic"><!> <!></div></div>');function cn(j,o){Ge(o,!1);let u=ze(o,"tick",8,0),$=v([]);async function D(){try{s($,await qe.mcp())}catch{}}se(()=>de(u()),()=>{D(),u()}),et(),Qe();var l=on(),k=a(l),I=a(k);Ke(I,1,()=>e($),wa,(T,x)=>{var w=rn();let K;var b=r(a(w)),g=a(b,!0);t(b);var C=r(b),ee=a(C,!0);t(C),t(w),H(()=>{K=ye(w,1,"row svelte-ehf8ic",null,K,{off:e(x).status==="disabled"}),E(g,(e(x),n(()=>e(x).name))),E(ee,(e(x),n(()=>e(x).status)))}),i(T,w)});var y=r(I,2);{var h=T=>{var x=ln();i(T,x)};W(y,T=>{e($),n(()=>e($).length===0)&&T(h)})}t(k),t(l),i(j,l),Ye()}var vn=d('<div><button><span class="dot svelte-pijcyq" aria-hidden="true"></span></button> <div class="txt svelte-pijcyq"><div class="prompt svelte-pijcyq"> </div> <div class="spec mono svelte-pijcyq"> </div></div> <button> </button></div>'),dn=d('<div class="label svelte-pijcyq">暂无</div>'),un=d('<div class="err svelte-pijcyq"> </div>'),pn=d('<div class="form svelte-pijcyq"><textarea class="prompt-in svelte-pijcyq" rows="2" placeholder="让 agent 做什么?"></textarea> <div class="kind svelte-pijcyq"><label><input type="radio" class="svelte-pijcyq"/> 每 <input class="num svelte-pijcyq" type="number" min="1" max="10080"/> 分钟</label> <label><input type="radio" class="svelte-pijcyq"/> 每天 <input class="time svelte-pijcyq" type="time"/></label></div> <!> <button class="go svelte-pijcyq">创建</button></div>'),fn=d('<div class="schedules svelte-pijcyq"><div class="hd svelte-pijcyq"><button class="add svelte-pijcyq"> </button></div> <div class="list svelte-pijcyq"><!> <!></div> <!></div>');function hn(j,o){Ge(o,!1);const u=[];let $=ze(o,"tick",8,0),D=v([]),l=v(!1),k=v(""),I=v("every"),y=v(30),h=v("09:00"),T=v(""),x=v(),w;async function K(){try{s(D,(await qe.schedules()).schedules??[])}catch{}}function b(oe){return oe.kind==="every"?oe.minutes>=60&&oe.minutes%60===0?`every ${oe.minutes/60}h`:`every ${oe.minutes}m`:`daily ${oe.time}`}function g(oe){return oe.name||oe.prompt}async function C(){if(!e(k).trim())return;s(T,"");const oe=e(I)==="every"?{kind:"every",minutes:Math.max(1,Math.round(e(y)))}:{kind:"daily",time:e(h)};try{const J=await qe.addSchedule({prompt:e(k).trim(),spec:oe});if(J.error){s(T,J.error);return}s(k,""),s(l,!1),await K()}catch(J){s(T,J.message)}}async function ee(oe){s(D,e(D).map(J=>J.id===oe.id?{...J,enabled:!J.enabled}:J));try{await qe.setScheduleEnabled(oe.id,!oe.enabled),await K()}catch{await K()}}async function re(oe){if(e(x)!==oe){s(x,oe),clearTimeout(w),w=setTimeout(()=>s(x,void 0),3e3);return}clearTimeout(w),s(x,void 0);try{await qe.deleteSchedule(oe),await K()}catch{}}se(()=>de($()),()=>{K(),$()}),et(),Qe();var G=fn(),F=a(G),U=a(F),Y=a(U,!0);t(U),t(F);var _=r(F,2),O=a(_);Ke(O,1,()=>e(D),oe=>oe.id,(oe,J)=>{var R=vn();let L;var f=a(R);let X;var we=r(f,2),$e=a(we),ue=a($e,!0);t($e);var De=r($e,2),ke=a(De,!0);t(De),t(we);var _e=r(we,2);let Oe;var Ue=a(_e,!0);t(_e),t(R),H((je,P,te,z)=>{L=ye(R,1,"row svelte-pijcyq",null,L,{off:!e(J).enabled}),X=ye(f,1,"switch svelte-pijcyq",null,X,{on:e(J).enabled}),We(f,"aria-pressed",(e(J),n(()=>e(J).enabled))),We(f,"aria-label",je),E(ue,P),E(ke,te),Oe=ye(_e,1,"del svelte-pijcyq",null,Oe,{arm:e(x)===e(J).id}),We(_e,"aria-label",`删除 ${z??""}`),E(Ue,(e(x),e(J),n(()=>e(x)===e(J).id?"确认?":"✕")))},[()=>(e(J),n(()=>`${e(J).enabled?"停用":"启用"} ${g(e(J))}`)),()=>(e(J),n(()=>g(e(J)))),()=>(e(J),n(()=>b(e(J).spec))),()=>(e(J),n(()=>g(e(J))))]),B("click",f,()=>ee(e(J))),B("click",_e,()=>re(e(J).id)),i(oe,R)});var le=r(O,2);{var ne=oe=>{var J=dn();i(oe,J)};W(le,oe=>{e(D),e(l),n(()=>e(D).length===0&&!e(l))&&oe(ne)})}t(_);var Z=r(_,2);{var be=oe=>{var J=pn(),R=a(J);Ga(R);var L=r(R,2),f=a(L);let X;var we=a(f);ht(we),we.value=we.__value="every";var $e=r(we,2);ht($e),yt(),t(f);var ue=r(f,2);let De;var ke=a(ue);ht(ke),ke.value=ke.__value="daily";var _e=r(ke,2);ht(_e),t(ue),t(L);var Oe=r(L,2);{var Ue=P=>{var te=un(),z=a(te,!0);t(te),H(()=>E(z,e(T))),i(P,te)};W(Oe,P=>{e(T)&&P(Ue)})}var je=r(Oe,2);t(J),H(P=>{X=ye(f,1,"svelte-pijcyq",null,X,{sel:e(I)==="every"}),$e.disabled=e(I)!=="every",De=ye(ue,1,"svelte-pijcyq",null,De,{sel:e(I)==="daily"}),_e.disabled=e(I)!=="daily",je.disabled=P},[()=>(e(k),n(()=>!e(k).trim()))]),mt(R,()=>e(k),P=>s(k,P)),ca(u,[],we,()=>e(I),P=>s(I,P)),mt($e,()=>e(y),P=>s(y,P)),ca(u,[],ke,()=>e(I),P=>s(I,P)),mt(_e,()=>e(h),P=>s(h,P)),B("click",je,C),i(oe,J)};W(Z,oe=>{e(l)&&oe(be)})}t(G),H(()=>{We(U,"aria-label",e(l)?"取消新建计划":"新建计划"),E(Y,e(l)?"×":"+")}),B("click",U,()=>s(l,!e(l))),i(j,G),Ye()}var bn=d('<span class="chip svelte-taxat6"> </span>'),_n=d('<button class="more svelte-taxat6"> </button>'),mn=d("<div></div> <!>",1),gn=d('<div class="label svelte-taxat6">none</div>'),yn=d('<div class="skills svelte-taxat6"><!></div>');function wn(j,o){Ge(o,!1);const u=v();let $=ze(o,"tick",8,0),D=v([]),l=v(!1);async function k(){try{s(D,(await qe.skills()).skills??[])}catch{}}se(()=>(e(l),e(D)),()=>{s(u,e(l)?e(D):e(D).slice(0,18))}),se(()=>de($()),()=>{k(),$()}),et(),Qe();var I=yn(),y=a(I);{var h=x=>{var w=mn(),K=Ne(w);let b;Ke(K,5,()=>e(u),ee=>ee.name,(ee,re)=>{var G=bn(),F=a(G,!0);t(G),H(()=>{We(G,"title",(e(re),n(()=>e(re).description??e(re).name))),E(F,(e(re),n(()=>e(re).name)))}),i(ee,G)}),t(K);var g=r(K,2);{var C=ee=>{var re=_n(),G=a(re,!0);t(re),H(()=>E(G,(e(l),e(D),n(()=>e(l)?"收起":`展开全部 ${e(D).length}`)))),B("click",re,()=>s(l,!e(l))),i(ee,re)};W(g,ee=>{e(D),n(()=>e(D).length>18)&&ee(C)})}H(()=>b=ye(K,1,"chips svelte-taxat6",null,b,{clipped:!e(l)&&e(D).length>18})),i(x,w)},T=x=>{var w=gn();i(x,w)};W(y,x=>{e(D),n(()=>e(D).length>0)?x(h):x(T,-1)})}t(I),i(j,I),Ye()}var kn=d('<button class="up svelte-tp0rgj" aria-label="上级目录"> </button>'),xn=d('<span class="mono"> </span>'),An=d('<button class="row svelte-tp0rgj"><span class="ico svelte-tp0rgj"> </span> <span class="name svelte-tp0rgj"> </span></button>'),In=d('<div class="label svelte-tp0rgj">empty</div>'),$n=d('<div class="label svelte-tp0rgj">…</div>'),Sn=d('<div class="files svelte-tp0rgj"><div class="crumb mono svelte-tp0rgj"><!></div> <div class="list svelte-tp0rgj"><!> <!> <!></div></div>');function Tn(j,o){Ge(o,!1);const u=()=>Pe(ut,"$sessionList",$),[$,D]=it(),l=v();let k=ze(o,"sessionId",8,void 0),I=ze(o,"tick",8,0),y=v([]),h=v("."),T=v(!1);async function x(){if(e(l)){s(T,!0);try{s(y,(await qe.browse(e(l),e(h))).files??[])}catch{s(y,[])}finally{s(T,!1)}}}function w(){const le=e(h).replace(/(^|\/)[^/]+\/?$/,"")||".";s(h,le),x()}function K(le){if(le.type==="directory"){s(h,le.path),x();return}xa({id:`file:${le.path}`,kind:"file",title:le.name,path:le.path,directory:e(l)})}se(()=>(u(),de(k())),()=>{var le;s(l,((le=u().find(ne=>ne.id===k()))==null?void 0:le.directory)??"")}),se(()=>(e(l),e(h),de(I())),()=>{e(l)&&(e(l),e(h),I(),x())}),et(),Qe();var b=Sn(),g=a(b),C=a(g);{var ee=le=>{var ne=kn(),Z=a(ne);t(ne),H(()=>E(Z,`↰ ${e(h)??""}`)),B("click",ne,w),i(le,ne)},re=le=>{var ne=xn(),Z=a(ne,!0);t(ne),H(be=>E(Z,be),[()=>(e(l),n(()=>e(l).split("/").pop()||"/"))]),i(le,ne)};W(C,le=>{e(h)!=="."?le(ee):le(re,-1)})}t(g);var G=r(g,2),F=a(G);Ke(F,1,()=>e(y),le=>le.path,(le,ne)=>{var Z=An(),be=a(Z),oe=a(be,!0);t(be);var J=r(be,2),R=a(J,!0);t(J),t(Z),H(()=>{E(oe,(e(ne),n(()=>e(ne).type==="directory"?"📁":"📄"))),E(R,(e(ne),n(()=>e(ne).name)))}),B("click",Z,()=>K(e(ne))),i(le,Z)});var U=r(F,2);{var Y=le=>{var ne=In();i(le,ne)};W(U,le=>{e(T),e(y),n(()=>!e(T)&&e(y).length===0)&&le(Y)})}var _=r(U,2);{var O=le=>{var ne=$n();i(le,ne)};W(_,le=>{e(T)&&le(O)})}t(G),t(b),i(j,b),Ye(),D()}var qn=d('<div class="row svelte-148ev8e"><span class="ico svelte-148ev8e" aria-hidden="true">🌿</span> <span class="name svelte-148ev8e"> </span> <button> </button></div>'),Mn=d('<div class="rows svelte-148ev8e"></div>'),zn=d('<div class="label svelte-148ev8e">none</div>'),Cn=d('<div class="err svelte-148ev8e"> </div>'),Ln=d('<div class="form svelte-148ev8e"><input class="name-in mono svelte-148ev8e" placeholder="worktree 名称"/> <!> <button class="go svelte-148ev8e">创建</button></div>'),En=d('<div class="wt svelte-148ev8e"><div class="hd svelte-148ev8e"><button class="add svelte-148ev8e"> </button></div> <div class="list svelte-148ev8e"><!></div> <!></div>');function Bn(j,o){Ge(o,!1);const u=()=>Pe(ut,"$sessionList",$),[$,D]=it(),l=v();let k=ze(o,"sessionId",8,void 0),I=ze(o,"tick",8,0),y=v([]),h=v(!1),T=v(""),x=v(""),w=v(),K;async function b(){if(e(l))try{s(y,(await qe.worktrees(e(l))).worktrees??[])}catch{}}async function g(){if(e(T).trim()){s(x,"");try{const Z=await qe.createWorktree(e(l),e(T).trim());if(Z.error){s(x,Z.error);return}s(T,""),s(h,!1),await b()}catch(Z){s(x,Z.message)}}}async function C(Z){if(e(w)!==Z){s(w,Z),clearTimeout(K),K=setTimeout(()=>s(w,void 0),3e3);return}clearTimeout(K),s(w,void 0);try{await qe.removeWorktree(e(l),Z),await b()}catch{}}se(()=>(u(),de(k())),()=>{var Z;s(l,((Z=u().find(be=>be.id===k()))==null?void 0:Z.directory)??"")}),se(()=>(de(I()),e(l)),()=>{b(),I(),e(l)}),et(),Qe();var ee=En(),re=a(ee),G=a(re),F=a(G,!0);t(G),t(re);var U=r(re,2),Y=a(U);{var _=Z=>{var be=Mn();Ke(be,5,()=>e(y),oe=>oe.name,(oe,J)=>{var R=qn(),L=r(a(R),2),f=a(L,!0);t(L);var X=r(L,2);let we;var $e=a(X,!0);t(X),t(R),H(()=>{E(f,(e(J),n(()=>e(J).name))),we=ye(X,1,"del svelte-148ev8e",null,we,{arm:e(w)===e(J).name}),We(X,"aria-label",`删除 ${e(J),n(()=>e(J).name)??""}`),E($e,(e(w),e(J),n(()=>e(w)===e(J).name?"确认?":"✕")))}),B("click",X,()=>C(e(J).name)),i(oe,R)}),t(be),i(Z,be)},O=Z=>{var be=zn();i(Z,be)};W(Y,Z=>{e(y),n(()=>e(y).length>0)?Z(_):e(h)||Z(O,1)})}t(U);var le=r(U,2);{var ne=Z=>{var be=Ln(),oe=a(be);ht(oe);var J=r(oe,2);{var R=f=>{var X=Cn(),we=a(X,!0);t(X),H(()=>E(we,e(x))),i(f,X)};W(J,f=>{e(x)&&f(R)})}var L=r(J,2);t(be),H(f=>L.disabled=f,[()=>(e(T),n(()=>!e(T).trim()))]),mt(oe,()=>e(T),f=>s(T,f)),B("click",L,g),i(Z,be)};W(le,Z=>{e(h)&&Z(ne)})}t(ee),H(()=>{We(G,"aria-label",e(h)?"取消新建":"新建 worktree"),E(F,e(h)?"×":"+")}),B("click",G,()=>s(h,!e(h))),i(j,ee),Ye(),D()}var Dn=d('<span class="count mono svelte-1s66f6s"> </span>'),Pn=d('<span class="live-label svelte-1s66f6s">运行中</span>'),On=d('<button class="row svelte-1s66f6s"><span aria-hidden="true"></span> <span class="meta svelte-1s66f6s"><span class="title svelte-1s66f6s"> </span> <!></span> <!></button>'),jn=d('<div class="empty svelte-1s66f6s">该会话暂无子代理</div>'),Fn=d('<div class="empty svelte-1s66f6s">…</div>'),Rn=d('<div class="subs svelte-1s66f6s"><!> <!> <!></div>');function Wn(j,o){Ge(o,!1);let u=ze(o,"sessionId",8,void 0),$=ze(o,"tick",8,0),D=v([]),l=v(!1);async function k(){if(!u()){s(D,[]);return}s(l,!0);try{const b=await qe.subagents(u());s(D,[...b.subagents??[]].sort((g,C)=>Number(C.busy??!1)-Number(g.busy??!1)))}catch{s(D,[])}finally{s(l,!1)}}function I(b){try{sessionStorage.setItem(`ocrc.subparent.${b.id}`,u()??"")}catch{}xa({id:`sub:${b.id}`,kind:"subagent",title:b.title||"…"+b.id.slice(-6),childId:b.id})}se(()=>(de(u()),de($())),()=>{u()&&(u(),$(),k())}),et(),Qe();var y=Rn(),h=a(y);Ke(h,1,()=>e(D),b=>b.id,(b,g)=>{var C=On(),ee=a(C);let re;var G=r(ee,2),F=a(G),U=a(F,!0);t(F);var Y=r(F,2);{var _=ne=>{var Z=Dn(),be=a(Z);t(Z),H(()=>E(be,`${e(g),n(()=>e(g).done)??""}/${e(g),n(()=>e(g).total)??""}`)),i(ne,Z)};W(Y,ne=>{e(g),n(()=>e(g).total>0)&&ne(_)})}t(G);var O=r(G,2);{var le=ne=>{var Z=Pn();i(ne,Z)};W(O,ne=>{e(g),n(()=>e(g).busy)&&ne(le)})}t(C),H(ne=>{re=ye(ee,1,"dot svelte-1s66f6s",null,re,{live:e(g).busy,done:!e(g).busy&&e(g).total>0&&e(g).done>=e(g).total}),E(U,ne)},[()=>(e(g),n(()=>e(g).title||"…"+e(g).id.slice(-6)))]),B("click",C,()=>I(e(g))),i(b,C)});var T=r(h,2);{var x=b=>{var g=jn();i(b,g)};W(T,b=>{e(l),e(D),n(()=>!e(l)&&e(D).length===0)&&b(x)})}var w=r(T,2);{var K=b=>{var g=Fn();i(b,g)};W(w,b=>{e(l)&&b(K)})}t(y),i(j,y),Ye()}var Un=d('<div class="empty svelte-6fqea2">(暂无输出——子代理开跑后这里实时滚动)</div>'),Jn=d('<div class="t-wrap svelte-6fqea2"><div class="t-hd svelte-6fqea2"><span class="t-hint mono svelte-6fqea2"> </span> <button class="open svelte-6fqea2">在中栏打开此会话 →</button></div> <div class="t-body svelte-6fqea2"></div></div>');function Nn(j,o){Ge(o,!1);const u=()=>Pe(_t,"$feeds",$),[$,D]=it(),l=v();let k=ze(o,"childId",8),I=ze(o,"tick",8,0),y=v(),h=!0,T=v();async function x(F){const U=gt(_t)[F];if(!(U&&U.order.length>0))try{const Y=await qe.history(F,{limit:60});Wt(F,Y.cards??[],Y.lastSeq??0)}catch{}}Dt(()=>{k()&&Vt({type:"unsubscribe",sessionId:k()})});function w(){h&&e(y)&&requestAnimationFrame(()=>{e(y)&&h&&ea(y,e(y).scrollTop=e(y).scrollHeight)})}function K(){e(y)&&(h=e(y).scrollHeight-e(y).scrollTop-e(y).clientHeight<60)}se(()=>(de(k()),e(T),Vt),()=>{k()&&k()!==e(T)&&(s(T,k()),(async()=>{var U;await x(k());const F=((U=gt(_t)[k()])==null?void 0:U.lastSeq)??0;Vt({type:"subscribe",sessionId:k(),sinceSeq:F})})())}),se(()=>(de(k()),de(I()),_t),()=>{var F,U;k()&&I()&&((U=(F=gt(_t)[k()])==null?void 0:F.order)==null?void 0:U.length)===0&&x(k())}),se(()=>(de(k()),u()),()=>{s(l,k()?Ea(u()[k()]??null):[])}),se(()=>e(l),()=>{e(l)&&w()}),et(),Qe();var b=Jn(),g=a(b),C=a(g),ee=a(C);t(C);var re=r(C,2);t(g);var G=r(g,2);Ke(G,7,()=>e(l),(F,U)=>F.seq??F.id??U,(F,U)=>{ts(F,{get card(){return e(U)}})},F=>{var U=Un();i(F,U)}),t(G),Lt(G,F=>s(y,F),()=>e(y)),t(b),H(()=>E(ee,`实况 · ${e(l),n(()=>e(l).length)??""} 条`)),B("click",re,()=>Kt("/"+k())),B("scroll",G,K),i(j,b),Ye(),D()}var Hn=d('<div class="trunc label svelte-va1nfd"> </div>'),Kn=d('<div class="hint label svelte-va1nfd">…</div>'),Qn=d('<div class="hint label svelte-va1nfd">读取失败</div>'),Gn=d('<div class="hint label svelte-va1nfd">(二进制文件,无法预览)</div>'),Yn=d('<div class="fv svelte-va1nfd"><!> <div class="body svelte-va1nfd"><!></div></div>');function Vn(j,o){Ge(o,!1);const u=v(),$=v(),D=v();let l=ze(o,"directory",8),k=ze(o,"path",8);const I=2e5;let y=v(""),h=v(!1),T=v(!1),x=v(!1),w=v(!1);async function K(){s(w,!0),s(x,!1);try{const _=await qe.fileContent(l(),k());if(_.type!=="text"){s(T,!0),s(y,"");return}s(T,!1),s(h,_.content.length>I),s(y,e(h)?_.content.slice(0,I):_.content)}catch{s(x,!0)}finally{s(w,!1)}}se(()=>(de(l()),de(k())),()=>{l()&&k()&&(l(),k(),K())}),se(()=>de(k()),()=>{s(u,/\.(md|markdown)$/i.test(k()))}),se(()=>de(k()),()=>{s($,k().split(".").pop()??"")}),se(()=>(e(T),e(x),e(u),e(y),e($)),()=>{s(D,e(T)||e(x)?"":e(u)?e(y):"```"+e($)+`
2
- `+e(y)+"\n```")}),et(),Qe();var b=Yn(),g=a(b);{var C=_=>{var O=Hn(),le=a(O);t(O),H(ne=>E(le,`文件超过 ${ne??""} 字符,已截断显示`),[()=>n(()=>I.toLocaleString())]),i(_,O)};W(g,_=>{e(h)&&_(C)})}var ee=r(g,2),re=a(ee);{var G=_=>{var O=Kn();i(_,O)},F=_=>{var O=Qn();i(_,O)},U=_=>{var O=Gn();i(_,O)},Y=_=>{{let O=wt(()=>e(u)?e(y):e(D));as(_,{get src(){return e(O)}})}};W(re,_=>{e(w)?_(G):e(x)?_(F,1):e(T)?_(U,2):_(Y,-1)})}t(ee),t(b),i(j,b),Ye()}var Zn=d('<div class="cmd mono svelte-1bw07gw"> </div>'),Xn=d('<div class="hint mono svelte-1bw07gw">…</div>'),er=d('<div class="hint mono svelte-1bw07gw">(找不到该工具调用的原始数据)</div>'),tr=d('<pre class="body mono err svelte-1bw07gw"> </pre>'),ar=d('<pre class="body mono svelte-1bw07gw"> </pre>'),sr=d('<div class="hint mono svelte-1bw07gw"> </div>'),nr=d('<div class="out svelte-1bw07gw"><div class="hd svelte-1bw07gw"><span class="tool mono svelte-1bw07gw"> </span> <span> </span></div> <!> <!></div>');function rr(j,o){Ge(o,!1);const u=v();let $=ze(o,"sessionId",8),D=ze(o,"messageId",8),l=ze(o,"partId",8),k=ze(o,"tick",8,0),I=v(""),y=v(""),h=v(""),T=v(""),x=v(""),w=v(!1),K=v(!0),b,g=!1;function C(L){return L.find(f=>(f==null?void 0:f.id)===l()&&(f==null?void 0:f.type)==="tool")??L.find(f=>{var X;return(f==null?void 0:f.type)==="tool"&&((X=f==null?void 0:f.state)==null?void 0:X.callID)!=null&&(f==null?void 0:f.id)===l()})}async function ee(){try{const L=await qe.messageRaw($(),D()),f=C((L==null?void 0:L.parts)??[]);if(!f){s(w,!0);return}s(w,!1),s(I,String(f.tool??""));const X=f.state??{};s(y,String(X.status??"pending"));const we=X.input??{};s(h,String(we.command??we.cmd??we.filePath??we.description??"")),s(T,typeof X.output=="string"?X.output:""),s(x,typeof X.error=="string"?X.error:"")}catch{s(w,!0)}finally{s(K,!1),!g&&(e(y)==="running"||e(y)==="pending")&&(clearTimeout(b),b=setTimeout(()=>{g||ee()},2e3))}}Dt(()=>{g=!0,clearTimeout(b)}),se(()=>(de($()),de(D())),()=>{$()&&D()&&($(),D(),ee())}),se(()=>(e(K),de(k())),()=>{!e(K)&&k()&&(k(),ee())}),se(()=>e(y),()=>{s(u,e(y)==="completed"||e(y)==="done"?"完成":e(y)==="error"?"出错":e(y)==="running"?"运行中":e(y)||"…")}),et(),Qe();var re=nr(),G=a(re),F=a(G),U=a(F,!0);t(F);var Y=r(F,2),_=a(Y,!0);t(Y),t(G);var O=r(G,2);{var le=L=>{var f=Zn(),X=a(f,!0);t(f),H(()=>E(X,e(h))),i(L,f)};W(O,L=>{e(h)&&L(le)})}var ne=r(O,2);{var Z=L=>{var f=Xn();i(L,f)},be=L=>{var f=er();i(L,f)},oe=L=>{var f=tr(),X=a(f,!0);t(f),H(()=>E(X,e(x))),i(L,f)},J=L=>{var f=ar(),X=a(f,!0);t(f),H(()=>E(X,e(T))),i(L,f)},R=L=>{var f=sr(),X=a(f,!0);t(f),H(()=>E(X,e(y)==="running"||e(y)==="pending"?"运行中——输出将在完成时出现":"(无输出)")),i(L,f)};W(ne,L=>{e(K)?L(Z):e(w)?L(be,1):e(x)?L(oe,2):e(T)?L(J,3):L(R,-1)})}t(re),H(()=>{E(U,e(I)||"tool"),ye(Y,1,`st mono ${e(y)??""}`,"svelte-1bw07gw"),E(_,e(u))}),i(j,re),Ye()}var lr=d('<span class="count mono svelte-1x813in"> </span>'),ir=d('<span class="add svelte-1x813in"> </span>'),or=d('<span class="del svelte-1x813in"> </span>'),cr=d('<div class="hint mono svelte-1x813in">…</div>'),vr=d('<pre class="patch mono svelte-1x813in"> </pre>'),dr=d('<div class="hint mono svelte-1x813in">(无改动内容)</div>'),ur=d('<div class="file svelte-1x813in"><button class="row svelte-1x813in"><span> </span> <span class="path mono svelte-1x813in"> </span> <span class="delta mono svelte-1x813in"><!> <!></span></button> <!></div>'),pr=d('<div class="hint svelte-1x813in">工作区干净</div>'),fr=d('<div class="hint svelte-1x813in">…</div>'),hr=d('<div class="git svelte-1x813in"><div class="hd svelte-1x813in"><span class="branch mono svelte-1x813in"> </span> <!></div> <!> <!></div>');function br(j,o){Ge(o,!1);let u=ze(o,"sessionId",8,void 0),$=ze(o,"tick",8,0),D=v(""),l=v([]),k=v(new Map),I=v(new Set),y=v(!0),h=v(null);async function T(){try{const _=await qe.vcs(u());s(D,(_==null?void 0:_.branch)??""),s(l,(_==null?void 0:_.status)??[])}catch{s(D,""),s(l,[])}finally{s(y,!1)}}async function x(_){if(!(e(k).has(_)||e(h)!==null)){s(h,_);try{const O=await qe.vcsDiff(u(),_);s(k,new Map([...e(k),[_,(O==null?void 0:O.patch)??""]]))}catch{s(k,new Map([...e(k),[_,"(patch 读取失败)"]]))}finally{s(h,null)}}}function w(_){if(e(I).has(_)){s(I,new Set([...e(I)].filter(O=>O!==_)));return}s(I,new Set([...e(I),_])),x(_)}const K=_=>_==="added"?"新增":_==="deleted"?"删除":_==="modified"?"修改":_??"";se(()=>de($()),()=>{$(),T()}),et(),Qe();var b=hr(),g=a(b),C=a(g),ee=a(C,!0);t(C);var re=r(C,2);{var G=_=>{var O=lr(),le=a(O);t(O),H(()=>E(le,`${e(l),n(()=>e(l).length)??""} 个文件`)),i(_,O)};W(re,_=>{e(l),n(()=>e(l).length)&&_(G)})}t(g);var F=r(g,2);Ke(F,1,()=>e(l),_=>_.file,(_,O)=>{var le=ur(),ne=a(le),Z=a(ne),be=a(Z,!0);t(Z);var oe=r(Z,2),J=a(oe,!0);t(oe);var R=r(oe,2),L=a(R);{var f=ke=>{var _e=ir(),Oe=a(_e);t(_e),H(()=>E(Oe,`+${e(O),n(()=>e(O).additions)??""}`)),i(ke,_e)};W(L,ke=>{e(O),n(()=>e(O).additions)&&ke(f)})}var X=r(L,2);{var we=ke=>{var _e=or(),Oe=a(_e);t(_e),H(()=>E(Oe,`−${e(O),n(()=>e(O).deletions)??""}`)),i(ke,_e)};W(X,ke=>{e(O),n(()=>e(O).deletions)&&ke(we)})}t(R),t(ne);var $e=r(ne,2);{var ue=ke=>{var _e=rt(),Oe=Ne(_e);{var Ue=z=>{var ie=cr();i(z,ie)},je=z=>{var ie=vr(),p=a(ie,!0);t(ie),H(q=>E(p,q),[()=>(e(k),e(O),n(()=>e(k).get(e(O).file)))]),i(z,ie)},P=dt(()=>(e(k),e(O),n(()=>e(k).get(e(O).file)))),te=z=>{var ie=dr();i(z,ie)};W(Oe,z=>{e(h),e(O),n(()=>e(h)===e(O).file)?z(Ue):e(P)?z(je,1):z(te,-1)})}i(ke,_e)},De=dt(()=>(e(I),e(O),n(()=>e(I).has(e(O).file))));W($e,ke=>{e(De)&&ke(ue)})}t(le),H((ke,_e)=>{We(ne,"aria-expanded",ke),ye(Z,1,`badge ${e(O),n(()=>e(O).status)??""}`,"svelte-1x813in"),E(be,_e),E(J,(e(O),n(()=>e(O).file)))},[()=>(e(I),e(O),n(()=>e(I).has(e(O).file))),()=>(e(O),n(()=>K(e(O).status)))]),B("click",ne,()=>w(e(O).file)),i(_,le)},_=>{var O=rt(),le=Ne(O);{var ne=Z=>{var be=pr();i(Z,be)};W(le,Z=>{e(y)||Z(ne)})}i(_,O)});var U=r(F,2);{var Y=_=>{var O=fr();i(_,O)};W(U,_=>{e(y)&&_(Y)})}t(b),H(()=>E(ee,e(D)||"…")),i(j,b),Ye()}var _r=d('<span class="tbadge mono svelte-gu3dqx"> </span>'),mr=d('<button role="menuitem" class="svelte-gu3dqx"> <!></button>'),gr=d('<div class="strip-menu svelte-gu3dqx" role="menu"><!> <div class="menu-sep svelte-gu3dqx"></div> <button role="menuitem" class="svelte-gu3dqx">Git</button></div>'),yr=d('<div class="strip svelte-gu3dqx"><button class="strip-plus svelte-gu3dqx" title="打开面板" aria-label="打开面板">+</button> <!></div>'),wr=d('<span class="tbadge mono svelte-gu3dqx"> </span>'),kr=d('<button role="tab" draggable="true"><span class="dlabel svelte-gu3dqx"> </span> <!> <span class="closer svelte-gu3dqx" role="button" tabindex="-1">✕</span></button>'),xr=d('<span class="tbadge mono svelte-gu3dqx"> </span>'),Ar=d('<button role="menuitem" class="svelte-gu3dqx"> <!></button>'),Ir=d('<div class="plus-menu svelte-gu3dqx" role="menu"><!> <div class="menu-sep svelte-gu3dqx"></div> <button role="menuitem" class="svelte-gu3dqx">Git</button></div>'),$r=d('<!> <div class="gap svelte-gu3dqx"></div> <!>',1),Sr=d('<!> <div class="gap svelte-gu3dqx"></div> <!>',1),Tr=d('<div class="empty svelte-gu3dqx"><p class="empty-title svelte-gu3dqx">没有打开的面板</p> <p class="empty-hint svelte-gu3dqx">从会话流(计划窗、工具行)或右上 + 打开——任务、文件、子代理、Skills、配置、Git。</p></div>'),qr=d('<div class="head svelte-gu3dqx"><div class="section-label svelte-gu3dqx">会话</div> <div class="name svelte-gu3dqx"><span class="title-text svelte-gu3dqx"> </span></div></div> <div class="tabs svelte-gu3dqx" role="tablist"><!> <div class="plus svelte-gu3dqx"><button class="plus-btn svelte-gu3dqx" aria-label="打开面板" title="打开面板">+</button> <!></div></div> <div class="pane svelte-gu3dqx"><!></div>',1),Mr=d("<aside><!></aside>");function zr(j,o){Ge(o,!1);const u=()=>Pe(ut,"$sessionList",k),$=()=>Pe(_t,"$feeds",k),D=()=>Pe(Bt,"$sidePane",k),l=()=>Pe(_a,"$can",k),[k,I]=it(),y=v(),h=v(),T=v(),x=v(),w=v(),K=v(),b=v();let g=ze(o,"sessionId",8,void 0),C=v(0),ee=v(-1),re=v();Dt(()=>clearTimeout(e(re)));let G=v(!1),F=-1;function U(ue){F=ue}function Y(ue){F!==-1&&ss(F,ue),F=-1}let _=v(!1),O=v();function le(ue){e(_)&&e(O)&&!e(O).contains(ue.target)&&s(_,!1)}function ne(ue){ue.key==="Escape"&&s(_,!1)}let Z=v({total:0,done:0,items:[]}),be;async function oe(ue){if(ue)try{const De=await qe.todo(ue);if(ue!==g())return;be=ue,s(Z,ka(De))}catch{}}let J=v();const R=ue=>ue==="tasks"&&e(Z).total>0?`${e(Z).done}/${e(Z).total}`:"";se(()=>(u(),de(g())),()=>{s(y,u().find(ue=>ue.id===g()))}),se(()=>e(y),()=>{var ue;s(h,(ue=e(y))==null?void 0:ue.title)}),se(()=>(de(g()),$()),()=>{var ue;s(T,g()?((ue=$()[g()])==null?void 0:ue.lastSeq)??0:0)}),se(()=>(e(T),e(ee),e(re),e(C)),()=>{e(T)!==e(ee)&&(s(ee,e(T)),clearTimeout(e(re)),s(re,setTimeout(()=>s(C,e(C)+1),1e3)))}),se(()=>D(),()=>{s(x,D().activeId)}),se(()=>(D(),e(x)),()=>{s(w,D().tabs.find(ue=>ue.id===e(x)))}),se(()=>(D(),e(x)),()=>{s(K,D().tabs.findIndex(ue=>ue.id===e(x)))}),se(()=>D(),()=>{s(b,D().tabs.length===0)}),se(()=>(de(g()),e(J)),()=>{g()!==e(J)&&(s(J,g()),oe(g()))}),se(()=>(e(C),de(g())),()=>{e(C)&&oe(g())}),et(),Qe();var L=Mr();B("click",$t,le),B("keydown",$t,ne);let f;var X=a(L);{var we=ue=>{var De=yr(),ke=a(De),_e=r(ke,2);{var Oe=Ue=>{var je=gr(),P=a(je);Ke(P,1,()=>ua,z=>z.homeId,(z,ie)=>{var p=mr(),q=a(p,!0),Q=r(q);{var me=Ce=>{var Be=_r(),Re=a(Be,!0);t(Be),H(ve=>E(Re,ve),[()=>(e(ie),n(()=>R(e(ie).homeId)))]),i(Ce,Be)},Me=dt(()=>(e(ie),n(()=>R(e(ie).homeId))));W(Q,Ce=>{e(Me)&&Ce(me)})}t(p),H(()=>E(q,(e(ie),n(()=>e(ie).title)))),B("click",p,()=>{da(e(ie).homeId),s(G,!1)}),i(z,p)});var te=r(P,4);t(je),B("click",te,()=>{Bt.openPaneTab({id:"git",kind:"git",title:"Git"}),s(G,!1)}),i(Ue,je)};W(_e,Ue=>{e(G)&&Ue(Oe)})}t(De),B("click",ke,()=>s(G,!e(G))),i(ue,De)},$e=ue=>{var De=qr(),ke=Ne(De),_e=r(a(ke),2),Oe=a(_e),Ue=a(Oe,!0);t(Oe),t(_e),t(ke);var je=r(ke,2),P=a(je);Ke(P,3,()=>(D(),n(()=>D().tabs)),ce=>ce.id,(ce,A,Le)=>{var m=kr();let V;var fe=a(m),pe=a(fe,!0);t(fe);var N=r(fe,2);{var c=ae=>{var S=wr(),he=a(S);t(S),H(()=>E(he,`${e(Z),n(()=>e(Z).done)??""}/${e(Z),n(()=>e(Z).total)??""}`)),i(ae,S)};W(N,ae=>{e(A),e(Z),n(()=>e(A).kind==="home"&&e(A).homeId==="tasks"&&e(Z).total>0)&&ae(c)})}var M=r(N,2);t(m),H(()=>{V=ye(m,1,"tab svelte-gu3dqx",null,V,{active:e(x)===e(A).id}),We(m,"aria-selected",(e(x),e(A),n(()=>e(x)===e(A).id))),We(m,"title",(e(A),n(()=>e(A).kind==="file"?e(A).path:e(A).title))),E(pe,(e(A),n(()=>e(A).title))),We(M,"aria-label",(e(A),n(()=>`关闭 ${e(A).title}`)))}),B("click",M,aa(()=>Yt(e(A).id))),B("keydown",M,aa(ae=>ae.key==="Enter"&&Yt(e(A).id))),B("click",m,()=>Bt.activatePane(e(A).id)),B("dragstart",m,()=>U(e(Le))),B("dragover",m,va(()=>{})),B("drop",m,()=>Y(e(Le))),B("auxclick",m,va(ae=>{ae.button===1&&Yt(e(A).id)})),i(ce,m)});var te=r(P,2),z=a(te),ie=r(z,2);{var p=ce=>{var A=Ir(),Le=a(A);Ke(Le,1,()=>ua,V=>V.homeId,(V,fe)=>{var pe=Ar(),N=a(pe,!0),c=r(N);{var M=S=>{var he=xr(),ge=a(he,!0);t(he),H(Fe=>E(ge,Fe),[()=>(e(fe),n(()=>R(e(fe).homeId)))]),i(S,he)},ae=dt(()=>(e(fe),n(()=>R(e(fe).homeId))));W(c,S=>{e(ae)&&S(M)})}t(pe),H(()=>E(N,(e(fe),n(()=>e(fe).title)))),B("click",pe,()=>{da(e(fe).homeId),s(_,!1)}),i(V,pe)});var m=r(Le,4);t(A),B("click",m,()=>{Bt.openPaneTab({id:"git",kind:"git",title:"Git"}),s(_,!1)}),i(ce,A)};W(ie,ce=>{e(_)&&ce(p)})}t(te),Lt(te,ce=>s(O,ce),()=>e(O)),t(je);var q=r(je,2),Q=a(q);{var me=ce=>{var A=rt(),Le=Ne(A);{var m=c=>{var M=rt(),ae=Ne(M);{var S=ge=>{nn(ge,{get sessionId(){return g()},get tick(){return e(C)}})},he=dt(()=>(l(),n(()=>l()("todos"))));W(ae,ge=>{e(he)&&ge(S)})}i(c,M)},V=c=>{var M=$r(),ae=Ne(M);Tn(ae,{get sessionId(){return g()},get tick(){return e(C)}});var S=r(ae,4);{var he=Fe=>{Bn(Fe,{get sessionId(){return g()},get tick(){return e(C)}})},ge=dt(()=>(l(),n(()=>l()("worktrees"))));W(S,Fe=>{e(ge)&&Fe(he)})}i(c,M)},fe=c=>{var M=rt(),ae=Ne(M);{var S=ge=>{Wn(ge,{get sessionId(){return g()},get tick(){return e(C)}})},he=dt(()=>(l(),n(()=>l()("todos"))));W(ae,ge=>{e(he)&&ge(S)})}i(c,M)},pe=c=>{var M=rt(),ae=Ne(M);{var S=ge=>{wn(ge,{get tick(){return e(C)}})},he=dt(()=>(l(),n(()=>l()("skills"))));W(ae,ge=>{e(he)&&ge(S)})}i(c,M)},N=c=>{var M=Sr(),ae=Ne(M);hn(ae,{get tick(){return e(C)}});var S=r(ae,4);{var he=Fe=>{cn(Fe,{get tick(){return e(C)}})},ge=dt(()=>(l(),n(()=>l()("mcp"))));W(S,Fe=>{e(ge)&&Fe(he)})}i(c,M)};W(Le,c=>{e(w),n(()=>e(w).homeId==="tasks")?c(m):(e(w),n(()=>e(w).homeId==="files")?c(V,1):(e(w),n(()=>e(w).homeId==="subs")?c(fe,2):(e(w),n(()=>e(w).homeId==="skills")?c(pe,3):(e(w),n(()=>e(w).homeId==="config")&&c(N,4)))))})}i(ce,A)},Me=ce=>{Nn(ce,{get childId(){return e(w),n(()=>e(w).childId)},get tick(){return e(C)}})},Ce=ce=>{Vn(ce,{get directory(){return e(w),n(()=>e(w).directory)},get path(){return e(w),n(()=>e(w).path)}})},Be=ce=>{rr(ce,{get sessionId(){return e(w),n(()=>e(w).sessionId)},get messageId(){return e(w),n(()=>e(w).messageId)},get partId(){return e(w),n(()=>e(w).partId)},get tick(){return e(C)}})},Re=ce=>{br(ce,{get sessionId(){return g()},get tick(){return e(C)}})},ve=ce=>{var A=Tr();i(ce,A)};W(Q,ce=>{e(w),n(()=>{var A;return((A=e(w))==null?void 0:A.kind)==="home"})?ce(me):(e(w),n(()=>{var A;return((A=e(w))==null?void 0:A.kind)==="subagent"})?ce(Me,1):(e(w),n(()=>{var A;return((A=e(w))==null?void 0:A.kind)==="file"})?ce(Ce,2):(e(w),n(()=>{var A;return((A=e(w))==null?void 0:A.kind)==="tool"})?ce(Be,3):(e(w),n(()=>{var A;return((A=e(w))==null?void 0:A.kind)==="git"})?ce(Re,4):ce(ve,-1)))))})}t(q),H(ce=>{We(_e,"title",e(h)??g()),E(Ue,ce)},[()=>(e(h),de(g()),n(()=>e(h)||(g()?"…"+g().slice(-8):"No session")))]),B("click",z,()=>s(_,!e(_))),i(ue,De)};W(X,ue=>{e(b)?ue(we):ue($e,-1)})}t(L),H(()=>f=ye(L,1,"inspector svelte-gu3dqx",null,f,{strip:e(b)})),i(j,L),Ye(),I()}function Cr(j,o){const u=o.trim().toLowerCase();return u?j.filter($=>($.title??"").toLowerCase().includes(u)||($.agent??"").toLowerCase().includes(u)||$.id.toLowerCase().includes(u)):j}var Lr=d('<div class="empty svelte-wh9uu8">无匹配结果</div>'),Er=d('<div class="group svelte-wh9uu8" role="presentation"><span class="group-icon svelte-wh9uu8" aria-hidden="true"> </span> <span class="group-label mono svelte-wh9uu8"> </span></div>'),Br=d('<button role="option"><span class="tile glyph svelte-wh9uu8" aria-hidden="true"> </span> <span class="label svelte-wh9uu8"> </span> <span class="hint mono svelte-wh9uu8"> </span></button>'),Dr=d('<button role="option"><span class="tile svelte-wh9uu8" aria-hidden="true">#</span> <span class="label svelte-wh9uu8"> </span> <span class="hint mono svelte-wh9uu8"> </span></button>'),Pr=d('<button role="option"><span class="tile svelte-wh9uu8" aria-hidden="true">/</span> <span class="label svelte-wh9uu8"> </span> <span class="hint mono svelte-wh9uu8"> </span></button>'),Or=d('<div class="error svelte-wh9uu8"> </div>'),jr=d('<div class="about mono svelte-wh9uu8"> </div>'),Fr=d('<div class="overlay svelte-wh9uu8"><button class="backdrop svelte-wh9uu8" aria-label="关闭"></button> <div class="palette svelte-wh9uu8" role="dialog" aria-modal="true" aria-label="搜索会话与命令" tabindex="-1"><div class="header svelte-wh9uu8"><span class="search-icon svelte-wh9uu8" aria-hidden="true"><!></span> <input class="q svelte-wh9uu8" placeholder="跳转会话,或运行命令…" aria-label="搜索会话与命令"/> <kbd class="keycap mono svelte-wh9uu8" aria-label="按 Esc 关闭">esc</kbd></div> <div class="results svelte-wh9uu8" role="listbox" aria-label="结果"><!> <!> <!></div></div></div>');function Rr(j,o){Ge(o,!1);const u=()=>Pe(Aa,"$page",I),$=()=>Pe(Ht,"$backends",I),D=()=>Pe(ut,"$sessionList",I),l=()=>Pe(Ba,"$currentBackendId",I),k=()=>Pe(_a,"$can",I),[I,y]=it(),h=v(),T=v(),x=v(),w=v(),K=v(),b=v(),g=v(),C=v();let ee=ze(o,"open",8,!1);const re=Ya();let G=v(""),F=v(0),U=v(""),Y=v(""),_=v(null),O=v([]),le=v(null);function ne(p,q,Q){const me=Q.trim().toLowerCase();return me?p.toLowerCase().includes(me)||q.toLowerCase().includes(me):!0}const Z=[{name:"new-session",description:"New session"},{name:"toggle-panel",description:"Collapse / expand the agent panel"},{name:"cycle-accent",description:"Cycle accent color"}];function be(p){var Q,me,Me;const q=p.replace(/[^a-zA-Z0-9 ]/g," ").trim().split(/[\s-]+/).filter(Boolean);return((((Q=q[0])==null?void 0:Q[0])??"")+(((me=q[1])==null?void 0:me[0])??((Me=q[0])==null?void 0:Me[1])??"")).toUpperCase()||p.slice(0,2).toUpperCase()}function oe(p,q,Q,me,Me){const Ce=[];let Be=0;if(p.length){Ce.push({type:"group",label:"Agents",icon:"◆"});for(const ve of p)Ce.push({type:"agent",agent:ve,selectableIndex:Be++})}if(q.length){Ce.push({type:"group",label:"Sessions",icon:"#"});for(const ve of q)Ce.push({type:"session",session:ve,selectableIndex:Be++})}const Re=[...Q.map(ve=>({...ve,kind:"backend"})),...me.map(ve=>({...ve}))];if(Re.length){Ce.push({type:"group",label:"Commands",icon:"/"});for(const ve of Re){const ce=ve.kind==="backend"&&!Me;Ce.push({type:"command",command:ve,disabled:ce,selectableIndex:ce?void 0:Be++})}}return Ce}let J=null,R=v();function L(p){J=document.activeElement,p.focus()}function f(){var p;re("close"),s(G,""),s(U,""),(p=J==null?void 0:J.focus)==null||p.call(J),J=null}function X(p){Kt(`/${p}/`),f()}function we(){const p=l()??"opencode",q=At(p),Q=Rt[(Rt.indexOf(q)+1)%Rt.length];Zt(p,Q)}async function $e(p){Xt(p);try{await Jt(p)}catch{}f()}async function ue(p){if(p==="cycle-accent"){we(),f();return}if(p==="new-session"){Mt.set(!0),f();return}if(p==="toggle-panel"){zt.update(q=>!q),f();return}if(!(!e(h)||e(Y))){s(Y,p),s(U,"");try{await qe.runCommand({sessionId:e(h),command:p}),f()}catch(q){s(U,`/${p} failed: ${q.message}`)}finally{s(Y,"")}}}function De(p){p.type==="agent"&&p.agent?$e(p.agent.id):p.type==="session"&&p.session?X(p.session.id):p.type==="command"&&!p.disabled&&p.command&&ue(p.command.name)}function ke(p){if(p.key==="Escape"){f();return}if(p.key==="Tab"){_e(p);return}if(e(C)!==0){if(p.key==="ArrowDown"){p.preventDefault(),s(F,Math.min(e(F)+1,e(C)-1)),Oe();return}if(p.key==="ArrowUp"){p.preventDefault(),s(F,Math.max(e(F)-1,0)),Oe();return}if(p.key==="Enter"){const q=e(g).find(Q=>Q.selectableIndex===e(F));q&&(p.preventDefault(),De(q))}}}function _e(p){if(p.key!=="Tab"||!e(R))return;const q=Array.from(e(R).querySelectorAll("input, button:not(:disabled)"));if(q.length===0)return;const Q=q[0],me=q[q.length-1];p.shiftKey&&document.activeElement===Q?(p.preventDefault(),me.focus()):!p.shiftKey&&document.activeElement===me&&(p.preventDefault(),Q.focus())}async function Oe(){await Va();const p=document.querySelector(".palette .row.active");p==null||p.scrollIntoView({block:"nearest"})}function Ue(p,q){return q?"Open a session first":(p==null?void 0:p.description)??""}se(()=>(de(ee()),e(_),qe),()=>{ee()&&!e(_)&&qe.version().then(p=>{s(_,{version:p.version,uptime:p.uptime})}).catch(()=>{})}),se(()=>u(),()=>{s(h,u().params.sessionId)}),se(()=>$(),()=>{var p;s(T,((p=$())==null?void 0:p.backends)??[])}),se(()=>(e(T),e(G)),()=>{s(x,e(T).filter(p=>ne(p.name??p.id,p.id,e(G))))}),se(()=>(D(),e(G)),()=>{s(w,Cr(D(),e(G)))}),se(()=>(de(ee()),l(),e(le),k(),qe),()=>{ee()&&l()&&l()!==e(le)&&(s(le,l()),k()("commands")?qe.commands(l()).then(p=>{s(O,p)}).catch(()=>{s(le,null)}):s(O,[]))}),se(()=>(e(O),e(G)),()=>{s(K,e(O).filter(p=>ne(p.name,p.description,e(G))))}),se(()=>e(G),()=>{s(b,Z.filter(p=>ne(p.name,p.description,e(G))))}),se(()=>(e(x),e(w),e(K),e(b),e(h)),()=>{s(g,oe(e(x),e(w),e(K),e(b),e(h)))}),se(()=>e(g),()=>{s(C,e(g).filter(p=>p.selectableIndex!=null).length)}),se(()=>(e(F),e(C)),()=>{s(F,e(C)?Math.max(0,Math.min(e(F),e(C)-1)):-1)}),se(()=>e(G),()=>{e(G),s(F,0)}),et();var je={close:f};Qe();var P=rt(),te=Ne(P);{var z=p=>{var q=Fr(),Q=a(q),me=r(Q,2),Me=a(me),Ce=a(Me),Be=a(Ce);It(Be,{name:"search",size:14}),t(Ce);var Re=r(Ce,2);ht(Re),na(Re,N=>L==null?void 0:L(N)),St(()=>mt(Re,()=>e(G),N=>s(G,N))),St(()=>B("keydown",Re,ke)),yt(2),t(Me);var ve=r(Me,2),ce=a(ve);{var A=N=>{var c=Lr();i(N,c)},Le=N=>{var c=rt(),M=Ne(c);Ke(M,1,()=>e(g),ae=>{var S,he,ge;return((S=ae.agent)==null?void 0:S.id)??((he=ae.session)==null?void 0:he.id)??((ge=ae.command)==null?void 0:ge.name)??ae.label??""},(ae,S)=>{var he=rt(),ge=Ne(he);{var Fe=Je=>{var Ie=Er(),He=a(Ie),Ze=a(He,!0);t(He);var tt=r(He,2),at=a(tt,!0);t(tt),t(Ie),H(()=>{E(Ze,(e(S),n(()=>e(S).icon))),E(at,(e(S),n(()=>e(S).label)))}),i(Je,Ie)},Se=Je=>{var Ie=Br();let He;var Ze=a(Ie),tt=a(Ze,!0);t(Ze);var at=r(Ze,2),xe=a(at,!0);t(at);var Ae=r(at,2),Te=a(Ae,!0);t(Ae),t(Ie),H(st=>{He=ye(Ie,1,"row svelte-wh9uu8",null,He,{active:e(S).selectableIndex===e(F)}),We(Ie,"aria-selected",(e(S),e(F),n(()=>e(S).selectableIndex===e(F)))),E(tt,st),E(xe,(e(S),n(()=>{var Xe,pt;return((Xe=e(S).agent)==null?void 0:Xe.name)??((pt=e(S).agent)==null?void 0:pt.id)??""}))),E(Te,(e(S),$(),n(()=>{var Xe,pt,lt;return((Xe=e(S).agent)==null?void 0:Xe.id)===((pt=$())==null?void 0:pt.activeId)?"active":((lt=e(S).agent)==null?void 0:lt.status)??""})))},[()=>(e(S),n(()=>{var st,Xe;return be(((st=e(S).agent)==null?void 0:st.name)??((Xe=e(S).agent)==null?void 0:Xe.id)??"")}))]),B("click",Ie,()=>{e(S).agent&&$e(e(S).agent.id)}),B("mouseenter",Ie,()=>{e(S).selectableIndex!=null&&s(F,e(S).selectableIndex)}),i(Je,Ie)},Ee=Je=>{var Ie=Dr();let He;var Ze=r(a(Ie),2),tt=a(Ze,!0);t(Ze);var at=r(Ze,2),xe=a(at,!0);t(at),t(Ie),H(Ae=>{He=ye(Ie,1,"row svelte-wh9uu8",null,He,{active:e(S).selectableIndex===e(F)}),We(Ie,"aria-selected",(e(S),e(F),n(()=>e(S).selectableIndex===e(F)))),E(tt,Ae),E(xe,(e(S),n(()=>{var Te;return((Te=e(S).session)==null?void 0:Te.agent)??""})))},[()=>(e(S),n(()=>{var Ae,Te;return((Ae=e(S).session)==null?void 0:Ae.title)??((Te=e(S).session)==null?void 0:Te.id.slice(-8))??""}))]),B("click",Ie,()=>{e(S).session&&X(e(S).session.id)}),B("mouseenter",Ie,()=>{e(S).selectableIndex!=null&&s(F,e(S).selectableIndex)}),i(Je,Ie)},Ve=Je=>{var Ie=Pr();let He;var Ze=r(a(Ie),2),tt=a(Ze,!0);t(Ze);var at=r(Ze,2),xe=a(at,!0);t(at),t(Ie),H(Ae=>{He=ye(Ie,1,"row svelte-wh9uu8",null,He,{active:e(S).selectableIndex===e(F),disabled:e(S).disabled}),Ie.disabled=(e(S),e(Y),n(()=>{var Te;return e(S).disabled||e(Y)===((Te=e(S).command)==null?void 0:Te.name)})),We(Ie,"aria-selected",(e(S),e(F),n(()=>e(S).selectableIndex===e(F)))),E(tt,(e(S),n(()=>{var Te;return((Te=e(S).command)==null?void 0:Te.name)??""}))),E(xe,Ae)},[()=>(e(Y),e(S),n(()=>{var Ae;return e(Y)===((Ae=e(S).command)==null?void 0:Ae.name)?"运行中…":Ue(e(S).command,e(S).disabled)}))]),B("click",Ie,()=>{e(S).command&&ue(e(S).command.name)}),B("mouseenter",Ie,()=>{e(S).selectableIndex!=null&&s(F,e(S).selectableIndex)}),i(Je,Ie)};W(ge,Je=>{e(S),n(()=>e(S).type==="group")?Je(Fe):(e(S),n(()=>e(S).type==="agent")?Je(Se,1):(e(S),n(()=>e(S).type==="session")?Je(Ee,2):(e(S),n(()=>e(S).type==="command")&&Je(Ve,3))))})}i(ae,he)}),i(N,c)};W(ce,N=>{e(g),n(()=>e(g).length===0)?N(A):N(Le,-1)})}var m=r(ce,2);{var V=N=>{var c=Or(),M=a(c,!0);t(c),H(()=>E(M,e(U))),i(N,c)};W(m,N=>{e(U)&&N(V)})}var fe=r(m,2);{var pe=N=>{var c=jr(),M=a(c);t(c),H(()=>E(M,`ocrc v${e(_),n(()=>e(_).version)??""} · uptime ${e(_),n(()=>e(_).uptime)??""}`)),i(N,c)};W(fe,N=>{e(_)&&N(pe)})}t(ve),t(me),Lt(me,N=>s(R,N),()=>e(R)),t(q),B("click",Q,f),B("keydown",me,_e),i(p,q)};W(te,p=>{ee()&&p(z)})}i(j,P),is(o,"close",f);var ie=Ye(je);return y(),ie}var Wr=d('<div class="empty svelte-cfrpez">正在加载 agent…</div>'),Ur=d('<button type="button" role="radio"><span class="chip-tile svelte-cfrpez"> </span> <span><span class="sr-only svelte-cfrpez"> </span></span> <span class="chip-name svelte-cfrpez"> </span></button>'),Jr=d('<div class="field svelte-cfrpez"><span class="label svelte-cfrpez">Agent</span> <div class="agent-chips svelte-cfrpez" role="radiogroup" aria-label="选择 agent"></div></div>'),Nr=d('<button class="recent svelte-cfrpez" type="button"><span class="recent-name svelte-cfrpez"> </span> <span class="recent-dir mono svelte-cfrpez"> </span></button>'),Hr=d('<div><span class="recents-label mono svelte-cfrpez"> </span> <div class="recents-list svelte-cfrpez"></div></div>'),Kr=d('<div class="error svelte-cfrpez"> </div>'),Qr=d('<div class="overlay svelte-cfrpez"><button class="backdrop svelte-cfrpez" aria-label="关闭"></button> <div class="modal svelte-cfrpez" role="dialog" aria-modal="true" aria-label="新建会话"><div class="header svelte-cfrpez"><span class="title svelte-cfrpez">New session</span> <button class="close svelte-cfrpez" aria-label="关闭"><!></button></div> <div class="body svelte-cfrpez"><!> <div class="field svelte-cfrpez"><label class="label svelte-cfrpez" for="new-session-dir">Working directory</label> <div class="dir-input svelte-cfrpez"><span class="host-prefix mono svelte-cfrpez">host:</span> <input id="new-session-dir" class="path mono svelte-cfrpez" type="text" placeholder="/path/to/project"/> <button class="browse svelte-cfrpez" type="button" title="该 agent 最近使用的目录">最近</button></div> <!></div> <div class="field svelte-cfrpez"><label class="label svelte-cfrpez" for="new-session-branch">Branch <span class="optional svelte-cfrpez">(optional)</span></label> <input id="new-session-branch" class="branch mono svelte-cfrpez" type="text" placeholder="main"/></div> <!></div> <div class="footer svelte-cfrpez"><button class="btn secondary svelte-cfrpez" type="button">取消</button> <button class="btn primary svelte-cfrpez" type="button"> </button></div></div></div>');function Gr(j,o){Ge(o,!1);const u=()=>Pe(Ht,"$backends",l),$=()=>Pe(ut,"$sessionList",l),D=()=>Pe(Mt,"$newSessionOpen",l),[l,k]=it(),I=v(),y=v(),h=v(),T=v();let x=v(""),w=v(""),K=v(""),b=v(!1),g=v(null),C=v(!1);function ee(R){const L=R.split(/[\s\-_:./]+/).filter(Boolean);return L.length>=2?(L[0][0]+L[1][0]).toUpperCase():R.slice(0,2).toUpperCase()}function re(R){return ee((R==null?void 0:R.name)||(R==null?void 0:R.id)||"OC")}function G(R){return R==="online"||R==="connected"?"online":R==="connecting"||R==="reconnecting"?"connecting":R==="offline"?"offline":"online"}function F(){Mt.set(!1),s(g,null)}function U(R){s(w,R),s(C,!1)}async function Y(){const R=e(w).trim();if(!R){s(g,"需要填写工作目录");return}if(!e(b)){s(b,!0),s(g,null);try{await Jt(e(x));const L=await qe.createSession({directory:R});ut.set(await qe.sessions()),ns.set(await qe.workspaces()),F(),Kt(`/${L.id}/`)}catch(L){s(g,L.message)}finally{s(b,!1)}}}function _(R){if(R.key==="Escape"){F();return}R.key==="Tab"&&Z(R)}let O=v();function le(R){return Array.from(R.querySelectorAll("button, input, [tabindex]")).filter(L=>!L.hasAttribute("disabled"))}function ne(R){const L=document.activeElement,f=R.querySelector("input:not([disabled])")??le(R)[0];return f==null||f.focus(),{destroy(){var X;(X=L==null?void 0:L.focus)==null||X.call(L)}}}function Z(R){if(!e(O))return;const L=le(e(O));if(L.length===0)return;const f=L[0],X=L[L.length-1];R.shiftKey&&document.activeElement===f?(R.preventDefault(),X.focus()):!R.shiftKey&&document.activeElement===X&&(R.preventDefault(),f.focus())}se(()=>u(),()=>{var R;s(I,((R=u())==null?void 0:R.backends)??[])}),se(()=>(u(),e(I)),()=>{var R,L;s(y,((R=u())==null?void 0:R.activeId)??((L=e(I)[0])==null?void 0:L.id)??"opencode")}),se(()=>(e(x),e(y)),()=>{s(x,e(x)||e(y))}),se(()=>(u(),e(x)),()=>{var R,L;s(h,((L=(R=u())==null?void 0:R.backends.find(f=>f.id===e(x)))==null?void 0:L.name)??e(x))}),se(()=>($(),e(x)),()=>{s(T,(()=>{const R=new Set,L=[];for(const f of[...$()].sort((X,we)=>we.lastActiveAt-X.lastActiveAt))!(f.backendId===e(x)||!f.backendId&&e(x)==="opencode")||!f.directory||R.has(f.directory)||(R.add(f.directory),L.push({directory:f.directory,name:f.directory.replace(/\/+$/,"").split("/").pop()||f.directory}));return L})())}),et(),Qe();var be=rt();B("keydown",$t,_);var oe=Ne(be);{var J=R=>{var L=Qr(),f=a(L),X=r(f,2),we=a(X),$e=r(a(we),2),ue=a($e);It(ue,{name:"close",size:14}),t($e),t(we);var De=r(we,2),ke=a(De);{var _e=ve=>{var ce=Wr();i(ve,ce)},Oe=ve=>{var ce=Jr(),A=r(a(ce),2);Ke(A,5,()=>e(I),Le=>Le.id,(Le,m)=>{const V=wt(()=>(de(At),e(m),n(()=>At(e(m).id)))),fe=wt(()=>(e(m),e(x),n(()=>e(m).id===e(x))));var pe=Ur();let N;var c=a(pe),M=a(c,!0);t(c);var ae=r(c,2),S=a(ae),he=a(S,!0);t(S),t(ae);var ge=r(ae,2),Fe=a(ge,!0);t(ge),t(pe),H((Se,Ee,Ve)=>{N=ye(pe,1,"agent-chip svelte-cfrpez",null,N,{selected:e(fe)}),We(pe,"aria-checked",e(fe)),ot(c,`background:${de(kt),de(e(V)),n(()=>kt[e(V)])??""}; color:${de(nt),de(e(V)),n(()=>nt[e(V)])??""}; border-color:${de(xt),de(e(V)),n(()=>xt[e(V)])??""}`),E(M,Se),ye(ae,1,`chip-status ${Ee??""}`,"svelte-cfrpez"),ot(ae,`--dot:${de(nt),de(e(V)),n(()=>nt[e(V)])??""}`),E(he,Ve),E(Fe,(e(m),n(()=>e(m).name??e(m).id)))},[()=>(e(m),n(()=>re(e(m)))),()=>(e(m),n(()=>G(e(m).status))),()=>(e(m),n(()=>G(e(m).status)))]),B("click",pe,()=>{s(x,e(m).id)}),i(Le,pe)}),t(A),t(ce),i(ve,ce)};W(ke,ve=>{e(I),n(()=>e(I).length===0)?ve(_e):ve(Oe,-1)})}var Ue=r(ke,2),je=r(a(Ue),2),P=r(a(je),2);ht(P);var te=r(P,2);t(je);var z=r(je,2);{var ie=ve=>{var ce=Hr();let A;var Le=a(ce),m=a(Le);t(Le);var V=r(Le,2);Ke(V,5,()=>e(T),fe=>fe.directory,(fe,pe)=>{var N=Nr(),c=a(N),M=a(c,!0);t(c);var ae=r(c,2),S=a(ae,!0);t(ae),t(N),H(()=>{We(N,"title",(e(pe),n(()=>e(pe).directory))),E(M,(e(pe),n(()=>e(pe).name))),E(S,(e(pe),n(()=>e(pe).directory)))}),B("click",N,()=>U(e(pe).directory)),i(fe,N)}),t(V),t(ce),H(()=>{A=ye(ce,1,"recents svelte-cfrpez",null,A,{open:e(C)}),E(m,`recent · ${e(h)??""}`)}),i(ve,ce)};W(z,ve=>{e(T),n(()=>e(T).length>0)&&ve(ie)})}t(Ue);var p=r(Ue,2),q=r(a(p),2);ht(q),t(p);var Q=r(p,2);{var me=ve=>{var ce=Kr(),A=a(ce,!0);t(ce),H(()=>E(A,e(g))),i(ve,ce)};W(Q,ve=>{e(g)&&ve(me)})}t(De);var Me=r(De,2),Ce=a(Me),Be=r(Ce,2),Re=a(Be,!0);t(Be),t(Me),t(X),Lt(X,ve=>s(O,ve),()=>e(O)),na(X,ve=>ne==null?void 0:ne(ve)),t(L),H(ve=>{Ce.disabled=e(b),Be.disabled=ve,E(Re,e(b)?"Creating…":"Create")},[()=>(e(b),e(w),n(()=>e(b)||!e(w).trim()))]),B("click",f,F),B("click",$e,F),mt(P,()=>e(w),ve=>s(w,ve)),B("focus",P,()=>{s(C,!0)}),B("click",te,()=>s(C,!e(C))),mt(q,()=>e(K),ve=>s(K,ve)),B("click",Ce,F),B("click",Be,Y),i(R,L)};W(oe,R=>{D()&&R(J)})}i(j,be),Ye(),k()}const Yr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAAB3RJTUUH6gkcFAMCstghUQAADE5JREFUeNrdm9lzW8eVxn/dd8MOggR3SqQWSyIlyrFlWbGVuOxxTWaqspQrVXnJU2r+wkzKqWSexk4yih3Hlmwp2mVtFPcVywXu2nnoC5HWYoEAKI5yqiCUQFzcPt855ztL3xZKKRIxgAwwABwETgCHks9fZYmBeeBy8qoDXvI5IgFAAOPA28C7wCRQBgrJ315lUYCbgPAP4G/AJWAJUCbawgeAD4CPgHOJ8q+65Z8UD23gaWAQ+DMwZ6Kt/GPg12jrpwC536vdA3HQhh5Eh7kB/MEEjqCtfw5I8+q7/PdJi+d+CKwByybwc2AWyO/36l6SiETXE8AHQin1OZr0hvd7ZS9ZloB7QilVRceHtdtfULu9oAPZw3gMAE8opaLkPru6V4wiVGrPQFBoJraE3CsQFEka3DXjK2AzCnkUNqnFMbFSPV+kAlJSMmGm6DcsLNFzGAQgzE6uDJViPvT4k7vBTc+lFkcoeuuuCkhLyWt2lvcyJaadLGnR++y8awAUEKFw44hHgcdnzS1u+S5bUUgvA0IBlhAMGw7rkY8tRzhuZXvuCbsGQACOkJxO5RkwLMatFL+rLvP3ZoWNHoMQKsVy5PPb6jIpIfmvvgnKpoXZQ1/rKAQEkBKSSSvNz3JlyobFWM3hU3eDR6GHr+KeLE4Bvoq57bt86m7wmpPh37Nl+mRHy+4dAI8vFoJJK01OmgwYFv2Gxf/U1/jWd2n0CASAhoq54tX4Y22VGSdHzs72zAt6AuWAYfFepsSY5WAKwR9rq9zyXZoq7llALEUef21s8XWzStmwGDacnvxuz2jVFpJDVobf9I3xUX6IY3YGu4c5PFKwFPp8XF3hpufSK//qaV5JC8kRK8MvC8P8qjDCjJ0l1cPUVY1DLjS2uOrVqURBTwi3d2ySiC0kJ+0cIq/T5X9Xl7np61qhWwmS+uOrZoU3UnneTBe6VqDnAIAmx2k7R6ogiZXi49oK1/w6jbh7TlAovmxWmG3kOJXKYQijqzDbEwBAFzGTVppfF0cxhSSuLnHFqxN0mR0ipbjh17ns1diKQhxDYnRRHD0TgCjxVqPLoZiTEONPc4N4KqYaR9wPGgSqcz9QQE1FzCmPW6FLWkmsALwgIgxjIqVAgRBgSIllShzbwLYMDONpoJ4CII5haRPCGAaLkLL0j3UqlhDMOFlq8QBLocfvaxGLobd7Fk/6VYlABYrFzQaf1VcJ/AaiFrNV83GbAUEQoZRCSq14Nm3Rl3col9L0Fx1syyCdMnEsAyGeAUAUw7WHsF6DmQMwNQIZp7tGxxGSk06Oj/JDLEU+F9wtViN/16YXkcIKQK2HLK9t8Umlyf2Khb/ps1H1qbsBfgKAYWgA8lmL/mKK8aEck2N5hgcyHJ8qMTqYxTTEdwFQaMvfmIeLd+DhKnz4Ohwdg2yXdUfJsHgrXWQ9CmnEMRcam7hJF9mW8s0Ycz3CWY5Q95rU7vl8tRDyjadQkSJWoJ4ILYFACJBSkHYMxgazvD07TC5jMTyQQT0JAIBS4AVa+fWa/n8QwYkJyKU6B0AA/dLig2yJpchjMwq42KwSvgiCGIz1EOOBj/Wth/EgQKyGqGqI14hpxPp6IcTToap01lAKanWwLYP+YopizsE0BILnkKAhIQhhbg3+75rmAKU0CNkUyA7jwRSCcTPFv2X6WQx9HoUeS6HP8/xABAq5GmJdb2Jdb2LM+Yi1CBEorawUGC9cjEApRSFnM324xLnTI4wPZZHJdc8EQAFCakJ8uAJ/vgp+qPnhxAQU0iA7LPAUMO3k+DDbz02/zp/qm2zGwbOVXwuxvmlgX3IxH/oIT2lX2mV2klJwaKLIf5w/yOvHyxRy9rZR2lnwo8QT6k2ouDA7CUPFztJkq5U+5eT4RW6IB0GTa16Et7M+iBRyJcT+poHzRR25FCB81RETSynoL6Q4e3KIn7w7+R3l2wIAIIx0avziFmy5sLoFZ4/B4REdLp3IsGFzPt3HNa9GNY6447uPlTfmA+zLDeyLrlbeU9vodQD4yaP9nJsdYaScwXxiwW0BIIUujla2wPWg1tDvQQgjJShkwNylN1hCctBK8Z+5Mg/CJmuRT6UZIJYC7G8a2F+7mHOBbgM75BwpBfmszZmZIU4fL2MZT3enbZfCLYatN+HqQ6g1dZZ44zDMHIShPjDl7oqmlJS8lS5w1e/jbt3lykoTcUlb3pxPlO9QFODYBq9N9nH6eJkDIzmEbKMSbAeIMIJ7S7BehfsrML8OZ47CkRFI2e2DIBHkhcmbMs+VNYdvv2wQf+Uil7tTXiOgKGQt3j87zrHJPhzr2S7acTMURrBRgyv3YasOi5vw5hENwmgJ0m0UTnGsqNR81m9UaXxewbpUJ1wOIOi+z0+nTA6O5Hl7doTRwexzv9cxAK00WHHh1jxs1mFxA05N6iwxOQT5NKSf4xFeELG46nLl5iqf/G2Om5eWUfN+95ZPgB0sZXjr1DBHDhTJZZ6/69d1O2xI7Q2LG9oj5tbg7iKcnITpCQ1ELq2/p8k0JggV9xcq/OXiAp9+McdXV1dYWnNRPdpdsSzJ0YNF3j87Tqlgf+9P9mQeIIQmHS+A+8s6W9xegOsT2htmDsLBQUhZMasbDS7fWuPCpUX++vUCN+9tUnUDYtVd17ltEMHUWJ6zJ4c4dXSAjPP9e749G4gIkmYq0mHR9BOPWIU7i3B0VJFzmty+84gvLz/gyu0V5ldcGk1dCMseaC8FpByLMyfHOHd6jFLBeeYMYE8AaIHQ0sMPYHkLKg1Y2IDrDyFjxdy963P/QcT6usD3JULECBWjlEIgOnMDpbtBJ+VweHKQc6cnmD48gNVGcbJnI7EWSfoBLKzDyiYYwqZaGSR0UmRKG5juKqFXJQqbqDgApZJJ7y7JQBhYts3QUIn33j7CD04M0V+028JyzwB4vDahXTNWglhZONkyTrpEFJQJcsPEgYvf2CBobhB6VQKvilLxtvri8T9PiAIlENLAdIqMjw/zozfG+Mk7wxwaS7ddme45AN/VQS8YaSANE8NOo1SElRkg9CqEXlW/ApcobBAFDeLQI458lIqSEJMIw8IwHaSVxU6VKBT7OTNb5qc/LjEz5ZDPtO89LwWA70grzQuJYTqaAA0H08mjIp849AgD9zEYUdjYDhEEUhpIw0FaGSynQL44wKnDOd4/k+LMMYtidnc08vIB2IlFq8kTBoZpgJUCBWYcEoeeBiQOUHGIStplPfkxkYZNJm0zNZriwzMG509CaZfKPxeAfXtQMAFEShNhG0AaoRRPPo6lEDiWYGpY8LOzgndOwGh/Zwnk2QAkxNXK7fshrZS4UymlIFbQn9eTqXdOwLvTMNYPVod7GE8BIAUUs7rHX6/qm/b++aQ2RSWPciWKmwaMleD0FPzwOLxxRDdeu51FPBcAgR5zTQ3Ba2MagHpTzwL3UwwJKRMGC3B+Gs7PaA/oy3Y+m3wmAK2bzRzQJa1jwsVvdUXnhy+fG1rPCpZyek3njmvrT5R1g9XpdHqnCKWe3qiLYl3H313UTc3le3Djke74Gn6ysA6r1hcprJSeRlsmDOTh2LhWfuYAHB6Fch6cLrfrXggA6JjzAz36ujEH/3gAd5f0hsnKVtLwJNNsIbaLnd2sS+2I8Vb4pW0oFzSxHRqG2SkdjsN9etrUC6u3BcBOcT0NxFpFA3H1IdxZ0JNiPwA/0l4Tx/r9RT+Y7GkgpSYwQ+pN2EJGK/r6IT1YmSjrOE87et64F9IWAC0WDiM9Ft+q69H4/IbeM7i3pMHYcjVxBhFPoyC23yxTK1XK6vw9VISJAT08KeW1m/flNChS9t7quwZgp8RKW7kVHpsJGBUXXF9/Vk9ezR0bwJax7cLZlH5lHK1oIa2JrpQD29Lf7XS/Yc8B2CkKDUYYQRwlXhJDw9MANPztctdOrC6EjnMnsa4htXsbsvuU1ikAHT0u/73AJEy+c765s7oUe5BBOlkmoLo6MNHOHR4DsN/qPi0B4En0Wbr1vbiDoMeu1VtZB65K4C/Awn6vZh/kAfAHCfwvcAOosn/N38sUBdSAK8DHJvB3tg8TvoM+OPmvdmq0JTHQBD4DPgFum+gDhJ8mf1xDHy8dTYD4V5IIWAU+B36LPjpbNYEQuJcgswxcBWaAMSDL/1sOa1sUUEmUvw9cQB+gfkSSBltflOh0mEWfJJ1NQHjVzxFHwF3gOpr41tCnySOAfwK44B4xUUtDyQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNi0wOS0yOFQyMDowMzowMiswMDowMJrHwKAAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjYtMDktMjhUMjA6MDM6MDIrMDA6MDDrmngcAAAAIHRFWHRzb2Z0d2FyZQBodHRwczovL2ltYWdlbWFnaWNrLm9yZ7zPHZ0AAAAYdEVYdFRodW1iOjpEb2N1bWVudDo6UGFnZXMAMaf/uy8AAAAXdEVYdFRodW1iOjpJbWFnZTo6SGVpZ2h0ADQ4h2CHLQAAABZ0RVh0VGh1bWI6OkltYWdlOjpXaWR0aAA0OH/PR6AAAAAZdEVYdFRodW1iOjpNaW1ldHlwZQBpbWFnZS9pY2+XMDjOAAAAF3RFWHRUaHVtYjo6TVRpbWUAMTc5MDYyNTc4MrLkzeUAAAASdEVYdFRodW1iOjpTaXplADk2NjJCQpTWNTIAAAAadEVYdFRodW1iOjpVUkkAZmlsZTovL2xhcmsuaWNvGFy81AAAAABJRU5ErkJggg==";var Vr=ga('<svg viewBox="0 0 24 24" role="img" aria-label="Telegram"><path fill="#26A5E4" d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"></path></svg>'),Zr=ga('<svg viewBox="0 0 24 24" role="img" aria-label="WeChat"><path fill="#07C160" d="M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 0 1 .213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 0 0 .167-.054l1.903-1.114a.864.864 0 0 1 .717-.098 10.16 10.16 0 0 0 2.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178A1.17 1.17 0 0 1 4.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178 1.17 1.17 0 0 1-1.162-1.178c0-.651.52-1.18 1.162-1.18zm5.34 2.867c-1.797-.052-3.746.512-5.28 1.786-1.72 1.428-2.687 3.72-1.78 6.22.942 2.453 3.666 4.229 6.884 4.229.826 0 1.622-.12 2.361-.336a.722.722 0 0 1 .598.082l1.584.926a.272.272 0 0 0 .14.047c.134 0 .24-.111.24-.247 0-.06-.023-.12-.038-.177l-.327-1.233a.582.582 0 0 1-.023-.156.49.49 0 0 1 .201-.398C23.024 18.48 24 16.82 24 14.98c0-3.21-2.931-5.837-6.656-6.088V8.89c-.135-.01-.27-.027-.407-.03zm-2.53 3.274c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.97-.982zm4.844 0c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.969-.982z"></path></svg>'),Xr=d('<img alt="飞书 / Lark"/>');function Ta(j,o){let u=ze(o,"channel",8),$=ze(o,"size",8,30);var D=rt(),l=Ne(D);{var k=h=>{var T=Vr();H(()=>{We(T,"width",$()),We(T,"height",$())}),i(h,T)},I=h=>{var T=Zr();H(()=>{We(T,"width",$()),We(T,"height",$())}),i(h,T)},y=h=>{var T=Xr();H(()=>{We(T,"src",Yr),We(T,"width",$()),We(T,"height",$()),ot(T,`border-radius: ${$()*.18}px`)}),i(h,T)};W(l,h=>{u()==="telegram"?h(k):u()==="wechat"?h(I,1):h(y,-1)})}i(j,D)}var el=d('<button><span class="ch-logo svelte-b8emeh"><!></span> <span class="ch-name"> </span> <span> </span></button>'),tl=d('<span class="note svelte-b8emeh"> </span>'),al=d('<p class="hint svelte-b8emeh">自定义白名单已保存——用工作区切换器添加条目后再来这里勾选。</p>'),sl=d('<div class="detail svelte-b8emeh"><div class="d-hd svelte-b8emeh"><span class="d-name svelte-b8emeh"> </span> <button aria-label="启用通道"><span class="knob svelte-b8emeh"></span></button></div> <p class="note svelte-b8emeh"><!></p> <div class="sec svelte-b8emeh"><div class="sec-label svelte-b8emeh">关联凭证</div> <input class="cred mono svelte-b8emeh"/> <div class="sec-acts svelte-b8emeh"><button class="save svelte-b8emeh">保存</button> <!></div></div> <div class="sec svelte-b8emeh"><div class="sec-label svelte-b8emeh">回复粒度</div> <div class="opts svelte-b8emeh"><button>标准回复(隐藏工具过程)</button> <button>详细回复(显示工具过程)</button></div></div> <div class="sec svelte-b8emeh"><div class="sec-label svelte-b8emeh">工作区访问范围</div> <div class="opts svelte-b8emeh"><button>所有工作区</button> <button>自定义</button></div> <!></div> <div class="sec danger svelte-b8emeh"><div class="sec-label svelte-b8emeh">重置</div> <button class="reset svelte-b8emeh">恢复默认设置</button></div></div>'),nl=d("<span> </span>"),rl=d('<div class="qr-expired svelte-b8emeh"><span>二维码已过期</span> <button class="copy svelte-b8emeh">刷新二维码</button></div>'),ll=d('<div class="pair-head svelte-b8emeh"><div><div class="pair-title svelte-b8emeh">等待手机连接 <!></div> <div class="hint svelte-b8emeh">用手机扫码,或在手机上打开链接。链接 1 分钟内有效,仅可使用一次。</div></div> <button class="stop svelte-b8emeh">停止</button></div> <div><!> <!></div> <div class="pair-acts svelte-b8emeh"><span class="hint svelte-b8emeh">无法扫码?可以在手机上打开链接。</span> <span class="spacer svelte-b8emeh"></span> <button class="copy svelte-b8emeh"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M21 12a9 9 0 1 1-2.64-6.36"></path><path d="M21 3v6h-6"></path></svg> 刷新二维码</button> <button class="copy svelte-b8emeh"> </button></div>',1),il=d('<div class="pair-stopped svelte-b8emeh"><span>已停止配对。</span> <button class="copy svelte-b8emeh">重新开始</button></div>'),ol=d('<p class="hint svelte-b8emeh">配对信息加载中…</p>'),cl=d('<div class="overlay svelte-b8emeh"><button class="backdrop svelte-b8emeh" aria-label="关闭"></button> <div class="modal svelte-b8emeh" role="dialog" aria-modal="true" aria-label="机器人与通道" tabindex="-1"><div class="header svelte-b8emeh"><span class="title svelte-b8emeh">🤖 机器人 · 通道</span> <button class="close svelte-b8emeh" aria-label="关闭">✕</button></div> <div class="cols svelte-b8emeh"><div class="list svelte-b8emeh"></div> <!></div> <div class="pair svelte-b8emeh"><!></div></div></div>');function vl(j,o){Ge(o,!1);const u=()=>Pe(ta,"$channelsOpen",$),[$,D]=it(),l=v(),k=v(),I=v(),y=v();let h=v([]),T=v(),x=v(null),w=v(""),K=v(""),b=v(!1),g=v(Date.now()),C=v(!1),ee;async function re(){try{s(h,(await qe.channels()).channels??[]),!e(T)&&e(h).length>0&&s(T,e(h)[0].id)}catch{}}async function G(){s(C,!1);try{s(x,await qe.pairQr())}catch{s(x,null)}}function F(){s(C,!0)}sa(()=>{re(),G(),ee=setInterval(()=>s(g,Date.now()),1e3)}),Dt(()=>{ee&&clearInterval(ee)});function U(f){return f==="telegram"?"Telegram":f==="wechat"?"微信":f==="lark"?"Lark":f}function Y(){ta.set(!1)}function _(f){s(T,f),s(w,""),s(K,"")}async function O(f){s(h,e(h).map(X=>X.id===f.id?{...X,enabled:!X.enabled}:X));try{await qe.updateChannel(f.id,{enabled:!f.enabled})}catch{}}async function le(f,X){s(h,e(h).map(we=>we.id===f.id?{...we,replyGranularity:X}:we));try{await qe.updateChannel(f.id,{replyGranularity:X})}catch{}}async function ne(f){if(!e(w).trim()){s(K,"请输入凭证内容");return}try{await qe.updateChannel(f.id,{credentials:{token:e(w).trim()}}),s(K,"已保存——重启实例后生效"),s(w,"")}catch{s(K,"保存失败")}}async function Z(){if(e(l)){try{await qe.resetChannel(e(l).id)}catch{}await re()}}async function be(){if(e(x))try{await navigator.clipboard.writeText(e(x).url),s(b,!0),setTimeout(()=>s(b,!1),1600)}catch{}}function oe(f){f.key==="Escape"&&Y()}se(()=>(e(h),e(T)),()=>{s(l,e(h).find(f=>f.id===e(T))??e(h)[0])}),se(()=>(e(x),e(g)),()=>{var f;s(k,(f=e(x))!=null&&f.expiresAt?Math.max(0,e(x).expiresAt-e(g)):null)}),se(()=>e(k),()=>{s(I,e(k)!==null&&e(k)<=0)}),se(()=>e(k),()=>{s(y,e(k)===null?"":`${Math.floor(e(k)/6e4)}:${String(Math.floor(e(k)%6e4/1e3)).padStart(2,"0")}`)}),et(),Qe();var J=rt();B("keydown",$t,oe);var R=Ne(J);{var L=f=>{var X=cl(),we=a(X),$e=r(we,2),ue=a($e),De=r(a(ue),2);t(ue);var ke=r(ue,2),_e=a(ke);Ke(_e,5,()=>e(h),p=>p.id,(p,q)=>{var Q=el();let me;var Me=a(Q),Ce=a(Me);Ta(Ce,{get channel(){return e(q),n(()=>e(q).channel)},size:22}),t(Me);var Be=r(Me,2),Re=a(Be,!0);t(Be);var ve=r(Be,2);let ce;var A=a(ve,!0);t(ve),t(Q),H(Le=>{var m;me=ye(Q,1,"ch svelte-b8emeh",null,me,{sel:((m=e(l))==null?void 0:m.id)===e(q).id}),E(Re,Le),ce=ye(ve,1,"ch-state svelte-b8emeh",null,ce,{on:e(q).enabled}),E(A,(e(q),n(()=>e(q).enabled?"已启用":"已停用")))},[()=>(e(q),n(()=>U(e(q).channel)))]),B("click",Q,()=>_(e(q).id)),i(p,Q)}),t(_e);var Oe=r(_e,2);{var Ue=p=>{var q=sl(),Q=a(q),me=a(Q),Me=a(me,!0);t(me);var Ce=r(me,2);let Be;t(Q);var Re=r(Q,2),ve=a(Re);{var ce=xe=>{var Ae=Nt();H(()=>E(Ae,`${e(l),n(()=>{var Te;return(Te=e(l).live)!=null&&Te.connected?"轮询运行中":"未在轮询"})??""}${e(l),n(()=>{var Te;return(Te=e(l).live)!=null&&Te.username?` · @${e(l).live.username}`:""})??""}。
3
- 停用/启用在重启实例后生效。`)),i(xe,Ae)},A=xe=>{var Ae=Nt("待接入:凭证保存后,通道本体在后续版本启用。");i(xe,Ae)};W(ve,xe=>{e(l),n(()=>e(l).channel==="telegram")?xe(ce):xe(A,-1)})}t(Re);var Le=r(Re,2),m=r(a(Le),2);ht(m);var V=r(m,2),fe=a(V),pe=r(fe,2);{var N=xe=>{var Ae=tl(),Te=a(Ae,!0);t(Ae),H(()=>E(Te,e(K))),i(xe,Ae)};W(pe,xe=>{e(K)&&xe(N)})}t(V),t(Le);var c=r(Le,2),M=r(a(c),2),ae=a(M);let S;var he=r(ae,2);let ge;t(M),t(c);var Fe=r(c,2),Se=r(a(Fe),2),Ee=a(Se);let Ve;var Je=r(Ee,2);let Ie;t(Se);var He=r(Se,2);{var Ze=xe=>{var Ae=al();i(xe,Ae)};W(He,xe=>{e(l),n(()=>e(l).workspaces.mode==="custom")&&xe(Ze)})}t(Fe);var tt=r(Fe,2),at=r(a(tt),2);t(tt),t(q),H(xe=>{E(Me,xe),Be=ye(Ce,1,"switch svelte-b8emeh",null,Be,{on:e(l).enabled}),We(Ce,"aria-pressed",(e(l),n(()=>e(l).enabled))),We(m,"placeholder",(e(l),n(()=>e(l).channel==="telegram"?"BotFather token(留空保持不变)":"凭证(预留)"))),S=ye(ae,1,"opt svelte-b8emeh",null,S,{sel:e(l).replyGranularity==="standard"}),ge=ye(he,1,"opt svelte-b8emeh",null,ge,{sel:e(l).replyGranularity==="detailed"}),Ve=ye(Ee,1,"opt svelte-b8emeh",null,Ve,{sel:e(l).workspaces.mode==="all"}),Ie=ye(Je,1,"opt svelte-b8emeh",null,Ie,{sel:e(l).workspaces.mode==="custom"})},[()=>(e(l),n(()=>U(e(l).channel)))]),B("click",Ce,()=>O(e(l))),mt(m,()=>e(w),xe=>s(w,xe)),B("click",fe,()=>ne(e(l))),B("click",ae,()=>le(e(l),"standard")),B("click",he,()=>le(e(l),"detailed")),B("click",Ee,()=>qe.updateChannel(e(l).id,{workspaces:{mode:"all"}}).then(re)),B("click",Je,()=>qe.updateChannel(e(l).id,{workspaces:{mode:"custom",dirs:[]}}).then(re)),B("click",at,Z),i(p,q)};W(Oe,p=>{e(l)&&p(Ue)})}t(ke);var je=r(ke,2),P=a(je);{var te=p=>{var q=ll(),Q=Ne(q),me=a(Q),Me=a(me),Ce=r(a(Me));{var Be=c=>{var M=nl();let ae;var S=a(M,!0);t(M),H(()=>{ae=ye(M,1,"cd mono svelte-b8emeh",null,ae,{expired:e(I)}),E(S,e(I)?"已过期":`· ${e(y)}`)}),i(c,M)};W(Ce,c=>{e(k)!==null&&c(Be)})}t(Me),yt(2),t(me);var Re=r(me,2);t(Q);var ve=r(Q,2);let ce;var A=a(ve);Ia(A,()=>(e(x),n(()=>e(x).svg)));var Le=r(A,2);{var m=c=>{var M=rl(),ae=r(a(M),2);t(M),B("click",ae,G),i(c,M)};W(Le,c=>{e(I)&&c(m)})}t(ve);var V=r(ve,2),fe=r(a(V),4),pe=r(fe,2),N=a(pe,!0);t(pe),t(V),H(()=>{ce=ye(ve,1,"qr-big svelte-b8emeh",null,ce,{dim:e(I)}),E(N,e(b)?"✓ 已复制":"复制链接")}),B("click",Re,F),B("click",fe,G),B("click",pe,be),i(p,q)},z=p=>{var q=il(),Q=r(a(q),2);t(q),B("click",Q,G),i(p,q)},ie=p=>{var q=ol();i(p,q)};W(P,p=>{e(x)&&!e(C)?p(te):e(C)?p(z,1):p(ie,-1)})}t(je),t($e),t(X),B("click",we,Y),B("click",De,Y),B("click",$e,aa(function(p){cs.call(this,o,p)})),B("click",X,Y),i(f,X)};W(R,f=>{u()&&f(L)})}i(j,J),Ye(),D()}var dl=d('<div class="overlay svelte-1r7zhoh"><button class="backdrop svelte-1r7zhoh" aria-label="Close"></button> <div class="menu svelte-1r7zhoh" role="menu" aria-label="New actions"><button class="item svelte-1r7zhoh" role="menuitem"><span class="icon svelte-1r7zhoh" aria-hidden="true">+</span> <span class="label svelte-1r7zhoh">New session</span></button> <button class="item svelte-1r7zhoh" role="menuitem"><span class="icon svelte-1r7zhoh" aria-hidden="true"><!></span> <span class="label svelte-1r7zhoh">Command palette</span> <kbd class="keycap mono svelte-1r7zhoh">⌘K</kbd></button></div></div>');function ul(j,o){Ge(o,!1);const u=()=>Pe(Tt,"$plusMenuOpen",$),[$,D]=it();let l=ze(o,"anchor",8,null);function k(){Tt.set(!1),Mt.set(!0)}function I(){Tt.set(!1),qt.set(!0)}function y(){Tt.set(!1)}function h(K){K.key==="Escape"&&y()}Qe();var T=rt();B("keydown",$t,h);var x=Ne(T);{var w=K=>{var b=dl(),g=a(b),C=r(g,2),ee=a(C),re=r(ee,2),G=a(re),F=a(G);It(F,{name:"search",size:14}),t(G),yt(4),t(re),t(C),t(b),H(U=>ot(C,U),[()=>(de(l()),n(()=>l()?`top:${l().getBoundingClientRect().bottom+6}px; left:${l().getBoundingClientRect().left}px`:""))]),B("click",g,y),B("click",ee,k),B("click",re,I),i(K,b)};W(x,K=>{u()&&K(w)})}i(j,T),Ye(),D()}var pl=d('<button class="scrim svelte-9zfapn" aria-label="Close"></button>'),fl=d('<button class="dial-item svelte-9zfapn" role="menuitem"><span class="dial-label mono svelte-9zfapn"> </span> <span class="dial-icon svelte-9zfapn" aria-hidden="true"> </span></button>'),hl=d('<div class="dial svelte-9zfapn" role="menu"></div>'),bl=d('<div><!> <!> <button><span aria-hidden="true">+</span></button></div>');function _l(j,o){Ge(o,!1);let u=v(!1);const $=()=>s(u,!e(u)),D=()=>s(u,!1),l=[{label:"新建会话",icon:"+",run:()=>Mt.set(!0)},{label:"搜索与命令",icon:"⌕",run:()=>qt.set(!0)}];function k(C){C.run(),D()}function I(C){C.key==="Escape"&&e(u)&&D()}Qe();var y=bl();B("keydown",$t,I);let h;var T=a(y);{var x=C=>{var ee=pl();B("click",ee,D),i(C,ee)};W(T,C=>{e(u)&&C(x)})}var w=r(T,2);{var K=C=>{var ee=hl();Ke(ee,5,()=>l,re=>re.label,(re,G)=>{var F=fl(),U=a(F),Y=a(U,!0);t(U);var _=r(U,2),O=a(_,!0);t(_),t(F),H(()=>{E(Y,e(G).label),E(O,e(G).icon)}),B("click",F,()=>k(e(G))),i(re,F)}),t(ee),i(C,ee)};W(w,C=>{e(u)&&C(K)})}var b=r(w,2);let g;t(y),H(()=>{h=ye(y,1,"fab-root svelte-9zfapn",null,h,{open:e(u)}),g=ye(b,1,"fab svelte-9zfapn",null,g,{rot:e(u)}),We(b,"aria-label",e(u)?"关闭菜单":"快捷操作"),We(b,"aria-expanded",e(u))}),B("click",b,$),i(j,y),Ye()}var ml=d('<p class="rejected svelte-9s687p"> </p>'),gl=d('<p class="rejected svelte-9s687p">上一次的令牌被服务器拒绝了——请在下方重新配对。</p>'),yl=d('<span class="chip mono svelte-9s687p"> </span>'),wl=d("<span> </span>"),kl=d('<button class="btn enter svelte-9s687p">配对此浏览器并进入</button>'),xl=d('<div class="qr-re svelte-9s687p"><span>已过期</span> <button class="btn svelte-9s687p">刷新二维码</button></div>'),Al=d('<div class="wait-row svelte-9s687p"><span> <!></span> <!></div> <div class="qr-wrap svelte-9s687p"><!> <!></div> <div class="acts svelte-9s687p"><span class="hint svelte-9s687p">无法扫码?在手机上打开链接。</span> <span class="spacer svelte-9s687p"></span> <button class="btn svelte-9s687p">⟳ 刷新二维码</button> <button class="btn svelte-9s687p"> </button></div> <p class="hint dim svelte-9s687p">二维码 1 分钟内有效、仅可使用一次;过期自动刷新,刷新会作废旧码。配对成功后本页自动进入面板。</p>',1),Il=d('<p class="hint dim svelte-9s687p">配对信息加载中…(若宿主机未启用配对组件,请用下方令牌粘贴)</p>'),$l=d('<span class="ok svelte-9s687p"> </span>'),Sl=d('<span class="off svelte-9s687p">未连接</span>'),Tl=d('<span class="off svelte-9s687p">待接入</span>'),ql=d('<div class="ch svelte-9s687p"><span class="ch-icon svelte-9s687p" aria-hidden="true"><!></span> <div class="ch-body"><div class="ch-name svelte-9s687p"> <!></div> <div class="ch-note svelte-9s687p"> </div></div> <span class="lock svelte-9s687p" title="配对后可配置">🔒</span></div>'),Ml=d('<!> <p class="hint dim svelte-9s687p">🔒 通道状态仅展示;凭证与回复粒度等配置在配对后的「机器人管理」面板(标题栏 🤖)中。</p>',1),zl=d('<p class="hint dim svelte-9s687p">…</p>'),Cl=d('<div class="err svelte-9s687p"> </div>'),Ll=d('<div class="gate svelte-9s687p"><div class="panel svelte-9s687p"><div class="head svelte-9s687p"><span class="hicon svelte-9s687p" aria-hidden="true"><svg viewBox="0 0 64 64" fill="none" stroke-width="6" stroke-linecap="round" class="svelte-9s687p"><path d="M46 15 A24 24 0 1 0 54 32" stroke="var(--text)" opacity=".85"></path><circle cx="49" cy="20" r="7" fill="var(--accent)" stroke="none"></circle></svg></span> <div><h1 class="svelte-9s687p">配对 ocrc 远程控制</h1> <p class="sub svelte-9s687p">扫码或在手机上打开链接,即可远程控制这台机器的 opencode。</p></div></div> <!> <div class="cols svelte-9s687p"><section class="scan svelte-9s687p"><div class="sec-head svelte-9s687p"><span class="sec-title svelte-9s687p">📱 手机扫码连接</span> <!></div> <p class="sub svelte-9s687p">用手机相机扫码,在手机上打开这台机器。</p> <!></section> <section class="channels svelte-9s687p"><div class="sec-head svelte-9s687p"><span class="sec-title svelte-9s687p">🤖 Bot 通道</span></div> <p class="sub svelte-9s687p">连接聊天 Bot,适合更长时间的移动端访问。</p> <!></section></div> <details class="paste svelte-9s687p"><summary class="svelte-9s687p">已有配对链接或令牌?</summary> <div class="paste-body svelte-9s687p"><input class="field mono svelte-9s687p" placeholder="粘贴配对链接或令牌…" aria-label="配对令牌或链接" autocapitalize="off" autocorrect="off" spellcheck="false"/> <!> <button class="connect svelte-9s687p">连接</button></div></details> <p class="hint dim foot svelte-9s687p">令牌只保存在本设备上 · Telegram 通道为可选,未配置时仅 Web 面板可用</p></div></div>');function El(j,o){Ge(o,!1);const u=()=>Pe(Da,"$pairHint",$),[$,D]=it(),l=v(),k=v(),I=v(),y=v(),h=v();let T=ze(o,"status",8,"pairing"),x=v(""),w=v(""),K=v(!1),b=v(null),g=v(Date.now()),C=v(!1),ee;async function re(){try{s(b,await qe.pairOnboarding()),s(g,Date.now())}catch{s(b,null)}}const G={telegram:{name:"Telegram",note:"从 Telegram 打开这台机器"},wechat:{name:"微信",note:"待接入(配置面板已预埋)"},lark:{name:"飞书 / Lark",note:"待接入(配置面板已预埋)"}};sa(()=>{re(),ee=setInterval(()=>{s(g,Date.now()),e(k)&&re()},1e3)}),Dt(()=>{ee&&clearInterval(ee)});async function F(){if(e(b))try{await navigator.clipboard.writeText(e(b).url),s(C,!0),setTimeout(()=>s(C,!1),1600)}catch{}}function U(z){const ie=z.trim(),p=ie.match(/token=([^&#\s]+)/);return p?decodeURIComponent(p[1]):ie}async function Y(){if(s(w,""),/[?#]pair=/.test(e(x))){s(w,await ia(e(x)));return}const z=U(e(x));if(!z||z.length<16){s(w,"这看起来不是有效的令牌。");return}Pa(z)||s(w,"这看起来不是有效的令牌。")}se(()=>(e(b),e(g)),()=>{var z;s(l,(z=e(b))!=null&&z.expiresAt?Math.max(0,e(b).expiresAt-e(g)):null)}),se(()=>e(l),()=>{s(k,e(l)!==null&&e(l)<=0)}),se(()=>e(b),()=>{var z;s(I,((z=e(b))==null?void 0:z.paired)??0)}),se(()=>e(I),()=>{s(y,e(I)>0)}),se(()=>e(l),()=>{s(h,e(l)===null?"":`${Math.floor(e(l)/6e4)}:${String(Math.floor(e(l)%6e4/1e3)).padStart(2,"0")}`)}),et(),Qe();var _=Ll(),O=a(_),le=r(a(O),2);{var ne=z=>{var ie=ml(),p=a(ie,!0);t(ie),H(()=>E(p,u())),i(z,ie)},Z=z=>{var ie=gl();i(z,ie)};W(le,z=>{u()?z(ne):T()==="rejected"&&z(Z,1)})}var be=r(le,2),oe=a(be),J=a(oe),R=r(a(J),2);{var L=z=>{var ie=yl(),p=a(ie);t(ie),H(()=>E(p,`${e(b),n(()=>e(b).host.hostname)??""} · ${e(b),n(()=>e(b).host.arch)??""}`)),i(z,ie)};W(R,z=>{e(b)&&z(L)})}t(J);var f=r(J,4);{var X=z=>{var ie=Al(),p=Ne(ie),q=a(p);let Q;var me=a(q),Me=r(me);{var Ce=N=>{var c=wl();let M;var ae=a(c,!0);t(c),H(()=>{M=ye(c,1,"mono cd svelte-9s687p",null,M,{expired:e(k)}),E(ae,e(k)?"二维码已过期":`· ${e(h)}`)}),i(N,c)};W(Me,N=>{e(l)!==null&&N(Ce)})}t(q);var Be=r(q,2);{var Re=N=>{var c=kl();B("click",c,()=>e(b)&&ia(e(b).url)),i(N,c)};W(Be,N=>{e(y)&&N(Re)})}t(p);var ve=r(p,2),ce=a(ve);Ia(ce,()=>(e(b),n(()=>e(b).svg)));var A=r(ce,2);{var Le=N=>{var c=xl(),M=r(a(c),2);t(c),B("click",M,re),i(N,c)};W(A,N=>{e(k)&&N(Le)})}t(ve);var m=r(ve,2),V=r(a(m),4),fe=r(V,2),pe=a(fe,!0);t(fe),t(m),yt(2),H(()=>{Q=ye(q,1,"wait svelte-9s687p",null,Q,{done:e(y)}),E(me,`${e(y)?`✓ 已有 ${e(I)} 台设备完成配对`:"等待手机连接"} `),E(pe,e(C)?"✓ 已复制":"复制链接")}),B("click",V,re),B("click",fe,F),i(z,ie)},we=z=>{var ie=Il();i(z,ie)};W(f,z=>{e(b)?z(X):z(we,-1)})}t(oe);var $e=r(oe,2),ue=r(a($e),4);{var De=z=>{var ie=Ml(),p=Ne(ie);Ke(p,1,()=>(e(b),n(()=>e(b).channels)),q=>q.channel,(q,Q)=>{var me=ql(),Me=a(me),Ce=a(Me);Ta(Ce,{get channel(){return e(Q),n(()=>e(Q).channel)},size:30}),t(Me);var Be=r(Me,2),Re=a(Be),ve=a(Re),ce=r(ve);{var A=pe=>{var N=$l(),c=a(N);t(N),H(()=>E(c,`已连接 @${e(Q),n(()=>e(Q).live.username)??""}`)),i(pe,N)},Le=pe=>{var N=Sl();i(pe,N)},m=pe=>{var N=Tl();i(pe,N)};W(ce,pe=>{e(Q),n(()=>{var N;return e(Q).channel==="telegram"&&((N=e(Q).live)==null?void 0:N.connected)})?pe(A):(e(Q),n(()=>e(Q).channel==="telegram")?pe(Le,1):pe(m,-1))})}t(Re);var V=r(Re,2),fe=a(V,!0);t(V),t(Be),yt(2),t(me),H(()=>{E(ve,`${e(Q),n(()=>{var pe;return((pe=G[e(Q).channel])==null?void 0:pe.name)??e(Q).channel})??""} `),E(fe,(e(Q),n(()=>{var pe;return((pe=G[e(Q).channel])==null?void 0:pe.note)??""})))}),i(q,me)}),yt(2),i(z,ie)},ke=z=>{var ie=zl();i(z,ie)};W(ue,z=>{e(b)?z(De):z(ke,-1)})}t($e),t(be);var _e=r(be,2),Oe=r(a(_e),2),Ue=a(Oe);ht(Ue);var je=r(Ue,2);{var P=z=>{var ie=Cl(),p=a(ie,!0);t(ie),H(()=>E(p,e(w))),i(z,ie)};W(je,z=>{e(w)&&z(P)})}var te=r(je,2);t(Oe),t(_e),yt(2),t(O),t(_),H(z=>te.disabled=z,[()=>(e(x),n(()=>!e(x).trim()))]),mt(Ue,()=>e(x),z=>s(x,z)),B("keydown",Ue,z=>z.key==="Enter"&&Y()),B("click",te,Y),os("open","toggle",_e,z=>s(K,z),()=>e(K)),i(j,_),Ye(),D()}var Bl=d('<button class="backdrop svelte-12qhfyh" aria-label="Close"></button>'),Dl=d('<button class="rail-strip svelte-12qhfyh" title="展开会话栏 (⌘B)" aria-label="展开会话栏"><svg class="strip-mark svelte-12qhfyh" viewBox="0 0 64 64" fill="none" stroke-width="8" stroke-linecap="round" aria-hidden="true"><path d="M46 15 A24 24 0 1 0 54 32" stroke="var(--text)"></path><circle cx="49" cy="20" r="6" fill="var(--accent)" stroke="none"></circle></svg> <svg class="strip-caret svelte-12qhfyh" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button>'),Pl=d('<div role="separator" aria-orientation="vertical" aria-label="调整检查器宽度"></div>'),Ol=d('<div class="app svelte-12qhfyh"><!> <!> <div class="body svelte-12qhfyh"><!> <!> <div><!></div> <div role="separator" aria-orientation="vertical" aria-label="调整会话栏宽度(双击收起/展开)"></div> <main class="svelte-12qhfyh"><!></main> <!> <div><!></div></div></div> <!> <!> <!> <!> <!> <!>',1);function Kl(j,o){Ge(o,!1);const u=()=>Pe(Aa,"$page",h),$=()=>Pe(Ht,"$backends",h),D=()=>Pe(jt,"$inspectorOpen",h),l=()=>Pe(zt,"$leftPanelOpen",h),k=()=>Pe(Bt,"$sidePane",h),I=()=>Pe(qt,"$paletteOpen",h),y=()=>Pe(Gt,"$auth",h),[h,T]=it(),x=v();let w=v(!1),K=v(!1),b=v(),g=v(null);function C(){s(w,!1),jt.set(!1)}function ee(){s(w,!e(w)),jt.set(!1)}function re(){jt.update(c=>!c),s(w,!1)}function G(c){if((c.metaKey||c.ctrlKey)&&c.key.toLowerCase()==="k"){c.preventDefault(),qt.set(!0);return}if((c.metaKey||c.ctrlKey)&&c.key.toLowerCase()==="b"){c.preventDefault(),zt.update(M=>!M);return}if(c.key==="Escape"){if(gt(Tt)){Tt.set(!1);return}if(gt(Mt)){Mt.set(!1);return}C()}}let F=v(""),U=null,Y=v(264),_=v(380),O=v(null);try{s(Y,Math.max(180,Math.min(520,Number(localStorage.getItem("ocrc.railW"))||264))),s(_,Math.max(280,Math.min(560,Number(localStorage.getItem("ocrc.inspW"))||380)))}catch{}function le(c,M){if(window.matchMedia("(max-width: 820px)").matches)return;M.preventDefault(),s(O,c);const ae=M.clientX,S=c==="rail"?e(Y):e(_),he=Fe=>{const Se=c==="rail"?Fe.clientX-ae:ae-Fe.clientX,Ee=Math.max(c==="rail"?180:220,Math.min(520,S+Se));c==="rail"?s(Y,Ee):s(_,Ee)},ge=()=>{window.removeEventListener("pointermove",he),window.removeEventListener("pointerup",ge),s(O,null);try{localStorage.setItem("ocrc.railW",String(e(Y))),localStorage.setItem("ocrc.inspW",String(e(_)))}catch{}};window.addEventListener("pointermove",he),window.addEventListener("pointerup",ge)}let ne=v(null);async function Z(){e(ne)&&(e(ne).prompt(),await e(ne).userChoice,s(ne,null))}let be=null,oe=!1,J=0,R;async function L(c){if(!(oe||Date.now()-J<2e3)){oe=!0,J=Date.now();try{const{cards:M,lastSeq:ae}=await qe.history(c);pa.set(!0),Wt(c,M,ae),setTimeout(()=>pa.set(!1),350),U==null||U.send({type:"subscribe",sessionId:c,sinceSeq:ae})}catch(M){console.warn("[layout] resync failed",M)}finally{oe=!1}}}function f(c){var ae,S;if(gt(Gt)!=="ready")return;if(Fa.set(c),bs(c),!c){oa(void 0),be=null;return}oa(c);const M=!((S=(ae=gt(_t)[c])==null?void 0:ae.order)!=null&&S.length);c===be&&!M||(be=c,qe.history(c).then(({cards:he,lastSeq:ge})=>{Wt(c,he,ge),U==null||U.send({type:"subscribe",sessionId:c,sinceSeq:ge})}).catch(he=>{console.warn("[layout] history failed",he),Wt(c,[],0),U==null||U.send({type:"subscribe",sessionId:c})}))}function X(){U&&(U.close(),U=null),qe.me().then(M=>{s(F,M.email)}).catch(()=>{}),qe.sessions().then(M=>{ut.set(M)}).catch(()=>{}),Oa(),ja();const c=location.protocol==="https:"?"wss:":"ws:";hs(M=>U==null?void 0:U.send(M)),U=fs({url:`${c}//${location.host}/ws`,onReconnect:()=>{var M;if(be){const ae=((M=gt(_t)[be])==null?void 0:M.lastSeq)??0;U==null||U.send({type:"subscribe",sessionId:be,sinceSeq:ae})}},onMessage:M=>{var ae;if(M.type==="card"&&M.card){const S=M.card.sessionId,he=S?((ae=gt(_t)[S])==null?void 0:ae.lastSeq)??0:0;Ra(M.card),S&&Wa(he,M.card)&&(clearTimeout(R),R=setTimeout(()=>{L(S)},500))}(M.type==="hello"||M.type==="sessions")&&M.sessions&&(ut.set(M.sessions),_s(M.sessions)),M.type==="replayEnd"&&M.complete===!1&&typeof M.sessionId=="string"&&L(M.sessionId)}}),f(u().params.sessionId)}sa(()=>{const c=Gt.subscribe(Ie=>{Ie==="ready"&&X()}),M=Ie=>{Ie.preventDefault(),s(ne,Ie)};window.addEventListener("beforeinstallprompt",M);const ae=window.matchMedia("(max-width: 820px)");s(K,ae.matches);const S=Ie=>{s(K,Ie.matches),Ie.matches||C()};ae.addEventListener("change",S);const he=window.visualViewport,ge=()=>{!he||!e(b)||(window.scrollY!==0&&window.scrollTo(0,0),ea(b,e(b).style.height=`${Math.round(he.height)}px`),ea(b,e(b).style.transform=he.offsetTop>0?`translateY(${Math.round(he.offsetTop)}px)`:""))};ge(),he==null||he.addEventListener("resize",ge),he==null||he.addEventListener("scroll",ge);const Fe=()=>setTimeout(ge,300);window.addEventListener("orientationchange",Fe);let Se=0,Ee=0;const Ve=()=>{ge(),Date.now()<Se?Ee=requestAnimationFrame(Ve):Ee=0},Je=()=>{Se=Date.now()+650,Ee||(Ee=requestAnimationFrame(Ve))};return window.addEventListener("focusin",Je),window.addEventListener("focusout",Je),()=>{c(),window.removeEventListener("beforeinstallprompt",M),ae.removeEventListener("change",S),he==null||he.removeEventListener("resize",ge),he==null||he.removeEventListener("scroll",ge),window.removeEventListener("focusin",Je),window.removeEventListener("focusout",Je),window.removeEventListener("orientationchange",Fe),Ee&&cancelAnimationFrame(Ee),clearTimeout(R),U==null||U.close()}}),rs(c=>{var M,ae;C(),f((ae=(M=c.to)==null?void 0:M.params)==null?void 0:ae.sessionId)}),se(()=>($(),Xt),()=>{$()&&typeof document<"u"&&Xt($().activeId)}),se(()=>u(),()=>{s(x,!!u().params.sessionId)}),et(),Qe();var we=Ol();B("keydown",$t,G);var $e=Ne(we),ue=a($e);{var De=c=>{ks(c,{get email(){return e(F)},onPalette:()=>qt.set(!0),get installEvent(){return e(ne)},onInstall:Z,get drawerLeft(){return e(w)},get drawerRight(){return D()},onToggleLeft:ee,onToggleRight:re,get newButtonAnchor(){return e(g)},set newButtonAnchor(M){s(g,M)},$$legacy:!0})};W(ue,c=>{e(K)&&e(x)||c(De)})}var ke=r(ue,2);As(ke);var _e=r(ke,2),Oe=a(_e);{var Ue=c=>{var M=Bl();B("click",M,C),i(c,M)};W(Oe,c=>{(e(w)||D())&&c(Ue)})}var je=r(Oe,2);{var P=c=>{var M=Dl();B("click",M,()=>zt.set(!0)),i(c,M)};W(je,c=>{!l()&&!e(K)&&c(P)})}var te=r(je,2);let z;var ie=a(te);Zs(ie,{get activeId(){return u(),n(()=>u().params.sessionId)},get drawer(){return e(K)}}),t(te);var p=r(te,2);let q;var Q=r(p,2),me=a(Q);ls(me,o,"default",{}),t(Q);var Me=r(Q,2);{var Ce=c=>{var M=Pl();let ae;H(()=>ae=ye(M,1,"divider svelte-12qhfyh",null,ae,{resizing:e(O)==="insp"})),B("pointerdown",M,S=>le("insp",S)),i(c,M)};W(Me,c=>{k(),n(()=>k().tabs.length>0)&&c(Ce)})}var Be=r(Me,2);let Re;var ve=a(Be);zr(ve,{get sessionId(){return u(),n(()=>u().params.sessionId)}}),t(Be),t(_e),t($e),Lt($e,c=>s(b,c),()=>e(b));var ce=r($e,2);Rr(ce,{get open(){return I()},$$events:{close:()=>qt.set(!1)}});var A=r(ce,2);ul(A,{get anchor(){return e(g)}});var Le=r(A,2);Gr(Le,{});var m=r(Le,2);vl(m,{});var V=r(m,2);{var fe=c=>{_l(c,{})};W(V,c=>{e(x)||c(fe)})}var pe=r(V,2);{var N=c=>{{let M=wt(()=>y()==="rejected"?"rejected":"pairing");El(c,{get status(){return e(M)}})}};W(pe,c=>{y()!=="ready"&&c(N)})}H(()=>{ot($e,`--rail-w:${e(Y)??""}px; --insp-w:${e(_)??""}px`),z=ye(te,1,"rail-wrap svelte-12qhfyh",null,z,{collapsed:!l()&&!e(K),open:e(w)||e(K)&&!e(x)}),q=ye(p,1,"divider svelte-12qhfyh",null,q,{resizing:e(O)==="rail"}),Re=ye(Be,1,"inspector-wrap svelte-12qhfyh",null,Re,{open:D()})}),B("pointerdown",p,c=>le("rail",c)),B("dblclick",p,()=>zt.update(c=>!c)),i(j,we),Ye(),T()}export{Kl as component,Hl as universal};